VeraCrypt License
Software distributed under this license is distributed on an "AS IS" BASIS WITHOUT WARRANTIES OF ANY KIND. THE AUTHORS AND DISTRIBUTORS OF THE SOFTWARE DISCLAIM ANY LIABILITY. ANYONE WHO USES, COPIES, MODIFIES, OR (RE)DISTRIBUTES ANY PART OF THE SOFTWARE IS, BY SUCH ACTION(S), ACCEPTING AND AGREEING TO BE BOUND BY ALL TERMS AND CONDITIONS OF THIS LICENSE. IF YOU DO NOT ACCEPT THEM, DO NOT USE, COPY, MODIFY, NOR (RE)DISTRIBUTE THE SOFTWARE, NOR ANY PART(S) THEREOF.
VeraCrypt is multi-licensed under Apache License 2.0 and the TrueCrypt License version 3.0, a verbatim copy of both licenses can be found below.
This license does not grant you rights to use any contributors' name, logo, or trademarks, including IDRIX, VeraCrypt and all derivative names. For example, the following names are not allowed: VeraCrypt, VeraCrypt+, VeraCrypt Professional, iVeraCrypt, etc. Nor any other names confusingly similar to the name VeraCrypt (e.g., Vera-Crypt, Vera Crypt, VerKrypt, etc).
____________________________________________________________
Apache License
Version 2.0, January 2004
https://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
  "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
  "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
  "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
  "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
  "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
  "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
  "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
  "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
  "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You   institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
  (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and
  (b) You must cause any modified files to carry prominent notices stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work,  excluding those notices that do not pertain to any part of the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
  You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
____________________________________________________________
TrueCrypt License Version 3.0

Software distributed under this license is distributed on an "AS IS" BASIS WITHOUT WARRANTIES OF ANY KIND. THE AUTHORS AND DISTRIBUTORS OF THE SOFTWARE DISCLAIM ANY LIABILITY. ANYONE WHO USES, COPIES, MODIFIES, OR (RE)DISTRIBUTES ANY PART OF THE SOFTWARE IS, BY SUCH ACTION(S), ACCEPTING AND AGREEING TO BE BOUND BY ALL TERMS AND CONDITIONS OF THIS LICENSE. IF YOU DO NOT ACCEPT THEM, DO NOT USE, COPY, MODIFY, NOR (RE)DISTRIBUTE THE SOFTWARE, NOR ANY PART(S) THEREOF.

I. Definitions

1. "This Product" means the work (including, but not limited to, source code, graphics, texts, and accompanying files) made available under and governed by this version of this license ("License"), as may be indicated by, but is not limited to, copyright notice(s) attached to or included in the work.

2. "You" means (and "Your" refers to) an individual or a legal entity (e.g., a non-profit organization, commercial organization, government agency, etc.) exercising permissions granted by this License.

3. "Modification" means (and "modify" refers to) any alteration of This Product, including, but not limited to, addition to or deletion from the substance or structure of This Product, translation into another language, repackaging, alteration or removal of any file included with This Product, and addition of any new files to This Product.

4. "Your Product" means This Product modified by You, or any work You derive from (or base on) any part of This Product. In addition, "Your Product" means any work in which You include any (modified or unmodified) portion of This Product. However, if the work in which you include it is an aggregate software distribution (such as an operating system distribution or a cover CD-ROM of a magazine) containing multiple separate products, then the term "Your Product" includes only those products (in the aggregate software distribution) that use, include, or depend on a modified or unmodified version of This Product (and the term "Your Product" does not include the whole aggregate software distribution). For the purposes of this License, a product suite consisting of two or more products is considered a single product (operating system distributions and cover media of magazines are not considered product suites).

5. "Distribution" means (and "distribute" refers to), regardless of means or methods, conveyance, transfer, providing, or making available of This/Your Product or portions thereof to third parties (including, but not limited to, making This/Your Product, or portions thereof, available for download to third parties, whether or not any third party has downloaded the product, or any portion thereof, made available for download).

II. Use, Copying, and Distribution of This Product

1. Provided that You comply with all applicable terms and conditions of this License, You may make copies of This Product (unmodified) and distribute copies of This Product (unmodified) that are not included in another product forming Your Product (except as permitted under Chapter III). Note: For terms and conditions for copying and distribution of modified versions of This Product, see Chapter III.

2. Provided that You comply with all applicable terms and conditions of this License, You may use This Product freely (see also Chapter III) on any number of computers/systems for non-commercial and/or commercial purposes.

III. Modification, Derivation, and Inclusion in Other Products

1. If all conditions specified in the following paragraphs in this Chapter (III) are met (for exceptions, see Section III.2) and if You comply with all other applicable terms and conditions of this License, You may modify This Product (thus forming Your Product), derive new works from This Product or portions thereof (thus forming Your Product), include This Product or portions thereof in another product (thus forming Your Product, unless defined otherwise in Chapter I), and You may use (for non-commercial and/or commercial purposes), copy, and/or distribute Your Product.
a.	The name of Your Product (or of Your modified version of This Product) must not contain the name TrueCrypt (for example, the following names are not allowed: TrueCrypt, TrueCrypt+, TrueCrypt Professional, iTrueCrypt, etc.) nor any other names confusingly similar to the name TrueCrypt (e.g., True-Crypt, True Crypt, TruKrypt, etc.)

All occurrences of the name TrueCrypt that could reasonably be considered to identify Your Product must be removed from Your Product and from any associated materials. Logo(s) included in (or attached to) Your Product (and in/to associated materials) must not incorporate and must not be confusingly similar to any of the TrueCrypt logos (including, but not limited to, the non-textual logo consisting primarily of a key in stylized form) or portion(s) thereof. All graphics contained in This Product (logos, icons, etc.) must be removed from Your Product (or from Your modified version of This Product) and from any associated materials.
b.	The following phrases must be removed from Your Product and from any associated materials, except the text of this License: "A TrueCrypt Foundation Release", "Released by TrueCrypt Foundation", "This is a TrueCrypt Foundation release."
c.	Phrase "Based on TrueCrypt, freely available at http://www.truecrypt.org/" must be displayed by Your Product (if technically feasible) and contained in its documentation. Alternatively, if This Product or its portion You included in Your Product constitutes only a minor portion of Your Product, phrase "Portions of this product are based in part on TrueCrypt, freely available at http://www.truecrypt.org/" may be displayed instead. In each of the cases mentioned above in this paragraph, "http://www.truecrypt.org/" must be a hyperlink (if technically feasible) pointing to http://www.truecrypt.org/ and You may freely choose the location within the user interface (if there is any) of Your Product (e.g., an "About" window, etc.) and the way in which Your Product will display the respective phrase.

Your Product (and any associated materials, e.g., the documentation, the content of the official web site of Your Product, etc.) must not present any Internet address containing the domain name truecrypt.org (or any domain name that forwards to the domain name truecrypt.org) in a manner that might suggest that it is where information about Your Product may be obtained or where bugs found in Your Product may be reported or where support for Your Product may be available or otherwise attempt to indicate that the domain name truecrypt.org is associated with Your Product.
d.	The complete source code of Your Product must be freely and publicly available (for exceptions, see Section III.2) at least until You cease to distribute Your Product. This condition can be met in one or both of the following ways: (i) You include the complete source code of Your Product with every copy of Your Product that You make and distribute and You make all such copies of Your Product available to the general public free of charge, and/or (ii) You include information (valid and correct at least until You cease to distribute Your Product) about where the complete source code of Your Product can be obtained free of charge (e.g., an Internet address) or for a reasonable reproduction fee with every copy of Your Product that You make and distribute and, if there is a web site officially associated with Your Product, You include the aforementioned information about the source code on a freely and publicly accessible web page to which such web site links via an easily viewable hyperlink (at least until You cease to distribute Your Product).

The source code of Your Product must not be deliberately obfuscated and it must not be in an intermediate form (e.g., the output of a preprocessor). Source code means the preferred form in which a programmer would usually modify the program.

Portions of the source code of Your Product not contained in This Product (e.g., portions added by You in creating Your Product, whether created by You or by third parties) must be available under license(s) that (however, see also Subsection III.1.e) allow(s) anyone to modify and derive new works from the portions of the source code that are not contained in This Product and to use, copy, and redistribute such modifications and/or derivative works. The license(s) must be perpetual, non-exclusive, royalty-free, no-charge, and worldwide, and must not invalidate, weaken, restrict, interpret, amend, modify, interfere with or otherwise affect any part, term, provision, or clause of this License. The text(s) of the license(s) must be included with every copy of Your Product that You make and distribute.
e.	You must not change the license terms of This Product in any way (adding any new terms is considered changing the license terms even if the original terms are retained), which means, e.g., that no part of This Product may be put under another license. You must keep intact all the legal notices contained in the source code files. You must include the following items with every copy of Your Product that You make and distribute: a clear and conspicuous notice stating that Your Product or portion(s) thereof is/are governed by this version of the TrueCrypt License, a verbatim copy of this version of the TrueCrypt License (as contained herein), a clear and conspicuous notice containing information about where the included copy of the License can be found, and an appropriate copyright notice.
2. You are not obligated to comply with Subsection III.1.d if Your Product is not distributed (i.e., Your Product is available only to You).

IV. Disclaimer of Liability, Disclaimer of Warranty, Indemnification

You expressly acknowledge and agree to the following:

1. IN NO EVENT WILL ANY (CO)AUTHOR OF THIS PRODUCT, OR ANY APPLICABLE INTELLECTUAL-PROPERTY OWNER, OR ANY OTHER PARTY WHO MAY COPY AND/OR (RE)DISTRIBUTE THIS PRODUCT OR PORTIONS THEREOF, AS MAY BE PERMITTED HEREIN, BE LIABLE TO YOU OR TO ANY OTHER PARTY FOR ANY DAMAGES, INCLUDING, BUT NOT LIMITED TO, ANY DIRECT, INDIRECT, GENERAL, SPECIAL, INCIDENTAL, PUNITIVE, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, CORRUPTION OR LOSS OF DATA, ANY LOSSES SUSTAINED BY YOU OR THIRD PARTIES, A FAILURE OF THIS PRODUCT TO OPERATE WITH ANY OTHER PRODUCT, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR BUSINESS INTERRUPTION), WHETHER IN CONTRACT, STRICT LIABILITY, TORT (INCLUDING, BUT NOT LIMITED TO, NEGLIGENCE) OR OTHERWISE, ARISING OUT OF THE USE, COPYING, MODIFICATION, OR (RE)DISTRIBUTION OF THIS PRODUCT (OR A PORTION THEREOF) OR OF YOUR PRODUCT (OR A PORTION THEREOF), OR INABILITY TO USE THIS PRODUCT (OR A PORTION THEREOF), EVEN IF SUCH DAMAGES (OR THE POSSIBILITY OF SUCH DAMAGES) ARE/WERE PREDICTABLE OR KNOWN TO ANY (CO)AUTHOR, INTELLECTUAL-PROPERTY OWNER, OR ANY OTHER PARTY.

2. THIS PRODUCT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS, IMPLIED, OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THIS PRODUCT IS WITH YOU. SHOULD THIS PRODUCT PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR CORRECTION.

3. THIS PRODUCT MAY INCORPORATE IMPLEMENTATIONS OF CRYPTOGRAPHIC ALGORITHMS THAT ARE REGULATED (E.G., SUBJECT TO EXPORT/IMPORT CONTROL REGULATIONS) OR ILLEGAL IN SOME COUNTRIES. IT IS SOLELY YOUR RESPONSIBILITY TO VERIFY THAT IT IS LEGAL TO IMPORT AND/OR (RE)EXPORT AND/OR USE THIS PRODUCT (OR PORTIONS THEREOF) IN COUNTRIES WHERE YOU INTEND TO USE IT AND/OR TO WHICH YOU INTEND TO IMPORT IT AND/OR FROM WHICH YOU INTEND TO EXPORT IT, AND IT IS SOLELY YOUR RESPONSIBILITY TO COMPLY WITH ANY APPLICABLE REGULATIONS, RESTRICTIONS, AND LAWS.

4. YOU SHALL INDEMNIFY, DEFEND AND HOLD ALL (CO)AUTHORS OF THIS PRODUCT, AND APPLICABLE INTELLECTUAL-PROPERTY OWNERS, HARMLESS FROM AND AGAINST ANY AND ALL LIABILITY, DAMAGES, LOSSES, SETTLEMENTS, PENALTIES, FINES, COSTS, EXPENSES (INCLUDING REASONABLE ATTORNEYS' FEES), DEMANDS, CAUSES OF ACTION, CLAIMS, ACTIONS, PROCEEDINGS, AND SUITS, DIRECTLY RELATED TO OR ARISING OUT OF YOUR USE, INABILITY TO USE, COPYING, (RE)DISTRIBUTION, IMPORT AND/OR (RE)EXPORT OF THIS PRODUCT (OR PORTIONS THEREOF) AND/OR YOUR BREACH OF ANY TERM OF THIS LICENSE.

V. Trademarks

This License does not grant permission to use trademarks associated with (or applying to) This Product, except for fair use as defined by applicable law and except for use expressly permitted or required by this License. Any attempt otherwise to use trademarks associated with (or applying to) This Product automatically and immediately terminates Your rights under This License and may constitute trademark infringement (which may be prosecuted).

VI. General Terms and Conditions, Miscellaneous Provisions

1. ANYONE WHO USES AND/OR COPIES AND/OR MODIFIES AND/OR CREATES DERIVATIVE WORKS OF AND/OR (RE)DISTRIBUTES THIS PRODUCT, OR ANY PORTION(S) THEREOF, IS, BY SUCH ACTION(S), AGREEING TO BE BOUND BY AND ACCEPTING ALL TERMS AND CONDITIONS OF THIS LICENSE (AND THE RESPONSIBILITIES AND OBLIGATIONS CONTAINED IN THIS LICENSE). IF YOU DO NOT ACCEPT (AND AGREE TO BE BOUND BY) ALL TERMS AND CONDITIONS OF THIS LICENSE, DO NOT USE, COPY, MODIFY, CREATE DERIVATIVE WORKS OF, NOR (RE)DISTRIBUTE THIS PRODUCT, NOR ANY PORTION(S) THEREOF.

2. YOU MAY NOT USE, MODIFY, COPY, CREATE DERIVATIVE WORKS OF, (RE)DISTRIBUTE, OR SUBLICENSE THIS PRODUCT, OR PORTION(S) THEREOF, EXCEPT AS EXPRESSLY PROVIDED IN THIS LICENSE (EVEN IF APPLICABLE LAW GIVES YOU MORE RIGHTS). ANY ATTEMPT (EVEN IF PERMITTED BY APPLICABLE LAW) OTHERWISE TO USE, MODIFY, COPY, CREATE DERIVATIVE WORKS OF, (RE)DISTRIBUTE, OR SUBLICENSE THIS PRODUCT, OR PORTION(S) THEREOF, AUTOMATICALLY AND IMMEDIATELY TERMINATES YOUR RIGHTS UNDER THIS LICENSE AND CAN CONSTITUTE COPYRIGHT INFRINGEMENT (WHICH MAY BE PROSECUTED). ANY CONDITIONS AND RESTRICTIONS CONTAINED IN THIS LICENSE ARE ALSO LIMITATIONS ON THE SCOPE OF THIS LICENSE AND ALSO DEFINE THE SCOPE OF YOUR RIGHTS UNDER THIS LICENSE. YOUR FAILURE TO COMPLY WITH THE TERMS AND CONDITIONS OF THIS LICENSE OR FAILURE TO PERFORM ANY APPLICABLE OBLIGATION IMPOSED BY THIS LICENSE AUTOMATICALLY AND IMMEDIATELY TERMINATES YOUR RIGHTS UNDER THIS LICENSE AND CAN CAUSE OR BE CONSIDERED COPYRIGHT INFRINGEMENT (WHICH MAY BE PROSECUTED). NOTHING IN THIS LICENSE SHALL IMPLY OR BE CONSTRUED AS A PROMISE, OBLIGATION, OR COVENANT NOT TO SUE FOR COPYRIGHT OR TRADEMARK INFRINGEMENT IF YOU DO NOT COMPLY WITH THE TERMS AND CONDITIONS OF THIS LICENSE.

3. This License does not constitute or imply a waiver of any intellectual property rights except as may be otherwise expressly provided in this License. This License does not transfer, assign, or convey any intellectual property rights (e.g., it does not transfer ownership of copyrights or trademarks).

4. Subject to the terms and conditions of this License, You may allow a third party to use Your copy of This Product (or a copy that You make and distribute, or Your Product) provided that the third party explicitly accepts and agrees to be bound by all terms and conditions of this License and the third party is not prohibited from using This Product (or portions thereof) by this License (see, e.g., Section VI.7) or by applicable law. However, You are not obligated to ensure that the third party accepts (and agrees to be bound by all terms of) this License if You distribute only the self-extracting package (containing This Product) that does not allow the user to install (nor extract) the files contained in the package until he or she accepts and agrees to be bound by all terms and conditions of this License.

5. Without specific prior written permission from the authors of This Product (or from their common representative), You must not use the name of This Product, the names of the authors of This Product, or the names of the legal entities (or informal groups) of which the authors were/are members/employees, to endorse or promote Your Product or any work in which You include a modified or unmodified version of This Product, or to endorse or promote You or Your affiliates, or in a way that might suggest that Your Product (or any work in which You include a modified or unmodified version of This Product), You, or Your affiliates is/are endorsed by one or more authors of This Product, or in a way that might suggest that one or more authors of This Product is/are affiliated with You (or Your affiliates) or directly participated in the creation of Your Product or of any work in which You include a modified or unmodified version of This Product.

6. IF YOU ARE NOT SURE WHETHER YOU UNDERSTAND ALL PARTS OF THIS LICENSE OR IF YOU ARE NOT SURE WHETHER YOU CAN COMPLY WITH ALL TERMS AND CONDITIONS OF THIS LICENSE, YOU MUST NOT USE, COPY, MODIFY, CREATE DERIVATIVE WORKS OF, NOR (RE)DISTRIBUTE THIS PRODUCT, NOR ANY PORTION(S) OF IT. YOU SHOULD CONSULT WITH A LAWYER.

7. IF (IN RELEVANT CONTEXT) ANY PROVISION OF CHAPTER IV OF THIS LICENSE IS UNENFORCEABLE, INVALID, OR PROHIBITED UNDER APPLICABLE LAW IN YOUR JURISDICTION, YOU HAVE NO RIGHTS UNDER THIS LICENSE AND YOU MUST NOT USE, COPY, MODIFY, CREATE DERIVATIVE WORKS OF, NOR (RE)DISTRIBUTE THIS PRODUCT, NOR ANY PORTION(S) THEREOF.

8. Except as otherwise provided in this License, if any provision of this License, or a portion thereof, is found to be invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of this License, and such invalid or unenforceable provision shall be construed to reflect the original intent of the provision and shall be enforced to the maximum extent permitted by applicable law so as to effect the original intent of the provision as closely as possible.

____________________________________________________________

Third-Party Licenses

This Product contains components that were created by third parties and that are governed by third-party licenses, which are contained hereinafter (separated by lines consisting of underscores). Each of the third-party licenses applies only to (portions of) the source code file(s) in which the third-party license is contained or in which it is explicitly referenced, and to compiled or otherwise processed forms of such source code. None of the third-party licenses applies to This Product as a whole, even when it uses terms such as "product", "program", or any other equivalent terms/phrases. This Product as a whole is governed by the TrueCrypt License (see above). Some of the third-party components have been modified by the authors of This Product. Unless otherwise stated, such modifications and additions are governed by the TrueCrypt License (see above). Note: Unless otherwise stated, graphics and files that are not part of the source code are governed by the TrueCrypt License.

____________________________________________________________

License agreement for Encryption for the Masses.

Copyright (C) 1998-2000 Paul Le Roux. All Rights Reserved.

This product can be copied and distributed free of charge, including source code.

You may modify this product and source code, and distribute such modifications, and you may derive new works based on this product, provided that:

1. Any product which is simply derived from this product cannot be called E4M, or Encryption for the Masses.

2. If you use any of the source code in your product, and your product is distributed with source code, you must include this notice with those portions of this source code that you use.

Or,

If your product is distributed in binary form only, you must display on any packaging, and marketing materials which reference your product, a notice which states:

"This product uses components written by Paul Le Roux <pleroux@swprofessionals.com>"

3. If you use any of the source code originally by Eric Young, you must in addition follow his terms and conditions.

4. Nothing requires that you accept this License, as you have not signed it. However, nothing else grants you permission to modify or distribute the product or its derivative works.

These actions are prohibited by law if you do not accept this License.

5. If any of these license terms is found to be to broad in scope, and declared invalid by any court or legal process, you agree that all other terms shall not be so affected, and shall remain valid and enforceable.

6. THIS PROGRAM IS DISTRIBUTED FREE OF CHARGE, THEREFORE THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. UNLESS OTHERWISE STATED THE PROGRAM IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

7. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM, INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS, EVEN IF SUCH HOLDER OR OTHER PARTY HAD PREVIOUSLY BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
____________________________________________________________

Copyright (c) 1998-2008, Brian Gladman, Worcester, UK. All rights reserved.

LICENSE TERMS

The free distribution and use of this software is allowed (with or without changes) provided that:
1.	source code distributions include the above copyright notice, this list of conditions and the following disclaimer;
2.	binary distributions include the above copyright notice, this list of conditions and the following disclaimer in their documentation;
3.	the name of the copyright holder is not used to endorse products built using this software without specific written permission. 
DISCLAIMER

This software is provided 'as is' with no explicit or implied warranties in respect of its properties, including, but not limited to, correctness and/or fitness for purpose.
____________________________________________________________

Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler

This software is provided 'as-is', without any express or implied warranty. In no event will the author be held liable for any damages arising from the use of this software.

Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:
1.	The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 
2.	Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 
3.	This notice may not be removed or altered from any source distribution. 
____________________________________________________________
Copyright (C) 1999-2016 Dieter Baron and Thomas Klausner
The authors can be contacted at <libzip@nih.at>
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. The names of the authors may not be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.____________________________________________________________
Copyright (c) 2013, Alexey Degtyarev. All rights reserved.
____________________________________________________________
Copyright (c) 2016. Disk Cryptography Services for EFI (DCS), Alex Kolotnikov
This program and the accompanying materials are licensed and made available under the terms and conditions of the GNU Lesser General Public License, version 3.0 (LGPL-3.0).

The full text of the license may be found at https://opensource.org/licenses/LGPL-3.0
____________________________________________________________
Copyright (c) 1999-2013,2014,2015,2016 Jack Lloyd. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</div><div class='ctx'> 		*size = SizeofResource (hResInst, hRes);</div><div class='ctx'> </div><div class='ctx'> 	return (BYTE *) LockResource (hResL);</div><div class='ctx'> </div><div class='ctx'> </div><div class='ctx'> </div><div class='ctx'> void InconsistencyResolved (char *techInfo)</div><div class='ctx'> </div><div class='ctx'> 	wchar_t finalMsg[8024];</div><div class='ctx'> </div><div class='ctx'> 	StringCbPrintfW (finalMsg, sizeof(finalMsg), GetString ("INCONSISTENCY_RESOLVED"), techInfo);</div><div class='ctx'> 	MessageBoxW (MainDlg, finalMsg, lpszTitle, MB_ICONWARNING | MB_SETFOREGROUND | MB_TOPMOST);</div><div class='ctx'> </div><div class='ctx'> </div><div class='ctx'> </div><div class='ctx'> void ReportUnexpectedState (const char *techInfo)</div><div class='ctx'> </div><div class='ctx'> 	wchar_t finalMsg[8024];</div><div class='ctx'> </div><div class='ctx'> 	StringCbPrintfW (finalMsg, sizeof(finalMsg), GetString ("UNEXPECTED_STATE"), techInfo);</div><div class='ctx'> 	MessageBoxW (MainDlg, finalMsg, lpszTitle, MB_ICONERROR | MB_SETFOREGROUND | MB_TOPMOST);</div><div class='ctx'> </div><div class='ctx'> </div><div class='ctx'> </div><div class='ctx'> #ifndef SETUP</div><div class='ctx'> </div><div class='ctx'> int OpenVolume (OpenVolumeContext *context, const wchar_t *volumePath, Password *password, int pkcs5_prf, int pim, BOOL truecryptMode, BOOL write, BOOL preserveTimestamps, BOOL useBackupHeader)</div><div class='ctx'> </div><div class='ctx'> 	int status = ERR_PARAMETER_INCORRECT;</div><div class='ctx'> 	int volumeType;</div><div class='ctx'> 	wchar_t szDiskFile[TC_MAX_PATH], szCFDevice[TC_MAX_PATH];</div><div class='ctx'> 	wchar_t szDosDevice[TC_MAX_PATH];</div><div class='ctx'> 	char buffer[TC_VOLUME_HEADER_EFFECTIVE_SIZE];</div><div class='ctx'> 	LARGE_INTEGER headerOffset;</div><div class='head'>diff --git a/src/Common/Dlgcode.h b/src/Common/Dlgcode.h<br/>index 362b2d6d..d9bc3374 100644<br/>--- a/<a href='/code/VeraCrypt/tree/src/Common/Dlgcode.h?id=99c3cda01a4bb4d1f08b93753ff3b79bcbc3e63e'>src/Common/Dlgcode.h</a><br/>+++ b/<a href='/code/VeraCrypt/tree/src/Common/Dlgcode.h?id=c0ff7a7c521b1d658316d9a177383ab0c403007a'>src/Common/Dlgcode.h</a></div><div class='hunk'>@@ -250,70 +250,73 @@ typedef enum BitLockerEncryptionStatus</div><div class='ctx'>     BL_Status_Unprotected,</div><div class='ctx'>     BL_Status_Protected</div><div class='ctx'>  BitLockerEncryptionStatus;</div><div class='ctx'> </div><div class='ctx'> #ifndef CODEINTEGRITY_OPTION_ENABLED</div><div class='ctx'> </div><div class='ctx'> #define CODEINTEGRITY_OPTION_ENABLED                        0x01</div><div class='ctx'> #define CODEINTEGRITY_OPTION_TESTSIGN                       0x02</div><div class='ctx'> </div><div class='ctx'> typedef struct _SYSTEM_CODEINTEGRITY_INFORMATION </div><div class='ctx'>     ULONG   Length;</div><div class='ctx'>     ULONG   CodeIntegrityOptions;</div><div class='ctx'>  SYSTEM_CODEINTEGRITY_INFORMATION, *PSYSTEM_CODEINTEGRITY_INFORMATION;</div><div class='ctx'> </div><div class='ctx'> #endif</div><div class='ctx'> </div><div class='ctx'> #define SYSPARTITIONINFORMATION 0x62</div><div class='ctx'> #define SYSTEMCODEINTEGRITYINFORMATION	0x67</div><div class='ctx'> </div><div class='ctx'> typedef NTSTATUS (WINAPI *NtQuerySystemInformationFn)(</div><div class='ctx'> 		SYSTEM_INFORMATION_CLASS SystemInformationClass,</div><div class='ctx'> 		PVOID                    SystemInformation,</div><div class='ctx'> 		ULONG                    SystemInformationLength,</div><div class='ctx'> 		PULONG                   ReturnLength</div><div class='ctx'> );</div><div class='ctx'> </div><div class='ctx'> </div><div class='ctx'> #define DEFAULT_VOL_CREATION_WIZARD_MODE	WIZARD_MODE_FILE_CONTAINER</div><div class='ctx'> </div><div class='ctx'> #define ICON_HAND MB_ICONHAND</div><div class='ctx'> #define YES_NO MB_YESNO</div><div class='ctx'> </div><div class='ctx'> #define	ISO_BURNER_TOOL L"isoburn.exe"</div><div class='ctx'> #define PRINT_TOOL L"notepad.exe"</div><div class='ctx'> </div><div class='add'>+</div><div class='add'>+BOOL CheckIsIMESupported ();</div><div class='add'>+</div><div class='ctx'> void InitGlobalLocks ();</div><div class='ctx'> void FinalizeGlobalLocks ();</div><div class='ctx'> void cleanup ( void );</div><div class='ctx'> void LowerCaseCopy ( wchar_t *lpszDest , const wchar_t *lpszSource );</div><div class='ctx'> void UpperCaseCopy ( wchar_t *lpszDest , size_t cbDest, const wchar_t *lpszSource );</div><div class='ctx'> BOOL IsNullTerminateString (const wchar_t* str, size_t cbSize);</div><div class='ctx'> void CreateFullVolumePath ( wchar_t *lpszDiskFile , size_t cbDiskFile, const wchar_t *lpszFileName , BOOL *bDevice );</div><div class='ctx'> int FakeDosNameForDevice ( const wchar_t *lpszDiskFile , wchar_t *lpszDosDevice , size_t cbDosDevice, wchar_t *lpszCFDevice , size_t cbCFDevice, BOOL bNameOnly );</div><div class='ctx'> int RemoveFakeDosName ( wchar_t *lpszDiskFile , wchar_t *lpszDosDevice );</div><div class='ctx'> void AbortProcessDirect ( wchar_t *abortMsg );</div><div class='ctx'> void AbortProcess ( char *stringId );</div><div class='ctx'> void AbortProcessSilent ( void );</div><div class='ctx'> void *err_malloc ( size_t size );</div><div class='ctx'> char *err_strdup ( char *lpszText );</div><div class='ctx'> DWORD handleWin32Error ( HWND hwndDlg, const char* srcPos );</div><div class='ctx'> BOOL IsDiskReadError (DWORD error);</div><div class='ctx'> BOOL IsDiskWriteError (DWORD error);</div><div class='ctx'> BOOL IsDiskError (DWORD error);</div><div class='ctx'> BOOL translateWin32Error ( wchar_t *lpszMsgBuf , int nWSizeOfBuf );</div><div class='ctx'> BOOL CALLBACK AboutDlgProc ( HWND hwndDlg , UINT msg , WPARAM wParam , LPARAM lParam );</div><div class='ctx'> static BOOL CALLBACK StaticModelessWaitDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);</div><div class='ctx'> void DisplayStaticModelessWaitDlg (HWND parent);</div><div class='ctx'> void CloseStaticModelessWaitDlg (void);</div><div class='ctx'> BOOL IsButtonChecked ( HWND hButton );</div><div class='ctx'> void CheckButton ( HWND hButton );</div><div class='ctx'> void LeftPadString (wchar_t *szTmp, int len, int targetLen, wchar_t filler);</div><div class='ctx'> void InitDialog ( HWND hwndDlg );</div><div class='ctx'> void ProcessPaintMessages (HWND hwnd, int maxMessagesToProcess);</div><div class='ctx'> HDC CreateMemBitmap ( HINSTANCE hInstance , HWND hwnd , wchar_t *resource );</div><div class='ctx'> HBITMAP RenderBitmap ( wchar_t *resource , HWND hwndDest , int x , int y , int nWidth , int nHeight , BOOL bDirectRender , BOOL bKeepAspectRatio);</div><div class='ctx'> LRESULT CALLBACK RedTick ( HWND hwnd , UINT uMsg , WPARAM wParam , LPARAM lParam );</div><div class='ctx'> BOOL RegisterRedTick ( HINSTANCE hInstance );</div><div class='ctx'> BOOL UnregisterRedTick ( HINSTANCE hInstance );</div><div class='ctx'> LRESULT CALLBACK SplashDlgProc ( HWND hwnd , UINT uMsg , WPARAM wParam , LPARAM lParam );</div><div class='ctx'> void WaitCursor ( void );</div><div class='hunk'>@@ -342,70 +345,71 @@ BOOL CreateAppSetupMutex (void);</div><div class='ctx'> BOOL InstanceHasAppSetupMutex (void);</div><div class='ctx'> void CloseAppSetupMutex (void);</div><div class='ctx'> BOOL IsTrueCryptInstallerRunning (void);</div><div class='ctx'> uint32 ReadDriverConfigurationFlags ();</div><div class='ctx'> uint32 ReadServiceConfigurationFlags ();</div><div class='ctx'> uint32 ReadEncryptionThreadPoolFreeCpuCountLimit ();</div><div class='ctx'> BOOL LoadSysEncSettings ();</div><div class='ctx'> int LoadNonSysInPlaceEncSettings (WipeAlgorithmId *wipeAlgorithm);</div><div class='ctx'> void RemoveNonSysInPlaceEncNotifications (void);</div><div class='ctx'> void SavePostInstallTasksSettings (int command);</div><div class='ctx'> void DoPostInstallTasks (HWND hwndDlg);</div><div class='ctx'> void InitOSVersionInfo ();</div><div class='ctx'> void InitApp ( HINSTANCE hInstance, wchar_t *lpszCommandLine );</div><div class='ctx'> void FinalizeApp (void);</div><div class='ctx'> void InitHelpFileName (void);</div><div class='ctx'> BOOL OpenDevice (const wchar_t *lpszPath, OPEN_TEST_STRUCT *driver, BOOL detectFilesystem, BOOL computeVolumeID);</div><div class='ctx'> void NotifyDriverOfPortableMode (void);</div><div class='ctx'> int GetAvailableFixedDisks ( HWND hComboBox , char *lpszRootPath );</div><div class='ctx'> int GetAvailableRemovables ( HWND hComboBox , char *lpszRootPath );</div><div class='ctx'> int IsSystemDevicePath (const wchar_t *path, HWND hwndDlg, BOOL bReliableRequired);</div><div class='ctx'> int IsNonSysPartitionOnSysDrive (const wchar_t *path);</div><div class='ctx'> BOOL CALLBACK RawDevicesDlgProc ( HWND hwndDlg , UINT msg , WPARAM wParam , LPARAM lParam );</div><div class='ctx'> BOOL CALLBACK TextEditDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);</div><div class='ctx'> INT_PTR TextInfoDialogBox (int nID);</div><div class='ctx'> BOOL CALLBACK TextInfoDialogBoxDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);</div><div class='ctx'> char * GetLegalNotices ();</div><div class='ctx'> BOOL CALLBACK BenchmarkDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);</div><div class='ctx'> void UserEnrichRandomPool (HWND hwndDlg);</div><div class='ctx'> BOOL CALLBACK KeyfileGeneratorDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);</div><div class='ctx'> BOOL CALLBACK MultiChoiceDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);</div><div class='ctx'> int DriverAttach ( void );</div><div class='ctx'> BOOL CALLBACK CipherTestDialogProc ( HWND hwndDlg , UINT uMsg , WPARAM wParam , LPARAM lParam );</div><div class='ctx'> void ResetCipherTest ( HWND hwndDlg , int idTestCipher );</div><div class='ctx'> void ResetCurrentDirectory ();</div><div class='ctx'> BOOL BrowseFiles (HWND hwndDlg, char *stringId, wchar_t *lpszFileName, BOOL keepHistory, BOOL saveMode, wchar_t *browseFilter);</div><div class='add'>+BOOL BrowseFile (HWND hwndDlg, char *stringId, wchar_t *initialDir);</div><div class='ctx'> BOOL BrowseDirectories (HWND hWnd, char *lpszTitle, wchar_t *dirName);</div><div class='ctx'> void handleError ( HWND hwndDlg , int code, const char* srcPos );</div><div class='ctx'> BOOL CheckFileStreamWriteErrors (HWND hwndDlg, FILE *file, const wchar_t *fileName);</div><div class='ctx'> void LocalizeDialog ( HWND hwnd, char *stringId );</div><div class='ctx'> void OpenVolumeExplorerWindow (int driveNo);</div><div class='ctx'> static BOOL CALLBACK CloseVolumeExplorerWindowsEnum( HWND hwnd, LPARAM driveNo);</div><div class='ctx'> BOOL CloseVolumeExplorerWindows (HWND hwnd, int driveNo);</div><div class='ctx'> BOOL UpdateDriveCustomLabel (int driveNo, wchar_t* effectiveLabel, BOOL bSetValue);</div><div class='ctx'> BOOL CheckCapsLock (HWND hwnd, BOOL quiet);</div><div class='ctx'> BOOL CheckFileExtension (wchar_t *fileName);</div><div class='ctx'> BOOL IsTrueCryptFileExtension (wchar_t *fileName);</div><div class='ctx'> void CorrectFileName (wchar_t* fileName);</div><div class='ctx'> void CorrectURL (wchar_t* fileName);</div><div class='ctx'> void IncreaseWrongPwdRetryCount (int count);</div><div class='ctx'> void ResetWrongPwdRetryCount (void);</div><div class='ctx'> BOOL WrongPwdRetryCountOverLimit (void);</div><div class='ctx'> DWORD GetUsedLogicalDrives (void);</div><div class='ctx'> int GetFirstAvailableDrive ();</div><div class='ctx'> int GetLastAvailableDrive ();</div><div class='ctx'> BOOL IsDriveAvailable (int driveNo);</div><div class='ctx'> BOOL IsDeviceMounted (wchar_t *deviceName);</div><div class='ctx'> int DriverUnmountVolume (HWND hwndDlg, int nDosDriveNo, BOOL forced);</div><div class='ctx'> void BroadcastDeviceChange (WPARAM message, int nDosDriveNo, DWORD driveMap);</div><div class='ctx'> int MountVolume (HWND hwndDlg, int driveNo, wchar_t *volumePath, Password *password, int pkcs5, int pim, BOOL truecryptMode, BOOL cachePassword, BOOL cachePim, BOOL sharedAccess,  const MountOptions* const mountOptions, BOOL quiet, BOOL bReportWrongPassword);</div><div class='ctx'> BOOL UnmountVolume (HWND hwndDlg , int nDosDriveNo, BOOL forceUnmount);</div><div class='ctx'> BOOL UnmountVolumeAfterFormatExCall (HWND hwndDlg, int nDosDriveNo);</div><div class='ctx'> BOOL IsPasswordCacheEmpty (void);</div><div class='ctx'> BOOL IsMountedVolumeID (BYTE volumeID[VOLUME_ID_SIZE]);</div><div class='ctx'> BOOL IsMountedVolume (const wchar_t *volname);</div><div class='ctx'> int GetMountedVolumeDriveNo (wchar_t *volname);</div><div class='ctx'> BOOL IsAdmin (void);</div><div class='ctx'> BOOL IsBuiltInAdmin ();</div><div class='ctx'> BOOL IsUacSupported ();</div><div class='ctx'> BOOL ResolveSymbolicLink (const wchar_t *symLinkName, PWSTR targetName, size_t cbTargetName);</div><div class='ctx'> int GetDiskDeviceDriveLetter (PWSTR deviceName);</div><div class='head'>diff --git a/src/Common/Language.xml b/src/Common/Language.xml<br/>index e4ceac7a..9ac6ce1b 100644<br/>--- a/<a href='/code/VeraCrypt/tree/src/Common/Language.xml?id=99c3cda01a4bb4d1f08b93753ff3b79bcbc3e63e'>src/Common/Language.xml</a><br/>+++ b/<a href='/code/VeraCrypt/tree/src/Common/Language.xml?id=c0ff7a7c521b1d658316d9a177383ab0c403007a'>src/Common/Language.xml</a></div><div class='hunk'>@@ -1,138 +1,139 @@</div><div class='ctx'> ï»¿&lt;?xml version="1.0" encoding="utf-8"?&gt;</div><div class='ctx'> &lt;VeraCrypt&gt;</div><div class='ctx'>   &lt;localization prog-version="1.24-Update8"&gt;</div><div class='ctx'>     &lt;language langid="en" name="English" en-name="English" version="0.0.0" translators="TrueCrypt/VeraCrypt Teams" /&gt;</div><div class='ctx'>     &lt;font lang="en" class="normal" size="11" face="default" /&gt;</div><div class='ctx'>     &lt;font lang="en" class="bold" size="13" face="Arial" /&gt;</div><div class='ctx'>     &lt;font lang="en" class="fixed" size="12" face="Lucida Console" /&gt;</div><div class='ctx'>     &lt;font lang="en" class="title" size="21" face="Times New Roman" /&gt;</div><div class='add'>+</div><div class='ctx'>     &lt;entry lang="en" key="IDCANCEL"&gt;Cancel&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_ALL_USERS"&gt;Install &amp;amp;for all users&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_BROWSE"&gt;Bro&amp;amp;wse...&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_DESKTOP_ICON"&gt;Add VeraCrypt icon to &amp;amp;desktop&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_DONATE"&gt;Donate now...&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_FILE_TYPE"&gt;Associate the .hc file &amp;amp;extension with VeraCrypt&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_OPEN_CONTAINING_FOLDER"&gt;&amp;amp;Open the destination location when finished&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_PROG_GROUP"&gt;Add VeraCrypt to &amp;amp;Start menu&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_SYSTEM_RESTORE"&gt;Create System &amp;amp;Restore point&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_UNINSTALL"&gt;&amp;amp;Uninstall&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_WIZARD_MODE_EXTRACT_ONLY"&gt;&amp;amp;Extract&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_WIZARD_MODE_INSTALL"&gt;&amp;amp;Install&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDD_INSTL_DLG"&gt;VeraCrypt Setup Wizard&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDD_UNINSTALL"&gt;Uninstall VeraCrypt&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDHELP"&gt;&amp;amp;Help&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDT_EXTRACT_DESTINATION"&gt;Please select or type the location where you want to place the extracted files:&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDT_INSTALL_DESTINATION"&gt;Please select or type the location where you want to install the VeraCrypt program files. If the specified folder does not exist, it will be automatically created.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDT_UNINSTALL_DIR"&gt;Click Uninstall to remove VeraCrypt from this system.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_ABORT_BUTTON"&gt;Abort&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_BENCHMARK"&gt;&amp;amp;Benchmark&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_CIPHER_TEST"&gt;&amp;amp;Test&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_DEVICE_TRANSFORM_MODE_FORMAT"&gt;Create encrypted volume and format it&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_DEVICE_TRANSFORM_MODE_INPLACE"&gt;Encrypt partition in place&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_DISPLAY_KEYS"&gt;Display generated keys (their portions)&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_DISPLAY_POOL_CONTENTS"&gt;Display pool content&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_DOWNLOAD_CD_BURN_SOFTWARE"&gt;Download CD/DVD recording software&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_FILE_CONTAINER"&gt;Create an encrypted file container&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_GB"&gt;&amp;amp;GiB&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_TB"&gt;&amp;amp;TiB&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_HIDDEN_SYSENC_INFO_LINK"&gt;More information&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_HIDDEN_VOL"&gt;Hi&amp;amp;dden VeraCrypt volume &lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_HIDDEN_VOL_HELP"&gt;More information about hidden volumes&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_HIDVOL_WIZ_MODE_DIRECT"&gt;Direct mode&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_HIDVOL_WIZ_MODE_FULL"&gt;Normal mode&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_KB"&gt;&amp;amp;KiB&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_KEYFILES_ENABLE"&gt;U&amp;amp;se keyfiles&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_KEYFILES_TRY_EMPTY_PASSWORD"&gt;Try first to mount with an empty password&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_KEYFILES_RANDOM_SIZE"&gt;Random size ( 64 &amp;lt;-&amp;gt; 1048576 )&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_KEY_FILES"&gt;&amp;amp;Keyfiles...&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_LINK_HASH_INFO"&gt;Information on hash algorithms&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_LINK_MORE_INFO_ABOUT_CIPHER"&gt;More information&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_LINK_PIM_INFO"&gt;Information on PIM&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_MB"&gt;&amp;amp;MiB&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_MORE_INFO_ON_CONTAINERS"&gt;More information&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_MORE_INFO_ON_SYS_ENCRYPTION"&gt;More information about system encryption&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_MORE_INFO_SYS_ENCRYPTION"&gt;More information&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_MULTI_BOOT"&gt;Multi-Boot&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_NONSYS_DEVICE"&gt;Encrypt a non-system partition/drive&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_NO_HISTORY"&gt;&amp;amp;Never save history&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_OPEN_OUTER_VOLUME"&gt;Open Outer Volume&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_PAUSE"&gt;&amp;amp;Pause&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_PIM_ENABLE"&gt;Use P&amp;amp;IM&lt;/entry&gt;</div><div class='del'>-    &lt;entry lang="en" key="IDC_NEW_PIM_ENABLE"&gt;Use PIM&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="IDC_NEW_PIM_ENABLE"&gt;Modify PIM&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_QUICKFORMAT"&gt;Quick Format&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_SHOW_PASSWORD"&gt;&amp;amp;Display password&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_SHOW_PASSWORD_SINGLE"&gt;&amp;amp;Display password&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_SHOW_PIM"&gt;&amp;amp;Display PIM&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_SINGLE_BOOT"&gt;Single-boot&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_STD_VOL"&gt;Standard VeraCrypt volume&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_SYSENC_HIDDEN"&gt;Hi&amp;amp;dden&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_SYSENC_NORMAL"&gt;Normal&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_SYS_DEVICE"&gt;Encrypt the system partition or entire system drive&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_SYS_PARTITION"&gt;Encrypt the Windows system partition&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_WHOLE_SYS_DRIVE"&gt;Encrypt the whole drive&lt;/entry&gt;</div><div class='del'>-    &lt;entry lang="en" key="IDD_VOL_CREATION_WIZARD_DLG"&gt;VeraCrypt Volume Creation Wizard&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="IDD_VOL_CREATION_WIZARD_DLG"&gt;VeraCrypt Wizard&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDT_CLUSTER"&gt;Cluster &lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDT_COLLECTING_RANDOM_DATA_NOTE"&gt;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.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDT_CONFIRM"&gt;&amp;amp;Confirm:&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDT_DONE"&gt;Done&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDT_DRIVE_LETTER"&gt;Drive letter:&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDT_ENCRYPTION_ALGO"&gt;Encryption Algorithm&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDT_FILESYSTEM"&gt;Filesystem &lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDT_FILE_CONTAINER"&gt;Creates a virtual encrypted disk within a file. Recommended for inexperienced users.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDT_FORMAT_OPTIONS"&gt;Options&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDT_HASH_ALGO"&gt;Hash Algorithm&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDT_HEADER_KEY"&gt;Header Key: &lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDT_LEFT"&gt;Left&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDT_MASTER_KEY"&gt;Master Key: &lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDT_MULTI_BOOT"&gt;Select this option if there are two or more operating systems installed on this computer.example:- Windows XP and Windows XP- Windows XP and Windows Vista- Windows and Mac OS X- Windows and Linux- Windows, Linux and Mac OS X&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDT_NON_SYS_DEVICE"&gt;Encrypts a non-system partition on any internal or external drive (e.g. a flash drive). Optionally, creates a hidden volume.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDT_PARTIAL_POOL_CONTENTS"&gt;Current pool content (partial)&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDT_PASS"&gt;Pass&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDT_PASSWORD"&gt;Password:&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDT_PIM"&gt;Volume PIM:&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDT_OLD_PIM"&gt;Volume PIM:&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDT_PROGRESS"&gt;Progress:&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDT_RANDOM_POOL"&gt;Random Pool: &lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDT_SINGLE_BOOT"&gt;Select this option if there is only one operating system installed on this computer (even if it has multiple users).&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDT_SPEED"&gt;Speed&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDT_STATUS"&gt;Status&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDT_SYSENC_KEYS_GEN_INFO"&gt;The keys, salt, and other data have been successfully generated. If you want to generate new keys, click Back and then Next. Otherwise, click Next to continue.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDT_SYS_DEVICE"&gt;Encrypts the partition/drive where Windows is installed. Anyone who wants to gain access and use the system, read and write files, etc., will need to enter the correct password each time before Windows boots. Optionally, creates a hidden system.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDT_SYS_PARTITION"&gt;Select this option to encrypt the partition where the currently running Windows operating system is installed.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDT_VOLUME_LABEL"&gt;Volume Label in Windows:&lt;/entry&gt;</div><div class='del'>-    &lt;entry lang="en" key="IDT_WIPE_MODE"&gt;Wipe mode:&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="IDT_WIPE_MODE"&gt;Wipe Mode&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDCLOSE"&gt;Close&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_ALLOW_ESC_PBA_BYPASS"&gt;Allow pre-boot &amp;amp;authentication to be bypassed by pressing the Esc key (enables boot manager)&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_AUTORUN_DISABLE"&gt;Do nothing&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_AUTORUN_MOUNT"&gt;&amp;amp;Auto-mount VeraCrypt volume (specified below)&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_AUTORUN_START"&gt;&amp;amp;Start VeraCrypt&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_AUTO_DETECT_PKCS11_MODULE"&gt;Auto-&amp;amp;Detect Library&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_BOOT_LOADER_CACHE_PASSWORD"&gt;&amp;amp;Cache pre-boot authentication password in driver memory (for mounting of non-system volumes)&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_BROWSE_DIRS"&gt;Browse...&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_BROWSE_FILES"&gt;Browse...&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_CACHE"&gt;Cache passwords and keyfil&amp;amp;es in memory&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_CLOSE_BKG_TASK_WHEN_NOVOL"&gt;Exit when there are no mounted volumes&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_CLOSE_TOKEN_SESSION_AFTER_MOUNT"&gt;&amp;amp;Close token session (log out) after a volume is successfully mounted&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_COPY_EXPANDER"&gt;Include VeraCrypt Volume Expander&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_COPY_WIZARD"&gt;Include VeraCrypt Volume Creation Wizard&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_CREATE"&gt;Create&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_CREATE_VOLUME"&gt;&amp;amp;Create Volume&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_DISABLE_BOOT_LOADER_OUTPUT"&gt;Do not &amp;amp;show any texts in the pre-boot authentication screen (except the below custom message)&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_DISABLE_EVIL_MAID_ATTACK_DETECTION"&gt;Disable "Evil Maid" attack detection&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_ENABLE_HARDWARE_ENCRYPTION"&gt;Accelerate AES encryption/decryption by using the AES instructions of the processor (if available)&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_ENABLE_KEYFILES"&gt;Use keyfiles&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_ENABLE_NEW_KEYFILES"&gt;Use keyfiles&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_EXIT"&gt;E&amp;amp;xit&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_FAVORITES_HELP_LINK"&gt;Help on favorite volumes&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_FAVORITE_DISABLE_HOTKEY"&gt;Do not mount selected volume when 'Mount Favorite Volumes' &amp;amp;hot key is pressed&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_FAVORITE_MOUNT_ON_ARRIVAL"&gt;Mount selected volume when its host device gets &amp;amp;connected&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_FAVORITE_MOUNT_ON_LOGON"&gt;Mount selected volume upon log&amp;amp;on&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_FAVORITE_MOUNT_READONLY"&gt;Mount selected volume as read-o&amp;amp;nly&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_FAVORITE_MOUNT_REMOVABLE"&gt;Mount selected volume as remo&amp;amp;vable medium&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_FAVORITE_MOVE_DOWN"&gt;Move &amp;amp;Down&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_FAVORITE_MOVE_UP"&gt;Move &amp;amp;Up&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_FAVORITE_OPEN_EXPLORER_WIN_ON_MOUNT"&gt;Open &amp;amp;Explorer window for selected volume when successfully mounted&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_FAVORITE_REMOVE"&gt;&amp;amp;Remove&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_FAVORITE_USE_LABEL_IN_EXPLORER"&gt;Use favorite label as Explorer drive label&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_FAV_VOL_OPTIONS_GLOBAL_SETTINGS_BOX"&gt;Global Settings&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_HK_DISMOUNT_BALLOON_TOOLTIP"&gt;Display balloon tooltip after successful hot-key dismount&lt;/entry&gt;</div><div class='hunk'>@@ -456,71 +457,71 @@</div><div class='ctx'>     &lt;entry lang="en" key="ASK_KEEP_DETECTING_SYSTEM_CRASH"&gt;Do you want VeraCrypt to continue detecting system crashes?&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="NO_MINIDUMP_FOUND"&gt;VeraCrypt found no system crash minidump file.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="ASK_DELETE_KERNEL_CRASH_DUMP"&gt;Do you want to delete the Windows crash dump file to free up disk space?&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="ASK_DEBUGGER_INSTALL"&gt;In order to analyze the system crash, VeraCrypt needs to install Microsoft Debugging Tools for Windows first.you click OK, the Windows installer will download the Microsoft Debugging Tools installation package (16 MiB) from a Microsoft server and install it (the Windows installer will be forwarded to the Microsoft server URL from the veracrypt.org server, which ensures that this feature works even if Microsoft changes the location of the installation package).&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYSTEM_CRASH_ANALYSIS_INFO"&gt;After you click OK, VeraCrypt will analyze the system crash. This may take up to several minutes.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="DEBUGGER_NOT_FOUND"&gt;Please make sure the environment variable 'PATH' includes the path to 'kd.exe' (Kernel Debugger).&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYSTEM_CRASH_NO_VERACRYPT"&gt;It appears that VeraCrypt most likely did not cause the system crash. There are many potential reasons why the system could have crashed (for example, a failing hardware component, a bug in a device driver, etc.)&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYSTEM_CRASH_UPDATE_DRIVER"&gt;Results of the analysis indicate that updating the following driver might solve this issue: &lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYSTEM_CRASH_REPORT"&gt;To help us determine whether there is a bug in VeraCrypt, you can send us an automatically generated error report containing the following items:- Program version- Operating system version- Type of CPU- Error category- Driver name and version- System call stackyou select 'Yes', the following URL (which contains the entire error report) will be opened in your default Internet browser.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="ASK_SEND_ERROR_REPORT"&gt;Do you want to send us the above error report?&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="ENCRYPT"&gt;&amp;amp;Encrypt&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="DECRYPT"&gt;&amp;amp;Decrypt&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="PERMANENTLY_DECRYPT"&gt;&amp;amp;Permanently Decrypt&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="EXIT"&gt;Exit&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="EXT_PARTITION"&gt;Please create a logical drive for this extended partition, and then try again.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="FILE_HELP"&gt;A VeraCrypt volume can reside in a file (called VeraCrypt container), which can reside on a hard disk, on a USB flash drive, etc. A VeraCrypt container is just like any normal file (it can be, for example, moved or 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, VeraCrypt will NOT encrypt it; the file will be deleted and replaced with the newly created VeraCrypt container. You will be able to encrypt existing files (later on) by moving them to the VeraCrypt container that you are about to create now.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="FILE_HELP_HIDDEN_HOST_VOL"&gt;Select the location of the outer volume to be created (within this volume the hidden volume will be created later on).VeraCrypt volume can reside in a file (called VeraCrypt container), which can reside on a hard disk, on a USB flash drive, etc. A VeraCrypt container can be moved or 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, VeraCrypt 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 VeraCrypt container you are about to create now.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="DEVICE_HELP"&gt;Encrypted device-hosted VeraCrypt 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.addition, encrypted device-hosted VeraCrypt 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 key) only if it is the drive where Windows is installed and from which it boots.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="DEVICE_HELP_NO_INPLACE"&gt;A device-hosted VeraCrypt volume can be created within a hard disk partition, solid-state drive, USB memory stick, and other storage devices.: Note that the partition/device will be formatted and all data currently stored on it will be lost.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="DEVICE_HELP_HIDDEN_HOST_VOL"&gt;the location of the outer volume to be created (within this volume the hidden volume will be created later on).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).: Note that the partition/device will be formatted and all data currently stored on it will be lost.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="FILE_HELP_HIDDEN_HOST_VOL_DIRECT"&gt;the location of the VeraCrypt volume within which you wish to create a hidden volume.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="FILE_IN_USE"&gt;WARNING: The host file/device is already in use!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.mounting?&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="FILE_IN_USE_FAILED"&gt;Error: Cannot mount volume. The host file/device is already in use. Attempt to mount without exclusive access failed as well.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="FILE_OPEN_FAILED"&gt;The file could not be opened.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="FILE_TITLE"&gt;Volume Location&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="FILESYS_PAGE_TITLE"&gt;Large Files&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="FILESYS_PAGE_HELP_QUESTION"&gt;Do you intend to store files larger than 4 GiB in this VeraCrypt volume?&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="FILESYS_PAGE_HELP_EXPLANATION"&gt;Depending on your choice above, VeraCrypt will choose a suitable default file system for the VeraCrypt volume (you will be able to select a file system in the next step).&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="FILESYS_PAGE_HELP_EXPLANATION_HIDVOL"&gt;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/exFAT (for example, the maximum possible size of the hidden volume will be significantly greater if the outer volume is formatted as FAT/exFAT). 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 GiB (which the FAT file system does not allow), then FAT is not the default.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="FILESYS_PAGE_HELP_EXPLANATION_HIDVOL_CONFIRM"&gt;Are you sure you want to choose 'Yes'?&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="DEVICE_TRANSFORM_MODE_PAGE_TITLE"&gt;Volume Creation Mode&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="DEVICE_TRANSFORM_MODE_PAGE_FORMAT_HELP"&gt;This is the fastest way to create a partition-hosted or device-hosted VeraCrypt 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.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="DEVICE_TRANSFORM_MODE_PAGE_INPLACE_HELP"&gt;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).&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="NOTE_BEGINNING"&gt;Note: &lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="RESUME"&gt;&amp;amp;Resume&lt;/entry&gt;</div><div class='del'>-    &lt;entry lang="en" key="DEFER"&gt;&amp;amp;Defer&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="DEFER"&gt;&amp;amp;Cancel&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="START"&gt;&amp;amp;Start&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="CONTINUE"&gt;&amp;amp;Continue&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="FORMAT"&gt;&amp;amp;Format&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="WIPE"&gt;&amp;amp;Wipe&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="FORMAT_ABORT"&gt;Abort format?&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SHOW_MORE_INFORMATION"&gt;Show more information&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="DO_NOT_SHOW_THIS_AGAIN"&gt;Do not show this again&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="WIPE_FINISHED"&gt;The content of the partition/device has been successfully erased.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="WIPE_FINISHED_DECOY_SYSTEM_PARTITION"&gt;The content of the partition where the original system (of which the hidden system is a clone) resided has been successfully erased.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="DECOY_OS_VERSION_WARNING"&gt;Please make sure the version of Windows you are going to install (on the wiped partition) is the same as the version of Windows you are currently running. This is required due to the fact that both systems will share a common boot partition.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYSTEM_ENCRYPTION_FINISHED"&gt;The system partition/drive has been successfully encrypted.: If there are non-system VeraCrypt volumes that you need to have mounted automatically every time Windows starts, you can set it up by mounting each of them and selecting 'Favorites' &gt; 'Add Mounted Volume to System Favorites').&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYSTEM_DECRYPTION_FINISHED"&gt;The system partition/drive has been successfully decrypted.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="FORMAT_FINISHED_HELP"&gt;VeraCrypt volume has been created and is ready for use. If you wish to create another VeraCrypt volume, click Next. Otherwise, click Exit.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYSENC_HIDDEN_VOL_FORMAT_FINISHED_HELP"&gt;hidden VeraCrypt volume has been successfully created (the hidden operating system will reside within this hidden volume).Next to continue.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="NONSYS_INPLACE_ENC_FINISHED_TITLE"&gt;Volume Fully Encrypted&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="NONSYS_INPLACE_DEC_FINISHED_TITLE"&gt;Volume Fully Decrypted&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="NONSYS_INPLACE_ENC_FINISHED_INFO"&gt;IMPORTANT: TO MOUNT THIS NEWLY CREATED VERACRYPT VOLUME AND TO ACCESS DATA STORED IN IT, CLICK 'Auto-Mount Devices' IN THE MAIN VERACRYPT 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 VeraCrypt window (and you will be able to access the encrypted data via the selected drive letter).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 VeraCrypt window, click 'Select Device', then select this partition/volume, and click 'Mount'.partition/volume has been successfully encrypted (it contains a fully encrypted VeraCrypt volume now) and is ready for use.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="NONSYS_INPLACE_DEC_FINISHED_INFO"&gt;The VeraCrypt volume has been successfully decrypted.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="NONSYS_INPLACE_DEC_FINISHED_DRIVE_LETTER_SEL_INFO"&gt;The VeraCrypt volume has been successfully decrypted.select a drive letter that you wish to assign to the decrypted volume and then click Finish.: Until a drive letter is assigned to the decrypted volume, you will not be able to access data stored on the volume.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="NONSYS_INPLACE_DEC_FINISHED_NO_DRIVE_LETTER_AVAILABLE"&gt;Warning: To be able to access the decrypted data, a drive letter needs to be assigned to the decrypted volume. However, no drive letter is currently available.vacate a drive letter (for example, by disconnecting a USB flash drive or external hard drive, etc.) and then click OK.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="FORMAT_FINISHED_INFO"&gt;The VeraCrypt volume has been successfully created.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="FORMAT_FINISHED_TITLE"&gt;Volume Created&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="FORMAT_HELP"&gt;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.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="FORMAT_HIDVOL_HOST_HELP"&gt;Click Format to create the outer volume. For more information, please refer to the documentation.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="FORMAT_HIDVOL_HOST_TITLE"&gt;Outer Volume Format&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="FORMAT_HIDVOL_TITLE"&gt;Hidden Volume Format&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="FORMAT_TITLE"&gt;Volume Format&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="HELP_READER_ERROR"&gt;Adobe Reader (or a compatible tool) is necessary to view or print the VeraCrypt User's Guide. Adobe Reader (freeware) can be downloaded at: www.adobe.comyou want to view the online documentation instead?&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="HIDDEN_VOL_WIZARD_MODE_NORMAL_HELP"&gt;If you select this option, the wizard will first help you create a normal VeraCrypt volume and then a hidden VeraCrypt volume within it. Inexperienced users should always select this option.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="HIDDEN_VOL_WIZARD_MODE_DIRECT_HELP"&gt;If you select this option, you will create a hidden volume within an existing VeraCrypt volume. It will be assumed that you have already created a VeraCrypt volume that is suitable to host the hidden volume.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="HIDDEN_VOL_WIZARD_MODE_TITLE"&gt;Volume Creation Mode&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="HIDVOL_FORMAT_FINISHED_TITLE"&gt;Hidden Volume Created&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="HIDVOL_FORMAT_FINISHED_HELP"&gt;The hidden VeraCrypt volume has been successfully created and is ready for use. If all the instructions have been followed and if the precautions and requirements listed in the section "Security Requirements and Precautions Pertaining to Hidden Volumes" in the VeraCrypt User's Guide are followed, it should be impossible to prove that the hidden volume exists, even when the outer volume is mounted.: 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 VERACRYPT USER'S GUIDE), DO NOT WRITE TO THE OUTER VOLUME. OTHERWISE, YOU MAY OVERWRITE AND DAMAGE THE HIDDEN VOLUME!&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="FIRST_HIDDEN_OS_BOOT_INFO"&gt;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.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).click Next to continue.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="HIDVOL_HOST_FILLING_HELP_SYSENC"&gt;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.: 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).&lt;/entry&gt;</div><div class='hunk'>@@ -1074,150 +1075,150 @@</div><div class='ctx'>     &lt;entry lang="en" key="FEATURE_REQUIRES_INSTALLATION"&gt;Error: This feature requires VeraCrypt to be installed on the system (you are running VeraCrypt in portable mode).install VeraCrypt and then try again.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="WINDOWS_NOT_ON_BOOT_DRIVE_ERROR"&gt;WARNING: Windows does not appear to be installed on the drive from which it boots. This is not supported.should continue only if you are sure that Windows is installed on the drive from which it boots.you want to continue?&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="TC_BOOT_LOADER_ALREADY_INSTALLED"&gt;CAUTION: The VeraCrypt Boot Loader is already installed on your system drive!is possible that another system on your computer is already encrypted.: PROCEEDING WITH ENCRYPTION OF THE CURRENTLY RUNNING SYSTEM MAY MAKE OTHER SYSTEM(S) IMPOSSIBLE TO START AND RELATED DATA INACCESSIBLE.you sure you want to continue?&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYS_LOADER_RESTORE_FAILED"&gt;Failed to restore the original system loader.use your VeraCrypt Rescue Disk ('Repair Options' &gt; 'Restore original system loader') or Windows installation medium to replace the VeraCrypt Boot Loader with the Windows system loader.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYS_LOADER_UNAVAILABLE_FOR_RESCUE_DISK"&gt;The original system loader will not be stored on the Rescue Disk (probable cause: missing backup file).&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="ERROR_MBR_PROTECTED"&gt;Failed to write the MBR sector.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.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="BOOT_LOADER_FINGERPRINT_CHECK_FAILED"&gt;WARNING: The verification of VeraCrypt bootloader fingerprint failed!disk may have been tampered with by an attacker ("Evil Maid" attack).warning can also be triggered if you restored VeraCrypt boot loader using an Rescue Disk generated using a different VeraCrypt version.are advised to change your password immediately which will also restore the correct VeraCrypt bootloader. It is recommended to reinstall VeraCrypt and to take measures to avoid access to this machine by untrusted entities.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="BOOT_LOADER_VERSION_INCORRECT_PREFERENCES"&gt;The required version of the VeraCrypt Boot Loader is currently not installed. This may prevent some of the settings from being saved.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="CUSTOM_BOOT_LOADER_MESSAGE_HELP"&gt;Note: In some situations, you may wish to prevent a person (adversary) that is watching you start the computer from knowing that you use VeraCrypt. The above options allow you to do that by customizing the VeraCrypt 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 VeraCrypt boot loader.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="CUSTOM_BOOT_LOADER_MESSAGE_PROMPT"&gt;WARNING: Please keep in mind that if you enable this option, the VeraCrypt 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).you sure you want to enable this option?&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYS_PARTITION_OR_DRIVE_APPEARS_FULLY_ENCRYPTED"&gt;Your system partition/drive appears to be fully encrypted.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYSENC_UNSUPPORTED_FOR_DYNAMIC_DISK"&gt;VeraCrypt does not support encrypting a system drive that has been converted to a dynamic disk.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="WDE_UNSUPPORTED_FOR_EXTENDED_PARTITIONS"&gt;The system drive contains extended (logical) partitions.can encrypt an entire system drive containing extended (logical) partitions only on Windows Vista and later versions of Windows. On Windows XP, you can encrypt an entire system drive provided that it contains only primary partitions.: You can still encrypt the system partition instead of the entire system drive (and, in addition to that, you can create partition-hosted VeraCrypt volumes within any non-system partitions on the drive).&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="WDE_EXTENDED_PARTITIONS_WARNING"&gt;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 (logical) partition on the drive would be inaccessible after you start encrypting (the drive currently does not contain any such partition).: 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 VeraCrypt volumes within any non-system partitions on the drive)., 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).&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYSDRIVE_NON_STANDARD_PARTITIONS"&gt;Your system drive contains a non-standard partition.you are using a notebook, your system drive probably contains a special recovery partition. After the whole system drive is encrypted (including any recovery partition), your system might become unbootable if your computer is using an inappropriately designed BIOS. It would also be impossible to use any recovery partition until the system drive is decrypted. Therefore, we recommend that you encrypt only the system partition.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="ASK_ENCRYPT_PARTITION_INSTEAD_OF_DRIVE"&gt;Do you want to encrypt the system partition instead of the entire drive?that you can create partition-hosted VeraCrypt volumes within any non-system partitions on the drive (in addition to encrypting the system partition).&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="WHOLE_SYC_DEVICE_RECOM"&gt;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.you want to encrypt the entire system drive?&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="TEMP_NOT_ON_SYS_PARTITION"&gt;Your system is configured to store temporary files on a non-system partition.files may be stored only on the system partition.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="USER_PROFILE_NOT_ON_SYS_PARTITION"&gt;Your user profile files are not stored on the system partition.profile files may be stored only on the system partition.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="PAGING_FILE_NOT_ON_SYS_PARTITION"&gt;There is/are paging file(s) on non-system partitions.files may be located only on the system partition.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="RESTRICT_PAGING_FILES_TO_SYS_PARTITION"&gt;Do you want to configure Windows to create paging files only on the Windows partition now?that if you click 'Yes', the computer will be restarted. Then start VeraCrypt and try creating the hidden OS again.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="LEAKS_OUTSIDE_SYSPART_UNIVERSAL_EXPLANATION"&gt; Otherwise, plausible deniability of the hidden operating system might be adversely affected.: 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 VeraCrypt during the process of creation of the hidden operating system.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="DECOY_OS_REINSTALL_WARNING"&gt;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).: 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).you sure you will be able to install Windows using a Windows Setup medium (or using a service partition)?&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="DECOY_OS_REQUIREMENTS"&gt;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 Requirements and Precautions Pertaining to Hidden Volumes" in the VeraCrypt User's Guide.: Before proceeding, please make sure you have read the section "Security Requirements and Precautions Pertaining to Hidden Volumes" in the VeraCrypt User's Guide.the currently running operating system meet the above condition?&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="CONFIRM_HIDDEN_OS_EXTRA_BOOT_PARTITION"&gt;Your system uses an extra boot partition. VeraCrypt does not support hibernation on hidden operating systems that use an extra boot partition (decoy systems can be hibernated without any problems).note that the boot partition would be shared by both the decoy and the hidden system. Therefore, in order to prevent data leaks and problems while resuming from hibernation, VeraCrypt has to prevent the hidden system from writing to the shared boot partition and from hibernating.you want to continue? If you select 'No', instructions for removing the extra boot partition will be displayed.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="EXTRA_BOOT_PARTITION_REMOVAL_INSTRUCTIONS"&gt;extra boot partition can be removed before installing Windows. To do so, follow these steps:) Boot your Windows installation disc.) In the Windows installer screen, click 'Install now' &gt; 'Custom (advanced)'.) Click 'Drive Options'.) Select the main system partition and delete it by clicking 'Delete' and 'OK'.) Select the 'System Reserved' partition, click 'Extend', and increase its size so that the operating system can be installed to it.) Click 'Apply' and 'OK'.) Install Windows on the 'System Reserved' partition.an attacker ask why you removed the extra boot partition, you can answer that you wanted to prevent any possible data leaks to the unencrypted boot partition.: You can print this text by clicking the 'Print' button below. If you save a copy of this text or print it (strongly recommended, unless your printer stores copies of documents it prints on its internal drive), you should destroy any copies of it after removing the extra boot partition (otherwise, if such a copy was found, it might indicate that there is a hidden operating system on this computer).&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="GAP_BETWEEN_SYS_AND_HIDDEN_OS_PARTITION"&gt;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).&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="ALGO_NOT_SUPPORTED_FOR_SYS_ENCRYPTION"&gt;This algorithm is currently not supported for system encryption.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="ALGO_NOT_SUPPORTED_FOR_TRUECRYPT_MODE"&gt;This algorithm is not supported for TrueCrypt mode.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="PIM_NOT_SUPPORTED_FOR_TRUECRYPT_MODE"&gt;PIM (Personal Iterations Multiplier) not supported for TrueCrypt mode.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="PIM_REQUIRE_LONG_PASSWORD"&gt;Password must contain 20 or more characters in order to use the specified PIM.passwords can only be used if the PIM is 485 or greater.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="BOOT_PIM_REQUIRE_LONG_PASSWORD"&gt;Pre-boot authentication Password must contain 20 or more characters in order to use the specified PIM.passwords can only be used if the PIM is 98 or greater.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="KEYFILES_NOT_SUPPORTED_FOR_SYS_ENCRYPTION"&gt;Keyfiles are currently not supported for system encryption.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="CANNOT_RESTORE_KEYBOARD_LAYOUT"&gt;Warning: VeraCrypt could not restore the original keyboard layout. This may cause you to enter a password incorrectly.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION"&gt;Error: Cannot set the keyboard layout for VeraCrypt to the standard US keyboard layout.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.&lt;/entry&gt;</div><div class='del'>-    &lt;entry lang="en" key="ALT_KEY_CHARS_NOT_FOR_SYS_ENCRYPTION"&gt;As VeraCrypt 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.&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="ALT_KEY_CHARS_NOT_FOR_SYS_ENCRYPTION"&gt;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.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="KEYB_LAYOUT_CHANGE_PREVENTED"&gt;VeraCrypt prevented change of keyboard layout.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="KEYB_LAYOUT_SYS_ENC_EXPLANATION"&gt;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. VeraCrypt 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.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="RESCUE_DISK_INFO"&gt;Before you can encrypt the partition/drive, you must create a VeraCrypt Rescue Disk (VRD), which serves the following purposes:- If the VeraCrypt Boot Loader, master key, or other critical data gets damaged, the VRD allows you to restore it (note, however, that you will still have to enter the correct password then).- If Windows gets damaged and cannot start, the VRD allows you to permanently decrypt the partition/drive before Windows starts.- The VRD 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.VeraCrypt Rescue Disk ISO image will be created in the location specified below.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="RESCUE_DISK_WIN_ISOBURN_PRELAUNCH_NOTE"&gt;After you click OK, Microsoft Windows Disc Image Burner will be launched. Please use it to burn the VeraCrypt Rescue Disk ISO image to a CD or DVD.you do so, return to the VeraCrypt Volume Creation Wizard and follow its instructions.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="RESCUE_DISK_BURN_INFO"&gt;The Rescue Disk image has been created and stored in this file:%syou need to burn it to a CD or DVD.%lsAfter you burn the Rescue Disk, click Next to verify that it has been correctly burned.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="RESCUE_DISK_BURN_INFO_NO_CHECK"&gt;The Rescue Disk image has been created and stored in this file:%syou should either burn the image to a CD/DVD or move it to a safe location for later use.%lsClick Next to continue.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="RESCUE_DISK_BURN_INFO_NONWIN_ISO_BURNER"&gt;IMPORTANT: 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.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="LAUNCH_WIN_ISOBURN"&gt;Launch Microsoft Windows Disc Image Burner&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="RESCUE_DISK_BURN_NO_CHECK_WARN"&gt;WARNING: If you already created a VeraCrypt 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 VeraCrypt Rescue Disk for it even if you use the same password.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="CANNOT_SAVE_SYS_ENCRYPTION_SETTINGS"&gt;Error: Cannot save system encryption settings.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="CANNOT_INITIATE_SYS_ENCRYPTION_PRETEST"&gt;Cannot initiate the system encryption pretest.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="CANNOT_INITIATE_HIDDEN_OS_CREATION"&gt;Cannot initiate the process of creation of the hidden operating system.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="WIPE_MODE_TITLE"&gt;Wipe Mode&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="INPLACE_ENC_WIPE_MODE_INFO"&gt;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 VeraCrypt 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 overwriting 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 to 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 being written to it is first encrypted on the fly in memory and only then is the (encrypted) data written to the disk.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="WIPE_MODE_INFO"&gt;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 overwriting 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.: The more wipe passes you use, the longer it takes to erase the data.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="DEVICE_WIPE_PAGE_TITLE"&gt;Wiping&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="DEVICE_WIPE_PAGE_INFO_HIDDEN_OS"&gt;: 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.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="DEVICE_WIPE_PAGE_INFO"&gt;: If you interrupt the process of wiping and then attempt to resume it, the entire process will have to start from the beginning.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="CONFIRM_WIPE_ABORT"&gt;Do you want to abort the process of wiping?&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="CONFIRM_WIPE_START"&gt;Warning: The entire content of the selected partition/device will be erased and lost.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="CONFIRM_WIPE_START_DECOY_SYS_PARTITION"&gt;The entire content of the partition where the original system resides will be erased.: The entire content of the partition that is to be erased has been copied to this hidden system partition.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="WIPE_MODE_WARN"&gt;WARNING: Note that when you choose e.g. the 3-pass wipe mode, the time necessary to encrypt the partition/drive will be up to 4 times longer. Likewise, if you choose the 35-pass wipe mode, it will be up to 36 times longer (it might even take several weeks)., please note that wiping will NOT be performed after the partition/drive is fully encrypted. When the partition/drive is fully encrypted, no unencrypted data is written to it. Any data being written to it is first encrypted on the fly in memory and only then is the (encrypted) data written to the disk (so the performance will NOT be affected).you sure you want to use the wipe mode?&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="WIPE_MODE_NONE"&gt;None (fastest)&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="WIPE_MODE_1_RAND"&gt;1-pass (random data)&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="WIPE_MODE_3_DOD_5220"&gt;3-pass (US DoD 5220.22-M)&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="WIPE_MODE_7_DOD_5220"&gt;7-pass (US DoD 5220.22-M)&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="WIPE_MODE_35_GUTMANN"&gt;35-pass ("Gutmann")&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="WIPE_MODE_256"&gt;256-pass&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYS_MULTI_BOOT_MODE_TITLE"&gt;Number of Operating Systems&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="MULTI_BOOT_FOR_ADVANCED_ONLY"&gt;WARNING: Inexperienced users should never attempt to encrypt Windows in multi-boot configurations.?&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="HIDDEN_OS_MULTI_BOOT"&gt;When creating/using a hidden operating system, VeraCrypt supports multi-boot configurations only when the following conditions are met:- The currently running operating system must be installed on the boot drive, which must not contain any other operating systems.- Operating systems installed on other drives must not use any boot loader residing on the drive on which the currently running operating system is installed.the above conditions met?&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="UNSUPPORTED_HIDDEN_OS_MULTI_BOOT_CFG"&gt;VeraCrypt does not support this multi-boot configuration when creating/using a hidden operating system.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYSENC_MULTI_BOOT_SYS_EQ_BOOT_TITLE"&gt;Boot Drive&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYSENC_MULTI_BOOT_SYS_EQ_BOOT_HELP"&gt;Is the currently running operating system installed on the boot drive?: Sometimes, Windows is not installed on the same drive as the Windows boot loader (boot partition). If that is the case, select 'No'.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYS_PARTITION_MUST_BE_ON_BOOT_DRIVE"&gt;VeraCrypt currently does not support encrypting an operating system that does not boot from the drive on which it is installed.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYSENC_MULTI_BOOT_NBR_SYS_DRIVES_TITLE"&gt;Number of System Drives&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYSENC_MULTI_BOOT_NBR_SYS_DRIVES_HELP"&gt;How many drives contain an operating system?: 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'.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="WDE_UNSUPPORTED_FOR_MULTIPLE_SYSTEMS_ON_ONE_DRIVE"&gt;VeraCrypt currently does not support encrypting a whole drive that contains multiple operating systems.Solutions:- 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).- 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.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYSENC_MULTI_BOOT_ADJACENT_SYS_TITLE"&gt;Multiple Systems on Single Drive&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYSENC_MULTI_BOOT_ADJACENT_SYS_HELP"&gt;Are there any other operating systems installed on the drive on which the currently running operating system is installed?: 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'.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYSENC_MULTI_BOOT_NONWIN_BOOT_LOADER_TITLE"&gt;Non-Windows Boot Loader&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYSENC_MULTI_BOOT_NONWIN_BOOT_LOADER_HELP"&gt;Is a non-Windows boot loader (or boot manager) installed in the master boot record (MBR)?: 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'.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYSENC_MULTI_BOOT_OUTCOME_TITLE"&gt;Multi-Boot&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="CUSTOM_BOOT_MANAGERS_IN_MBR_UNSUPPORTED"&gt;VeraCrypt currently does not support multi-boot configurations where a non-Windows boot loader is installed in the Master Boot Record.Solutions:- 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 VeraCrypt 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 VeraCrypt Boot Loader screen) and thus you will be able boot Linux.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="WINDOWS_BOOT_LOADER_HINTS"&gt;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).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 VeraCrypt Boot Manager menu).: Typically, the earliest installed Windows system is installed on the boot partition.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYSENC_PRE_DRIVE_ANALYSIS_TITLE"&gt;Encryption of Host Protected Area&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYSENC_PRE_DRIVE_ANALYSIS_HELP"&gt;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.: 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).you want VeraCrypt to detect and encrypt such a hidden area (if any) at the end of the system drive?&lt;/entry&gt;</div><div class='del'>-    &lt;entry lang="en" key="SYSENC_TYPE_PAGE_TITLE"&gt;Type of System Encryption&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="SYSENC_TYPE_PAGE_TITLE"&gt;Encrypt Windows Drive (%c:)&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYSENC_NORMAL_TYPE_HELP"&gt;Select this option if you merely want to encrypt the system partition or the entire system drive.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYSENC_HIDDEN_TYPE_HELP"&gt;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 should 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.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="HIDDEN_OS_PREINFO"&gt;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).this wizard, you can create a hidden operating system whose existence should 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.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYSENC_HIDDEN_OS_REQ_CHECK_PAGE_TITLE"&gt;Hidden Operating System&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYSENC_HIDDEN_OS_REQ_CHECK_PAGE_HELP"&gt;In the following steps, you will create two VeraCrypt volumes (outer and hidden) within the first partition behind the system partition. The hidden volume will contain the hidden operating system (OS). VeraCrypt 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)., 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.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYSENC_DRIVE_ANALYSIS_TITLE"&gt;Detecting Hidden Sectors&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYSENC_DRIVE_ANALYSIS_INFO"&gt;Please wait while VeraCrypt is detecting possible hidden sectors at the end of the system drive. Note that it may take a long time to complete.: In very rare cases, on some computers, the system may become unresponsive during this detection process. If it happens, restart the computer, start VeraCrypt, repeat the previous steps but skip this detection process. Note that this issue is not caused by a bug in VeraCrypt.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYS_ENCRYPTION_SPAN_TITLE"&gt;Area to Encrypt&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYS_ENCRYPTION_SPAN_WHOLE_SYS_DRIVE_HELP"&gt;Select this option if you want to encrypt the entire drive on which the currently running Windows system is installed. The whole drive, including all its partitions, will be encrypted except the first track where the VeraCrypt 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.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="COLLECTING_RANDOM_DATA_TITLE"&gt;Collecting Random Data&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="KEYS_GEN_TITLE"&gt;Keys Generated&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="CD_BURNER_NOT_PRESENT"&gt;VeraCrypt has found no CD/DVD burner connected to your computer. VeraCrypt needs a CD/DVD burner to burn a bootable VeraCrypt Rescue Disk containing a backup of the encryption keys, VeraCrypt boot loader, original system loader, etc.strongly recommend that you burn the VeraCrypt Rescue Disk.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="CD_BURNER_NOT_PRESENT_WILL_STORE_ISO"&gt;I have no CD/DVD burner but I will store the Rescue Disk ISO image on a removable drive (e.g. USB flash drive).&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="CD_BURNER_NOT_PRESENT_WILL_CONNECT_LATER"&gt;I will connect a CD/DVD burner to my computer later. Terminate the process now.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="CD_BURNER_NOT_PRESENT_CONNECTED_NOW"&gt;A CD/DVD burner is connected to my computer now. Continue and write the Rescue Disk.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="CD_BURNER_NOT_PRESENT_WILL_STORE_ISO_INFO"&gt;Please follow these steps:) Connect a removable drive, such as a USB flash drive, to your computer now.) Copy the VeraCrypt Rescue Disk image file (%s) to the removable drive.case you need to use the VeraCrypt Rescue Disk in the future, you will be able to connect your removable drive (containing the VeraCrypt Rescue Disk image) to a computer with a CD/DVD burner and create a bootable VeraCrypt Rescue Disk by burning the image to a CD or DVD. IMPORTANT: Note that the VeraCrypt Rescue Disk image file must be written to the CD/DVD as an ISO disk image (not as an individual file).&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="RESCUE_DISK_RECORDING_TITLE"&gt;Rescue Disk Recording&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="RESCUE_DISK_CREATED_TITLE"&gt;Rescue Disk Created&lt;/entry&gt;</div><div class='del'>-    &lt;entry lang="en" key="SYS_ENCRYPTION_PRETEST_TITLE"&gt;System Encryption Pretest&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="SYS_ENCRYPTION_PRETEST_TITLE"&gt;System Encryption Test&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="RESCUE_DISK_DISK_VERIFIED_TITLE"&gt;Rescue Disk Verified&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="RESCUE_DISK_VERIFIED_INFO"&gt;VeraCrypt Rescue Disk has been successfully verified. Please remove it from the drive now and store it in a safe place.Next to continue.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="REMOVE_RESCUE_DISK_FROM_DRIVE"&gt;WARNING: During the next steps, the VeraCrypt Rescue Disk must not be in the drive. Otherwise, it will not be possible to complete the steps correctly.remove it from the drive now and store it in a safe place. Then click OK.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="PREBOOT_NOT_LOCALIZED"&gt;Warning: Due to technical limitations of the pre-boot environment, texts displayed by VeraCrypt in the pre-boot environment (i.e. before Windows starts) cannot be localized. The VeraCrypt Boot Loader user interface is completely in English.?&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYS_ENCRYPTION_PRETEST_INFO"&gt;Before encrypting your system partition or drive, VeraCrypt needs to verify that everything works correctly.you click Test, all the necessary components (for example, the pre-boot authentication component, i.e. the VeraCrypt Boot Loader) will be installed and your computer will be restarted. Then you will have to enter your password in the VeraCrypt Boot Loader screen that will appear before Windows starts. After Windows starts, you will be automatically informed about the result of this pretest.following device will be modified: Drive #%dyou click Cancel now, nothing will be installed and the pretest will not be performed.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYS_ENCRYPTION_PRETEST_INFO2_PORTION_1"&gt;IMPORTANT NOTES -- PLEASE READ OR PRINT (click 'Print'):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 Windows. Therefore, please read (and, if possible, print) the following guidelines on what to do if Windows cannot start after you restart the computer.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYS_ENCRYPTION_PRETEST_INFO2_PORTION_2"&gt;What to Do If Windows Cannot Start------------------------------------------------: These instructions are valid only if you have not started encrypting.- If Windows does not start after you enter the correct password (or if you repeatedly enter the correct password but VeraCrypt says that the password is incorrect), do not panic. Restart (power off and on) the computer, and in the VeraCrypt Boot Loader screen, press the Esc key on your keyboard (and if you have multiple systems, choose which to start). Then Windows should start (provided that it is not encrypted) and VeraCrypt 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).&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYS_ENCRYPTION_PRETEST_INFO2_PORTION_3"&gt;- If the previous steps do not help or if the VeraCrypt Boot Loader screen does not appear (before Windows starts), insert the VeraCrypt Rescue Disk into your CD/DVD drive and restart your computer. If the VeraCrypt Rescue Disk screen does not appear (or if you do not see the 'Repair Options' item in the 'Keyboard Controls' section of the VeraCrypt 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 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 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 VeraCrypt Rescue Disk screen should appear now. In the VeraCrypt 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. Windows should start normally (provided that it is not encrypted).&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYS_ENCRYPTION_PRETEST_INFO2_PORTION_4"&gt;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).that even if you lose your VeraCrypt 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.&lt;/entry&gt;</div><div class='del'>-    &lt;entry lang="en" key="SYS_ENCRYPTION_PRETEST_RESULT_TITLE"&gt;Pretest Completed&lt;/entry&gt;</div><div class='del'>-    &lt;entry lang="en" key="SYS_ENCRYPTION_PRETEST_RESULT_INFO"&gt;The pretest has been successfully completed.: 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 VeraCrypt 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 VeraCrypt again anytime, and select 'System' &amp;gt; 'Resume Interrupted Process' to start encrypting).ready, click Encrypt to start encrypting.&lt;/entry&gt;</div><div class='del'>-    &lt;entry lang="en" key="SYSENC_ENCRYPTION_PAGE_INFO"&gt;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, VeraCrypt automatically waits until the data is written or read (see Status above) and then automatically continues encrypting or decrypting.&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="SYS_ENCRYPTION_PRETEST_RESULT_TITLE"&gt;Pretest Successfully Completed&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="SYS_ENCRYPTION_PRETEST_RESULT_INFO"&gt;If the encryption is interrupted you can resume it restarting VeraCrypt and selecting 'System' &gt; 'Resume Interrupted Process'make sure, that your device does not run out of power during the encryption process.&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="SYSENC_ENCRYPTION_PAGE_INFO"&gt;Make sure that your device does not run out of power.the encryption is interrupted you can resume it restarting VeraCrypt and selecting 'System' &gt; 'Resume Interrupted Process'.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="NONSYS_INPLACE_ENC_ENCRYPTION_PAGE_INFO"&gt;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.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="NONSYS_INPLACE_DEC_DECRYPTION_PAGE_INFO"&gt;can click Pause or Defer anytime to interrupt the process of decryption, exit this wizard, restart or shut down the computer, and then resume the process, which will continue from the point where it was stopped. Note that the volume cannot be mounted until it has been fully decrypted.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYSENC_HIDDEN_OS_INITIAL_INFO_TITLE"&gt;Hidden System Started&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYSENC_HIDDEN_OS_WIPE_INFO_TITLE"&gt;Original System&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYSENC_HIDDEN_OS_WIPE_INFO"&gt;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 VeraCrypt wizard in the hidden-system-creation mode (which might indicate the existence of a hidden operating system on your computer).prevent such issues, VeraCrypt 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 will be completed.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="OS_WIPING_NOT_FINISHED_ASK"&gt;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 VeraCrypt) 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 VeraCrypt 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 VeraCrypt wizard will be launched automatically.: 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 VeraCrypt Boot Loader will be removed).&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="HIDDEN_OS_CREATION_NOT_FINISHED_ASK"&gt;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 VeraCrypt Boot Loader screen (which appears before Windows starts), enter the password for the hidden operating system.: If you choose to terminate the process of creation of the hidden operating system now, you will NOT be able to resume the process.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="HIDDEN_OS_CREATION_NOT_FINISHED_CHOICE_RETRY"&gt;Restart the computer and proceed&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="HIDDEN_OS_CREATION_NOT_FINISHED_CHOICE_TERMINATE"&gt;Permanently terminate the process of creation of the hidden operating system&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="HIDDEN_OS_CREATION_NOT_FINISHED_CHOICE_ASK_LATER"&gt;Do nothing now and ask again later&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="RESCUE_DISK_HELP_PORTION_1"&gt;POSSIBLE, PLEASE PRINT THIS TEXT (click 'Print' below).and When to Use VeraCrypt Rescue Disk (After Encrypting)-----------------------------------------------------------------------------------&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="RESCUE_DISK_HELP_PORTION_2"&gt;I. How to Boot VeraCrypt Rescue Diskboot a VeraCrypt Rescue Disk, insert it into your CD/DVD drive and restart your computer. If the VeraCrypt 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 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 VeraCrypt Rescue Disk screen should appear now. Note: In the VeraCrypt Rescue Disk screen, you can select 'Repair Options' by pressing F8 on your keyboard.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="RESCUE_DISK_HELP_PORTION_3"&gt;II. When and How to Use VeraCrypt Rescue Disk (After Encrypting)&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="RESCUE_DISK_HELP_PORTION_4"&gt;1) If the VeraCrypt Boot Loader screen does not appear after you start your computer (or if Windows does not boot), the VeraCrypt Boot Loader may be damaged. The VeraCrypt 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' &gt; 'Restore VeraCrypt Boot Loader'. Then press 'Y' to confirm the action, remove the Rescue Disk from your CD/DVD drive and restart your computer.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="RESCUE_DISK_HELP_PORTION_5"&gt;2) If you repeatedly enter the correct password but VeraCrypt says that the password is incorrect, the master key or other critical data may be damaged. The VeraCrypt 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' &gt; '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.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="RESCUE_DISK_HELP_PORTION_6"&gt;3) If the VeraCrypt Boot Loader is damaged, you can avoid running it by booting directly from the VeraCrypt Rescue Disk. Insert your Rescue Disk into your CD/DVD drive and then enter your password in the Rescue Disk screen.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="RESCUE_DISK_HELP_PORTION_7"&gt;4) If Windows is damaged and cannot start, the VeraCrypt Rescue Disk allows you to permanently decrypt the partition/drive before Windows starts. In the Rescue Disk screen, select 'Repair Options' &gt; '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 installation.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="RESCUE_DISK_HELP_PORTION_8"&gt;Note: 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 VeraCrypt, click 'Select Device', select the affected system partition, click 'OK', select 'System' &gt; 'Mount Without Pre-Boot Authentication', enter your pre-boot authentication password and click 'OK'. The partition will be mounted as a regular VeraCrypt volume (data will be on-the-fly decrypted/encrypted in RAM on access, as usual).&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="RESCUE_DISK_HELP_PORTION_9"&gt;Note that even if you lose your VeraCrypt 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.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="DECOY_OS_INSTRUCTIONS_PORTION_1"&gt;M P O R T A N T -- PLEASE PRINT THIS TEXT IF POSSIBLE (click 'Print' below).: This text will be automatically displayed each time you start the hidden system until you start creating the decoy system.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="DECOY_OS_INSTRUCTIONS_PORTION_2"&gt;How to Create Decoy System Safely and Securely----------------------------------------------------------------------------order to achieve plausible deniability, you need to create the decoy operating system now. To do so, follow these steps:&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="DECOY_OS_INSTRUCTIONS_PORTION_3"&gt;1) For security reasons, shut down your computer and leave it powered off for at least several minutes (the longer, the better). This is required to clear the memory, which contains sensitive data. Then turn on the computer but do not boot the hidden system.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="DECOY_OS_INSTRUCTIONS_PORTION_4"&gt;2) 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).: WHEN YOU START INSTALLING THE DECOY SYSTEM, THE HIDDEN SYSTEM WILL *NOT* BE POSSIBLE TO BOOT (because the VeraCrypt 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 VeraCrypt will then automatically install the VeraCrypt Boot Loader on the system drive).: 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.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="DECOY_OS_INSTRUCTIONS_PORTION_5"&gt;3) Boot the decoy system (which you installed in step 2 and install VeraCrypt on it).in mind that the decoy system must never contain any sensitive data.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="DECOY_OS_INSTRUCTIONS_PORTION_6"&gt;4) On the decoy system, run VeraCrypt and select 'System' &amp;gt; 'Encrypt System Partition/Drive'. The VeraCrypt Volume Creation Wizard window should appear.following steps apply to the VeraCrypt Volume Creation Wizard.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="DECOY_OS_INSTRUCTIONS_PORTION_7"&gt;5) In the VeraCrypt Volume Creation Wizard, do NOT select the 'Hidden' option. Leave the 'Normal' option selected and click 'Next'.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="DECOY_OS_INSTRUCTIONS_PORTION_8"&gt;6) Select the option 'Encrypt the Windows system partition' and then click 'Next'.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="DECOY_OS_INSTRUCTIONS_PORTION_9"&gt;7) 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'.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="DECOY_OS_INSTRUCTIONS_PORTION_10"&gt;8) 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 algorithm, there is a special version of the VeraCrypt Boot Loader).&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="DECOY_OS_INSTRUCTIONS_PORTION_11"&gt;9) 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.: 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).&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="DECOY_OS_INSTRUCTIONS_PORTION_12"&gt;10) Follow the remaining instructions in the wizard so as to encrypt the decoy operating system.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="DECOY_OS_INSTRUCTIONS_PORTION_13"&gt;After Decoy System Is Created------------------------------------------------you encrypt the decoy system, the whole process of creation of the hidden operating system will be completed and you will be able to use these three passwords:) Pre-boot authentication password for the hidden operating system.) Pre-boot authentication password for the decoy operating system.) Password for the outer volume.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="DECOY_OS_INSTRUCTIONS_PORTION_14"&gt;If you want to start the hidden operating system, you will just need to enter the password for the hidden operating system in the VeraCrypt Boot Loader screen (which appears after you turn on or restart your computer).you want to start the decoy operating system, you will just need to enter the password for the decoy operating system in the VeraCrypt Boot Loader screen.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.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="DECOY_OS_INSTRUCTIONS_PORTION_15"&gt;The 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.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="DECOY_OS_INSTRUCTIONS_PORTION_16"&gt;If 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 VeraCrypt, 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."&lt;/entry&gt;</div><div class='hunk'>@@ -1275,71 +1276,71 @@</div><div class='ctx'>     &lt;entry lang="en" key="INVALID_TOKEN_KEYFILE_PATH"&gt;Security token keyfile path is invalid.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SECURITY_TOKEN_ERROR"&gt;Security token error&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="CKR_PIN_INCORRECT"&gt;Password for security token is incorrect.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="CKR_DEVICE_MEMORY"&gt;The security token does not have enough memory/space to perform the requested operation.you are attempting to import a keyfile, you should select a smaller file or use a keyfile generated by VeraCrypt (select 'Tools' &gt; 'Keyfile Generator').&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="ALL_TOKEN_SESSIONS_CLOSED"&gt;All open security token sessions have been closed.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SELECT_TOKEN_KEYFILES"&gt;Select Security Token Keyfiles&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="TOKEN_SLOT_ID"&gt;Slot&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="TOKEN_NAME"&gt;Token name&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="TOKEN_DATA_OBJECT_LABEL"&gt;File name&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="BOOT_PASSWORD_CACHE_KEYBOARD_WARNING"&gt;IMPORTANT: 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 any other keyboard layout may be impossible to mount using a pre-boot authentication password (note that this is not a bug in VeraCrypt). To allow such a volume to be mounted using a pre-boot authentication password, follow these steps:) Click 'Select File' or 'Select Device' and select the volume.) Select 'Volumes' &gt; 'Change Volume Password'.) Enter the current password for the volume.) Change the keyboard layout to English (US) by clicking the Language bar icon in the Windows taskbar and selecting 'EN  English (United States)'.) In VeraCrypt, in the field for the new password, type the pre-boot authentication password.) Confirm the new password by retyping it in the confirmation field and click 'OK'.: Please keep in mind that if you follow these steps, the volume password will always have to be typed using the US keyboard layout (which is automatically ensured only in the pre-boot environment).&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYS_FAVORITES_KEYBOARD_WARNING"&gt;System favorite volumes will be mounted using the pre-boot authentication password. If any system favorite volume uses a different password, it will not be mounted.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYS_FAVORITES_ADMIN_ONLY_INFO"&gt;Please note that if you need to prevent normal VeraCrypt volume actions (such as 'Dismount All', auto-dismount, etc.) from affecting system favorite volumes, you should enable the option 'Allow only administrators to view and dismount system favorite volumes in VeraCrypt'. In addition, when VeraCrypt is run without administrator privileges (the default on Windows Vista and later), system favorite volumes will not be displayed in the drive letter list in the main VeraCrypt application window.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYS_FAVORITES_ADMIN_ONLY_WARNING"&gt;IMPORTANT: Please keep in mind that if this option is enabled and VeraCrypt does not have administrator privileges, mounted system favorite volumes are NOT displayed in the VeraCrypt application window and they cannot be dismounted. Therefore, if you need e.g. to dismount a system favorite volume, please right-click the VeraCrypt icon (in the Start menu) and select 'Run as administrator' first. The same limitation applies to the 'Dismount All' function, 'Auto-Dismount' functions, 'Dismount All' hot keys, etc.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SETTING_REQUIRES_REBOOT"&gt;Note that this setting takes effect only after the operating system is restarted.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="COMMAND_LINE_ERROR"&gt;Error while parsing command line.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="RESCUE_DISK"&gt;Rescue Disk&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SELECT_FILE_AND_MOUNT"&gt;Select &amp;amp;File and Mount...&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SELECT_DEVICE_AND_MOUNT"&gt;Select &amp;amp;Device and Mount...&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="DISABLE_NONADMIN_SYS_FAVORITES_ACCESS"&gt;Allow only administrators to view and dismount system favorite volumes in VeraCrypt&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="MOUNT_SYSTEM_FAVORITES_ON_BOOT"&gt;Mount system favorite volumes when Windows starts (in the initial phase of the startup procedure)&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="MOUNTED_VOLUME_DIRTY"&gt;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.: Before you physically remove or switch off a device (such as a USB flash drive or an external hard drive) where a mounted VeraCrypt volume resides, you should always dismount the VeraCrypt volume in VeraCrypt first.you want Windows to attempt to detect and fix errors (if any) on the filesystem?&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYS_FAVORITE_VOLUME_DIRTY"&gt;Warning: One or more system favorite volumes were not cleanly dismounted and thus may contain filesystem errors. Please see the system event log for further details.a corrupted filesystem can cause data loss or data corruption. You should check the affected system favorite volume(s) for errors (right-click each of them in VeraCrypt and select 'Repair Filesystem').&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="FILESYS_REPAIR_CONFIRM_BACKUP"&gt;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 VeraCrypt volume to another, healthy, VeraCrypt volume.you want to repair the filesystem now?&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="MOUNTED_CONTAINER_FORCED_READ_ONLY"&gt;Volume '%s' has been mounted as read-only because write access was denied.make sure the security permissions of the file container allow you to write to it (right-click the container and select Properties &gt; Security).that, due to a Windows issue, you may see this warning even after setting the appropriate security permissions. This is not caused by a bug in VeraCrypt. A possible solution is to move your container to, e.g., your 'Documents' folder.you intend to keep your volume read-only, set the read-only attribute of the container (right-click the container and select Properties &gt; Read-only), which will suppress this warning.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="MOUNTED_DEVICE_FORCED_READ_ONLY"&gt;Volume '%s' had to be mounted as read-only because write access was denied.make sure no other application (e.g. antivirus software) is accessing the partition/device on which the volume is hosted.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="MOUNTED_DEVICE_FORCED_READ_ONLY_WRITE_PROTECTION"&gt;Volume '%s' has been mounted as read-only because the operating system reported the host device to be write-protected.note that some custom chipset drivers have been reported to cause writable media to falsely appear write-protected. This problem is not caused by VeraCrypt. It may be solved by updating or uninstalling any custom (non-Microsoft) chipset drivers that are currently installed on this system.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="LIMIT_ENC_THREAD_POOL_NOTE"&gt;Note that the Hyper-Threading technology provides multiple logical cores per a single physical core. When Hyper Threading is enabled, the number selected above represents the number of logical processors/cores.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="NUMBER_OF_THREADS"&gt;%d threads&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="DISABLED_HW_AES_AFFECTS_PERFORMANCE"&gt;Note that hardware-accelerated AES is disabled, which will affect benchmark results (worse performance).enable hardware acceleration, select 'Settings' &gt; 'Performance' and enable the corresponding option.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="LIMITED_THREAD_COUNT_AFFECTS_PERFORMANCE"&gt;Note that the number of threads is currently limited, which will affect benchmark results (worse performance).utilize the full potential of the processor(s), select 'Settings' &gt; 'Performance' and disable the corresponding option.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="ASK_REMOVE_DEVICE_WRITE_PROTECTION"&gt;Do you want VeraCrypt to attempt to disable write protection of the partition/drive?&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="CONFIRM_SETTING_DEGRADES_PERFORMANCE"&gt;WARNING: This setting may degrade performance.you sure you want to use this setting?&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="HOST_DEVICE_REMOVAL_DISMOUNT_WARN_TITLE"&gt;Warning: VeraCrypt volume auto-dismounted&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="HOST_DEVICE_REMOVAL_DISMOUNT_WARN"&gt;Before you physically remove or turn off a device containing a mounted volume, you should always dismount the volume in VeraCrypt first.spontaneous dismount is usually caused by an intermittently failing cable, drive (enclosure), etc.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="UNSUPPORTED_TRUECRYPT_FORMAT"&gt;This volume was created with TrueCrypt %x.%x but VeraCrypt supports only TrueCrypt volumes created with TrueCrypt 6.x/7.x series&lt;/entry&gt;</div><div class='del'>-    &lt;entry lang="en" key="TEST"&gt;Test&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="TEST"&gt;Start pretest&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="KEYFILE"&gt;Keyfile&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VKEY_08"&gt;Backspace&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VKEY_09"&gt;Tab&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VKEY_0C"&gt;Clear&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VKEY_0D"&gt;Enter&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VKEY_13"&gt;Pause&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VKEY_14"&gt;Caps Lock&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VKEY_20"&gt;Spacebar&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VKEY_21"&gt;Page Up&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VKEY_22"&gt;Page Down&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VKEY_23"&gt;End&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VKEY_24"&gt;Home&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VKEY_25"&gt;Left Arrow&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VKEY_26"&gt;Up Arrow&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VKEY_27"&gt;Right Arrow&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VKEY_28"&gt;Down Arrow&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VKEY_29"&gt;Select Key&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VKEY_2A"&gt;Print Key&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VKEY_2B"&gt;Execute Key&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VKEY_2C"&gt;Print Screen&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VKEY_2D"&gt;Insert&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VKEY_2E"&gt;Delete&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VKEY_5D"&gt;Applications Key&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VKEY_5F"&gt;Sleep&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VKEY_90"&gt;Num Lock&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VKEY_91"&gt;Scroll Lock&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VKEY_A6"&gt;Browser Back&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VKEY_A7"&gt;Browser Forward&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VKEY_A8"&gt;Browser Refresh&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VKEY_A9"&gt;Browser Stop&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VKEY_AA"&gt;Browser Search&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VKEY_AB"&gt;Browser Favorites&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VKEY_AC"&gt;Browser Home&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VKEY_AD"&gt;Mute&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VKEY_AE"&gt;Volume Down&lt;/entry&gt;</div><div class='hunk'>@@ -1368,96 +1369,96 @@</div><div class='ctx'>     &lt;entry lang="en" key="GB"&gt;GiB&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="TB"&gt;TiB&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="PB"&gt;PiB&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="B_PER_SEC"&gt;B/s&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="KB_PER_SEC"&gt;KiB/s&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="MB_PER_SEC"&gt;MiB/s&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="GB_PER_SEC"&gt;GiB/s&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="TB_PER_SEC"&gt;TiB/s&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="PB_PER_SEC"&gt;PiB/s&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="TRIPLE_DOT_GLYPH_ELLIPSIS"&gt;â€¦&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_BOOT_LOADER_CACHE_PIM"&gt;Include &amp;amp;PIM when caching pre-boot authentication password&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_PREF_CACHE_PIM"&gt;Include PIM when caching a password&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_SHOW_DISCONNECTED_NETWORK_DRIVES"&gt;Make disconnected network drives available for mounting&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="PASSWORD_UTF8_TOO_LONG"&gt;The entered password is too long: its UTF-8 representation exceeds %d bytes.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="PASSWORD_UTF8_INVALID"&gt;The entered password contains Unicode characters that couldn't be converted to UTF-8 representation.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="INIT_DLL"&gt;Error: Failed to load a system library.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="ERR_EXFAT_INVALID_VOLUME_SIZE"&gt;The volume file size specified in the command line is incompatible with selected exFAT filesystem.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDT_ENTROPY_BAR"&gt;Randomness Collected From Mouse Movements&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDT_VOLUME_ID"&gt;Volume ID:&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VOLUME_ID"&gt;Volume ID&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_FAVORITE_USE_VOLUME_ID"&gt;Use Volume ID to mount favorite&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VOLUME_ID_INVALID"&gt;The Volume ID value is invalid&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VOLUME_ID_NOT_FOUND"&gt;No Volume with the specified ID was found on the system&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDPM_COPY_VALUE_TO_CLIPBOARD"&gt;Copy Value to Clipboard...&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_DISABLE_BOOT_LOADER_PIM_PROMPT"&gt;Do not request PIM in the pre-boot authentication screen (PIM value is stored unencrypted on disk)&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="DISABLE_BOOT_LOADER_PIM_PROMPT"&gt;WARNING: Please keep in mind that if you enable this option, the PIM value will be stored unencrypted on the disk.you sure you want to enable this option?&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="PIM_TOO_BIG"&gt;Personal Iterations Multiplier (PIM) maximum value is 2147468.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_SKIP_RESCUE_VERIFICATION"&gt;Skip Rescue Disk verification&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_HIDE_WAITING_DIALOG"&gt;Don't show wait message dialog when performing operations&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_DISABLE_BOOT_LOADER_HASH_PROMPT"&gt;Do not request Hash algorithm in the pre-boot authentication screen&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="KUZNYECHIK_HELP"&gt;Kuznyechik is a block cipher first published in 2015 and defined in the National Standard of the Russian Federation GOST R 34.12-2015 and also in RFC 7801. 256-bit key, 128-bit block. Mode of operation is XTS.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="CAMELLIA_HELP"&gt;Jointly developed by Mitsubishi Electric and NTT of Japan. First published on 2000. 256-bit key, 128-bit block. Mode of operation is XTS. It has been approved for use by the ISO/IEC, the European Union's NESSIE project and the Japanese CRYPTREC project.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="TIME"&gt;Time&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="ITERATIONS"&gt;Iterations&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="PRE-BOOT"&gt;Pre-Boot&lt;/entry&gt;</div><div class='del'>-    &lt;entry lang="en" key="RESCUE_DISK_EFI_INFO"&gt;Before you can encrypt the partition, you must create a VeraCrypt Rescue Disk (VRD), which serves the following purposes:- If the VeraCrypt Boot Loader, master key, or other critical data gets damaged, the VRD allows you to restore it (note, however, that you will still have to enter the correct password then).- If Windows gets damaged and cannot start, the VRD allows you to permanently decrypt the partition before Windows starts.- The VRD will contain a backup of the present EFI boot loader and will allow you to restore it if necessary.VeraCrypt Rescue Disk ZIP image will be created in the location specified below.&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="RESCUE_DISK_EFI_INFO"&gt;Windows gets damaged and cannot start, the VeraCrypt Rescue Disk allows you to permanently decrypt the partition. Note, however, that you will still have to enter the correct password then!: If you have already created a VeraCrypt Rescue Disk in the past, it cannot be reused for this encryption! Every time you use this encryption tool, you must create and securely store a new VeraCrypt Rescue Disk for it even if you use the same password.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="RESCUE_DISK_EFI_EXTRACT_INFO"&gt;The Rescue Disk ZIP image has been created and stored in this file:%syou need to extract it to a USB stick that is formatted as FAT/FAT32.%lsAfter you create the Rescue Disk, click Next to verify that it has been correctly created.&lt;/entry&gt;</div><div class='del'>-    &lt;entry lang="en" key="RESCUE_DISK_EFI_EXTRACT_INFO_NO_CHECK"&gt;The Rescue Disk ZIP image has been created and stored in this file:%syou should either extract the image to a USB stick that is formatted as FAT/FAT32 or move it to a safe location for later use.%lsClick Next to continue.&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="RESCUE_DISK_EFI_EXTRACT_INFO_NO_CHECK"&gt;The Rescue Disk ZIP image has been created and stored in this file:%syou should either extract the image to a USB stick that is formatted as FAT/FAT32 or move it to a safe location for later use.%lsClick Next to continue.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="RESCUE_DISK_EFI_EXTRACT_INFO_NOTE"&gt;IMPORTANT: Note that the zip file must be extracted directly to the root of the USB stick. For example, if the drive letter of the USB stick is E: then extracting the zip file should create a folder E:\EFI on the USB stick.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="RESCUE_DISK_EFI_CHECK_FAILED"&gt;Cannot verify that the Rescue Disk has been correctly extracted.you have extracted the Rescue Disk, please eject and reinsert the USB stick; then click Next to try again. If this does not help, please try another USB stick and/or another ZIP software.you have not extracted the Rescue Disk yet, please do so, and then click Next.you attempted to verify a VeraCrypt 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 extract the newly generated Rescue Disk ZIP image.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="RESCUE_DISK_EFI_NON_WIZARD_CHECK_FAILED"&gt;Cannot verify that the Rescue Disk has been correctly extracted.you have extracted the Rescue Disk image to a USB stick, please eject it and reinsert it; then try again. If this does not help, please try other ZIP software and/or medium.you attempted to verify a VeraCrypt 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' &gt; 'Create Rescue Disk'.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="RESCUE_DISK_EFI_NON_WIZARD_CREATION"&gt;The Rescue Disk image has been created and stored in this file:%syou need to extract the Rescue Disk image to a USB stick that is formatted as FAT/FAT32.: Note that the zip file must be extracted directly to the root of the USB stick. For example, if the drive letter of the USB stick is E: then extracting the zip file should create a folder E:\EFI on the USB stick.you create the Rescue Disk, select 'System' &gt; 'Verify Rescue Disk' to verify that it has been correctly created.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_SECURE_DESKTOP_PASSWORD_ENTRY"&gt;Use Secure Desktop for password entry&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="ERR_REFS_INVALID_VOLUME_SIZE"&gt;The volume file size specified in the command line is incompatible with selected ReFS filesystem.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_EDIT_DCSPROP"&gt;Edit Boot Loader Configuration&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_SHOW_PLATFORMINFO"&gt;Display EFI Platform Information&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="BOOT_LOADER_CONFIGURATION_FILE"&gt;Boot Loader Configuration File&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="EFI_PLATFORM_INFORMATION"&gt;EFI Platform Information&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="EDIT_DCSPROP_FOR_ADVANCED_ONLY"&gt;WARNING: Inexperienced users should never attempt to manually edit boot loader configurations.?&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="DCSPROP_XML_VALIDATION_FAILED"&gt;WARNING: Failed to validate the XML format of the Boot Loader configuration. Please check your modifications.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDT_ADVANCED_OPTIONS"&gt;Advanced Options&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="AFTER_UPGRADE_RESCUE_DISK"&gt;It is strongly recommended that you create a new VeraCrypt Rescue Disk (which will contain the new version of the VeraCrypt Boot Loader) by selecting 'System' &gt; 'Create Rescue Disk'.you want to do it now?&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_ALLOW_TRIM_NONSYS_SSD"&gt;Allow TRIM command for non-system SSD partition/drive&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_BLOCK_SYSENC_TRIM"&gt;Block TRIM command on system partition/drive&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="WINDOWS_EFI_BOOT_LOADER_MISSING"&gt;ERROR: Windows EFI system loader could not be located on the disk. Operation will be aborted.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYSENC_EFI_UNSUPPORTED_SECUREBOOT"&gt;It is currently not possible to encrypt a system if SecureBoot is enabled and if VeraCrypt custom keys are not loaded into the machine firmware. SecureBoot needs to be disabled in the BIOS configuration in order to allow system encryption to proceed.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="PASSWORD_PASTED_TRUNCATED"&gt;Pasted text truncated because the password maximum length is %d characters&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="PASSWORD_MAXLENGTH_REACHED"&gt;Password already reached its maximum length of %d characters.additional character is allowed.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_SELECT_LANGUAGE_LABEL"&gt;Select the language to use during the installation:&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VOLUME_TOO_LARGE_FOR_HOST"&gt;ERROR: The size of the file container is larger than the available free space on disk.&lt;/entry&gt;</div><div class='del'>-    &lt;entry lang="en" key="IDC_ALLOW_WINDOWS_DEFRAG"&gt;Allow Windows Disk Defragmenter to defragment non-system partition/drive&lt;/entry&gt;    </div><div class='add'>+    &lt;entry lang="en" key="IDC_ALLOW_WINDOWS_DEFRAG"&gt;Allow Windows Disk Defragmenter to defragment non-system partition/drive&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="CONFIRM_ALLOW_WINDOWS_DEFRAG"&gt;WARNING: Defragmenting non-system partitions/drives may leak metadata about their content or cause issues with hidden volumes they may contain.?&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VIRTUAL_DEVICE"&gt;Virtual Device&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="MOUNTED_VOLUME_NOT_ASSOCIATED"&gt;The selected mounted volume is not associated with its drive letter in Windows and so it can not be opened in Windows Explorer.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_CLEAR_KEYS_ON_NEW_DEVICE_INSERTION"&gt;Clear encryption keys from memory if a new device is inserted&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="CLEAR_KEYS_ON_DEVICE_INSERTION_WARNING"&gt;IMPORTANT NOTES:- Please keep in mind that this option will not persist after a shutdown/reboot so you will need to select it again next time the machine is started.- With this option enabled and after a new device is connected, the machine will freeze and it will eventually crash with a BSOD since Windows can not access the encrypted disk after its keys are cleared from memory.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="STARTING"&gt;Starting&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_ENABLE_CPU_RNG"&gt;Use CPU hardware random generator as an additional source of entropy&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_USE_LEGACY_MAX_PASSWORD_LENGTH"&gt;Use legacy maximum password length (64 characters)&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_ENABLE_RAM_ENCRYPTION"&gt;Activate encryption of keys and passwords stored in RAM&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDT_BENCHMARK"&gt;Benchmark:&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_DISABLE_MOUNT_MANAGER"&gt;Only create virtual device without mounting on selected drive letter&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="LEGACY_PASSWORD_UTF8_TOO_LONG"&gt;The entered password is too long: its UTF-8 representation exceeds 64 bytes.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="HIDDEN_CREDS_SAME_AS_OUTER"&gt;The Hidden volume can't have the same password, PIM and keyfiles as the Outer volume&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYSENC_BITLOCKER_CONFLICT"&gt;VeraCrypt does not support encrypting a system drive that is already encrypted by BitLocker.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_UPDATE_BOOTLOADER_ON_SHUTDOWN"&gt;Automatically fix boot configuration issues that may prevent Windows from starting&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_FORCE_NEXT_BOOT_VERACRYPT"&gt;Force machine to boot on VeraCrypt in the next startup&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_FORCE_VERACRYPT_BOOT_ENTRY"&gt;Force the presence of VeraCrypt entry in the EFI firmware boot menu&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_FORCE_VERACRYPT_FIRST_BOOT_ENTRY"&gt;Force VeraCrypt entry to be the first in the EFI firmware boot menu&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="RAM_ENCRYPTION_DISABLE_HIBERNATE"&gt;WARNING: RAM encryption is not compatible with Windows Hibernate and Windows Fast Startup features. VeraCrypt needs to disable them before activating RAM encryption.?&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="CONFIRM_DISABLE_FAST_STARTUP"&gt;WARNING: Windows Fast Startup is enabled and it is known to cause issues when working with VeraCrypt volumes. It is advised to disable it for better security and usability.you want to disable Windows Fast Startup?&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="QUICK_FORMAT_HELP"&gt;In order to enable your operating system to mount your new volume, it has to be formatted with a filesystem. Please select a filesystem type.your volume is going to be hosted on a device or partition, you can use 'Quick format' to skip encryption of free space of the volume.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_ENABLE_HARDWARE_ENCRYPTION_NEG"&gt;Do not accelerate AES encryption/decryption by using the AES instructions of the processor&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDM_ADD_ALL_VOLUME_TO_FAVORITES"&gt;Add All Mounted Volumes to Favorites...&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="TASKICON_PREF_MENU_ITEMS"&gt;Task Icon Menu Items&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="TASKICON_PREF_OPEN_VOL"&gt;Open Mounted Volumes&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="TASKICON_PREF_DISMOUNT_VOL"&gt;Dismount Mounted Volumes&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="DISK_FREE"&gt;Free space available: 0&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VOLUME_SIZE_HELP"&gt;Please specify the size of the container to create. Note that the minimum possible size of a volume is 292 KiB.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="LINUX_CONFIRM_INNER_VOLUME_CALC"&gt;WARNING: You have selected a filesystem other than FAT for the outer volume.Note that in this case VeraCrypt can't calculate the exact maximum allowed size for the hidden volume and it will use only an estimation that can be wrong., it is your responsibility to use an adequate value for the size of the hidden volume so that it does not overlap the outer volume.you want to continue using the selected filesystem for the outer volume?&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="LINUX_PREF_TAB_SECURITY"&gt;Security&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="LINUX_PREF_TAB_MOUNT_OPTIONS"&gt;Mount Options&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="LINUX_PREF_TAB_BACKGROUND_TASK"&gt;Background Task&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="LINUX_PREF_TAB_SYSTEM_INTEGRATION"&gt;System Integration&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="LINUX_PREF_TAB_SYSTEM_INTEGRATION_EXPLORER"&gt;Filesystem Explorer&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="LINUX_PREF_TAB_PERFORMANCE"&gt;Performance&lt;/entry&gt;</div><div class='hunk'>@@ -1536,70 +1537,117 @@</div><div class='ctx'>     &lt;entry lang="en" key="LINUX_EX2MSG_MOUNTPOINTREQUIRED"&gt;Mount point required.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="LINUX_EX2MSG_MOUNTPOINTUNAVAILABLE"&gt;Mount point is already in use.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="LINUX_EX2MSG_PASSWORDEMPTY"&gt;No password or keyfile specified.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="LINUX_EX2MSG_PASSWORDORKEYBOARDLAYOUTINCORRECT"&gt;that pre-boot authentication passwords need to be typed in the pre-boot environment where non-US keyboard layouts are not available. Therefore, pre-boot authentication passwords must always be typed using the standard US keyboard layout (otherwise, the password will be typed incorrectly in most cases). However, note that you do NOT need a real US keyboard; you just need to change the keyboard layout in your operating system.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="LINUX_EX2MSG_PASSWORDORMOUNTOPTIONSINCORRECT"&gt;: 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 'Options &gt;' &gt; 'Mount partition using system encryption'.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="LINUX_EX2MSG_PASSWORDTOOLONG"&gt;Password is longer than 0 characters.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="LINUX_EX2MSG_PARTITIONDEVICEREQUIRED"&gt;Partition device required.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="LINUX_EX2MSG_PROTECTIONPASSWORDINCORRECT"&gt;Incorrect password to the protected hidden volume or the hidden volume does not exist.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="LINUX_EX2MSG_PROTECTIONPASSWORDKEYFILESINCORRECT"&gt;Incorrect keyfile(s) and/or password to the protected hidden volume or the hidden volume does not exist.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="LINUX_EX2MSG_STRINGCONVERSIONFAILED"&gt;Invalid characters encountered.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="LINUX_EX2MSG_STRINGFORMATTEREXCEPTION"&gt;Error while parsing formatted string.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="LINUX_EX2MSG_TEMPORARYDIRECTORYFAILURE"&gt;Failed to create a file or directory in a temporary directory.make sure that the temporary directory exists, its security permissions allow you to access it, and there is sufficient disk space.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="LINUX_EX2MSG_UNSUPPORTEDSECTORSIZEHIDDENVOLUMEPROTECTION"&gt;Error: The drive uses a sector size other than 512 bytes.to limitations of components available on your platform, outer volumes hosted on the drive cannot be mounted using hidden volume protection.solutions:- Use a drive with 512-byte sectors.- Create a file-hosted volume (container) on the drive.- Backup the contents of the hidden volume and then update the outer volume.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="LINUX_EX2MSG_UNSUPPORTEDSECTORSIZENOKERNELCRYPTO"&gt;Error: The drive uses a sector size other than 512 bytes.to limitations of components available on your platform, partition/device-hosted volumes on the drive can only be mounted using kernel cryptographic services.solutions:- Enable use of the kernel cryptographic services (Preferences &gt; System Integration).- Use a drive with 512-byte sectors.- Create a file-hosted volume (container) on the drive.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="LINUX_EX2MSG_UNSUPPORTEDSECTORSIZE"&gt;Error: The drive uses a sector size other than 512 bytes.to limitations of components available on your platform, partition/device-hosted volumes cannot be created/used on the drive.solutions:- Create a file-hosted volume (container) on the drive.- Use a drive with 512-byte sectors.- Use VeraCrypt on another platform.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="LINUX_EX2MSG_VOLUMEHOSTINUSE"&gt;The host file/device is already in use.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="LINUX_EX2MSG_VOLUMESLOTUNAVAILABLE"&gt;Volume slot unavailable.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="LINUX_EX2MSG_HIGHERFUSEVERSIONREQUIRED"&gt;VeraCrypt requires OSXFUSE 2.5 or above.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="EXCEPTION_OCCURRED"&gt;Exception occurred&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="ENTER_PASSWORD"&gt;Enter password&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="ENTER_TC_VOL_PASSWORD"&gt;Enter VeraCrypt Volume Password&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="MOUNT"&gt;Mount&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="MOUNT_POINT"&gt;Mount Directory&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="NO_VOLUMES_MOUNTED"&gt;No volumes mounted.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="OPEN_NEW_VOLUME"&gt;Specify a New VeraCrypt Volume&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="PARAMETER_INCORRECT"&gt;Parameter incorrect&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SELECT_KEYFILES"&gt;Select Keyfiles&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="START_TC"&gt;Start VeraCrypt&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VOLUME_ALREADY_MOUNTED"&gt;The volume 0 is already mounted.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="UNKNOWN_OPTION"&gt;Unknown option&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VOLUME_LOCATION"&gt;Volume Location&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="VOLUME_HOST_IN_USE"&gt;WARNING: The host file/device 0 is already in use!this can cause undesired results including system instability. All applications that might be using the host file/device should be closed before mounting the volume.mounting?&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="CANT_INSTALL_WITH_EXE_OVER_MSI"&gt;VeraCrypt was previously installed using an MSI package and so it can't be updated using the standard installer.use the MSI package to update your VeraCrypt installation.&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="IDC_USE_ALL_FREE_SPACE"&gt;Use all available free space&lt;/entry&gt;</div><div class='ctx'>     &lt;entry lang="en" key="SYS_ENCRYPTION_UPGRADE_UNSUPPORTED_ALGORITHM"&gt;VeraCrypt cannot be upgraded because the system partition/drive was encrypted using an algorithm that is not supported anymore.decrypt your system before upgrading VeraCrypt and then encrypt it again.&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="RESCUE_DISK_BACK_BUTTON"&gt;The Rescue Disk was already created depending on the selected options. In order to prevent incompatibility, you have to click 'cancel' and restart the system encryption process, if you want to modify any configuration.&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="AES_BOX_HELP"&gt;AES is secure according to NIST&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="BACKUP_RESCUE_DISK_TITLE"&gt;Backup Rescue Disk&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="RESCUE_DISK_CHECKLIST_A"&gt;Store your password in a safe location. You can not recover your data without your password.is why VeraCrypt is considered to be secure.&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="RESCUE_DISK_CHECKLIST_B"&gt;Make sure that the rescue file is stored on an external medium. This could be a flash drive, an external hard drive or even a cloud storage.rescue file is located here:&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="RESCUE_DISK_CHECKLIST_C"&gt;Before you start encrypting your system, it is always a good idea to backup your personal data on an external drive for the unlikely case that the encryption process fails.&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="RESCUE_DISK_INFO_2"&gt;The VeraCrypt Rescue Disk ZIP image will be created by clicking the Next button in location specified below.&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="REMEMBER_PASSWORD"&gt; I remember my Password&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="STORE_RESCUE_DISK"&gt; I stored my rescue file&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="BACKUP_DATA"&gt; I considered doing a backup of my personal Data&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="CHECKLIST_TITLE"&gt;Checklist - Before clicking 'Next'&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="SYS_ENCRYPTION_PRETEST_INFO"&gt;Some tests have to be done now to verify that everything works correctly.this test, your computer has to be restarted. Then you will have to enter your password in the VeraCrypt Boot Loader screen that will appear before Windows starts. After Windows starts, VeraCrypt is started automatically and you will be informed about the result of this pretest.following device will be modified: Drive %c:&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="SYSENC_DECRYPTION_PAGE_INFO"&gt;Make sure that your device does not run out of power.the decryption is interrupted you can resume it restarting VeraCrypt and selecting 'System' &gt; 'Resume Interrupted Process'.&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="ADVANCED_FEATURES"&gt;Advanced features&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="VERY_WEAK_PASSWORD"&gt;very weak&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="WEAK_PASSWORD"&gt;weak&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="MEDIUM_PASSWORD"&gt;medium&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="STRONG_PASSWORD"&gt;strong&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="VERY_STRONG_PASSWORD"&gt;very strong&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="IDT_PASSWORD_STRENGTH"&gt;Password strength:&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="PASSWORD_HELP_SYSENC"&gt;You might consider to write the password down somewhere safe. Please note, that the field to repeat your password is greyed out until your password has the minimum required strength.&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="AES_HELP_NEW"&gt;AES is secure accoring to the National Institute of Standards and Technology (NIST) and the privacy and security research community.&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="SHA512_HELP"&gt;SHA-512 is secure accoring to the National Institute of Standards and Technology (NIST) and the privacy and security research community.&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="CHOOSE_PASSWORD_TITLE"&gt;Choose Password&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="TRANSLATED_PWD_NOT_WRITTEN"&gt;Warning: Error occured while writing translated password! Please try again. If this error happens again, change keyboard layout to US keyboard layout manually.&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="ERROR_TRANSLATE_PWD"&gt;Warning: Error occured while translating password!type password again and try. If this error happens again, switch keyboard layout to US keyboard layout manually.&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="ERROR_KEYB_LAYOUT_NOT_LOADED"&gt;Your system does not support the standard US-Keyboard layout. Please make sure the layout is available. For further help, please visit: https://support.microsoft.com/en-us/windows/manage-the-input-and-display-language-settings-in-windows-10-12a10cb4-8626-9b77-0ccb-5013e0c7c7a2 &lt;/entry&gt;  </div><div class='add'>+    &lt;entry lang="en" key="ERROR_PASTE_ACTION"&gt;Pasting text is disabled. Please type your password.&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="WARNING_PASSWORD_NOT_IDENTICAL"&gt;Passwords are not identical! Please type identic passwords in both fields!&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="SYSENC_INFO"&gt;This assistant will help you encrypt your drive (%c:)&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="SYSENC_INFO_2"&gt;A windows password can easily be circumvented by bad actors with physical access to your device. Drive encryption helps to secure your data from beeing accessed by bad actors. VeraCrypt Drive Encryption will keep them out by protecting your data with an additional password. &lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="ADV_FEATURES_INTRO_TOOLTIP"&gt;Activate hidden OS here.&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="ADV_FEATURES_NOTE"&gt;Most experts agree that the following preselected options are secure. Only change them if you know what you are doing. &lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="PIM_INFO"&gt;A Personal Iterations Multiplier (PIM) allows you to set the number of password hash iterations. This provides more flexibility for adjusting the desired security level while also controling the performance of the mount/boot operation.&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="WIPE_INFO"&gt;Overrides your data before the encryption. This prevents possible data recovery. Wipe is not needed under normal circumstances.&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="PRETEST_INFO"&gt;Before encrypting VeraCrypt will verify that everything is working correctly.will run some tests, restart your computer and you have to enter you password before windows starts.&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="PRETEST_CANCEL"&gt;If you click cancel now, no changes will be made your system.&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="ERROR_GETTING_PATH"&gt;Error occured while getting path to executable file.&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="ERROR_GETTING_PWD"&gt;Error occured while getting the password. Please try again.&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="ERROR_GETTING_KEYB_STATE"&gt;Error occured while getting the keyboard state.&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="ERR_NO_TRANSLATION"&gt;There is no translation for that key you just pressed!&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="DEAD_KEY_SUPPORT"&gt;Dead keys will not reproduce dead char in this case because your password need to be translated to US keyboard layout so you can type your password in pre-boot environment.&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="PRETEST_CHECKBOX"&gt; I made sure that my device will not run out of power during the encryption process.&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="OPEN_PATH_CHECKLIST_PAGE"&gt;Open path&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="RESCUE_DISK_PATH"&gt;Rescue Disk Path&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="PRETEST_BACK_BUTTON"&gt;If you want to cancel the encryption wizard, please click on cancel. In this case no changes will be made to your computer.&lt;/entry&gt;</div><div class='add'>+    &lt;entry lang="en" key="WIPE_WARNING"&gt;Wiping can take a long time (Up to hours). Wiping is not recommended if you have an SSD Drive.&lt;/entry&gt;</div><div class='ctx'>   &lt;/localization&gt;</div><div class='ctx'>   &lt;xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"&gt;</div><div class='ctx'>     &lt;xs:element name="VeraCrypt"&gt;</div><div class='ctx'>       &lt;xs:complexType&gt;</div><div class='ctx'>         &lt;xs:sequence&gt;</div><div class='ctx'>           &lt;xs:element name="localization"&gt;</div><div class='ctx'>             &lt;xs:complexType&gt;</div><div class='ctx'>               &lt;xs:sequence&gt;</div><div class='ctx'>                 &lt;xs:element name="language"&gt;</div><div class='ctx'>                   &lt;xs:complexType&gt;</div><div class='ctx'>                     &lt;xs:attribute name="langid" type="xs:string" use="required" /&gt;</div><div class='ctx'>                     &lt;xs:attribute name="name" type="xs:string" use="required" /&gt;</div><div class='ctx'>                     &lt;xs:attribute name="en-name" type="xs:string" use="required" /&gt;</div><div class='ctx'>                     &lt;xs:attribute name="version" type="xs:string" use="required" /&gt;</div><div class='ctx'>                     &lt;xs:attribute name="translators" type="xs:string" use="required" /&gt;</div><div class='ctx'>                   &lt;/xs:complexType&gt;</div><div class='ctx'>                 &lt;/xs:element&gt;</div><div class='ctx'>                 &lt;xs:element minOccurs="4" maxOccurs="4" name="font"&gt;</div><div class='ctx'>                   &lt;xs:complexType&gt;</div><div class='ctx'>                     &lt;xs:attribute name="lang" type="xs:string" use="required" /&gt;</div><div class='ctx'>                     &lt;xs:attribute name="class" type="xs:string" use="required" /&gt;</div><div class='ctx'>                     &lt;xs:attribute name="size" type="xs:unsignedByte" use="required" /&gt;</div><div class='ctx'>                     &lt;xs:attribute name="face" type="xs:string" use="required" /&gt;</div><div class='ctx'>                   &lt;/xs:complexType&gt;</div><div class='ctx'>                 &lt;/xs:element&gt;</div><div class='ctx'>                 &lt;xs:element maxOccurs="unbounded" name="entry"&gt;</div><div class='ctx'>                   &lt;xs:complexType&gt;</div><div class='ctx'>                     &lt;xs:simpleContent&gt;</div><div class='ctx'>                       &lt;xs:extension base="xs:string"&gt;</div><div class='ctx'>                         &lt;xs:attribute name="lang" type="xs:string" use="required" /&gt;</div><div class='ctx'>                         &lt;xs:attribute name="key" type="xs:string" use="required" /&gt;</div><div class='ctx'>                       &lt;/xs:extension&gt;</div><div class='ctx'>                     &lt;/xs:simpleContent&gt;</div><div class='ctx'>                   &lt;/xs:complexType&gt;</div><div class='ctx'>                 &lt;/xs:element&gt;</div><div class='head'>diff --git a/src/Common/Password.c b/src/Common/Password.c<br/>index 4caf3a21..3c9faa82 100644<br/>--- a/<a href='/code/VeraCrypt/tree/src/Common/Password.c?id=99c3cda01a4bb4d1f08b93753ff3b79bcbc3e63e'>src/Common/Password.c</a><br/>+++ b/<a href='/code/VeraCrypt/tree/src/Common/Password.c?id=c0ff7a7c521b1d658316d9a177383ab0c403007a'>src/Common/Password.c</a></div><div class='hunk'>@@ -7,83 +7,89 @@</div><div class='ctx'>  and which is governed by the 'License Agreement for Encryption for the Masses'</div><div class='ctx'>  Modifications and additions to the original source code (contained in this file)</div><div class='ctx'>  and all other portions of this file are Copyright (c) 2013-2017 IDRIX</div><div class='ctx'>  and are governed by the Apache License 2.0 the full text of which is</div><div class='ctx'>  contained in the file License.txt included in VeraCrypt binary and source</div><div class='ctx'>  code distribution packages. */</div><div class='ctx'> </div><div class='ctx'> #include "Tcdefs.h"</div><div class='ctx'> </div><div class='ctx'> #include "Crypto.h"</div><div class='ctx'> #include "Volumes.h"</div><div class='ctx'> #include "Password.h"</div><div class='ctx'> #include "Dlgcode.h"</div><div class='ctx'> #include "Language.h"</div><div class='ctx'> #include "Pkcs5.h"</div><div class='ctx'> #include "Endian.h"</div><div class='ctx'> #include "Random.h"</div><div class='ctx'> </div><div class='ctx'> #include &lt;io.h&gt;</div><div class='ctx'> #include &lt;strsafe.h&gt;</div><div class='ctx'> </div><div class='ctx'> #ifndef SRC_POS</div><div class='ctx'> #define SRC_POS (__FUNCTION__ ":" TC_TO_STRING(__LINE__))</div><div class='ctx'> #endif</div><div class='ctx'> </div><div class='ctx'> void VerifyPasswordAndUpdate (HWND hwndDlg, HWND hButton, HWND hPassword,</div><div class='ctx'> 			 HWND hVerify, unsigned char *szPassword,</div><div class='ctx'> 			 char *szVerify,</div><div class='ctx'> 			 BOOL keyFilesEnabled)</div><div class='ctx'> </div><div class='ctx'> 	wchar_t szTmp1[MAX_PASSWORD + 1];</div><div class='ctx'> 	wchar_t szTmp2[MAX_PASSWORD + 1];</div><div class='ctx'> 	char szTmp1Utf8[MAX_PASSWORD + 1];</div><div class='ctx'> 	char szTmp2Utf8[MAX_PASSWORD + 1];</div><div class='ctx'> 	int k = GetWindowTextLength (hPassword);</div><div class='add'>+	int j = GetWindowTextLength (hVerify);</div><div class='ctx'> 	BOOL bEnable = FALSE;</div><div class='ctx'> 	int utf8Len1, utf8Len2;</div><div class='ctx'> </div><div class='ctx'> 	UNREFERENCED_PARAMETER (hwndDlg);		/* Remove warning */</div><div class='ctx'> </div><div class='ctx'> 	GetWindowText (hPassword, szTmp1, ARRAYSIZE (szTmp1));</div><div class='ctx'> 	GetWindowText (hVerify, szTmp2, ARRAYSIZE (szTmp2));</div><div class='ctx'> </div><div class='ctx'> 	utf8Len1 = WideCharToMultiByte (CP_UTF8, 0, szTmp1, -1, szTmp1Utf8, MAX_PASSWORD + 1, NULL, NULL);</div><div class='ctx'> 	utf8Len2 = WideCharToMultiByte (CP_UTF8, 0, szTmp2, -1, szTmp2Utf8, MAX_PASSWORD + 1, NULL, NULL);</div><div class='ctx'> </div><div class='ctx'> 	if (wcscmp (szTmp1, szTmp2) != 0)</div><div class='add'>+	</div><div class='ctx'> 		bEnable = FALSE;</div><div class='add'>+		if(k &gt; 0 &amp;&amp; j == k)</div><div class='add'>+			Warning ("WARNING_PASSWORD_NOT_IDENTICAL", hwndDlg);</div><div class='add'>+</div><div class='add'>+	</div><div class='ctx'> 	else if (utf8Len1 &lt;= 0)</div><div class='ctx'> 		bEnable = FALSE;</div><div class='ctx'> 	else</div><div class='ctx'> 	</div><div class='ctx'> 		if (k &gt;= MIN_PASSWORD || keyFilesEnabled)</div><div class='ctx'> 			bEnable = TRUE;</div><div class='ctx'> 		else</div><div class='ctx'> 			bEnable = FALSE;</div><div class='ctx'> 	</div><div class='ctx'> </div><div class='ctx'> 	if (szPassword != NULL)</div><div class='ctx'> 	</div><div class='ctx'> 		if (utf8Len1 &gt; 0)</div><div class='ctx'> 			memcpy (szPassword, szTmp1Utf8, sizeof (szTmp1Utf8));</div><div class='ctx'> 		else</div><div class='ctx'> 			szPassword [0] = 0;</div><div class='ctx'> 	</div><div class='ctx'> </div><div class='ctx'> 	if (szVerify != NULL)</div><div class='ctx'> 	</div><div class='ctx'> 		if (utf8Len2 &gt; 0)</div><div class='ctx'> 			memcpy (szVerify, szTmp2Utf8, sizeof (szTmp2Utf8));</div><div class='ctx'> 		else</div><div class='ctx'> 			szVerify [0] = 0;</div><div class='ctx'> 	</div><div class='ctx'> </div><div class='ctx'> 	burn (szTmp1, sizeof (szTmp1));</div><div class='ctx'> 	burn (szTmp2, sizeof (szTmp2));</div><div class='ctx'> 	burn (szTmp1Utf8, sizeof (szTmp1Utf8));</div><div class='ctx'> 	burn (szTmp2Utf8, sizeof (szTmp2Utf8));</div><div class='ctx'> </div><div class='ctx'> 	EnableWindow (hButton, bEnable);</div><div class='ctx'> </div><div class='ctx'> </div><div class='ctx'> </div><div class='hunk'>@@ -113,75 +119,70 @@ BOOL CheckPasswordCharEncoding (HWND hPassword, Password *ptrPw)</div><div class='ctx'> 		wchar_t s[MAX_PASSWORD + 1];</div><div class='ctx'> 		len = GetWindowTextLength (hPassword);</div><div class='ctx'> </div><div class='ctx'> 		if (len &gt; (bUseLegacyMaxPasswordLength? MAX_LEGACY_PASSWORD: MAX_PASSWORD))</div><div class='ctx'> 			return FALSE;</div><div class='ctx'> </div><div class='ctx'> 		GetWindowTextW (hPassword, s, sizeof (s) / sizeof (wchar_t));</div><div class='ctx'> </div><div class='ctx'> 		for (i = 0; i &lt; len; i++)</div><div class='ctx'> 		</div><div class='ctx'> 			if (s[i] &gt;= 0x7f || s[i] &lt; 0x20)	// A non-ASCII or non-printable character?</div><div class='ctx'> 				break;</div><div class='ctx'> 		</div><div class='ctx'> </div><div class='ctx'> 		burn (s, sizeof(s));</div><div class='ctx'> </div><div class='ctx'> 		if (i &lt; len)</div><div class='ctx'> 			return FALSE;</div><div class='ctx'> 	</div><div class='ctx'> </div><div class='ctx'> 	return TRUE;</div><div class='ctx'> </div><div class='ctx'> </div><div class='ctx'> </div><div class='ctx'> BOOL CheckPasswordLength (HWND hwndDlg, unsigned __int32 passwordLength, int pim, BOOL bForBoot, int bootPRF, BOOL bSkipPasswordWarning, BOOL bSkipPimWarning)</div><div class='ctx'> </div><div class='ctx'> 	BOOL bootPimCondition = (bForBoot &amp;&amp; (bootPRF != SHA512 &amp;&amp; bootPRF != WHIRLPOOL))? TRUE : FALSE;</div><div class='ctx'> 	BOOL bCustomPimSmall = ((pim != 0) &amp;&amp; (pim &lt; (bootPimCondition? 98 : 485)))? TRUE : FALSE;</div><div class='ctx'> 	if (passwordLength &lt; PASSWORD_LEN_WARNING)</div><div class='ctx'> 	</div><div class='ctx'> 		if (bCustomPimSmall)</div><div class='ctx'> 		</div><div class='ctx'> 			Error (bootPimCondition? "BOOT_PIM_REQUIRE_LONG_PASSWORD": "PIM_REQUIRE_LONG_PASSWORD", hwndDlg);</div><div class='ctx'> 			return FALSE;</div><div class='ctx'> 		</div><div class='del'>-</div><div class='del'>-#ifndef _DEBUG</div><div class='del'>-		if (!bSkipPasswordWarning &amp;&amp; (MessageBoxW (hwndDlg, GetString ("PASSWORD_LENGTH_WARNING"), lpszTitle, MB_YESNO|MB_ICONWARNING|MB_DEFBUTTON2) != IDYES))</div><div class='del'>-			return FALSE;</div><div class='del'>-#endif</div><div class='ctx'> 	</div><div class='ctx'> #ifndef _DEBUG</div><div class='ctx'> 	else if (bCustomPimSmall)</div><div class='ctx'> 	</div><div class='ctx'> 		if (!bSkipPimWarning &amp;&amp; AskWarnNoYes ("PIM_SMALL_WARNING", hwndDlg) != IDYES)</div><div class='ctx'> 			return FALSE;</div><div class='ctx'> 	</div><div class='ctx'> #endif</div><div class='ctx'> </div><div class='ctx'> 	if ((pim != 0) &amp;&amp; (pim &gt; (bootPimCondition? 98 : 485)))</div><div class='ctx'> 	</div><div class='ctx'> 		// warn that mount/boot will take more time</div><div class='ctx'> 		Warning ("PIM_LARGE_WARNING", hwndDlg);</div><div class='ctx'> </div><div class='ctx'> 	</div><div class='ctx'> 	return TRUE;</div><div class='ctx'> </div><div class='ctx'> </div><div class='ctx'> int ChangePwd (const wchar_t *lpszVolume, Password *oldPassword, int old_pkcs5, int old_pim, BOOL truecryptMode, Password *newPassword, int pkcs5, int pim, int wipePassCount, HWND hwndDlg)</div><div class='ctx'> </div><div class='ctx'> 	int nDosLinkCreated = 1, nStatus = ERR_OS_ERROR;</div><div class='ctx'> 	wchar_t szDiskFile[TC_MAX_PATH], szCFDevice[TC_MAX_PATH];</div><div class='ctx'> 	wchar_t szDosDevice[TC_MAX_PATH];</div><div class='ctx'> 	char buffer[TC_VOLUME_HEADER_EFFECTIVE_SIZE];</div><div class='ctx'> 	PCRYPTO_INFO cryptoInfo = NULL, ci = NULL;</div><div class='ctx'> 	void *dev = INVALID_HANDLE_VALUE;</div><div class='ctx'> 	DWORD dwError;</div><div class='ctx'> 	DWORD bytesRead;</div><div class='ctx'> 	BOOL bDevice;</div><div class='ctx'> 	unsigned __int64 hostSize = 0;</div><div class='ctx'> 	int volumeType;</div><div class='ctx'> 	int wipePass;</div><div class='ctx'> 	FILETIME ftCreationTime;</div><div class='ctx'> 	FILETIME ftLastWriteTime;</div><div class='ctx'> 	FILETIME ftLastAccessTime;</div><div class='hunk'>@@ -531,36 +532,35 @@ int ChangePwd (const wchar_t *lpszVolume, Password *oldPassword, int old_pkcs5,</div><div class='ctx'> 	nStatus = 0;</div><div class='ctx'> </div><div class='ctx'> error:</div><div class='ctx'> 	dwError = GetLastError ();</div><div class='ctx'> </div><div class='ctx'> 	burn (buffer, sizeof (buffer));</div><div class='ctx'> </div><div class='ctx'> 	if (cryptoInfo != NULL)</div><div class='ctx'> 		crypto_close (cryptoInfo);</div><div class='ctx'> </div><div class='ctx'> 	if (bTimeStampValid)</div><div class='ctx'> 		SetFileTime (dev, &amp;ftCreationTime, &amp;ftLastAccessTime, &amp;ftLastWriteTime);</div><div class='ctx'> </div><div class='ctx'> 	if (dev != INVALID_HANDLE_VALUE)</div><div class='ctx'> 		CloseHandle ((HANDLE) dev);</div><div class='ctx'> </div><div class='ctx'> 	if (nDosLinkCreated == 0)</div><div class='ctx'> 		RemoveFakeDosName (szDiskFile, szDosDevice);</div><div class='ctx'> </div><div class='ctx'> 	RandStop (FALSE);</div><div class='ctx'> 	NormalCursor ();</div><div class='ctx'> </div><div class='ctx'> 	SetLastError (dwError);</div><div class='ctx'> </div><div class='ctx'> 	if (nStatus == ERR_OS_ERROR &amp;&amp; dwError == ERROR_ACCESS_DENIED</div><div class='ctx'> 		&amp;&amp; bDevice</div><div class='ctx'> 		&amp;&amp; !UacElevated</div><div class='ctx'> 		&amp;&amp; IsUacSupported ())</div><div class='ctx'> 		return nStatus;</div><div class='ctx'> </div><div class='ctx'> 	if (nStatus != 0)</div><div class='ctx'> 		handleError (hwndDlg, nStatus, SRC_POS);</div><div class='ctx'> </div><div class='ctx'> 	return nStatus;</div><div class='ctx'> </div><div class='del'>-</div><div class='head'>diff --git a/src/Format/Format.rc b/src/Format/Format.rc<br/>index d4a9a5f5..8a14f413 100644<br/>--- a/<a href='/code/VeraCrypt/tree/src/Format/Format.rc?id=99c3cda01a4bb4d1f08b93753ff3b79bcbc3e63e'>src/Format/Format.rc</a><br/>+++ b/<a href='/code/VeraCrypt/tree/src/Format/Format.rc?id=c0ff7a7c521b1d658316d9a177383ab0c403007a'>src/Format/Format.rc</a></div><div class='hunk'>@@ -53,108 +53,114 @@ BEGIN</div><div class='ctx'>             VALUE "ProductVersion", "1.26"</div><div class='ctx'>         END</div><div class='ctx'>     END</div><div class='ctx'>     BLOCK "VarFileInfo"</div><div class='ctx'>     BEGIN</div><div class='ctx'>         VALUE "Translation", 0x409, 1200</div><div class='ctx'>     END</div><div class='ctx'> END</div><div class='ctx'> </div><div class='ctx'> </div><div class='ctx'> /////////////////////////////////////////////////////////////////////////////</div><div class='ctx'> //</div><div class='ctx'> // HEADER</div><div class='ctx'> //</div><div class='ctx'> </div><div class='ctx'> IDR_FORMAT_RSRC_HEADER  HEADER                  "resource.h"</div><div class='ctx'> </div><div class='ctx'> /////////////////////////////////////////////////////////////////////////////</div><div class='ctx'> //</div><div class='ctx'> // TYPELIB</div><div class='ctx'> //</div><div class='ctx'> </div><div class='ctx'> IDR_FORMAT_TLB          TYPELIB                 "Format.tlb"</div><div class='ctx'> </div><div class='ctx'> /////////////////////////////////////////////////////////////////////////////</div><div class='ctx'> //</div><div class='ctx'> // Dialog</div><div class='ctx'> //</div><div class='ctx'> </div><div class='ctx'> IDD_VOL_CREATION_WIZARD_DLG DIALOGEX 0, 0, 450, 250</div><div class='ctx'> STYLE DS_SETFONT | DS_SETFOREGROUND | DS_FIXEDSYS | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU</div><div class='ctx'> CAPTION "VeraCrypt Volume Creation Wizard"</div><div class='ctx'> CLASS "VeraCryptCustomDlg"</div><div class='ctx'> FONT 8, "MS Shell Dlg", 0, 0, 0x0</div><div class='ctx'> BEGIN</div><div class='del'>-    PUSHBUTTON      "&amp;Help",IDHELP,166,234,60,14</div><div class='del'>-    PUSHBUTTON      "",IDC_PREV,238,234,60,14</div><div class='del'>-    DEFPUSHBUTTON   "",IDC_NEXT,310,234,60,14</div><div class='add'>+    PUSHBUTTON      "&amp;Documentation",IDHELP,166,234,60,14</div><div class='add'>+    PUSHBUTTON      "",IDC_PREV,243,234,60,14</div><div class='add'>+    DEFPUSHBUTTON   "",IDC_NEXT,305,234,60,14</div><div class='ctx'>     PUSHBUTTON      "Cancel",IDCANCEL,382,234,60,14</div><div class='del'>-    LTEXT           "",IDC_BOX_TITLE,160,8,283,17</div><div class='del'>-    GROUPBOX        "",IDC_STATIC,4,0,439,230</div><div class='del'>-    CONTROL         116,IDC_BITMAP_WIZARD,"Static",SS_BITMAP | SS_SUNKEN,10,9,137,193</div><div class='add'>+    LTEXT           "",IDC_BOX_TITLE,160,10,283,17</div><div class='add'>+    GROUPBOX        "",IDC_STATIC,4,0,440,230</div><div class='add'>+    CONTROL         116,IDC_BITMAP_WIZARD,"Static",SS_BITMAP | SS_SUNKEN,10,18,137,200</div><div class='ctx'>     LTEXT           "",IDC_POS_BOX,160,24,281,193</div><div class='ctx'> END</div><div class='ctx'> </div><div class='ctx'> IDD_CIPHER_PAGE_DLG DIALOGEX 0, 0, 276, 193</div><div class='ctx'> STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD</div><div class='ctx'> FONT 8, "MS Shell Dlg", 0, 0, 0x0</div><div class='ctx'> BEGIN</div><div class='ctx'>     COMBOBOX        IDC_COMBO_BOX,7,23,172,126,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP</div><div class='ctx'>     PUSHBUTTON      "&amp;Test",IDC_CIPHER_TEST,191,22,81,14</div><div class='ctx'>     PUSHBUTTON      "&amp;Benchmark",IDC_BENCHMARK,191,122,81,14</div><div class='ctx'>     COMBOBOX        IDC_COMBO_BOX_HASH_ALGO,7,169,95,126,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP</div><div class='ctx'>     LTEXT           "",IDC_BOX_HELP,7,40,266,78</div><div class='ctx'>     GROUPBOX        "Encryption Algorithm",IDT_ENCRYPTION_ALGO,0,10,273,131</div><div class='ctx'>     GROUPBOX        "Hash Algorithm",IDT_HASH_ALGO,0,156,273,35</div><div class='ctx'>     LTEXT           "More information",IDC_LINK_MORE_INFO_ABOUT_CIPHER,7,124,176,10,SS_NOTIFY</div><div class='ctx'>     LTEXT           "Information on hash algorithms",IDC_LINK_HASH_INFO,121,171,148,8,SS_NOTIFY</div><div class='ctx'> END</div><div class='ctx'> </div><div class='ctx'> IDD_PASSWORD_PAGE_DLG DIALOGEX 0, 0, 276, 193</div><div class='ctx'> STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD</div><div class='ctx'> FONT 8, "MS Shell Dlg", 0, 0, 0x0</div><div class='ctx'> BEGIN</div><div class='del'>-    EDITTEXT        IDC_PASSWORD,71,3,202,14,ES_PASSWORD | ES_AUTOHSCROLL</div><div class='del'>-    EDITTEXT        IDC_VERIFY,71,19,202,14,ES_PASSWORD | ES_AUTOHSCROLL</div><div class='del'>-    CONTROL         "U&amp;se keyfiles",IDC_KEYFILES_ENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,71,35,103,10</div><div class='del'>-    PUSHBUTTON      "&amp;Keyfiles...",IDC_KEY_FILES,182,36,91,14,WS_DISABLED</div><div class='del'>-    CONTROL         "&amp;Display password",IDC_SHOW_PASSWORD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,71,45,108,11,WS_EX_TRANSPARENT</div><div class='del'>-    CONTROL         "Use P&amp;IM",IDC_PIM_ENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,71,56,114,10</div><div class='del'>-    RTEXT           "Password:",IDT_PASSWORD,1,6,68,8</div><div class='del'>-    RTEXT           "&amp;Confirm:",IDT_CONFIRM,1,23,68,8</div><div class='del'>-    LTEXT           "",IDC_BOX_HELP,0,71,273,121</div><div class='add'>+    EDITTEXT        IDC_PASSWORD,69,3,202,14,ES_PASSWORD | ES_AUTOHSCROLL</div><div class='add'>+    EDITTEXT        IDC_VERIFY,69,20,202,14,ES_PASSWORD | ES_AUTOHSCROLL</div><div class='add'>+	LTEXT           "Password strength: ", IDT_PASSWORD_STRENGTH, 71, 54, 70, 10</div><div class='add'>+	LTEXT           "", PASSWORD_METER, 140, 55, 50, 20</div><div class='add'>+    CONTROL         "&amp;Display password",IDC_SHOW_PASSWORD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,71,41,108,11,WS_EX_TRANSPARENT</div><div class='add'>+	RTEXT           "Password:", IDT_PASSWORD, 1, 6, 40, 8	</div><div class='add'>+	RTEXT           "&amp;Confirm:", IDT_CONFIRM, 1, 23, 40, 8</div><div class='add'>+	LTEXT           "", IDC_BOX_HELP, 1, 95, 270, 120</div><div class='add'>+	PUSHBUTTON      "Advanced features", IDC_ADVANCE, 203, 156, 68, 14, NOT WS_VISIBLE</div><div class='add'>+	CONTROL         "",IDC_SYS_POOL_CONTENTS,"Static",SS_LEFTNOWORDWRAP | WS_GROUP | NOT WS_VISIBLE,33,17,209,63,WS_EX_TRANSPARENT</div><div class='add'>+	CONTROL         "", IDC_ENTROPY_BAR, "msctls_progress32", WS_BORDER | NOT WS_VISIBLE, 11, 140, 202, 6</div><div class='add'>+	CONTROL         "U&amp;se keyfiles",IDC_KEYFILES_ENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,71,64,103,10</div><div class='add'>+    PUSHBUTTON      "&amp;Keyfiles...",IDC_KEY_FILES,192,65,71,14,WS_DISABLED</div><div class='add'>+    CONTROL         "Use P&amp;IM",IDC_PIM_ENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,71,76,114,10</div><div class='add'>+   </div><div class='ctx'> END</div><div class='ctx'> </div><div class='ctx'> IDD_SIZE_PAGE_DLG DIALOGEX 0, 0, 276, 193</div><div class='ctx'> STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD</div><div class='ctx'> FONT 8, "MS Shell Dlg", 0, 0, 0x0</div><div class='ctx'> BEGIN</div><div class='ctx'>     EDITTEXT        IDC_SIZEBOX,0,22,96,14,ES_AUTOHSCROLL | ES_NUMBER</div><div class='ctx'>     CONTROL         "&amp;KB",IDC_KB,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,105,25,27,10</div><div class='ctx'>     CONTROL         "&amp;MB",IDC_MB,"Button",BS_AUTORADIOBUTTON,140,25,27,10</div><div class='ctx'>     CONTROL         "&amp;GB",IDC_GB,"Button",BS_AUTORADIOBUTTON,175,25,27,10</div><div class='ctx'>     LTEXT           "",IDC_BOX_HELP,0,65,273,123</div><div class='ctx'>     LTEXT           "",IDC_SPACE_LEFT,0,44,273,18</div><div class='ctx'>     CONTROL         "&amp;TB",IDC_TB,"Button",BS_AUTORADIOBUTTON,210,25,27,10</div><div class='ctx'> END</div><div class='ctx'> </div><div class='ctx'> IDD_VOLUME_LOCATION_PAGE_DLG DIALOGEX 0, 0, 276, 193</div><div class='ctx'> STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD</div><div class='ctx'> FONT 8, "MS Shell Dlg", 0, 0, 0x0</div><div class='ctx'> BEGIN</div><div class='ctx'>     COMBOBOX        IDC_COMBO_BOX,0,9,174,80,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP</div><div class='ctx'>     CONTROL         "&amp;Never save history",IDC_NO_HISTORY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,3,28,270,10</div><div class='ctx'>     PUSHBUTTON      "",IDC_SELECT_VOLUME_LOCATION,181,9,92,14</div><div class='ctx'>     LTEXT           "",IDC_BOX_HELP,0,45,273,143</div><div class='ctx'> END</div><div class='ctx'> </div><div class='ctx'> IDD_FORMAT_PAGE_DLG DIALOGEX 0, 0, 276, 193</div><div class='ctx'> STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD</div><div class='ctx'> FONT 8, "MS Shell Dlg", 0, 0, 0x0</div><div class='ctx'> BEGIN</div><div class='ctx'>     COMBOBOX        IDC_FILESYS,50,13,36,90,CBS_DROPDOWNLIST | WS_TABSTOP</div><div class='ctx'>     COMBOBOX        IDC_CLUSTERSIZE,135,13,42,90,CBS_DROPDOWNLIST | WS_TABSTOP</div><div class='ctx'>     CONTROL         "Quick Format",IDC_QUICKFORMAT,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,181,9,92,8</div><div class='ctx'>     CONTROL         "",IDC_SHOW_KEYS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,265,38,9,8</div><div class='ctx'>     PUSHBUTTON      "Abort",IDC_ABORT_BUTTON,200,75,64,14</div><div class='ctx'>     RTEXT           "Header Key: ",IDT_HEADER_KEY,2,47,76,8</div><div class='hunk'>@@ -170,244 +176,271 @@ BEGIN</div><div class='ctx'>     LTEXT           "",IDC_BYTESWRITTEN,29,93,39,11,SS_CENTERIMAGE,WS_EX_TRANSPARENT | WS_EX_RIGHT | WS_EX_STATICEDGE</div><div class='ctx'>     RTEXT           "Done",IDT_DONE,5,94,22,8</div><div class='ctx'>     RTEXT           "Speed",IDT_SPEED,81,94,45,8</div><div class='ctx'>     RTEXT           "Left",IDT_LEFT,177,94,35,8</div><div class='ctx'>     GROUPBOX        "",IDC_STATIC,0,67,276,41</div><div class='ctx'>     RTEXT           "Filesystem ",IDT_FILESYSTEM,1,15,46,8,0,WS_EX_RIGHT</div><div class='ctx'>     RTEXT           "Random Pool: ",IDT_RANDOM_POOL,2,39,76,8</div><div class='ctx'>     GROUPBOX        "",IDC_STATIC,0,32,276,35</div><div class='ctx'>     CONTROL         "",IDC_RANDOM_BYTES,"Static",SS_SIMPLE | WS_GROUP,83,38,177,8,WS_EX_TRANSPARENT</div><div class='ctx'>     GROUPBOX        "Randomness Collected From Mouse Movements",IDT_ENTROPY_BAR,0,175,276,18</div><div class='ctx'>     CONTROL         "",IDC_ENTROPY_BAR,"msctls_progress32",WS_BORDER,20,184,235,6</div><div class='ctx'>     CONTROL         "Dynamic",SPARSE_FILE,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,181,21,92,8</div><div class='ctx'> END</div><div class='ctx'> </div><div class='ctx'> IDD_INTRO_PAGE_DLG DIALOGEX 0, 0, 276, 193</div><div class='ctx'> STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD</div><div class='ctx'> FONT 8, "MS Shell Dlg", 400, 0, 0x1</div><div class='ctx'> BEGIN</div><div class='ctx'>     CONTROL         "Create an encrypted file container",IDC_FILE_CONTAINER,</div><div class='ctx'>                     "Button",BS_AUTORADIOBUTTON,0,7,269,10</div><div class='ctx'>     LTEXT           "More information",IDC_MORE_INFO_ON_CONTAINERS,16,40,253,10,SS_NOTIFY</div><div class='ctx'>     CONTROL         "Encrypt a non-system partition/drive",IDC_NONSYS_DEVICE,</div><div class='ctx'>                     "Button",BS_AUTORADIOBUTTON,0,55,269,10</div><div class='ctx'>     CONTROL         "Encrypt the system partition or entire system drive",IDC_SYS_DEVICE,</div><div class='ctx'>                     "Button",BS_AUTORADIOBUTTON,0,98,269,10</div><div class='ctx'>     LTEXT           "More information about system encryption",IDC_MORE_INFO_ON_SYS_ENCRYPTION,16,177,253,10,SS_NOTIFY</div><div class='ctx'>     LTEXT           "Creates a virtual encrypted disk within a file. Recommended for inexperienced users.",IDT_FILE_CONTAINER,16,20,253,16</div><div class='ctx'>     LTEXT           "Encrypts a non-system partition on any internal or external drive (e.g. a flash drive). Optionally, creates a hidden volume.",IDT_NON_SYS_DEVICE,16,68,253,26</div><div class='ctx'>     LTEXT           "Encrypts the partition/drive where Windows is installed. Anyone who wants to gain access and use the system, read and write files, etc., will need to enter the correct password each time before Windows boots. Optionally, creates a hidden system.",IDT_SYS_DEVICE,16,112,253,59</div><div class='ctx'> END</div><div class='ctx'> </div><div class='ctx'> IDD_INFO_PAGE_DLG DIALOGEX 0, 0, 276, 193</div><div class='ctx'> STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD</div><div class='ctx'> FONT 8, "MS Shell Dlg", 400, 0, 0x1</div><div class='ctx'> BEGIN</div><div class='del'>-    LTEXT           "",IDC_BOX_HELP,0,31,269,155</div><div class='add'>+    LTEXT           "",IDC_BOX_HELP,0,15,267,155</div><div class='add'>+    CONTROL         "", IDC_CHECKBOX_PRETEST, "Button", BS_AUTOCHECKBOX | BS_MULTILINE | NOT WS_VISIBLE, 0, 150, 267, 50</div><div class='ctx'> END</div><div class='ctx'> </div><div class='ctx'> IDD_HIDVOL_HOST_FILL_PAGE_DLG DIALOGEX 0, 0, 276, 193</div><div class='ctx'> STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD</div><div class='ctx'> FONT 8, "MS Shell Dlg", 400, 0, 0x1</div><div class='ctx'> BEGIN</div><div class='ctx'>     LTEXT           "",IDC_BOX_HELP,0,6,269,167</div><div class='ctx'>     PUSHBUTTON      "Open Outer Volume",IDC_OPEN_OUTER_VOLUME,0,176,85,14</div><div class='ctx'> END</div><div class='ctx'> </div><div class='ctx'> IDD_HIDDEN_VOL_WIZARD_MODE_PAGE_DLG DIALOGEX 0, 0, 276, 193</div><div class='ctx'> STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD</div><div class='ctx'> FONT 8, "MS Shell Dlg", 400, 0, 0x1</div><div class='ctx'> BEGIN</div><div class='ctx'>     CONTROL         "Normal mode",IDC_HIDVOL_WIZ_MODE_FULL,"Button",BS_AUTORADIOBUTTON,0,7,269,10</div><div class='ctx'>     CONTROL         "Direct mode",IDC_HIDVOL_WIZ_MODE_DIRECT,"Button",BS_AUTORADIOBUTTON,0,97,269,10</div><div class='ctx'>     LTEXT           "",IDC_BOX_HELP,16,20,253,72</div><div class='ctx'>     LTEXT           "",IDC_BOX_HELP2,16,110,253,72</div><div class='ctx'> END</div><div class='ctx'> </div><div class='ctx'> IDD_PASSWORD_ENTRY_PAGE_DLG DIALOGEX 0, 0, 276, 193</div><div class='ctx'> STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD</div><div class='ctx'> FONT 8, "MS Shell Dlg", 0, 0, 0x0</div><div class='ctx'> BEGIN</div><div class='ctx'>     EDITTEXT        IDC_PASSWORD_DIRECT,75,2,198,14,ES_PASSWORD | ES_AUTOHSCROLL</div><div class='ctx'>     COMBOBOX        IDC_PKCS5_PRF_ID,75,17,131,90,CBS_DROPDOWNLIST | WS_TABSTOP</div><div class='ctx'>     EDITTEXT        IDC_PIM,75,32,42,14,ES_RIGHT | ES_PASSWORD | ES_AUTOHSCROLL | ES_NUMBER | NOT WS_VISIBLE</div><div class='ctx'>     LTEXT           "(Empty or 0 for default iterations)",IDC_PIM_HELP,121,34,152,8,NOT WS_VISIBLE</div><div class='ctx'>     CONTROL         "&amp;Display password",IDC_SHOW_PASSWORD_SINGLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,75,46,109,11,WS_EX_TRANSPARENT</div><div class='ctx'>     CONTROL         "U&amp;se keyfiles",IDC_KEYFILES_ENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,75,57,106,11</div><div class='ctx'>     PUSHBUTTON      "&amp;Keyfiles...",IDC_KEY_FILES,188,54,85,14</div><div class='ctx'>     LTEXT           "",IDC_BOX_HELP,0,74,273,119</div><div class='ctx'>     RTEXT           "Password:",IDT_PASSWORD,0,6,71,8</div><div class='ctx'>     RTEXT           "PKCS-5 PRF:",IDT_PKCS5_PRF,0,19,71,8</div><div class='ctx'>     RTEXT           "Volume PIM:",IDT_PIM,0,35,71,8,NOT WS_VISIBLE</div><div class='ctx'>     CONTROL         "Use P&amp;IM",IDC_PIM_ENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,75,35,97,10</div><div class='ctx'> END</div><div class='ctx'> </div><div class='ctx'> IDD_VOLUME_TYPE_PAGE_DLG DIALOGEX 0, 0, 276, 193</div><div class='ctx'> STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD</div><div class='ctx'> FONT 8, "MS Shell Dlg", 400, 0, 0x1</div><div class='ctx'> BEGIN</div><div class='ctx'>     CONTROL         "Standard VeraCrypt volume",IDC_STD_VOL,"Button",BS_AUTORADIOBUTTON,0,7,269,10</div><div class='ctx'>     CONTROL         "Hi&amp;dden VeraCrypt volume ",IDC_HIDDEN_VOL,"Button",BS_AUTORADIOBUTTON,0,76,269,10</div><div class='ctx'>     LTEXT           "More information about hidden volumes",IDC_HIDDEN_VOL_HELP,16,173,253,10,SS_NOTIFY</div><div class='ctx'>     LTEXT           "",IDC_BOX_HELP_NORMAL_VOL,16,20,253,52</div><div class='ctx'>     LTEXT           "",IDC_BOX_HELP,16,93,253,70</div><div class='ctx'> END</div><div class='ctx'> </div><div class='ctx'> IDD_SYSENC_SPAN_PAGE_DLG DIALOGEX 0, 0, 276, 193</div><div class='ctx'> STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD</div><div class='ctx'> FONT 8, "MS Shell Dlg", 400, 0, 0x1</div><div class='ctx'> BEGIN</div><div class='ctx'>     CONTROL         "Encrypt the Windows system partition",IDC_SYS_PARTITION,</div><div class='ctx'>                     "Button",BS_AUTORADIOBUTTON,0,7,269,10</div><div class='ctx'>     CONTROL         "Encrypt the whole drive",IDC_WHOLE_SYS_DRIVE,"Button",BS_AUTORADIOBUTTON,0,67,269,10</div><div class='ctx'>     LTEXT           "Select this option to encrypt the partition where the currently running Windows operating system is installed.",IDT_SYS_PARTITION,16,20,253,42</div><div class='ctx'>     LTEXT           "",IDT_WHOLE_SYS_DRIVE,16,82,253,104</div><div class='ctx'> END</div><div class='ctx'> </div><div class='ctx'> IDD_SYSENC_RESCUE_DISK_CREATION_DLG DIALOGEX 0, 0, 276, 193</div><div class='ctx'> STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD</div><div class='ctx'> FONT 8, "MS Shell Dlg", 0, 0, 0x0</div><div class='ctx'> BEGIN</div><div class='del'>-    EDITTEXT        IDC_RESCUE_DISK_ISO_PATH,0,180,201,13,ES_AUTOHSCROLL</div><div class='del'>-    PUSHBUTTON      "Bro&amp;wse...",IDC_BROWSE,204,179,70,14</div><div class='del'>-    LTEXT           "",IDT_RESCUE_DISK_INFO,0,1,273,137</div><div class='add'>+	EDITTEXT        IDC_RESCUE_DISK_ISO_PATH, 0, 159, 180, 13, ES_AUTOHSCROLL</div><div class='add'>+    PUSHBUTTON      "Bro&amp;wse...",IDC_BROWSE,185,159,70,14</div><div class='add'>+    LTEXT           "",IDT_RESCUE_DISK_INFO,0,1,266,137</div><div class='add'>+	LTEXT           "",IDT_RESCUE_DISK_INFO_2,0,135,266,20</div><div class='ctx'>     CONTROL         "Skip Rescue Disk verification",IDC_SKIP_RESCUE_VERIFICATION,</div><div class='del'>-                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,0,166,273,10</div><div class='add'>+                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,0,178,273,10</div><div class='ctx'> END</div><div class='ctx'> </div><div class='ctx'> IDD_SYSENC_COLLECTING_RANDOM_DATA_DLG DIALOGEX 0, 0, 276, 193</div><div class='ctx'> STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD</div><div class='ctx'> FONT 8, "MS Shell Dlg", 0, 0, 0x0</div><div class='ctx'> BEGIN</div><div class='ctx'>     CONTROL         "Display pool content",IDC_DISPLAY_POOL_CONTENTS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,93,266,10</div><div class='ctx'>     CONTROL         "",IDC_SYS_POOL_CONTENTS,"Static",SS_LEFTNOWORDWRAP | WS_GROUP,33,17,209,63,WS_EX_TRANSPARENT</div><div class='ctx'>     LTEXT           "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.",IDT_COLLECTING_RANDOM_DATA_NOTE,10,107,265,63</div><div class='ctx'>     GROUPBOX        "Current pool content (partial)",IDT_PARTIAL_POOL_CONTENTS,0,5,276,83</div><div class='ctx'>     GROUPBOX        "Randomness Collected From Mouse Movements",IDT_ENTROPY_BAR,0,174,276,18</div><div class='ctx'>     CONTROL         "",IDC_ENTROPY_BAR,"msctls_progress32",WS_BORDER,11,183,254,6</div><div class='ctx'> END</div><div class='ctx'> </div><div class='ctx'> IDD_SYSENC_MULTI_BOOT_MODE_PAGE_DLG DIALOGEX 0, 0, 276, 193</div><div class='ctx'> STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD</div><div class='ctx'> FONT 8, "MS Shell Dlg", 400, 0, 0x1</div><div class='ctx'> BEGIN</div><div class='ctx'>     CONTROL         "Single-boot",IDC_SINGLE_BOOT,"Button",BS_AUTORADIOBUTTON,0,7,269,10</div><div class='ctx'>     CONTROL         "Multi-boot",IDC_MULTI_BOOT,"Button",BS_AUTORADIOBUTTON,0,75,217,10</div><div class='ctx'>     LTEXT           "Select this option if there is only one operating system installed on this computer (even if it has multiple users).",IDT_SINGLE_BOOT,16,20,253,48</div><div class='ctx'>     LTEXT           "Select this option if there are two or more operating systems installed on this computer.example:- Windows XP and Windows XP- Windows XP and Windows Vista- Windows and Mac OS X- Windows and Linux- Windows, Linux and Mac OS X",IDT_MULTI_BOOT,16,89,253,90</div><div class='ctx'> END</div><div class='ctx'> </div><div class='ctx'> IDD_SYSENC_RESCUE_DISK_BURN_PAGE_DLG DIALOGEX 0, 0, 276, 193</div><div class='ctx'> STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD</div><div class='ctx'> FONT 8, "MS Shell Dlg", 0, 0, 0x0</div><div class='ctx'> BEGIN</div><div class='del'>-    LTEXT           "Download CD/DVD recording software",IDC_DOWNLOAD_CD_BURN_SOFTWARE,0,159,273,10,SS_NOTIFY</div><div class='del'>-    LTEXT           "",IDT_RESCUE_DISK_BURN_INFO,0,4,273,148</div><div class='add'>+    LTEXT           "",IDT_RESCUE_DISK_BURN_INFO,0,15,275,170</div><div class='ctx'> END</div><div class='ctx'> </div><div class='ctx'> IDD_SYSENC_WIPE_MODE_PAGE_DLG DIALOGEX 0, 0, 276, 193</div><div class='ctx'> STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD</div><div class='ctx'> FONT 8, "MS Shell Dlg", 400, 0, 0x1</div><div class='ctx'> BEGIN</div><div class='del'>-    COMBOBOX        IDC_WIPE_MODE,88,0,138,90,CBS_DROPDOWNLIST | WS_TABSTOP</div><div class='del'>-    RTEXT           "Wipe mode:",IDT_WIPE_MODE,0,2,83,8,0,WS_EX_RIGHT</div><div class='del'>-    LTEXT           "",IDT_WIPE_MODE_INFO,0,19,269,167</div><div class='add'>+    CONTROL         "A", IDC_CHECKLIST_A, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 0, 13, 10, 10</div><div class='add'>+	CONTROL         "B", IDC_CHECKLIST_B, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 0, 60, 10, 10</div><div class='add'>+	CONTROL         "C", IDC_CHECKLIST_C, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 0, 135, 10, 10</div><div class='add'>+	LTEXT			" I remember my Password", IDC_REMEMBER_PASSWORD, 11, 13, 212, 10</div><div class='add'>+	LTEXT			" I securely stored the Rescue Disk", IDC_STORE_RESCUE_DISK, 11, 60, 217, 10</div><div class='add'>+	LTEXT			" I considered doing a backup of my personal Data", IDC_BACKUP_DATA, 11, 135, 226, 10</div><div class='add'>+	LTEXT           "", IDT_REMEMBER_PASSWORD, 16, 26, 205, 32</div><div class='add'>+	LTEXT           "", IDT_STORE_RESCUE_DISK, 16, 73, 205, 60</div><div class='add'>+    PUSHBUTTON      "",IDC_BROWSE,16,109,60,14</div><div class='add'>+	LTEXT           "", IDT_BACKUP_DATA, 16, 146, 205, 72</div><div class='add'>+	COMBOBOX		IDC_WIPE_MODE,88,0,138,90,CBS_DROPDOWNLIST | WS_TABSTOP</div><div class='add'>+	RTEXT			"Wipe mode:", IDT_WIPE_MODE,0,2,83,8,0,WS_EX_RIGHT</div><div class='add'>+	LTEXT			"", IDT_WIPE_MODE_INFO,0,19,269,167</div><div class='ctx'> END</div><div class='ctx'> </div><div class='ctx'> IDD_INPLACE_ENCRYPTION_PAGE_DLG DIALOGEX 0, 0, 276, 193</div><div class='ctx'> STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD</div><div class='ctx'> FONT 8, "MS Shell Dlg", 0, 0, 0x0</div><div class='ctx'> BEGIN</div><div class='del'>-    COMBOBOX        IDC_WIPE_MODE,96,13,125,90,CBS_DROPDOWNLIST | WS_TABSTOP</div><div class='del'>-    PUSHBUTTON      "&amp;Pause",IDC_PAUSE,204,40,63,14</div><div class='del'>-    LTEXT           "More information",IDC_MORE_INFO_SYS_ENCRYPTION,1,176,266,10,SS_NOTIFY</div><div class='del'>-    LTEXT           "",IDC_BYTESWRITTEN,29,58,39,11,SS_CENTERIMAGE,WS_EX_TRANSPARENT | WS_EX_RIGHT | WS_EX_STATICEDGE</div><div class='del'>-    RTEXT           "",IDC_WRITESPEED,110,58,56,11,SS_CENTERIMAGE,WS_EX_TRANSPARENT | WS_EX_RIGHT | WS_EX_STATICEDGE</div><div class='del'>-    RTEXT           "",IDC_TIMEREMAIN,212,58,54,11,SS_CENTERIMAGE,WS_EX_TRANSPARENT | WS_EX_RIGHT | WS_EX_STATICEDGE</div><div class='del'>-    RTEXT           "Wipe mode:",IDT_WIPE_MODE,6,15,85,8,0,WS_EX_RIGHT</div><div class='del'>-    CONTROL         "",IDC_PROGRESS_BAR,"msctls_progress32",PBS_SMOOTH | WS_BORDER,6,41,192,12</div><div class='del'>-    RTEXT           "Done",IDT_DONE,5,59,22,8</div><div class='del'>-    RTEXT           "Status",IDT_STATUS,73,59,33,8</div><div class='del'>-    RTEXT           "Left",IDT_LEFT,172,59,35,8</div><div class='del'>-    LTEXT           "",IDC_BOX_HELP,1,77,266,95</div><div class='del'>-    GROUPBOX        "Options",IDT_FORMAT_OPTIONS,0,3,267,29</div><div class='del'>-    GROUPBOX        "",IDC_STATIC,0,32,267,41</div><div class='add'>+    COMBOBOX        IDC_WIPE_MODE,96,60,125,90,CBS_DROPDOWNLIST | WS_TABSTOP</div><div class='add'>+    PUSHBUTTON      "&amp;Pause",IDC_PAUSE,204,8,63,14</div><div class='add'>+    LTEXT           "More information",IDC_MORE_INFO_SYS_ENCRYPTION,1,176,266,10,SS_NOTIFY | NOT WS_VISIBLE</div><div class='add'>+    LTEXT           "",IDC_BYTESWRITTEN,29,26,39,11,SS_CENTERIMAGE,WS_EX_TRANSPARENT | WS_EX_RIGHT | WS_EX_STATICEDGE</div><div class='add'>+    RTEXT           "",IDC_WRITESPEED,110,26,56,11,SS_CENTERIMAGE,WS_EX_TRANSPARENT | WS_EX_RIGHT | WS_EX_STATICEDGE</div><div class='add'>+    RTEXT           "",IDC_TIMEREMAIN,212,26,54,11,SS_CENTERIMAGE,WS_EX_TRANSPARENT | WS_EX_RIGHT | WS_EX_STATICEDGE</div><div class='add'>+    RTEXT           "Wipe mode:",IDT_WIPE_MODE,6,62,85,8,0,WS_EX_RIGHT</div><div class='add'>+    CONTROL         "",IDC_PROGRESS_BAR,"msctls_progress32",PBS_SMOOTH | WS_BORDER,6,9,192,12</div><div class='add'>+    RTEXT           "Done",IDT_DONE,5,27,22,8</div><div class='add'>+    RTEXT           "Status",IDT_STATUS,73,27,33,8</div><div class='add'>+    RTEXT           "Left",IDT_LEFT,172,27,35,8</div><div class='add'>+    LTEXT           "",IDC_BOX_HELP,1,100,266,90</div><div class='add'>+    GROUPBOX        "",IDC_STATIC,0,3,268,41</div><div class='add'>+    GROUPBOX        "Options",IDT_FORMAT_OPTIONS,0,50,268,29</div><div class='ctx'> END</div><div class='ctx'> </div><div class='ctx'> IDD_SYSENC_KEYS_GEN_PAGE_DLG DIALOGEX 0, 0, 276, 193</div><div class='ctx'> STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD</div><div class='ctx'> FONT 8, "MS Shell Dlg", 0, 0, 0x0</div><div class='ctx'> BEGIN</div><div class='ctx'>     CONTROL         "Display generated keys (their portions)",IDC_DISPLAY_KEYS,</div><div class='ctx'>                     "Button",BS_AUTOCHECKBOX | WS_TABSTOP,51,110,216,10</div><div class='ctx'>     CONTROL         "",IDC_HEADER_KEY,"Static",SS_LEFTNOWORDWRAP | WS_GROUP,100,87,163,8,WS_EX_TRANSPARENT</div><div class='ctx'>     LTEXT           "",IDC_DISK_KEY,100,95,163,8,0,WS_EX_TRANSPARENT</div><div class='ctx'>     LTEXT           "The keys, salt, and other data have been successfully generated. If you want to generate new keys, click Back and then Next. Otherwise, click Next to continue.",IDT_SYSENC_KEYS_GEN_INFO,1,23,266,57</div><div class='ctx'>     RTEXT           "Header Key: ",IDT_HEADER_KEY,2,88,93,8</div><div class='ctx'>     RTEXT           "Master Key: ",IDT_MASTER_KEY,2,96,93,8</div><div class='ctx'>     GROUPBOX        "",-1,0,81,267,26</div><div class='ctx'> END</div><div class='ctx'> </div><div class='ctx'> IDD_UNIVERSAL_DUAL_CHOICE_PAGE_DLG DIALOGEX 0, 0, 276, 193</div><div class='ctx'> STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD</div><div class='ctx'> FONT 8, "MS Shell Dlg", 400, 0, 0x1</div><div class='ctx'> BEGIN</div><div class='ctx'>     CONTROL         "",IDC_CHOICE1,"Button",BS_AUTORADIOBUTTON,0,7,269,10</div><div class='ctx'>     CONTROL         "",IDC_CHOICE2,"Button",BS_AUTORADIOBUTTON,0,17,269,10</div><div class='ctx'>     LTEXT           "",IDC_BOX_HELP,1,34,268,152</div><div class='ctx'> END</div><div class='ctx'> </div><div class='ctx'> IDD_SYSENC_DRIVE_ANALYSIS_PAGE_DLG DIALOGEX 0, 0, 276, 193</div><div class='ctx'> STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD</div><div class='ctx'> FONT 8, "MS Shell Dlg", 0, 0, 0x0</div><div class='ctx'> BEGIN</div><div class='ctx'>     LTEXT           "",IDT_SYSENC_DRIVE_ANALYSIS_INFO,0,10,267,109</div><div class='ctx'>     CONTROL         "",IDC_PROGRESS_BAR,"msctls_progress32",PBS_SMOOTH | WS_BORDER,0,135,267,12</div><div class='ctx'>     LTEXT           "Progress:",IDT_PROGRESS,2,124,172,8</div><div class='ctx'> END</div><div class='ctx'> </div><div class='ctx'> IDD_SYSENC_TYPE_PAGE_DLG DIALOGEX 0, 0, 276, 193</div><div class='ctx'> STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD</div><div class='ctx'> FONT 8, "MS Shell Dlg", 400, 0, 0x1</div><div class='ctx'> BEGIN</div><div class='del'>-    CONTROL         "Normal",IDC_SYSENC_NORMAL,"Button",BS_AUTORADIOBUTTON,0,7,269,10</div><div class='del'>-    CONTROL         "Hi&amp;dden",IDC_SYSENC_HIDDEN,"Button",BS_AUTORADIOBUTTON,0,64,269,10</div><div class='del'>-    LTEXT           "More information",IDC_HIDDEN_SYSENC_INFO_LINK,16,173,253,10,SS_NOTIFY</div><div class='del'>-    LTEXT           "",IDC_BOX_HELP_SYSENC_NORMAL,16,20,253,41</div><div class='del'>-    LTEXT           "",IDC_BOX_HELP,16,78,253,90</div><div class='add'>+    LTEXT           "", IDC_BOX_HELP, 5, 20, 250, 16</div><div class='add'>+	LTEXT           "", IDT_SYSENC_INFO_2, 5, 50, 250, 60</div><div class='add'>+	PUSHBUTTON      "Advanced features", IDC_ADVANCE_INTRO, 190, 160, 68, 14</div><div class='add'>+	CONTROL			"", IDC_INFORMATION_TIP, "Static", SS_ICON | SS_NOTIFY, 262,163,10,5</div><div class='add'>+END</div><div class='add'>+</div><div class='add'>+IDD_ADVANCE_MBR DIALOGEX 102, -10, 245, 233	</div><div class='add'>+STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU</div><div class='add'>+CAPTION "Advanced Options"</div><div class='add'>+FONT 8, "MS Shell Dlg", 0, 0, 0x1</div><div class='add'>+BEGIN</div><div class='add'>+	CONTROL         " Normal",IDC_SYSENC_NORMAL,"Button", BS_AUTOCHECKBOX, 10,40,200,10</div><div class='add'>+    CONTROL         " Hi&amp;dden",IDC_SYSENC_HIDDEN,"Button", BS_AUTOCHECKBOX, 10,99,200,10</div><div class='add'>+    LTEXT           "Select this option if you merely want to encrypt the system partition or the entire system drive.",-1,26,57,200,30</div><div class='add'>+    LTEXT           "If you select this option, you will create a hidden operating system whose existence should 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.",-1,26,116,200,50</div><div class='add'>+	LTEXT			"For a detailed explanation, please click the Help button. ",-1,26,180,200,10</div><div class='add'>+	LTEXT			"IMPORTANT: Only advanced users should make modifications on this page.", -1, 10, 12, 217, 19,</div><div class='add'>+	</div><div class='add'>+	GROUPBOX		"", -1, 6, 30, 232, 178</div><div class='add'>+	DEFPUSHBUTTON   "OK", IDOK, 129, 213, 50, 14</div><div class='add'>+	PUSHBUTTON      "Cancel", IDCANCEL, 180, 213, 50, 14</div><div class='add'>+	PUSHBUTTON      "&amp;Help",IDHELP,15,213,50,14</div><div class='ctx'> END</div><div class='del'>-</div><div class='ctx'> IDD_SYSENC_HIDDEN_OS_REQ_CHECK_PAGE_DLG DIALOGEX 0, 0, 276, 193</div><div class='ctx'> STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD</div><div class='ctx'> FONT 8, "MS Shell Dlg", 0, 0, 0x0</div><div class='ctx'> BEGIN</div><div class='ctx'>     LTEXT           "More information",IDC_HIDDEN_SYSENC_INFO_LINK,0,172,273,10,SS_NOTIFY</div><div class='ctx'>     LTEXT           "",IDC_BOX_HELP,0,2,273,166</div><div class='ctx'> END</div><div class='ctx'> </div><div class='ctx'> IDD_DEVICE_WIPE_PAGE_DLG DIALOGEX 0, 0, 276, 193</div><div class='ctx'> STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD</div><div class='ctx'> FONT 8, "MS Shell Dlg", 0, 0, 0x0</div><div class='ctx'> BEGIN</div><div class='ctx'>     PUSHBUTTON      "Abort",IDC_ABORT_BUTTON,217,48,50,14</div><div class='ctx'>     LTEXT           "",IDC_BYTESWRITTEN,29,66,39,11,SS_CENTERIMAGE,WS_EX_TRANSPARENT | WS_EX_RIGHT | WS_EX_STATICEDGE</div><div class='ctx'>     RTEXT           "",IDC_WRITESPEED,119,66,46,11,SS_CENTERIMAGE | NOT WS_VISIBLE,WS_EX_TRANSPARENT | WS_EX_RIGHT | WS_EX_STATICEDGE</div><div class='ctx'>     RTEXT           "",IDC_TIMEREMAIN,219,66,48,11,SS_CENTERIMAGE,WS_EX_TRANSPARENT | WS_EX_RIGHT | WS_EX_STATICEDGE</div><div class='ctx'>     RTEXT           "Wipe mode:",IDT_WIPE_MODE,6,22,92,8,0,WS_EX_RIGHT</div><div class='ctx'>     CONTROL         "",IDC_PROGRESS_BAR,"msctls_progress32",PBS_SMOOTH | WS_BORDER,6,49,208,12</div><div class='ctx'>     RTEXT           "Done",IDT_DONE,5,67,22,8</div><div class='ctx'>     RTEXT           "Pass",IDT_PASS,73,67,44,8,NOT WS_VISIBLE</div><div class='ctx'>     RTEXT           "Left",IDT_LEFT,180,67,34,8</div><div class='ctx'>     LTEXT           "",IDC_BOX_HELP,1,96,266,91</div><div class='ctx'>     GROUPBOX        "",IDT_FORMAT_OPTIONS,0,10,267,29</div><div class='ctx'>     GROUPBOX        "",IDC_STATIC,0,40,267,42</div><div class='ctx'>     LTEXT           "",IDC_WIPE_MODE,101,21,125,11,SS_CENTERIMAGE,WS_EX_TRANSPARENT | WS_EX_STATICEDGE</div><div class='ctx'> END</div><div class='ctx'> </div><div class='ctx'> IDD_DEVICE_WIPE_MODE_PAGE_DLG DIALOGEX 0, 0, 276, 193</div><div class='ctx'> STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD</div><div class='ctx'> FONT 8, "MS Shell Dlg", 400, 0, 0x1</div><div class='ctx'> BEGIN</div><div class='ctx'>     COMBOBOX        IDC_WIPE_MODE,89,9,127,90,CBS_DROPDOWNLIST | WS_TABSTOP</div><div class='ctx'>     RTEXT           "Wipe mode:",IDT_WIPE_MODE,0,11,86,8,0,WS_EX_RIGHT</div><div class='ctx'>     LTEXT           "",IDT_WIPE_MODE_INFO,0,29,269,157</div><div class='ctx'> END</div><div class='hunk'>@@ -421,70 +454,94 @@ BEGIN</div><div class='ctx'>     CONTROL         "Encrypt partition in place",IDC_DEVICE_TRANSFORM_MODE_INPLACE,</div><div class='ctx'>                     "Button",BS_AUTORADIOBUTTON,0,111,269,10</div><div class='ctx'>     LTEXT           "",IDC_BOX_HELP,16,21,253,84</div><div class='ctx'>     LTEXT           "",IDC_BOX_HELP2,16,125,253,61</div><div class='ctx'> END</div><div class='ctx'> </div><div class='ctx'> IDD_EXPANDED_LIST_SELECT_PAGE_DLG DIALOGEX 0, 0, 276, 193</div><div class='ctx'> STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD</div><div class='ctx'> FONT 8, "MS Shell Dlg", 400, 0, 0x1</div><div class='ctx'> BEGIN</div><div class='ctx'>     LTEXT           "",IDC_BOX_HELP,0,117,269,69</div><div class='ctx'>     LISTBOX         IDC_LIST_BOX,0,3,269,107,LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_VSCROLL</div><div class='ctx'> END</div><div class='ctx'> </div><div class='ctx'> IDD_DRIVE_LETTER_SELECTION_PAGE DIALOGEX 0, 0, 277, 193</div><div class='ctx'> STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD</div><div class='ctx'> FONT 8, "MS Shell Dlg", 400, 0, 0x1</div><div class='ctx'> BEGIN</div><div class='ctx'>     LTEXT           "",IDC_BOX_HELP,0,40,270,146</div><div class='ctx'>     COMBOBOX        IDC_DRIVE_LETTER_LIST,115,15,38,69,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP</div><div class='ctx'>     RTEXT           "Drive letter:",IDT_DRIVE_LETTER,5,17,106,8</div><div class='ctx'> END</div><div class='ctx'> </div><div class='ctx'> IDD_PIM_PAGE_DLG DIALOGEX 0, 0, 276, 193</div><div class='ctx'> STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD</div><div class='ctx'> FONT 8, "MS Shell Dlg", 0, 0, 0x0</div><div class='ctx'> BEGIN</div><div class='ctx'>     EDITTEXT        IDC_PIM,74,0,42,14,ES_RIGHT | ES_PASSWORD | ES_AUTOHSCROLL | ES_NUMBER</div><div class='ctx'>     LTEXT           "",IDC_BOX_HELP,0,32,273,142</div><div class='ctx'>     RTEXT           "Volume PIM:",IDT_PIM,1,3,69,8</div><div class='ctx'>     LTEXT           "(Empty or 0 for default iterations)",IDC_PIM_HELP,120,3,153,8</div><div class='ctx'>     LTEXT           "Information on PIM",IDC_LINK_PIM_INFO,0,179,273,8,SS_NOTIFY</div><div class='ctx'>     CONTROL         "Display PIM",IDC_SHOW_PIM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,74,17,196,10</div><div class='ctx'> END</div><div class='ctx'> </div><div class='add'>+IDD_ADVANCE DIALOGEX 75, -62, 245, 362	</div><div class='add'>+STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU</div><div class='add'>+CAPTION "Advanced Algorithm Options"</div><div class='add'>+FONT 8, "MS Shell Dlg", 400, 0, 0x1</div><div class='add'>+BEGIN</div><div class='add'>+	DEFPUSHBUTTON   "OK", IDOK, 129, 345, 50, 14</div><div class='add'>+	PUSHBUTTON      "Cancel", IDCANCEL, 180, 345, 50, 14</div><div class='add'>+	COMBOBOX        IDC_COMBO_BOX_HASH_ALGO, 21, 47, 137, 130, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP</div><div class='add'>+	LTEXT           "",  IDC_SHA512_HELP, 21, 65, 205, 40</div><div class='add'>+	COMBOBOX        IDC_COMBO_BOX, 21, 113, 137, 126, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP </div><div class='add'>+	LTEXT           "", IDC_BOX_HELP, 21, 131, 205, 40</div><div class='add'>+	PUSHBUTTON      "&amp;Verify", IDC_CIPHER_TEST, 40, 181, 59, 14</div><div class='add'>+	PUSHBUTTON      "&amp;Benchmark", IDC_BENCHMARK, 140, 181, 59, 14, BS_PUSHBUTTON | WS_TABSTOP | WS_VISIBLE</div><div class='add'>+	GROUPBOX        "Encryption Algorithm", IDT_ENCRYPTION_ALGO, 14, 100, 217, 60</div><div class='add'>+	GROUPBOX        "Hash Algorithm", IDT_HASH_ALGO, 14, 35, 217, 60</div><div class='add'>+	GROUPBOX		"Test Algorithms", IDT_TEST_ALGO, 14, 168, 217, 35</div><div class='add'>+	GROUPBOX        "PIM", -1, 14, 206, 217, 59</div><div class='add'>+	CONTROL         "Modify P&amp;IM", IDC_PIM_ENABLE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 19, 217, 97, 10</div><div class='add'>+	LTEXT           "", IDT_PIM_INFO, 21, 231, 203, 25</div><div class='add'>+	GROUPBOX        "Wipe Mode", IDT_WIPE_MODE, 14, 270, 217, 71</div><div class='add'>+	COMBOBOX        IDC_WIPE_MODE, 21, 284, 127, 90, CBS_DROPDOWNLIST | WS_TABSTOP</div><div class='add'>+	LTEXT           "", IDT_WIPE_INFO, 21, 303, 200, 32</div><div class='add'>+	LTEXT			"", IDT_IMPORTANT_NOTE, 18, 10, 217, 19</div><div class='add'>+END</div><div class='ctx'> </div><div class='ctx'> #ifdef APSTUDIO_INVOKED</div><div class='ctx'> /////////////////////////////////////////////////////////////////////////////</div><div class='ctx'> //</div><div class='ctx'> // TEXTINCLUDE</div><div class='ctx'> //</div><div class='ctx'> </div><div class='ctx'> 1 TEXTINCLUDE </div><div class='ctx'> BEGIN</div><div class='ctx'>     "resource.h"</div><div class='ctx'> END</div><div class='ctx'> </div><div class='ctx'> 2 TEXTINCLUDE </div><div class='ctx'> BEGIN</div><div class='ctx'>     "#include ""afxres.h"""</div><div class='ctx'>     "#include ""..\\common\\resource.h"""</div><div class='ctx'>     ""</div><div class='ctx'> END</div><div class='ctx'> </div><div class='ctx'> 3 TEXTINCLUDE </div><div class='ctx'> BEGIN</div><div class='ctx'>     "#include ""..\\common\\common.rc"""</div><div class='ctx'>     ""</div><div class='ctx'> END</div><div class='ctx'> </div><div class='ctx'> #endif    // APSTUDIO_INVOKED</div><div class='ctx'> </div><div class='ctx'> </div><div class='ctx'> /////////////////////////////////////////////////////////////////////////////</div><div class='ctx'> //</div><div class='ctx'> // DESIGNINFO</div><div class='ctx'> //</div><div class='ctx'> </div><div class='ctx'> #ifdef APSTUDIO_INVOKED</div><div class='ctx'> GUIDELINES DESIGNINFO</div><div class='hunk'>@@ -591,70 +648,86 @@ BEGIN</div><div class='ctx'>         BOTTOMMARGIN, 174</div><div class='ctx'>         HORZGUIDE, 80</div><div class='ctx'>         HORZGUIDE, 96</div><div class='ctx'>     END</div><div class='ctx'> </div><div class='ctx'>     IDD_SYSENC_MULTI_BOOT_MODE_PAGE_DLG, DIALOG</div><div class='ctx'>     BEGIN</div><div class='ctx'>         LEFTMARGIN, 7</div><div class='ctx'>         RIGHTMARGIN, 269</div><div class='ctx'>         TOPMARGIN, 7</div><div class='ctx'>         BOTTOMMARGIN, 186</div><div class='ctx'>     END</div><div class='ctx'> </div><div class='ctx'>     IDD_SYSENC_RESCUE_DISK_BURN_PAGE_DLG, DIALOG</div><div class='ctx'>     BEGIN</div><div class='ctx'>         RIGHTMARGIN, 273</div><div class='ctx'>         BOTTOMMARGIN, 188</div><div class='ctx'>     END</div><div class='ctx'> </div><div class='ctx'>     IDD_SYSENC_WIPE_MODE_PAGE_DLG, DIALOG</div><div class='ctx'>     BEGIN</div><div class='ctx'>         LEFTMARGIN, 7</div><div class='ctx'>         RIGHTMARGIN, 269</div><div class='ctx'>         TOPMARGIN, 7</div><div class='ctx'>         BOTTOMMARGIN, 186</div><div class='ctx'>     END</div><div class='ctx'> </div><div class='ctx'>     IDD_INPLACE_ENCRYPTION_PAGE_DLG, DIALOG</div><div class='ctx'>     BEGIN</div><div class='ctx'>         RIGHTMARGIN, 267</div><div class='ctx'>         BOTTOMMARGIN, 187</div><div class='ctx'>         HORZGUIDE, 80</div><div class='ctx'>         HORZGUIDE, 96</div><div class='ctx'>     END</div><div class='ctx'> </div><div class='add'>+	IDD_ADVANCE, DIALOG</div><div class='add'>+	BEGIN</div><div class='add'>+		LEFTMARGIN, 7</div><div class='add'>+		RIGHTMARGIN, 238</div><div class='add'>+		TOPMARGIN, 7</div><div class='add'>+		BOTTOMMARGIN, 242</div><div class='add'>+	END</div><div class='add'>+</div><div class='add'>+	IDD_ADVANCE_MBR, DIALOG</div><div class='add'>+	BEGIN</div><div class='add'>+		LEFTMARGIN, 7</div><div class='add'>+		RIGHTMARGIN, 238</div><div class='add'>+		TOPMARGIN, 7</div><div class='add'>+		BOTTOMMARGIN, 242</div><div class='add'>+	END</div><div class='add'>+</div><div class='ctx'>     IDD_SYSENC_KEYS_GEN_PAGE_DLG, DIALOG</div><div class='ctx'>     BEGIN</div><div class='ctx'>         RIGHTMARGIN, 267</div><div class='ctx'>         BOTTOMMARGIN, 174</div><div class='ctx'>         HORZGUIDE, 80</div><div class='ctx'>         HORZGUIDE, 96</div><div class='ctx'>     END</div><div class='ctx'> </div><div class='ctx'>     IDD_UNIVERSAL_DUAL_CHOICE_PAGE_DLG, DIALOG</div><div class='ctx'>     BEGIN</div><div class='ctx'>         LEFTMARGIN, 7</div><div class='ctx'>         RIGHTMARGIN, 269</div><div class='ctx'>         TOPMARGIN, 7</div><div class='ctx'>         BOTTOMMARGIN, 186</div><div class='ctx'>     END</div><div class='ctx'> </div><div class='ctx'>     IDD_SYSENC_DRIVE_ANALYSIS_PAGE_DLG, DIALOG</div><div class='ctx'>     BEGIN</div><div class='ctx'>         RIGHTMARGIN, 267</div><div class='ctx'>         BOTTOMMARGIN, 174</div><div class='ctx'>         HORZGUIDE, 80</div><div class='ctx'>         HORZGUIDE, 96</div><div class='ctx'>     END</div><div class='ctx'> </div><div class='ctx'>     IDD_SYSENC_TYPE_PAGE_DLG, DIALOG</div><div class='ctx'>     BEGIN</div><div class='ctx'>         LEFTMARGIN, 7</div><div class='ctx'>         RIGHTMARGIN, 269</div><div class='ctx'>         TOPMARGIN, 7</div><div class='ctx'>         BOTTOMMARGIN, 186</div><div class='ctx'>     END</div><div class='ctx'> </div><div class='ctx'>     IDD_SYSENC_HIDDEN_OS_REQ_CHECK_PAGE_DLG, DIALOG</div><div class='ctx'>     BEGIN</div><div class='ctx'>         RIGHTMARGIN, 273</div><div class='hunk'>@@ -709,36 +782,35 @@ BEGIN</div><div class='ctx'> END</div><div class='ctx'> #endif    // APSTUDIO_INVOKED</div><div class='ctx'> </div><div class='ctx'> </div><div class='ctx'> /////////////////////////////////////////////////////////////////////////////</div><div class='ctx'> //</div><div class='ctx'> // Bitmap</div><div class='ctx'> //</div><div class='ctx'> </div><div class='ctx'> IDB_WIZARD              BITMAP                  "VeraCrypt_wizard.bmp"</div><div class='ctx'> </div><div class='ctx'> /////////////////////////////////////////////////////////////////////////////</div><div class='ctx'> //</div><div class='ctx'> // String Table</div><div class='ctx'> //</div><div class='ctx'> </div><div class='ctx'> STRINGTABLE</div><div class='ctx'> BEGIN</div><div class='ctx'>     IDS_UACSTRING_FMT       "VeraCrypt"</div><div class='ctx'> END</div><div class='ctx'> </div><div class='ctx'> #endif    // English (U.S.) resources</div><div class='ctx'> /////////////////////////////////////////////////////////////////////////////</div><div class='ctx'> </div><div class='ctx'> </div><div class='ctx'> </div><div class='ctx'> #ifndef APSTUDIO_INVOKED</div><div class='ctx'> /////////////////////////////////////////////////////////////////////////////</div><div class='ctx'> //</div><div class='ctx'> // Generated from the TEXTINCLUDE 3 resource.</div><div class='ctx'> //</div><div class='ctx'> #include "..\common\common.rc"</div><div class='ctx'> </div><div class='ctx'> /////////////////////////////////////////////////////////////////////////////</div><div class='ctx'> #endif    // not APSTUDIO_INVOKED</div><div class='del'>-</div><div class='head'>diff --git a/src/Format/Resource.h b/src/Format/Resource.h<br/>index c37a6f4a..d031a7dd 100644<br/>--- a/<a href='/code/VeraCrypt/tree/src/Format/Resource.h?id=99c3cda01a4bb4d1f08b93753ff3b79bcbc3e63e'>src/Format/Resource.h</a><br/>+++ b/<a href='/code/VeraCrypt/tree/src/Format/Resource.h?id=c0ff7a7c521b1d658316d9a177383ab0c403007a'>src/Format/Resource.h</a></div><div class='hunk'>@@ -86,75 +86,98 @@</div><div class='ctx'> #define IDT_RANDOM_POOL                 1047</div><div class='ctx'> #define IDT_HEADER_KEY                  1048</div><div class='ctx'> #define IDT_MASTER_KEY                  1049</div><div class='ctx'> #define IDT_DONE                        1050</div><div class='ctx'> #define IDT_SPEED                       1051</div><div class='ctx'> #define IDT_LEFT                        1052</div><div class='ctx'> #define IDT_CONFIRM                     1053</div><div class='ctx'> #define IDT_PASSWORD                    1054</div><div class='ctx'> #define IDC_SHOW_PASSWORD_SINGLE        1055</div><div class='ctx'> #define IDC_SHOW_PASSWORD               1056</div><div class='ctx'> #define IDC_LINK_MORE_INFO_ABOUT_CIPHER 1057</div><div class='ctx'> #define IDC_LINK_HASH_INFO              1058</div><div class='ctx'> #define IDC_POS_BOX                     1059</div><div class='ctx'> #define IDC_BITMAP_WIZARD               1060</div><div class='ctx'> #define IDC_FILE_CONTAINER              1061</div><div class='ctx'> #define IDC_NONSYS_DEVICE               1062</div><div class='ctx'> #define IDC_SYS_DEVICE                  1063</div><div class='ctx'> #define IDT_FILE_CONTAINER              1064</div><div class='ctx'> #define IDT_NON_SYS_DEVICE              1065</div><div class='ctx'> #define IDT_SYS_DEVICE                  1066</div><div class='ctx'> #define IDC_WHOLE_SYS_DRIVE             1067</div><div class='ctx'> #define IDC_SYS_PARTITION               1068</div><div class='ctx'> #define IDT_WHOLE_SYS_DRIVE             1069</div><div class='ctx'> #define IDT_SYS_PARTITION               1070</div><div class='ctx'> #define IDT_RESCUE_DISK_INFO            1071</div><div class='ctx'> #define IDC_MORE_INFO                   1072</div><div class='ctx'> #define IDC_MORE_INFO_ON_SYS_ENCRYPTION 1073</div><div class='ctx'> #define IDT_COLLECTING_RANDOM_DATA_NOTE 1074</div><div class='ctx'> #define IDC_MORE_INFO_ON_CONTAINERS     1075</div><div class='ctx'> #define IDC_SINGLE_BOOT                 1076</div><div class='ctx'> #define IDC_MULTI_BOOT                  1077</div><div class='ctx'> #define IDT_MULTI_BOOT                  1078</div><div class='ctx'> #define IDT_SINGLE_BOOT                 1079</div><div class='ctx'> #define IDC_SYS_POOL_CONTENTS           1080</div><div class='ctx'> #define IDT_PARTIAL_POOL_CONTENTS       1081</div><div class='del'>-#define IDC_DOWNLOAD_CD_BURN_SOFTWARE   1082</div><div class='ctx'> #define IDT_RESCUE_DISK_BURN_INFO       1083</div><div class='ctx'> #define IDT_WIPE_MODE_INFO              1084</div><div class='ctx'> #define IDC_WIPE_MODE                   1085</div><div class='ctx'> #define IDC_SELECT                      1086</div><div class='ctx'> #define IDT_SYSENC_KEYS_GEN_INFO        1087</div><div class='ctx'> #define IDC_DISPLAY_KEYS                1088</div><div class='ctx'> #define IDC_PAUSE                       1089</div><div class='ctx'> #define IDT_WIPE_MODE                   1090</div><div class='ctx'> #define IDC_MORE_INFO_SYS_ENCRYPTION    1091</div><div class='ctx'> #define IDC_BOX_HELP_NORMAL_VOL         1092</div><div class='ctx'> #define IDT_STATUS                      1093</div><div class='ctx'> #define IDT_PROGRESS                    1094</div><div class='ctx'> #define IDT_SYSENC_DRIVE_ANALYSIS_INFO  1095</div><div class='ctx'> #define IDC_SYSENC_NORMAL               1096</div><div class='ctx'> #define IDC_SYSENC_HIDDEN               1097</div><div class='ctx'> #define IDC_BOX_HELP_SYSENC_NORMAL      1098</div><div class='ctx'> #define IDC_HIDDEN_SYSENC_INFO_LINK     1099</div><div class='ctx'> #define IDT_PASS                        1100</div><div class='ctx'> #define IDC_DEVICE_TRANSFORM_MODE_FORMAT 1101</div><div class='ctx'> #define IDC_DEVICE_TRANSFORM_MODE_INPLACE 1102</div><div class='ctx'> #define IDC_DRIVE_LETTER_LIST           1103</div><div class='ctx'> #define IDT_DRIVE_LETTER                1104</div><div class='ctx'> #define IDC_LINK_PIM_INFO               1105</div><div class='ctx'> #define IDC_SHOW_PIM                    1106</div><div class='ctx'> #define IDC_TB                          1107</div><div class='ctx'> #define IDC_SKIP_RESCUE_VERIFICATION    1108</div><div class='ctx'> #define SPARSE_FILE                     1109</div><div class='add'>+#define IDC_ADVANCE_INTRO               1110</div><div class='add'>+#define IDD_ADVANCE						1111</div><div class='add'>+#define IDC_ADVANCE						1112</div><div class='add'>+#define PASSWORD_METER					1113</div><div class='add'>+#define IDC_REMEMBER_PASSWORD			1114</div><div class='add'>+#define IDC_STORE_RESCUE_DISK			1115	</div><div class='add'>+#define IDC_BACKUP_DATA					1116</div><div class='add'>+#define IDT_REMEMBER_PASSWORD			1117</div><div class='add'>+#define IDT_STORE_RESCUE_DISK			1118</div><div class='add'>+#define IDT_BACKUP_DATA					1119</div><div class='add'>+#define IDC_CHECKLIST_A					1120</div><div class='add'>+#define IDC_CHECKLIST_B					1121</div><div class='add'>+#define IDC_CHECKLIST_C					1122</div><div class='add'>+#define IDD_ADVANCE_MBR					1123 </div><div class='add'>+#define IDC_INFORMATION_TIP				1124</div><div class='add'>+#define IDC_SHA512_HELP					1125</div><div class='add'>+#define IDT_PASSWORD_STRENGTH			1126</div><div class='add'>+#define IDT_RESCUE_DISK_INFO_2			1127</div><div class='add'>+#define IDT_SYSENC_INFO_2				1128</div><div class='add'>+#define IDT_IMPORTANT_NOTE				1129</div><div class='add'>+#define IDT_PIM_INFO					1130</div><div class='add'>+#define IDT_WIPE_INFO					1131</div><div class='add'>+#define IDT_TEST_ALGO					1132</div><div class='add'>+#define IDC_CHECKBOX_PRETEST			1133</div><div class='ctx'> </div><div class='ctx'> // Next default values for new objects</div><div class='ctx'> // </div><div class='ctx'> #ifdef APSTUDIO_INVOKED</div><div class='ctx'> #ifndef APSTUDIO_READONLY_SYMBOLS</div><div class='ctx'> #define _APS_NO_MFC                     1</div><div class='ctx'> #define _APS_NEXT_RESOURCE_VALUE        134</div><div class='ctx'> #define _APS_NEXT_COMMAND_VALUE         40001</div><div class='ctx'> #define _APS_NEXT_CONTROL_VALUE         1110</div><div class='ctx'> #define _APS_NEXT_SYMED_VALUE           101</div><div class='ctx'> #endif</div><div class='ctx'> #endif</div><div class='head'>diff --git a/src/Format/Tcformat.c b/src/Format/Tcformat.c<br/>index efd95caf..db0a8209 100644<br/>--- a/<a href='/code/VeraCrypt/tree/src/Format/Tcformat.c?id=99c3cda01a4bb4d1f08b93753ff3b79bcbc3e63e'>src/Format/Tcformat.c</a><br/>+++ b/<a href='/code/VeraCrypt/tree/src/Format/Tcformat.c?id=c0ff7a7c521b1d658316d9a177383ab0c403007a'>src/Format/Tcformat.c</a></div><div class='hunk'>@@ -1,57 +1,62 @@</div><div class='ctx'> /*</div><div class='ctx'>  Legal Notice: Some portions of the source code contained in this file were</div><div class='ctx'>  derived from the source code of TrueCrypt 7.1a, which is</div><div class='ctx'>  Copyright (c) 2003-2012 TrueCrypt Developers Association and which is</div><div class='ctx'>  governed by the TrueCrypt License 3.0, also from the source code of</div><div class='ctx'>  Encryption for the Masses 2.02a, which is Copyright (c) 1998-2000 Paul Le Roux</div><div class='ctx'>  and which is governed by the 'License Agreement for Encryption for the Masses'</div><div class='ctx'>  Modifications and additions to the original source code (contained in this file)</div><div class='ctx'>  and all other portions of this file are Copyright (c) 2013-2017 IDRIX</div><div class='ctx'>  and are governed by the Apache License 2.0 the full text of which is</div><div class='ctx'>  contained in the file License.txt included in VeraCrypt binary and source</div><div class='ctx'>  code distribution packages. */</div><div class='ctx'> </div><div class='ctx'> #include "Tcdefs.h"</div><div class='ctx'> </div><div class='add'>+#include &lt;iostream&gt;		</div><div class='add'>+#include &lt;fstream&gt;</div><div class='add'>+#include &lt;set&gt;</div><div class='add'>+#include &lt;iterator&gt;</div><div class='ctx'> #include &lt;stdlib.h&gt;</div><div class='ctx'> #include &lt;limits.h&gt;</div><div class='ctx'> #include &lt;time.h&gt;</div><div class='ctx'> #include &lt;errno.h&gt;</div><div class='ctx'> #include &lt;io.h&gt;</div><div class='ctx'> #include &lt;sys/stat.h&gt;</div><div class='ctx'> #include &lt;shlobj.h&gt;</div><div class='add'>+#include &lt;commctrl.h&gt;</div><div class='ctx'> </div><div class='ctx'> #include "Crypto.h"</div><div class='ctx'> #include "cpu.h"</div><div class='ctx'> #include "Apidrvr.h"</div><div class='ctx'> #include "Dlgcode.h"</div><div class='ctx'> #include "Language.h"</div><div class='ctx'> #include "Combo.h"</div><div class='ctx'> #include "Registry.h"</div><div class='ctx'> #include "Boot/Windows/BootDefs.h"</div><div class='ctx'> #include "Common/Common.h"</div><div class='ctx'> #include "Common/BootEncryption.h"</div><div class='ctx'> #include "Common/Dictionary.h"</div><div class='ctx'> #include "Common/Endian.h"</div><div class='ctx'> #include "Common/resource.h"</div><div class='ctx'> #include "Common/Pkcs5.h"</div><div class='ctx'> #include "Platform/Finally.h"</div><div class='ctx'> #include "Platform/ForEach.h"</div><div class='ctx'> #include "Random.h"</div><div class='ctx'> #include "Fat.h"</div><div class='ctx'> #include "InPlace.h"</div><div class='ctx'> #include "Resource.h"</div><div class='ctx'> #include "TcFormat.h"</div><div class='ctx'> #include "Format.h"</div><div class='ctx'> #include "FormatCom.h"</div><div class='ctx'> #include "Password.h"</div><div class='ctx'> #include "Progress.h"</div><div class='ctx'> #include "Tests.h"</div><div class='ctx'> #include "Cmdline.h"</div><div class='ctx'> #include "Volumes.h"</div><div class='ctx'> #include "Wipe.h"</div><div class='ctx'> #include "Xml.h"</div><div class='ctx'> #include "SecurityToken.h"</div><div class='ctx'> </div><div class='ctx'> #include &lt;Strsafe.h&gt;</div><div class='ctx'> </div><div class='hunk'>@@ -96,103 +101,119 @@ enum wizard_pages</div><div class='ctx'> 			SYSENC_PRETEST_RESULT_PAGE,</div><div class='ctx'> 			SYSENC_ENCRYPTION_PAGE,</div><div class='ctx'> 		NONSYS_INPLACE_ENC_RESUME_PASSWORD_PAGE,</div><div class='ctx'> 		NONSYS_INPLACE_ENC_RESUME_PARTITION_SEL_PAGE,</div><div class='ctx'> 		NONSYS_INPLACE_ENC_RAND_DATA_PAGE,</div><div class='ctx'> 		NONSYS_INPLACE_ENC_WIPE_MODE_PAGE,</div><div class='ctx'> 		NONSYS_INPLACE_ENC_TRANSFORM_PAGE,</div><div class='ctx'> 		NONSYS_INPLACE_ENC_TRANSFORM_FINISHED_PAGE,</div><div class='ctx'> 		NONSYS_INPLACE_DEC_TRANSFORM_FINISHED_DRIVE_LETTER_PAGE,</div><div class='ctx'> 	FORMAT_PAGE,</div><div class='ctx'> 	FORMAT_FINISHED_PAGE,</div><div class='ctx'> 					SYSENC_HIDDEN_OS_INITIAL_INFO_PAGE,</div><div class='ctx'> 					SYSENC_HIDDEN_OS_WIPE_INFO_PAGE,</div><div class='ctx'> 						DEVICE_WIPE_MODE_PAGE,</div><div class='ctx'> 						DEVICE_WIPE_PAGE</div><div class='ctx'> ;</div><div class='ctx'> </div><div class='ctx'> #define TIMER_INTERVAL_RANDVIEW							30</div><div class='ctx'> #define TIMER_INTERVAL_SYSENC_PROGRESS					30</div><div class='ctx'> #define TIMER_INTERVAL_NONSYS_INPLACE_ENC_PROGRESS		30</div><div class='ctx'> #define TIMER_INTERVAL_SYSENC_DRIVE_ANALYSIS_PROGRESS	100</div><div class='ctx'> #define TIMER_INTERVAL_WIPE_PROGRESS					30</div><div class='ctx'> #define TIMER_INTERVAL_KEYB_LAYOUT_GUARD				10</div><div class='ctx'> </div><div class='ctx'> enum sys_encryption_cmd_line_switches</div><div class='ctx'> </div><div class='ctx'> 	SYSENC_COMMAND_NONE = 0,</div><div class='ctx'> 	SYSENC_COMMAND_RESUME,</div><div class='ctx'> 	SYSENC_COMMAND_STARTUP_SEQ_RESUME,</div><div class='ctx'> 	SYSENC_COMMAND_ENCRYPT,</div><div class='ctx'> 	SYSENC_COMMAND_DECRYPT,</div><div class='ctx'> 	SYSENC_COMMAND_CREATE_HIDDEN_OS,</div><div class='ctx'> 	SYSENC_COMMAND_CREATE_HIDDEN_OS_ELEV</div><div class='ctx'> ;</div><div class='ctx'> </div><div class='add'>+enum password_status</div><div class='add'>+</div><div class='add'>+	very_weak = 0,</div><div class='add'>+	weak,</div><div class='add'>+	medium,</div><div class='add'>+	strong,</div><div class='add'>+	very_strong</div><div class='add'>+;</div><div class='add'>+</div><div class='ctx'> typedef struct</div><div class='ctx'> </div><div class='ctx'> 	int NumberOfSysDrives;			// Number of drives that contain an operating system. -1: unknown, 1: one, 2: two or more</div><div class='ctx'> 	int MultipleSystemsOnDrive;		// Multiple systems are installed on the drive where the currently running system resides.  -1: unknown, 0: no, 1: yes</div><div class='ctx'> 	int BootLoaderLocation;			// Boot loader (boot manager) installed in: 1: MBR/1st cylinder, 0: partition/bootsector: -1: unknown</div><div class='ctx'> 	int BootLoaderBrand;			// -1: unknown, 0: Microsoft Windows, 1: any non-Windows boot manager/loader</div><div class='ctx'> 	int SystemOnBootDrive;			// If the currently running operating system is installed on the boot drive. -1: unknown, 0: no, 1: yes</div><div class='ctx'>  SYSENC_MULTIBOOT_CFG;</div><div class='ctx'> </div><div class='ctx'> #define SYSENC_PAUSE_RETRY_INTERVAL		100</div><div class='ctx'> #define SYSENC_PAUSE_RETRIES			200</div><div class='ctx'> </div><div class='ctx'> // Expected duration of system drive analysis, in ms</div><div class='ctx'> #define SYSENC_DRIVE_ANALYSIS_ETA		(4*60000)</div><div class='ctx'> </div><div class='ctx'> BootEncryption			*BootEncObj = NULL;</div><div class='ctx'> BootEncryptionStatus	BootEncStatus;</div><div class='ctx'> </div><div class='ctx'> HWND hCurPage = NULL;		/* Handle to current wizard page */</div><div class='ctx'> int nCurPageNo = -1;		/* The current wizard page */</div><div class='ctx'> int nLastPageNo = -1;</div><div class='ctx'> volatile int WizardMode = DEFAULT_VOL_CREATION_WIZARD_MODE; /* IMPORTANT: Never change this value directly -- always use ChangeWizardMode() instead. */</div><div class='ctx'> volatile BOOL bHiddenOS = FALSE;		/* If TRUE, we are performing or (or supposed to perform) actions relating to an operating system installed in a hidden volume (i.e., encrypting a decoy OS partition or creating the outer/hidden volume for the hidden OS). To determine or set the phase of the process, call ChangeHiddenOSCreationPhase() and DetermineHiddenOSCreationPhase()) */</div><div class='ctx'> BOOL bDirectSysEncMode = FALSE;</div><div class='ctx'> BOOL bDirectSysEncModeCommand = SYSENC_COMMAND_NONE;</div><div class='ctx'> BOOL DirectDeviceEncMode = FALSE;</div><div class='ctx'> BOOL DirectNonSysInplaceDecStartMode = FALSE;</div><div class='ctx'> BOOL DirectNonSysInplaceEncResumeMode = FALSE;</div><div class='ctx'> BOOL DirectNonSysInplaceDecResumeMode = FALSE;</div><div class='ctx'> BOOL DirectPromptNonSysInplaceEncResumeMode = FALSE;</div><div class='ctx'> BOOL DirectCreationMode = FALSE;</div><div class='ctx'> </div><div class='del'>-volatile BOOL bInPlaceEncNonSys = FALSE;		/* If TRUE, existing data on a non-system partition/volume are to be encrypted (or decrypted if bInPlaceDecNonSys is TRUE) in place (for system encryption, this flag is ignored) */</div><div class='add'>+int iIconX=0;</div><div class='add'>+int iIconY=0;</div><div class='add'>+HWND hDlgItemTooltip = NULL;</div><div class='add'>+HANDLE hIconTooltip = NULL;</div><div class='add'>+char tempPassword[MAX_PASSWORD + 1];</div><div class='add'>+int iPasswordStrength;</div><div class='add'>+</div><div class='add'>+volatile BOOL bInPlaceEncNonSys = TRUE;		/* If TRUE, existing data on a non-system partition/volume are to be encrypted (or decrypted if bInPlaceDecNonSys is TRUE) in place (for system encryption, this flag is ignored) */</div><div class='ctx'> volatile BOOL bInPlaceDecNonSys = FALSE;		/* If TRUE, existing data on a non-system partition/volume are to be decrypted in place (for system encryption, this flag is ignored) */</div><div class='ctx'> volatile BOOL bInPlaceEncNonSysResumed = FALSE;	/* If TRUE, the wizard is supposed to resume (or has resumed) process of non-system in-place encryption/decryption. */</div><div class='ctx'> volatile BOOL bFirstNonSysInPlaceEncResumeDone = FALSE;</div><div class='ctx'> __int64 NonSysInplaceEncBytesDone = 0;</div><div class='ctx'> __int64 NonSysInplaceEncTotalSize = 0;</div><div class='ctx'> BOOL bDeviceTransformModeChoiceMade = FALSE;		/* TRUE if the user has at least once manually selected the 'in-place' or 'format' option (on the 'device transform mode' page). */</div><div class='ctx'> int nNeedToStoreFilesOver4GB = 0;		/* Whether the user wants to be able to store files larger than 4GB on the volume: -1 = Undecided or error, 0 = No, 1 = Yes */</div><div class='ctx'> int nVolumeEA = 1;			/* Default encryption algorithm */</div><div class='ctx'> BOOL bSystemEncryptionInProgress = FALSE;		/* TRUE when encrypting/decrypting the system partition/drive (FALSE when paused). */</div><div class='ctx'> BOOL bWholeSysDrive = FALSE;	/* Whether to encrypt the entire system drive or just the system partition. */</div><div class='ctx'> static BOOL bSystemEncryptionStatusChanged = FALSE;   /* TRUE if this instance changed the value of SystemEncryptionStatus (it's set to FALSE each time the system encryption settings are saved to the config file). This value is to be treated as protected -- only the wizard can change this value (others may only read it). */</div><div class='ctx'> volatile BOOL bSysEncDriveAnalysisInProgress = FALSE;</div><div class='ctx'> volatile BOOL bSysEncDriveAnalysisTimeOutOccurred = FALSE;</div><div class='ctx'> int SysEncDetectHiddenSectors = -1;		/* Whether the user wants us to detect and encrypt the Host Protect Area (if any): -1 = Undecided or error, 0 = No, 1 = Yes */</div><div class='ctx'> int SysEncDriveAnalysisStart;</div><div class='ctx'> BOOL bDontVerifyRescueDisk = FALSE;</div><div class='ctx'> BOOL bFirstSysEncResumeDone = FALSE;</div><div class='ctx'> BOOL bDontCheckFileContainerSize = FALSE; /* If true, we don't check if the given size of file container is smaller than the available size on the hosting disk */</div><div class='ctx'> int nMultiBoot = 0;			/* The number of operating systems installed on the computer, according to the user. 0: undetermined, 1: one, 2: two or more */</div><div class='ctx'> volatile BOOL bHiddenVol = FALSE;	/* If true, we are (or will be) creating a hidden volume. */</div><div class='ctx'> volatile BOOL bHiddenVolHost = FALSE;	/* If true, we are (or will be) creating the host volume (called "outer") for a hidden volume. */</div><div class='ctx'> volatile BOOL bHiddenVolDirect = FALSE;	/* If true, the wizard omits creating a host volume in the course of the process of hidden volume creation. */</div><div class='ctx'> volatile BOOL bHiddenVolFinished = FALSE;</div><div class='ctx'> int hiddenVolHostDriveNo = -1;	/* Drive letter for the volume intended to host a hidden volume. */</div><div class='ctx'> BOOL bRemovableHostDevice = FALSE;	/* TRUE when creating a device/partition-hosted volume on a removable device. State undefined when creating file-hosted volumes. */</div><div class='ctx'> int realClusterSize;		/* Parameter used when determining the maximum possible size of a hidden volume. */</div><div class='ctx'> int hash_algo = DEFAULT_HASH_ALGORITHM;	/* Which PRF to use in header key derivation (PKCS #5) and in the RNG. */</div><div class='ctx'> unsigned __int64 nUIVolumeSize = 0;		/* The volume size. Important: This value is not in bytes. It has to be multiplied by nMultiplier. Do not use this value when actually creating the volume (it may chop off sector size, if it is not a multiple of 1024 bytes). */</div><div class='ctx'> unsigned __int64 nVolumeSize = 0;		/* The volume size, in bytes. */</div><div class='ctx'> unsigned __int64 nHiddenVolHostSize = 0;	/* Size of the hidden volume host, in bytes */</div><div class='ctx'> __int64 nMaximumHiddenVolSize = 0;		/* Maximum possible size of the hidden volume, in bytes */</div><div class='ctx'> __int64 nbrFreeClusters = 0;</div><div class='ctx'> __int64 nMultiplier = BYTES_PER_MB;		/* Size selection multiplier. */</div><div class='ctx'> wchar_t szFileName[TC_MAX_PATH+1];	/* The file selected by the user */</div><div class='ctx'> wchar_t szDiskFile[TC_MAX_PATH+1];	/* Fully qualified name derived from szFileName */</div><div class='hunk'>@@ -204,135 +225,141 @@ volatile BOOL DiscardUnreadableEncryptedSectors = FALSE;</div><div class='ctx'> volatile BOOL bVolTransformThreadCancel = FALSE;	/* TRUE if the user cancels/pauses volume encryption/format */</div><div class='ctx'> volatile BOOL bVolTransformThreadRunning = FALSE;	/* Is the volume encryption/format thread running */</div><div class='ctx'> volatile BOOL bVolTransformThreadToRun = FALSE;		/* TRUE if the Format/Encrypt button has been clicked and we are proceeding towards launching the thread. */</div><div class='ctx'> </div><div class='ctx'> volatile BOOL bConfirmQuit = FALSE;		/* If TRUE, the user is asked to confirm exit when he clicks the X icon, Exit, etc. */</div><div class='ctx'> volatile BOOL bConfirmQuitSysEncPretest = FALSE;</div><div class='ctx'> </div><div class='ctx'> BOOL bDevice = FALSE;		/* Is this a partition volume ? */</div><div class='ctx'> </div><div class='ctx'> BOOL showKeys = FALSE;</div><div class='ctx'> volatile HWND hMasterKey = NULL;		/* Text box showing hex dump of the master key */</div><div class='ctx'> volatile HWND hHeaderKey = NULL;		/* Text box showing hex dump of the header key */</div><div class='ctx'> volatile HWND hRandPool = NULL;		/* Text box showing hex dump of the random pool */</div><div class='ctx'> volatile HWND hRandPoolSys = NULL;	/* Text box showing hex dump of the random pool for system encryption */</div><div class='ctx'> volatile HWND hPasswordInputField = NULL;	/* Password input field */</div><div class='ctx'> volatile HWND hVerifyPasswordInputField = NULL;		/* Verify-password input field */</div><div class='ctx'> </div><div class='ctx'> HBITMAP hbmWizardBitmapRescaled = NULL;</div><div class='ctx'> </div><div class='ctx'> wchar_t OrigKeyboardLayout [8+1] = L"00000409";</div><div class='ctx'> BOOL bKeyboardLayoutChanged = FALSE;		/* TRUE if the keyboard layout was changed to the standard US keyboard layout (from any other layout). */</div><div class='ctx'> BOOL bKeybLayoutAltKeyWarningShown = FALSE;	/* TRUE if the user has been informed that it is not possible to type characters by pressing keys while the right Alt key is held down. */</div><div class='ctx'> </div><div class='ctx'> #ifndef _DEBUG</div><div class='ctx'> 	BOOL bWarnDeviceFormatAdvanced = TRUE;</div><div class='ctx'> #else</div><div class='ctx'> 	BOOL bWarnDeviceFormatAdvanced = FALSE;</div><div class='ctx'> #endif</div><div class='ctx'> </div><div class='ctx'> BOOL bWarnOuterVolSuitableFileSys = TRUE;</div><div class='ctx'> </div><div class='ctx'> Password volumePassword;			/* User password */</div><div class='ctx'> Password outerVolumePassword;			/* Outer volume user password */</div><div class='ctx'> char szVerify[MAX_PASSWORD + 1];	/* Tmp password buffer */</div><div class='ctx'> char szRawPassword[MAX_PASSWORD + 1];	/* Password before keyfile was applied to it */</div><div class='add'>+BOOL bNextButtonClicked = FALSE;</div><div class='ctx'> </div><div class='ctx'> int volumePim = 0;</div><div class='ctx'> int outerVolumePim = 0;</div><div class='ctx'> </div><div class='ctx'> BOOL bHistoryCmdLine = FALSE; /* History control is always disabled */</div><div class='ctx'> BOOL ComServerMode = FALSE;</div><div class='ctx'> </div><div class='ctx'> </div><div class='ctx'> Password CmdVolumePassword = 0; /* Password passed from command line */</div><div class='ctx'> int CmdVolumeEA = 0;</div><div class='ctx'> int CmdVolumePkcs5 = 0;</div><div class='ctx'> int CmdVolumePim = 0;</div><div class='ctx'> int CmdVolumeFilesystem = FILESYS_NONE;</div><div class='ctx'> unsigned __int64 CmdVolumeFileSize = 0;</div><div class='ctx'> BOOL CmdSparseFileSwitch = FALSE;</div><div class='ctx'> BOOL CmdQuickFormat = FALSE;</div><div class='ctx'> BOOL CmdFastCreateFile = FALSE;</div><div class='ctx'> </div><div class='ctx'> BOOL bForceOperation = FALSE;</div><div class='ctx'> </div><div class='ctx'> BOOL bOperationSuccess = FALSE;</div><div class='ctx'> </div><div class='ctx'> BOOL bGuiMode = TRUE;</div><div class='ctx'> </div><div class='ctx'> BOOL bSystemIsGPT = FALSE;</div><div class='ctx'> </div><div class='ctx'> KeyFile *FirstCmdKeyFile = NULL;</div><div class='ctx'> </div><div class='ctx'> int nPbar = 0;			/* Control ID of progress bar:- for format code */</div><div class='ctx'> </div><div class='ctx'> wchar_t HeaderKeyGUIView [KEY_GUI_VIEW_SIZE];</div><div class='ctx'> wchar_t MasterKeyGUIView [KEY_GUI_VIEW_SIZE];</div><div class='ctx'> </div><div class='ctx'> #define RANDPOOL_DISPLAY_COLUMNS	15</div><div class='ctx'> #define RANDPOOL_DISPLAY_ROWS		8</div><div class='ctx'> #define RANDPOOL_DISPLAY_BYTE_PORTION	(RANDPOOL_DISPLAY_COLUMNS * RANDPOOL_DISPLAY_ROWS)</div><div class='ctx'> #define RANDPOOL_DISPLAY_SIZE	(RANDPOOL_DISPLAY_BYTE_PORTION * 3 + RANDPOOL_DISPLAY_ROWS + 2)</div><div class='ctx'> unsigned char randPool [RANDPOOL_DISPLAY_BYTE_PORTION];</div><div class='ctx'> unsigned char lastRandPool [RANDPOOL_DISPLAY_BYTE_PORTION];</div><div class='ctx'> static unsigned char maskRandPool [RANDPOOL_DISPLAY_BYTE_PORTION];</div><div class='ctx'> static BOOL bUseMask = FALSE;</div><div class='ctx'> static DWORD mouseEntropyGathered = 0xFFFFFFFF;</div><div class='ctx'> static DWORD mouseEventsInitialCount = 0;</div><div class='ctx'> /* max value of entropy needed to fill all random pool = 8 * RNG_POOL_SIZE = 2560 bits */</div><div class='ctx'> static const DWORD maxEntropyLevel = RNG_POOL_SIZE * 8;</div><div class='ctx'> static HWND hEntropyBar = NULL;</div><div class='ctx'> wchar_t outRandPoolDispBuffer [RANDPOOL_DISPLAY_SIZE];</div><div class='ctx'> BOOL bDisplayPoolContents = TRUE;</div><div class='ctx'> </div><div class='ctx'> volatile BOOL bSparseFileSwitch = FALSE;</div><div class='ctx'> volatile BOOL quickFormat = FALSE;</div><div class='ctx'> volatile BOOL fastCreateFile = FALSE;</div><div class='ctx'> volatile BOOL dynamicFormat = FALSE; /* this variable represents the sparse file flag. */</div><div class='ctx'> volatile int fileSystem = FILESYS_NONE;</div><div class='ctx'> volatile int clusterSize = 0;</div><div class='ctx'> </div><div class='ctx'> SYSENC_MULTIBOOT_CFG	SysEncMultiBootCfg;</div><div class='ctx'> wchar_t SysEncMultiBootCfgOutcome [4096] = L'N',L'/',L'A',0;</div><div class='ctx'> volatile int NonSysInplaceEncStatus = NONSYS_INPLACE_ENC_STATUS_NONE;</div><div class='ctx'> </div><div class='ctx'> LONGLONG nAvailableFreeSpace = -1;</div><div class='ctx'> BOOL bIsSparseFilesSupportedByHost = FALSE;</div><div class='ctx'> </div><div class='ctx'> vector &lt;HostDevice&gt; DeferredNonSysInPlaceEncDevices;</div><div class='ctx'> </div><div class='add'>+BOOL bChecklistA;</div><div class='add'>+BOOL bChecklistB;</div><div class='add'>+BOOL bChecklistC;</div><div class='add'>+BOOL bCheckboxPretest;</div><div class='add'>+</div><div class='ctx'> int iMaxPasswordLength = MAX_PASSWORD;</div><div class='ctx'> </div><div class='ctx'> // specific definitions and implementation for support of resume operation</div><div class='ctx'> // in wait dialog mechanism</div><div class='ctx'> </div><div class='ctx'> void CALLBACK ResumeInPlaceEncWaitThreadProc(void* pArg, HWND hwndDlg)</div><div class='ctx'> </div><div class='ctx'> 	wchar_t szDevicePath[MAX_PATH] = 0;</div><div class='ctx'> 	RawDevicesDlgParam param;</div><div class='ctx'> 	param.devices = GetAvailableHostDevices (false, true, false);</div><div class='ctx'> 	param.pszFileName = szDevicePath;</div><div class='ctx'> </div><div class='ctx'> 	DeferredNonSysInPlaceEncDevices.clear();</div><div class='ctx'> </div><div class='ctx'> 	if ((IDOK == DialogBoxParamW (hInst,</div><div class='ctx'> 		MAKEINTRESOURCEW (IDD_RAWDEVICES_DLG), hwndDlg,</div><div class='ctx'> 		(DLGPROC) RawDevicesDlgProc, (LPARAM) &amp;param)) &amp;&amp; wcslen(szDevicePath))</div><div class='ctx'> 	</div><div class='ctx'> 		foreach (const HostDevice &amp;device, param.devices)</div><div class='ctx'> 		</div><div class='ctx'> 			if (device.Path == szDevicePath)</div><div class='ctx'> 			</div><div class='ctx'> 				OpenVolumeContext volume;</div><div class='ctx'> 				int status = OpenVolume (&amp;volume, device.Path.c_str(), &amp;volumePassword, hash_algo, volumePim, FALSE, FALSE, FALSE, TRUE);</div><div class='ctx'> </div><div class='ctx'> 				if ( status == ERR_SUCCESS)</div><div class='ctx'> 				</div><div class='ctx'> 					if ((volume.CryptoInfo-&gt;HeaderFlags &amp; TC_HEADER_FLAG_NONSYS_INPLACE_ENC) != 0</div><div class='ctx'> 						&amp;&amp; volume.CryptoInfo-&gt;EncryptedAreaLength.Value != volume.CryptoInfo-&gt;VolumeSize.Value)</div><div class='ctx'> 					</div><div class='ctx'> 						DeferredNonSysInPlaceEncDevices.push_back (device);</div><div class='ctx'> 					</div><div class='ctx'> 					else if (volume.CryptoInfo-&gt;EncryptedAreaLength.Value == volume.CryptoInfo-&gt;VolumeSize.Value)</div><div class='ctx'> 					</div><div class='ctx'> 						WCHAR szMsg[1024];</div><div class='hunk'>@@ -1387,153 +1414,75 @@ static BOOL ForceRemoveSysEnc (void)</div><div class='ctx'> 			e.Show (MainDlg);</div><div class='ctx'> 			return FALSE;</div><div class='ctx'> 		</div><div class='ctx'> </div><div class='ctx'> 		return TRUE;</div><div class='ctx'> 	</div><div class='ctx'> 	else</div><div class='ctx'> 		return FALSE;</div><div class='ctx'> </div><div class='ctx'> </div><div class='ctx'> // Returns 0 if there's an error.</div><div class='ctx'> __int64 GetSystemPartitionSize (void)</div><div class='ctx'> </div><div class='ctx'> 	try</div><div class='ctx'> 	</div><div class='ctx'> 		return BootEncObj-&gt;GetSystemDriveConfiguration().SystemPartition.Info.PartitionLength.QuadPart;</div><div class='ctx'> 	</div><div class='ctx'> 	catch (Exception &amp;e)</div><div class='ctx'> 	</div><div class='ctx'> 		e.Show (MainDlg);</div><div class='ctx'> 		return 0;</div><div class='ctx'> 	</div><div class='ctx'> </div><div class='ctx'> </div><div class='ctx'> void ComboSelChangeEA (HWND hwndDlg)</div><div class='ctx'> </div><div class='ctx'> 	int nIndex = (int) SendMessage (GetDlgItem (hwndDlg, IDC_COMBO_BOX), CB_GETCURSEL, 0, 0);</div><div class='ctx'> </div><div class='ctx'> 	if (nIndex == CB_ERR)</div><div class='ctx'> 	</div><div class='ctx'> 		SetWindowText (GetDlgItem (hwndDlg, IDC_BOX_HELP), L"");</div><div class='ctx'> 	</div><div class='ctx'> 	else</div><div class='ctx'> 	</div><div class='ctx'> 		wchar_t name[100];</div><div class='del'>-		wchar_t auxLine[4096];</div><div class='del'>-		wchar_t hyperLink[256] =  0 ;</div><div class='del'>-		int cipherIDs[5];</div><div class='del'>-		int i, cnt = 0;</div><div class='ctx'> </div><div class='ctx'> 		nIndex = (int) SendMessage (GetDlgItem (hwndDlg, IDC_COMBO_BOX), CB_GETITEMDATA, nIndex, 0);</div><div class='ctx'> 		EAGetName (name, ARRAYSIZE(name),nIndex, 0);</div><div class='ctx'> </div><div class='del'>-		if (wcscmp (name, L"AES") == 0)</div><div class='del'>-		</div><div class='del'>-			StringCbPrintfW (hyperLink, sizeof(hyperLink) / 2, GetString ("MORE_INFO_ABOUT"), name);</div><div class='del'>-</div><div class='del'>-			SetWindowTextW (GetDlgItem (hwndDlg, IDC_BOX_HELP), GetString ("AES_HELP"));</div><div class='del'>-		</div><div class='del'>-		else if (wcscmp (name, L"Serpent") == 0)</div><div class='del'>-		</div><div class='del'>-			StringCbPrintfW (hyperLink, sizeof(hyperLink) / 2, GetString ("MORE_INFO_ABOUT"), name);</div><div class='del'>-</div><div class='del'>-			SetWindowTextW (GetDlgItem (hwndDlg, IDC_BOX_HELP), GetString ("SERPENT_HELP"));</div><div class='del'>-		</div><div class='del'>-		else if (wcscmp (name, L"Twofish") == 0)</div><div class='del'>-		</div><div class='del'>-			StringCbPrintfW (hyperLink, sizeof(hyperLink) / 2, GetString ("MORE_INFO_ABOUT"), name);</div><div class='del'>-</div><div class='del'>-			SetWindowTextW (GetDlgItem (hwndDlg, IDC_BOX_HELP), GetString ("TWOFISH_HELP"));</div><div class='del'>-		</div><div class='del'>-		else if (wcscmp (name, L"Kuznyechik") == 0)</div><div class='del'>-		</div><div class='del'>-			StringCbPrintfW (hyperLink, sizeof(hyperLink) / 2, GetString ("MORE_INFO_ABOUT"), name);</div><div class='del'>-</div><div class='del'>-			SetWindowTextW (GetDlgItem (hwndDlg, IDC_BOX_HELP), GetString ("KUZNYECHIK_HELP"));</div><div class='del'>-		</div><div class='del'>-		else if (wcscmp (name, L"Camellia") == 0)</div><div class='del'>-		</div><div class='del'>-			StringCbPrintfW (hyperLink, sizeof(hyperLink) / 2, GetString ("MORE_INFO_ABOUT"), name);</div><div class='del'>-</div><div class='del'>-			SetWindowTextW (GetDlgItem (hwndDlg, IDC_BOX_HELP), GetString ("CAMELLIA_HELP"));</div><div class='del'>-		</div><div class='del'>-		else if (EAGetCipherCount (nIndex) &gt; 1)</div><div class='del'>-		</div><div class='del'>-			// Cascade</div><div class='del'>-			cipherIDs[cnt++] = i = EAGetLastCipher(nIndex);</div><div class='del'>-			while (i = EAGetPreviousCipher(nIndex, i))</div><div class='del'>-			</div><div class='del'>-				cipherIDs[cnt] = i;</div><div class='del'>-				cnt++;</div><div class='del'>-			</div><div class='del'>-</div><div class='del'>-			switch (cnt)	// Number of ciphers in the cascade</div><div class='del'>-			</div><div class='del'>-			case 2:</div><div class='del'>-				StringCbPrintfW (auxLine, sizeof(auxLine), GetString ("TWO_LAYER_CASCADE_HELP"),</div><div class='del'>-					CipherGetName (cipherIDs[1]),</div><div class='del'>-					CipherGetKeySize (cipherIDs[1])*8,</div><div class='del'>-					CipherGetName (cipherIDs[0]),</div><div class='del'>-					CipherGetKeySize (cipherIDs[0])*8);</div><div class='del'>-				break;</div><div class='del'>-</div><div class='del'>-			case 3:</div><div class='del'>-				StringCbPrintfW (auxLine, sizeof(auxLine), GetString ("THREE_LAYER_CASCADE_HELP"),</div><div class='del'>-					CipherGetName (cipherIDs[2]),</div><div class='del'>-					CipherGetKeySize (cipherIDs[2])*8,</div><div class='del'>-					CipherGetName (cipherIDs[1]),</div><div class='del'>-					CipherGetKeySize (cipherIDs[1])*8,</div><div class='del'>-					CipherGetName (cipherIDs[0]),</div><div class='del'>-					CipherGetKeySize (cipherIDs[0])*8);</div><div class='del'>-				break;</div><div class='del'>-			</div><div class='del'>-</div><div class='del'>-			StringCbCopyW (hyperLink, sizeof(hyperLink), GetString ("IDC_LINK_MORE_INFO_ABOUT_CIPHER"));</div><div class='del'>-</div><div class='del'>-			SetWindowTextW (GetDlgItem (hwndDlg, IDC_BOX_HELP), auxLine);</div><div class='del'>-		</div><div class='del'>-		else</div><div class='del'>-		</div><div class='del'>-			// No info available for this encryption algorithm</div><div class='del'>-			SetWindowTextW (GetDlgItem (hwndDlg, IDC_BOX_HELP), L"");</div><div class='del'>-		</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-		// Update hyperlink</div><div class='del'>-		SetWindowTextW (GetDlgItem (hwndDlg, IDC_LINK_MORE_INFO_ABOUT_CIPHER), hyperLink);</div><div class='del'>-		AccommodateTextField (hwndDlg, IDC_LINK_MORE_INFO_ABOUT_CIPHER, FALSE, hUserUnderlineFont);</div><div class='add'>+		SetWindowTextW (GetDlgItem (hwndDlg, IDC_BOX_HELP), GetString ("AES_HELP_NEW"));</div><div class='ctx'> 	</div><div class='ctx'> </div><div class='ctx'> </div><div class='ctx'> static void VerifySizeAndUpdate (HWND hwndDlg, BOOL bUpdate)</div><div class='ctx'> </div><div class='ctx'> 	BOOL bEnable = TRUE;</div><div class='ctx'> 	wchar_t szTmp[50];</div><div class='ctx'> 	__int64 lTmp;</div><div class='ctx'> 	__int64 i;</div><div class='ctx'> 	static unsigned __int64 nLastVolumeSize = 0;</div><div class='ctx'> </div><div class='ctx'> 	GetWindowText (GetDlgItem (hwndDlg, IDC_SIZEBOX), szTmp, ARRAYSIZE (szTmp));</div><div class='ctx'> </div><div class='ctx'> 	for (i = 0; i &lt; (__int64) wcslen (szTmp); i++)</div><div class='ctx'> 	</div><div class='ctx'> 		if (szTmp[i] &gt;= L'0' &amp;&amp; szTmp[i] &lt;= L'9')</div><div class='ctx'> 			continue;</div><div class='ctx'> 		else</div><div class='ctx'> 		</div><div class='ctx'> 			bEnable = FALSE;</div><div class='ctx'> 			break;</div><div class='ctx'> 		</div><div class='ctx'> 	</div><div class='ctx'> </div><div class='ctx'> 	if (IsButtonChecked (GetDlgItem (hwndDlg, IDC_KB)))</div><div class='ctx'> 		nMultiplier = BYTES_PER_KB;</div><div class='ctx'> 	else if (IsButtonChecked (GetDlgItem (hwndDlg, IDC_MB)))</div><div class='ctx'> 		nMultiplier = BYTES_PER_MB;</div><div class='ctx'> 	else if (IsButtonChecked (GetDlgItem (hwndDlg, IDC_GB)))</div><div class='ctx'> 		nMultiplier = BYTES_PER_GB;</div><div class='ctx'> 	else</div><div class='ctx'> 		nMultiplier = BYTES_PER_TB;</div><div class='ctx'> </div><div class='ctx'> 	if (bDevice &amp;&amp; !(bHiddenVol &amp;&amp; !bHiddenVolHost))	// If raw device but not a hidden volume</div><div class='ctx'> 	</div><div class='hunk'>@@ -3744,130 +3693,178 @@ BOOL CALLBACK PageDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa</div><div class='ctx'> 		PimValueChangedWarning = FALSE;</div><div class='ctx'> 		LocalizeDialog (hwndDlg, "IDD_VOL_CREATION_WIZARD_DLG");</div><div class='ctx'> </div><div class='ctx'> 		burn (randPool, sizeof(randPool));</div><div class='ctx'> 		burn (lastRandPool, sizeof(lastRandPool));</div><div class='ctx'> 		burn (maskRandPool, sizeof (maskRandPool));</div><div class='ctx'> </div><div class='ctx'> 		UpdateLastDialogId ();</div><div class='ctx'> </div><div class='ctx'> 		switch (nCurPageNo)</div><div class='ctx'> 		</div><div class='ctx'> 		case INTRO_PAGE:</div><div class='ctx'> </div><div class='ctx'> 			SendMessage (GetDlgItem (hwndDlg, IDC_FILE_CONTAINER), WM_SETFONT, (WPARAM) hUserBoldFont, (LPARAM) TRUE);</div><div class='ctx'> 			SendMessage (GetDlgItem (hwndDlg, IDC_NONSYS_DEVICE), WM_SETFONT, (WPARAM) hUserBoldFont, (LPARAM) TRUE);</div><div class='ctx'> 			SendMessage (GetDlgItem (hwndDlg, IDC_SYS_DEVICE), WM_SETFONT, (WPARAM) hUserBoldFont, (LPARAM) TRUE);</div><div class='ctx'> </div><div class='ctx'> 			SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_BOX_TITLE), GetString ("INTRO_TITLE"));</div><div class='ctx'> </div><div class='ctx'> 			ToHyperlink (hwndDlg, IDC_MORE_INFO_ON_CONTAINERS);</div><div class='ctx'> 			ToHyperlink (hwndDlg, IDC_MORE_INFO_ON_SYS_ENCRYPTION);</div><div class='ctx'> </div><div class='ctx'> 			EnableWindow (GetDlgItem (hwndDlg, IDC_STD_VOL), TRUE);</div><div class='ctx'> 			EnableWindow (GetDlgItem (hwndDlg, IDC_HIDDEN_VOL), TRUE);</div><div class='ctx'> </div><div class='ctx'> 			SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), GetString ("NEXT"));</div><div class='ctx'> 			SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_PREV), GetString ("PREV"));</div><div class='ctx'> 			SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDCANCEL), GetString ("CANCEL"));</div><div class='ctx'> 			EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), TRUE);</div><div class='ctx'> 			EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_PREV), FALSE);</div><div class='ctx'> </div><div class='ctx'> 			UpdateWizardModeControls (hwndDlg, WizardMode);</div><div class='ctx'> 			break;</div><div class='ctx'> </div><div class='ctx'> 		case SYSENC_TYPE_PAGE:</div><div class='add'>+			</div><div class='ctx'> </div><div class='ctx'> 			bHiddenVolHost = bHiddenVol = bHiddenOS;</div><div class='ctx'> </div><div class='del'>-			SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_BOX_TITLE), GetString ("SYSENC_TYPE_PAGE_TITLE"));</div><div class='del'>-</div><div class='del'>-			SendMessage (GetDlgItem (hwndDlg, IDC_SYSENC_HIDDEN), WM_SETFONT, (WPARAM) hUserBoldFont, (LPARAM) TRUE);</div><div class='del'>-			SendMessage (GetDlgItem (hwndDlg, IDC_SYSENC_NORMAL), WM_SETFONT, (WPARAM) hUserBoldFont, (LPARAM) TRUE);</div><div class='add'>+			wchar_t finalMsg[8024] = 0;</div><div class='ctx'> </div><div class='del'>-			DisableIfGpt(GetDlgItem(hwndDlg, IDC_SYSENC_HIDDEN));</div><div class='add'>+			try</div><div class='add'>+			</div><div class='add'>+				StringCbPrintfW (finalMsg, sizeof(finalMsg),</div><div class='add'>+					GetString ("SYSENC_TYPE_PAGE_TITLE"),</div><div class='add'>+					GetSystemDriveLetter ());</div><div class='add'>+			</div><div class='add'>+			catch (Exception &amp;e)</div><div class='add'>+			</div><div class='add'>+				e.Show (hwndDlg);</div><div class='add'>+				EndMainDlg (MainDlg);</div><div class='add'>+				return 0;</div><div class='add'>+			</div><div class='ctx'> </div><div class='del'>-			CheckButton (GetDlgItem (hwndDlg, bHiddenOS ? IDC_SYSENC_HIDDEN : IDC_SYSENC_NORMAL));</div><div class='add'>+			SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_BOX_TITLE), finalMsg);</div><div class='ctx'> </div><div class='del'>-			SetWindowTextW (GetDlgItem (hwndDlg, IDC_BOX_HELP), GetString ("SYSENC_HIDDEN_TYPE_HELP"));</div><div class='del'>-			SetWindowTextW (GetDlgItem (hwndDlg, IDC_BOX_HELP_SYSENC_NORMAL), GetString ("SYSENC_NORMAL_TYPE_HELP"));</div><div class='add'>+			memset (finalMsg, 0, sizeof (finalMsg));</div><div class='add'>+			try</div><div class='add'>+			</div><div class='add'>+				StringCbPrintfW (finalMsg, sizeof(finalMsg),</div><div class='add'>+					GetString ("SYSENC_INFO"),</div><div class='add'>+					GetSystemDriveLetter ());</div><div class='add'>+			</div><div class='add'>+			catch (Exception &amp;e)</div><div class='add'>+			</div><div class='add'>+				e.Show (hwndDlg);</div><div class='add'>+				EndMainDlg (MainDlg);</div><div class='add'>+				return 0;</div><div class='add'>+			</div><div class='ctx'> </div><div class='del'>-			ToHyperlink (hwndDlg, IDC_HIDDEN_SYSENC_INFO_LINK);</div><div class='add'>+			SetWindowTextW (GetDlgItem (hwndDlg, IDC_BOX_HELP), finalMsg);</div><div class='add'>+			SetWindowTextW (GetDlgItem (hwndDlg, IDT_SYSENC_INFO_2), GetString ("SYSENC_INFO_2"));</div><div class='add'>+			</div><div class='add'>+			if (bSystemIsGPT)</div><div class='add'>+			</div><div class='add'>+				ShowWindow (GetDlgItem(hwndDlg, IDC_ADVANCE_INTRO), SW_HIDE);</div><div class='add'>+				ShowWindow (GetDlgItem(hwndDlg, IDC_INFORMATION_TIP), SW_HIDE);</div><div class='add'>+			</div><div class='add'>+			else</div><div class='add'>+			</div><div class='add'>+				EnableWindow (GetDlgItem(hwndDlg, IDC_ADVANCE_INTRO), TRUE);</div><div class='add'>+				iIconX = GetSystemMetrics (SM_CXSMICON);</div><div class='add'>+				iIconY = GetSystemMetrics (SM_CYSMICON);</div><div class='ctx'> </div><div class='add'>+				hIconTooltip = LoadImage (NULL, MAKEINTRESOURCE (104), IMAGE_ICON, iIconX, iIconY, LR_DEFAULTCOLOR);</div><div class='add'>+				SendDlgItemMessage (hwndDlg, IDC_INFORMATION_TIP, STM_SETICON, (WPARAM) hIconTooltip, 0);</div><div class='add'>+			</div><div class='add'>+				hDlgItemTooltip = GetDlgItem (hwndDlg, IDC_INFORMATION_TIP);</div><div class='add'>+				if (hDlgItemTooltip)</div><div class='add'>+				</div><div class='add'>+					CreateToolTip (hwndDlg, hDlgItemTooltip, GetString ("ADV_FEATURES_INTRO_TOOLTIP"));</div><div class='add'>+				</div><div class='add'>+				else</div><div class='add'>+				</div><div class='add'>+					MessageBox (0, TEXT("Cannot find dialog item"), 0, 0);</div><div class='add'>+				</div><div class='add'>+			</div><div class='add'>+			</div><div class='ctx'> 			EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), TRUE);</div><div class='ctx'> 			EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_PREV), !bDirectSysEncMode);</div><div class='ctx'> </div><div class='ctx'> 			SetWindowTextW (GetDlgItem (MainDlg, IDC_NEXT), GetString ("NEXT"));</div><div class='ctx'> 			SetWindowTextW (GetDlgItem (MainDlg, IDC_PREV), GetString ("PREV"));</div><div class='ctx'> 			SetWindowTextW (GetDlgItem (MainDlg, IDCANCEL), GetString ("CANCEL"));</div><div class='add'>+			</div><div class='add'>+			// Start loading the password dictonary into memory ("need" is just a random word for initializing the process)	</div><div class='add'>+			CheckWord("need");</div><div class='ctx'> 			break;</div><div class='del'>-</div><div class='add'>+			</div><div class='ctx'> 		case SYSENC_HIDDEN_OS_REQ_CHECK_PAGE:</div><div class='ctx'> </div><div class='ctx'> 			SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_BOX_TITLE), GetString ("SYSENC_HIDDEN_OS_REQ_CHECK_PAGE_TITLE"));</div><div class='ctx'> 			SetWindowTextW (GetDlgItem (hwndDlg, IDC_BOX_HELP), GetString ("SYSENC_HIDDEN_OS_REQ_CHECK_PAGE_HELP"));</div><div class='ctx'> 			SetWindowTextW (GetDlgItem (MainDlg, IDC_NEXT), GetString ("NEXT"));</div><div class='ctx'> 			SetWindowTextW (GetDlgItem (MainDlg, IDC_PREV), GetString ("PREV"));</div><div class='ctx'> 			SetWindowTextW (GetDlgItem (MainDlg, IDCANCEL), GetString ("CANCEL"));</div><div class='ctx'> </div><div class='ctx'> 			EnableWindow (GetDlgItem (MainDlg, IDC_NEXT), TRUE);</div><div class='ctx'> 			EnableWindow (GetDlgItem (MainDlg, IDC_PREV), bDirectSysEncModeCommand != SYSENC_COMMAND_CREATE_HIDDEN_OS &amp;&amp; bDirectSysEncModeCommand != SYSENC_COMMAND_CREATE_HIDDEN_OS_ELEV);</div><div class='ctx'> </div><div class='ctx'> 			ToHyperlink (hwndDlg, IDC_HIDDEN_SYSENC_INFO_LINK);</div><div class='ctx'> 			break;</div><div class='ctx'> </div><div class='ctx'> 		case SYSENC_SPAN_PAGE:</div><div class='ctx'> </div><div class='ctx'> 			SendMessage (GetDlgItem (hwndDlg, IDC_WHOLE_SYS_DRIVE), WM_SETFONT, (WPARAM) hUserBoldFont, (LPARAM) TRUE);</div><div class='ctx'> 			SendMessage (GetDlgItem (hwndDlg, IDC_SYS_PARTITION), WM_SETFONT, (WPARAM) hUserBoldFont, (LPARAM) TRUE);</div><div class='ctx'> </div><div class='ctx'> 			SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_BOX_TITLE), GetString ("SYS_ENCRYPTION_SPAN_TITLE"));</div><div class='ctx'> </div><div class='ctx'> 			SetWindowTextW (GetDlgItem (hwndDlg, IDT_WHOLE_SYS_DRIVE), GetString ("SYS_ENCRYPTION_SPAN_WHOLE_SYS_DRIVE_HELP"));</div><div class='ctx'> </div><div class='ctx'> 			CheckButton (GetDlgItem (hwndDlg, bWholeSysDrive ? IDC_WHOLE_SYS_DRIVE : IDC_SYS_PARTITION));</div><div class='ctx'> 			DisableIfGpt(GetDlgItem(hwndDlg, IDC_WHOLE_SYS_DRIVE));</div><div class='ctx'> </div><div class='ctx'> 			SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), GetString ("NEXT"));</div><div class='ctx'> 			SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_PREV), GetString ("PREV"));</div><div class='ctx'> 			SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDCANCEL), GetString ("CANCEL"));</div><div class='ctx'> </div><div class='ctx'> 			EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), TRUE);</div><div class='ctx'> 			EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_PREV), TRUE);</div><div class='ctx'> 			break;</div><div class='ctx'> </div><div class='del'>-</div><div class='ctx'> 		case SYSENC_PRE_DRIVE_ANALYSIS_PAGE:</div><div class='ctx'> </div><div class='ctx'> 			Init2RadButtonPageYesNo (SysEncDetectHiddenSectors);</div><div class='ctx'> 			SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_BOX_TITLE), GetString ("SYSENC_PRE_DRIVE_ANALYSIS_TITLE"));</div><div class='ctx'> 			SetWindowTextW (GetDlgItem (hwndDlg, IDC_BOX_HELP), GetString ("SYSENC_PRE_DRIVE_ANALYSIS_HELP"));</div><div class='ctx'> 			break;</div><div class='ctx'> </div><div class='ctx'> </div><div class='ctx'> 		case SYSENC_DRIVE_ANALYSIS_PAGE:</div><div class='ctx'> </div><div class='ctx'> 			SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_BOX_TITLE), GetString ("SYSENC_DRIVE_ANALYSIS_TITLE"));</div><div class='ctx'> 			SetWindowTextW (GetDlgItem (hwndDlg, IDT_SYSENC_DRIVE_ANALYSIS_INFO), GetString ("SYSENC_DRIVE_ANALYSIS_INFO"));</div><div class='ctx'> 			SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), GetString ("NEXT"));</div><div class='ctx'> 			SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_PREV), GetString ("PREV"));</div><div class='ctx'> 			SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDCANCEL), GetString ("CANCEL"));</div><div class='ctx'> 			EnableWindow (GetDlgItem (MainDlg, IDC_NEXT), FALSE);</div><div class='ctx'> 			EnableWindow (GetDlgItem (MainDlg, IDC_PREV), FALSE);</div><div class='ctx'> 			EnableWindow (GetDlgItem (MainDlg, IDCANCEL), FALSE);</div><div class='ctx'> </div><div class='ctx'> 			LoadSettings (hwndDlg);</div><div class='ctx'> </div><div class='ctx'> 			if (HiddenSectorDetectionStatus == 1)</div><div class='ctx'> 			</div><div class='ctx'> 				// Detection of hidden sectors was already in progress but it did not finish successfully.</div><div class='ctx'> 				// Ask the user if he wants to try again (to prevent repeated system freezing, etc.)</div><div class='ctx'> </div><div class='ctx'> 				char *tmpStr[] = 0, "HIDDEN_SECTOR_DETECTION_FAILED_PREVIOUSLY", "SKIP_HIDDEN_SECTOR_DETECTION", "RETRY_HIDDEN_SECTOR_DETECTION", "IDC_EXIT", 0;</div><div class='ctx'> 				switch (AskMultiChoice ((void **) tmpStr, FALSE, MainDlg))</div><div class='ctx'> 				</div><div class='ctx'> 				case 1:</div><div class='ctx'> 					// Do not try again</div><div class='ctx'> 					LoadPage (MainDlg, SYSENC_DRIVE_ANALYSIS_PAGE + 1);</div><div class='ctx'> 					return 0;</div><div class='ctx'> </div><div class='ctx'> 				case 2:</div><div class='hunk'>@@ -4331,155 +4328,197 @@ BOOL CALLBACK PageDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa</div><div class='ctx'> 				hPasswordInputField = GetDlgItem (hwndDlg, IDC_PASSWORD_DIRECT);</div><div class='ctx'> 				hVerifyPasswordInputField = NULL;</div><div class='ctx'> 				ToNormalPwdField (hwndDlg, IDC_PASSWORD_DIRECT);</div><div class='ctx'> </div><div class='ctx'> 				SetPassword (hwndDlg, IDC_PASSWORD_DIRECT, szRawPassword);</div><div class='ctx'> </div><div class='ctx'> 				SetFocus (GetDlgItem (hwndDlg, IDC_PASSWORD_DIRECT));</div><div class='ctx'> </div><div class='ctx'> 				SendMessage (GetDlgItem (hwndDlg, IDC_PIM), EM_LIMITTEXT, MAX_PIM, 0);</div><div class='ctx'> 				SetPim (hwndDlg, IDC_PIM, volumePim);</div><div class='ctx'> </div><div class='ctx'> 				ShowWindow (GetDlgItem( hwndDlg, IDC_PIM_ENABLE), PimEnable? SW_HIDE : SW_SHOW);</div><div class='ctx'> 				ShowWindow (GetDlgItem( hwndDlg, IDT_PIM), PimEnable? SW_SHOW : SW_HIDE);</div><div class='ctx'> 				ShowWindow (GetDlgItem( hwndDlg, IDC_PIM), PimEnable? SW_SHOW : SW_HIDE);</div><div class='ctx'> 				ShowWindow (GetDlgItem( hwndDlg, IDC_PIM_HELP), PimEnable? SW_SHOW : SW_HIDE);</div><div class='ctx'> </div><div class='ctx'> 				SetCheckBox (hwndDlg, IDC_KEYFILES_ENABLE, KeyFilesEnable);</div><div class='ctx'> </div><div class='ctx'> 				SetWindowTextW (GetDlgItem (hwndDlg, IDC_BOX_HELP), GetString (bInPlaceEncNonSys ? (bInPlaceEncNonSysResumed ? "NONSYS_INPLACE_ENC_RESUME_PASSWORD_PAGE_HELP" : "NONSYS_INPLACE_DEC_PASSWORD_PAGE_HELP") : "PASSWORD_HIDDENVOL_HOST_DIRECT_HELP"));</div><div class='ctx'> </div><div class='ctx'> 				SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_BOX_TITLE), GetString (bInPlaceEncNonSys ? "PASSWORD" : "PASSWORD_HIDVOL_HOST_TITLE"));</div><div class='ctx'> </div><div class='ctx'> 				SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), GetString ("NEXT"));</div><div class='ctx'> 				SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_PREV), GetString ("PREV"));</div><div class='ctx'> </div><div class='ctx'> 				EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_PREV), !bInPlaceEncNonSys);</div><div class='ctx'> 				EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), TRUE);</div><div class='ctx'> 			</div><div class='ctx'> </div><div class='ctx'> 			break;</div><div class='ctx'> </div><div class='ctx'> 		case PASSWORD_PAGE:</div><div class='ctx'> 			</div><div class='ctx'> 				wchar_t str[1000];</div><div class='ctx'> </div><div class='add'>+				EnableWindow(GetDlgItem(hwndDlg, IDC_VERIFY), FALSE);</div><div class='add'>+</div><div class='ctx'> 				hPasswordInputField = GetDlgItem (hwndDlg, IDC_PASSWORD);</div><div class='ctx'> 				hVerifyPasswordInputField = GetDlgItem (hwndDlg, IDC_VERIFY);</div><div class='ctx'> </div><div class='ctx'> 				ToNormalPwdField (hwndDlg, IDC_PASSWORD);</div><div class='ctx'> 				ToNormalPwdField (hwndDlg, IDC_VERIFY);</div><div class='ctx'> </div><div class='ctx'> 				if (SysEncInEffect ())</div><div class='ctx'> 				</div><div class='ctx'> 					ToBootPwdField (hwndDlg, IDC_PASSWORD);</div><div class='ctx'> 					ToBootPwdField (hwndDlg, IDC_VERIFY);</div><div class='ctx'> </div><div class='del'>-					StringCbPrintfW (OrigKeyboardLayout, sizeof(OrigKeyboardLayout), L"%08X", (DWORD) GetKeyboardLayout (NULL) &amp; 0xFFFF);</div><div class='add'>+					StringCbPrintfW(OrigKeyboardLayout, sizeof(OrigKeyboardLayout), L"%08X", (DWORD)GetKeyboardLayout(NULL) &amp; 0xFFFF);</div><div class='ctx'> </div><div class='del'>-					if ((DWORD) GetKeyboardLayout (NULL) != 0x00000409 &amp;&amp; (DWORD) GetKeyboardLayout (NULL) != 0x04090409)</div><div class='add'>+					if ((DWORD)GetKeyboardLayout(NULL) != 0x00000409 &amp;&amp; (DWORD)GetKeyboardLayout(NULL) != 0x04090409)</div><div class='ctx'> 					</div><div class='del'>-						DWORD keybLayout = (DWORD) LoadKeyboardLayout (L"00000409", KLF_ACTIVATE);</div><div class='add'>+						DWORD keybLayout = (DWORD)LoadKeyboardLayout(L"00000409", KLF_ACTIVATE);</div><div class='ctx'> </div><div class='ctx'> 						if (keybLayout != 0x00000409 &amp;&amp; keybLayout != 0x04090409)</div><div class='ctx'> 						</div><div class='del'>-							Error ("CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION", MainDlg);</div><div class='del'>-							EndMainDlg (MainDlg);</div><div class='add'>+							Error("CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION", MainDlg);</div><div class='add'>+							EndMainDlg(MainDlg);</div><div class='ctx'> 							return 1;</div><div class='ctx'> 						</div><div class='ctx'> 						bKeyboardLayoutChanged = TRUE;</div><div class='ctx'> 					</div><div class='ctx'> </div><div class='del'>-</div><div class='ctx'> 					if (SetTimer (MainDlg, TIMER_ID_KEYB_LAYOUT_GUARD, TIMER_INTERVAL_KEYB_LAYOUT_GUARD, NULL) == 0)</div><div class='ctx'> 					</div><div class='ctx'> 						Error ("CANNOT_SET_TIMER", MainDlg);</div><div class='ctx'> 						EndMainDlg (MainDlg);</div><div class='ctx'> 						return 1;</div><div class='ctx'> 					</div><div class='add'>+</div><div class='add'>+					ShowWindow(GetDlgItem(hwndDlg, IDC_KEYFILES_ENABLE), SW_HIDE);</div><div class='add'>+					ShowWindow(GetDlgItem(hwndDlg, IDC_KEY_FILES), SW_HIDE);</div><div class='add'>+					ShowWindow(GetDlgItem(hwndDlg, IDC_PIM_ENABLE), SW_HIDE);</div><div class='add'>+</div><div class='add'>+					ShowWindow(GetDlgItem(hwndDlg, IDC_ADVANCE), SW_SHOW);</div><div class='add'>+				</div><div class='add'>+				else</div><div class='add'>+				</div><div class='add'>+					SetCheckBox (hwndDlg, IDC_PIM_ENABLE, PimEnable);</div><div class='add'>+</div><div class='add'>+					SetCheckBox (hwndDlg, IDC_KEYFILES_ENABLE, KeyFilesEnable &amp;&amp; !SysEncInEffect());</div><div class='add'>+					EnableWindow (GetDlgItem (hwndDlg, IDC_KEY_FILES), KeyFilesEnable &amp;&amp; !SysEncInEffect());</div><div class='add'>+					EnableWindow (GetDlgItem (hwndDlg, IDC_KEYFILES_ENABLE), !SysEncInEffect());</div><div class='ctx'> 				</div><div class='ctx'> </div><div class='ctx'> 				if (bHiddenVolHost)</div><div class='ctx'> 				</div><div class='ctx'> 					StringCbCopyW (str, sizeof(str), GetString (bHiddenOS ? "PASSWORD_SYSENC_OUTERVOL_HELP" : "PASSWORD_HIDDENVOL_HOST_HELP"));</div><div class='ctx'> 				</div><div class='ctx'> 				else if (bHiddenVol)</div><div class='ctx'> 				</div><div class='ctx'> 					StringCbPrintfW (str, sizeof str, L"%s%s",</div><div class='ctx'> 						GetString (bHiddenOS ? "PASSWORD_HIDDEN_OS_HELP" : "PASSWORD_HIDDENVOL_HELP"),</div><div class='ctx'> 						GetString ("PASSWORD_HELP"));</div><div class='ctx'> 				</div><div class='ctx'> 				else</div><div class='ctx'> 				</div><div class='del'>-					StringCbCopyW (str, sizeof(str), GetString ("PASSWORD_HELP"));</div><div class='add'>+					StringCbCopyW (str, sizeof(str), GetString ("PASSWORD_HELP_SYSENC"));</div><div class='ctx'> 				</div><div class='ctx'> </div><div class='del'>-				SetPassword (hwndDlg, IDC_PASSWORD, szRawPassword);</div><div class='del'>-				SetPassword (hwndDlg, IDC_VERIFY, szVerify);</div><div class='add'>+				SetPassword(hwndDlg, IDC_PASSWORD, szRawPassword);</div><div class='add'>+				SetPassword(hwndDlg, IDC_VERIFY, szVerify);</div><div class='ctx'> </div><div class='ctx'> 				SetFocus (GetDlgItem (hwndDlg, IDC_PASSWORD));</div><div class='ctx'> </div><div class='del'>-				SetCheckBox (hwndDlg, IDC_PIM_ENABLE, PimEnable);</div><div class='del'>-</div><div class='del'>-				SetCheckBox (hwndDlg, IDC_KEYFILES_ENABLE, KeyFilesEnable &amp;&amp; !SysEncInEffect());</div><div class='del'>-				EnableWindow (GetDlgItem (hwndDlg, IDC_KEY_FILES), KeyFilesEnable &amp;&amp; !SysEncInEffect());</div><div class='del'>-				EnableWindow (GetDlgItem (hwndDlg, IDC_KEYFILES_ENABLE), !SysEncInEffect());</div><div class='del'>-</div><div class='ctx'> 				SetWindowTextW (GetDlgItem (hwndDlg, IDC_BOX_HELP), str);</div><div class='ctx'> </div><div class='ctx'> 				if (CreatingHiddenSysVol())</div><div class='ctx'> 					SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_BOX_TITLE), GetString ("PASSWORD_HIDDEN_OS_TITLE"));</div><div class='ctx'> 				else if (bHiddenVol)</div><div class='ctx'> 					SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_BOX_TITLE), GetString (bHiddenVolHost ? "PASSWORD_HIDVOL_HOST_TITLE" : "PASSWORD_HIDVOL_TITLE"));</div><div class='ctx'> 				else if (WizardMode == WIZARD_MODE_SYS_DEVICE)</div><div class='del'>-					SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_BOX_TITLE), GetString ("PASSWORD"));</div><div class='add'>+					SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_BOX_TITLE), GetString ("CHOOSE_PASSWORD_TITLE"));</div><div class='ctx'> 				else</div><div class='ctx'> 					SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_BOX_TITLE), GetString ("PASSWORD_TITLE"));</div><div class='ctx'> </div><div class='ctx'> 				SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), GetString ("NEXT"));</div><div class='ctx'> 				SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_PREV), GetString ("PREV"));</div><div class='ctx'> </div><div class='ctx'> 				EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_PREV), TRUE);</div><div class='ctx'> </div><div class='ctx'> 				VerifyPasswordAndUpdate (hwndDlg, GetDlgItem (GetParent (hwndDlg), IDC_NEXT),</div><div class='ctx'> 					 GetDlgItem (hwndDlg, IDC_PASSWORD),</div><div class='ctx'> 					   GetDlgItem (hwndDlg, IDC_VERIFY),</div><div class='ctx'> 						      NULL,</div><div class='ctx'> 							  NULL,</div><div class='ctx'> 							  KeyFilesEnable &amp;&amp; FirstKeyFile!=NULL &amp;&amp; !SysEncInEffect());</div><div class='ctx'> 				volumePassword.Length = (unsigned __int32) strlen ((char *) volumePassword.Text);</div><div class='add'>+			</div><div class='add'>+				if(SysEncInEffect ())</div><div class='add'>+				</div><div class='add'>+					/* Random pool parameter is here because random page is removed */</div><div class='add'>+</div><div class='add'>+					mouseEntropyGathered = 0xFFFFFFFF;</div><div class='add'>+					mouseEventsInitialCount = 0;</div><div class='add'>+					bUseMask = FALSE;</div><div class='add'>+				</div><div class='add'>+					</div><div class='add'>+						HCRYPTPROV hRngProv;</div><div class='add'>+						if (CryptAcquireContext (&amp;hRngProv, NULL, MS_ENHANCED_PROV, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT | CRYPT_SILENT))</div><div class='add'>+						</div><div class='add'>+							if (CryptGenRandom (hRngProv, sizeof (maskRandPool), maskRandPool))</div><div class='add'>+								bUseMask = TRUE;</div><div class='add'>+							CryptReleaseContext (hRngProv, 0);</div><div class='add'>+						</div><div class='add'>+					</div><div class='add'>+</div><div class='add'>+					SetTimer(GetParent(hwndDlg), TIMER_ID_RANDVIEW, TIMER_INTERVAL_RANDVIEW, NULL);</div><div class='ctx'> </div><div class='add'>+					hRandPoolSys = GetDlgItem(hwndDlg, IDC_SYS_POOL_CONTENTS);</div><div class='add'>+					hEntropyBar = GetDlgItem(hwndDlg, IDC_ENTROPY_BAR);</div><div class='add'>+					SendMessage(hEntropyBar, PBM_SETRANGE32, 0, maxEntropyLevel);</div><div class='add'>+					SendMessage(hEntropyBar, PBM_SETSTEP, 1, 0);</div><div class='add'>+					SendMessage(GetDlgItem(hwndDlg, IDC_SYS_POOL_CONTENTS), WM_SETFONT, (WPARAM)hFixedDigitFont, (LPARAM)TRUE);</div><div class='add'>+</div><div class='add'>+					/* set default values */</div><div class='add'>+</div><div class='add'>+					hash_algo = bSystemIsGPT ? SHA512 : DEFAULT_HASH_ALGORITHM_BOOT;</div><div class='add'>+					RandSetHashFunction(hash_algo); </div><div class='add'>+					</div><div class='add'>+					nWipeMode = TC_WIPE_NONE;</div><div class='add'>+				</div><div class='ctx'> 			</div><div class='ctx'> 			break;</div><div class='ctx'> </div><div class='ctx'> 		case PIM_PAGE:</div><div class='ctx'> 			</div><div class='ctx'> 				SendMessage (GetDlgItem (hwndDlg, IDC_PIM), EM_LIMITTEXT, SysEncInEffect()? MAX_BOOT_PIM: MAX_PIM, 0);</div><div class='ctx'> 				if (volumePim &gt; 0)</div><div class='ctx'> 				</div><div class='ctx'> 					SetPim (hwndDlg, IDC_PIM, volumePim);</div><div class='ctx'> </div><div class='ctx'> 					PimValueChangedWarning = TRUE;</div><div class='ctx'> 					SetDlgItemTextW (hwndDlg, IDC_PIM_HELP, GetString (SysEncInEffect ()? "PIM_SYSENC_CHANGE_WARNING" : "PIM_CHANGE_WARNING"));</div><div class='ctx'> 				</div><div class='ctx'> </div><div class='ctx'> 				SetFocus (GetDlgItem (hwndDlg, IDC_PIM));</div><div class='ctx'> </div><div class='ctx'> 				SetWindowTextW (GetDlgItem (hwndDlg, IDC_BOX_HELP), GetString (SysEncInEffect () &amp;&amp; hash_algo != SHA512 &amp;&amp; hash_algo != WHIRLPOOL? "PIM_SYSENC_HELP" : "PIM_HELP"));</div><div class='ctx'> </div><div class='ctx'> 				ToHyperlink (hwndDlg, IDC_LINK_PIM_INFO);</div><div class='ctx'> </div><div class='ctx'> 				if (CreatingHiddenSysVol())</div><div class='ctx'> 					SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_BOX_TITLE), GetString ("PIM_HIDDEN_OS_TITLE"));</div><div class='ctx'> 				else if (bHiddenVol)</div><div class='ctx'> 					SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_BOX_TITLE), GetString (bHiddenVolHost ? "PIM_HIDVOL_HOST_TITLE" : "PIM_HIDVOL_TITLE"));</div><div class='ctx'> 				else if (WizardMode == WIZARD_MODE_SYS_DEVICE)</div><div class='ctx'> 					SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_BOX_TITLE), GetString ("PIM"));</div><div class='ctx'> 				else</div><div class='ctx'> 					SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_BOX_TITLE), GetString ("PIM_TITLE"));</div><div class='ctx'> </div><div class='ctx'> 				SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), GetString ("NEXT"));</div><div class='ctx'> 				SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_PREV), GetString ("PREV"));</div><div class='ctx'> </div><div class='ctx'> 				EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_PREV), TRUE);</div><div class='ctx'> 				EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), TRUE);</div><div class='ctx'> 			</div><div class='hunk'>@@ -4545,273 +4584,333 @@ BOOL CALLBACK PageDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa</div><div class='ctx'> </div><div class='ctx'> 			SendMessage (GetDlgItem (hwndDlg, IDC_SYS_POOL_CONTENTS), WM_SETFONT, (WPARAM) hFixedDigitFont, (LPARAM) TRUE);</div><div class='ctx'> </div><div class='ctx'> 			SendMessage (GetDlgItem (hwndDlg, IDC_DISPLAY_POOL_CONTENTS), BM_SETCHECK, showKeys ? BST_CHECKED : BST_UNCHECKED, 0);</div><div class='ctx'> </div><div class='ctx'> 			DisplayRandPool (hwndDlg, hRandPoolSys, showKeys);</div><div class='ctx'> </div><div class='ctx'> 			break;</div><div class='ctx'> </div><div class='ctx'> 		case SYSENC_KEYS_GEN_PAGE:</div><div class='ctx'> </div><div class='ctx'> 			SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_BOX_TITLE), GetString ("KEYS_GEN_TITLE"));</div><div class='ctx'> 			SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), GetString ("NEXT"));</div><div class='ctx'> 			SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_PREV), GetString ("PREV"));</div><div class='ctx'> 			EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), TRUE);</div><div class='ctx'> 			EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_PREV), TRUE);</div><div class='ctx'> </div><div class='ctx'> 			hMasterKey = GetDlgItem (hwndDlg, IDC_DISK_KEY);</div><div class='ctx'> 			hHeaderKey = GetDlgItem (hwndDlg, IDC_HEADER_KEY);</div><div class='ctx'> </div><div class='ctx'> 			SendMessage (GetDlgItem (hwndDlg, IDC_DISK_KEY), WM_SETFONT, (WPARAM) hFixedDigitFont, (LPARAM) TRUE);</div><div class='ctx'> 			SendMessage (GetDlgItem (hwndDlg, IDC_HEADER_KEY), WM_SETFONT, (WPARAM) hFixedDigitFont, (LPARAM) TRUE);</div><div class='ctx'> </div><div class='ctx'> 			SendMessage (GetDlgItem (hwndDlg, IDC_DISPLAY_KEYS), BM_SETCHECK, showKeys ? BST_CHECKED : BST_UNCHECKED, 0);</div><div class='ctx'> </div><div class='ctx'> 			DisplayPortionsOfKeys (hHeaderKey, hMasterKey, HeaderKeyGUIView, MasterKeyGUIView, !showKeys);</div><div class='ctx'> </div><div class='ctx'> 			break;</div><div class='ctx'> </div><div class='ctx'> 		case SYSENC_RESCUE_DISK_CREATION_PAGE:</div><div class='ctx'> </div><div class='ctx'> 			SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_BOX_TITLE), GetString ("RESCUE_DISK"));</div><div class='ctx'> 			SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), GetString ("NEXT"));</div><div class='ctx'> 			SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_PREV), GetString ("PREV"));</div><div class='ctx'> 			SetWindowTextW (GetDlgItem (hwndDlg, IDT_RESCUE_DISK_INFO), bSystemIsGPT? GetString ("RESCUE_DISK_EFI_INFO"): GetString ("RESCUE_DISK_INFO"));</div><div class='add'>+			SetWindowTextW(GetDlgItem(hwndDlg, IDT_RESCUE_DISK_INFO_2), GetString("RESCUE_DISK_INFO_2"));</div><div class='add'>+</div><div class='ctx'> 			SetCheckBox (hwndDlg, IDC_SKIP_RESCUE_VERIFICATION, bDontVerifyRescueDisk);</div><div class='ctx'> 			SetDlgItemText (hwndDlg, IDC_RESCUE_DISK_ISO_PATH, szRescueDiskISO);</div><div class='ctx'> 			EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), (GetWindowTextLength (GetDlgItem (hwndDlg, IDC_RESCUE_DISK_ISO_PATH)) &gt; 1));</div><div class='ctx'> 			EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_PREV), TRUE);</div><div class='ctx'> </div><div class='ctx'> 			break;</div><div class='ctx'> </div><div class='ctx'> 		case SYSENC_RESCUE_DISK_BURN_PAGE:</div><div class='ctx'> 			</div><div class='ctx'> 				wchar_t szTmp[8192];</div><div class='ctx'> </div><div class='ctx'> 				SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_BOX_TITLE), GetString (bDontVerifyRescueDisk ? "RESCUE_DISK_CREATED_TITLE" : "RESCUE_DISK_RECORDING_TITLE"));</div><div class='ctx'> 				SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), GetString ("NEXT"));</div><div class='ctx'> 				SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_PREV), GetString ("PREV"));</div><div class='ctx'> </div><div class='ctx'> 				if (bSystemIsGPT)</div><div class='ctx'> 				</div><div class='ctx'> 					StringCbPrintfW (szTmp, sizeof szTmp,</div><div class='ctx'> 						GetString (bDontVerifyRescueDisk ? "RESCUE_DISK_EFI_EXTRACT_INFO_NO_CHECK" : "RESCUE_DISK_EFI_EXTRACT_INFO"),</div><div class='ctx'> 						szRescueDiskISO, GetString ("RESCUE_DISK_EFI_EXTRACT_INFO_NOTE"));</div><div class='ctx'> 				</div><div class='ctx'> 				else</div><div class='ctx'> 				</div><div class='ctx'> 					StringCbPrintfW (szTmp, sizeof szTmp,</div><div class='ctx'> 						GetString (bDontVerifyRescueDisk ? "RESCUE_DISK_BURN_INFO_NO_CHECK" : "RESCUE_DISK_BURN_INFO"),</div><div class='ctx'> 						szRescueDiskISO, IsWindowsIsoBurnerAvailable() ? L"" : GetString ("RESCUE_DISK_BURN_INFO_NONWIN_ISO_BURNER"));</div><div class='ctx'> </div><div class='ctx'> 				</div><div class='ctx'> 				SetWindowTextW (GetDlgItem (hwndDlg, IDT_RESCUE_DISK_BURN_INFO), szTmp);</div><div class='ctx'> 				EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), TRUE);</div><div class='ctx'> </div><div class='del'>-				/* The 'Back' button must be disabled now because the user could burn a Rescue Disk, then go back, and</div><div class='del'>-				generate a different master key, which would cause the Rescue Disk verification to fail (the result</div><div class='del'>-				would be confusion and bug reports). */</div><div class='del'>-				EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_PREV), FALSE);</div><div class='del'>-</div><div class='del'>-				if (bSystemIsGPT)</div><div class='del'>-				</div><div class='del'>-					ShowWindow (GetDlgItem (hwndDlg, IDC_DOWNLOAD_CD_BURN_SOFTWARE), SW_HIDE);</div><div class='del'>-				</div><div class='del'>-				else</div><div class='del'>-				</div><div class='del'>-					if (IsWindowsIsoBurnerAvailable())</div><div class='del'>-						SetWindowTextW (GetDlgItem (hwndDlg, IDC_DOWNLOAD_CD_BURN_SOFTWARE), GetString ("LAUNCH_WIN_ISOBURN"));</div><div class='del'>-</div><div class='del'>-					ToHyperlink (hwndDlg, IDC_DOWNLOAD_CD_BURN_SOFTWARE);</div><div class='del'>-</div><div class='del'>-					if (IsWindowsIsoBurnerAvailable() &amp;&amp; !bDontVerifyRescueDisk)</div><div class='del'>-						LaunchWindowsIsoBurner (hwndDlg, szRescueDiskISO);</div><div class='del'>-				</div><div class='add'>+				/* The 'Back' button is enabled but user can't go back, instead warning is provided */</div><div class='add'>+				EnableWindow(GetDlgItem(GetParent(hwndDlg), IDC_PREV), TRUE);</div><div class='add'>+				</div><div class='ctx'> 						</div><div class='ctx'> 			break;</div><div class='ctx'> </div><div class='ctx'> 		case SYSENC_RESCUE_DISK_VERIFIED_PAGE:</div><div class='ctx'> </div><div class='ctx'> 			SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_BOX_TITLE), GetString ("RESCUE_DISK_DISK_VERIFIED_TITLE"));</div><div class='ctx'> 			SetWindowTextW (GetDlgItem (hwndDlg, IDC_BOX_HELP), GetString ("RESCUE_DISK_VERIFIED_INFO"));</div><div class='ctx'> </div><div class='ctx'> 			SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), GetString ("NEXT"));</div><div class='ctx'> 			SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_PREV), GetString ("PREV"));</div><div class='ctx'> </div><div class='ctx'> 			EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), TRUE);</div><div class='ctx'> </div><div class='ctx'> 			// Rescue Disk has been verified, no need to go back</div><div class='ctx'> 			EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_PREV), FALSE);</div><div class='ctx'> </div><div class='ctx'> 			// Prevent losing the burned rescue disk by inadvertent exit</div><div class='ctx'> 			bConfirmQuit = TRUE;</div><div class='ctx'> </div><div class='ctx'> 			break;</div><div class='ctx'> </div><div class='ctx'> 		case SYSENC_WIPE_MODE_PAGE:</div><div class='ctx'> 		case NONSYS_INPLACE_ENC_WIPE_MODE_PAGE:</div><div class='ctx'> 			</div><div class='del'>-				if (nWipeMode == TC_WIPE_1_RAND)</div><div class='del'>-					nWipeMode = TC_WIPE_NONE;</div><div class='del'>-</div><div class='del'>-				SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_BOX_TITLE), GetString ("WIPE_MODE_TITLE"));</div><div class='del'>-				SetWindowTextW (GetDlgItem (hwndDlg, IDT_WIPE_MODE_INFO), GetString ("INPLACE_ENC_WIPE_MODE_INFO"));</div><div class='del'>-</div><div class='del'>-				PopulateWipeModeCombo (GetDlgItem (hwndDlg, IDC_WIPE_MODE),</div><div class='del'>-					SystemEncryptionStatus == SYSENC_STATUS_DECRYPTING &amp;&amp; !bInPlaceEncNonSys,</div><div class='del'>-					TRUE,</div><div class='del'>-					FALSE);</div><div class='add'>+				if (SysEncInEffect ())</div><div class='add'>+				</div><div class='add'>+					/* Wipe mode page is now checklist page */</div><div class='add'>+					ShowWindow (GetDlgItem (hwndDlg, IDC_WIPE_MODE), SW_HIDE);</div><div class='add'>+					ShowWindow (GetDlgItem (hwndDlg, IDT_WIPE_MODE), SW_HIDE);</div><div class='add'>+					ShowWindow (GetDlgItem (hwndDlg, IDT_WIPE_MODE_INFO), SW_HIDE);</div><div class='add'>+</div><div class='add'>+					SetWindowTextW (GetDlgItem (hwndDlg, IDC_REMEMBER_PASSWORD), GetString ("REMEMBER_PASSWORD"));</div><div class='add'>+					SetWindowTextW (GetDlgItem (hwndDlg, IDC_STORE_RESCUE_DISK), GetString ("STORE_RESCUE_DISK"));</div><div class='add'>+					SetWindowTextW (GetDlgItem (hwndDlg, IDC_BACKUP_DATA), GetString ("BACKUP_DATA"));</div><div class='add'>+			 	</div><div class='add'>+					SendMessage(GetDlgItem(hwndDlg, IDC_REMEMBER_PASSWORD), WM_SETFONT, (WPARAM)hUserBoldFont, (LPARAM)TRUE);</div><div class='add'>+					SendMessage(GetDlgItem(hwndDlg, IDC_STORE_RESCUE_DISK), WM_SETFONT, (WPARAM)hUserBoldFont, (LPARAM)TRUE);</div><div class='add'>+					SendMessage(GetDlgItem(hwndDlg, IDC_BACKUP_DATA), WM_SETFONT, (WPARAM)hUserBoldFont, (LPARAM)TRUE);</div><div class='add'>+</div><div class='add'>+					bChecklistA = FALSE;</div><div class='add'>+					bChecklistB = FALSE;</div><div class='add'>+					bChecklistC = FALSE;</div><div class='add'>+				</div><div class='add'>+					SetWindowTextW(GetDlgItem(GetParent(hwndDlg), IDC_BOX_TITLE), GetString("CHECKLIST_TITLE"));</div><div class='add'>+			</div><div class='add'>+					SetDlgItemText(hwndDlg, IDC_BROWSE, GetString ("OPEN_PATH_CHECKLIST_PAGE"));</div><div class='add'>+					SetWindowTextW (GetDlgItem (hwndDlg, IDT_STORE_RESCUE_DISK), GetString ("RESCUE_DISK_CHECKLIST_B"));</div><div class='add'>+					SetWindowTextW (GetDlgItem (hwndDlg, IDT_REMEMBER_PASSWORD), GetString ("RESCUE_DISK_CHECKLIST_A"));</div><div class='add'>+					SetWindowTextW (GetDlgItem (hwndDlg, IDT_BACKUP_DATA), GetString ("RESCUE_DISK_CHECKLIST_C"));</div><div class='add'>+</div><div class='add'>+					EnableWindow(GetDlgItem(hwndDlg, IDC_REMEMBER_PASSWORD), TRUE);</div><div class='add'>+					EnableWindow(GetDlgItem(hwndDlg, IDC_STORE_RESCUE_DISK), TRUE);</div><div class='add'>+					EnableWindow(GetDlgItem(hwndDlg, IDC_BACKUP_DATA), TRUE);</div><div class='add'>+</div><div class='add'>+					SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), GetString ("NEXT"));</div><div class='add'>+</div><div class='add'>+					SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_PREV), GetString ("PREV"));</div><div class='add'>+					EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_PREV), TRUE);</div><div class='add'>+					EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), FALSE);</div><div class='add'>+				</div><div class='add'>+				else</div><div class='add'>+				</div><div class='add'>+					/* Hide elements from Checklist page and show Wipe mode page */</div><div class='add'>+					ShowWindow (GetDlgItem (hwndDlg, IDC_CHECKLIST_A), SW_HIDE);</div><div class='add'>+					ShowWindow (GetDlgItem (hwndDlg, IDC_CHECKLIST_B), SW_HIDE);</div><div class='add'>+					ShowWindow (GetDlgItem (hwndDlg, IDC_CHECKLIST_C), SW_HIDE);</div><div class='add'>+					ShowWindow (GetDlgItem (hwndDlg, IDC_STORE_RESCUE_DISK), SW_HIDE);</div><div class='add'>+					ShowWindow (GetDlgItem (hwndDlg, IDC_REMEMBER_PASSWORD), SW_HIDE);</div><div class='add'>+					ShowWindow (GetDlgItem (hwndDlg, IDC_BACKUP_DATA), SW_HIDE);</div><div class='add'>+					ShowWindow (GetDlgItem (hwndDlg, IDT_REMEMBER_PASSWORD), SW_HIDE);</div><div class='add'>+					ShowWindow (GetDlgItem (hwndDlg, IDT_STORE_RESCUE_DISK), SW_HIDE);</div><div class='add'>+					ShowWindow (GetDlgItem (hwndDlg, IDT_BACKUP_DATA), SW_HIDE);</div><div class='add'>+					ShowWindow (GetDlgItem (hwndDlg, IDC_BROWSE), SW_HIDE);</div><div class='add'>+					ShowWindow (GetDlgItem (hwndDlg, IDC_RESCUE_DISK_ISO_PATH), SW_HIDE);</div><div class='add'>+					</div><div class='add'>+					if (nWipeMode == TC_WIPE_1_RAND)</div><div class='add'>+						nWipeMode = TC_WIPE_NONE;</div><div class='add'>+</div><div class='add'>+					SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_BOX_TITLE), GetString ("WIPE_MODE_TITLE"));</div><div class='add'>+					SetWindowTextW (GetDlgItem (hwndDlg, IDT_WIPE_MODE_INFO), GetString ("INPLACE_ENC_WIPE_MODE_INFO"));</div><div class='add'>+</div><div class='add'>+					PopulateWipeModeCombo (GetDlgItem (hwndDlg, IDC_WIPE_MODE),</div><div class='add'>+						SystemEncryptionStatus == SYSENC_STATUS_DECRYPTING &amp;&amp; !bInPlaceEncNonSys,</div><div class='add'>+						TRUE,</div><div class='add'>+						FALSE);</div><div class='ctx'> </div><div class='del'>-				SelectAlgo (GetDlgItem (hwndDlg, IDC_WIPE_MODE), (int *) &amp;nWipeMode);</div><div class='add'>+					SelectAlgo (GetDlgItem (hwndDlg, IDC_WIPE_MODE), (int *) &amp;nWipeMode);</div><div class='ctx'> </div><div class='del'>-				SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), GetString ("NEXT"));</div><div class='add'>+					SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), GetString ("NEXT"));</div><div class='ctx'> </div><div class='del'>-				SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_PREV), GetString ("PREV"));</div><div class='del'>-				EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_PREV), TRUE);</div><div class='del'>-				EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), TRUE);</div><div class='add'>+					SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_PREV), GetString ("PREV"));</div><div class='add'>+					EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_PREV), TRUE);</div><div class='add'>+					EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), TRUE);</div><div class='add'>+				</div><div class='ctx'> 			</div><div class='ctx'> 			break;</div><div class='ctx'> </div><div class='ctx'> 		case SYSENC_PRETEST_INFO_PAGE:</div><div class='ctx'> </div><div class='ctx'> 			if (bHiddenOS)</div><div class='ctx'> 			</div><div class='ctx'> 				SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_BOX_TITLE), GetString ("HIDDEN_OS_CREATION_PREINFO_TITLE"));</div><div class='ctx'> 				SetWindowTextW (GetDlgItem (hwndDlg, IDC_BOX_HELP), GetString ("HIDDEN_OS_CREATION_PREINFO_HELP"));</div><div class='ctx'> 				SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), GetString ("START"));</div><div class='ctx'> 				EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_PREV), FALSE);</div><div class='ctx'> 			</div><div class='ctx'> 			else</div><div class='ctx'> 			</div><div class='ctx'> 				wchar_t finalMsg[8024] = 0;</div><div class='ctx'> </div><div class='ctx'> 				SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_BOX_TITLE), GetString ("SYS_ENCRYPTION_PRETEST_TITLE"));</div><div class='ctx'> </div><div class='ctx'> 				try</div><div class='ctx'> 				</div><div class='ctx'> 					StringCbPrintfW (finalMsg, sizeof(finalMsg),</div><div class='ctx'> 						GetString ("SYS_ENCRYPTION_PRETEST_INFO"),</div><div class='del'>-						BootEncObj-&gt;GetSystemDriveConfiguration().DriveNumber);</div><div class='add'>+						GetSystemDriveLetter ());</div><div class='ctx'> 				</div><div class='ctx'> 				catch (Exception &amp;e)</div><div class='ctx'> 				</div><div class='ctx'> 					e.Show (hwndDlg);</div><div class='ctx'> 					EndMainDlg (MainDlg);</div><div class='ctx'> 					return 0;</div><div class='ctx'> 				</div><div class='ctx'> </div><div class='ctx'> 				SetWindowTextW (GetDlgItem (hwndDlg, IDC_BOX_HELP), finalMsg);</div><div class='ctx'> 				SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), GetString ("TEST"));</div><div class='ctx'> 				EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_PREV), TRUE);</div><div class='ctx'> 			</div><div class='ctx'> </div><div class='ctx'> 			SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_PREV), GetString ("PREV"));</div><div class='ctx'> 			EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), TRUE);</div><div class='ctx'> </div><div class='ctx'> 			break;</div><div class='ctx'> </div><div class='ctx'> 		case SYSENC_PRETEST_RESULT_PAGE:</div><div class='ctx'> </div><div class='ctx'> 			SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_BOX_TITLE), GetString ("SYS_ENCRYPTION_PRETEST_RESULT_TITLE"));</div><div class='ctx'> 			SetWindowTextW (GetDlgItem (hwndDlg, IDC_BOX_HELP), GetString ("SYS_ENCRYPTION_PRETEST_RESULT_INFO"));</div><div class='ctx'> </div><div class='add'>+			ShowWindow (GetDlgItem (hwndDlg, IDC_CHECKBOX_PRETEST), SW_SHOW);</div><div class='add'>+			SetWindowTextW (GetDlgItem (hwndDlg, IDC_CHECKBOX_PRETEST), GetString ("PRETEST_CHECKBOX"));</div><div class='add'>+</div><div class='add'>+			bCheckboxPretest = FALSE;</div><div class='add'>+</div><div class='ctx'> 			SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), GetString ("ENCRYPT"));</div><div class='ctx'> 			SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_PREV), GetString ("PREV"));</div><div class='ctx'> 			SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDCANCEL), GetString ("DEFER"));</div><div class='ctx'> </div><div class='del'>-			EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), TRUE);</div><div class='del'>-			EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_PREV), FALSE);</div><div class='add'>+			EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), FALSE);</div><div class='add'>+			EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_PREV), TRUE);</div><div class='ctx'> 			EnableWindow (GetDlgItem (GetParent (hwndDlg), IDCANCEL), TRUE);</div><div class='ctx'> </div><div class='add'>+			HWND hTooltip;</div><div class='add'>+			hTooltip = GetDlgItem (GetParent (hwndDlg), IDC_PREV);</div><div class='add'>+			if (hTooltip)</div><div class='add'>+			</div><div class='add'>+				CreateToolTip (hwndDlg, hTooltip, GetString ("PRETEST_BACK_BUTTON"));</div><div class='add'>+			</div><div class='add'>+			else</div><div class='add'>+			</div><div class='add'>+				MessageBox (0, TEXT ("Cannot find dialog item for tooltip!"), 0, 0);</div><div class='add'>+			</div><div class='add'>+</div><div class='ctx'> 			break;</div><div class='ctx'> </div><div class='ctx'> 		case SYSENC_ENCRYPTION_PAGE:</div><div class='ctx'> </div><div class='ctx'> 			if (CreateSysEncMutex ())</div><div class='ctx'> 			</div><div class='ctx'> 				try</div><div class='ctx'> 				</div><div class='ctx'> 					BootEncStatus = BootEncObj-&gt;GetStatus();</div><div class='ctx'> 					bSystemEncryptionInProgress = BootEncStatus.SetupInProgress;</div><div class='ctx'> 				</div><div class='ctx'> 				catch (Exception &amp;e)</div><div class='ctx'> 				</div><div class='ctx'> 					e.Show (hwndDlg);</div><div class='ctx'> 					Error ("ERR_GETTING_SYSTEM_ENCRYPTION_STATUS", MainDlg);</div><div class='ctx'> 					EndMainDlg (MainDlg);</div><div class='ctx'> 					return 0;</div><div class='ctx'> 				</div><div class='ctx'> </div><div class='ctx'> 				SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_BOX_TITLE),</div><div class='ctx'> 					GetString (SystemEncryptionStatus != SYSENC_STATUS_DECRYPTING ? "ENCRYPTION" : "DECRYPTION"));</div><div class='del'>-</div><div class='del'>-				SetWindowTextW (GetDlgItem (hwndDlg, IDC_BOX_HELP), GetString ("SYSENC_ENCRYPTION_PAGE_INFO"));</div><div class='add'>+				</div><div class='add'>+				SetWindowTextW (GetDlgItem (hwndDlg, IDC_BOX_HELP), </div><div class='add'>+					GetString (SystemEncryptionStatus != SYSENC_STATUS_DECRYPTING ? "SYSENC_ENCRYPTION_PAGE_INFO" : "SYSENC_DECRYPTION_PAGE_INFO"));</div><div class='ctx'> </div><div class='ctx'> 				SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDCANCEL), GetString ("DEFER"));</div><div class='ctx'> </div><div class='ctx'> 				SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_PREV), GetString ("PREV"));</div><div class='ctx'> </div><div class='ctx'> 				SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_NEXT),</div><div class='ctx'> 					GetString (SystemEncryptionStatus != SYSENC_STATUS_DECRYPTING ? "ENCRYPT" : "DECRYPT"));</div><div class='ctx'> </div><div class='ctx'> 				SetWindowTextW (GetDlgItem (hwndDlg, IDC_PAUSE),</div><div class='ctx'> 					GetString (bSystemEncryptionInProgress ? "IDC_PAUSE" : "RESUME"));</div><div class='ctx'> </div><div class='ctx'> 				EnableWindow (GetDlgItem (hwndDlg, IDC_PAUSE), BootEncStatus.DriveEncrypted);</div><div class='ctx'> 				EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_PREV), FALSE);</div><div class='ctx'> 				EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), !BootEncStatus.SetupInProgress);</div><div class='ctx'> 				EnableWindow (GetDlgItem (GetParent (hwndDlg), IDCANCEL), TRUE);</div><div class='ctx'> 				EnableWindow (GetDlgItem (GetParent (hwndDlg), IDHELP), TRUE);</div><div class='ctx'> </div><div class='del'>-				ToHyperlink (hwndDlg, IDC_MORE_INFO_SYS_ENCRYPTION);</div><div class='del'>-</div><div class='ctx'> 				if (SystemEncryptionStatus == SYSENC_STATUS_DECRYPTING)</div><div class='ctx'> 				</div><div class='ctx'> 					nWipeMode = TC_WIPE_NONE;</div><div class='ctx'> 					EnableWindow (GetDlgItem (hwndDlg, IDC_WIPE_MODE), FALSE);</div><div class='ctx'> 					EnableWindow (GetDlgItem (hwndDlg, IDT_WIPE_MODE), FALSE);</div><div class='ctx'> 					PopulateWipeModeCombo (GetDlgItem (hwndDlg, IDC_WIPE_MODE), TRUE, TRUE, FALSE);</div><div class='ctx'> 					SelectAlgo (GetDlgItem (hwndDlg, IDC_WIPE_MODE), (int *) &amp;nWipeMode);</div><div class='ctx'> 				</div><div class='ctx'> 				else</div><div class='ctx'> 				</div><div class='ctx'> 					EnableWindow (GetDlgItem (hwndDlg, IDC_WIPE_MODE), !bSystemEncryptionInProgress);</div><div class='ctx'> 					PopulateWipeModeCombo (GetDlgItem (hwndDlg, IDC_WIPE_MODE), FALSE, TRUE, FALSE);</div><div class='ctx'> 					SelectAlgo (GetDlgItem (hwndDlg, IDC_WIPE_MODE), (int *) &amp;nWipeMode);</div><div class='ctx'> 				</div><div class='ctx'> </div><div class='add'>+				if (nWipeMode == TC_WIPE_NONE)</div><div class='add'>+				</div><div class='add'>+					ShowWindow (GetDlgItem(hwndDlg, IDC_WIPE_MODE), SW_HIDE);</div><div class='add'>+					ShowWindow (GetDlgItem(hwndDlg, IDT_FORMAT_OPTIONS), SW_HIDE);</div><div class='add'>+					ShowWindow (GetDlgItem(hwndDlg, IDT_WIPE_MODE), SW_HIDE);</div><div class='add'>+				</div><div class='add'>+</div><div class='ctx'> 				PostMessage (hwndDlg, TC_APPMSG_PERFORM_POST_SYSENC_WMINIT_TASKS, 0, 0);</div><div class='ctx'> 			</div><div class='ctx'> 			else</div><div class='ctx'> 			</div><div class='ctx'> 				Error ("SYSTEM_ENCRYPTION_IN_PROGRESS_ELSEWHERE", MainDlg);</div><div class='ctx'> 				EndMainDlg (MainDlg);</div><div class='ctx'> 				return 0;</div><div class='ctx'> 			</div><div class='ctx'> 			return 0;</div><div class='ctx'> </div><div class='ctx'> 		case NONSYS_INPLACE_ENC_RESUME_PARTITION_SEL_PAGE:</div><div class='ctx'> </div><div class='ctx'> 			</div><div class='ctx'> 				SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_BOX_TITLE), GetString ("FILE_TITLE"));</div><div class='ctx'> 				SetWindowTextW (GetDlgItem (hwndDlg, IDC_BOX_HELP), GetString ("NONSYS_INPLACE_ENC_RESUME_VOL_SELECT_HELP"));</div><div class='ctx'> </div><div class='ctx'> 				EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_PREV), TRUE);</div><div class='ctx'> 				EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), FALSE);</div><div class='ctx'> </div><div class='ctx'> 				foreach (const HostDevice &amp;device, DeferredNonSysInPlaceEncDevices)</div><div class='ctx'> 				</div><div class='ctx'> 					SendMessage (GetDlgItem (hwndDlg, IDC_LIST_BOX), LB_ADDSTRING, 0, (LPARAM) device.Path.c_str());</div><div class='ctx'> 				</div><div class='ctx'> </div><div class='ctx'> 				// Deselect all</div><div class='ctx'> 				SendMessage (GetDlgItem (hwndDlg, IDC_LIST_BOX), LB_SETCURSEL, (WPARAM) -1, 0);</div><div class='ctx'> 			</div><div class='ctx'> </div><div class='ctx'> 			break;</div><div class='ctx'> </div><div class='ctx'> 		case NONSYS_INPLACE_ENC_TRANSFORM_PAGE:</div><div class='ctx'> </div><div class='ctx'> 			if (bInPlaceEncNonSysResumed)</div><div class='ctx'> 			</div><div class='ctx'> 				WipeAlgorithmId savedWipeAlgorithm = TC_WIPE_NONE;</div><div class='hunk'>@@ -5237,132 +5336,180 @@ BOOL CALLBACK PageDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa</div><div class='ctx'> </div><div class='ctx'> 			if (bHiddenOS &amp;&amp; IsHiddenOSRunning())</div><div class='ctx'> 			</div><div class='ctx'> 				// Decoy system partition wipe</div><div class='ctx'> </div><div class='ctx'> 				SetWindowTextW (GetDlgItem (hwndDlg, IDC_BOX_HELP), GetString ("DEVICE_WIPE_PAGE_INFO_HIDDEN_OS"));</div><div class='ctx'> 			</div><div class='ctx'> 			else</div><div class='ctx'> 			</div><div class='ctx'> 				// Regular device wipe (not decoy system partition wipe)</div><div class='ctx'> </div><div class='ctx'> 				SetWindowTextW (GetDlgItem (hwndDlg, IDC_BOX_HELP), GetString ("DEVICE_WIPE_PAGE_INFO"));</div><div class='ctx'> 			</div><div class='ctx'> </div><div class='ctx'> 			SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_BOX_TITLE), GetString ("DEVICE_WIPE_PAGE_TITLE"));</div><div class='ctx'> 			SetWindowTextW (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), GetString ("WIPE"));</div><div class='ctx'> 			SetWindowTextW (GetDlgItem (hCurPage, IDC_WIPE_MODE), (wstring (L"  ") + GetWipeModeName (nWipeMode)).c_str());</div><div class='ctx'> </div><div class='ctx'> 			EnableWindow (GetDlgItem (hwndDlg, IDC_ABORT_BUTTON), FALSE);</div><div class='ctx'> 			EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_PREV), TRUE);</div><div class='ctx'> </div><div class='ctx'> 			break;</div><div class='ctx'> 		</div><div class='ctx'> 		return 0;</div><div class='ctx'> </div><div class='ctx'> 	case WM_HELP:</div><div class='ctx'> 		OpenPageHelp (GetParent (hwndDlg), nCurPageNo);</div><div class='ctx'> 		return 1;</div><div class='ctx'> </div><div class='ctx'> 	case TC_APPMSG_PERFORM_POST_SYSENC_WMINIT_TASKS:</div><div class='ctx'> 		AfterSysEncProgressWMInitTasks (hwndDlg);</div><div class='ctx'> 		return 1;</div><div class='ctx'> </div><div class='ctx'> 	case WM_CTLCOLORSTATIC:</div><div class='ctx'> 		</div><div class='add'>+			if ((HWND)lParam == GetDlgItem (hwndDlg, PASSWORD_METER) &amp;&amp; iPasswordStrength == 1)</div><div class='add'>+			</div><div class='add'>+				// we're about to draw the static</div><div class='add'>+				// set the text colour in (HDC)lParam</div><div class='add'>+				SetBkMode ((HDC)wParam, TRANSPARENT);</div><div class='add'>+				SetTextColor ((HDC)wParam, RGB(255, 0, 0)); // password weak red	</div><div class='add'>+				return (BOOL)GetSysColorBrush(COLOR_MENU);</div><div class='add'>+			</div><div class='add'>+</div><div class='add'>+			if ((HWND)lParam == GetDlgItem (hwndDlg, PASSWORD_METER) &amp;&amp; iPasswordStrength == 2)</div><div class='add'>+				</div><div class='add'>+				// we're about to draw the static</div><div class='add'>+				// set the text colour in (HDC)lParam</div><div class='add'>+				SetBkMode ((HDC)wParam, TRANSPARENT);</div><div class='add'>+				SetTextColor ((HDC)wParam, RGB (255, 165, 0)); // password medium orange	</div><div class='add'>+				return (BOOL) GetSysColorBrush (COLOR_MENU);</div><div class='add'>+			</div><div class='add'>+			</div><div class='add'>+			if ((HWND)lParam == GetDlgItem (hwndDlg, PASSWORD_METER) &amp;&amp; iPasswordStrength == 3)</div><div class='add'>+			</div><div class='add'>+				SetBkMode ((HDC)wParam, TRANSPARENT);</div><div class='add'>+				SetTextColor ((HDC)wParam, RGB (218, 218, 0)); // password strong yellow	</div><div class='add'>+				return (BOOL) GetSysColorBrush (COLOR_MENU);</div><div class='add'>+			</div><div class='add'>+			</div><div class='add'>+			if ((HWND)lParam == GetDlgItem (hwndDlg, PASSWORD_METER) &amp;&amp; iPasswordStrength == 4)</div><div class='add'>+			</div><div class='add'>+				SetBkMode((HDC)wParam, TRANSPARENT);</div><div class='add'>+				SetTextColor((HDC)wParam, RGB(50, 205, 50)); // password very strong green	</div><div class='add'>+				return (BOOL) GetSysColorBrush (COLOR_MENU);</div><div class='add'>+			</div><div class='add'>+</div><div class='ctx'> 			if (PimValueChangedWarning &amp;&amp; ((HWND)lParam == GetDlgItem(hwndDlg, IDC_PIM_HELP)) )</div><div class='ctx'> 			</div><div class='ctx'> 				// we're about to draw the static</div><div class='ctx'> 				// set the text colour in (HDC)lParam</div><div class='ctx'> 				SetBkMode((HDC)wParam,TRANSPARENT);</div><div class='ctx'> 				SetTextColor((HDC)wParam, RGB(255,0,0));</div><div class='ctx'> 				// NOTE: per documentation as pointed out by selbie, GetSolidBrush would leak a GDI handle.</div><div class='ctx'> 				return (BOOL)GetSysColorBrush(COLOR_MENU);</div><div class='ctx'> 			</div><div class='ctx'> 		</div><div class='ctx'> 		return 0;</div><div class='ctx'> </div><div class='ctx'> 	case WM_COMMAND:</div><div class='ctx'> </div><div class='ctx'> 		if (nCurPageNo == INTRO_PAGE)</div><div class='ctx'> 		</div><div class='ctx'> 			switch (lw)</div><div class='ctx'> 			</div><div class='ctx'> 			case IDC_FILE_CONTAINER:</div><div class='ctx'> 				UpdateWizardModeControls (hwndDlg, WIZARD_MODE_FILE_CONTAINER);</div><div class='ctx'> 				return 1;</div><div class='ctx'> </div><div class='ctx'> 			case IDC_NONSYS_DEVICE:</div><div class='ctx'> 				UpdateWizardModeControls (hwndDlg, WIZARD_MODE_NONSYS_DEVICE);</div><div class='ctx'> 				return 1;</div><div class='ctx'> </div><div class='ctx'> 			case IDC_SYS_DEVICE:</div><div class='ctx'> 				UpdateWizardModeControls (hwndDlg, WIZARD_MODE_SYS_DEVICE);</div><div class='ctx'> 				return 1;</div><div class='ctx'> </div><div class='ctx'> 			case IDC_MORE_INFO_ON_CONTAINERS:</div><div class='ctx'> 				Applink ("introcontainer");</div><div class='ctx'> 				return 1;</div><div class='ctx'> </div><div class='ctx'> 			case IDC_MORE_INFO_ON_SYS_ENCRYPTION:</div><div class='ctx'> 				Applink ("introsysenc");</div><div class='ctx'> 				return 1;</div><div class='ctx'> 			</div><div class='ctx'> 		</div><div class='ctx'> </div><div class='ctx'> 		if (nCurPageNo == SYSENC_TYPE_PAGE)</div><div class='ctx'> 		</div><div class='ctx'> 			switch (lw)</div><div class='ctx'> 			</div><div class='ctx'> 			case IDC_SYSENC_HIDDEN:</div><div class='ctx'> 				bHiddenOS = TRUE;</div><div class='ctx'> 				bHiddenVol = TRUE;</div><div class='ctx'> 				bHiddenVolHost = TRUE;</div><div class='ctx'> 				return 1;</div><div class='ctx'> </div><div class='ctx'> 			case IDC_SYSENC_NORMAL:</div><div class='ctx'> 				bHiddenOS = FALSE;</div><div class='ctx'> 				bHiddenVol = FALSE;</div><div class='ctx'> 				bHiddenVolHost = FALSE;</div><div class='ctx'> 				return 1;</div><div class='ctx'> </div><div class='ctx'> 			case IDC_HIDDEN_SYSENC_INFO_LINK:</div><div class='ctx'> 				Applink ("hiddensysenc");</div><div class='ctx'> 				return 1;</div><div class='ctx'> 			</div><div class='ctx'> 		</div><div class='ctx'> </div><div class='add'>+		if (lw == IDC_ADVANCE_INTRO &amp;&amp; nCurPageNo == SYSENC_TYPE_PAGE)</div><div class='add'>+		</div><div class='add'>+			DialogBoxParamW(hInst,</div><div class='add'>+				MAKEINTRESOURCEW(IDD_ADVANCE_MBR), hwndDlg,</div><div class='add'>+				(DLGPROC)AdvanceDlgProcIntro, NULL);</div><div class='add'>+			return 1;</div><div class='add'>+		</div><div class='add'>+</div><div class='add'>+		if (lw == IDC_ADVANCE &amp;&amp; nCurPageNo == PASSWORD_PAGE)	</div><div class='add'>+		</div><div class='add'>+			DialogBoxParamW(hInst,</div><div class='add'>+				MAKEINTRESOURCEW(IDD_ADVANCE), hwndDlg,</div><div class='add'>+				(DLGPROC)AdvanceDlgProc, NULL);</div><div class='add'>+			return 1;</div><div class='add'>+		</div><div class='add'>+</div><div class='ctx'> 		if (nCurPageNo == SYSENC_HIDDEN_OS_REQ_CHECK_PAGE &amp;&amp; lw == IDC_HIDDEN_SYSENC_INFO_LINK)</div><div class='ctx'> 		</div><div class='ctx'> 			Applink ("hiddensysenc");</div><div class='ctx'> 			return 1;</div><div class='ctx'> 		</div><div class='ctx'> </div><div class='ctx'> 		if (nCurPageNo == SYSENC_SPAN_PAGE)</div><div class='ctx'> 		</div><div class='ctx'> 			switch (lw)</div><div class='ctx'> 			</div><div class='ctx'> 			case IDC_WHOLE_SYS_DRIVE:</div><div class='ctx'> 				bWholeSysDrive = TRUE;</div><div class='ctx'> 				return 1;</div><div class='ctx'> 			case IDC_SYS_PARTITION:</div><div class='ctx'> 				bWholeSysDrive = FALSE;</div><div class='ctx'> 				return 1;</div><div class='ctx'> 			</div><div class='ctx'> </div><div class='ctx'> 		</div><div class='ctx'> </div><div class='ctx'> 		if (nCurPageNo == SYSENC_MULTI_BOOT_MODE_PAGE)</div><div class='ctx'> 		</div><div class='ctx'> 			switch (lw)</div><div class='ctx'> 			</div><div class='ctx'> 			case IDC_SINGLE_BOOT:</div><div class='ctx'> 				nMultiBoot = 1;</div><div class='ctx'> 				EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), TRUE);</div><div class='ctx'> 				return 1;</div><div class='ctx'> 			case IDC_MULTI_BOOT:</div><div class='ctx'> 				nMultiBoot = 2;</div><div class='ctx'> 				EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), TRUE);</div><div class='ctx'> 				return 1;</div><div class='ctx'> 			</div><div class='ctx'> 		</div><div class='ctx'> </div><div class='hunk'>@@ -5647,112 +5794,180 @@ BOOL CALLBACK PageDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa</div><div class='ctx'> 			EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_NEXT),</div><div class='ctx'> 				bValidEntry);</div><div class='ctx'> </div><div class='ctx'> 			bDeviceTransformModeChoiceMade = FALSE;</div><div class='ctx'> 			bInPlaceEncNonSys = FALSE;</div><div class='ctx'> </div><div class='ctx'> 			return 1;</div><div class='ctx'> 		</div><div class='ctx'> </div><div class='ctx'> 		if (hw == CBN_SELCHANGE &amp;&amp; nCurPageNo == VOLUME_LOCATION_PAGE)</div><div class='ctx'> 		</div><div class='ctx'> 			LPARAM nIndex;</div><div class='ctx'> </div><div class='ctx'> 			nIndex = MoveEditToCombo ((HWND) lParam, bHistory);</div><div class='ctx'> 			nIndex = UpdateComboOrder (GetDlgItem (hwndDlg, IDC_COMBO_BOX));</div><div class='ctx'> </div><div class='ctx'> 			if (nIndex != CB_ERR)</div><div class='ctx'> 				EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), TRUE);</div><div class='ctx'> 			else</div><div class='ctx'> 				EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), FALSE);</div><div class='ctx'> </div><div class='ctx'> 			bDeviceTransformModeChoiceMade = FALSE;</div><div class='ctx'> 			bInPlaceEncNonSys = FALSE;</div><div class='ctx'> </div><div class='ctx'> 			return 1;</div><div class='ctx'> 		</div><div class='ctx'> </div><div class='ctx'> 		if (hw == EN_CHANGE &amp;&amp; nCurPageNo == SIZE_PAGE)</div><div class='ctx'> 		</div><div class='ctx'> 			VerifySizeAndUpdate (hwndDlg, FALSE);</div><div class='ctx'> 			return 1;</div><div class='ctx'> 		</div><div class='ctx'> </div><div class='ctx'> 		if (hw == EN_CHANGE &amp;&amp; nCurPageNo == PASSWORD_PAGE)</div><div class='ctx'> 		</div><div class='del'>-			VerifyPasswordAndUpdate (hwndDlg, GetDlgItem (GetParent (hwndDlg), IDC_NEXT),</div><div class='del'>-				GetDlgItem (hwndDlg, IDC_PASSWORD),</div><div class='del'>-				GetDlgItem (hwndDlg, IDC_VERIFY),</div><div class='del'>-				NULL,</div><div class='del'>-				NULL,</div><div class='del'>-				KeyFilesEnable &amp;&amp; FirstKeyFile!=NULL &amp;&amp; !SysEncInEffect());</div><div class='add'>+			// If 'Next' button was clicked (and keyboard layout is not US), don't verify</div><div class='add'>+			if (!bNextButtonClicked)</div><div class='add'>+			</div><div class='add'>+				VerifyPasswordAndUpdate (hwndDlg, GetDlgItem (GetParent (hwndDlg), IDC_NEXT),</div><div class='add'>+						GetDlgItem(hCurPage, IDC_PASSWORD),</div><div class='add'>+						GetDlgItem(hCurPage, IDC_VERIFY),</div><div class='add'>+						NULL,</div><div class='add'>+						NULL,</div><div class='add'>+						KeyFilesEnable &amp;&amp; FirstKeyFile != NULL &amp;&amp; !SysEncInEffect());</div><div class='add'>+</div><div class='add'>+				bNextButtonClicked = FALSE;</div><div class='add'>+			</div><div class='add'>+</div><div class='ctx'> 			volumePassword.Length = (unsigned __int32) strlen ((char *) volumePassword.Text);</div><div class='add'>+			</div><div class='add'>+			SendMessage (GetDlgItem (hwndDlg, PASSWORD_METER), WM_SETFONT, (WPARAM)hUserBoldFont, (LPARAM)TRUE);</div><div class='add'>+			</div><div class='add'>+			memset (&amp;tempPassword[0], 0, sizeof (tempPassword));</div><div class='add'>+</div><div class='add'>+			if (GetPassword (hCurPage, IDC_PASSWORD, tempPassword, iMaxPasswordLength + 1, FALSE, TRUE))</div><div class='add'>+				iPasswordStrength = PrintStrongness (tempPassword, strlen (tempPassword));</div><div class='add'>+			else</div><div class='add'>+				Error ("ERROR_GETTING_PWD", hwndDlg);</div><div class='add'>+</div><div class='add'>+			burn (tempPassword, sizeof (tempPassword));</div><div class='ctx'> </div><div class='add'>+			if (iPasswordStrength == very_strong)</div><div class='add'>+			</div><div class='add'>+				SetWindowTextW (GetDlgItem (hwndDlg, PASSWORD_METER), GetString ("VERY_STRONG_PASSWORD"));</div><div class='add'>+				EnableWindow (GetDlgItem (hwndDlg, IDC_VERIFY), TRUE);</div><div class='add'>+			</div><div class='add'>+			else if (iPasswordStrength == strong)</div><div class='add'>+			</div><div class='add'>+				SetWindowTextW (GetDlgItem (hwndDlg, PASSWORD_METER), GetString ("STRONG_PASSWORD"));</div><div class='add'>+				EnableWindow (GetDlgItem (hwndDlg, IDC_VERIFY), TRUE);</div><div class='add'>+			</div><div class='add'>+			else if (iPasswordStrength == medium)</div><div class='add'>+			</div><div class='add'>+				EnableWindow (GetDlgItem (hwndDlg, IDC_VERIFY), TRUE);</div><div class='add'>+				SetWindowTextW (GetDlgItem (hwndDlg, PASSWORD_METER), GetString ("MEDIUM_PASSWORD"));</div><div class='add'>+			</div><div class='add'>+			else if (iPasswordStrength == weak)</div><div class='add'>+			</div><div class='add'>+				EnableWindow (GetDlgItem (hwndDlg, IDC_VERIFY), FALSE);</div><div class='add'>+				SetWindowTextW (GetDlgItem (hwndDlg, PASSWORD_METER), GetString ("WEAK_PASSWORD"));</div><div class='add'>+			</div><div class='add'>+			else</div><div class='add'>+			</div><div class='add'>+				SetWindowTextW (GetDlgItem (hwndDlg, PASSWORD_METER), GetString ("VERY_WEAK_PASSWORD"));</div><div class='add'>+			</div><div class='ctx'> 			return 1;</div><div class='ctx'> 		</div><div class='ctx'> </div><div class='ctx'> 		if (hw == EN_CHANGE &amp;&amp; nCurPageNo == PIM_PAGE)</div><div class='ctx'> 		</div><div class='ctx'> 			if (lw == IDC_PIM)</div><div class='ctx'> 			</div><div class='ctx'> 				if(GetPim (hwndDlg, IDC_PIM, 0) != 0)</div><div class='ctx'> 				</div><div class='ctx'> 					PimValueChangedWarning = TRUE;</div><div class='ctx'> 					SetDlgItemTextW (hwndDlg, IDC_PIM_HELP, GetString (SysEncInEffect ()? "PIM_SYSENC_CHANGE_WARNING" : "PIM_CHANGE_WARNING"));</div><div class='ctx'> 				</div><div class='ctx'> 				else</div><div class='ctx'> 				</div><div class='ctx'> 					PimValueChangedWarning = FALSE;</div><div class='ctx'> 					SetDlgItemTextW (hwndDlg, IDC_PIM_HELP, (wchar_t *) GetDictionaryValueByInt (IDC_PIM_HELP));</div><div class='ctx'> 				</div><div class='ctx'> 			</div><div class='ctx'> </div><div class='ctx'> 			return 1;</div><div class='ctx'> 		</div><div class='ctx'> </div><div class='ctx'> 		if (lw == IDC_SHOW_PASSWORD &amp;&amp; nCurPageNo == PASSWORD_PAGE)</div><div class='ctx'> 		</div><div class='ctx'> 			HandleShowPasswordFieldAction (hwndDlg, IDC_SHOW_PASSWORD, IDC_PASSWORD, IDC_VERIFY);</div><div class='ctx'> 			return 1;</div><div class='ctx'> 		</div><div class='ctx'> </div><div class='ctx'> 		if (lw == IDC_SHOW_PIM &amp;&amp; nCurPageNo == PIM_PAGE)</div><div class='ctx'> 		</div><div class='ctx'> 			HandleShowPasswordFieldAction (hwndDlg, IDC_SHOW_PIM, IDC_PIM, 0);</div><div class='ctx'> 			return 1;</div><div class='ctx'> 		</div><div class='ctx'> </div><div class='add'>+		if (lw == IDC_CHECKLIST_A)</div><div class='add'>+		</div><div class='add'>+			bChecklistA = GetCheckBox (hwndDlg, IDC_CHECKLIST_A);</div><div class='add'>+			bChecklistB = GetCheckBox (hwndDlg, IDC_CHECKLIST_B);</div><div class='add'>+			bChecklistC = GetCheckBox (hwndDlg, IDC_CHECKLIST_C);</div><div class='add'>+		</div><div class='add'>+		</div><div class='add'>+		if (lw == IDC_CHECKLIST_B)	</div><div class='add'>+		</div><div class='add'>+			bChecklistA = GetCheckBox (hwndDlg, IDC_CHECKLIST_A);</div><div class='add'>+			bChecklistB = GetCheckBox (hwndDlg, IDC_CHECKLIST_B);</div><div class='add'>+			bChecklistC = GetCheckBox (hwndDlg, IDC_CHECKLIST_C);</div><div class='add'>+		</div><div class='add'>+</div><div class='add'>+		if (lw == IDC_CHECKLIST_C)</div><div class='add'>+		</div><div class='add'>+			bChecklistA = GetCheckBox (hwndDlg, IDC_CHECKLIST_A);</div><div class='add'>+			bChecklistB = GetCheckBox (hwndDlg, IDC_CHECKLIST_B);</div><div class='add'>+			bChecklistC = GetCheckBox (hwndDlg, IDC_CHECKLIST_C);</div><div class='add'>+		</div><div class='add'>+</div><div class='add'>+		if (lw == IDC_CHECKBOX_PRETEST)</div><div class='add'>+		</div><div class='add'>+			bCheckboxPretest = GetCheckBox (hwndDlg, IDC_CHECKBOX_PRETEST);</div><div class='add'>+		</div><div class='add'>+</div><div class='ctx'> 		if (lw == IDC_PIM_ENABLE)</div><div class='ctx'> 		</div><div class='ctx'> 			PimEnable = GetCheckBox (hwndDlg, IDC_PIM_ENABLE);</div><div class='ctx'> 			if (!PimEnable)</div><div class='ctx'> 				volumePim = 0;</div><div class='ctx'> 			if (nCurPageNo == HIDDEN_VOL_HOST_PASSWORD_PAGE</div><div class='ctx'> 				|| nCurPageNo == NONSYS_INPLACE_ENC_RESUME_PASSWORD_PAGE</div><div class='ctx'> 				)</div><div class='ctx'> 			</div><div class='ctx'> 				ShowWindow (GetDlgItem( hwndDlg, IDC_PIM_ENABLE), PimEnable? SW_HIDE : SW_SHOW);</div><div class='ctx'> 				ShowWindow (GetDlgItem( hwndDlg, IDT_PIM), PimEnable? SW_SHOW : SW_HIDE);</div><div class='ctx'> 				ShowWindow (GetDlgItem( hwndDlg, IDC_PIM), PimEnable? SW_SHOW : SW_HIDE);</div><div class='ctx'> 				ShowWindow (GetDlgItem( hwndDlg, IDC_PIM_HELP), PimEnable? SW_SHOW : SW_HIDE);</div><div class='ctx'> 				if (PimEnable)</div><div class='ctx'> 				</div><div class='ctx'> 					SetFocus (GetDlgItem (hwndDlg, IDC_PIM));</div><div class='ctx'> 				</div><div class='ctx'> 			</div><div class='ctx'> 			return 1;</div><div class='ctx'> 		</div><div class='ctx'> </div><div class='ctx'> 		if (nCurPageNo == PASSWORD_PAGE</div><div class='ctx'> 			|| nCurPageNo == HIDDEN_VOL_HOST_PASSWORD_PAGE</div><div class='ctx'> 			|| nCurPageNo == NONSYS_INPLACE_ENC_RESUME_PASSWORD_PAGE)</div><div class='ctx'> 		</div><div class='ctx'> 			if (lw == IDC_KEY_FILES)</div><div class='ctx'> 			</div><div class='ctx'> 				if (SysEncInEffect())</div><div class='ctx'> 				</div><div class='ctx'> 					Warning ("KEYFILES_NOT_SUPPORTED_FOR_SYS_ENCRYPTION", MainDlg);</div><div class='ctx'> 					return 1;</div><div class='ctx'> 				</div><div class='ctx'> </div><div class='ctx'> 				KeyFilesDlgParam param;</div><div class='ctx'> 				param.EnableKeyFiles = KeyFilesEnable;</div><div class='hunk'>@@ -6018,78 +6233,111 @@ BOOL CALLBACK PageDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa</div><div class='ctx'> 			return 1;</div><div class='ctx'> 		</div><div class='ctx'> </div><div class='ctx'> 		if (lw == IDC_DISPLAY_KEYS &amp;&amp; nCurPageNo == SYSENC_KEYS_GEN_PAGE)</div><div class='ctx'> 		</div><div class='ctx'> 			showKeys = IsButtonChecked (GetDlgItem (hCurPage, IDC_DISPLAY_KEYS));</div><div class='ctx'> </div><div class='ctx'> 			DisplayPortionsOfKeys (GetDlgItem (hwndDlg, IDC_HEADER_KEY), GetDlgItem (hwndDlg, IDC_DISK_KEY), HeaderKeyGUIView, MasterKeyGUIView, !showKeys);</div><div class='ctx'> 			return 1;</div><div class='ctx'> 		</div><div class='ctx'> </div><div class='ctx'> 		if (nCurPageNo == SYSENC_RESCUE_DISK_CREATION_PAGE)</div><div class='ctx'> 		</div><div class='ctx'> 			if (lw == IDC_BROWSE)</div><div class='ctx'> 			</div><div class='ctx'> 				wchar_t tmpszRescueDiskISO [TC_MAX_PATH+1];</div><div class='ctx'> </div><div class='ctx'> 				if (!BrowseFiles (hwndDlg, "OPEN_TITLE", tmpszRescueDiskISO, FALSE, TRUE, NULL))</div><div class='ctx'> 					return 1;</div><div class='ctx'> </div><div class='ctx'> 				StringCbCopyW (szRescueDiskISO, sizeof(szRescueDiskISO), tmpszRescueDiskISO);</div><div class='ctx'> </div><div class='ctx'> 				SetDlgItemText (hwndDlg, IDC_RESCUE_DISK_ISO_PATH, szRescueDiskISO);</div><div class='ctx'> 				EnableWindow (GetDlgItem (MainDlg, IDC_NEXT), (GetWindowTextLength (GetDlgItem (hwndDlg, IDC_RESCUE_DISK_ISO_PATH)) &gt; 1));</div><div class='ctx'> 				return 1;</div><div class='ctx'> 			</div><div class='ctx'> </div><div class='ctx'> 			if ( hw == EN_CHANGE )</div><div class='ctx'> 			</div><div class='ctx'> 				GetDlgItemText (hwndDlg, IDC_RESCUE_DISK_ISO_PATH, szRescueDiskISO, sizeof(szRescueDiskISO));</div><div class='ctx'> 				EnableWindow (GetDlgItem (MainDlg, IDC_NEXT), (GetWindowTextLength (GetDlgItem (hwndDlg, IDC_RESCUE_DISK_ISO_PATH)) &gt; 1));</div><div class='ctx'> 				return 1;</div><div class='ctx'> 			</div><div class='ctx'> 		</div><div class='ctx'> </div><div class='del'>-		if (nCurPageNo == SYSENC_RESCUE_DISK_BURN_PAGE &amp;&amp; lw == IDC_DOWNLOAD_CD_BURN_SOFTWARE)</div><div class='add'>+		/* The password and rescue checkbox have to be clicked in order to enable the next button */</div><div class='add'>+		if ((nCurPageNo == SYSENC_WIPE_MODE_PAGE || nCurPageNo == NONSYS_INPLACE_ENC_WIPE_MODE_PAGE) &amp;&amp; </div><div class='add'>+			(lw == IDC_CHECKLIST_A || lw == IDC_CHECKLIST_B || lw == IDC_CHECKLIST_C))</div><div class='ctx'> 		</div><div class='del'>-			if (IsWindowsIsoBurnerAvailable())</div><div class='del'>-				LaunchWindowsIsoBurner (hwndDlg, szRescueDiskISO);</div><div class='del'>-			else</div><div class='del'>-				Applink ("isoburning");</div><div class='add'>+			if (SysEncInEffect ())</div><div class='add'>+			</div><div class='add'>+				if (bChecklistA &amp;&amp; bChecklistB &amp;&amp; bChecklistC)</div><div class='add'>+					EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), TRUE);</div><div class='add'>+				else</div><div class='add'>+					EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), FALSE);</div><div class='add'>+			</div><div class='add'>+		</div><div class='ctx'> </div><div class='del'>-			return 1;</div><div class='add'>+		if (lw == IDC_BROWSE &amp;&amp; (nCurPageNo == SYSENC_WIPE_MODE_PAGE || nCurPageNo == NONSYS_INPLACE_ENC_WIPE_MODE_PAGE))</div><div class='add'>+		</div><div class='add'>+			wchar_t tmpszRescueDiskISO [TC_MAX_PATH+1];</div><div class='add'>+</div><div class='add'>+			StringCbCopyW (tmpszRescueDiskISO, sizeof(tmpszRescueDiskISO), szRescueDiskISO);</div><div class='add'>+</div><div class='add'>+			//detects the last ' in order to remove the name of the zip file and save file name	</div><div class='add'>+			for (int i = wcslen(tmpszRescueDiskISO); i &gt; 1; i--)</div><div class='add'>+			</div><div class='add'>+				if (tmpszRescueDiskISO[i] == '\')</div><div class='add'>+				</div><div class='add'>+					for (int j = i + 1; i &lt; wcslen(tmpszRescueDiskISO); i++)</div><div class='add'>+						tmpszRescueDiskISO[j] = '';</div><div class='add'>+					break;</div><div class='add'>+				</div><div class='add'>+			</div><div class='add'>+			</div><div class='add'>+			if(!BrowseFile (hwndDlg, "RESCUE_DISK_PATH", tmpszRescueDiskISO))</div><div class='add'>+				return 1;</div><div class='add'>+</div><div class='add'>+			return 0;</div><div class='add'>+		</div><div class='add'>+		if (nCurPageNo == SYSENC_PRETEST_RESULT_PAGE &amp;&amp; lw == IDC_CHECKBOX_PRETEST)</div><div class='add'>+		</div><div class='add'>+			if (bCheckboxPretest)</div><div class='add'>+				EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), TRUE);</div><div class='add'>+			else</div><div class='add'>+				EnableWindow (GetDlgItem (GetParent (hwndDlg), IDC_NEXT), FALSE);</div><div class='ctx'> 		</div><div class='ctx'> </div><div class='ctx'> 		if ((nCurPageNo == SYSENC_WIPE_MODE_PAGE</div><div class='ctx'> 			|| nCurPageNo == NONSYS_INPLACE_ENC_WIPE_MODE_PAGE</div><div class='ctx'> 			|| nCurPageNo == DEVICE_WIPE_MODE_PAGE)</div><div class='ctx'> 			&amp;&amp; hw == CBN_SELCHANGE)</div><div class='ctx'> 		</div><div class='ctx'> 			nWipeMode = (WipeAlgorithmId) SendMessage (GetDlgItem (hCurPage, IDC_WIPE_MODE),</div><div class='ctx'> 				CB_GETITEMDATA,</div><div class='ctx'> 				SendMessage (GetDlgItem (hCurPage, IDC_WIPE_MODE), CB_GETCURSEL, 0, 0),</div><div class='ctx'> 				0);</div><div class='ctx'> </div><div class='ctx'> 			return 1;</div><div class='ctx'> 		</div><div class='ctx'> </div><div class='ctx'> 		if (nCurPageNo == DEVICE_WIPE_PAGE)</div><div class='ctx'> 		</div><div class='ctx'> 			switch (lw)</div><div class='ctx'> 			</div><div class='ctx'> 			case IDC_ABORT_BUTTON:</div><div class='ctx'> </div><div class='ctx'> 				if (AskWarnNoYes ("CONFIRM_WIPE_ABORT", MainDlg) == IDYES)</div><div class='ctx'> 					WipeAbort();</div><div class='ctx'> </div><div class='ctx'> 				return 1;</div><div class='ctx'> 			</div><div class='ctx'> 		</div><div class='ctx'> </div><div class='ctx'> 		if (lw == IDC_NO_HISTORY)</div><div class='ctx'> 		</div><div class='ctx'> 			if (!(bHistory = !IsButtonChecked (GetDlgItem (hCurPage, IDC_NO_HISTORY))))</div><div class='ctx'> 				ClearHistory (GetDlgItem (hCurPage, IDC_COMBO_BOX));</div><div class='ctx'> </div><div class='ctx'> 			return 1;</div><div class='ctx'> 		</div><div class='hunk'>@@ -6339,75 +6587,73 @@ BOOL CALLBACK MainDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa</div><div class='ctx'> 				</div><div class='ctx'> 					// The host file system is FAT32</div><div class='ctx'> 					if (nVolumeSize &gt;= 4 * BYTES_PER_GB)</div><div class='ctx'> 					</div><div class='ctx'> 						AbortProcess ("VOLUME_TOO_LARGE_FOR_FAT32");</div><div class='ctx'> 					</div><div class='ctx'> 				</div><div class='ctx'> </div><div class='ctx'> 				/* Verify that the volume would not be too large for the operating system */</div><div class='ctx'> 				if (!IsOSAtLeast (WIN_VISTA)</div><div class='ctx'> 					&amp;&amp; nVolumeSize &gt; 2 * BYTES_PER_TB)</div><div class='ctx'> 				</div><div class='ctx'> 					AbortProcess ("VOLUME_TOO_LARGE_FOR_WINXP");</div><div class='ctx'> 				</div><div class='ctx'> </div><div class='ctx'> 				if (volumePassword.Length &gt; 0)</div><div class='ctx'> 				</div><div class='ctx'> 					// Check password length (check also done for outer volume which is not the case in TrueCrypt).</div><div class='ctx'> 					if (!CheckPasswordLength (NULL, volumePassword.Length, volumePim, FALSE, 0, Silent, Silent))</div><div class='ctx'> 					</div><div class='ctx'> 						exit (1);</div><div class='ctx'> 					</div><div class='ctx'> 				</div><div class='ctx'> </div><div class='ctx'> 				if (!KeyFilesApply (hwndDlg, &amp;volumePassword, FirstCmdKeyFile, NULL))</div><div class='ctx'> 				</div><div class='ctx'> 					exit (1);</div><div class='ctx'> 				</div><div class='ctx'> </div><div class='ctx'> 				volTransformThreadFunction (hwndDlg);</div><div class='ctx'> </div><div class='ctx'> 				exit (bOperationSuccess? 0 : 1);</div><div class='ctx'> 			</div><div class='ctx'> </div><div class='ctx'> 			SHGetFolderPath (NULL, CSIDL_MYDOCUMENTS, NULL, 0, szRescueDiskISO);</div><div class='del'>-			if (bSystemIsGPT)</div><div class='del'>-				StringCbCatW (szRescueDiskISO, sizeof(szRescueDiskISO), L"\VeraCrypt Rescue Disk.zip");</div><div class='del'>-			else</div><div class='del'>-				StringCbCatW (szRescueDiskISO, sizeof(szRescueDiskISO), L"\VeraCrypt Rescue Disk.iso");</div><div class='ctx'> </div><div class='add'>+			StringCbCatW (szRescueDiskISO, sizeof(szRescueDiskISO), L"\VeraCrypt Rescue Disk.zip");</div><div class='add'>+			</div><div class='ctx'> 			if (IsOSAtLeast (WIN_VISTA))</div><div class='ctx'> 			</div><div class='ctx'> 				// Availability of in-place encryption (which is pre-selected by default whenever</div><div class='ctx'> 				// possible) makes partition-hosted volume creation safer.</div><div class='ctx'> 				bWarnDeviceFormatAdvanced = FALSE;</div><div class='ctx'> 			</div><div class='ctx'> </div><div class='ctx'> #ifdef _DEBUG</div><div class='ctx'> 			// For faster testing</div><div class='ctx'> 			StringCchCopyA (szVerify, ARRAYSIZE(szVerify), "q");</div><div class='ctx'> 			StringCchCopyA (szRawPassword, ARRAYSIZE(szRawPassword), "q");</div><div class='ctx'> #endif</div><div class='ctx'> </div><div class='ctx'> 			PasswordEditDropTarget* pTarget = new PasswordEditDropTarget ();</div><div class='ctx'> 			if (pTarget-&gt;Register (hwndDlg))</div><div class='ctx'> 			</div><div class='ctx'> 				SetWindowLongPtr (hwndDlg, DWLP_USER, (LONG_PTR) pTarget);</div><div class='ctx'> 			</div><div class='ctx'> 			else</div><div class='ctx'> 				delete pTarget;</div><div class='ctx'> </div><div class='ctx'> 			PostMessage (hwndDlg, TC_APPMSG_PERFORM_POST_WMINIT_TASKS, 0, 0);</div><div class='ctx'> 		</div><div class='ctx'> 		return 0;</div><div class='ctx'> </div><div class='ctx'> 	case WM_SYSCOMMAND:</div><div class='ctx'> 		if (lw == IDC_ABOUT)</div><div class='ctx'> 		</div><div class='ctx'> 			DialogBoxW (hInst, MAKEINTRESOURCEW (IDD_ABOUT_DLG), hwndDlg, (DLGPROC) AboutDlgProc);</div><div class='ctx'> 			return 1;</div><div class='ctx'> 		</div><div class='ctx'> 		return 0;</div><div class='ctx'> </div><div class='ctx'> 	case WM_TIMER:</div><div class='ctx'> </div><div class='hunk'>@@ -6627,105 +6873,103 @@ BOOL CALLBACK MainDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa</div><div class='ctx'> 		case TIMER_ID_NONSYS_INPLACE_ENC_PROGRESS:</div><div class='ctx'> </div><div class='ctx'> 			if (bInPlaceEncNonSys)</div><div class='ctx'> 			</div><div class='ctx'> 				// Non-system in-place encryption</div><div class='ctx'> </div><div class='ctx'> 				if (!bVolTransformThreadRunning &amp;&amp; !bVolTransformThreadToRun)</div><div class='ctx'> 				</div><div class='ctx'> 					KillTimer (hwndDlg, TIMER_ID_NONSYS_INPLACE_ENC_PROGRESS);</div><div class='ctx'> </div><div class='ctx'> 					UpdateLastDialogId ();</div><div class='ctx'> 				</div><div class='ctx'> </div><div class='ctx'> 				UpdateNonSysInPlaceEncControls ();</div><div class='ctx'> 			</div><div class='ctx'> 			return 1;</div><div class='ctx'> </div><div class='ctx'> 		case TIMER_ID_KEYB_LAYOUT_GUARD:</div><div class='ctx'> 			if (SysEncInEffect ())</div><div class='ctx'> 			</div><div class='ctx'> 				DWORD keybLayout = (DWORD) GetKeyboardLayout (NULL);</div><div class='ctx'> </div><div class='ctx'> 				/* Watch the keyboard layout */</div><div class='ctx'> </div><div class='ctx'> 				if (keybLayout != 0x00000409 &amp;&amp; keybLayout != 0x04090409)</div><div class='ctx'> 				</div><div class='ctx'> 					// Keyboard layout is not standard US</div><div class='ctx'> </div><div class='ctx'> 					WipePasswordsAndKeyfiles (true);</div><div class='ctx'> </div><div class='ctx'> 					SetPassword (hCurPage, IDC_PASSWORD, szRawPassword);</div><div class='ctx'> 					SetPassword (hCurPage, IDC_VERIFY, szVerify);</div><div class='ctx'> </div><div class='ctx'> 					keybLayout = (DWORD) LoadKeyboardLayout (L"00000409", KLF_ACTIVATE);</div><div class='ctx'> </div><div class='add'>+					// East Asian languages are not translated to US keyboard layout so we need to change keyboard layout</div><div class='ctx'> 					if (keybLayout != 0x00000409 &amp;&amp; keybLayout != 0x04090409)</div><div class='ctx'> 					</div><div class='ctx'> 						KillTimer (hwndDlg, TIMER_ID_KEYB_LAYOUT_GUARD);</div><div class='ctx'> 						Error ("CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION", MainDlg);</div><div class='ctx'> 						EndMainDlg (MainDlg);</div><div class='ctx'> 						return 1;</div><div class='ctx'> 					</div><div class='del'>-</div><div class='add'>+						</div><div class='ctx'> 					bKeyboardLayoutChanged = TRUE;</div><div class='del'>-</div><div class='ctx'> 					wchar_t szTmp [4096];</div><div class='ctx'> 					StringCbCopyW (szTmp, sizeof(szTmp), GetString ("KEYB_LAYOUT_CHANGE_PREVENTED"));</div><div class='ctx'> 					StringCbCatW (szTmp, sizeof(szTmp), L"");</div><div class='ctx'> 					StringCbCatW (szTmp, sizeof(szTmp), GetString ("KEYB_LAYOUT_SYS_ENC_EXPLANATION"));</div><div class='ctx'> 					MessageBoxW (MainDlg, szTmp, lpszTitle, MB_ICONWARNING | MB_SETFOREGROUND | MB_TOPMOST);</div><div class='del'>-				</div><div class='del'>-</div><div class='del'>-				/* Watch the right Alt key (which is used to enter various characters on non-US keyboards) */</div><div class='ctx'> </div><div class='del'>-				if (bKeyboardLayoutChanged &amp;&amp; !bKeybLayoutAltKeyWarningShown)</div><div class='del'>-				</div><div class='del'>-					if (GetAsyncKeyState (VK_RMENU) &lt; 0)</div><div class='add'>+					if (bKeyboardLayoutChanged &amp;&amp; !bKeybLayoutAltKeyWarningShown)</div><div class='ctx'> 					</div><div class='del'>-						bKeybLayoutAltKeyWarningShown = TRUE;</div><div class='add'>+						if (GetAsyncKeyState (VK_RMENU) &lt; 0)</div><div class='add'>+						</div><div class='add'>+							bKeybLayoutAltKeyWarningShown = TRUE;</div><div class='ctx'> </div><div class='del'>-						wchar_t szTmp [4096];</div><div class='del'>-						StringCbCopyW (szTmp, sizeof(szTmp), GetString ("ALT_KEY_CHARS_NOT_FOR_SYS_ENCRYPTION"));</div><div class='del'>-						StringCbCatW (szTmp, sizeof(szTmp), L"");</div><div class='del'>-						StringCbCatW (szTmp, sizeof(szTmp), GetString ("KEYB_LAYOUT_SYS_ENC_EXPLANATION"));</div><div class='del'>-						MessageBoxW (MainDlg, szTmp, lpszTitle, MB_ICONINFORMATION  | MB_SETFOREGROUND | MB_TOPMOST);</div><div class='add'>+</div><div class='add'>+							wchar_t szTmp [4096];</div><div class='add'>+							StringCbCopyW (szTmp, sizeof(szTmp), GetString ("ALT_KEY_CHARS_NOT_FOR_SYS_ENCRYPTION"));</div><div class='add'>+							StringCbCatW (szTmp, sizeof(szTmp), L"");</div><div class='add'>+							StringCbCatW (szTmp, sizeof(szTmp), GetString ("KEYB_LAYOUT_SYS_ENC_EXPLANATION"));</div><div class='add'>+							MessageBoxW (MainDlg, szTmp, lpszTitle, MB_ICONINFORMATION  | MB_SETFOREGROUND | MB_TOPMOST);</div><div class='add'>+						</div><div class='ctx'> 					</div><div class='ctx'> 				</div><div class='ctx'> 			</div><div class='ctx'> 			return 1;</div><div class='del'>-</div><div class='ctx'> 		case TIMER_ID_SYSENC_DRIVE_ANALYSIS_PROGRESS:</div><div class='ctx'> </div><div class='ctx'> 			if (bSysEncDriveAnalysisInProgress)</div><div class='ctx'> 			</div><div class='ctx'> 				UpdateProgressBarProc (GetTickCount() - SysEncDriveAnalysisStart);</div><div class='ctx'> </div><div class='ctx'> 				if (GetTickCount() - SysEncDriveAnalysisStart &gt; SYSENC_DRIVE_ANALYSIS_ETA)</div><div class='ctx'> 				</div><div class='ctx'> 					// It's taking longer than expected -- reinit the progress bar</div><div class='ctx'> 					SysEncDriveAnalysisStart = GetTickCount ();</div><div class='ctx'> 					InitProgressBar (SYSENC_DRIVE_ANALYSIS_ETA, 0, FALSE, FALSE, FALSE, TRUE);</div><div class='ctx'> 				</div><div class='ctx'> </div><div class='ctx'> 				ArrowWaitCursor ();</div><div class='ctx'> 			</div><div class='ctx'> 			else</div><div class='ctx'> 			</div><div class='ctx'> 				KillTimer (hwndDlg, TIMER_ID_SYSENC_DRIVE_ANALYSIS_PROGRESS);</div><div class='ctx'> 				UpdateProgressBarProc (SYSENC_DRIVE_ANALYSIS_ETA);</div><div class='ctx'> 				Sleep (1500);	// User-friendly GUI</div><div class='ctx'> </div><div class='ctx'> 				if (bSysEncDriveAnalysisTimeOutOccurred)</div><div class='ctx'> 					Warning ("SYS_DRIVE_SIZE_PROBE_TIMEOUT", MainDlg);</div><div class='ctx'> </div><div class='ctx'> 				LoadPage (hwndDlg, SYSENC_DRIVE_ANALYSIS_PAGE + 1);</div><div class='ctx'> 			</div><div class='ctx'> 			return 1;</div><div class='ctx'> </div><div class='ctx'> 		case TIMER_ID_WIPE_PROGRESS:</div><div class='ctx'> </div><div class='ctx'> 			// Manage device wipe and update related GUI</div><div class='ctx'> </div><div class='ctx'> 			if (bHiddenOS &amp;&amp; IsHiddenOSRunning())</div><div class='ctx'> 			</div><div class='ctx'> 				// Decoy system partition wipe</div><div class='hunk'>@@ -6982,140 +7226,153 @@ BOOL CALLBACK MainDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa</div><div class='ctx'> 				</div><div class='ctx'> 				catch (Exception &amp;e)</div><div class='ctx'> 				</div><div class='ctx'> 					e.Show (hwndDlg);</div><div class='ctx'> 				</div><div class='ctx'> 				return 1;	// Disallow close</div><div class='ctx'> 			</div><div class='ctx'> 			else</div><div class='ctx'> 				return 1;	// Disallow close</div><div class='ctx'> 		</div><div class='ctx'> 		else if (bConfirmQuitSysEncPretest)</div><div class='ctx'> 		</div><div class='ctx'> 			if (AskWarnNoYes (bHiddenOS ? "CONFIRM_CANCEL_HIDDEN_OS_CREATION" : "CONFIRM_CANCEL_SYS_ENC_PRETEST", MainDlg) == IDNO)</div><div class='ctx'> 				return 1;	// Disallow close</div><div class='ctx'> 		</div><div class='ctx'> 		else if (bConfirmQuit)</div><div class='ctx'> 		</div><div class='ctx'> 			if (AskWarnNoYes ("CONFIRM_EXIT_UNIVERSAL", MainDlg) == IDNO)</div><div class='ctx'> 				return 1;	// Disallow close</div><div class='ctx'> 		</div><div class='ctx'> </div><div class='ctx'> 		if (hiddenVolHostDriveNo &gt; -1)</div><div class='ctx'> 		</div><div class='ctx'> 			CloseVolumeExplorerWindows (hwndDlg, hiddenVolHostDriveNo);</div><div class='ctx'> 			UnmountVolume (hwndDlg, hiddenVolHostDriveNo, TRUE);</div><div class='ctx'> 		</div><div class='ctx'> </div><div class='ctx'> 		EndMainDlg (hwndDlg);</div><div class='ctx'> 		return 1;</div><div class='ctx'> </div><div class='ctx'> </div><div class='ctx'> 	case WM_COMMAND:</div><div class='ctx'> </div><div class='ctx'> 		if (lw == IDHELP)</div><div class='ctx'> 		</div><div class='del'>-			OpenPageHelp (hwndDlg, nCurPageNo);</div><div class='add'>+			if (nCurPageNo == SYSENC_RESCUE_DISK_CREATION_PAGE ||</div><div class='add'>+				nCurPageNo == SYSENC_RESCUE_DISK_BURN_PAGE ||</div><div class='add'>+				nCurPageNo == SYSENC_RESCUE_DISK_VERIFIED_PAGE)</div><div class='add'>+			</div><div class='add'>+				Applink("rescue");</div><div class='add'>+			</div><div class='add'>+			else if (nCurPageNo == PASSWORD_PAGE)</div><div class='add'>+			</div><div class='add'>+				Applink("passwords");</div><div class='add'>+			</div><div class='add'>+			else</div><div class='add'>+			</div><div class='add'>+				OpenPageHelp(hwndDlg, nCurPageNo);</div><div class='add'>+			</div><div class='ctx'> 			return 1;</div><div class='ctx'> 		</div><div class='ctx'> 		else if (lw == IDCANCEL)</div><div class='ctx'> 		</div><div class='ctx'> 			PostMessage (hwndDlg, TC_APPMSG_FORMAT_USER_QUIT, 0, 0);</div><div class='ctx'> 			return 1;</div><div class='ctx'> 		</div><div class='ctx'> 		else if (lw == IDC_NEXT)</div><div class='ctx'> 		</div><div class='ctx'> 			if (nCurPageNo == INTRO_PAGE)</div><div class='ctx'> 			</div><div class='ctx'> 				switch (GetSelectedWizardMode (hCurPage))</div><div class='ctx'> 				</div><div class='ctx'> 				case WIZARD_MODE_FILE_CONTAINER:</div><div class='ctx'> </div><div class='ctx'> 					if (CurrentOSMajor &gt;= 6 &amp;&amp; IsUacSupported() &amp;&amp; IsAdmin() &amp;&amp; !IsBuiltInAdmin() &amp;&amp; !IsNonInstallMode())</div><div class='ctx'> 					</div><div class='ctx'> 						static bool warningConfirmed = false;</div><div class='ctx'> 						if (!warningConfirmed)</div><div class='ctx'> 						</div><div class='ctx'> 							if (AskWarnYesNo ("CONTAINER_ADMIN_WARNING", MainDlg) == IDYES)</div><div class='ctx'> 								exit (0);</div><div class='ctx'> </div><div class='ctx'> 							warningConfirmed = true;</div><div class='ctx'> 						</div><div class='ctx'> 					</div><div class='ctx'> </div><div class='ctx'> 					WaitCursor ();</div><div class='ctx'> 					CloseSysEncMutex ();</div><div class='ctx'> 					ChangeWizardMode (WIZARD_MODE_FILE_CONTAINER);</div><div class='ctx'> 					bHiddenOS = FALSE;</div><div class='ctx'> 					bInPlaceEncNonSys = FALSE;</div><div class='ctx'> 					nNewPageNo = VOLUME_TYPE_PAGE - 1;	// Skip irrelevant pages</div><div class='ctx'> 					break;</div><div class='ctx'> </div><div class='ctx'> 				case WIZARD_MODE_NONSYS_DEVICE:</div><div class='ctx'> </div><div class='ctx'> 					WaitCursor ();</div><div class='ctx'> 					CloseSysEncMutex ();</div><div class='ctx'> </div><div class='ctx'> 					if (!ChangeWizardMode (WIZARD_MODE_NONSYS_DEVICE))</div><div class='ctx'> 					</div><div class='ctx'> 						NormalCursor ();</div><div class='ctx'> 						return 1;</div><div class='ctx'> 					</div><div class='ctx'> </div><div class='ctx'> 					bHiddenOS = FALSE;</div><div class='ctx'> 					nNewPageNo = VOLUME_TYPE_PAGE - 1;	// Skip irrelevant pages</div><div class='ctx'> 					break;</div><div class='ctx'> </div><div class='ctx'> 				case WIZARD_MODE_SYS_DEVICE:</div><div class='ctx'> </div><div class='ctx'> 					WaitCursor ();</div><div class='ctx'> 					bHiddenVol = FALSE;</div><div class='ctx'> 					bInPlaceEncNonSys = FALSE;</div><div class='ctx'> 					SwitchWizardToSysEncMode ();</div><div class='ctx'> 					return 1;</div><div class='ctx'> 				</div><div class='ctx'> 			</div><div class='ctx'> 			else if (nCurPageNo == SYSENC_TYPE_PAGE)</div><div class='ctx'> 			</div><div class='ctx'> 				if (bHiddenOS)</div><div class='ctx'> 				</div><div class='ctx'> 					bWholeSysDrive = FALSE;</div><div class='ctx'> 					bHiddenVolDirect = FALSE;</div><div class='ctx'> 				</div><div class='ctx'> </div><div class='ctx'> 				if (!bHiddenOS)</div><div class='del'>-					nNewPageNo = SYSENC_SPAN_PAGE - 1;	// Skip irrelevant pages</div><div class='add'>+					nNewPageNo = PASSWORD_PAGE - 1;	// Skip irrelevant pages</div><div class='ctx'> 			</div><div class='ctx'> 			else if (nCurPageNo == SYSENC_HIDDEN_OS_REQ_CHECK_PAGE)</div><div class='ctx'> 			</div><div class='ctx'> 				WaitCursor ();</div><div class='ctx'> 				try</div><div class='ctx'> 				</div><div class='ctx'> 					BootEncObj-&gt;CheckRequirementsHiddenOS ();</div><div class='ctx'> </div><div class='ctx'> 					if (CheckGapBetweenSysAndHiddenOS ())</div><div class='ctx'> 						Warning ("GAP_BETWEEN_SYS_AND_HIDDEN_OS_PARTITION", MainDlg);</div><div class='ctx'> 				</div><div class='ctx'> 				catch (Exception &amp;e)</div><div class='ctx'> 				</div><div class='ctx'> 					e.Show (hwndDlg);</div><div class='ctx'> 					NormalCursor ();</div><div class='ctx'> 					return 1;</div><div class='ctx'> 				</div><div class='ctx'> </div><div class='ctx'> 				if (AskWarnYesNo ("DECOY_OS_REINSTALL_WARNING", MainDlg) == IDNO)</div><div class='ctx'> 				</div><div class='ctx'> 					NormalCursor ();</div><div class='ctx'> 					return 1;</div><div class='ctx'> 				</div><div class='ctx'> </div><div class='ctx'> 				WarningDirect ((wstring (GetString ("HIDDEN_OS_WRITE_PROTECTION_BRIEF_INFO"))</div><div class='ctx'> 					+ L""</div><div class='ctx'> 					+ GetString ("HIDDEN_OS_WRITE_PROTECTION_EXPLANATION")).c_str(), MainDlg);</div><div class='ctx'> </div><div class='ctx'> 				if (!IsAdmin() &amp;&amp; IsUacSupported())</div><div class='ctx'> 				</div><div class='ctx'> 					// If UAC elevation is needed, we need to elevate the complete wizard process here, because</div><div class='ctx'> 					// we will need to switch to the non-sys-device mode, which requires the whole wizard process</div><div class='ctx'> 					// to have admin rights.</div><div class='ctx'> </div><div class='ctx'> 					CloseSysEncMutex ();</div><div class='hunk'>@@ -7595,221 +7852,277 @@ BOOL CALLBACK MainDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa</div><div class='ctx'> 						// The host file system is FAT32</div><div class='ctx'> 						if (nUIVolumeSize * nMultiplier &gt;= 4 * BYTES_PER_GB)</div><div class='ctx'> 						</div><div class='ctx'> 							Error ("VOLUME_TOO_LARGE_FOR_FAT32", hwndDlg);</div><div class='ctx'> 							return 1;</div><div class='ctx'> 						</div><div class='ctx'> 					</div><div class='ctx'> </div><div class='ctx'> 					/* Verify that the volume would not be too large for the operating system */</div><div class='ctx'> </div><div class='ctx'> 					if (!IsOSAtLeast (WIN_VISTA)</div><div class='ctx'> 						&amp;&amp; nUIVolumeSize * nMultiplier &gt; 2 * BYTES_PER_TB)</div><div class='ctx'> 					</div><div class='ctx'> 						Warning ("VOLUME_TOO_LARGE_FOR_WINXP", hwndDlg);</div><div class='ctx'> 					</div><div class='ctx'> 				</div><div class='ctx'> </div><div class='ctx'> 				if (bHiddenVol &amp;&amp; !bHiddenVolHost)	// If it's a hidden volume</div><div class='ctx'> 				</div><div class='ctx'> 					/* Ask for confirmation if the hidden volume is too large for the user to be</div><div class='ctx'> 					able to write much more data to the outer volume. */</div><div class='ctx'> </div><div class='ctx'> 					if (((double) nUIVolumeSize / (nMaximumHiddenVolSize / nMultiplier)) &gt; 0.85)	// 85%</div><div class='ctx'> 					</div><div class='ctx'> 						if (AskWarnNoYes ("FREE_SPACE_FOR_WRITING_TO_OUTER_VOLUME", hwndDlg) == IDNO)</div><div class='ctx'> 							return 1;</div><div class='ctx'> 					</div><div class='ctx'> 				</div><div class='ctx'> </div><div class='ctx'> 				if (!(bHiddenVolDirect &amp;&amp; bHiddenVolHost))</div><div class='ctx'> 					nNewPageNo = PASSWORD_PAGE - 1;</div><div class='ctx'> 			</div><div class='ctx'> </div><div class='ctx'> 			else if (nCurPageNo == PASSWORD_PAGE)</div><div class='ctx'> 			</div><div class='add'>+				if (SysEncInEffect ())</div><div class='add'>+				</div><div class='add'>+					wchar_t tmpPwd[MAX_PASSWORD + 1];</div><div class='add'>+					GetWindowText (GetDlgItem (hCurPage, IDC_PASSWORD), tmpPwd, iMaxPasswordLength + 1);</div><div class='add'>+				</div><div class='ctx'> 				VerifyPasswordAndUpdate (hwndDlg, GetDlgItem (MainDlg, IDC_NEXT),</div><div class='ctx'> 					GetDlgItem (hCurPage, IDC_PASSWORD),</div><div class='ctx'> 					GetDlgItem (hCurPage, IDC_VERIFY),</div><div class='ctx'> 					volumePassword.Text,</div><div class='ctx'> 					szVerify,</div><div class='ctx'> 					KeyFilesEnable &amp;&amp; FirstKeyFile!=NULL &amp;&amp; !SysEncInEffect());</div><div class='ctx'> </div><div class='ctx'> 				volumePassword.Length = (unsigned __int32) strlen ((char *) volumePassword.Text);</div><div class='ctx'> </div><div class='ctx'> 				if (volumePassword.Length &gt; 0)</div><div class='ctx'> 				</div><div class='ctx'> 					// Password character encoding</div><div class='ctx'> 					if (SysEncInEffect () &amp;&amp; !CheckPasswordCharEncoding (GetDlgItem (hCurPage, IDC_PASSWORD), NULL))</div><div class='ctx'> 					</div><div class='ctx'> 						Error ("UNSUPPORTED_CHARS_IN_PWD", hwndDlg);</div><div class='ctx'> 						return 1;</div><div class='ctx'> 					</div><div class='del'>-					// Check password length (check also done for outer volume which is not the case in TrueCrypt).</div><div class='add'>+					// Check password length (check also done for outer volume which is not the case in TrueCrypt).	</div><div class='ctx'> 					else if (!CheckPasswordLength (hwndDlg, volumePassword.Length, 0, SysEncInEffect(), SysEncInEffect()? hash_algo : 0, FALSE, FALSE))</div><div class='ctx'> 					</div><div class='ctx'> 						return 1;</div><div class='ctx'> 					</div><div class='ctx'> 				</div><div class='ctx'> </div><div class='ctx'> 				// Store the password in case we need to restore it after keyfile is applied to it</div><div class='ctx'> 				if (!GetPassword (hCurPage, IDC_PASSWORD, szRawPassword, iMaxPasswordLength + 1, FALSE, TRUE))</div><div class='ctx'> 					return 1;</div><div class='ctx'> </div><div class='ctx'> 				if (!SysEncInEffect ())</div><div class='ctx'> 				</div><div class='ctx'> 					if (KeyFilesEnable)</div><div class='ctx'> 					</div><div class='ctx'> 						WaitCursor ();</div><div class='ctx'> </div><div class='ctx'> 						if (!KeyFilesApply (hwndDlg, &amp;volumePassword, FirstKeyFile, NULL))</div><div class='ctx'> 						</div><div class='ctx'> 							NormalCursor ();</div><div class='ctx'> 							return 1;</div><div class='ctx'> 						</div><div class='ctx'> </div><div class='ctx'> 						NormalCursor ();</div><div class='ctx'> 					</div><div class='ctx'> </div><div class='ctx'> 				</div><div class='ctx'> 				else</div><div class='ctx'> 				</div><div class='ctx'> 					KillTimer (hwndDlg, TIMER_ID_KEYB_LAYOUT_GUARD);</div><div class='ctx'> </div><div class='ctx'> 					if (bKeyboardLayoutChanged)</div><div class='ctx'> 					</div><div class='ctx'> 						// Restore the original keyboard layout</div><div class='ctx'> 						if (LoadKeyboardLayout (OrigKeyboardLayout, KLF_ACTIVATE | KLF_SUBSTITUTE_OK) == NULL)</div><div class='ctx'> 							Warning ("CANNOT_RESTORE_KEYBOARD_LAYOUT", hwndDlg);</div><div class='ctx'> 						else</div><div class='ctx'> 							bKeyboardLayoutChanged = FALSE;</div><div class='ctx'> 					</div><div class='del'>-</div><div class='ctx'> 				</div><div class='ctx'> </div><div class='ctx'> 				if (!PimEnable)</div><div class='ctx'> 				</div><div class='ctx'> 					// PIM not activated. Skip PIM page</div><div class='ctx'> 					nNewPageNo = PIM_PAGE;</div><div class='ctx'> 					volumePim = 0;</div><div class='ctx'> </div><div class='ctx'> 					if (!CreatingHiddenSysVol() &amp;&amp; bHiddenVol &amp;&amp; !bHiddenVolHost)</div><div class='ctx'> 					</div><div class='ctx'> 						if (	(volumePim == outerVolumePim)</div><div class='ctx'> 							&amp;&amp;	(volumePassword.Length == outerVolumePassword.Length)</div><div class='ctx'> 							&amp;&amp;	(0 == memcmp (volumePassword.Text, outerVolumePassword.Text, volumePassword.Length))</div><div class='ctx'> 							)</div><div class='ctx'> 						</div><div class='ctx'> 							Warning ("HIDDEN_CREDS_SAME_AS_OUTER", hwndDlg);</div><div class='ctx'> 							return 1;</div><div class='ctx'> 						</div><div class='ctx'> 					</div><div class='ctx'> </div><div class='del'>-					if (SysEncInEffect ())</div><div class='del'>-					</div><div class='del'>-						nNewPageNo = SYSENC_COLLECTING_RANDOM_DATA_PAGE - 1;	// Skip irrelevant pages</div><div class='del'>-					</div><div class='del'>-</div><div class='ctx'> 					if (bInPlaceEncNonSys)</div><div class='ctx'> 					</div><div class='ctx'> 						nNewPageNo = NONSYS_INPLACE_ENC_RAND_DATA_PAGE - 1;		// Skip irrelevant pages</div><div class='ctx'> 					</div><div class='ctx'> 					else if (WizardMode != WIZARD_MODE_SYS_DEVICE</div><div class='ctx'> 						&amp;&amp; !FileSize4GBLimitQuestionNeeded ()</div><div class='ctx'> 						|| CreatingHiddenSysVol())		// If we're creating a hidden volume for a hidden OS, we don't need to format it with any filesystem (the entire OS will be copied to the hidden volume sector by sector).</div><div class='ctx'> 					</div><div class='ctx'> 						nNewPageNo = FORMAT_PAGE - 1;				// Skip irrelevant pages</div><div class='ctx'> 					</div><div class='ctx'> </div><div class='ctx'> 				</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+				if (SysEncInEffect ())</div><div class='add'>+				</div><div class='add'>+					if (PimEnable)</div><div class='add'>+						nNewPageNo = PIM_PAGE - 1;</div><div class='add'>+					else</div><div class='add'>+					</div><div class='add'>+						nNewPageNo = SYSENC_RESCUE_DISK_CREATION_PAGE - 1; // Skip irrelevant pages</div><div class='add'>+						</div><div class='add'>+						wchar_t tmp[RANDPOOL_DISPLAY_SIZE + 1];</div><div class='add'>+						if (!bInPlaceEncNonSys)</div><div class='add'>+						</div><div class='add'>+							/* Generate master key and other related data (except the rescue disk) for system encryption. */</div><div class='add'>+							try</div><div class='add'>+							</div><div class='add'>+								WaitCursor();</div><div class='add'>+								BootEncObj-&gt;PrepareInstallation(!bWholeSysDrive, volumePassword, nVolumeEA, FIRST_MODE_OF_OPERATION_ID, hash_algo, volumePim, L"");</div><div class='add'>+							</div><div class='add'>+							catch (Exception &amp;e)</div><div class='add'>+							</div><div class='add'>+								e.Show(hwndDlg);</div><div class='add'>+								NormalCursor();</div><div class='add'>+								return 1;</div><div class='add'>+							</div><div class='add'>+						</div><div class='add'>+						KillTimer(hwndDlg, TIMER_ID_RANDVIEW);</div><div class='add'>+						// Attempt to wipe the GUI field showing portions of randpool	</div><div class='add'>+						wmemset(tmp, L'X', ARRAYSIZE(tmp));</div><div class='add'>+						tmp[ARRAYSIZE(tmp) - 1] = 0;</div><div class='add'>+						SetWindowText(hRandPoolSys, tmp);</div><div class='add'>+						NormalCursor();</div><div class='add'>+					</div><div class='add'>+</div><div class='add'>+				</div><div class='ctx'> 			</div><div class='ctx'> </div><div class='ctx'> 			else if (nCurPageNo == PIM_PAGE)</div><div class='ctx'> 			</div><div class='ctx'> 				volumePim = GetPim (hCurPage, IDC_PIM, 0);</div><div class='ctx'> </div><div class='ctx'> 				if (!SysEncInEffect() &amp;&amp; (volumePim &gt; MAX_PIM_VALUE))</div><div class='ctx'> 				</div><div class='ctx'> 					SetFocus (GetDlgItem(hCurPage, IDC_PIM));</div><div class='ctx'> 					Error ("PIM_TOO_BIG", hwndDlg);</div><div class='ctx'> 					return 1;</div><div class='ctx'> 				</div><div class='ctx'> </div><div class='ctx'> 				if (!CreatingHiddenSysVol() &amp;&amp; bHiddenVol &amp;&amp; !bHiddenVolHost)</div><div class='ctx'> 				</div><div class='ctx'> 					if (	(volumePim == outerVolumePim)</div><div class='ctx'> 						&amp;&amp;	(volumePassword.Length == outerVolumePassword.Length)</div><div class='ctx'> 						&amp;&amp;	(0 == memcmp (volumePassword.Text, outerVolumePassword.Text, volumePassword.Length))</div><div class='ctx'> 						)</div><div class='ctx'> 					</div><div class='ctx'> 						Warning ("HIDDEN_CREDS_SAME_AS_OUTER", hwndDlg);</div><div class='ctx'> 						return 1;</div><div class='ctx'> 					</div><div class='ctx'> 				</div><div class='ctx'> </div><div class='ctx'> 				if (volumePassword.Length &gt; 0)</div><div class='ctx'> 				</div><div class='ctx'> 					// Password character encoding</div><div class='ctx'> 					if (SysEncInEffect() &amp;&amp; (volumePim &gt; MAX_BOOT_PIM_VALUE))</div><div class='ctx'> 					</div><div class='ctx'> 						SetFocus (GetDlgItem(hCurPage, IDC_PIM));</div><div class='ctx'> 						Error ("PIM_SYSENC_TOO_BIG", hwndDlg);</div><div class='ctx'> 						return 1;</div><div class='ctx'> 					</div><div class='ctx'> 					// Check password length (check also done for outer volume which is not the case in TrueCrypt).</div><div class='del'>-					else if (!CheckPasswordLength (hwndDlg, volumePassword.Length, volumePim, SysEncInEffect(), SysEncInEffect()? hash_algo : 0, TRUE, FALSE))</div><div class='add'>+					else if (!CheckPasswordLength (hwndDlg, volumePassword.Length, volumePim, SysEncInEffect(), SysEncInEffect()? hash_algo : 0, FALSE, FALSE))</div><div class='ctx'> 					</div><div class='ctx'> 						return 1;</div><div class='ctx'> 					</div><div class='ctx'> 				</div><div class='ctx'> </div><div class='del'>-				if (SysEncInEffect ())</div><div class='del'>-				</div><div class='del'>-</div><div class='del'>-					nNewPageNo = SYSENC_COLLECTING_RANDOM_DATA_PAGE - 1;	// Skip irrelevant pages</div><div class='del'>-				</div><div class='del'>-</div><div class='ctx'> 				if (bInPlaceEncNonSys)</div><div class='ctx'> 				</div><div class='ctx'> 					nNewPageNo = NONSYS_INPLACE_ENC_RAND_DATA_PAGE - 1;		// Skip irrelevant pages</div><div class='ctx'> 				</div><div class='ctx'> 				else if (WizardMode != WIZARD_MODE_SYS_DEVICE</div><div class='ctx'> 					&amp;&amp; !FileSize4GBLimitQuestionNeeded ()</div><div class='ctx'> 					|| CreatingHiddenSysVol())		// If we're creating a hidden volume for a hidden OS, we don't need to format it with any filesystem (the entire OS will be copied to the hidden volume sector by sector).</div><div class='ctx'> 				</div><div class='ctx'> 					nNewPageNo = FORMAT_PAGE - 1;				// Skip irrelevant pages</div><div class='ctx'> 				</div><div class='add'>+</div><div class='add'>+				if (SysEncInEffect ())</div><div class='add'>+				</div><div class='add'>+					nNewPageNo = SYSENC_RESCUE_DISK_CREATION_PAGE - 1;	// Skip irrelevant pages</div><div class='add'>+					</div><div class='add'>+					wchar_t tmp[RANDPOOL_DISPLAY_SIZE + 1];</div><div class='add'>+					if (!bInPlaceEncNonSys)</div><div class='add'>+					</div><div class='add'>+						/* Generate master key and other related data (except the rescue disk) for system encryption. */</div><div class='add'>+						try</div><div class='add'>+						</div><div class='add'>+							WaitCursor();</div><div class='add'>+							BootEncObj-&gt;PrepareInstallation(!bWholeSysDrive, volumePassword, nVolumeEA, FIRST_MODE_OF_OPERATION_ID, hash_algo, volumePim, L"");</div><div class='add'>+						</div><div class='add'>+						catch (Exception &amp;e)</div><div class='add'>+						</div><div class='add'>+							e.Show(hwndDlg);</div><div class='add'>+							NormalCursor();</div><div class='add'>+							return 1;</div><div class='add'>+						</div><div class='add'>+					</div><div class='add'>+					KillTimer(hwndDlg, TIMER_ID_RANDVIEW);</div><div class='add'>+					// Attempt to wipe the GUI field showing portions of randpool	</div><div class='add'>+					wmemset(tmp, L'X', ARRAYSIZE(tmp));</div><div class='add'>+					tmp[ARRAYSIZE(tmp) - 1] = 0;</div><div class='add'>+					SetWindowText(hRandPoolSys, tmp);</div><div class='add'>+					NormalCursor();</div><div class='add'>+				</div><div class='ctx'> 			</div><div class='ctx'> </div><div class='ctx'> 			else if (nCurPageNo == HIDDEN_VOL_HOST_PASSWORD_PAGE</div><div class='ctx'> 				|| nCurPageNo == NONSYS_INPLACE_ENC_RESUME_PASSWORD_PAGE)</div><div class='ctx'> 			</div><div class='ctx'> 				WaitCursor ();</div><div class='ctx'> </div><div class='ctx'> 				if (!GetPassword (hCurPage, IDC_PASSWORD_DIRECT, (char*) volumePassword.Text, iMaxPasswordLength + 1, FALSE, TRUE))</div><div class='ctx'> 				</div><div class='ctx'> 					NormalCursor ();</div><div class='ctx'> 					return 1;</div><div class='ctx'> 				</div><div class='ctx'> 				volumePassword.Length = (unsigned __int32) strlen ((char *) volumePassword.Text);</div><div class='ctx'> </div><div class='ctx'> 				hash_algo = (int) SendMessage (GetDlgItem (hCurPage, IDC_PKCS5_PRF_ID), CB_GETITEMDATA, SendMessage (GetDlgItem (hCurPage, IDC_PKCS5_PRF_ID), CB_GETCURSEL, 0, 0), 0);</div><div class='ctx'> </div><div class='ctx'> 				volumePim = GetPim (hCurPage, IDC_PIM, 0);</div><div class='ctx'> </div><div class='ctx'> 				// Store the password in case we need to restore it after keyfile is applied to it</div><div class='ctx'> 				if (!GetPassword (hCurPage, IDC_PASSWORD_DIRECT, szRawPassword, iMaxPasswordLength + 1, FALSE, TRUE))</div><div class='ctx'> 				</div><div class='ctx'> 					NormalCursor ();</div><div class='ctx'> 					return 1;</div><div class='ctx'> 				</div><div class='ctx'> </div><div class='ctx'> 				if (KeyFilesEnable)</div><div class='ctx'> 				</div><div class='ctx'> 					KeyFilesApply (hwndDlg, &amp;volumePassword, FirstKeyFile, NULL);</div><div class='ctx'> 				</div><div class='ctx'> </div><div class='ctx'> 				if (!bInPlaceEncNonSys)</div><div class='ctx'> 				</div><div class='ctx'> </div><div class='ctx'> 					/* Mount the volume which is to host the new hidden volume as read only */</div><div class='ctx'> </div><div class='hunk'>@@ -8771,70 +9084,90 @@ retryCDDriveCheck:</div><div class='ctx'> </div><div class='ctx'> 									EnableWindow (GetDlgItem (MainDlg, IDC_NEXT), TRUE);</div><div class='ctx'> 									NormalCursor ();</div><div class='ctx'> </div><div class='ctx'> 								</div><div class='ctx'> 								break;</div><div class='ctx'> 							</div><div class='ctx'> 							break;</div><div class='ctx'> 						</div><div class='ctx'> 					</div><div class='ctx'> 				</div><div class='ctx'> 			</div><div class='ctx'> </div><div class='ctx'> 			else if (nCurPageNo == DEVICE_WIPE_PAGE)</div><div class='ctx'> 			</div><div class='ctx'> 				if (AskWarnOkCancel (bHiddenOS &amp;&amp; IsHiddenOSRunning() ? "CONFIRM_WIPE_START_DECOY_SYS_PARTITION" : "CONFIRM_WIPE_START", hwndDlg) == IDOK)</div><div class='ctx'> 				</div><div class='ctx'> 					WipeStart ();</div><div class='ctx'> 					ArrowWaitCursor();</div><div class='ctx'> 				</div><div class='ctx'> 				return 1;</div><div class='ctx'> 			</div><div class='ctx'> </div><div class='ctx'> 			LoadPage (hwndDlg, nNewPageNo + 1);</div><div class='ctx'> ovf_end:</div><div class='ctx'> 			return 1;</div><div class='ctx'> 		</div><div class='ctx'> 		else if (lw == IDC_PREV)</div><div class='ctx'> 		</div><div class='ctx'> 			if (nCurPageNo == SYSENC_SPAN_PAGE)</div><div class='ctx'> 			</div><div class='ctx'> 				// Skip irrelevant pages when going back</div><div class='ctx'> 				if (!bHiddenOS)</div><div class='ctx'> 					nNewPageNo = SYSENC_TYPE_PAGE + 1;</div><div class='ctx'> 			</div><div class='add'>+</div><div class='add'>+			if (nCurPageNo == SYSENC_RESCUE_DISK_CREATION_PAGE)</div><div class='add'>+			</div><div class='add'>+				if (SysEncInEffect ())</div><div class='add'>+				</div><div class='add'>+					nNewPageNo = (PimEnable? PIM_PAGE : PASSWORD_PAGE) + 1;</div><div class='add'>+				</div><div class='add'>+			</div><div class='add'>+</div><div class='add'>+			if (nCurPageNo == SYSENC_RESCUE_DISK_BURN_PAGE)</div><div class='add'>+			</div><div class='add'>+				nNewPageNo = SYSENC_RESCUE_DISK_BURN_PAGE + 1; // Stay on the same page</div><div class='add'>+				Warning("RESCUE_DISK_BACK_BUTTON", hwndDlg);</div><div class='add'>+			</div><div class='add'>+</div><div class='add'>+			if (nCurPageNo == SYSENC_PRETEST_RESULT_PAGE)</div><div class='add'>+			</div><div class='add'>+				nNewPageNo = SYSENC_PRETEST_RESULT_PAGE + 1; // Stay on the same page</div><div class='add'>+			</div><div class='add'>+</div><div class='ctx'> 			if (nCurPageNo == SYSENC_MULTI_BOOT_MODE_PAGE)</div><div class='ctx'> 			</div><div class='ctx'> 				// Skip the drive analysis page(s) or other irrelevant pages when going back</div><div class='ctx'> 				if (bHiddenOS)</div><div class='ctx'> 					nNewPageNo = SYSENC_HIDDEN_OS_REQ_CHECK_PAGE + 1;</div><div class='ctx'> 				else if (bWholeSysDrive)</div><div class='ctx'> 					nNewPageNo = SYSENC_PRE_DRIVE_ANALYSIS_PAGE + 1;</div><div class='ctx'> 				else</div><div class='ctx'> 					nNewPageNo = SYSENC_SPAN_PAGE + 1;</div><div class='ctx'> 			</div><div class='ctx'> 			else if (nCurPageNo == SYSENC_MULTI_BOOT_NONWIN_BOOT_LOADER_PAGE)</div><div class='ctx'> 			</div><div class='ctx'> 				if (SysEncMultiBootCfg.NumberOfSysDrives == 1)</div><div class='ctx'> 				</div><div class='ctx'> 					// We can skip SYSENC_MULTI_BOOT_ADJACENT_SYS_PAGE (it is implied that there are multiple systems on the drive)</div><div class='ctx'> 					nNewPageNo = SYSENC_MULTI_BOOT_NBR_SYS_DRIVES_PAGE + 1;</div><div class='ctx'> 				</div><div class='ctx'> 			</div><div class='ctx'> 			else if (nCurPageNo == HIDDEN_VOL_HOST_PRE_CIPHER_PAGE)</div><div class='ctx'> 			</div><div class='ctx'> 				if (bHiddenOS)</div><div class='ctx'> 				</div><div class='ctx'> 					if (!ChangeWizardMode (WIZARD_MODE_SYS_DEVICE))</div><div class='ctx'> 					</div><div class='ctx'> 						NormalCursor ();</div><div class='ctx'> 						return 1;</div><div class='ctx'> 					</div><div class='ctx'> </div><div class='ctx'> 					// Skip irrelevant pages.</div><div class='ctx'> 					// Note that we're ignoring nMultiBoot here, as the multi-boot question pages are skipped</div><div class='ctx'> 					// when creating a hidden OS (only a single message box is displayed with requirements).</div><div class='ctx'> 					nNewPageNo = SYSENC_MULTI_BOOT_MODE_PAGE + 1;</div><div class='ctx'> 				</div><div class='ctx'> 				else</div><div class='ctx'> 				</div><div class='hunk'>@@ -8896,71 +9229,74 @@ ovf_end:</div><div class='ctx'> </div><div class='ctx'> 			else if (nCurPageNo == SIZE_PAGE)</div><div class='ctx'> 			</div><div class='ctx'> 				VerifySizeAndUpdate (hCurPage, TRUE);</div><div class='ctx'> 			</div><div class='ctx'> </div><div class='ctx'> 			else if (nCurPageNo == FILESYS_PAGE)</div><div class='ctx'> 			</div><div class='ctx'> 				if (nNeedToStoreFilesOver4GB != Get2RadButtonPageAnswer())</div><div class='ctx'> 					fileSystem = FILESYS_NONE;	// The user may have gone back and changed the answer, so default file system must be reselected</div><div class='ctx'> </div><div class='ctx'> 				nNeedToStoreFilesOver4GB = Get2RadButtonPageAnswer();</div><div class='ctx'> </div><div class='ctx'> 				nNewPageNo = (PimEnable? PIM_PAGE : PASSWORD_PAGE) + 1; // Skip PIM page if it is not enabled</div><div class='ctx'> 			</div><div class='ctx'> </div><div class='ctx'> 			else if (nCurPageNo == PASSWORD_PAGE)</div><div class='ctx'> 			</div><div class='ctx'> 				// Store the password in case we need to restore it after keyfile is applied to it</div><div class='ctx'> 				GetPassword (hCurPage, IDC_PASSWORD, szRawPassword, iMaxPasswordLength + 1, FALSE, FALSE);</div><div class='ctx'> </div><div class='ctx'> 				VerifyPasswordAndUpdate (hwndDlg, GetDlgItem (MainDlg, IDC_NEXT),</div><div class='ctx'> 					GetDlgItem (hCurPage, IDC_PASSWORD),</div><div class='ctx'> 					GetDlgItem (hCurPage, IDC_VERIFY),</div><div class='ctx'> 					volumePassword.Text,</div><div class='ctx'> 					szVerify,</div><div class='ctx'> 					KeyFilesEnable &amp;&amp; FirstKeyFile!=NULL &amp;&amp; !SysEncInEffect ());</div><div class='ctx'> </div><div class='ctx'> 				volumePassword.Length = (unsigned __int32) strlen ((char *) volumePassword.Text);</div><div class='ctx'> </div><div class='ctx'> </div><div class='ctx'> 				nNewPageNo = SIZE_PAGE + 1;		// Skip the hidden volume host password page</div><div class='ctx'> </div><div class='ctx'> 				if (SysEncInEffect ())</div><div class='ctx'> 				</div><div class='del'>-					nNewPageNo = CIPHER_PAGE + 1;				// Skip irrelevant pages</div><div class='add'>+					if (!bHiddenOS)</div><div class='add'>+						nNewPageNo = SYSENC_TYPE_PAGE + 1;			// Skip irrelevant pages</div><div class='add'>+					else</div><div class='add'>+						nNewPageNo = CIPHER_PAGE + 1;				// Skip irrelevant pages</div><div class='ctx'> </div><div class='ctx'> 					KillTimer (hwndDlg, TIMER_ID_KEYB_LAYOUT_GUARD);</div><div class='ctx'> </div><div class='ctx'> 					if (bKeyboardLayoutChanged)</div><div class='ctx'> 					</div><div class='ctx'> 						// Restore the original keyboard layout</div><div class='ctx'> 						if (LoadKeyboardLayout (OrigKeyboardLayout, KLF_ACTIVATE | KLF_SUBSTITUTE_OK) == NULL)</div><div class='ctx'> 							Warning ("CANNOT_RESTORE_KEYBOARD_LAYOUT", hwndDlg);</div><div class='ctx'> 						else</div><div class='ctx'> 							bKeyboardLayoutChanged = FALSE;</div><div class='ctx'> 					</div><div class='ctx'> 				</div><div class='ctx'> 				else if (bInPlaceEncNonSys)</div><div class='ctx'> 					nNewPageNo = CIPHER_PAGE + 1;</div><div class='ctx'> 			</div><div class='ctx'> </div><div class='ctx'> 			else if (nCurPageNo == PIM_PAGE)</div><div class='ctx'> 			</div><div class='ctx'> 				volumePim = GetPim (hCurPage, IDC_PIM, 0);</div><div class='ctx'> 			</div><div class='ctx'> </div><div class='ctx'> 			else if (nCurPageNo == HIDDEN_VOL_HOST_PASSWORD_PAGE</div><div class='ctx'> 				|| nCurPageNo == NONSYS_INPLACE_ENC_RESUME_PASSWORD_PAGE)</div><div class='ctx'> 			</div><div class='ctx'> 				// Store the password in case we need to restore it after keyfile is applied to it</div><div class='ctx'> 				GetPassword (hCurPage, IDC_PASSWORD_DIRECT, szRawPassword, iMaxPasswordLength + 1, FALSE, FALSE);</div><div class='ctx'> </div><div class='ctx'> 				memcpy (volumePassword.Text, szRawPassword, iMaxPasswordLength + 1);</div><div class='ctx'> 				volumePassword.Length = (unsigned __int32) strlen ((char *) volumePassword.Text);</div><div class='ctx'> </div><div class='ctx'> 				if (!bInPlaceEncNonSys)</div><div class='ctx'> 					nNewPageNo = VOLUME_LOCATION_PAGE + 1;</div><div class='ctx'> 			</div><div class='ctx'> </div><div class='ctx'> 			else if (nCurPageNo == SYSENC_COLLECTING_RANDOM_DATA_PAGE</div><div class='hunk'>@@ -10599,35 +10935,544 @@ int WINAPI wWinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, wchar_t *lpsz</div><div class='ctx'> 		if (status == ERR_OS_ERROR)</div><div class='ctx'> 			handleWin32Error (NULL, SRC_POS);</div><div class='ctx'> 		else</div><div class='ctx'> 			handleError (NULL, status, SRC_POS);</div><div class='ctx'> </div><div class='ctx'> 		AbortProcess ("NODRIVER");</div><div class='ctx'> 	</div><div class='ctx'> </div><div class='ctx'> 	if (!AutoTestAlgorithms())</div><div class='ctx'> 		AbortProcess ("ERR_SELF_TESTS_FAILED");</div><div class='ctx'> </div><div class='ctx'> 	/* Create the main dialog box */</div><div class='ctx'> 	DialogBoxParamW (hInstance, MAKEINTRESOURCEW (IDD_VOL_CREATION_WIZARD_DLG), NULL, (DLGPROC) MainDialogProc,</div><div class='ctx'> 		(LPARAM)lpszCommandLine);</div><div class='ctx'> </div><div class='ctx'> 	FinalizeApp ();</div><div class='ctx'> 	return 0;</div><div class='ctx'> </div><div class='ctx'> </div><div class='ctx'> </div><div class='ctx'> static DWORD GetFormatSectorSize ()</div><div class='ctx'> </div><div class='ctx'> 	if (!bDevice)</div><div class='ctx'> 		return TC_SECTOR_SIZE_FILE_HOSTED_VOLUME;</div><div class='ctx'> </div><div class='ctx'> 	DISK_GEOMETRY_EX geometry;</div><div class='ctx'> </div><div class='ctx'> 	if (!GetDriveGeometry (szDiskFile, &amp;geometry))</div><div class='ctx'> 	</div><div class='ctx'> 		handleWin32Error (MainDlg, SRC_POS);</div><div class='ctx'> 		AbortProcessSilent();</div><div class='ctx'> 	</div><div class='ctx'> </div><div class='ctx'> 	return geometry.Geometry.BytesPerSector;</div><div class='ctx'> </div><div class='add'>+</div><div class='add'>+/* This function is called when advanced dialog in intro page is open */</div><div class='add'>+BOOL CALLBACK AdvanceDlgProcIntro (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)</div><div class='add'>+</div><div class='add'>+	WORD lw = LOWORD(wParam);</div><div class='add'>+</div><div class='add'>+	switch (msg)</div><div class='add'>+	</div><div class='add'>+	case WM_INITDIALOG:</div><div class='add'>+</div><div class='add'>+		bHiddenVolHost = bHiddenVol = bHiddenOS;</div><div class='add'>+			</div><div class='add'>+		SendMessage (GetDlgItem (hwndDlg, IDC_SYSENC_HIDDEN), WM_SETFONT, (WPARAM) hUserBoldFont, (LPARAM) TRUE);</div><div class='add'>+		SendMessage (GetDlgItem (hwndDlg, IDC_SYSENC_NORMAL), WM_SETFONT, (WPARAM) hUserBoldFont, (LPARAM) TRUE);</div><div class='add'>+</div><div class='add'>+		CheckButton (GetDlgItem (hwndDlg, bHiddenOS ? IDC_SYSENC_HIDDEN : IDC_SYSENC_NORMAL));</div><div class='add'>+		</div><div class='add'>+		return 1;</div><div class='add'>+	case WM_COMMAND:</div><div class='add'>+		</div><div class='add'>+			if (lw == IDCANCEL)</div><div class='add'>+			</div><div class='add'>+				EndDialog(hwndDlg, lw);</div><div class='add'>+				return 1;</div><div class='add'>+			</div><div class='add'>+</div><div class='add'>+			if(lw == IDOK)</div><div class='add'>+			</div><div class='add'>+				if (bHiddenOS)</div><div class='add'>+				</div><div class='add'>+					bWholeSysDrive = FALSE;</div><div class='add'>+					bHiddenVolDirect = FALSE;</div><div class='add'>+				</div><div class='add'>+				EndDialog(hwndDlg, lw);</div><div class='add'>+				return 1;</div><div class='add'>+			</div><div class='add'>+			</div><div class='add'>+			if (lw == IDC_SYSENC_HIDDEN)</div><div class='add'>+			</div><div class='add'>+				SendMessage (GetDlgItem (hwndDlg, IDC_SYSENC_NORMAL), BM_SETCHECK, BST_UNCHECKED, 0);</div><div class='add'>+				</div><div class='add'>+				bHiddenOS = TRUE;</div><div class='add'>+				bHiddenVol = TRUE;</div><div class='add'>+				bHiddenVolHost = TRUE;</div><div class='add'>+				return 1;</div><div class='add'>+				</div><div class='add'>+</div><div class='add'>+			if (lw == IDC_SYSENC_NORMAL)</div><div class='add'>+			</div><div class='add'>+				SendMessage (GetDlgItem (hwndDlg, IDC_SYSENC_HIDDEN), BM_SETCHECK, BST_UNCHECKED, 0);</div><div class='add'>+</div><div class='add'>+				bHiddenOS = FALSE;</div><div class='add'>+				bHiddenVol = FALSE;</div><div class='add'>+				bHiddenVolHost = FALSE;</div><div class='add'>+				return 1;</div><div class='add'>+			</div><div class='add'>+				</div><div class='add'>+			if(lw == IDHELP)</div><div class='add'>+			</div><div class='add'>+				Applink ("hiddensysenc");</div><div class='add'>+				return 1;</div><div class='add'>+			</div><div class='add'>+		</div><div class='add'>+	</div><div class='add'>+	return 0;</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+/* AES, HASH, Pim and Wipe mode can be selected here */</div><div class='add'>+BOOL CALLBACK AdvanceDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)</div><div class='add'>+</div><div class='add'>+	WORD lw = LOWORD(wParam);</div><div class='add'>+	WORD hw = HIWORD(wParam);</div><div class='add'>+	int ea, hid;</div><div class='add'>+	wchar_t  buf[100];	</div><div class='add'>+	BOOL bNTFSallowed = FALSE;</div><div class='add'>+	BOOL bFATallowed = FALSE;</div><div class='add'>+	BOOL bEXFATallowed = FALSE;</div><div class='add'>+	BOOL bReFSallowed = FALSE;</div><div class='add'>+	BOOL bNoFSallowed = FALSE;</div><div class='add'>+	hCurPage = hwndDlg;</div><div class='add'>+	</div><div class='add'>+	switch (msg)</div><div class='add'>+	</div><div class='add'>+	case WM_INITDIALOG:</div><div class='add'>+	</div><div class='add'>+		SetWindowTextW ( GetDlgItem (hwndDlg, IDT_IMPORTANT_NOTE), GetString ("ADV_FEATURES_NOTE"));</div><div class='add'>+		SetWindowTextW ( GetDlgItem (hwndDlg, IDT_PIM_INFO), GetString ("PIM_INFO"));</div><div class='add'>+		SetWindowTextW ( GetDlgItem (hwndDlg, IDT_WIPE_INFO), GetString ("WIPE_INFO"));</div><div class='add'>+		</div><div class='add'>+		/* Encryption algorithms */</div><div class='add'>+</div><div class='add'>+		SendMessage(GetDlgItem(hwndDlg, IDC_COMBO_BOX), CB_RESETCONTENT, 0, 0);</div><div class='add'>+		</div><div class='add'>+		for (ea = EAGetFirst (); ea != 0; ea = EAGetNext (ea))</div><div class='add'>+		</div><div class='add'>+			if (EAIsFormatEnabled (ea) &amp;&amp; (!SysEncInEffect () || bSystemIsGPT || EAIsMbrSysEncEnabled (ea)))</div><div class='add'>+				AddComboPair (GetDlgItem (hwndDlg, IDC_COMBO_BOX), EAGetName (buf, ARRAYSIZE(buf), ea, 1), ea);</div><div class='add'>+		</div><div class='add'>+</div><div class='add'>+		SelectAlgo (GetDlgItem (hwndDlg, IDC_COMBO_BOX), &amp;nVolumeEA);</div><div class='add'>+		ComboSelChangeEA (hwndDlg);</div><div class='add'>+		SetFocus (GetDlgItem (hwndDlg, IDC_COMBO_BOX));</div><div class='add'>+						</div><div class='add'>+		/* Hash algorithms */</div><div class='add'>+		if (SysEncInEffect())</div><div class='add'>+		</div><div class='add'>+			RandSetHashFunction(hash_algo);</div><div class='add'>+			for (hid = FIRST_PRF_ID; hid &lt;= LAST_PRF_ID; hid++)</div><div class='add'>+			</div><div class='add'>+				// Use blake2s for hashing</div><div class='add'>+				if (((hid == BLAKE2S) || !HashIsDeprecated(hid)) &amp;&amp; (bSystemIsGPT || HashForSystemEncryption(hid)))</div><div class='add'>+					AddComboPair(GetDlgItem(hwndDlg, IDC_COMBO_BOX_HASH_ALGO), HashGetName(hid), hid);</div><div class='add'>+			</div><div class='add'>+		</div><div class='add'>+		else</div><div class='add'>+		</div><div class='add'>+			hash_algo = RandGetHashFunction();</div><div class='add'>+			for (hid = FIRST_PRF_ID; hid &lt;= LAST_PRF_ID; hid++)</div><div class='add'>+			</div><div class='add'>+				if (!HashIsDeprecated(hid))</div><div class='add'>+					AddComboPair(GetDlgItem(hwndDlg, IDC_COMBO_BOX_HASH_ALGO), HashGetName(hid), hid);</div><div class='add'>+			</div><div class='add'>+		</div><div class='add'>+</div><div class='add'>+		if (CreatingHiddenSysVol())</div><div class='add'>+				Warning ("HIDDEN_OS_PRE_CIPHER_WARNING", MainDlg);</div><div class='add'>+</div><div class='add'>+		SetWindowText(GetDlgItem(hwndDlg, IDC_SHA512_HELP), GetString("SHA512_HELP"));</div><div class='add'>+		SelectAlgo(GetDlgItem(hwndDlg, IDC_COMBO_BOX_HASH_ALGO), &amp;hash_algo);</div><div class='add'>+</div><div class='add'>+		/* file system options */</div><div class='add'>+		SetTimer(GetParent(hwndDlg), TIMER_ID_RANDVIEW, TIMER_INTERVAL_RANDVIEW, NULL);</div><div class='add'>+</div><div class='add'>+		hMasterKey = GetDlgItem(hwndDlg, IDC_DISK_KEY);</div><div class='add'>+		hHeaderKey = GetDlgItem(hwndDlg, IDC_HEADER_KEY);</div><div class='add'>+		hRandPool = GetDlgItem(hwndDlg, IDC_RANDOM_BYTES);</div><div class='add'>+</div><div class='add'>+		SendMessage(GetDlgItem(hwndDlg, IDC_RANDOM_BYTES), WM_SETFONT, (WPARAM)hFixedDigitFont, (LPARAM)TRUE);</div><div class='add'>+		SendMessage(GetDlgItem(hwndDlg, IDC_DISK_KEY), WM_SETFONT, (WPARAM)hFixedDigitFont, (LPARAM)TRUE);</div><div class='add'>+		SendMessage(GetDlgItem(hwndDlg, IDC_HEADER_KEY), WM_SETFONT, (WPARAM)hFixedDigitFont, (LPARAM)TRUE);</div><div class='add'>+</div><div class='add'>+		/* Quick/Dynamic */</div><div class='add'>+</div><div class='add'>+		if (bHiddenVol)</div><div class='add'>+		</div><div class='add'>+			quickFormat = !bHiddenVolHost;</div><div class='add'>+			dynamicFormat = FALSE;</div><div class='add'>+			bSparseFileSwitch = FALSE;</div><div class='add'>+		</div><div class='add'>+		else</div><div class='add'>+		</div><div class='add'>+			if (bDevice)</div><div class='add'>+			</div><div class='add'>+				dynamicFormat = FALSE;</div><div class='add'>+				bSparseFileSwitch = FALSE;</div><div class='add'>+			</div><div class='add'>+			else</div><div class='add'>+			</div><div class='add'>+				wchar_t root[TC_MAX_PATH];</div><div class='add'>+				DWORD fileSystemFlags = 0;</div><div class='add'>+</div><div class='add'>+				/* Check if the host file system supports sparse files */</div><div class='add'>+</div><div class='add'>+				if (GetVolumePathName (szFileName, root, array_capacity (root)))</div><div class='add'>+				</div><div class='add'>+					GetVolumeInformation (root, NULL, 0, NULL, NULL, &amp;fileSystemFlags, NULL, 0);</div><div class='add'>+					bSparseFileSwitch = fileSystemFlags &amp; FILE_SUPPORTS_SPARSE_FILES;</div><div class='add'>+				</div><div class='add'>+				else</div><div class='add'>+					bSparseFileSwitch = FALSE;</div><div class='add'>+				if (!bSparseFileSwitch)</div><div class='add'>+				</div><div class='add'>+					dynamicFormat = FALSE;</div><div class='add'>+				</div><div class='add'>+			</div><div class='add'>+		</div><div class='add'>+		SendMessage (GetDlgItem (hwndDlg, IDC_SHOW_KEYS), BM_SETCHECK, showKeys ? BST_CHECKED : BST_UNCHECKED, 0);</div><div class='add'>+		SetWindowText (GetDlgItem (hwndDlg, IDC_RANDOM_BYTES), showKeys ? L"" : L"********************************                                              ");</div><div class='add'>+		SetWindowText (GetDlgItem (hwndDlg, IDC_HEADER_KEY), showKeys ? L"" : L"********************************                                              ");</div><div class='add'>+		SetWindowText (GetDlgItem (hwndDlg, IDC_DISK_KEY), showKeys ? L"" : L"********************************                                              ");</div><div class='add'>+</div><div class='add'>+		SendMessage(GetDlgItem(hwndDlg, IDC_CLUSTERSIZE), CB_RESETCONTENT, 0, 0);</div><div class='add'>+		AddComboPairW(GetDlgItem(hwndDlg, IDC_CLUSTERSIZE), GetString("DEFAULT"), 0);</div><div class='add'>+		SendMessage(GetDlgItem(hwndDlg, IDC_CLUSTERSIZE), CB_SETCURSEL, 0, 0);</div><div class='add'>+		EnableWindow(GetDlgItem(hwndDlg, IDC_CLUSTERSIZE), TRUE);</div><div class='add'>+</div><div class='add'>+		/* Filesystems */</div><div class='add'>+		bNTFSallowed = FALSE;</div><div class='add'>+		bFATallowed = FALSE;</div><div class='add'>+		bEXFATallowed = FALSE;</div><div class='add'>+		bReFSallowed = FALSE;</div><div class='add'>+		bNoFSallowed = FALSE;</div><div class='add'>+</div><div class='add'>+		SendMessage(GetDlgItem(hwndDlg, IDC_FILESYS), CB_RESETCONTENT, 0, 0);</div><div class='add'>+		EnableWindow(GetDlgItem(hwndDlg, IDC_FILESYS), TRUE);</div><div class='add'>+</div><div class='add'>+		uint64 dataAreaSize = GetVolumeDataAreaSize (bHiddenVol &amp;&amp; !bHiddenVolHost, nVolumeSize);</div><div class='add'>+		</div><div class='add'>+		if (!CreatingHiddenSysVol())</div><div class='add'>+		</div><div class='add'>+			if (dataAreaSize &gt;= TC_MIN_NTFS_FS_SIZE &amp;&amp; dataAreaSize &lt;= TC_MAX_NTFS_FS_SIZE)</div><div class='add'>+			</div><div class='add'>+				AddComboPair (GetDlgItem (hwndDlg, IDC_FILESYS), L"NTFS", FILESYS_NTFS);</div><div class='add'>+				bNTFSallowed = TRUE;</div><div class='add'>+			</div><div class='add'>+</div><div class='add'>+			if (dataAreaSize &gt;= TC_MIN_FAT_FS_SIZE &amp;&amp; dataAreaSize &lt;= TC_MAX_FAT_SECTOR_COUNT * GetFormatSectorSize())</div><div class='add'>+			</div><div class='add'>+				AddComboPair (GetDlgItem (hwndDlg, IDC_FILESYS), L"FAT", FILESYS_FAT);</div><div class='add'>+				bFATallowed = TRUE;</div><div class='add'>+			</div><div class='add'>+</div><div class='add'>+			//exFAT support added starting from Vista SP1</div><div class='add'>+			if (IsOSVersionAtLeast (WIN_VISTA, 1) &amp;&amp; dataAreaSize &gt;= TC_MIN_EXFAT_FS_SIZE &amp;&amp; dataAreaSize &lt;= TC_MAX_EXFAT_FS_SIZE)</div><div class='add'>+			</div><div class='add'>+				AddComboPair (GetDlgItem (hwndDlg, IDC_FILESYS), L"exFAT", FILESYS_EXFAT);</div><div class='add'>+				bEXFATallowed = TRUE;</div><div class='add'>+			</div><div class='add'>+</div><div class='add'>+			//ReFS write support activated by default starting from Windows 10</div><div class='add'>+			//We don't support it yet for the creation of hidden volumes</div><div class='add'>+			if ((!bHiddenVolHost) &amp;&amp; IsOSVersionAtLeast (WIN_10, 0) &amp;&amp; dataAreaSize &gt;= TC_MIN_REFS_FS_SIZE &amp;&amp; dataAreaSize &lt;= TC_MAX_REFS_FS_SIZE)</div><div class='add'>+			</div><div class='add'>+				AddComboPair (GetDlgItem (hwndDlg, IDC_FILESYS), L"ReFS", FILESYS_REFS);</div><div class='add'>+				bReFSallowed = TRUE;</div><div class='add'>+			</div><div class='add'>+		</div><div class='add'>+		else</div><div class='add'>+		</div><div class='add'>+			// We're creating a hidden volume for a hidden OS, so we don't need to format it with</div><div class='add'>+			// any filesystem (the entire OS will be copied to the hidden volume sector by sector).</div><div class='add'>+			EnableWindow (GetDlgItem (hwndDlg, IDC_FILESYS), FALSE);</div><div class='add'>+			EnableWindow (GetDlgItem (hwndDlg, IDC_CLUSTERSIZE), FALSE);</div><div class='add'>+		</div><div class='add'>+		if (!bHiddenVolHost)</div><div class='add'>+		</div><div class='add'>+			AddComboPairW(GetDlgItem(hwndDlg, IDC_FILESYS), GetString("NONE"), FILESYS_NONE);</div><div class='add'>+			bNoFSallowed = TRUE;</div><div class='add'>+		</div><div class='add'>+		if (fileSystem == FILESYS_NONE)	// If no file system has been previously selected	</div><div class='add'>+		</div><div class='add'>+			// Set default file system</div><div class='add'>+</div><div class='add'>+			if (bFATallowed &amp;&amp; !(nNeedToStoreFilesOver4GB == 1 &amp;&amp; (bNTFSallowed || bEXFATallowed || bReFSallowed)))</div><div class='add'>+				fileSystem = FILESYS_FAT;</div><div class='add'>+			else if (bEXFATallowed)</div><div class='add'>+				fileSystem = FILESYS_EXFAT;</div><div class='add'>+			else if (bNTFSallowed)</div><div class='add'>+				fileSystem = FILESYS_NTFS;</div><div class='add'>+			else if (bReFSallowed)</div><div class='add'>+				fileSystem = FILESYS_REFS;</div><div class='add'>+			else if (bNoFSallowed)</div><div class='add'>+				fileSystem = FILESYS_NONE;</div><div class='add'>+			else</div><div class='add'>+			</div><div class='add'>+				AddComboPair (GetDlgItem (hwndDlg, IDC_FILESYS), L"---", 0);</div><div class='add'>+			</div><div class='add'>+		</div><div class='add'>+		</div><div class='add'>+		SendMessage(GetDlgItem(hwndDlg, IDC_FILESYS), CB_SETCURSEL, 0, 0);</div><div class='add'>+		SelectAlgo(GetDlgItem(hwndDlg, IDC_FILESYS), (int *)&amp;fileSystem);</div><div class='add'>+	</div><div class='add'>+		/* PIM and Wipe mode */</div><div class='add'>+		SetCheckBox(hwndDlg, IDC_PIM_ENABLE, PimEnable);</div><div class='add'>+		</div><div class='add'>+		PopulateWipeModeCombo(GetDlgItem(hwndDlg, IDC_WIPE_MODE),</div><div class='add'>+			SystemEncryptionStatus == SYSENC_STATUS_DECRYPTING &amp;&amp; !bInPlaceEncNonSys,</div><div class='add'>+			TRUE,</div><div class='add'>+			FALSE);</div><div class='add'>+		SelectAlgo(GetDlgItem(hwndDlg, IDC_WIPE_MODE), (int *)&amp;nWipeMode);</div><div class='add'>+		SetFocus(GetDlgItem(GetParent(hwndDlg), IDOK));</div><div class='add'>+	</div><div class='add'>+	return 1;</div><div class='add'>+	case WM_COMMAND:</div><div class='add'>+		if (lw == IDCANCEL)</div><div class='add'>+		</div><div class='add'>+			EndDialog(hwndDlg, lw);</div><div class='add'>+			return 1;</div><div class='add'>+		</div><div class='add'>+		if (lw == IDOK)</div><div class='add'>+		</div><div class='add'>+			/* Save hash and encryption algo */</div><div class='add'>+			LPARAM nIndex;</div><div class='add'>+			nIndex = SendMessage (GetDlgItem (hCurPage, IDC_COMBO_BOX), CB_GETCURSEL, 0, 0);</div><div class='add'>+			nVolumeEA = (int) SendMessage (GetDlgItem (hCurPage, IDC_COMBO_BOX), CB_GETITEMDATA, nIndex, 0);</div><div class='add'>+			</div><div class='add'>+			if (!bSystemIsGPT &amp;&amp; SysEncInEffect ()</div><div class='add'>+				&amp;&amp; EAGetCipherCount (nVolumeEA) &gt; 1)		// Cascade?</div><div class='add'>+			</div><div class='add'>+				if (AskWarnNoYes ("CONFIRM_CASCADE_FOR_SYS_ENCRYPTION", hwndDlg) == IDNO)</div><div class='add'>+					return 1;</div><div class='add'>+</div><div class='add'>+				if (!bHiddenOS)</div><div class='add'>+					Info ("NOTE_CASCADE_FOR_SYS_ENCRYPTION", hwndDlg);</div><div class='add'>+			</div><div class='add'>+</div><div class='add'>+			nIndex = SendMessage (GetDlgItem (hCurPage, IDC_COMBO_BOX_HASH_ALGO), CB_GETCURSEL, 0, 0);</div><div class='add'>+			hash_algo = (int) SendMessage (GetDlgItem (hCurPage, IDC_COMBO_BOX_HASH_ALGO), CB_GETITEMDATA, nIndex, 0);</div><div class='add'>+</div><div class='add'>+			RandSetHashFunction (hash_algo);</div><div class='add'>+</div><div class='add'>+			/* Save PIM and Wipe mode */</div><div class='add'>+			nWipeMode = (WipeAlgorithmId)SendMessage(GetDlgItem(hwndDlg, IDC_WIPE_MODE),</div><div class='add'>+				CB_GETITEMDATA,</div><div class='add'>+				SendMessage(GetDlgItem(hwndDlg, IDC_WIPE_MODE), CB_GETCURSEL, 0, 0),</div><div class='add'>+				0);</div><div class='add'>+</div><div class='add'>+			PimEnable = GetCheckBox(hwndDlg, IDC_PIM_ENABLE);</div><div class='add'>+			SetCheckBox(hwndDlg, IDC_PIM_ENABLE, PimEnable);</div><div class='add'>+</div><div class='add'>+			EndDialog(hwndDlg, lw);</div><div class='add'>+			return 1;</div><div class='add'>+		</div><div class='add'>+		if (lw == IDC_CIPHER_TEST)</div><div class='add'>+		</div><div class='add'>+			LPARAM nIndex;</div><div class='add'>+			int c;</div><div class='add'>+</div><div class='add'>+			nIndex = SendMessage (GetDlgItem (hCurPage, IDC_COMBO_BOX), CB_GETCURSEL, 0, 0);</div><div class='add'>+			nVolumeEA = (int) SendMessage (GetDlgItem (hCurPage, IDC_COMBO_BOX), CB_GETITEMDATA, nIndex, 0);</div><div class='add'>+</div><div class='add'>+			for (c = EAGetLastCipher (nVolumeEA); c != 0; c = EAGetPreviousCipher (nVolumeEA, c))</div><div class='add'>+			</div><div class='add'>+				DialogBoxParamW (hInst, MAKEINTRESOURCEW (IDD_CIPHER_TEST_DLG),</div><div class='add'>+					GetParent (hwndDlg), (DLGPROC) CipherTestDialogProc, (LPARAM) c);</div><div class='add'>+			</div><div class='add'>+</div><div class='add'>+			return 1;</div><div class='add'>+		</div><div class='add'>+	</div><div class='add'>+		if (lw == IDC_BENCHMARK)</div><div class='add'>+		</div><div class='add'>+			// Reduce CPU load</div><div class='add'>+			bFastPollEnabled = FALSE;</div><div class='add'>+			bRandmixEnabled = FALSE;</div><div class='add'>+</div><div class='add'>+			DialogBoxParamW (hInst,</div><div class='add'>+				MAKEINTRESOURCEW (IDD_BENCHMARK_DLG), hwndDlg,</div><div class='add'>+				(DLGPROC) BenchmarkDlgProc, (LPARAM) bSystemIsGPT);</div><div class='add'>+</div><div class='add'>+			bFastPollEnabled = TRUE;</div><div class='add'>+			bRandmixEnabled = TRUE;</div><div class='add'>+			return 1;</div><div class='add'>+		</div><div class='add'>+</div><div class='add'>+		if (lw == IDC_WIPE_MODE &amp;&amp; hw == CBN_SELCHANGE)</div><div class='add'>+			</div><div class='add'>+			Warning ("WIPE_WARNING", hwndDlg);</div><div class='add'>+			return 1;</div><div class='add'>+		</div><div class='add'>+		</div><div class='add'>+		if (hw == CBN_SELCHANGE &amp;&amp; lw == IDC_COMBO_BOX)</div><div class='add'>+		</div><div class='add'>+			ComboSelChangeEA (hwndDlg);</div><div class='add'>+			SetWindowTextW (GetDlgItem (hCurPage, IDC_BENCHMARK), GetString ("IDC_BENCHMARK"));</div><div class='add'>+			return 1;</div><div class='add'>+		</div><div class='add'>+		</div><div class='add'>+		if (hw == CBN_SELCHANGE &amp;&amp; lw == IDC_COMBO_BOX_HASH_ALGO)</div><div class='add'>+		</div><div class='add'>+			ShowWindow (GetDlgItem (hwndDlg, IDT_HASH_ALGO), SW_SHOW);</div><div class='add'>+			if (SysEncInEffect())</div><div class='add'>+			</div><div class='add'>+				HWND hHashAlgoItem = GetDlgItem (hCurPage, IDC_COMBO_BOX_HASH_ALGO);</div><div class='add'>+				int selectedAlgo = (int)SendMessage (hHashAlgoItem, CB_GETITEMDATA, SendMessage (hHashAlgoItem, CB_GETCURSEL, 0, 0), 0);</div><div class='add'>+				</div><div class='add'>+				if (!bSystemIsGPT &amp;&amp; !HashForSystemEncryption (selectedAlgo))</div><div class='add'>+				</div><div class='add'>+					hash_algo = DEFAULT_HASH_ALGORITHM_BOOT;</div><div class='add'>+					RandSetHashFunction (DEFAULT_HASH_ALGORITHM_BOOT);</div><div class='add'>+					Info ("ALGO_NOT_SUPPORTED_FOR_SYS_ENCRYPTION", MainDlg);</div><div class='add'>+					SelectAlgo (GetDlgItem (hCurPage, IDC_COMBO_BOX_HASH_ALGO), &amp;hash_algo);</div><div class='add'>+				</div><div class='add'>+					</div><div class='add'>+			return 1;</div><div class='add'>+		</div><div class='add'>+</div><div class='add'>+		if (lw == IDC_PIM_ENABLE)</div><div class='add'>+		</div><div class='add'>+			PimEnable = GetCheckBox (hwndDlg, IDC_PIM_ENABLE);</div><div class='add'>+			if (!PimEnable)</div><div class='add'>+				volumePim = 0;</div><div class='add'>+			return 1;</div><div class='add'>+		</div><div class='add'>+	</div><div class='add'>+	return 0;</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+AddComboPairW (HWND hComboBox, const wchar_t *lpszItem, int value)</div><div class='add'>+</div><div class='add'>+	LPARAM nIndex;</div><div class='add'>+	nIndex = SendMessageW(hComboBox, CB_ADDSTRING, 0, (LPARAM)lpszItem);</div><div class='add'>+	nIndex = SendMessage(hComboBox, CB_SETITEMDATA, nIndex, (LPARAM)value);</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+/* Acording to NIST, only a blacklist check and at least 8 character should be compulsary, no special character check... */</div><div class='add'>+int PrintStrongness (char input[], unsigned int length)</div><div class='add'>+</div><div class='add'>+	unsigned int n = length;</div><div class='add'>+	int iReturnValue = 0;</div><div class='add'>+	if (n &lt; 10)</div><div class='add'>+	</div><div class='add'>+		burn (input, sizeof(input));</div><div class='add'>+		return iReturnValue = weak;</div><div class='add'>+	</div><div class='add'>+	else if (CheckWord(input))</div><div class='add'>+	</div><div class='add'>+		burn (input, sizeof(input));</div><div class='add'>+		return iReturnValue = weak;</div><div class='add'>+	</div><div class='add'>+	//Tetermine the strength of the passsord	</div><div class='add'>+	if ((n &gt;= 13))</div><div class='add'>+	</div><div class='add'>+		iReturnValue = very_strong;</div><div class='add'>+	</div><div class='add'>+	//if 3 out of 4 paramters are true	</div><div class='add'>+	else if (n &gt;= 10)</div><div class='add'>+		</div><div class='add'>+		iReturnValue = strong;</div><div class='add'>+	</div><div class='add'>+	//if 2 out of 4 values are true	</div><div class='add'>+	else if (n &gt;= 8)</div><div class='add'>+	</div><div class='add'>+		iReturnValue = medium;</div><div class='add'>+	</div><div class='add'>+	else</div><div class='add'>+	</div><div class='add'>+		iReturnValue = weak;</div><div class='add'>+	</div><div class='add'>+	burn (input, sizeof(input));</div><div class='add'>+	return iReturnValue;</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+/* Check if password is in list</div><div class='add'>+Credits go Martin York from https://codereview.stackexchange.com/questions/52702/how-to-search-for-a-word-in-a-sorted-text-file-efficiently */</div><div class='add'>+BOOL CheckWord (char* search)</div><div class='add'>+</div><div class='add'>+	</div><div class='add'>+	bool isWordInDict(std::string const&amp; word);</div><div class='add'>+	</div><div class='add'>+		struct MyDict : std::set&lt;std::string&gt;</div><div class='add'>+		</div><div class='add'>+			typedef std::set&lt;std::string&gt;::const_iterator const_iterator;</div><div class='add'>+			MyDict()</div><div class='add'>+			</div><div class='add'>+				wchar_t path[TC_MAX_PATH];</div><div class='add'>+				wchar_t tmp[TC_MAX_PATH];</div><div class='add'>+				wchar_t destFileName[TC_MAX_PATH] = L"password1000000.txt";</div><div class='add'>+				</div><div class='add'>+				if (GetModuleFileName (NULL, path, ARRAYSIZE (path)) == 0)</div><div class='add'>+				</div><div class='add'>+					Error ("ERROR_GETTING_PATH", MainDlg);</div><div class='add'>+				</div><div class='add'>+</div><div class='add'>+				StringCbCopyW(tmp, ARRAYSIZE(tmp), path);</div><div class='add'>+				</div><div class='add'>+				//detects the last ' in order to remove the name of the exe file. Afterwards add .txt file in the path	</div><div class='add'>+				for (int i = wcslen(path); i &gt; 1; i--)</div><div class='add'>+				</div><div class='add'>+					if (tmp[i] == '\')</div><div class='add'>+					</div><div class='add'>+						for(unsigned int j = i + 1; j &lt; wcslen(path); j++)</div><div class='add'>+						</div><div class='add'>+							tmp[j] = '';</div><div class='add'>+						</div><div class='add'>+						break;</div><div class='add'>+					</div><div class='add'>+				</div><div class='add'>+				StringCbCatW(tmp, sizeof(tmp), destFileName);</div><div class='add'>+				</div><div class='add'>+				std::ifstream fin(tmp);</div><div class='add'>+				std::copy(std::istream_iterator&lt;std::string&gt;(fin), std::istream_iterator&lt;std::string&gt;(),</div><div class='add'>+					std::inserter(*this, end()));</div><div class='add'>+			</div><div class='add'>+		;</div><div class='add'>+		static const MyDict dict;</div><div class='add'>+		MyDict::const_iterator find = dict.find(search);</div><div class='add'>+		</div><div class='add'>+		return find != dict.end();</div><div class='add'>+	</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+/* Credits go to Barmak Shemirani from https://stackoverflow.com/questions/31407492/c-tooltip-function-for-checkbox */</div><div class='add'>+void CreateToolTip(HWND hWndParent, HWND hControlItem, PTSTR pszText)</div><div class='add'>+</div><div class='add'>+    if (!hControlItem || !hWndParent || !pszText)</div><div class='add'>+        return;</div><div class='add'>+</div><div class='add'>+    HWND hwndTip = CreateWindowEx(NULL, TOOLTIPS_CLASS, NULL,</div><div class='add'>+        WS_POPUP | TTS_NOFADE | TTS_ALWAYSTIP /*| TTS_BALLOON*/,</div><div class='add'>+        CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,</div><div class='add'>+        hWndParent, NULL, GetModuleHandle(NULL), NULL);</div><div class='add'>+</div><div class='add'>+    if (!hwndTip)</div><div class='add'>+        return;</div><div class='add'>+</div><div class='add'>+    TOOLINFO toolInfo =  0 ;</div><div class='add'>+    toolInfo.cbSize = sizeof(toolInfo);</div><div class='add'>+    toolInfo.hwnd = hWndParent;</div><div class='add'>+    toolInfo.uFlags = TTF_IDISHWND | TTF_SUBCLASS;</div><div class='add'>+    toolInfo.uId = (UINT_PTR)hControlItem;</div><div class='add'>+    toolInfo.lpszText = pszText;</div><div class='add'>+	GetClientRect(hWndParent, &amp;toolInfo.rect);</div><div class='add'>+    if (!SendMessage(hwndTip, TTM_ADDTOOL, 0, (LPARAM)&amp;toolInfo))</div><div class='add'>+    </div><div class='add'>+        MessageBox(0, TEXT("TTM_ADDTOOL failedproject manifest!"), 0, 0);</div><div class='add'>+    </div><div class='add'>+</div><div class='head'>diff --git a/src/Format/Tcformat.h b/src/Format/Tcformat.h<br/>index f9328afd..a8237521 100644<br/>--- a/<a href='/code/VeraCrypt/tree/src/Format/Tcformat.h?id=99c3cda01a4bb4d1f08b93753ff3b79bcbc3e63e'>src/Format/Tcformat.h</a><br/>+++ b/<a href='/code/VeraCrypt/tree/src/Format/Tcformat.h?id=c0ff7a7c521b1d658316d9a177383ab0c403007a'>src/Format/Tcformat.h</a></div><div class='hunk'>@@ -72,38 +72,46 @@ void ShowNonSysInPlaceEncUIStatus (void);</div><div class='ctx'> void UpdateNonSysInPlaceEncControls (void);</div><div class='ctx'> int MountHiddenVolHost ( HWND hwndDlg, wchar_t *volumePath, int *driveNo, Password *password, int pkcs5_prf, int pim, BOOL bReadOnly );</div><div class='ctx'> int AnalyzeHiddenVolumeHost (HWND hwndDlg, int *driveNo, __int64 hiddenVolHostSize, int *realClusterSize, __int64 *pnbrFreeClusters);</div><div class='ctx'> int ScanVolClusterBitmap ( HWND hwndDlg, int *driveNo, __int64 nbrClusters, __int64 *nbrFreeClusters);</div><div class='ctx'> static void WipeStart (void);</div><div class='ctx'> static void WipeAbort (void);</div><div class='ctx'> static void UpdateWipeProgressBar (void);</div><div class='ctx'> static void InitWipeProgressBar (void);</div><div class='ctx'> static void UpdateWipeControls (void);</div><div class='ctx'> static DWORD GetFormatSectorSize ();</div><div class='ctx'> </div><div class='ctx'> extern BOOL showKeys;</div><div class='ctx'> extern volatile HWND hMasterKey;</div><div class='ctx'> extern volatile HWND hHeaderKey;</div><div class='ctx'> extern volatile BOOL bHiddenVolHost;</div><div class='ctx'> extern volatile BOOL bHiddenVolDirect;</div><div class='ctx'> extern BOOL bRemovableHostDevice;</div><div class='ctx'> extern BOOL bWarnDeviceFormatAdvanced;</div><div class='ctx'> extern HWND hCurPage;</div><div class='ctx'> extern HWND hProgressBar;</div><div class='ctx'> extern volatile BOOL bVolTransformThreadCancel;</div><div class='ctx'> extern volatile BOOL bInPlaceEncNonSysResumed;</div><div class='ctx'> extern volatile BOOL bFirstNonSysInPlaceEncResumeDone;</div><div class='ctx'> extern volatile BOOL bInPlaceEncNonSys;</div><div class='ctx'> extern volatile BOOL bInPlaceDecNonSys;</div><div class='ctx'> extern __int64 NonSysInplaceEncBytesDone;</div><div class='ctx'> extern __int64 NonSysInplaceEncTotalSize;</div><div class='ctx'> extern int nPbar;</div><div class='ctx'> extern volatile int WizardMode;</div><div class='ctx'> extern volatile BOOL bInPlaceEncNonSysResumed;</div><div class='ctx'> </div><div class='ctx'> extern wchar_t HeaderKeyGUIView [KEY_GUI_VIEW_SIZE];</div><div class='ctx'> extern wchar_t MasterKeyGUIView [KEY_GUI_VIEW_SIZE];</div><div class='ctx'> extern volatile int NonSysInplaceEncStatus;</div><div class='ctx'> </div><div class='add'>+BOOL CALLBACK AdvanceDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);</div><div class='add'>+BOOL CALLBACK FinishDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);</div><div class='add'>+void AddComboPairW (HWND hComboBox, const wchar_t *lpszItem, int value);</div><div class='add'>+int  PrintStrongness (char* input, unsigned int length);</div><div class='add'>+BOOL CheckWord (char search[]);</div><div class='add'>+BOOL CALLBACK AdvanceDlgProcIntro (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);</div><div class='add'>+void CreateToolTip (HWND hWndParent, HWND hControlItem, PTSTR pszText);</div><div class='add'>+</div><div class='ctx'> #ifdef __cplusplus</div><div class='ctx'> </div><div class='ctx'> #endif</div><div class='head'>diff --git a/src/Release/Setup Files/Product64.wxs b/src/Release/Setup Files/Product64.wxs<br/>index e20fd1dc..2f43edd1 100644<br/>--- a/<a href='/code/VeraCrypt/tree/src/Release/Setup%20Files/Product64.wxs?id=99c3cda01a4bb4d1f08b93753ff3b79bcbc3e63e'>src/Release/Setup Files/Product64.wxs</a><br/>+++ b/<a href='/code/VeraCrypt/tree/src/Release/Setup%20Files/Product64.wxs?id=c0ff7a7c521b1d658316d9a177383ab0c403007a'>src/Release/Setup Files/Product64.wxs</a></div><div class='hunk'>@@ -835,73 +835,70 @@</div><div class='ctx'> 				&lt;File Id="filBE0C2BED7FB2DD3D2FC511AC4D7D385A" KeyPath="yes" Source="$(sys.CURRENTDIR)of Hidden Volumes.html" DiskId="1" /&gt;</div><div class='ctx'> 			&lt;/Component&gt;</div><div class='ctx'> 			&lt;Component Id="cmp493A37205039E2A3A476A1A4F5360EBF" Guid="3D92A6B0-B03F-4C86-8020-F756FBAADDC8"&gt;</div><div class='ctx'> 				&lt;File Id="filC70F6B9415FAADA8160DB4529D0BE54D" KeyPath="yes" Source="$(sys.CURRENTDIR)of Hidden Volumes_Image_027.jpg" DiskId="1" /&gt;</div><div class='ctx'> 			&lt;/Component&gt;</div><div class='ctx'> 			&lt;Component Id="cmpF36A771DF9B1C4CD8E82C08A6D3D0786" Guid="C0D77203-5FAC-4052-A490-ABB0346384AF"&gt;</div><div class='ctx'> 				&lt;File Id="filE1423115AD04FF5AEC6F63AA963CB4D6" KeyPath="yes" Source="$(sys.CURRENTDIR)of Hidden Volumes_Image_028.jpg" DiskId="1" /&gt;</div><div class='ctx'> 			&lt;/Component&gt;</div><div class='ctx'> 			&lt;Component Id="cmp63F6A68C5538B45661168554BC3B93D1" Guid="252A5E82-AD3A-49A7-8185-421735A09DCE"&gt;</div><div class='ctx'> 				&lt;File Id="fil5286E3B666BFB60D10FBA4CF8D8F6925" KeyPath="yes" Source="$(sys.CURRENTDIR)of Hidden Volumes_Image_029.jpg" DiskId="1" /&gt;</div><div class='ctx'> 			&lt;/Component&gt;</div><div class='ctx'> 			&lt;Component Id="cmp0158A6D8BED6391AC7150B6C6AE2A9F9" Guid="5A0D3271-1439-4E71-B7F6-D645FEC8FD49"&gt;</div><div class='ctx'> 				&lt;File Id="fil2C5151D680BC4575AC607487970F87D8" KeyPath="yes" Source="$(sys.CURRENTDIR)of Hidden Volumes_Image_030.jpg" DiskId="1" /&gt;</div><div class='ctx'> 			&lt;/Component&gt;</div><div class='ctx'> 			&lt;Component Id="cmpDE45667E9E3CD9F800EAC1E02B57AAB7" Guid="333167EF-38B6-49E2-A24A-04E08F7D87BE"&gt;</div><div class='ctx'> 				&lt;File Id="fil1B03C5F8575364F36A893E5EE4723659" KeyPath="yes" Source="$(sys.CURRENTDIR)of Hidden Volumes_Image_031.jpg" DiskId="1" /&gt;</div><div class='ctx'> 			&lt;/Component&gt;</div><div class='ctx'> 			&lt;Component Id="cmp632453049391BAACDD117A40EC442743" Guid="75B50C72-2495-4A22-BFDA-5BFE041EB265"&gt;</div><div class='ctx'> 				&lt;File Id="fil37E6C8BC6738BF93446E4F2D13E312EC" KeyPath="yes" Source="$(sys.CURRENTDIR)Number Generator.html" DiskId="1" /&gt;</div><div class='ctx'> 			&lt;/Component&gt;</div><div class='ctx'> 			&lt;Component Id="cmpCE16E453CAD75A461B4FEBF451A51B7B" Guid="E68D3F57-0A30-4492-9088-F2D1B0C7934A"&gt;</div><div class='ctx'> 				&lt;File Id="filC3043FC38C97C7B8038FF12DD7882D85" KeyPath="yes" Source="$(sys.CURRENTDIR)Sectors.html" DiskId="1" /&gt;</div><div class='ctx'> 			&lt;/Component&gt;</div><div class='ctx'> 			&lt;Component Id="cmpC741D187A28A87BD33866C9AC09A1298" Guid="FB850461-6BD1-495F-9C10-19A34CFA0F16"&gt;</div><div class='ctx'> 				&lt;File Id="filFFB70B91C00A69849F9E36950C6606B3" KeyPath="yes" Source="$(sys.CURRENTDIR).html" DiskId="1" /&gt;</div><div class='ctx'> 			&lt;/Component&gt;</div><div class='ctx'> 			&lt;Component Id="cmpB313B00E647A121B2CBE47F3048A18A7" Guid="5985576D-6F6C-4D96-9B3E-9E0961CF9FAF"&gt;</div><div class='ctx'> 				&lt;File Id="fil2EB5F87C05CCC55D3964D595C85EF19E" KeyPath="yes" Source="$(sys.CURRENTDIR)Notes.html" DiskId="1" /&gt;</div><div class='ctx'> 			&lt;/Component&gt;</div><div class='ctx'> 			&lt;Component Id="cmp400428F6494DE58618E3B92539548C39" Guid="0A1869ED-25F1-4430-97A5-4C6EA8CDA7FC"&gt;</div><div class='ctx'> 				&lt;File Id="filEDEDEF956F04F36B4163989F9AB9285F" KeyPath="yes" Source="$(sys.CURRENTDIR)Medium Volume.html" DiskId="1" /&gt;</div><div class='ctx'> 			&lt;/Component&gt;</div><div class='ctx'> 			&lt;Component Id="cmpFB2313AB16EF2467366ED136C0E61CE6" Guid="CFEC9559-9F85-46C6-9E98-AEBB573B96FE"&gt;</div><div class='ctx'> 				&lt;File Id="filE496203C4727FDF47F8352CB9722A8C7" KeyPath="yes" Source="$(sys.CURRENTDIR)Encryption.html" DiskId="1" /&gt;</div><div class='ctx'> 			&lt;/Component&gt;</div><div class='del'>-			&lt;Component Id="cmp960F36632D3FB602421D1195E4EB6FE1" Guid="321F49A5-8A1B-4881-A32D-12EDA99D1B85"&gt;</div><div class='del'>-				&lt;File Id="fil324009D5856BF4C5270D40F1EC4110EB" KeyPath="yes" Source="$(sys.CURRENTDIR).html" DiskId="1" /&gt;</div><div class='del'>-			&lt;/Component&gt;</div><div class='ctx'> 			&lt;Component Id="cmpB4C7B1A7A3EC0CB2DE805AC5CC5FC0D7" Guid="4534E8B2-114E-4173-AE3E-75E0D96EB573"&gt;</div><div class='ctx'> 				&lt;File Id="fil8CFD1CFDCBE261B6F91D9E587F8720C0" KeyPath="yes" Source="$(sys.CURRENTDIR)Model.html" DiskId="1" /&gt;</div><div class='ctx'> 			&lt;/Component&gt;</div><div class='ctx'> 			&lt;Component Id="cmp00540BF93A805E0B9996945B61E1BC2F" Guid="1D5B7A85-87F3-45AF-9C09-BA7E088A835D"&gt;</div><div class='ctx'> 				&lt;File Id="filA7A29851126AC571C090BB0FBEE83CB5" KeyPath="yes" Source="$(sys.CURRENTDIR)Requirements and Precautions.html" DiskId="1" /&gt;</div><div class='ctx'> 			&lt;/Component&gt;</div><div class='ctx'> 			&lt;Component Id="cmp4C46C6668AD830D543AFE593D51676B3" Guid="4CD21E9D-243F-4A58-A535-AA8EF9D2BFD1"&gt;</div><div class='ctx'> 				&lt;File Id="fil440C5158A3CD96689918C976DC917325" KeyPath="yes" Source="$(sys.CURRENTDIR)Requirements for Hidden Volumes.html" DiskId="1" /&gt;</div><div class='ctx'> 			&lt;/Component&gt;</div><div class='ctx'> 			&lt;Component Id="cmp6EE914124966E3A0F695359116413DD4" Guid="724FA79D-49BC-4075-ABF4-0C318AE39855"&gt;</div><div class='ctx'> 				&lt;File Id="filD229058EB41E2E150C0CA4D0EC1DF39B" KeyPath="yes" Source="$(sys.CURRENTDIR)Tokens &amp;amp; Smart Cards.html" DiskId="1" /&gt;</div><div class='ctx'> 			&lt;/Component&gt;</div><div class='ctx'> 			&lt;Component Id="cmp28E29B4CA17AB51913B756CD9397EEFE" Guid="1B9083B9-8E76-44CA-AE3E-0771B1ABA62B"&gt;</div><div class='ctx'> 				&lt;File Id="filC173058120D357E87951F41755A9210B" KeyPath="yes" Source="$(sys.CURRENTDIR).html" DiskId="1" /&gt;</div><div class='ctx'> 			&lt;/Component&gt;</div><div class='ctx'> 			&lt;Component Id="cmp5DF24509F284FABC600232197F803DE5" Guid="120A40CF-E44A-4F4F-9072-93248DABACA2"&gt;</div><div class='ctx'> 				&lt;File Id="fil01F3ACD810057C4A059A5C424E1B79E1" KeyPath="yes" Source="$(sys.CURRENTDIR).html" DiskId="1" /&gt;</div><div class='ctx'> 			&lt;/Component&gt;</div><div class='ctx'> 			&lt;Component Id="cmp09E31B885345FBEA1F473AF7A10FD88D" Guid="1B1C80CF-6C3C-4C7D-BE7B-579042701D0F"&gt;</div><div class='ctx'> 				&lt;File Id="fil2E702CC679444D8DDB66A3FBDB32C807" KeyPath="yes" Source="$(sys.CURRENTDIR).html" DiskId="1" /&gt;</div><div class='ctx'> 			&lt;/Component&gt;</div><div class='ctx'> 			&lt;Component Id="cmpAE05C79A35A43ECCAC995A711DC4D60B" Guid="151A493F-38A5-4EF1-9740-255B610B4117"&gt;</div><div class='ctx'> 				&lt;File Id="fil167B9CF3B9CD2FA5458778733095F780" KeyPath="yes" Source="$(sys.CURRENTDIR)over Network.html" DiskId="1" /&gt;</div><div class='ctx'> 			&lt;/Component&gt;</div><div class='ctx'> 			&lt;Component Id="cmpB6D91209A93313D08150643F1738DED8" Guid="270DF8A0-8859-49F3-BF05-2F155C3CA428"&gt;</div><div class='ctx'> 				&lt;File Id="filF3B75776C2FEC0F4397274BCA02330DB" KeyPath="yes" Source="$(sys.CURRENTDIR)Code.html" DiskId="1" /&gt;</div><div class='ctx'> 			&lt;/Component&gt;</div><div class='ctx'> 			&lt;Component Id="cmpDB66E821EC13977824FB1069DF5DAA69" Guid="D08B0614-2B88-4445-9B47-52BEA0E29E77"&gt;</div><div class='ctx'> 				&lt;File Id="filA67FBF7D25BFBA155A0E4570F404CBEE" KeyPath="yes" Source="$(sys.CURRENTDIR)Compliance.html" DiskId="1" /&gt;</div><div class='ctx'> 			&lt;/Component&gt;</div><div class='ctx'> 			&lt;Component Id="cmp159AB26E32632FC87229090B3AA89BF8" Guid="B35B4FD4-D82C-47E9-BB2A-5539115F40CC"&gt;</div><div class='ctx'> 				&lt;File Id="filBFED47E502C7539F724D68EAF73A554D" KeyPath="yes" Source="$(sys.CURRENTDIR).html" DiskId="1" /&gt;</div><div class='ctx'> 			&lt;/Component&gt;</div><div class='ctx'> 			&lt;Component Id="cmp5BE3E12343551B853E1B143371CBEBE6" Guid="5ACC0589-AD8D-4BAC-BD40-201BAD7D07BC"&gt;</div><div class='ctx'> 				&lt;File Id="filA40C816E149FB745F49DAF482DF97F3B" KeyPath="yes" Source="$(sys.CURRENTDIR).css" DiskId="1" /&gt;</div><div class='hunk'>@@ -1351,71 +1348,70 @@</div><div class='ctx'> 			&lt;ComponentRef Id="cmp1E4F8137AD337BEA1B902E6B003AB953" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmp8D35F7D61B2B7DF0EDEAE2E56031E7CB" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmpDE2C66707086A509EABD0F9F6E8BDB1A" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmpA80443C3767E3E51F3DE88BFD0D7A33B" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmp214446AAABEBAC0C3827B8977083FAE2" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmp4AF022868FE6883520C700676C43B15D" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmpC27AA2C4496C9EFA95DCD663B031B5D0" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmp9CBBC8311BBFC54C8DC1162BB17E5AED" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmp033461B0777614621A2ED7B4E2B08D55" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmp0E43CDBBAE343957423AE2907AC16883" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmp8A8526D2061A14810E1B7A8A6E527DCD" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmpAE2DADEF126C59D8CCD3A18D8CDC49C8" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmp2F972A5C99F7EE708B7C232EE8647672" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmpB21F7D781FE7B006ABCA7974A21F29E2" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmpF345174585735CD7A31AE138DDE8B439" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmp06772C03A0ECA40F11F1D5C5ACD607D8" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmp79E890B8891FA87AA5B10A67E15E7E8E" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmp89C46AE8EC4175E62A9CFE3DF9DF924A" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmpC8F860B10D41961424874F69C6D84ED3" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmp285021B8CBC8E92B1CBCE4C88731083C" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmpABE9B0A93A9B14C0732EBD8CD17A11AE" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmpD9B960879A3227B971E33222CE13BC18" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmp3B3BB414D13FDBF2B0C7A9CEBD7D98F5" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmpB39B1096387C2617720F515D24953B37" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmp493A37205039E2A3A476A1A4F5360EBF" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmpF36A771DF9B1C4CD8E82C08A6D3D0786" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmp63F6A68C5538B45661168554BC3B93D1" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmp0158A6D8BED6391AC7150B6C6AE2A9F9" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmpDE45667E9E3CD9F800EAC1E02B57AAB7" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmp632453049391BAACDD117A40EC442743" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmpCE16E453CAD75A461B4FEBF451A51B7B" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmpC741D187A28A87BD33866C9AC09A1298" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmpB313B00E647A121B2CBE47F3048A18A7" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmp400428F6494DE58618E3B92539548C39" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmpFB2313AB16EF2467366ED136C0E61CE6" /&gt;</div><div class='del'>-			&lt;ComponentRef Id="cmp960F36632D3FB602421D1195E4EB6FE1" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmpB4C7B1A7A3EC0CB2DE805AC5CC5FC0D7" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmp00540BF93A805E0B9996945B61E1BC2F" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmp4C46C6668AD830D543AFE593D51676B3" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmp6EE914124966E3A0F695359116413DD4" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmp28E29B4CA17AB51913B756CD9397EEFE" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmp5DF24509F284FABC600232197F803DE5" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmp09E31B885345FBEA1F473AF7A10FD88D" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmpAE05C79A35A43ECCAC995A711DC4D60B" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmpB6D91209A93313D08150643F1738DED8" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmpDB66E821EC13977824FB1069DF5DAA69" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmp159AB26E32632FC87229090B3AA89BF8" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmp5BE3E12343551B853E1B143371CBEBE6" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmp0E081D9499DA225BB788494A1D86893D" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmpBC7134AF21BAE309E9FD1A52ADF92527" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmpB586F01E9F9657C498F2AB64E1F51BD7" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmp6EB049078039C276CADA69E7B79FDFA8" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmp3135BB68A1F44DDD9FE19B7D5FB4ED7B" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmp98ECAD990DF7B535B05EF6E840B7B2DF" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmpFE417CCCB859A1C3E4FB90A9C4E132F0" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmpD91C00B1B2AACF38761B45D0574884D7" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmp590EDE3CE6E09D0D43B35287E849B75A" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmp9D6F95F912C3B9C95E92E39BA1CE6BC9" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmpAD429D8A050A0D31B661626BDCA9C952" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmp3BDE199844AB81673ABB0E5E61E9B7B5" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmp0A4AB9AEF0D351FA5E63BCD67DC00607" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmpCC25F1CB6A1C9D8B47C407B818F73B59" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmpE0F5E8A2D6FEF181686370F0E1EAC632" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmp46B2E8BCD50BD668153E793EB737BC39" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmp0305CC2824E44F697B402E56A0CD1754" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmp0E00CBDCB82A904FD6AD82E458CA6AA7" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmp594B5E68E63675F4986F6717BC1F5950" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmp62748E79EC04EBE33DC46770AD65CDCE" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmpE1265CF3CC5E0B487E99D9D5936BB3F4" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmp1C162513D52824629D7C9FAF96054182" /&gt;</div><div class='ctx'> 			&lt;ComponentRef Id="cmpB5FA2A488D2C7E59E0B52D18820CE00A" /&gt;</div><div class='hunk'>@@ -1674,36 +1670,36 @@</div><div class='ctx'> 			</div><div class='ctx'> 			&lt;!-- UNINSTALLATION ONLY CAs --&gt;</div><div class='ctx'> 			</div><div class='ctx'> 				&lt;!-- Execute PreUninst_SetData before RemoveFiles action when uninstalling ONLY</div><div class='ctx'> 					 and before DoPreUninstall to set the DoPreUninstall's Custom Action Data --&gt;</div><div class='ctx'> 				&lt;Custom Action="PreUninst_SetData" Before="DoPreUninstall"&gt;REMOVE~="ALL" AND NOT UPGRADINGPRODUCTCODE&lt;/Custom&gt;</div><div class='ctx'> 				</div><div class='ctx'> 				&lt;!-- Execute DoPreUninstall before RemoveFiles when uninstalling ONLY --&gt;</div><div class='ctx'> 				&lt;Custom Action="DoPreUninstall" Before="RemoveFiles"&gt;REMOVE~="ALL" AND NOT UPGRADINGPRODUCTCODE&lt;/Custom&gt;</div><div class='ctx'> 				</div><div class='ctx'> 				&lt;!-- Execute PostUninst_SetData after RemoveFiles action when uninstalling ONLY</div><div class='ctx'> 					 and before DoPostUninstall to set the DoPostUninstall's Custom Action Data --&gt;</div><div class='ctx'> 				&lt;Custom Action="PostUninst_SetData" Before="DoPostUninstall"&gt;REMOVE~="ALL" AND NOT UPGRADINGPRODUCTCODE&lt;/Custom&gt;</div><div class='ctx'> 				</div><div class='ctx'> 				&lt;!-- Execute DoPostUninstall after RemoveFiles action when uninstalling ONLY --&gt;</div><div class='ctx'> 				&lt;Custom Action="DoPostUninstall" After="RemoveFiles"&gt;REMOVE~="ALL" AND NOT UPGRADINGPRODUCTCODE&lt;/Custom&gt;</div><div class='ctx'> 			</div><div class='ctx'> 			&lt;!-- Execute DoChecks after InstallFinalize action of first installation or repair  or uninstall.</div><div class='ctx'> 				 Since we schedule RemoveExistingProducts after InstallExecute, if we execute this CA at UPGRADINGPRODUCTCODE,</div><div class='ctx'> 				 it will execute it twice : once when it installs new files (NOT Installed), and then when it removes unnecessary files (actual upgrade: UPGRADINGPRODUCTCODE).</div><div class='ctx'> 				 Since the first time it executes, it will delete the RegKeys, the second time it executes will fail, and with </div><div class='ctx'> 				 it the whole upgrade.</div><div class='ctx'> 				 Therefore, we do not need to execute it at UPGRADINGPRODUCTCODE. --&gt;</div><div class='ctx'> 			&lt;Custom Action="DoChecks" After="InstallFinalize"&gt;(NOT Installed AND NOT REMOVE) OR REINSTALL OR (REMOVE~="ALL" AND NOT UPGRADINGPRODUCTCODE)&lt;/Custom&gt;</div><div class='ctx'> 			</div><div class='ctx'> 			&lt;!-- Set the ARP --&gt;</div><div class='ctx'> 			&lt;Custom Action="SetARPINSTALLLOCATION" After="InstallValidate"&gt;&lt;/Custom&gt;</div><div class='ctx'> 			</div><div class='ctx'> 			&lt;!-- ScheduleReboot only after DoChecks, which sets ISREBOOTREQUIRED --&gt;</div><div class='ctx'> 			&lt;ScheduleReboot After="DoChecks"&gt;ISREBOOTREQUIRED = "1"&lt;/ScheduleReboot&gt;</div><div class='ctx'> 			</div><div class='ctx'> 		&lt;/InstallExecuteSequence&gt;</div><div class='ctx'> </div><div class='ctx'> 	&lt;/Product&gt;</div><div class='ctx'>   </div><div class='del'>-&lt;/Wix&gt; No newline at end of file</div><div class='add'>+&lt;/Wix&gt;</div><div class='head'>diff --git a/src/Release/Setup Files/password1000000.txt b/src/Release/Setup Files/password1000000.txt<br/>new file mode 100644<br/>index 00000000..e6e50bf5<br/>--- /dev/null<br/>+++ b/<a href='/code/VeraCrypt/tree/src/Release/Setup%20Files/password1000000.txt?id=c0ff7a7c521b1d658316d9a177383ab0c403007a'>src/Release/Setup Files/password1000000.txt</a></div><div class='hunk'>@@ -0,0 +1,999999 @@</div><div class='add'>+123456</div><div class='add'>+password</div><div class='add'>+12345678</div><div class='add'>+qwerty</div><div class='add'>+123456789</div><div class='add'>+12345</div><div class='add'>+1234</div><div class='add'>+111111</div><div class='add'>+1234567</div><div class='add'>+dragon</div><div class='add'>+123123</div><div class='add'>+baseball</div><div class='add'>+abc123</div><div class='add'>+football</div><div class='add'>+monkey</div><div class='add'>+letmein</div><div class='add'>+696969</div><div class='add'>+shadow</div><div class='add'>+master</div><div class='add'>+666666</div><div class='add'>+qwertyuiop</div><div class='add'>+123321</div><div class='add'>+mustang</div><div class='add'>+1234567890</div><div class='add'>+michael</div><div class='add'>+654321</div><div class='add'>+pussy</div><div class='add'>+superman</div><div class='add'>+1qaz2wsx</div><div class='add'>+7777777</div><div class='add'>+fuckyou</div><div class='add'>+121212</div><div class='add'>+000000</div><div class='add'>+qazwsx</div><div class='add'>+123qwe</div><div class='add'>+killer</div><div class='add'>+trustno1</div><div class='add'>+jordan</div><div class='add'>+jennifer</div><div class='add'>+zxcvbnm</div><div class='add'>+asdfgh</div><div class='add'>+hunter</div><div class='add'>+buster</div><div class='add'>+soccer</div><div class='add'>+harley</div><div class='add'>+batman</div><div class='add'>+andrew</div><div class='add'>+tigger</div><div class='add'>+sunshine</div><div class='add'>+iloveyou</div><div class='add'>+fuckme</div><div class='add'>+2000</div><div class='add'>+charlie</div><div class='add'>+robert</div><div class='add'>+thomas</div><div class='add'>+hockey</div><div class='add'>+ranger</div><div class='add'>+daniel</div><div class='add'>+starwars</div><div class='add'>+klaster</div><div class='add'>+112233</div><div class='add'>+george</div><div class='add'>+asshole</div><div class='add'>+computer</div><div class='add'>+michelle</div><div class='add'>+jessica</div><div class='add'>+pepper</div><div class='add'>+1111</div><div class='add'>+zxcvbn</div><div class='add'>+555555</div><div class='add'>+11111111</div><div class='add'>+131313</div><div class='add'>+freedom</div><div class='add'>+777777</div><div class='add'>+pass</div><div class='add'>+fuck</div><div class='add'>+maggie</div><div class='add'>+159753</div><div class='add'>+aaaaaa</div><div class='add'>+ginger</div><div class='add'>+princess</div><div class='add'>+joshua</div><div class='add'>+cheese</div><div class='add'>+amanda</div><div class='add'>+summer</div><div class='add'>+love</div><div class='add'>+ashley</div><div class='add'>+6969</div><div class='add'>+nicole</div><div class='add'>+chelsea</div><div class='add'>+biteme</div><div class='add'>+matthew</div><div class='add'>+access</div><div class='add'>+yankees</div><div class='add'>+987654321</div><div class='add'>+dallas</div><div class='add'>+austin</div><div class='add'>+thunder</div><div class='add'>+taylor</div><div class='add'>+matrix</div><div class='add'>+william</div><div class='add'>+corvette</div><div class='add'>+hello</div><div class='add'>+martin</div><div class='add'>+heather</div><div class='add'>+secret</div><div class='add'>+fucker</div><div class='add'>+merlin</div><div class='add'>+diamond</div><div class='add'>+1234qwer</div><div class='add'>+gfhjkm</div><div class='add'>+hammer</div><div class='add'>+silver</div><div class='add'>+222222</div><div class='add'>+88888888</div><div class='add'>+anthony</div><div class='add'>+justin</div><div class='add'>+test</div><div class='add'>+bailey</div><div class='add'>+q1w2e3r4t5</div><div class='add'>+patrick</div><div class='add'>+internet</div><div class='add'>+scooter</div><div class='add'>+orange</div><div class='add'>+11111</div><div class='add'>+golfer</div><div class='add'>+cookie</div><div class='add'>+richard</div><div class='add'>+samantha</div><div class='add'>+bigdog</div><div class='add'>+guitar</div><div class='add'>+jackson</div><div class='add'>+whatever</div><div class='add'>+mickey</div><div class='add'>+chicken</div><div class='add'>+sparky</div><div class='add'>+snoopy</div><div class='add'>+maverick</div><div class='add'>+phoenix</div><div class='add'>+camaro</div><div class='add'>+sexy</div><div class='add'>+peanut</div><div class='add'>+morgan</div><div class='add'>+welcome</div><div class='add'>+falcon</div><div class='add'>+cowboy</div><div class='add'>+ferrari</div><div class='add'>+samsung</div><div class='add'>+andrea</div><div class='add'>+smokey</div><div class='add'>+steelers</div><div class='add'>+joseph</div><div class='add'>+mercedes</div><div class='add'>+dakota</div><div class='add'>+arsenal</div><div class='add'>+eagles</div><div class='add'>+melissa</div><div class='add'>+boomer</div><div class='add'>+booboo</div><div class='add'>+spider</div><div class='add'>+nascar</div><div class='add'>+monster</div><div class='add'>+tigers</div><div class='add'>+yellow</div><div class='add'>+xxxxxx</div><div class='add'>+123123123</div><div class='add'>+gateway</div><div class='add'>+marina</div><div class='add'>+diablo</div><div class='add'>+bulldog</div><div class='add'>+qwer1234</div><div class='add'>+compaq</div><div class='add'>+purple</div><div class='add'>+hardcore</div><div class='add'>+banana</div><div class='add'>+junior</div><div class='add'>+hannah</div><div class='add'>+123654</div><div class='add'>+porsche</div><div class='add'>+lakers</div><div class='add'>+iceman</div><div class='add'>+money</div><div class='add'>+cowboys</div><div class='add'>+987654</div><div class='add'>+london</div><div class='add'>+tennis</div><div class='add'>+999999</div><div class='add'>+ncc1701</div><div class='add'>+coffee</div><div class='add'>+scooby</div><div class='add'>+0000</div><div class='add'>+miller</div><div class='add'>+boston</div><div class='add'>+q1w2e3r4</div><div class='add'>+fuckoff</div><div class='add'>+brandon</div><div class='add'>+yamaha</div><div class='add'>+chester</div><div class='add'>+mother</div><div class='add'>+forever</div><div class='add'>+johnny</div><div class='add'>+edward</div><div class='add'>+333333</div><div class='add'>+oliver</div><div class='add'>+redsox</div><div class='add'>+player</div><div class='add'>+nikita</div><div class='add'>+knight</div><div class='add'>+fender</div><div class='add'>+barney</div><div class='add'>+midnight</div><div class='add'>+please</div><div class='add'>+brandy</div><div class='add'>+chicago</div><div class='add'>+badboy</div><div class='add'>+iwantu</div><div class='add'>+slayer</div><div class='add'>+rangers</div><div class='add'>+charles</div><div class='add'>+angel</div><div class='add'>+flower</div><div class='add'>+bigdaddy</div><div class='add'>+rabbit</div><div class='add'>+wizard</div><div class='add'>+bigdick</div><div class='add'>+jasper</div><div class='add'>+enter</div><div class='add'>+rachel</div><div class='add'>+chris</div><div class='add'>+steven</div><div class='add'>+winner</div><div class='add'>+adidas</div><div class='add'>+victoria</div><div class='add'>+natasha</div><div class='add'>+1q2w3e4r</div><div class='add'>+jasmine</div><div class='add'>+winter</div><div class='add'>+prince</div><div class='add'>+panties</div><div class='add'>+marine</div><div class='add'>+ghbdtn</div><div class='add'>+fishing</div><div class='add'>+cocacola</div><div class='add'>+casper</div><div class='add'>+james</div><div class='add'>+232323</div><div class='add'>+raiders</div><div class='add'>+888888</div><div class='add'>+marlboro</div><div class='add'>+gandalf</div><div class='add'>+asdfasdf</div><div class='add'>+crystal</div><div class='add'>+87654321</div><div class='add'>+12344321</div><div class='add'>+sexsex</div><div class='add'>+golden</div><div class='add'>+blowme</div><div class='add'>+bigtits</div><div class='add'>+8675309</div><div class='add'>+panther</div><div class='add'>+lauren</div><div class='add'>+angela</div><div class='add'>+bitch</div><div class='add'>+spanky</div><div class='add'>+thx1138</div><div class='add'>+angels</div><div class='add'>+madison</div><div class='add'>+winston</div><div class='add'>+shannon</div><div class='add'>+mike</div><div class='add'>+toyota</div><div class='add'>+blowjob</div><div class='add'>+jordan23</div><div class='add'>+canada</div><div class='add'>+sophie</div><div class='add'>+Password</div><div class='add'>+apples</div><div class='add'>+dick</div><div class='add'>+tiger</div><div class='add'>+razz</div><div class='add'>+123abc</div><div class='add'>+pokemon</div><div class='add'>+qazxsw</div><div class='add'>+55555</div><div class='add'>+qwaszx</div><div class='add'>+muffin</div><div class='add'>+johnson</div><div class='add'>+murphy</div><div class='add'>+cooper</div><div class='add'>+jonathan</div><div class='add'>+liverpoo</div><div class='add'>+david</div><div class='add'>+danielle</div><div class='add'>+159357</div><div class='add'>+jackie</div><div class='add'>+1990</div><div class='add'>+123456a</div><div class='add'>+789456</div><div class='add'>+turtle</div><div class='add'>+horny</div><div class='add'>+abcd1234</div><div class='add'>+scorpion</div><div class='add'>+qazwsxedc</div><div class='add'>+101010</div><div class='add'>+butter</div><div class='add'>+carlos</div><div class='add'>+password1</div><div class='add'>+dennis</div><div class='add'>+slipknot</div><div class='add'>+qwerty123</div><div class='add'>+booger</div><div class='add'>+asdf</div><div class='add'>+1991</div><div class='add'>+black</div><div class='add'>+startrek</div><div class='add'>+12341234</div><div class='add'>+cameron</div><div class='add'>+newyork</div><div class='add'>+rainbow</div><div class='add'>+nathan</div><div class='add'>+john</div><div class='add'>+1992</div><div class='add'>+rocket</div><div class='add'>+viking</div><div class='add'>+redskins</div><div class='add'>+butthead</div><div class='add'>+asdfghjkl</div><div class='add'>+1212</div><div class='add'>+sierra</div><div class='add'>+peaches</div><div class='add'>+gemini</div><div class='add'>+doctor</div><div class='add'>+wilson</div><div class='add'>+sandra</div><div class='add'>+helpme</div><div class='add'>+qwertyui</div><div class='add'>+victor</div><div class='add'>+florida</div><div class='add'>+dolphin</div><div class='add'>+pookie</div><div class='add'>+captain</div><div class='add'>+tucker</div><div class='add'>+blue</div><div class='add'>+liverpool</div><div class='add'>+theman</div><div class='add'>+bandit</div><div class='add'>+dolphins</div><div class='add'>+maddog</div><div class='add'>+packers</div><div class='add'>+jaguar</div><div class='add'>+lovers</div><div class='add'>+nicholas</div><div class='add'>+united</div><div class='add'>+tiffany</div><div class='add'>+maxwell</div><div class='add'>+zzzzzz</div><div class='add'>+nirvana</div><div class='add'>+jeremy</div><div class='add'>+suckit</div><div class='add'>+stupid</div><div class='add'>+porn</div><div class='add'>+monica</div><div class='add'>+elephant</div><div class='add'>+giants</div><div class='add'>+jackass</div><div class='add'>+hotdog</div><div class='add'>+rosebud</div><div class='add'>+success</div><div class='add'>+debbie</div><div class='add'>+mountain</div><div class='add'>+444444</div><div class='add'>+xxxxxxxx</div><div class='add'>+warrior</div><div class='add'>+1q2w3e4r5t</div><div class='add'>+q1w2e3</div><div class='add'>+123456q</div><div class='add'>+albert</div><div class='add'>+metallic</div><div class='add'>+lucky</div><div class='add'>+azerty</div><div class='add'>+7777</div><div class='add'>+shithead</div><div class='add'>+alex</div><div class='add'>+bond007</div><div class='add'>+alexis</div><div class='add'>+1111111</div><div class='add'>+samson</div><div class='add'>+5150</div><div class='add'>+willie</div><div class='add'>+scorpio</div><div class='add'>+bonnie</div><div class='add'>+gators</div><div class='add'>+benjamin</div><div class='add'>+voodoo</div><div class='add'>+driver</div><div class='add'>+dexter</div><div class='add'>+2112</div><div class='add'>+jason</div><div class='add'>+calvin</div><div class='add'>+freddy</div><div class='add'>+212121</div><div class='add'>+creative</div><div class='add'>+12345a</div><div class='add'>+sydney</div><div class='add'>+rush2112</div><div class='add'>+1989</div><div class='add'>+asdfghjk</div><div class='add'>+red123</div><div class='add'>+bubba</div><div class='add'>+4815162342</div><div class='add'>+passw0rd</div><div class='add'>+trouble</div><div class='add'>+gunner</div><div class='add'>+happy</div><div class='add'>+fucking</div><div class='add'>+gordon</div><div class='add'>+legend</div><div class='add'>+jessie</div><div class='add'>+stella</div><div class='add'>+qwert</div><div class='add'>+eminem</div><div class='add'>+arthur</div><div class='add'>+apple</div><div class='add'>+nissan</div><div class='add'>+bullshit</div><div class='add'>+bear</div><div class='add'>+america</div><div class='add'>+1qazxsw2</div><div class='add'>+nothing</div><div class='add'>+parker</div><div class='add'>+4444</div><div class='add'>+rebecca</div><div class='add'>+qweqwe</div><div class='add'>+garfield</div><div class='add'>+01012011</div><div class='add'>+beavis</div><div class='add'>+69696969</div><div class='add'>+jack</div><div class='add'>+asdasd</div><div class='add'>+december</div><div class='add'>+2222</div><div class='add'>+102030</div><div class='add'>+252525</div><div class='add'>+11223344</div><div class='add'>+magic</div><div class='add'>+apollo</div><div class='add'>+skippy</div><div class='add'>+315475</div><div class='add'>+girls</div><div class='add'>+kitten</div><div class='add'>+golf</div><div class='add'>+copper</div><div class='add'>+braves</div><div class='add'>+shelby</div><div class='add'>+godzilla</div><div class='add'>+beaver</div><div class='add'>+fred</div><div class='add'>+tomcat</div><div class='add'>+august</div><div class='add'>+buddy</div><div class='add'>+airborne</div><div class='add'>+1993</div><div class='add'>+1988</div><div class='add'>+lifehack</div><div class='add'>+qqqqqq</div><div class='add'>+brooklyn</div><div class='add'>+animal</div><div class='add'>+platinum</div><div class='add'>+phantom</div><div class='add'>+online</div><div class='add'>+xavier</div><div class='add'>+darkness</div><div class='add'>+blink182</div><div class='add'>+power</div><div class='add'>+fish</div><div class='add'>+green</div><div class='add'>+789456123</div><div class='add'>+voyager</div><div class='add'>+police</div><div class='add'>+travis</div><div class='add'>+12qwaszx</div><div class='add'>+heaven</div><div class='add'>+snowball</div><div class='add'>+lover</div><div class='add'>+abcdef</div><div class='add'>+00000</div><div class='add'>+pakistan</div><div class='add'>+007007</div><div class='add'>+walter</div><div class='add'>+playboy</div><div class='add'>+blazer</div><div class='add'>+cricket</div><div class='add'>+sniper</div><div class='add'>+hooters</div><div class='add'>+donkey</div><div class='add'>+willow</div><div class='add'>+loveme</div><div class='add'>+saturn</div><div class='add'>+therock</div><div class='add'>+redwings</div><div class='add'>+bigboy</div><div class='add'>+pumpkin</div><div class='add'>+trinity</div><div class='add'>+williams</div><div class='add'>+tits</div><div class='add'>+nintendo</div><div class='add'>+digital</div><div class='add'>+destiny</div><div class='add'>+topgun</div><div class='add'>+runner</div><div class='add'>+marvin</div><div class='add'>+guinness</div><div class='add'>+chance</div><div class='add'>+bubbles</div><div class='add'>+testing</div><div class='add'>+fire</div><div class='add'>+november</div><div class='add'>+minecraft</div><div class='add'>+asdf1234</div><div class='add'>+lasvegas</div><div class='add'>+sergey</div><div class='add'>+broncos</div><div class='add'>+cartman</div><div class='add'>+private</div><div class='add'>+celtic</div><div class='add'>+birdie</div><div class='add'>+little</div><div class='add'>+cassie</div><div class='add'>+babygirl</div><div class='add'>+donald</div><div class='add'>+beatles</div><div class='add'>+1313</div><div class='add'>+dickhead</div><div class='add'>+family</div><div class='add'>+12121212</div><div class='add'>+school</div><div class='add'>+louise</div><div class='add'>+gabriel</div><div class='add'>+eclipse</div><div class='add'>+fluffy</div><div class='add'>+147258369</div><div class='add'>+lol123</div><div class='add'>+explorer</div><div class='add'>+beer</div><div class='add'>+nelson</div><div class='add'>+flyers</div><div class='add'>+spencer</div><div class='add'>+scott</div><div class='add'>+lovely</div><div class='add'>+gibson</div><div class='add'>+doggie</div><div class='add'>+cherry</div><div class='add'>+andrey</div><div class='add'>+snickers</div><div class='add'>+buffalo</div><div class='add'>+pantera</div><div class='add'>+metallica</div><div class='add'>+member</div><div class='add'>+carter</div><div class='add'>+qwertyu</div><div class='add'>+peter</div><div class='add'>+alexande</div><div class='add'>+steve</div><div class='add'>+bronco</div><div class='add'>+paradise</div><div class='add'>+goober</div><div class='add'>+5555</div><div class='add'>+samuel</div><div class='add'>+montana</div><div class='add'>+mexico</div><div class='add'>+dreams</div><div class='add'>+michigan</div><div class='add'>+cock</div><div class='add'>+carolina</div><div class='add'>+yankee</div><div class='add'>+friends</div><div class='add'>+magnum</div><div class='add'>+surfer</div><div class='add'>+poopoo</div><div class='add'>+maximus</div><div class='add'>+genius</div><div class='add'>+cool</div><div class='add'>+vampire</div><div class='add'>+lacrosse</div><div class='add'>+asd123</div><div class='add'>+aaaa</div><div class='add'>+christin</div><div class='add'>+kimberly</div><div class='add'>+speedy</div><div class='add'>+sharon</div><div class='add'>+carmen</div><div class='add'>+111222</div><div class='add'>+kristina</div><div class='add'>+sammy</div><div class='add'>+racing</div><div class='add'>+ou812</div><div class='add'>+sabrina</div><div class='add'>+horses</div><div class='add'>+0987654321</div><div class='add'>+qwerty1</div><div class='add'>+pimpin</div><div class='add'>+baby</div><div class='add'>+stalker</div><div class='add'>+enigma</div><div class='add'>+147147</div><div class='add'>+star</div><div class='add'>+poohbear</div><div class='add'>+boobies</div><div class='add'>+147258</div><div class='add'>+simple</div><div class='add'>+bollocks</div><div class='add'>+12345q</div><div class='add'>+marcus</div><div class='add'>+brian</div><div class='add'>+1987</div><div class='add'>+qweasdzxc</div><div class='add'>+drowssap</div><div class='add'>+hahaha</div><div class='add'>+caroline</div><div class='add'>+barbara</div><div class='add'>+dave</div><div class='add'>+viper</div><div class='add'>+drummer</div><div class='add'>+action</div><div class='add'>+einstein</div><div class='add'>+bitches</div><div class='add'>+genesis</div><div class='add'>+hello1</div><div class='add'>+scotty</div><div class='add'>+friend</div><div class='add'>+forest</div><div class='add'>+010203</div><div class='add'>+hotrod</div><div class='add'>+google</div><div class='add'>+vanessa</div><div class='add'>+spitfire</div><div class='add'>+badger</div><div class='add'>+maryjane</div><div class='add'>+friday</div><div class='add'>+alaska</div><div class='add'>+1232323q</div><div class='add'>+tester</div><div class='add'>+jester</div><div class='add'>+jake</div><div class='add'>+champion</div><div class='add'>+billy</div><div class='add'>+147852</div><div class='add'>+rock</div><div class='add'>+hawaii</div><div class='add'>+badass</div><div class='add'>+chevy</div><div class='add'>+420420</div><div class='add'>+walker</div><div class='add'>+stephen</div><div class='add'>+eagle1</div><div class='add'>+bill</div><div class='add'>+1986</div><div class='add'>+october</div><div class='add'>+gregory</div><div class='add'>+svetlana</div><div class='add'>+pamela</div><div class='add'>+1984</div><div class='add'>+music</div><div class='add'>+shorty</div><div class='add'>+westside</div><div class='add'>+stanley</div><div class='add'>+diesel</div><div class='add'>+courtney</div><div class='add'>+242424</div><div class='add'>+kevin</div><div class='add'>+porno</div><div class='add'>+hitman</div><div class='add'>+boobs</div><div class='add'>+mark</div><div class='add'>+12345qwert</div><div class='add'>+reddog</div><div class='add'>+frank</div><div class='add'>+qwe123</div><div class='add'>+popcorn</div><div class='add'>+patricia</div><div class='add'>+aaaaaaaa</div><div class='add'>+1969</div><div class='add'>+teresa</div><div class='add'>+mozart</div><div class='add'>+buddha</div><div class='add'>+anderson</div><div class='add'>+paul</div><div class='add'>+melanie</div><div class='add'>+abcdefg</div><div class='add'>+security</div><div class='add'>+lucky1</div><div class='add'>+lizard</div><div class='add'>+denise</div><div class='add'>+3333</div><div class='add'>+a12345</div><div class='add'>+123789</div><div class='add'>+ruslan</div><div class='add'>+stargate</div><div class='add'>+simpsons</div><div class='add'>+scarface</div><div class='add'>+eagle</div><div class='add'>+123456789a</div><div class='add'>+thumper</div><div class='add'>+olivia</div><div class='add'>+naruto</div><div class='add'>+1234554321</div><div class='add'>+general</div><div class='add'>+cherokee</div><div class='add'>+a123456</div><div class='add'>+vincent</div><div class='add'>+Usuckballz1</div><div class='add'>+spooky</div><div class='add'>+qweasd</div><div class='add'>+cumshot</div><div class='add'>+free</div><div class='add'>+frankie</div><div class='add'>+douglas</div><div class='add'>+death</div><div class='add'>+1980</div><div class='add'>+loveyou</div><div class='add'>+kitty</div><div class='add'>+kelly</div><div class='add'>+veronica</div><div class='add'>+suzuki</div><div class='add'>+semperfi</div><div class='add'>+penguin</div><div class='add'>+mercury</div><div class='add'>+liberty</div><div class='add'>+spirit</div><div class='add'>+scotland</div><div class='add'>+natalie</div><div class='add'>+marley</div><div class='add'>+vikings</div><div class='add'>+system</div><div class='add'>+sucker</div><div class='add'>+king</div><div class='add'>+allison</div><div class='add'>+marshall</div><div class='add'>+1979</div><div class='add'>+098765</div><div class='add'>+qwerty12</div><div class='add'>+hummer</div><div class='add'>+adrian</div><div class='add'>+1985</div><div class='add'>+vfhbyf</div><div class='add'>+sandman</div><div class='add'>+rocky</div><div class='add'>+leslie</div><div class='add'>+antonio</div><div class='add'>+98765432</div><div class='add'>+4321</div><div class='add'>+softball</div><div class='add'>+passion</div><div class='add'>+mnbvcxz</div><div class='add'>+bastard</div><div class='add'>+passport</div><div class='add'>+horney</div><div class='add'>+rascal</div><div class='add'>+howard</div><div class='add'>+franklin</div><div class='add'>+bigred</div><div class='add'>+assman</div><div class='add'>+alexander</div><div class='add'>+homer</div><div class='add'>+redrum</div><div class='add'>+jupiter</div><div class='add'>+claudia</div><div class='add'>+55555555</div><div class='add'>+141414</div><div class='add'>+zaq12wsx</div><div class='add'>+shit</div><div class='add'>+patches</div><div class='add'>+nigger</div><div class='add'>+cunt</div><div class='add'>+raider</div><div class='add'>+infinity</div><div class='add'>+andre</div><div class='add'>+54321</div><div class='add'>+galore</div><div class='add'>+college</div><div class='add'>+russia</div><div class='add'>+kawasaki</div><div class='add'>+bishop</div><div class='add'>+77777777</div><div class='add'>+vladimir</div><div class='add'>+money1</div><div class='add'>+freeuser</div><div class='add'>+wildcats</div><div class='add'>+francis</div><div class='add'>+disney</div><div class='add'>+budlight</div><div class='add'>+brittany</div><div class='add'>+1994</div><div class='add'>+00000000</div><div class='add'>+sweet</div><div class='add'>+oksana</div><div class='add'>+honda</div><div class='add'>+domino</div><div class='add'>+bulldogs</div><div class='add'>+brutus</div><div class='add'>+swordfis</div><div class='add'>+norman</div><div class='add'>+monday</div><div class='add'>+jimmy</div><div class='add'>+ironman</div><div class='add'>+ford</div><div class='add'>+fantasy</div><div class='add'>+9999</div><div class='add'>+7654321</div><div class='add'>+PASSWORD</div><div class='add'>+hentai</div><div class='add'>+duncan</div><div class='add'>+cougar</div><div class='add'>+1977</div><div class='add'>+jeffrey</div><div class='add'>+house</div><div class='add'>+dancer</div><div class='add'>+brooke</div><div class='add'>+timothy</div><div class='add'>+super</div><div class='add'>+marines</div><div class='add'>+justice</div><div class='add'>+digger</div><div class='add'>+connor</div><div class='add'>+patriots</div><div class='add'>+karina</div><div class='add'>+202020</div><div class='add'>+molly</div><div class='add'>+everton</div><div class='add'>+tinker</div><div class='add'>+alicia</div><div class='add'>+rasdzv3</div><div class='add'>+poop</div><div class='add'>+pearljam</div><div class='add'>+stinky</div><div class='add'>+naughty</div><div class='add'>+colorado</div><div class='add'>+123123a</div><div class='add'>+water</div><div class='add'>+test123</div><div class='add'>+ncc1701d</div><div class='add'>+motorola</div><div class='add'>+ireland</div><div class='add'>+asdfg</div><div class='add'>+slut</div><div class='add'>+matt</div><div class='add'>+houston</div><div class='add'>+boogie</div><div class='add'>+zombie</div><div class='add'>+accord</div><div class='add'>+vision</div><div class='add'>+bradley</div><div class='add'>+reggie</div><div class='add'>+kermit</div><div class='add'>+froggy</div><div class='add'>+ducati</div><div class='add'>+avalon</div><div class='add'>+6666</div><div class='add'>+9379992</div><div class='add'>+sarah</div><div class='add'>+saints</div><div class='add'>+logitech</div><div class='add'>+chopper</div><div class='add'>+852456</div><div class='add'>+simpson</div><div class='add'>+madonna</div><div class='add'>+juventus</div><div class='add'>+claire</div><div class='add'>+159951</div><div class='add'>+zachary</div><div class='add'>+yfnfif</div><div class='add'>+wolverin</div><div class='add'>+warcraft</div><div class='add'>+hello123</div><div class='add'>+extreme</div><div class='add'>+penis</div><div class='add'>+peekaboo</div><div class='add'>+fireman</div><div class='add'>+eugene</div><div class='add'>+brenda</div><div class='add'>+123654789</div><div class='add'>+russell</div><div class='add'>+panthers</div><div class='add'>+georgia</div><div class='add'>+smith</div><div class='add'>+skyline</div><div class='add'>+jesus</div><div class='add'>+elizabet</div><div class='add'>+spiderma</div><div class='add'>+smooth</div><div class='add'>+pirate</div><div class='add'>+empire</div><div class='add'>+bullet</div><div class='add'>+8888</div><div class='add'>+virginia</div><div class='add'>+valentin</div><div class='add'>+psycho</div><div class='add'>+predator</div><div class='add'>+arizona</div><div class='add'>+134679</div><div class='add'>+mitchell</div><div class='add'>+alyssa</div><div class='add'>+vegeta</div><div class='add'>+titanic</div><div class='add'>+christ</div><div class='add'>+goblue</div><div class='add'>+fylhtq</div><div class='add'>+wolf</div><div class='add'>+mmmmmm</div><div class='add'>+kirill</div><div class='add'>+indian</div><div class='add'>+hiphop</div><div class='add'>+baxter</div><div class='add'>+awesome</div><div class='add'>+people</div><div class='add'>+danger</div><div class='add'>+roland</div><div class='add'>+mookie</div><div class='add'>+741852963</div><div class='add'>+1111111111</div><div class='add'>+dreamer</div><div class='add'>+bambam</div><div class='add'>+arnold</div><div class='add'>+1981</div><div class='add'>+skipper</div><div class='add'>+serega</div><div class='add'>+rolltide</div><div class='add'>+elvis</div><div class='add'>+changeme</div><div class='add'>+simon</div><div class='add'>+1q2w3e</div><div class='add'>+lovelove</div><div class='add'>+fktrcfylh</div><div class='add'>+denver</div><div class='add'>+tommy</div><div class='add'>+mine</div><div class='add'>+loverboy</div><div class='add'>+hobbes</div><div class='add'>+happy1</div><div class='add'>+alison</div><div class='add'>+nemesis</div><div class='add'>+chevelle</div><div class='add'>+cardinal</div><div class='add'>+burton</div><div class='add'>+wanker</div><div class='add'>+picard</div><div class='add'>+151515</div><div class='add'>+tweety</div><div class='add'>+michael1</div><div class='add'>+147852369</div><div class='add'>+12312</div><div class='add'>+xxxx</div><div class='add'>+windows</div><div class='add'>+turkey</div><div class='add'>+456789</div><div class='add'>+1974</div><div class='add'>+vfrcbv</div><div class='add'>+sublime</div><div class='add'>+1975</div><div class='add'>+galina</div><div class='add'>+bobby</div><div class='add'>+newport</div><div class='add'>+manutd</div><div class='add'>+daddy</div><div class='add'>+american</div><div class='add'>+alexandr</div><div class='add'>+1966</div><div class='add'>+victory</div><div class='add'>+rooster</div><div class='add'>+qqq111</div><div class='add'>+madmax</div><div class='add'>+electric</div><div class='add'>+bigcock</div><div class='add'>+a1b2c3</div><div class='add'>+wolfpack</div><div class='add'>+spring</div><div class='add'>+phpbb</div><div class='add'>+lalala</div><div class='add'>+suckme</div><div class='add'>+spiderman</div><div class='add'>+eric</div><div class='add'>+darkside</div><div class='add'>+classic</div><div class='add'>+raptor</div><div class='add'>+123456789q</div><div class='add'>+hendrix</div><div class='add'>+1982</div><div class='add'>+wombat</div><div class='add'>+avatar</div><div class='add'>+alpha</div><div class='add'>+zxc123</div><div class='add'>+crazy</div><div class='add'>+hard</div><div class='add'>+england</div><div class='add'>+brazil</div><div class='add'>+1978</div><div class='add'>+01011980</div><div class='add'>+wildcat</div><div class='add'>+polina</div><div class='add'>+freepass</div><div class='add'>+carrie</div><div class='add'>+99999999</div><div class='add'>+qaz123</div><div class='add'>+holiday</div><div class='add'>+fyfcnfcbz</div><div class='add'>+brother</div><div class='add'>+taurus</div><div class='add'>+shaggy</div><div class='add'>+raymond</div><div class='add'>+maksim</div><div class='add'>+gundam</div><div class='add'>+admin</div><div class='add'>+vagina</div><div class='add'>+pretty</div><div class='add'>+pickle</div><div class='add'>+good</div><div class='add'>+chronic</div><div class='add'>+alabama</div><div class='add'>+airplane</div><div class='add'>+22222222</div><div class='add'>+1976</div><div class='add'>+1029384756</div><div class='add'>+01011</div><div class='add'>+time</div><div class='add'>+sports</div><div class='add'>+ronaldo</div><div class='add'>+pandora</div><div class='add'>+cheyenne</div><div class='add'>+caesar</div><div class='add'>+billybob</div><div class='add'>+bigman</div><div class='add'>+1968</div><div class='add'>+124578</div><div class='add'>+snowman</div><div class='add'>+lawrence</div><div class='add'>+kenneth</div><div class='add'>+horse</div><div class='add'>+france</div><div class='add'>+bondage</div><div class='add'>+perfect</div><div class='add'>+kristen</div><div class='add'>+devils</div><div class='add'>+alpha1</div><div class='add'>+pussycat</div><div class='add'>+kodiak</div><div class='add'>+flowers</div><div class='add'>+1973</div><div class='add'>+01012000</div><div class='add'>+leather</div><div class='add'>+amber</div><div class='add'>+gracie</div><div class='add'>+chocolat</div><div class='add'>+bubba1</div><div class='add'>+catch22</div><div class='add'>+business</div><div class='add'>+2323</div><div class='add'>+1983</div><div class='add'>+cjkysirj</div><div class='add'>+1972</div><div class='add'>+123qweasd</div><div class='add'>+ytrewq</div><div class='add'>+wolves</div><div class='add'>+stingray</div><div class='add'>+ssssss</div><div class='add'>+serenity</div><div class='add'>+ronald</div><div class='add'>+greenday</div><div class='add'>+135790</div><div class='add'>+010101</div><div class='add'>+tiger1</div><div class='add'>+sunset</div><div class='add'>+charlie1</div><div class='add'>+berlin</div><div class='add'>+bbbbbb</div><div class='add'>+171717</div><div class='add'>+panzer</div><div class='add'>+lincoln</div><div class='add'>+katana</div><div class='add'>+firebird</div><div class='add'>+blizzard</div><div class='add'>+a1b2c3d4</div><div class='add'>+white</div><div class='add'>+sterling</div><div class='add'>+redhead</div><div class='add'>+password123</div><div class='add'>+candy</div><div class='add'>+anna</div><div class='add'>+142536</div><div class='add'>+sasha</div><div class='add'>+pyramid</div><div class='add'>+outlaw</div><div class='add'>+hercules</div><div class='add'>+garcia</div><div class='add'>+454545</div><div class='add'>+trevor</div><div class='add'>+teens</div><div class='add'>+maria</div><div class='add'>+kramer</div><div class='add'>+girl</div><div class='add'>+popeye</div><div class='add'>+pontiac</div><div class='add'>+hardon</div><div class='add'>+dude</div><div class='add'>+aaaaa</div><div class='add'>+323232</div><div class='add'>+tarheels</div><div class='add'>+honey</div><div class='add'>+cobra</div><div class='add'>+buddy1</div><div class='add'>+remember</div><div class='add'>+lickme</div><div class='add'>+detroit</div><div class='add'>+clinton</div><div class='add'>+basketball</div><div class='add'>+zeppelin</div><div class='add'>+whynot</div><div class='add'>+swimming</div><div class='add'>+strike</div><div class='add'>+service</div><div class='add'>+pavilion</div><div class='add'>+michele</div><div class='add'>+engineer</div><div class='add'>+dodgers</div><div class='add'>+britney</div><div class='add'>+bobafett</div><div class='add'>+adam</div><div class='add'>+741852</div><div class='add'>+21122112</div><div class='add'>+xxxxx</div><div class='add'>+robbie</div><div class='add'>+miranda</div><div class='add'>+456123</div><div class='add'>+future</div><div class='add'>+darkstar</div><div class='add'>+icecream</div><div class='add'>+connie</div><div class='add'>+1970</div><div class='add'>+jones</div><div class='add'>+hellfire</div><div class='add'>+fisher</div><div class='add'>+fireball</div><div class='add'>+apache</div><div class='add'>+fuckit</div><div class='add'>+blonde</div><div class='add'>+bigmac</div><div class='add'>+abcd</div><div class='add'>+morris</div><div class='add'>+angel1</div><div class='add'>+666999</div><div class='add'>+321321</div><div class='add'>+simone</div><div class='add'>+rockstar</div><div class='add'>+flash</div><div class='add'>+defender</div><div class='add'>+1967</div><div class='add'>+wallace</div><div class='add'>+trooper</div><div class='add'>+oscar</div><div class='add'>+norton</div><div class='add'>+casino</div><div class='add'>+cancer</div><div class='add'>+beauty</div><div class='add'>+weasel</div><div class='add'>+savage</div><div class='add'>+raven</div><div class='add'>+harvey</div><div class='add'>+bowling</div><div class='add'>+246810</div><div class='add'>+wutang</div><div class='add'>+theone</div><div class='add'>+swordfish</div><div class='add'>+stewart</div><div class='add'>+airforce</div><div class='add'>+abcdefgh</div><div class='add'>+nipples</div><div class='add'>+nastya</div><div class='add'>+jenny</div><div class='add'>+hacker</div><div class='add'>+753951</div><div class='add'>+amateur</div><div class='add'>+viktor</div><div class='add'>+srinivas</div><div class='add'>+maxima</div><div class='add'>+lennon</div><div class='add'>+freddie</div><div class='add'>+bluebird</div><div class='add'>+qazqaz</div><div class='add'>+presario</div><div class='add'>+pimp</div><div class='add'>+packard</div><div class='add'>+mouse</div><div class='add'>+looking</div><div class='add'>+lesbian</div><div class='add'>+jeff</div><div class='add'>+cheryl</div><div class='add'>+2001</div><div class='add'>+wrangler</div><div class='add'>+sandy</div><div class='add'>+machine</div><div class='add'>+lights</div><div class='add'>+eatme</div><div class='add'>+control</div><div class='add'>+tattoo</div><div class='add'>+precious</div><div class='add'>+harrison</div><div class='add'>+duke</div><div class='add'>+beach</div><div class='add'>+tornado</div><div class='add'>+tanner</div><div class='add'>+goldfish</div><div class='add'>+catfish</div><div class='add'>+openup</div><div class='add'>+manager</div><div class='add'>+1971</div><div class='add'>+street</div><div class='add'>+Soso123aljg</div><div class='add'>+roscoe</div><div class='add'>+paris</div><div class='add'>+natali</div><div class='add'>+light</div><div class='add'>+julian</div><div class='add'>+jerry</div><div class='add'>+dilbert</div><div class='add'>+dbrnjhbz</div><div class='add'>+chris1</div><div class='add'>+atlanta</div><div class='add'>+xfiles</div><div class='add'>+thailand</div><div class='add'>+sailor</div><div class='add'>+pussies</div><div class='add'>+pervert</div><div class='add'>+lucifer</div><div class='add'>+longhorn</div><div class='add'>+enjoy</div><div class='add'>+dragons</div><div class='add'>+young</div><div class='add'>+target</div><div class='add'>+elaine</div><div class='add'>+dustin</div><div class='add'>+123qweasdzxc</div><div class='add'>+student</div><div class='add'>+madman</div><div class='add'>+lisa</div><div class='add'>+integra</div><div class='add'>+wordpass</div><div class='add'>+prelude</div><div class='add'>+newton</div><div class='add'>+lolita</div><div class='add'>+ladies</div><div class='add'>+hawkeye</div><div class='add'>+corona</div><div class='add'>+bubble</div><div class='add'>+31415926</div><div class='add'>+trigger</div><div class='add'>+spike</div><div class='add'>+katie</div><div class='add'>+iloveu</div><div class='add'>+herman</div><div class='add'>+design</div><div class='add'>+cannon</div><div class='add'>+999999999</div><div class='add'>+video</div><div class='add'>+stealth</div><div class='add'>+shooter</div><div class='add'>+nfnmzyf</div><div class='add'>+hottie</div><div class='add'>+browns</div><div class='add'>+314159</div><div class='add'>+trucks</div><div class='add'>+malibu</div><div class='add'>+bruins</div><div class='add'>+bobcat</div><div class='add'>+barbie</div><div class='add'>+1964</div><div class='add'>+orlando</div><div class='add'>+letmein1</div><div class='add'>+freaky</div><div class='add'>+foobar</div><div class='add'>+cthutq</div><div class='add'>+baller</div><div class='add'>+unicorn</div><div class='add'>+scully</div><div class='add'>+pussy1</div><div class='add'>+potter</div><div class='add'>+cookies</div><div class='add'>+pppppp</div><div class='add'>+philip</div><div class='add'>+gogogo</div><div class='add'>+elena</div><div class='add'>+country</div><div class='add'>+assassin</div><div class='add'>+1010</div><div class='add'>+zaqwsx</div><div class='add'>+testtest</div><div class='add'>+peewee</div><div class='add'>+moose</div><div class='add'>+microsoft</div><div class='add'>+teacher</div><div class='add'>+sweety</div><div class='add'>+stefan</div><div class='add'>+stacey</div><div class='add'>+shotgun</div><div class='add'>+random</div><div class='add'>+laura</div><div class='add'>+hooker</div><div class='add'>+dfvgbh</div><div class='add'>+devildog</div><div class='add'>+chipper</div><div class='add'>+athena</div><div class='add'>+winnie</div><div class='add'>+valentina</div><div class='add'>+pegasus</div><div class='add'>+kristin</div><div class='add'>+fetish</div><div class='add'>+butterfly</div><div class='add'>+woody</div><div class='add'>+swinger</div><div class='add'>+seattle</div><div class='add'>+lonewolf</div><div class='add'>+joker</div><div class='add'>+booty</div><div class='add'>+babydoll</div><div class='add'>+atlantis</div><div class='add'>+tony</div><div class='add'>+powers</div><div class='add'>+polaris</div><div class='add'>+montreal</div><div class='add'>+angelina</div><div class='add'>+77777</div><div class='add'>+tickle</div><div class='add'>+regina</div><div class='add'>+pepsi</div><div class='add'>+gizmo</div><div class='add'>+express</div><div class='add'>+dollar</div><div class='add'>+squirt</div><div class='add'>+shamrock</div><div class='add'>+knicks</div><div class='add'>+hotstuff</div><div class='add'>+balls</div><div class='add'>+transam</div><div class='add'>+stinger</div><div class='add'>+smiley</div><div class='add'>+ryan</div><div class='add'>+redneck</div><div class='add'>+mistress</div><div class='add'>+hjvfirf</div><div class='add'>+cessna</div><div class='add'>+bunny</div><div class='add'>+toshiba</div><div class='add'>+single</div><div class='add'>+piglet</div><div class='add'>+fucked</div><div class='add'>+father</div><div class='add'>+deftones</div><div class='add'>+coyote</div><div class='add'>+castle</div><div class='add'>+cadillac</div><div class='add'>+blaster</div><div class='add'>+valerie</div><div class='add'>+samurai</div><div class='add'>+oicu812</div><div class='add'>+lindsay</div><div class='add'>+jasmin</div><div class='add'>+james1</div><div class='add'>+ficken</div><div class='add'>+blahblah</div><div class='add'>+birthday</div><div class='add'>+1234abcd</div><div class='add'>+01011990</div><div class='add'>+sunday</div><div class='add'>+manson</div><div class='add'>+flipper</div><div class='add'>+asdfghj</div><div class='add'>+181818</div><div class='add'>+wicked</div><div class='add'>+great</div><div class='add'>+daisy</div><div class='add'>+babes</div><div class='add'>+skeeter</div><div class='add'>+reaper</div><div class='add'>+maddie</div><div class='add'>+cavalier</div><div class='add'>+veronika</div><div class='add'>+trucker</div><div class='add'>+qazwsx123</div><div class='add'>+mustang1</div><div class='add'>+goldberg</div><div class='add'>+escort</div><div class='add'>+12345678910</div><div class='add'>+wolfgang</div><div class='add'>+rocks</div><div class='add'>+mylove</div><div class='add'>+mememe</div><div class='add'>+lancer</div><div class='add'>+ibanez</div><div class='add'>+travel</div><div class='add'>+sugar</div><div class='add'>+snake</div><div class='add'>+sister</div><div class='add'>+siemens</div><div class='add'>+savannah</div><div class='add'>+minnie</div><div class='add'>+leonardo</div><div class='add'>+basketba</div><div class='add'>+1963</div><div class='add'>+trumpet</div><div class='add'>+texas</div><div class='add'>+rocky1</div><div class='add'>+galaxy</div><div class='add'>+cristina</div><div class='add'>+aardvark</div><div class='add'>+shelly</div><div class='add'>+hotsex</div><div class='add'>+goldie</div><div class='add'>+fatboy</div><div class='add'>+benson</div><div class='add'>+321654</div><div class='add'>+141627</div><div class='add'>+sweetpea</div><div class='add'>+ronnie</div><div class='add'>+indigo</div><div class='add'>+13131313</div><div class='add'>+spartan</div><div class='add'>+roberto</div><div class='add'>+hesoyam</div><div class='add'>+freeman</div><div class='add'>+freedom1</div><div class='add'>+fredfred</div><div class='add'>+pizza</div><div class='add'>+manchester</div><div class='add'>+lestat</div><div class='add'>+kathleen</div><div class='add'>+hamilton</div><div class='add'>+erotic</div><div class='add'>+blabla</div><div class='add'>+22222</div><div class='add'>+1995</div><div class='add'>+skater</div><div class='add'>+pencil</div><div class='add'>+passwor</div><div class='add'>+larisa</div><div class='add'>+hornet</div><div class='add'>+hamlet</div><div class='add'>+gambit</div><div class='add'>+fuckyou2</div><div class='add'>+alfred</div><div class='add'>+456456</div><div class='add'>+sweetie</div><div class='add'>+marino</div><div class='add'>+lollol</div><div class='add'>+565656</div><div class='add'>+techno</div><div class='add'>+special</div><div class='add'>+renegade</div><div class='add'>+insane</div><div class='add'>+indiana</div><div class='add'>+farmer</div><div class='add'>+drpepper</div><div class='add'>+blondie</div><div class='add'>+bigboobs</div><div class='add'>+272727</div><div class='add'>+1a2b3c</div><div class='add'>+valera</div><div class='add'>+storm</div><div class='add'>+seven</div><div class='add'>+rose</div><div class='add'>+nick</div><div class='add'>+mister</div><div class='add'>+karate</div><div class='add'>+casey</div><div class='add'>+1qaz2wsx3edc</div><div class='add'>+1478963</div><div class='add'>+maiden</div><div class='add'>+julie</div><div class='add'>+curtis</div><div class='add'>+colors</div><div class='add'>+christia</div><div class='add'>+buckeyes</div><div class='add'>+13579</div><div class='add'>+0123456789</div><div class='add'>+toronto</div><div class='add'>+stephani</div><div class='add'>+pioneer</div><div class='add'>+kissme</div><div class='add'>+jungle</div><div class='add'>+jerome</div><div class='add'>+holland</div><div class='add'>+harry</div><div class='add'>+garden</div><div class='add'>+enterpri</div><div class='add'>+dragon1</div><div class='add'>+diamonds</div><div class='add'>+chrissy</div><div class='add'>+bigone</div><div class='add'>+343434</div><div class='add'>+wonder</div><div class='add'>+wetpussy</div><div class='add'>+subaru</div><div class='add'>+smitty</div><div class='add'>+racecar</div><div class='add'>+pascal</div><div class='add'>+morpheus</div><div class='add'>+joanne</div><div class='add'>+irina</div><div class='add'>+indians</div><div class='add'>+impala</div><div class='add'>+hamster</div><div class='add'>+charger</div><div class='add'>+change</div><div class='add'>+bigfoot</div><div class='add'>+babylon</div><div class='add'>+66666666</div><div class='add'>+timber</div><div class='add'>+redman</div><div class='add'>+pornstar</div><div class='add'>+bernie</div><div class='add'>+tomtom</div><div class='add'>+thuglife</div><div class='add'>+millie</div><div class='add'>+buckeye</div><div class='add'>+aaron</div><div class='add'>+virgin</div><div class='add'>+tristan</div><div class='add'>+stormy</div><div class='add'>+rusty</div><div class='add'>+pierre</div><div class='add'>+napoleon</div><div class='add'>+monkey1</div><div class='add'>+highland</div><div class='add'>+chiefs</div><div class='add'>+chandler</div><div class='add'>+catdog</div><div class='add'>+aurora</div><div class='add'>+1965</div><div class='add'>+trfnthbyf</div><div class='add'>+sampson</div><div class='add'>+nipple</div><div class='add'>+dudley</div><div class='add'>+cream</div><div class='add'>+consumer</div><div class='add'>+burger</div><div class='add'>+brandi</div><div class='add'>+welcome1</div><div class='add'>+triumph</div><div class='add'>+joejoe</div><div class='add'>+hunting</div><div class='add'>+dirty</div><div class='add'>+caserta</div><div class='add'>+brown</div><div class='add'>+aragorn</div><div class='add'>+363636</div><div class='add'>+mariah</div><div class='add'>+element</div><div class='add'>+chichi</div><div class='add'>+2121</div><div class='add'>+123qwe123</div><div class='add'>+wrinkle1</div><div class='add'>