Files
2025-10-14 09:52:32 +09:00

971 lines
54 KiB
Plaintext

;@Extension.Container.Version.1
;-- DO NOT CHANGE THE LINE ABOVE --
IF (VERSION.BUILD.BASE()<138311.)
(
PRINTF %ERROR "%s: Software too old, please contact support@lauterbach.com." "GRUB"
ENDDO
)
PMACRO.EXPLICIT
PRIVATE &sParamline &sPpf &sCmd &sParameters &sAccess &sAccessSpaces &sAccessMachine &sOptionAccess &sOptionAccessMisc &sName &sMachine &sArguments &nVariant
PRIVATE &bTaskConfig &bExtLoad &bCleanup
ENTRY &sCmd %LINE &sParamline
&sParameters=STRing.SCANAndExtract("&sParamline","PARAMETERS=","")
&sAccess=STRing.SCANAndExtract("&sParamline","ACCESS=","")
&sAccessSpaces=STRing.SCANAndExtract("&sParamline","ACCESSSPACES=","")
&sAccessMachine=STRing.SCANAndExtract("&sParamline","ACCESSMACHINE=","")
&sName=STRing.SCANAndExtract("&sParamline","NAME=","")
&sMachine=STRing.SCANAndExtract("&sParamline","MACHINE=","")
&sArguments=STRing.SCANAndExtract("&sParamline","ARGUMENTS=","")
&sParameters=STRing.Replace("&sParameters","""","",0.)
IF ("&sArguments"!="")
&sArguments=&sArguments
IF ("&sAccess"!="")
&sOptionAccess="/ACCESS &sAccess"
IF ("&sAccessSpaces"!="")
&sOptionAccessMisc="/ACCESSSPACES &sAccessSpaces"
IF ("&sAccessMachine"!="")
&sOptionAccessMisc="&(sOptionAccessMisc) /ACCESSMACHINE &sAccessMachine"
&sName=STRing.Replace("&sName","""","",0.)
&bTaskConfig=STRing.SCAN("task.config,ext.config",STRing.LoWeR("&sCmd"),0.)>=0.
&bExtLoad=STRing.SCAN("ext.load",STRing.LoWeR("&sCmd"),0.)>=0.
&bCleanup=STRing.SCAN("task.res,ext.res,ext.delete",STRing.LoWeR("&sCmd"),0.)>=0.
&sPpf=OS.PresentPracticeFile()
IF (&bTaskConfig||&bExtLoad)
(
IF ("&nVariant"!="32.")&&("&nVariant"!="64.")
(
IF CPUIS64BIT()
&nVariant="64."
ELSE
&nVariant="32."
)
IF STRing.ComPare("&sArguments","*32BIT*")
&nVariant="32."
ELSE IF STRing.ComPare("&sArguments","*64BIT*")
&nVariant="64."
)
IF (&bTaskConfig)
(
PRIVATE &sMachineName
&sMachineName="GRUB"
TASK.RESet
IF (&nVariant==32.)
(
GOSUB extension_32bit "&sParameters" "&sOptionAccess"
IF !STRing.Compare("&sArguments","*MENU=NONE*")
GOSUB menu_32bit "&sMachineName" ""
GOSUB autoload_32bit ""
)
ELSE IF (&nVariant==64.)
(
GOSUB extension_64bit "&sParameters" "&sOptionAccess"
IF !STRing.Compare("&sArguments","*MENU=NONE*")
GOSUB menu_64bit "&sMachineName" ""
GOSUB autoload_64bit ""
)
)
ELSE IF (&bExtLoad)
(
PRIVATE &sMachineName &sInfix &sOptionName &sOptionMachine
&sInfix=""
&sMachineName="GRUB"
IF ("&sName"!="")
(
&sInfix=STRing.UPpeR("&(sName).")
&sMachineName="&(sName)"
&sOptionName="/NAME &sMachineName"
)
ELSE IF PRACTICE.FUNCtion.AVAILable(SYStem.Option.MACHINESPACES)
(
IF SYStem.Option.MACHINESPACES()
&sInfix=TASK.TRANSPOSE.INFIX(OS.FILE.BASENAME("&sPpf",".**"))+"."
)
IF ("&sMachine"!="")
(
&sOptionMachine="/MACHINE &sMachine"
)
IF (&nVariant==32.)
(
GOSUB extension_32bit "&sParameters" "&sOptionAccess &sOptionAccessMisc &sOptionName &sOptionMachine"
IF !STRing.Compare("&sArguments","*MENU=NONE*")
GOSUB menu_32bit "&sMachineName" "&sInfix"
GOSUB autoload_32bit "&sOptionMachine"
)
ELSE IF (&nVariant==64.)
(
GOSUB extension_64bit "&sParameters" "&sOptionAccess &sOptionAccessMisc &sOptionName &sOptionMachine"
IF !STRing.Compare("&sArguments","*MENU=NONE*")
GOSUB menu_64bit "&sMachineName" "&sInfix"
GOSUB autoload_64bit "&sOptionMachine"
)
)
ELSE IF (&bCleanup)
(
PRIVATE &sMachineName &sOptionMachine
&sMachineName="GRUB"
IF ("&sName"!="")
(
&sMachineName="&(sName)"
)
IF ("&sMachine"!="")
(
&sOptionMachine="/MACHINE &sMachine"
)
GOSUB menu_delete "&sMachineName"
GOSUB autoload_delete "&sOptionMachine"
)
ENDDO
extension_32bit: ; (options)
(
PARAMETERS &sParameters &sOptions
EXTension.LOAD &sParameters &sOptions
(
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
aHR0cHM6Ly9zdm4uaW50ZXJuLmxhdXRlcmJhY2guY29tL3N2bi9rZXJuZWxzcmMvYnJhbmNoZXMv
bmlnaHRseQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAABodHRwczovL3N2bi5pbnRlcm4ubGF1dGVyYmFjaC5jb20vc3ZuL2tlcm5l
bHNyYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGJhdW1laXN0ZXIAAAAAAABlZGstbGludXg2NGJp
dC03AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR0NDIDku
NS4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAfoAAAABgAAAA0AAABOAAAn0gAAB+gAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAA
ATnwR1JVQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAIAAAAGdydWJfZGxfaGVhZAAAAABncnViX2N1cnJlbnRfY29udGV4
dAAAAABpbml0aWFsX2NvbnRleHQAZ3J1Yl9zeW10YWIAc3RydWN0IGdydWJfZGwubmFtZQBzdHJ1
Y3QgZ3J1Yl9kbC5kZXAAAHN0cnVjdCBncnViX2RsLmJhc2UAc3RydWN0IGdydWJfZGwuc3oAAABz
dHJ1Y3QgZ3J1Yl9kbC5uZXh0AHN0cnVjdCBncnViX2RsLmluaXQAc3RydWN0IGdydWJfZGwuZmlu
aQBzdHJ1Y3QgZ3J1Yl9kbF9kZXAubmV4dABzdHJ1Y3QgZ3J1Yl9kbF9kZXAubW9kAABWYXIudmll
dyAoc3RydWN0IGdydWJfZGwqKSV4AAAAACU4eABMaXN0ICV4AG1hZ2ljICAgAAAAAE5hbWUgICAg
ICAgICAAAAAgIEJhc2UgIAAAAAAgIEluaXQgIAAAAAAgIEZpbmkgIAAAAABEZXBlbmRlbmN5IExp
c3QgICAgICAgICAgICAgICAgICAgIABNT0RVTEUAAE1PRHVsZQAAQCg9KV9fQk9PVF9HUlVCX19F
WFRfTU9EAAAAAEdSVUIAAAAAQVJNAENCX0luaXRNb2R1bGVMaXN0OiBlbnRyeQAAAABHZXRNb2R1
bGVMaXN0OiBzdXBlcm1hZ2ljPSU4eAAAAGdydWJfY3B1AAAAAGdydWJfcGxhdGZvcm0AAAByb290
AAAAAGNtZGRldmljZQAAAGNvbG9yX25vcm1hbAAAAABNVEQgVmVyc2lvbiAgJXMgICVzICAlcyAg
CgoKAAAAAG1hZ2ljIGxvYWRlZCBtb2R1bGUgICA6ICAlOHggIAoAbWFnaWMgY3VycmVudCBjb250
ZXh0IDogICU4eCAgCgBtYWdpYyBTeW1ib2wgdGFibGUgICAgOiAgJTh4ICAKAGdydWIgQ1BVICAg
ICAgICAgICAgICA6ICAlcyAgCgAAZ3J1YiBwbGF0ZWZvcm0gICAgICAgIDogICVzICAKAABncnVi
IHJvb3QgZGlzayAgICAgICAgOiAgJXMgIAoAAGdydWIgY21kZGV2aWNlICAgICAgICA6ICAlcyAg
CgAAZ3J1YiB0ZXJtaW5hbCBjb2xvciAgIDogICVzICAKAABURVNUAAAAAAAAAAA8Y29udGV4dD4A
AAAiJXMiCgAAAHN0cnVjdCBncnViX2Vudl92YXIubmFtZQAAAABzdHJ1Y3QgZ3J1Yl9lbnZfdmFy
LnZhbHVlAAAAc3RydWN0IGdydWJfZW52X3Zhci5uZXh0AAAAAGNvbnRleHQgdmFyaWFibGVzICAg
ICAgICAgICAAAAAAL0NVUlJFTlQAAAAAL0MAAC9JAAAvSU5JVElBTAAAAABFTlZWQVIAAEVWAABF
bnZWYXIAAEAoPSlfX0JPT1RfR1JVQl9fRVhUX0VWAE5vdCBTdXBwb3J0ZWQAAAAgJWQgAAAAACAl
cwoAAAAAZ3J1Yl9kaXNrX2Rldl9saXN0AABzdHJ1Y3QgZ3J1Yl9kaXNrX2Rldi5uYW1lAAAAc3Ry
dWN0IGdydWJfZGlza19kZXYuaWQAc3RydWN0IGdydWJfZGlza19kZXYubmV4dAAAAERldmljZSBO
YW1lICAgICAgICAgAAAAACBJZCAAAAAAIEluZm8gICAgICAgICAgICAgICAAAAAAREVWSUNFUwBE
RVYAREVWaWNlcwBAKD0pX19CT09UX0dSVUJfX0VYVF9ERVYAAAAAQmlvcyBEaXNrAAAAT0YgRGlz
awBMb29wYmFjayBkaXNrAAAARUZJRGlzayBkaXNrAAAAAERpc2tmaWx0ZXIgZGlzawBIb3N0IGRp
c2sAAABBVEEgZGlzawAAAABNZW1kaXNrIGRpc2sAAAAATmFuZCBkaXNrAAAAU2NzaSBkaXNrAAAA
Q3J5cHRvRGlzayBkaXNrAEFyY0Rpc2sgZGlzawAAAABIb3N0RGlzayBkaXNrAAAAUHJvY0ZTIGRp
c2sAQ0JGUyBkaXNrAAAAVWJvb3QgZGlzawAAWGVuIGRpc2sAAAAAAAAuRAAAAAAAAC5QAAAAAQAA
LlgAAAACAAAuaAAAAAMAAC54AAAABAAALogAAAAFAAAulAAAAAYAAC6gAAAABwAALrAAAAAIAAAu
vAAAAAkAAC7IAAAACgAALtgAAAALAAAu6AAAAAwAAC74AAAADQAALwQAAAAOAAAvEAAAAA8AAC8c
AAAAEGdydWJfZnNfbGlzdAAAAABzdHJ1Y3QgZ3J1Yl9mcy5uYW1lAHN0cnVjdCBncnViX2ZzLm5l
eHQAc3RydWN0IGdydWJfZnMub3BlbgBzdHJ1Y3QgZ3J1Yl9mcy5yZWFkAHN0cnVjdCBncnViX2Zz
LmNsb3NlAAAAAHN0cnVjdCBncnViX2ZzLmxhYmVsAAAAAHN0cnVjdCBncnViX2ZzLnV1aWQARmls
ZSBTeXN0ZW0gICAAACAgb3BlbiAgAAAAACAgcmVhZCAgAAAAACAgY2xvc2UgIAAAACAgbGFiZWwg
IAAAACAgdXVpZCAgAAAAAEZJTEVTWVNURU0AAEZTAABGaWxlU3lzdGVtAABAKD0pX19CT09UX0dS
VUJfX0VYVF9GUwBGY3RUYXNrTW9kTWFnaWM6IG1vZHVsZSAweCU4eCA9ICVzAABGY3RUYXNrTW9k
TmFtZTogbW9kdWxlIDB4JTh4AAAAAEZjdFRhc2tNb2RCYXNlOiBwYXJhbWV0ZXIgMTogMHglOHgg
PSAlcwBGY3RUYXNrTW9kQmFzZTogbW9kdWxlID0gJTh4AAAAAEZjdFRhc2tNb2RJbml0OiBwYXJh
bWV0ZXIgMTogMHglOHggPSAlcwBGY3RUYXNrTW9kSW5pdDogbW9kdWxlID0gJTh4AAAAAEZjdFRh
c2tNb2RTaXplOiBwYXJhbWV0ZXIgMTogMHglOHggPSAlcwBGY3RUYXNrTW9kU2l6ZTogbW9kdWxl
ID0gJTh4AAAAAFRBU0suTU9ELlNJWkUAAABfQk9PVF9HUlVCX19GVU5DAAAAAFRBU0suTU9ELklO
SVQAAABUQVNLLk1PRC5CQVNFAAAAVEFTSy5NT0QuTkFNRQAAAFRBU0suTU9ELk1BR0lDAAA8a2V5
PgAAADxtb2R1bGU+AAAAADxtb2RwYXRoPgAAAC5tb2QAAAAAc1ltYm9sLlNvdXJjZVBBVEguU2V0
ICIlcyIAAEVYVGVuc2lvbi5zWW1ib2wuTW9kUEFUSCAiJXMiAAAAc1ltYm9sLkF1dG9MT0FELkNI
RUNLAAAAc1ltYm9sLkF1dG9MT0FELlRPVUNIICIlcyIAAE1vZHVsZSAiJXMiIHN5bWJvbHMgbG9h
ZGVkLgBcXCVzXC50ZXh0AABzWW1ib2wuRGVsZXRlIFxcJXMAAHNZbWJvbC5BdXRvTE9BRC5DTEVB
UiAiJXMiAABNb2R1bGUgIiVzIiBzeW1ib2xzIGRlbGV0ZWQuAAAAAG1vZHBhdGgAdW5rbm93biB0
b3BpYwAAAGtleSBtaXNzaW5nAE1vZHVsZSBwYXRoIHNldC4AAAAAU29ycnk6IG1vZHVsZSBub3Qg
Zm91bmQAcGFyYW1ldGVyIG1pc3NpbmcAAABMT0FETU9EAExPQURNAAAAREVMRVRFTU9EAAAAREVM
TQAAAABNT0RQQVRIAE1QQVRIAAAAVEFTSy5ZLk1PRFAAU1lNQk9MAABZAAAAc1ltYm9sAABAKD0p
X19CT09UX0dSVUJfX0VYVF9ZAABAKD0pX19CT09UX0dSVUJfX0VYVF9ZX0RFTE0AQCg9KV9fQk9P
VF9HUlVCX19FWFRfWV9MT0FETQAAAABAKD0pX19CT09UX0dSVUJfX0VYVF9ZX01QQVRIAERBVEEA
ACqkAAAzzAAAKqwAACq0AAABPP//////////////////////////////////////////////////
//8AAAADAHgAAAAEAIwAAAh4/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKkAAACpMAAAqXAAAKmgAACp0AAAqgAAAAAAAAAAA
AAAAAAAAAAAAACt0AAAq0AAAKtgAAAAAAAALCAAACogAAAABAEYAAAAALIAAAAxkAAAseAAALHgA
ACt0AAArdAAADCwAAC0MAAAAAQAALRgAAAABAAAtHAAAAAIAAC0gAAAAAgAAAAAAAAAAAAAtLAAA
LTQAAC04AAAtQAAADiAAAAADAFAAAAAEATwAAA+kAAAqQAAALOwAACzIAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAC4UAAAuHAAALiAAAC4oAAATlAAAAAMAUAAAAAQBjAAAE6AAACpA
AAAt3AAALfQAAC38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMKAAADCsAAAwsAAAMLwA
ABb0AAAAAwBQAAAABAHcAAAXAAAAKkAAADBUAAAwZAAAMHAAADB8AAAwiAAAMJQAAAAAAAAAAAAA
AAAAADJEAAAAAwAAAAcAAAAAAAAyAAAAHEwAADI0AAAABwAAAAMAAAAAAAAyAAAAHKQAADIkAAAA
AwAAAAcAAAAAAAAyAAAAHQgAADIUAAAAAwAAAAcAAAAAAAAyAAAAHYwAADHwAAAAAwAAAAcAAAAA
AAAyAAAAHhAAADPIAAAAAQAAM9AAAAABAAAz2AAAAAIAADPkAAAAAgAAM+wAAAADAAAz9AAAAAMA
AAAAAAAAAAAAAAIAAAAAAAAzfAAAAAAAAAACAAAAAAAAM5wAAAAAAAAAAgAAAAAAAAAAAAAjEAAA
AAIAAAAAAAAztAAAAAAAAAACAAAAAAAAM4gAAAAAAAAAAgAAAAAAAAAAAAAh1AAANAgAADQQAAA0
FAAANBwAAB7oAAAz/AAAAAcAAAAXAAAAAAAAMgAAACPc////////////////////////////////
/////////////////////////////////////////////////////////////////////1QzMkU=
)
RETURN
)
menu_32bit: ;(header, infix)
(
PMACRO.LOCK
(
PRIVATE &sHeader &sInfix &sMenuName
PARAMETERS &sHeader &sInfix
&sMenuName=TASK.TRANSPOSE.INFIX("&sHeader")
IF MENU.EXIST("TASK.&(sMenuName)")
MENU.Delete.NAME TASK.&(sMenuName)
IF MENU.EXIST("EXT.&(sMenuName)")
MENU.Delete.NAME EXT.&(sMenuName)
MENU.ReProgram
(&+
; --------------------------------------------------------------------------------
; @Title: GRand Unified Bootloader specific menu
; @Description: -
; @Keywords: GRUB menu awareness
; @Author: MSA
; @Copyright: (c) 1989-2018 Lauterbach GmbH, licensed for use with TRACE32(R) only
; --------------------------------------------------------------------------------
; $Id: grub.m 8396 2022-12-12 13:50:40Z amerkle $
NAME "TASK.&sMenuName"
IF !MENU.EXIST("TASK.&sMenuName")
(
ADD
MENU
(
POPUP "&GRUB"
(
DEFAULT
MENUITEM "[:objects]Display Current &Environment Var" "EXTension.&(sInfix)EnvVar /C"
MENUITEM "[:objects]Display &Initial Environment var" "EXTension.&(sInfix)EnvVar /I"
MENUITEM "[:objects]Display &Devices" "EXTension.&(sInfix)DEVices"
MENUITEM "[:objects]Display &FileSystem" "EXTension.&(sInfix)FileSystem"
MENUITEM "[:objects]Display &Modules" "EXTension.&(sInfix)MODule"
SEPARATOR
POPUP "&Module Debugging"
(
MENUITEM "[:symbols]&Load Symbols..."
(
DIALOG
(
HEADER "EXTension.sYmbol.LOADMod"
POS 0. 0. 30. 3.
BOX "Module name"
POS 1. 1. 20. 1.
modl: DEFEDIT "" ""
POS 22. 1. 7. 1.
BUTTON "Browse..."
(
PRIVATE &file
DIALOG.FILE "*.mod"
ENTRY %LINE &file
DIALOG.SET modl "&file"
)
POS 6. 3. 7. 1.
DEFBUTTON "Ok"
(
PRIVATE &modl
&modl=DIALOG.STRING(modl)
EXTension.&(sInfix)sYmbol.LOADMod "&modl"
DIALOG.END
)
POS 17. 3. 7. 1.
BUTTON "Cancel" "DIALOG.END"
)
)
MENUITEM "[:symbols]&Delete Symbols..."
(
DIALOG
(
HEADER "EXTension.sYmbol.DELeteMod"
POS 0. 0. 30. 3.
BOX "Module name"
POS 1. 1. 20. 1.
modd: DEFEDIT "" ""
POS 22. 1. 7. 1.
BUTTON "Browse..."
(
PRIVATE &file
DIALOG.FILE "*.mod"
ENTRY %LINE &file
DIALOG.SET modd "&file"
)
POS 6. 3. 7. 1.
DEFBUTTON "Ok"
(
PRIVATE &modd
&modd=DIALOG.STRING(modd)
EXTension.&(sInfix)sYmbol.DELeteMod "&modd"
DIALOG.END
)
POS 17. 3. 7. 1.
BUTTON "Cancel" "DIALOG.END"
)
)
MENUITEM "Wait for GRUB module..."
(
DO "~~/demo/arm/bootloader/grub/mod_debug"
)
)
)
)
)
)
)
PMACRO.UNLOCK
RETURN
)
autoload_32bit: ;(options)
(
PARAMETERS &sOptions
RETURN
)
extension_64bit: ; (options)
(
PARAMETERS &sParameters &sOptions
EXTension.LOAD &sParameters &sOptions
(
VDMyTQAwMDMuMDAxQCgjKVRSQUNFMzIgY29uZmlndXJhdGlvbiBmaWxlIFYwMDMuMDAxIDogYXJt
NjQvZ3J1YgAAAAAAAAAAdGwAAECtZGwAAARIZGEABAAAZXAAAAAkaHMABgkUAABURVhUAAECAwAA
MkAAADTgAAAAAAAAAAAAAAAAAAAAAAAAAABOgAAglCH/8HwIAqaQAQAUSAAQWUgAAaVIABJZSAAW
qUgAHPFIACPRSAApxUgAL6U8YAAEOGMBIEgAMdGAAQAUfAgDpjghABBOgAAglCH/8HwIAqaQAQAU
k8EACJPhAAw8YAAAOGM05EgAMOFIADEBP8AABDv+A7iQfwAAkJ8ABDxgAAA4YzT0SAAwwUgAMOE9
IAAEOSkDsJBpAACQiQAEPGAAADhjNQxIADChPSAABjkpCAiQaQAAkIkABDxgAAA4YzUcSAAwhT0g
AAY5SQgAkGkIAJCKAASBPgO4gV8ABDFK//99KQHULAn//0CCAJQ5IP/9fApIQECBAIg9IAAEOUkD
sIEpA7CBSgAEMUr//30pAdQsCf//QIIAhDkg//18CkhAQIEAeD0gAAY5SQgIgSkICIFKAAQxSv//
fSkB1CwJ//9AggBgOSD//XwKSEBAgQBUMIT//30jAdQ4YAABLAn//0GCAAw4YAAASAAAGDkg//18
BEhAQYEADEv//+w4YAAAgAEAFHwIA6aDwQAIg+EADDghABBOgAAgOGAAAEv//+Q4YAAAS///3Dxg
AAA4YwUAToAAIJQh//B8CAKmkAEAFDxgAAQ4YwAASAAvQYABABR8CAOmOCEAEE6AACCUIf/gfAgC
ppABACSToQAUk8EAGJPhABw8YAAAOGM05EgAL0lIAC9pP6AABDvdA7iQfgAAkJ4ABDxgAAA4YzUo
SAAvHT/gAAQ7/wAAkH8AHHxj/nCQfwAYPGAAADhjNTxIAC79kH8AJHxj/nCQfwAgPGAAADhjNVBI
AC7lkH8ALHxj/nCQfwAoPGAAADhjNWRIAC7NkH8ANHxj/nCQfwAwPGAAADhjNXhIAC61kH8APHxj
/nCQfwA4PGAAADhjNYxIAC6dkH8ARHxj/nCQfwBAPGAAADhjNaBIAC6FfGn+cH0nS3iRPwBIkH8A
TIEdA7iAngAEMUT//30oAdQsCf//QIIA+Dkg//18CkhAQIEA7IE/ABiBXwAcMUr//30pAdQsCf//
QIIA1Dkg//18CkhAQIEAyIE/ACCBXwAkMUr//30pAdQsCf//QIIAsDkg//18CkhAQIEApIE/ACiB
XwAsMUr//30pAdQsCf//QIIAjDkg//18CkhAQIEAgIE/ADCBXwA0MUr//30pAdQsCf//QIIAaDkg
//18CkhAQIEAXIE/ADiBXwA8MUr//30pAdQsCf//QIIARDkg//18CkhAQIEAOIE/AECBXwBEMUr/
/30pAdQsCf//QIIAIDkg//18CkhAQIEAFDEj//985wHULAf//0GCAMA/4AAEO/8AAIB/ACCBPwAk
fIRIFHxoGRRIAC19kH8AUJCfAFQ8YAAAOGM1tEgALTmQfwBcfGP+cJB/AFg8YAAAOGM1zEgALSF8
af5wfShLeJE/AGCQfwBkgT8AUIFfAFQxSv//fSkB1CwJ//9AggB0OSD//XwKSEBAgQBogT8AWIFf
AFwxSv//fSkB1CwJ//9AggBwOSD//XwKSEBAgQBkMSP//30IAdQ4YAABLAj//0GCACA4YAAASAAA
LDhgAAE5QP/9fAlQQECB/zhIAAAYOUD//XwJUEBBgQAMS///2DhgAACAAQAkfAgDpoOhABSDwQAY
g+EAHDghACBOgAAgOGAAAEv//+CUIf/wfAgCppABABRL//z1PGAABDhjAAA4YwBogAEAFHwIA6Y4
IQAQToAAIJQh//CT4QAMfL8reDFE//99IwHULAn//0CCABA5IP/9fApIQEGBAEx8CAKmkAEAFD0g
AAQ5KQAAgUkAGIEpABx8hEgUfGNRFEgALBl8hiN4fGUbeDjgACB/4/t4SAAr+TkgAACZPwAggAEA
FHwIA6aD4QAMOCEAEE6AACAxRP//fSMB1CwJ//9BggA8lCH/8HwIAqaQAQAUPSAABDkpAACBSQAo
gSkALHyESBR8Y1EUSAArsYABABR8CAOmOCEAEE6AACA5IP/9fApIQECB/8A4YP//OID//06AACAx
RP//fSMB1CwJ//9BggA8lCH/8HwIAqaQAQAUPSAABDkpAACBSQAwgSkANHyESBR8Y1EUSAArUYAB
ABR8CAOmOCEAEE6AACA5IP/9fApIQECB/8A4YP//OID//06AACAxRP//fSMB1CwJ//9BggA8lCH/
8HwIAqaQAQAUPSAABDkpAACBSQA4gSkAPHyESBR8Y1EUSAAq8YABABR8CAOmOCEAEE6AACA5IP/9
fApIQECB/8A4YP//OID//06AACAxRP//fSMB1CwJ//9BggA8lCH/8HwIAqaQAQAUPSAABDkpAACB
SQBAgSkARHyESBR8Y1EUSAAqkYABABR8CAOmOCEAEE6AACA5IP/9fApIQECB/8A4YP//OID//06A
ACAxRP//fSMB1CwJ//9BggA8lCH/8HwIAqaQAQAUPSAABDkpAACBSQBIgSkATHyESBR8Y1EUSAAq
MYABABR8CAOmOCEAEE6AACA5IP/9fApIQECB/8A4YP//OID//06AACCUIf+gfAgCppABAGSToQBU
k8EAWJPhAFx8fRt4OSAAAJEhAAg4oAA8OIAAADhhAAxIACh1PSAABDlJA7iDyQO4g+oABDFf//99
PgHULAn//0GCAHyTYQBMk4EAUDuAAAA7YP/9OKEACH/D83h/5Pt4S//9NTiBAAh/o+t4SAAoSSwD
AABBggBgf8PzeH/k+3hL//5RfH4beHyfI3ibgQAIMUT//30+AdQsCf//QIL/uHwK2EBAgf+wO8D/
/zvg//+DYQBMg4EAUEgAACQ5IP/9fApIQECB/4A7wP//O+D//0gAAAyDYQBMg4EAUH/D83h/5Pt4
gAEAZHwIA6aDoQBUg8EAWIPhAFw4IQBgToAAID0gAAQ5KQAAOUD//zlg//+RSQB4kWkAfDFE//99
IwHULAn//0CCACA5IP/9fApIQECBABQ8YAAEOGMAADhjAHhOgAAglCH/4HwIAqaQAQAkk6EAFJPB
ABiT4QAcPSAABDkpAACBSQAggSkAJHyESBR8Y1EUSAAogXx+G3h8nyN4MUT//30+AdQsCf//QYIA
iJNhAAyTgQAQO6AAAD+AAAQ7nAAAO2D//YB8AGCAnABkfJ8gFHx+GRRIACg9V6kYOH08ShSQaQB4
kIkAfDk9AAFVPQY+gHwAWICcAFx8nyAUfH4ZFEgAKBF8fht4fJ8jeDFE//99PgHULAn//0CC/6x8
CthAQIH/pINhAAyDgQAQSAAAFDkg//18CkhAQIH/dDugAABXqRg4PUAABDlKAAB9KkoUOUD//zlg
//+RSQB4kWkAfDxgAAQ4YwAAOGMAeIABACR8CAOmg6EAFIPBABiD4QAcOCEAIE6AACCUIf+wfAgC
ppABAFSTgQBAk6EARJPBAEiT4QBMfH0beDvgAACT4QAIk+EADJPhABCT4QAUk+EAGJPhAByT4QAg
k+EAJJvhACg/gAAEO9wESDigAgA4gAAAf8PzeEgAJc05IAAgmTwESJv+AAGAfQAAgJ0ABDFE//99
IwHULAn//0GCAICTYQA8OKEACEv/+p07wAAAP+AABDv/BEg7YP/9O4A6ADiBAAh/4/t4SAAl0X/j
+3hIACXlf/8aFDk+AAFVPgY+VSkdeH1dShR8fUgugIoABDFE//99IwHULAn//0GCAFQ4oQAIS//6
QSweAABBgv+0s58AADv/AAFL//+oOSD//XwKSEBAgf98PGAABDhjBEiAAQBUfAgDpoOBAECDoQBE
g8EASIPhAEw4IQBQToAAIHwK2EBAgf+sg2EAPEv//8yUIf/wk+EADD0gAAQ5SQO4gGkDuICKAAQx
RP//fSMB1CwJ//9BggBIfAgCppABABSTwQAIO+AAADvA//07/wABS//64TFE//99IwHULAn//0CC
/+x8CvBAQIH/5IPBAAiAAQAUfAgDpkgAABQ5IP/9fApIQECB/7Q74AAAf+P7eIPhAAw4IQAQToAA
IJQh/4B8CAKmkAEAhJPBAHiT4QB8PSAABDlJA7iDyQO4g+oABDkgAACRIQAIOKAAPDiAAAA4YQAM
SAAkIUv//zk4YwACSAAl4TFf//99PgHULAn//0GCAFySoQBUksEAWJLhAFyTAQBgkyEAZJNBAGiT
YQBsk4EAcJOhAHQ+4AAAOvc15D9gAAA7ezYEP0AAADtaP0Q6wAAAOyD//T6gAAA6tTYMPwAAADsY
OIxIAACUOSD//XwKSEBAgf+gSAABiH+F43h/put4fqOreEgAJU1IAAEEf4XjeH+m63h+o6t4SAAl
OX+F43h/put4f2PbeEgAJNVIACTpf8PzeH/k+3hL//vFS//9LXxkG3h/Q9N4SAAktX8Dw3hIACSt
f8PzeH/k+3hL//lxfH4beHyfI3gxRP//fT4B1CwJ//9BggDcf8XzeH/m+3h+47t4SAAkzX/F83h/
5vt4f2PbeEgAJGlIACR9OKEACH/D83h/5Pt4S//36TiBAAh/Q9N4SAAkSZrBAAhIACRZf8PzeH/k
+3hL//hFfIYjeHxlG3h/Y9t4SAAkJUgAJDl/w/N4f+T7eEv/+UV8fBt4fJ0jeDFE//99PAHULAn/
/0CC/vh8CshAQIH+8H+F43h/put4f2PbeEgAI+VIACP5f8PzeH/k+3hL//llfHwbeHydI3gxRP//
fTwB1CwJ//9Agv7MfArIQEGB/tRL//7AfArIQECB/ySCoQBUgsEAWILhAFyDAQBggyEAZINBAGiD
YQBsg4EAcIOhAHQ8YAAAOGM4jEgAI3mAAQCEfAgDpoPBAHiD4QB8OCEAgE6AACCUIf/wfAgCppAB
ABQ8YAAAOGM21EgAI7VL//OtPGAABDhjATCAAQAUfAgDpjghABBOgAAglCH/4HwIAqaQAQAkk6EA
FJPBABiT4QAcfH0beHyeI3g/4AAEO/8GSJB/AACQnwAEkL8ACJDfAAw4vwA4kL8ANDlAAAA5YAAA
kV8AEJF/ABSRXwAYkX8AHJFfACCRfwAkkV8AKJF/ACw5IAAAkT8AMEv/9k1/o+t4f8TzeEv/9r2Q
fwAQkJ8AFH+j63h/xPN4S//3CZB/ABiQnwAcf+P7eIABACR8CAOmg6EAFIPBABiD4QAcOCEAIE6A
ACCUIf/QfAgCppABADSTgQAgk+EALHyGI3h8ZRt4PSAABDlJA7iDiQO4g+oABDxgAAA4YzbwSAAi
pT0gAAQ5KQZIOUD//zlg//+RSQCAkWkAhJFJAHiRaQB8SAAimSwDAANBggDYk6EAJDFf//99PAHU
LAn//0GCAIiTIQAUk0EAGJNhAByTwQAoP8AABDveBkg73gB4O6AAADtAAAA7YAAAOyD//ZOeAACT
/gAEk14ACJN+AAw7vQABf4PjeH/k+3hL//Z9fHwbeHyfI3g73gAQMUT//308AdQsCf//QIL/yHwK
yEBAgf/AgyEAFINBABiDYQAcg8EAKEgAABQ5IP/9fApIQECB/3Q7oAAAPSAABDkpBkhXqiA2fUlS
FDjA//844P//kMoAgJDqAISQygB4kOoAfIOhACQ8YAAEOGMGSDhjAHiAAQA0fAgDpoOBACCD4QAs
OCEAME6AACCUIf/wfAgCppABABQ8YAAAOGMOPEgAIKmAAQAUfAgDpjghABBOgAAgPGAAADhjELxO
gAAglCH/8HwIAqaQAQAUS//vpUgABkU8YAAEOGMBOIABABR8CAOmOCEAEE6AACCUIf6wfAgCppAB
AVST4QFMO+AAAJPhAAg4oAA8OIAAADhhAAxIAB8hk+EASDigADw4gAAAOGEATEgAHw2T4QCIOKAA
PDiAAAA4YQCMSAAe+ZPhAMg4oAA8OIAAADhhAMxIAB7lk+EBCDigADw4gAAAOGEBDEgAHtE4YAAy
SAAglTiBAEg8YAAAOGM3EEgAB6k4gQAIPGAAADhjNxxIAAeZOIEAiDxgAAA4YzcsSAAHiTiBAMg8
YAAAOGM3NEgAB3k4gQEIPGAAADhjN0BIAAdpPUAABDkqASCAygEggKkACICJAAQ8YAAAOGM3UEgA
H8U9IAAEOSkDuICpAACAyQAEPGAAADhjN3BIAB+pPSAABDkpA7CAqQAAgMkABDxgAAA4YzeQSAAf
jT0gAAY5KQgAgKkAAIDJAAQ8YAAAOGM3sEgAH3E4gQBIPGAAADhjN9BIAB9hOIEACDxgAAA4Yzfw
SAAfUTiBAIg8YAAAOGM4EEgAH0E4gQDIPGAAADhjODBIAB8xOIEBCDxgAAA4YzhQSAAfIYABAVR8
CAOmg+EBTDghAVBOgAAglCH/8HwIAqaQAQAUPGAABDhjATg4YwAQSAAehYABABR8CAOmOCEAEE6A
ACCUIf/wfAgCppABABQ8oAAAOKU4fDiAAQA8YAAGOGMIFEgAHvl8aSN5QIIAFD0gAAaJKQgULAkA
AEGCACg9IAAGOUAAAZlJBtA8YAAAOGMY7IABABR8CAOmOCEAEE6AACA8gAAAOIQ4fDxgAAQ4YwFc
SAAenT0gAAaYaQbQS///zDFE//99IwHULAn//0GCADyUIf/wfAgCppABABQ9IAAEOQkDwIFJA8CB
KAAEfIRIFHxjURRIAB4dgAEAFHwIA6Y4IQAQToAAIDkg//18CkhAQIH/wDhg//84gP//ToAAIJQh
//CT4QAMfL8reDFE//99IwHULAn//0CCABA5IP/9fApIQEGBAEx8CAKmkAEAFD0gAAQ5CQPQgUkD
0IEoAAR8hEgUfGNRFEgAHal8hiN4fGUbeDjgACB/4/t4SAAdiTkgAACZPwAfgAEAFHwIA6aD4QAM
OCEAEE6AACCUIf/wk+EADHy/K3gxRP//fSMB1CwJ//9AggAQOSD//XwKSEBBgQBMfAgCppABABQ9
IAAEOQkDyIFJA8iBKAAEfIRIFHxjURRIAB0tfIYjeHxlG3g44AAgf+P7eEgAHQ05IAAAmT8AH4AB
ABR8CAOmg+EADDghABBOgAAglCH/UHwIAqaQAQC0ksEAiJLhAIyTAQCQkyEAlJNBAJiTYQCck4EA
oJOhAKSTwQCok+EArD0gAAQ5SQPYgGkD2ICKAAQ7wAAAO+AACDugAAA7YP/9P4AABDucA+BIAACM
KAoAcECCAIQ4fQACSAAc+T0gAAQ5SQPYg8kD2IPqAAQ7YAAAO6AACDuAAAA+4AAAOvc2BD8AAAA7
GD9EPyAAADs5OIg6wP/9P0AABDtaA+BIAACofArYQECBAECAfAAAgJwABHyfIBR8fhkUSAAcLTFf
AAh9PgGUfT5LeH1fU3gsCQAAQYL/fDFE//99IwHULAn//0GC/8A7vQABS//9rTFE//99IwHULAn/
/0CC/+x8CthAQIH/5Ev//6R8CrBAQIEAcIB6AACAmgAEfJ0gFHx7GRRIABvFfH4beHyfI3gxXQAI
fTsBlH07S3h9XVN4LAkAAEGCALyTgQBIOKAAPH+E43g4YQBMSAAaMZOBAAg4oAA8f4TjeDhhAAxI
ABodMV///30+AdQsCf//QYL/kDihAEh/w/N4f+T7eEv//W04oQAIf8PzeH/k+3hL//3Zf8XzeH/m
+3h+47t4SAAbSUgAG104gQBIfwPDeEgAGzlIABtNOIEACH8jy3hIABspf8PzeH/k+3hL//zBfH4b
eHyfI3gxRP//fT4B1CwJ//9Agv+QfAqwQECB/4hL//8YKAoAcECC/0SAAQC0fAgDpoLBAIiC4QCM
gwEAkIMhAJSDQQCYg2EAnIOBAKCDoQCkg8EAqIPhAKw4IQCwToAAIJQh//B8CAKmkAEAFDxgAAQ4
YwFcOGMAKEgAGjGAAQAUfAgDpjghABBOgAAglCH/8HwIAqaQAQAUk8EACJPhAAw9IAAGiSkG0CwJ
AAJBggFkPSAABDkpA7CAaQAAgIkABD/AAAQ7/gPgkH8AAJCfAARIABo5PSAABDkpA9iQaQAAkIkA
BDxgAAA4YziQSAAZ7T0gAAQ5SQPQkGoABHxj/nCQaQPQPGAAADhjOKxIABnNPSAABDlJA8iQagAE
fGP+cJBpA8g8YAAAOGM4yEgAGa18av5wfUdTeD0gAAQ5CQPAkUkDwJBoAASBPgPggV8ABDFK//99
KQHULAn//0CCANg5IP/9fApIQECBAMw9IAAEOUkD2IEpA9iBSgAEMUr//30pAdQsCf//QIIAyDkg
//18CkhAQIEAvD0gAAQ5SQPQgSkD0IFKAAQxSv//fSkB1CwJ//9AggCkOSD//XwKSEBAgQCYPSAA
BDlJA8iBKQPIgUoABDFK//99KQHULAn//0CCAIA5IP/9fApIQECBAHQwY///fOcB1DkgAAEsB///
QYIAJDkgAABVIwY+SAAALD0gAAY5KQgIgGkAAICJAARL//6gOUD//XwDUEBBgf/cS///1DhgAACA
AQAUfAgDpoPBAAiD4QAMOCEAEE6AACA4YAAAS///5DhgAABL///cOGAAAEv//9SUIf/wfAgCppAB
ABRL/+d1S//+FTxgAAQ4YwFcOGMAPIABABR8CAOmOCEAEE6AACCUIf+QfAgCppABAHSTAQBQkyEA
VJNBAFiTYQBck4EAYJOhAGSTwQBok+EAbHx9G3h8miN4OSAAAJEhAAg4oAA8OIAAADhhAAxIABbJ
PSAABDlJA9iDyQPYg+oABDsgAAA7gAAIOwD//T9gAAQ7ewPgMV///30+AdQsCf//QYIA1DihAAh/
w/N4f+T7eEv/+fV/pOt4OGEACEgAFpksAwAAQYIAcH/D83h/5Pt4S//5dXx+G3h8nyN4MUT//30+
AdQsCf//QIL/vHwKwEBAgf+0gHsAAICbAAR8nCAUfHkZFEgAF5F8fht4fJ8jeDFcAAh9OQGUfTlL
eH1cU3gsCQAAQIL/cCgKAHBAgv9oSAAAFH9F03h/w/N4f+T7eEv/+eGAAQB0fAgDpoMBAFCDIQBU
g0EAWINhAFyDgQBgg6EAZIPBAGiD4QBsOCEAcE6AACB8CsBAQIH/LEv//3g8YAAAOGMe1E6AACCU
If+AfAgCppABAISToQB0k8EAeJPhAHw5IAAAkSEACDigADw4gAAAOGEADEgAFX09IAAEOUkEAIBp
BACAigAEMUT//30jAdQsCf//QYIASDvAAAA/4AAEO/8D6Dug//073gABgV8AAIE/AAR8hEgUfGNR
FEgAFpUxRP//fSMB1CwJ//9Agv/cfAroQECB/9RIAAAUOSD//XwKSEBAgf+0O8AAADh+AAJIABbN
PSAABDlJBACDyQQAg+oABDFf//99PgHULAn//0GCAHySYQBMkoEAUJKhAFSSwQBYkuEAXJMBAGCT
IQBkk0EAaJNhAGyTgQBwPqAAADq1NgQ/QAAEO1oD+D7AAAA61j0UP2AABDt7A/A+4AAAOvc5YD6A
AAY/IAAAOzk7ID5gAAA6czlQPwAAADsYOWg/gAAEO5wD6EgAAFA5IP/9fApIQECB/4BIAAFAVUoY
OHyZUC5/A8N4SAAVtYB8AACAnAAEfJ8gFHx+GRRIABWVfH4beHyfI3gxRP//fT4B1CwJ//9BggDQ
f8XzeH/m+3h+o6t4SAAVeUgAFY2AegAAgJoABHyfIBR8fhkUSAAVVXyGI3h8ZRt4OOAAIDhhAAhI
ABU1OSAAAJkhACc4gQAIfsOzeEgAFTlIABVNgHsAAICbAAR8nyAUfH4ZFEgAFRV8ZRt4fJ0jeHyG
I3h+47t4SAAVDUgAFSGA9AbULAcAAECBADw5IAAAOUAAAFVIGDh9GUIUgQgABHwdQABBgv8gOSkA
AVUpBj59Kkt4fAdIAEGB/9x+ZJt4S///DH5km3hL//8EOSD//XwKSEBAgf8sgmEATIKBAFCCoQBU
gsEAWILhAFyDAQBggyEAZINBAGiDYQBsg4EAcIABAIR8CAOmg6EAdIPBAHiD4QB8OCEAgE6AACCU
If/wfAgCppABABQ8YAAEOGMB1EgAE+mAAQAUfAgDpjghABBOgAAglCH/8HwIAqaQAQAUk8EACJPh
AAw9IAAGOUAAEZFJBtQ8YAAAOGM5cEgAE+lIABQJP8AABDv+BACQfwAAkJ8ABDxgAAA4YzmESAAT
vT0gAAQ5SQP4kGoABHxj/nCQaQP4PGAAADhjOaBIABOdPSAABDlJA/CQagAEfGP+cJBpA/A8YAAA
OGM5uEgAE318av5wfUdTeD0gAAQ5CQPokUkD6JBoAASBPgQAgV8ABDFK//99KQHULAn//0CCAJg5
IP/9fApIQECBAIw9IAAEOUkD+IEpA/iBSgAEMUr//30pAdQsCf//QIIAiDkg//18CkhAQIEAfD0g
AAQ5SQPwgSkD8IFKAAQxSv//fSkB1CwJ//9AggBkOSD//XwKSEBAgQBYMGP//3znAdQ5IAABLAf/
/0GCABA5IAAAVSMGPkgAABg5QP/9fANQQEGB//BL///oOGAAAIABABR8CAOmg8EACIPhAAw4IQAQ
ToAAIDhgAABL///kOGAAAEv//9yUIf/wfAgCppABABRL/+GNS//+dTxgAAQ4YwHUOGMAFIABABR8
CAOmOCEAEE6AACA8YAAAOGMm/E6AACCUIf+AfAgCppABAISToQB0k8EAeJPhAHw5IAAAkSEACDig
ADw4gAAAOGEADEgAEPE9IAAEOUkEQIBpBECAigAEMUT//30jAdQsCf//QYIASDvAAAA/4AAEO/8E
MDug//073gABgV8AAIE/AAR8hEgUfGNRFEgAEgkxRP//fSMB1CwJ//9Agv/cfAroQECB/9RIAAAU
OSD//XwKSEBAgf+0O8AAADh+AAJIABJBPSAABDlJBECDyQRAg+oABDFf//99PgHULAn//0GCAIiS
YQBMkoEAUJKhAFSSwQBYkuEAXJMBAGCTIQBkk0EAaJNhAGyTgQBwP6AAADu9NgQ+wAAEOtYEOD6A
AAA6lD0UPwAABDsYBCg+YAAAOnM2DD8gAAQ7OQQgP0AABDtaBBg/YAAEO3sEED+AAAQ7nAQIPqAA
ADq1OIw+4AAEOvcEMEgAAcA5IP/9fApIQECB/3RIAAOMgHgAAICYAAR8nyAUfH4ZFEgAEQ0sA///
QIIADCwE//9BggH8gHgAAICYAAR8nyAUfH4ZFEgAEOl8hiN4fGUbeH5jm3hIABE5SAAB1IB5AACA
mQAEfJ8gFHx+GRRIABDBLAP//0CCAAwsBP//QYIB9IB5AACAmQAEfJ8gFHx+GRRIABCdfIYjeHxl
G3h+Y5t4SAAQ7UgAAcyAegAAgJoABHyfIBR8fhkUSAAQdSwD//9AggAMLAT//0GCAeyAegAAgJoA
BHyfIBR8fhkUSAAQUXyGI3h8ZRt4fmObeEgAEKFIAAHEgHsAAICbAAR8nyAUfH4ZFEgAECksA///
QIIADCwE//9BggHkgHsAAICbAAR8nyAUfH4ZFEgAEAV8hiN4fGUbeH5jm3hIABBVSAABvIB8AACA
nAAEfJ8gFHx+GRRIAA/dfIYjeHxlG3h+Y5t4SAAQLYB8AACAnAAEfJ8gFHx+GRRIAA+5fIYjeHxl
G3h/o+t4SAAPtX6jq3hIAA+tgHcAAICXAAR8nyAUfH4ZFEgAD418fht4fJ8jeDFE//99PgHULAn/
/0GCAax/xfN4f+b7eH+j63hIAA9xSAAPhYB2AACAlgAEfJ8gFHx+GRRIAA9NfIYjeHxlG3g44AAg
OGEACEgADy05IAAAmSEAJziBAAh+g6N4SAAPMUgAD0WAeAAAgJgABHyfIBR8fhkUSAAPDXxpI3lA
gv3ogHgAAICYAAR8nyAUfH4ZFEgADvF8hiN4fGUbeH+j63hIAA7tSAAPAYB5AACAmQAEfJ8gFHx+
GRRIAA7JfGkjeUCC/fCAeQAAgJkABHyfIBR8fhkUSAAOrXyGI3h8ZRt4f6PreEgADqlIAA69gHoA
AICaAAR8nyAUfH4ZFEgADoV8aSN5QIL9+IB6AACAmgAEfJ8gFHx+GRRIAA5pfIYjeHxlG3h/o+t4
SAAOZUgADnmAewAAgJsABHyfIBR8fhkUSAAOQXxpI3lAgv4AgHsAAICbAAR8nyAUfH4ZFEgADiV8
hiN4fGUbeH+j63hIAA4hSAAONYB8AACAnAAEfJ8gFHx+GRRIAA39fGkjeUGC/iyAfAAAgJwABHyf
IBR8fhkUSAAN4SwD//9Agv3sLAT//0GC/ghL//3gOSD//XwKSEBAgf5QgmEATIKBAFCCoQBUgsEA
WILhAFyDAQBggyEAZINBAGiDYQBsg4EAcIABAIR8CAOmg6EAdIPBAHiD4QB8OCEAgE6AACCUIf/w
fAgCppABABQ8YAAEOGMCJEgADQWAAQAUfAgDpjghABBOgAAglCH/8HwIAqaQAQAUk8EACJPhAAw8
YAAAOGM7qEgADRFIAA0xP8AABDv+BECQfwAAkJ8ABDxgAAA4Yzu4SAAM5T0gAAQ5SQQ4kGoABHxj
/nCQaQQ4PGAAADhjO8xIAAzFPSAABDlJBDCQagAEfGP+cJBpBDA8YAAAOGM74EgADKU9IAAEOUkE
KJBqAAR8Y/5wkGkEKDxgAAA4Yzv0SAAMhT0gAAQ5SQQgkGoABHxj/nCQaQQgPGAAADhjPAhIAAxl
PSAABDlJBBiQagAEfGP+cJBpBBg8YAAAOGM8IEgADEU9IAAEOUkEEJBqAAR8Y/5wkGkEEDxgAAA4
Yzw4SAAMJXxq/nB9R1N4PSAABDkJBAiRSQQIkGgABIE+BECBXwAEMUr//30pAdQsCf//QIIBSDkg
//18CkhAQIEBPD0gAAQ5SQQ4gSkEOIFKAAQxSv//fSkB1CwJ//9AggE4OSD//XwKSEBAgQEsPSAA
BDlJBDCBKQQwgUoABDFK//99KQHULAn//0CCARQ5IP/9fApIQECBAQg9IAAEOUkEKIEpBCiBSgAE
MUr//30pAdQsCf//QIIA8Dkg//18CkhAQIEA5D0gAAQ5SQQggSkEIIFKAAQxSv//fSkB1CwJ//9A
ggDMOSD//XwKSEBAgQDAPSAABDlJBBiBKQQYgUoABDFK//99KQHULAn//0CCAKg5IP/9fApIQECB
AJw9IAAEOUkEEIEpBBCBSgAEMUr//30pAdQsCf//QIIAhDkg//18CkhAQIEAeDBj//985wHUOSAA
ASwH//9BggAQOSAAAFUjBj5IAAAYOUD//XwDUEBBgf/wS///6DhgAACAAQAUfAgDpoPBAAiD4QAM
OCEAEE6AACA4YAAAS///5DhgAABL///cOGAAAEv//9Q4YAAAS///zDhgAABL///EOGAAAEv//7yU
If/wfAgCppABABRL/9llS//9MTxgAAQ4YwIkOGMAFIABABR8CAOmOCEAEE6AACCUIf/wfAgCppAB
ABST4QAMfGUbeHyfI3h8hyN4fIYjeDxgAAA4Yzz0SAAKsUv/2qksAwAAQIIAIH/j+3hL/+AhgAEA
FHwIA6aD4QAMOCEAEE6AACA4YP//OID//0v//+SUIf/gfAgCppABACSToQAUk8EAGJPhABx8fht4
fJ8jeD+gAAZ8ZRt4fIYjeDxgAAA4Yz0YSAAKRUv/2j0sAwAAQYIAKDh9Btg4gAAAgAEAJHwIA6aD
oQAUg8EAGIPhABw4IQAgToAAIDi9Bth/w/N4f+T7eEv/3S1L///MlCH/8HwIAqaQAQAUk8EACJPh
AAx8nyN4fIUjeDxgAAA4Yz04SAAJ2Uv/2dEsAwAAQIIAcH/j+3hL/99JfH8beHyeI3h/5ft4fIYj
eDxgAAA4Yz1gSAAJqSwf//9BggA4f+P7eH/E83hL/905fH8beHyeI3h/4/t4f8TzeIABABR8CAOm
g8EACIPhAAw4IQAQToAAICwe//9Agv/IS///2Dvg//87wP//S///zJQh//B8CAKmkAEAFJPBAAiT
4QAMfJ8jeHyFI3g8YAAAOGM9gEgACS1L/9klLAMAAECCAHB/4/t4S//enXx/G3h8niN4f+X7eHyG
I3g8YAAAOGM9qEgACP0sH///QYIAOH/j+3h/xPN4S//drXx/G3h8niN4f+P7eH/E83iAAQAUfAgD
poPBAAiD4QAMOCEAEE6AACAsHv//QIL/yEv//9g74P//O8D//0v//8yUIf/wfAgCppABABSTwQAI
k+EADHyfI3h8hSN4PGAAADhjPchIAAiBS//YeSwDAABAggBwf+P7eEv/3fF8fxt4fJ4jeH/l+3h8
hiN4PGAAADhjPfBIAAhRLB///0GCADh/4/t4f8TzeEv/3EF8fxt4fJ4jeH/j+3h/xPN4gAEAFHwI
A6aDwQAIg+EADDghABBOgAAgLB7//0CC/8hL///YO+D//zvA//9L///MlCH/8HwIAqaQAQAUk+EA
DD/gAAQ7/wJwf+P7eEgAByk4fwAYSAAHITh/ADBIAAcZOH8ASEgABxE4fwBgSAAHCYABABR8CAOm
g+EADDghABBOgAAglCH/8HwIAqaQAQAUPIAAADiEPnQ8YAAEOGMC6EgAB009IAAGkGkIEDhj//8o
AwABQIEALD0gAAaBKQgQLAkAA0GCAEg8YAAAOGMrcIABABR8CAOmOCEAEE6AACA8oAAAOKU+fDiA
AQA8YAAGOGMIFEgABwU9IAAGOSkG+JBpAACQiQAES///sDygAAA4pT6IOIABADxgAAY4YwgUSAAG
wUv//6SUIf/wfAgCppABABST4QAMfH8beEgABYV8fxoUfT8YUH0pA6Z8HxhAQYIAMIkjAAAoCQAv
QYIAGCgJAFxBggAQOGP//0IA/+hIAAAQf/8aeDP///98YwGUgAEAFHwIA6aD4QAMOCEAEE6AACA9
IAAGOUkG+IEpBviBSgAEfSlTeUCCABQ9IAAGiSkIFCwJAABBggHUlCH+4D0gAAaBKQgQOSn//ygJ
AAFAgQA4PSAABoEpCBAsCQACQYIBvCwJAANBggFULAkAAUGCATw8YAAEOGMC6DhjADg4IQEgToAA
IHwIAqaQAQEkk6EBFJPBARiT4QEcS//WCTkgAACRIQAIOKAA/DiAAAA4YQAMSAAEHTygAAY4pQgU
PIAAADiEP0Q74QAIf+P7eEgABXl/4/t4S//+0Xx+G3g4gAAuSAAErXx9G3h8H/AAQYIADDkgAACZ
Pv//LB0AAEGCACQ8gAAAOIQ+lH+j63hIAAPhLAMAAECCAAw5IAAAmT0AAH/D83hL/9sFPSAABjlJ
BviQaQb4kIoABDCE//98YwHULAP//0GCAByDoQEUg8EBGIPhARyAAQEkfAgDpkv//vQ5IP/9fARI
QEGBAByDoQEUg8EBGIPhARyAAQEkfAgDpkv//tA8YAAEOGMC6DhjAEiDoQEUg8EBGIPhARyAAQEk
fAgDpkv//tg8YAAEOGMC6DhjAIhL//7IfAgCppABASST4QEcP+AABjv/Bvg7/wAIPIAABjiECBR/
4/t4SAADRTiAAQB/4/t4SAAE7TxgAAQ4YwLoOGMAeIPhARyAAQEkfAgDpkv//ng8YAAEOGMC6Dhj
AGhOgAAgPGAABDhjAug4YwBYS//+WJQh/+B8CAKmkAEAJJOhABSTwQAYk+EAHD/gAAY7/wgUf+P7
eEv//Vl8fht4OIAALkgAAzV8fRt4fB74AEGCAPQ5IAAAmT7//ywDAABBggBYPIAAADiEPpR/o+t4
SAACaSwDAABAggAMOSAAAJk9AAA9IAAGOSkIFHweSABAggAoPGAAADhjPthIAAQBPIAABjiECBQ8
YAAAOGM+8EgAA+1IAABQP+AABjv/CBR/5Pt4PGAAADhjPpxIAAPRf+T7eDxgAAA4Yz64SAADwTxg
AAA4Yz7YSAADtX/E83g8YAAAOGM+8EgAA6U5IAAvmT7//ywdAABBggAMOSAALpk9AAA8gAAGOIQI
FDxgAAA4Yz8MSAADAYABACR8CAOmg6EAFIPBABiD4QAcOCEAIE6AACAsAwAAQIL/HEv//0iUIf+w
fAgCppABAFSTwQBIk+EATDxgAAY4YwgUS//8JXx/G3g4gAAuSAACAXx+G3lBggAkPIAAADiEPpR/
w/N4SAABSSwDAABAggAMOSAAAJk+AAB/5ft4PIAAADiEPyg4YQAISAACfThhAAhIAAJFOST//zCE
//98YwHULAP//0CCAEg5QP/9fAlQQECBADx/5Pt4PGAAADhjP0hIAAKxf+T7eDxgAAA4Yz9kSAAC
KYABAFR8CAOmg8EASIPhAEw4IQBQToAAIH/k+3g8YAAAOGM/NEgAAnlL//+4lCH/8HwIAqaQAQAU
PIAAADiEP4RIAACZLAMAAECCACA8YAAGOGMG+DhjAAiAAQAUfAgDpjghABBOgAAgPGAAADhjP4xI
AAH9OGAAAEv//+CUIf/wfAgCppABABST4QAMP+AABDv/Aug4fwCYSAABITh/AKxIAAElgAEAFHwI
A6aD4QAMOCEAEE6AACBUhAY+LAUAAE2CACA5Q///fKkDppyKAAFCAP/8ToAAIIlDAAAsCgAAQYIA
IIkkAAB8CVAAQIIAFDiEAAGNQwABLAoAAECC/+iIZAAAfGNQUE6AACA4hP//OUP//40kAAGdKgAB
LAkAAECC//ROgAAgPSB/f2Epf389QAEBYUoBATiD//yEBAAEfAVLeHzKAFB8xSh5QYL/8HxjIFB8
BUt4fAZIOHzGShR8pTD4fKUANFSl6P58YyoUToAAIE6AACB8aht4iSMAACwJAABBggAsOGAAAFSE
Bj5IAAAQjSoAASwJAABNggAgfARIAECC//B9Q1N4S///6DhgAABOgAAgOEABAXyCEAhOgAAgOEAB
AnyCEAhOgAAgOEABGXyCEAhOgAAgOEABGnyCEAhOgAAgOEACBHyCEAhOgAAgOEACCnyCEAhOgAAg
OEACDHyCEAhOgAAgOEADE3yCEAhOgAAgOEADVHyCEAhOgAAgOEAEAHyCEAhOgAAgOEAED3yCEAhO
gAAgOEAEU3yCEAhOgAAgOEAFEnyCEAhOgAAgOEAFFHyCEAhOgAAgOEAFF3yCEAhOgAAgOEAFIXyC
EAhOgAAgOEAHBnyCEAhOgAAgOEAHFHyCEAhOgAAgOEAKAXyCEAhOgAAgOEAKEXyCEAhOgAAgOEAK
EnyCEAhOgAAgOEAKFHyCEAhOgAAgOEAKMXyCEAhOgAAgvgIDBAAAAAUAQFZFUlNJT04tSU5GT0AA
MTAxOTQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACfSAAAH6AAAAAYAAAANAAAAAAAAAAAA
AAAAaHR0cHM6Ly9zdm4uaW50ZXJuLmxhdXRlcmJhY2guY29tL3N2bi9rZXJuZWxzcmMvYnJhbmNo
ZXMvbmlnaHRseQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAABodHRwczovL3N2bi5pbnRlcm4ubGF1dGVyYmFjaC5jb20vc3ZuL2tl
cm5lbHNyYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGJhdW1laXN0ZXIAAAAAAABlZGstbGludXg2
NGJpdC03AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR0ND
IDkuNS4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAfoAAAABgAAAA0AAABOAAAn0gAAB+gAAAAGAAAAAAAAAAAAAAAAAAAAAAAA
AAAAATnwR1JVQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAGdydWJfZGxfaGVhZAAAAABncnViX2N1cnJlbnRfY29u
dGV4dAAAAABpbml0aWFsX2NvbnRleHQAZ3J1Yl9zeW10YWIAc3RydWN0IGdydWJfZGwubmFtZQBz
dHJ1Y3QgZ3J1Yl9kbC5kZXAAAHN0cnVjdCBncnViX2RsLmJhc2UAc3RydWN0IGdydWJfZGwuc3oA
AABzdHJ1Y3QgZ3J1Yl9kbC5uZXh0AHN0cnVjdCBncnViX2RsLmluaXQAc3RydWN0IGdydWJfZGwu
ZmluaQBzdHJ1Y3QgZ3J1Yl9kbF9kZXAubmV4dABzdHJ1Y3QgZ3J1Yl9kbF9kZXAubW9kAABWYXIu
dmlldyAoc3RydWN0IGdydWJfZGwqKSV4AAAAACUxNngAAAAATGlzdCAleABtYWdpYyAgICAgICAg
ICAgAAAAAE5hbWUgICAgICAgICAAAAAgIEJhc2UgICAgICAgICAgAAAAACAgSW5pdCAgICAgICAg
ICAAAAAAICBGaW5pICAgICAgICAgIAAAAABEZXBlbmRlbmN5IExpc3QgICAgICAgICAgICAgICAg
ICAgIABNT0RVTEUAAE1PRHVsZQAAQCg9KV9fQk9PVF9HUlVCX19FWFRfTU9EAAAAAEdSVUIAAAAA
QVJNNjQAAABDQl9Jbml0TW9kdWxlTGlzdDogZW50cnkAAAAAR2V0TW9kdWxlTGlzdDogc3VwZXJt
YWdpYz0lMTZ4AABncnViX2NwdQAAAABncnViX3BsYXRmb3JtAAAAcm9vdAAAAABjbWRkZXZpY2UA
AABjb2xvcl9ub3JtYWwAAAAATVREIFZlcnNpb24gICVzICAlcyAgJXMgIAoKCgAAAABtYWdpYyBs
b2FkZWQgbW9kdWxlICAgOiAgJTh4ICAKAG1hZ2ljIGN1cnJlbnQgY29udGV4dCA6ICAlOHggIAoA
bWFnaWMgU3ltYm9sIHRhYmxlICAgIDogICU4eCAgCgBncnViIENQVSAgICAgICAgICAgICAgOiAg
JXMgIAoAAGdydWIgcGxhdGVmb3JtICAgICAgICA6ICAlcyAgCgAAZ3J1YiByb290IGRpc2sgICAg
ICAgIDogICVzICAKAABncnViIGNtZGRldmljZSAgICAgICAgOiAgJXMgIAoAAGdydWIgdGVybWlu
YWwgY29sb3IgICA6ICAlcyAgCgAAVEVTVAAAAAAAAAAAPGNvbnRleHQ+AAAAIiVzIgoAAABzdHJ1
Y3QgZ3J1Yl9lbnZfdmFyLm5hbWUAAAAAc3RydWN0IGdydWJfZW52X3Zhci52YWx1ZQAAAHN0cnVj
dCBncnViX2Vudl92YXIubmV4dAAAAABjb250ZXh0IHZhcmlhYmxlcyAgICAgICAgICAgAAAAAC9D
VVJSRU5UAAAAAC9DAAAvSQAAL0lOSVRJQUwAAAAARU5WVkFSAABFVgAARW52VmFyAABAKD0pX19C
T09UX0dSVUJfX0VYVF9FVgBOb3QgU3VwcG9ydGVkAAAAICVkIAAAAAAgJXMKAAAAAGdydWJfZGlz
a19kZXZfbGlzdAAAc3RydWN0IGdydWJfZGlza19kZXYubmFtZQAAAHN0cnVjdCBncnViX2Rpc2tf
ZGV2LmlkAHN0cnVjdCBncnViX2Rpc2tfZGV2Lm5leHQAAABEZXZpY2UgTmFtZSAgICAgICAgIAAA
AAAgSWQgAAAAACBJbmZvICAgICAgICAgICAgICAgAAAAAERFVklDRVMAREVWAERFVmljZXMAQCg9
KV9fQk9PVF9HUlVCX19FWFRfREVWAAAAAEJpb3MgRGlzawAAAE9GIERpc2sATG9vcGJhY2sgZGlz
awAAAEVGSURpc2sgZGlzawAAAABEaXNrZmlsdGVyIGRpc2sASG9zdCBkaXNrAAAAQVRBIGRpc2sA
AAAATWVtZGlzayBkaXNrAAAAAE5hbmQgZGlzawAAAFNjc2kgZGlzawAAAENyeXB0b0Rpc2sgZGlz
awBBcmNEaXNrIGRpc2sAAAAASG9zdERpc2sgZGlzawAAAFByb2NGUyBkaXNrAENCRlMgZGlzawAA
AFVib290IGRpc2sAAFhlbiBkaXNrAAAAAAAAOjwAAAAAAAA6SAAAAAEAADpQAAAAAgAAOmAAAAAD
AAA6cAAAAAQAADqAAAAABQAAOowAAAAGAAA6mAAAAAcAADqoAAAACAAAOrQAAAAJAAA6wAAAAAoA
ADrQAAAACwAAOuAAAAAMAAA68AAAAA0AADr8AAAADgAAOwgAAAAPAAA7FAAAABBncnViX2ZzX2xp
c3QAAAAAc3RydWN0IGdydWJfZnMubmFtZQBzdHJ1Y3QgZ3J1Yl9mcy5uZXh0AHN0cnVjdCBncnVi
X2ZzLm9wZW4Ac3RydWN0IGdydWJfZnMucmVhZABzdHJ1Y3QgZ3J1Yl9mcy5jbG9zZQAAAABzdHJ1
Y3QgZ3J1Yl9mcy5sYWJlbAAAAABzdHJ1Y3QgZ3J1Yl9mcy51dWlkAEZpbGUgU3lzdGVtICAgAAAg
IG9wZW4gICAgICAgICAgAAAAACAgcmVhZCAgICAgICAgICAAAAAAICBjbG9zZSAgICAgICAgICAA
AAAgIGxhYmVsICAgICAgICAgIAAAACAgdXVpZCAgICAgICAgICAAAAAARklMRVNZU1RFTQAARlMA
AEZpbGVTeXN0ZW0AAEAoPSlfX0JPT1RfR1JVQl9fRVhUX0ZTAEZjdFRhc2tNb2RNYWdpYzogbW9k
dWxlIDB4JTE2eCA9ICVzAEZjdFRhc2tNb2ROYW1lOiBtb2R1bGUgMHglMTZ4AAAARmN0VGFza01v
ZEJhc2U6IHBhcmFtZXRlciAxOiAweCU4eCA9ICVzAEZjdFRhc2tNb2RCYXNlOiBtb2R1bGUgPSAl
MTZ4AAAARmN0VGFza01vZEluaXQ6IHBhcmFtZXRlciAxOiAweCU4eCA9ICVzAEZjdFRhc2tNb2RJ
bml0OiBtb2R1bGUgPSAlMTZ4AAAARmN0VGFza01vZFNpemU6IHBhcmFtZXRlciAxOiAweCU4eCA9
ICVzAEZjdFRhc2tNb2RTaXplOiBtb2R1bGUgPSAlMTZ4AAAAVEFTSy5NT0QuU0laRQAAAF9CT09U
X0dSVUJfX0ZVTkMAAAAAVEFTSy5NT0QuSU5JVAAAAFRBU0suTU9ELkJBU0UAAABUQVNLLk1PRC5O
QU1FAAAAVEFTSy5NT0QuTUFHSUMAADxrZXk+AAAAPG1vZHVsZT4AAAAAPG1vZHBhdGg+AAAALm1v
ZAAAAABzWW1ib2wuU291cmNlUEFUSC5TZXQgIiVzIgAARVhUZW5zaW9uLnNZbWJvbC5Nb2RQQVRI
ICIlcyIAAABzWW1ib2wuQXV0b0xPQUQuQ0hFQ0sAAABzWW1ib2wuQXV0b0xPQUQuVE9VQ0ggIiVz
IgAATW9kdWxlICIlcyIgc3ltYm9scyBsb2FkZWQuAFxcJXNcLnRleHQAAHNZbWJvbC5EZWxldGUg
XFwlcwAAc1ltYm9sLkF1dG9MT0FELkNMRUFSICIlcyIAAE1vZHVsZSAiJXMiIHN5bWJvbHMgZGVs
ZXRlZC4AAAAAbW9kcGF0aAB1bmtub3duIHRvcGljAAAAa2V5IG1pc3NpbmcATW9kdWxlIHBhdGgg
c2V0LgAAAABTb3JyeTogbW9kdWxlIG5vdCBmb3VuZABwYXJhbWV0ZXIgbWlzc2luZwAAAExPQURN
T0QATE9BRE0AAABERUxFVEVNT0QAAABERUxNAAAAAE1PRFBBVEgATVBBVEgAAABUQVNLLlkuTU9E
UABTWU1CT0wAAFkAAABzWW1ib2wAAEAoPSlfX0JPT1RfR1JVQl9fRVhUX1kAAEAoPSlfX0JPT1Rf
R1JVQl9fRVhUX1lfREVMTQBAKD0pX19CT09UX0dSVUJfX0VYVF9ZX0xPQURNAAAAAEAoPSlfX0JP
T1RfR1JVQl9fRVhUX1lfTVBBVEgAREFUQQAANpgAAD/sAAA2oAAANqgAAAHMAAAAAP//////////
////////////////////////////////////////////////////////////////////////////
////////////////////AAAAAwB4AAAABAD4AAAL1P//////////AAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2FAAANigAADY4
AAA2TAAANmAAADZ0AAAAAAAAAAAAAAAAAAAAAAAAN2wAADbEAAA2zAAAAAAAAA8sAAAOcAAAAAEA
RgAAAAA4eAAAEOgAADhwAAA4cAAAN2wAADdsAAAQsAAAOQQAAAABAAA5EAAAAAEAADkUAAAAAgAA
ORgAAAACAAAAAAAAAAAAADkkAAA5LAAAOTAAADk4AAASvAAAAAMAUAAAAAQBqAAAFJQAADYUAAA4
5AAAOMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOgwAADoUAAA6GAAAOiAAABp4
AAAAAwBQAAAABAH4AAAahAAANhQAADnUAAA57AAAOfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAA8wAAAPMwAADzQAAA83AAAHwQAAAADAHgAAAAEAkgAAB8QAAA2FAAAPEwAADxcAAA8cAAA
PIQAADyYAAA8rAAAAAAAAAAAAAAAAAAAPmQAAAADAAAABwAAAAAAAD4gAAAnLAAAPlQAAAAHAAAA
AwAAAAAAAD4gAAAnjAAAPkQAAAADAAAABwAAAAAAAD4gAAAoCAAAPjQAAAADAAAABwAAAAAAAD4g
AAAotAAAPhAAAAADAAAABwAAAAAAAD4gAAApYAAAP+gAAAABAAA/8AAAAAEAAD/4AAAAAgAAQAQA
AAACAABADAAAAAMAAEAUAAAAAwAAAAAAAAAAAAAAAgAAAAAAAD+cAAAAAAAAAAIAAAAAAAA/vAAA
AAAAAAACAAAAAAAAAAAAAC7EAAAAAgAAAAAAAD/UAAAAAAAAAAIAAAAAAAA/qAAAAAAAAAACAAAA
AAAAAAAAAC2IAABAKAAAQDAAAEA0AABAPAAAKmAAAEAcAAAABwAAABcAAAAAAAA+IAAAL6AAAAAA
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////9UMzJF
)
RETURN
)
menu_64bit: ;(header, infix)
(
PMACRO.LOCK
(
PRIVATE &sHeader &sInfix &sMenuName
PARAMETERS &sHeader &sInfix
&sMenuName=TASK.TRANSPOSE.INFIX("&sHeader")
IF MENU.EXIST("TASK.&(sMenuName)")
MENU.Delete.NAME TASK.&(sMenuName)
IF MENU.EXIST("EXT.&(sMenuName)")
MENU.Delete.NAME EXT.&(sMenuName)
MENU.ReProgram
(&+
; --------------------------------------------------------------------------------
; @Title: GRand Unified Bootloader specific menu
; @Description: -
; @Keywords: GRUB menu awareness
; @Author: MSA
; @Copyright: (c) 1989-2018 Lauterbach GmbH, licensed for use with TRACE32(R) only
; --------------------------------------------------------------------------------
; $Id: grub.m 8396 2022-12-12 13:50:40Z amerkle $
NAME "TASK.&sMenuName"
IF !MENU.EXIST("TASK.&sMenuName")
(
ADD
MENU
(
POPUP "&GRUB"
(
DEFAULT
MENUITEM "[:objects]Display Current &Environment Var" "EXTension.&(sInfix)EnvVar /C"
MENUITEM "[:objects]Display &Initial Environment var" "EXTension.&(sInfix)EnvVar /I"
MENUITEM "[:objects]Display &Devices" "EXTension.&(sInfix)DEVices"
MENUITEM "[:objects]Display &FileSystem" "EXTension.&(sInfix)FileSystem"
MENUITEM "[:objects]Display &Modules" "EXTension.&(sInfix)MODule"
SEPARATOR
POPUP "&Module Debugging"
(
MENUITEM "[:symbols]&Load Symbols..."
(
DIALOG
(
HEADER "EXTension.sYmbol.LOADMod"
POS 0. 0. 30. 3.
BOX "Module name"
POS 1. 1. 20. 1.
modl: DEFEDIT "" ""
POS 22. 1. 7. 1.
BUTTON "Browse..."
(
PRIVATE &file
DIALOG.FILE "*.mod"
ENTRY %LINE &file
DIALOG.SET modl "&file"
)
POS 6. 3. 7. 1.
DEFBUTTON "Ok"
(
PRIVATE &modl
&modl=DIALOG.STRING(modl)
EXTension.&(sInfix)sYmbol.LOADMod "&modl"
DIALOG.END
)
POS 17. 3. 7. 1.
BUTTON "Cancel" "DIALOG.END"
)
)
MENUITEM "[:symbols]&Delete Symbols..."
(
DIALOG
(
HEADER "EXTension.sYmbol.DELeteMod"
POS 0. 0. 30. 3.
BOX "Module name"
POS 1. 1. 20. 1.
modd: DEFEDIT "" ""
POS 22. 1. 7. 1.
BUTTON "Browse..."
(
PRIVATE &file
DIALOG.FILE "*.mod"
ENTRY %LINE &file
DIALOG.SET modd "&file"
)
POS 6. 3. 7. 1.
DEFBUTTON "Ok"
(
PRIVATE &modd
&modd=DIALOG.STRING(modd)
EXTension.&(sInfix)sYmbol.DELeteMod "&modd"
DIALOG.END
)
POS 17. 3. 7. 1.
BUTTON "Cancel" "DIALOG.END"
)
)
MENUITEM "Wait for GRUB module..."
(
DO "~~/demo/arm/bootloader/grub/mod_debug"
)
)
)
)
)
)
)
PMACRO.UNLOCK
RETURN
)
autoload_64bit: ;(options)
(
PARAMETERS &sOptions
RETURN
)
menu_delete: ;(header)
(
PRIVATE &sHeader &sMenuName
PARAMETERS &sHeader
&sMenuName=TASK.TRANSPOSE.INFIX("&sHeader")
IF MENU.EXIST("TASK.&(sMenuName)")
MENU.Delete.NAME TASK.&(sMenuName)
IF MENU.EXIST("EXT.&(sMenuName)")
MENU.Delete.NAME EXT.&(sMenuName)
RETURN
)
autoload_delete: ;(options)
(
PARAMETERS &sOptionMachine
RETURN
)