optimization/7390: ICE with gcc 3.1, happens only with -march athlon

michaelnottebrock@gmx.net michaelnottebrock@gmx.net
Wed Jul 24 08:33:00 GMT 2002


>Number:         7390
>Category:       optimization
>Synopsis:       ICE with gcc 3.1, happens only with -march athlon
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          ice-on-legal-code
>Submitter-Id:   net
>Arrival-Date:   Wed Jul 24 04:46:03 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Michael Nottebrock
>Release:        gcc version 3.1 [FreeBSD] 20020509 (prerelease)
>Organization:
>Environment:
FreeBSD kiste.my.domain 5.0-CURRENT FreeBSD 5.0-CURRENT #0: Tue Jul 16 15:12:07 CEST 2002     lofi@kiste.my.domain:/usr/obj/usr/src/sys/KISTE  i386
>Description:
[lofi@kiste]:0:/usr/ports/x11-servers/XFree86-4-Server/work/xc/programs/Xserver/PEX5/ddpex/mi/level1 # gcc -v -save-temps -O -pipe -march=athlon -march=athlon  -ansi -pedantic -Dasm=__asm -Wall -Wpointer-arith   -fno-merge-constants -I.        -I../include    -I../../../../../../exports/include/X11         -I../../../include      -I../../../../../../programs/Xserver/include  -I../../../../../.. -I../../../../../../exports/include   -DCSRG_BASED -DSHAPE -DXINPUT -DXKB -DLBX -DXAPPGROUP -DXCSECURITY -DTOGCUP  -DXF86BIGFONT -DDPMSExtension   -DPANORAMIX  -DRENDER  -DGCCUSESGAS -DAVOID_GLYPHBLT -DPIXPRIV -DSINGLEDEPTH -DXFreeXDGA -DXvExtension -DXFree86LOADER  -DXFree86Server -DXF86VIDMODE -DXvMCExtension  -DSMART_SCHEDULE -DBUILDDEBUG -DX_BYTE_ORDER=X_LITTLE_ENDIAN -DNDEBUG  -DFUNCPROTO=15 -DNARROWPROTO  -DIN_MODULE -DXFree86Module    -c miPck1Prim.c
gcc: warning: -pipe ignored because -save-temps specified
Using built-in specs.
Configured with: FreeBSD/i386 system compiler
Thread model: posix
gcc version 3.1 [FreeBSD] 20020509 (prerelease)
 /usr/libexec/cpp0 -lang-c -std=c89 -v -I. -I../include -I../../../../../../exports/include/X11 -I../../../include -I../../../../../../programs/Xserver/include -I../../../../../.. -I../../../../../../exports/include -D__GNUC__=3 -D__GNUC_MINOR__=1 -D__GNUC_PATCHLEVEL__=0 -D__FreeBSD__=5 -D__FreeBSD_cc_version=500003 -D__unix__ -D__KPRINTF_ATTRIBUTE__ -D__unix -Asystem=unix -Asystem=bsd -Asystem=FreeBSD -D__OPTIMIZE__ -D__STDC_HOSTED__=1 -Acpu=i386 -Amachine=i386 -D__i386 -D__i386__ -D__athlon -D__athlon__ -D__tune_athlon__ -D__MMX__ -D__3dNOW__ -D__3dNOW_A__ -D__ELF__ -Dasm=__asm -DCSRG_BASED -DSHAPE -DXINPUT -DXKB -DLBX -DXAPPGROUP -DXCSECURITY -DTOGCUP -DXF86BIGFONT -DDPMSExtension -DPANORAMIX -DRENDER -DGCCUSESGAS -DAVOID_GLYPHBLT -DPIXPRIV -DSINGLEDEPTH -DXFreeXDGA -DXvExtension -DXFree86LOADER -DXFree86Server -DXF86VIDMODE -DXvMCExtension -DSMART_SCHEDULE -DBUILDDEBUG -DX_BYTE_ORDER=X_LITTLE_ENDIAN -DNDEBUG -DFUNCPROTO=15 -DNARROWPROTO -DIN_MODULE -DXFree86Module miPck1Prim.c -Wall -Wpointer-arith -pedantic miPck1Prim.i
GNU CPP version 3.1 [FreeBSD] 20020509 (prerelease) (cpplib) (i386 FreeBSD/ELF)
ignoring duplicate directory "/usr/include"
#include "..." search starts here:
#include <...> search starts here:
 .
 ../include
 ../../../../../../exports/include/X11
 ../../../include
 ../../../../../../programs/Xserver/include
 ../../../../../..
 ../../../../../../exports/include
 /usr/include
End of search list.
 /usr/libexec/cc1 -fpreprocessed miPck1Prim.i -quiet -dumpbase miPck1Prim.c -march=athlon -march=athlon -ansi -O -Wall -Wpointer-arith -pedantic -ansi -version -fno-merge-constants -o miPck1Prim.s
GNU CPP version 3.1 [FreeBSD] 20020509 (prerelease) (cpplib) (i386 FreeBSD/ELF)
GNU C version 3.1 [FreeBSD] 20020509 (prerelease) (i386-undermydesk-freebsd)
        compiled by GNU C version 3.1 [FreeBSD] 20020509 (prerelease).
miPck1Prim.c: In function `CheckFAreaPick1':
miPck1Prim.c:337: Internal compiler error in ix86_secondary_memory_needed, at config/i386/i386.c:12263
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
>How-To-Repeat:

>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="miPck1Prim.i"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="miPck1Prim.i"

IyAxICJtaVBjazFQcmltLmMiCiMgMSAiPGJ1aWx0LWluPiIKIyAxICI8Y29tbWFuZCBsaW5lPiIK
IyAxICJtaVBjazFQcmltLmMiCiMgNTEgIm1pUGNrMVByaW0uYyIKIyAxICIuLi9pbmNsdWRlL21p
UmVuZGVyLmgiIDEKIyA1NCAiLi4vaW5jbHVkZS9taVJlbmRlci5oIgojIDEgIi4uLy4uLy4uL2lu
Y2x1ZGUvZGRwZXguaCIgMQojIDUzICIuLi8uLi8uLi9pbmNsdWRlL2RkcGV4LmgiCiMgMSAiLi4v
Li4vLi4vLi4vLi4vLi4vZXhwb3J0cy9pbmNsdWRlL1gxMS9YLmgiIDEKIyA3MSAiLi4vLi4vLi4v
Li4vLi4vLi4vZXhwb3J0cy9pbmNsdWRlL1gxMS9YLmgiCnR5cGVkZWYgdW5zaWduZWQgbG9uZyBY
SUQ7CgoKCnR5cGVkZWYgdW5zaWduZWQgbG9uZyBNYXNrOwoKCgp0eXBlZGVmIHVuc2lnbmVkIGxv
bmcgQXRvbTsKCnR5cGVkZWYgdW5zaWduZWQgbG9uZyBWaXN1YWxJRDsKdHlwZWRlZiB1bnNpZ25l
ZCBsb25nIFRpbWU7CiMgMTAxICIuLi8uLi8uLi8uLi8uLi8uLi9leHBvcnRzL2luY2x1ZGUvWDEx
L1guaCIKdHlwZWRlZiBYSUQgV2luZG93Owp0eXBlZGVmIFhJRCBEcmF3YWJsZTsKCgp0eXBlZGVm
IFhJRCBGb250OwoKdHlwZWRlZiBYSUQgUGl4bWFwOwp0eXBlZGVmIFhJRCBDdXJzb3I7CnR5cGVk
ZWYgWElEIENvbG9ybWFwOwp0eXBlZGVmIFhJRCBHQ29udGV4dDsKdHlwZWRlZiBYSUQgS2V5U3lt
OwoKdHlwZWRlZiB1bnNpZ25lZCBjaGFyIEtleUNvZGU7CiMgNTQgIi4uLy4uLy4uL2luY2x1ZGUv
ZGRwZXguaCIgMgojIDEgIi4uLy4uLy4uL2luY2x1ZGUvUEVYLmgiIDEKIyA1NSAiLi4vLi4vLi4v
aW5jbHVkZS9kZHBleC5oIiAyCiMgMSAiLi4vLi4vLi4vLi4vLi4vLi4vcHJvZ3JhbXMvWHNlcnZl
ci9pbmNsdWRlL3BpeG1hcHN0ci5oIiAxCiMgNTEgIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2dyYW1z
L1hzZXJ2ZXIvaW5jbHVkZS9waXhtYXBzdHIuaCIKIyAxICIuLi8uLi8uLi8uLi8uLi8uLi9wcm9n
cmFtcy9Yc2VydmVyL2luY2x1ZGUvcGl4bWFwLmgiIDEKIyA1MSAiLi4vLi4vLi4vLi4vLi4vLi4v
cHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL3BpeG1hcC5oIgojIDEgIi4uLy4uLy4uLy4uLy4uLy4u
L3Byb2dyYW1zL1hzZXJ2ZXIvaW5jbHVkZS9taXNjLmgiIDEKIyA3NyAiLi4vLi4vLi4vLi4vLi4v
Li4vcHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL21pc2MuaCIKZXh0ZXJuIHVuc2lnbmVkIGxvbmcg
Z2xvYmFsU2VyaWFsTnVtYmVyOwpleHRlcm4gdW5zaWduZWQgbG9uZyBzZXJ2ZXJHZW5lcmF0aW9u
OwoKIyAxICIuLi8uLi8uLi8uLi8uLi8uLi9leHBvcnRzL2luY2x1ZGUvWDExL1hvc2RlZnMuaCIg
MQojIDgxICIuLi8uLi8uLi8uLi8uLi8uLi9wcm9ncmFtcy9Yc2VydmVyL2luY2x1ZGUvbWlzYy5o
IiAyCiMgMSAiLi4vLi4vLi4vLi4vLi4vLi4vZXhwb3J0cy9pbmNsdWRlL1gxMS9YZnVuY3Byb3Rv
LmgiIDEKIyA4MiAiLi4vLi4vLi4vLi4vLi4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL21p
c2MuaCIgMgojIDEgIi4uLy4uLy4uLy4uLy4uLy4uL2V4cG9ydHMvaW5jbHVkZS9YMTEvWG1kLmgi
IDEKIyAxMzMgIi4uLy4uLy4uLy4uLy4uLy4uL2V4cG9ydHMvaW5jbHVkZS9YMTEvWG1kLmgiCnR5
cGVkZWYgbG9uZyBJTlQzMjsKCnR5cGVkZWYgc2hvcnQgSU5UMTY7CgoKCnR5cGVkZWYgc2lnbmVk
IGNoYXIgSU5UODsKIyAxNDggIi4uLy4uLy4uLy4uLy4uLy4uL2V4cG9ydHMvaW5jbHVkZS9YMTEv
WG1kLmgiCnR5cGVkZWYgdW5zaWduZWQgbG9uZyBDQVJEMzI7Cgp0eXBlZGVmIHVuc2lnbmVkIHNo
b3J0IENBUkQxNjsKdHlwZWRlZiB1bnNpZ25lZCBjaGFyIENBUkQ4OwoKdHlwZWRlZiBDQVJEMzIg
QklUUzMyOwp0eXBlZGVmIENBUkQxNiBCSVRTMTY7CgoKdHlwZWRlZiBDQVJEOCBCWVRFOwp0eXBl
ZGVmIENBUkQ4IEJPT0w7CiMgODMgIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2dyYW1zL1hzZXJ2ZXIv
aW5jbHVkZS9taXNjLmgiIDIKCiMgMSAiLi4vLi4vLi4vLi4vLi4vLi4vZXhwb3J0cy9pbmNsdWRl
L1gxMS9YZGVmcy5oIiAxCiMgNDkgIi4uLy4uLy4uLy4uLy4uLy4uL2V4cG9ydHMvaW5jbHVkZS9Y
MTEvWGRlZnMuaCIKdHlwZWRlZiBpbnQgQm9vbDsKCgoKCgp0eXBlZGVmIHZvaWQgKnBvaW50ZXI7
CgoKCnR5cGVkZWYgc3RydWN0IF9DbGllbnQgKkNsaWVudFB0cjsKIyA4MyAiLi4vLi4vLi4vLi4v
Li4vLi4vZXhwb3J0cy9pbmNsdWRlL1gxMS9YZGVmcy5oIgp0eXBlZGVmIHN0cnVjdCBfRm9udCAq
Rm9udFB0cjsKIyA5MyAiLi4vLi4vLi4vLi4vLi4vLi4vZXhwb3J0cy9pbmNsdWRlL1gxMS9YZGVm
cy5oIgp0eXBlZGVmIHVuc2lnbmVkIGxvbmcgRlNJRDsKCgoKCgp0eXBlZGVmIEZTSUQgQWNjQ29u
dGV4dDsKCgoKdHlwZWRlZiBzdHJ1Y3QgdGltZXZhbCAqKk9TVGltZVB0cjsKCgp0eXBlZGVmIHZv
aWQgKCogQmxvY2tIYW5kbGVyUHJvY1B0cikocG9pbnRlciAsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBPU1RpbWVQdHIgLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcG9pbnRlciApOwojIDg1ICIuLi8uLi8uLi8uLi8uLi8uLi9wcm9ncmFtcy9Yc2Vy
dmVyL2luY2x1ZGUvbWlzYy5oIiAyCiMgMTAxICIuLi8uLi8uLi8uLi8uLi8uLi9wcm9ncmFtcy9Y
c2VydmVyL2luY2x1ZGUvbWlzYy5oIgp0eXBlZGVmIHVuc2lnbmVkIGxvbmcgUElYRUw7CnR5cGVk
ZWYgdW5zaWduZWQgbG9uZyBBVE9NOwojIDExMSAiLi4vLi4vLi4vLi4vLi4vLi4vcHJvZ3JhbXMv
WHNlcnZlci9pbmNsdWRlL21pc2MuaCIKdHlwZWRlZiBzdHJ1Y3QgX0NhbGxiYWNrTGlzdCAqQ2Fs
bGJhY2tMaXN0UHRyOwoKCgp0eXBlZGVmIHN0cnVjdCBfeFJlcSAqeFJlcVB0cjsKCiMgMSAiLi4v
Li4vLi4vLi4vLi4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL29zLmgiIDEKIyA1MyAiLi4v
Li4vLi4vLi4vLi4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL29zLmgiCiMgMSAiLi4vLi4v
Li4vLi4vLi4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL21pc2MuaCIgMQojIDU0ICIuLi8u
Li8uLi8uLi8uLi8uLi9wcm9ncmFtcy9Yc2VydmVyL2luY2x1ZGUvb3MuaCIgMgoKCiMgMSAiLi4v
Li4vLi4vLi4vLi4vLi4vZXhwb3J0cy9pbmNsdWRlL1gxMS9YYWxsb2NhLmgiIDEKIyA1NyAiLi4v
Li4vLi4vLi4vLi4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL29zLmgiIDIKCgoKIyAxICIu
Li8uLi8uLi8uLi8uLi8uLi9wcm9ncmFtcy9Yc2VydmVyL2luY2x1ZGUveGY4Nl9hbnNpYy5oIiAx
CiMgMzYgIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2dyYW1zL1hzZXJ2ZXIvaW5jbHVkZS94Zjg2X2Fu
c2ljLmgiCiMgMSAiL3Vzci9pbmNsdWRlL3N0ZGFyZy5oIiAxIDMKIyA0MSAiL3Vzci9pbmNsdWRl
L3N0ZGFyZy5oIiAzCiMgMSAiL3Vzci9pbmNsdWRlL21hY2hpbmUvYW5zaS5oIiAxIDMKIyA4MSAi
L3Vzci9pbmNsdWRlL21hY2hpbmUvYW5zaS5oIiAzCnR5cGVkZWYgX19idWlsdGluX3ZhX2xpc3Qg
X19nbnVjX3ZhX2xpc3Q7CiMgMTI0ICIvdXNyL2luY2x1ZGUvbWFjaGluZS9hbnNpLmgiIDMKdHlw
ZWRlZiBpbnQgX19hdHRyaWJ1dGVfXygoX19tb2RlX18oX19ESV9fKSkpIF9faW50NjRfdDsKdHlw
ZWRlZiB1bnNpZ25lZCBpbnQgX19hdHRyaWJ1dGVfXygoX19tb2RlX18oX19ESV9fKSkpIF9fdWlu
dDY0X3Q7CiMgMTM2ICIvdXNyL2luY2x1ZGUvbWFjaGluZS9hbnNpLmgiIDMKdHlwZWRlZiBfX3Np
Z25lZCBjaGFyIF9faW50OF90Owp0eXBlZGVmIHVuc2lnbmVkIGNoYXIgX191aW50OF90Owp0eXBl
ZGVmIHNob3J0IF9faW50MTZfdDsKdHlwZWRlZiB1bnNpZ25lZCBzaG9ydCBfX3VpbnQxNl90Owp0
eXBlZGVmIGludCBfX2ludDMyX3Q7CnR5cGVkZWYgdW5zaWduZWQgaW50IF9fdWludDMyX3Q7Cgp0
eXBlZGVmIGludCBfX2ludHB0cl90Owp0eXBlZGVmIHVuc2lnbmVkIGludCBfX3VpbnRwdHJfdDsK
CnR5cGVkZWYgX19zaWduZWQgY2hhciBfX2ludF9sZWFzdDhfdDsKdHlwZWRlZiB1bnNpZ25lZCBj
aGFyIF9fdWludF9sZWFzdDhfdDsKdHlwZWRlZiBzaG9ydCBfX2ludF9sZWFzdDE2X3Q7CnR5cGVk
ZWYgdW5zaWduZWQgc2hvcnQgX191aW50X2xlYXN0MTZfdDsKdHlwZWRlZiBpbnQgX19pbnRfbGVh
c3QzMl90Owp0eXBlZGVmIHVuc2lnbmVkIGludCBfX3VpbnRfbGVhc3QzMl90Owp0eXBlZGVmIF9f
aW50NjRfdCBfX2ludF9sZWFzdDY0X3Q7CnR5cGVkZWYgX191aW50NjRfdCBfX3VpbnRfbGVhc3Q2
NF90OwoKdHlwZWRlZiBpbnQgX19pbnRfZmFzdDhfdDsKdHlwZWRlZiB1bnNpZ25lZCBpbnQgX191
aW50X2Zhc3Q4X3Q7CnR5cGVkZWYgaW50IF9faW50X2Zhc3QxNl90Owp0eXBlZGVmIHVuc2lnbmVk
IGludCBfX3VpbnRfZmFzdDE2X3Q7CnR5cGVkZWYgaW50IF9faW50X2Zhc3QzMl90Owp0eXBlZGVm
IHVuc2lnbmVkIGludCBfX3VpbnRfZmFzdDMyX3Q7CnR5cGVkZWYgX19pbnQ2NF90IF9faW50X2Zh
c3Q2NF90Owp0eXBlZGVmIF9fdWludDY0X3QgX191aW50X2Zhc3Q2NF90OwoKdHlwZWRlZiBfX2lu
dDY0X3QgX19pbnRtYXhfdDsKdHlwZWRlZiBfX3VpbnQ2NF90IF9fdWludG1heF90OwojIDE4NCAi
L3Vzci9pbmNsdWRlL21hY2hpbmUvYW5zaS5oIiAzCnR5cGVkZWYgdW5pb24gewogICAgICAgIGNo
YXIgX19tYnN0YXRlOFsxMjhdOwogICAgICAgIF9faW50NjRfdCBfbWJzdGF0ZUw7Cn0gX19tYnN0
YXRlX3Q7CiMgNDIgIi91c3IvaW5jbHVkZS9zdGRhcmcuaCIgMiAzCgp0eXBlZGVmIF9fYnVpbHRp
bl92YV9saXN0IHZhX2xpc3Q7CiMgMzcgIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2dyYW1zL1hzZXJ2
ZXIvaW5jbHVkZS94Zjg2X2Fuc2ljLmgiIDIKIyA5MiAiLi4vLi4vLi4vLi4vLi4vLi4vcHJvZ3Jh
bXMvWHNlcnZlci9pbmNsdWRlL3hmODZfYW5zaWMuaCIKIyAxICIuLi8uLi8uLi8uLi8uLi8uLi9w
cm9ncmFtcy9Yc2VydmVyL2luY2x1ZGUveGY4Nl9saWJjLmgiIDEKIyAyMyAiLi4vLi4vLi4vLi4v
Li4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL3hmODZfbGliYy5oIgojIDEgIi4uLy4uLy4u
Ly4uLy4uLy4uL2V4cG9ydHMvaW5jbHVkZS9YMTEvWGZ1bmNzLmgiIDEKIyAyNCAiLi4vLi4vLi4v
Li4vLi4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL3hmODZfbGliYy5oIiAyCiMgNDAgIi4u
Ly4uLy4uLy4uLy4uLy4uL3Byb2dyYW1zL1hzZXJ2ZXIvaW5jbHVkZS94Zjg2X2xpYmMuaCIKdHlw
ZWRlZiB2b2lkIFhGODZGSUxFOwpleHRlcm4gWEY4NkZJTEUqIHhmODZzdGRpbjsKZXh0ZXJuIFhG
ODZGSUxFKiB4Zjg2c3Rkb3V0OwpleHRlcm4gWEY4NkZJTEUqIHhmODZzdGRlcnI7Cgp0eXBlZGVm
IHZvaWQgWEY4NmZwb3NfdDsKCgoKdHlwZWRlZiB2b2lkIFhGODZESVI7CgoKCgpzdHJ1Y3QgX3hm
ODZkaXJlbnQgewogICAgICAgIGNoYXIgZF9uYW1lWzI2MyArMV07Cn07CnR5cGVkZWYgc3RydWN0
IF94Zjg2ZGlyZW50IFhGODZESVJFTlQ7Cgp0eXBlZGVmIHVuc2lnbmVkIGxvbmcgeGY4NnNpemVf
dDsKdHlwZWRlZiBzaWduZWQgbG9uZyB4Zjg2c3NpemVfdDsKdHlwZWRlZiB1bnNpZ25lZCBsb25n
IHhmODZkZXZfdDsKdHlwZWRlZiB1bnNpZ25lZCBpbnQgeGY4Nm1vZGVfdDsKdHlwZWRlZiB1bnNp
Z25lZCBpbnQgeGY4NnVpZF90Owp0eXBlZGVmIHVuc2lnbmVkIGludCB4Zjg2Z2lkX3Q7CgpzdHJ1
Y3QgeGY4NnN0YXQgewogICAgeGY4NmRldl90IHN0X3JkZXY7Cn07CgoKdHlwZWRlZiBpbnQgeGY4
NmtleV90OwoKCnR5cGVkZWYgaW50IHhmODZqbXBfYnVmWzIwXTsKIyA5MyAiLi4vLi4vLi4vLi4v
Li4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL3hmODZfYW5zaWMuaCIgMgojIDE0NSAiLi4v
Li4vLi4vLi4vLi4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL3hmODZfYW5zaWMuaCIKZXh0
ZXJuIHZvaWQgeGY4NmFib3J0KHZvaWQpOwpleHRlcm4gaW50IHhmODZhYnMoaW50KTsKZXh0ZXJu
IGRvdWJsZSB4Zjg2YWNvcyhkb3VibGUpOwpleHRlcm4gZG91YmxlIHhmODZhc2luKGRvdWJsZSk7
CmV4dGVybiBkb3VibGUgeGY4NmF0YW4oZG91YmxlKTsKZXh0ZXJuIGRvdWJsZSB4Zjg2YXRhbjIo
ZG91YmxlLGRvdWJsZSk7CmV4dGVybiBkb3VibGUgeGY4NmF0b2YoY29uc3QgY2hhciopOwpleHRl
cm4gaW50IHhmODZhdG9pKGNvbnN0IGNoYXIqKTsKZXh0ZXJuIGxvbmcgeGY4NmF0b2woY29uc3Qg
Y2hhciopOwpleHRlcm4gdm9pZCAqeGY4NmJzZWFyY2goY29uc3Qgdm9pZCAqLCBjb25zdCB2b2lk
ICosIHhmODZzaXplX3QsIHhmODZzaXplX3QsCiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
KCopKGNvbnN0IHZvaWQgKiwgY29uc3Qgdm9pZCAqKSk7CmV4dGVybiBkb3VibGUgeGY4NmNlaWwo
ZG91YmxlKTsKZXh0ZXJuIHZvaWQqIHhmODZjYWxsb2MoeGY4NnNpemVfdCx4Zjg2c2l6ZV90KTsK
ZXh0ZXJuIHZvaWQgeGY4NmNsZWFyZXJyKFhGODZGSUxFKik7CmV4dGVybiBkb3VibGUgeGY4NmNv
cyhkb3VibGUpOwpleHRlcm4gdm9pZCB4Zjg2ZXhpdChpbnQpOwpleHRlcm4gZG91YmxlIHhmODZl
eHAoZG91YmxlKTsKZXh0ZXJuIGRvdWJsZSB4Zjg2ZmFicyhkb3VibGUpOwpleHRlcm4gaW50IHhm
ODZmY2xvc2UoWEY4NkZJTEUqKTsKZXh0ZXJuIGludCB4Zjg2ZmVvZihYRjg2RklMRSopOwpleHRl
cm4gaW50IHhmODZmZXJyb3IoWEY4NkZJTEUqKTsKZXh0ZXJuIGludCB4Zjg2ZmZsdXNoKFhGODZG
SUxFKik7CmV4dGVybiBpbnQgeGY4NmZnZXRjKFhGODZGSUxFKik7CmV4dGVybiBpbnQgeGY4Nmdl
dGMoWEY4NkZJTEUqKTsKZXh0ZXJuIGludCB4Zjg2ZmdldHBvcyhYRjg2RklMRSosWEY4NmZwb3Nf
dCopOwpleHRlcm4gY2hhciogeGY4NmZnZXRzKGNoYXIqLElOVDMyLFhGODZGSUxFKik7CmV4dGVy
biBpbnQgeGY4NmZpbml0ZShkb3VibGUpOwpleHRlcm4gZG91YmxlIHhmODZmbG9vcihkb3VibGUp
OwpleHRlcm4gZG91YmxlIHhmODZmbW9kKGRvdWJsZSxkb3VibGUpOwpleHRlcm4gWEY4NkZJTEUq
IHhmODZmb3Blbihjb25zdCBjaGFyKixjb25zdCBjaGFyKik7CmV4dGVybiBkb3VibGUgeGY4NmZy
ZXhwKGRvdWJsZSwgaW50Kik7CmV4dGVybiBpbnQgeGY4NnByaW50Zihjb25zdCBjaGFyKiwuLi4p
OwpleHRlcm4gaW50IHhmODZmcHJpbnRmKFhGODZGSUxFKixjb25zdCBjaGFyKiwuLi4pOwpleHRl
cm4gaW50IHhmODZmcHV0YyhpbnQsWEY4NkZJTEUqKTsKZXh0ZXJuIGludCB4Zjg2ZnB1dHMoY29u
c3QgY2hhciosWEY4NkZJTEUqKTsKZXh0ZXJuIHhmODZzaXplX3QgeGY4NmZyZWFkKHZvaWQqLHhm
ODZzaXplX3QseGY4NnNpemVfdCxYRjg2RklMRSopOwpleHRlcm4gdm9pZCB4Zjg2ZnJlZSh2b2lk
Kik7CmV4dGVybiBYRjg2RklMRSogeGY4NmZyZW9wZW4oY29uc3QgY2hhciosY29uc3QgY2hhcios
WEY4NkZJTEUqKTsKCmV4dGVybiBpbnQgeGY4NmZzY2FuZihYRjg2RklMRSosY29uc3QgY2hhcios
Li4uKTsKCgoKCmV4dGVybiBpbnQgeGY4NmZzZWVrKFhGODZGSUxFKixsb25nLGludCk7CmV4dGVy
biBpbnQgeGY4NmZzZXRwb3MoWEY4NkZJTEUqLGNvbnN0IFhGODZmcG9zX3QqKTsKZXh0ZXJuIGxv
bmcgeGY4NmZ0ZWxsKFhGODZGSUxFKik7CmV4dGVybiB4Zjg2c2l6ZV90IHhmODZmd3JpdGUoY29u
c3Qgdm9pZCoseGY4NnNpemVfdCx4Zjg2c2l6ZV90LFhGODZGSUxFKik7CmV4dGVybiBjaGFyKiB4
Zjg2Z2V0ZW52KGNvbnN0IGNoYXIqKTsKZXh0ZXJuIGludCB4Zjg2aXNhbG51bShpbnQpOwpleHRl
cm4gaW50IHhmODZpc2FscGhhKGludCk7CmV4dGVybiBpbnQgeGY4NmlzY250cmwoaW50KTsKZXh0
ZXJuIGludCB4Zjg2aXNkaWdpdChpbnQpOwpleHRlcm4gaW50IHhmODZpc2dyYXBoKGludCk7CmV4
dGVybiBpbnQgeGY4NmlzbG93ZXIoaW50KTsKZXh0ZXJuIGludCB4Zjg2aXNwcmludChpbnQpOwpl
eHRlcm4gaW50IHhmODZpc3B1bmN0KGludCk7CmV4dGVybiBpbnQgeGY4Nmlzc3BhY2UoaW50KTsK
ZXh0ZXJuIGludCB4Zjg2aXN1cHBlcihpbnQpOwpleHRlcm4gaW50IHhmODZpc3hkaWdpdChpbnQp
OwpleHRlcm4gbG9uZyB4Zjg2bGFicyhsb25nKTsKZXh0ZXJuIGRvdWJsZSB4Zjg2bGRleHAoZG91
YmxlLGludCk7CmV4dGVybiBkb3VibGUgeGY4NmxvZyhkb3VibGUpOwpleHRlcm4gZG91YmxlIHhm
ODZsb2cxMChkb3VibGUpOwpleHRlcm4gdm9pZCogeGY4Nm1hbGxvYyh4Zjg2c2l6ZV90KTsKZXh0
ZXJuIHZvaWQqIHhmODZtZW1jaHIoY29uc3Qgdm9pZCosaW50LHhmODZzaXplX3QpOwpleHRlcm4g
aW50IHhmODZtZW1jbXAoY29uc3Qgdm9pZCosY29uc3Qgdm9pZCoseGY4NnNpemVfdCk7CmV4dGVy
biB2b2lkKiB4Zjg2bWVtY3B5KHZvaWQqLGNvbnN0IHZvaWQqLHhmODZzaXplX3QpOwpleHRlcm4g
dm9pZCogeGY4Nm1lbW1vdmUodm9pZCosY29uc3Qgdm9pZCoseGY4NnNpemVfdCk7CmV4dGVybiB2
b2lkKiB4Zjg2bWVtc2V0KHZvaWQqLGludCx4Zjg2c2l6ZV90KTsKZXh0ZXJuIGRvdWJsZSB4Zjg2
bW9kZihkb3VibGUsZG91YmxlKik7CmV4dGVybiB2b2lkIHhmODZwZXJyb3IoY29uc3QgY2hhciop
OwpleHRlcm4gZG91YmxlIHhmODZwb3coZG91YmxlLGRvdWJsZSk7CmV4dGVybiB2b2lkIHhmODZx
c29ydCh2b2lkKiwgeGY4NnNpemVfdCwgeGY4NnNpemVfdCwKICAgICAgICAgICAgICAgICAgICAg
IGludCgqKShjb25zdCB2b2lkKiwgY29uc3Qgdm9pZCopKTsKZXh0ZXJuIHZvaWQqIHhmODZyZWFs
bG9jKHZvaWQqLHhmODZzaXplX3QpOwpleHRlcm4gaW50IHhmODZyZW1vdmUoY29uc3QgY2hhciop
OwpleHRlcm4gaW50IHhmODZyZW5hbWUoY29uc3QgY2hhciosY29uc3QgY2hhciopOwpleHRlcm4g
dm9pZCB4Zjg2cmV3aW5kKFhGODZGSUxFKik7CmV4dGVybiBpbnQgeGY4NnNldGJ1ZihYRjg2RklM
RSosY2hhciopOwpleHRlcm4gaW50IHhmODZzZXR2YnVmKFhGODZGSUxFKixjaGFyKixpbnQseGY4
NnNpemVfdCk7CmV4dGVybiBkb3VibGUgeGY4NnNpbihkb3VibGUpOwpleHRlcm4gaW50IHhmODZz
cHJpbnRmKGNoYXIqLGNvbnN0IGNoYXIqLC4uLik7CmV4dGVybiBpbnQgeGY4NnNucHJpbnRmKGNo
YXIqLHhmODZzaXplX3QsY29uc3QgY2hhciosLi4uKTsKZXh0ZXJuIGRvdWJsZSB4Zjg2c3FydChk
b3VibGUpOwoKZXh0ZXJuIGludCB4Zjg2c3NjYW5mKGNoYXIqLGNvbnN0IGNoYXIqLC4uLik7CgoK
CgpleHRlcm4gY2hhciogeGY4NnN0cmNhdChjaGFyKixjb25zdCBjaGFyKik7CmV4dGVybiBjaGFy
KiB4Zjg2c3RyY2hyKGNvbnN0IGNoYXIqLCBpbnQgYyk7CmV4dGVybiBpbnQgeGY4NnN0cmNtcChj
b25zdCBjaGFyKixjb25zdCBjaGFyKik7CmV4dGVybiBpbnQgeGY4NnN0cmNhc2VjbXAoY29uc3Qg
Y2hhciosY29uc3QgY2hhciopOwpleHRlcm4gY2hhciogeGY4NnN0cmNweShjaGFyKixjb25zdCBj
aGFyKik7CmV4dGVybiB4Zjg2c2l6ZV90IHhmODZzdHJjc3BuKGNvbnN0IGNoYXIqLGNvbnN0IGNo
YXIqKTsKZXh0ZXJuIGNoYXIqIHhmODZzdHJlcnJvcihpbnQpOwpleHRlcm4geGY4NnNpemVfdCB4
Zjg2c3RybGVuKGNvbnN0IGNoYXIqKTsKZXh0ZXJuIGNoYXIqIHhmODZzdHJuY2F0KGNoYXIgKiwg
Y29uc3QgY2hhciAqLCB4Zjg2c2l6ZV90KTsKZXh0ZXJuIGludCB4Zjg2c3RybmNtcChjb25zdCBj
aGFyKixjb25zdCBjaGFyKix4Zjg2c2l6ZV90KTsKZXh0ZXJuIGludCB4Zjg2c3RybmNhc2VjbXAo
Y29uc3QgY2hhciosY29uc3QgY2hhcioseGY4NnNpemVfdCk7CmV4dGVybiBjaGFyKiB4Zjg2c3Ry
bmNweShjaGFyKixjb25zdCBjaGFyKix4Zjg2c2l6ZV90KTsKZXh0ZXJuIGNoYXIqIHhmODZzdHJw
YnJrKGNvbnN0IGNoYXIqLGNvbnN0IGNoYXIqKTsKZXh0ZXJuIGNoYXIqIHhmODZzdHJyY2hyKGNv
bnN0IGNoYXIqLGludCk7CmV4dGVybiB4Zjg2c2l6ZV90IHhmODZzdHJzcG4oY29uc3QgY2hhcios
Y29uc3QgY2hhciopOwpleHRlcm4gY2hhciogeGY4NnN0cnN0cihjb25zdCBjaGFyKixjb25zdCBj
aGFyKik7CmV4dGVybiBkb3VibGUgeGY4NnN0cnRvZChjb25zdCBjaGFyKixjaGFyKiopOwpleHRl
cm4gY2hhciogeGY4NnN0cnRvayhjaGFyKixjb25zdCBjaGFyKik7CmV4dGVybiBsb25nIHhmODZz
dHJ0b2woY29uc3QgY2hhciosY2hhcioqLGludCk7CmV4dGVybiB1bnNpZ25lZCBsb25nIHhmODZz
dHJ0b3VsKGNvbnN0IGNoYXIqLGNoYXIqKixpbnQpOwpleHRlcm4gZG91YmxlIHhmODZ0YW4oZG91
YmxlKTsKZXh0ZXJuIFhGODZGSUxFKiB4Zjg2dG1wZmlsZSh2b2lkKTsKZXh0ZXJuIGNoYXIqIHhm
ODZ0bXBuYW0oY2hhciopOwpleHRlcm4gaW50IHhmODZ0b2xvd2VyKGludCk7CmV4dGVybiBpbnQg
eGY4NnRvdXBwZXIoaW50KTsKZXh0ZXJuIGludCB4Zjg2dW5nZXRjKGludCxYRjg2RklMRSopOwpl
eHRlcm4gaW50IHhmODZ2ZnByaW50ZihYRjg2RklMRSosY29uc3QgY2hhciosdmFfbGlzdCk7CmV4
dGVybiBpbnQgeGY4NnZzcHJpbnRmKGNoYXIqLGNvbnN0IGNoYXIqLHZhX2xpc3QpOwpleHRlcm4g
aW50IHhmODZ2c25wcmludGYoY2hhcioseGY4NnNpemVfdCxjb25zdCBjaGFyKix2YV9saXN0KTsK
CmV4dGVybiBpbnQgeGY4Nm9wZW4oY29uc3QgY2hhciosIGludCwuLi4pOwpleHRlcm4gaW50IHhm
ODZjbG9zZShpbnQpOwpleHRlcm4gbG9uZyB4Zjg2bHNlZWsoaW50LCBsb25nLCBpbnQpOwpleHRl
cm4gaW50IHhmODZpb2N0bChpbnQsIHVuc2lnbmVkIGxvbmcsIHBvaW50ZXIpOwpleHRlcm4geGY4
NnNzaXplX3QgeGY4NnJlYWQoaW50LCB2b2lkICosIHhmODZzaXplX3QpOwpleHRlcm4geGY4NnNz
aXplX3QgeGY4NndyaXRlKGludCwgY29uc3Qgdm9pZCAqLCB4Zjg2c2l6ZV90KTsKZXh0ZXJuIHZv
aWQqIHhmODZtbWFwKHZvaWQqLCB4Zjg2c2l6ZV90LCBpbnQsIGludCwgaW50LCB4Zjg2c2l6ZV90
ICk7CmV4dGVybiBpbnQgeGY4Nm11bm1hcCh2b2lkKiwgeGY4NnNpemVfdCk7CmV4dGVybiBpbnQg
eGY4NnN0YXQoY29uc3QgY2hhciAqLCBzdHJ1Y3QgeGY4NnN0YXQgKik7CmV4dGVybiBpbnQgeGY4
NmZzdGF0KGludCwgc3RydWN0IHhmODZzdGF0ICopOwpleHRlcm4gaW50IHhmODZhY2Nlc3MoY29u
c3QgY2hhciAqLCBpbnQpOwpleHRlcm4gaW50IHhmODZlcnJubzsKZXh0ZXJuIGludCB4Zjg2R2V0
RXJybm8odm9pZCk7CgpleHRlcm4gZG91YmxlIHhmODZIVUdFX1ZBTDsKCmV4dGVybiBkb3VibGUg
eGY4Nmh5cG90KGRvdWJsZSxkb3VibGUpOwoKCmV4dGVybiBYRjg2RElSKiB4Zjg2b3BlbmRpcihj
b25zdCBjaGFyKik7CmV4dGVybiBpbnQgeGY4NmNsb3NlZGlyKFhGODZESVIqKTsKZXh0ZXJuIFhG
ODZESVJFTlQqIHhmODZyZWFkZGlyKFhGODZESVIqKTsKZXh0ZXJuIHZvaWQgeGY4NnJld2luZGRp
cihYRjg2RElSKik7CmV4dGVybiB2b2lkIHhmODZiY29weShjb25zdCB2b2lkKix2b2lkKix4Zjg2
c2l6ZV90KTsKZXh0ZXJuIGludCB4Zjg2ZmZzKGludCk7CmV4dGVybiBjaGFyKiB4Zjg2c3RyZHVw
KGNvbnN0IGNoYXIqKTsKZXh0ZXJuIHZvaWQgeGY4NmJ6ZXJvKHZvaWQqLHVuc2lnbmVkIGludCk7
CmV4dGVybiBpbnQgeGY4NmV4ZWNsKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCAuLi4pOwpl
eHRlcm4gbG9uZyB4Zjg2ZnBvc3NpemUodm9pZCk7CmV4dGVybiBpbnQgeGY4NmNobW9kKGNvbnN0
IGNoYXIgKiwgeGY4Nm1vZGVfdCk7CmV4dGVybiBpbnQgeGY4NmNob3duKGNvbnN0IGNoYXIgKiwg
eGY4NnVpZF90LCB4Zjg2Z2lkX3QpOwpleHRlcm4geGY4NnVpZF90IHhmODZnZXRldWlkKHZvaWQp
OwpleHRlcm4geGY4NmdpZF90IHhmODZnZXRlZ2lkKHZvaWQpOwpleHRlcm4gaW50IHhmODZnZXRw
aWQodm9pZCk7CmV4dGVybiBpbnQgeGY4Nm1rbm9kKGNvbnN0IGNoYXIgKiwgeGY4Nm1vZGVfdCwg
eGY4NmRldl90KTsKZXh0ZXJuIGludCB4Zjg2bWtkaXIoY29uc3QgY2hhciAqLCB4Zjg2bW9kZV90
KTsKdW5zaWduZWQgaW50IHhmODZzbGVlcCh1bnNpZ25lZCBpbnQgc2Vjb25kcyk7CgpleHRlcm4g
aW50IHhmODZzaG1nZXQoeGY4NmtleV90IGtleSwgaW50IHNpemUsIGludCB4Zjg2c2htZmxnKTsK
ZXh0ZXJuIGNoYXIgKiB4Zjg2c2htYXQoaW50IGlkLCBjaGFyICphZGRyLCBpbnQgeGY4NnNobWZs
Zyk7CmV4dGVybiBpbnQgeGY4NnNobWR0KGNoYXIgKmFkZHIpOwpleHRlcm4gaW50IHhmODZzaG1j
dGwoaW50IGlkLCBpbnQgeGY4NmNtZCwgcG9pbnRlciBidWYpOwpleHRlcm4gaW50IHhmODZzZXRq
bXAoeGY4NmptcF9idWYgZW52KTsKZXh0ZXJuIHZvaWQgeGY4NmxvbmdqbXAoeGY4NmptcF9idWYg
ZW52LCBpbnQgdmFsKTsKIyAzMzEgIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2dyYW1zL1hzZXJ2ZXIv
aW5jbHVkZS94Zjg2X2Fuc2ljLmgiCmV4dGVybiBpbnQgeGY4NmdldHBhZ2VzaXplKHZvaWQpOwpl
eHRlcm4gdm9pZCB4Zjg2dXNsZWVwKHVuc2lnbmVkIGxvbmcpOwpleHRlcm4gdm9pZCB4Zjg2Z2V0
c2Vjcyhsb25nICosIGxvbmcgKik7CiMgNjEgIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2dyYW1zL1hz
ZXJ2ZXIvaW5jbHVkZS9vcy5oIiAyCiMgNzcgIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2dyYW1zL1hz
ZXJ2ZXIvaW5jbHVkZS9vcy5oIgp0eXBlZGVmIHBvaW50ZXIgRklEOwp0eXBlZGVmIHN0cnVjdCBf
Rm9udFBhdGhSZWMgKkZvbnRQYXRoUHRyOwp0eXBlZGVmIHN0cnVjdCBfTmV3Q2xpZW50UmVjICpO
ZXdDbGllbnRQdHI7CiMgMTA4ICIuLi8uLi8uLi8uLi8uLi8uLi9wcm9ncmFtcy9Yc2VydmVyL2lu
Y2x1ZGUvb3MuaCIKZXh0ZXJuIEJvb2wgT3NEZWxheUluaXRDb2xvcnM7CmV4dGVybiB2b2lkICgq
T3NWZW5kb3JWRXJyb3JGUHJvYykoY29uc3QgY2hhciAqLCB2YV9saXN0IGFyZ3MpOwoKZXh0ZXJu
IGludCBXYWl0Rm9yU29tZXRoaW5nKAoKICAgIGludCoKCik7CgoKCmV4dGVybiBpbnQgU3RhbmRh
cmRSZWFkUmVxdWVzdEZyb21DbGllbnQoCgogICAgQ2xpZW50UHRyCgopOwoKZXh0ZXJuIGludCBD
bGllbnRDb25uZWN0aW9uTnVtYmVyKAoKICAgIENsaWVudFB0cgoKKTsKIyAxMzggIi4uLy4uLy4u
Ly4uLy4uLy4uL3Byb2dyYW1zL1hzZXJ2ZXIvaW5jbHVkZS9vcy5oIgpleHRlcm4gQm9vbCBJbnNl
cnRGYWtlUmVxdWVzdCgKCiAgICBDbGllbnRQdHIgLAogICAgY2hhciogLAogICAgaW50CgopOwoK
ZXh0ZXJuIHZvaWQgUmVzZXRDdXJyZW50UmVxdWVzdCgKCiAgICBDbGllbnRQdHIKCik7CgpleHRl
cm4gdm9pZCBGbHVzaEFsbE91dHB1dCgKCiAgICB2b2lkCgopOwoKZXh0ZXJuIHZvaWQgRmx1c2hJ
ZkNyaXRpY2FsT3V0cHV0UGVuZGluZygKCiAgICB2b2lkCgopOwoKZXh0ZXJuIHZvaWQgU2V0Q3Jp
dGljYWxPdXRwdXRQZW5kaW5nKAoKICAgIHZvaWQKCik7CgpleHRlcm4gaW50IFdyaXRlVG9DbGll
bnQoCgogICAgQ2xpZW50UHRyICwKICAgIGludCAsCiAgICBjaGFyKgoKKTsKCmV4dGVybiB2b2lk
IFJlc2V0T3NCdWZmZXJzKAoKICAgIHZvaWQKCik7CgpleHRlcm4gdm9pZCBJbml0Q29ubmVjdGlv
bkxpbWl0cygKCiAgICB2b2lkCgopOwoKZXh0ZXJuIHZvaWQgQ3JlYXRlV2VsbEtub3duU29ja2V0
cygKCiAgICB2b2lkCgopOwoKZXh0ZXJuIHZvaWQgUmVzZXRXZWxsS25vd25Tb2NrZXRzKAoKICAg
IHZvaWQKCik7CgpleHRlcm4gdm9pZCBDbG9zZVdlbGxLbm93bkNvbm5lY3Rpb25zKAoKICAgIHZv
aWQKCik7CgpleHRlcm4gWElECkF1dGhvcml6YXRpb25JRE9mQ2xpZW50KAoKICAgIENsaWVudFB0
cgoKKTsKCmV4dGVybiBjaGFyICpDbGllbnRBdXRob3JpemVkKAoKICAgIENsaWVudFB0ciAsCiAg
ICB1bnNpZ25lZCBpbnQgLAogICAgY2hhciogLAogICAgdW5zaWduZWQgaW50ICwKICAgIGNoYXIq
CgopOwoKZXh0ZXJuIEJvb2wgRXN0YWJsaXNoTmV3Q29ubmVjdGlvbnMoCgogICAgQ2xpZW50UHRy
ICwKICAgIHBvaW50ZXIKCik7CgpleHRlcm4gdm9pZCBDaGVja0Nvbm5lY3Rpb25zKAoKICAgIHZv
aWQKCik7CgpleHRlcm4gdm9pZCBDbG9zZURvd25Db25uZWN0aW9uKAoKICAgIENsaWVudFB0cgoK
KTsKCmV4dGVybiB2b2lkIEFkZEVuYWJsZWREZXZpY2UoCgogICAgaW50CgopOwoKZXh0ZXJuIHZv
aWQgUmVtb3ZlRW5hYmxlZERldmljZSgKCiAgICBpbnQKCik7CgpleHRlcm4gdm9pZCBPbmx5TGlz
dGVuVG9PbmVDbGllbnQoCgogICAgQ2xpZW50UHRyCgopOwoKZXh0ZXJuIHZvaWQgTGlzdGVuVG9B
bGxDbGllbnRzKAoKICAgIHZvaWQKCik7CgpleHRlcm4gdm9pZCBJZ25vcmVDbGllbnQoCgogICAg
Q2xpZW50UHRyCgopOwoKZXh0ZXJuIHZvaWQgQXR0ZW5kQ2xpZW50KAoKICAgIENsaWVudFB0cgoK
KTsKCmV4dGVybiB2b2lkIE1ha2VDbGllbnRHcmFiSW1wZXJ2aW91cygKCiAgICBDbGllbnRQdHIK
Cik7CgpleHRlcm4gdm9pZCBNYWtlQ2xpZW50R3JhYlBlcnZpb3VzKAoKICAgIENsaWVudFB0cgoK
KTsKCgpleHRlcm4gdm9pZCBDbG9zZURvd25GaWxlRGVzY3JpcHRvcigKCiAgICBDbGllbnRQdHIK
Cik7CgoKZXh0ZXJuIHZvaWQgQXZhaWxhYmxlQ2xpZW50SW5wdXQoCgogICAgQ2xpZW50UHRyCgop
OwoKZXh0ZXJuIHZvaWQgRXJyb3IoCgogICAgY2hhcioKCik7CgpleHRlcm4gQ0FSRDMyIEdldFRp
bWVJbk1pbGxpcygKCiAgICB2b2lkCgopOwoKZXh0ZXJuIHZvaWQgQWRqdXN0V2FpdEZvckRlbGF5
KAoKICAgIHBvaW50ZXIgLAogICAgdW5zaWduZWQgbG9uZwoKKTsKCnR5cGVkZWYgc3RydWN0IF9P
c1RpbWVyUmVjICpPc1RpbWVyUHRyOwoKdHlwZWRlZiBDQVJEMzIgKCpPc1RpbWVyQ2FsbGJhY2sp
KAoKICAgIE9zVGltZXJQdHIgLAogICAgQ0FSRDMyICwKICAgIHBvaW50ZXIKCik7CgpleHRlcm4g
dm9pZCBUaW1lckluaXQoCgogICAgdm9pZAoKKTsKCmV4dGVybiBCb29sIFRpbWVyRm9yY2UoCgog
ICAgT3NUaW1lclB0cgoKKTsKCgoKCmV4dGVybiBPc1RpbWVyUHRyIFRpbWVyU2V0KAoKICAgIE9z
VGltZXJQdHIgLAogICAgaW50ICwKICAgIENBUkQzMiAsCiAgICBPc1RpbWVyQ2FsbGJhY2sgLAog
ICAgcG9pbnRlcgoKKTsKCmV4dGVybiB2b2lkIFRpbWVyQ2hlY2soCgogICAgdm9pZAoKKTsKCmV4
dGVybiB2b2lkIFRpbWVyQ2FuY2VsKAoKICAgIE9zVGltZXJQdHIKCik7CgpleHRlcm4gdm9pZCBU
aW1lckZyZWUoCgogICAgT3NUaW1lclB0cgoKKTsKCmV4dGVybiB2b2lkIEF1dG9SZXNldFNlcnZl
cigKCiAgICBpbnQKCik7CgpleHRlcm4gdm9pZCBHaXZlVXAoCgogICAgaW50CgopOwoKZXh0ZXJu
IHZvaWQgVXNlTXNnKAoKICAgIHZvaWQKCik7CgpleHRlcm4gdm9pZCBQcm9jZXNzQ29tbWFuZExp
bmUoCgogICAgaW50ICwKICAgIGNoYXIqIFtdCgopOwoKZXh0ZXJuIHBvaW50ZXIgWGFsbG9jKAoK
ICAgIHVuc2lnbmVkIGxvbmcKCik7CgpleHRlcm4gcG9pbnRlciBYTkZhbGxvYygKCiAgICB1bnNp
Z25lZCBsb25nCgopOwoKZXh0ZXJuIHBvaW50ZXIgWGNhbGxvYygKCiAgICB1bnNpZ25lZCBsb25n
CgopOwoKZXh0ZXJuIHBvaW50ZXIgWE5GY2FsbG9jKAoKICAgIHVuc2lnbmVkIGxvbmcKCik7Cgpl
eHRlcm4gcG9pbnRlciBYcmVhbGxvYygKCiAgICBwb2ludGVyICwKICAgIHVuc2lnbmVkIGxvbmcK
Cik7CgpleHRlcm4gcG9pbnRlciBYTkZyZWFsbG9jKAoKICAgIHBvaW50ZXIgLAogICAgdW5zaWdu
ZWQgbG9uZwoKKTsKCmV4dGVybiB2b2lkIFhmcmVlKAoKICAgIHBvaW50ZXIKCik7CgpleHRlcm4g
dm9pZCBPc0luaXRBbGxvY2F0b3IoCgogICAgdm9pZAoKKTsKCmV4dGVybiBjaGFyICpYc3RyZHVw
KGNvbnN0IGNoYXIgKnMpOwpleHRlcm4gY2hhciAqWE5Gc3RyZHVwKGNvbnN0IGNoYXIgKnMpOwoK
dHlwZWRlZiB2b2lkICgqT3NTaWdIYW5kbGVyUHRyKSgKCiAgICBpbnQKCik7CgpleHRlcm4gT3NT
aWdIYW5kbGVyUHRyIE9zU2lnbmFsKAoKICAgIGludCAsCiAgICBPc1NpZ0hhbmRsZXJQdHIKCik7
CgpleHRlcm4gaW50IGF1ZGl0VHJhaWxMZXZlbDsKCmV4dGVybiB2b2lkIEF1ZGl0UHJlZml4KAoK
ICAgIGNvbnN0IGNoYXIgKgoKKTsKCmV4dGVybiB2b2lkIEF1ZGl0RigKCiAgICBjb25zdCBjaGFy
KiAsCiAgICAuLi4KCik7CgpleHRlcm4gdm9pZCBGYXRhbEVycm9yKAoKICAgIGNvbnN0IGNoYXIq
ICwKICAgIC4uLgoKKQoKX19hdHRyaWJ1dGUoKG5vcmV0dXJuKSkKCjsKCmV4dGVybiB2b2lkIEVy
cm9yRigKCiAgICBjb25zdCBjaGFyKiAsCiAgICAuLi4KCik7CgoKZXh0ZXJuIHZvaWQgVkVycm9y
Rihjb25zdCBjaGFyICpmLCB2YV9saXN0IGFyZ3MpOwojIDUyMCAiLi4vLi4vLi4vLi4vLi4vLi4v
cHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL29zLmgiCmV4dGVybiBpbnQgT3NMb29rdXBDb2xvcigK
CiAgICBpbnQgLAogICAgY2hhciAqICwKICAgIHVuc2lnbmVkICwKICAgIHVuc2lnbmVkIHNob3J0
ICogLAogICAgdW5zaWduZWQgc2hvcnQgKiAsCiAgICB1bnNpZ25lZCBzaG9ydCAqCgopOwoKZXh0
ZXJuIHZvaWQgT3NJbml0KAoKICAgIHZvaWQKCik7CgpleHRlcm4gdm9pZCBPc0NsZWFudXAoCgog
ICAgdm9pZAoKKTsKCmV4dGVybiB2b2lkIE9zVmVuZG9yRmF0YWxFcnJvcigKCiAgICB2b2lkCgop
OwoKZXh0ZXJuIHZvaWQgT3NWZW5kb3JJbml0KAoKICAgIHZvaWQKCik7CgpleHRlcm4gaW50IE9z
SW5pdENvbG9ycygKCiAgICB2b2lkCgopOwoKdm9pZCBPc0Jsb2NrU2lnbmFscyAoCgogICAgICAg
ICAgICAgICAgICAgICB2b2lkCgogICAgICAgICAgICAgICAgICAgICApOwoKdm9pZCBPc1JlbGVh
c2VTaWduYWxzICgKCiAgICAgICAgICAgICAgICAgICAgIHZvaWQKCiAgICAgICAgICAgICAgICAg
ICAgICk7CgoKZXh0ZXJuIGludCBTeXN0ZW0oY2hhciAqKTsKZXh0ZXJuIHBvaW50ZXIgUG9wZW4o
Y2hhciAqLCBjaGFyICopOwpleHRlcm4gaW50IFBjbG9zZShwb2ludGVyKTsKCgoKCgoKZXh0ZXJu
IHZvaWQgQ2hlY2tVc2VyUGFyYW1ldGVycyhpbnQgYXJnYywgY2hhciAqKmFyZ3YsIGNoYXIgKipl
bnZwKTsKZXh0ZXJuIHZvaWQgQ2hlY2tVc2VyQXV0aG9yaXphdGlvbih2b2lkKTsKCmV4dGVybiBp
bnQgQWRkSG9zdCgKCiAgICBDbGllbnRQdHIgLAogICAgaW50ICwKICAgIHVuc2lnbmVkICwKICAg
IHBvaW50ZXIKCik7CgpleHRlcm4gQm9vbCBGb3JFYWNoSG9zdEluRmFtaWx5ICgKCiAgICBpbnQg
LAogICAgQm9vbCAoKiApKAoKICAgICAgICAgICAgdW5zaWduZWQgY2hhciAqICwKICAgICAgICAg
ICAgc2hvcnQgLAogICAgICAgICAgICBwb2ludGVyCgogICAgICAgICAgICApLAogICAgcG9pbnRl
cgoKKTsKCmV4dGVybiBpbnQgUmVtb3ZlSG9zdCgKCiAgICBDbGllbnRQdHIgLAogICAgaW50ICwK
ICAgIHVuc2lnbmVkICwKICAgIHBvaW50ZXIKCik7CgpleHRlcm4gaW50IEdldEhvc3RzKAoKICAg
IHBvaW50ZXIgKiAsCiAgICBpbnQgKiAsCiAgICBpbnQgKiAsCiAgICBCT09MICoKCik7Cgp0eXBl
ZGVmIHN0cnVjdCBzb2NrYWRkciAqIHNvY2thZGRyUHRyOwoKZXh0ZXJuIGludCBJbnZhbGlkSG9z
dCgKCiAgICBzb2NrYWRkclB0ciAsCiAgICBpbnQKCik7CgpleHRlcm4gaW50IExvY2FsQ2xpZW50
KAoKICAgIENsaWVudFB0cgoKKTsKCmV4dGVybiBpbnQgQ2hhbmdlQWNjZXNzQ29udHJvbCgKCiAg
ICBDbGllbnRQdHIgLAogICAgaW50CgopOwoKZXh0ZXJuIGludCBHZXRBY2Nlc3NDb250cm9sKAoK
ICAgIHZvaWQKCik7CgoKZXh0ZXJuIHZvaWQgQWRkTG9jYWxIb3N0cygKCiAgICB2b2lkCgopOwoK
ZXh0ZXJuIHZvaWQgUmVzZXRIb3N0cygKCiAgICBjaGFyICpkaXNwbGF5CgopOwoKZXh0ZXJuIHZv
aWQgRW5hYmxlTG9jYWxIb3N0KAoKICAgIHZvaWQKCik7CgpleHRlcm4gdm9pZCBEaXNhYmxlTG9j
YWxIb3N0KAoKICAgIHZvaWQKCik7CgpleHRlcm4gdm9pZCBBY2Nlc3NVc2luZ1hkbWNwKAoKICAg
IHZvaWQKCik7CgpleHRlcm4gdm9pZCBEZWZpbmVTZWxmKAoKICAgIGludAoKKTsKCmV4dGVybiB2
b2lkIEF1Z21lbnRTZWxmKAoKICAgIHBvaW50ZXIgLAogICAgaW50CgopOwoKZXh0ZXJuIHZvaWQg
SW5pdEF1dGhvcml6YXRpb24oCgogICAgY2hhciAqCgopOwoKZXh0ZXJuIGludCBMb2FkQXV0aG9y
aXphdGlvbigKCiAgICB2b2lkCgopOwoKZXh0ZXJuIHZvaWQgUmVnaXN0ZXJBdXRob3JpemF0aW9u
cygKCiAgICB2b2lkCgopOwoKZXh0ZXJuIFhJRCBBdXRob3JpemF0aW9uVG9JRCAoCiAgICAgICAg
dW5zaWduZWQgc2hvcnQgbmFtZV9sZW5ndGgsCiAgICAgICAgY2hhciAqbmFtZSwKICAgICAgICB1
bnNpZ25lZCBzaG9ydCBkYXRhX2xlbmd0aCwKICAgICAgICBjaGFyICpkYXRhKTsKCmV4dGVybiBp
bnQgQXV0aG9yaXphdGlvbkZyb21JRCAoCiAgICAgICAgWElEIGlkLAogICAgICAgIHVuc2lnbmVk
IHNob3J0ICpuYW1lX2xlbnAsCiAgICAgICAgY2hhciAqKm5hbWVwLAogICAgICAgIHVuc2lnbmVk
IHNob3J0ICpkYXRhX2xlbnAsCiAgICAgICAgY2hhciAqKmRhdGFwKTsKCmV4dGVybiBYSUQgQ2hl
Y2tBdXRob3JpemF0aW9uKAoKICAgIHVuc2lnbmVkIGludCAsCiAgICBjaGFyICogLAogICAgdW5z
aWduZWQgaW50ICwKICAgIGNoYXIgKiAsCiAgICBDbGllbnRQdHIgLAogICAgY2hhciAqKgoKKTsK
CmV4dGVybiB2b2lkIFJlc2V0QXV0aG9yaXphdGlvbigKCiAgICB2b2lkCgopOwoKZXh0ZXJuIGlu
dCBSZW1vdmVBdXRob3JpemF0aW9uICgKICAgIHVuc2lnbmVkIHNob3J0IG5hbWVfbGVuZ3RoLAog
ICAgY2hhciAqbmFtZSwKICAgIHVuc2lnbmVkIHNob3J0IGRhdGFfbGVuZ3RoLAogICAgY2hhciAq
ZGF0YSk7CgpleHRlcm4gaW50IEFkZEF1dGhvcml6YXRpb24oCgogICAgdW5zaWduZWQgaW50ICwK
ICAgIGNoYXIgKiAsCiAgICB1bnNpZ25lZCBpbnQgLAogICAgY2hhciAqCgopOwoKZXh0ZXJuIFhJ
RCBHZW5lcmF0ZUF1dGhvcml6YXRpb24oCgogICAgdW5zaWduZWQgaW50ICwKICAgIGNoYXIgKiAs
CiAgICB1bnNpZ25lZCBpbnQgLAogICAgY2hhciAqICwKICAgIHVuc2lnbmVkIGludCAqICwKICAg
IGNoYXIgKioKCik7CiMgNzgyICIuLi8uLi8uLi8uLi8uLi8uLi9wcm9ncmFtcy9Yc2VydmVyL2lu
Y2x1ZGUvb3MuaCIKZXh0ZXJuIGludCBkZHhQcm9jZXNzQXJndW1lbnQoCgogICAgaW50ICwKICAg
IGNoYXIgKiBbXSwKICAgIGludAoKKTsKCmV4dGVybiB2b2lkIGRkeFVzZU1zZyh2b2lkKTsKCgoK
Cgp4UmVxUHRyIFBlZWtOZXh0UmVxdWVzdCgKCiAgICB4UmVxUHRyIHJlcSwgQ2xpZW50UHRyIGNs
aWVudCwgQm9vbCByZWFkbW9yZQoKKTsKCnZvaWQgU2tpcFJlcXVlc3RzKAoKICAgIHhSZXFQdHIg
cmVxLCBDbGllbnRQdHIgY2xpZW50LCBpbnQgbnVtc2tpcHBlZAoKKTsKIyA4MzIgIi4uLy4uLy4u
Ly4uLy4uLy4uL3Byb2dyYW1zL1hzZXJ2ZXIvaW5jbHVkZS9vcy5oIgpleHRlcm4gQ2FsbGJhY2tM
aXN0UHRyIFNraXBwZWRSZXF1ZXN0c0NhbGxiYWNrOwp0eXBlZGVmIHN0cnVjdCB7CiAgICB4UmVx
UHRyIHJlcTsKICAgIENsaWVudFB0ciBjbGllbnQ7CiAgICBpbnQgbnVtc2tpcHBlZDsKfSBTa2lw
cGVkUmVxdWVzdEluZm9SZWM7CgoKZXh0ZXJuIENhbGxiYWNrTGlzdFB0ciBSZXBseUNhbGxiYWNr
Owp0eXBlZGVmIHN0cnVjdCB7CiAgICBDbGllbnRQdHIgY2xpZW50OwogICAgcG9pbnRlciByZXBs
eURhdGE7CiAgICB1bnNpZ25lZCBsb25nIGRhdGFMZW5CeXRlczsKICAgIHVuc2lnbmVkIGxvbmcg
Ynl0ZXNSZW1haW5pbmc7CiAgICBCb29sIHN0YXJ0T2ZSZXBseTsKfSBSZXBseUluZm9SZWM7CgoK
ZXh0ZXJuIENhbGxiYWNrTGlzdFB0ciBGbHVzaENhbGxiYWNrOwoKZXh0ZXJuIHZvaWQgQWJvcnRE
RFgodm9pZCk7CmV4dGVybiB2b2lkIGRkeEdpdmVVcCh2b2lkKTsKZXh0ZXJuIGludCBUaW1lU2lu
Y2VMYXN0SW5wdXRFdmVudCh2b2lkKTsKIyAxMTggIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2dyYW1z
L1hzZXJ2ZXIvaW5jbHVkZS9taXNjLmgiIDIKIyAyNDAgIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2dy
YW1zL1hzZXJ2ZXIvaW5jbHVkZS9taXNjLmgiCmV4dGVybiB2b2lkIFN3YXBMb25ncygKCiAgICBD
QVJEMzIgKmxpc3QsCiAgICB1bnNpZ25lZCBsb25nIGNvdW50CgopOwoKZXh0ZXJuIHZvaWQgU3dh
cFNob3J0cygKCiAgICBzaG9ydCAqbGlzdCwKICAgIHVuc2lnbmVkIGxvbmcgY291bnQKCik7Cgpl
eHRlcm4gdm9pZCBNYWtlUHJlZGVjbGFyZWRBdG9tcygKCiAgICB2b2lkCgopOwoKZXh0ZXJuIGlu
dCBPbmVzKAoKICAgIHVuc2lnbmVkIGxvbmcKCik7Cgp0eXBlZGVmIHN0cnVjdCBfeFBvaW50ICpE
RFhQb2ludFB0cjsKdHlwZWRlZiBzdHJ1Y3QgX0JveCAqQm94UHRyOwp0eXBlZGVmIHN0cnVjdCBf
eEV2ZW50ICp4RXZlbnRQdHI7CnR5cGVkZWYgc3RydWN0IF94UmVjdGFuZ2xlICp4UmVjdGFuZ2xl
UHRyOwp0eXBlZGVmIHN0cnVjdCBfR3JhYlJlYyAqR3JhYlB0cjsKCgoKCgoKCnR5cGVkZWYgc3Ry
dWN0IF9DaGFySW5mbyAqQ2hhckluZm9QdHI7CiMgNTIgIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2dy
YW1zL1hzZXJ2ZXIvaW5jbHVkZS9waXhtYXAuaCIgMgojIDEgIi4uLy4uLy4uLy4uLy4uLy4uL3By
b2dyYW1zL1hzZXJ2ZXIvaW5jbHVkZS9zY3JlZW5pbnQuaCIgMQojIDU0ICIuLi8uLi8uLi8uLi8u
Li8uLi9wcm9ncmFtcy9Yc2VydmVyL2luY2x1ZGUvc2NyZWVuaW50LmgiCnR5cGVkZWYgc3RydWN0
IF9QaXhtYXBGb3JtYXQgKlBpeG1hcEZvcm1hdFB0cjsKdHlwZWRlZiBzdHJ1Y3QgX1Zpc3VhbCAq
VmlzdWFsUHRyOwp0eXBlZGVmIHN0cnVjdCBfRGVwdGggKkRlcHRoUHRyOwp0eXBlZGVmIHN0cnVj
dCBfU2NyZWVuICpTY3JlZW5QdHI7CgpleHRlcm4gdm9pZCBSZXNldFNjcmVlblByaXZhdGVzKAoK
ICAgIHZvaWQKCik7CgpleHRlcm4gaW50IEFsbG9jYXRlU2NyZWVuUHJpdmF0ZUluZGV4KAoKICAg
IHZvaWQKCik7CgpleHRlcm4gdm9pZCBSZXNldFdpbmRvd1ByaXZhdGVzKAoKICAgIHZvaWQKCik7
CgpleHRlcm4gaW50IEFsbG9jYXRlV2luZG93UHJpdmF0ZUluZGV4KAoKICAgIHZvaWQKCik7Cgpl
eHRlcm4gQm9vbCBBbGxvY2F0ZVdpbmRvd1ByaXZhdGUoCgogICAgU2NyZWVuUHRyICwKICAgIGlu
dCAsCiAgICB1bnNpZ25lZAoKKTsKCmV4dGVybiB2b2lkIFJlc2V0R0NQcml2YXRlcygKCiAgICB2
b2lkCgopOwoKZXh0ZXJuIGludCBBbGxvY2F0ZUdDUHJpdmF0ZUluZGV4KAoKICAgIHZvaWQKCik7
CgpleHRlcm4gQm9vbCBBbGxvY2F0ZUdDUHJpdmF0ZSgKCiAgICBTY3JlZW5QdHIgLAogICAgaW50
ICwKICAgIHVuc2lnbmVkCgopOwoKZXh0ZXJuIGludCBBZGRTY3JlZW4oCgogICAgQm9vbCAoKiAp
KAoKICAgICAgICBpbnQgLAogICAgICAgIFNjcmVlblB0ciAsCiAgICAgICAgaW50ICwKICAgICAg
ICBjaGFyICoqCgogICAgKSwKICAgIGludCAsCiAgICBjaGFyKioKCik7CgoKCmV4dGVybiB2b2lk
IFJlc2V0UGl4bWFwUHJpdmF0ZXMoCgogICAgdm9pZAoKKTsKCmV4dGVybiBpbnQgQWxsb2NhdGVQ
aXhtYXBQcml2YXRlSW5kZXgoCgogICAgdm9pZAoKKTsKCmV4dGVybiBCb29sIEFsbG9jYXRlUGl4
bWFwUHJpdmF0ZSgKCiAgICBTY3JlZW5QdHIgLAogICAgaW50ICwKICAgIHVuc2lnbmVkCgopOwoK
CgpleHRlcm4gdm9pZCBSZXNldENvbG9ybWFwUHJpdmF0ZXMoCgogICAgdm9pZAoKKTsKCgp0eXBl
ZGVmIHN0cnVjdCBfQ29sb3JtYXBSZWMgKkNvbG9ybWFwUHRyOwp0eXBlZGVmIGludCAoKkluaXRD
bWFwUHJpdkZ1bmMpKAoKICAgICAgICBDb2xvcm1hcFB0cgoKKTsKCmV4dGVybiBpbnQgQWxsb2Nh
dGVDb2xvcm1hcFByaXZhdGVJbmRleCgKCiAgICBJbml0Q21hcFByaXZGdW5jCgopOwojIDUzICIu
Li8uLi8uLi8uLi8uLi8uLi9wcm9ncmFtcy9Yc2VydmVyL2luY2x1ZGUvcGl4bWFwLmgiIDIKIyA2
NiAiLi4vLi4vLi4vLi4vLi4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL3BpeG1hcC5oIgp0
eXBlZGVmIHN0cnVjdCBfRHJhd2FibGUgKkRyYXdhYmxlUHRyOwp0eXBlZGVmIHN0cnVjdCBfUGl4
bWFwICpQaXhtYXBQdHI7Cgp0eXBlZGVmIHVuaW9uIF9QaXhVbmlvbiB7CiAgICBQaXhtYXBQdHIg
cGl4bWFwOwogICAgdW5zaWduZWQgbG9uZyBwaXhlbDsKfSBQaXhVbmlvbjsKIyA4NiAiLi4vLi4v
Li4vLi4vLi4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL3BpeG1hcC5oIgpleHRlcm4gUGl4
bWFwUHRyIEdldFNjcmF0Y2hQaXhtYXBIZWFkZXIoCgogICAgU2NyZWVuUHRyICwKICAgIGludCAs
CiAgICBpbnQgLAogICAgaW50ICwKICAgIGludCAsCiAgICBpbnQgLAogICAgcG9pbnRlcgoKKTsK
CmV4dGVybiB2b2lkIEZyZWVTY3JhdGNoUGl4bWFwSGVhZGVyKAoKICAgIFBpeG1hcFB0cgoKKTsK
CmV4dGVybiBCb29sIENyZWF0ZVNjcmF0Y2hQaXhtYXBzRm9yU2NyZWVuKAoKICAgIGludAoKKTsK
CmV4dGVybiB2b2lkIEZyZWVTY3JhdGNoUGl4bWFwc0ZvclNjcmVlbigKCiAgICBpbnQKCik7Cgpl
eHRlcm4gUGl4bWFwUHRyIEFsbG9jYXRlUGl4bWFwKAoKICAgIFNjcmVlblB0ciAsCiAgICBpbnQK
Cik7CiMgNTIgIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2dyYW1zL1hzZXJ2ZXIvaW5jbHVkZS9waXht
YXBzdHIuaCIgMgoKIyAxICIuLi8uLi8uLi8uLi8uLi8uLi9wcm9ncmFtcy9Yc2VydmVyL2luY2x1
ZGUvbWlzY3N0cnVjdC5oIiAxCiMgNTQgIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2dyYW1zL1hzZXJ2
ZXIvaW5jbHVkZS9taXNjc3RydWN0LmgiCiMgMSAiLi4vLi4vLi4vLi4vLi4vLi4vZXhwb3J0cy9p
bmNsdWRlL1gxMS9YcHJvdG9zdHIuaCIgMQojIDU1ICIuLi8uLi8uLi8uLi8uLi8uLi9leHBvcnRz
L2luY2x1ZGUvWDExL1hwcm90b3N0ci5oIgp0eXBlZGVmIHN0cnVjdCBfeFNlZ21lbnQgewogICAg
SU5UMTYgeDEgLCB5MSAsIHgyICwgeTIgOwp9IHhTZWdtZW50OwoKCgp0eXBlZGVmIHN0cnVjdCBf
eFBvaW50IHsKICAgICAgICBJTlQxNiB4ICwgeSA7Cn0geFBvaW50OwoKdHlwZWRlZiBzdHJ1Y3Qg
X3hSZWN0YW5nbGUgewogICAgSU5UMTYgeCAsIHkgOwogICAgQ0FSRDE2IHdpZHRoICwgaGVpZ2h0
IDsKfSB4UmVjdGFuZ2xlOwoKCgp0eXBlZGVmIHN0cnVjdCBfeEFyYyB7CiAgICBJTlQxNiB4ICwg
eSA7CiAgICBDQVJEMTYgd2lkdGggLCBoZWlnaHQgOwogICAgSU5UMTYgYW5nbGUxICwgYW5nbGUy
IDsKfSB4QXJjOwojIDU1ICIuLi8uLi8uLi8uLi8uLi8uLi9wcm9ncmFtcy9Yc2VydmVyL2luY2x1
ZGUvbWlzY3N0cnVjdC5oIiAyCgp0eXBlZGVmIHhQb2ludCBERFhQb2ludFJlYzsKCnR5cGVkZWYg
c3RydWN0IF9Cb3ggewogICAgc2hvcnQgeDEsIHkxLCB4MiwgeTI7Cn0gQm94UmVjOwoKdHlwZWRl
ZiB1bmlvbiBfRGV2VW5pb24gewogICAgcG9pbnRlciBwdHI7CiAgICBsb25nIHZhbDsKICAgIHVu
c2lnbmVkIGxvbmcgdXZhbDsKICAgIHBvaW50ZXIgKCpmcHRyKSgKCiAgICAgICAgICAgICAgICAg
ICAgICAgIHZvaWQKCiAgICAgICAgICAgICAgICAgICAgICAgICk7Cn0gRGV2VW5pb247CiMgNTQg
Ii4uLy4uLy4uLy4uLy4uLy4uL3Byb2dyYW1zL1hzZXJ2ZXIvaW5jbHVkZS9waXhtYXBzdHIuaCIg
MgoKdHlwZWRlZiBzdHJ1Y3QgX0RyYXdhYmxlIHsKICAgIHVuc2lnbmVkIGNoYXIgdHlwZTsKICAg
IHVuc2lnbmVkIGNoYXIgY2xhc3M7CiAgICB1bnNpZ25lZCBjaGFyIGRlcHRoOwogICAgdW5zaWdu
ZWQgY2hhciBiaXRzUGVyUGl4ZWw7CiAgICB1bnNpZ25lZCBsb25nIGlkOwogICAgc2hvcnQgeDsK
ICAgIHNob3J0IHk7CiAgICB1bnNpZ25lZCBzaG9ydCB3aWR0aDsKICAgIHVuc2lnbmVkIHNob3J0
IGhlaWdodDsKICAgIFNjcmVlblB0ciBwU2NyZWVuOwogICAgdW5zaWduZWQgbG9uZyBzZXJpYWxO
dW1iZXI7Cn0gRHJhd2FibGVSZWM7CgoKCgoKdHlwZWRlZiBzdHJ1Y3QgX1BpeG1hcCB7CiAgICBE
cmF3YWJsZVJlYyBkcmF3YWJsZTsKICAgIGludCByZWZjbnQ7CiAgICBpbnQgZGV2S2luZDsKICAg
IERldlVuaW9uIGRldlByaXZhdGU7CgogICAgRGV2VW5pb24gKmRldlByaXZhdGVzOwoKfSBQaXht
YXBSZWM7CiMgNTYgIi4uLy4uLy4uL2luY2x1ZGUvZGRwZXguaCIgMgojIDEgIi4uLy4uLy4uLy4u
Ly4uLy4uL3Byb2dyYW1zL1hzZXJ2ZXIvaW5jbHVkZS9kaXguaCIgMQojIDUzICIuLi8uLi8uLi8u
Li8uLi8uLi9wcm9ncmFtcy9Yc2VydmVyL2luY2x1ZGUvZGl4LmgiCiMgMSAiLi4vLi4vLi4vLi4v
Li4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL2djLmgiIDEKIyA1NSAiLi4vLi4vLi4vLi4v
Li4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL2djLmgiCiMgMSAiLi4vLi4vLi4vLi4vLi4v
Li4vZXhwb3J0cy9pbmNsdWRlL1gxMS9YcHJvdG8uaCIgMQojIDI2MyAiLi4vLi4vLi4vLi4vLi4v
Li4vZXhwb3J0cy9pbmNsdWRlL1gxMS9YcHJvdG8uaCIKdHlwZWRlZiBDQVJEMTYgS2V5QnV0TWFz
azsKCgoKCgoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggYnl0ZU9yZGVyOwogICAgQllURSBw
YWQ7CiAgICBDQVJEMTYgbWFqb3JWZXJzaW9uICwgbWlub3JWZXJzaW9uIDsKICAgIENBUkQxNiBu
Ynl0ZXNBdXRoUHJvdG8gOwogICAgQ0FSRDE2IG5ieXRlc0F1dGhTdHJpbmcgOwogICAgQ0FSRDE2
IHBhZDIgOwp9IHhDb25uQ2xpZW50UHJlZml4OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDgg
c3VjY2VzczsKICAgIEJZVEUgbGVuZ3RoUmVhc29uOwogICAgQ0FSRDE2IG1ham9yVmVyc2lvbiAs
CiAgICAgICAgICAgICAgICAgICBtaW5vclZlcnNpb24gOwogICAgQ0FSRDE2IGxlbmd0aCA7Cn0g
eENvbm5TZXR1cFByZWZpeDsKCgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEMzIgcmVsZWFzZSA7
CiAgICBDQVJEMzIgcmlkQmFzZSAsCiAgICAgICAgICAgICAgICAgICByaWRNYXNrIDsKICAgIENB
UkQzMiBtb3Rpb25CdWZmZXJTaXplIDsKICAgIENBUkQxNiBuYnl0ZXNWZW5kb3IgOwogICAgQ0FS
RDE2IG1heFJlcXVlc3RTaXplIDsKICAgIENBUkQ4IG51bVJvb3RzOwogICAgQ0FSRDggbnVtRm9y
bWF0czsKICAgIENBUkQ4IGltYWdlQnl0ZU9yZGVyOwogICAgQ0FSRDggYml0bWFwQml0T3JkZXI7
CiAgICBDQVJEOCBiaXRtYXBTY2FubGluZVVuaXQsCiAgICAgICAgICAgICAgICAgICBiaXRtYXBT
Y2FubGluZVBhZDsKICAgIENBUkQ4IG1pbktleUNvZGUsIG1heEtleUNvZGU7CiAgICBDQVJEMzIg
cGFkMiA7Cn0geENvbm5TZXR1cDsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IGRlcHRoOwog
ICAgQ0FSRDggYml0c1BlclBpeGVsOwogICAgQ0FSRDggc2NhbkxpbmVQYWQ7CiAgICBDQVJEOCBw
YWQxOwogICAgQ0FSRDMyIHBhZDIgOwp9IHhQaXhtYXBGb3JtYXQ7CgoKCnR5cGVkZWYgc3RydWN0
IHsKICAgIENBUkQ4IGRlcHRoOwogICAgQ0FSRDggcGFkMTsKICAgIENBUkQxNiBuVmlzdWFscyA7
CiAgICBDQVJEMzIgcGFkMiA7CiAgICB9IHhEZXB0aDsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENB
UkQzMiB2aXN1YWxJRCA7CgoKCiAgICBDQVJEOCBjbGFzczsKCiAgICBDQVJEOCBiaXRzUGVyUkdC
OwogICAgQ0FSRDE2IGNvbG9ybWFwRW50cmllcyA7CiAgICBDQVJEMzIgcmVkTWFzayAsIGdyZWVu
TWFzayAsIGJsdWVNYXNrIDsKICAgIENBUkQzMiBwYWQgOwogICAgfSB4VmlzdWFsVHlwZTsKCnR5
cGVkZWYgc3RydWN0IHsKICAgIENBUkQzMiB3aW5kb3dJZCA7CiAgICBDQVJEMzIgZGVmYXVsdENv
bG9ybWFwIDsKICAgIENBUkQzMiB3aGl0ZVBpeGVsICwgYmxhY2tQaXhlbCA7CiAgICBDQVJEMzIg
Y3VycmVudElucHV0TWFzayA7CiAgICBDQVJEMTYgcGl4V2lkdGggLCBwaXhIZWlnaHQgOwogICAg
Q0FSRDE2IG1tV2lkdGggLCBtbUhlaWdodCA7CiAgICBDQVJEMTYgbWluSW5zdGFsbGVkTWFwcyAs
IG1heEluc3RhbGxlZE1hcHMgOwogICAgQ0FSRDMyIHJvb3RWaXN1YWxJRCA7CiAgICBDQVJEOCBi
YWNraW5nU3RvcmU7CiAgICBCT09MIHNhdmVVbmRlcnM7CiAgICBDQVJEOCByb290RGVwdGg7CiAg
ICBDQVJEOCBuRGVwdGhzOwp9IHhXaW5kb3dSb290OwojIDM1OCAiLi4vLi4vLi4vLi4vLi4vLi4v
ZXhwb3J0cy9pbmNsdWRlL1gxMS9YcHJvdG8uaCIKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDMy
IHRpbWUgOwogICAgSU5UMTYgeCAsIHkgOwp9IHhUaW1lY29vcmQ7Cgp0eXBlZGVmIHN0cnVjdCB7
CiAgICBDQVJEOCBmYW1pbHk7CiAgICBCWVRFIHBhZDsKICAgIENBUkQxNiBsZW5ndGggOwp9IHhI
b3N0RW50cnk7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBJTlQxNiBsZWZ0U2lkZUJlYXJpbmcgLAog
ICAgICAgICAgcmlnaHRTaWRlQmVhcmluZyAsCiAgICAgICAgICBjaGFyYWN0ZXJXaWR0aCAsCiAg
ICAgICAgICBhc2NlbnQgLAogICAgICAgICAgZGVzY2VudCA7CiAgICBDQVJEMTYgYXR0cmlidXRl
cyA7Cn0geENoYXJJbmZvOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDMyIG5hbWUgOwogICAg
Q0FSRDMyIHZhbHVlIDsKfSB4Rm9udFByb3A7CgoKCgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJE
OCBsZW47CgogICAgSU5UOCBkZWx0YTsKfSB4VGV4dEVsdDsKCgp0eXBlZGVmIHN0cnVjdCB7CiAg
ICBDQVJEMzIgcGl4ZWwgOwogICAgQ0FSRDE2IHJlZCAsIGdyZWVuICwgYmx1ZSA7CiAgICBDQVJE
OCBmbGFnczsKICAgIENBUkQ4IHBhZDsKfSB4Q29sb3JJdGVtOwoKCnR5cGVkZWYgc3RydWN0IHsK
ICAgIENBUkQxNiByZWQgLCBncmVlbiAsIGJsdWUgLCBwYWQgOwp9IHhyZ2I7Cgp0eXBlZGVmIENB
UkQ4IEtFWUNPREU7CiMgNDE2ICIuLi8uLi8uLi8uLi8uLi8uLi9leHBvcnRzL2luY2x1ZGUvWDEx
L1hwcm90by5oIgp0eXBlZGVmIHN0cnVjdCB7CiAgICBCWVRFIHR5cGU7CiAgICBCWVRFIGRhdGEx
OwogICAgQ0FSRDE2IHNlcXVlbmNlTnVtYmVyIDsKICAgIENBUkQzMiBsZW5ndGggOwogICAgQ0FS
RDMyIGRhdGEwMCA7CiAgICBDQVJEMzIgZGF0YTAxIDsKICAgIENBUkQzMiBkYXRhMDIgOwogICAg
Q0FSRDMyIGRhdGEwMyA7CiAgICBDQVJEMzIgZGF0YTA0IDsKICAgIENBUkQzMiBkYXRhMDUgOwog
ICAgfSB4R2VuZXJpY1JlcGx5OwoKCgp0eXBlZGVmIHN0cnVjdCB7CiAgICBCWVRFIHR5cGU7CiAg
ICBDQVJEOCBiYWNraW5nU3RvcmU7CiAgICBDQVJEMTYgc2VxdWVuY2VOdW1iZXIgOwogICAgQ0FS
RDMyIGxlbmd0aCA7CiAgICBDQVJEMzIgdmlzdWFsSUQgOwoKCgogICAgQ0FSRDE2IGNsYXNzIDsK
CiAgICBDQVJEOCBiaXRHcmF2aXR5OwogICAgQ0FSRDggd2luR3Jhdml0eTsKICAgIENBUkQzMiBi
YWNraW5nQml0UGxhbmVzIDsKICAgIENBUkQzMiBiYWNraW5nUGl4ZWwgOwogICAgQk9PTCBzYXZl
VW5kZXI7CiAgICBCT09MIG1hcEluc3RhbGxlZDsKICAgIENBUkQ4IG1hcFN0YXRlOwogICAgQk9P
TCBvdmVycmlkZTsKICAgIENBUkQzMiBjb2xvcm1hcCA7CiAgICBDQVJEMzIgYWxsRXZlbnRNYXNr
cyA7CiAgICBDQVJEMzIgeW91ckV2ZW50TWFzayA7CiAgICBDQVJEMTYgZG9Ob3RQcm9wYWdhdGVN
YXNrIDsKICAgIENBUkQxNiBwYWQgOwogICAgfSB4R2V0V2luZG93QXR0cmlidXRlc1JlcGx5OwoK
dHlwZWRlZiBzdHJ1Y3QgewogICAgQllURSB0eXBlOwogICAgQ0FSRDggZGVwdGg7CiAgICBDQVJE
MTYgc2VxdWVuY2VOdW1iZXIgOwogICAgQ0FSRDMyIGxlbmd0aCA7CiAgICBDQVJEMzIgcm9vdCA7
CiAgICBJTlQxNiB4ICwgeSA7CiAgICBDQVJEMTYgd2lkdGggLCBoZWlnaHQgOwogICAgQ0FSRDE2
IGJvcmRlcldpZHRoIDsKICAgIENBUkQxNiBwYWQxIDsKICAgIENBUkQzMiBwYWQyIDsKICAgIENB
UkQzMiBwYWQzIDsKICAgIH0geEdldEdlb21ldHJ5UmVwbHk7Cgp0eXBlZGVmIHN0cnVjdCB7CiAg
ICBCWVRFIHR5cGU7CiAgICBCWVRFIHBhZDE7CiAgICBDQVJEMTYgc2VxdWVuY2VOdW1iZXIgOwog
ICAgQ0FSRDMyIGxlbmd0aCA7CiAgICBDQVJEMzIgcm9vdCAsIHBhcmVudCA7CiAgICBDQVJEMTYg
bkNoaWxkcmVuIDsKICAgIENBUkQxNiBwYWQyIDsKICAgIENBUkQzMiBwYWQzIDsKICAgIENBUkQz
MiBwYWQ0IDsKICAgIENBUkQzMiBwYWQ1IDsKICAgIH0geFF1ZXJ5VHJlZVJlcGx5OwoKdHlwZWRl
ZiBzdHJ1Y3QgewogICAgQllURSB0eXBlOwogICAgQllURSBwYWQxOwogICAgQ0FSRDE2IHNlcXVl
bmNlTnVtYmVyIDsKICAgIENBUkQzMiBsZW5ndGggOwogICAgQ0FSRDMyIGF0b20gOwogICAgQ0FS
RDMyIHBhZDIgOwogICAgQ0FSRDMyIHBhZDMgOwogICAgQ0FSRDMyIHBhZDQgOwogICAgQ0FSRDMy
IHBhZDUgOwogICAgQ0FSRDMyIHBhZDYgOwogICAgfSB4SW50ZXJuQXRvbVJlcGx5OwoKdHlwZWRl
ZiBzdHJ1Y3QgewogICAgQllURSB0eXBlOwogICAgQllURSBwYWQxOwogICAgQ0FSRDE2IHNlcXVl
bmNlTnVtYmVyIDsKICAgIENBUkQzMiBsZW5ndGggOwogICAgQ0FSRDE2IG5hbWVMZW5ndGggOwog
ICAgQ0FSRDE2IHBhZDIgOwogICAgQ0FSRDMyIHBhZDMgOwogICAgQ0FSRDMyIHBhZDQgOwogICAg
Q0FSRDMyIHBhZDUgOwogICAgQ0FSRDMyIHBhZDYgOwogICAgQ0FSRDMyIHBhZDcgOwogICAgfSB4
R2V0QXRvbU5hbWVSZXBseTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIEJZVEUgdHlwZTsKICAgIENB
UkQ4IGZvcm1hdDsKICAgIENBUkQxNiBzZXF1ZW5jZU51bWJlciA7CiAgICBDQVJEMzIgbGVuZ3Ro
IDsKICAgIENBUkQzMiBwcm9wZXJ0eVR5cGUgOwogICAgQ0FSRDMyIGJ5dGVzQWZ0ZXIgOwogICAg
Q0FSRDMyIG5JdGVtcyA7CiAgICBDQVJEMzIgcGFkMSA7CiAgICBDQVJEMzIgcGFkMiA7CiAgICBD
QVJEMzIgcGFkMyA7CiAgICB9IHhHZXRQcm9wZXJ0eVJlcGx5OwoKdHlwZWRlZiBzdHJ1Y3Qgewog
ICAgQllURSB0eXBlOwogICAgQllURSBwYWQxOwogICAgQ0FSRDE2IHNlcXVlbmNlTnVtYmVyIDsK
ICAgIENBUkQzMiBsZW5ndGggOwogICAgQ0FSRDE2IG5Qcm9wZXJ0aWVzIDsKICAgIENBUkQxNiBw
YWQyIDsKICAgIENBUkQzMiBwYWQzIDsKICAgIENBUkQzMiBwYWQ0IDsKICAgIENBUkQzMiBwYWQ1
IDsKICAgIENBUkQzMiBwYWQ2IDsKICAgIENBUkQzMiBwYWQ3IDsKICAgIH0geExpc3RQcm9wZXJ0
aWVzUmVwbHk7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBCWVRFIHR5cGU7CiAgICBCWVRFIHBhZDE7
CiAgICBDQVJEMTYgc2VxdWVuY2VOdW1iZXIgOwogICAgQ0FSRDMyIGxlbmd0aCA7CiAgICBDQVJE
MzIgb3duZXIgOwogICAgQ0FSRDMyIHBhZDIgOwogICAgQ0FSRDMyIHBhZDMgOwogICAgQ0FSRDMy
IHBhZDQgOwogICAgQ0FSRDMyIHBhZDUgOwogICAgQ0FSRDMyIHBhZDYgOwogICAgfSB4R2V0U2Vs
ZWN0aW9uT3duZXJSZXBseTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIEJZVEUgdHlwZTsKICAgIEJZ
VEUgc3RhdHVzOwogICAgQ0FSRDE2IHNlcXVlbmNlTnVtYmVyIDsKICAgIENBUkQzMiBsZW5ndGgg
OwogICAgQ0FSRDMyIHBhZDEgOwogICAgQ0FSRDMyIHBhZDIgOwogICAgQ0FSRDMyIHBhZDMgOwog
ICAgQ0FSRDMyIHBhZDQgOwogICAgQ0FSRDMyIHBhZDUgOwogICAgQ0FSRDMyIHBhZDYgOwogICAg
fSB4R3JhYlBvaW50ZXJSZXBseTsKCnR5cGVkZWYgeEdyYWJQb2ludGVyUmVwbHkgeEdyYWJLZXli
b2FyZFJlcGx5OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQllURSB0eXBlOwogICAgQk9PTCBzYW1l
U2NyZWVuOwogICAgQ0FSRDE2IHNlcXVlbmNlTnVtYmVyIDsKICAgIENBUkQzMiBsZW5ndGggOwog
ICAgQ0FSRDMyIHJvb3QgLCBjaGlsZCA7CiAgICBJTlQxNiByb290WCAsIHJvb3RZICwgd2luWCAs
IHdpblkgOwogICAgQ0FSRDE2IG1hc2sgOwogICAgQ0FSRDE2IHBhZDEgOwogICAgQ0FSRDMyIHBh
ZCA7CiAgICB9IHhRdWVyeVBvaW50ZXJSZXBseTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIEJZVEUg
dHlwZTsKICAgIEJZVEUgcGFkMTsKICAgIENBUkQxNiBzZXF1ZW5jZU51bWJlciA7CiAgICBDQVJE
MzIgbGVuZ3RoIDsKICAgIENBUkQzMiBuRXZlbnRzIDsKICAgIENBUkQzMiBwYWQyIDsKICAgIENB
UkQzMiBwYWQzIDsKICAgIENBUkQzMiBwYWQ0IDsKICAgIENBUkQzMiBwYWQ1IDsKICAgIENBUkQz
MiBwYWQ2IDsKICAgIH0geEdldE1vdGlvbkV2ZW50c1JlcGx5OwoKdHlwZWRlZiBzdHJ1Y3Qgewog
ICAgQllURSB0eXBlOwogICAgQk9PTCBzYW1lU2NyZWVuOwogICAgQ0FSRDE2IHNlcXVlbmNlTnVt
YmVyIDsKICAgIENBUkQzMiBsZW5ndGggOwogICAgQ0FSRDMyIGNoaWxkIDsKICAgIElOVDE2IGRz
dFggLCBkc3RZIDsKICAgIENBUkQzMiBwYWQyIDsKICAgIENBUkQzMiBwYWQzIDsKICAgIENBUkQz
MiBwYWQ0IDsKICAgIENBUkQzMiBwYWQ1IDsKICAgIH0geFRyYW5zbGF0ZUNvb3Jkc1JlcGx5OwoK
dHlwZWRlZiBzdHJ1Y3QgewogICAgQllURSB0eXBlOwogICAgQ0FSRDggcmV2ZXJ0VG87CiAgICBD
QVJEMTYgc2VxdWVuY2VOdW1iZXIgOwogICAgQ0FSRDMyIGxlbmd0aCA7CiAgICBDQVJEMzIgZm9j
dXMgOwogICAgQ0FSRDMyIHBhZDEgOwogICAgQ0FSRDMyIHBhZDIgOwogICAgQ0FSRDMyIHBhZDMg
OwogICAgQ0FSRDMyIHBhZDQgOwogICAgQ0FSRDMyIHBhZDUgOwogICAgfSB4R2V0SW5wdXRGb2N1
c1JlcGx5OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQllURSB0eXBlOwogICAgQllURSBwYWQxOwog
ICAgQ0FSRDE2IHNlcXVlbmNlTnVtYmVyIDsKICAgIENBUkQzMiBsZW5ndGggOwogICAgQllURSBt
YXBbMzJdOwogICAgfSB4UXVlcnlLZXltYXBSZXBseTsKCgp0eXBlZGVmIHN0cnVjdCBfeFF1ZXJ5
Rm9udFJlcGx5IHsKICAgIEJZVEUgdHlwZTsKICAgIEJZVEUgcGFkMTsKICAgIENBUkQxNiBzZXF1
ZW5jZU51bWJlciA7CiAgICBDQVJEMzIgbGVuZ3RoIDsKICAgIHhDaGFySW5mbyBtaW5Cb3VuZHM7
CgogICAgQ0FSRDMyIHdhbGlnbjEgOwoKICAgIHhDaGFySW5mbyBtYXhCb3VuZHM7CgogICAgQ0FS
RDMyIHdhbGlnbjIgOwoKICAgIENBUkQxNiBtaW5DaGFyT3JCeXRlMiAsIG1heENoYXJPckJ5dGUy
IDsKICAgIENBUkQxNiBkZWZhdWx0Q2hhciA7CiAgICBDQVJEMTYgbkZvbnRQcm9wcyA7CiAgICBD
QVJEOCBkcmF3RGlyZWN0aW9uOwogICAgQ0FSRDggbWluQnl0ZTEsIG1heEJ5dGUxOwogICAgQk9P
TCBhbGxDaGFyc0V4aXN0OwogICAgSU5UMTYgZm9udEFzY2VudCAsIGZvbnREZXNjZW50IDsKICAg
IENBUkQzMiBuQ2hhckluZm9zIDsKfSB4UXVlcnlGb250UmVwbHk7Cgp0eXBlZGVmIHN0cnVjdCB7
CiAgICBCWVRFIHR5cGU7CiAgICBDQVJEOCBkcmF3RGlyZWN0aW9uOwogICAgQ0FSRDE2IHNlcXVl
bmNlTnVtYmVyIDsKICAgIENBUkQzMiBsZW5ndGggOwogICAgSU5UMTYgZm9udEFzY2VudCAsIGZv
bnREZXNjZW50IDsKICAgIElOVDE2IG92ZXJhbGxBc2NlbnQgLCBvdmVyYWxsRGVzY2VudCA7CiAg
ICBJTlQzMiBvdmVyYWxsV2lkdGggLCBvdmVyYWxsTGVmdCAsIG92ZXJhbGxSaWdodCA7CiAgICBD
QVJEMzIgcGFkIDsKICAgIH0geFF1ZXJ5VGV4dEV4dGVudHNSZXBseTsKCnR5cGVkZWYgc3RydWN0
IHsKICAgIEJZVEUgdHlwZTsKICAgIEJZVEUgcGFkMTsKICAgIENBUkQxNiBzZXF1ZW5jZU51bWJl
ciA7CiAgICBDQVJEMzIgbGVuZ3RoIDsKICAgIENBUkQxNiBuRm9udHMgOwogICAgQ0FSRDE2IHBh
ZDIgOwogICAgQ0FSRDMyIHBhZDMgOwogICAgQ0FSRDMyIHBhZDQgOwogICAgQ0FSRDMyIHBhZDUg
OwogICAgQ0FSRDMyIHBhZDYgOwogICAgQ0FSRDMyIHBhZDcgOwogICAgfSB4TGlzdEZvbnRzUmVw
bHk7CgoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQllURSB0eXBlOwogICAgQ0FSRDggbmFtZUxlbmd0
aDsKICAgIENBUkQxNiBzZXF1ZW5jZU51bWJlciA7CiAgICBDQVJEMzIgbGVuZ3RoIDsKICAgIHhD
aGFySW5mbyBtaW5Cb3VuZHM7CgogICAgQ0FSRDMyIHdhbGlnbjEgOwoKICAgIHhDaGFySW5mbyBt
YXhCb3VuZHM7CgogICAgQ0FSRDMyIHdhbGlnbjIgOwoKICAgIENBUkQxNiBtaW5DaGFyT3JCeXRl
MiAsIG1heENoYXJPckJ5dGUyIDsKICAgIENBUkQxNiBkZWZhdWx0Q2hhciA7CiAgICBDQVJEMTYg
bkZvbnRQcm9wcyA7CiAgICBDQVJEOCBkcmF3RGlyZWN0aW9uOwogICAgQ0FSRDggbWluQnl0ZTEs
IG1heEJ5dGUxOwogICAgQk9PTCBhbGxDaGFyc0V4aXN0OwogICAgSU5UMTYgZm9udEFzY2VudCAs
IGZvbnREZXNjZW50IDsKICAgIENBUkQzMiBuUmVwbGllcyA7Cn0geExpc3RGb250c1dpdGhJbmZv
UmVwbHk7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBCWVRFIHR5cGU7CiAgICBCWVRFIHBhZDE7CiAg
ICBDQVJEMTYgc2VxdWVuY2VOdW1iZXIgOwogICAgQ0FSRDMyIGxlbmd0aCA7CiAgICBDQVJEMTYg
blBhdGhzIDsKICAgIENBUkQxNiBwYWQyIDsKICAgIENBUkQzMiBwYWQzIDsKICAgIENBUkQzMiBw
YWQ0IDsKICAgIENBUkQzMiBwYWQ1IDsKICAgIENBUkQzMiBwYWQ2IDsKICAgIENBUkQzMiBwYWQ3
IDsKICAgIH0geEdldEZvbnRQYXRoUmVwbHk7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBCWVRFIHR5
cGU7CiAgICBDQVJEOCBkZXB0aDsKICAgIENBUkQxNiBzZXF1ZW5jZU51bWJlciA7CiAgICBDQVJE
MzIgbGVuZ3RoIDsKICAgIENBUkQzMiB2aXN1YWwgOwogICAgQ0FSRDMyIHBhZDMgOwogICAgQ0FS
RDMyIHBhZDQgOwogICAgQ0FSRDMyIHBhZDUgOwogICAgQ0FSRDMyIHBhZDYgOwogICAgQ0FSRDMy
IHBhZDcgOwogICAgfSB4R2V0SW1hZ2VSZXBseTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIEJZVEUg
dHlwZTsKICAgIEJZVEUgcGFkMTsKICAgIENBUkQxNiBzZXF1ZW5jZU51bWJlciA7CiAgICBDQVJE
MzIgbGVuZ3RoIDsKICAgIENBUkQxNiBuQ29sb3JtYXBzIDsKICAgIENBUkQxNiBwYWQyIDsKICAg
IENBUkQzMiBwYWQzIDsKICAgIENBUkQzMiBwYWQ0IDsKICAgIENBUkQzMiBwYWQ1IDsKICAgIENB
UkQzMiBwYWQ2IDsKICAgIENBUkQzMiBwYWQ3IDsKICAgIH0geExpc3RJbnN0YWxsZWRDb2xvcm1h
cHNSZXBseTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIEJZVEUgdHlwZTsKICAgIEJZVEUgcGFkMTsK
ICAgIENBUkQxNiBzZXF1ZW5jZU51bWJlciA7CiAgICBDQVJEMzIgbGVuZ3RoIDsKICAgIENBUkQx
NiByZWQgLCBncmVlbiAsIGJsdWUgOwogICAgQ0FSRDE2IHBhZDIgOwogICAgQ0FSRDMyIHBpeGVs
IDsKICAgIENBUkQzMiBwYWQzIDsKICAgIENBUkQzMiBwYWQ0IDsKICAgIENBUkQzMiBwYWQ1IDsK
ICAgIH0geEFsbG9jQ29sb3JSZXBseTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIEJZVEUgdHlwZTsK
ICAgIEJZVEUgcGFkMTsKICAgIENBUkQxNiBzZXF1ZW5jZU51bWJlciA7CiAgICBDQVJEMzIgbGVu
Z3RoIDsKICAgIENBUkQzMiBwaXhlbCA7CiAgICBDQVJEMTYgZXhhY3RSZWQgLCBleGFjdEdyZWVu
ICwgZXhhY3RCbHVlIDsKICAgIENBUkQxNiBzY3JlZW5SZWQgLCBzY3JlZW5HcmVlbiAsIHNjcmVl
bkJsdWUgOwogICAgQ0FSRDMyIHBhZDIgOwogICAgQ0FSRDMyIHBhZDMgOwogICAgfSB4QWxsb2NO
YW1lZENvbG9yUmVwbHk7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBCWVRFIHR5cGU7CiAgICBCWVRF
IHBhZDE7CiAgICBDQVJEMTYgc2VxdWVuY2VOdW1iZXIgOwogICAgQ0FSRDMyIGxlbmd0aCA7CiAg
ICBDQVJEMTYgblBpeGVscyAsIG5NYXNrcyA7CiAgICBDQVJEMzIgcGFkMyA7CiAgICBDQVJEMzIg
cGFkNCA7CiAgICBDQVJEMzIgcGFkNSA7CiAgICBDQVJEMzIgcGFkNiA7CiAgICBDQVJEMzIgcGFk
NyA7CiAgICB9IHhBbGxvY0NvbG9yQ2VsbHNSZXBseTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIEJZ
VEUgdHlwZTsKICAgIEJZVEUgcGFkMTsKICAgIENBUkQxNiBzZXF1ZW5jZU51bWJlciA7CiAgICBD
QVJEMzIgbGVuZ3RoIDsKICAgIENBUkQxNiBuUGl4ZWxzIDsKICAgIENBUkQxNiBwYWQyIDsKICAg
IENBUkQzMiByZWRNYXNrICwgZ3JlZW5NYXNrICwgYmx1ZU1hc2sgOwogICAgQ0FSRDMyIHBhZDMg
OwogICAgQ0FSRDMyIHBhZDQgOwogICAgfSB4QWxsb2NDb2xvclBsYW5lc1JlcGx5OwoKdHlwZWRl
ZiBzdHJ1Y3QgewogICAgQllURSB0eXBlOwogICAgQllURSBwYWQxOwogICAgQ0FSRDE2IHNlcXVl
bmNlTnVtYmVyIDsKICAgIENBUkQzMiBsZW5ndGggOwogICAgQ0FSRDE2IG5Db2xvcnMgOwogICAg
Q0FSRDE2IHBhZDIgOwogICAgQ0FSRDMyIHBhZDMgOwogICAgQ0FSRDMyIHBhZDQgOwogICAgQ0FS
RDMyIHBhZDUgOwogICAgQ0FSRDMyIHBhZDYgOwogICAgQ0FSRDMyIHBhZDcgOwogICAgfSB4UXVl
cnlDb2xvcnNSZXBseTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIEJZVEUgdHlwZTsKICAgIEJZVEUg
cGFkMTsKICAgIENBUkQxNiBzZXF1ZW5jZU51bWJlciA7CiAgICBDQVJEMzIgbGVuZ3RoIDsKICAg
IENBUkQxNiBleGFjdFJlZCAsIGV4YWN0R3JlZW4gLCBleGFjdEJsdWUgOwogICAgQ0FSRDE2IHNj
cmVlblJlZCAsIHNjcmVlbkdyZWVuICwgc2NyZWVuQmx1ZSA7CiAgICBDQVJEMzIgcGFkMyA7CiAg
ICBDQVJEMzIgcGFkNCA7CiAgICBDQVJEMzIgcGFkNSA7CiAgICB9IHhMb29rdXBDb2xvclJlcGx5
OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQllURSB0eXBlOwogICAgQllURSBwYWQxOwogICAgQ0FS
RDE2IHNlcXVlbmNlTnVtYmVyIDsKICAgIENBUkQzMiBsZW5ndGggOwogICAgQ0FSRDE2IHdpZHRo
ICwgaGVpZ2h0IDsKICAgIENBUkQzMiBwYWQzIDsKICAgIENBUkQzMiBwYWQ0IDsKICAgIENBUkQz
MiBwYWQ1IDsKICAgIENBUkQzMiBwYWQ2IDsKICAgIENBUkQzMiBwYWQ3IDsKICAgIH0geFF1ZXJ5
QmVzdFNpemVSZXBseTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIEJZVEUgdHlwZTsKICAgIEJZVEUg
cGFkMTsKICAgIENBUkQxNiBzZXF1ZW5jZU51bWJlciA7CiAgICBDQVJEMzIgbGVuZ3RoIDsKICAg
IEJPT0wgcHJlc2VudDsKICAgIENBUkQ4IG1ham9yX29wY29kZTsKICAgIENBUkQ4IGZpcnN0X2V2
ZW50OwogICAgQ0FSRDggZmlyc3RfZXJyb3I7CiAgICBDQVJEMzIgcGFkMyA7CiAgICBDQVJEMzIg
cGFkNCA7CiAgICBDQVJEMzIgcGFkNSA7CiAgICBDQVJEMzIgcGFkNiA7CiAgICBDQVJEMzIgcGFk
NyA7CiAgICB9IHhRdWVyeUV4dGVuc2lvblJlcGx5OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQllU
RSB0eXBlOwogICAgQ0FSRDggbkV4dGVuc2lvbnM7CiAgICBDQVJEMTYgc2VxdWVuY2VOdW1iZXIg
OwogICAgQ0FSRDMyIGxlbmd0aCA7CiAgICBDQVJEMzIgcGFkMiA7CiAgICBDQVJEMzIgcGFkMyA7
CiAgICBDQVJEMzIgcGFkNCA7CiAgICBDQVJEMzIgcGFkNSA7CiAgICBDQVJEMzIgcGFkNiA7CiAg
ICBDQVJEMzIgcGFkNyA7CiAgICB9IHhMaXN0RXh0ZW5zaW9uc1JlcGx5OwoKCnR5cGVkZWYgc3Ry
dWN0IHsKICAgIEJZVEUgdHlwZTsKICAgIENBUkQ4IHN1Y2Nlc3M7CiAgICBDQVJEMTYgc2VxdWVu
Y2VOdW1iZXIgOwogICAgQ0FSRDMyIGxlbmd0aCA7CiAgICBDQVJEMzIgcGFkMiA7CiAgICBDQVJE
MzIgcGFkMyA7CiAgICBDQVJEMzIgcGFkNCA7CiAgICBDQVJEMzIgcGFkNSA7CiAgICBDQVJEMzIg
cGFkNiA7CiAgICBDQVJEMzIgcGFkNyA7CiAgICB9IHhTZXRNYXBwaW5nUmVwbHk7CnR5cGVkZWYg
eFNldE1hcHBpbmdSZXBseSB4U2V0UG9pbnRlck1hcHBpbmdSZXBseTsKdHlwZWRlZiB4U2V0TWFw
cGluZ1JlcGx5IHhTZXRNb2RpZmllck1hcHBpbmdSZXBseTsKCnR5cGVkZWYgc3RydWN0IHsKICAg
IEJZVEUgdHlwZTsKICAgIENBUkQ4IG5FbHRzOwogICAgQ0FSRDE2IHNlcXVlbmNlTnVtYmVyIDsK
ICAgIENBUkQzMiBsZW5ndGggOwogICAgQ0FSRDMyIHBhZDIgOwogICAgQ0FSRDMyIHBhZDMgOwog
ICAgQ0FSRDMyIHBhZDQgOwogICAgQ0FSRDMyIHBhZDUgOwogICAgQ0FSRDMyIHBhZDYgOwogICAg
Q0FSRDMyIHBhZDcgOwogICAgfSB4R2V0UG9pbnRlck1hcHBpbmdSZXBseTsKCnR5cGVkZWYgc3Ry
dWN0IHsKICAgIEJZVEUgdHlwZTsKICAgIENBUkQ4IGtleVN5bXNQZXJLZXlDb2RlOwogICAgQ0FS
RDE2IHNlcXVlbmNlTnVtYmVyIDsKICAgIENBUkQzMiBsZW5ndGggOwogICAgQ0FSRDMyIHBhZDIg
OwogICAgQ0FSRDMyIHBhZDMgOwogICAgQ0FSRDMyIHBhZDQgOwogICAgQ0FSRDMyIHBhZDUgOwog
ICAgQ0FSRDMyIHBhZDYgOwogICAgQ0FSRDMyIHBhZDcgOwp9IHhHZXRLZXlib2FyZE1hcHBpbmdS
ZXBseTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIEJZVEUgdHlwZTsKICAgIENBUkQ4IG51bUtleVBl
ck1vZGlmaWVyOwogICAgQ0FSRDE2IHNlcXVlbmNlTnVtYmVyIDsKICAgIENBUkQzMiBsZW5ndGgg
OwogICAgQ0FSRDMyIHBhZDEgOwogICAgQ0FSRDMyIHBhZDIgOwogICAgQ0FSRDMyIHBhZDMgOwog
ICAgQ0FSRDMyIHBhZDQgOwogICAgQ0FSRDMyIHBhZDUgOwogICAgQ0FSRDMyIHBhZDYgOwp9IHhH
ZXRNb2RpZmllck1hcHBpbmdSZXBseTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIEJZVEUgdHlwZTsK
ICAgIEJPT0wgZ2xvYmFsQXV0b1JlcGVhdDsKICAgIENBUkQxNiBzZXF1ZW5jZU51bWJlciA7CiAg
ICBDQVJEMzIgbGVuZ3RoIDsKICAgIENBUkQzMiBsZWRNYXNrIDsKICAgIENBUkQ4IGtleUNsaWNr
UGVyY2VudCwgYmVsbFBlcmNlbnQ7CiAgICBDQVJEMTYgYmVsbFBpdGNoICwgYmVsbER1cmF0aW9u
IDsKICAgIENBUkQxNiBwYWQgOwogICAgQllURSBtYXBbMzJdOwogICAgfSB4R2V0S2V5Ym9hcmRD
b250cm9sUmVwbHk7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBCWVRFIHR5cGU7CiAgICBCWVRFIHBh
ZDE7CiAgICBDQVJEMTYgc2VxdWVuY2VOdW1iZXIgOwogICAgQ0FSRDMyIGxlbmd0aCA7CiAgICBD
QVJEMTYgYWNjZWxOdW1lcmF0b3IgLCBhY2NlbERlbm9taW5hdG9yIDsKICAgIENBUkQxNiB0aHJl
c2hvbGQgOwogICAgQ0FSRDE2IHBhZDIgOwogICAgQ0FSRDMyIHBhZDMgOwogICAgQ0FSRDMyIHBh
ZDQgOwogICAgQ0FSRDMyIHBhZDUgOwogICAgQ0FSRDMyIHBhZDYgOwogICAgfSB4R2V0UG9pbnRl
ckNvbnRyb2xSZXBseTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIEJZVEUgdHlwZTsKICAgIEJZVEUg
cGFkMTsKICAgIENBUkQxNiBzZXF1ZW5jZU51bWJlciA7CiAgICBDQVJEMzIgbGVuZ3RoIDsKICAg
IENBUkQxNiB0aW1lb3V0ICwgaW50ZXJ2YWwgOwogICAgQk9PTCBwcmVmZXJCbGFua2luZzsKICAg
IEJPT0wgYWxsb3dFeHBvc3VyZXM7CiAgICBDQVJEMTYgcGFkMiA7CiAgICBDQVJEMzIgcGFkMyA7
CiAgICBDQVJEMzIgcGFkNCA7CiAgICBDQVJEMzIgcGFkNSA7CiAgICBDQVJEMzIgcGFkNiA7CiAg
ICB9IHhHZXRTY3JlZW5TYXZlclJlcGx5OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQllURSB0eXBl
OwogICAgQk9PTCBlbmFibGVkOwogICAgQ0FSRDE2IHNlcXVlbmNlTnVtYmVyIDsKICAgIENBUkQz
MiBsZW5ndGggOwogICAgQ0FSRDE2IG5Ib3N0cyA7CiAgICBDQVJEMTYgcGFkMSA7CiAgICBDQVJE
MzIgcGFkMyA7CiAgICBDQVJEMzIgcGFkNCA7CiAgICBDQVJEMzIgcGFkNSA7CiAgICBDQVJEMzIg
cGFkNiA7CiAgICBDQVJEMzIgcGFkNyA7CiAgICB9IHhMaXN0SG9zdHNSZXBseTsKIyA5NzUgIi4u
Ly4uLy4uLy4uLy4uLy4uL2V4cG9ydHMvaW5jbHVkZS9YMTEvWHByb3RvLmgiCnR5cGVkZWYgc3Ry
dWN0IHsKICAgIEJZVEUgdHlwZTsKICAgIEJZVEUgZXJyb3JDb2RlOwogICAgQ0FSRDE2IHNlcXVl
bmNlTnVtYmVyIDsKICAgIENBUkQzMiByZXNvdXJjZUlEIDsKICAgIENBUkQxNiBtaW5vckNvZGUg
OwogICAgQ0FSRDggbWFqb3JDb2RlOwogICAgQllURSBwYWQxOwogICAgQ0FSRDMyIHBhZDMgOwog
ICAgQ0FSRDMyIHBhZDQgOwogICAgQ0FSRDMyIHBhZDUgOwogICAgQ0FSRDMyIHBhZDYgOwogICAg
Q0FSRDMyIHBhZDcgOwp9IHhFcnJvcjsKCgoKCgoKdHlwZWRlZiBzdHJ1Y3QgX3hFdmVudCB7CiAg
ICB1bmlvbiB7CiAgICAgICAgc3RydWN0IHsKICAgICAgICAgICAgQllURSB0eXBlOwogICAgICAg
ICAgICBCWVRFIGRldGFpbDsKICAgICAgICAgICAgQ0FSRDE2IHNlcXVlbmNlTnVtYmVyIDsKICAg
ICAgICAgICAgfSB1OwogICAgICAgIHN0cnVjdCB7CiAgICAgICAgICAgIENBUkQzMiBwYWQwMCA7
CiAgICAgICAgICAgIENBUkQzMiB0aW1lIDsKICAgICAgICAgICAgQ0FSRDMyIHJvb3QgLCBldmVu
dCAsIGNoaWxkIDsKICAgICAgICAgICAgSU5UMTYgcm9vdFggLCByb290WSAsIGV2ZW50WCAsIGV2
ZW50WSA7CiAgICAgICAgICAgIEtleUJ1dE1hc2sgc3RhdGUgOwogICAgICAgICAgICBCT09MIHNh
bWVTY3JlZW47CiAgICAgICAgICAgIEJZVEUgcGFkMTsKICAgICAgICB9IGtleUJ1dHRvblBvaW50
ZXI7CiAgICAgICAgc3RydWN0IHsKICAgICAgICAgICAgQ0FSRDMyIHBhZDAwIDsKICAgICAgICAg
ICAgQ0FSRDMyIHRpbWUgOwogICAgICAgICAgICBDQVJEMzIgcm9vdCAsIGV2ZW50ICwgY2hpbGQg
OwogICAgICAgICAgICBJTlQxNiByb290WCAsIHJvb3RZICwgZXZlbnRYICwgZXZlbnRZIDsKICAg
ICAgICAgICAgS2V5QnV0TWFzayBzdGF0ZSA7CiAgICAgICAgICAgIEJZVEUgbW9kZTsKICAgICAg
ICAgICAgQllURSBmbGFnczsKCgogICAgICAgIH0gZW50ZXJMZWF2ZTsKICAgICAgICBzdHJ1Y3Qg
ewogICAgICAgICAgICBDQVJEMzIgcGFkMDAgOwogICAgICAgICAgICBDQVJEMzIgd2luZG93IDsK
ICAgICAgICAgICAgQllURSBtb2RlOwogICAgICAgICAgICBCWVRFIHBhZDEsIHBhZDIsIHBhZDM7
CiAgICAgICAgfSBmb2N1czsKICAgICAgICBzdHJ1Y3QgewogICAgICAgICAgICBDQVJEMzIgcGFk
MDAgOwogICAgICAgICAgICBDQVJEMzIgd2luZG93IDsKICAgICAgICAgICAgQ0FSRDE2IHggLCB5
ICwgd2lkdGggLCBoZWlnaHQgOwogICAgICAgICAgICBDQVJEMTYgY291bnQgOwogICAgICAgICAg
ICBDQVJEMTYgcGFkMiA7CiAgICAgICAgfSBleHBvc2U7CiAgICAgICAgc3RydWN0IHsKICAgICAg
ICAgICAgQ0FSRDMyIHBhZDAwIDsKICAgICAgICAgICAgQ0FSRDMyIGRyYXdhYmxlIDsKICAgICAg
ICAgICAgQ0FSRDE2IHggLCB5ICwgd2lkdGggLCBoZWlnaHQgOwogICAgICAgICAgICBDQVJEMTYg
bWlub3JFdmVudCA7CiAgICAgICAgICAgIENBUkQxNiBjb3VudCA7CiAgICAgICAgICAgIEJZVEUg
bWFqb3JFdmVudDsKICAgICAgICAgICAgQllURSBwYWQxLCBwYWQyLCBwYWQzOwogICAgICAgIH0g
Z3JhcGhpY3NFeHBvc3VyZTsKICAgICAgICBzdHJ1Y3QgewogICAgICAgICAgICBDQVJEMzIgcGFk
MDAgOwogICAgICAgICAgICBDQVJEMzIgZHJhd2FibGUgOwogICAgICAgICAgICBDQVJEMTYgbWlu
b3JFdmVudCA7CiAgICAgICAgICAgIEJZVEUgbWFqb3JFdmVudDsKICAgICAgICAgICAgQllURSBi
cGFkOwogICAgICAgIH0gbm9FeHBvc3VyZTsKICAgICAgICBzdHJ1Y3QgewogICAgICAgICAgICBD
QVJEMzIgcGFkMDAgOwogICAgICAgICAgICBDQVJEMzIgd2luZG93IDsKICAgICAgICAgICAgQ0FS
RDggc3RhdGU7CiAgICAgICAgICAgIEJZVEUgcGFkMSwgcGFkMiwgcGFkMzsKICAgICAgICB9IHZp
c2liaWxpdHk7CiAgICAgICAgc3RydWN0IHsKICAgICAgICAgICAgQ0FSRDMyIHBhZDAwIDsKICAg
ICAgICAgICAgQ0FSRDMyIHBhcmVudCAsIHdpbmRvdyA7CiAgICAgICAgICAgIElOVDE2IHggLCB5
IDsKICAgICAgICAgICAgQ0FSRDE2IHdpZHRoICwgaGVpZ2h0ICwgYm9yZGVyV2lkdGggOwogICAg
ICAgICAgICBCT09MIG92ZXJyaWRlOwogICAgICAgICAgICBCWVRFIGJwYWQ7CiAgICAgICAgfSBj
cmVhdGVOb3RpZnk7CiMgMTA3MyAiLi4vLi4vLi4vLi4vLi4vLi4vZXhwb3J0cy9pbmNsdWRlL1gx
MS9YcHJvdG8uaCIKICAgICAgICBzdHJ1Y3QgewogICAgICAgICAgICBDQVJEMzIgcGFkMDAgOwog
ICAgICAgICAgICBDQVJEMzIgZXZlbnQgLCB3aW5kb3cgOwogICAgICAgIH0gZGVzdHJveU5vdGlm
eTsKICAgICAgICBzdHJ1Y3QgewogICAgICAgICAgICBDQVJEMzIgcGFkMDAgOwogICAgICAgICAg
ICBDQVJEMzIgZXZlbnQgLCB3aW5kb3cgOwogICAgICAgICAgICBCT09MIGZyb21Db25maWd1cmU7
CiAgICAgICAgICAgIEJZVEUgcGFkMSwgcGFkMiwgcGFkMzsKICAgICAgICB9IHVubWFwTm90aWZ5
OwogICAgICAgIHN0cnVjdCB7CiAgICAgICAgICAgIENBUkQzMiBwYWQwMCA7CiAgICAgICAgICAg
IENBUkQzMiBldmVudCAsIHdpbmRvdyA7CiAgICAgICAgICAgIEJPT0wgb3ZlcnJpZGU7CiAgICAg
ICAgICAgIEJZVEUgcGFkMSwgcGFkMiwgcGFkMzsKICAgICAgICB9IG1hcE5vdGlmeTsKICAgICAg
ICBzdHJ1Y3QgewogICAgICAgICAgICBDQVJEMzIgcGFkMDAgOwogICAgICAgICAgICBDQVJEMzIg
cGFyZW50ICwgd2luZG93IDsKICAgICAgICB9IG1hcFJlcXVlc3Q7CiAgICAgICAgc3RydWN0IHsK
ICAgICAgICAgICAgQ0FSRDMyIHBhZDAwIDsKICAgICAgICAgICAgQ0FSRDMyIGV2ZW50ICwgd2lu
ZG93ICwgcGFyZW50IDsKICAgICAgICAgICAgSU5UMTYgeCAsIHkgOwogICAgICAgICAgICBCT09M
IG92ZXJyaWRlOwogICAgICAgICAgICBCWVRFIHBhZDEsIHBhZDIsIHBhZDM7CiAgICAgICAgfSBy
ZXBhcmVudDsKICAgICAgICBzdHJ1Y3QgewogICAgICAgICAgICBDQVJEMzIgcGFkMDAgOwogICAg
ICAgICAgICBDQVJEMzIgZXZlbnQgLCB3aW5kb3cgLCBhYm92ZVNpYmxpbmcgOwogICAgICAgICAg
ICBJTlQxNiB4ICwgeSA7CiAgICAgICAgICAgIENBUkQxNiB3aWR0aCAsIGhlaWdodCAsIGJvcmRl
cldpZHRoIDsKICAgICAgICAgICAgQk9PTCBvdmVycmlkZTsKICAgICAgICAgICAgQllURSBicGFk
OwogICAgICAgIH0gY29uZmlndXJlTm90aWZ5OwogICAgICAgIHN0cnVjdCB7CiAgICAgICAgICAg
IENBUkQzMiBwYWQwMCA7CiAgICAgICAgICAgIENBUkQzMiBwYXJlbnQgLCB3aW5kb3cgLCBzaWJs
aW5nIDsKICAgICAgICAgICAgSU5UMTYgeCAsIHkgOwogICAgICAgICAgICBDQVJEMTYgd2lkdGgg
LCBoZWlnaHQgLCBib3JkZXJXaWR0aCA7CiAgICAgICAgICAgIENBUkQxNiB2YWx1ZU1hc2sgOwog
ICAgICAgICAgICBDQVJEMzIgcGFkMSA7CiAgICAgICAgfSBjb25maWd1cmVSZXF1ZXN0OwogICAg
ICAgIHN0cnVjdCB7CiAgICAgICAgICAgIENBUkQzMiBwYWQwMCA7CiAgICAgICAgICAgIENBUkQz
MiBldmVudCAsIHdpbmRvdyA7CiAgICAgICAgICAgIElOVDE2IHggLCB5IDsKICAgICAgICAgICAg
Q0FSRDMyIHBhZDEgLCBwYWQyICwgcGFkMyAsIHBhZDQgOwogICAgICAgIH0gZ3Jhdml0eTsKICAg
ICAgICBzdHJ1Y3QgewogICAgICAgICAgICBDQVJEMzIgcGFkMDAgOwogICAgICAgICAgICBDQVJE
MzIgd2luZG93IDsKICAgICAgICAgICAgQ0FSRDE2IHdpZHRoICwgaGVpZ2h0IDsKICAgICAgICB9
IHJlc2l6ZVJlcXVlc3Q7CiAgICAgICAgc3RydWN0IHsKCgogICAgICAgICAgICBDQVJEMzIgcGFk
MDAgOwogICAgICAgICAgICBDQVJEMzIgZXZlbnQgLCB3aW5kb3cgLCBwYXJlbnQgOwogICAgICAg
ICAgICBCWVRFIHBsYWNlOwogICAgICAgICAgICBCWVRFIHBhZDEsIHBhZDIsIHBhZDM7CiAgICAg
ICAgfSBjaXJjdWxhdGU7CiAgICAgICAgc3RydWN0IHsKICAgICAgICAgICAgQ0FSRDMyIHBhZDAw
IDsKICAgICAgICAgICAgQ0FSRDMyIHdpbmRvdyA7CiAgICAgICAgICAgIENBUkQzMiBhdG9tIDsK
ICAgICAgICAgICAgQ0FSRDMyIHRpbWUgOwogICAgICAgICAgICBCWVRFIHN0YXRlOwogICAgICAg
ICAgICBCWVRFIHBhZDE7CiAgICAgICAgICAgIENBUkQxNiBwYWQyIDsKICAgICAgICB9IHByb3Bl
cnR5OwogICAgICAgIHN0cnVjdCB7CiAgICAgICAgICAgIENBUkQzMiBwYWQwMCA7CiAgICAgICAg
ICAgIENBUkQzMiB0aW1lIDsKICAgICAgICAgICAgQ0FSRDMyIHdpbmRvdyA7CiAgICAgICAgICAg
IENBUkQzMiBhdG9tIDsKICAgICAgICB9IHNlbGVjdGlvbkNsZWFyOwogICAgICAgIHN0cnVjdCB7
CiAgICAgICAgICAgIENBUkQzMiBwYWQwMCA7CiAgICAgICAgICAgIENBUkQzMiB0aW1lIDsKICAg
ICAgICAgICAgQ0FSRDMyIG93bmVyICwgcmVxdWVzdG9yIDsKICAgICAgICAgICAgQ0FSRDMyIHNl
bGVjdGlvbiAsIHRhcmdldCAsIHByb3BlcnR5IDsKICAgICAgICB9IHNlbGVjdGlvblJlcXVlc3Q7
CiAgICAgICAgc3RydWN0IHsKICAgICAgICAgICAgQ0FSRDMyIHBhZDAwIDsKICAgICAgICAgICAg
Q0FSRDMyIHRpbWUgOwogICAgICAgICAgICBDQVJEMzIgcmVxdWVzdG9yIDsKICAgICAgICAgICAg
Q0FSRDMyIHNlbGVjdGlvbiAsIHRhcmdldCAsIHByb3BlcnR5IDsKICAgICAgICB9IHNlbGVjdGlv
bk5vdGlmeTsKICAgICAgICBzdHJ1Y3QgewogICAgICAgICAgICBDQVJEMzIgcGFkMDAgOwogICAg
ICAgICAgICBDQVJEMzIgd2luZG93IDsKICAgICAgICAgICAgQ0FSRDMyIGNvbG9ybWFwIDsKCgoK
ICAgICAgICAgICAgQk9PTCBuZXc7CgogICAgICAgICAgICBCWVRFIHN0YXRlOwogICAgICAgICAg
ICBCWVRFIHBhZDEsIHBhZDI7CiAgICAgICAgfSBjb2xvcm1hcDsKICAgICAgICBzdHJ1Y3Qgewog
ICAgICAgICAgICBDQVJEMzIgcGFkMDAgOwogICAgICAgICAgICBDQVJEOCByZXF1ZXN0OwogICAg
ICAgICAgICBDQVJEOCBmaXJzdEtleUNvZGU7CiAgICAgICAgICAgIENBUkQ4IGNvdW50OwogICAg
ICAgICAgICBCWVRFIHBhZDE7CiAgICAgICAgfSBtYXBwaW5nTm90aWZ5OwogICAgICAgIHN0cnVj
dCB7CiAgICAgICAgICAgIENBUkQzMiBwYWQwMCA7CiAgICAgICAgICAgIENBUkQzMiB3aW5kb3cg
OwogICAgICAgICAgICB1bmlvbiB7CiAgICAgICAgICAgICAgICBzdHJ1Y3QgewogICAgICAgICAg
ICAgICAgICAgIENBUkQzMiB0eXBlIDsKICAgICAgICAgICAgICAgICAgICBJTlQzMiBsb25nczAg
OwogICAgICAgICAgICAgICAgICAgIElOVDMyIGxvbmdzMSA7CiAgICAgICAgICAgICAgICAgICAg
SU5UMzIgbG9uZ3MyIDsKICAgICAgICAgICAgICAgICAgICBJTlQzMiBsb25nczMgOwogICAgICAg
ICAgICAgICAgICAgIElOVDMyIGxvbmdzNCA7CiAgICAgICAgICAgICAgICB9IGw7CiAgICAgICAg
ICAgICAgICBzdHJ1Y3QgewogICAgICAgICAgICAgICAgICAgIENBUkQzMiB0eXBlIDsKICAgICAg
ICAgICAgICAgICAgICBJTlQxNiBzaG9ydHMwIDsKICAgICAgICAgICAgICAgICAgICBJTlQxNiBz
aG9ydHMxIDsKICAgICAgICAgICAgICAgICAgICBJTlQxNiBzaG9ydHMyIDsKICAgICAgICAgICAg
ICAgICAgICBJTlQxNiBzaG9ydHMzIDsKICAgICAgICAgICAgICAgICAgICBJTlQxNiBzaG9ydHM0
IDsKICAgICAgICAgICAgICAgICAgICBJTlQxNiBzaG9ydHM1IDsKICAgICAgICAgICAgICAgICAg
ICBJTlQxNiBzaG9ydHM2IDsKICAgICAgICAgICAgICAgICAgICBJTlQxNiBzaG9ydHM3IDsKICAg
ICAgICAgICAgICAgICAgICBJTlQxNiBzaG9ydHM4IDsKICAgICAgICAgICAgICAgICAgICBJTlQx
NiBzaG9ydHM5IDsKICAgICAgICAgICAgICAgIH0gczsKICAgICAgICAgICAgICAgIHN0cnVjdCB7
CiAgICAgICAgICAgICAgICAgICAgQ0FSRDMyIHR5cGUgOwogICAgICAgICAgICAgICAgICAgIElO
VDggYnl0ZXNbMjBdOwogICAgICAgICAgICAgICAgfSBiOwogICAgICAgICAgICB9IHU7CiAgICAg
ICAgfSBjbGllbnRNZXNzYWdlOwogICAgfSB1Owp9IHhFdmVudDsKCgoKCgp0eXBlZGVmIHN0cnVj
dCB7CiAgICBCWVRFIHR5cGU7CiAgICBCWVRFIG1hcFszMV07CiAgICB9IHhLZXltYXBFdmVudDsK
IyAxMjMxICIuLi8uLi8uLi8uLi8uLi8uLi9leHBvcnRzL2luY2x1ZGUvWDExL1hwcm90by5oIgp0
eXBlZGVmIHVuaW9uIHsKICAgIHhHZW5lcmljUmVwbHkgZ2VuZXJpYzsKICAgIHhHZXRHZW9tZXRy
eVJlcGx5IGdlb207CiAgICB4UXVlcnlUcmVlUmVwbHkgdHJlZTsKICAgIHhJbnRlcm5BdG9tUmVw
bHkgYXRvbTsKICAgIHhHZXRBdG9tTmFtZVJlcGx5IGF0b21OYW1lOwogICAgeEdldFByb3BlcnR5
UmVwbHkgcHJvcGVydHk7CiAgICB4TGlzdFByb3BlcnRpZXNSZXBseSBsaXN0UHJvcGVydGllczsK
ICAgIHhHZXRTZWxlY3Rpb25Pd25lclJlcGx5IHNlbGVjdGlvbjsKICAgIHhHcmFiUG9pbnRlclJl
cGx5IGdyYWJQb2ludGVyOwogICAgeEdyYWJLZXlib2FyZFJlcGx5IGdyYWJLZXlib2FyZDsKICAg
IHhRdWVyeVBvaW50ZXJSZXBseSBwb2ludGVyOwogICAgeEdldE1vdGlvbkV2ZW50c1JlcGx5IG1v
dGlvbkV2ZW50czsKICAgIHhUcmFuc2xhdGVDb29yZHNSZXBseSBjb29yZHM7CiAgICB4R2V0SW5w
dXRGb2N1c1JlcGx5IGlucHV0Rm9jdXM7CiAgICB4UXVlcnlUZXh0RXh0ZW50c1JlcGx5IHRleHRF
eHRlbnRzOwogICAgeExpc3RGb250c1JlcGx5IGZvbnRzOwogICAgeEdldEZvbnRQYXRoUmVwbHkg
Zm9udFBhdGg7CiAgICB4R2V0SW1hZ2VSZXBseSBpbWFnZTsKICAgIHhMaXN0SW5zdGFsbGVkQ29s
b3JtYXBzUmVwbHkgY29sb3JtYXBzOwogICAgeEFsbG9jQ29sb3JSZXBseSBhbGxvY0NvbG9yOwog
ICAgeEFsbG9jTmFtZWRDb2xvclJlcGx5IGFsbG9jTmFtZWRDb2xvcjsKICAgIHhBbGxvY0NvbG9y
Q2VsbHNSZXBseSBjb2xvckNlbGxzOwogICAgeEFsbG9jQ29sb3JQbGFuZXNSZXBseSBjb2xvclBs
YW5lczsKICAgIHhRdWVyeUNvbG9yc1JlcGx5IGNvbG9yczsKICAgIHhMb29rdXBDb2xvclJlcGx5
IGxvb2t1cENvbG9yOwogICAgeFF1ZXJ5QmVzdFNpemVSZXBseSBiZXN0U2l6ZTsKICAgIHhRdWVy
eUV4dGVuc2lvblJlcGx5IGV4dGVuc2lvbjsKICAgIHhMaXN0RXh0ZW5zaW9uc1JlcGx5IGV4dGVu
c2lvbnM7CiAgICB4U2V0TW9kaWZpZXJNYXBwaW5nUmVwbHkgc2V0TW9kaWZpZXJNYXBwaW5nOwog
ICAgeEdldE1vZGlmaWVyTWFwcGluZ1JlcGx5IGdldE1vZGlmaWVyTWFwcGluZzsKICAgIHhTZXRQ
b2ludGVyTWFwcGluZ1JlcGx5IHNldFBvaW50ZXJNYXBwaW5nOwogICAgeEdldEtleWJvYXJkTWFw
cGluZ1JlcGx5IGdldEtleWJvYXJkTWFwcGluZzsKICAgIHhHZXRQb2ludGVyTWFwcGluZ1JlcGx5
IGdldFBvaW50ZXJNYXBwaW5nOwogICAgeEdldFBvaW50ZXJDb250cm9sUmVwbHkgcG9pbnRlckNv
bnRyb2w7CiAgICB4R2V0U2NyZWVuU2F2ZXJSZXBseSBzY3JlZW5TYXZlcjsKICAgIHhMaXN0SG9z
dHNSZXBseSBob3N0czsKICAgIHhFcnJvciBlcnJvcjsKICAgIHhFdmVudCBldmVudDsKfSB4UmVw
bHk7CiMgMTI4MSAiLi4vLi4vLi4vLi4vLi4vLi4vZXhwb3J0cy9pbmNsdWRlL1gxMS9YcHJvdG8u
aCIKdHlwZWRlZiBzdHJ1Y3QgX3hSZXEgewogICAgICAgIENBUkQ4IHJlcVR5cGU7CiAgICAgICAg
Q0FSRDggZGF0YTsKICAgICAgICBDQVJEMTYgbGVuZ3RoIDsKCn0geFJlcTsKIyAxMjk1ICIuLi8u
Li8uLi8uLi8uLi8uLi9leHBvcnRzL2luY2x1ZGUvWDExL1hwcm90by5oIgp0eXBlZGVmIHN0cnVj
dCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQllURSBwYWQ7CiAgICBDQVJEMTYgbGVuZ3RoIDsK
ICAgIENBUkQzMiBpZCA7CiAgICB9IHhSZXNvdXJjZVJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAg
IENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBkZXB0aDsKICAgIENBUkQxNiBsZW5ndGggOwogICAg
Q0FSRDMyIHdpZCAsIHBhcmVudCA7CiAgICBJTlQxNiB4ICwgeSA7CiAgICBDQVJEMTYgd2lkdGgg
LCBoZWlnaHQgLCBib3JkZXJXaWR0aCA7CgoKCiAgICBDQVJEMTYgY2xhc3MgOwoKICAgIENBUkQz
MiB2aXN1YWwgOwogICAgQ0FSRDMyIG1hc2sgOwp9IHhDcmVhdGVXaW5kb3dSZXE7Cgp0eXBlZGVm
IHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQllURSBwYWQ7CiAgICBDQVJEMTYgbGVu
Z3RoIDsKICAgIENBUkQzMiB3aW5kb3cgOwogICAgQ0FSRDMyIHZhbHVlTWFzayA7Cn0geENoYW5n
ZVdpbmRvd0F0dHJpYnV0ZXNSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBl
OwogICAgQllURSBtb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBDQVJEMzIgd2luZG93IDsK
fSB4Q2hhbmdlU2F2ZVNldFJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7
CiAgICBCWVRFIHBhZDsKICAgIENBUkQxNiBsZW5ndGggOwogICAgQ0FSRDMyIHdpbmRvdyAsIHBh
cmVudCA7CiAgICBJTlQxNiB4ICwgeSA7Cn0geFJlcGFyZW50V2luZG93UmVxOwoKdHlwZWRlZiBz
dHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IHBhZDsKICAgIENBUkQxNiBsZW5n
dGggOwogICAgQ0FSRDMyIHdpbmRvdyA7CiAgICBDQVJEMTYgbWFzayA7CiAgICBDQVJEMTYgcGFk
MiA7Cn0geENvbmZpZ3VyZVdpbmRvd1JlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJl
cVR5cGU7CiAgICBDQVJEOCBkaXJlY3Rpb247CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIENBUkQz
MiB3aW5kb3cgOwp9IHhDaXJjdWxhdGVXaW5kb3dSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBD
QVJEOCByZXFUeXBlOwogICAgQk9PTCBvbmx5SWZFeGlzdHM7CiAgICBDQVJEMTYgbGVuZ3RoIDsK
ICAgIENBUkQxNiBuYnl0ZXMgOwogICAgQ0FSRDE2IHBhZCA7Cn0geEludGVybkF0b21SZXE7Cgp0
eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDggbW9kZTsKICAgIENB
UkQxNiBsZW5ndGggOwogICAgQ0FSRDMyIHdpbmRvdyA7CiAgICBDQVJEMzIgcHJvcGVydHkgLCB0
eXBlIDsKICAgIENBUkQ4IGZvcm1hdDsKICAgIEJZVEUgcGFkWzNdOwogICAgQ0FSRDMyIG5Vbml0
cyA7Cn0geENoYW5nZVByb3BlcnR5UmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVx
VHlwZTsKICAgIEJZVEUgcGFkOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBDQVJEMzIgd2luZG93
IDsKICAgIENBUkQzMiBwcm9wZXJ0eSA7Cn0geERlbGV0ZVByb3BlcnR5UmVxOwoKdHlwZWRlZiBz
dHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKCgoKICAgIEJPT0wgZGVsZXRlOwoKICAgIENBUkQx
NiBsZW5ndGggOwogICAgQ0FSRDMyIHdpbmRvdyA7CiAgICBDQVJEMzIgcHJvcGVydHkgLCB0eXBl
IDsKICAgIENBUkQzMiBsb25nT2Zmc2V0IDsKICAgIENBUkQzMiBsb25nTGVuZ3RoIDsKfSB4R2V0
UHJvcGVydHlSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQllU
RSBwYWQ7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIENBUkQzMiB3aW5kb3cgOwogICAgQ0FSRDMy
IHNlbGVjdGlvbiA7CiAgICBDQVJEMzIgdGltZSA7Cn0geFNldFNlbGVjdGlvbk93bmVyUmVxOwoK
dHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIEJZVEUgcGFkOwogICAgQ0FS
RDE2IGxlbmd0aCA7CiAgICBDQVJEMzIgcmVxdWVzdG9yIDsKICAgIENBUkQzMiBzZWxlY3Rpb24g
LCB0YXJnZXQgLCBwcm9wZXJ0eSA7CiAgICBDQVJEMzIgdGltZSA7CiAgICB9IHhDb252ZXJ0U2Vs
ZWN0aW9uUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIEJPT0wg
cHJvcGFnYXRlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBDQVJEMzIgZGVzdGluYXRpb24gOwog
ICAgQ0FSRDMyIGV2ZW50TWFzayA7CgoKCgogICAgeEV2ZW50IGV2ZW50OwoKfSB4U2VuZEV2ZW50
UmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIEJPT0wgb3duZXJF
dmVudHM7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIENBUkQzMiBncmFiV2luZG93IDsKICAgIENB
UkQxNiBldmVudE1hc2sgOwogICAgQllURSBwb2ludGVyTW9kZSwga2V5Ym9hcmRNb2RlOwogICAg
Q0FSRDMyIGNvbmZpbmVUbyA7CiAgICBDQVJEMzIgY3Vyc29yIDsKICAgIENBUkQzMiB0aW1lIDsK
fSB4R3JhYlBvaW50ZXJSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwog
ICAgQk9PTCBvd25lckV2ZW50czsKICAgIENBUkQxNiBsZW5ndGggOwogICAgQ0FSRDMyIGdyYWJX
aW5kb3cgOwogICAgQ0FSRDE2IGV2ZW50TWFzayA7CiAgICBCWVRFIHBvaW50ZXJNb2RlLCBrZXli
b2FyZE1vZGU7CiAgICBDQVJEMzIgY29uZmluZVRvIDsKICAgIENBUkQzMiBjdXJzb3IgOwogICAg
Q0FSRDggYnV0dG9uOwogICAgQllURSBwYWQ7CiAgICBDQVJEMTYgbW9kaWZpZXJzIDsKfSB4R3Jh
YkJ1dHRvblJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJE
OCBidXR0b247CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIENBUkQzMiBncmFiV2luZG93IDsKICAg
IENBUkQxNiBtb2RpZmllcnMgOwogICAgQ0FSRDE2IHBhZCA7Cn0geFVuZ3JhYkJ1dHRvblJlcTsK
CnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBCWVRFIHBhZDsKICAgIENB
UkQxNiBsZW5ndGggOwogICAgQ0FSRDMyIGN1cnNvciA7CiAgICBDQVJEMzIgdGltZSA7CiAgICBD
QVJEMTYgZXZlbnRNYXNrIDsKICAgIENBUkQxNiBwYWQyIDsKfSB4Q2hhbmdlQWN0aXZlUG9pbnRl
ckdyYWJSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQk9PTCBv
d25lckV2ZW50czsKICAgIENBUkQxNiBsZW5ndGggOwogICAgQ0FSRDMyIGdyYWJXaW5kb3cgOwog
ICAgQ0FSRDMyIHRpbWUgOwogICAgQllURSBwb2ludGVyTW9kZSwga2V5Ym9hcmRNb2RlOwogICAg
Q0FSRDE2IHBhZCA7Cn0geEdyYWJLZXlib2FyZFJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENB
UkQ4IHJlcVR5cGU7CiAgICBCT09MIG93bmVyRXZlbnRzOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAg
ICBDQVJEMzIgZ3JhYldpbmRvdyA7CiAgICBDQVJEMTYgbW9kaWZpZXJzIDsKICAgIENBUkQ4IGtl
eTsKICAgIEJZVEUgcG9pbnRlck1vZGUsIGtleWJvYXJkTW9kZTsKICAgIEJZVEUgcGFkMSwgcGFk
MiwgcGFkMzsKfSB4R3JhYktleVJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5
cGU7CiAgICBDQVJEOCBrZXk7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIENBUkQzMiBncmFiV2lu
ZG93IDsKICAgIENBUkQxNiBtb2RpZmllcnMgOwogICAgQ0FSRDE2IHBhZCA7Cn0geFVuZ3JhYktl
eVJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBtb2Rl
OwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBDQVJEMzIgdGltZSA7Cn0geEFsbG93RXZlbnRzUmVx
OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIEJZVEUgcGFkOwogICAg
Q0FSRDE2IGxlbmd0aCA7CiAgICBDQVJEMzIgd2luZG93IDsKICAgIENBUkQzMiBzdGFydCAsIHN0
b3AgOwp9IHhHZXRNb3Rpb25FdmVudHNSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCBy
ZXFUeXBlOwogICAgQllURSBwYWQ7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIENBUkQzMiBzcmNX
aWQgLCBkc3RXaWQgOwogICAgSU5UMTYgc3JjWCAsIHNyY1kgOwp9IHhUcmFuc2xhdGVDb29yZHNS
ZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQllURSBwYWQ7CiAg
ICBDQVJEMTYgbGVuZ3RoIDsKICAgIENBUkQzMiBzcmNXaWQgLCBkc3RXaWQgOwogICAgSU5UMTYg
c3JjWCAsIHNyY1kgOwogICAgQ0FSRDE2IHNyY1dpZHRoICwgc3JjSGVpZ2h0IDsKICAgIElOVDE2
IGRzdFggLCBkc3RZIDsKfSB4V2FycFBvaW50ZXJSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBD
QVJEOCByZXFUeXBlOwogICAgQ0FSRDggcmV2ZXJ0VG87CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAg
IENBUkQzMiBmb2N1cyA7CiAgICBDQVJEMzIgdGltZSA7Cn0geFNldElucHV0Rm9jdXNSZXE7Cgp0
eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQllURSBwYWQ7CiAgICBDQVJE
MTYgbGVuZ3RoIDsKICAgIENBUkQzMiBmaWQgOwogICAgQ0FSRDE2IG5ieXRlcyA7CiAgICBCWVRF
IHBhZDEsIHBhZDI7Cn0geE9wZW5Gb250UmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDgg
cmVxVHlwZTsKICAgIEJPT0wgb2RkTGVuZ3RoOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBDQVJE
MzIgZmlkIDsKICAgIH0geFF1ZXJ5VGV4dEV4dGVudHNSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAg
ICBDQVJEOCByZXFUeXBlOwogICAgQllURSBwYWQ7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIENB
UkQxNiBtYXhOYW1lcyA7CiAgICBDQVJEMTYgbmJ5dGVzIDsKfSB4TGlzdEZvbnRzUmVxOwoKdHlw
ZWRlZiB4TGlzdEZvbnRzUmVxIHhMaXN0Rm9udHNXaXRoSW5mb1JlcTsKCnR5cGVkZWYgc3RydWN0
IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBCWVRFIHBhZDsKICAgIENBUkQxNiBsZW5ndGggOwog
ICAgQ0FSRDE2IG5Gb250cyA7CiAgICBCWVRFIHBhZDEsIHBhZDI7Cn0geFNldEZvbnRQYXRoUmVx
OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IGRlcHRoOwog
ICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBDQVJEMzIgcGlkIDsKICAgIENBUkQzMiBkcmF3YWJsZSA7
CiAgICBDQVJEMTYgd2lkdGggLCBoZWlnaHQgOwp9IHhDcmVhdGVQaXhtYXBSZXE7Cgp0eXBlZGVm
IHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQllURSBwYWQ7CiAgICBDQVJEMTYgbGVu
Z3RoIDsKICAgIENBUkQzMiBnYyA7CiAgICBDQVJEMzIgZHJhd2FibGUgOwogICAgQ0FSRDMyIG1h
c2sgOwp9IHhDcmVhdGVHQ1JlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7
CiAgICBCWVRFIHBhZDsKICAgIENBUkQxNiBsZW5ndGggOwogICAgQ0FSRDMyIGdjIDsKICAgIENB
UkQzMiBtYXNrIDsKfSB4Q2hhbmdlR0NSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCBy
ZXFUeXBlOwogICAgQllURSBwYWQ7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIENBUkQzMiBzcmNH
QyAsIGRzdEdDIDsKICAgIENBUkQzMiBtYXNrIDsKfSB4Q29weUdDUmVxOwoKdHlwZWRlZiBzdHJ1
Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIEJZVEUgcGFkOwogICAgQ0FSRDE2IGxlbmd0aCA7
CiAgICBDQVJEMzIgZ2MgOwogICAgQ0FSRDE2IGRhc2hPZmZzZXQgOwogICAgQ0FSRDE2IG5EYXNo
ZXMgOwp9IHhTZXREYXNoZXNSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBl
OwogICAgQllURSBvcmRlcmluZzsKICAgIENBUkQxNiBsZW5ndGggOwogICAgQ0FSRDMyIGdjIDsK
ICAgIElOVDE2IHhPcmlnaW4gLCB5T3JpZ2luIDsKfSB4U2V0Q2xpcFJlY3RhbmdsZXNSZXE7Cgp0
eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQk9PTCBleHBvc3VyZXM7CiAg
ICBDQVJEMTYgbGVuZ3RoIDsKICAgIENBUkQzMiB3aW5kb3cgOwogICAgSU5UMTYgeCAsIHkgOwog
ICAgQ0FSRDE2IHdpZHRoICwgaGVpZ2h0IDsKfSB4Q2xlYXJBcmVhUmVxOwoKdHlwZWRlZiBzdHJ1
Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIEJZVEUgcGFkOwogICAgQ0FSRDE2IGxlbmd0aCA7
CiAgICBDQVJEMzIgc3JjRHJhd2FibGUgLCBkc3REcmF3YWJsZSA7CiAgICBDQVJEMzIgZ2MgOwog
ICAgSU5UMTYgc3JjWCAsIHNyY1kgLCBkc3RYICwgZHN0WSA7CiAgICBDQVJEMTYgd2lkdGggLCBo
ZWlnaHQgOwp9IHhDb3B5QXJlYVJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5
cGU7CiAgICBCWVRFIHBhZDsKICAgIENBUkQxNiBsZW5ndGggOwogICAgQ0FSRDMyIHNyY0RyYXdh
YmxlICwgZHN0RHJhd2FibGUgOwogICAgQ0FSRDMyIGdjIDsKICAgIElOVDE2IHNyY1ggLCBzcmNZ
ICwgZHN0WCAsIGRzdFkgOwogICAgQ0FSRDE2IHdpZHRoICwgaGVpZ2h0IDsKICAgIENBUkQzMiBi
aXRQbGFuZSA7Cn0geENvcHlQbGFuZVJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJl
cVR5cGU7CiAgICBCWVRFIGNvb3JkTW9kZTsKICAgIENBUkQxNiBsZW5ndGggOwogICAgQ0FSRDMy
IGRyYXdhYmxlIDsKICAgIENBUkQzMiBnYyA7Cn0geFBvbHlQb2ludFJlcTsKCnR5cGVkZWYgeFBv
bHlQb2ludFJlcSB4UG9seUxpbmVSZXE7CgoKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJl
cVR5cGU7CiAgICBCWVRFIHBhZDsKICAgIENBUkQxNiBsZW5ndGggOwogICAgQ0FSRDMyIGRyYXdh
YmxlIDsKICAgIENBUkQzMiBnYyA7Cn0geFBvbHlTZWdtZW50UmVxOwoKdHlwZWRlZiB4UG9seVNl
Z21lbnRSZXEgeFBvbHlBcmNSZXE7CnR5cGVkZWYgeFBvbHlTZWdtZW50UmVxIHhQb2x5UmVjdGFu
Z2xlUmVxOwp0eXBlZGVmIHhQb2x5U2VnbWVudFJlcSB4UG9seUZpbGxSZWN0YW5nbGVSZXE7CnR5
cGVkZWYgeFBvbHlTZWdtZW50UmVxIHhQb2x5RmlsbEFyY1JlcTsKCnR5cGVkZWYgc3RydWN0IF9G
aWxsUG9seVJlcSB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQllURSBwYWQ7CiAgICBDQVJEMTYg
bGVuZ3RoIDsKICAgIENBUkQzMiBkcmF3YWJsZSA7CiAgICBDQVJEMzIgZ2MgOwogICAgQllURSBz
aGFwZTsKICAgIEJZVEUgY29vcmRNb2RlOwogICAgQ0FSRDE2IHBhZDEgOwp9IHhGaWxsUG9seVJl
cTsKCgp0eXBlZGVmIHN0cnVjdCBfUHV0SW1hZ2VSZXEgewogICAgQ0FSRDggcmVxVHlwZTsKICAg
IENBUkQ4IGZvcm1hdDsKICAgIENBUkQxNiBsZW5ndGggOwogICAgQ0FSRDMyIGRyYXdhYmxlIDsK
ICAgIENBUkQzMiBnYyA7CiAgICBDQVJEMTYgd2lkdGggLCBoZWlnaHQgOwogICAgSU5UMTYgZHN0
WCAsIGRzdFkgOwogICAgQ0FSRDggbGVmdFBhZDsKICAgIENBUkQ4IGRlcHRoOwogICAgQ0FSRDE2
IHBhZCA7Cn0geFB1dEltYWdlUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlw
ZTsKICAgIENBUkQ4IGZvcm1hdDsKICAgIENBUkQxNiBsZW5ndGggOwogICAgQ0FSRDMyIGRyYXdh
YmxlIDsKICAgIElOVDE2IHggLCB5IDsKICAgIENBUkQxNiB3aWR0aCAsIGhlaWdodCA7CiAgICBD
QVJEMzIgcGxhbmVNYXNrIDsKfSB4R2V0SW1hZ2VSZXE7CgoKCnR5cGVkZWYgc3RydWN0IHsKICAg
IENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBwYWQ7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIENB
UkQzMiBkcmF3YWJsZSA7CiAgICBDQVJEMzIgZ2MgOwogICAgSU5UMTYgeCAsIHkgOwp9IHhQb2x5
VGV4dFJlcTsKCnR5cGVkZWYgeFBvbHlUZXh0UmVxIHhQb2x5VGV4dDhSZXE7CnR5cGVkZWYgeFBv
bHlUZXh0UmVxIHhQb2x5VGV4dDE2UmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVx
VHlwZTsKICAgIEJZVEUgbkNoYXJzOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBDQVJEMzIgZHJh
d2FibGUgOwogICAgQ0FSRDMyIGdjIDsKICAgIElOVDE2IHggLCB5IDsKfSB4SW1hZ2VUZXh0UmVx
OwoKdHlwZWRlZiB4SW1hZ2VUZXh0UmVxIHhJbWFnZVRleHQ4UmVxOwp0eXBlZGVmIHhJbWFnZVRl
eHRSZXEgeEltYWdlVGV4dDE2UmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlw
ZTsKICAgIEJZVEUgYWxsb2M7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIENBUkQzMiBtaWQgOwog
ICAgQ0FSRDMyIHdpbmRvdyA7CiAgICBDQVJEMzIgdmlzdWFsIDsKfSB4Q3JlYXRlQ29sb3JtYXBS
ZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQllURSBwYWQ7CiAg
ICBDQVJEMTYgbGVuZ3RoIDsKICAgIENBUkQzMiBtaWQgOwogICAgQ0FSRDMyIHNyY0NtYXAgOwp9
IHhDb3B5Q29sb3JtYXBBbmRGcmVlUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVx
VHlwZTsKICAgIEJZVEUgcGFkOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBDQVJEMzIgY21hcCA7
CiAgICBDQVJEMTYgcmVkICwgZ3JlZW4gLCBibHVlIDsKICAgIENBUkQxNiBwYWQyIDsKfSB4QWxs
b2NDb2xvclJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBCWVRF
IHBhZDsKICAgIENBUkQxNiBsZW5ndGggOwogICAgQ0FSRDMyIGNtYXAgOwogICAgQ0FSRDE2IG5i
eXRlcyA7CiAgICBCWVRFIHBhZDEsIHBhZDI7Cn0geEFsbG9jTmFtZWRDb2xvclJlcTsKCnR5cGVk
ZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBCT09MIGNvbnRpZ3VvdXM7CiAgICBD
QVJEMTYgbGVuZ3RoIDsKICAgIENBUkQzMiBjbWFwIDsKICAgIENBUkQxNiBjb2xvcnMgLCBwbGFu
ZXMgOwp9IHhBbGxvY0NvbG9yQ2VsbHNSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCBy
ZXFUeXBlOwogICAgQk9PTCBjb250aWd1b3VzOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBDQVJE
MzIgY21hcCA7CiAgICBDQVJEMTYgY29sb3JzICwgcmVkICwgZ3JlZW4gLCBibHVlIDsKfSB4QWxs
b2NDb2xvclBsYW5lc1JlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAg
ICBCWVRFIHBhZDsKICAgIENBUkQxNiBsZW5ndGggOwogICAgQ0FSRDMyIGNtYXAgOwogICAgQ0FS
RDMyIHBsYW5lTWFzayA7Cn0geEZyZWVDb2xvcnNSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBD
QVJEOCByZXFUeXBlOwogICAgQllURSBwYWQ7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIENBUkQz
MiBjbWFwIDsKfSB4U3RvcmVDb2xvcnNSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCBy
ZXFUeXBlOwogICAgQ0FSRDggZmxhZ3M7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIENBUkQzMiBj
bWFwIDsKICAgIENBUkQzMiBwaXhlbCA7CiAgICBDQVJEMTYgbmJ5dGVzIDsKICAgIEJZVEUgcGFk
MSwgcGFkMjsKICAgIH0geFN0b3JlTmFtZWRDb2xvclJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAg
IENBUkQ4IHJlcVR5cGU7CiAgICBCWVRFIHBhZDsKICAgIENBUkQxNiBsZW5ndGggOwogICAgQ0FS
RDMyIGNtYXAgOwp9IHhRdWVyeUNvbG9yc1JlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4
IHJlcVR5cGU7CiAgICBCWVRFIHBhZDsKICAgIENBUkQxNiBsZW5ndGggOwogICAgQ0FSRDMyIGNt
YXAgOwogICAgQ0FSRDE2IG5ieXRlcyA7CiAgICBCWVRFIHBhZDEsIHBhZDI7Cn0geExvb2t1cENv
bG9yUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIEJZVEUgcGFk
OwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBDQVJEMzIgY2lkIDsKICAgIENBUkQzMiBzb3VyY2Ug
LCBtYXNrIDsKICAgIENBUkQxNiBmb3JlUmVkICwgZm9yZUdyZWVuICwgZm9yZUJsdWUgOwogICAg
Q0FSRDE2IGJhY2tSZWQgLCBiYWNrR3JlZW4gLCBiYWNrQmx1ZSA7CiAgICBDQVJEMTYgeCAsIHkg
Owp9IHhDcmVhdGVDdXJzb3JSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBl
OwogICAgQllURSBwYWQ7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIENBUkQzMiBjaWQgOwogICAg
Q0FSRDMyIHNvdXJjZSAsIG1hc2sgOwogICAgQ0FSRDE2IHNvdXJjZUNoYXIgLCBtYXNrQ2hhciA7
CiAgICBDQVJEMTYgZm9yZVJlZCAsIGZvcmVHcmVlbiAsIGZvcmVCbHVlIDsKICAgIENBUkQxNiBi
YWNrUmVkICwgYmFja0dyZWVuICwgYmFja0JsdWUgOwp9IHhDcmVhdGVHbHlwaEN1cnNvclJlcTsK
CnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBCWVRFIHBhZDsKICAgIENB
UkQxNiBsZW5ndGggOwogICAgQ0FSRDMyIGN1cnNvciA7CiAgICBDQVJEMTYgZm9yZVJlZCAsIGZv
cmVHcmVlbiAsIGZvcmVCbHVlIDsKICAgIENBUkQxNiBiYWNrUmVkICwgYmFja0dyZWVuICwgYmFj
a0JsdWUgOwp9IHhSZWNvbG9yQ3Vyc29yUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDgg
cmVxVHlwZTsKCgoKICAgIENBUkQ4IGNsYXNzOwoKICAgIENBUkQxNiBsZW5ndGggOwogICAgQ0FS
RDMyIGRyYXdhYmxlIDsKICAgIENBUkQxNiB3aWR0aCAsIGhlaWdodCA7Cn0geFF1ZXJ5QmVzdFNp
emVSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQllURSBwYWQ7
CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIENBUkQxNiBuYnl0ZXMgOwogICAgQllURSBwYWQxLCBw
YWQyOwp9IHhRdWVyeUV4dGVuc2lvblJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJl
cVR5cGU7CiAgICBDQVJEOCBudW1LZXlQZXJNb2RpZmllcjsKICAgIENBUkQxNiBsZW5ndGggOwp9
IHhTZXRNb2RpZmllck1hcHBpbmdSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFU
eXBlOwogICAgQ0FSRDggbkVsdHM7CiAgICBDQVJEMTYgbGVuZ3RoIDsKfSB4U2V0UG9pbnRlck1h
cHBpbmdSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQllURSBw
YWQ7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIENBUkQ4IGZpcnN0S2V5Q29kZTsKICAgIENBUkQ4
IGNvdW50OwogICAgQ0FSRDE2IHBhZDEgOwp9IHhHZXRLZXlib2FyZE1hcHBpbmdSZXE7Cgp0eXBl
ZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDgga2V5Q29kZXM7CiAgICBD
QVJEMTYgbGVuZ3RoIDsKICAgIENBUkQ4IGZpcnN0S2V5Q29kZTsKICAgIENBUkQ4IGtleVN5bXNQ
ZXJLZXlDb2RlOwogICAgQ0FSRDE2IHBhZDEgOwp9IHhDaGFuZ2VLZXlib2FyZE1hcHBpbmdSZXE7
Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQllURSBwYWQ7CiAgICBD
QVJEMTYgbGVuZ3RoIDsKICAgIENBUkQzMiBtYXNrIDsKfSB4Q2hhbmdlS2V5Ym9hcmRDb250cm9s
UmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIElOVDggcGVyY2Vu
dDsKICAgIENBUkQxNiBsZW5ndGggOwp9IHhCZWxsUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAg
Q0FSRDggcmVxVHlwZTsKICAgIEJZVEUgcGFkOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBJTlQx
NiBhY2NlbE51bSAsIGFjY2VsRGVudW0gOwogICAgSU5UMTYgdGhyZXNob2xkIDsKICAgIEJPT0wg
ZG9BY2NlbCwgZG9UaHJlc2g7Cn0geENoYW5nZVBvaW50ZXJDb250cm9sUmVxOwoKdHlwZWRlZiBz
dHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIEJZVEUgcGFkOwogICAgQ0FSRDE2IGxlbmd0
aCA7CiAgICBJTlQxNiB0aW1lb3V0ICwgaW50ZXJ2YWwgOwogICAgQllURSBwcmVmZXJCbGFuaywg
YWxsb3dFeHBvc2U7CiAgICBDQVJEMTYgcGFkMiA7Cn0geFNldFNjcmVlblNhdmVyUmVxOwoKdHlw
ZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIEJZVEUgbW9kZTsKICAgIENBUkQx
NiBsZW5ndGggOwogICAgQ0FSRDggaG9zdEZhbWlseTsKICAgIEJZVEUgcGFkOwogICAgQ0FSRDE2
IGhvc3RMZW5ndGggOwp9IHhDaGFuZ2VIb3N0c1JlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENB
UkQ4IHJlcVR5cGU7CiAgICBCWVRFIHBhZDsKICAgIENBUkQxNiBsZW5ndGggOwogICAgfSB4TGlz
dEhvc3RzUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIEJZVEUg
bW9kZTsKICAgIENBUkQxNiBsZW5ndGggOwogICAgfSB4Q2hhbmdlTW9kZVJlcTsKCnR5cGVkZWYg
eENoYW5nZU1vZGVSZXEgeFNldEFjY2Vzc0NvbnRyb2xSZXE7CnR5cGVkZWYgeENoYW5nZU1vZGVS
ZXEgeFNldENsb3NlRG93bk1vZGVSZXE7CnR5cGVkZWYgeENoYW5nZU1vZGVSZXEgeEZvcmNlU2Ny
ZWVuU2F2ZXJSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQllU
RSBwYWQ7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIENBUkQzMiB3aW5kb3cgOwogICAgQ0FSRDE2
IG5BdG9tcyA7CiAgICBJTlQxNiBuUG9zaXRpb25zIDsKICAgIH0geFJvdGF0ZVByb3BlcnRpZXNS
ZXE7CiMgNTYgIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2dyYW1zL1hzZXJ2ZXIvaW5jbHVkZS9nYy5o
IiAyCiMgODUgIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2dyYW1zL1hzZXJ2ZXIvaW5jbHVkZS9nYy5o
Igp0eXBlZGVmIHN0cnVjdCBfR0NJbnRlcmVzdCAqR0NJbnRlcmVzdFB0cjsKdHlwZWRlZiBzdHJ1
Y3QgX0dDICpHQ1B0cjsKdHlwZWRlZiBzdHJ1Y3QgX0dDT3BzICpHQ09wc1B0cjsKCmV4dGVybiB2
b2lkIFZhbGlkYXRlR0MoCgogICAgRHJhd2FibGVQdHIgLAogICAgR0NQdHIKCik7CgpleHRlcm4g
aW50IENoYW5nZUdDKAoKICAgIEdDUHRyICwKICAgIEJJVFMzMiAsCiAgICBYSUQqCgopOwoKZXh0
ZXJuIGludCBEb0NoYW5nZUdDKAoKICAgIEdDUHRyICwKICAgIEJJVFMzMiAsCiAgICBYSUQqICwK
ICAgIGludAoKKTsKCnR5cGVkZWYgdW5pb24gewogICAgQ0FSRDMyIHZhbDsKICAgIHBvaW50ZXIg
cHRyOwp9IENoYW5nZUdDVmFsLCAqQ2hhbmdlR0NWYWxQdHI7CgpleHRlcm4gaW50IGRpeENoYW5n
ZUdDKAoKICAgIENsaWVudFB0ciAsCiAgICBHQ1B0ciAsCiAgICBCSVRTMzIgLAogICAgQ0FSRDMy
ICogLAogICAgQ2hhbmdlR0NWYWxQdHIKCik7CgpleHRlcm4gR0NQdHIgQ3JlYXRlR0MoCgogICAg
RHJhd2FibGVQdHIgLAogICAgQklUUzMyICwKICAgIFhJRCogLAogICAgaW50KgoKKTsKCmV4dGVy
biBpbnQgQ29weUdDKAoKICAgIEdDUHRyICwKICAgIEdDUHRyICwKICAgIEJJVFMzMgoKKTsKCmV4
dGVybiBpbnQgRnJlZUdDKAoKICAgIHBvaW50ZXIgLAogICAgWElECgopOwoKZXh0ZXJuIHZvaWQg
U2V0R0NNYXNrKAoKICAgIEdDUHRyICwKICAgIE1hc2sgLAogICAgTWFzawoKKTsKCmV4dGVybiBH
Q1B0ciBDcmVhdGVTY3JhdGNoR0MoCgogICAgU2NyZWVuUHRyICwKICAgIHVuc2lnbmVkCgopOwoK
ZXh0ZXJuIHZvaWQgRnJlZUdDcGVyRGVwdGgoCgogICAgaW50CgopOwoKZXh0ZXJuIEJvb2wgQ3Jl
YXRlR0NwZXJEZXB0aCgKCiAgICBpbnQKCik7CgpleHRlcm4gQm9vbCBDcmVhdGVEZWZhdWx0U3Rp
cHBsZSgKCiAgICBpbnQKCik7CgpleHRlcm4gdm9pZCBGcmVlRGVmYXVsdFN0aXBwbGUoCgogICAg
aW50CgopOwoKZXh0ZXJuIGludCBTZXREYXNoZXMoCgogICAgR0NQdHIgLAogICAgdW5zaWduZWQg
LAogICAgdW5zaWduZWQgLAogICAgdW5zaWduZWQgY2hhcioKCik7CgpleHRlcm4gaW50IFZlcmlm
eVJlY3RPcmRlcigKCiAgICBpbnQgLAogICAgeFJlY3RhbmdsZSogLAogICAgaW50CgopOwoKZXh0
ZXJuIGludCBTZXRDbGlwUmVjdHMoCgogICAgR0NQdHIgLAogICAgaW50ICwKICAgIGludCAsCiAg
ICBpbnQgLAogICAgeFJlY3RhbmdsZSogLAogICAgaW50CgopOwoKZXh0ZXJuIEdDUHRyIEdldFNj
cmF0Y2hHQygKCiAgICB1bnNpZ25lZCAsCiAgICBTY3JlZW5QdHIKCik7CgpleHRlcm4gdm9pZCBG
cmVlU2NyYXRjaEdDKAoKICAgIEdDUHRyCgopOwojIDU0ICIuLi8uLi8uLi8uLi8uLi8uLi9wcm9n
cmFtcy9Yc2VydmVyL2luY2x1ZGUvZGl4LmgiIDIKIyAxICIuLi8uLi8uLi8uLi8uLi8uLi9wcm9n
cmFtcy9Yc2VydmVyL2luY2x1ZGUvd2luZG93LmgiIDEKIyA1MyAiLi4vLi4vLi4vLi4vLi4vLi4v
cHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL3dpbmRvdy5oIgojIDEgIi4uLy4uLy4uLy4uLy4uLy4u
L3Byb2dyYW1zL1hzZXJ2ZXIvaW5jbHVkZS9yZWdpb24uaCIgMQojIDUxICIuLi8uLi8uLi8uLi8u
Li8uLi9wcm9ncmFtcy9Yc2VydmVyL2luY2x1ZGUvcmVnaW9uLmgiCiMgMSAiLi4vLi4vLi4vLi4v
Li4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL3JlZ2lvbnN0ci5oIiAxCiMgNjcgIi4uLy4u
Ly4uLy4uLy4uLy4uL3Byb2dyYW1zL1hzZXJ2ZXIvaW5jbHVkZS9yZWdpb25zdHIuaCIKdHlwZWRl
ZiBzdHJ1Y3QgX1JlZ0RhdGEgewogICAgbG9uZyBzaXplOwogICAgbG9uZyBudW1SZWN0czsKCn0g
UmVnRGF0YVJlYywgKlJlZ0RhdGFQdHI7Cgp0eXBlZGVmIHN0cnVjdCBfUmVnaW9uIHsKICAgIEJv
eFJlYyBleHRlbnRzOwogICAgUmVnRGF0YVB0ciBkYXRhOwp9IFJlZ2lvblJlYywgKlJlZ2lvblB0
cjsKCmV4dGVybiBCb3hSZWMgbWlFbXB0eUJveDsKZXh0ZXJuIFJlZ0RhdGFSZWMgbWlFbXB0eURh
dGE7CmV4dGVybiBSZWdEYXRhUmVjIG1pQnJva2VuRGF0YTsKIyAyOTQgIi4uLy4uLy4uLy4uLy4u
Ly4uL3Byb2dyYW1zL1hzZXJ2ZXIvaW5jbHVkZS9yZWdpb25zdHIuaCIKZXh0ZXJuIFJlZ2lvblB0
ciBtaVJlZ2lvbkNyZWF0ZSgKCiAgICBCb3hQdHIgLAogICAgaW50CgopOwoKZXh0ZXJuIHZvaWQg
bWlSZWdpb25Jbml0KAoKICAgIFJlZ2lvblB0ciAsCiAgICBCb3hQdHIgLAogICAgaW50CgopOwoK
ZXh0ZXJuIHZvaWQgbWlSZWdpb25EZXN0cm95KAoKICAgIFJlZ2lvblB0cgoKKTsKCmV4dGVybiB2
b2lkIG1pUmVnaW9uVW5pbml0KAoKICAgIFJlZ2lvblB0cgoKKTsKCmV4dGVybiBCb29sIG1pUmVn
aW9uQ29weSgKCiAgICBSZWdpb25QdHIgLAogICAgUmVnaW9uUHRyCgopOwoKZXh0ZXJuIEJvb2wg
bWlJbnRlcnNlY3QoCgogICAgUmVnaW9uUHRyICwKICAgIFJlZ2lvblB0ciAsCiAgICBSZWdpb25Q
dHIKCik7CgpleHRlcm4gQm9vbCBtaVVuaW9uKAoKICAgIFJlZ2lvblB0ciAsCiAgICBSZWdpb25Q
dHIgLAogICAgUmVnaW9uUHRyCgopOwoKZXh0ZXJuIEJvb2wgbWlSZWdpb25BcHBlbmQoCgogICAg
UmVnaW9uUHRyICwKICAgIFJlZ2lvblB0cgoKKTsKCmV4dGVybiBCb29sIG1pUmVnaW9uVmFsaWRh
dGUoCgogICAgUmVnaW9uUHRyICwKICAgIEJvb2wgKgoKKTsKCmV4dGVybiBSZWdpb25QdHIgbWlS
ZWN0c1RvUmVnaW9uKAoKICAgIGludCAsCiAgICB4UmVjdGFuZ2xlUHRyICwKICAgIGludAoKKTsK
CmV4dGVybiBCb29sIG1pU3VidHJhY3QoCgogICAgUmVnaW9uUHRyICwKICAgIFJlZ2lvblB0ciAs
CiAgICBSZWdpb25QdHIKCik7CgpleHRlcm4gQm9vbCBtaUludmVyc2UoCgogICAgUmVnaW9uUHRy
ICwKICAgIFJlZ2lvblB0ciAsCiAgICBCb3hQdHIKCik7CgpleHRlcm4gaW50IG1pUmVjdEluKAoK
ICAgIFJlZ2lvblB0ciAsCiAgICBCb3hQdHIKCik7CgpleHRlcm4gdm9pZCBtaVRyYW5zbGF0ZVJl
Z2lvbigKCiAgICBSZWdpb25QdHIgLAogICAgaW50ICwKICAgIGludAoKKTsKCmV4dGVybiB2b2lk
IG1pUmVnaW9uUmVzZXQoCgogICAgUmVnaW9uUHRyICwKICAgIEJveFB0cgoKKTsKCmV4dGVybiBC
b29sIG1pUmVnaW9uQnJlYWsoCgogICAgUmVnaW9uUHRyCgopOwoKZXh0ZXJuIEJvb2wgbWlQb2lu
dEluUmVnaW9uKAoKICAgIFJlZ2lvblB0ciAsCiAgICBpbnQgLAogICAgaW50ICwKICAgIEJveFB0
cgoKKTsKCmV4dGVybiBCb29sIG1pUmVnaW9uTm90RW1wdHkoCgogICAgUmVnaW9uUHRyCgopOwoK
ZXh0ZXJuIHZvaWQgbWlSZWdpb25FbXB0eSgKCiAgICBSZWdpb25QdHIKCik7CgpleHRlcm4gQm94
UHRyIG1pUmVnaW9uRXh0ZW50cygKCiAgICBSZWdpb25QdHIKCik7CiMgNTIgIi4uLy4uLy4uLy4u
Ly4uLy4uL3Byb2dyYW1zL1hzZXJ2ZXIvaW5jbHVkZS9yZWdpb24uaCIgMgojIDU0ICIuLi8uLi8u
Li8uLi8uLi8uLi9wcm9ncmFtcy9Yc2VydmVyL2luY2x1ZGUvd2luZG93LmgiIDIKIyA3MCAiLi4v
Li4vLi4vLi4vLi4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL3dpbmRvdy5oIgp0eXBlZGVm
IHN0cnVjdCBfQmFja2luZ1N0b3JlICpCYWNraW5nU3RvcmVQdHI7CnR5cGVkZWYgc3RydWN0IF9X
aW5kb3cgKldpbmRvd1B0cjsKCnR5cGVkZWYgaW50ICgqVmlzaXRXaW5kb3dQcm9jUHRyKSgKCiAg
ICBXaW5kb3dQdHIgLAogICAgcG9pbnRlcgoKKTsKCmV4dGVybiBpbnQgVHJhdmVyc2VUcmVlKAoK
ICAgIFdpbmRvd1B0ciAsCiAgICBWaXNpdFdpbmRvd1Byb2NQdHIgLAogICAgcG9pbnRlcgoKKTsK
CmV4dGVybiBpbnQgV2Fsa1RyZWUoCgogICAgU2NyZWVuUHRyICwKICAgIFZpc2l0V2luZG93UHJv
Y1B0ciAsCiAgICBwb2ludGVyCgopOwoKZXh0ZXJuIFdpbmRvd1B0ciBBbGxvY2F0ZVdpbmRvdygK
CiAgICBTY3JlZW5QdHIKCik7CgpleHRlcm4gQm9vbCBDcmVhdGVSb290V2luZG93KAoKICAgIFNj
cmVlblB0cgoKKTsKCmV4dGVybiB2b2lkIEluaXRSb290V2luZG93KAoKICAgIFdpbmRvd1B0cgoK
KTsKCmV4dGVybiB2b2lkIENsaXBwZWRSZWdpb25Gcm9tQm94KAoKICAgIFdpbmRvd1B0ciAsCiAg
ICBSZWdpb25QdHIgLAogICAgaW50ICwKICAgIGludCAsCiAgICBpbnQgLAogICAgaW50CgopOwoK
ZXh0ZXJuIFdpbmRvd1B0ciBSZWFsQ2hpbGRIZWFkKAoKICAgIFdpbmRvd1B0cgoKKTsKCmV4dGVy
biBXaW5kb3dQdHIgQ3JlYXRlV2luZG93KAoKICAgIFdpbmRvdyAsCiAgICBXaW5kb3dQdHIgLAog
ICAgaW50ICwKICAgIGludCAsCiAgICB1bnNpZ25lZCBpbnQgLAogICAgdW5zaWduZWQgaW50ICwK
ICAgIHVuc2lnbmVkIGludCAsCiAgICB1bnNpZ25lZCBpbnQgLAogICAgTWFzayAsCiAgICBYSUQq
ICwKICAgIGludCAsCiAgICBDbGllbnRQdHIgLAogICAgVmlzdWFsSUQgLAogICAgaW50KgoKKTsK
CmV4dGVybiBpbnQgRGVsZXRlV2luZG93KAoKICAgIHBvaW50ZXIgLAogICAgWElECgopOwoKZXh0
ZXJuIHZvaWQgRGVzdHJveVN1YndpbmRvd3MoCgogICAgV2luZG93UHRyICwKICAgIENsaWVudFB0
cgoKKTsKCgoKCgoKZXh0ZXJuIGludCBDaGFuZ2VXaW5kb3dBdHRyaWJ1dGVzKAoKICAgIFdpbmRv
d1B0ciAsCiAgICBNYXNrICwKICAgIFhJRCogLAogICAgQ2xpZW50UHRyCgopOwoKCgoKCgoKZXh0
ZXJuIHZvaWQgR2V0V2luZG93QXR0cmlidXRlcygKCgogICAgV2luZG93UHRyICwKICAgIENsaWVu
dFB0ciAsCiAgICB4R2V0V2luZG93QXR0cmlidXRlc1JlcGx5KgoKKTsKCmV4dGVybiBSZWdpb25Q
dHIgQ3JlYXRlVW5jbGlwcGVkV2luU2l6ZSgKCiAgICBXaW5kb3dQdHIKCik7CgpleHRlcm4gdm9p
ZCBHcmF2aXR5VHJhbnNsYXRlKAoKICAgIGludCAsCiAgICBpbnQgLAogICAgaW50ICwKICAgIGlu
dCAsCiAgICBpbnQgLAogICAgaW50ICwKICAgIHVuc2lnbmVkICwKICAgIGludCogLAogICAgaW50
KgoKKTsKCmV4dGVybiBpbnQgQ29uZmlndXJlV2luZG93KAoKICAgIFdpbmRvd1B0ciAsCiAgICBN
YXNrICwKICAgIFhJRCogLAogICAgQ2xpZW50UHRyCgopOwoKZXh0ZXJuIGludCBDaXJjdWxhdGVX
aW5kb3coCgogICAgV2luZG93UHRyICwKICAgIGludCAsCiAgICBDbGllbnRQdHIKCik7CgpleHRl
cm4gaW50IFJlcGFyZW50V2luZG93KAoKICAgIFdpbmRvd1B0ciAsCiAgICBXaW5kb3dQdHIgLAog
ICAgaW50ICwKICAgIGludCAsCiAgICBDbGllbnRQdHIKCik7CgpleHRlcm4gaW50IE1hcFdpbmRv
dygKCiAgICBXaW5kb3dQdHIgLAogICAgQ2xpZW50UHRyCgopOwoKZXh0ZXJuIHZvaWQgTWFwU3Vi
d2luZG93cygKCiAgICBXaW5kb3dQdHIgLAogICAgQ2xpZW50UHRyCgopOwoKZXh0ZXJuIGludCBV
bm1hcFdpbmRvdygKCiAgICBXaW5kb3dQdHIgLAogICAgQm9vbAoKKTsKCmV4dGVybiB2b2lkIFVu
bWFwU3Vid2luZG93cygKCiAgICBXaW5kb3dQdHIKCik7CgpleHRlcm4gdm9pZCBIYW5kbGVTYXZl
U2V0KAoKICAgIENsaWVudFB0cgoKKTsKCmV4dGVybiBCb29sIFZpc2libGVCb3VuZGluZ0JveEZy
b21Qb2ludCgKCiAgICBXaW5kb3dQdHIgLAogICAgaW50ICwKICAgIGludCAsCiAgICBCb3hQdHIK
Cik7CgpleHRlcm4gQm9vbCBQb2ludEluV2luZG93SXNWaXNpYmxlKAoKICAgIFdpbmRvd1B0ciAs
CiAgICBpbnQgLAogICAgaW50CgopOwoKZXh0ZXJuIFJlZ2lvblB0ciBOb3RDbGlwcGVkQnlDaGls
ZHJlbigKCiAgICBXaW5kb3dQdHIKCik7CgpleHRlcm4gdm9pZCBTZW5kVmlzaWJpbGl0eU5vdGlm
eSgKCiAgICBXaW5kb3dQdHIKCik7CgpleHRlcm4gdm9pZCBTYXZlU2NyZWVucygKCiAgICBpbnQg
LAogICAgaW50CgopOwoKZXh0ZXJuIFdpbmRvd1B0ciBGaW5kV2luZG93V2l0aE9wdGlvbmFsKAoK
ICAgIFdpbmRvd1B0cgoKKTsKCmV4dGVybiB2b2lkIENoZWNrV2luZG93T3B0aW9uYWxOZWVkKAoK
ICAgIFdpbmRvd1B0cgoKKTsKCmV4dGVybiBCb29sIE1ha2VXaW5kb3dPcHRpb25hbCgKCiAgICBX
aW5kb3dQdHIKCik7CgpleHRlcm4gdm9pZCBEaXNwb3NlV2luZG93T3B0aW9uYWwoCgogICAgV2lu
ZG93UHRyCgopOwoKZXh0ZXJuIFdpbmRvd1B0ciBNb3ZlV2luZG93SW5TdGFjaygKCiAgICBXaW5k
b3dQdHIgLAogICAgV2luZG93UHRyCgopOwoKdm9pZCBTZXRXaW5TaXplKAoKICAgIFdpbmRvd1B0
cgoKKTsKCnZvaWQgU2V0Qm9yZGVyU2l6ZSgKCiAgICBXaW5kb3dQdHIKCik7Cgp2b2lkIFJlc2l6
ZUNoaWxkcmVuV2luU2l6ZSgKCiAgICBXaW5kb3dQdHIgLAogICAgaW50ICwKICAgIGludCAsCiAg
ICBpbnQgLAogICAgaW50CgopOwojIDU1ICIuLi8uLi8uLi8uLi8uLi8uLi9wcm9ncmFtcy9Yc2Vy
dmVyL2luY2x1ZGUvZGl4LmgiIDIKIyAxICIuLi8uLi8uLi8uLi8uLi8uLi9wcm9ncmFtcy9Yc2Vy
dmVyL2luY2x1ZGUvaW5wdXQuaCIgMQojIDgxICIuLi8uLi8uLi8uLi8uLi8uLi9wcm9ncmFtcy9Y
c2VydmVyL2luY2x1ZGUvaW5wdXQuaCIKdHlwZWRlZiB1bnNpZ25lZCBsb25nIExlZHM7CnR5cGVk
ZWYgc3RydWN0IF9PdGhlckNsaWVudHMgKk90aGVyQ2xpZW50c1B0cjsKdHlwZWRlZiBzdHJ1Y3Qg
X0lucHV0Q2xpZW50cyAqSW5wdXRDbGllbnRzUHRyOwp0eXBlZGVmIHN0cnVjdCBfRGV2aWNlSW50
UmVjICpEZXZpY2VJbnRQdHI7Cgp0eXBlZGVmIGludCAoKkRldmljZVByb2MpKAoKICAgIERldmlj
ZUludFB0ciAsCiAgICBpbnQKCik7Cgp0eXBlZGVmIHZvaWQgKCpQcm9jZXNzSW5wdXRQcm9jKSgK
CiAgICB4RXZlbnRQdHIgLAogICAgRGV2aWNlSW50UHRyICwKICAgIGludAoKKTsKCnR5cGVkZWYg
c3RydWN0IF9EZXZpY2VSZWMgewogICAgcG9pbnRlciBkZXZpY2VQcml2YXRlOwogICAgUHJvY2Vz
c0lucHV0UHJvYyBwcm9jZXNzSW5wdXRQcm9jOwogICAgUHJvY2Vzc0lucHV0UHJvYyByZWFsSW5w
dXRQcm9jOwogICAgUHJvY2Vzc0lucHV0UHJvYyBlbnF1ZXVlSW5wdXRQcm9jOwogICAgQm9vbCBv
bjsKfSBEZXZpY2VSZWMsICpEZXZpY2VQdHI7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBpbnQgY2xp
Y2ssIGJlbGwsIGJlbGxfcGl0Y2gsIGJlbGxfZHVyYXRpb247CiAgICBCb29sIGF1dG9SZXBlYXQ7
CiAgICB1bnNpZ25lZCBjaGFyIGF1dG9SZXBlYXRzWzMyXTsKICAgIExlZHMgbGVkczsKICAgIHVu
c2lnbmVkIGNoYXIgaWQ7Cn0gS2V5YmRDdHJsOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgS2V5U3lt
ICptYXA7CiAgICBLZXlDb2RlIG1pbktleUNvZGUsCiAgICAgICAgICAgIG1heEtleUNvZGU7CiAg
ICBpbnQgbWFwV2lkdGg7Cn0gS2V5U3ltc1JlYywgKktleVN5bXNQdHI7Cgp0eXBlZGVmIHN0cnVj
dCB7CiAgICBpbnQgbnVtLCBkZW4sIHRocmVzaG9sZDsKICAgIHVuc2lnbmVkIGNoYXIgaWQ7Cn0g
UHRyQ3RybDsKCnR5cGVkZWYgc3RydWN0IHsKICAgIGludCByZXNvbHV0aW9uLCBtaW5fdmFsdWUs
IG1heF92YWx1ZTsKICAgIGludCBpbnRlZ2VyX2Rpc3BsYXllZDsKICAgIHVuc2lnbmVkIGNoYXIg
aWQ7Cn0gSW50ZWdlckN0cmw7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBpbnQgbWF4X3N5bWJvbHMs
IG51bV9zeW1ib2xzX3N1cHBvcnRlZDsKICAgIGludCBudW1fc3ltYm9sc19kaXNwbGF5ZWQ7CiAg
ICBLZXlTeW0gKnN5bWJvbHNfc3VwcG9ydGVkOwogICAgS2V5U3ltICpzeW1ib2xzX2Rpc3BsYXll
ZDsKICAgIHVuc2lnbmVkIGNoYXIgaWQ7Cn0gU3RyaW5nQ3RybDsKCnR5cGVkZWYgc3RydWN0IHsK
ICAgIGludCBwZXJjZW50LCBwaXRjaCwgZHVyYXRpb247CiAgICB1bnNpZ25lZCBjaGFyIGlkOwp9
IEJlbGxDdHJsOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgTGVkcyBsZWRfdmFsdWVzOwogICAgTWFz
ayBsZWRfbWFzazsKICAgIHVuc2lnbmVkIGNoYXIgaWQ7Cn0gTGVkQ3RybDsKCmV4dGVybiBLZXli
ZEN0cmwgZGVmYXVsdEtleWJvYXJkQ29udHJvbDsKZXh0ZXJuIFB0ckN0cmwgZGVmYXVsdFBvaW50
ZXJDb250cm9sOwoKCmV4dGVybiBEZXZpY2VQdHIgQWRkSW5wdXREZXZpY2UoCgogICAgRGV2aWNl
UHJvYyAsCiAgICBCb29sCgopOwoKCgoKZXh0ZXJuIERldmljZUludFB0ciBfQWRkSW5wdXREZXZp
Y2UoCgogICAgRGV2aWNlUHJvYyAsCiAgICBCb29sCgopOwoKZXh0ZXJuIEJvb2wgRW5hYmxlRGV2
aWNlKAoKICAgIERldmljZUludFB0cgoKKTsKCmV4dGVybiBCb29sIERpc2FibGVEZXZpY2UoCgog
ICAgRGV2aWNlSW50UHRyCgopOwoKZXh0ZXJuIGludCBJbml0QW5kU3RhcnREZXZpY2VzKAoKICAg
IHZvaWQKCik7CgpleHRlcm4gdm9pZCBDbG9zZURvd25EZXZpY2VzKAoKICAgIHZvaWQKCik7Cgpl
eHRlcm4gdm9pZCBSZW1vdmVEZXZpY2UoCgogICAgRGV2aWNlSW50UHRyCgopOwoKZXh0ZXJuIGlu
dCBOdW1Nb3Rpb25FdmVudHMoCgogICAgdm9pZAoKKTsKCgpleHRlcm4gdm9pZCBSZWdpc3RlclBv
aW50ZXJEZXZpY2UoCgogICAgRGV2aWNlUHRyCgopOwoKCgoKZXh0ZXJuIHZvaWQgX1JlZ2lzdGVy
UG9pbnRlckRldmljZSgKCiAgICBEZXZpY2VJbnRQdHIKCik7CgoKZXh0ZXJuIHZvaWQgUmVnaXN0
ZXJLZXlib2FyZERldmljZSgKCiAgICBEZXZpY2VQdHIKCik7CgoKCgpleHRlcm4gdm9pZCBfUmVn
aXN0ZXJLZXlib2FyZERldmljZSgKCiAgICBEZXZpY2VJbnRQdHIKCik7CgpleHRlcm4gRGV2aWNl
UHRyIExvb2t1cEtleWJvYXJkRGV2aWNlKAoKICAgIHZvaWQKCik7CgpleHRlcm4gRGV2aWNlUHRy
IExvb2t1cFBvaW50ZXJEZXZpY2UoCgogICAgdm9pZAoKKTsKCmV4dGVybiBEZXZpY2VQdHIgTG9v
a3VwRGV2aWNlKAoKICAgIGludAoKKTsKCmV4dGVybiB2b2lkIFF1ZXJ5TWluTWF4S2V5Q29kZXMo
CgogICAgS2V5Q29kZSogLAogICAgS2V5Q29kZSoKCik7CgpleHRlcm4gQm9vbCBTZXRLZXlTeW1z
TWFwKAoKICAgIEtleVN5bXNQdHIgLAogICAgS2V5U3ltc1B0cgoKKTsKCmV4dGVybiBCb29sIElu
aXRLZXlDbGFzc0RldmljZVN0cnVjdCgKCiAgICBEZXZpY2VJbnRQdHIgLAogICAgS2V5U3ltc1B0
ciAsCiAgICBDQVJEOCBbXQoKKTsKCmV4dGVybiBCb29sIEluaXRCdXR0b25DbGFzc0RldmljZVN0
cnVjdCgKCiAgICBEZXZpY2VJbnRQdHIgLAogICAgaW50ICwKICAgIENBUkQ4KgoKKTsKCnR5cGVk
ZWYgaW50ICgqVmFsdWF0b3JNb3Rpb25Qcm9jUHRyKSgKCiAgICAgICAgICAgICAgICBEZXZpY2VJ
bnRQdHIgLAogICAgICAgICAgICAgICAgeFRpbWVjb29yZCAqICwKICAgICAgICAgICAgICAgIHVu
c2lnbmVkIGxvbmcgLAogICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyAsCiAgICAgICAgICAg
ICAgICBTY3JlZW5QdHIKCik7CgpleHRlcm4gQm9vbCBJbml0VmFsdWF0b3JDbGFzc0RldmljZVN0
cnVjdCgKCiAgICBEZXZpY2VJbnRQdHIgLAogICAgaW50ICwKICAgIFZhbHVhdG9yTW90aW9uUHJv
Y1B0ciAsCiAgICBpbnQgLAogICAgaW50CgopOwoKZXh0ZXJuIEJvb2wgSW5pdEZvY3VzQ2xhc3NE
ZXZpY2VTdHJ1Y3QoCgogICAgRGV2aWNlSW50UHRyCgopOwoKdHlwZWRlZiB2b2lkICgqQmVsbFBy
b2NQdHIpKAoKICAgIGludCAsCiAgICBEZXZpY2VJbnRQdHIgLAogICAgcG9pbnRlciAsCiAgICBp
bnQKCik7Cgp0eXBlZGVmIHZvaWQgKCpLYmRDdHJsUHJvY1B0cikoCgogICAgRGV2aWNlSW50UHRy
ICwKICAgIEtleWJkQ3RybCAqCgopOwoKZXh0ZXJuIEJvb2wgSW5pdEtiZEZlZWRiYWNrQ2xhc3NE
ZXZpY2VTdHJ1Y3QoCgogICAgRGV2aWNlSW50UHRyICwKICAgIEJlbGxQcm9jUHRyICwKICAgIEti
ZEN0cmxQcm9jUHRyCgopOwoKdHlwZWRlZiB2b2lkICgqUHRyQ3RybFByb2NQdHIpKAoKICAgIERl
dmljZUludFB0ciAsCiAgICBQdHJDdHJsICoKCik7CgpleHRlcm4gQm9vbCBJbml0UHRyRmVlZGJh
Y2tDbGFzc0RldmljZVN0cnVjdCgKCiAgICBEZXZpY2VJbnRQdHIgLAogICAgUHRyQ3RybFByb2NQ
dHIKCik7Cgp0eXBlZGVmIHZvaWQgKCpTdHJpbmdDdHJsUHJvY1B0cikoCgogICAgRGV2aWNlSW50
UHRyICwKICAgIFN0cmluZ0N0cmwgKgoKKTsKCmV4dGVybiBCb29sIEluaXRTdHJpbmdGZWVkYmFj
a0NsYXNzRGV2aWNlU3RydWN0KAoKICAgIERldmljZUludFB0ciAsCiAgICBTdHJpbmdDdHJsUHJv
Y1B0ciAsCiAgICBpbnQgLAogICAgaW50ICwKICAgIEtleVN5bSoKCik7Cgp0eXBlZGVmIHZvaWQg
KCpCZWxsQ3RybFByb2NQdHIpKAoKICAgIERldmljZUludFB0ciAsCiAgICBCZWxsQ3RybCAqCgop
OwoKZXh0ZXJuIEJvb2wgSW5pdEJlbGxGZWVkYmFja0NsYXNzRGV2aWNlU3RydWN0KAoKICAgIERl
dmljZUludFB0ciAsCiAgICBCZWxsUHJvY1B0ciAsCiAgICBCZWxsQ3RybFByb2NQdHIKCik7Cgp0
eXBlZGVmIHZvaWQgKCpMZWRDdHJsUHJvY1B0cikoCgogICAgRGV2aWNlSW50UHRyICwKICAgIExl
ZEN0cmwgKgoKKTsKCmV4dGVybiBCb29sIEluaXRMZWRGZWVkYmFja0NsYXNzRGV2aWNlU3RydWN0
KAoKICAgIERldmljZUludFB0ciAsCiAgICBMZWRDdHJsUHJvY1B0cgoKKTsKCnR5cGVkZWYgdm9p
ZCAoKkludGVnZXJDdHJsUHJvY1B0cikoCgogICAgRGV2aWNlSW50UHRyICwKICAgIEludGVnZXJD
dHJsICoKCik7CgoKZXh0ZXJuIEJvb2wgSW5pdEludGVnZXJGZWVkYmFja0NsYXNzRGV2aWNlU3Ry
dWN0KAoKICAgIERldmljZUludFB0ciAsCiAgICBJbnRlZ2VyQ3RybFByb2NQdHIKCik7CgpleHRl
cm4gQm9vbCBJbml0UG9pbnRlckRldmljZVN0cnVjdCgKCiAgICBEZXZpY2VQdHIgLAogICAgQ0FS
RDgqICwKICAgIGludCAsCiAgICBWYWx1YXRvck1vdGlvblByb2NQdHIgLAogICAgUHRyQ3RybFBy
b2NQdHIgLAogICAgaW50CgopOwoKZXh0ZXJuIEJvb2wgSW5pdEtleWJvYXJkRGV2aWNlU3RydWN0
KAoKICAgIERldmljZVB0ciAsCiAgICBLZXlTeW1zUHRyICwKICAgIENBUkQ4IFtdLAogICAgQmVs
bFByb2NQdHIgLAogICAgS2JkQ3RybFByb2NQdHIKCik7CgpleHRlcm4gdm9pZCBTZW5kTWFwcGlu
Z05vdGlmeSgKCiAgICB1bnNpZ25lZCBpbnQgLAogICAgdW5zaWduZWQgaW50ICwKICAgIHVuc2ln
bmVkIGludCAsCiAgICBDbGllbnRQdHIKCik7CgpleHRlcm4gQm9vbCBCYWREZXZpY2VNYXAoCgog
ICAgQllURSogLAogICAgaW50ICwKICAgIHVuc2lnbmVkICwKICAgIHVuc2lnbmVkICwKICAgIFhJ
RCoKCik7CgpleHRlcm4gQm9vbCBBbGxNb2RpZmllcktleXNBcmVVcCgKCiAgICBEZXZpY2VJbnRQ
dHIgLAogICAgQ0FSRDgqICwKICAgIGludCAsCiAgICBDQVJEOCogLAogICAgaW50CgopOwoKZXh0
ZXJuIHZvaWQgTm90ZUxlZFN0YXRlKAoKICAgIERldmljZUludFB0ciAsCiAgICBpbnQgLAogICAg
Qm9vbAoKKTsKCmV4dGVybiB2b2lkIE1heWJlU3RvcEhpbnQoCgogICAgRGV2aWNlSW50UHRyICwK
ICAgIENsaWVudFB0cgoKKTsKCmV4dGVybiB2b2lkIFByb2Nlc3NQb2ludGVyRXZlbnQoCgogICAg
eEV2ZW50UHRyICwKICAgIERldmljZUludFB0ciAsCiAgICBpbnQKCik7CgpleHRlcm4gdm9pZCBQ
cm9jZXNzS2V5Ym9hcmRFdmVudCgKCiAgICB4RXZlbnRQdHIgLAogICAgRGV2aWNlSW50UHRyICwK
ICAgIGludAoKKTsKCgpleHRlcm4gdm9pZCBDb3JlUHJvY2Vzc1BvaW50ZXJFdmVudCgKCiAgICB4
RXZlbnRQdHIgLAogICAgRGV2aWNlSW50UHRyICwKICAgIGludAoKKTsKCmV4dGVybiB2b2lkIENv
cmVQcm9jZXNzS2V5Ym9hcmRFdmVudCgKCiAgICB4RXZlbnRQdHIgLAogICAgRGV2aWNlSW50UHRy
ICwKICAgIGludAoKKTsKCgpleHRlcm4gQm9vbCBMZWdhbE1vZGlmaWVyKAoKICAgIHVuc2lnbmVk
IGludCAsCiAgICBEZXZpY2VQdHIKCik7CgpleHRlcm4gdm9pZCBQcm9jZXNzSW5wdXRFdmVudHMo
CgogICAgdm9pZAoKKTsKCmV4dGVybiB2b2lkIEluaXRJbnB1dCgKCiAgICBpbnQgLAogICAgY2hh
ciAqKgoKKTsKIyA1NiAiLi4vLi4vLi4vLi4vLi4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRl
L2RpeC5oIiAyCiMgMjg0ICIuLi8uLi8uLi8uLi8uLi8uLi9wcm9ncmFtcy9Yc2VydmVyL2luY2x1
ZGUvZGl4LmgiCnR5cGVkZWYgc3RydWN0IF9UaW1lU3RhbXAgKlRpbWVTdGFtcFB0cjsKCgoKCgoK
dHlwZWRlZiBzdHJ1Y3QgX1dvcmtRdWV1ZSAqV29ya1F1ZXVlUHRyOwoKZXh0ZXJuIENsaWVudFB0
ciByZXF1ZXN0aW5nQ2xpZW50OwpleHRlcm4gQ2xpZW50UHRyICpjbGllbnRzOwpleHRlcm4gQ2xp
ZW50UHRyIHNlcnZlckNsaWVudDsKZXh0ZXJuIGludCBjdXJyZW50TWF4Q2xpZW50czsKCnR5cGVk
ZWYgaW50IEhXRXZlbnRRdWV1ZVR5cGU7CnR5cGVkZWYgSFdFdmVudFF1ZXVlVHlwZSogSFdFdmVu
dFF1ZXVlUHRyOwoKZXh0ZXJuIEhXRXZlbnRRdWV1ZVB0ciBjaGVja0ZvcklucHV0WzJdOwoKdHlw
ZWRlZiBzdHJ1Y3QgX1RpbWVTdGFtcCB7CiAgICBDQVJEMzIgbW9udGhzOwogICAgQ0FSRDMyIG1p
bGxpc2Vjb25kczsKfSBUaW1lU3RhbXA7CgoKCmV4dGVybiB2b2lkIFNldElucHV0Q2hlY2soCgog
ICAgSFdFdmVudFF1ZXVlUHRyICwKICAgIEhXRXZlbnRRdWV1ZVB0cgoKKTsKCmV4dGVybiB2b2lk
IENsb3NlRG93bkNsaWVudCgKCiAgICBDbGllbnRQdHIKCik7CgpleHRlcm4gdm9pZCBVcGRhdGVD
dXJyZW50VGltZSgKCiAgICB2b2lkCgopOwoKZXh0ZXJuIHZvaWQgVXBkYXRlQ3VycmVudFRpbWVJ
ZigKCiAgICB2b2lkCgopOwoKZXh0ZXJuIHZvaWQgSW5pdFNlbGVjdGlvbnMoCgogICAgdm9pZAoK
KTsKCmV4dGVybiB2b2lkIEZsdXNoQ2xpZW50Q2FjaGVzKAoKICAgIFhJRAoKKTsKCmV4dGVybiBp
bnQgZGl4RGVzdHJveVBpeG1hcCgKCiAgICBwb2ludGVyICwKICAgIFhJRAoKKTsKCmV4dGVybiB2
b2lkIENsb3NlRG93blJldGFpbmVkUmVzb3VyY2VzKAoKICAgIHZvaWQKCik7CgpleHRlcm4gdm9p
ZCBJbml0Q2xpZW50KAoKICAgIENsaWVudFB0ciAsCiAgICBpbnQgLAogICAgcG9pbnRlcgoKKTsK
CmV4dGVybiBDbGllbnRQdHIgTmV4dEF2YWlsYWJsZUNsaWVudCgKCiAgICBwb2ludGVyCgopOwoK
ZXh0ZXJuIHZvaWQgU2VuZEVycm9yVG9DbGllbnQoCgogICAgQ2xpZW50UHRyICwKICAgIHVuc2ln
bmVkIGludCAsCiAgICB1bnNpZ25lZCBpbnQgLAogICAgWElEICwKICAgIGludAoKKTsKCmV4dGVy
biB2b2lkIERlbGV0ZVdpbmRvd0Zyb21BbnlTZWxlY3Rpb25zKAoKICAgIFdpbmRvd1B0cgoKKTsK
CmV4dGVybiB2b2lkIE1hcmtDbGllbnRFeGNlcHRpb24oCgogICAgQ2xpZW50UHRyCgopOwoKZXh0
ZXJuIGludCBHZXRHZW9tZXRyeSgKCiAgICBDbGllbnRQdHIgLAogICAgeEdldEdlb21ldHJ5UmVw
bHkqCgopOwoKZXh0ZXJuIGludCBTZW5kQ29ublNldHVwKAoKICAgIENsaWVudFB0ciAsCiAgICBj
aGFyKgoKKTsKCmV4dGVybiBpbnQKRG9HZXRJbWFnZSgKCiAgICBDbGllbnRQdHIgLAogICAgaW50
ICwKICAgIERyYXdhYmxlICwKICAgIGludCAsCiAgICBpbnQgLAogICAgaW50ICwKICAgIGludCAs
CiAgICBNYXNrICwKICAgIHhHZXRJbWFnZVJlcGx5ICoqCgopOwoKCmV4dGVybiB2b2lkIEluY3Jl
bWVudENsaWVudENvdW50KAoKICAgIHZvaWQKCik7CgoKCgpleHRlcm4gdm9pZCBDb3B5SVNPTGF0
aW4xTG93ZXJlZCgKCiAgICB1bnNpZ25lZCBjaGFyICogLAogICAgdW5zaWduZWQgY2hhciAqICwK
ICAgIGludAoKKTsKCgoKZXh0ZXJuIFdpbmRvd1B0ciBTZWN1cml0eUxvb2t1cFdpbmRvdygKCiAg
ICBYSUQgLAogICAgQ2xpZW50UHRyICwKICAgIE1hc2sKCik7CgpleHRlcm4gcG9pbnRlciBTZWN1
cml0eUxvb2t1cERyYXdhYmxlKAoKICAgIFhJRCAsCiAgICBDbGllbnRQdHIgLAogICAgTWFzawoK
KTsKCmV4dGVybiBXaW5kb3dQdHIgTG9va3VwV2luZG93KAoKICAgIFhJRCAsCiAgICBDbGllbnRQ
dHIKCik7CgpleHRlcm4gcG9pbnRlciBMb29rdXBEcmF3YWJsZSgKCiAgICBYSUQgLAogICAgQ2xp
ZW50UHRyCgopOwojIDQ5OSAiLi4vLi4vLi4vLi4vLi4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNs
dWRlL2RpeC5oIgpleHRlcm4gQ2xpZW50UHRyIExvb2t1cENsaWVudCgKCiAgICBYSUQgLAogICAg
Q2xpZW50UHRyCgopOwoKZXh0ZXJuIHZvaWQgTm9vcEREQSgKCiAgICB2b2lkICosCiAgICAuLi4K
Cik7CgpleHRlcm4gaW50IEFsdGVyU2F2ZVNldEZvckNsaWVudCgKCiAgICBDbGllbnRQdHIgLAog
ICAgV2luZG93UHRyICwKICAgIHVuc2lnbmVkCgopOwoKZXh0ZXJuIHZvaWQgRGVsZXRlV2luZG93
RnJvbUFueVNhdmVTZXQoCgogICAgV2luZG93UHRyCgopOwoKZXh0ZXJuIHZvaWQgQmxvY2tIYW5k
bGVyKAoKICAgIHBvaW50ZXIgLAogICAgcG9pbnRlcgoKKTsKCmV4dGVybiB2b2lkIFdha2V1cEhh
bmRsZXIoCgogICAgaW50ICwKICAgIHBvaW50ZXIKCik7Cgp0eXBlZGVmIHZvaWQgKCogV2FrZXVw
SGFuZGxlclByb2NQdHIpKAoKICAgIHBvaW50ZXIgLAogICAgaW50ICwKICAgIHBvaW50ZXIKCik7
CgpleHRlcm4gQm9vbCBSZWdpc3RlckJsb2NrQW5kV2FrZXVwSGFuZGxlcnMoCgogICAgQmxvY2tI
YW5kbGVyUHJvY1B0ciAsCiAgICBXYWtldXBIYW5kbGVyUHJvY1B0ciAsCiAgICBwb2ludGVyCgop
OwoKZXh0ZXJuIHZvaWQgUmVtb3ZlQmxvY2tBbmRXYWtldXBIYW5kbGVycygKCiAgICBCbG9ja0hh
bmRsZXJQcm9jUHRyICwKICAgIFdha2V1cEhhbmRsZXJQcm9jUHRyICwKICAgIHBvaW50ZXIKCik7
CgpleHRlcm4gdm9pZCBJbml0QmxvY2tBbmRXYWtldXBIYW5kbGVycygKCiAgICB2b2lkCgopOwoK
ZXh0ZXJuIHZvaWQgUHJvY2Vzc1dvcmtRdWV1ZSgKCiAgICB2b2lkCgopOwoKZXh0ZXJuIEJvb2wg
UXVldWVXb3JrUHJvYygKCiAgICBCb29sICgqICkoCgogICAgICAgIENsaWVudFB0ciAsCiAgICAg
ICAgcG9pbnRlcgoKICAgICAgICApLAogICAgQ2xpZW50UHRyICwKICAgIHBvaW50ZXIKCik7Cgp0
eXBlZGVmIEJvb2wgKCogQ2xpZW50U2xlZXBQcm9jUHRyKSgKCiAgICBDbGllbnRQdHIgLAogICAg
cG9pbnRlcgoKKTsKCmV4dGVybiBCb29sIENsaWVudFNsZWVwKAoKICAgIENsaWVudFB0ciAsCiAg
ICBDbGllbnRTbGVlcFByb2NQdHIgLAogICAgcG9pbnRlcgoKKTsKCgoKZXh0ZXJuIEJvb2wgQ2xp
ZW50U2lnbmFsKAoKICAgIENsaWVudFB0cgoKKTsKCgpleHRlcm4gdm9pZCBDbGllbnRXYWtldXAo
CgogICAgQ2xpZW50UHRyCgopOwoKZXh0ZXJuIEJvb2wgQ2xpZW50SXNBc2xlZXAoCgogICAgQ2xp
ZW50UHRyCgopOwoKCgpleHRlcm4gQXRvbSBNYWtlQXRvbSgKCiAgICBjaGFyICogLAogICAgdW5z
aWduZWQgLAogICAgQm9vbAoKKTsKCmV4dGVybiBCb29sIFZhbGlkQXRvbSgKCiAgICBBdG9tCgop
OwoKZXh0ZXJuIGNoYXIgKk5hbWVGb3JBdG9tKAoKICAgIEF0b20KCik7CgpleHRlcm4gdm9pZCBB
dG9tRXJyb3IoCgogICAgdm9pZAoKKTsKCmV4dGVybiB2b2lkIEZyZWVBbGxBdG9tcygKCiAgICB2
b2lkCgopOwoKZXh0ZXJuIHZvaWQgSW5pdEF0b21zKAoKICAgIHZvaWQKCik7CgoKCmV4dGVybiB2
b2lkIFNldE1hc2tGb3JFdmVudCgKCiAgICBNYXNrICwKICAgIGludAoKKTsKCgpleHRlcm4gQm9v
bCBJc1BhcmVudCgKCiAgICBXaW5kb3dQdHIgLAogICAgV2luZG93UHRyCgopOwoKZXh0ZXJuIFdp
bmRvd1B0ciBHZXRDdXJyZW50Um9vdFdpbmRvdygKCiAgICB2b2lkCgopOwoKZXh0ZXJuIFdpbmRv
d1B0ciBHZXRTcHJpdGVXaW5kb3coCgogICAgdm9pZAoKKTsKCgpleHRlcm4gdm9pZCBOb3RpY2VF
dmVudFRpbWUoCgogICAgeEV2ZW50UHRyCgopOwoKZXh0ZXJuIHZvaWQgRW5xdWV1ZUV2ZW50KAoK
ICAgIHhFdmVudFB0ciAsCiAgICBEZXZpY2VJbnRQdHIgLAogICAgaW50CgopOwoKZXh0ZXJuIHZv
aWQgQ29tcHV0ZUZyZWV6ZXMoCgogICAgdm9pZAoKKTsKCmV4dGVybiB2b2lkIENoZWNrR3JhYkZv
clN5bmNzKAoKICAgIERldmljZUludFB0ciAsCiAgICBCb29sICwKICAgIEJvb2wKCik7CgpleHRl
cm4gdm9pZCBBY3RpdmF0ZVBvaW50ZXJHcmFiKAoKICAgIERldmljZUludFB0ciAsCiAgICBHcmFi
UHRyICwKICAgIFRpbWVTdGFtcCAsCiAgICBCb29sCgopOwoKZXh0ZXJuIHZvaWQgRGVhY3RpdmF0
ZVBvaW50ZXJHcmFiKAoKICAgIERldmljZUludFB0cgoKKTsKCmV4dGVybiB2b2lkIEFjdGl2YXRl
S2V5Ym9hcmRHcmFiKAoKICAgIERldmljZUludFB0ciAsCiAgICBHcmFiUHRyICwKICAgIFRpbWVT
dGFtcCAsCiAgICBCb29sCgopOwoKZXh0ZXJuIHZvaWQgRGVhY3RpdmF0ZUtleWJvYXJkR3JhYigK
CiAgICBEZXZpY2VJbnRQdHIKCik7CgpleHRlcm4gdm9pZCBBbGxvd1NvbWUoCgogICAgQ2xpZW50
UHRyICwKICAgIFRpbWVTdGFtcCAsCiAgICBEZXZpY2VJbnRQdHIgLAogICAgaW50CgopOwoKZXh0
ZXJuIHZvaWQgUmVsZWFzZUFjdGl2ZUdyYWJzKAoKQ2xpZW50UHRyIGNsaWVudAoKKTsKCmV4dGVy
biBpbnQgRGVsaXZlckV2ZW50c1RvV2luZG93KAoKICAgIFdpbmRvd1B0ciAsCiAgICB4RXZlbnRQ
dHIgLAogICAgaW50ICwKICAgIE1hc2sgLAogICAgR3JhYlB0ciAsCiAgICBpbnQKCik7CgpleHRl
cm4gaW50IERlbGl2ZXJEZXZpY2VFdmVudHMoCgogICAgV2luZG93UHRyICwKICAgIHhFdmVudFB0
ciAsCiAgICBHcmFiUHRyICwKICAgIFdpbmRvd1B0ciAsCiAgICBEZXZpY2VJbnRQdHIgLAogICAg
aW50CgopOwoKZXh0ZXJuIHZvaWQgRGVmaW5lSW5pdGlhbFJvb3RXaW5kb3coCgogICAgV2luZG93
UHRyCgopOwoKZXh0ZXJuIHZvaWQgV2luZG93SGFzTmV3Q3Vyc29yKAoKICAgIFdpbmRvd1B0cgoK
KTsKCmV4dGVybiBCb29sIENoZWNrRGV2aWNlR3JhYnMoCgogICAgRGV2aWNlSW50UHRyICwKICAg
IHhFdmVudFB0ciAsCiAgICBpbnQgLAogICAgaW50CgopOwoKZXh0ZXJuIHZvaWQgRGVsaXZlckZv
Y3VzZWRFdmVudCgKCiAgICBEZXZpY2VJbnRQdHIgLAogICAgeEV2ZW50UHRyICwKICAgIFdpbmRv
d1B0ciAsCiAgICBpbnQKCik7CgpleHRlcm4gdm9pZCBEZWxpdmVyR3JhYmJlZEV2ZW50KAoKICAg
IHhFdmVudFB0ciAsCiAgICBEZXZpY2VJbnRQdHIgLAogICAgQm9vbCAsCiAgICBpbnQKCik7CgoK
ZXh0ZXJuIHZvaWQgRml4S2V5U3RhdGUoCgogICAgeEV2ZW50ICogLAogICAgRGV2aWNlSW50UHRy
CgopOwoKCmV4dGVybiB2b2lkIFJlY2FsY3VsYXRlRGVsaXZlcmFibGVFdmVudHMoCgogICAgV2lu
ZG93UHRyCgopOwoKZXh0ZXJuIGludCBPdGhlckNsaWVudEdvbmUoCgogICAgcG9pbnRlciAsCiAg
ICBYSUQKCik7CgpleHRlcm4gdm9pZCBEb0ZvY3VzRXZlbnRzKAoKICAgIERldmljZUludFB0ciAs
CiAgICBXaW5kb3dQdHIgLAogICAgV2luZG93UHRyICwKICAgIGludAoKKTsKCmV4dGVybiBpbnQg
U2V0SW5wdXRGb2N1cygKCiAgICBDbGllbnRQdHIgLAogICAgRGV2aWNlSW50UHRyICwKICAgIFdp
bmRvdyAsCiAgICBDQVJEOCAsCiAgICBUaW1lICwKICAgIEJvb2wKCik7CgpleHRlcm4gaW50IEdy
YWJEZXZpY2UoCgogICAgQ2xpZW50UHRyICwKICAgIERldmljZUludFB0ciAsCiAgICB1bnNpZ25l
ZCAsCiAgICB1bnNpZ25lZCAsCiAgICBXaW5kb3cgLAogICAgdW5zaWduZWQgLAogICAgVGltZSAs
CiAgICBNYXNrICwKICAgIENBUkQ4ICoKCik7CgpleHRlcm4gdm9pZCBJbml0RXZlbnRzKAoKICAg
IHZvaWQKCik7CgpleHRlcm4gdm9pZCBDbG9zZURvd25FdmVudHModm9pZCk7CgpleHRlcm4gdm9p
ZCBEZWxldGVXaW5kb3dGcm9tQW55RXZlbnRzKAoKICAgIFdpbmRvd1B0ciAsCiAgICBCb29sCgop
OwoKCmV4dGVybiBNYXNrIEV2ZW50TWFza0ZvckNsaWVudCgKCiAgICBXaW5kb3dQdHIgLAogICAg
Q2xpZW50UHRyCgopOwoKCgpleHRlcm4gaW50IERlbGl2ZXJFdmVudHMoCgogICAgV2luZG93UHRy
ICwKICAgIHhFdmVudFB0ciAsCiAgICBpbnQgLAogICAgV2luZG93UHRyCgopOwoKCmV4dGVybiB2
b2lkIFdyaXRlRXZlbnRzVG9DbGllbnQoCgogICAgQ2xpZW50UHRyICwKICAgIGludCAsCiAgICB4
RXZlbnRQdHIKCik7CgpleHRlcm4gaW50IFRyeUNsaWVudEV2ZW50cygKCiAgICBDbGllbnRQdHIg
LAogICAgeEV2ZW50UHRyICwKICAgIGludCAsCiAgICBNYXNrICwKICAgIE1hc2sgLAogICAgR3Jh
YlB0cgoKKTsKCmV4dGVybiB2b2lkIFdpbmRvd3NSZXN0cnVjdHVyZWQoCgogICAgdm9pZAoKKTsK
CgoKCgoKCmV4dGVybiB2b2lkIFJlc2V0Q2xpZW50UHJpdmF0ZXMoCgogICAgdm9pZAoKKTsKCmV4
dGVybiBpbnQgQWxsb2NhdGVDbGllbnRQcml2YXRlSW5kZXgoCgogICAgdm9pZAoKKTsKCmV4dGVy
biBCb29sIEFsbG9jYXRlQ2xpZW50UHJpdmF0ZSgKCiAgICBpbnQgLAogICAgdW5zaWduZWQKCik7
CiMgOTgwICIuLi8uLi8uLi8uLi8uLi8uLi9wcm9ncmFtcy9Yc2VydmVyL2luY2x1ZGUvZGl4Lmgi
CnR5cGVkZWYgdm9pZCAoKkNhbGxiYWNrUHJvY1B0cikgKAoKICAgIENhbGxiYWNrTGlzdFB0ciAq
LCBwb2ludGVyLCBwb2ludGVyCgopOwoKdHlwZWRlZiBCb29sICgqQWRkQ2FsbGJhY2tQcm9jUHRy
KSAoCgogICAgQ2FsbGJhY2tMaXN0UHRyICosIENhbGxiYWNrUHJvY1B0ciwgcG9pbnRlcgoKKTsK
CnR5cGVkZWYgQm9vbCAoKkRlbGV0ZUNhbGxiYWNrUHJvY1B0cikgKAoKICAgIENhbGxiYWNrTGlz
dFB0ciAqLCBDYWxsYmFja1Byb2NQdHIsIHBvaW50ZXIKCik7Cgp0eXBlZGVmIHZvaWQgKCpDYWxs
Q2FsbGJhY2tzUHJvY1B0cikgKAoKICAgIENhbGxiYWNrTGlzdFB0ciAqLCBwb2ludGVyCgopOwoK
dHlwZWRlZiB2b2lkICgqRGVsZXRlQ2FsbGJhY2tMaXN0UHJvY1B0cikgKAoKICAgIENhbGxiYWNr
TGlzdFB0ciAqCgopOwoKdHlwZWRlZiBzdHJ1Y3QgX0NhbGxiYWNrUHJvY3MgewogICAgQWRkQ2Fs
bGJhY2tQcm9jUHRyIEFkZENhbGxiYWNrOwogICAgRGVsZXRlQ2FsbGJhY2tQcm9jUHRyIERlbGV0
ZUNhbGxiYWNrOwogICAgQ2FsbENhbGxiYWNrc1Byb2NQdHIgQ2FsbENhbGxiYWNrczsKICAgIERl
bGV0ZUNhbGxiYWNrTGlzdFByb2NQdHIgRGVsZXRlQ2FsbGJhY2tMaXN0Owp9IENhbGxiYWNrRnVu
Y3NSZWMsICpDYWxsYmFja0Z1bmNzUHRyOwoKZXh0ZXJuIEJvb2wgQ3JlYXRlQ2FsbGJhY2tMaXN0
KAoKICAgIENhbGxiYWNrTGlzdFB0ciAqICwKICAgIENhbGxiYWNrRnVuY3NQdHIKCik7CgpleHRl
cm4gQm9vbCBBZGRDYWxsYmFjaygKCiAgICBDYWxsYmFja0xpc3RQdHIgKiAsCiAgICBDYWxsYmFj
a1Byb2NQdHIgLAogICAgcG9pbnRlcgoKKTsKCmV4dGVybiBCb29sIERlbGV0ZUNhbGxiYWNrKAoK
ICAgIENhbGxiYWNrTGlzdFB0ciAqICwKICAgIENhbGxiYWNrUHJvY1B0ciAsCiAgICBwb2ludGVy
CgopOwoKZXh0ZXJuIHZvaWQgQ2FsbENhbGxiYWNrcygKCiAgICBDYWxsYmFja0xpc3RQdHIgKiAs
CiAgICBwb2ludGVyCgopOwoKZXh0ZXJuIHZvaWQgRGVsZXRlQ2FsbGJhY2tMaXN0KAoKICAgIENh
bGxiYWNrTGlzdFB0ciAqCgopOwoKZXh0ZXJuIHZvaWQgSW5pdENhbGxiYWNrTWFuYWdlcigKCiAg
ICB2b2lkCgopOwoKCgoKCmV4dGVybiBDYWxsYmFja0xpc3RQdHIgU2VydmVyR3JhYkNhbGxiYWNr
OwoKdHlwZWRlZiBlbnVtIHtTRVJWRVJfR1JBQkJFRCwgU0VSVkVSX1VOR1JBQkJFRCwKICAgICAg
ICAgICAgICBDTElFTlRfUEVSVklPVVMsIENMSUVOVF9JTVBFUlZJT1VTIH0gU2VydmVyR3JhYlN0
YXRlOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ2xpZW50UHRyIGNsaWVudDsKICAgIFNlcnZlckdy
YWJTdGF0ZSBncmFic3RhdGU7Cn0gU2VydmVyR3JhYkluZm9SZWM7CgoKCgoKZXh0ZXJuIENhbGxi
YWNrTGlzdFB0ciBFdmVudENhbGxiYWNrOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ2xpZW50UHRy
IGNsaWVudDsKICAgIHhFdmVudFB0ciBldmVudHM7CiAgICBpbnQgY291bnQ7Cn0gRXZlbnRJbmZv
UmVjOwoKCgoKCmV4dGVybiBDYWxsYmFja0xpc3RQdHIgRGV2aWNlRXZlbnRDYWxsYmFjazsKCnR5
cGVkZWYgc3RydWN0IHsKICAgIHhFdmVudFB0ciBldmVudHM7CiAgICBpbnQgY291bnQ7Cn0gRGV2
aWNlRXZlbnRJbmZvUmVjOwojIDU3ICIuLi8uLi8uLi9pbmNsdWRlL2RkcGV4LmgiIDIKIyA3NSAi
Li4vLi4vLi4vaW5jbHVkZS9kZHBleC5oIgp0eXBlZGVmIGNoYXIgZGRDSEFSOwp0eXBlZGVmIHNo
b3J0IGRkU0hPUlQ7CnR5cGVkZWYgbG9uZyBkZExPTkc7CnR5cGVkZWYgZmxvYXQgZGRGTE9BVDsK
CnR5cGVkZWYgdW5zaWduZWQgY2hhciBkZFVDSEFSOwp0eXBlZGVmIHVuc2lnbmVkIHNob3J0IGRk
VVNIT1JUOwp0eXBlZGVmIHVuc2lnbmVkIGxvbmcgZGRVTE9ORzsKCnR5cGVkZWYgdW5zaWduZWQg
Y2hhciAqZGRQb2ludGVyOwp0eXBlZGVmIHVuc2lnbmVkIGNoYXIgZGRCWVRFOwp0eXBlZGVmIHVu
c2lnbmVkIGNoYXIgZGRCT09MOwojIDk1ICIuLi8uLi8uLi9pbmNsdWRlL2RkcGV4LmgiCnR5cGVk
ZWYgc3RydWN0IHsKICAgICAgICBYSUQgaWQ7CiAgICAgICAgZGRQb2ludGVyIGRldmljZURhdGE7
Cn0gZGRXS1NSZXNvdXJjZTsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBYSUQgaWQ7CiAgICAg
ICAgZGRVU0hPUlQgbHV0VHlwZTsKICAgICAgICBkZFBvaW50ZXIgZGV2aWNlRGF0YTsKfSBkZExV
VFJlc291cmNlOwoKdHlwZWRlZiBkZFdLU1Jlc291cmNlIGRkU3RydWN0UmVzb3VyY2U7CnR5cGVk
ZWYgZGRXS1NSZXNvdXJjZSBkZE5TUmVzb3VyY2U7CnR5cGVkZWYgZGRXS1NSZXNvdXJjZSBkZEZv
bnRSZXNvdXJjZTsKdHlwZWRlZiBkZFdLU1Jlc291cmNlIGRkUE1SZXNvdXJjZTsKCgoKCgp0eXBl
ZGVmIGRkV0tTUmVzb3VyY2UgKmRpV0tTSGFuZGxlOwp0eXBlZGVmIGRkTFVUUmVzb3VyY2UgKmRp
TFVUSGFuZGxlOwp0eXBlZGVmIGRkU3RydWN0UmVzb3VyY2UgKmRpU3RydWN0SGFuZGxlOwp0eXBl
ZGVmIGRkTlNSZXNvdXJjZSAqZGlOU0hhbmRsZTsKdHlwZWRlZiBkZEZvbnRSZXNvdXJjZSAqZGlG
b250SGFuZGxlOwp0eXBlZGVmIGRkUE1SZXNvdXJjZSAqZGlQTUhhbmRsZTsKdHlwZWRlZiBkZFBv
aW50ZXIgZGlSZXNvdXJjZUhhbmRsZTsKCgoKdHlwZWRlZiBkZFVMT05HIGRkQml0bWFzazsKdHlw
ZWRlZiBkZFVTSE9SVCBkZEJpdG1hc2tTaG9ydDsKdHlwZWRlZiBkZFNIT1JUIGRkRW51bVR5cGVJ
bmRleDsKdHlwZWRlZiBYSUQgZGRSZXNvdXJjZUlkOwp0eXBlZGVmIGRkQllURSBkZFN3aXRjaDsK
dHlwZWRlZiBkZFVTSE9SVCBkZFRhYmxlSW5kZXg7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBkZEZM
T0FUIHg7CiAgICBkZEZMT0FUIHk7Cn0gZGRWZWN0b3IyRDsKCnR5cGVkZWYgc3RydWN0IHsKICAg
IGRkRkxPQVQgeDsKICAgIGRkRkxPQVQgeTsKICAgIGRkRkxPQVQgejsKfSBkZFZlY3RvcjNEOwoK
dHlwZWRlZiBzdHJ1Y3QgewogICAgZGRGTE9BVCB4OwogICAgZGRGTE9BVCB5Owp9IGRkQ29vcmQy
RDsKCnR5cGVkZWYgc3RydWN0IHsKICAgIGRkTE9ORyB4OwogICAgZGRMT05HIHk7Cn0gZGRDb29y
ZDJETDsKCnR5cGVkZWYgeFBvaW50IGRkQ29vcmQyRFM7CgoKdHlwZWRlZiBzdHJ1Y3QgewogICAg
ZGRGTE9BVCB4OwogICAgZGRGTE9BVCB5OwogICAgZGRGTE9BVCB6Owp9IGRkQ29vcmQzRDsKCnR5
cGVkZWYgc3RydWN0IHsKICAgIGRkTE9ORyB4OwogICAgZGRMT05HIHk7CiAgICBkZExPTkcgejsK
fSBkZENvb3JkM0RMOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgZGRTSE9SVCB4OwogICAgZGRTSE9S
VCB5OwogICAgZGRTSE9SVCB6Owp9IGRkQ29vcmQzRFM7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBk
ZEZMT0FUIHg7CiAgICBkZEZMT0FUIHk7CiAgICBkZEZMT0FUIHo7CiAgICBkZEZMT0FUIHc7Cn0g
ZGRDb29yZDREOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkU0hPUlQgeDsKICAgICAgICBk
ZFNIT1JUIHk7CiAgICAgICAgZGRGTE9BVCB6Owp9IGRkRGV2aWNlQ29vcmQ7Cgp0eXBlZGVmIHN0
cnVjdCB7CiAgICAgICAgZGRTSE9SVCB4bWluOwogICAgICAgIGRkU0hPUlQgeW1pbjsKICAgICAg
ICBkZFNIT1JUIHhtYXg7CiAgICAgICAgZGRTSE9SVCB5bWF4Owp9IGRkRGV2aWNlUmVjdDsKCnR5
cGVkZWYgc3RydWN0IHsKICAgICAgICBkZEZMT0FUIHhtaW47CiAgICAgICAgZGRGTE9BVCB5bWlu
OwogICAgICAgIGRkRkxPQVQgem1pbjsKICAgICAgICBkZEZMT0FUIHdtaW47CiAgICAgICAgZGRG
TE9BVCB4bWF4OwogICAgICAgIGRkRkxPQVQgeW1heDsKICAgICAgICBkZEZMT0FUIHptYXg7CiAg
ICAgICAgZGRGTE9BVCB3bWF4Owp9IGRkTGlzdEJvdW5kczsKCnR5cGVkZWYgc3RydWN0IHsKICAg
IGRkU0hPUlQgYXBwcm94TWV0aG9kOwogICAgZGRVU0hPUlQgdW51c2VkOwogICAgZGRGTE9BVCB0
b2xlcmFuY2U7Cn0gZGRDdXJ2ZUFwcHJveDsKCnR5cGVkZWYgc3RydWN0IHsKICAgIGRkU0hPUlQg
YXBwcm94TWV0aG9kOwogICAgZGRVU0hPUlQgdW51c2VkOwogICAgZGRGTE9BVCB1VG9sZXJhbmNl
OwogICAgZGRGTE9BVCB2VG9sZXJhbmNlOwp9IGRkU3VyZmFjZUFwcHJveDsKCnR5cGVkZWYgc3Ry
dWN0IHsKICAgIGRkVVNIT1JUIHZlcnRpY2FsOwogICAgZGRVU0hPUlQgaG9yaXpvbnRhbDsKfSBk
ZFRleHRBbGlnbm1lbnREYXRhOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgZGREZXZpY2VDb29yZCBt
aW52YWw7CiAgICBkZERldmljZUNvb3JkIG1heHZhbDsKICAgIGRkVUNIQVIgdXNlRHJhd2FibGU7
CiAgICBkZEJZVEUgcGFkWzNdOwp9IGRkVmlld3BvcnQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBk
ZENvb3JkMkRTIHBvc2l0aW9uOwogICAgZGRGTE9BVCBkaXN0YW5jZTsKfSBkZERDX0hpdEJveDsK
CnR5cGVkZWYgc3RydWN0IHsKICAgIGRkQ29vcmQzRCBtaW52YWw7CiAgICBkZENvb3JkM0QgbWF4
dmFsOwp9IGRkTnBjU3Vidm9sdW1lOwoKdHlwZWRlZiBkZE5wY1N1YnZvbHVtZSBkZE5QQ19IaXRW
b2x1bWU7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRVU0hPUlQgY2xpcEZsYWdzOwogICAg
ICAgIGRkVVNIT1JUIHVudXNlZDsKICAgICAgICBkZE5wY1N1YnZvbHVtZSBjbGlwTGltaXRzOwog
ICAgICAgIGRkRkxPQVQgb3JpZW50YXRpb25bNF1bNF07CiAgICAgICAgZGRGTE9BVCBtYXBwaW5n
WzRdWzRdOwp9IGRkVmlld0VudHJ5OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkVVNIT1JU
IGRlZmluYWJsZUVudHJpZXM7CiAgICAgICAgZGRVU0hPUlQgbnVtUHJlZGVmaW5lZDsKICAgICAg
ICBkZFVTSE9SVCBwcmVkZWZpbmVkTWluOwogICAgICAgIGRkVVNIT1JUIHByZWRlZmluZWRNYXg7
Cn0gZGRUYWJsZUluZm87CgoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRpU3RydWN0SGFuZGxl
IHN0cnVjdHVyZTsKICAgICAgICBkZFVMT05HIG9mZnNldDsKfSBkZEVsZW1lbnRSZWY7Cgp0eXBl
ZGVmIHN0cnVjdCB7CiAgICAgICAgZGRDb29yZDREIG9yaWdfcG9pbnQ7CiAgICAgICAgZGRDb29y
ZDREIHBvaW50OwogICAgICAgIGRkVmVjdG9yM0Qgb3JpZ192ZWN0b3I7CiAgICAgICAgZGRWZWN0
b3IzRCB2ZWN0b3I7CiAgICAgICAgZGRGTE9BVCBkaXN0Owp9IGRkSGFsZlNwYWNlOwoKdHlwZWRl
ZiBzdHJ1Y3QgewogICAgICAgIGRpU3RydWN0SGFuZGxlIHN0cnVjdHVyZTsKICAgICAgICBkZFVM
T05HIG9mZnNldDsKICAgICAgICBkZFVMT05HIHBpY2tpZDsKfSBkZFBpY2tQYXRoOwoKdHlwZWRl
ZiBzdHJ1Y3QgewogICAgZGRVTE9ORyBzaWQ7CiAgICBkZFVMT05HIG9mZnNldDsKICAgIGRkVUxP
TkcgcGlja2lkOwp9IGRkUGlja0VsZW1lbnRSZWY7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgIGRk
VVNIT1JUIHBpY2tUeXBlOwogICAgICB1bmlvbiB7CiAgICAgICAgICBkZERDX0hpdEJveCBEQ19I
aXRCb3g7CiAgICAgICAgICBkZE5QQ19IaXRWb2x1bWUgTlBDX0hpdFZvbHVtZTsKICAgICAgfSBo
aXRfYm94Owp9IGRkUGlja1JlY29yZDsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkZFVTSE9S
VCBlbGVtZW50VHlwZTsKICAgICAgICBkZFVTSE9SVCBsZW5ndGg7Cn0gZGRFbGVtZW50SW5mbzsK
Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBkZEZMT0FUIHJlZDsKICAgIGRkRkxPQVQgZ3JlZW47CiAg
ICBkZEZMT0FUIGJsdWU7Cn0gZGRSZ2JGbG9hdENvbG91cjsKCnR5cGVkZWYgc3RydWN0IHsKICAg
IGRkRkxPQVQgaHVlOwogICAgZGRGTE9BVCBzYXR1cmF0aW9uOwogICAgZGRGTE9BVCB2YWx1ZTsK
fSBkZEhzdkNvbG91cjsKCnR5cGVkZWYgc3RydWN0IHsKICAgIGRkRkxPQVQgaHVlOwogICAgZGRG
TE9BVCBsaWdodG5lc3M7CiAgICBkZEZMT0FUIHNhdHVyYXRpb247Cn0gZGRIbHNDb2xvdXI7Cgp0
eXBlZGVmIHN0cnVjdCB7CiAgICBkZEZMT0FUIHg7CiAgICBkZEZMT0FUIHk7CiAgICBkZEZMT0FU
IHo7Cn0gZGRDaWVDb2xvdXI7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBkZFVDSEFSIHJlZDsKICAg
IGRkVUNIQVIgZ3JlZW47CiAgICBkZFVDSEFSIGJsdWU7CiAgICBkZFVDSEFSIHBhZDsKfSBkZFJn
YjhDb2xvdXI7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBkZFVTSE9SVCByZWQ7CiAgICBkZFVTSE9S
VCBncmVlbjsKICAgIGRkVVNIT1JUIGJsdWU7CiAgICBkZFVTSE9SVCBwYWQ7Cn0gZGRSZ2IxNkNv
bG91cjsKCnR5cGVkZWYgc3RydWN0IHsKICAgIGRkVVNIT1JUIGluZGV4OwogICAgZGRVU0hPUlQg
cGFkOwp9IGRkSW5kZXhlZENvbG91cjsKCnR5cGVkZWYgc3RydWN0IHsKICAgIGRkU0hPUlQgY29s
b3VyVHlwZTsKICAgIGRkU0hPUlQgdW51c2VkOwogICAgdW5pb24gewogICAgICAgIGRkSW5kZXhl
ZENvbG91ciBpbmRleGVkOwogICAgICAgIGRkUmdiOENvbG91ciByZ2I4OwogICAgICAgIGRkUmdi
MTZDb2xvdXIgcmdiMTY7CiAgICAgICAgZGRSZ2JGbG9hdENvbG91ciByZ2JGbG9hdDsKICAgICAg
ICBkZENpZUNvbG91ciBjaWVGbG9hdDsKICAgICAgICBkZEhsc0NvbG91ciBobHNGbG9hdDsKICAg
ICAgICBkZEhzdkNvbG91ciBoc3ZGbG9hdDsKICAgIH0gY29sb3VyOwp9IGRkQ29sb3VyU3BlY2lm
aWVyOwoKdHlwZWRlZiB1bmlvbiB7CiAgICAgICAgZGRSZ2I4Q29sb3VyIHJnYjg7CiAgICAgICAg
ZGRSZ2IxNkNvbG91ciByZ2IxNjsKICAgICAgICBkZFJnYkZsb2F0Q29sb3VyIHJnYkZsb2F0Owog
ICAgICAgIGRkQ2llQ29sb3VyIGNpZUZsb2F0OwogICAgICAgIGRkSGxzQ29sb3VyIGhsc0Zsb2F0
OwogICAgICAgIGRkSHN2Q29sb3VyIGhzdkZsb2F0Owp9IGRkRGlyZWN0Q29sb3VyOwoKdHlwZWRl
ZiBzdHJ1Y3QgewogICAgZGRGTE9BVCBhbWJpZW50OwogICAgZGRGTE9BVCBkaWZmdXNlOwogICAg
ZGRGTE9BVCBzcGVjdWxhcjsKICAgIGRkRkxPQVQgc3BlY3VsYXJDb25jOwogICAgZGRGTE9BVCB0
cmFuc21pc3Npb247CiAgICBkZENvbG91clNwZWNpZmllciBzcGVjdWxhckNvbG91cjsKfSBkZFJl
ZmxlY3Rpb25BdHRyOwoKCgoKdHlwZWRlZiBpbnQgZGRwZXg0cnRuOwp0eXBlZGVmIGludCBkZHBl
eDQzcnRuOwp0eXBlZGVmIGludCBkZHBleDNydG47CnR5cGVkZWYgaW50IGRkcGV4MnJ0bjsKdHlw
ZWRlZiBpbnQgZGRwZXgxcnRuOwojIDM5OCAiLi4vLi4vLi4vaW5jbHVkZS9kZHBleC5oIgp0eXBl
ZGVmIHN0cnVjdCB7CiAgICBkZFVMT05HIGJ1ZlNpemU7CiAgICBkZFVMT05HIGRhdGFTaXplOwog
ICAgZGRQb2ludGVyIHBCdWY7CiAgICBkZFBvaW50ZXIgcEhlYWQ7Cn0gZGRCdWZmZXIsICpkZEJ1
ZmZlclB0cjsKIyA0MTYgIi4uLy4uLy4uL2luY2x1ZGUvZGRwZXguaCIKdHlwZWRlZiBlbnVtIHsK
ICAgICAgICBERF9FTEVNRU5UX1JFRj0wLAogICAgICAgIEREX0hBTEZfU1BBQ0U9MSwKICAgICAg
ICBERF9QSUNLX1BBVEg9MiwKICAgICAgICBERF9SRU5ERVJFUj0zLAogICAgICAgIEREX1dLUz00
LAogICAgICAgIEREX05TPTUsCiAgICAgICAgRERfU1RSVUNUPTYsCiAgICAgICAgRERfREVWSUNF
X1JFQ1Q9NywKICAgICAgICBERF9OQU1FPTgsCiAgICAgICAgRERfSU5ERVg9OSwKICAgICAgICBE
RF9MSVNUX09GX0xJU1Q9MTAsCiAgICAgICAgRERfTlVNX1RZUEVTPTExCn0gZGRMaXN0VHlwZTsK
CnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkZExpc3RUeXBlIHR5cGU7CiAgICAgICAgZGRMT05H
IG51bU9iajsKICAgICAgICBkZExPTkcgbWlzYzsKICAgICAgICBkZExPTkcgbWF4T2JqOwogICAg
ICAgIGRkUG9pbnRlciBwTGlzdDsKIyA0NDYgIi4uLy4uLy4uL2luY2x1ZGUvZGRwZXguaCIKfSBs
aXN0b2ZPYmo7CgoKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkZFVTSE9SVCBwbGFjZW1lbnRU
eXBlOwogICAgICAgIGRkVVNIT1JUIG51bVVjdXJ2ZXM7CiAgICAgICAgZGRVU0hPUlQgbnVtVmN1
cnZlczsKfSBkZFBTQ19Jc29wYXJhbWV0cmljQ3VydmVzOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAg
ICAgIGRkQ29vcmQzRCBvcmlnaW47CiAgICAgICAgZGRWZWN0b3IzRCBkaXJlY3Rpb247CiAgICAg
ICAgZGRVU0hPUlQgbnVtYmVySW50ZXJzZWN0aW9uczsKICAgICAgICBkZEZMT0FUICpwUG9pbnRz
Owp9IGRkUFNDX0xldmVsQ3VydmVzOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkRW51bVR5
cGVJbmRleCB0eXBlOwogICAgICAgIHVuaW9uIHsKICAgICAgICAgICAgICAgIGNoYXIgbm9uZTsK
ICAgICAgICAgICAgICAgIGNoYXIgaW1wRGVwOwogICAgICAgICAgICAgICAgZGRQU0NfSXNvcGFy
YW1ldHJpY0N1cnZlcyBpc29DdXJ2ZXM7CiAgICAgICAgICAgICAgICBkZFBTQ19MZXZlbEN1cnZl
cyBtY0xldmVsQ3VydmVzOwogICAgICAgICAgICAgICAgZGRQU0NfTGV2ZWxDdXJ2ZXMgd2NMZXZl
bEN1cnZlczsKICAgICAgICB9IGRhdGE7Cn0gZGRQU3VyZmFjZUNoYXJzOwoKCnR5cGVkZWYgc3Ry
dWN0IHsKICAgICAgICBkZEVudW1UeXBlSW5kZXggbWFya2VyVHlwZTsKICAgICAgICBkZEZMT0FU
IG1hcmtlclNjYWxlOwogICAgICAgIGRkQ29sb3VyU3BlY2lmaWVyIG1hcmtlckNvbG91cjsKICAg
ICAgICBkZFVTSE9SVCBtYXJrZXJJbmRleDsKICAgICAgICBkZFVTSE9SVCB0ZXh0Rm9udDsKICAg
ICAgICBkZFVTSE9SVCB0ZXh0UHJlY2lzaW9uOwogICAgICAgIGRkRkxPQVQgY2hhckV4cGFuc2lv
bjsKICAgICAgICBkZEZMT0FUIGNoYXJTcGFjaW5nOwogICAgICAgIGRkQ29sb3VyU3BlY2lmaWVy
IHRleHRDb2xvdXI7CiAgICAgICAgZGRGTE9BVCBjaGFySGVpZ2h0OwogICAgICAgIGRkVmVjdG9y
MkQgY2hhclVwOwogICAgICAgIGRkVVNIT1JUIHRleHRQYXRoOwogICAgICAgIGRkVGV4dEFsaWdu
bWVudERhdGEgdGV4dEFsaWdubWVudDsKICAgICAgICBkZEZMT0FUIGF0ZXh0SGVpZ2h0OwogICAg
ICAgIGRkVmVjdG9yMkQgYXRleHRVcDsKICAgICAgICBkZFVTSE9SVCBhdGV4dFBhdGg7CiAgICAg
ICAgZGRUZXh0QWxpZ25tZW50RGF0YSBhdGV4dEFsaWdubWVudDsKICAgICAgICBkZEVudW1UeXBl
SW5kZXggYXRleHRTdHlsZTsKICAgICAgICBkZFVTSE9SVCB0ZXh0SW5kZXg7CiAgICAgICAgZGRF
bnVtVHlwZUluZGV4IGxpbmVUeXBlOwogICAgICAgIGRkRkxPQVQgbGluZVdpZHRoOwogICAgICAg
IGRkQ29sb3VyU3BlY2lmaWVyIGxpbmVDb2xvdXI7CiAgICAgICAgZGRDdXJ2ZUFwcHJveCBjdXJ2
ZUFwcHJveDsKICAgICAgICBkZEVudW1UeXBlSW5kZXggbGluZUludGVycDsKICAgICAgICBkZFVT
SE9SVCBsaW5lSW5kZXg7CiAgICAgICAgZGRFbnVtVHlwZUluZGV4IGludFN0eWxlOwogICAgICAg
IGRkU0hPUlQgaW50U3R5bGVJbmRleDsKICAgICAgICBkZENvbG91clNwZWNpZmllciBzdXJmYWNl
Q29sb3VyOwogICAgICAgIGRkUmVmbGVjdGlvbkF0dHIgcmVmbEF0dHI7CiAgICAgICAgZGRFbnVt
VHlwZUluZGV4IHJlZmxNb2RlbDsKICAgICAgICBkZEVudW1UeXBlSW5kZXggc3VyZkludGVycDsK
ICAgICAgICBkZEVudW1UeXBlSW5kZXggYmZJbnRTdHlsZTsKICAgICAgICBkZFNIT1JUIGJmSW50
U3R5bGVJbmRleDsKICAgICAgICBkZENvbG91clNwZWNpZmllciBiZlN1cmZDb2xvdXI7CiAgICAg
ICAgZGRSZWZsZWN0aW9uQXR0ciBiZlJlZmxBdHRyOwogICAgICAgIGRkRW51bVR5cGVJbmRleCBi
ZlJlZmxNb2RlbDsKICAgICAgICBkZEVudW1UeXBlSW5kZXggYmZTdXJmSW50ZXJwOwogICAgICAg
IGRkU3VyZmFjZUFwcHJveCBzdXJmQXBwcm94OwogICAgICAgIGRkVVNIT1JUIGN1bGxNb2RlOwog
ICAgICAgIGRkQk9PTCBkaXN0RmxhZzsKICAgICAgICBkZENvb3JkMkQgcGF0dGVyblNpemU7CiAg
ICAgICAgZGRDb29yZDNEIHBhdHRlcm5SZWZQdDsKICAgICAgICBkZFZlY3RvcjNEIHBhdHRlcm5S
ZWZWMTsKICAgICAgICBkZFZlY3RvcjNEIHBhdHRlcm5SZWZWMjsKICAgICAgICBkZFVTSE9SVCBp
bnRJbmRleDsKICAgICAgICBkZFVTSE9SVCBlZGdlczsKICAgICAgICBkZEVudW1UeXBlSW5kZXgg
ZWRnZVR5cGU7CiAgICAgICAgZGRGTE9BVCBlZGdlV2lkdGg7CiAgICAgICAgZGRDb2xvdXJTcGVj
aWZpZXIgZWRnZUNvbG91cjsKICAgICAgICBkZFVTSE9SVCBlZGdlSW5kZXg7CiAgICAgICAgZGRG
TE9BVCBsb2NhbE1hdFs0XVs0XTsKICAgICAgICBkZEZMT0FUIGdsb2JhbE1hdFs0XVs0XTsKICAg
ICAgICBkZFVTSE9SVCBtb2RlbENsaXA7CiAgICAgICAgbGlzdG9mT2JqICptb2RlbENsaXBWb2x1
bWU7CiAgICAgICAgZGRVU0hPUlQgdmlld0luZGV4OwogICAgICAgIGxpc3RvZk9iaiAqbGlnaHRT
dGF0ZTsKICAgICAgICBkZFVTSE9SVCBkZXB0aEN1ZUluZGV4OwogICAgICAgIGRkVVNIT1JUIGNv
bG91ckFwcHJveEluZGV4OwogICAgICAgIGRkU0hPUlQgcmRyQ29sb3VyTW9kZWw7CiAgICAgICAg
ZGRQU3VyZmFjZUNoYXJzIHBzYzsKICAgICAgICBkZFVMT05HIGFzZnM7CiAgICAgICAgZGRVTE9O
RyBwaWNrSWQ7CiAgICAgICAgZGRVTE9ORyBobGhzclR5cGU7CiAgICAgICAgZGlOU0hhbmRsZSBw
Q3VycmVudE5TOwp9IGRkUENBdHRyOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkVUxPTkcg
UENpZDsKICAgICAgICBsaXN0b2ZPYmogKnJlbmRSZWZzOwogICAgICAgIGRkUENBdHRyICpwUENB
dHRyOwp9IGRkUENTdHIsICpkZFBDUHRyOwoKCgoKCgp0eXBlZGVmIGRkcGV4MnJ0biAoKm9jVGFi
bGVUeXBlKSgpOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkQllURSB0eXBlOwogICAgICAg
IGRkQllURSBjbGFzczsKICAgICAgICBkZEJZVEUgZGVwdGg7CiAgICAgICAgZGRCWVRFIGJpdHNQ
ZXJQaXhlbDsKICAgICAgICBkZEJZVEUgcm9vdERlcHRoOwogICAgICAgIGRkVUxPTkcgcm9vdFZp
c3VhbDsKfSBkZERyYXdhYmxlSW5mbzsKCnR5cGVkZWYgZW51bSB7CiAgICAgICAgRERfSElHSF9J
TkNMX05TPTAsCiAgICAgICAgRERfSElHSF9FWENMX05TPTEsCiAgICAgICAgRERfSU5WSVNfSU5D
TF9OUz0yLAogICAgICAgIEREX0lOVklTX0VYQ0xfTlM9MywKICAgICAgICBERF9QSUNLX0lOQ0xf
TlM9NCwKICAgICAgICBERF9QSUNLX0VYQ0xfTlM9NSwKICAgICAgICBERF9NQVhfRklMVEVSUz02
Cn0gZGROU0ZpbHRlcnM7CiMgNTgxICIuLi8uLi8uLi9pbmNsdWRlL2RkcGV4LmgiCnR5cGVkZWYg
c3RydWN0IHsKICAgICAgICBkZFVTSE9SVCBzdGF0ZTsKICAgICAgICBkZFVTSE9SVCBzZXJ2ZXI7
CiAgICAgICAgZGRTSE9SVCBwaWNrX21ldGhvZDsKICAgICAgICBkZEJPT0wgc2VuZF9ldmVudDsK
ICAgICAgICBkZFVMT05HIG1heF9oaXRzOwogICAgICAgIGRkVUxPTkcgbW9yZV9oaXRzOwogICAg
ICAgIENsaWVudFB0ciBjbGllbnQ7CiAgICAgICAgZGlTdHJ1Y3RIYW5kbGUgc3RySGFuZGxlOwog
ICAgICAgIGRpUE1IYW5kbGUgcHNldWRvUE07CiAgICAgICAgbGlzdG9mT2JqICpsaXN0OwogICAg
ICAgIGxpc3RvZk9iaiAqZmFrZVN0cmxpc3Q7CgogICAgICAgIGxpc3RvZk9iaiAqc0lEbGlzdDsK
Cgp9IGRkUmRyUGlja1N0ciwgKmRkUmRyUGlja1B0cjsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAg
ICBkZFVMT05HIHJlbmRJZDsKICAgICAgICBkZFBDUHRyIHBQQzsKICAgICAgICBkZERyYXdhYmxl
SW5mbyBkcmF3RXhhbXBsZTsKICAgICAgICBEcmF3YWJsZVB0ciBwRHJhd2FibGU7CiAgICAgICAg
ZGRVTE9ORyBkcmF3YWJsZUlkOwogICAgICAgIGxpc3RvZk9iaiAqY3VyUGF0aDsKICAgICAgICBk
ZFVTSE9SVCBzdGF0ZTsKICAgICAgICBkaUxVVEhhbmRsZSBsdXRbMTIgKzFdOwogICAgICAgIGRp
TlNIYW5kbGUgbnNbRERfTUFYX0ZJTFRFUlNdOwogICAgICAgIGRkU0hPUlQgaGxoc3JNb2RlOwog
ICAgICAgIGRkTnBjU3Vidm9sdW1lIG5wY1N1YnZvbHVtZTsKICAgICAgICBkZFZpZXdwb3J0IHZp
ZXdwb3J0OwogICAgICAgIGxpc3RvZk9iaiAqY2xpcExpc3Q7CgoKCiAgICAgICAgbGlzdG9mT2Jq
ICpwaWNrU3RhcnRQYXRoOwogICAgICAgIGRkQ29sb3VyU3BlY2lmaWVyIGJhY2tncm91bmRDb2xv
dXI7CiAgICAgICAgZGRCT09MIGNsZWFySTsKICAgICAgICBkZEJPT0wgY2xlYXJaOwogICAgICAg
IGRkVVNIT1JUIGVjaG9Nb2RlOwogICAgICAgIGRkQ29sb3VyU3BlY2lmaWVyIGVjaG9Db2xvdXI7
CgogICAgICAgIGRkQml0bWFzayB0YWJsZXNNYXNrOwogICAgICAgIGRkQml0bWFzayBuYW1lc2V0
c01hc2s7CiAgICAgICAgZGRCaXRtYXNrIGF0dHJzTWFzazsKICAgICAgICBkZEJpdG1hc2sgdGFi
bGVzQ2hhbmdlczsKICAgICAgICBkZEJpdG1hc2sgbmFtZXNldHNDaGFuZ2VzOwogICAgICAgIGRk
Qml0bWFzayBhdHRyc0NoYW5nZXM7CiAgICAgICAgb2NUYWJsZVR5cGUgZXhlY3V0ZU9Dc1soMTA0
ICsxKV07CiAgICAgICAgZGRCT09MIGltbWVkaWF0ZU1vZGU7CiAgICAgICAgZGRVU0hPUlQgcmVu
ZGVyX21vZGU7CiAgICAgICAgZGRQb2ludGVyIHBERENvbnRleHQ7CiAgICAgICAgZGRSZHJQaWNr
U3RyIHBpY2tzdHI7Cn0gZGRSZW5kZXJlclN0ciwgKmRkUmVuZGVyZXJQdHI7Cgp0eXBlZGVmIHN0
cnVjdCB7CiAgICAgICAgZGRVTE9ORyBudW1FbFJlZnM7CiAgICAgICAgbGlzdG9mT2JqICpQYXRo
Owp9IGRkQWNjU3RTdHIsICpkZEFjY1N0UHRyOwoKCgoKCgoKdHlwZWRlZiBlbnVtIHsKICAgICAg
ICBXT1JLU1RBVElPTl9SRVNPVVJDRT0wLAogICAgICAgIFNUUlVDVFVSRV9SRVNPVVJDRT0xLAog
ICAgICAgIFBBUkVOVF9TVFJVQ1RVUkVfUkVTT1VSQ0U9MiwKICAgICAgICBDSElMRF9TVFJVQ1RV
UkVfUkVTT1VSQ0U9MywKICAgICAgICBTRUFSQ0hfQ09OVEVYVF9SRVNPVVJDRT00LAogICAgICAg
IFBJQ0tfUkVTT1VSQ0U9NSwKICAgICAgICBMT09LVVBfVEFCTEVfUkVTT1VSQ0U9NiwKICAgICAg
ICBOQU1FX1NFVF9SRVNPVVJDRT03LAogICAgICAgIEZPTlRfUkVTT1VSQ0U9OCwKICAgICAgICBS
RU5ERVJFUl9SRVNPVVJDRT05LAogICAgICAgIFBJUEVMSU5FX0NPTlRFWFRfUkVTT1VSQ0U9MTAK
fSBkZFJlc291cmNlVHlwZTsKCnR5cGVkZWYgZW51bSB7CiAgICAgICAgQUREPTAsCiAgICAgICAg
UkVNT1ZFPTEKfSBkZEFjdGlvbjsKCnR5cGVkZWYgZW51bSB7CiAgICAgICAgWF9XSU5ET1dfUkVT
T1VSQ0U9MCwKICAgICAgICBYX0RSQVdBQkxFX1JFU09VUkNFPTEsCiAgICAgICAgWF9GT05UX1JF
U09VUkNFPTIsCiAgICAgICAgWF9QSVhNQVBfUkVTT1VSQ0U9MywKICAgICAgICBYX0NVUlNPUl9S
RVNPVVJDRT00LAogICAgICAgIFhfQ09MT1JNQVBfUkVTT1VSQ0U9NSwKICAgICAgICBYX0dDT05U
RVhUX1JFU09VUkNFPTYsCiAgICAgICAgWF9LRVlTWU09Nwp9IGRkWFJlc291cmNlVHlwZTsKIyA1
NSAiLi4vaW5jbHVkZS9taVJlbmRlci5oIiAyCiMgMSAiLi4vLi4vLi4vaW5jbHVkZS9kZHBleDMu
aCIgMQojIDMwMSAiLi4vLi4vLi4vaW5jbHVkZS9kZHBleDMuaCIKdHlwZWRlZiBkZFVTSE9SVCBk
ZFBvaW50VHlwZTsKCgoKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkZENvb3JkM0QgcHQ7CiAg
ICAgICAgZGRJbmRleGVkQ29sb3VyIGNvbG91cjsKfSBkZEluZGV4UG9pbnQ7Cgp0eXBlZGVmIHN0
cnVjdCB7CiAgICAgICAgZGRDb29yZDNEIHB0OwogICAgICAgIGRkUmdiOENvbG91ciBjb2xvdXI7
Cn0gZGRSZ2I4UG9pbnQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRDb29yZDNEIHB0Owog
ICAgICAgIGRkUmdiMTZDb2xvdXIgY29sb3VyOwp9IGRkUmdiMTZQb2ludDsKCnR5cGVkZWYgc3Ry
dWN0IHsKICAgICAgICBkZENvb3JkMkRTIHB0OwogICAgICAgIGRkUmdiRmxvYXRDb2xvdXIgY29s
b3VyOwp9IGRkUmdiRmxvYXRQb2ludDJEUzsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkZENv
b3JkM0QgcHQ7CiAgICAgICAgZGRSZ2JGbG9hdENvbG91ciBjb2xvdXI7Cn0gZGRSZ2JGbG9hdFBv
aW50OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkQ29vcmQyRFMgcHQ7CiAgICAgICAgZGRI
c3ZDb2xvdXIgY29sb3VyOwp9IGRkSHN2UG9pbnQyRFM7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAg
ICAgZGRDb29yZDNEIHB0OwogICAgICAgIGRkSHN2Q29sb3VyIGNvbG91cjsKfSBkZEhzdlBvaW50
OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkQ29vcmQyRFMgcHQ7CiAgICAgICAgZGRIbHND
b2xvdXIgY29sb3VyOwp9IGRkSGxzUG9pbnQyRFM7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAg
ZGRDb29yZDNEIHB0OwogICAgICAgIGRkSGxzQ29sb3VyIGNvbG91cjsKfSBkZEhsc1BvaW50OwoK
dHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkQ29vcmQyRFMgcHQ7CiAgICAgICAgZGRDaWVDb2xv
dXIgY29sb3VyOwp9IGRkQ2llUG9pbnQyRFM7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRD
b29yZDNEIHB0OwogICAgICAgIGRkQ2llQ29sb3VyIGNvbG91cjsKfSBkZENpZVBvaW50OwoKdHlw
ZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkQ29vcmQyRFMgcHQ7CiAgICAgICAgZGRWZWN0b3IzRCBu
b3JtYWw7Cn0gZGROb3JtYWxQb2ludDJEUzsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkZENv
b3JkM0QgcHQ7CiAgICAgICAgZGRWZWN0b3IzRCBub3JtYWw7Cn0gZGROb3JtYWxQb2ludDsKCnR5
cGVkZWYgc3RydWN0IHsKICAgICAgICBkZENvb3JkMkRTIHB0OwogICAgICAgIGRkVUxPTkcgZWRn
ZTsKfSBkZEVkZ2VQb2ludDJEUzsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkZENvb3JkM0Qg
cHQ7CiAgICAgICAgZGRVTE9ORyBlZGdlOwp9IGRkRWRnZVBvaW50OwoKdHlwZWRlZiBzdHJ1Y3Qg
ewogICAgICAgIGRkQ29vcmQzRCBwdDsKICAgICAgICBkZEluZGV4ZWRDb2xvdXIgY29sb3VyOwog
ICAgICAgIGRkVmVjdG9yM0Qgbm9ybWFsOwp9IGRkSW5kZXhOb3JtYWxQb2ludDsKCnR5cGVkZWYg
c3RydWN0IHsKICAgICAgICBkZENvb3JkM0QgcHQ7CiAgICAgICAgZGRSZ2I4Q29sb3VyIGNvbG91
cjsKICAgICAgICBkZFZlY3RvcjNEIG5vcm1hbDsKfSBkZFJnYjhOb3JtYWxQb2ludDsKCnR5cGVk
ZWYgc3RydWN0IHsKICAgICAgICBkZENvb3JkM0QgcHQ7CiAgICAgICAgZGRSZ2IxNkNvbG91ciBj
b2xvdXI7CiAgICAgICAgZGRWZWN0b3IzRCBub3JtYWw7Cn0gZGRSZ2IxNk5vcm1hbFBvaW50OwoK
dHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkQ29vcmQyRFMgcHQ7CiAgICAgICAgZGRSZ2JGbG9h
dENvbG91ciBjb2xvdXI7CiAgICAgICAgZGRWZWN0b3IzRCBub3JtYWw7Cn0gZGRSZ2JGbG9hdE5v
cm1hbFBvaW50MkRTOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkQ29vcmQzRCBwdDsKICAg
ICAgICBkZFJnYkZsb2F0Q29sb3VyIGNvbG91cjsKICAgICAgICBkZFZlY3RvcjNEIG5vcm1hbDsK
fSBkZFJnYkZsb2F0Tm9ybWFsUG9pbnQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRDb29y
ZDJEUyBwdDsKICAgICAgICBkZEhzdkNvbG91ciBjb2xvdXI7CiAgICAgICAgZGRWZWN0b3IzRCBu
b3JtYWw7Cn0gZGRIc3ZOb3JtYWxQb2ludDJEUzsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBk
ZENvb3JkM0QgcHQ7CiAgICAgICAgZGRIc3ZDb2xvdXIgY29sb3VyOwogICAgICAgIGRkVmVjdG9y
M0Qgbm9ybWFsOwp9IGRkSHN2Tm9ybWFsUG9pbnQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAg
ZGRDb29yZDJEUyBwdDsKICAgICAgICBkZEhsc0NvbG91ciBjb2xvdXI7CiAgICAgICAgZGRWZWN0
b3IzRCBub3JtYWw7Cn0gZGRIbHNOb3JtYWxQb2ludDJEUzsKCnR5cGVkZWYgc3RydWN0IHsKICAg
ICAgICBkZENvb3JkM0QgcHQ7CiAgICAgICAgZGRIbHNDb2xvdXIgY29sb3VyOwogICAgICAgIGRk
VmVjdG9yM0Qgbm9ybWFsOwp9IGRkSGxzTm9ybWFsUG9pbnQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAg
ICAgICAgZGRDb29yZDJEUyBwdDsKICAgICAgICBkZENpZUNvbG91ciBjb2xvdXI7CiAgICAgICAg
ZGRWZWN0b3IzRCBub3JtYWw7Cn0gZGRDaWVOb3JtYWxQb2ludDJEUzsKCnR5cGVkZWYgc3RydWN0
IHsKICAgICAgICBkZENvb3JkM0QgcHQ7CiAgICAgICAgZGRDaWVDb2xvdXIgY29sb3VyOwogICAg
ICAgIGRkVmVjdG9yM0Qgbm9ybWFsOwp9IGRkQ2llTm9ybWFsUG9pbnQ7Cgp0eXBlZGVmIHN0cnVj
dCB7CiAgICAgICAgZGRDb29yZDNEIHB0OwogICAgICAgIGRkSW5kZXhlZENvbG91ciBjb2xvdXI7
CiAgICAgICAgZGRVTE9ORyBlZGdlOwp9IGRkSW5kZXhFZGdlUG9pbnQ7Cgp0eXBlZGVmIHN0cnVj
dCB7CiAgICAgICAgZGRDb29yZDNEIHB0OwogICAgICAgIGRkUmdiOENvbG91ciBjb2xvdXI7CiAg
ICAgICAgZGRVTE9ORyBlZGdlOwp9IGRkUmdiOEVkZ2VQb2ludDsKCnR5cGVkZWYgc3RydWN0IHsK
ICAgICAgICBkZENvb3JkM0QgcHQ7CiAgICAgICAgZGRSZ2IxNkNvbG91ciBjb2xvdXI7CiAgICAg
ICAgZGRVTE9ORyBlZGdlOwp9IGRkUmdiMTZFZGdlUG9pbnQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAg
ICAgICAgZGRDb29yZDJEUyBwdDsKICAgICAgICBkZFJnYkZsb2F0Q29sb3VyIGNvbG91cjsKICAg
ICAgICBkZFVMT05HIGVkZ2U7Cn0gZGRSZ2JGbG9hdEVkZ2VQb2ludDJEUzsKCnR5cGVkZWYgc3Ry
dWN0IHsKICAgICAgICBkZENvb3JkM0QgcHQ7CiAgICAgICAgZGRSZ2JGbG9hdENvbG91ciBjb2xv
dXI7CiAgICAgICAgZGRVTE9ORyBlZGdlOwp9IGRkUmdiRmxvYXRFZGdlUG9pbnQ7Cgp0eXBlZGVm
IHN0cnVjdCB7CiAgICAgICAgZGRDb29yZDJEUyBwdDsKICAgICAgICBkZEhzdkNvbG91ciBjb2xv
dXI7CiAgICAgICAgZGRVTE9ORyBlZGdlOwp9IGRkSHN2RWRnZVBvaW50MkRTOwoKdHlwZWRlZiBz
dHJ1Y3QgewogICAgICAgIGRkQ29vcmQzRCBwdDsKICAgICAgICBkZEhzdkNvbG91ciBjb2xvdXI7
CiAgICAgICAgZGRVTE9ORyBlZGdlOwp9IGRkSHN2RWRnZVBvaW50OwoKdHlwZWRlZiBzdHJ1Y3Qg
ewogICAgICAgIGRkQ29vcmQyRFMgcHQ7CiAgICAgICAgZGRIbHNDb2xvdXIgY29sb3VyOwogICAg
ICAgIGRkVUxPTkcgZWRnZTsKfSBkZEhsc0VkZ2VQb2ludDJEUzsKCnR5cGVkZWYgc3RydWN0IHsK
ICAgICAgICBkZENvb3JkM0QgcHQ7CiAgICAgICAgZGRIbHNDb2xvdXIgY29sb3VyOwogICAgICAg
IGRkVUxPTkcgZWRnZTsKfSBkZEhsc0VkZ2VQb2ludDsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAg
ICBkZENvb3JkMkRTIHB0OwogICAgICAgIGRkQ2llQ29sb3VyIGNvbG91cjsKICAgICAgICBkZFVM
T05HIGVkZ2U7Cn0gZGRDaWVFZGdlUG9pbnQyRFM7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAg
ZGRDb29yZDNEIHB0OwogICAgICAgIGRkQ2llQ29sb3VyIGNvbG91cjsKICAgICAgICBkZFVMT05H
IGVkZ2U7Cn0gZGRDaWVFZGdlUG9pbnQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRDb29y
ZDJEUyBwdDsKICAgICAgICBkZFZlY3RvcjNEIG5vcm1hbDsKICAgICAgICBkZFVMT05HIGVkZ2U7
Cn0gZGROb3JtRWRnZVBvaW50MkRTOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkQ29vcmQz
RCBwdDsKICAgICAgICBkZFZlY3RvcjNEIG5vcm1hbDsKICAgICAgICBkZFVMT05HIGVkZ2U7Cn0g
ZGROb3JtRWRnZVBvaW50OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkQ29vcmQzRCBwdDsK
ICAgICAgICBkZEluZGV4ZWRDb2xvdXIgY29sb3VyOwogICAgICAgIGRkVmVjdG9yM0Qgbm9ybWFs
OwogICAgICAgIGRkVUxPTkcgZWRnZTsKfSBkZEluZGV4Tm9ybUVkZ2VQb2ludDsKCnR5cGVkZWYg
c3RydWN0IHsKICAgICAgICBkZENvb3JkM0QgcHQ7CiAgICAgICAgZGRSZ2I4Q29sb3VyIGNvbG91
cjsKICAgICAgICBkZFZlY3RvcjNEIG5vcm1hbDsKICAgICAgICBkZFVMT05HIGVkZ2U7Cn0gZGRS
Z2I4Tm9ybUVkZ2VQb2ludDsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkZENvb3JkM0QgcHQ7
CiAgICAgICAgZGRSZ2IxNkNvbG91ciBjb2xvdXI7CiAgICAgICAgZGRWZWN0b3IzRCBub3JtYWw7
CiAgICAgICAgZGRVTE9ORyBlZGdlOwp9IGRkUmdiMTZOb3JtRWRnZVBvaW50OwoKdHlwZWRlZiBz
dHJ1Y3QgewogICAgICAgIGRkQ29vcmQyRFMgcHQ7CiAgICAgICAgZGRSZ2JGbG9hdENvbG91ciBj
b2xvdXI7CiAgICAgICAgZGRWZWN0b3IzRCBub3JtYWw7CiAgICAgICAgZGRVTE9ORyBlZGdlOwp9
IGRkUmdiRmxvYXROb3JtRWRnZVBvaW50MkRTOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRk
Q29vcmQzRCBwdDsKICAgICAgICBkZFJnYkZsb2F0Q29sb3VyIGNvbG91cjsKICAgICAgICBkZFZl
Y3RvcjNEIG5vcm1hbDsKICAgICAgICBkZFVMT05HIGVkZ2U7Cn0gZGRSZ2JGbG9hdE5vcm1FZGdl
UG9pbnQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRDb29yZDJEUyBwdDsKICAgICAgICBk
ZEhzdkNvbG91ciBjb2xvdXI7CiAgICAgICAgZGRWZWN0b3IzRCBub3JtYWw7CiAgICAgICAgZGRV
TE9ORyBlZGdlOwp9IGRkSHN2Tm9ybUVkZ2VQb2ludDJEUzsKCnR5cGVkZWYgc3RydWN0IHsKICAg
ICAgICBkZENvb3JkM0QgcHQ7CiAgICAgICAgZGRIc3ZDb2xvdXIgY29sb3VyOwogICAgICAgIGRk
VmVjdG9yM0Qgbm9ybWFsOwogICAgICAgIGRkVUxPTkcgZWRnZTsKfSBkZEhzdk5vcm1FZGdlUG9p
bnQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRDb29yZDJEUyBwdDsKICAgICAgICBkZEhs
c0NvbG91ciBjb2xvdXI7CiAgICAgICAgZGRWZWN0b3IzRCBub3JtYWw7CiAgICAgICAgZGRVTE9O
RyBlZGdlOwp9IGRkSGxzTm9ybUVkZ2VQb2ludDJEUzsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAg
ICBkZENvb3JkM0QgcHQ7CiAgICAgICAgZGRIbHNDb2xvdXIgY29sb3VyOwogICAgICAgIGRkVmVj
dG9yM0Qgbm9ybWFsOwogICAgICAgIGRkVUxPTkcgZWRnZTsKfSBkZEhsc05vcm1FZGdlUG9pbnQ7
Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRDb29yZDJEUyBwdDsKICAgICAgICBkZENpZUNv
bG91ciBjb2xvdXI7CiAgICAgICAgZGRWZWN0b3IzRCBub3JtYWw7CiAgICAgICAgZGRVTE9ORyBl
ZGdlOwp9IGRkQ2llTm9ybUVkZ2VQb2ludDJEUzsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBk
ZENvb3JkM0QgcHQ7CiAgICAgICAgZGRDaWVDb2xvdXIgY29sb3VyOwogICAgICAgIGRkVmVjdG9y
M0Qgbm9ybWFsOwogICAgICAgIGRkVUxPTkcgZWRnZTsKfSBkZENpZU5vcm1FZGdlUG9pbnQ7CgoK
CgoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkQ29vcmQ0RCBwdDsKICAgICAgICBkZEluZGV4
ZWRDb2xvdXIgY29sb3VyOwp9IGRkSW5kZXhQb2ludDREOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAg
ICAgIGRkQ29vcmQ0RCBwdDsKICAgICAgICBkZFJnYjhDb2xvdXIgY29sb3VyOwp9IGRkUmdiOFBv
aW50NEQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRDb29yZDREIHB0OwogICAgICAgIGRk
UmdiMTZDb2xvdXIgY29sb3VyOwp9IGRkUmdiMTZQb2ludDREOwoKdHlwZWRlZiBzdHJ1Y3Qgewog
ICAgICAgIGRkQ29vcmQ0RCBwdDsKICAgICAgICBkZFJnYkZsb2F0Q29sb3VyIGNvbG91cjsKfSBk
ZFJnYkZsb2F0UG9pbnQ0RDsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkZENvb3JkNEQgcHQ7
CiAgICAgICAgZGRIc3ZDb2xvdXIgY29sb3VyOwp9IGRkSHN2UG9pbnQ0RDsKCnR5cGVkZWYgc3Ry
dWN0IHsKICAgICAgICBkZENvb3JkNEQgcHQ7CiAgICAgICAgZGRIbHNDb2xvdXIgY29sb3VyOwp9
IGRkSGxzUG9pbnQ0RDsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkZENvb3JkNEQgcHQ7CiAg
ICAgICAgZGRDaWVDb2xvdXIgY29sb3VyOwp9IGRkQ2llUG9pbnQ0RDsKCnR5cGVkZWYgc3RydWN0
IHsKICAgICAgICBkZENvb3JkNEQgcHQ7CiAgICAgICAgZGRWZWN0b3IzRCBub3JtYWw7Cn0gZGRO
b3JtYWxQb2ludDREOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkQ29vcmQ0RCBwdDsKICAg
ICAgICBkZFVMT05HIGVkZ2U7Cn0gZGRFZGdlUG9pbnQ0RDsKCnR5cGVkZWYgc3RydWN0IHsKICAg
ICAgICBkZENvb3JkNEQgcHQ7CiAgICAgICAgZGRJbmRleGVkQ29sb3VyIGNvbG91cjsKICAgICAg
ICBkZFZlY3RvcjNEIG5vcm1hbDsKfSBkZEluZGV4Tm9ybWFsUG9pbnQ0RDsKCnR5cGVkZWYgc3Ry
dWN0IHsKICAgICAgICBkZENvb3JkNEQgcHQ7CiAgICAgICAgZGRSZ2I4Q29sb3VyIGNvbG91cjsK
ICAgICAgICBkZFZlY3RvcjNEIG5vcm1hbDsKfSBkZFJnYjhOb3JtYWxQb2ludDREOwoKdHlwZWRl
ZiBzdHJ1Y3QgewogICAgICAgIGRkQ29vcmQ0RCBwdDsKICAgICAgICBkZFJnYjE2Q29sb3VyIGNv
bG91cjsKICAgICAgICBkZFZlY3RvcjNEIG5vcm1hbDsKfSBkZFJnYjE2Tm9ybWFsUG9pbnQ0RDsK
CnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkZENvb3JkNEQgcHQ7CiAgICAgICAgZGRSZ2JGbG9h
dENvbG91ciBjb2xvdXI7CiAgICAgICAgZGRWZWN0b3IzRCBub3JtYWw7Cn0gZGRSZ2JGbG9hdE5v
cm1hbFBvaW50NEQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRDb29yZDREIHB0OwogICAg
ICAgIGRkSHN2Q29sb3VyIGNvbG91cjsKICAgICAgICBkZFZlY3RvcjNEIG5vcm1hbDsKfSBkZEhz
dk5vcm1hbFBvaW50NEQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRDb29yZDREIHB0Owog
ICAgICAgIGRkSGxzQ29sb3VyIGNvbG91cjsKICAgICAgICBkZFZlY3RvcjNEIG5vcm1hbDsKfSBk
ZEhsc05vcm1hbFBvaW50NEQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRDb29yZDREIHB0
OwogICAgICAgIGRkQ2llQ29sb3VyIGNvbG91cjsKICAgICAgICBkZFZlY3RvcjNEIG5vcm1hbDsK
fSBkZENpZU5vcm1hbFBvaW50NEQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRDb29yZDRE
IHB0OwogICAgICAgIGRkSW5kZXhlZENvbG91ciBjb2xvdXI7CiAgICAgICAgZGRVTE9ORyBlZGdl
Owp9IGRkSW5kZXhFZGdlUG9pbnQ0RDsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkZENvb3Jk
NEQgcHQ7CiAgICAgICAgZGRSZ2I4Q29sb3VyIGNvbG91cjsKICAgICAgICBkZFVMT05HIGVkZ2U7
Cn0gZGRSZ2I4RWRnZVBvaW50NEQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRDb29yZDRE
IHB0OwogICAgICAgIGRkUmdiMTZDb2xvdXIgY29sb3VyOwogICAgICAgIGRkVUxPTkcgZWRnZTsK
fSBkZFJnYjE2RWRnZVBvaW50NEQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRDb29yZDRE
IHB0OwogICAgICAgIGRkUmdiRmxvYXRDb2xvdXIgY29sb3VyOwogICAgICAgIGRkVUxPTkcgZWRn
ZTsKfSBkZFJnYkZsb2F0RWRnZVBvaW50NEQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRD
b29yZDREIHB0OwogICAgICAgIGRkSHN2Q29sb3VyIGNvbG91cjsKICAgICAgICBkZFVMT05HIGVk
Z2U7Cn0gZGRIc3ZFZGdlUG9pbnQ0RDsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkZENvb3Jk
NEQgcHQ7CiAgICAgICAgZGRIbHNDb2xvdXIgY29sb3VyOwogICAgICAgIGRkVUxPTkcgZWRnZTsK
fSBkZEhsc0VkZ2VQb2ludDREOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkQ29vcmQ0RCBw
dDsKICAgICAgICBkZENpZUNvbG91ciBjb2xvdXI7CiAgICAgICAgZGRVTE9ORyBlZGdlOwp9IGRk
Q2llRWRnZVBvaW50NEQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRDb29yZDREIHB0Owog
ICAgICAgIGRkVmVjdG9yM0Qgbm9ybWFsOwogICAgICAgIGRkVUxPTkcgZWRnZTsKfSBkZE5vcm1F
ZGdlUG9pbnQ0RDsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkZENvb3JkNEQgcHQ7CiAgICAg
ICAgZGRJbmRleGVkQ29sb3VyIGNvbG91cjsKICAgICAgICBkZFZlY3RvcjNEIG5vcm1hbDsKICAg
ICAgICBkZFVMT05HIGVkZ2U7Cn0gZGRJbmRleE5vcm1FZGdlUG9pbnQ0RDsKCnR5cGVkZWYgc3Ry
dWN0IHsKICAgICAgICBkZENvb3JkNEQgcHQ7CiAgICAgICAgZGRSZ2I4Q29sb3VyIGNvbG91cjsK
ICAgICAgICBkZFZlY3RvcjNEIG5vcm1hbDsKICAgICAgICBkZFVMT05HIGVkZ2U7Cn0gZGRSZ2I4
Tm9ybUVkZ2VQb2ludDREOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkQ29vcmQ0RCBwdDsK
ICAgICAgICBkZFJnYjE2Q29sb3VyIGNvbG91cjsKICAgICAgICBkZFZlY3RvcjNEIG5vcm1hbDsK
ICAgICAgICBkZFVMT05HIGVkZ2U7Cn0gZGRSZ2IxNk5vcm1FZGdlUG9pbnQ0RDsKCnR5cGVkZWYg
c3RydWN0IHsKICAgICAgICBkZENvb3JkNEQgcHQ7CiAgICAgICAgZGRSZ2JGbG9hdENvbG91ciBj
b2xvdXI7CiAgICAgICAgZGRWZWN0b3IzRCBub3JtYWw7CiAgICAgICAgZGRVTE9ORyBlZGdlOwp9
IGRkUmdiRmxvYXROb3JtRWRnZVBvaW50NEQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRD
b29yZDREIHB0OwogICAgICAgIGRkSHN2Q29sb3VyIGNvbG91cjsKICAgICAgICBkZFZlY3RvcjNE
IG5vcm1hbDsKICAgICAgICBkZFVMT05HIGVkZ2U7Cn0gZGRIc3ZOb3JtRWRnZVBvaW50NEQ7Cgp0
eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRDb29yZDREIHB0OwogICAgICAgIGRkSGxzQ29sb3Vy
IGNvbG91cjsKICAgICAgICBkZFZlY3RvcjNEIG5vcm1hbDsKICAgICAgICBkZFVMT05HIGVkZ2U7
Cn0gZGRIbHNOb3JtRWRnZVBvaW50NEQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRDb29y
ZDREIHB0OwogICAgICAgIGRkQ2llQ29sb3VyIGNvbG91cjsKICAgICAgICBkZFZlY3RvcjNEIG5v
cm1hbDsKICAgICAgICBkZFVMT05HIGVkZ2U7Cn0gZGRDaWVOb3JtRWRnZVBvaW50NEQ7Cgp0eXBl
ZGVmIHVuaW9uIHsKICAgICAgICBkZENvb3JkMkQgKnAyRHB0OwogICAgICAgIGRkQ29vcmQzRCAq
cDNEcHQ7CiAgICAgICAgZGRDb29yZDJETCAqcDJETHB0OwogICAgICAgIGRkQ29vcmQzREwgKnAz
RExwdDsKICAgICAgICBkZENvb3JkMkRTICpwMkRTcHQ7CiAgICAgICAgZGRDb29yZDNEUyAqcDNE
U3B0OwogICAgICAgIGRkSW5kZXhlZENvbG91ciAqcEluZGV4Q2xyOwogICAgICAgIGRkUmdiOENv
bG91ciAqcFJnYjhDbHI7CiAgICAgICAgZGRSZ2IxNkNvbG91ciAqcFJnYjE2Q2xyOwogICAgICAg
IGRkUmdiRmxvYXRDb2xvdXIgKnBSZ2JGbG9hdENscjsKICAgICAgICBkZEhzdkNvbG91ciAqcEhz
dkNscjsKICAgICAgICBkZEhsc0NvbG91ciAqcEhsc0NscjsKICAgICAgICBkZENpZUNvbG91ciAq
cENpZUNscjsKICAgICAgICBkZEluZGV4UG9pbnQgKnBJbmRleHB0OwogICAgICAgIGRkUmdiOFBv
aW50ICpwUmdiOHB0OwogICAgICAgIGRkUmdiMTZQb2ludCAqcFJnYjE2cHQ7CiAgICAgICAgZGRS
Z2JGbG9hdFBvaW50ICpwUmdiRmxvYXRwdDsKICAgICAgICBkZEhzdlBvaW50ICpwSHN2cHQ7CiAg
ICAgICAgZGRIbHNQb2ludCAqcEhsc3B0OwogICAgICAgIGRkQ2llUG9pbnQgKnBDaWVwdDsKICAg
ICAgICBkZFZlY3RvcjNEICpwTm9ybWFsOwogICAgICAgIGRkTm9ybWFsUG9pbnQgKnBOcHQ7CiAg
ICAgICAgZGRVTE9ORyAqcEVkZ2U7CiAgICAgICAgZGRFZGdlUG9pbnQgKnBFcHQ7CiAgICAgICAg
ZGRJbmRleE5vcm1hbFBvaW50ICpwSW5kZXhOcHQ7CiAgICAgICAgZGRSZ2I4Tm9ybWFsUG9pbnQg
KnBSZ2I4TnB0OwogICAgICAgIGRkUmdiMTZOb3JtYWxQb2ludCAqcFJnYjE2TnB0OwogICAgICAg
IGRkUmdiRmxvYXROb3JtYWxQb2ludCAqcFJnYkZsb2F0TnB0OwogICAgICAgIGRkSHN2Tm9ybWFs
UG9pbnQgKnBIc3ZOcHQ7CiAgICAgICAgZGRIbHNOb3JtYWxQb2ludCAqcEhsc05wdDsKICAgICAg
ICBkZENpZU5vcm1hbFBvaW50ICpwQ2llTnB0OwogICAgICAgIGRkSW5kZXhFZGdlUG9pbnQgKnBJ
bmRleEVwdDsKICAgICAgICBkZFJnYjhFZGdlUG9pbnQgKnBSZ2I4RXB0OwogICAgICAgIGRkUmdi
MTZFZGdlUG9pbnQgKnBSZ2IxNkVwdDsKICAgICAgICBkZFJnYkZsb2F0RWRnZVBvaW50ICpwUmdi
RmxvYXRFcHQ7CiAgICAgICAgZGRIc3ZFZGdlUG9pbnQgKnBIc3ZFcHQ7CiAgICAgICAgZGRIbHNF
ZGdlUG9pbnQgKnBIbHNFcHQ7CiAgICAgICAgZGRDaWVFZGdlUG9pbnQgKnBDaWVFcHQ7CiAgICAg
ICAgZGROb3JtRWRnZVBvaW50ICpwTkVwdDsKICAgICAgICBkZEluZGV4Tm9ybUVkZ2VQb2ludCAq
cEluZGV4TkVwdDsKICAgICAgICBkZFJnYjhOb3JtRWRnZVBvaW50ICpwUmdiOE5FcHQ7CiAgICAg
ICAgZGRSZ2IxNk5vcm1FZGdlUG9pbnQgKnBSZ2IxNk5FcHQ7CiAgICAgICAgZGRSZ2JGbG9hdE5v
cm1FZGdlUG9pbnQgKnBSZ2JGbG9hdE5FcHQ7CiAgICAgICAgZGRIc3ZOb3JtRWRnZVBvaW50ICpw
SHN2TkVwdDsKICAgICAgICBkZEhsc05vcm1FZGdlUG9pbnQgKnBIbHNORXB0OwogICAgICAgIGRk
Q2llTm9ybUVkZ2VQb2ludCAqcENpZU5FcHQ7CiAgICAgICAgZGRDb29yZDREICpwNERwdDsKICAg
ICAgICBkZEluZGV4UG9pbnQ0RCAqcEluZGV4cHQ0RDsKICAgICAgICBkZFJnYjhQb2ludDREICpw
UmdiOHB0NEQ7CiAgICAgICAgZGRSZ2IxNlBvaW50NEQgKnBSZ2IxNnB0NEQ7CiAgICAgICAgZGRS
Z2JGbG9hdFBvaW50NEQgKnBSZ2JGbG9hdHB0NEQ7CiAgICAgICAgZGRIc3ZQb2ludDREICpwSHN2
cHQ0RDsKICAgICAgICBkZEhsc1BvaW50NEQgKnBIbHNwdDREOwogICAgICAgIGRkQ2llUG9pbnQ0
RCAqcENpZXB0NEQ7CiAgICAgICAgZGROb3JtYWxQb2ludDREICpwTnB0NEQ7CiAgICAgICAgZGRF
ZGdlUG9pbnQ0RCAqcEVwdDREOwogICAgICAgIGRkSW5kZXhOb3JtYWxQb2ludDREICpwSW5kZXhO
cHQ0RDsKICAgICAgICBkZFJnYjhOb3JtYWxQb2ludDREICpwUmdiOE5wdDREOwogICAgICAgIGRk
UmdiMTZOb3JtYWxQb2ludDREICpwUmdiMTZOcHQ0RDsKICAgICAgICBkZFJnYkZsb2F0Tm9ybWFs
UG9pbnQ0RCAqcFJnYkZsb2F0TnB0NEQ7CiAgICAgICAgZGRIc3ZOb3JtYWxQb2ludDREICpwSHN2
TnB0NEQ7CiAgICAgICAgZGRIbHNOb3JtYWxQb2ludDREICpwSGxzTnB0NEQ7CiAgICAgICAgZGRD
aWVOb3JtYWxQb2ludDREICpwQ2llTnB0NEQ7CiAgICAgICAgZGRJbmRleEVkZ2VQb2ludDREICpw
SW5kZXhFcHQ0RDsKICAgICAgICBkZFJnYjhFZGdlUG9pbnQ0RCAqcFJnYjhFcHQ0RDsKICAgICAg
ICBkZFJnYjE2RWRnZVBvaW50NEQgKnBSZ2IxNkVwdDREOwogICAgICAgIGRkUmdiRmxvYXRFZGdl
UG9pbnQ0RCAqcFJnYkZsb2F0RXB0NEQ7CiAgICAgICAgZGRIc3ZFZGdlUG9pbnQ0RCAqcEhzdkVw
dDREOwogICAgICAgIGRkSGxzRWRnZVBvaW50NEQgKnBIbHNFcHQ0RDsKICAgICAgICBkZENpZUVk
Z2VQb2ludDREICpwQ2llRXB0NEQ7CiAgICAgICAgZGROb3JtRWRnZVBvaW50NEQgKnBORXB0NEQ7
CiAgICAgICAgZGRJbmRleE5vcm1FZGdlUG9pbnQ0RCAqcEluZGV4TkVwdDREOwogICAgICAgIGRk
UmdiOE5vcm1FZGdlUG9pbnQ0RCAqcFJnYjhORXB0NEQ7CiAgICAgICAgZGRSZ2IxNk5vcm1FZGdl
UG9pbnQ0RCAqcFJnYjE2TkVwdDREOwogICAgICAgIGRkUmdiRmxvYXROb3JtRWRnZVBvaW50NEQg
KnBSZ2JGbG9hdE5FcHQ0RDsKICAgICAgICBkZEhzdk5vcm1FZGdlUG9pbnQ0RCAqcEhzdk5FcHQ0
RDsKICAgICAgICBkZEhsc05vcm1FZGdlUG9pbnQ0RCAqcEhsc05FcHQ0RDsKICAgICAgICBkZENp
ZU5vcm1FZGdlUG9pbnQ0RCAqcENpZU5FcHQ0RDsKICAgICAgICBjaGFyICpwdHI7Cn0gZGRQb2lu
dFVuaW9uOwoKCgoKCgoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkVUxPTkcgbnVtUG9pbnRz
OwogICAgICAgIGRkVUxPTkcgbWF4RGF0YTsKICAgICAgICBkZFBvaW50VW5pb24gcHRzOwp9IGxp
c3RvZmRkUG9pbnQ7CgoKCgoKCgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRVTE9ORyBudW1Q
b2ludHM7CiAgICAgICAgZGRVTE9ORyBtYXhEYXRhOwogICAgICAgIGRkQ29vcmQyRCAqcHRzOwp9
IE1hcmtlcmxpc3RvZmRkUG9pbnQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRVU0hPUlQg
b3JkZXI7CiAgICAgICAgZGRGTE9BVCB1TWluOwogICAgICAgIGRkRkxPQVQgdU1heDsKICAgICAg
ICBkZFVMT05HIG51bUtub3RzOwogICAgICAgIGRkRkxPQVQgKnBLbm90czsKICAgICAgICBsaXN0
b2ZkZFBvaW50IHBvaW50czsKfSBkZE51cmJDdXJ2ZTsKCnR5cGVkZWYgZW51bSB7CiAgICAgICAg
RERfRkFDRVRfTk9ORT0wLAogICAgICAgIEREX0ZBQ0VUX0lOREVYPTEsCiAgICAgICAgRERfRkFD
RVRfUkdCOD0yLAogICAgICAgIEREX0ZBQ0VUX1JHQjE2PTMsCiAgICAgICAgRERfRkFDRVRfUkdC
RkxPQVQ9NCwKICAgICAgICBERF9GQUNFVF9IU1Y9NSwKICAgICAgICBERF9GQUNFVF9ITFM9NiwK
ICAgICAgICBERF9GQUNFVF9DSUU9NywKICAgICAgICBERF9GQUNFVF9OT1JNPTgsCiAgICAgICAg
RERfRkFDRVRfSU5ERVhfTk9STT05LAogICAgICAgIEREX0ZBQ0VUX1JHQjhfTk9STT0xMCwKICAg
ICAgICBERF9GQUNFVF9SR0IxNl9OT1JNPTExLAogICAgICAgIEREX0ZBQ0VUX1JHQkZMT0FUX05P
Uk09MTIsCiAgICAgICAgRERfRkFDRVRfSFNWX05PUk09MTMsCiAgICAgICAgRERfRkFDRVRfSExT
X05PUk09MTQsCiAgICAgICAgRERfRkFDRVRfQ0lFX05PUk09MTUKfSBkZEZhY2V0VHlwZTsKIyA5
NzMgIi4uLy4uLy4uL2luY2x1ZGUvZGRwZXgzLmgiCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBk
ZEluZGV4ZWRDb2xvdXIgY29sb3VyOwogICAgICAgIGRkVmVjdG9yM0Qgbm9ybWFsOwp9IGRkSW5k
ZXhOb3JtYWw7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRSZ2I4Q29sb3VyIGNvbG91cjsK
ICAgICAgICBkZFZlY3RvcjNEIG5vcm1hbDsKfSBkZFJnYjhOb3JtYWw7Cgp0eXBlZGVmIHN0cnVj
dCB7CiAgICAgICAgZGRSZ2IxNkNvbG91ciBjb2xvdXI7CiAgICAgICAgZGRWZWN0b3IzRCBub3Jt
YWw7Cn0gZGRSZ2IxNk5vcm1hbDsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkZFJnYkZsb2F0
Q29sb3VyIGNvbG91cjsKICAgICAgICBkZFZlY3RvcjNEIG5vcm1hbDsKfSBkZFJnYkZsb2F0Tm9y
bWFsOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkSHN2Q29sb3VyIGNvbG91cjsKICAgICAg
ICBkZFZlY3RvcjNEIG5vcm1hbDsKfSBkZEhzdk5vcm1hbDsKCnR5cGVkZWYgc3RydWN0IHsKICAg
ICAgICBkZEhsc0NvbG91ciBjb2xvdXI7CiAgICAgICAgZGRWZWN0b3IzRCBub3JtYWw7Cn0gZGRI
bHNOb3JtYWw7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRDaWVDb2xvdXIgY29sb3VyOwog
ICAgICAgIGRkVmVjdG9yM0Qgbm9ybWFsOwp9IGRkQ2llTm9ybWFsOwoKdHlwZWRlZiB1bmlvbiB7
CiAgICAgICAgZGRQb2ludGVyIHBOb0ZhY2V0OwogICAgICAgIGRkSW5kZXhlZENvbG91ciAqcEZh
Y2V0SW5kZXg7CiAgICAgICAgZGRSZ2I4Q29sb3VyICpwRmFjZXRSZ2I4OwogICAgICAgIGRkUmdi
MTZDb2xvdXIgKnBGYWNldFJnYjE2OwogICAgICAgIGRkUmdiRmxvYXRDb2xvdXIgKnBGYWNldFJn
YkZsb2F0OwogICAgICAgIGRkSHN2Q29sb3VyICpwRmFjZXRIc3Y7CiAgICAgICAgZGRIbHNDb2xv
dXIgKnBGYWNldEhsczsKICAgICAgICBkZENpZUNvbG91ciAqcEZhY2V0Q2llOwogICAgICAgIGRk
VmVjdG9yM0QgKnBGYWNldE47CiAgICAgICAgZGRJbmRleE5vcm1hbCAqcEZhY2V0SW5kZXhOOwog
ICAgICAgIGRkUmdiOE5vcm1hbCAqcEZhY2V0UmdiOE47CiAgICAgICAgZGRSZ2IxNk5vcm1hbCAq
cEZhY2V0UmdiMTZOOwogICAgICAgIGRkUmdiRmxvYXROb3JtYWwgKnBGYWNldFJnYkZsb2F0TjsK
ICAgICAgICBkZEhzdk5vcm1hbCAqcEZhY2V0SHN2TjsKICAgICAgICBkZEhsc05vcm1hbCAqcEZh
Y2V0SGxzTjsKICAgICAgICBkZENpZU5vcm1hbCAqcEZhY2V0Q2llTjsKfSBkZEZhY2V0VW5pb247
Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRGYWNldFR5cGUgdHlwZTsKICAgICAgICBkZFVM
T05HIG51bUZhY2V0czsKICAgICAgICBkZFVMT05HIG1heERhdGE7CiAgICAgICAgZGRGYWNldFVu
aW9uIGZhY2V0czsKfSBsaXN0b2ZkZEZhY2V0OwoKdHlwZWRlZiBlbnVtIHsKICAgICAgICBERF9W
RVJURVg9MCwKICAgICAgICBERF9WRVJURVhfRURHRT0xCn0gZGRWZXJ0SW5kZXhUeXBlOwoKdHlw
ZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkVVNIT1JUIGluZGV4OwogICAgICAgIGRkVUxPTkcgZWRn
ZTsKfSBkZFZlcnRJbmRleEVkZ2U7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRWZXJ0SW5k
ZXhUeXBlIHR5cGU7CiAgICAgICAgZGRVTE9ORyBudW1JbmRleDsKICAgICAgICB1bmlvbiB7CiAg
ICAgICAgICAgICAgICBkZFVTSE9SVCAqcFZlcnRJbmRleDsKICAgICAgICAgICAgICAgIGRkVmVy
dEluZGV4RWRnZSAqcFZlcnRJbmRleEU7CiAgICAgICAgfSBpbmRleDsKfSBsaXN0b2ZkZEluZGV4
OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkVVNIT1JUIHVPcmRlcjsKICAgICAgICBkZFVT
SE9SVCB2T3JkZXI7CiAgICAgICAgZGRGTE9BVCB1TWluOwogICAgICAgIGRkRkxPQVQgdU1heDsK
ICAgICAgICBkZEZMT0FUIHZNaW47CiAgICAgICAgZGRGTE9BVCB2TWF4OwogICAgICAgIGRkRkxP
QVQgbXB0czsKICAgICAgICBkZEZMT0FUIG5wdHM7CiAgICAgICAgZGRVTE9ORyBudW1VS25vdHM7
CiAgICAgICAgZGRGTE9BVCAqcFVLbm90OwogICAgICAgIGRkVUxPTkcgbnVtVktub3RzOwogICAg
ICAgIGRkRkxPQVQgKnBWS25vdDsKICAgICAgICBsaXN0b2ZkZFBvaW50IHBvaW50czsKfSBkZE51
cmJTdXJmYWNlOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkQllURSB2aXNpYmlsaXR5Owog
ICAgICAgIGRkVVNIT1JUIG9yZGVyOwogICAgICAgIGRkQ3VydmVBcHByb3ggY3VydmVBcHByb3g7
CiAgICAgICAgZGRGTE9BVCB1TWluOwogICAgICAgIGRkRkxPQVQgdU1heDsKICAgICAgICBkZFVM
T05HIG51bUtub3RzOwogICAgICAgIGRkRkxPQVQgKnBLbm90czsKICAgICAgICBkZFBvaW50VHlw
ZSBwdHR5cGU7CiAgICAgICAgbGlzdG9mZGRQb2ludCBwb2ludHM7Cn0gZGRUcmltQ3VydmU7Cgp0
eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRVTE9ORyBjb3VudDsKICAgICAgICBkZFRyaW1DdXJ2
ZSAqcFRDOwp9IGxpc3RvZlRyaW1DdXJ2ZTsKCgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRT
SE9SVCBjb2xvdXJUeXBlOwogICAgICAgIHVuaW9uIHsKICAgICAgICAgICAgICAgIGRkSW5kZXhl
ZENvbG91ciAqcEluZGV4OwogICAgICAgICAgICAgICAgZGRSZ2I4Q29sb3VyICpwUmdiODsKICAg
ICAgICAgICAgICAgIGRkUmdiMTZDb2xvdXIgKnBSZ2IxNjsKICAgICAgICAgICAgICAgIGRkUmdi
RmxvYXRDb2xvdXIgKnBSZ2JGbG9hdDsKICAgICAgICAgICAgICAgIGRkSHN2Q29sb3VyICpwSHN2
OwogICAgICAgICAgICAgICAgZGRIbHNDb2xvdXIgKnBIbHM7CiAgICAgICAgICAgICAgICBkZENp
ZUNvbG91ciAqcENpZTsKICAgICAgICB9IGNvbG91cjsKfSBsaXN0b2ZDb2xvdXI7CiMgNTYgIi4u
L2luY2x1ZGUvbWlSZW5kZXIuaCIgMgojIDEgIi4uLy4uLy4uL2luY2x1ZGUvZGRwZXg0LmgiIDEK
IyA1NyAiLi4vLi4vLi4vaW5jbHVkZS9kZHBleDQuaCIKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAg
IERyYXdhYmxlUHRyIHBEcmF3YWJsZTsKICAgICAgICBEcmF3YWJsZSBkcmF3YWJsZUlkOwogICAg
ICAgIGRpTFVUSGFuZGxlIHBNYXJrZXJMVVQ7CiAgICAgICAgZGlMVVRIYW5kbGUgcFRleHRMVVQ7
CiAgICAgICAgZGlMVVRIYW5kbGUgcExpbmVMVVQ7CiAgICAgICAgZGlMVVRIYW5kbGUgcEludExV
VDsKICAgICAgICBkaUxVVEhhbmRsZSBwRWRnZUxVVDsKICAgICAgICBkaUxVVEhhbmRsZSBwQ29s
b3VyTFVUOwogICAgICAgIGRpTFVUSGFuZGxlIHBEZXB0aEN1ZUxVVDsKICAgICAgICBkaUxVVEhh
bmRsZSBwTGlnaHRMVVQ7CiAgICAgICAgZGlMVVRIYW5kbGUgcENvbG91ckFwcExVVDsKICAgICAg
ICBkaUxVVEhhbmRsZSBwUGF0dGVybkxVVDsKICAgICAgICBkaUxVVEhhbmRsZSBwRm9udExVVDsK
ICAgICAgICBkaU5TSGFuZGxlIHBIaWdoSW5jbFNldDsKICAgICAgICBkaU5TSGFuZGxlIHBIaWdo
RXhjbFNldDsKICAgICAgICBkaU5TSGFuZGxlIHBJbnZpc0luY2xTZXQ7CiAgICAgICAgZGlOU0hh
bmRsZSBwSW52aXNFeGNsU2V0OwogICAgICAgIGRkRW51bVR5cGVJbmRleCBidWZmZXJNb2RlOwp9
IGRkV2tzSW5pdDsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkZEJZVEUgdmlld1JlcDsKICAg
ICAgICBkZEJZVEUgbWFya2VyQnVuZGxlOwogICAgICAgIGRkQllURSB0ZXh0QnVuZGxlOwogICAg
ICAgIGRkQllURSBsaW5lQnVuZGxlOwogICAgICAgIGRkQllURSBpbnRlcmlvckJ1bmRsZTsKICAg
ICAgICBkZEJZVEUgZWRnZUJ1bmRsZTsKICAgICAgICBkZEJZVEUgY29sb3VyVGFibGU7CiAgICAg
ICAgZGRCWVRFIHBhdHRlcm5UYWJsZTsKICAgICAgICBkZEJZVEUgd2tzVHJhbnNmb3JtOwogICAg
ICAgIGRkQllURSBoaWdobGlnaHRGaWx0ZXI7CiAgICAgICAgZGRCWVRFIGludmlzRmlsdGVyOwog
ICAgICAgIGRkQllURSBobGhzck1vZGU7CiAgICAgICAgZGRCWVRFIHN0ck1vZGlmeTsKICAgICAg
ICBkZEJZVEUgcG9zdFN0cjsKICAgICAgICBkZEJZVEUgdW5wb3N0U3RyOwogICAgICAgIGRkQllU
RSBkZWxldGVTdHI7CiAgICAgICAgZGRCWVRFIHJlZk1vZGlmeTsKICAgICAgICBkZEJZVEUgYnVm
ZmVyTW9kaWZ5OwogICAgICAgIGRkQllURSBsaWdodFRhYmxlOwogICAgICAgIGRkQllURSBkZXB0
aEN1ZVRhYmxlOwogICAgICAgIGRkQllURSBjb2xvdXJBcHByb3hUYWJsZTsKfSBkZFdrc0R5bmFt
aWNzOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRpTlNIYW5kbGUgaW5jbDsKICAgICAgICBk
aU5TSGFuZGxlIGV4Y2w7Cn0gZGROU1BhaXI7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRV
TE9ORyBudW1QYWlyczsKICAgICAgICBkZFVMT05HIG1heFBhaXJzOwogICAgICAgIGRkTlNQYWly
ICpwUGFpcnM7Cn0gbGlzdG9mTlNQYWlyOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkVUxP
TkcgaWQ7CiAgICAgICAgZGRVU0hPUlQgc3RhdHVzOwogICAgICAgIGRkQ29vcmQzRCBwb3NpdGlv
bjsKICAgICAgICBkZEZMT0FUIGRpc3RhbmNlOwogICAgICAgIGRkVVNIT1JUIGNlaWxpbmc7CiAg
ICAgICAgZGRCT09MIG1vZGVsQ2xpcEZsYWc7CiAgICAgICAgbGlzdG9mT2JqICpzdGFydFBhdGg7
CiAgICAgICAgbGlzdG9mTlNQYWlyIG5vcm1hbDsKICAgICAgICBsaXN0b2ZOU1BhaXIgaW52ZXJ0
ZWQ7Cn0gZGRTQ1N0cjsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkZFRhYmxlSW5kZXggaW5k
ZXg7CiAgICAgICAgZGRVU0hPUlQgdW51c2VkOwogICAgICAgIGRkVmlld0VudHJ5IHZpZXc7Cn0g
ZGRWaWV3UmVwOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkVVNIT1JUIHdoZW5jZTsKICAg
ICAgICBkZFVTSE9SVCB1bnVzZWQ7CiAgICAgICAgZGRMT05HIG9mZnNldDsKfSBkZEVsZW1lbnRQ
b3M7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRFbGVtZW50UG9zIHBvc2l0aW9uMTsKICAg
ICAgICBkZEVsZW1lbnRQb3MgcG9zaXRpb24yOwp9IGRkRWxlbWVudFJhbmdlOwoKdHlwZWRlZiBz
dHJ1Y3QgewogICAgICAgIGRkU0hPUlQgeDsKICAgICAgICBkZFNIT1JUIHk7Cn0gZGREZXZpY2VD
b29yZDJEOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkRGV2aWNlQ29vcmQyRCBwb3NpdGlv
bjsKICAgICAgICBkZEZMT0FUIGRpc3RhbmNlOwp9IGRkUENfRENfSGl0Qm94OwoKdHlwZWRlZiBk
ZE5wY1N1YnZvbHVtZSBkZFBDX05QQ19IaXRWb2x1bWU7CiMgNTcgIi4uL2luY2x1ZGUvbWlSZW5k
ZXIuaCIgMgoKIyAxICIuLi9pbmNsdWRlL21pTlMuaCIgMQojIDU0ICIuLi9pbmNsdWRlL21pTlMu
aCIKdHlwZWRlZiBkZFVMT05HIGRkTmFtZVBpZWNlOwp0eXBlZGVmIGRkTmFtZVBpZWNlICpkZE5h
bWVQdHI7CiMgMTMwICIuLi9pbmNsdWRlL21pTlMuaCIKdHlwZWRlZiBzdHJ1Y3QgX21pTlNIZWFk
ZXIgewoKICAgICAgICBsaXN0b2ZPYmogKndrc1JlZkxpc3Q7CiAgICAgICAgbGlzdG9mT2JqICpy
ZW5kUmVmTGlzdDsKICAgICAgICBkZFVMT05HIHJlZkNvdW50OwogICAgICAgIGRkVUxPTkcgbmFt
ZUNvdW50OwogICAgICAgIGRkTmFtZVBpZWNlIG5hbWVzWyAoKDI1NSAtIDAgKzEpIC8gKHNpemVv
ZihkZE5hbWVQaWVjZSkgKiA4KSkgXTsKICAgICAgICBkZEJPT0wgZnJlZUZsYWc7Cn0gbWlOU0hl
YWRlcjsKIyA1OSAiLi4vaW5jbHVkZS9taVJlbmRlci5oIiAyCiMgMSAiLi4vLi4vLi4vaW5jbHVk
ZS9QRVhwcm90b3N0LmgiIDEKIyA1OSAiLi4vLi4vLi4vaW5jbHVkZS9QRVhwcm90b3N0LmgiCnR5
cGVkZWYgZmxvYXQgUEVYRkxPQVQ7CgoKdHlwZWRlZiBDQVJEMzIgcGV4QXNmQXR0cmlidXRlOwp0
eXBlZGVmIENBUkQ4IHBleEFzZlZhbHVlOwp0eXBlZGVmIENBUkQzMiBwZXhCaXRtYXNrOwp0eXBl
ZGVmIENBUkQxNiBwZXhCaXRtYXNrU2hvcnQ7CnR5cGVkZWYgQ0FSRDE2IHBleENvb3JkVHlwZTsK
dHlwZWRlZiBDQVJEMTYgcGV4Q29tcG9zaXRpb247CnR5cGVkZWYgQ0FSRDE2IHBleEN1bGxNb2Rl
Owp0eXBlZGVmIEJZVEUgcGV4RHluYW1pY1R5cGU7CnR5cGVkZWYgSU5UMTYgcGV4RW51bVR5cGVJ
bmRleDsKdHlwZWRlZiBYSUQgcGV4TG9va3VwVGFibGU7CnR5cGVkZWYgQ0FSRDMyIHBleE5hbWU7
CnR5cGVkZWYgWElEIHBleE5hbWVTZXQ7CnR5cGVkZWYgWElEIHBleFBDOwp0eXBlZGVmIFhJRCBw
ZXhGb250Owp0eXBlZGVmIFBFWEZMT0FUIHBleE1hdHJpeFs0XVs0XTsKdHlwZWRlZiBQRVhGTE9B
VCBwZXhNYXRyaXgzWDNbM11bM107CnR5cGVkZWYgWElEIHBleFBoaWdzV2tzOwp0eXBlZGVmIFhJ
RCBwZXhQaWNrTWVhc3VyZTsKdHlwZWRlZiBYSUQgcGV4UmVuZGVyZXI7CnR5cGVkZWYgWElEIHBl
eFNDOwp0eXBlZGVmIFhJRCBwZXhTdHJ1Y3R1cmU7CnR5cGVkZWYgQ0FSRDggcGV4U3dpdGNoOwp0
eXBlZGVmIENBUkQxNiBwZXhUYWJsZUluZGV4Owp0eXBlZGVmIENBUkQxNiBwZXhUYWJsZVR5cGU7
CnR5cGVkZWYgQ0FSRDE2IHBleFRleHRIQWxpZ25tZW50Owp0eXBlZGVmIENBUkQxNiBwZXhUZXh0
VkFsaWdubWVudDsKdHlwZWRlZiBDQVJEMTYgcGV4VHlwZU9yVGFibGVJbmRleDsKdHlwZWRlZiBw
ZXhFbnVtVHlwZUluZGV4IHBleENvbG91clR5cGU7CgoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FS
RDE2IGxlbmd0aCA7Cgp9IHBleFN0cmluZzsKCnR5cGVkZWYgc3RydWN0IHsKICAgIHBleFN0cnVj
dHVyZSBzaWQgOwogICAgUEVYRkxPQVQgcHJpb3JpdHk7Cn0gcGV4U3RydWN0dXJlSW5mbzsKCnR5
cGVkZWYgc3RydWN0IHsKICAgIFBFWEZMT0FUIHg7CiAgICBQRVhGTE9BVCB5Owp9IHBleFZlY3Rv
cjJEOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgUEVYRkxPQVQgeDsKICAgIFBFWEZMT0FUIHk7CiAg
ICBQRVhGTE9BVCB6Owp9IHBleFZlY3RvcjNEOwoKCgp0eXBlZGVmIHN0cnVjdCB7CiAgICBQRVhG
TE9BVCB4OwogICAgUEVYRkxPQVQgeTsKfSBwZXhDb29yZDJEOwoKdHlwZWRlZiBzdHJ1Y3Qgewog
ICAgUEVYRkxPQVQgeDsKICAgIFBFWEZMT0FUIHk7CiAgICBQRVhGTE9BVCB6Owp9IHBleENvb3Jk
M0Q7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBQRVhGTE9BVCB4OwogICAgUEVYRkxPQVQgeTsKICAg
IFBFWEZMT0FUIHo7CiAgICBQRVhGTE9BVCB3Owp9IHBleENvb3JkNEQ7CgoKCnR5cGVkZWYgc3Ry
dWN0IHsKICAgIFBFWEZMT0FUIHJlZDsKICAgIFBFWEZMT0FUIGdyZWVuOwogICAgUEVYRkxPQVQg
Ymx1ZTsKfSBwZXhSZ2JGbG9hdENvbG91cjsKCnR5cGVkZWYgc3RydWN0IHsKICAgIFBFWEZMT0FU
IGh1ZTsKICAgIFBFWEZMT0FUIHNhdHVyYXRpb247CiAgICBQRVhGTE9BVCB2YWx1ZTsKfSBwZXhI
c3ZDb2xvdXI7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBQRVhGTE9BVCBodWU7CiAgICBQRVhGTE9B
VCBsaWdodG5lc3M7CiAgICBQRVhGTE9BVCBzYXR1cmF0aW9uOwp9IHBleEhsc0NvbG91cjsKCnR5
cGVkZWYgc3RydWN0IHsKICAgIFBFWEZMT0FUIHg7CiAgICBQRVhGTE9BVCB5OwogICAgUEVYRkxP
QVQgejsKfSBwZXhDaWVDb2xvdXI7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZWQ7CiAg
ICBDQVJEOCBncmVlbjsKICAgIENBUkQ4IGJsdWU7CiAgICBDQVJEOCBwYWQ7Cn0gcGV4UmdiOENv
bG91cjsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQxNiByZWQgOwogICAgQ0FSRDE2IGdyZWVu
IDsKICAgIENBUkQxNiBibHVlIDsKICAgIENBUkQxNiBwYWQgOwp9IHBleFJnYjE2Q29sb3VyOwoK
dHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4VGFibGVJbmRleCBpbmRleCA7CiAgICBDQVJEMTYgcGFk
IDsKfSBwZXhJbmRleGVkQ29sb3VyOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgdW5pb24gewogICAg
ICAgIHBleEluZGV4ZWRDb2xvdXIgaW5kZXhlZDsKICAgICAgICBwZXhSZ2I4Q29sb3VyIHJnYjg7
CiAgICAgICAgcGV4UmdiMTZDb2xvdXIgcmdiMTY7CiAgICAgICAgcGV4UmdiRmxvYXRDb2xvdXIg
cmdiRmxvYXQ7CiAgICAgICAgcGV4SHN2Q29sb3VyIGhzdkZsb2F0OwogICAgICAgIHBleEhsc0Nv
bG91ciBobHNGbG9hdDsKICAgICAgICBwZXhDaWVDb2xvdXIgY2llRmxvYXQ7CiAgICB9IGZvcm1h
dDsKfSBwZXhDb2xvdXI7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBQRVhGTE9BVCBmaXJzdDsKICAg
IFBFWEZMT0FUIHNlY29uZDsKICAgIFBFWEZMT0FUIHRoaXJkOwp9IHBleEZsb2F0Q29sb3VyOwoK
dHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4Q29sb3VyVHlwZSBjb2xvdXJUeXBlIDsKICAgIENBUkQx
NiB1bnVzZWQgOwoKfSBwZXhDb2xvdXJTcGVjaWZpZXI7CgoKdHlwZWRlZiBzdHJ1Y3QgewogICAg
cGV4RW51bVR5cGVJbmRleCBhcHByb3hNZXRob2QgOwogICAgQ0FSRDE2IHVudXNlZCA7CiAgICBQ
RVhGTE9BVCB0b2xlcmFuY2U7Cn0gcGV4Q3VydmVBcHByb3g7Cgp0eXBlZGVmIHN0cnVjdCB7CiAg
ICBJTlQxNiB4IDsKICAgIElOVDE2IHkgOwogICAgUEVYRkxPQVQgejsKfSBwZXhEZXZpY2VDb29y
ZDsKCnR5cGVkZWYgc3RydWN0IHsKICAgIElOVDE2IHggOwogICAgSU5UMTYgeSA7Cn0gcGV4RGV2
aWNlQ29vcmQyRDsKCnR5cGVkZWYgc3RydWN0IHsKICAgIElOVDE2IHhtaW4gOwogICAgSU5UMTYg
eW1pbiA7CiAgICBJTlQxNiB4bWF4IDsKICAgIElOVDE2IHltYXggOwp9IHBleERldmljZVJlY3Q7
Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEMTYgZWxlbWVudFR5cGUgOwogICAgQ0FSRDE2IGxl
bmd0aCA7Cn0gcGV4RWxlbWVudEluZm87Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEMTYgd2hl
bmNlIDsKICAgIENBUkQxNiB1bnVzZWQgOwogICAgSU5UMzIgb2Zmc2V0IDsKfSBwZXhFbGVtZW50
UG9zOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4RWxlbWVudFBvcyBwb3NpdGlvbjE7CiAgICBw
ZXhFbGVtZW50UG9zIHBvc2l0aW9uMjsKfSBwZXhFbGVtZW50UmFuZ2U7Cgp0eXBlZGVmIHN0cnVj
dCB7CiAgICBwZXhTdHJ1Y3R1cmUgc3RydWN0dXJlIDsKICAgIENBUkQzMiBvZmZzZXQgOwp9IHBl
eEVsZW1lbnRSZWY7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgcGV4Q29vcmQyRCBsb3dlckxl
ZnQ7CiAgICAgICAgcGV4Q29vcmQyRCB1cHBlclJpZ2h0OwogICAgICAgIHBleENvb3JkMkQgY29u
Y2F0cG9pbnQ7Cn0gcGV4RXh0ZW50SW5mbzsKCnR5cGVkZWYgc3RydWN0IHsKICAgIHBleEVudW1U
eXBlSW5kZXggaW5kZXggOwogICAgcGV4U3RyaW5nIGRlc2NyaXB0b3I7Cn0gcGV4RW51bVR5cGVE
ZXNjOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4Q29vcmQzRCBwb2ludDsKICAgIHBleFZlY3Rv
cjNEIHZlY3RvcjsKfSBwZXhIYWxmU3BhY2U7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBwZXhOYW1l
U2V0IGluY2w7CiAgICBwZXhOYW1lU2V0IGV4Y2w7Cn0gcGV4TmFtZVNldFBhaXI7Cgp0eXBlZGVm
IHN0cnVjdCB7CiAgICBwZXhDb29yZDJEIHBvaW50OwogICAgcGV4VmVjdG9yMkQgdmVjdG9yOwp9
IHBleEhhbGZTcGFjZTJEOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDE2IGNvbXBvc2l0aW9u
IDsKICAgIENBUkQxNiB1bnVzZWQgOwogICAgcGV4TWF0cml4IG1hdHJpeDsKfSBwZXhMb2NhbFRy
YW5zZm9ybTNERGF0YTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQxNiBjb21wb3NpdGlvbiA7
CiAgICBDQVJEMTYgdW51c2VkIDsKICAgIHBleE1hdHJpeDNYMyBtYXRyaXg7Cn0gcGV4TG9jYWxU
cmFuc2Zvcm0yRERhdGE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBwZXhDb29yZDNEIG1pbnZhbDsK
ICAgIHBleENvb3JkM0QgbWF4dmFsOwp9IHBleE5wY1N1YnZvbHVtZTsKIyAzMDAgIi4uLy4uLy4u
L2luY2x1ZGUvUEVYcHJvdG9zdC5oIgp0eXBlZGVmIHN0cnVjdCB7CiAgICBwZXhTdHJ1Y3R1cmUg
c2lkIDsKICAgIENBUkQzMiBvZmZzZXQgOwogICAgQ0FSRDMyIHBpY2tpZCA7Cn0gcGV4UGlja0Vs
ZW1lbnRSZWY7CgoKCgoKCgp0eXBlZGVmIHBleFBpY2tFbGVtZW50UmVmIHBleFBpY2tQYXRoOwoK
dHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4VGV4dFZBbGlnbm1lbnQgdmVydGljYWwgOwogICAgcGV4
VGV4dEhBbGlnbm1lbnQgaG9yaXpvbnRhbCA7Cn0gcGV4VGV4dEFsaWdubWVudERhdGE7Cgp0eXBl
ZGVmIHN0cnVjdCB7CiAgICBwZXhTd2l0Y2ggdmlzaWJpbGl0eTsKICAgIENBUkQ4IHVudXNlZDsK
ICAgIENBUkQxNiBvcmRlciA7CiAgICBwZXhDb29yZFR5cGUgdHlwZSA7CiAgICBJTlQxNiBhcHBy
b3hNZXRob2QgOwogICAgUEVYRkxPQVQgdG9sZXJhbmNlOwogICAgUEVYRkxPQVQgdE1pbjsKICAg
IFBFWEZMT0FUIHRNYXg7CiAgICBDQVJEMzIgbnVtS25vdHMgOwogICAgQ0FSRDMyIG51bUNvb3Jk
IDsKCgp9IHBleFRyaW1DdXJ2ZTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IGRlcHRoOwog
ICAgQ0FSRDggdW51c2VkOwogICAgQ0FSRDE2IHR5cGUgOwogICAgQ0FSRDMyIHZpc3VhbElEIDsK
fSBwZXhSZW5kZXJlclRhcmdldDsKCnR5cGVkZWYgc3RydWN0IHsKICAgIHBleEVudW1UeXBlSW5k
ZXggcGlja1R5cGUgOwogICAgQ0FSRDE2IHVudXNlZDsKCn0gcGV4UGlja1JlY29yZDsKCnR5cGVk
ZWYgc3RydWN0IHsKICAgIFBFWEZMT0FUIGFtYmllbnQ7CiAgICBQRVhGTE9BVCBkaWZmdXNlOwog
ICAgUEVYRkxPQVQgc3BlY3VsYXI7CiAgICBQRVhGTE9BVCBzcGVjdWxhckNvbmM7CiAgICBQRVhG
TE9BVCB0cmFuc21pc3Npb247CiAgICBwZXhDb2xvdXJTcGVjaWZpZXIgc3BlY3VsYXJDb2xvdXI7
Cgp9IHBleFJlZmxlY3Rpb25BdHRyOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4RW51bVR5cGVJ
bmRleCBhcHByb3hNZXRob2QgOwogICAgQ0FSRDE2IHVudXNlZCA7CiAgICBQRVhGTE9BVCB1VG9s
ZXJhbmNlOwogICAgUEVYRkxPQVQgdlRvbGVyYW5jZTsKfSBwZXhTdXJmYWNlQXBwcm94OwoKCnR5
cGVkZWYgc3RydWN0IHsKICAgIHBleENvb3JkM0QgcG9pbnQ7Cgp9IHBleFZlcnRleDsKCgp0eXBl
ZGVmIHN0cnVjdCB7CiAgICBwZXhEZXZpY2VDb29yZCBtaW52YWw7CiAgICBwZXhEZXZpY2VDb29y
ZCBtYXh2YWw7CiAgICBwZXhTd2l0Y2ggdXNlRHJhd2FibGU7CiAgICBCWVRFIHBhZFszXTsKfSBw
ZXhWaWV3cG9ydDsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQxNiBjbGlwRmxhZ3MgOwogICAg
Q0FSRDE2IHVudXNlZCA7CiAgICBwZXhOcGNTdWJ2b2x1bWUgY2xpcExpbWl0czsKICAgIHBleE1h
dHJpeCBvcmllbnRhdGlvbjsKICAgIHBleE1hdHJpeCBtYXBwaW5nOwp9IHBleFZpZXdFbnRyeTsK
CnR5cGVkZWYgc3RydWN0IHsKICAgIHBleFRhYmxlSW5kZXggaW5kZXggOwogICAgQ0FSRDE2IHVu
dXNlZCA7CiAgICBwZXhWaWV3RW50cnkgdmlldzsKfSBwZXhWaWV3UmVwOwoKCgoKCnR5cGVkZWYg
c3RydWN0IHsKICAgIENBUkQxNiBkZWZpbmFibGVFbnRyaWVzIDsKICAgIENBUkQxNiBudW1QcmVk
ZWZpbmVkIDsKICAgIENBUkQxNiBwcmVkZWZpbmVkTWluIDsKICAgIENBUkQxNiBwcmVkZWZpbmVk
TWF4IDsKfSBwZXhUYWJsZUluZm87Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBwZXhFbnVtVHlwZUlu
ZGV4IGxpbmVUeXBlIDsKICAgIHBleEVudW1UeXBlSW5kZXggcG9seWxpbmVJbnRlcnAgOwogICAg
cGV4Q3VydmVBcHByb3ggY3VydmVBcHByb3g7CiAgICBQRVhGTE9BVCBsaW5lV2lkdGg7CiAgICBw
ZXhDb2xvdXJTcGVjaWZpZXIgbGluZUNvbG91cjsKCn0gcGV4TGluZUJ1bmRsZUVudHJ5OwoKdHlw
ZWRlZiBzdHJ1Y3QgewogICAgcGV4RW51bVR5cGVJbmRleCBtYXJrZXJUeXBlIDsKICAgIElOVDE2
IHVudXNlZCA7CiAgICBQRVhGTE9BVCBtYXJrZXJTY2FsZTsKICAgIHBleENvbG91clNwZWNpZmll
ciBtYXJrZXJDb2xvdXI7Cgp9IHBleE1hcmtlckJ1bmRsZUVudHJ5OwoKdHlwZWRlZiBzdHJ1Y3Qg
ewogICAgQ0FSRDE2IHRleHRGb250SW5kZXggOwogICAgQ0FSRDE2IHRleHRQcmVjaXNpb24gOwog
ICAgUEVYRkxPQVQgY2hhckV4cGFuc2lvbjsKICAgIFBFWEZMT0FUIGNoYXJTcGFjaW5nOwogICAg
cGV4Q29sb3VyU3BlY2lmaWVyIHRleHRDb2xvdXI7Cgp9IHBleFRleHRCdW5kbGVFbnRyeTsKCgoK
CgoKCnR5cGVkZWYgc3RydWN0IHsKICAgIHBleEVudW1UeXBlSW5kZXggaW50ZXJpb3JTdHlsZSA7
CiAgICBJTlQxNiBpbnRlcmlvclN0eWxlSW5kZXggOwogICAgcGV4RW51bVR5cGVJbmRleCByZWZs
ZWN0aW9uTW9kZWwgOwogICAgcGV4RW51bVR5cGVJbmRleCBzdXJmYWNlSW50ZXJwIDsKICAgIHBl
eEVudW1UeXBlSW5kZXggYmZJbnRlcmlvclN0eWxlIDsKICAgIElOVDE2IGJmSW50ZXJpb3JTdHls
ZUluZGV4IDsKICAgIHBleEVudW1UeXBlSW5kZXggYmZSZWZsZWN0aW9uTW9kZWwgOwogICAgcGV4
RW51bVR5cGVJbmRleCBiZlN1cmZhY2VJbnRlcnAgOwogICAgcGV4U3VyZmFjZUFwcHJveCBzdXJm
YWNlQXBwcm94OwoKCgoKfSBwZXhJbnRlcmlvckJ1bmRsZUVudHJ5OwoKdHlwZWRlZiBzdHJ1Y3Qg
ewogICAgcGV4U3dpdGNoIGVkZ2VzOwogICAgQ0FSRDggdW51c2VkOwogICAgcGV4RW51bVR5cGVJ
bmRleCBlZGdlVHlwZSA7CiAgICBQRVhGTE9BVCBlZGdlV2lkdGg7CiAgICBwZXhDb2xvdXJTcGVj
aWZpZXIgZWRnZUNvbG91cjsKCn0gcGV4RWRnZUJ1bmRsZUVudHJ5OwoKdHlwZWRlZiBzdHJ1Y3Qg
ewogICAgcGV4Q29sb3VyVHlwZSBjb2xvdXJUeXBlIDsKICAgIENBUkQxNiBudW14IDsKICAgIENB
UkQxNiBudW15IDsKICAgIENBUkQxNiB1bnVzZWQgOwoKfSBwZXhQYXR0ZXJuRW50cnk7CgoKCgp0
eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEMzIgbnVtRm9udHMgOwoKfSBwZXhUZXh0Rm9udEVudHJ5
OwoKCgp0eXBlZGVmIHN0cnVjdCB7CiAgICBwZXhFbnVtVHlwZUluZGV4IGxpZ2h0VHlwZSA7CiAg
ICBJTlQxNiB1bnVzZWQgOwogICAgcGV4VmVjdG9yM0QgZGlyZWN0aW9uOwogICAgcGV4Q29vcmQz
RCBwb2ludDsKICAgIFBFWEZMT0FUIGNvbmNlbnRyYXRpb247CiAgICBQRVhGTE9BVCBzcHJlYWRB
bmdsZTsKICAgIFBFWEZMT0FUIGF0dGVudWF0aW9uMTsKICAgIFBFWEZMT0FUIGF0dGVudWF0aW9u
MjsKICAgIHBleENvbG91clNwZWNpZmllciBsaWdodENvbG91cjsKCn0gcGV4TGlnaHRFbnRyeTsK
CnR5cGVkZWYgc3RydWN0IHsKICAgIHBleFN3aXRjaCBtb2RlOwogICAgQ0FSRDggdW51c2VkOwog
ICAgQ0FSRDE2IHVudXNlZDIgOwogICAgUEVYRkxPQVQgZnJvbnRQbGFuZTsKICAgIFBFWEZMT0FU
IGJhY2tQbGFuZTsKICAgIFBFWEZMT0FUIGZyb250U2NhbGluZzsKICAgIFBFWEZMT0FUIGJhY2tT
Y2FsaW5nOwogICAgcGV4Q29sb3VyU3BlY2lmaWVyIGRlcHRoQ3VlQ29sb3VyOwoKfSBwZXhEZXB0
aEN1ZUVudHJ5OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgSU5UMTYgYXBwcm94VHlwZTsKICAgIElO
VDE2IGFwcHJveE1vZGVsOwogICAgQ0FSRDE2IG1heDEgOwogICAgQ0FSRDE2IG1heDIgOwogICAg
Q0FSRDE2IG1heDMgOwogICAgQ0FSRDggZGl0aGVyOwogICAgQ0FSRDggdW51c2VkOwogICAgQ0FS
RDMyIG11bHQxIDsKICAgIENBUkQzMiBtdWx0MiA7CiAgICBDQVJEMzIgbXVsdDMgOwogICAgUEVY
RkxPQVQgd2VpZ2h0MTsKICAgIFBFWEZMT0FUIHdlaWdodDI7CiAgICBQRVhGTE9BVCB3ZWlnaHQz
OwogICAgQ0FSRDMyIGJhc2VQaXhlbCA7Cn0gcGV4Q29sb3VyQXBwcm94RW50cnk7CgoKCgp0eXBl
ZGVmIHN0cnVjdCB7CiAgICBBdG9tIG5hbWUgOwogICAgQ0FSRDMyIHZhbHVlIDsKfSBwZXhGb250
UHJvcDsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQzMiBmaXJzdEdseXBoIDsKICAgIENBUkQz
MiBsYXN0R2x5cGggOwogICAgQ0FSRDMyIGRlZmF1bHRHbHlwaCA7CiAgICBwZXhTd2l0Y2ggYWxs
RXhpc3Q7CiAgICBwZXhTd2l0Y2ggc3Ryb2tlRm9udDsKICAgIENBUkQxNiB1bnVzZWQgOwogICAg
Q0FSRDMyIG51bVByb3BzIDsKCn0gcGV4Rm9udEluZm87CgoKCgp0eXBlZGVmIHN0cnVjdCB7CiAg
ICBJTlQxNiBjaGFyYWN0ZXJTZXQgOwogICAgQ0FSRDggY2hhcmFjdGVyU2V0V2lkdGg7CiAgICBD
QVJEOCBlbmNvZGluZ1N0YXRlOwogICAgQ0FSRDE2IHVudXNlZCA7CiAgICBDQVJEMTYgbnVtQ2hh
cnM7CgoKfSBwZXhNb25vRW5jb2Rpbmc7CiMgNTYxICIuLi8uLi8uLi9pbmNsdWRlL1BFWHByb3Rv
c3QuaCIKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDE2IHBsYWNlbWVudFR5cGUgOwogICAgQ0FS
RDE2IHVudXNlZCA7CiAgICBDQVJEMTYgbnVtVWN1cnZlcyA7CiAgICBDQVJEMTYgbnVtVmN1cnZl
cyA7Cn0gcGV4UFNDX0lzb3BhcmFtZXRyaWNDdXJ2ZXM7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBw
ZXhDb29yZDNEIG9yaWdpbjsKICAgIHBleFZlY3RvcjNEIGRpcmVjdGlvbjsKICAgIENBUkQxNiBu
dW1iZXJJbnRlcnNlY3Rpb25zIDsKICAgIENBUkQxNiBwYWQgOwoKfSBwZXhQU0NfTGV2ZWxDdXJ2
ZXM7CgoKCgp0eXBlZGVmIHN0cnVjdCB7CiAgICBwZXhEZXZpY2VDb29yZDJEIHBvc2l0aW9uOwog
ICAgUEVYRkxPQVQgZGlzdGFuY2U7Cn0gcGV4UERfRENfSGl0Qm94OwoKdHlwZWRlZiBwZXhOcGNT
dWJ2b2x1bWUgcGV4UERfTlBDX0hpdFZvbHVtZTsKCgoKCnR5cGVkZWYgc3RydWN0IHsKICAgIENB
UkQ4IHR5cGU7CiAgICBDQVJEOCBlcnJvckNvZGU7CiAgICBDQVJEMTYgc2VxdWVuY2VOdW1iZXIg
OwogICAgQ0FSRDMyIHJlc291cmNlSWQgOwogICAgQ0FSRDE2IG1pbm9yQ29kZSA7CiAgICBDQVJE
OCBtYWpvckNvZGU7CiAgICBDQVJEOCB1bnVzZWQ7CiAgICBDQVJEMTYgb3Bjb2RlIDsKICAgIENB
UkQxNiBudW1Db21tYW5kcyA7CiAgICBCWVRFIHBhZFsxNl07Cn0gcGV4T3V0cHV0Q29tbWFuZEVy
cm9yOwoKCgoKdHlwZWRlZiBzdHJ1Y3QgewogICAgSU5UMTYgZnBGb3JtYXQgOwogICAgQ0FSRDgg
dW51c2VkWzJdOwogICAgQ0FSRDMyIHJkciA7Cgp9IHBleEVzY2FwZVNldEVjaG9Db2xvdXJEYXRh
OwojIDYwICIuLi9pbmNsdWRlL21pUmVuZGVyLmgiIDIKIyAxICIuLi9pbmNsdWRlL21pTFVULmgi
IDEKIyA1MyAiLi4vaW5jbHVkZS9taUxVVC5oIgojIDEgIi4uL2luY2x1ZGUvbWlwZXguaCIgMQoj
IDU2ICIuLi9pbmNsdWRlL21pcGV4LmgiCiMgMSAiLi4vLi4vLi4vLi4vLi4vLi4vcHJvZ3JhbXMv
WHNlcnZlci9pbmNsdWRlL3Njcm5pbnRzdHIuaCIgMQojIDU1ICIuLi8uLi8uLi8uLi8uLi8uLi9w
cm9ncmFtcy9Yc2VydmVyL2luY2x1ZGUvc2NybmludHN0ci5oIgojIDEgIi4uLy4uLy4uLy4uLy4u
Ly4uL3Byb2dyYW1zL1hzZXJ2ZXIvaW5jbHVkZS9ic3RvcmUuaCIgMQojIDIxICIuLi8uLi8uLi8u
Li8uLi8uLi9wcm9ncmFtcy9Yc2VydmVyL2luY2x1ZGUvYnN0b3JlLmgiCiMgMSAiLi4vLi4vLi4v
Li4vLi4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL2JzdG9yZXN0ci5oIiAxCiMgMjYgIi4u
Ly4uLy4uLy4uLy4uLy4uL3Byb2dyYW1zL1hzZXJ2ZXIvaW5jbHVkZS9ic3RvcmVzdHIuaCIKdHlw
ZWRlZiB2b2lkICgqIEJhY2tpbmdTdG9yZVNhdmVBcmVhc1Byb2NQdHIpKAoKICAgICAgICBQaXht
YXBQdHIgLAogICAgICAgIFJlZ2lvblB0ciAsCiAgICAgICAgaW50ICwKICAgICAgICBpbnQgLAog
ICAgICAgIFdpbmRvd1B0cgoKKTsKCnR5cGVkZWYgdm9pZCAoKiBCYWNraW5nU3RvcmVSZXN0b3Jl
QXJlYXNQcm9jUHRyKSgKCiAgICAgICAgUGl4bWFwUHRyICwKICAgICAgICBSZWdpb25QdHIgLAog
ICAgICAgIGludCAsCiAgICAgICAgaW50ICwKICAgICAgICBXaW5kb3dQdHIKCik7Cgp0eXBlZGVm
IHZvaWQgKCogQmFja2luZ1N0b3JlU2V0Q2xpcG1hc2tSZ25Qcm9jUHRyKSgKCiAgICAgICAgR0NQ
dHIgLAogICAgICAgIFJlZ2lvblB0cgoKKTsKCnR5cGVkZWYgUGl4bWFwUHRyICgqIEJhY2tpbmdT
dG9yZUdldEltYWdlUGl4bWFwUHJvY1B0cikoCgogICAgICAgIHZvaWQKCik7Cgp0eXBlZGVmIFBp
eG1hcFB0ciAoKiBCYWNraW5nU3RvcmVHZXRTcGFuc1BpeG1hcFByb2NQdHIpKAoKICAgICAgICB2
b2lkCgopOwoKdHlwZWRlZiBzdHJ1Y3QgX0JTRnVuY3MgewoKICAgICAgICBCYWNraW5nU3RvcmVT
YXZlQXJlYXNQcm9jUHRyIFNhdmVBcmVhczsKICAgICAgICBCYWNraW5nU3RvcmVSZXN0b3JlQXJl
YXNQcm9jUHRyIFJlc3RvcmVBcmVhczsKICAgICAgICBCYWNraW5nU3RvcmVTZXRDbGlwbWFza1Jn
blByb2NQdHIgU2V0Q2xpcG1hc2tSZ247CiAgICAgICAgQmFja2luZ1N0b3JlR2V0SW1hZ2VQaXht
YXBQcm9jUHRyIEdldEltYWdlUGl4bWFwOwogICAgICAgIEJhY2tpbmdTdG9yZUdldFNwYW5zUGl4
bWFwUHJvY1B0ciBHZXRTcGFuc1BpeG1hcDsKCn0gQlNGdW5jUmVjLCAqQlNGdW5jUHRyOwojIDIy
ICIuLi8uLi8uLi8uLi8uLi8uLi9wcm9ncmFtcy9Yc2VydmVyL2luY2x1ZGUvYnN0b3JlLmgiIDIK
IyA1NiAiLi4vLi4vLi4vLi4vLi4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL3Njcm5pbnRz
dHIuaCIgMgojIDEgIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2dyYW1zL1hzZXJ2ZXIvaW5jbHVkZS9j
b2xvcm1hcC5oIiAxCiMgNzYgIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2dyYW1zL1hzZXJ2ZXIvaW5j
bHVkZS9jb2xvcm1hcC5oIgp0eXBlZGVmIENBUkQzMiBQaXhlbDsKdHlwZWRlZiBzdHJ1Y3QgX0NN
RW50cnkgKkVudHJ5UHRyOwoKdHlwZWRlZiBzdHJ1Y3QgX2NvbG9yUmVzb3VyY2UgKmNvbG9yUmVz
b3VyY2VQdHI7CgpleHRlcm4gaW50IENyZWF0ZUNvbG9ybWFwKAoKICAgIENvbG9ybWFwICwKICAg
IFNjcmVlblB0ciAsCiAgICBWaXN1YWxQdHIgLAogICAgQ29sb3JtYXBQdHIqICwKICAgIGludCAs
CiAgICBpbnQKCik7CgpleHRlcm4gaW50IEZyZWVDb2xvcm1hcCgKCiAgICBwb2ludGVyICwKICAg
IFhJRAoKKTsKCmV4dGVybiBpbnQgVGVsbExvc3RNYXAoCgogICAgV2luZG93UHRyICwKICAgIHBv
aW50ZXIKCik7CgpleHRlcm4gaW50IFRlbGxHYWluZWRNYXAoCgogICAgV2luZG93UHRyICwKICAg
IHBvaW50ZXIKCik7CgpleHRlcm4gaW50IENvcHlDb2xvcm1hcEFuZEZyZWUoCgogICAgQ29sb3Jt
YXAgLAogICAgQ29sb3JtYXBQdHIgLAogICAgaW50CgopOwoKZXh0ZXJuIGludCBBbGxvY0NvbG9y
KAoKICAgIENvbG9ybWFwUHRyICwKICAgIHVuc2lnbmVkIHNob3J0KiAsCiAgICB1bnNpZ25lZCBz
aG9ydCogLAogICAgdW5zaWduZWQgc2hvcnQqICwKICAgIFBpeGVsKiAsCiAgICBpbnQKCik7Cgpl
eHRlcm4gdm9pZCBGYWtlQWxsb2NDb2xvcigKCiAgICBDb2xvcm1hcFB0ciAsCiAgICB4Q29sb3JJ
dGVtICoKCik7CgpleHRlcm4gdm9pZCBGYWtlRnJlZUNvbG9yKAoKICAgIENvbG9ybWFwUHRyICwK
ICAgIFBpeGVsCgopOwoKdHlwZWRlZiBpbnQgKCpDb2xvckNvbXBhcmVQcm9jUHRyKSgKCiAgICBF
bnRyeVB0ciAsCiAgICB4cmdiICoKCik7CgpleHRlcm4gaW50IEZpbmRDb2xvcigKCiAgICBDb2xv
cm1hcFB0ciAsCiAgICBFbnRyeVB0ciAsCiAgICBpbnQgLAogICAgeHJnYiogLAogICAgUGl4ZWwq
ICwKICAgIGludCAsCiAgICBpbnQgLAogICAgQ29sb3JDb21wYXJlUHJvY1B0cgoKKTsKCmV4dGVy
biBpbnQgUXVlcnlDb2xvcnMoCgogICAgQ29sb3JtYXBQdHIgLAogICAgaW50ICwKICAgIFBpeGVs
KiAsCiAgICB4cmdiKgoKKTsKCmV4dGVybiBpbnQgRnJlZUNsaWVudFBpeGVscygKCiAgICBwb2lu
dGVyICwKICAgIFhJRAoKKTsKCmV4dGVybiBpbnQgQWxsb2NDb2xvckNlbGxzKAoKICAgIGludCAs
CiAgICBDb2xvcm1hcFB0ciAsCiAgICBpbnQgLAogICAgaW50ICwKICAgIEJvb2wgLAogICAgUGl4
ZWwqICwKICAgIFBpeGVsKgoKKTsKCmV4dGVybiBpbnQgQWxsb2NDb2xvclBsYW5lcygKCiAgICBp
bnQgLAogICAgQ29sb3JtYXBQdHIgLAogICAgaW50ICwKICAgIGludCAsCiAgICBpbnQgLAogICAg
aW50ICwKICAgIEJvb2wgLAogICAgUGl4ZWwqICwKICAgIFBpeGVsKiAsCiAgICBQaXhlbCogLAog
ICAgUGl4ZWwqCgopOwoKZXh0ZXJuIGludCBGcmVlQ29sb3JzKAoKICAgIENvbG9ybWFwUHRyICwK
ICAgIGludCAsCiAgICBpbnQgLAogICAgUGl4ZWwqICwKICAgIFBpeGVsCgopOwoKZXh0ZXJuIGlu
dCBTdG9yZUNvbG9ycygKCiAgICBDb2xvcm1hcFB0ciAsCiAgICBpbnQgLAogICAgeENvbG9ySXRl
bSoKCik7CgpleHRlcm4gaW50IElzTWFwSW5zdGFsbGVkKAoKICAgIENvbG9ybWFwICwKICAgIFdp
bmRvd1B0cgoKKTsKIyA1NyAiLi4vLi4vLi4vLi4vLi4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNs
dWRlL3Njcm5pbnRzdHIuaCIgMgojIDEgIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2dyYW1zL1hzZXJ2
ZXIvaW5jbHVkZS9jdXJzb3IuaCIgMQojIDU3ICIuLi8uLi8uLi8uLi8uLi8uLi9wcm9ncmFtcy9Y
c2VydmVyL2luY2x1ZGUvY3Vyc29yLmgiCnR5cGVkZWYgc3RydWN0IF9DdXJzb3IgKkN1cnNvclB0
cjsKdHlwZWRlZiBzdHJ1Y3QgX0N1cnNvck1ldHJpYyAqQ3Vyc29yTWV0cmljUHRyOwoKZXh0ZXJu
IEN1cnNvclB0ciByb290Q3Vyc29yOwoKZXh0ZXJuIGludCBGcmVlQ3Vyc29yKAoKICAgIHBvaW50
ZXIgLAogICAgWElECgopOwoKCgoKCgpleHRlcm4gQ3Vyc29yUHRyIEFsbG9jQ3Vyc29yKAoKICAg
IHVuc2lnbmVkIGNoYXIqICwKICAgIHVuc2lnbmVkIGNoYXIqICwKICAgIEN1cnNvck1ldHJpY1B0
ciAsCiAgICB1bnNpZ25lZCAsCiAgICB1bnNpZ25lZCAsCiAgICB1bnNpZ25lZCAsCiAgICB1bnNp
Z25lZCAsCiAgICB1bnNpZ25lZCAsCiAgICB1bnNpZ25lZAoKKTsKCmV4dGVybiBpbnQgQWxsb2NH
bHlwaEN1cnNvcigKCiAgICBGb250ICwKICAgIHVuc2lnbmVkIGludCAsCiAgICBGb250ICwKICAg
IHVuc2lnbmVkIGludCAsCiAgICB1bnNpZ25lZCAsCiAgICB1bnNpZ25lZCAsCiAgICB1bnNpZ25l
ZCAsCiAgICB1bnNpZ25lZCAsCiAgICB1bnNpZ25lZCAsCiAgICB1bnNpZ25lZCAsCiAgICBDdXJz
b3JQdHIqICwKICAgIENsaWVudFB0cgoKKTsKCmV4dGVybiBDdXJzb3JQdHIgQ3JlYXRlUm9vdEN1
cnNvcigKCiAgICBjaGFyKiAsCiAgICB1bnNpZ25lZCBpbnQKCik7CgpleHRlcm4gaW50IFNlcnZl
ckJpdHNGcm9tR2x5cGgoCgogICAgRm9udFB0ciAsCiAgICB1bnNpZ25lZCBpbnQgLAogICAgcmVn
aXN0ZXIgQ3Vyc29yTWV0cmljUHRyICwKICAgIHVuc2lnbmVkIGNoYXIgKioKCik7CgpleHRlcm4g
Qm9vbCBDdXJzb3JNZXRyaWNzRnJvbUdseXBoKAoKICAgIEZvbnRQdHIgLAogICAgdW5zaWduZWQg
LAogICAgQ3Vyc29yTWV0cmljUHRyCgopOwoKZXh0ZXJuIHZvaWQgQ2hlY2tDdXJzb3JDb25maW5l
bWVudCgKCiAgICBXaW5kb3dQdHIKCik7CgpleHRlcm4gdm9pZCBOZXdDdXJyZW50U2NyZWVuKAoK
ICAgIFNjcmVlblB0ciAsCiAgICBpbnQgLAogICAgaW50CgopOwoKZXh0ZXJuIEJvb2wgUG9pbnRl
ckNvbmZpbmVkVG9TY3JlZW4oCgogICAgdm9pZAoKKTsKCmV4dGVybiB2b2lkIEdldFNwcml0ZVBv
c2l0aW9uKAoKICAgIGludCAqICwKICAgIGludCAqCgopOwojIDU4ICIuLi8uLi8uLi8uLi8uLi8u
Li9wcm9ncmFtcy9Yc2VydmVyL2luY2x1ZGUvc2NybmludHN0ci5oIiAyCiMgMSAiLi4vLi4vLi4v
Li4vLi4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL3ZhbGlkYXRlLmgiIDEKIyAzNSAiLi4v
Li4vLi4vLi4vLi4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL3ZhbGlkYXRlLmgiCnR5cGVk
ZWYgZW51bSB7IFZUT3RoZXIsIFZUU3RhY2ssIFZUTW92ZSwgVlRVbm1hcCwgVlRNYXAsIFZUQnJv
a2VuIH0gVlRLaW5kOwoKCnR5cGVkZWYgdW5pb24gX1ZhbGlkYXRlICpWYWxpZGF0ZVB0cjsKIyA1
OSAiLi4vLi4vLi4vLi4vLi4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL3Njcm5pbnRzdHIu
aCIgMgoKCgp0eXBlZGVmIHN0cnVjdCBfUGl4bWFwRm9ybWF0IHsKICAgIHVuc2lnbmVkIGNoYXIg
ZGVwdGg7CiAgICB1bnNpZ25lZCBjaGFyIGJpdHNQZXJQaXhlbDsKICAgIHVuc2lnbmVkIGNoYXIg
c2NhbmxpbmVQYWQ7CiAgICB9IFBpeG1hcEZvcm1hdFJlYzsKCnR5cGVkZWYgc3RydWN0IF9WaXN1
YWwgewogICAgVmlzdWFsSUQgdmlkOwogICAgc2hvcnQgY2xhc3M7CiAgICBzaG9ydCBiaXRzUGVy
UkdCVmFsdWU7CiAgICBzaG9ydCBDb2xvcm1hcEVudHJpZXM7CiAgICBzaG9ydCBucGxhbmVzOwoK
CiAgICB1bnNpZ25lZCBsb25nIHJlZE1hc2ssIGdyZWVuTWFzaywgYmx1ZU1hc2s7CiAgICBpbnQg
b2Zmc2V0UmVkLCBvZmZzZXRHcmVlbiwgb2Zmc2V0Qmx1ZTsKICB9IFZpc3VhbFJlYzsKCnR5cGVk
ZWYgc3RydWN0IF9EZXB0aCB7CiAgICB1bnNpZ25lZCBjaGFyIGRlcHRoOwogICAgc2hvcnQgbnVt
VmlkczsKICAgIFZpc3VhbElEICp2aWRzOwogIH0gRGVwdGhSZWM7CiMgOTMgIi4uLy4uLy4uLy4u
Ly4uLy4uL3Byb2dyYW1zL1hzZXJ2ZXIvaW5jbHVkZS9zY3JuaW50c3RyLmgiCnR5cGVkZWYgQm9v
bCAoKiBDbG9zZVNjcmVlblByb2NQdHIpKAoKICAgICAgICBpbnQgLAogICAgICAgIFNjcmVlblB0
cgoKKTsKCnR5cGVkZWYgdm9pZCAoKiBRdWVyeUJlc3RTaXplUHJvY1B0cikoCgogICAgICAgIGlu
dCAsCiAgICAgICAgdW5zaWduZWQgc2hvcnQgKiAsCiAgICAgICAgdW5zaWduZWQgc2hvcnQgKiAs
CiAgICAgICAgU2NyZWVuUHRyCgopOwoKdHlwZWRlZiBCb29sICgqIFNhdmVTY3JlZW5Qcm9jUHRy
KSgKCiAgICAgICAgIFNjcmVlblB0ciAsCiAgICAgICAgIGludAoKKTsKCnR5cGVkZWYgdm9pZCAo
KiBHZXRJbWFnZVByb2NQdHIpKAoKICAgICAgICBEcmF3YWJsZVB0ciAsCiAgICAgICAgaW50ICwK
ICAgICAgICBpbnQgLAogICAgICAgIGludCAsCiAgICAgICAgaW50ICwKICAgICAgICB1bnNpZ25l
ZCBpbnQgLAogICAgICAgIHVuc2lnbmVkIGxvbmcgLAogICAgICAgIGNoYXIgKgoKKTsKCnR5cGVk
ZWYgdm9pZCAoKiBHZXRTcGFuc1Byb2NQdHIpKAoKICAgICAgICBEcmF3YWJsZVB0ciAsCiAgICAg
ICAgaW50ICwKICAgICAgICBERFhQb2ludFB0ciAsCiAgICAgICAgaW50KiAsCiAgICAgICAgaW50
ICwKICAgICAgICBjaGFyICoKCik7Cgp0eXBlZGVmIHZvaWQgKCogUG9pbnRlck5vbkludGVyZXN0
Qm94UHJvY1B0cikoCgogICAgICAgIFNjcmVlblB0ciAsCiAgICAgICAgQm94UHRyCgopOwoKdHlw
ZWRlZiB2b2lkICgqIFNvdXJjZVZhbGlkYXRlUHJvY1B0cikoCgogICAgICAgIERyYXdhYmxlUHRy
ICwKICAgICAgICBpbnQgLAogICAgICAgIGludCAsCiAgICAgICAgaW50ICwKICAgICAgICBpbnQK
Cik7Cgp0eXBlZGVmIEJvb2wgKCogQ3JlYXRlV2luZG93UHJvY1B0cikoCgogICAgICAgIFdpbmRv
d1B0cgoKKTsKCnR5cGVkZWYgQm9vbCAoKiBEZXN0cm95V2luZG93UHJvY1B0cikoCgogICAgICAg
IFdpbmRvd1B0cgoKKTsKCnR5cGVkZWYgQm9vbCAoKiBQb3NpdGlvbldpbmRvd1Byb2NQdHIpKAoK
ICAgICAgICBXaW5kb3dQdHIgLAogICAgICAgIGludCAsCiAgICAgICAgaW50CgopOwoKdHlwZWRl
ZiBCb29sICgqIENoYW5nZVdpbmRvd0F0dHJpYnV0ZXNQcm9jUHRyKSgKCiAgICAgICAgV2luZG93
UHRyICwKICAgICAgICB1bnNpZ25lZCBsb25nCgopOwoKdHlwZWRlZiBCb29sICgqIFJlYWxpemVX
aW5kb3dQcm9jUHRyKSgKCiAgICAgICAgV2luZG93UHRyCgopOwoKdHlwZWRlZiBCb29sICgqIFVu
cmVhbGl6ZVdpbmRvd1Byb2NQdHIpKAoKICAgICAgICBXaW5kb3dQdHIKCik7Cgp0eXBlZGVmIHZv
aWQgKCogUmVzdGFja1dpbmRvd1Byb2NQdHIpKAoKICAgICAgICBXaW5kb3dQdHIgLAogICAgICAg
IFdpbmRvd1B0cgoKKTsKCnR5cGVkZWYgaW50ICgqIFZhbGlkYXRlVHJlZVByb2NQdHIpKAoKICAg
ICAgICBXaW5kb3dQdHIgLAogICAgICAgIFdpbmRvd1B0ciAsCiAgICAgICAgVlRLaW5kCgopOwoK
dHlwZWRlZiB2b2lkICgqIFBvc3RWYWxpZGF0ZVRyZWVQcm9jUHRyKSgKCiAgICAgICAgV2luZG93
UHRyICwKICAgICAgICBXaW5kb3dQdHIgLAogICAgICAgIFZUS2luZAoKKTsKCnR5cGVkZWYgdm9p
ZCAoKiBXaW5kb3dFeHBvc3VyZXNQcm9jUHRyKSgKCiAgICAgICAgV2luZG93UHRyICwKICAgICAg
ICBSZWdpb25QdHIgLAogICAgICAgIFJlZ2lvblB0cgoKKTsKCnR5cGVkZWYgdm9pZCAoKiBQYWlu
dFdpbmRvd1Byb2NQdHIpKAoKICAgICAgICBXaW5kb3dQdHIgLAogICAgICAgIFJlZ2lvblB0ciAs
CiAgICAgICAgaW50CgopOwoKdHlwZWRlZiBQYWludFdpbmRvd1Byb2NQdHIgUGFpbnRXaW5kb3dC
YWNrZ3JvdW5kUHJvY1B0cjsKdHlwZWRlZiBQYWludFdpbmRvd1Byb2NQdHIgUGFpbnRXaW5kb3dC
b3JkZXJQcm9jUHRyOwoKdHlwZWRlZiB2b2lkICgqIENvcHlXaW5kb3dQcm9jUHRyKSgKCiAgICAg
ICAgV2luZG93UHRyICwKICAgICAgICBERFhQb2ludFJlYyAsCiAgICAgICAgUmVnaW9uUHRyCgop
OwoKdHlwZWRlZiB2b2lkICgqIENsZWFyVG9CYWNrZ3JvdW5kUHJvY1B0cikoCgogICAgICAgIFdp
bmRvd1B0ciAsCiAgICAgICAgaW50ICwKICAgICAgICBpbnQgLAogICAgICAgIGludCAsCiAgICAg
ICAgaW50ICwKICAgICAgICBCb29sCgopOwoKdHlwZWRlZiB2b2lkICgqIENsaXBOb3RpZnlQcm9j
UHRyKSgKCiAgICAgICAgV2luZG93UHRyICwKICAgICAgICBpbnQgLAogICAgICAgIGludAoKKTsK
CnR5cGVkZWYgUGl4bWFwUHRyICgqIENyZWF0ZVBpeG1hcFByb2NQdHIpKAoKICAgICAgICBTY3Jl
ZW5QdHIgLAogICAgICAgIGludCAsCiAgICAgICAgaW50ICwKICAgICAgICBpbnQKCik7Cgp0eXBl
ZGVmIEJvb2wgKCogRGVzdHJveVBpeG1hcFByb2NQdHIpKAoKICAgICAgICBQaXhtYXBQdHIKCik7
Cgp0eXBlZGVmIHZvaWQgKCogU2F2ZURvb21lZEFyZWFzUHJvY1B0cikoCgogICAgICAgIFdpbmRv
d1B0ciAsCiAgICAgICAgUmVnaW9uUHRyICwKICAgICAgICBpbnQgLAogICAgICAgIGludAoKKTsK
CnR5cGVkZWYgUmVnaW9uUHRyICgqIFJlc3RvcmVBcmVhc1Byb2NQdHIpKAoKICAgICAgICBXaW5k
b3dQdHIgLAogICAgICAgIFJlZ2lvblB0cgoKKTsKCnR5cGVkZWYgdm9pZCAoKiBFeHBvc2VDb3B5
UHJvY1B0cikoCgogICAgICAgIFdpbmRvd1B0ciAsCiAgICAgICAgRHJhd2FibGVQdHIgLAogICAg
ICAgIEdDUHRyICwKICAgICAgICBSZWdpb25QdHIgLAogICAgICAgIGludCAsCiAgICAgICAgaW50
ICwKICAgICAgICBpbnQgLAogICAgICAgIGludCAsCiAgICAgICAgdW5zaWduZWQgbG9uZwoKKTsK
CnR5cGVkZWYgUmVnaW9uUHRyICgqIFRyYW5zbGF0ZUJhY2tpbmdTdG9yZVByb2NQdHIpKAoKICAg
ICAgICBXaW5kb3dQdHIgLAogICAgICAgIGludCAsCiAgICAgICAgaW50ICwKICAgICAgICBSZWdp
b25QdHIgLAogICAgICAgIGludCAsCiAgICAgICAgaW50CgopOwoKdHlwZWRlZiBSZWdpb25QdHIg
KCogQ2xlYXJCYWNraW5nU3RvcmVQcm9jUHRyKSgKCiAgICAgICAgV2luZG93UHRyICwKICAgICAg
ICBpbnQgLAogICAgICAgIGludCAsCiAgICAgICAgaW50ICwKICAgICAgICBpbnQgLAogICAgICAg
IEJvb2wKCik7Cgp0eXBlZGVmIHZvaWQgKCogRHJhd0d1YXJhbnRlZVByb2NQdHIpKAoKICAgICAg
ICBXaW5kb3dQdHIgLAogICAgICAgIEdDUHRyICwKICAgICAgICBpbnQKCik7Cgp0eXBlZGVmIEJv
b2wgKCogUmVhbGl6ZUZvbnRQcm9jUHRyKSgKCiAgICAgICAgU2NyZWVuUHRyICwKICAgICAgICBG
b250UHRyCgopOwoKdHlwZWRlZiBCb29sICgqIFVucmVhbGl6ZUZvbnRQcm9jUHRyKSgKCiAgICAg
ICAgU2NyZWVuUHRyICwKICAgICAgICBGb250UHRyCgopOwoKdHlwZWRlZiB2b2lkICgqIENvbnN0
cmFpbkN1cnNvclByb2NQdHIpKAoKICAgICAgICBTY3JlZW5QdHIgLAogICAgICAgIEJveFB0cgoK
KTsKCnR5cGVkZWYgdm9pZCAoKiBDdXJzb3JMaW1pdHNQcm9jUHRyKSgKCiAgICAgICAgU2NyZWVu
UHRyICwKICAgICAgICBDdXJzb3JQdHIgLAogICAgICAgIEJveFB0ciAsCiAgICAgICAgQm94UHRy
CgopOwoKdHlwZWRlZiBCb29sICgqIERpc3BsYXlDdXJzb3JQcm9jUHRyKSgKCiAgICAgICAgU2Ny
ZWVuUHRyICwKICAgICAgICBDdXJzb3JQdHIKCik7Cgp0eXBlZGVmIEJvb2wgKCogUmVhbGl6ZUN1
cnNvclByb2NQdHIpKAoKICAgICAgICBTY3JlZW5QdHIgLAogICAgICAgIEN1cnNvclB0cgoKKTsK
CnR5cGVkZWYgQm9vbCAoKiBVbnJlYWxpemVDdXJzb3JQcm9jUHRyKSgKCiAgICAgICAgU2NyZWVu
UHRyICwKICAgICAgICBDdXJzb3JQdHIKCik7Cgp0eXBlZGVmIHZvaWQgKCogUmVjb2xvckN1cnNv
clByb2NQdHIpKAoKICAgICAgICBTY3JlZW5QdHIgLAogICAgICAgIEN1cnNvclB0ciAsCiAgICAg
ICAgQm9vbAoKKTsKCnR5cGVkZWYgQm9vbCAoKiBTZXRDdXJzb3JQb3NpdGlvblByb2NQdHIpKAoK
ICAgICAgICBTY3JlZW5QdHIgLAogICAgICAgIGludCAsCiAgICAgICAgaW50ICwKICAgICAgICBC
b29sCgopOwoKdHlwZWRlZiBCb29sICgqIENyZWF0ZUdDUHJvY1B0cikoCgogICAgICAgIEdDUHRy
CgopOwoKdHlwZWRlZiBCb29sICgqIENyZWF0ZUNvbG9ybWFwUHJvY1B0cikoCgogICAgICAgIENv
bG9ybWFwUHRyCgopOwoKdHlwZWRlZiB2b2lkICgqIERlc3Ryb3lDb2xvcm1hcFByb2NQdHIpKAoK
ICAgICAgICBDb2xvcm1hcFB0cgoKKTsKCnR5cGVkZWYgdm9pZCAoKiBJbnN0YWxsQ29sb3JtYXBQ
cm9jUHRyKSgKCiAgICAgICAgQ29sb3JtYXBQdHIKCik7Cgp0eXBlZGVmIHZvaWQgKCogVW5pbnN0
YWxsQ29sb3JtYXBQcm9jUHRyKSgKCiAgICAgICAgQ29sb3JtYXBQdHIKCik7Cgp0eXBlZGVmIGlu
dCAoKiBMaXN0SW5zdGFsbGVkQ29sb3JtYXBzUHJvY1B0cikgKAoKICAgICAgICBTY3JlZW5QdHIg
LAogICAgICAgIFhJRCoKCik7Cgp0eXBlZGVmIHZvaWQgKCogU3RvcmVDb2xvcnNQcm9jUHRyKSgK
CiAgICAgICAgQ29sb3JtYXBQdHIgLAogICAgICAgIGludCAsCiAgICAgICAgeENvbG9ySXRlbSAq
CgopOwoKdHlwZWRlZiB2b2lkICgqIFJlc29sdmVDb2xvclByb2NQdHIpKAoKICAgICAgICB1bnNp
Z25lZCBzaG9ydCogLAogICAgICAgIHVuc2lnbmVkIHNob3J0KiAsCiAgICAgICAgdW5zaWduZWQg
c2hvcnQqICwKICAgICAgICBWaXN1YWxQdHIKCik7CiMgNjA3ICIuLi8uLi8uLi8uLi8uLi8uLi9w
cm9ncmFtcy9Yc2VydmVyL2luY2x1ZGUvc2NybmludHN0ci5oIgp0eXBlZGVmIFJlZ2lvblB0ciAo
KiBCaXRtYXBUb1JlZ2lvblByb2NQdHIpKAoKICAgICAgICBQaXhtYXBQdHIKCik7CiMgNjI1ICIu
Li8uLi8uLi8uLi8uLi8uLi9wcm9ncmFtcy9Yc2VydmVyL2luY2x1ZGUvc2NybmludHN0ci5oIgp0
eXBlZGVmIHZvaWQgKCogU2VuZEdyYXBoaWNzRXhwb3NlUHJvY1B0cikoCgogICAgICAgIENsaWVu
dFB0ciAsCiAgICAgICAgUmVnaW9uUHRyICwKICAgICAgICBYSUQgLAogICAgICAgIGludCAsCiAg
ICAgICAgaW50CgopOwoKdHlwZWRlZiB2b2lkICgqIFNjcmVlbkJsb2NrSGFuZGxlclByb2NQdHIp
KAoKICAgICAgICBpbnQgLAogICAgICAgIHBvaW50ZXIgLAogICAgICAgIHBvaW50ZXIgLAogICAg
ICAgIHBvaW50ZXIKCik7Cgp0eXBlZGVmIHZvaWQgKCogU2NyZWVuV2FrZXVwSGFuZGxlclByb2NQ
dHIpKAoKICAgICAgICAgaW50ICwKICAgICAgICAgcG9pbnRlciAsCiAgICAgICAgIHVuc2lnbmVk
IGxvbmcgLAogICAgICAgICBwb2ludGVyCgopOwoKdHlwZWRlZiBCb29sICgqIENyZWF0ZVNjcmVl
blJlc291cmNlc1Byb2NQdHIpKAoKICAgICAgICBTY3JlZW5QdHIKCik7Cgp0eXBlZGVmIEJvb2wg
KCogTW9kaWZ5UGl4bWFwSGVhZGVyUHJvY1B0cikoCgogICAgICAgIFBpeG1hcFB0ciAsCiAgICAg
ICAgaW50ICwKICAgICAgICBpbnQgLAogICAgICAgIGludCAsCiAgICAgICAgaW50ICwKICAgICAg
ICBpbnQgLAogICAgICAgIHBvaW50ZXIKCik7Cgp0eXBlZGVmIFBpeG1hcFB0ciAoKiBHZXRXaW5k
b3dQaXhtYXBQcm9jUHRyKSgKCiAgICAgICAgV2luZG93UHRyCgopOwoKdHlwZWRlZiB2b2lkICgq
IFNldFdpbmRvd1BpeG1hcFByb2NQdHIpKAoKICAgICAgICBXaW5kb3dQdHIgLAogICAgICAgIFBp
eG1hcFB0cgoKKTsKCnR5cGVkZWYgUGl4bWFwUHRyICgqIEdldFNjcmVlblBpeG1hcFByb2NQdHIp
KAoKICAgICAgICBTY3JlZW5QdHIKCik7Cgp0eXBlZGVmIHZvaWQgKCogU2V0U2NyZWVuUGl4bWFw
UHJvY1B0cikoCgogICAgICAgIFBpeG1hcFB0cgoKKTsKCnR5cGVkZWYgdm9pZCAoKiBNYXJrV2lu
ZG93UHJvY1B0cikoCgogICAgICAgIFdpbmRvd1B0cgoKKTsKCnR5cGVkZWYgQm9vbCAoKiBNYXJr
T3ZlcmxhcHBlZFdpbmRvd3NQcm9jUHRyKSgKCiAgICAgICAgV2luZG93UHRyICwKICAgICAgICBX
aW5kb3dQdHIgLAogICAgICAgIFdpbmRvd1B0ciAqCgopOwoKdHlwZWRlZiBCb29sICgqIENoYW5n
ZVNhdmVVbmRlclByb2NQdHIpKAoKICAgICAgICBXaW5kb3dQdHIgLAogICAgICAgIFdpbmRvd1B0
cgoKKTsKCnR5cGVkZWYgdm9pZCAoKiBQb3N0Q2hhbmdlU2F2ZVVuZGVyUHJvY1B0cikoCgogICAg
ICAgIFdpbmRvd1B0ciAsCiAgICAgICAgV2luZG93UHRyCgopOwoKdHlwZWRlZiB2b2lkICgqIE1v
dmVXaW5kb3dQcm9jUHRyKSgKCiAgICAgICAgV2luZG93UHRyICwKICAgICAgICBpbnQgLAogICAg
ICAgIGludCAsCiAgICAgICAgV2luZG93UHRyICwKICAgICAgICBWVEtpbmQKCik7Cgp0eXBlZGVm
IHZvaWQgKCogUmVzaXplV2luZG93UHJvY1B0cikoCgogICAgV2luZG93UHRyICwKICAgIGludCAs
CiAgICBpbnQgLAogICAgdW5zaWduZWQgaW50ICwKICAgIHVuc2lnbmVkIGludCAsCiAgICBXaW5k
b3dQdHIKCik7Cgp0eXBlZGVmIFdpbmRvd1B0ciAoKiBHZXRMYXllcldpbmRvd1Byb2NQdHIpKAoK
ICAgIFdpbmRvd1B0cgoKKTsKCnR5cGVkZWYgdm9pZCAoKiBIYW5kbGVFeHBvc3VyZXNQcm9jUHRy
KSgKCiAgICBXaW5kb3dQdHIKCik7Cgp0eXBlZGVmIHZvaWQgKCogUmVwYXJlbnRXaW5kb3dQcm9j
UHRyKSgKCiAgICBXaW5kb3dQdHIgLAogICAgV2luZG93UHRyCgopOwoKCnR5cGVkZWYgdm9pZCAo
KiBTZXRTaGFwZVByb2NQdHIpKAoKICAgICAgICBXaW5kb3dQdHIKCik7CgoKdHlwZWRlZiB2b2lk
ICgqIENoYW5nZUJvcmRlcldpZHRoUHJvY1B0cikoCgogICAgICAgIFdpbmRvd1B0ciAsCiAgICAg
ICAgdW5zaWduZWQgaW50CgopOwoKdHlwZWRlZiB2b2lkICgqIE1hcmtVbnJlYWxpemVkV2luZG93
UHJvY1B0cikoCgogICAgICAgIFdpbmRvd1B0ciAsCiAgICAgICAgV2luZG93UHRyICwKICAgICAg
ICBCb29sCgopOwoKdHlwZWRlZiBzdHJ1Y3QgX1NjcmVlbiB7CiAgICBpbnQgbXlOdW07CiAgICBB
VE9NIGlkOwogICAgc2hvcnQgd2lkdGgsIGhlaWdodDsKICAgIHNob3J0IG1tV2lkdGgsIG1tSGVp
Z2h0OwogICAgc2hvcnQgbnVtRGVwdGhzOwogICAgdW5zaWduZWQgY2hhciByb290RGVwdGg7CiAg
ICBEZXB0aFB0ciBhbGxvd2VkRGVwdGhzOwogICAgdW5zaWduZWQgbG9uZyByb290VmlzdWFsOwog
ICAgdW5zaWduZWQgbG9uZyBkZWZDb2xvcm1hcDsKICAgIHNob3J0IG1pbkluc3RhbGxlZENtYXBz
LCBtYXhJbnN0YWxsZWRDbWFwczsKICAgIGNoYXIgYmFja2luZ1N0b3JlU3VwcG9ydCwgc2F2ZVVu
ZGVyU3VwcG9ydDsKICAgIHVuc2lnbmVkIGxvbmcgd2hpdGVQaXhlbCwgYmxhY2tQaXhlbDsKICAg
IHVuc2lnbmVkIGxvbmcgcmdmOwogICAgR0NQdHIgR0NwZXJEZXB0aFs4ICsxXTsKCgoKCgoKCiAg
ICBQaXhtYXBQdHIgUGl4bWFwUGVyRGVwdGhbMV07CiAgICBwb2ludGVyIGRldlByaXZhdGU7CiAg
ICBzaG9ydCBudW1WaXN1YWxzOwogICAgVmlzdWFsUHRyIHZpc3VhbHM7CiAgICBpbnQgV2luZG93
UHJpdmF0ZUxlbjsKICAgIHVuc2lnbmVkICpXaW5kb3dQcml2YXRlU2l6ZXM7CiAgICB1bnNpZ25l
ZCB0b3RhbFdpbmRvd1NpemU7CiAgICBpbnQgR0NQcml2YXRlTGVuOwogICAgdW5zaWduZWQgKkdD
UHJpdmF0ZVNpemVzOwogICAgdW5zaWduZWQgdG90YWxHQ1NpemU7CgoKCiAgICBDbG9zZVNjcmVl
blByb2NQdHIgQ2xvc2VTY3JlZW47CiAgICBRdWVyeUJlc3RTaXplUHJvY1B0ciBRdWVyeUJlc3RT
aXplOwogICAgU2F2ZVNjcmVlblByb2NQdHIgU2F2ZVNjcmVlbjsKICAgIEdldEltYWdlUHJvY1B0
ciBHZXRJbWFnZTsKICAgIEdldFNwYW5zUHJvY1B0ciBHZXRTcGFuczsKICAgIFBvaW50ZXJOb25J
bnRlcmVzdEJveFByb2NQdHIgUG9pbnRlck5vbkludGVyZXN0Qm94OwogICAgU291cmNlVmFsaWRh
dGVQcm9jUHRyIFNvdXJjZVZhbGlkYXRlOwoKCgogICAgQ3JlYXRlV2luZG93UHJvY1B0ciBDcmVh
dGVXaW5kb3c7CiAgICBEZXN0cm95V2luZG93UHJvY1B0ciBEZXN0cm95V2luZG93OwogICAgUG9z
aXRpb25XaW5kb3dQcm9jUHRyIFBvc2l0aW9uV2luZG93OwogICAgQ2hhbmdlV2luZG93QXR0cmli
dXRlc1Byb2NQdHIgQ2hhbmdlV2luZG93QXR0cmlidXRlczsKICAgIFJlYWxpemVXaW5kb3dQcm9j
UHRyIFJlYWxpemVXaW5kb3c7CiAgICBVbnJlYWxpemVXaW5kb3dQcm9jUHRyIFVucmVhbGl6ZVdp
bmRvdzsKICAgIFZhbGlkYXRlVHJlZVByb2NQdHIgVmFsaWRhdGVUcmVlOwogICAgUG9zdFZhbGlk
YXRlVHJlZVByb2NQdHIgUG9zdFZhbGlkYXRlVHJlZTsKICAgIFdpbmRvd0V4cG9zdXJlc1Byb2NQ
dHIgV2luZG93RXhwb3N1cmVzOwogICAgUGFpbnRXaW5kb3dCYWNrZ3JvdW5kUHJvY1B0ciBQYWlu
dFdpbmRvd0JhY2tncm91bmQ7CiAgICBQYWludFdpbmRvd0JvcmRlclByb2NQdHIgUGFpbnRXaW5k
b3dCb3JkZXI7CiAgICBDb3B5V2luZG93UHJvY1B0ciBDb3B5V2luZG93OwogICAgQ2xlYXJUb0Jh
Y2tncm91bmRQcm9jUHRyIENsZWFyVG9CYWNrZ3JvdW5kOwogICAgQ2xpcE5vdGlmeVByb2NQdHIg
Q2xpcE5vdGlmeTsKICAgIFJlc3RhY2tXaW5kb3dQcm9jUHRyIFJlc3RhY2tXaW5kb3c7CgoKCiAg
ICBDcmVhdGVQaXhtYXBQcm9jUHRyIENyZWF0ZVBpeG1hcDsKICAgIERlc3Ryb3lQaXhtYXBQcm9j
UHRyIERlc3Ryb3lQaXhtYXA7CgoKCiAgICBTYXZlRG9vbWVkQXJlYXNQcm9jUHRyIFNhdmVEb29t
ZWRBcmVhczsKICAgIFJlc3RvcmVBcmVhc1Byb2NQdHIgUmVzdG9yZUFyZWFzOwogICAgRXhwb3Nl
Q29weVByb2NQdHIgRXhwb3NlQ29weTsKICAgIFRyYW5zbGF0ZUJhY2tpbmdTdG9yZVByb2NQdHIg
VHJhbnNsYXRlQmFja2luZ1N0b3JlOwogICAgQ2xlYXJCYWNraW5nU3RvcmVQcm9jUHRyIENsZWFy
QmFja2luZ1N0b3JlOwogICAgRHJhd0d1YXJhbnRlZVByb2NQdHIgRHJhd0d1YXJhbnRlZTsKCgoK
CiAgICBCU0Z1bmNSZWMgQmFja2luZ1N0b3JlRnVuY3M7CgoKCiAgICBSZWFsaXplRm9udFByb2NQ
dHIgUmVhbGl6ZUZvbnQ7CiAgICBVbnJlYWxpemVGb250UHJvY1B0ciBVbnJlYWxpemVGb250OwoK
CgogICAgQ29uc3RyYWluQ3Vyc29yUHJvY1B0ciBDb25zdHJhaW5DdXJzb3I7CiAgICBDdXJzb3JM
aW1pdHNQcm9jUHRyIEN1cnNvckxpbWl0czsKICAgIERpc3BsYXlDdXJzb3JQcm9jUHRyIERpc3Bs
YXlDdXJzb3I7CiAgICBSZWFsaXplQ3Vyc29yUHJvY1B0ciBSZWFsaXplQ3Vyc29yOwogICAgVW5y
ZWFsaXplQ3Vyc29yUHJvY1B0ciBVbnJlYWxpemVDdXJzb3I7CiAgICBSZWNvbG9yQ3Vyc29yUHJv
Y1B0ciBSZWNvbG9yQ3Vyc29yOwogICAgU2V0Q3Vyc29yUG9zaXRpb25Qcm9jUHRyIFNldEN1cnNv
clBvc2l0aW9uOwoKCgogICAgQ3JlYXRlR0NQcm9jUHRyIENyZWF0ZUdDOwoKCgogICAgQ3JlYXRl
Q29sb3JtYXBQcm9jUHRyIENyZWF0ZUNvbG9ybWFwOwogICAgRGVzdHJveUNvbG9ybWFwUHJvY1B0
ciBEZXN0cm95Q29sb3JtYXA7CiAgICBJbnN0YWxsQ29sb3JtYXBQcm9jUHRyIEluc3RhbGxDb2xv
cm1hcDsKICAgIFVuaW5zdGFsbENvbG9ybWFwUHJvY1B0ciBVbmluc3RhbGxDb2xvcm1hcDsKICAg
IExpc3RJbnN0YWxsZWRDb2xvcm1hcHNQcm9jUHRyIExpc3RJbnN0YWxsZWRDb2xvcm1hcHM7CiAg
ICBTdG9yZUNvbG9yc1Byb2NQdHIgU3RvcmVDb2xvcnM7CiAgICBSZXNvbHZlQ29sb3JQcm9jUHRy
IFJlc29sdmVDb2xvcjsKIyA5MjAgIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2dyYW1zL1hzZXJ2ZXIv
aW5jbHVkZS9zY3JuaW50c3RyLmgiCiAgICBCaXRtYXBUb1JlZ2lvblByb2NQdHIgQml0bWFwVG9S
ZWdpb247CgoKCiAgICBTZW5kR3JhcGhpY3NFeHBvc2VQcm9jUHRyIFNlbmRHcmFwaGljc0V4cG9z
ZTsKCgoKICAgIFNjcmVlbkJsb2NrSGFuZGxlclByb2NQdHIgQmxvY2tIYW5kbGVyOwogICAgU2Ny
ZWVuV2FrZXVwSGFuZGxlclByb2NQdHIgV2FrZXVwSGFuZGxlcjsKCiAgICBwb2ludGVyIGJsb2Nr
RGF0YTsKICAgIHBvaW50ZXIgd2FrZXVwRGF0YTsKCgogICAgRGV2VW5pb24gKmRldlByaXZhdGVz
OwoKICAgIENyZWF0ZVNjcmVlblJlc291cmNlc1Byb2NQdHIgQ3JlYXRlU2NyZWVuUmVzb3VyY2Vz
OwogICAgTW9kaWZ5UGl4bWFwSGVhZGVyUHJvY1B0ciBNb2RpZnlQaXhtYXBIZWFkZXI7CgogICAg
R2V0V2luZG93UGl4bWFwUHJvY1B0ciBHZXRXaW5kb3dQaXhtYXA7CiAgICBTZXRXaW5kb3dQaXht
YXBQcm9jUHRyIFNldFdpbmRvd1BpeG1hcDsKICAgIEdldFNjcmVlblBpeG1hcFByb2NQdHIgR2V0
U2NyZWVuUGl4bWFwOwogICAgU2V0U2NyZWVuUGl4bWFwUHJvY1B0ciBTZXRTY3JlZW5QaXhtYXA7
CgogICAgUGl4bWFwUHRyIHBTY3JhdGNoUGl4bWFwOwoKCiAgICBpbnQgUGl4bWFwUHJpdmF0ZUxl
bjsKICAgIHVuc2lnbmVkIGludCAqUGl4bWFwUHJpdmF0ZVNpemVzOwogICAgdW5zaWduZWQgaW50
IHRvdGFsUGl4bWFwU2l6ZTsKCgogICAgTWFya1dpbmRvd1Byb2NQdHIgTWFya1dpbmRvdzsKICAg
IE1hcmtPdmVybGFwcGVkV2luZG93c1Byb2NQdHIgTWFya092ZXJsYXBwZWRXaW5kb3dzOwogICAg
Q2hhbmdlU2F2ZVVuZGVyUHJvY1B0ciBDaGFuZ2VTYXZlVW5kZXI7CiAgICBQb3N0Q2hhbmdlU2F2
ZVVuZGVyUHJvY1B0ciBQb3N0Q2hhbmdlU2F2ZVVuZGVyOwogICAgTW92ZVdpbmRvd1Byb2NQdHIg
TW92ZVdpbmRvdzsKICAgIFJlc2l6ZVdpbmRvd1Byb2NQdHIgUmVzaXplV2luZG93OwogICAgR2V0
TGF5ZXJXaW5kb3dQcm9jUHRyIEdldExheWVyV2luZG93OwogICAgSGFuZGxlRXhwb3N1cmVzUHJv
Y1B0ciBIYW5kbGVFeHBvc3VyZXM7CiAgICBSZXBhcmVudFdpbmRvd1Byb2NQdHIgUmVwYXJlbnRX
aW5kb3c7CgoKICAgIFNldFNoYXBlUHJvY1B0ciBTZXRTaGFwZTsKCgogICAgQ2hhbmdlQm9yZGVy
V2lkdGhQcm9jUHRyIENoYW5nZUJvcmRlcldpZHRoOwogICAgTWFya1VucmVhbGl6ZWRXaW5kb3dQ
cm9jUHRyIE1hcmtVbnJlYWxpemVkV2luZG93OwoKfSBTY3JlZW5SZWM7Cgp0eXBlZGVmIHN0cnVj
dCBfU2NyZWVuSW5mbyB7CiAgICBpbnQgaW1hZ2VCeXRlT3JkZXI7CiAgICBpbnQgYml0bWFwU2Nh
bmxpbmVVbml0OwogICAgaW50IGJpdG1hcFNjYW5saW5lUGFkOwogICAgaW50IGJpdG1hcEJpdE9y
ZGVyOwogICAgaW50IG51bVBpeG1hcEZvcm1hdHM7CiAgICBQaXhtYXBGb3JtYXRSZWMKICAgICAg
ICAgICAgICAgIGZvcm1hdHNbOF07CiAgICBpbnQgYXJyYXlTaXplOwogICAgaW50IG51bVNjcmVl
bnM7CiAgICBTY3JlZW5QdHIgc2NyZWVuc1sxNl07CiAgICBpbnQgbnVtVmlkZW9TY3JlZW5zOwp9
IFNjcmVlbkluZm87CgpleHRlcm4gU2NyZWVuSW5mbyBzY3JlZW5JbmZvOwoKZXh0ZXJuIHZvaWQg
SW5pdE91dHB1dCgKCiAgICBTY3JlZW5JbmZvICogLAogICAgaW50ICwKICAgIGNoYXIgKioKCik7
CiMgNTcgIi4uL2luY2x1ZGUvbWlwZXguaCIgMgojIDg3ICIuLi9pbmNsdWRlL21pcGV4LmgiCnR5
cGVkZWYgdm9pZCAoKmRlc3Ryb3lUYWJsZVR5cGUpKCk7CiMgMTQ0ICIuLi9pbmNsdWRlL21pcGV4
LmgiCmV4dGVybiBpbnQgUGV4RXJyb3JCYXNlOwojIDE2MyAiLi4vaW5jbHVkZS9taXBleC5oIgp0
eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRFbnVtVHlwZUluZGV4IGluZGV4OwogICAgICAgIGNo
YXIgKm5hbWU7Cn0gbWlFbnVtVHlwZTsKCnR5cGVkZWYgZW51bSB7CiAgICAgICAgVklFV19SRVBf
RFlOQU1JQz0wLAogICAgICAgIE1BUktFUl9CVU5ETEVfRFlOQU1JQz0xLAogICAgICAgIFRFWFRf
QlVORExFX0RZTkFNSUM9MiwKICAgICAgICBMSU5FX0JVTkRMRV9EWU5BTUlDPTMsCiAgICAgICAg
SU5URVJJT1JfQlVORExFX0RZTkFNSUM9NCwKICAgICAgICBFREdFX0JVTkRMRV9EWU5BTUlDPTUs
CiAgICAgICAgQ09MT1VSX1RBQkxFX0RZTkFNSUM9NiwKICAgICAgICBQQVRURVJOX1RBQkxFX0RZ
TkFNSUM9NywKICAgICAgICBXS1NfVFJBTlNGT1JNX0RZTkFNSUM9OCwKICAgICAgICBISUdIX0ZJ
TFRFUl9EWU5BTUlDPTksCiAgICAgICAgSU5WSVNfRklMVEVSX0RZTkFNSUM9MTAsCiAgICAgICAg
SExIU1JfTU9ERV9EWU5BTUlDPTExLAogICAgICAgIFNUUl9NT0RJRllfRFlOQU1JQz0xMiwKICAg
ICAgICBQT1NUX1NUUl9EWU5BTUlDPTEzLAogICAgICAgIFVOUE9TVF9TVFJfRFlOQU1JQz0xNCwK
ICAgICAgICBERUxFVEVfU1RSX0RZTkFNSUM9MTUsCiAgICAgICAgUkVGX01PRElGWV9EWU5BTUlD
PTE2LAogICAgICAgIEJVRkZFUl9NT0RJRllfRFlOQU1JQz0xNywKICAgICAgICBMSUdIVF9UQUJM
RV9EWU5BTUlDPTE4LAogICAgICAgIERFUFRIX0NVRV9EWU5BTUlDPTE5LAogICAgICAgIENPTE9V
Ul9BUFBST1hfVEFCTEVfRFlOQU1JQz0yMCwKICAgICAgICBNQVhfRFlOQU1JQyA9IDIxCn0gZGRE
eW5hbWljOwojIDU0ICIuLi9pbmNsdWRlL21pTFVULmgiIDIKCgoKCnR5cGVkZWYgc3RydWN0IHsK
ICAgIGRkRW51bVR5cGVJbmRleCBsaW5lVHlwZTsKICAgIGRkRW51bVR5cGVJbmRleCBwb2x5bGlu
ZUludGVycDsKICAgIGRkQ3VydmVBcHByb3ggY3VydmVBcHByb3g7CiAgICBkZEZMT0FUIGxpbmVX
aWR0aDsKICAgIGRkQ29sb3VyU3BlY2lmaWVyIGxpbmVDb2xvdXI7Cn0gZGRMaW5lQnVuZGxlRW50
cnk7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBkZEVudW1UeXBlSW5kZXggbWFya2VyVHlwZTsKICAg
IGRkU0hPUlQgdW51c2VkOwogICAgZGRGTE9BVCBtYXJrZXJTY2FsZTsKICAgIGRkQ29sb3VyU3Bl
Y2lmaWVyIG1hcmtlckNvbG91cjsKfSBkZE1hcmtlckJ1bmRsZUVudHJ5OwoKdHlwZWRlZiBzdHJ1
Y3QgewogICAgZGRVU0hPUlQgdGV4dEZvbnRJbmRleDsKICAgIGRkVVNIT1JUIHRleHRQcmVjaXNp
b247CiAgICBkZEZMT0FUIGNoYXJFeHBhbnNpb247CiAgICBkZEZMT0FUIGNoYXJTcGFjaW5nOwog
ICAgZGRDb2xvdXJTcGVjaWZpZXIgdGV4dENvbG91cjsKfSBkZFRleHRCdW5kbGVFbnRyeTsKCnR5
cGVkZWYgc3RydWN0IHsKICAgIGRkRW51bVR5cGVJbmRleCBpbnRlcmlvclN0eWxlOwogICAgZGRT
SE9SVCBpbnRlcmlvclN0eWxlSW5kZXg7CiAgICBkZEVudW1UeXBlSW5kZXggcmVmbGVjdGlvbk1v
ZGVsOwogICAgZGRFbnVtVHlwZUluZGV4IHN1cmZhY2VJbnRlcnA7CiAgICBkZEVudW1UeXBlSW5k
ZXggYmZJbnRlcmlvclN0eWxlOwogICAgZGRTSE9SVCBiZkludGVyaW9yU3R5bGVJbmRleDsKICAg
IGRkRW51bVR5cGVJbmRleCBiZlJlZmxlY3Rpb25Nb2RlbDsKICAgIGRkRW51bVR5cGVJbmRleCBi
ZlN1cmZhY2VJbnRlcnA7CiAgICBkZFN1cmZhY2VBcHByb3ggc3VyZmFjZUFwcHJveDsKICAgIGRk
Q29sb3VyU3BlY2lmaWVyIHN1cmZhY2VDb2xvdXI7CiAgICBkZFJlZmxlY3Rpb25BdHRyIHJlZmxl
Y3Rpb25BdHRyOwogICAgZGRDb2xvdXJTcGVjaWZpZXIgYmZTdXJmYWNlQ29sb3VyOwogICAgZGRS
ZWZsZWN0aW9uQXR0ciBiZlJlZmxlY3Rpb25BdHRyOwp9IGRkSW50ZXJpb3JCdW5kbGVFbnRyeTsK
CnR5cGVkZWYgc3RydWN0IHsKICAgIGRkU3dpdGNoIGVkZ2VzOwogICAgZGRVQ0hBUiB1bnVzZWQ7
CiAgICBkZEVudW1UeXBlSW5kZXggZWRnZVR5cGU7CiAgICBkZEZMT0FUIGVkZ2VXaWR0aDsKICAg
IGRkQ29sb3VyU3BlY2lmaWVyIGVkZ2VDb2xvdXI7Cn0gZGRFZGdlQnVuZGxlRW50cnk7Cgp0eXBl
ZGVmIHN0cnVjdCB7CiAgICBkZFNIT1JUIGNvbG91clR5cGU7CiAgICBkZFVTSE9SVCBudW14Owog
ICAgZGRVU0hPUlQgbnVteTsKICAgIGRkVVNIT1JUIHVudXNlZDsKCiAgICB1bmlvbiB7CiAgICAg
ICAgZGRJbmRleGVkQ29sb3VyICppbmRleGVkOwogICAgICAgIGRkUmdiOENvbG91ciAqcmdiODsK
ICAgICAgICBkZFJnYjE2Q29sb3VyICpyZ2IxNjsKICAgICAgICBkZFJnYkZsb2F0Q29sb3VyICpy
Z2JGbG9hdDsKICAgICAgICBkZEhzdkNvbG91ciAqaHN2RmxvYXQ7CiAgICAgICAgZGRIbHNDb2xv
dXIgKmhsc0Zsb2F0OwogICAgICAgIGRkQ2llQ29sb3VyICpjaWVGbG9hdDsKICAgfSBjb2xvdXJz
Owp9IGRkUGF0dGVybkVudHJ5OwojIDEyOSAiLi4vaW5jbHVkZS9taUxVVC5oIgp0eXBlZGVmIHN0
cnVjdCB7CiAgICBkZFVMT05HIG51bUZvbnRzOwogICAgZGlGb250SGFuZGxlIGZvbnRzWzE2XTsK
fSBkZFRleHRGb250RW50cnk7CgoKCnR5cGVkZWYgc3RydWN0IHsKICAgIGRkRW51bVR5cGVJbmRl
eCBsaWdodFR5cGU7CiAgICBkZFNIT1JUIHVudXNlZDsKICAgIGRkVmVjdG9yM0QgZGlyZWN0aW9u
OwogICAgZGRDb29yZDNEIHBvaW50OwogICAgZGRGTE9BVCBjb25jZW50cmF0aW9uOwogICAgZGRG
TE9BVCBzcHJlYWRBbmdsZTsKICAgIGRkRkxPQVQgYXR0ZW51YXRpb24xOwogICAgZGRGTE9BVCBh
dHRlbnVhdGlvbjI7CiAgICBkZENvbG91clNwZWNpZmllciBsaWdodENvbG91cjsKfSBkZExpZ2h0
RW50cnk7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBkZFVDSEFSIG1vZGU7CiAgICBkZFVDSEFSIHVu
dXNlZDsKICAgIGRkVVNIT1JUIHVudXNlZDI7CiAgICBkZEZMT0FUIGZyb250UGxhbmU7CiAgICBk
ZEZMT0FUIGJhY2tQbGFuZTsKICAgIGRkRkxPQVQgZnJvbnRTY2FsaW5nOwogICAgZGRGTE9BVCBi
YWNrU2NhbGluZzsKICAgIGRkQ29sb3VyU3BlY2lmaWVyIGRlcHRoQ3VlQ29sb3VyOwp9IGRkRGVw
dGhDdWVFbnRyeTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIGRkRW51bVR5cGVJbmRleCBhcHByb3hU
eXBlOwogICAgZGRFbnVtVHlwZUluZGV4IGFwcHJveE1vZGVsOwogICAgZGRVU0hPUlQgbWF4MTsK
ICAgIGRkVVNIT1JUIG1heDI7CiAgICBkZFVTSE9SVCBtYXgzOwogICAgZGRVQ0hBUiBkaXRoZXI7
CiAgICBkZFVDSEFSIHVudXNlZDsKICAgIGRkVUxPTkcgbXVsdDE7CiAgICBkZFVMT05HIG11bHQy
OwogICAgZGRVTE9ORyBtdWx0MzsKICAgIGRkRkxPQVQgd2VpZ2h0MTsKICAgIGRkRkxPQVQgd2Vp
Z2h0MjsKICAgIGRkRkxPQVQgd2VpZ2h0MzsKICAgIGRkVUxPTkcgYmFzZVBpeGVsOwp9IGRkQ29s
b3VyQXBwcm94RW50cnk7CiMgMTg3ICIuLi9pbmNsdWRlL21pTFVULmgiCnR5cGVkZWYgc3RydWN0
IHsKICAgICAgICBkZFVTSE9SVCBzdGF0dXM7CiAgICAgICAgZGRUYWJsZUluZGV4IGluZGV4Owp9
IG1pVGFibGVFbnRyeTsKCnR5cGVkZWYgc3RydWN0IF9taUxpbmVCdW5kbGVFbnRyeSB7CiAgICAg
ICAgbWlUYWJsZUVudHJ5IGVudHJ5X2luZm87CgogICAgICAgIGRkTGluZUJ1bmRsZUVudHJ5IGVu
dHJ5OwogICAgICAgIGRkTGluZUJ1bmRsZUVudHJ5IHJlYWxfZW50cnk7Cn0gbWlMaW5lQnVuZGxl
RW50cnk7Cgp0eXBlZGVmIHN0cnVjdCBfbWlNYXJrZXJCdW5kbGVFbnRyeSB7CiAgICAgICAgbWlU
YWJsZUVudHJ5IGVudHJ5X2luZm87CgogICAgICAgIGRkTWFya2VyQnVuZGxlRW50cnkgZW50cnk7
CiAgICAgICAgZGRNYXJrZXJCdW5kbGVFbnRyeSByZWFsX2VudHJ5Owp9IG1pTWFya2VyQnVuZGxl
RW50cnk7Cgp0eXBlZGVmIHN0cnVjdCBfbWlUZXh0QnVuZGxlRW50cnkgewogICAgICAgIG1pVGFi
bGVFbnRyeSBlbnRyeV9pbmZvOwoKICAgICAgICBkZFRleHRCdW5kbGVFbnRyeSBlbnRyeTsKICAg
ICAgICBkZFRleHRCdW5kbGVFbnRyeSByZWFsX2VudHJ5Owp9IG1pVGV4dEJ1bmRsZUVudHJ5OwoK
dHlwZWRlZiBzdHJ1Y3QgX21pSW50ZXJpb3JCdW5kbGVFbnRyeSB7CiAgICAgICAgbWlUYWJsZUVu
dHJ5IGVudHJ5X2luZm87CgogICAgICAgIGRkSW50ZXJpb3JCdW5kbGVFbnRyeSBlbnRyeTsKICAg
ICAgICBkZEludGVyaW9yQnVuZGxlRW50cnkgcmVhbF9lbnRyeTsKfSBtaUludGVyaW9yQnVuZGxl
RW50cnk7Cgp0eXBlZGVmIHN0cnVjdCBfbWlFZGdlQnVuZGxlRW50cnkgewogICAgICAgIG1pVGFi
bGVFbnRyeSBlbnRyeV9pbmZvOwoKICAgICAgICBkZEVkZ2VCdW5kbGVFbnRyeSBlbnRyeTsKICAg
ICAgICBkZEVkZ2VCdW5kbGVFbnRyeSByZWFsX2VudHJ5Owp9IG1pRWRnZUJ1bmRsZUVudHJ5OwoK
dHlwZWRlZiBzdHJ1Y3QgX21pUGF0dGVybkVudHJ5IHsKICAgICAgICBtaVRhYmxlRW50cnkgZW50
cnlfaW5mbzsKCiAgICAgICAgZGRQYXR0ZXJuRW50cnkgZW50cnk7Cn0gbWlQYXR0ZXJuRW50cnk7
CgoKdHlwZWRlZiBzdHJ1Y3QgX21pVGV4dEZvbnRFbnRyeSB7CiAgICAgICAgbWlUYWJsZUVudHJ5
IGVudHJ5X2luZm87CgogICAgICAgIGRkVGV4dEZvbnRFbnRyeSBlbnRyeTsKfSBtaVRleHRGb250
RW50cnk7Cgp0eXBlZGVmIHN0cnVjdCBfbWlDb2xvdXJFbnRyeSB7CiAgICAgICAgbWlUYWJsZUVu
dHJ5IGVudHJ5X2luZm87CgogICAgICAgIGRkQ29sb3VyU3BlY2lmaWVyIGVudHJ5Owp9IG1pQ29s
b3VyRW50cnk7Cgp0eXBlZGVmIHN0cnVjdCBfbWlWaWV3RW50cnkgewogICAgICAgIG1pVGFibGVF
bnRyeSBlbnRyeV9pbmZvOwoKICAgICAgICBkZFZpZXdFbnRyeSBlbnRyeTsKICAgICAgICBkZEZM
T0FUIHZvbVs0XVs0XTsKICAgICAgICBkZEZMT0FUIHZvbV9pbnZbNF1bNF07CiAgICAgICAgZGRC
T09MIGludl9mbGFnOwp9IG1pVmlld0VudHJ5OwoKdHlwZWRlZiBzdHJ1Y3QgX21pTGlnaHRFbnRy
eSB7CiAgICAgICAgbWlUYWJsZUVudHJ5IGVudHJ5X2luZm87CgogICAgICAgIGRkTGlnaHRFbnRy
eSBlbnRyeTsKICAgICAgICBkb3VibGUgY29zU3ByZWFkQW5nbGU7Cn0gbWlMaWdodEVudHJ5OwoK
dHlwZWRlZiBzdHJ1Y3QgX21pRGVwdGhDdWVFbnRyeSB7CiAgICAgICAgbWlUYWJsZUVudHJ5IGVu
dHJ5X2luZm87CgogICAgICAgIGRkRGVwdGhDdWVFbnRyeSBlbnRyeTsKfSBtaURlcHRoQ3VlRW50
cnk7Cgp0eXBlZGVmIHN0cnVjdCBfbWlDb2xvdXJBcHByb3hFbnRyeSB7CiAgICAgICAgbWlUYWJs
ZUVudHJ5IGVudHJ5X2luZm87CgogICAgICAgIGRkQ29sb3VyQXBwcm94RW50cnkgZW50cnk7Cn0g
bWlDb2xvdXJBcHByb3hFbnRyeTsKCnR5cGVkZWYgZGRwZXg0M3J0biAoKm1pT3BzVGFibGVUeXBl
KSgpOwoKdHlwZWRlZiBzdHJ1Y3QgX21pTFVUSGVhZGVyIHsKCgogICAgICAgIGRkRHJhd2FibGVJ
bmZvIGRyYXdFeGFtcGxlOwogICAgICAgIGRkU0hPUlQgZHJhd1R5cGU7CgogICAgICAgIGRkVVNI
T1JUIHN0YXJ0SW5kZXg7CiAgICAgICAgZGRVU0hPUlQgZGVmYXVsdEluZGV4OwogICAgICAgIGRk
VVNIT1JUIG51bURlZmluZWQ7CiAgICAgICAgZGRUYWJsZUluZm8gdGFibGVJbmZvOwoKICAgICAg
ICBsaXN0b2ZPYmogKndrc1JlZkxpc3Q7CiAgICAgICAgbGlzdG9mT2JqICpyZW5kUmVmTGlzdDsK
ICAgICAgICBkZEJPT0wgZnJlZUZsYWc7CgoKCgoKCiAgICAgICAgdW5pb24gewogICAgICAgICAg
ICAgICAgbWlMaW5lQnVuZGxlRW50cnkgKmxpbmU7CiAgICAgICAgICAgICAgICBtaU1hcmtlckJ1
bmRsZUVudHJ5ICptYXJrZXI7CiAgICAgICAgICAgICAgICBtaVRleHRCdW5kbGVFbnRyeSAqdGV4
dDsKICAgICAgICAgICAgICAgIG1pSW50ZXJpb3JCdW5kbGVFbnRyeSAqaW50ZXJpb3I7CiAgICAg
ICAgICAgICAgICBtaUVkZ2VCdW5kbGVFbnRyeSAqZWRnZTsKICAgICAgICAgICAgICAgIG1pUGF0
dGVybkVudHJ5ICpwYXR0ZXJuOwogICAgICAgICAgICAgICAgbWlUZXh0Rm9udEVudHJ5ICpmb250
OwogICAgICAgICAgICAgICAgbWlDb2xvdXJFbnRyeSAqY29sb3VyOwogICAgICAgICAgICAgICAg
bWlWaWV3RW50cnkgKnZpZXc7CiAgICAgICAgICAgICAgICBtaUxpZ2h0RW50cnkgKmxpZ2h0Owog
ICAgICAgICAgICAgICAgbWlEZXB0aEN1ZUVudHJ5ICpkZXB0aEN1ZTsKICAgICAgICAgICAgICAg
IG1pQ29sb3VyQXBwcm94RW50cnkgKmNvbG91ckFwcHJveDsKICAgICAgICAgfSBwbHV0OwojIDMz
NiAiLi4vaW5jbHVkZS9taUxVVC5oIgogICAgICAgIG1pT3BzVGFibGVUeXBlIG9wc1soMTMgLSA0
ICsgMSArIDYpXTsKfSBtaUxVVEhlYWRlcjsKIyA2MSAiLi4vaW5jbHVkZS9taVJlbmRlci5oIiAy
CgoKCgoKCnR5cGVkZWYgc3RydWN0IF9taUxpc3RIZWFkZXIgewogICAgICAgIGRkUG9pbnRUeXBl
IHR5cGU7CiAgICAgICAgZGRVU0hPUlQgZmxhZ3M7CiAgICAgICAgZGRVTE9ORyBudW1MaXN0czsK
ICAgICAgICBkZFVMT05HIG1heExpc3RzOwogICAgICAgIGxpc3RvZmRkUG9pbnQgKmRkTGlzdDsK
fSBtaUxpc3RIZWFkZXI7CgoKCgoKCgp0eXBlZGVmIHN0cnVjdCBfbWlEeW5hbWljRERDb250ZXh0
IHsKICAgICAgICBkZFBDQXR0ciAqcFBDQXR0cjsKICAgICAgICBkZE5hbWVQaWVjZSBjdXJyZW50
TmFtZXNbKCgyNTUgLSAwICsxKSAvIChzaXplb2YoZGROYW1lUGllY2UpICogOCkpXTsKICAgICAg
ICBzdHJ1Y3QgX21pRHluYW1pY0REQ29udGV4dCAqbmV4dDsKICAgICAgICBkZEZMT0FUIG1jX3Rv
X3djX3hmb3JtWzRdWzRdOwogICAgICAgIGRkRkxPQVQgd2NfdG9fbnBjX3hmb3JtWzRdWzRdOwog
ICAgICAgIGRkRkxPQVQgbWNfdG9fbnBjX3hmb3JtWzRdWzRdOwogICAgICAgIGRkRkxPQVQgd2Nf
dG9fY2NfeGZvcm1bNF1bNF07CiAgICAgICAgZGRGTE9BVCBjY190b19kY194Zm9ybVs0XVs0XTsK
ICAgICAgICBkZEZMT0FUIG1jX3RvX2NjX3hmb3JtWzRdWzRdOwogICAgICAgIGRkRkxPQVQgbWNf
dG9fZGNfeGZvcm1bNF1bNF07CiAgICAgICAgZGRGTE9BVCBucGNfdG9fY2NfeGZvcm1bNF1bNF07
CiAgICAgICAgZGRVU0hPUlQgY2xpcEZsYWdzOwogICAgICAgIGRkVVNIT1JUIGZpbHRlcl9mbGFn
czsKICAgICAgICBkZFVTSE9SVCBkb19wcmltczsKfSBtaUR5bmFtaWNERENvbnRleHQ7CiMgMTYy
ICIuLi9pbmNsdWRlL21pUmVuZGVyLmgiCnR5cGVkZWYgZGRwZXgycnRuICgqUmVuZFRhYmxlVHlw
ZSkoKTsKIyAxNzEgIi4uL2luY2x1ZGUvbWlSZW5kZXIuaCIKdHlwZWRlZiBzdHJ1Y3QgX21pRERD
b250ZXh0UmVuZEF0dHJzIHsKICAgICAgICBkZEVudW1UeXBlSW5kZXggbWFya2VyVHlwZTsKICAg
ICAgICBkZEZMT0FUIG1hcmtlclNjYWxlOwogICAgICAgIGRkQ29sb3VyU3BlY2lmaWVyIG1hcmtl
ckNvbG91cjsKICAgICAgICBkZFVTSE9SVCB0ZXh0Rm9udDsKICAgICAgICBkZFVTSE9SVCB0ZXh0
UHJlY2lzaW9uOwogICAgICAgIGRkRkxPQVQgY2hhckV4cGFuc2lvbjsKICAgICAgICBkZEZMT0FU
IGNoYXJTcGFjaW5nOwogICAgICAgIGRkQ29sb3VyU3BlY2lmaWVyIHRleHRDb2xvdXI7CiAgICAg
ICAgZGRGTE9BVCBjaGFySGVpZ2h0OwogICAgICAgIGRkVmVjdG9yMkQgY2hhclVwOwogICAgICAg
IGRkVVNIT1JUIHRleHRQYXRoOwogICAgICAgIGRkVGV4dEFsaWdubWVudERhdGEgdGV4dEFsaWdu
bWVudDsKICAgICAgICBkZEZMT0FUIGF0ZXh0SGVpZ2h0OwogICAgICAgIGRkVmVjdG9yMkQgYXRl
eHRVcDsKICAgICAgICBkZFVTSE9SVCBhdGV4dFBhdGg7CiAgICAgICAgZGRUZXh0QWxpZ25tZW50
RGF0YSBhdGV4dEFsaWdubWVudDsKICAgICAgICBkZEVudW1UeXBlSW5kZXggYXRleHRTdHlsZTsK
ICAgICAgICBkZEVudW1UeXBlSW5kZXggbGluZVR5cGU7CiAgICAgICAgZGRGTE9BVCBsaW5lV2lk
dGg7CiAgICAgICAgZGRDb2xvdXJTcGVjaWZpZXIgbGluZUNvbG91cjsKICAgICAgICBkZEN1cnZl
QXBwcm94IGN1cnZlQXBwcm94OwogICAgICAgIGRkRW51bVR5cGVJbmRleCBsaW5lSW50ZXJwOwog
ICAgICAgIGRkRW51bVR5cGVJbmRleCBpbnRTdHlsZTsKICAgICAgICBkZENvbG91clNwZWNpZmll
ciBzdXJmYWNlQ29sb3VyOwogICAgICAgIGRkUmVmbGVjdGlvbkF0dHIgcmVmbEF0dHI7CiAgICAg
ICAgZGRFbnVtVHlwZUluZGV4IHJlZmxNb2RlbDsKICAgICAgICBkZEVudW1UeXBlSW5kZXggc3Vy
ZkludGVycDsKICAgICAgICBkZEVudW1UeXBlSW5kZXggYmZJbnRTdHlsZTsKICAgICAgICBkZENv
bG91clNwZWNpZmllciBiZlN1cmZDb2xvdXI7CiAgICAgICAgZGRSZWZsZWN0aW9uQXR0ciBiZlJl
ZmxBdHRyOwogICAgICAgIGRkRW51bVR5cGVJbmRleCBiZlJlZmxNb2RlbDsKICAgICAgICBkZEVu
dW1UeXBlSW5kZXggYmZTdXJmSW50ZXJwOwogICAgICAgIGRkU3VyZmFjZUFwcHJveCBzdXJmQXBw
cm94OwogICAgICAgIGRkQ29vcmQyRCBwYXR0ZXJuU2l6ZTsKICAgICAgICBkZENvb3JkM0QgcGF0
dGVyblJlZlB0OwogICAgICAgIGRkVmVjdG9yM0QgcGF0dGVyblJlZlYxOwogICAgICAgIGRkVmVj
dG9yM0QgcGF0dGVyblJlZlYyOwogICAgICAgIGRkVVNIT1JUIGVkZ2VzOwogICAgICAgIGRkRW51
bVR5cGVJbmRleCBlZGdlVHlwZTsKICAgICAgICBkZEZMT0FUIGVkZ2VXaWR0aDsKICAgICAgICBk
ZENvbG91clNwZWNpZmllciBlZGdlQ29sb3VyOwogICAgICAgIGRkVVNIT1JUIG1vZGVsQ2xpcDsK
ICAgICAgICBkZFVMT05HIHBpY2tJZDsKICAgICAgICBkZFVMT05HIGhsaHNyVHlwZTsKICAgICAg
ICBkZENvbG91clNwZWNpZmllciBiYWNrZ3JvdW5kQ29sb3VyOwogICAgICAgIGRkVVNIT1JUIGNs
ZWFySTsKICAgICAgICBkZFVTSE9SVCBjbGVhclo7CiAgICAgICAgZGRVU0hPUlQgZWNob01vZGU7
CiAgICAgICAgZGRDb2xvdXJTcGVjaWZpZXIgZWNob0NvbG91cjsKfSBtaUREQ29udGV4dFJlbmRB
dHRyczsKIyAyNDkgIi4uL2luY2x1ZGUvbWlSZW5kZXIuaCIKdHlwZWRlZiBzdHJ1Y3QgX21pRERD
b250ZXh0TWlzYyB7CiAgICAgICAgZGRVTE9ORyBsaXN0SW5kZXg7CiAgICAgICAgbWlMaXN0SGVh
ZGVyIGxpc3Q0RFs0XTsKICAgICAgICBtaUxpc3RIZWFkZXIgbGlzdDJEOwogICAgICAgIGRkVUxP
TkcgZmFjZXRJbmRleDsKICAgICAgICBsaXN0b2ZkZEZhY2V0IGZhY2V0c1s0XTsKICAgICAgICBk
ZEZMT0FUIHZpZXdwb3J0X3hmb3JtWzRdWzRdOwogICAgICAgIGRkVUxPTkcgZmxhZ3M7CiAgICAg
ICAgR0NQdHIgcFBvbHlsaW5lR0M7CiAgICAgICAgR0NQdHIgcEZpbGxBcmVhR0M7CiAgICAgICAg
R0NQdHIgcEVkZ2VHQzsKICAgICAgICBHQ1B0ciBwUG9seU1hcmtlckdDOwogICAgICAgIEdDUHRy
IHBUZXh0R0M7CiAgICAgICAgZGRGTE9BVCBpbnZfdHJfbWNfdG9fd2NfeGZvcm1bNF1bNF07CiAg
ICAgICAgZGRGTE9BVCBpbnZfdHJfd2NfdG9fY2NfeGZvcm1bNF1bNF07CiAgICAgICAgZGRGTE9B
VCBpbnZfdHJfbWNfdG9fY2NfeGZvcm1bNF1bNF07CiAgICAgICAgZGRGTE9BVCBpbnZfdHJfY2Nf
dG9fZGNfeGZvcm1bNF1bNF07CiAgICAgICAgZGRGTE9BVCBpbnZfdnB0X3hmb3JtWzRdWzRdOwog
ICAgICAgIGRkRkxPQVQgaW52X3ZpZXdfeGZvcm1bNF1bNF07CiAgICAgICAgbGlzdG9mT2JqICpt
c19NQ1Y7CgogICAgICAgIGRkQ29vcmQ0RCBleWVfcHQ7CiAgICAgICAgZGRDb2xvdXJTcGVjaWZp
ZXIgaGlnaGxpZ2h0X2NvbG91cjsKICAgICAgICBkZERlcHRoQ3VlRW50cnkgY2NfZGN1ZV9lbnRy
eTsKCn0gbWlERENvbnRleHRNaXNjOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkRW51bVR5
cGVJbmRleCB0eXBlOwogICAgICAgIGRkVVNIT1JUIHN0YXR1czsKICAgICAgICBkZE5hbWVQaWVj
ZSBpbmNsdXNpb25bKCgyNTUgLSAwICsxKSAvIChzaXplb2YoZGROYW1lUGllY2UpICogOCkpXTsK
ICAgICAgICBkZE5hbWVQaWVjZSBleGNsdXNpb25bKCgyNTUgLSAwICsxKSAvIChzaXplb2YoZGRO
YW1lUGllY2UpICogOCkpXTsKICAgICAgICB1bmlvbiB7CiAgICAgICAgICAgICAgICBjaGFyIGRj
X2RhdGFfcmVjOwogICAgICAgICAgICAgICAgY2hhciBucGNfZGF0YV9yZWM7CiAgICAgICAgfSBk
YXRhX3JlYzsKICAgICAgICB1bmlvbiB7CiAgICAgICAgICAgICAgICBkZFBDX0RDX0hpdEJveCBk
Y19oaXRfYm94OwogICAgICAgICAgICAgICAgZGRQQ19OUENfSGl0Vm9sdW1lIG5wY19oaXRfdm9s
dW1lOwogICAgICAgIH0gaW5wdXRfcmVjOwogICAgICAgIGRkUG9pbnRlciBkZXZQcml2Owp9IGRk
UGlja0RldmljZVN0cjsKCnR5cGVkZWYgc3RydWN0IF9kZFNlYXJjaERldlByaXYgewogICAgICAg
IGRkVVNIT1JUIHN0YXR1czsKICAgICAgICBkZENvb3JkM0QgcG9zaXRpb247CiAgICAgICAgZGRG
TE9BVCBkaXN0YW5jZTsKICAgICAgICBkZEJPT0wgbW9kZWxDbGlwRmxhZzsKICAgICAgICBkZE5h
bWVQaWVjZSBub3JtX2luY2x1c2lvblsoKDI1NSAtIDAgKzEpIC8gKHNpemVvZihkZE5hbWVQaWVj
ZSkgKiA4KSldOwogICAgICAgIGRkTmFtZVBpZWNlIG5vcm1fZXhjbHVzaW9uWygoMjU1IC0gMCAr
MSkgLyAoc2l6ZW9mKGRkTmFtZVBpZWNlKSAqIDgpKV07CiAgICAgICAgZGROYW1lUGllY2UgaW52
ZXJ0X2luY2x1c2lvblsoKDI1NSAtIDAgKzEpIC8gKHNpemVvZihkZE5hbWVQaWVjZSkgKiA4KSld
OwogICAgICAgIGRkTmFtZVBpZWNlIGludmVydF9leGNsdXNpb25bKCgyNTUgLSAwICsxKSAvIChz
aXplb2YoZGROYW1lUGllY2UpICogOCkpXTsKICAgICAgICBkZFBvaW50ZXIgZGV2UHJpdjsKfSBk
ZFNlYXJjaERldmljZVN0cjsKCnR5cGVkZWYgc3RydWN0IF9taVN0YXRpY0REQ29udGV4dCB7CiAg
IG1pRERDb250ZXh0UmVuZEF0dHJzICphdHRyczsKICAgbWlERENvbnRleHRNaXNjIG1pc2M7CiAg
IFJlbmRUYWJsZVR5cGUgUmVuZGVyUHJvY3NbNV07CiAgIGRkUGlja0RldmljZVN0ciBwaWNrOwog
ICBkZFNlYXJjaERldmljZVN0ciBzZWFyY2g7Cn0gbWlTdGF0aWNERENvbnRleHQ7CgoKCgp0eXBl
ZGVmIHN0cnVjdCBfbWlERENvbnRleHQgewogICAgICAgIG1pU3RhdGljRERDb250ZXh0IFN0YXRp
YzsKICAgICAgICBtaUR5bmFtaWNERENvbnRleHQgKkR5bmFtaWM7Cn0gbWlERENvbnRleHQ7CiMg
MzM3ICIuLi9pbmNsdWRlL21pUmVuZGVyLmgiCmV4dGVybiBkZEZMT0FUIGlkZW50NHg0WzRdWzRd
OwojIDUyICJtaVBjazFQcmltLmMiIDIKCgojIDEgIi4uLy4uLy4uL2luY2x1ZGUvUEVYRXJyLmgi
IDEKIyA1NCAiLi4vLi4vLi4vaW5jbHVkZS9QRVhFcnIuaCIKdHlwZWRlZiBpbnQgRXJyb3JDb2Rl
OwojIDU1ICJtaVBjazFQcmltLmMiIDIKIyAxICIuLi9pbmNsdWRlL21pU3RydWN0LmgiIDEKIyA1
NSAiLi4vaW5jbHVkZS9taVN0cnVjdC5oIgojIDEgIi4uLy4uLy4uL2luY2x1ZGUvUEVYcHJvdG8u
aCIgMQojIDEwNiAiLi4vLi4vLi4vaW5jbHVkZS9QRVhwcm90by5oIgp0eXBlZGVmIHN0cnVjdCB7
CiAgICBCWVRFIHR5cGU7CiAgICBDQVJEOCB3aGF0OwogICAgQ0FSRDE2IHNlcXVlbmNlTnVtYmVy
IDsKICAgIENBUkQzMiBsZW5ndGggOwogICAgQ0FSRDE2IG1ham9yVmVyc2lvbiA7CiAgICBDQVJE
MTYgbWlub3JWZXJzaW9uIDsKICAgIENBUkQzMiByZWxlYXNlIDsKICAgIENBUkQzMiBsZW5ndGhO
YW1lIDsKICAgIENBUkQzMiBzdWJzZXRJbmZvIDsKICAgIEJZVEUgcGFkWzhdOwoKCiAgICB9IHBl
eEdldEV4dGVuc2lvbkluZm9SZXBseTsKCgp0eXBlZGVmIHN0cnVjdCB7CiAgICBCWVRFIHR5cGU7
CiAgICBDQVJEOCB3aGF0OwogICAgQ0FSRDE2IHNlcXVlbmNlTnVtYmVyIDsKICAgIENBUkQzMiBs
ZW5ndGggOwogICAgQ0FSRDMyIG51bUxpc3RzIDsKICAgIEJZVEUgcGFkWzIwXTsKCgogICAgfSBw
ZXhHZXRFbnVtZXJhdGVkVHlwZUluZm9SZXBseTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIEJZVEUg
dHlwZTsKICAgIENBUkQ4IHdoYXQ7CiAgICBDQVJEMTYgc2VxdWVuY2VOdW1iZXIgOwogICAgQ0FS
RDMyIGxlbmd0aCA7CiAgICBCWVRFIHBhZFsyNF07CgogICAgfSBwZXhHZXRJbXBEZXBDb25zdGFu
dHNSZXBseTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIEJZVEUgdHlwZTsKICAgIENBUkQ4IHdoYXQ7
CiAgICBDQVJEMTYgc2VxdWVuY2VOdW1iZXIgOwogICAgQ0FSRDMyIGxlbmd0aCA7CiAgICBDQVJE
MzIgZXNjYXBlSUQgOwogICAgQ0FSRDggZXNjYXBlX3NwZWNpZmljWzIwXTsKCgogICAgfSBwZXhF
c2NhcGVXaXRoUmVwbHlSZXBseTsKCgp0eXBlZGVmIHN0cnVjdCB7CiAgICBCWVRFIHR5cGU7CiAg
ICBDQVJEOCB3aGF0OwogICAgQ0FSRDE2IHNlcXVlbmNlTnVtYmVyIDsKICAgIENBUkQzMiBsZW5n
dGggOwogICAgQllURSBwYWRbMjRdOwoKICAgIH0gcGV4TWF0Y2hSZW5kZXJlclRhcmdldHNSZXBs
eTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIEJZVEUgdHlwZTsKICAgIENBUkQ4IHdoYXQ7CiAgICBD
QVJEMTYgc2VxdWVuY2VOdW1iZXIgOwogICAgQ0FSRDMyIGxlbmd0aCA7CiAgICBDQVJEMTYgdW51
c2VkIDsKICAgIENBUkQxNiBkZWZpbmFibGVFbnRyaWVzIDsKICAgIENBUkQxNiBudW1QcmVkZWZp
bmVkIDsKICAgIENBUkQxNiBwcmVkZWZpbmVkTWluIDsKICAgIENBUkQxNiBwcmVkZWZpbmVkTWF4
IDsKICAgIEJZVEUgcGFkWzE0XTsKICAgIH0gcGV4R2V0VGFibGVJbmZvUmVwbHk7Cgp0eXBlZGVm
IHN0cnVjdCB7CiAgICBCWVRFIHR5cGU7CiAgICBDQVJEOCB3aGF0OwogICAgQ0FSRDE2IHNlcXVl
bmNlTnVtYmVyIDsKICAgIENBUkQzMiBsZW5ndGggOwogICAgQ0FSRDMyIHVudXNlZCA7CiAgICBD
QVJEMzIgbnVtRW50cmllcyA7CiAgICBCWVRFIHBhZFsxNl07CgogICAgfSBwZXhHZXRQcmVkZWZp
bmVkRW50cmllc1JlcGx5OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQllURSB0eXBlOwogICAgQ0FS
RDggd2hhdDsKICAgIENBUkQxNiBzZXF1ZW5jZU51bWJlciA7CiAgICBDQVJEMzIgbGVuZ3RoIDsK
ICAgIENBUkQzMiBudW1JbmRpY2VzIDsKICAgIEJZVEUgcGFkWzIwXTsKCgogICAgfSBwZXhHZXRE
ZWZpbmVkSW5kaWNlc1JlcGx5OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQllURSB0eXBlOwogICAg
Q0FSRDggd2hhdDsKICAgIENBUkQxNiBzZXF1ZW5jZU51bWJlciA7CiAgICBDQVJEMzIgbGVuZ3Ro
IDsKICAgIENBUkQxNiBzdGF0dXMgOwogICAgQ0FSRDE2IHRhYmxlVHlwZSA7CiAgICBCWVRFIHBh
ZFsyMF07CgogICAgfSBwZXhHZXRUYWJsZUVudHJ5UmVwbHk7Cgp0eXBlZGVmIHN0cnVjdCB7CiAg
ICBCWVRFIHR5cGU7CiAgICBDQVJEOCB3aGF0OwogICAgQ0FSRDE2IHNlcXVlbmNlTnVtYmVyIDsK
ICAgIENBUkQzMiBsZW5ndGggOwogICAgQ0FSRDE2IHRhYmxlVHlwZSA7CiAgICBDQVJEMTYgdW51
c2VkIDsKICAgIENBUkQzMiBudW1FbnRyaWVzIDsKICAgIEJZVEUgcGFkWzE2XTsKCiAgICB9IHBl
eEdldFRhYmxlRW50cmllc1JlcGx5OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQllURSB0eXBlOwog
ICAgQ0FSRDggd2hhdDsKICAgIENBUkQxNiBzZXF1ZW5jZU51bWJlciA7CiAgICBDQVJEMzIgbGVu
Z3RoIDsKICAgIENBUkQxNiBzdGF0dXMgOwogICAgQ0FSRDE2IHRhYmxlVHlwZSA7CiAgICBDQVJE
MzIgbnVtVmFsdWVzIDsKICAgIEJZVEUgcGFkWzE2XTsKCiAgICB9IHBleEdldFRhYmxlVmFsdWVz
UmVwbHk7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBCWVRFIHR5cGU7CiAgICBDQVJEOCB3aGF0Owog
ICAgQ0FSRDE2IHNlcXVlbmNlTnVtYmVyIDsKICAgIENBUkQzMiBsZW5ndGggOwogICAgQllURSBw
YWRbMjRdOwoKICAgIH0gcGV4R2V0UGlwZWxpbmVDb250ZXh0UmVwbHk7CgoKdHlwZWRlZiBzdHJ1
Y3QgewogICAgQllURSB0eXBlOwogICAgQ0FSRDggd2hhdDsKICAgIENBUkQxNiBzZXF1ZW5jZU51
bWJlciA7CiAgICBDQVJEMzIgbGVuZ3RoIDsKICAgIEJZVEUgcGFkWzI0XTsKCiAgICB9IHBleEdl
dFJlbmRlcmVyQXR0cmlidXRlc1JlcGx5OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQllURSB0eXBl
OwogICAgQ0FSRDggd2hhdDsKICAgIENBUkQxNiBzZXF1ZW5jZU51bWJlciA7CiAgICBDQVJEMzIg
bGVuZ3RoIDsKICAgIENBUkQzMiBudW1WYWx1ZXMgOwogICAgcGV4U3dpdGNoIHVuZGVmaW5lZFZh
bHVlczsKICAgIEJZVEUgcGFkWzE5XTsKCn0gcGV4R2V0WkJ1ZmZlclJlcGx5OwoKdHlwZWRlZiBz
dHJ1Y3QgewogICAgQllURSB0eXBlOwogICAgQ0FSRDggd2hhdDsKICAgIENBUkQxNiBzZXF1ZW5j
ZU51bWJlciA7CiAgICBDQVJEMzIgbGVuZ3RoIDsKICAgIElOVDMyIGNvdW50IDsKICAgIEJZVEUg
cGFkWzIwXTsKfSBwZXhOZXh0UGFzc1JlcGx5OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQllURSB0
eXBlOwogICAgQ0FSRDggd2hhdDsKICAgIENBUkQxNiBzZXF1ZW5jZU51bWJlciA7CiAgICBDQVJE
MzIgbGVuZ3RoIDsKICAgIHBleEJpdG1hc2sgdGFibGVzIDsKICAgIHBleEJpdG1hc2sgbmFtZXNl
dHMgOwogICAgcGV4Qml0bWFzayBhdHRyaWJ1dGVzIDsKICAgIEJZVEUgcGFkWzEyXTsKfSBwZXhH
ZXRSZW5kZXJlckR5bmFtaWNzUmVwbHk7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBCWVRFIHR5cGU7
CiAgICBDQVJEOCB3aGF0OwogICAgQ0FSRDE2IHNlcXVlbmNlTnVtYmVyIDsKICAgIENBUkQzMiBs
ZW5ndGggOwogICAgQ0FSRDE2IGVkaXRNb2RlIDsKICAgIENBUkQxNiB1bnVzZWQgOwogICAgQ0FS
RDMyIGVsZW1lbnRQdHIgOwogICAgQ0FSRDMyIG51bUVsZW1lbnRzIDsKICAgIENBUkQzMiBsZW5n
dGhTdHJ1Y3R1cmUgOwogICAgQ0FSRDE2IGhhc1JlZnMgOwogICAgQllURSBwYWRbNl07CiAgICB9
IHBleEdldFN0cnVjdHVyZUluZm9SZXBseTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIEJZVEUgdHlw
ZTsKICAgIENBUkQ4IHdoYXQ7CiAgICBDQVJEMTYgc2VxdWVuY2VOdW1iZXIgOwogICAgQ0FSRDMy
IGxlbmd0aCA7CiAgICBDQVJEMzIgbnVtSW5mbyA7CiAgICBCWVRFIHBhZFsyMF07CgogICAgfSBw
ZXhHZXRFbGVtZW50SW5mb1JlcGx5OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQllURSB0eXBlOwog
ICAgQ0FSRDggd2hhdDsKICAgIENBUkQxNiBzZXF1ZW5jZU51bWJlciA7CiAgICBDQVJEMzIgbGVu
Z3RoIDsKICAgIENBUkQ4IHVudXNlZFs4XTsKICAgIENBUkQzMiBudW1TdHJ1Y3R1cmVzIDsKICAg
IEJZVEUgcGFkWzEyXTsKCiAgICB9IHBleEdldFN0cnVjdHVyZXNJbk5ldHdvcmtSZXBseTsKCnR5
cGVkZWYgc3RydWN0IHsKICAgIEJZVEUgdHlwZTsKICAgIENBUkQ4IHdoYXQ7CiAgICBDQVJEMTYg
c2VxdWVuY2VOdW1iZXIgOwogICAgQ0FSRDMyIGxlbmd0aCA7CiAgICBDQVJEOCB1bnVzZWRbMTJd
OwogICAgQ0FSRDMyIG51bVBhdGhzIDsKICAgIEJZVEUgcGFkWzhdOwoKICAgIH0gcGV4R2V0QW5j
ZXN0b3JzUmVwbHk7Cgp0eXBlZGVmIHBleEdldEFuY2VzdG9yc1JlcGx5IHBleEdldERlc2NlbmRh
bnRzUmVwbHk7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBCWVRFIHR5cGU7CiAgICBDQVJEOCB3aGF0
OwogICAgQ0FSRDE2IHNlcXVlbmNlTnVtYmVyIDsKICAgIENBUkQzMiBsZW5ndGggOwogICAgQ0FS
RDMyIG51bUVsZW1lbnRzIDsKICAgIEJZVEUgcGFkWzIwXTsKCiAgICB9IHBleEZldGNoRWxlbWVu
dHNSZXBseTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIEJZVEUgdHlwZTsKICAgIENBUkQ4IHdoYXQ7
CiAgICBDQVJEMTYgc2VxdWVuY2VOdW1iZXIgOwogICAgQ0FSRDMyIGxlbmd0aCA7CiAgICBDQVJE
MTYgc3RhdHVzIDsKICAgIENBUkQxNiB1bnVzZWQgOwogICAgQ0FSRDMyIGZvdW5kT2Zmc2V0IDsK
ICAgIEJZVEUgcGFkWzE2XTsKICAgIH0gcGV4RWxlbWVudFNlYXJjaFJlcGx5OwoKdHlwZWRlZiBz
dHJ1Y3QgewogICAgQllURSB0eXBlOwogICAgQ0FSRDggd2hhdDsKICAgIENBUkQxNiBzZXF1ZW5j
ZU51bWJlciA7CiAgICBDQVJEMzIgbGVuZ3RoIDsKICAgIENBUkQzMiBudW1OYW1lcyA7CiAgICBC
WVRFIHBhZFsyMF07CgogICAgfSBwZXhHZXROYW1lU2V0UmVwbHk7CgoKdHlwZWRlZiBzdHJ1Y3Qg
ewogICAgQllURSB0eXBlOwogICAgQ0FSRDggd2hhdDsKICAgIENBUkQxNiBzZXF1ZW5jZU51bWJl
ciA7CiAgICBDQVJEMzIgbGVuZ3RoIDsKICAgIEJZVEUgcGFkWzI0XTsKCiAgICB9IHBleEdldFNl
YXJjaENvbnRleHRSZXBseTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIEJZVEUgdHlwZTsKICAgIENB
UkQ4IHdoYXQ7CiAgICBDQVJEMTYgc2VxdWVuY2VOdW1iZXIgOwogICAgQ0FSRDMyIGxlbmd0aCA7
CiAgICBDQVJEMzIgdW51c2VkIDsKICAgIENBUkQzMiBudW1JdGVtcyA7CiAgICBCWVRFIHBhZFsx
Nl07CgogICAgfSBwZXhTZWFyY2hOZXR3b3JrUmVwbHk7CgoKdHlwZWRlZiBzdHJ1Y3QgewogICAg
QllURSB0eXBlOwogICAgQ0FSRDggd2hhdDsKICAgIENBUkQxNiBzZXF1ZW5jZU51bWJlciA7CiAg
ICBDQVJEMzIgbGVuZ3RoIDsKICAgIEJZVEUgcGFkWzI0XTsKCiAgICB9IHBleEdldFdrc0luZm9S
ZXBseTsKCgp0eXBlZGVmIHN0cnVjdCB7CiAgICBCWVRFIHR5cGU7CiAgICBDQVJEOCB3aGF0Owog
ICAgQ0FSRDE2IHNlcXVlbmNlTnVtYmVyIDsKICAgIENBUkQzMiBsZW5ndGggOwogICAgcGV4RHlu
YW1pY1R5cGUgdmlld1JlcDsKICAgIHBleER5bmFtaWNUeXBlIG1hcmtlckJ1bmRsZTsKICAgIHBl
eER5bmFtaWNUeXBlIHRleHRCdW5kbGU7CiAgICBwZXhEeW5hbWljVHlwZSBsaW5lQnVuZGxlOwog
ICAgcGV4RHluYW1pY1R5cGUgaW50ZXJpb3JCdW5kbGU7CiAgICBwZXhEeW5hbWljVHlwZSBlZGdl
QnVuZGxlOwogICAgcGV4RHluYW1pY1R5cGUgY29sb3VyVGFibGU7CiAgICBwZXhEeW5hbWljVHlw
ZSBwYXR0ZXJuVGFibGU7CiAgICBwZXhEeW5hbWljVHlwZSB3a3NUcmFuc2Zvcm07CiAgICBwZXhE
eW5hbWljVHlwZSBoaWdobGlnaHRGaWx0ZXI7CiAgICBwZXhEeW5hbWljVHlwZSBpbnZpc2liaWxp
dHlGaWx0ZXI7CiAgICBwZXhEeW5hbWljVHlwZSBIbGhzck1vZGU7CiAgICBwZXhEeW5hbWljVHlw
ZSBzdHJ1Y3R1cmVNb2RpZnk7CiAgICBwZXhEeW5hbWljVHlwZSBwb3N0U3RydWN0dXJlOwogICAg
cGV4RHluYW1pY1R5cGUgdW5wb3N0U3RydWN0dXJlOwogICAgcGV4RHluYW1pY1R5cGUgZGVsZXRl
U3RydWN0dXJlOwogICAgcGV4RHluYW1pY1R5cGUgcmVmZXJlbmNlTW9kaWZ5OwogICAgcGV4RHlu
YW1pY1R5cGUgYnVmZmVyTW9kaWZ5OwogICAgcGV4RHluYW1pY1R5cGUgbGlnaHRUYWJsZTsKICAg
IHBleER5bmFtaWNUeXBlIGRlcHRoQ3VlVGFibGU7CiAgICBwZXhEeW5hbWljVHlwZSBjb2xvdXJB
cHByb3hUYWJsZTsKICAgIENBUkQ4IHBhZFszXTsKICAgIH0gcGV4R2V0RHluYW1pY3NSZXBseTsK
CnR5cGVkZWYgc3RydWN0IHsKICAgIEJZVEUgdHlwZTsKICAgIENBUkQ4IHdoYXQ7CiAgICBDQVJE
MTYgc2VxdWVuY2VOdW1iZXIgOwogICAgQ0FSRDMyIGxlbmd0aCA7CiAgICBDQVJEMTYgdmlld1Vw
ZGF0ZSA7CiAgICBCWVRFIHBhZFsyMl07CgoKICAgIH0gcGV4R2V0Vmlld1JlcFJlcGx5OwoKdHlw
ZWRlZiBzdHJ1Y3QgewogICAgQllURSB0eXBlOwogICAgQ0FSRDggd2hhdDsKICAgIENBUkQxNiBz
ZXF1ZW5jZU51bWJlciA7CiAgICBDQVJEMzIgbGVuZ3RoIDsKICAgIENBUkQxNiB2aWV3SW5kZXgg
OwogICAgQ0FSRDE2IHVudXNlZCA7CiAgICBDQVJEMzIgbnVtQ29vcmRzIDsKICAgIEJZVEUgcGFk
WzE2XTsKCiAgICB9IHBleE1hcERDdG9XQ1JlcGx5OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQllU
RSB0eXBlOwogICAgQ0FSRDggd2hhdDsKICAgIENBUkQxNiBzZXF1ZW5jZU51bWJlciA7CiAgICBD
QVJEMzIgbGVuZ3RoIDsKICAgIENBUkQzMiB1bnVzZWQgOwogICAgQ0FSRDMyIG51bUNvb3JkcyA7
CiAgICBCWVRFIHBhZFsxNl07CgogICAgfSBwZXhNYXBXQ3RvRENSZXBseTsKCnR5cGVkZWYgc3Ry
dWN0IHsKICAgIEJZVEUgdHlwZTsKICAgIENBUkQ4IHdoYXQ7CiAgICBDQVJEMTYgc2VxdWVuY2VO
dW1iZXIgOwogICAgQ0FSRDMyIGxlbmd0aCA7CiAgICBCWVRFIHBhZFsyNF07CgogICAgfSBwZXhH
ZXRXa3NQb3N0aW5nc1JlcGx5OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQllURSB0eXBlOwogICAg
Q0FSRDggd2hhdDsKICAgIENBUkQxNiBzZXF1ZW5jZU51bWJlciA7CiAgICBDQVJEMzIgbGVuZ3Ro
IDsKICAgIEJZVEUgcGFkWzI0XTsKCiAgICB9IHBleEdldFBpY2tEZXZpY2VSZXBseTsKCnR5cGVk
ZWYgc3RydWN0IHsKICAgIEJZVEUgdHlwZTsKICAgIENBUkQ4IHdoYXQ7CiAgICBDQVJEMTYgc2Vx
dWVuY2VOdW1iZXIgOwogICAgQ0FSRDMyIGxlbmd0aCA7CiAgICBCWVRFIHBhZFsyNF07CgogICAg
fSBwZXhHZXRQaWNrTWVhc3VyZVJlcGx5OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQllURSB0eXBl
OwogICAgQ0FSRDggd2hhdDsKICAgIENBUkQxNiBzZXF1ZW5jZU51bWJlciA7CiAgICBDQVJEMzIg
bGVuZ3RoIDsKICAgIENBUkQzMiBudW1QaWNrRWxSZWZzIDsKICAgIHBleEVudW1UeXBlSW5kZXgg
cGlja1N0YXR1cyA7CiAgICBDQVJEOCBiZXR0ZXJQaWNrOwogICAgQllURSBwYWRbMTddOwoKICAg
IH0gcGV4RW5kUGlja09uZVJlcGx5OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQllURSB0eXBlOwog
ICAgQ0FSRDggd2hhdDsKICAgIENBUkQxNiBzZXF1ZW5jZU51bWJlciA7CiAgICBDQVJEMzIgbGVu
Z3RoIDsKICAgIENBUkQzMiBudW1QaWNrRWxSZWZzIDsKICAgIHBleEVudW1UeXBlSW5kZXggcGlj
a1N0YXR1cyA7CiAgICBDQVJEOCBiZXR0ZXJQaWNrOwogICAgQllURSBwYWRbMTddOwoKICAgIH0g
cGV4UGlja09uZVJlcGx5OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQllURSB0eXBlOwogICAgQ0FS
RDggd2hhdDsKICAgIENBUkQxNiBzZXF1ZW5jZU51bWJlciA7CiAgICBDQVJEMzIgbGVuZ3RoIDsK
ICAgIENBUkQzMiBudW1QaWNrZWQgOwogICAgcGV4RW51bVR5cGVJbmRleCBwaWNrU3RhdHVzIDsK
ICAgIHBleEVudW1UeXBlSW5kZXggbW9yZVBpY2tzIDsKICAgIEJZVEUgcGFkWzE2XTsKCiAgICB9
IHBleEVuZFBpY2tBbGxSZXBseTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIEJZVEUgdHlwZTsKICAg
IENBUkQ4IHdoYXQ7CiAgICBDQVJEMTYgc2VxdWVuY2VOdW1iZXIgOwogICAgQ0FSRDMyIGxlbmd0
aCA7CiAgICBDQVJEMzIgbnVtUGlja2VkIDsKICAgIHBleEVudW1UeXBlSW5kZXggcGlja1N0YXR1
cyA7CiAgICBwZXhFbnVtVHlwZUluZGV4IG1vcmVQaWNrcyA7CiAgICBCWVRFIHBhZFsxNl07Cgog
ICAgfSBwZXhQaWNrQWxsUmVwbHk7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBCWVRFIHR5cGU7CiAg
ICBDQVJEOCB3aGF0OwogICAgQ0FSRDE2IHNlcXVlbmNlTnVtYmVyIDsKICAgIENBUkQzMiBsZW5n
dGggOwogICAgQ0FSRDMyIGxlbmd0aEZvbnRJbmZvIDsKICAgIENBUkQ4IHBhZFsyMF07CgogICAg
fSBwZXhRdWVyeUZvbnRSZXBseTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIEJZVEUgdHlwZTsKICAg
IENBUkQ4IHdoYXQ7CiAgICBDQVJEMTYgc2VxdWVuY2VOdW1iZXIgOwogICAgQ0FSRDMyIGxlbmd0
aCA7CiAgICBDQVJEMzIgbnVtU3RyaW5ncyA7CiAgICBCWVRFIHBhZFsyMF07CgogICAgfSBwZXhM
aXN0Rm9udHNSZXBseTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIEJZVEUgdHlwZTsKICAgIENBUkQ4
IHdoYXQ7CiAgICBDQVJEMTYgc2VxdWVuY2VOdW1iZXIgOwogICAgQ0FSRDMyIGxlbmd0aCA7CiAg
ICBDQVJEMzIgbnVtU3RyaW5ncyA7CiAgICBCWVRFIHBhZFsyMF07CgoKICAgIH0gcGV4TGlzdEZv
bnRzV2l0aEluZm9SZXBseTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIEJZVEUgdHlwZTsKICAgIENB
UkQ4IHdoYXQ7CiAgICBDQVJEMTYgc2VxdWVuY2VOdW1iZXIgOwogICAgQ0FSRDMyIGxlbmd0aCA7
CiAgICBCWVRFIHBhZFsyNF07CgogICAgfSBwZXhRdWVyeVRleHRFeHRlbnRzUmVwbHk7Cgp0eXBl
ZGVmIHN0cnVjdCB7CiAgICBCWVRFIHR5cGU7CiAgICBDQVJEOCB3aGF0OwogICAgQ0FSRDE2IHNl
cXVlbmNlTnVtYmVyIDsKICAgIENBUkQzMiBsZW5ndGggOwogICAgQ0FSRDggYXBwcm94U3VwcG9y
dGVkOwogICAgQ0FSRDggZXhoYXVzdGl2ZUFwcHJveDsKICAgIENBUkQ4IHVudXNlZFsyXTsKICAg
IENBUkQzMiBudW1Db2xvckFwcHJveDsKICAgIEJZVEUgcGFkWzE2XTsKCn0gcGV4UXVlcnlDb2xv
ckFwcHJveFJlcGx5OwoKCgoKCgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwog
ICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CgoKfSBwZXhSZXE7CiMgNjA1ICIu
Li8uLi8uLi9pbmNsdWRlL1BFWHByb3RvLmgiCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJl
cVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIENBUkQzMiBp
ZCA7CiAgICB9IHBleFJlc291cmNlUmVxOwoKCgoKCgoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FS
RDggcmVxVHlwZTsKICAgIENBUkQ4IG9wY29kZTsKICAgIENBUkQxNiBsZW5ndGggOwogICAgQ0FS
RDE2IGNsaWVudFByb3RvY29sTWFqb3IgOwogICAgQ0FSRDE2IGNsaWVudFByb3RvY29sTWlub3Ig
Owp9IHBleEdldEV4dGVuc2lvbkluZm9SZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCBy
ZXFUeXBlOwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBEcmF3YWJs
ZSBkcmF3YWJsZSA7CiAgICBwZXhCaXRtYXNrIGl0ZW1NYXNrIDsKICAgIENBUkQzMiBudW1FbnVt
cyA7CgoKfSBwZXhHZXRFbnVtZXJhdGVkVHlwZUluZm9SZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAg
ICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAg
ICBwZXhFbnVtVHlwZUluZGV4IGZwRm9ybWF0IDsKICAgIENBUkQxNiB1bnVzZWQgOwogICAgRHJh
d2FibGUgZHJhd2FibGUgOwogICAgQ0FSRDMyIG51bU5hbWVzIDsKCgp9IHBleEdldEltcERlcENv
bnN0YW50c1JlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJE
OCBvcGNvZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIERyYXdhYmxlIGRyYXdhYmxlIDsKICAg
IENBUkQ4IGRlcHRoOwogICAgQ0FSRDggdW51c2VkOwogICAgQ0FSRDE2IHR5cGUgOwogICAgQ0FS
RDMyIHZpc3VhbElEIDsKICAgIENBUkQzMiBtYXhUcmlwbGV0cyA7Cn0gcGV4TWF0Y2hSZW5kZXJl
clRhcmdldHNSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FS
RDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBDQVJEMzIgZXNjYXBlSUQgOwoKfSBw
ZXhFc2NhcGVSZXE7Cgp0eXBlZGVmIHBleEVzY2FwZVJlcSBwZXhFc2NhcGVXaXRoUmVwbHlSZXE7
Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDggb3Bjb2RlOwog
ICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBEcmF3YWJsZSBkcmF3YWJsZUV4YW1wbGUgOwogICAgcGV4
TG9va3VwVGFibGUgbHV0IDsKICAgIHBleFRhYmxlVHlwZSB0YWJsZVR5cGUgOwogICAgQ0FSRDE2
IHVudXNlZCA7Cn0gcGV4Q3JlYXRlTG9va3VwVGFibGVSZXE7CgoKdHlwZWRlZiBzdHJ1Y3Qgewog
ICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IG9wY29kZTsKICAgIENBUkQxNiBsZW5ndGggOwog
ICAgcGV4TG9va3VwVGFibGUgc3JjIDsKICAgIHBleExvb2t1cFRhYmxlIGRzdCA7Cn0gcGV4Q29w
eUxvb2t1cFRhYmxlUmVxOwoKdHlwZWRlZiBwZXhSZXNvdXJjZVJlcSBwZXhGcmVlTG9va3VwVGFi
bGVSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDggb3Bj
b2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBEcmF3YWJsZSBkcmF3YWJsZUV4YW1wbGUgOwog
ICAgcGV4VGFibGVUeXBlIHRhYmxlVHlwZSA7CiAgICBDQVJEMTYgdW51c2VkIDsKfSBwZXhHZXRU
YWJsZUluZm9SZXE7CgoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENB
UkQ4IG9wY29kZTsKICAgIENBUkQxNiBsZW5ndGggOwogICAgcGV4RW51bVR5cGVJbmRleCBmcEZv
cm1hdCA7CiAgICBDQVJEMTYgdW51c2VkIDsKICAgIERyYXdhYmxlIGRyYXdhYmxlRXhhbXBsZSA7
CiAgICBwZXhUYWJsZVR5cGUgdGFibGVUeXBlIDsKICAgIHBleFRhYmxlSW5kZXggc3RhcnQgOwog
ICAgQ0FSRDE2IGNvdW50IDsKICAgIENBUkQxNiBwYWQgOwp9IHBleEdldFByZWRlZmluZWRFbnRy
aWVzUmVxOwoKdHlwZWRlZiBwZXhSZXNvdXJjZVJlcSBwZXhHZXREZWZpbmVkSW5kaWNlc1JlcTsK
CnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAg
ICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBleEVudW1UeXBlSW5kZXggZnBGb3JtYXQgOwogICAgQ0FS
RDE2IHZhbHVlVHlwZSA7CiAgICBwZXhMb29rdXBUYWJsZSBsdXQgOwogICAgcGV4VGFibGVJbmRl
eCBpbmRleCA7CiAgICBDQVJEMTYgcGFkIDsKfSBwZXhHZXRUYWJsZUVudHJ5UmVxOwoKdHlwZWRl
ZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IG9wY29kZTsKICAgIENBUkQx
NiBsZW5ndGggOwogICAgcGV4RW51bVR5cGVJbmRleCBmcEZvcm1hdCA7CiAgICBDQVJEMTYgdmFs
dWVUeXBlIDsKICAgIHBleExvb2t1cFRhYmxlIGx1dCA7CiAgICBwZXhUYWJsZUluZGV4IHN0YXJ0
IDsKICAgIENBUkQxNiBjb3VudCA7Cn0gcGV4R2V0VGFibGVFbnRyaWVzUmVxOwoKCnR5cGVkZWYg
c3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAgICBDQVJEMTYg
bGVuZ3RoIDsKICAgIHBleEVudW1UeXBlSW5kZXggZnBGb3JtYXQgOwogICAgQ0FSRDE2IHVudXNl
ZCA7CiAgICBwZXhMb29rdXBUYWJsZSBsdXQgOwogICAgcGV4VGFibGVJbmRleCBzdGFydCA7CiAg
ICBDQVJEMTYgY291bnQgOwoKfSBwZXhTZXRUYWJsZUVudHJpZXNSZXE7CgoKdHlwZWRlZiBzdHJ1
Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IG9wY29kZTsKICAgIENBUkQxNiBsZW5n
dGggOwogICAgcGV4RW51bVR5cGVJbmRleCBmcEZvcm1hdCA7CiAgICBwZXhUYWJsZUluZGV4IGlu
ZGV4IDsKICAgIHBleExvb2t1cFRhYmxlIGx1dCA7CiAgICBwZXhCaXRtYXNrIFRhYmxlTWFzazsK
Cn0gcGV4Q2hhbmdlVGFibGVWYWx1ZXNSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCBy
ZXFUeXBlOwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBwZXhFbnVt
VHlwZUluZGV4IGZwRm9ybWF0IDsKICAgIENBUkQxNiB2YWx1ZVR5cGUgOwogICAgcGV4TG9va3Vw
VGFibGUgbHV0IDsKICAgIHBleFRhYmxlSW5kZXggaW5kZXggOwogICAgQ0FSRDE2IHVudXNlZDsK
ICAgIHBleEJpdG1hc2sgVGFibGVNYXNrOwp9IHBleEdldFRhYmxlVmFsdWVzUmVxOwoKdHlwZWRl
ZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IG9wY29kZTsKICAgIENBUkQx
NiBsZW5ndGggOwogICAgcGV4TG9va3VwVGFibGUgbHV0IDsKICAgIHBleFRhYmxlSW5kZXggc3Rh
cnQgOwogICAgQ0FSRDE2IGNvdW50IDsKfSBwZXhEZWxldGVUYWJsZUVudHJpZXNSZXE7CgoKdHlw
ZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IG9wY29kZTsKICAgIENB
UkQxNiBsZW5ndGggOwogICAgcGV4RW51bVR5cGVJbmRleCBmcEZvcm1hdCA7CiAgICBDQVJEMTYg
dW51c2VkIDsKICAgIHBleFBDIHBjIDsKICAgIHBleEJpdG1hc2sgaXRlbU1hc2tbM107Cgp9IHBl
eENyZWF0ZVBpcGVsaW5lQ29udGV4dFJlcTsKCgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCBy
ZXFUeXBlOwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBwZXhQQyBz
cmMgOwogICAgcGV4UEMgZHN0IDsKICAgIHBleEJpdG1hc2sgaXRlbU1hc2tbM107Cn0gcGV4Q29w
eVBpcGVsaW5lQ29udGV4dFJlcTsKCnR5cGVkZWYgcGV4UmVzb3VyY2VSZXEgcGV4RnJlZVBpcGVs
aW5lQ29udGV4dFJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBD
QVJEOCBvcGNvZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBleEVudW1UeXBlSW5kZXggZnBG
b3JtYXQgOwogICAgQ0FSRDE2IHVudXNlZCA7CiAgICBwZXhQQyBwYyA7CiAgICBwZXhCaXRtYXNr
IGl0ZW1NYXNrWzNdOwp9IHBleEdldFBpcGVsaW5lQ29udGV4dFJlcTsKCnR5cGVkZWYgc3RydWN0
IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAgICBDQVJEMTYgbGVuZ3Ro
IDsKICAgIHBleEVudW1UeXBlSW5kZXggZnBGb3JtYXQgOwogICAgQ0FSRDE2IHVudXNlZCA7CiAg
ICBwZXhQQyBwYyA7CiAgICBwZXhCaXRtYXNrIGl0ZW1NYXNrWzNdOwoKfSBwZXhDaGFuZ2VQaXBl
bGluZUNvbnRleHRSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAg
Q0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBwZXhFbnVtVHlwZUluZGV4IGZw
Rm9ybWF0IDsKICAgIENBUkQxNiB1bnVzZWQgOwogICAgcGV4UmVuZGVyZXIgcmRyIDsKICAgIERy
YXdhYmxlIGRyYXdhYmxlIDsKICAgIHBleEJpdG1hc2sgaXRlbU1hc2sgOwoKfSBwZXhDcmVhdGVS
ZW5kZXJlclJlcTsKCnR5cGVkZWYgcGV4UmVzb3VyY2VSZXEgcGV4RnJlZVJlbmRlcmVyUmVxOwoK
dHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IG9wY29kZTsKICAg
IENBUkQxNiBsZW5ndGggOwogICAgcGV4RW51bVR5cGVJbmRleCBmcEZvcm1hdCA7CiAgICBDQVJE
MTYgdW51c2VkIDsKICAgIHBleFJlbmRlcmVyIHJkciA7CiAgICBwZXhCaXRtYXNrIGl0ZW1NYXNr
IDsKCn0gcGV4Q2hhbmdlUmVuZGVyZXJSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCBy
ZXFUeXBlOwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBwZXhFbnVt
VHlwZUluZGV4IGZwRm9ybWF0IDsKICAgIENBUkQxNiB1bnVzZWQgOwogICAgcGV4UmVuZGVyZXIg
cmRyIDsKICAgIHBleEJpdG1hc2sgaXRlbU1hc2sgOwp9IHBleEdldFJlbmRlcmVyQXR0cmlidXRl
c1JlcTsKCnR5cGVkZWYgcGV4UmVzb3VyY2VSZXEgcGV4R2V0UmVuZGVyZXJEeW5hbWljc1JlcTsK
CnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAg
ICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBleFJlbmRlcmVyIHJkciA7CiAgICBEcmF3YWJsZSBkcmF3
YWJsZSA7Cn0gcGV4QmVnaW5SZW5kZXJpbmdSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJE
OCByZXFUeXBlOwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBwZXhS
ZW5kZXJlciByZHIgOwogICAgcGV4U3dpdGNoIGZsdXNoRmxhZzsKICAgIEJZVEUgcGFkWzNdOwp9
IHBleEVuZFJlbmRlcmluZ1JlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7
CiAgICBDQVJEOCBvcGNvZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBleFJlbmRlcmVyIHJk
ciA7CiAgICBwZXhCaXRtYXNrIGNsZWFyQ29udHJvbCA7Cn0gcGV4Q2xlYXJSZW5kZXJlclJlcTsK
CnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAg
ICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBleFJlbmRlcmVyIHJkciA7CiAgICBwZXhTd2l0Y2ggZmx1
c2hGbGFnOwogICAgQllURSBwYWRbM107Cn0gcGV4Rmx1c2hSZW5kZXJlclJlcTsKCnR5cGVkZWYg
c3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAgICBDQVJEMTYg
bGVuZ3RoIDsKICAgIHBleFJlbmRlcmVyIHJkciA7Cn0gcGV4SW5pdFJlbmRlcmVyUmVxOwoKdHlw
ZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IG9wY29kZTsKICAgIENB
UkQxNiBsZW5ndGggOwogICAgcGV4UmVuZGVyZXIgcmRyIDsKICAgIERyYXdhYmxlIHBpeG1hcCA7
Cn0gcGV4Q29weUFscGhhVG9QaXhtYXBSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCBy
ZXFUeXBlOwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBwZXhSZW5k
ZXJlciByZHIgOwogICAgRHJhd2FibGUgcGl4bWFwIDsKfSBwZXhDb3B5UGl4bWFwVG9BbHBoYVJl
cTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7
CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBleFJlbmRlcmVyIHJkciA7CiAgICBEcmF3YWJsZSBw
aXhtYXAgOwp9IHBleENvcHlaQnVmZmVyVG9QaXhtYXBSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAg
ICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAg
ICBwZXhSZW5kZXJlciByZHIgOwogICAgRHJhd2FibGUgcGl4bWFwIDsKfSBwZXhDb3B5UGl4bWFw
VG9aQnVmZmVyUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENB
UkQ4IG9wY29kZTsKICAgIENBUkQxNiBsZW5ndGggOwogICAgcGV4UmVuZGVyZXIgcmRyIDsKICAg
IHBleFBDIHBjIDsKICAgIHBleEJpdG1hc2sgaXRlbU1hc2tbM107Cn0gcGV4Q29weVBDVG9QaXBl
bGluZVN0YXRlUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENB
UkQ4IG9wY29kZTsKICAgIENBUkQxNiBsZW5ndGggOwogICAgcGV4UmVuZGVyZXIgcmRyIDsKICAg
IHBleFBDIHBjIDsKICAgIHBleEJpdG1hc2sgaXRlbU1hc2tbM107Cn0gcGV4Q29weVBpcGVsaW5l
U3RhdGVUb1BDUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENB
UkQ4IG9wY29kZTsKICAgIENBUkQxNiBsZW5ndGggOwogICAgcGV4RW51bVR5cGVJbmRleCBmcEZv
cm1hdCA7CiAgICBwZXhTd2l0Y2ggbm9ybWFsaXplZFZhbHVlczsKICAgIENBUkQ4IHVudXNlZDsK
ICAgIHBleFJlbmRlcmVyIHJkciA7CiAgICBJTlQxNiB4IDsKICAgIElOVDE2IHkgOwogICAgQ0FS
RDE2IHdpZHRoIDsKICAgIENBUkQxNiBoZWlnaHQgOwp9IHBleEdldFpCdWZmZXJSZXE7Cgp0eXBl
ZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FS
RDE2IGxlbmd0aCA7CiAgICBwZXhFbnVtVHlwZUluZGV4IGZwRm9ybWF0IDsKICAgIENBUkQxNiB1
bnVzZWQ7CiAgICBDQVJEMzIgbnVtVmFsdWVzIDsKICAgIHBleFJlbmRlcmVyIHJkciA7CiAgICBJ
TlQxNiB4IDsKICAgIElOVDE2IHkgOwogICAgQ0FSRDE2IHdpZHRoIDsKICAgIENBUkQxNiBoZWln
aHQgOwogICAgcGV4U3dpdGNoIG5vcm1hbGl6ZWRWYWx1ZXM7CiAgICBDQVJEOCBtb3JlX3VudXNl
ZFszXTsKCn0gcGV4UHV0WkJ1ZmZlclJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJl
cVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBleFJlbmRl
cmVyIHJkciA7Cn0gcGV4SW5pdE11bHRpcGFzc1JlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENB
UkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBl
eFJlbmRlcmVyIHJkciA7CiAgICBDQVJEMTYgbXVsdGlwYXNzX2NvbnRyb2w7CiAgICBDQVJEMTYg
dW51c2VkOwp9IHBleE5leHRQYXNzUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVx
VHlwZTsKICAgIENBUkQ4IG9wY29kZTsKICAgIENBUkQxNiBsZW5ndGggOwogICAgcGV4UmVuZGVy
ZXIgcmRyIDsKICAgIHBleFN0cnVjdHVyZSBzaWQgOwp9IHBleEJlZ2luU3RydWN0dXJlUmVxOwoK
dHlwZWRlZiBwZXhSZXNvdXJjZVJlcSBwZXhFbmRTdHJ1Y3R1cmVSZXE7Cgp0eXBlZGVmIHN0cnVj
dCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0
aCA7CiAgICBwZXhFbnVtVHlwZUluZGV4IGZwRm9ybWF0IDsKICAgIENBUkQxNiB1bnVzZWQgOwog
ICAgcGV4UmVuZGVyZXIgcmRyIDsKICAgIENBUkQzMiBudW1Db21tYW5kcyA7Cgp9IHBleFJlbmRl
ck91dHB1dENvbW1hbmRzUmVxOwoKCgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBl
OwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBwZXhSZW5kZXJlciBy
ZHIgOwogICAgcGV4U3RydWN0dXJlIHNpZCA7CiAgICBwZXhFbGVtZW50UmFuZ2UgcmFuZ2U7Cn0g
cGV4UmVuZGVyRWxlbWVudHNSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBl
OwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBwZXhSZW5kZXJlciBy
ZHIgOwogICAgQ0FSRDMyIG51bUVsUmVmcyA7Cgp9IHBleEFjY3VtdWxhdGVTdGF0ZVJlcTsKCnR5
cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAgICBD
QVJEMTYgbGVuZ3RoIDsKICAgIHBleFJlbmRlcmVyIHJkciA7CiAgICBEcmF3YWJsZSBkcmF3YWJs
ZSA7CiAgICBwZXhTdHJ1Y3R1cmUgc2lkIDsKfSBwZXhSZW5kZXJOZXR3b3JrUmVxOwoKdHlwZWRl
ZiBwZXhSZXNvdXJjZVJlcSBwZXhDcmVhdGVTdHJ1Y3R1cmVSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7
CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7
CiAgICBwZXhTdHJ1Y3R1cmUgc3JjIDsKICAgIHBleFN0cnVjdHVyZSBkc3QgOwp9IHBleENvcHlT
dHJ1Y3R1cmVSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FS
RDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBDQVJEMzIgbnVtU3RydWN0dXJlcyA7
Cgp9IHBleERlc3Ryb3lTdHJ1Y3R1cmVzUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDgg
cmVxVHlwZTsKICAgIENBUkQ4IG9wY29kZTsKICAgIENBUkQxNiBsZW5ndGggOwogICAgcGV4RW51
bVR5cGVJbmRleCBmcEZvcm1hdCA7CiAgICBDQVJEMTYgaXRlbU1hc2sgOwogICAgcGV4U3RydWN0
dXJlIHNpZCA7Cn0gcGV4R2V0U3RydWN0dXJlSW5mb1JlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAg
IENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAg
IHBleFN0cnVjdHVyZSBzaWQgOwogICAgQ0FSRDE2IHBlcm1pc3Npb24gOwogICAgQ0FSRDE2IHVu
dXNlZCA7Cn0gcGV4U2V0U3RydWN0dXJlUGVybWlzc2lvblJlcTsKCnR5cGVkZWYgc3RydWN0IHsK
ICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsK
ICAgIHBleEVudW1UeXBlSW5kZXggZnBGb3JtYXQgOwogICAgQ0FSRDE2IHVudXNlZCA7CiAgICBw
ZXhTdHJ1Y3R1cmUgc2lkIDsKICAgIHBleEVsZW1lbnRSYW5nZSByYW5nZTsKfSBwZXhHZXRFbGVt
ZW50SW5mb1JlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJE
OCBvcGNvZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBleFN0cnVjdHVyZSBzaWQgOwogICAg
Q0FSRDE2IHdoaWNoIDsKICAgIENBUkQxNiBwYWQgOwp9IHBleEdldFN0cnVjdHVyZXNJbk5ldHdv
cmtSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDggb3Bj
b2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBwZXhTdHJ1Y3R1cmUgc2lkIDsKICAgIENBUkQx
NiBwYXRoT3JkZXIgOwogICAgQ0FSRDE2IHVudXNlZCA7CiAgICBDQVJEMzIgcGF0aERlcHRoIDsK
fSBwZXhHZXRBbmNlc3RvcnNSZXE7Cgp0eXBlZGVmIHBleEdldEFuY2VzdG9yc1JlcSBwZXhHZXRE
ZXNjZW5kYW50c1JlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBD
QVJEOCBvcGNvZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBleEVudW1UeXBlSW5kZXggZnBG
b3JtYXQgOwogICAgQ0FSRDE2IHVudXNlZCA7CiAgICBwZXhTdHJ1Y3R1cmUgc2lkIDsKICAgIHBl
eEVsZW1lbnRSYW5nZSByYW5nZTsKfSBwZXhGZXRjaEVsZW1lbnRzUmVxOwoKdHlwZWRlZiBzdHJ1
Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IG9wY29kZTsKICAgIENBUkQxNiBsZW5n
dGggOwogICAgcGV4U3RydWN0dXJlIHNpZCA7CiAgICBDQVJEMTYgbW9kZSA7CiAgICBDQVJEMTYg
cGFkIDsKfSBwZXhTZXRFZGl0aW5nTW9kZVJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4
IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBleFN0
cnVjdHVyZSBzaWQgOwogICAgcGV4RWxlbWVudFBvcyBwb3NpdGlvbjsKfSBwZXhTZXRFbGVtZW50
UG9pbnRlclJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJE
OCBvcGNvZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBleFN0cnVjdHVyZSBzaWQgOwogICAg
SU5UMzIgbGFiZWwgOwogICAgSU5UMzIgb2Zmc2V0IDsKfSBwZXhTZXRFbGVtZW50UG9pbnRlckF0
TGFiZWxSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDgg
b3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBwZXhTdHJ1Y3R1cmUgc2lkIDsKICAgIElO
VDMyIHBpY2tJZCA7CiAgICBJTlQzMiBvZmZzZXQgOwp9IHBleFNldEVsZW1lbnRQb2ludGVyQXRQ
aWNrSURSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDgg
b3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBwZXhTdHJ1Y3R1cmUgc2lkIDsKICAgIHBl
eEVsZW1lbnRQb3MgcG9zaXRpb247CiAgICBDQVJEMzIgZGlyZWN0aW9uIDsKICAgIENBUkQzMiBu
dW1JbmNscyA7CiAgICBDQVJEMzIgbnVtRXhjbHMgOwoKCgoKfSBwZXhFbGVtZW50U2VhcmNoUmVx
OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IG9wY29kZTsK
ICAgIENBUkQxNiBsZW5ndGggOwogICAgcGV4RW51bVR5cGVJbmRleCBmcEZvcm1hdCA7CiAgICBD
QVJEMTYgdW51c2VkIDsKICAgIHBleFN0cnVjdHVyZSBzaWQgOwogICAgQ0FSRDMyIG51bUNvbW1h
bmRzIDsKCn0gcGV4U3RvcmVFbGVtZW50c1JlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4
IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBleFN0
cnVjdHVyZSBzaWQgOwogICAgcGV4RWxlbWVudFJhbmdlIHJhbmdlOwp9IHBleERlbGV0ZUVsZW1l
bnRzUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IG9w
Y29kZTsKICAgIENBUkQxNiBsZW5ndGggOwogICAgcGV4U3RydWN0dXJlIHNpZCA7CiAgICBwZXhF
bGVtZW50UG9zIHBvc2l0aW9uOwogICAgSU5UMzIgbGFiZWwgOwp9IHBleERlbGV0ZUVsZW1lbnRz
VG9MYWJlbFJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJE
OCBvcGNvZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBleFN0cnVjdHVyZSBzaWQgOwogICAg
SU5UMzIgbGFiZWwxIDsKICAgIElOVDMyIGxhYmVsMiA7Cn0gcGV4RGVsZXRlQmV0d2VlbkxhYmVs
c1JlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNv
ZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBleFN0cnVjdHVyZSBzcmMgOwogICAgcGV4RWxl
bWVudFJhbmdlIHNyY1JhbmdlOwogICAgcGV4U3RydWN0dXJlIGRzdCA7CiAgICBwZXhFbGVtZW50
UG9zIGRzdFBvc2l0aW9uOwp9IHBleENvcHlFbGVtZW50c1JlcTsKCnR5cGVkZWYgc3RydWN0IHsK
ICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsK
ICAgIHBleFN0cnVjdHVyZSBvbGRfaWQgOwogICAgcGV4U3RydWN0dXJlIG5ld19pZCA7Cn0gcGV4
Q2hhbmdlU3RydWN0dXJlUmVmc1JlcTsKCnR5cGVkZWYgcGV4UmVzb3VyY2VSZXEgcGV4Q3JlYXRl
TmFtZVNldFJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJE
OCBvcGNvZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBleE5hbWVTZXQgc3JjIDsKICAgIHBl
eE5hbWVTZXQgZHN0IDsKfSBwZXhDb3B5TmFtZVNldFJlcTsKCnR5cGVkZWYgcGV4UmVzb3VyY2VS
ZXEgcGV4RnJlZU5hbWVTZXRSZXE7Cgp0eXBlZGVmIHBleFJlc291cmNlUmVxIHBleEdldE5hbWVT
ZXRSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDggb3Bj
b2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBwZXhOYW1lU2V0IG5zIDsKICAgIENBUkQxNiBh
Y3Rpb24gOwogICAgQ0FSRDE2IHVudXNlZCA7Cgp9IHBleENoYW5nZU5hbWVTZXRSZXE7Cgp0eXBl
ZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FS
RDE2IGxlbmd0aCA7CiAgICBwZXhFbnVtVHlwZUluZGV4IGZwRm9ybWF0IDsKICAgIENBUkQxNiB1
bnVzZWQgOwogICAgcGV4U0Mgc2MgOwogICAgcGV4Qml0bWFzayBpdGVtTWFzayA7Cgp9IHBleENy
ZWF0ZVNlYXJjaENvbnRleHRSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBl
OwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBwZXhTQyBzcmMgOwog
ICAgcGV4U0MgZHN0IDsKICAgIHBleEJpdG1hc2sgaXRlbU1hc2sgOwp9IHBleENvcHlTZWFyY2hD
b250ZXh0UmVxOwoKdHlwZWRlZiBwZXhSZXNvdXJjZVJlcSBwZXhGcmVlU2VhcmNoQ29udGV4dFJl
cTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7
CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBleEVudW1UeXBlSW5kZXggZnBGb3JtYXQgOwogICAg
Q0FSRDE2IHVudXNlZCA7CiAgICBwZXhTQyBzYyA7CiAgICBwZXhCaXRtYXNrIGl0ZW1NYXNrIDsK
fSBwZXhHZXRTZWFyY2hDb250ZXh0UmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVx
VHlwZTsKICAgIENBUkQ4IG9wY29kZTsKICAgIENBUkQxNiBsZW5ndGggOwogICAgcGV4RW51bVR5
cGVJbmRleCBmcEZvcm1hdCA7CiAgICBDQVJEMTYgdW51c2VkIDsKICAgIHBleFNDIHNjIDsKICAg
IHBleEJpdG1hc2sgaXRlbU1hc2sgOwoKfSBwZXhDaGFuZ2VTZWFyY2hDb250ZXh0UmVxOwoKdHlw
ZWRlZiBwZXhSZXNvdXJjZVJlcSBwZXhTZWFyY2hOZXR3b3JrUmVxOwoKdHlwZWRlZiBzdHJ1Y3Qg
ewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IG9wY29kZTsKICAgIENBUkQxNiBsZW5ndGgg
OwogICAgcGV4UGhpZ3NXa3Mgd2tzIDsKICAgIERyYXdhYmxlIGRyYXdhYmxlIDsKICAgIHBleExv
b2t1cFRhYmxlIG1hcmtlckJ1bmRsZSA7CiAgICBwZXhMb29rdXBUYWJsZSB0ZXh0QnVuZGxlIDsK
ICAgIHBleExvb2t1cFRhYmxlIGxpbmVCdW5kbGUgOwogICAgcGV4TG9va3VwVGFibGUgaW50ZXJp
b3JCdW5kbGUgOwogICAgcGV4TG9va3VwVGFibGUgZWRnZUJ1bmRsZSA7CiAgICBwZXhMb29rdXBU
YWJsZSBjb2xvdXJUYWJsZSA7CiAgICBwZXhMb29rdXBUYWJsZSBkZXB0aEN1ZVRhYmxlIDsKICAg
IHBleExvb2t1cFRhYmxlIGxpZ2h0VGFibGUgOwogICAgcGV4TG9va3VwVGFibGUgY29sb3VyQXBw
cm94VGFibGUgOwogICAgcGV4TG9va3VwVGFibGUgcGF0dGVyblRhYmxlIDsKICAgIHBleExvb2t1
cFRhYmxlIHRleHRGb250VGFibGUgOwogICAgcGV4TmFtZVNldCBoaWdobGlnaHRJbmNsIDsKICAg
IHBleE5hbWVTZXQgaGlnaGxpZ2h0RXhjbCA7CiAgICBwZXhOYW1lU2V0IGludmlzSW5jbCA7CiAg
ICBwZXhOYW1lU2V0IGludmlzRXhjbCA7CiAgICBDQVJEMTYgYnVmZmVyTW9kZSA7CiAgICBDQVJE
MTYgcGFkIDsKfSBwZXhDcmVhdGVQaGlnc1drc1JlcTsKCnR5cGVkZWYgcGV4UmVzb3VyY2VSZXEg
cGV4RnJlZVBoaWdzV2tzUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsK
ICAgIENBUkQ4IG9wY29kZTsKICAgIENBUkQxNiBsZW5ndGggOwogICAgcGV4RW51bVR5cGVJbmRl
eCBmcEZvcm1hdCA7CiAgICBDQVJEMTYgdW51c2VkIDsKICAgIHBleFBoaWdzV2tzIHdrcyA7CiAg
ICBwZXhCaXRtYXNrIGl0ZW1NYXNrWzJdIDsKfSBwZXhHZXRXa3NJbmZvUmVxOwoKdHlwZWRlZiBz
dHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IG9wY29kZTsKICAgIENBUkQxNiBs
ZW5ndGggOwogICAgRHJhd2FibGUgZHJhd2FibGUgOwp9IHBleEdldER5bmFtaWNzUmVxOwoKdHlw
ZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IG9wY29kZTsKICAgIENB
UkQxNiBsZW5ndGggOwogICAgcGV4RW51bVR5cGVJbmRleCBmcEZvcm1hdCA7CiAgICBwZXhUYWJs
ZUluZGV4IGluZGV4IDsKICAgIHBleFBoaWdzV2tzIHdrcyA7Cn0gcGV4R2V0Vmlld1JlcFJlcTsK
CnR5cGVkZWYgcGV4UmVzb3VyY2VSZXEgcGV4UmVkcmF3QWxsU3RydWN0dXJlc1JlcTsKCnR5cGVk
ZWYgcGV4UmVzb3VyY2VSZXEgcGV4VXBkYXRlV29ya3N0YXRpb25SZXE7Cgp0eXBlZGVmIHN0cnVj
dCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0
aCA7CiAgICBwZXhQaGlnc1drcyB3a3MgOwogICAgQ0FSRDMyIG51bVJlY3RzIDsKCn0gcGV4UmVk
cmF3Q2xpcFJlZ2lvblJlcTsKCnR5cGVkZWYgcGV4UmVzb3VyY2VSZXEgcGV4RXhlY3V0ZURlZmVy
cmVkQWN0aW9uc1JlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBD
QVJEOCBvcGNvZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBleFBoaWdzV2tzIHdrcyA7CiAg
ICBwZXhUYWJsZUluZGV4IGluZGV4MSA7CiAgICBwZXhUYWJsZUluZGV4IGluZGV4MiA7CiAgICBD
QVJEMTYgcHJpb3JpdHkgOwogICAgQ0FSRDE2IHBhZCA7Cn0gcGV4U2V0Vmlld1ByaW9yaXR5UmVx
OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IG9wY29kZTsK
ICAgIENBUkQxNiBsZW5ndGggOwogICAgcGV4UGhpZ3NXa3Mgd2tzIDsKICAgIHBleEVudW1UeXBl
SW5kZXggZGlzcGxheVVwZGF0ZSA7CiAgICBDQVJEMTYgcGFkIDsKfSBwZXhTZXREaXNwbGF5VXBk
YXRlTW9kZVJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJE
OCBvcGNvZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBleEVudW1UeXBlSW5kZXggZnBGb3Jt
YXQgOwogICAgQ0FSRDE2IHVudXNlZCA7CiAgICBwZXhQaGlnc1drcyB3a3MgOwogICAgQ0FSRDMy
IG51bUNvb3JkcyA7Cgp9IHBleE1hcERDdG9XQ1JlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENB
UkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBl
eEVudW1UeXBlSW5kZXggZnBGb3JtYXQgOwogICAgQ0FSRDE2IGluZGV4IDsKICAgIHBleFBoaWdz
V2tzIHdrcyA7CiAgICBDQVJEMzIgbnVtQ29vcmRzIDsKCn0gcGV4TWFwV0N0b0RDUmVxOwoKdHlw
ZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IG9wY29kZTsKICAgIENB
UkQxNiBsZW5ndGggOwogICAgcGV4RW51bVR5cGVJbmRleCBmcEZvcm1hdCA7CiAgICBDQVJEMTYg
dW51c2VkIDsKICAgIHBleFBoaWdzV2tzIHdrcyA7CiAgICBwZXhWaWV3UmVwIHZpZXdSZXA7Cn0g
cGV4U2V0Vmlld1JlcFJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAg
ICBDQVJEOCBvcGNvZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBleEVudW1UeXBlSW5kZXgg
ZnBGb3JtYXQgOwogICAgQ0FSRDE2IHVudXNlZCA7CiAgICBwZXhQaGlnc1drcyB3a3MgOwogICAg
cGV4TnBjU3Vidm9sdW1lIG5wY1N1YnZvbHVtZTsKfSBwZXhTZXRXa3NXaW5kb3dSZXE7Cgp0eXBl
ZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FS
RDE2IGxlbmd0aCA7CiAgICBwZXhFbnVtVHlwZUluZGV4IGZwRm9ybWF0IDsKICAgIENBUkQxNiB1
bnVzZWQgOwogICAgcGV4UGhpZ3NXa3Mgd2tzIDsKICAgIHBleFZpZXdwb3J0IHZpZXdwb3J0Owp9
IHBleFNldFdrc1ZpZXdwb3J0UmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlw
ZTsKICAgIENBUkQ4IG9wY29kZTsKICAgIENBUkQxNiBsZW5ndGggOwogICAgcGV4UGhpZ3NXa3Mg
d2tzIDsKICAgIHBleEVudW1UeXBlSW5kZXggbW9kZSA7CiAgICBDQVJEMTYgcGFkIDsKfSBwZXhT
ZXRIbGhzck1vZGVSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAg
Q0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBwZXhQaGlnc1drcyB3a3MgOwog
ICAgQ0FSRDE2IGJ1ZmZlck1vZGUgOwogICAgQ0FSRDE2IHBhZCA7Cn0gcGV4U2V0V2tzQnVmZmVy
TW9kZVJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBv
cGNvZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBleEVudW1UeXBlSW5kZXggZnBGb3JtYXQg
OwogICAgQ0FSRDE2IHVudXNlZCA7CiAgICBwZXhQaGlnc1drcyB3a3MgOwogICAgcGV4U3RydWN0
dXJlIHNpZCA7CiAgICBQRVhGTE9BVCBwcmlvcml0eTsKfSBwZXhQb3N0U3RydWN0dXJlUmVxOwoK
dHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IG9wY29kZTsKICAg
IENBUkQxNiBsZW5ndGggOwogICAgcGV4UGhpZ3NXa3Mgd2tzIDsKICAgIHBleFN0cnVjdHVyZSBz
aWQgOwp9IHBleFVucG9zdFN0cnVjdHVyZVJlcTsKCnR5cGVkZWYgcGV4UmVzb3VyY2VSZXEgcGV4
VW5wb3N0QWxsU3RydWN0dXJlc1JlcTsKCnR5cGVkZWYgcGV4UmVzb3VyY2VSZXEgcGV4R2V0V2tz
UG9zdGluZ3NSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FS
RDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBwZXhFbnVtVHlwZUluZGV4IGZwRm9y
bWF0IDsKICAgIHBleEVudW1UeXBlSW5kZXggZGV2VHlwZSA7CiAgICBwZXhQaGlnc1drcyB3a3Mg
OwogICAgcGV4Qml0bWFzayBpdGVtTWFzayA7Cn0gcGV4R2V0UGlja0RldmljZVJlcTsKCnR5cGVk
ZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAgICBDQVJE
MTYgbGVuZ3RoIDsKICAgIHBleEVudW1UeXBlSW5kZXggZnBGb3JtYXQgOwogICAgQ0FSRDE2IHVu
dXNlZCA7CiAgICBwZXhQaGlnc1drcyB3a3MgOwogICAgcGV4RW51bVR5cGVJbmRleCBkZXZUeXBl
IDsKICAgIENBUkQxNiB1bnVzZWQyIDsKICAgIHBleEJpdG1hc2sgaXRlbU1hc2sgOwoKfSBwZXhD
aGFuZ2VQaWNrRGV2aWNlUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsK
ICAgIENBUkQ4IG9wY29kZTsKICAgIENBUkQxNiBsZW5ndGggOwogICAgcGV4UGhpZ3NXa3Mgd2tz
IDsKICAgIHBleFBpY2tNZWFzdXJlIHBtOwogICAgcGV4RW51bVR5cGVJbmRleCBkZXZUeXBlIDsK
ICAgIENBUkQxNiBwYWQgOwp9IHBleENyZWF0ZVBpY2tNZWFzdXJlUmVxOwoKdHlwZWRlZiBwZXhS
ZXNvdXJjZVJlcSBwZXhGcmVlUGlja01lYXN1cmVSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBD
QVJEOCByZXFUeXBlOwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBw
ZXhQaWNrTWVhc3VyZSBwbSA7CiAgICBwZXhCaXRtYXNrIGl0ZW1NYXNrIDsKfSBwZXhHZXRQaWNr
TWVhc3VyZVJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJE
OCBvcGNvZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBleFBpY2tNZWFzdXJlIHBtIDsKICAg
IENBUkQzMiBudW1CeXRlcyA7CgoKfSBwZXhVcGRhdGVQaWNrTWVhc3VyZVJlcTsKCnR5cGVkZWYg
c3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAgICBDQVJEMTYg
bGVuZ3RoIDsKICAgIHBleEVudW1UeXBlSW5kZXggZnBGb3JtYXQgOwogICAgcGV4RW51bVR5cGVJ
bmRleCBtZXRob2QgOwogICAgcGV4UmVuZGVyZXIgcmRyIDsKICAgIERyYXdhYmxlIGRyYXdhYmxl
IDsKICAgIElOVDMyIHNpZCA7Cgp9IHBleEJlZ2luUGlja09uZVJlcTsKCnR5cGVkZWYgc3RydWN0
IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAgICBDQVJEMTYgbGVuZ3Ro
IDsKICAgIHBleFJlbmRlcmVyIHJkciA7Cn0gcGV4RW5kUGlja09uZVJlcTsKCnR5cGVkZWYgc3Ry
dWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAgICBDQVJEMTYgbGVu
Z3RoIDsKICAgIHBleEVudW1UeXBlSW5kZXggZnBGb3JtYXQgOwogICAgcGV4RW51bVR5cGVJbmRl
eCBtZXRob2QgOwogICAgcGV4UmVuZGVyZXIgcmRyIDsKICAgIERyYXdhYmxlIGRyYXdhYmxlIDsK
ICAgIHBleFN0cnVjdHVyZSBzaWQgOwoKfSBwZXhQaWNrT25lUmVxOwoKdHlwZWRlZiBzdHJ1Y3Qg
ewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IG9wY29kZTsKICAgIENBUkQxNiBsZW5ndGgg
OwogICAgcGV4RW51bVR5cGVJbmRleCBmcEZvcm1hdCA7CiAgICBwZXhFbnVtVHlwZUluZGV4IG1l
dGhvZCA7CiAgICBDQVJEOCBzZW5kRXZlbnQ7CiAgICBDQVJEOCB1bnVzZWRbM107CiAgICBwZXhS
ZW5kZXJlciByZHIgOwogICAgRHJhd2FibGUgZHJhd2FibGUgOwogICAgSU5UMzIgc2lkIDsKICAg
IENBUkQzMiBwaWNrTWF4SGl0cyA7Cgp9IHBleEJlZ2luUGlja0FsbFJlcTsKCnR5cGVkZWYgc3Ry
dWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAgICBDQVJEMTYgbGVu
Z3RoIDsKICAgIHBleFJlbmRlcmVyIHJkciA7Cn0gcGV4RW5kUGlja0FsbFJlcTsKCnR5cGVkZWYg
c3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAgICBDQVJEMTYg
bGVuZ3RoIDsKICAgIHBleEVudW1UeXBlSW5kZXggZnBGb3JtYXQgOwogICAgcGV4RW51bVR5cGVJ
bmRleCBtZXRob2QgOwogICAgcGV4UmVuZGVyZXIgcmRyIDsKICAgIERyYXdhYmxlIGRyYXdhYmxl
IDsKICAgIENBUkQzMiBwaWNrTWF4SGl0cyA7Cgp9IHBleFBpY2tBbGxSZXE7Cgp0eXBlZGVmIHN0
cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxl
bmd0aCA7CiAgICBwZXhGb250IGZvbnQgOwogICAgQ0FSRDMyIG51bUJ5dGVzIDsKCgp9IHBleE9w
ZW5Gb250UmVxOwoKdHlwZWRlZiBwZXhSZXNvdXJjZVJlcSBwZXhDbG9zZUZvbnRSZXE7Cgp0eXBl
ZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FS
RDE2IGxlbmd0aCA7CiAgICBwZXhGb250IGZvbnQgOwp9IHBleFF1ZXJ5Rm9udFJlcTsKCnR5cGVk
ZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAgICBDQVJE
MTYgbGVuZ3RoIDsKICAgIENBUkQxNiBtYXhOYW1lcyA7CiAgICBDQVJEMTYgbnVtQ2hhcnMgOwoK
Cn0gcGV4TGlzdEZvbnRzUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsK
ICAgIENBUkQ4IG9wY29kZTsKICAgIENBUkQxNiBsZW5ndGggOwogICAgQ0FSRDE2IHVudXNlZCA7
CiAgICBDQVJEMTYgbWF4TmFtZXMgOwogICAgQ0FSRDE2IG51bUNoYXJzIDsKICAgIENBUkQxNiBw
YWQgOwoKCn0gcGV4TGlzdEZvbnRzV2l0aEluZm9SZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBD
QVJEOCByZXFUeXBlOwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBw
ZXhFbnVtVHlwZUluZGV4IGZwRm9ybWF0IDsKICAgIENBUkQxNiB0ZXh0UGF0aCA7CiAgICBwZXhU
YWJsZUluZGV4IGZvbnRHcm91cEluZGV4IDsKICAgIENBUkQxNiB1bnVzZWQgOwogICAgWElEIGlk
IDsKICAgIFBFWEZMT0FUIGNoYXJFeHBhbnNpb247CiAgICBQRVhGTE9BVCBjaGFyU3BhY2luZzsK
ICAgIFBFWEZMT0FUIGNoYXJIZWlnaHQ7CiAgICBwZXhUZXh0QWxpZ25tZW50RGF0YSB0ZXh0QWxp
Z25tZW50OwogICAgQ0FSRDMyIG51bVN0cmluZ3MgOwoKCn0gcGV4UXVlcnlUZXh0RXh0ZW50c1Jl
cTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7
CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBleEVudW1UeXBlSW5kZXggZnBGb3JtYXQgOwogICAg
Q0FSRDE2IHVudXNlZDsKICAgIERyYXdhYmxlIGRyYXdhYmxlIDsKICAgIHBleENvbG91ckFwcHJv
eEVudHJ5IENvbG91ckFwcHJveDsKfSBwZXhRdWVyeUNvbG9yQXBwcm94UmVxOwoKdHlwZWRlZiBz
dHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IG9wY29kZTsKICAgIENBUkQxNiBs
ZW5ndGggOwogICAgcGV4RW51bVR5cGVJbmRleCBmcEZvcm1hdCA7CiAgICBwZXhFbnVtVHlwZUlu
ZGV4IFRNRGltZW5zaW9uIDsKICAgIENBUkQzMiBUTWlkIDsKICAgIENBUkQxNiBudW1MZXZlbHMg
OwogICAgcGV4RW51bVR5cGVJbmRleCB0ZXhlbFR5cGUgOwoKfSBwZXhDcmVhdGVDb2xvck1pcE1h
cFRNUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IG9w
Y29kZTsKICAgIENBUkQxNiBsZW5ndGggOwogICAgcGV4RW51bVR5cGVJbmRleCBmcEZvcm1hdCA7
CiAgICBwZXhFbnVtVHlwZUluZGV4IFRNRGltZW5zaW9uIDsKICAgIENBUkQzMiBUTWlkIDsKICAg
IENBUkQxNiBudW1MZXZlbHMgOwogICAgcGV4RW51bVR5cGVJbmRleCB0ZXhlbFR5cGUgOwogICAg
RHJhd2FibGUgZHJhd2FibGUgOwogICAgQ0FSRDE2IGx1bW5hbmNlU2VsZWN0b3IgOwogICAgQ0FS
RDE2IGFscGhhU2VsZWN0b3IgOwoKCgoKfSBwZXhDcmVhdGVDb2xvck1pcE1hcGZyb21SZXNSZXE7
Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDggb3Bjb2RlOwog
ICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBwZXhFbnVtVHlwZUluZGV4IGZwRm9ybWF0IDsKICAgIHBl
eEVudW1UeXBlSW5kZXggdW51c2VkIDsKICAgIERyYXdhYmxlIGRyYXdhYmxlIDsKICAgIFBFWEZM
T0FUIHNyY193ZWlnaHQ7CiAgICBQRVhGTE9BVCBkc3Rfd2VpZ2h0Owp9IHBleEFjY3VtdWxhdGVC
dWZmZXJSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDgg
b3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBEcmF3YWJsZSBkcmF3YWJsZSA7Cn0gcGV4
QWxsb2NBY2N1bUJ1ZmZlclJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7
CiAgICBDQVJEOCBvcGNvZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIERyYXdhYmxlIGRyYXdh
YmxlIDsKfSBwZXhGcmVlQWNjdW1CdWZmZXJSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJE
OCByZXFUeXBlOwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBEcmF3
YWJsZSBkcmF3YWJsZSA7Cn0gcGV4TG9hZEFjY3VtQnVmZmVyUmVxOwoKdHlwZWRlZiBzdHJ1Y3Qg
ewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IG9wY29kZTsKICAgIENBUkQxNiBsZW5ndGgg
OwogICAgcGV4RW51bVR5cGVJbmRleCBmcEZvcm1hdCA7CiAgICBwZXhFbnVtVHlwZUluZGV4IHVu
dXNlZCA7CiAgICBEcmF3YWJsZSBkcmF3YWJsZSA7CiAgICBQRVhGTE9BVCBzY2FsZTsKfSBwZXhS
ZXR1cm5BY2N1bUJ1ZmZlclJlcTsKCgoKCgp0eXBlZGVmIHN0cnVjdCB7CiAgICBwZXhFbGVtZW50
SW5mbyBoZWFkOwogICAgcGV4RW51bVR5cGVJbmRleCBtYXJrZXJUeXBlIDsKICAgIENBUkQxNiBw
YWQgOwp9IHBleE1hcmtlclR5cGU7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBwZXhFbGVtZW50SW5m
byBoZWFkOwogICAgUEVYRkxPQVQgc2NhbGU7Cn0gcGV4TWFya2VyU2NhbGU7Cgp0eXBlZGVmIHN0
cnVjdCB7CiAgICBwZXhFbGVtZW50SW5mbyBoZWFkOwogICAgcGV4VGFibGVJbmRleCBpbmRleCA7
CiAgICBDQVJEMTYgcGFkIDsKfSBwZXhNYXJrZXJCdW5kbGVJbmRleDsKCnR5cGVkZWYgcGV4TWFy
a2VyQnVuZGxlSW5kZXggcGV4TWFya2VyQ29sb3VySW5kZXg7CnR5cGVkZWYgcGV4TWFya2VyQnVu
ZGxlSW5kZXggcGV4VGV4dENvbG91ckluZGV4Owp0eXBlZGVmIHBleE1hcmtlckJ1bmRsZUluZGV4
IHBleExpbmVDb2xvdXJJbmRleDsKdHlwZWRlZiBwZXhNYXJrZXJCdW5kbGVJbmRleCBwZXhTdXJm
YWNlQ29sb3VySW5kZXg7CnR5cGVkZWYgcGV4TWFya2VyQnVuZGxlSW5kZXggcGV4QmZTdXJmYWNl
Q29sb3VySW5kZXg7CnR5cGVkZWYgcGV4TWFya2VyQnVuZGxlSW5kZXggcGV4U3VyZmFjZUVkZ2VD
b2xvdXJJbmRleDsKCnR5cGVkZWYgcGV4TWFya2VyQnVuZGxlSW5kZXggcGV4VGV4dEZvbnRJbmRl
eDsKCnR5cGVkZWYgc3RydWN0IHsKICAgIHBleEVsZW1lbnRJbmZvIGhlYWQ7CiAgICBwZXhDb2xv
dXJTcGVjaWZpZXIgY29sb3VyU3BlYzsKCn0gcGV4TWFya2VyQ29sb3VyOwoKdHlwZWRlZiBwZXhN
YXJrZXJDb2xvdXIgcGV4VGV4dENvbG91cjsKdHlwZWRlZiBwZXhNYXJrZXJDb2xvdXIgcGV4TGlu
ZUNvbG91cjsKdHlwZWRlZiBwZXhNYXJrZXJDb2xvdXIgcGV4U3VyZmFjZUNvbG91cjsKdHlwZWRl
ZiBwZXhNYXJrZXJDb2xvdXIgcGV4QmZTdXJmYWNlQ29sb3VyOwp0eXBlZGVmIHBleE1hcmtlckNv
bG91ciBwZXhTdXJmYWNlRWRnZUNvbG91cjsKCnR5cGVkZWYgc3RydWN0IHsKICAgIHBleEVsZW1l
bnRJbmZvIGhlYWQ7CiAgICBwZXhFbnVtVHlwZUluZGV4IHN0eWxlIDsKICAgIENBUkQxNiBwYWQg
Owp9IHBleEF0ZXh0U3R5bGU7Cgp0eXBlZGVmIHBleE1hcmtlckJ1bmRsZUluZGV4IHBleFRleHRC
dW5kbGVJbmRleDsKdHlwZWRlZiBwZXhNYXJrZXJCdW5kbGVJbmRleCBwZXhMaW5lQnVuZGxlSW5k
ZXg7CnR5cGVkZWYgcGV4TWFya2VyQnVuZGxlSW5kZXggcGV4SW50ZXJpb3JCdW5kbGVJbmRleDsK
dHlwZWRlZiBwZXhNYXJrZXJCdW5kbGVJbmRleCBwZXhJbnRlcmlvclN0eWxlSW5kZXg7CnR5cGVk
ZWYgcGV4TWFya2VyQnVuZGxlSW5kZXggcGV4QmZJbnRlcmlvclN0eWxlSW5kZXg7CnR5cGVkZWYg
cGV4TWFya2VyQnVuZGxlSW5kZXggcGV4RWRnZUJ1bmRsZUluZGV4Owp0eXBlZGVmIHBleE1hcmtl
ckJ1bmRsZUluZGV4IHBleFZpZXdJbmRleDsKdHlwZWRlZiBwZXhNYXJrZXJCdW5kbGVJbmRleCBw
ZXhEZXB0aEN1ZUluZGV4Owp0eXBlZGVmIHBleE1hcmtlckJ1bmRsZUluZGV4IHBleENvbG91ckFw
cHJveEluZGV4OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4RWxlbWVudEluZm8gaGVhZDsKICAg
IENBUkQxNiBwcmVjaXNpb24gOwogICAgQ0FSRDE2IHBhZCA7Cn0gcGV4VGV4dFByZWNpc2lvbjsK
CnR5cGVkZWYgc3RydWN0IHsKICAgIHBleEVsZW1lbnRJbmZvIGhlYWQ7CiAgICBQRVhGTE9BVCBl
eHBhbnNpb247Cn0gcGV4Q2hhckV4cGFuc2lvbjsKCnR5cGVkZWYgc3RydWN0IHsKICAgIHBleEVs
ZW1lbnRJbmZvIGhlYWQ7CiAgICBQRVhGTE9BVCBzcGFjaW5nOwp9IHBleENoYXJTcGFjaW5nOwoK
dHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4RWxlbWVudEluZm8gaGVhZDsKICAgIFBFWEZMT0FUIGhl
aWdodDsKfSBwZXhDaGFySGVpZ2h0Owp0eXBlZGVmIHBleENoYXJIZWlnaHQgcGV4QXRleHRIZWln
aHQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBwZXhFbGVtZW50SW5mbyBoZWFkOwogICAgcGV4VmVj
dG9yMkQgdXA7Cn0gcGV4Q2hhclVwVmVjdG9yOwp0eXBlZGVmIHBleENoYXJVcFZlY3RvciBwZXhB
dGV4dFVwVmVjdG9yOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4RWxlbWVudEluZm8gaGVhZDsK
ICAgIENBUkQxNiBwYXRoIDsKICAgIENBUkQxNiBwYWQgOwp9IHBleFRleHRQYXRoOwp0eXBlZGVm
IHBleFRleHRQYXRoIHBleEF0ZXh0UGF0aDsKCnR5cGVkZWYgc3RydWN0IHsKICAgIHBleEVsZW1l
bnRJbmZvIGhlYWQ7CiAgICBwZXhUZXh0QWxpZ25tZW50RGF0YSBhbGlnbm1lbnQ7Cn0gcGV4VGV4
dEFsaWdubWVudDsKdHlwZWRlZiBwZXhUZXh0QWxpZ25tZW50IHBleEF0ZXh0QWxpZ25tZW50OwoK
dHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4RWxlbWVudEluZm8gaGVhZDsKICAgIHBleEVudW1UeXBl
SW5kZXggbGluZVR5cGUgOwogICAgQ0FSRDE2IHBhZCA7Cn0gcGV4TGluZVR5cGU7Cgp0eXBlZGVm
IHN0cnVjdCB7CiAgICBwZXhFbGVtZW50SW5mbyBoZWFkOwogICAgUEVYRkxPQVQgd2lkdGg7Cn0g
cGV4TGluZVdpZHRoOwp0eXBlZGVmIHBleExpbmVXaWR0aCBwZXhTdXJmYWNlRWRnZVdpZHRoOwoK
dHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4RWxlbWVudEluZm8gaGVhZDsKICAgIHBleEN1cnZlQXBw
cm94IGFwcHJveDsKfSBwZXhDdXJ2ZUFwcHJveGltYXRpb247Cgp0eXBlZGVmIHN0cnVjdCB7CiAg
ICBwZXhFbGVtZW50SW5mbyBoZWFkOwogICAgcGV4RW51bVR5cGVJbmRleCBwb2x5bGluZUludGVy
cCA7CiAgICBDQVJEMTYgcGFkIDsKfSBwZXhQb2x5bGluZUludGVycDsKCnR5cGVkZWYgc3RydWN0
IHsKICAgIHBleEVsZW1lbnRJbmZvIGhlYWQ7CiAgICBwZXhFbnVtVHlwZUluZGV4IGludGVyaW9y
U3R5bGUgOwogICAgQ0FSRDE2IHBhZCA7Cn0gcGV4SW50ZXJpb3JTdHlsZTsKdHlwZWRlZiBwZXhJ
bnRlcmlvclN0eWxlIHBleEJmSW50ZXJpb3JTdHlsZTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIHBl
eEVsZW1lbnRJbmZvIGhlYWQ7CiAgICBwZXhSZWZsZWN0aW9uQXR0ciByZWZsZWN0aW9uQXR0cjsK
fSBwZXhTdXJmYWNlUmVmbEF0dHI7CnR5cGVkZWYgcGV4U3VyZmFjZVJlZmxBdHRyIHBleEJmU3Vy
ZmFjZVJlZmxBdHRyOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4RWxlbWVudEluZm8gaGVhZDsK
ICAgIHBleEVudW1UeXBlSW5kZXggcmVmbGVjdGlvbk1vZGVsIDsKICAgIENBUkQxNiBwYWQgOwp9
IHBleFN1cmZhY2VSZWZsTW9kZWw7CnR5cGVkZWYgcGV4U3VyZmFjZVJlZmxNb2RlbCBwZXhCZlN1
cmZhY2VSZWZsTW9kZWw7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBwZXhFbGVtZW50SW5mbyBoZWFk
OwogICAgcGV4RW51bVR5cGVJbmRleCBzdXJmYWNlSW50ZXJwIDsKICAgIENBUkQxNiBwYWQgOwp9
IHBleFN1cmZhY2VJbnRlcnA7CnR5cGVkZWYgcGV4U3VyZmFjZUludGVycCBwZXhCZlN1cmZhY2VJ
bnRlcnA7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBwZXhFbGVtZW50SW5mbyBoZWFkOwogICAgcGV4
U3VyZmFjZUFwcHJveCBhcHByb3g7Cn0gcGV4U3VyZmFjZUFwcHJveGltYXRpb247Cgp0eXBlZGVm
IHN0cnVjdCB7CiAgICBwZXhFbGVtZW50SW5mbyBoZWFkOwogICAgcGV4Q3VsbE1vZGUgY3VsbE1v
ZGUgOwogICAgQ0FSRDE2IHBhZCA7Cn0gcGV4Q3VsbGluZ01vZGU7Cgp0eXBlZGVmIHN0cnVjdCB7
CiAgICBwZXhFbGVtZW50SW5mbyBoZWFkOwogICAgcGV4U3dpdGNoIGRpc3Rpbmd1aXNoOwogICAg
QllURSBwYWRbM107Cn0gcGV4RGlzdGluZ3Vpc2hGbGFnOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAg
cGV4RWxlbWVudEluZm8gaGVhZDsKICAgIHBleFZlY3RvcjJEIHNpemU7Cn0gcGV4UGF0dGVyblNp
emU7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBwZXhFbGVtZW50SW5mbyBoZWFkOwogICAgcGV4Q29v
cmQyRCBwb2ludDsKfSBwZXhQYXR0ZXJuUmVmUHQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBwZXhF
bGVtZW50SW5mbyBoZWFkOwogICAgcGV4Q29vcmQzRCByZWZQdDsKICAgIHBleFZlY3RvcjNEIHZl
Y3RvcjE7CiAgICBwZXhWZWN0b3IzRCB2ZWN0b3IyOwp9IHBleFBhdHRlcm5BdHRyOwoKdHlwZWRl
ZiBzdHJ1Y3QgewogICAgcGV4RWxlbWVudEluZm8gaGVhZDsKICAgIHBleFN3aXRjaCBvbm9mZjsK
ICAgIEJZVEUgcGFkWzNdOwp9IHBleFN1cmZhY2VFZGdlRmxhZzsKCnR5cGVkZWYgc3RydWN0IHsK
ICAgIHBleEVsZW1lbnRJbmZvIGhlYWQ7CiAgICBwZXhFbnVtVHlwZUluZGV4IGVkZ2VUeXBlIDsK
ICAgIENBUkQxNiBwYWQgOwp9IHBleFN1cmZhY2VFZGdlVHlwZTsKCnR5cGVkZWYgc3RydWN0IHsK
ICAgIHBleEVsZW1lbnRJbmZvIGhlYWQ7CiAgICBwZXhBc2ZBdHRyaWJ1dGUgYXR0cmlidXRlIDsK
ICAgIHBleEFzZlZhbHVlIHNvdXJjZTsKICAgIEJZVEUgcGFkWzNdOwp9IHBleFNldEFzZlZhbHVl
czsKCnR5cGVkZWYgc3RydWN0IHsKICAgIHBleEVsZW1lbnRJbmZvIGhlYWQ7CiAgICBwZXhDb21w
b3NpdGlvbiBjb21wVHlwZTsKICAgIENBUkQxNiB1bnVzZWQgOwogICAgcGV4TWF0cml4IG1hdHJp
eDsKfSBwZXhMb2NhbFRyYW5zZm9ybTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIHBleEVsZW1lbnRJ
bmZvIGhlYWQ7CiAgICBwZXhDb21wb3NpdGlvbiBjb21wVHlwZTsKICAgIENBUkQxNiB1bnVzZWQg
OwogICAgcGV4TWF0cml4M1gzIG1hdHJpeDNYMzsKfSBwZXhMb2NhbFRyYW5zZm9ybTJEOwoKdHlw
ZWRlZiBzdHJ1Y3QgewogICAgcGV4RWxlbWVudEluZm8gaGVhZDsKICAgIHBleE1hdHJpeCBtYXRy
aXg7Cn0gcGV4R2xvYmFsVHJhbnNmb3JtOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4RWxlbWVu
dEluZm8gaGVhZDsKICAgIHBleE1hdHJpeDNYMyBtYXRyaXgzWDM7Cn0gcGV4R2xvYmFsVHJhbnNm
b3JtMkQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBwZXhFbGVtZW50SW5mbyBoZWFkOwogICAgcGV4
U3dpdGNoIG9ub2ZmOwogICAgQllURSBwYWRbM107Cn0gcGV4TW9kZWxDbGlwOwoKdHlwZWRlZiBz
dHJ1Y3QgewogICAgcGV4RWxlbWVudEluZm8gaGVhZDsKICAgIHBleEVudW1UeXBlSW5kZXggbW9k
ZWxDbGlwT3BlcmF0b3IgOwogICAgQ0FSRDE2IG51bUhhbGZTcGFjZXMgOwoKfSBwZXhNb2RlbENs
aXBWb2x1bWU7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBwZXhFbGVtZW50SW5mbyBoZWFkOwogICAg
cGV4RW51bVR5cGVJbmRleCBtb2RlbENsaXBPcGVyYXRvciA7CiAgICBDQVJEMTYgbnVtSGFsZlNw
YWNlcyA7Cgp9IHBleE1vZGVsQ2xpcFZvbHVtZTJEOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4
RWxlbWVudEluZm8gaGVhZDsKfSBwZXhSZXN0b3JlTW9kZWxDbGlwOwoKdHlwZWRlZiBzdHJ1Y3Qg
ewogICAgcGV4RWxlbWVudEluZm8gaGVhZDsKICAgIENBUkQxNiBudW1FbmFibGUgOwogICAgQ0FS
RDE2IG51bURpc2FibGUgOwoKCgoKfSBwZXhMaWdodFN0YXRlOwoKdHlwZWRlZiBzdHJ1Y3Qgewog
ICAgcGV4RWxlbWVudEluZm8gaGVhZDsKICAgIENBUkQzMiBwaWNrSWQgOwp9IHBleFBpY2tJZDsK
CnR5cGVkZWYgc3RydWN0IHsKICAgIHBleEVsZW1lbnRJbmZvIGhlYWQ7CiAgICBDQVJEMzIgaGxo
c3JJRCA7Cn0gcGV4SGxoc3JJZGVudGlmaWVyOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4RWxl
bWVudEluZm8gaGVhZDsKICAgIHBleEVudW1UeXBlSW5kZXggbW9kZWwgOwogICAgQ0FSRDE2IHBh
ZCA7Cn0gcGV4UmVuZGVyaW5nQ29sb3VyTW9kZWw7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBwZXhF
bGVtZW50SW5mbyBoZWFkOwogICAgcGV4RW51bVR5cGVJbmRleCBjaGFyYWN0ZXJpc3RpY3MgOwog
ICAgQ0FSRDE2IGxlbmd0aCA7Cgp9IHBleFBhcmFTdXJmQ2hhcmFjdGVyaXN0aWNzOwoKdHlwZWRl
ZiBzdHJ1Y3QgewogICAgcGV4RWxlbWVudEluZm8gaGVhZDsKCn0gcGV4QWRkVG9OYW1lU2V0Owp0
eXBlZGVmIHBleEFkZFRvTmFtZVNldCBwZXhSZW1vdmVGcm9tTmFtZVNldDsKCnR5cGVkZWYgc3Ry
dWN0IHsKICAgIHBleEVsZW1lbnRJbmZvIGhlYWQ7CiAgICBwZXhTdHJ1Y3R1cmUgaWQgOwp9IHBl
eEV4ZWN1dGVTdHJ1Y3R1cmU7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBwZXhFbGVtZW50SW5mbyBo
ZWFkOwogICAgSU5UMzIgbGFiZWwgOwp9IHBleExhYmVsOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAg
cGV4RWxlbWVudEluZm8gaGVhZDsKICAgIENBUkQxNiBudW1FbGVtZW50cyA7CiAgICBDQVJEMTYg
dW51c2VkIDsKCgp9IHBleEFwcGxpY2F0aW9uRGF0YTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIHBl
eEVsZW1lbnRJbmZvIGhlYWQ7CiAgICBDQVJEMzIgaWQgOwogICAgQ0FSRDE2IG51bUVsZW1lbnRz
IDsKICAgIENBUkQxNiB1bnVzZWQgOwoKCn0gcGV4R3NlOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAg
cGV4RWxlbWVudEluZm8gaGVhZDsKCn0gcGV4TWFya2VyOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAg
cGV4RWxlbWVudEluZm8gaGVhZDsKCn0gcGV4TWFya2VyMkQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAg
ICBwZXhFbGVtZW50SW5mbyBoZWFkOwogICAgcGV4Q29vcmQzRCBvcmlnaW47CiAgICBwZXhWZWN0
b3IzRCB2ZWN0b3IxOwogICAgcGV4VmVjdG9yM0QgdmVjdG9yMjsKICAgIENBUkQxNiBudW1FbmNv
ZGluZ3MgOwogICAgQ0FSRDE2IHVudXNlZCA7Cgp9IHBleFRleHQ7Cgp0eXBlZGVmIHN0cnVjdCB7
CiAgICBwZXhFbGVtZW50SW5mbyBoZWFkOwogICAgcGV4Q29vcmQyRCBvcmlnaW47CiAgICBDQVJE
MTYgbnVtRW5jb2RpbmdzIDsKICAgIENBUkQxNiB1bnVzZWQgOwoKfSBwZXhUZXh0MkQ7Cgp0eXBl
ZGVmIHN0cnVjdCB7CiAgICBwZXhFbGVtZW50SW5mbyBoZWFkOwogICAgcGV4Q29vcmQzRCBvcmln
aW47CiAgICBwZXhDb29yZDNEIG9mZnNldDsKICAgIENBUkQxNiBudW1FbmNvZGluZ3MgOwogICAg
Q0FSRDE2IHVudXNlZCA7Cgp9IHBleEFubm90YXRpb25UZXh0OwoKdHlwZWRlZiBzdHJ1Y3Qgewog
ICAgcGV4RWxlbWVudEluZm8gaGVhZDsKICAgIHBleENvb3JkMkQgb3JpZ2luOwogICAgcGV4Q29v
cmQyRCBvZmZzZXQ7CiAgICBDQVJEMTYgbnVtRW5jb2RpbmdzIDsKICAgIENBUkQxNiB1bnVzZWQg
OwoKfSBwZXhBbm5vdGF0aW9uVGV4dDJEOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4RWxlbWVu
dEluZm8gaGVhZDsKCn0gcGV4UG9seWxpbmU7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBwZXhFbGVt
ZW50SW5mbyBoZWFkOwoKfSBwZXhQb2x5bGluZTJEOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4
RWxlbWVudEluZm8gaGVhZDsKICAgIHBleENvbG91clR5cGUgY29sb3VyVHlwZSA7CiAgICBwZXhC
aXRtYXNrU2hvcnQgdmVydGV4QXR0cmlicyA7CiAgICBDQVJEMzIgbnVtTGlzdHMgOwoKfSBwZXhQ
b2x5bGluZVNldDsKCnR5cGVkZWYgc3RydWN0IHsKICAgIHBleEVsZW1lbnRJbmZvIGhlYWQ7CiAg
ICBDQVJEMTYgY3VydmVPcmRlciA7CiAgICBwZXhDb29yZFR5cGUgY29vcmRUeXBlIDsKICAgIFBF
WEZMT0FUIHRtaW47CiAgICBQRVhGTE9BVCB0bWF4OwogICAgQ0FSRDMyIG51bUtub3RzIDsKICAg
IENBUkQzMiBudW1Qb2ludHMgOwoKCn0gcGV4TnVyYkN1cnZlOwoKdHlwZWRlZiBzdHJ1Y3Qgewog
ICAgcGV4RWxlbWVudEluZm8gaGVhZDsKICAgIENBUkQxNiBzaGFwZSA7CiAgICBwZXhTd2l0Y2gg
aWdub3JlRWRnZXM7CiAgICBDQVJEOCBwYWQ7Cgp9IHBleEZpbGxBcmVhOwoKdHlwZWRlZiBzdHJ1
Y3QgewogICAgcGV4RWxlbWVudEluZm8gaGVhZDsKICAgIENBUkQxNiBzaGFwZSA7CiAgICBwZXhT
d2l0Y2ggaWdub3JlRWRnZXM7CiAgICBDQVJEOCB1bnVzZWQ7Cgp9IHBleEZpbGxBcmVhMkQ7Cgp0
eXBlZGVmIHN0cnVjdCB7CiAgICBwZXhFbGVtZW50SW5mbyBoZWFkOwogICAgQ0FSRDE2IHNoYXBl
IDsKICAgIHBleFN3aXRjaCBpZ25vcmVFZGdlczsKICAgIENBUkQ4IHVudXNlZDsKICAgIHBleENv
bG91clR5cGUgY29sb3VyVHlwZSA7CiAgICBwZXhCaXRtYXNrU2hvcnQgZmFjZXRBdHRyaWJzIDsK
ICAgIHBleEJpdG1hc2tTaG9ydCB2ZXJ0ZXhBdHRyaWJzIDsKICAgIENBUkQxNiB1bnVzZWQyIDsK
Cn0gcGV4RXh0RmlsbEFyZWE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBwZXhFbGVtZW50SW5mbyBo
ZWFkOwogICAgQ0FSRDE2IHNoYXBlIDsKICAgIHBleFN3aXRjaCBpZ25vcmVFZGdlczsKICAgIENB
UkQ4IGNvbnRvdXJIaW50OwogICAgQ0FSRDMyIG51bUxpc3RzIDsKCn0gcGV4RmlsbEFyZWFTZXQ7
Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBwZXhFbGVtZW50SW5mbyBoZWFkOwogICAgQ0FSRDE2IHNo
YXBlIDsKICAgIHBleFN3aXRjaCBpZ25vcmVFZGdlczsKICAgIENBUkQ4IGNvbnRvdXJIaW50Owog
ICAgQ0FSRDMyIG51bUxpc3RzIDsKCn0gcGV4RmlsbEFyZWFTZXQyRDsKCgp0eXBlZGVmIHN0cnVj
dCB7CiAgICBwZXhFbGVtZW50SW5mbyBoZWFkOwogICAgQ0FSRDE2IHNoYXBlIDsKICAgIHBleFN3
aXRjaCBpZ25vcmVFZGdlczsKICAgIENBUkQ4IGNvbnRvdXJIaW50OwogICAgcGV4Q29sb3VyVHlw
ZSBjb2xvdXJUeXBlIDsKICAgIHBleEJpdG1hc2tTaG9ydCBmYWNldEF0dHJpYnMgOwogICAgcGV4
Qml0bWFza1Nob3J0IHZlcnRleEF0dHJpYnMgOwogICAgQ0FSRDE2IHVudXNlZDIgOwogICAgQ0FS
RDMyIG51bUxpc3RzIDsKCgp9IHBleEV4dEZpbGxBcmVhU2V0OwoKdHlwZWRlZiBzdHJ1Y3Qgewog
ICAgcGV4RWxlbWVudEluZm8gaGVhZDsKICAgIHBleENvbG91clR5cGUgY29sb3VyVHlwZSA7CiAg
ICBwZXhCaXRtYXNrU2hvcnQgZmFjZXRBdHRyaWJzIDsKICAgIHBleEJpdG1hc2tTaG9ydCB2ZXJ0
ZXhBdHRyaWJzIDsKICAgIENBUkQxNiB1bnVzZWQgOwogICAgQ0FSRDMyIG51bVZlcnRpY2VzIDsK
CgoKfSBwZXhUcmlhbmdsZVN0cmlwOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4RWxlbWVudElu
Zm8gaGVhZDsKICAgIHBleENvbG91clR5cGUgY29sb3VyVHlwZSA7CiAgICBDQVJEMTYgbVB0cyA7
CiAgICBDQVJEMTYgblB0cyA7CiAgICBwZXhCaXRtYXNrU2hvcnQgZmFjZXRBdHRyaWJzIDsKICAg
IHBleEJpdG1hc2tTaG9ydCB2ZXJ0ZXhBdHRyaWJzIDsKICAgIENBUkQxNiBzaGFwZSA7CgoKCn0g
cGV4UXVhZHJpbGF0ZXJhbE1lc2g7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBwZXhFbGVtZW50SW5m
byBoZWFkOwogICAgQ0FSRDE2IHNoYXBlIDsKICAgIHBleENvbG91clR5cGUgY29sb3VyVHlwZSA7
CiAgICBDQVJEMTYgRkFTX0F0dHJpYnV0ZXMgOwogICAgQ0FSRDE2IHZlcnRleEF0dHJpYnV0ZXMg
OwogICAgQ0FSRDE2IGVkZ2VBdHRyaWJ1dGVzIDsKICAgIENBUkQ4IGNvbnRvdXJIaW50OwogICAg
cGV4U3dpdGNoIGNvbnRvdXJDb3VudHNGbGFnOwogICAgQ0FSRDE2IG51bUZBUyA7CiAgICBDQVJE
MTYgbnVtVmVydGljZXMgOwogICAgQ0FSRDE2IG51bUVkZ2VzIDsKICAgIENBUkQxNiBudW1Db250
b3VycyA7CgoKCgoKCn0gcGV4U09GQVM7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBwZXhFbGVtZW50
SW5mbyBoZWFkOwogICAgcGV4Q29vcmRUeXBlIHR5cGUgOwogICAgQ0FSRDE2IHVPcmRlciA7CiAg
ICBDQVJEMTYgdk9yZGVyIDsKICAgIENBUkQxNiB1bnVzZWQgOwogICAgQ0FSRDMyIG51bVVrbm90
cyA7CiAgICBDQVJEMzIgbnVtVmtub3RzIDsKICAgIENBUkQxNiBtUHRzIDsKICAgIENBUkQxNiBu
UHRzIDsKICAgIENBUkQzMiBudW1MaXN0cyA7CgoKCgp9IHBleE51cmJTdXJmYWNlOwoKdHlwZWRl
ZiBzdHJ1Y3QgewogICAgcGV4RWxlbWVudEluZm8gaGVhZDsKICAgIHBleENvb3JkM0QgcG9pbnQx
OwogICAgcGV4Q29vcmQzRCBwb2ludDI7CiAgICBwZXhDb29yZDNEIHBvaW50MzsKICAgIENBUkQz
MiBkeCA7CiAgICBDQVJEMzIgZHkgOwoKCn0gcGV4Q2VsbEFycmF5OwoKdHlwZWRlZiBzdHJ1Y3Qg
ewogICAgcGV4RWxlbWVudEluZm8gaGVhZDsKICAgIHBleENvb3JkMkQgcG9pbnQxOwogICAgcGV4
Q29vcmQyRCBwb2ludDI7CiAgICBDQVJEMzIgZHggOwogICAgQ0FSRDMyIGR5IDsKCgp9IHBleENl
bGxBcnJheTJEOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4RWxlbWVudEluZm8gaGVhZDsKICAg
IHBleENvbG91clR5cGUgY29sb3VyVHlwZSA7CiAgICBDQVJEMTYgdW51c2VkIDsKICAgIHBleENv
b3JkM0QgcG9pbnQxOwogICAgcGV4Q29vcmQzRCBwb2ludDI7CiAgICBwZXhDb29yZDNEIHBvaW50
MzsKICAgIENBUkQzMiBkeCA7CiAgICBDQVJEMzIgZHkgOwoKfSBwZXhFeHRDZWxsQXJyYXk7Cgp0
eXBlZGVmIHN0cnVjdCB7CiAgICBwZXhFbGVtZW50SW5mbyBoZWFkOwogICAgSU5UMzIgZ2RwSWQg
OwogICAgQ0FSRDMyIG51bVBvaW50cyA7CiAgICBDQVJEMzIgbnVtQnl0ZXMgOwoKCgp9IHBleEdk
cDsKCnR5cGVkZWYgc3RydWN0IHsKICAgIHBleEVsZW1lbnRJbmZvIGhlYWQ7CiAgICBJTlQzMiBn
ZHBJZCA7CiAgICBDQVJEMzIgbnVtUG9pbnRzIDsKICAgIENBUkQzMiBudW1CeXRlcyA7CgoKCn0g
cGV4R2RwMkQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBwZXhFbGVtZW50SW5mbyBoZWFkOwp9IHBl
eE5vb3A7CgoKCgoKCnR5cGVkZWYgc3RydWN0IHsKICAgIEJZVEUgdHlwZTsKICAgIENBUkQ4IHdo
YXQ7CiAgICBDQVJEMTYgc2VxdWVuY2VOdW1iZXIgOwogICAgQ0FSRDMyIHJkciA7CiAgICBCWVRF
IHBhZFsyNF07Cn0gcGV4TWF4SGl0c1JlYWNoZWRFdmVudDsKIyA1NiAiLi4vaW5jbHVkZS9taVN0
cnVjdC5oIiAyCgoKdHlwZWRlZiBkZHBleDRydG4gKCpjc3NUYWJsZVR5cGUpKCk7Cgp0eXBlZGVm
IHN0cnVjdCB7CiAgICAgICAgZGRVU0hPUlQgZWxlbWVudFR5cGU7CiAgICAgICAgZGRVU0hPUlQg
cGV4T0NsZW5ndGg7CiMgNzMgIi4uL2luY2x1ZGUvbWlTdHJ1Y3QuaCIKfSBtaUdlbmVyaWNTdHI7
Cgp0eXBlZGVmIHN0cnVjdCBfbWlDU1NFbGVtZW50IHsKICAgICAgICBzdHJ1Y3QgX21pQ1NTRWxl
bWVudCAqcHJldiwgKm5leHQ7CiAgICAgICAgZGlTdHJ1Y3RIYW5kbGUgcFN0cnVjdDsKICAgICAg
ICBtaUdlbmVyaWNTdHIgZWxlbWVudDsKCn0gbWlHZW5lcmljRWxlbWVudFN0ciwgKm1pR2VuZXJp
Y0VsZW1lbnRQdHI7Cgp0eXBlZGVmIHN0cnVjdCBfbWlDU1NFbGVtZW50SGVhZCB7CiAgICAgICAg
c3RydWN0IF9taUNTU0VsZW1lbnRIZWFkICpuZXh0LCAqcHJldjsKfSBtaUVsZW1lbnRIZWFkU3Ry
OwoKCgp0eXBlZGVmIHN0cnVjdCBfbWlTdHJ1Y3RIZWFkZXIgewoKICAgICAgICBkZFVTSE9SVCBl
ZGl0TW9kZTsKICAgICAgICBkZFVMT05HIG51bUVsZW1lbnRzOwogICAgICAgIGRkVUxPTkcgdG90
YWxTaXplOwogICAgICAgIG1pR2VuZXJpY0VsZW1lbnRQdHIgcFplcm9FbGVtZW50OwogICAgICAg
IG1pR2VuZXJpY0VsZW1lbnRQdHIgcExhc3RFbGVtZW50OwogICAgICAgIG1pR2VuZXJpY0VsZW1l
bnRQdHIgcEN1cnJFbGVtZW50OwogICAgICAgIGRkTE9ORyBjdXJyRWxlbWVudE9mZnNldDsKICAg
ICAgICBsaXN0b2ZPYmogKnBhcmVudHM7CiAgICAgICAgbGlzdG9mT2JqICpjaGlsZHJlbjsKICAg
ICAgICBsaXN0b2ZPYmogKndrc1Bvc3RlZFRvOwogICAgICAgIGxpc3RvZk9iaiAqd2tzQXBwZWFy
T247CiAgICAgICAgZGRVTE9ORyByZWZDb3VudDsKICAgICAgICBkZEJPT0wgZnJlZUZsYWc7Cgp9
IG1pU3RydWN0U3RyLCAqbWlTdHJ1Y3RQdHI7CiMgMTI1ICIuLi9pbmNsdWRlL21pU3RydWN0Lmgi
CnR5cGVkZWYgZW51bSB7CiAgICAgICAgRVNfWUVTID0gMCwKICAgICAgICBFU19QT1AgPSAxLAog
ICAgICAgIEVTX0ZPTExPV19QSUNLID0gMiwKICAgICAgICBFU19GT0xMT1dfU0VBUkNIID0gMwp9
IG1pRXhlY1N0clN0YXRlOwoKCnR5cGVkZWYgc3RydWN0IF9taVBQTGV2ZWwgewogIGRkUGlja1Bh
dGggcHA7CiAgc3RydWN0IF9taVBQTGV2ZWwgKnVwOwp9IG1pUFBMZXZlbDsKCgoKCgoKdHlwZWRl
ZiBzdHJ1Y3QgewogICAgICAgIG1pRXhlY1N0clN0YXRlIGV4ZWNfc3RyX2ZsYWc7CiAgICAgICAg
ZGRVTE9ORyBwaWNrSWQ7CiAgICAgICAgZGRVTE9ORyBST0NvZmZzZXQ7CiAgICAgICAgZGRQaWNr
UGF0aCAqcF9jdXJyX3BpY2tfZWw7CiAgICAgICAgZGRFbGVtZW50UmVmICpwX2N1cnJfc2NfZWw7
CiAgICAgICAgZGRTSE9SVCBtYXhfZGVwdGg7CiAgICAgICAgbWlQUExldmVsICpwX3BpY2tfcGF0
aDsKfSBtaVRyYXZlcnNlclN0YXRlOwojIDU2ICJtaVBjazFQcmltLmMiIDIKIyAxICIuLi9pbmNs
dWRlL21pRm9udC5oIiAxCiMgNTYgIi4uL2luY2x1ZGUvbWlGb250LmgiCiMgMSAiLi4vLi4vLi4v
aW5jbHVkZS9kZHBleDMuaCIgMQojIDU3ICIuLi9pbmNsdWRlL21pRm9udC5oIiAyCiMgNzUgIi4u
L2luY2x1ZGUvbWlGb250LmgiCnR5cGVkZWYgZW51bSB7CiAgICBQQVRIXzJEPTAsCiAgICBQQVRI
XzNEPTEsCiAgICBQQVRIXzREPTIKfSBGb250X3BhdGhfdHlwZTsKCnR5cGVkZWYgc3RydWN0IHsK
ICAgIEZvbnRfcGF0aF90eXBlIHR5cGU7CiAgICBkZEZMT0FUIGNlbnRlcjsKICAgIGRkRkxPQVQg
cmlnaHQ7CiAgICBkZFVMT05HIG5fdmVydGljZXM7CiAgICBtaUxpc3RIZWFkZXIgc3Ryb2tlczsK
fSBDaF9zdHJva2VfZGF0YTsKCnR5cGVkZWYgZW51bSB7CiAgICBGT05UX1BPTFlMSU5FUz0wLAog
ICAgRk9OVF9TUExJTkVTPTEsCiAgICBGT05UX1BPTFlHT05TPTIKfSBGb250X3R5cGU7Cgp0eXBl
ZGVmIHN0cnVjdCB7CiAgICBGb250X3R5cGUgZm9udF90eXBlOwogICAgY2hhciBuYW1lWzgwXTsK
ICAgIHVuc2lnbmVkIGxvbmcgbnVtX2NoOwogICAgZmxvYXQgdG9wLCBib3R0b20sIG1heF93aWR0
aDsKICAgIENoX3N0cm9rZV9kYXRhICoqY2hfZGF0YTsKICAgIHBleEZvbnRJbmZvIGZvbnRfaW5m
bzsKICAgIHBleEZvbnRQcm9wICpwcm9wZXJ0aWVzOwogICAgaW50IGx1dFJlZkNvdW50OwogICAg
aW50IGZyZWVGbGFnOwp9IG1pRm9udEhlYWRlcjsKCnR5cGVkZWYgc3RydWN0IHsKICAgIGRkRkxP
QVQgdG9wLCBib3R0b20sIHdpZHRoOwp9IE1ldGFfZm9udDsKCnR5cGVkZWYgc3RydWN0IHsKICBj
aGFyIHByb3BuYW1lWzgwXTsKICBjaGFyIHByb3B2YWx1ZVs4MF07Cn1Qcm9wZXJ0eTsKCnR5cGVk
ZWYgc3RydWN0CnsKICAgIGludCBtYWdpYzsKICAgIGNoYXIgbmFtZVs4MF07CiAgICBmbG9hdCB0
b3AsCiAgICAgICAgICAgIGJvdHRvbSwKICAgICAgICAgICAgbWF4X3dpZHRoOwogICAgaW50IG51
bV9jaDsKICAgIGludCBudW1fcHJvcHM7CiAgICBQcm9wZXJ0eSAqcHJvcGVydGllczsKfSBGb250
X2ZpbGVfaGVhZGVyOwoKdHlwZWRlZiBzdHJ1Y3QKewogICAgZmxvYXQgY2VudGVyLAogICAgICAg
ICAgICByaWdodDsKICAgIGxvbmcgb2Zmc2V0OwoKfSBEaXNwYXRjaDsKIyA1NyAibWlQY2sxUHJp
bS5jIiAyCiMgMSAiLi4vaW5jbHVkZS9taVdrcy5oIiAxCiMgNTAgIi4uL2luY2x1ZGUvbWlXa3Mu
aCIKIyAxICIuLi8uLi8uLi9pbmNsdWRlL2RkcGV4NC5oIiAxCiMgNTEgIi4uL2luY2x1ZGUvbWlX
a3MuaCIgMgojIDEgIi4uL2luY2x1ZGUvbWlOUy5oIiAxCiMgNTIgIi4uL2luY2x1ZGUvbWlXa3Mu
aCIgMgoKIyAxICIuLi9pbmNsdWRlL21pSW5mby5oIiAxCiMgNjUgIi4uL2luY2x1ZGUvbWlJbmZv
LmgiCiMgMSAiLi4vaW5jbHVkZS9taU5TLmgiIDEKIyA2NiAiLi4vaW5jbHVkZS9taUluZm8uaCIg
MgojIDU0ICIuLi9pbmNsdWRlL21pV2tzLmgiIDIKIyAxICIuLi9pbmNsdWRlL21pUGljay5oIiAx
CiMgNTAgIi4uL2luY2x1ZGUvbWlQaWNrLmgiCiMgMSAiLi4vLi4vLi4vaW5jbHVkZS9kZHBleDQu
aCIgMQojIDUxICIuLi9pbmNsdWRlL21pUGljay5oIiAyCiMgNTkgIi4uL2luY2x1ZGUvbWlQaWNr
LmgiCnR5cGVkZWYgc3RydWN0IHsKICAgIGRkRW51bVR5cGVJbmRleCB0eXBlOwogICAgZGRVU0hP
UlQgc3RhdHVzOwogICAgbGlzdG9mT2JqICpwYXRoOwogICAgZGRVU0hPUlQgcGF0aE9yZGVyOwog
ICAgZGlOU0hhbmRsZSBpbmNsdXNpb247CiAgICBkaU5TSGFuZGxlIGV4Y2x1c2lvbjsKICAgIHVu
aW9uIHsKICAgICAgICBjaGFyIGRjX2RhdGFfcmVjOwogICAgICAgIGNoYXIgbnBjX2RhdGFfcmVj
OwogICAgfSBkYXRhX3JlYzsKICAgIGRkRW51bVR5cGVJbmRleCBwZXQ7CiAgICBkZFZpZXdwb3J0
IGVjaG9Wb2x1bWU7CiAgICBkZFVTSE9SVCBlY2hvU3dpdGNoOwogICAgZGRQb2ludGVyIGRldlBy
aXY7Cn0gbWlQaWNrRGV2aWNlOwoKdHlwZWRlZiBzdHJ1Y3QgewoKICAgICAgICBkaVdLU0hhbmRs
ZSBwV2tzOwogICAgICAgIGRkRW51bVR5cGVJbmRleCB0eXBlOwogICAgICAgIGRkVVNIT1JUIHN0
YXR1czsKICAgICAgICBsaXN0b2ZPYmogKnBhdGg7CiAgICAgICAgZGRVU0hPUlQgcGF0aE9yZGVy
OwogICAgZGlOU0hhbmRsZSBpbmNsX2hhbmRsZTsKICAgIGRpTlNIYW5kbGUgZXhjbF9oYW5kbGU7
CiAgICAgICAgdW5pb24gewogICAgICAgICAgICAgICAgY2hhciBkY19kYXRhX3JlYzsKICAgICAg
ICAgICAgICAgIGNoYXIgbnBjX2RhdGFfcmVjOwogICAgICAgIH0gZGF0YV9yZWM7CiAgICAgICAg
dW5pb24gewogICAgICAgICAgICAgICAgZGRQQ19EQ19IaXRCb3ggZGNfaGl0X2JveDsKICAgICAg
ICAgICAgICAgIGRkUENfTlBDX0hpdFZvbHVtZSBucGNfaGl0X3ZvbHVtZTsKICAgICAgICB9IGlu
cHV0X3JlYzsKICAgIGRkUG9pbnRlciBkZXZQcml2Owp9IG1pUGlja01lYXN1cmVTdHI7CiMgNTUg
Ii4uL2luY2x1ZGUvbWlXa3MuaCIgMgoKCgoKdHlwZWRlZiBzdHJ1Y3QgX2RkT3JkU3RydWN0IHsK
ICAgICAgICBkaVN0cnVjdEhhbmRsZSBwc3RydWN0OwogICAgICAgIGRkRkxPQVQgcHJpb3JpdHk7
CiAgICAgICAgc3RydWN0IF9kZE9yZFN0cnVjdCAqbmV4dDsKfSBkZE9yZFN0cnVjdDsKCnR5cGVk
ZWYgc3RydWN0IHsKICAgICAgICBkZFVMT05HIG51bVN0cnVjdHM7CiAgICAgICAgZGRPcmRTdHJ1
Y3QgKnBvc3RydWN0Owp9IGxpc3RvZk9yZFN0cnVjdDsKIyAxMDMgIi4uL2luY2x1ZGUvbWlXa3Mu
aCIKdHlwZWRlZiBzdHJ1Y3QgX2RkT3JkVmlldyB7CiAgICAgICAgc2hvcnQgZGVmaW5lZDsKICAg
ICAgICBkZFVTSE9SVCBmaXJzdF92aWV3OwogICAgICAgIGRkVVNIT1JUIGxhc3RfdmlldzsKICAg
ICAgICBzdHJ1Y3QgX2RkT3JkVmlldyAqaGlnaGVyOwogICAgICAgIHN0cnVjdCBfZGRPcmRWaWV3
ICpsb3dlcjsKfSBkZE9yZFZpZXc7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRVTE9ORyBk
ZWZpbmVkX3ZpZXdzOwogICAgICAgIGRkT3JkVmlldyAqaGlnaGVzdDsKICAgICAgICBkZE9yZFZp
ZXcgKmxvd2VzdDsKICAgICAgICBkZE9yZFZpZXcgKmZyZWU7CiAgICAgICAgZGRPcmRWaWV3IGVu
dHJpZXNbKCA2ICogMiArIDMpXTsKfSBsaXN0b2ZPcmRWaWV3OwoKCgoKCgoKdHlwZWRlZiBzdHJ1
Y3QgX21pV2tzIHsKCiAgICAgICAgZGRFbnVtVHlwZUluZGV4IGRpc3BsYXlVcGRhdGU7CiAgICAg
ICAgZGRCWVRFIHZpc3VhbFN0YXRlOwogICAgICAgIGRkQllURSBkaXNwbGF5U3VyZmFjZTsKICAg
ICAgICBkZEJZVEUgdmlld1VwZGF0ZTsKCgogICAgICAgIGxpc3RvZk9yZFZpZXcgdmlld3M7CiAg
ICAgICAgZGlMVVRIYW5kbGUgcmVxVmlld1RhYmxlOwoKCiAgICAgICAgZGRVTE9ORyBkZWx0YXZp
ZXdNYXNrOwoKICAgICAgICBkZEJZVEUgd2tzVXBkYXRlOwoKICAgICAgICBkZEJZVEUgd2tzTWFz
azsKICAgICAgICBkZE5wY1N1YnZvbHVtZSByZXFOcGNTdWJ2b2x1bWU7CgogICAgICAgIGRkVmll
d3BvcnQgcmVxdmlld3BvcnQ7CgogICAgICAgIGRkQllURSBobGhzclVwZGF0ZTsKICAgICAgICBk
ZEVudW1UeXBlSW5kZXggcmVxaGxoc3JNb2RlOwoKICAgICAgICBkZFJlbmRlcmVyUHRyIHBSZW5k
OwojIDE3NiAiLi4vaW5jbHVkZS9taVdrcy5oIgogICAgICAgIGRkQllURSBidWZmZXJVcGRhdGU7
CiAgICAgICAgZGRVU0hPUlQgY3VyQnVmZmVyTW9kZTsKICAgICAgICBkZFVTSE9SVCByZXFCdWZm
ZXJNb2RlOwogICAgICAgIGxpc3RvZk9yZFN0cnVjdCBwb3N0ZWRTdHJ1Y3RzOwogICAgICAgIGRk
QllURSBkeW5hbWljc1tNQVhfRFlOQU1JQ107CgogICAgICAgIGRkQk9PTCBmcmVlRmxhZzsKICAg
ICAgICBkZExPTkcgcmVmQ291bnQ7CiAgICAgICAgbWlQaWNrRGV2aWNlIGRldmljZXNbMl07Cgog
ICAgICAgIGxpc3RvZk9iaiAqcHdrc0xpc3Q7CiAgICAgICAgRHJhd2FibGVQdHIgZG91YmxlRHJh
d2FibGVzWzJdOwogICAgICAgIGludCBjdXJEb3VibGVCdWZmZXI7CiAgICAgICAgaW50IGhhc0Rv
dWJsZUJ1ZmZlcjsKICAgICAgICBpbnQgdXNpbmdEb3VibGVCdWZmZXI7CiAgICAgICAgRHJhd2Fi
bGVQdHIgcEN1ckRyYXdhYmxlOwp9IG1pV2tzU3RyLCAqbWlXa3NQdHI7CiMgNTggIm1pUGNrMVBy
aW0uYyIgMgojIDEgIi4uL2luY2x1ZGUvbWlUZXh0LmgiIDEKIyA1NyAiLi4vaW5jbHVkZS9taVRl
eHQuaCIKdHlwZWRlZiBzdHJ1Y3QgewogICAgZGRWZWN0b3IyRCB0cmFuczsKICAgIG1pTGlzdEhl
YWRlciAqcGF0aDsKICB9bWlDaGFyUGF0aDsKCnR5cGVkZWYgc3RydWN0IHsKCiAgICBtaUNoYXJQ
YXRoICpwYXRoczsKICAgIGRkRkxPQVQgeGZvcm1bNF1bNF07CgogIH1taVRleHRFbGVtZW50Owoj
IDU5ICJtaVBjazFQcmltLmMiIDIKIyAxICIuLi9pbmNsdWRlL21pQ2xpcC5oIiAxCiMgNTMgIi4u
L2luY2x1ZGUvbWlDbGlwLmgiCiMgMSAiLi4vaW5jbHVkZS9taUxpZ2h0LmgiIDEKIyA1NCAiLi4v
aW5jbHVkZS9taUNsaXAuaCIgMgojIDYwICJtaVBjazFQcmltLmMiIDIKIyA3NCAibWlQY2sxUHJp
bS5jIgpkZHBleDJydG4KbWlQaWNrMVBvbHlMaW5lKHBSZW5kLCBwZGRjLCBpbnB1dF9saXN0KQoK
ICAgIGRkUmVuZGVyZXJQdHIgcFJlbmQ7CiAgICBtaUREQ29udGV4dCAqcGRkYzsKICAgIG1pTGlz
dEhlYWRlciAqaW5wdXRfbGlzdDsKewoKCgoKCgogICAgICBpZiAoaW5wdXRfbGlzdC0+bnVtTGlz
dHMgPiAwKSB7CiAgICAgICAgICBwZGRjLT5TdGF0aWMucGljay5zdGF0dXMgPSAxOwogICAgICB9
CiAgICAgIHJldHVybiAoMCk7Cn0KIyAxMDUgIm1pUGNrMVByaW0uYyIKZGRwZXgycnRuCm1pUGlj
azFUZXh0KHBSZW5kLCBwZGRjLCBpbnB1dF9saXN0KQoKICAgIGRkUmVuZGVyZXJQdHIgcFJlbmQ7
CiAgICBtaUREQ29udGV4dCAqcGRkYzsKICAgIG1pTGlzdEhlYWRlciAqaW5wdXRfbGlzdDsKCnsK
CgoKCgoKICAgICAgaWYgKGlucHV0X2xpc3QtPm51bUxpc3RzID4gMCkgewogICAgICAgICAgcGRk
Yy0+U3RhdGljLnBpY2suc3RhdHVzID0gMTsKICAgICAgfQogICAgICByZXR1cm4gKDApOwp9CiMg
MTM3ICJtaVBjazFQcmltLmMiCmRkcGV4MnJ0bgptaVBpY2sxTWFya2VyKHBSZW5kLCBwZGRjLCBp
bnB1dF9saXN0KQoKICAgIGRkUmVuZGVyZXJQdHIgcFJlbmQ7CiAgICBtaUREQ29udGV4dCAqcGRk
YzsKICAgIG1pTGlzdEhlYWRlciAqaW5wdXRfbGlzdDsKCnsKCgoKCgoKICAgICAgaWYgKGlucHV0
X2xpc3QtPm51bUxpc3RzID4gMCkgewogICAgICAgICAgcGRkYy0+U3RhdGljLnBpY2suc3RhdHVz
ID0gMTsKICAgICAgfQogICAgICByZXR1cm4gKDApOwp9CiMgMTY4ICJtaVBjazFQcmltLmMiCnN0
YXRpYwpkZHBleDJydG4KQ2hlY2tGQXJlYVBpY2sxIChpbl9saXN0KQoKICAgIG1pTGlzdEhlYWRl
ciAqaW5fbGlzdDsKCnsKCgoKCiAgICBsaXN0b2ZkZFBvaW50ICpwb2x5X2xpc3Q7CiAgICBkZFBv
aW50VW5pb24gcHRfbGlzdDsKICAgIGludCBwdF9zaXplOwogICAgZGRDb29yZDJEIHYxLCB2MjsK
ICAgIGRkU0hPUlQgeF9zYW1lLCB5X3NhbWU7CiAgICBpbnQgaSwgajsKICAgIGludCB2Y291bnQs
IGhjb3VudDsKIyAyMjkgIm1pUGNrMVByaW0uYyIKICAgIHBvbHlfbGlzdCA9IGluX2xpc3QtPmRk
TGlzdDsKCiAgICB7IGlmICgoISgoaW5fbGlzdC0+dHlwZSkgJiAoMTw8MCkpKSkgeyBpZiAoKCgo
aW5fbGlzdC0+dHlwZSkgJiAoMzw8MSkpID09ICgxPDwxKSkpIHB0X3NpemUgPSBzaXplb2YoZGRD
b29yZDJEKTsgZWxzZSBpZiAoKCgoaW5fbGlzdC0+dHlwZSkgJiAoMzw8MSkpID09ICgyPDwxKSkp
IHB0X3NpemUgPSBzaXplb2YoZGRDb29yZDNEKTsgZWxzZSBwdF9zaXplID0gc2l6ZW9mKGRkQ29v
cmQ0RCk7IH0gZWxzZSB7IGlmICgoKChpbl9saXN0LT50eXBlKSAmICgzPDwxKSkgPT0gKDE8PDEp
KSkgcHRfc2l6ZSA9IHNpemVvZihkZENvb3JkMkRTKTsgZWxzZSBwdF9zaXplID0gc2l6ZW9mKGRk
Q29vcmQzRFMpOyB9IGlmICgoKGluX2xpc3QtPnR5cGUpICYgKDE8PDMpKSkgcHRfc2l6ZSArPSBz
aXplb2YoZGRWZWN0b3IzRCk7IGlmICgoKGluX2xpc3QtPnR5cGUpICYgKDc8PDUpKSkgeyBpZiAo
KCgoaW5fbGlzdC0+dHlwZSkgJiAoNzw8NSkpID09ICgxPDw1KSkpIHB0X3NpemUgKz0gc2l6ZW9m
KGRkSW5kZXhlZENvbG91cik7IGVsc2UgaWYgKCgoKGluX2xpc3QtPnR5cGUpICYgKDc8PDUpKSA9
PSAoMjw8NSkpKSBwdF9zaXplICs9IHNpemVvZihkZFJnYjhDb2xvdXIpOyBlbHNlIGlmICgoKChp
bl9saXN0LT50eXBlKSAmICg3PDw1KSkgPT0gKDM8PDUpKSkgcHRfc2l6ZSArPSBzaXplb2YoZGRS
Z2IxNkNvbG91cik7IGVsc2UgcHRfc2l6ZSArPSBzaXplb2YoZGRSZ2JGbG9hdENvbG91cik7IH0g
aWYgKCgoaW5fbGlzdC0+dHlwZSkgJiAoMTw8NCkpKSBwdF9zaXplICs9IHNpemVvZihkZFVMT05H
KTsgfTsKCiAgICBmb3IgKGk9MDsgaTxpbl9saXN0LT5udW1MaXN0czsgaSsrLCBwb2x5X2xpc3Qr
KykgewoKCgogICAgICAgIHB0X2xpc3QucHRyID0gcG9seV9saXN0LT5wdHMucHRyOwoKICAgICAg
ICBmb3IgKGo9MDsgajxpbl9saXN0LT5kZExpc3QtPm51bVBvaW50czsgaisrKSB7CgoKCiAgICAg
ICAgICAgIHB0X2xpc3QucHRyICs9IHB0X3NpemU7CgoKCiAgICAgICAgICAgIGlmICgocHRfbGlz
dC5wMkRTcHQtPnggPiAtMSkgJiYKICAgICAgICAgICAgICAgIChwdF9saXN0LnAyRFNwdC0+eCA8
IDEpICYmCiAgICAgICAgICAgICAgICAocHRfbGlzdC5wMkRTcHQtPnkgPiAtMSkgJiYKICAgICAg
ICAgICAgICAgIChwdF9saXN0LnAyRFNwdC0+eSA8IDEpKQoKCgoKICAgICAgICAgICAgICAgIHJl
dHVybiAoMCk7CiAgICAgICAgfQogICAgfQoKCgoKCgogICAgdmNvdW50ID0gaGNvdW50ID0gMDsK
CgoKCiAgICBwb2x5X2xpc3QgPSBpbl9saXN0LT5kZExpc3Q7CgogICAgZm9yIChpPTA7IGk8aW5f
bGlzdC0+bnVtTGlzdHM7IGkrKywgcG9seV9saXN0KyspIHsKCgoKICAgICAgICBwdF9saXN0LnB0
ciA9IHBvbHlfbGlzdC0+cHRzLnB0cjsKCiAgICAgICAgZm9yIChqPTA7IGo8aW5fbGlzdC0+ZGRM
aXN0LT5udW1Qb2ludHMtMTsgaisrKSB7CgoKCiAgICAgICAgICAgIHYxLnggPSBwdF9saXN0LnAy
RFNwdC0+eDsKICAgICAgICAgICAgdjEueSA9IHB0X2xpc3QucDJEU3B0LT55OwoKCgogICAgICAg
ICAgICBwdF9saXN0LnB0ciArPSBwdF9zaXplOwoKCgogICAgICAgICAgICB2Mi54ID0gcHRfbGlz
dC5wMkRTcHQtPng7CiAgICAgICAgICAgIHYyLnkgPSBwdF9saXN0LnAyRFNwdC0+eTsKCgoKICAg
ICAgICAgICAgaWYgKCgoKHYxLngtdjIueCkgPCAwID8gLSh2MS54LXYyLngpIDogKHYxLngtdjIu
eCkpIDwgMS4wZS0zMCkpCiAgICAgICAgICAgICAgICB4X3NhbWUgPSAxOwogICAgICAgICAgICBl
bHNlCiAgICAgICAgICAgICAgICB4X3NhbWUgPSAwOwoKICAgICAgICAgICAgaWYgKCgoKHYxLnkt
djIueSkgPCAwID8gLSh2MS55LXYyLnkpIDogKHYxLnktdjIueSkpIDwgMS4wZS0zMCkpCiAgICAg
ICAgICAgICAgICB5X3NhbWUgPSAxOwogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICB5
X3NhbWUgPSAwOwoKICAgICAgICAgICAgaWYgKCh4X3NhbWUpJiYodjEueCA+IDApKQoKCgogICAg
ICAgICAgICAgICAgdmNvdW50Kys7CgogICAgICAgICAgICBpZiAoKHlfc2FtZSkmJih2MS55ID4g
MCkpCgoKCiAgICAgICAgICAgICAgICBoY291bnQrKzsKCiAgICAgICAgfQoKCgogICAgICAgIGlm
ICh2Y291bnQlMikgewogICAgICAgICAgICByZXR1cm4gKDApOwogICAgICAgIH0KICAgICAgICBl
bHNlIHsKCgoKCiAgICAgICAgICAgIGlmICgodmNvdW50ID09IDApJiYoaGNvdW50JTIpKSByZXR1
cm4gKDApOwogICAgICAgIH0KCiAgICAgICAgY29udGludWU7CgogICAgfQoKICAgIHJldHVybiAo
LTEpOwp9CiMgMzUxICJtaVBjazFQcmltLmMiCmRkcGV4MnJ0bgptaVBpY2sxRmlsbEFyZWEocFJl
bmQsIHBkZGMsIGlucHV0X2xpc3QsIGlucHV0X2ZhY2V0LCBzaGFwZSwgbm9lZGdlcykKCiAgICBk
ZFJlbmRlcmVyUHRyIHBSZW5kOwogICAgbWlERENvbnRleHQgKnBkZGM7CiAgICBtaUxpc3RIZWFk
ZXIgKmlucHV0X2xpc3Q7CiAgICBsaXN0b2ZkZEZhY2V0ICppbnB1dF9mYWNldDsKICAgIGRkQml0
bWFza1Nob3J0IHNoYXBlOwogICAgZGRVQ0hBUiBub2VkZ2VzOwoKewoKCgoKICAgIGlmIChDaGVj
a0ZBcmVhUGljazEgKGlucHV0X2xpc3QpID09IDApIHsKICAgICAgICBwZGRjLT5TdGF0aWMucGlj
ay5zdGF0dXMgPSAxOwogICAgfQogICAgcmV0dXJuICgwKTsKfQojIDM4NCAibWlQY2sxUHJpbS5j
IgpkZHBleDJydG4KbWlQaWNrMVRyaVN0cmlwKHBSZW5kLCBwZGRjLCBpbnB1dF9saXN0LCBpbnB1
dF9mYWNldCkKCiAgICBkZFJlbmRlcmVyUHRyIHBSZW5kOwogICAgbWlERENvbnRleHQgKnBkZGM7
CiAgICBtaUxpc3RIZWFkZXIgKmlucHV0X2xpc3Q7CiAgICBsaXN0b2ZkZEZhY2V0ICppbnB1dF9m
YWNldDsKCnsKIyA0MDEgIm1pUGNrMVByaW0uYyIKICAgIGlmICgoaW5wdXRfbGlzdC0+bnVtTGlz
dHMpID4gMCkgewogICAgICAgIHBkZGMtPlN0YXRpYy5waWNrLnN0YXR1cyA9IDE7CiAgICB9CiAg
ICByZXR1cm4gKDApOwp9Cg==



More information about the Gcc-bugs mailing list