mirror of
https://github.com/PhoenixPE/PhoenixPE.git
synced 2025-09-17 10:38:04 +02:00
Initial Commit following Alpha Trials
This commit is contained in:
304
Projects/PhoenixPE/Finalize/700-BCD.script
Normal file
304
Projects/PhoenixPE/Finalize/700-BCD.script
Normal file
@@ -0,0 +1,304 @@
|
||||
[License]
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// This script is part of the PhoenixPE project and distributed under the MIT License.
|
||||
//
|
||||
// Additional 3rd party tools, encoded files, and programs used by the project are the property
|
||||
// of their respective authors and may be subject to their own license agreement.
|
||||
//
|
||||
// Copyright (c) 2014-2019 Jonathan Holmgren (Homes32)
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in all
|
||||
// copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
// SOFTWARE.
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
[Main]
|
||||
Title=Bootmgr
|
||||
Description=Configure the Windows Bootloader
|
||||
Author=Homes32
|
||||
Level=7
|
||||
Selected=True
|
||||
Mandatory=True
|
||||
Version=1.0.0.0
|
||||
Date=2019-04-18
|
||||
|
||||
[Variables]
|
||||
|
||||
[Process]
|
||||
Echo,"Preparing to create bootable ISO file..."
|
||||
|
||||
// Variables
|
||||
System,GetEnv,PROCESSOR_ARCHITECTURE,%HostArch%
|
||||
If,%HostArch%,Equal,AMD64,Set,%HostArch%,x64
|
||||
Set,%bcdedit.exe%,"%Tools%\%HostArch%\BCDBoot\bcdedit.exe"
|
||||
|
||||
// Bootloader
|
||||
Run,%ScriptFile%,ProcessBootloader
|
||||
Run,%ScriptFile%,ConfigBcd
|
||||
If,%cb_BypassDriverSigning%,Equal,True,Run,%ScriptFile%,BypassDriverSigning
|
||||
|
||||
// Cleanup bcdedit.exe transaction logs
|
||||
If,ExistFile,"%OutputDir%\boot\bcd.LOG*",FileDeleteEx,"%OutputDir%\boot\bcd.LOG*"
|
||||
If,ExistFile,"%OutputDir%\efi\microsoft\boot\bcd.LOG*",FileDeleteEx,"%OutputDir%\efi\microsoft\boot\bcd.LOG*"
|
||||
|
||||
[#ProcessBootloader#]
|
||||
// ===============================================================================================================================
|
||||
// Name...........: ProcessBootloader
|
||||
// Description....: Configure the Windows bootloader.
|
||||
// Syntax.........:
|
||||
// Parameters.....:
|
||||
// Return values..:
|
||||
// Author.........: Homes32
|
||||
// Remarks........:
|
||||
// Related........: [Process]
|
||||
// ===============================================================================================================================
|
||||
[ProcessBootloader]
|
||||
Echo,"Creating bootloader directories..."
|
||||
DirMake,"%OutputDir%\boot"
|
||||
DirMake,"%OutputDir%\boot\Fonts"
|
||||
DirMake,"%OutputDir%\efi"
|
||||
DirMake,"%OutputDir%\efi\boot"
|
||||
DirMake,"%OutputDir%\efi\microsoft\boot\"
|
||||
DirMake,"%OutputDir%\efi\microsoft\boot\fonts"
|
||||
|
||||
Echo,"Processing BIOS bootloader files..."
|
||||
FileCopy,"%TargetDir%\Windows\Boot\PCAT\bootmgr","%OutputDir%\BOOTMGR"
|
||||
FileCopyEx,"%TargetDir%\Windows\Boot\PXE\bootmgr.exe","%OutputDir%\boot\"
|
||||
FileDeleteEx,"%OutputDir%\bootmgr.exe"
|
||||
PathMove,"%OutputDir%\boot\bootmgr.exe","%OutputDir%\bootmgr.exe"
|
||||
FileCopy,"%TargetDir%\Windows\Boot\DVD\PCAT\bcd","%OutputDir%\boot\"
|
||||
FileCopy,"%TargetDir%\Windows\Boot\DVD\PCAT\boot.sdi","%OutputDir%\boot\"
|
||||
FileCopy,"%TargetDir%\Windows\Boot\DVD\PCAT\etfsboot.com","%OutputDir%\boot\"
|
||||
FileCopyEx,"%TargetDir%\Windows\System32\bootsect.exe","%OutputDir%\boot\"
|
||||
FileCopyEx,"%TargetDir%\Windows\Boot\PCAT\memtest.exe","%OutputDir%\boot\"
|
||||
FileCopy,"%TargetDir%\Windows\Boot\Fonts\*.*","%OutputDir%\boot\Fonts\"
|
||||
|
||||
Echo,"Processing EFI bootloader files..."
|
||||
FileCopyEx,"%TargetDir%\Windows\Boot\EFI\bootmgr.efi","%OutputDir%\efi\microsoft\boot\"
|
||||
FileDeleteEx,"%OutputDir%\bootmgr.efi"
|
||||
PathMove,"%OutputDir%\efi\microsoft\boot\bootmgr.efi","%OutputDir%\bootmgr.efi"
|
||||
|
||||
If,%SourceArch%,Equal,x64,Begin
|
||||
FileCopyEx,"%TargetDir%\Windows\Boot\EFI\bootmgfw.efi","%OutputDir%\efi\boot\"
|
||||
FileDeleteEx,"%OutputDir%\efi\boot\bootx64.efi"
|
||||
FileRename,"%OutputDir%\efi\boot\bootmgfw.efi","%OutputDir%\efi\boot\bootx64.efi"
|
||||
End
|
||||
Else,Begin
|
||||
FileCopyEx,"%TargetDir%\Windows\Boot\EFI\bootmgfw.efi","%OutputDir%\efi\boot\"
|
||||
FileDeleteEx,"%OutputDir%\efi\boot\bootia32.efi"
|
||||
FileRename,"%OutputDir%\efi\boot\bootmgfw.efi","%OutputDir%\efi\boot\bootia32.efi"
|
||||
End
|
||||
FileCopy,"%TargetDir%\Windows\Boot\DVD\EFI\bcd","%OutputDir%\efi\microsoft\boot\"
|
||||
FileCopyEx,"%TargetDir%\Windows\Boot\EFI\memtest.efi","%OutputDir%\efi\microsoft\boot\"
|
||||
FileCopy,"%TargetDir%\Windows\Boot\Fonts\*.*","%OutputDir%\efi\microsoft\boot\Fonts\"
|
||||
|
||||
// Press Any Key...
|
||||
List,Count,%SourceFallbackLang%,%LangCount%
|
||||
If,%cb_BootFix%,Equal,True,Begin
|
||||
FileDeleteEx,"%OutputDir%\efi\microsoft\boot\efisys_noprompt.bin"
|
||||
Loop,%ScriptFile%,CopyBootfix_Loop,1,%LangCount%,"%TargetDir%\Windows\Boot\DVD\PCAT\bootfix.bin",%SourceFallbackLang%,"%OutputDir%\boot"
|
||||
Loop,%ScriptFile%,CopyBootfix_Loop,1,%LangCount%,"%TargetDir%\Windows\Boot\DVD\EFI\efisys.bin",%SourceFallbackLang%,"%OutputDir%\efi\microsoft\boot"
|
||||
End
|
||||
Else,Begin
|
||||
FileDeleteEx,"%OutputDir%\boot\bootfix.bin"
|
||||
FileDeleteEx,"%OutputDir%\efi\microsoft\boot\efisys.bin"
|
||||
Loop,%ScriptFile%,CopyBootfix_Loop,1,%LangCount%,"%TargetDir%\Windows\Boot\DVD\EFI\efisys_noprompt.bin",%SourceFallbackLang%,"%OutputDir%\efi\microsoft\boot"
|
||||
FileRename,"%OutputDir%\efi\microsoft\boot\efisys_noprompt.bin","%OutputDir%\efi\microsoft\boot\efisys.bin"
|
||||
End
|
||||
|
||||
|
||||
[#CopyBootfix_Loop#]
|
||||
// ===============================================================================================================================
|
||||
// Name...........: CopyBootfix_Loop
|
||||
// Description....: Copy language specific bootfix files.
|
||||
// Syntax.........: Loop,%ScriptFile%,CopyBootfix_Loop,1,<LangCount>,<binFile>,<SourceFallbackLang>,<Dest>
|
||||
// Parameters.....: <LangCount> - Number of languages in the <SourceFallbackLang> list
|
||||
// #1 <binFile> - The *.bin file to process. (bootfix.bin/efisys_noprompt.bin/etc.)
|
||||
// #2 <SourceFallbackLang> - A pipe delimited list of languages to include.
|
||||
// #3 <Dest> - Full path to the directory where the files will be copied.
|
||||
// Return values..:
|
||||
// Author.........: Homes32
|
||||
// Remarks........:
|
||||
// Related........: [ProcessBootloader]
|
||||
// ===============================================================================================================================
|
||||
[CopyBootfix_Loop]
|
||||
System,SetLocal
|
||||
List,Get,#2,#c,%Language%
|
||||
StrFormat,FileName,#1,%FileName%
|
||||
StrFormat,DirPath,#1,%SrcDirPath%
|
||||
If,ExistFile,"%SrcDirPath%%Language%\%FileName%",FileCopy,"%SrcDirPath%%Language%\%FileName%","#3\%FileName%"
|
||||
System,EndLocal
|
||||
|
||||
[#ConfigBcd#]
|
||||
// ===============================================================================================================================
|
||||
// Name...........: ConfigBcd
|
||||
// Description....: Localize and configure Boot Configuration Data (bcd).
|
||||
// Syntax.........:
|
||||
// Parameters.....:
|
||||
// Return values..:
|
||||
// Author.........: Homes32
|
||||
// Remarks........:
|
||||
// Related........:
|
||||
// ===============================================================================================================================
|
||||
[ConfigBcd]
|
||||
Echo,"Localizing and Configuring Boot Configuration Data..."
|
||||
|
||||
StrFormat,PATH,%bcdedit.exe%,%bcdedit.exePath%
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// BIOS
|
||||
|
||||
ShellExecute,Hide,%bcdedit.exe%,"/store #$q%OutputDir%\Boot\bcd#$q /set {bootmgr} locale %SourceLang%",%bcdedit.exePath%
|
||||
ShellExecute,Hide,%bcdedit.exe%,"/store #$q%OutputDir%\Boot\bcd#$q /set {bootmgr} timeout %num_BootMenuDelay%",%bcdedit.exePath%
|
||||
ShellExecute,Hide,%bcdedit.exe%,"/store #$q%OutputDir%\Boot\bcd#$q /set {bootmgr} displaybootmenu True",%bcdedit.exePath%
|
||||
ShellExecute,Hide,%bcdedit.exe%,"/store #$q%OutputDir%\Boot\bcd#$q /set {default} locale %SourceLang%",%bcdedit.exePath%
|
||||
ShellExecute,Hide,%bcdedit.exe%,"/store #$q%OutputDir%\Boot\bcd#$q /set {default} description #$q%ProjectTitle% %SourceArch%#$q",%bcdedit.exePath%
|
||||
ShellExecute,Hide,%bcdedit.exe%,"/store #$q%OutputDir%\Boot\bcd#$q /set {memdiag} locale %SourceLang%",%bcdedit.exePath%
|
||||
|
||||
// Show progress bar
|
||||
ShellExecute,Hide,%bcdedit.exe%,"/store #$q%OutputDir%\Boot\bcd#$q /set {default} bootmenupolicy legacy",%bcdedit.exePath%
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// UEFI
|
||||
|
||||
ShellExecute,Hide,%bcdedit.exe%,"/store #$q%OutputDir%\efi\microsoft\boot\bcd#$q /set {bootmgr} locale %SourceLang%",%bcdedit.exePath%
|
||||
ShellExecute,Hide,%bcdedit.exe%,"/store #$q%OutputDir%\efi\microsoft\Boot\bcd#$q /set {bootmgr} timeout %num_BootMenuDelay%",%bcdedit.exePath%
|
||||
ShellExecute,Hide,%bcdedit.exe%,"/store #$q%OutputDir%\efi\microsoft\Boot\bcd#$q /set {bootmgr} displaybootmenu True",%bcdedit.exePath%
|
||||
ShellExecute,Hide,%bcdedit.exe%,"/store #$q%OutputDir%\efi\microsoft\boot\bcd#$q /set {default} locale %SourceLang%",%bcdedit.exePath%
|
||||
ShellExecute,Hide,%bcdedit.exe%,"/store #$q%OutputDir%\efi\microsoft\boot\bcd#$q /set {default} description #$q%ProjectTitle% %SourceArch% UEFI#$q",%bcdedit.exePath%
|
||||
ShellExecute,Hide,%bcdedit.exe%,"/store #$q%OutputDir%\efi\microsoft\boot\bcd#$q /set {memdiag} locale %SourceLang%",%bcdedit.exePath%
|
||||
|
||||
// Show progress bar
|
||||
ShellExecute,Hide,%bcdedit.exe%,"/store #$q%OutputDir%\efi\microsoft\boot\bcd#$q /set {default} bootmenupolicy legacy",%bcdedit.exePath%
|
||||
|
||||
[#BypassDriverSigning#]
|
||||
// ===============================================================================================================================
|
||||
// Name...........: BypassDriverSigning
|
||||
// Description....: Instruct the NT Kernel to disable integrity checking for x64 drivers.
|
||||
// Syntax.........:
|
||||
// Parameters.....:
|
||||
// Return values..:
|
||||
// Author.........: Homes32
|
||||
// Remarks........: This directive may not be effective anymore due to Microsoft changes.
|
||||
// Related........: cb_BypassDriverSigning
|
||||
// ===============================================================================================================================
|
||||
[BypassDriverSigning]
|
||||
If,%SourceArch%,Equal,x64,Begin
|
||||
StrFormat,PATH,%bcdedit.exe%,%bcdedit.exePath%
|
||||
ShellExecute,Hide,%bcdedit.exe%,"/store #$q%OutputDir%\Boot\bcd#$q /set {default} loadoptions DDISABLE_INTEGRITY_CHECKS",%bcdedit.exePath%
|
||||
ShellExecute,Hide,%bcdedit.exe%,"/store #$q%OutputDir%\efi\microsoft\Boot\bcd#$q /set {default} loadoptions DDISABLE_INTEGRITY_CHECKS",%bcdedit.exePath%
|
||||
End
|
||||
|
||||
[#SetDefaultOptions#]
|
||||
// ===============================================================================================================================
|
||||
// Name...........: SetDefaultOptions
|
||||
// Description....: Sets script options to default values.
|
||||
// Syntax.........:
|
||||
// Parameters.....:
|
||||
// Return values..:
|
||||
// Author.........: Homes32
|
||||
// Remarks........:
|
||||
// Related........: btn_SetDefaultOptions
|
||||
// ===============================================================================================================================
|
||||
[SetDefaultOptions]
|
||||
System,Cursor,Wait
|
||||
WriteInterface,Value,%ScriptFile%,Interface,cb_BootFix,False
|
||||
WriteInterface,Value,%ScriptFile%,Interface,cb_BypassDriverSigning,False
|
||||
WriteInterface,Value,%ScriptFile%,Interface,num_BootMenuDelay,0
|
||||
System,Cursor,Normal
|
||||
|
||||
[#ToggleAdvancedOptions#]
|
||||
// ===============================================================================================================================
|
||||
// Name...........: ToggleAdvancedOptions
|
||||
// Description....: Show/Hide advanced options.
|
||||
// Syntax.........:
|
||||
// Parameters.....:
|
||||
// Return values..:
|
||||
// Author.........: Homes32
|
||||
// Remarks........:
|
||||
// Related........: btn_AdvancedOptions
|
||||
// ===============================================================================================================================
|
||||
[ToggleAdvancedOptions]
|
||||
System,SetLocal
|
||||
ReadInterface,Visible,%ScriptFile%,Interface,bvl_AdvancedOptions,%state%
|
||||
If,%state%,Equal,False,Begin,
|
||||
If,Question,"WARNING!#$x#$xAdvanced options are intended for expert users only!#$x#$xModifying advanced options without knowing what you are doing can cause permanent damage to your project and may result in unexpected behavior and/or build failures.#$x#$xAre you sure you want to continue?",Set,%Toggle%,True
|
||||
Else,Set,%Toggle%,False
|
||||
End
|
||||
Else,Set,%Toggle%,False
|
||||
|
||||
WriteInterface,Visible,%ScriptFile%,Interface,bvl_AdvancedOptions,%Toggle%
|
||||
WriteInterface,Visible,%ScriptFile%,Interface,cb_BypassDriverSigning,%Toggle%
|
||||
System,EndLocal
|
||||
|
||||
[#ShowScriptInfo#]
|
||||
// ===============================================================================================================================
|
||||
// Name...........: ShowScriptInfo
|
||||
// Description....:
|
||||
// Syntax.........:
|
||||
// Parameters.....:
|
||||
// Return values..:
|
||||
// Author.........: Homes32
|
||||
// Remarks........:
|
||||
// Related........: btn_ScriptInfo
|
||||
// ===============================================================================================================================
|
||||
[ShowScriptInfo]
|
||||
Message,"This script allows you to configure various behaviors of the Windows bootloader."
|
||||
|
||||
[#Interface#]
|
||||
// ===============================================================================================================================
|
||||
// Name...........: Interface
|
||||
// Description....:
|
||||
// Syntax.........:
|
||||
// Parameters.....:
|
||||
// Return values..:
|
||||
// Author.........: Homes32
|
||||
// Remarks........:
|
||||
// Related........:
|
||||
// ===============================================================================================================================
|
||||
[Interface]
|
||||
btn_SetDefaultOptions=,1,8,452,5,25,25,SetDefaultOptions,SetDefaults_16.png,False,"__Restore Defaults"
|
||||
btn_AdvancedOptions=,1,8,482,5,25,25,ToggleAdvancedOptions,Advanced_16.png,True,"__Show/Hide Advanced Options"
|
||||
btn_ScriptInfo=,1,8,512,5,25,25,ShowScriptInfo,Help_16.png,True,"__Script Info"
|
||||
bvl_Options="Windows Bootloader Options",1,12,5,50,535,125,8,Bold
|
||||
cb_BootFix="Press any key to boot from CD...",1,3,20,72,264,18,False
|
||||
bvl_AdvancedOptions="Advanced Options",0,12,5,192,535,150,8,Bold
|
||||
cb_BypassDriverSigning="Bypass Driver Signing Requirement (x64)",0,3,20,117,223,18,False,"__Modify BCD settings in order to disable integrity checking for x64 drivers."
|
||||
lbl_BootMenuDelay="Boot Menu Delay:",1,1,20,145,96,16,8,Normal
|
||||
num_BootMenuDelay=num_BootMenuDelay,1,2,115,140,40,22,0,0,60,1,"__Configure how long (in seconds) the boot menu will display before the default action is selected.#$x#$xTo prevent the boot menu from displaying select 0."
|
||||
|
||||
[InterfaceEncoded]
|
||||
Program_Defaults_16.png=2529,3484
|
||||
SetDefaults_16.png=2475,3404
|
||||
Advanced_16.png=2000,2768
|
||||
Help_16.png=2830,3868
|
||||
|
||||
[AuthorEncoded]
|
||||
|
||||
[EncodedFile-InterfaceEncoded-SetDefaults_16.png]
|
||||
lines=0
|
||||
0=iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAHEGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDggNzkuMTY0MDM2LCAyMDE5LzA4LzEzLTAxOjA2OjU3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDE5LTEwLTIxVDE3OjIxOjEyLTA1OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOS0xMi0wMlQyMTo1MTo1Mi0wNjowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOS0xMi0wMlQyMTo1MTo1Mi0wNjowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpiMWM3ZDhlNS1mMGMxLTMwNDgtOGNiOS03YWU4YjgyNDgyNmQiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDowNzhkNDM1MC04NWRmLTg4NDQtOTY0Mi1lYTIxNmU3YjUwNDIiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpmMDM1MDg3Mi1hYmUxLWU5NDAtOTE2NC1kYzRjMzdjOGIwOTUiPiA8ZGM6Y3JlYXRvcj4gPHJkZjpTZXE+IDxyZGY6bGk+SG9tZXMzMjwvcmRmOmxpPiA8L3JkZjpTZXE+IDwvZGM6Y3JlYXRvcj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpmMDM1MDg3Mi1hYmUxLWU5NDAtOTE2NC1kYzRjMzdjOGIwOTUiIHN0RXZ0OndoZW49IjIwMTktMTAtMjFUMTc6MjE6MTItMDU6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChXaW5kb3dzKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MDdmNDNiMDctMTg1NC1hNjQwLWEwM2UtYTQxMTM2YTA0ODA2IiBzdEV2dDp3aGVuPSIyMDE5LTEwLTIxVDE3OjIxOjQ3LTA1OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmIxYzdkOGU1LWYwYzEtMzA0OC04Y2I5LTdhZThiODI0ODI2ZCIgc3RFdnQ6d2hlbj0iMjAxOS0xMi0wMlQyMTo1MTo1Mi0wNjowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIxLjAgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PlYy9voAAAJBSURBVDiNpdHLThNRHAbwvkCjpalcSyyUEDo09Jw5MxZeggXdQHSpa96ARTclolWpLYtG20IDwdpaoeVOW63G0gvEmEaj3cFKYrxMXLjw88wAbQ3smOQ3OTn/73yZiw6A7jK0G9tjJ0rcPmtnB8zNFbnjU0VtT52VWD1/UcE4KzOFw39K3D6D44NDYRWeOVdQYKoxDue8YxjeH4b1lRXm5S70v+7HSHlkjO83FeSZkcNFnAUnDFsGuOIu7L0v4M7GbXRlusDeMGO9QMyIHikrYSA7ACEnQF2LuyLkrIzuTDd6Q704rB1CvabWp6B/qYeYFT31AmlTqtrX7XAmb2AwLsCyZoFz2wn7th2GqAHxfEI7nM6voW2+DY4dB8QNsVovsKVsCl2myOXyGrpA0LHSAWOsBZOxSeAL8LH0GWJYRGeyE/KqDHFFVOoFQkJQBucFpFNb+JH/gxeJFMx+M4SADW/TZdR2jnAzdAtXo1cgJ2XQ51TVKGBLrGqJXofkl7C5uotvld9YiC/hSSyCr8VfmF6cQcucAUPPhkAX6ZnGK9Aw9UhRCdeCJhAvQblwAPzkk+9ApXgA6z0rLGELWISBRuiZxkckQWLkIIUkGH1G9Ln7UPtUA/4Co75R6O/rIT2VoGaaNH4jmSM6EiAu4ieQgzJava2QZ2RMBCZgvmsGDVLweTOXeqZR8Jic8JFx8ogosl9Gj7cHpmkTqJ8/7iwvmCUqRcuc5i8q0JGHpJ08IG6uyB1rvNrarc18RHeu4DL+AeXUQV071uymAAAAAElFTkSuQmCCeJwTCk4tcUlNSyzNKSmONzTTK8hLZxgFIwes5sQv/03zkSgjAwBGXgl7UO9x9wEAAAACAAAAKgAAAKsJAAAAAAAAAQAAAAAAAAAAAAAA
|
||||
|
||||
[EncodedFile-InterfaceEncoded-Advanced_16.png]
|
||||
lines=0
|
||||
0=iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAGMmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDggNzkuMTY0MDM2LCAyMDE5LzA4LzEzLTAxOjA2OjU3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDE5LTEwLTIwVDE5OjQwOjExLTA1OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOS0xMi0wMlQyMTo1MjozNy0wNjowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOS0xMi0wMlQyMTo1MjozNy0wNjowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo3NTgwZWU4NC04ZDRlLTlkNDQtOTBjYS03MzYzZWI5YTZhOGEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NWE2M2YxZGQtNTk3ZS0yNzQ0LThmZGYtMjMxNThmNjgyNDBkIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6NWE2M2YxZGQtNTk3ZS0yNzQ0LThmZGYtMjMxNThmNjgyNDBkIj4gPGRjOmNyZWF0b3I+IDxyZGY6U2VxPiA8cmRmOmxpPkhvbWVzMzI8L3JkZjpsaT4gPC9yZGY6U2VxPiA8L2RjOmNyZWF0b3I+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NWE2M2YxZGQtNTk3ZS0yNzQ0LThmZGYtMjMxNThmNjgyNDBkIiBzdEV2dDp3aGVuPSIyMDE5LTEwLTIwVDE5OjQwOjExLTA1OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoV2luZG93cykiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjc1ODBlZTg0LThkNGUtOWQ0NC05MGNhLTczNjNlYjlhNmE4YSIgc3RFdnQ6d2hlbj0iMjAxOS0xMi0wMlQyMTo1MjozNy0wNjowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIxLjAgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PshFAqcAAAFESURBVDgRjcExaxphAADQtwUKgUJxCGYLxV/RQiGQUFKSMWSuOHRJiQ52MGChc7cOgWQ51w46am8oFmnifSZ6lcal91MiOHgYLHnPf5TRQwd7nuAFDvDMwicMcYNTCxs4RsmKLXxGhiYO0cYAfVzgNc4xwxVKct4iQw8JpghIkWKCeyToIsOJnOf4giFiBESooooIATESNLFpxSvMENBA0VIRDQRMcSRnH2e4wAQtFDxWQAsjtFFH2VwHN/iFFDXr1ZBigCG65n5giAFS1KxXwx/8xDV65sqoo40RWih4rIAW7hDhDBU5R5gioIGipSIaCBjjvRWbaCJBjIAIVVQRISDGb3zDtpwTZOgiwV+MkSLFCPe4RRcZKnJKuMIM59jFJfoY4Dve4BT/cIkdK0o4xoaFj7jGBF8tvcNLT7CHDmJ8sMYD9WpkFHmxHNIAAAAASUVORK5CYIJ4nON3TClLzEtOTYk3NNMryEtnGAUjClxgxy9f4tTwh5EBAInYCGlNR/4PAQAAAAIAAAAnAAAA0AcAAAAAAAABAAAAAAAAAAAAAAA
|
||||
|
||||
[EncodedFile-InterfaceEncoded-Help_16.png]
|
||||
lines=0
|
||||
0=iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAHAWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDggNzkuMTY0MDM2LCAyMDE5LzA4LzEzLTAxOjA2OjU3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAxOC0wMi0yMlQxNjo1OTo1MC0wNjowMCIgeG1wOk1vZGlmeURhdGU9IjIwMTktMTItMDJUMjE6NTM6MDQtMDY6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMTktMTItMDJUMjE6NTM6MDQtMDY6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0ic1JHQiBJRUM2MTk2Ni0yLjEiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6YWQ2OTFmMzItY2FiZC1hZTQzLTlmNjAtMzk5YjQyOTBlMTNiIiB4bXBNTTpEb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6OTBjZmFlNjAtYWJhZS1iNTQ3LWIyODEtOWYxNzg2YzM1NjQ2IiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6MzUwYTZiYzMtZDFiMi03MjRjLTlmZWQtY2RmYTM4YzhjM2FkIj4gPGRjOmNyZWF0b3I+IDxyZGY6U2VxPiA8cmRmOmxpPkhvbWVzMzI8L3JkZjpsaT4gPC9yZGY6U2VxPiA8L2RjOmNyZWF0b3I+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MzUwYTZiYzMtZDFiMi03MjRjLTlmZWQtY2RmYTM4YzhjM2FkIiBzdEV2dDp3aGVuPSIyMDE4LTAyLTIyVDE2OjU5OjUwLTA2OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo4MmNhNWFiYy05Mzg0LWUwNGYtOGE5NC0yMTk1NjY1NjY1YTUiIHN0RXZ0OndoZW49IjIwMTgtMDItMjJUMTc6MTA6MDUtMDY6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmFkNjkxZjMyLWNhYmQtYWU0My05ZjYwLTM5OWI0MjkwZTEzYiIgc3RFdnQ6d2hlbj0iMjAxOS0xMi0wMlQyMTo1MzowNC0wNjowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIxLjAgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PozE0ngAAAOzSURBVDgRBcF9TJR1AMDx7/N7nnuOez/kxUJe4q2pWEgoykxLpqkzx6bhlszN/soZ/dE0W9bWZrVZ2WYt/ypn5VrmzDkZZk2INoRyNJEUUDg4TuC4g7vjjrvjHu7uefp8pJljb2KymMlr2g5rq5H0ZQj6V+mzwYOh4qrGbDyadqN1GfOhK7Hp2cV4VQWRE5+SF42QUVUUAEOSkDJZsMvuQEg68/OgfOBPjzvf4xnDpArW1xQe2rxS/XB/Q8kPzlnv6blYXJeEAEB+Z8MGTOllrE0b13V4uXXk3NDuS3/4rYmoTnGeDUk30f1PkNvDmntQz3/5mecKm2o8//6WGByNY7ehmI0Mec9Xlvw6rf51+Mv7K3IzBmff2sgbB2rJdZpJpZa5NzzJR+fv0dMxwqPZqq0XT37cvqbo/JapvpFl+fPtGxhv2PHjkauxuqJMFpdL5qtTO3A7ZMa8fnJtBmUlKissaR75UmgzER66K4qa1ttVqafvttBLi9d868lpTvkXWVloxunI4cLVfg6/e43GQ9c4e3GAWCDECjVJYikBqsTd30e4mSw9aq0tt4ontvx9vZ4lCi0SmayO2ST45dYYfQNR5r0ZkokkTruG50mYwcdRYnGNwHiQjmHdpW3b2iYixZV74sFFTMJAUWQkIZHSdHwTi5w8VsXpo2WMjgU5ezmA1e7G5bCQ67IyN7FApm7TdpFWFIvIGiiKjCwkxn0R7g/O09pSzmfHy+m6M8He40MMzTgoL3ZiiBzUHDsm1YJsMUtCHfmvU813oMiCJ/4Y4WgKcszUP2sFC1zuijA6qlJT5ULHhGq2ogsHT6+uQNztva8UxWba66rrT10fnkMsazhtKkIxOPeTB99kmP5HOgWVuUjChCzMWK0qWtLOltUWTe3u/VoUKNm/D1Yu9U9rglQ8jWwSxGMp9r5Uxqu7XqTt8CYcFkEqo+ByWPEFFNbWV/Oa5cHV2FR4WgQmw2yd6Gl7v7WIuTmZQDBJPLFMy+5KtjWWcGRfAZKRQVWt+OYkYvYyPtm1EOHCF+8FH3iR366vRQuEppsb3SPyuqr9XQNLUjaR5nr3FOGFBT74ZoBRv5m47iSvZBXfn3DP1E5d2TP43Y3Hsm4gH9/8AlmbHWMp9XBnafbOtj01lSa7rdQbynDrxgQR3DQ0VvB6UwFndgban5q82eqZiD6QRscR2SwKgGToaLKKP5Tu3Gib7Fxd4Ws5+Upd82JuwypTNqMXJANeOTxwCd9i91g4jaSawTAA+B9saZuyCHkkigAAAABJRU5ErkJggnic4/ZIzSmINzTTK8hLZxgFIw7wceOXd9V7kMTIAAAhOQWdbDOZ9gEAAAACAAAAIwAAAA4LAAAAAAAAAQAAAAAAAAAAAAAA
|
Reference in New Issue
Block a user