public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* ada/8177: GNAT BUG DETECTED compiling GtkAda on FreeBSD 4.7 rc2
@ 2002-10-09 13:16 john
  0 siblings, 0 replies; 2+ messages in thread
From: john @ 2002-10-09 13:16 UTC (permalink / raw)
  To: gcc-gnats


>Number:         8177
>Category:       ada
>Synopsis:       GNAT BUG DETECTED compiling GtkAda on FreeBSD 4.7 rc2
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Oct 09 13:16:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     john@utzweb.net
>Release:        unknown-1.0
>Organization:
>Environment:
bash-2.05a$ env
PWD=/home/spaz/Compile/GtkAda-1.2.12
XAUTHORITY=/home/spaz/.Xauthority
WINDOWID=10485774
PAGER=more
FTP_PASSIVE_MODE=YES
ENV=/home/spaz/.shrc
BLOCKSIZE=K
USER=spaz
MAIL=/var/mail/spaz
OLDPWD=/home/spaz/Compile
EDITOR=vi
TERMCAP=xterm|vs100|xterm terminal emulator (X window system):ut:li#24:kh=\EOH:@7=\EOF:kD=^?:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:km:is=\E>\E[?1;3;4;5l\E[?7;8h\E[1;65r\E[65;1H:rs=\E>\E[?1;3;4;5l\E[?7;8h:kI=\E[2~:kN=\E[6~:kP=\E[5~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:k5=\E[15~:ve=\E[?25h:vi=\E[?25l:k0@:F1=\E[23~:F2=\E[24~:ic=\E[@:IC=\E[%d@:ec=\E[%dX:al=\E[L:dl=\E[M:dc=\E[P:AL=\E[%dL:DL=\E[%dM:DC=\E[%dP:NP:do=\E[B:cl=\E[H\E[J:sf=\ED:as=\E(0:ae=\E(B:cm=\E[%i%d;%dH:nd=\E[C:up=\E[A:nw=\EE:ce=\E[K:cd=\E[J:so=\E[7m:se=\E[m:us=\E[4m:ue=\E[m:md=\E[1m:mr=\E[7m:mb=\E[5m:me=\E[m:sr=\EM:sc=\E7:rc=\E8:cs=\E[%i%d;%dr:UP=\E[%dA:DO=\E[%dB:RI=\E[%dC:LE=\E[%dD:ct=\E[3g:st=\EH:co#80:le=^H:bs:am:if=/usr/share/tabset/vt100:ho=\E[H:ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||:ks=\E[?1h\E=:ke=\E[?1l\E>:ku=\EOA:kd=\EOB:kr=\EOC:kl=\EOD:@8=\EOM:K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:pt:xn:ta=^I:ms:bl=^G:cr=^M:eo:it#8:RA=\E[?7l:SA=\E[?7h:kb=\010:
DISPLAY=:0.0
SHLVL=2
LOGNAME=spaz
SHELL=/usr/local/bin/bash
HOME=/home/spaz
TERM=xterm
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/bin:/usr/X11R6/bin:/home/spaz/bin
_=/usr/bin/env
bash-2.05a$ 
>Description:
expected behavior is that this will be compiled successfully. current behavior is that it breaks in the following manner.

 gcc -v
Reading specs from /usr/local/lib/gcc-lib/i386-unknown-freebsd4.7/3.2/specs
Configured with: ../gcc-3.2/configure --enable-languages=ada
Thread model: posix
gcc version 3.2


gcc -c -I../ -O2 -gnatn -gnatwuwl -fPIC -I- ../gtk-extra-plot_data.adb
+===========================GNAT BUG DETECTED==============================+
| 3.2 20020814 (release) (i386-unknown-freebsd4.7) GCC error:              |
| Internal compiler error in assign_stack_temp_for_type, at                |
|    function.c:674                                                        |
| Error detected at /usr/local/lib/gcc-lib/i386-unknown-freebsd4.7/3.2/adainclude/s-secsta.ads:66:14|
| Please submit a bug report, see http://gcc.gnu.org/bugs.html.            |
| Include the entire contents of this bug box in the report.               |
| Include the exact gcc or gnatmake command that you entered.              |
| Also include sources listed below in gnatchop format                     |
| (concatenated together with no headers between files).                   |
+==========================================================================+

Please include these source files with error report

../gtk-extra-plot_data.adb
../gtk-extra-plot_data.ads
../gtk-extra.ads
../gtk.ads
../glib.ads
../gdk.ads
../gtk-widget.ads
../gdk-color.ads
../gdk-visual.ads
../glib-glist.ads
../gdk-types.ads
../gdk-event.ads
../gdk-rectangle.ads
../gdk-window.ads
../gdk-cursor.ads
../gdk-window_attr.ads
../gdk-bitmap.ads
../gtk-accel_group.ads
../gtk-object.ads
../gtkada.ads
../gtkada-types.ads
../gtk-adjustment.ads
../gtk-data.ads
../gtk-enums.ads
../gtk-style.ads
../gdk-gc.ads
../gdk-font.ads
../gdk-region.ads
../gdk-pixmap.ads
../glib-gslist.ads
../glib-glist.adb
../glib-gslist.adb

compilation abandoned
>How-To-Repeat:

>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/gzip; name="gnatbug.tar.gz"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="gnatbug.tar.gz"

Z25hdGJ1Zy8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwNDA3NTUAMDAwMTc1
MQAwMDAwMDAwADAwMDAwMDAwMDAwADA3NTUxMTA3NjMyADAxMTM0NgAgNQAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAHNwYXoAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAd2hlZWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn
bmF0YnVnL2d0ay1leHRyYS1wbG90X2RhdGEuYWRiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEwMDY0NAAwMDAxNzUx
ADAwMDAwMDAAMDAwMDAwNzY2NjUAMDc1NTExMDc2MzIAMDE1NzEyACAwAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAc3BhegAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAB3aGVlbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCi0tICAgICAgICAgIEd0a0FkYSAtIEFkYTk1IGJpbmRpbmcgZm9yIHRoZSBH
aW1wIFRvb2xraXQgICAgICAgICAgICAgIC0tCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tICAgICAgICAgICAg
ICAgICAgICAgQ29weXJpZ2h0IChDKSAyMDAwICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0t
Ci0tICAgICAgICBFbW1hbnVlbCBCcmlvdCwgSm9lbCBCcm9iZWNrZXIgYW5kIEFybmF1ZCBDaGFy
bGV0ICAgICAgICAgIC0tCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgICAgIC0tCi0tIG1vZGlmeSBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyAgICAgICAgICAgICAg
IC0tCi0tIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlciAgICAgIC0tCi0tIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4gIC0tCi0tICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tIFRoaXMg
bGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LCAgIC0tCi0tIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs
aWVkIHdhcnJhbnR5IG9mICAgIC0tCi0tIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VIC0tCi0tIEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4gICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC0tCi0tIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBH
ZW5lcmFsIFB1YmxpYyAgICAgICAgIC0tCi0tIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJh
cnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlICAgICAgICAgICAgIC0tCi0tIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLCAgICAgIC0tCi0t
IEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC0tCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tIEFzIGEgc3BlY2lhbCBleGNlcHRpb24sIGlm
IG90aGVyIGZpbGVzIGluc3RhbnRpYXRlIGdlbmVyaWNzIGZyb20gIC0tCi0tIHRoaXMgdW5pdCwg
b3IgeW91IGxpbmsgdGhpcyB1bml0IHdpdGggb3RoZXIgZmlsZXMgdG8gcHJvZHVjZSBhbiAgIC0t
Ci0tIGV4ZWN1dGFibGUsIHRoaXMgIHVuaXQgIGRvZXMgbm90ICBieSBpdHNlbGYgY2F1c2UgIHRo
ZSByZXN1bHRpbmcgIC0tCi0tIGV4ZWN1dGFibGUgdG8gYmUgY292ZXJlZCBieSB0aGUgR05VIEdl
bmVyYWwgUHVibGljIExpY2Vuc2UuIFRoaXMgIC0tCi0tIGV4Y2VwdGlvbiBkb2VzIG5vdCBob3dl
dmVyIGludmFsaWRhdGUgYW55IG90aGVyIHJlYXNvbnMgd2h5IHRoZSAgIC0tCi0tIGV4ZWN1dGFi
bGUgZmlsZSAgbWlnaHQgYmUgY292ZXJlZCBieSB0aGUgIEdOVSBQdWJsaWMgTGljZW5zZS4gICAg
IC0tCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCgp3aXRoIEdsaWI7ICAgICAgICAgdXNlIEdsaWI7CndpdGggR3Rr
LldpZGdldDsgICB1c2UgR3RrLldpZGdldDsKd2l0aCBHdGthZGEuVHlwZXM7IHVzZSBHdGthZGEu
VHlwZXM7CndpdGggR2RrLkNvbG9yOyAgICB1c2UgR2RrLkNvbG9yOwp3aXRoIEludGVyZmFjZXMu
QzsgdXNlIEludGVyZmFjZXMuQzsKCnBhY2thZ2UgYm9keSBHdGsuRXh0cmEuUGxvdF9EYXRhIGlz
CgogICAtLS0tLS0tLS0tLS0tCiAgIC0tIEd0a19OZXcgLS0KICAgLS0tLS0tLS0tLS0tLQoKICAg
cHJvY2VkdXJlIEd0a19OZXcKICAgICAoRGF0YSA6IG91dCBHdGtfUGxvdF9EYXRhOyBGdW5jIDog
UGxvdF9GdW5jdGlvbiA6PSBudWxsKSBpcwogICBiZWdpbgogICAgICBEYXRhIDo9IG5ldyBHdGtf
UGxvdF9EYXRhX1JlY29yZDsKICAgICAgSW5pdGlhbGl6ZSAoRGF0YSwgRnVuYyk7CiAgIGVuZCBH
dGtfTmV3OwoKICAgLS0tLS0tLS0tLS0tLS0tLQogICAtLSBJbml0aWFsaXplIC0tCiAgIC0tLS0t
LS0tLS0tLS0tLS0KCiAgIHByb2NlZHVyZSBJbml0aWFsaXplCiAgICAgKERhdGEgOiBhY2Nlc3Mg
R3RrX1Bsb3RfRGF0YV9SZWNvcmQnQ2xhc3M7IEZ1bmMgOiBQbG90X0Z1bmN0aW9uIDo9IG51bGwp
CiAgIGlzCiAgICAgIGZ1bmN0aW9uIEludGVybmFsIHJldHVybiBTeXN0ZW0uQWRkcmVzczsKICAg
ICAgcHJhZ21hIEltcG9ydCAoQywgSW50ZXJuYWwsICJndGtfcGxvdF9kYXRhX25ldyIpOwoKICAg
ICAgZnVuY3Rpb24gSW50ZXJuYWwyIChGdW5jIDogUGxvdF9GdW5jdGlvbikgcmV0dXJuIFN5c3Rl
bS5BZGRyZXNzOwogICAgICBwcmFnbWEgSW1wb3J0IChDLCBJbnRlcm5hbDIsICJndGtfcGxvdF9k
YXRhX25ld19mdW5jdGlvbiIpOwogICBiZWdpbgogICAgICBpZiBGdW5jID0gbnVsbCB0aGVuCiAg
ICAgICAgIFNldF9PYmplY3QgKERhdGEsIEludGVybmFsKTsKICAgICAgZWxzZQogICAgICAgICBT
ZXRfT2JqZWN0IChEYXRhLCBJbnRlcm5hbDIgKEZ1bmMpKTsKICAgICAgZW5kIGlmOwogICAgICBJ
bml0aWFsaXplX1VzZXJfRGF0YSAoRGF0YSk7CiAgIGVuZCBJbml0aWFsaXplOwoKICAgLS0tLS0t
LS0tLS0tLS0KICAgLS0gU2V0X05hbWUgLS0KICAgLS0tLS0tLS0tLS0tLS0KCiAgIHByb2NlZHVy
ZSBTZXRfTmFtZSAoRGF0YSA6IGFjY2VzcyBHdGtfUGxvdF9EYXRhX1JlY29yZDsgTmFtZSA6IFN0
cmluZykgaXMKICAgICAgcHJvY2VkdXJlIEludGVybmFsIChEYXRhIDogU3lzdGVtLkFkZHJlc3M7
IE5hbWUgOiBpbiBTdHJpbmcpOwogICAgICBwcmFnbWEgSW1wb3J0IChDLCBJbnRlcm5hbCwgImd0
a19wbG90X2RhdGFfc2V0X25hbWUiKTsKICAgYmVnaW4KICAgICAgSW50ZXJuYWwgKEdldF9PYmpl
Y3QgKERhdGEpLCBOYW1lICYgQVNDSUkuTlVMKTsKICAgZW5kIFNldF9OYW1lOwoKICAgLS0tLS0t
LS0tLS0KICAgLS0gUGFpbnQgLS0KICAgLS0tLS0tLS0tLS0KCiAgIHByb2NlZHVyZSBQYWludCAo
RGF0YSA6IGFjY2VzcyBHdGtfUGxvdF9EYXRhX1JlY29yZCkgaXMKICAgICAgcHJvY2VkdXJlIElu
dGVybmFsIChEYXRhIDogU3lzdGVtLkFkZHJlc3MpOwogICAgICBwcmFnbWEgSW1wb3J0IChDLCBJ
bnRlcm5hbCwgImd0a19wbG90X2RhdGFfcGFpbnQiKTsKICAgYmVnaW4KICAgICAgSW50ZXJuYWwg
KEdldF9PYmplY3QgKERhdGEpKTsKICAgZW5kIFBhaW50OwoKICAgLS0tLS0tLS0tLS0tLS0tLS0K
ICAgLS0gRHJhd19Qb2ludHMgLS0KICAgLS0tLS0tLS0tLS0tLS0tLS0KCiAgIHByb2NlZHVyZSBE
cmF3X1BvaW50cyAoRGF0YSA6IGFjY2VzcyBHdGtfUGxvdF9EYXRhX1JlY29yZDsgTiA6IEdpbnQp
IGlzCiAgICAgIHByb2NlZHVyZSBJbnRlcm5hbCAoRGF0YSA6IFN5c3RlbS5BZGRyZXNzOyBOIDog
R2ludCk7CiAgICAgIHByYWdtYSBJbXBvcnQgKEMsIEludGVybmFsLCAiZ3RrX3Bsb3RfZGF0YV9k
cmF3X3BvaW50cyIpOwogICBiZWdpbgogICAgICBJbnRlcm5hbCAoR2V0X09iamVjdCAoRGF0YSks
IE4pOwogICBlbmQgRHJhd19Qb2ludHM7CgogICAtLS0tLS0tLS0tLS0tLS0tLQogICAtLSBEcmF3
X1N5bWJvbCAtLQogICAtLS0tLS0tLS0tLS0tLS0tLQoKICAgcHJvY2VkdXJlIERyYXdfU3ltYm9s
CiAgICAgKERhdGEgOiBhY2Nlc3MgR3RrX1Bsb3RfRGF0YV9SZWNvcmQ7IFgsIFkgOiBHZG91Ymxl
KQogICBpcwogICAgICBwcm9jZWR1cmUgSW50ZXJuYWwgKERhdGEgOiBTeXN0ZW0uQWRkcmVzczsg
WCwgWSA6IEdkb3VibGUpOwogICAgICBwcmFnbWEgSW1wb3J0IChDLCBJbnRlcm5hbCwgImd0a19w
bG90X2RhdGFfZHJhd19zeW1ib2wiKTsKICAgYmVnaW4KICAgICAgSW50ZXJuYWwgKEdldF9PYmpl
Y3QgKERhdGEpLCBYLCBZKTsKICAgZW5kIERyYXdfU3ltYm9sOwoKICAgLS0tLS0tLS0tLS0tLS0t
LQogICAtLSBTZXRfUG9pbnRzIC0tCiAgIC0tLS0tLS0tLS0tLS0tLS0KCiAgIHByb2NlZHVyZSBT
ZXRfUG9pbnRzCiAgICAgKERhdGEgOiBhY2Nlc3MgR3RrX1Bsb3RfRGF0YV9SZWNvcmQ7CiAgICAg
IFggICAgOiBHZG91YmxlX0FycmF5X0FjY2VzczsKICAgICAgWSAgICA6IEdkb3VibGVfQXJyYXlf
QWNjZXNzOwogICAgICBEeCAgIDogR2RvdWJsZV9BcnJheV9BY2Nlc3M7CiAgICAgIER5ICAgOiBH
ZG91YmxlX0FycmF5X0FjY2VzcykKICAgaXMKICAgICAgcHJvY2VkdXJlIEludGVybmFsIChEYXRh
ICAgICAgIDogaW4gU3lzdGVtLkFkZHJlc3M7CiAgICAgICAgICAgICAgICAgICAgICAgICAgWCAg
ICAgICAgICA6IGluIFN5c3RlbS5BZGRyZXNzOwogICAgICAgICAgICAgICAgICAgICAgICAgIFkg
ICAgICAgICAgOiBpbiBTeXN0ZW0uQWRkcmVzczsKICAgICAgICAgICAgICAgICAgICAgICAgICBE
eCAgICAgICAgIDogaW4gU3lzdGVtLkFkZHJlc3M7CiAgICAgICAgICAgICAgICAgICAgICAgICAg
RHkgICAgICAgICA6IGluIFN5c3RlbS5BZGRyZXNzOwogICAgICAgICAgICAgICAgICAgICAgICAg
IE51bV9Qb2ludHMgOiBpbiBHaW50KTsKICAgICAgcHJhZ21hIEltcG9ydCAoQywgSW50ZXJuYWws
ICJndGtfcGxvdF9kYXRhX3NldF9wb2ludHMiKTsKICAgICAgWGEsIFlhLCBEeGEsIER5YSA6IFN5
c3RlbS5BZGRyZXNzIDo9IFN5c3RlbS5OdWxsX0FkZHJlc3M7CiAgIGJlZ2luCiAgICAgIGlmIFgg
Lz0gbnVsbCB0aGVuCiAgICAgICAgIFhhIDo9IFggKFgnRmlyc3QpJ0FkZHJlc3M7CiAgICAgIGVu
ZCBpZjsKCiAgICAgIGlmIFkgLz0gbnVsbCB0aGVuCiAgICAgICAgIFlhIDo9IFkgKFknRmlyc3Qp
J0FkZHJlc3M7CiAgICAgIGVuZCBpZjsKCiAgICAgIGlmIER4IC89IG51bGwgdGhlbgogICAgICAg
ICBEeGEgOj0gRHggKER4J0ZpcnN0KSdBZGRyZXNzOwogICAgICBlbmQgaWY7CgogICAgICBpZiBE
eSAvPSBudWxsIHRoZW4KICAgICAgICAgRHlhIDo9IER5IChEeSdGaXJzdCknQWRkcmVzczsKICAg
ICAgZW5kIGlmOwoKICAgICAgSW50ZXJuYWwgKEdldF9PYmplY3QgKERhdGEpLCBYYSwgWWEsIER4
YSwgRHlhLCBYJ0xlbmd0aCk7CiAgIGVuZCBTZXRfUG9pbnRzOwoKICAgLS0tLS0tLS0tLS0tLS0t
LQogICAtLSBHZXRfUG9pbnRzIC0tCiAgIC0tLS0tLS0tLS0tLS0tLS0KCiAgIHByb2NlZHVyZSBH
ZXRfUG9pbnRzCiAgICAgKERhdGEgOiBhY2Nlc3MgR3RrX1Bsb3RfRGF0YV9SZWNvcmQ7CiAgICAg
IFggICAgOiBvdXQgUG9pbnRzX0FycmF5OwogICAgICBZICAgIDogb3V0IFBvaW50c19BcnJheTsK
ICAgICAgRHggICA6IG91dCBQb2ludHNfQXJyYXk7CiAgICAgIER5ICAgOiBvdXQgUG9pbnRzX0Fy
cmF5KQogICBpcwogICAgICBwcm9jZWR1cmUgSW50ZXJuYWwgKERhdGEgICAgICAgOiBpbiBTeXN0
ZW0uQWRkcmVzczsKICAgICAgICAgICAgICAgICAgICAgICAgICBYICAgICAgICAgIDogb3V0IFN5
c3RlbS5BZGRyZXNzOwogICAgICAgICAgICAgICAgICAgICAgICAgIFkgICAgICAgICAgOiBvdXQg
U3lzdGVtLkFkZHJlc3M7CiAgICAgICAgICAgICAgICAgICAgICAgICAgRHggICAgICAgICA6IG91
dCBTeXN0ZW0uQWRkcmVzczsKICAgICAgICAgICAgICAgICAgICAgICAgICBEeSAgICAgICAgIDog
b3V0IFN5c3RlbS5BZGRyZXNzOwogICAgICAgICAgICAgICAgICAgICAgICAgIE51bV9Qb2ludHMg
OiBvdXQgR2ludCk7CiAgICAgIHByYWdtYSBJbXBvcnQgKEMsIEludGVybmFsLCAiZ3RrX3Bsb3Rf
ZGF0YV9nZXRfcG9pbnRzIik7CiAgICAgIE51bV9Qb2ludHMgOiBHaW50OwogICAgICBYMSwgWTEs
IER4MSwgRHkxIDogU3lzdGVtLkFkZHJlc3M7CiAgIGJlZ2luCiAgICAgIEludGVybmFsIChHZXRf
T2JqZWN0IChEYXRhKSwgWDEsIFkxLCBEeDEsIER5MSwgTnVtX1BvaW50cyk7CiAgICAgIFggIDo9
IChQb2ludHMgPT4gVG9fRG91YmxlX0FycmF5IChYMSksICBOdW1fUG9pbnRzID0+IE51bV9Qb2lu
dHMpOwogICAgICBZICA6PSAoUG9pbnRzID0+IFRvX0RvdWJsZV9BcnJheSAoWTEpLCAgTnVtX1Bv
aW50cyA9PiBOdW1fUG9pbnRzKTsKICAgICAgRHggOj0gKFBvaW50cyA9PiBUb19Eb3VibGVfQXJy
YXkgKER4MSksIE51bV9Qb2ludHMgPT4gTnVtX1BvaW50cyk7CiAgICAgIER5IDo9IChQb2ludHMg
PT4gVG9fRG91YmxlX0FycmF5IChEeTEpLCBOdW1fUG9pbnRzID0+IE51bV9Qb2ludHMpOwogICBl
bmQgR2V0X1BvaW50czsKCiAgIC0tLS0tLS0tLS0tCiAgIC0tIFNldF9YIC0tCiAgIC0tLS0tLS0t
LS0tCgogICBwcm9jZWR1cmUgU2V0X1gKICAgICAoRGF0YSA6IGFjY2VzcyBHdGtfUGxvdF9EYXRh
X1JlY29yZDsgWCA6IEdkb3VibGVfQXJyYXlfQWNjZXNzKQogICBpcwogICAgICBwcm9jZWR1cmUg
SW50ZXJuYWwgKERhdGEgOiBTeXN0ZW0uQWRkcmVzczsgWCA6IFN5c3RlbS5BZGRyZXNzKTsKICAg
ICAgcHJhZ21hIEltcG9ydCAoQywgSW50ZXJuYWwsICJndGtfcGxvdF9kYXRhX3NldF94Iik7CiAg
IGJlZ2luCiAgICAgIHByYWdtYSBBc3NlcnQgKEdldF9OdW1wb2ludHMgKERhdGEpID0gWCdMZW5n
dGgpOwogICAgICBJbnRlcm5hbCAoR2V0X09iamVjdCAoRGF0YSksIFggKFgnRmlyc3QpJ0FkZHJl
c3MpOwogICBlbmQgU2V0X1g7CgogICAtLS0tLS0tLS0tLQogICAtLSBTZXRfWSAtLQogICAtLS0t
LS0tLS0tLQoKICAgcHJvY2VkdXJlIFNldF9ZCiAgICAgKERhdGEgOiBhY2Nlc3MgR3RrX1Bsb3Rf
RGF0YV9SZWNvcmQ7IFkgOiBHZG91YmxlX0FycmF5X0FjY2VzcykKICAgaXMKICAgICAgcHJvY2Vk
dXJlIEludGVybmFsIChEYXRhIDogU3lzdGVtLkFkZHJlc3M7IFkgOiBTeXN0ZW0uQWRkcmVzcyk7
CiAgICAgIHByYWdtYSBJbXBvcnQgKEMsIEludGVybmFsLCAiZ3RrX3Bsb3RfZGF0YV9zZXRfeSIp
OwogICBiZWdpbgogICAgICBwcmFnbWEgQXNzZXJ0IChHZXRfTnVtcG9pbnRzIChEYXRhKSA9IFkn
TGVuZ3RoKTsKICAgICAgSW50ZXJuYWwgKEdldF9PYmplY3QgKERhdGEpLCBZIChZJ0ZpcnN0KSdB
ZGRyZXNzKTsKICAgZW5kIFNldF9ZOwoKICAgLS0tLS0tLS0tLS0KICAgLS0gU2V0X1ogLS0KICAg
LS0tLS0tLS0tLS0KCiAgIHByb2NlZHVyZSBTZXRfWgogICAgIChEYXRhIDogYWNjZXNzIEd0a19Q
bG90X0RhdGFfUmVjb3JkOyBaIDogR2RvdWJsZV9BcnJheV9BY2Nlc3MpCiAgIGlzCiAgICAgIHBy
b2NlZHVyZSBJbnRlcm5hbCAoRGF0YSA6IFN5c3RlbS5BZGRyZXNzOyBaIDogU3lzdGVtLkFkZHJl
c3MpOwogICAgICBwcmFnbWEgSW1wb3J0IChDLCBJbnRlcm5hbCwgImd0a19wbG90X2RhdGFfc2V0
X3oiKTsKICAgYmVnaW4KICAgICAgcHJhZ21hIEFzc2VydCAoR2V0X051bXBvaW50cyAoRGF0YSkg
PSBaJ0xlbmd0aCk7CiAgICAgIEludGVybmFsIChHZXRfT2JqZWN0IChEYXRhKSwgWiAoWidGaXJz
dCknQWRkcmVzcyk7CiAgIGVuZCBTZXRfWjsKCiAgIC0tLS0tLS0tLS0tCiAgIC0tIFNldF9BIC0t
CiAgIC0tLS0tLS0tLS0tCgogICBwcm9jZWR1cmUgU2V0X0EKICAgICAoRGF0YSA6IGFjY2VzcyBH
dGtfUGxvdF9EYXRhX1JlY29yZDsgQSA6IEdkb3VibGVfQXJyYXlfQWNjZXNzKQogICBpcwogICAg
ICBwcm9jZWR1cmUgSW50ZXJuYWwgKERhdGEgOiBTeXN0ZW0uQWRkcmVzczsgQSA6IFN5c3RlbS5B
ZGRyZXNzKTsKICAgICAgcHJhZ21hIEltcG9ydCAoQywgSW50ZXJuYWwsICJndGtfcGxvdF9kYXRh
X3NldF9hIik7CiAgIGJlZ2luCiAgICAgIHByYWdtYSBBc3NlcnQgKEdldF9OdW1wb2ludHMgKERh
dGEpID0gQSdMZW5ndGgpOwogICAgICBJbnRlcm5hbCAoR2V0X09iamVjdCAoRGF0YSksIEEgKEEn
Rmlyc3QpJ0FkZHJlc3MpOwogICBlbmQgU2V0X0E7CgogICAtLS0tLS0tLS0tLS0KICAgLS0gU2V0
X0R4IC0tCiAgIC0tLS0tLS0tLS0tLQoKICAgcHJvY2VkdXJlIFNldF9EeAogICAgIChEYXRhIDog
YWNjZXNzIEd0a19QbG90X0RhdGFfUmVjb3JkOyBEeCA6IEdkb3VibGVfQXJyYXlfQWNjZXNzKQog
ICBpcwogICAgICBwcm9jZWR1cmUgSW50ZXJuYWwgKERhdGEgOiBTeXN0ZW0uQWRkcmVzczsgRHgg
OiBTeXN0ZW0uQWRkcmVzcyk7CiAgICAgIHByYWdtYSBJbXBvcnQgKEMsIEludGVybmFsLCAiZ3Rr
X3Bsb3RfZGF0YV9zZXRfZHgiKTsKICAgYmVnaW4KICAgICAgcHJhZ21hIEFzc2VydCAoR2V0X051
bXBvaW50cyAoRGF0YSkgPSBEeCdMZW5ndGgpOwogICAgICBJbnRlcm5hbCAoR2V0X09iamVjdCAo
RGF0YSksIER4IChEeCdGaXJzdCknQWRkcmVzcyk7CiAgIGVuZCBTZXRfRHg7CgogICAtLS0tLS0t
LS0tLS0KICAgLS0gU2V0X0R5IC0tCiAgIC0tLS0tLS0tLS0tLQoKICAgcHJvY2VkdXJlIFNldF9E
eQogICAgIChEYXRhIDogYWNjZXNzIEd0a19QbG90X0RhdGFfUmVjb3JkOyBEeSA6IEdkb3VibGVf
QXJyYXlfQWNjZXNzKQogICBpcwogICAgICBwcm9jZWR1cmUgSW50ZXJuYWwgKERhdGEgOiBTeXN0
ZW0uQWRkcmVzczsgRHkgOiBTeXN0ZW0uQWRkcmVzcyk7CiAgICAgIHByYWdtYSBJbXBvcnQgKEMs
IEludGVybmFsLCAiZ3RrX3Bsb3RfZGF0YV9zZXRfZHkiKTsKICAgYmVnaW4KICAgICAgcHJhZ21h
IEFzc2VydCAoR2V0X051bXBvaW50cyAoRGF0YSkgPSBEeSdMZW5ndGgpOwogICAgICBJbnRlcm5h
bCAoR2V0X09iamVjdCAoRGF0YSksIER5IChEeSdGaXJzdCknQWRkcmVzcyk7CiAgIGVuZCBTZXRf
RHk7CgogICAtLS0tLS0tLS0tLS0KICAgLS0gU2V0X0R6IC0tCiAgIC0tLS0tLS0tLS0tLQoKICAg
cHJvY2VkdXJlIFNldF9EegogICAgIChEYXRhIDogYWNjZXNzIEd0a19QbG90X0RhdGFfUmVjb3Jk
OyBEeiA6IEdkb3VibGVfQXJyYXlfQWNjZXNzKQogICBpcwogICAgICBwcm9jZWR1cmUgSW50ZXJu
YWwgKERhdGEgOiBTeXN0ZW0uQWRkcmVzczsgRHogOiBTeXN0ZW0uQWRkcmVzcyk7CiAgICAgIHBy
YWdtYSBJbXBvcnQgKEMsIEludGVybmFsLCAiZ3RrX3Bsb3RfZGF0YV9zZXRfZHoiKTsKICAgYmVn
aW4KICAgICAgcHJhZ21hIEFzc2VydCAoR2V0X051bXBvaW50cyAoRGF0YSkgPSBEeidMZW5ndGgp
OwogICAgICBJbnRlcm5hbCAoR2V0X09iamVjdCAoRGF0YSksIER6IChEeidGaXJzdCknQWRkcmVz
cyk7CiAgIGVuZCBTZXRfRHo7CgogICAtLS0tLS0tLS0tLS0KICAgLS0gU2V0X0RhIC0tCiAgIC0t
LS0tLS0tLS0tLQoKICAgcHJvY2VkdXJlIFNldF9EYQogICAgIChEYXRhIDogYWNjZXNzIEd0a19Q
bG90X0RhdGFfUmVjb3JkOyBEYSA6IEdkb3VibGVfQXJyYXlfQWNjZXNzKQogICBpcwogICAgICBw
cm9jZWR1cmUgSW50ZXJuYWwgKERhdGEgOiBTeXN0ZW0uQWRkcmVzczsgRGEgOiBTeXN0ZW0uQWRk
cmVzcyk7CiAgICAgIHByYWdtYSBJbXBvcnQgKEMsIEludGVybmFsLCAiZ3RrX3Bsb3RfZGF0YV9z
ZXRfZGEiKTsKICAgYmVnaW4KICAgICAgcHJhZ21hIEFzc2VydCAoR2V0X051bXBvaW50cyAoRGF0
YSkgPSBEYSdMZW5ndGgpOwogICAgICBJbnRlcm5hbCAoR2V0X09iamVjdCAoRGF0YSksIERhIChE
YSdGaXJzdCknQWRkcmVzcyk7CiAgIGVuZCBTZXRfRGE7CgogICAtLS0tLS0tLS0tLQogICAtLSBH
ZXRfWCAtLQogICAtLS0tLS0tLS0tLQoKICAgZnVuY3Rpb24gR2V0X1ggKERhdGEgOiBhY2Nlc3Mg
R3RrX1Bsb3RfRGF0YV9SZWNvcmQpIHJldHVybiBQb2ludHNfQXJyYXkgaXMKICAgICAgZnVuY3Rp
b24gSW50ZXJuYWwgKERhdGEgOiBTeXN0ZW0uQWRkcmVzczsgTnVtX1BvaW50cyA6IFN5c3RlbS5B
ZGRyZXNzKQogICAgICAgICByZXR1cm4gU3lzdGVtLkFkZHJlc3M7CiAgICAgIHByYWdtYSBJbXBv
cnQgKEMsIEludGVybmFsLCAiZ3RrX3Bsb3RfZGF0YV9nZXRfeCIpOwoKICAgICAgTnVtX1BvaW50
cyA6IGFsaWFzZWQgR2ludDsKICAgICAgUyA6IFN5c3RlbS5BZGRyZXNzIDo9IEludGVybmFsIChH
ZXRfT2JqZWN0IChEYXRhKSwgTnVtX1BvaW50cydBZGRyZXNzKTsKICAgYmVnaW4KICAgICAgcmV0
dXJuIChQb2ludHMgPT4gVG9fRG91YmxlX0FycmF5IChTKSwgTnVtX1BvaW50cyA9PiBOdW1fUG9p
bnRzKTsKICAgZW5kIEdldF9YOwoKICAgLS0tLS0tLS0tLS0KICAgLS0gR2V0X1kgLS0KICAgLS0t
LS0tLS0tLS0KCiAgIGZ1bmN0aW9uIEdldF9ZIChEYXRhIDogYWNjZXNzIEd0a19QbG90X0RhdGFf
UmVjb3JkKSByZXR1cm4gUG9pbnRzX0FycmF5IGlzCiAgICAgIGZ1bmN0aW9uIEludGVybmFsIChE
YXRhIDogU3lzdGVtLkFkZHJlc3M7IE51bV9Qb2ludHMgOiBTeXN0ZW0uQWRkcmVzcykKICAgICAg
ICAgcmV0dXJuIFN5c3RlbS5BZGRyZXNzOwogICAgICBwcmFnbWEgSW1wb3J0IChDLCBJbnRlcm5h
bCwgImd0a19wbG90X2RhdGFfZ2V0X3kiKTsKCiAgICAgIE51bV9Qb2ludHMgOiBhbGlhc2VkIEdp
bnQ7CiAgICAgIFMgOiBTeXN0ZW0uQWRkcmVzcyA6PSBJbnRlcm5hbCAoR2V0X09iamVjdCAoRGF0
YSksIE51bV9Qb2ludHMnQWRkcmVzcyk7CiAgIGJlZ2luCiAgICAgIHJldHVybiAoUG9pbnRzID0+
IFRvX0RvdWJsZV9BcnJheSAoUyksIE51bV9Qb2ludHMgPT4gTnVtX1BvaW50cyk7CiAgIGVuZCBH
ZXRfWTsKCiAgIC0tLS0tLS0tLS0tCiAgIC0tIEdldF9aIC0tCiAgIC0tLS0tLS0tLS0tCgogICBm
dW5jdGlvbiBHZXRfWiAoRGF0YSA6IGFjY2VzcyBHdGtfUGxvdF9EYXRhX1JlY29yZCkgcmV0dXJu
IFBvaW50c19BcnJheSBpcwogICAgICBmdW5jdGlvbiBJbnRlcm5hbCAoRGF0YSA6IFN5c3RlbS5B
ZGRyZXNzOyBOdW1fUG9pbnRzIDogU3lzdGVtLkFkZHJlc3MpCiAgICAgICAgIHJldHVybiBTeXN0
ZW0uQWRkcmVzczsKICAgICAgcHJhZ21hIEltcG9ydCAoQywgSW50ZXJuYWwsICJndGtfcGxvdF9k
YXRhX2dldF96Iik7CgogICAgICBOdW1fUG9pbnRzIDogYWxpYXNlZCBHaW50OwogICAgICBTIDog
U3lzdGVtLkFkZHJlc3MgOj0gSW50ZXJuYWwgKEdldF9PYmplY3QgKERhdGEpLCBOdW1fUG9pbnRz
J0FkZHJlc3MpOwogICBiZWdpbgogICAgICByZXR1cm4gKFBvaW50cyA9PiBUb19Eb3VibGVfQXJy
YXkgKFMpLCBOdW1fUG9pbnRzID0+IE51bV9Qb2ludHMpOwogICBlbmQgR2V0X1o7CgogICAtLS0t
LS0tLS0tLQogICAtLSBHZXRfQSAtLQogICAtLS0tLS0tLS0tLQoKICAgZnVuY3Rpb24gR2V0X0Eg
KERhdGEgOiBhY2Nlc3MgR3RrX1Bsb3RfRGF0YV9SZWNvcmQpIHJldHVybiBQb2ludHNfQXJyYXkg
aXMKICAgICAgZnVuY3Rpb24gSW50ZXJuYWwgKERhdGEgOiBTeXN0ZW0uQWRkcmVzczsgTnVtX1Bv
aW50cyA6IFN5c3RlbS5BZGRyZXNzKQogICAgICAgICByZXR1cm4gU3lzdGVtLkFkZHJlc3M7CiAg
ICAgIHByYWdtYSBJbXBvcnQgKEMsIEludGVybmFsLCAiZ3RrX3Bsb3RfZGF0YV9nZXRfYSIpOwoK
ICAgICAgTnVtX1BvaW50cyA6IGFsaWFzZWQgR2ludDsKICAgICAgUyA6IFN5c3RlbS5BZGRyZXNz
IDo9IEludGVybmFsIChHZXRfT2JqZWN0IChEYXRhKSwgTnVtX1BvaW50cydBZGRyZXNzKTsKICAg
YmVnaW4KICAgICAgcmV0dXJuIChQb2ludHMgPT4gVG9fRG91YmxlX0FycmF5IChTKSwgTnVtX1Bv
aW50cyA9PiBOdW1fUG9pbnRzKTsKICAgZW5kIEdldF9BOwoKICAgLS0tLS0tLS0tLS0tCiAgIC0t
IEdldF9EeCAtLQogICAtLS0tLS0tLS0tLS0KCiAgIGZ1bmN0aW9uIEdldF9EeCAoRGF0YSA6IGFj
Y2VzcyBHdGtfUGxvdF9EYXRhX1JlY29yZCkgcmV0dXJuIFBvaW50c19BcnJheSBpcwogICAgICBm
dW5jdGlvbiBJbnRlcm5hbCAoRGF0YSA6IFN5c3RlbS5BZGRyZXNzOyBOdW1fUG9pbnRzIDogU3lz
dGVtLkFkZHJlc3MpCiAgICAgICAgIHJldHVybiBTeXN0ZW0uQWRkcmVzczsKICAgICAgcHJhZ21h
IEltcG9ydCAoQywgSW50ZXJuYWwsICJndGtfcGxvdF9kYXRhX2dldF9keCIpOwoKICAgICAgTnVt
X1BvaW50cyA6IGFsaWFzZWQgR2ludDsKICAgICAgUyA6IFN5c3RlbS5BZGRyZXNzIDo9IEludGVy
bmFsIChHZXRfT2JqZWN0IChEYXRhKSwgTnVtX1BvaW50cydBZGRyZXNzKTsKICAgYmVnaW4KICAg
ICAgcmV0dXJuIChQb2ludHMgPT4gVG9fRG91YmxlX0FycmF5IChTKSwgTnVtX1BvaW50cyA9PiBO
dW1fUG9pbnRzKTsKICAgZW5kIEdldF9EeDsKCiAgIC0tLS0tLS0tLS0tLQogICAtLSBHZXRfRHkg
LS0KICAgLS0tLS0tLS0tLS0tCgogICBmdW5jdGlvbiBHZXRfRHkgKERhdGEgOiBhY2Nlc3MgR3Rr
X1Bsb3RfRGF0YV9SZWNvcmQpIHJldHVybiBQb2ludHNfQXJyYXkgaXMKICAgICAgZnVuY3Rpb24g
SW50ZXJuYWwgKERhdGEgOiBTeXN0ZW0uQWRkcmVzczsgTnVtX1BvaW50cyA6IFN5c3RlbS5BZGRy
ZXNzKQogICAgICAgICByZXR1cm4gU3lzdGVtLkFkZHJlc3M7CiAgICAgIHByYWdtYSBJbXBvcnQg
KEMsIEludGVybmFsLCAiZ3RrX3Bsb3RfZGF0YV9nZXRfZHkiKTsKCiAgICAgIE51bV9Qb2ludHMg
OiBhbGlhc2VkIEdpbnQ7CiAgICAgIFMgOiBTeXN0ZW0uQWRkcmVzcyA6PSBJbnRlcm5hbCAoR2V0
X09iamVjdCAoRGF0YSksIE51bV9Qb2ludHMnQWRkcmVzcyk7CiAgIGJlZ2luCiAgICAgIHJldHVy
biAoUG9pbnRzID0+IFRvX0RvdWJsZV9BcnJheSAoUyksIE51bV9Qb2ludHMgPT4gTnVtX1BvaW50
cyk7CiAgIGVuZCBHZXRfRHk7CgogICAtLS0tLS0tLS0tLS0KICAgLS0gR2V0X0R6IC0tCiAgIC0t
LS0tLS0tLS0tLQoKICAgZnVuY3Rpb24gR2V0X0R6IChEYXRhIDogYWNjZXNzIEd0a19QbG90X0Rh
dGFfUmVjb3JkKSByZXR1cm4gUG9pbnRzX0FycmF5IGlzCiAgICAgIGZ1bmN0aW9uIEludGVybmFs
IChEYXRhIDogU3lzdGVtLkFkZHJlc3M7IE51bV9Qb2ludHMgOiBTeXN0ZW0uQWRkcmVzcykKICAg
ICAgICAgcmV0dXJuIFN5c3RlbS5BZGRyZXNzOwogICAgICBwcmFnbWEgSW1wb3J0IChDLCBJbnRl
cm5hbCwgImd0a19wbG90X2RhdGFfZ2V0X2R6Iik7CgogICAgICBOdW1fUG9pbnRzIDogYWxpYXNl
ZCBHaW50OwogICAgICBTIDogU3lzdGVtLkFkZHJlc3MgOj0gSW50ZXJuYWwgKEdldF9PYmplY3Qg
KERhdGEpLCBOdW1fUG9pbnRzJ0FkZHJlc3MpOwogICBiZWdpbgogICAgICByZXR1cm4gKFBvaW50
cyA9PiBUb19Eb3VibGVfQXJyYXkgKFMpLCBOdW1fUG9pbnRzID0+IE51bV9Qb2ludHMpOwogICBl
bmQgR2V0X0R6OwoKICAgLS0tLS0tLS0tLS0tCiAgIC0tIEdldF9EYSAtLQogICAtLS0tLS0tLS0t
LS0KCiAgIGZ1bmN0aW9uIEdldF9EYSAgKERhdGEgOiBhY2Nlc3MgR3RrX1Bsb3RfRGF0YV9SZWNv
cmQpIHJldHVybiBQb2ludHNfQXJyYXkgaXMKICAgICAgZnVuY3Rpb24gSW50ZXJuYWwgKERhdGEg
OiBTeXN0ZW0uQWRkcmVzczsgTnVtX1BvaW50cyA6IFN5c3RlbS5BZGRyZXNzKQogICAgICAgICBy
ZXR1cm4gU3lzdGVtLkFkZHJlc3M7CiAgICAgIHByYWdtYSBJbXBvcnQgKEMsIEludGVybmFsLCAi
Z3RrX3Bsb3RfZGF0YV9nZXRfZGEiKTsKCiAgICAgIE51bV9Qb2ludHMgOiBhbGlhc2VkIEdpbnQ7
CiAgICAgIFMgOiBTeXN0ZW0uQWRkcmVzcyA6PSBJbnRlcm5hbCAoR2V0X09iamVjdCAoRGF0YSks
IE51bV9Qb2ludHMnQWRkcmVzcyk7CiAgIGJlZ2luCiAgICAgIHJldHVybiAoUG9pbnRzID0+IFRv
X0RvdWJsZV9BcnJheSAoUyksIE51bV9Qb2ludHMgPT4gTnVtX1BvaW50cyk7CiAgIGVuZCBHZXRf
RGE7CgogICAtLS0tLS0tLS0tLS0tLS0tLS0tCiAgIC0tIFNldF9OdW1wb2ludHMgLS0KICAgLS0t
LS0tLS0tLS0tLS0tLS0tLQoKICAgcHJvY2VkdXJlIFNldF9OdW1wb2ludHMgKERhdGEgOiBhY2Nl
c3MgR3RrX1Bsb3RfRGF0YV9SZWNvcmQ7IE51bSA6IEdpbnQpIGlzCiAgICAgIHByb2NlZHVyZSBJ
bnRlcm5hbCAoRGF0YSA6IFN5c3RlbS5BZGRyZXNzOyBOdW0gOiBHaW50KTsKICAgICAgcHJhZ21h
IEltcG9ydCAoQywgSW50ZXJuYWwsICJndGtfcGxvdF9kYXRhX3NldF9udW1wb2ludHMiKTsKICAg
YmVnaW4KICAgICAgSW50ZXJuYWwgKEdldF9PYmplY3QgKERhdGEpLCBOdW0pOwogICBlbmQgU2V0
X051bXBvaW50czsKCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0KICAgLS0gR2V0X051bXBvaW50cyAt
LQogICAtLS0tLS0tLS0tLS0tLS0tLS0tCgogICBmdW5jdGlvbiBHZXRfTnVtcG9pbnRzIChEYXRh
IDogYWNjZXNzIEd0a19QbG90X0RhdGFfUmVjb3JkKSByZXR1cm4gR2ludCBpcwogICAgICBmdW5j
dGlvbiBJbnRlcm5hbCAoRGF0YSA6IFN5c3RlbS5BZGRyZXNzKSByZXR1cm4gR2ludDsKICAgICAg
cHJhZ21hIEltcG9ydCAoQywgSW50ZXJuYWwsICJndGtfcGxvdF9kYXRhX2dldF9udW1wb2ludHMi
KTsKICAgYmVnaW4KICAgICAgcmV0dXJuIEludGVybmFsIChHZXRfT2JqZWN0IChEYXRhKSk7CiAg
IGVuZCBHZXRfTnVtcG9pbnRzOwoKICAgLS0tLS0tLS0tLS0tLS0tLQogICAtLSBTZXRfTGFiZWxz
IC0tCiAgIC0tLS0tLS0tLS0tLS0tLS0KCiAgIHByb2NlZHVyZSBTZXRfTGFiZWxzCiAgICAgKERh
dGEgOiBhY2Nlc3MgR3RrX1Bsb3RfRGF0YV9SZWNvcmQ7CiAgICAgIExhYmVscyA6IEd0a2FkYS5U
eXBlcy5DaGFyc19QdHJfQXJyYXkpCiAgIGlzCiAgICAgIHByb2NlZHVyZSBJbnRlcm5hbCAoRGF0
YSA6IFN5c3RlbS5BZGRyZXNzOyBMYWJlbHMgOiBDaGFyc19QdHJfQXJyYXkpOwogICAgICBwcmFn
bWEgSW1wb3J0IChDLCBJbnRlcm5hbCwgImd0a19wbG90X2RhdGFfc2V0X2xhYmVscyIpOwogICBi
ZWdpbgogICAgICBJbnRlcm5hbCAoR2V0X09iamVjdCAoRGF0YSksIExhYmVscyk7CiAgIGVuZCBT
ZXRfTGFiZWxzOwoKICAgLS0tLS0tLS0tLS0tLS0tLQogICAtLSBHZXRfTGFiZWxzIC0tCiAgIC0t
LS0tLS0tLS0tLS0tLS0KCiAgIGZ1bmN0aW9uIEdldF9MYWJlbHMgKERhdGEgOiBhY2Nlc3MgR3Rr
X1Bsb3RfRGF0YV9SZWNvcmQpCiAgICAgIHJldHVybiBHdGthZGEuVHlwZXMuQ2hhcnNfUHRyX0Fy
cmF5CiAgIGlzCiAgICAgIHR5cGUgU3RyX0FycmF5IGlzIGFycmF5IChOYXR1cmFsKSBvZiBDaGFy
c19QdHI7CiAgICAgIGZ1bmN0aW9uIEludGVybmFsIChEYXRhIDogU3lzdGVtLkFkZHJlc3MpIHJl
dHVybiBTdHJfQXJyYXk7CiAgICAgIHByYWdtYSBJbXBvcnQgKEMsIEludGVybmFsLCAiZ3RrX3Bs
b3RfZGF0YV9nZXRfbGFiZWxzIik7CgogICAgICBOIDogY29uc3RhbnQgc2l6ZV90IDo9IHNpemVf
dCAoR2V0X051bXBvaW50cyAoRGF0YSkpOwogICBiZWdpbgogICAgICByZXR1cm4gQ2hhcnNfUHRy
X0FycmF5CiAgICAgICAgKEludGVybmFsIChHZXRfT2JqZWN0IChEYXRhKSkoMCAuLiBJbnRlZ2Vy
IChOKSAtIDEpKTsKICAgZW5kIEdldF9MYWJlbHM7CgogICAtLS0tLS0tLS0tLS0tLS0tLQogICAt
LSBTaG93X0xhYmVscyAtLQogICAtLS0tLS0tLS0tLS0tLS0tLQoKICAgcHJvY2VkdXJlIFNob3df
TGFiZWxzCiAgICAgKERhdGEgOiBhY2Nlc3MgR3RrX1Bsb3RfRGF0YV9SZWNvcmQ7IFNob3cgOiBC
b29sZWFuKQogICBpcwogICAgICBwcm9jZWR1cmUgSW50ZXJuYWwgKERhdGEgOiBTeXN0ZW0uQWRk
cmVzczsgU2hvdyA6IEdpbnQpOwogICAgICBwcmFnbWEgSW1wb3J0IChDLCBJbnRlcm5hbCwgImd0
a19wbG90X2RhdGFfc2hvd19sYWJlbHMiKTsKICAgYmVnaW4KICAgICAgSW50ZXJuYWwgKEdldF9P
YmplY3QgKERhdGEpLCBCb29sZWFuJ1BvcyAoU2hvdykpOwogICBlbmQgU2hvd19MYWJlbHM7Cgog
ICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgLS0gTGFiZWxzX1NldF9BdHRyaWJ1dGVz
IC0tCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKICAgcHJvY2VkdXJlIExhYmVsc19T
ZXRfQXR0cmlidXRlcwogICAgIChEYXRhIDogYWNjZXNzIEd0a19QbG90X0RhdGFfUmVjb3JkOwog
ICAgICBGb250IDogU3RyaW5nOwogICAgICBIZWlnaHQgOiBHaW50OwogICAgICBBbmdsZSAgOiBH
aW50OwogICAgICBGb3JlZ3JvdW5kIDogR2RrLkNvbG9yLkdka19Db2xvcjsKICAgICAgQmFja2dy
b3VuZCA6IEdkay5Db2xvci5HZGtfQ29sb3IpCiAgIGlzCiAgICAgIHByb2NlZHVyZSBJbnRlcm5h
bAogICAgICAgIChEYXRhIDogU3lzdGVtLkFkZHJlc3M7CiAgICAgICAgIEZvbnQgOiBTdHJpbmc7
CiAgICAgICAgIEhlaWdodCwgQW5nbGUgOiBHaW50OwogICAgICAgICBGb3JlZ3JvdW5kLCBCYWNr
Z3JvdW5kIDogU3lzdGVtLkFkZHJlc3MpOwogICAgICBwcmFnbWEgSW1wb3J0IChDLCBJbnRlcm5h
bCwgImd0a19wbG90X2RhdGFfbGFiZWxzX3NldF9hdHRyaWJ1dGVzIik7CgogICAgICBGIDogYWxp
YXNlZCBHZGtfQ29sb3IgOj0gRm9yZWdyb3VuZDsKICAgICAgQiA6IGFsaWFzZWQgR2RrX0NvbG9y
IDo9IEJhY2tncm91bmQ7CiAgIGJlZ2luCiAgICAgIEludGVybmFsIChHZXRfT2JqZWN0IChEYXRh
KSwgRm9udCAmIEFTQ0lJLk5VTCwgSGVpZ2h0LCBBbmdsZSwKICAgICAgICAgICAgICAgIEYnQWRk
cmVzcywgQidBZGRyZXNzKTsKICAgZW5kIExhYmVsc19TZXRfQXR0cmlidXRlczsKCiAgIC0tLS0t
LS0tLS0tLS0tLS0KICAgLS0gU2V0X1N5bWJvbCAtLQogICAtLS0tLS0tLS0tLS0tLS0tCgogICBw
cm9jZWR1cmUgU2V0X1N5bWJvbAogICAgIChEYXRhICAgICAgICAgOiBhY2Nlc3MgR3RrX1Bsb3Rf
RGF0YV9SZWNvcmQ7CiAgICAgIFRoZV9UeXBlICAgICA6IFBsb3RfU3ltYm9sX1R5cGU7CiAgICAg
IFN0eWxlICAgICAgICA6IFBsb3RfU3ltYm9sX1N0eWxlOwogICAgICBTaXplICAgICAgICAgOiBH
aW50OwogICAgICBMaW5lX1dpZHRoICAgOiBHZmxvYXQ7CiAgICAgIENvbG9yICAgICAgICA6IEdk
ay5Db2xvci5HZGtfQ29sb3I7CiAgICAgIEJvcmRlcl9Db2xvciA6IEdkay5Db2xvci5HZGtfQ29s
b3IpCiAgIGlzCiAgICAgIHByb2NlZHVyZSBJbnRlcm5hbAogICAgICAgIChEYXRhICAgICAgICAg
ICAgICAgICAgOiBTeXN0ZW0uQWRkcmVzczsKICAgICAgICAgVGhlX1R5cGUsIFN0eWxlLCBTaXpl
IDogR2ludDsKICAgICAgICAgTGluZV9XaWR0aCAgICAgICAgICAgIDogR2Zsb2F0OwogICAgICAg
ICBDb2xvciwgQm9yZGVyX0NvbG9yICAgOiBTeXN0ZW0uQWRkcmVzcyk7CiAgICAgIHByYWdtYSBJ
bXBvcnQgKEMsIEludGVybmFsLCAiZ3RrX3Bsb3RfZGF0YV9zZXRfc3ltYm9sIik7CiAgICAgIEMg
OiBhbGlhc2VkIEdka19Db2xvciA6PSBDb2xvcjsKICAgICAgQiA6IGFsaWFzZWQgR2RrX0NvbG9y
IDo9IEJvcmRlcl9Db2xvcjsKICAgYmVnaW4KICAgICAgSW50ZXJuYWwgKEdldF9PYmplY3QgKERh
dGEpLCBQbG90X1N5bWJvbF9UeXBlJ1BvcyAoVGhlX1R5cGUpLAogICAgICAgICAgICAgICAgUGxv
dF9TeW1ib2xfU3R5bGUnUG9zIChTdHlsZSksIFNpemUsIExpbmVfV2lkdGgsCiAgICAgICAgICAg
ICAgICBDJ0FkZHJlc3MsIEInQWRkcmVzcyk7CiAgIGVuZCBTZXRfU3ltYm9sOwoKICAgLS0tLS0t
LS0tLS0tLS0tLQogICAtLSBHZXRfU3ltYm9sIC0tCiAgIC0tLS0tLS0tLS0tLS0tLS0KCiAgIHBy
b2NlZHVyZSBHZXRfU3ltYm9sCiAgICAgKERhdGEgICAgICAgICA6IGFjY2VzcyBHdGtfUGxvdF9E
YXRhX1JlY29yZDsKICAgICAgVGhlX1R5cGUgICAgIDogb3V0IFBsb3RfU3ltYm9sX1R5cGU7CiAg
ICAgIFN0eWxlICAgICAgICA6IG91dCBQbG90X1N5bWJvbF9TdHlsZTsKICAgICAgU2l6ZSAgICAg
ICAgIDogb3V0IEdpbnQ7CiAgICAgIExpbmVfV2lkdGggICA6IG91dCBHaW50OwogICAgICBDb2xv
ciAgICAgICAgOiBvdXQgR2RrLkNvbG9yLkdka19Db2xvcjsKICAgICAgQm9yZGVyX0NvbG9yIDog
b3V0IEdkay5Db2xvci5HZGtfQ29sb3IpCiAgIGlzCiAgICAgIHByb2NlZHVyZSBJbnRlcm5hbAog
ICAgICAgIChEYXRhICAgICAgICAgOiBTeXN0ZW0uQWRkcmVzczsKICAgICAgICAgVGhlX1R5cGUg
ICAgIDogb3V0IFBsb3RfU3ltYm9sX1R5cGU7CiAgICAgICAgIFN0eWxlICAgICAgICA6IG91dCBQ
bG90X1N5bWJvbF9TdHlsZTsKICAgICAgICAgU2l6ZSAgICAgICAgIDogb3V0IEdpbnQ7CiAgICAg
ICAgIExpbmVfV2lkdGggICA6IG91dCBHaW50OwogICAgICAgICBDb2xvciAgICAgICAgOiBTeXN0
ZW0uQWRkcmVzczsKICAgICAgICAgQm9yZGVyX0NvbG9yIDogU3lzdGVtLkFkZHJlc3MpOwogICAg
ICBwcmFnbWEgSW1wb3J0IChDLCBJbnRlcm5hbCwgImd0a19wbG90X2RhdGFfZ2V0X3N5bWJvbCIp
OwogICAgICBDLCBCIDogYWxpYXNlZCBHZGtfQ29sb3I7CiAgIGJlZ2luCiAgICAgIEludGVybmFs
IChHZXRfT2JqZWN0IChEYXRhKSwgVGhlX1R5cGUsIFN0eWxlLCBTaXplLCBMaW5lX1dpZHRoLAog
ICAgICAgICAgICAgICAgQydBZGRyZXNzLCBCJ0FkZHJlc3MpOwogICAgICBDb2xvciA6PSBDOwog
ICAgICBCb3JkZXJfQ29sb3IgOj0gQjsKICAgZW5kIEdldF9TeW1ib2w7CgogICAtLS0tLS0tLS0t
LS0tLS0tLS0tCiAgIC0tIFNldF9Db25uZWN0b3IgLS0KICAgLS0tLS0tLS0tLS0tLS0tLS0tLQoK
ICAgcHJvY2VkdXJlIFNldF9Db25uZWN0b3IKICAgICAoRGF0YSA6IGFjY2VzcyBHdGtfUGxvdF9E
YXRhX1JlY29yZDsgQ29ubmVjdG9yIDogUGxvdF9Db25uZWN0b3IpCiAgIGlzCiAgICAgIHByb2Nl
ZHVyZSBJbnRlcm5hbCAoRGF0YSA6IFN5c3RlbS5BZGRyZXNzOyBDb25uZWN0b3IgOiBHaW50KTsK
ICAgICAgcHJhZ21hIEltcG9ydCAoQywgSW50ZXJuYWwsICJndGtfcGxvdF9kYXRhX3NldF9jb25u
ZWN0b3IiKTsKICAgYmVnaW4KICAgICAgSW50ZXJuYWwgKEdldF9PYmplY3QgKERhdGEpLCBQbG90
X0Nvbm5lY3RvcidQb3MgKENvbm5lY3RvcikpOwogICBlbmQgU2V0X0Nvbm5lY3RvcjsKCiAgIC0t
LS0tLS0tLS0tLS0tLS0tLS0KICAgLS0gR2V0X0Nvbm5lY3RvciAtLQogICAtLS0tLS0tLS0tLS0t
LS0tLS0tCgogICBmdW5jdGlvbiBHZXRfQ29ubmVjdG9yIChEYXRhIDogYWNjZXNzIEd0a19QbG90
X0RhdGFfUmVjb3JkKQogICAgICByZXR1cm4gUGxvdF9Db25uZWN0b3IKICAgaXMKICAgICAgZnVu
Y3Rpb24gSW50ZXJuYWwgKERhdGEgOiBTeXN0ZW0uQWRkcmVzcykgcmV0dXJuIEdpbnQ7CiAgICAg
IHByYWdtYSBJbXBvcnQgKEMsIEludGVybmFsLCAiZ3RrX3Bsb3RfZGF0YV9nZXRfY29ubmVjdG9y
Iik7CiAgIGJlZ2luCiAgICAgIHJldHVybiBQbG90X0Nvbm5lY3RvcidWYWwgKEludGVybmFsIChH
ZXRfT2JqZWN0IChEYXRhKSkpOwogICBlbmQgR2V0X0Nvbm5lY3RvcjsKCiAgIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KICAgLS0gU2V0X0xpbmVfQXR0cmlidXRlcyAtLQogICAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCgogICBwcm9jZWR1cmUgU2V0X0xpbmVfQXR0cmlidXRlcwogICAgIChE
YXRhICA6IGFjY2VzcyBHdGtfUGxvdF9EYXRhX1JlY29yZDsKICAgICAgU3R5bGUgOiBQbG90X0xp
bmVfU3R5bGU7CiAgICAgIFdpZHRoIDogR2Zsb2F0OwogICAgICBDb2xvciA6IEdkay5Db2xvci5H
ZGtfQ29sb3IpCiAgIGlzCiAgICAgIHByb2NlZHVyZSBJbnRlcm5hbAogICAgICAgIChEYXRhICA6
IFN5c3RlbS5BZGRyZXNzOwogICAgICAgICBTdHlsZSA6IEdpbnQ7CiAgICAgICAgIFdpZHRoIDog
R2Zsb2F0OwogICAgICAgICBDb2xvciA6IFN5c3RlbS5BZGRyZXNzKTsKICAgICAgcHJhZ21hIElt
cG9ydCAoQywgSW50ZXJuYWwsICJndGtfcGxvdF9kYXRhX3NldF9saW5lX2F0dHJpYnV0ZXMiKTsK
ICAgICAgQyA6IGFsaWFzZWQgR2RrX0NvbG9yIDo9IENvbG9yOwogICBiZWdpbgogICAgICBJbnRl
cm5hbCAoR2V0X09iamVjdCAoRGF0YSksIFBsb3RfTGluZV9TdHlsZSdQb3MgKFN0eWxlKSwgV2lk
dGgsCiAgICAgICAgICAgICAgICBDJ0FkZHJlc3MpOwogICBlbmQgU2V0X0xpbmVfQXR0cmlidXRl
czsKCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgLS0gR2V0X0xpbmVfQXR0cmlidXRl
cyAtLQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgogICBwcm9jZWR1cmUgR2V0X0xpbmVf
QXR0cmlidXRlcwogICAgIChEYXRhICA6IGFjY2VzcyBHdGtfUGxvdF9EYXRhX1JlY29yZDsKICAg
ICAgU3R5bGUgOiBvdXQgUGxvdF9MaW5lX1N0eWxlOwogICAgICBXaWR0aCA6IG91dCBHZmxvYXQ7
CiAgICAgIENvbG9yIDogb3V0IEdkay5Db2xvci5HZGtfQ29sb3IpCiAgIGlzCiAgICAgIHByb2Nl
ZHVyZSBJbnRlcm5hbAogICAgICAgIChEYXRhICA6IFN5c3RlbS5BZGRyZXNzOwogICAgICAgICBT
dHlsZSA6IG91dCBQbG90X0xpbmVfU3R5bGU7CiAgICAgICAgIFdpZHRoIDogb3V0IEdmbG9hdDsK
ICAgICAgICAgQ29sb3IgOiBTeXN0ZW0uQWRkcmVzcyk7CiAgICAgIHByYWdtYSBJbXBvcnQgKEMs
IEludGVybmFsLCAiZ3RrX3Bsb3RfZGF0YV9nZXRfbGluZV9hdHRyaWJ1dGVzIik7CiAgICAgIEMg
OiBhbGlhc2VkIEdka19Db2xvcjsKICAgYmVnaW4KICAgICAgSW50ZXJuYWwgKEdldF9PYmplY3Qg
KERhdGEpLCBTdHlsZSwgV2lkdGgsIEMnQWRkcmVzcyk7CiAgICAgIENvbG9yIDo9IEM7CiAgIGVu
ZCBHZXRfTGluZV9BdHRyaWJ1dGVzOwoKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAtLSBT
ZXRfWF9BdHRyaWJ1dGVzIC0tCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiAgIHByb2NlZHVy
ZSBTZXRfWF9BdHRyaWJ1dGVzCiAgICAgKERhdGEgIDogYWNjZXNzIEd0a19QbG90X0RhdGFfUmVj
b3JkOwogICAgICBTdHlsZSA6IFBsb3RfTGluZV9TdHlsZTsKICAgICAgV2lkdGggOiBHZmxvYXQ7
CiAgICAgIENvbG9yIDogR2RrLkNvbG9yLkdka19Db2xvcikKICAgaXMKICAgICAgcHJvY2VkdXJl
IEludGVybmFsCiAgICAgICAgKERhdGEgIDogU3lzdGVtLkFkZHJlc3M7CiAgICAgICAgIFN0eWxl
IDogR2ludDsKICAgICAgICAgV2lkdGggOiBHZmxvYXQ7CiAgICAgICAgIENvbG9yIDogU3lzdGVt
LkFkZHJlc3MpOwogICAgICBwcmFnbWEgSW1wb3J0IChDLCBJbnRlcm5hbCwgImd0a19wbG90X2Rh
dGFfc2V0X3hfYXR0cmlidXRlcyIpOwogICAgICBDIDogYWxpYXNlZCBHZGtfQ29sb3IgOj0gQ29s
b3I7CiAgIGJlZ2luCiAgICAgIEludGVybmFsIChHZXRfT2JqZWN0IChEYXRhKSwgUGxvdF9MaW5l
X1N0eWxlJ1BvcyAoU3R5bGUpLCBXaWR0aCwKICAgICAgICAgICAgICAgIEMnQWRkcmVzcyk7CiAg
IGVuZCBTZXRfWF9BdHRyaWJ1dGVzOwoKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAtLSBT
ZXRfWV9BdHRyaWJ1dGVzIC0tCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiAgIHByb2NlZHVy
ZSBTZXRfWV9BdHRyaWJ1dGVzCiAgICAgKERhdGEgIDogYWNjZXNzIEd0a19QbG90X0RhdGFfUmVj
b3JkOwogICAgICBTdHlsZSA6IFBsb3RfTGluZV9TdHlsZTsKICAgICAgV2lkdGggOiBHZmxvYXQ7
CiAgICAgIENvbG9yIDogR2RrLkNvbG9yLkdka19Db2xvcikKICAgaXMKICAgICAgcHJvY2VkdXJl
IEludGVybmFsCiAgICAgICAgKERhdGEgIDogU3lzdGVtLkFkZHJlc3M7CiAgICAgICAgIFN0eWxl
IDogR2ludDsKICAgICAgICAgV2lkdGggOiBHZmxvYXQ7CiAgICAgICAgIENvbG9yIDogU3lzdGVt
LkFkZHJlc3MpOwogICAgICBwcmFnbWEgSW1wb3J0IChDLCBJbnRlcm5hbCwgImd0a19wbG90X2Rh
dGFfc2V0X3lfYXR0cmlidXRlcyIpOwogICAgICBDIDogYWxpYXNlZCBHZGtfQ29sb3IgOj0gQ29s
b3I7CiAgIGJlZ2luCiAgICAgIEludGVybmFsIChHZXRfT2JqZWN0IChEYXRhKSwgUGxvdF9MaW5l
X1N0eWxlJ1BvcyAoU3R5bGUpLCBXaWR0aCwKICAgICAgICAgICAgICAgIEMnQWRkcmVzcyk7CiAg
IGVuZCBTZXRfWV9BdHRyaWJ1dGVzOwoKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAtLSBT
ZXRfWl9BdHRyaWJ1dGVzIC0tCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiAgIHByb2NlZHVy
ZSBTZXRfWl9BdHRyaWJ1dGVzCiAgICAgKERhdGEgIDogYWNjZXNzIEd0a19QbG90X0RhdGFfUmVj
b3JkOwogICAgICBTdHlsZSA6IFBsb3RfTGluZV9TdHlsZTsKICAgICAgV2lkdGggOiBHZmxvYXQ7
CiAgICAgIENvbG9yIDogR2RrLkNvbG9yLkdka19Db2xvcikKICAgaXMKICAgICAgcHJvY2VkdXJl
IEludGVybmFsCiAgICAgICAgKERhdGEgIDogU3lzdGVtLkFkZHJlc3M7CiAgICAgICAgIFN0eWxl
IDogR2ludDsKICAgICAgICAgV2lkdGggOiBHZmxvYXQ7CiAgICAgICAgIENvbG9yIDogU3lzdGVt
LkFkZHJlc3MpOwogICAgICBwcmFnbWEgSW1wb3J0IChDLCBJbnRlcm5hbCwgImd0a19wbG90X2Rh
dGFfc2V0X3pfYXR0cmlidXRlcyIpOwogICAgICBDIDogYWxpYXNlZCBHZGtfQ29sb3IgOj0gQ29s
b3I7CiAgIGJlZ2luCiAgICAgIEludGVybmFsIChHZXRfT2JqZWN0IChEYXRhKSwgUGxvdF9MaW5l
X1N0eWxlJ1BvcyAoU3R5bGUpLCBXaWR0aCwKICAgICAgICAgICAgICAgIEMnQWRkcmVzcyk7CiAg
IGVuZCBTZXRfWl9BdHRyaWJ1dGVzOwoKICAgLS0tLS0tLS0tLS0tLS0tLS0tLQogICAtLSBTaG93
X1hlcnJiYXJzIC0tCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0KCiAgIHByb2NlZHVyZSBTaG93X1hl
cnJiYXJzIChEYXRhIDogYWNjZXNzIEd0a19QbG90X0RhdGFfUmVjb3JkKSBpcwogICAgICBwcm9j
ZWR1cmUgSW50ZXJuYWwgKERhdGEgOiBTeXN0ZW0uQWRkcmVzcyk7CiAgICAgIHByYWdtYSBJbXBv
cnQgKEMsIEludGVybmFsLCAiZ3RrX3Bsb3RfZGF0YV9zaG93X3hlcnJiYXJzIik7CiAgIGJlZ2lu
CiAgICAgIEludGVybmFsIChHZXRfT2JqZWN0IChEYXRhKSk7CiAgIGVuZCBTaG93X1hlcnJiYXJz
OwoKICAgLS0tLS0tLS0tLS0tLS0tLS0tLQogICAtLSBTaG93X1llcnJiYXJzIC0tCiAgIC0tLS0t
LS0tLS0tLS0tLS0tLS0KCiAgIHByb2NlZHVyZSBTaG93X1llcnJiYXJzIChEYXRhIDogYWNjZXNz
IEd0a19QbG90X0RhdGFfUmVjb3JkKSBpcwogICAgICBwcm9jZWR1cmUgSW50ZXJuYWwgKERhdGEg
OiBTeXN0ZW0uQWRkcmVzcyk7CiAgICAgIHByYWdtYSBJbXBvcnQgKEMsIEludGVybmFsLCAiZ3Rr
X3Bsb3RfZGF0YV9zaG93X3llcnJiYXJzIik7CiAgIGJlZ2luCiAgICAgIEludGVybmFsIChHZXRf
T2JqZWN0IChEYXRhKSk7CiAgIGVuZCBTaG93X1llcnJiYXJzOwoKICAgLS0tLS0tLS0tLS0tLS0t
LS0tLQogICAtLSBTaG93X1plcnJiYXJzIC0tCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0KCiAgIHBy
b2NlZHVyZSBTaG93X1plcnJiYXJzIChEYXRhIDogYWNjZXNzIEd0a19QbG90X0RhdGFfUmVjb3Jk
KSBpcwogICAgICBwcm9jZWR1cmUgSW50ZXJuYWwgKERhdGEgOiBTeXN0ZW0uQWRkcmVzcyk7CiAg
ICAgIHByYWdtYSBJbXBvcnQgKEMsIEludGVybmFsLCAiZ3RrX3Bsb3RfZGF0YV9zaG93X3plcnJi
YXJzIik7CiAgIGJlZ2luCiAgICAgIEludGVybmFsIChHZXRfT2JqZWN0IChEYXRhKSk7CiAgIGVu
ZCBTaG93X1plcnJiYXJzOwoKICAgLS0tLS0tLS0tLS0tLS0tLS0tLQogICAtLSBIaWRlX1hlcnJi
YXJzIC0tCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0KCiAgIHByb2NlZHVyZSBIaWRlX1hlcnJiYXJz
IChEYXRhIDogYWNjZXNzIEd0a19QbG90X0RhdGFfUmVjb3JkKSBpcwogICAgICBwcm9jZWR1cmUg
SW50ZXJuYWwgKERhdGEgOiBTeXN0ZW0uQWRkcmVzcyk7CiAgICAgIHByYWdtYSBJbXBvcnQgKEMs
IEludGVybmFsLCAiZ3RrX3Bsb3RfZGF0YV9oaWRlX3hlcnJiYXJzIik7CiAgIGJlZ2luCiAgICAg
IEludGVybmFsIChHZXRfT2JqZWN0IChEYXRhKSk7CiAgIGVuZCBIaWRlX1hlcnJiYXJzOwoKICAg
LS0tLS0tLS0tLS0tLS0tLS0tLQogICAtLSBIaWRlX1llcnJiYXJzIC0tCiAgIC0tLS0tLS0tLS0t
LS0tLS0tLS0KCiAgIHByb2NlZHVyZSBIaWRlX1llcnJiYXJzIChEYXRhIDogYWNjZXNzIEd0a19Q
bG90X0RhdGFfUmVjb3JkKSBpcwogICAgICBwcm9jZWR1cmUgSW50ZXJuYWwgKERhdGEgOiBTeXN0
ZW0uQWRkcmVzcyk7CiAgICAgIHByYWdtYSBJbXBvcnQgKEMsIEludGVybmFsLCAiZ3RrX3Bsb3Rf
ZGF0YV9oaWRlX3llcnJiYXJzIik7CiAgIGJlZ2luCiAgICAgIEludGVybmFsIChHZXRfT2JqZWN0
IChEYXRhKSk7CiAgIGVuZCBIaWRlX1llcnJiYXJzOwoKICAgLS0tLS0tLS0tLS0tLS0tLS0tLQog
ICAtLSBIaWRlX1plcnJiYXJzIC0tCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0KCiAgIHByb2NlZHVy
ZSBIaWRlX1plcnJiYXJzIChEYXRhIDogYWNjZXNzIEd0a19QbG90X0RhdGFfUmVjb3JkKSBpcwog
ICAgICBwcm9jZWR1cmUgSW50ZXJuYWwgKERhdGEgOiBTeXN0ZW0uQWRkcmVzcyk7CiAgICAgIHBy
YWdtYSBJbXBvcnQgKEMsIEludGVybmFsLCAiZ3RrX3Bsb3RfZGF0YV9oaWRlX3plcnJiYXJzIik7
CiAgIGJlZ2luCiAgICAgIEludGVybmFsIChHZXRfT2JqZWN0IChEYXRhKSk7CiAgIGVuZCBIaWRl
X1plcnJiYXJzOwoKICAgLS0tLS0tLS0tLS0tLS0tCiAgIC0tIEZpbGxfQXJlYSAtLQogICAtLS0t
LS0tLS0tLS0tLS0KCiAgIHByb2NlZHVyZSBGaWxsX0FyZWEgKERhdGEgOiBhY2Nlc3MgR3RrX1Bs
b3RfRGF0YV9SZWNvcmQ7IEZpbGwgOiBCb29sZWFuKSBpcwogICAgICBwcm9jZWR1cmUgSW50ZXJu
YWwgKERhdGEgOiBTeXN0ZW0uQWRkcmVzczsgRmlsbCA6IEdpbnQpOwogICAgICBwcmFnbWEgSW1w
b3J0IChDLCBJbnRlcm5hbCwgImd0a19wbG90X2RhdGFfZmlsbF9hcmVhIik7CiAgIGJlZ2luCiAg
ICAgIEludGVybmFsIChHZXRfT2JqZWN0IChEYXRhKSwgQm9vbGVhbidQb3MgKEZpbGwpKTsKICAg
ZW5kIEZpbGxfQXJlYTsKCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIC0tIEFyZWFfSXNfRmls
bGVkIC0tCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tCgogICBmdW5jdGlvbiBBcmVhX0lzX0ZpbGxl
ZCAoRGF0YSA6IGFjY2VzcyBHdGtfUGxvdF9EYXRhX1JlY29yZCkKICAgICAgcmV0dXJuIEJvb2xl
YW4KICAgaXMKICAgICAgZnVuY3Rpb24gSW50ZXJuYWwgKERhdGEgOiBTeXN0ZW0uQWRkcmVzcykg
cmV0dXJuIEdpbnQ7CiAgICAgIHByYWdtYSBJbXBvcnQgKEMsIEludGVybmFsLCAiZ3RrX3Bsb3Rf
ZGF0YV9hcmVhX2lzX2ZpbGxlZCIpOwogICBiZWdpbgogICAgICByZXR1cm4gQm9vbGVhbidWYWwg
KEludGVybmFsIChHZXRfT2JqZWN0IChEYXRhKSkpOwogICBlbmQgQXJlYV9Jc19GaWxsZWQ7Cgog
ICAtLS0tLS0tLS0tLS0tLS0tCiAgIC0tIFNldF9MZWdlbmQgLS0KICAgLS0tLS0tLS0tLS0tLS0t
LQoKICAgcHJvY2VkdXJlIFNldF9MZWdlbmQgKERhdGEgOiBhY2Nlc3MgR3RrX1Bsb3RfRGF0YV9S
ZWNvcmQ7IExlZ2VuZCA6IFN0cmluZykKICAgaXMKICAgICAgcHJvY2VkdXJlIEludGVybmFsIChE
YXRhIDogU3lzdGVtLkFkZHJlc3M7IExlZ2VuZCA6IFN0cmluZyk7CiAgICAgIHByYWdtYSBJbXBv
cnQgKEMsIEludGVybmFsLCAiZ3RrX3Bsb3RfZGF0YV9zZXRfbGVnZW5kIik7CiAgIGJlZ2luCiAg
ICAgIEludGVybmFsIChHZXRfT2JqZWN0IChEYXRhKSwgTGVnZW5kICYgQVNDSUkuTlVMKTsKICAg
ZW5kIFNldF9MZWdlbmQ7CgogICAtLS0tLS0tLS0tLS0tLS0tLQogICAtLSBTaG93X0xlZ2VuZCAt
LQogICAtLS0tLS0tLS0tLS0tLS0tLQoKICAgcHJvY2VkdXJlIFNob3dfTGVnZW5kIChEYXRhIDog
YWNjZXNzIEd0a19QbG90X0RhdGFfUmVjb3JkKSBpcwogICAgICBwcm9jZWR1cmUgSW50ZXJuYWwg
KERhdGEgOiBTeXN0ZW0uQWRkcmVzcyk7CiAgICAgIHByYWdtYSBJbXBvcnQgKEMsIEludGVybmFs
LCAiZ3RrX3Bsb3RfZGF0YV9zaG93X2xlZ2VuZCIpOwogICBiZWdpbgogICAgICBJbnRlcm5hbCAo
R2V0X09iamVjdCAoRGF0YSkpOwogICBlbmQgU2hvd19MZWdlbmQ7CgogICAtLS0tLS0tLS0tLS0t
LS0tLQogICAtLSBIaWRlX0xlZ2VuZCAtLQogICAtLS0tLS0tLS0tLS0tLS0tLQoKICAgcHJvY2Vk
dXJlIEhpZGVfTGVnZW5kIChEYXRhIDogYWNjZXNzIEd0a19QbG90X0RhdGFfUmVjb3JkKSBpcwog
ICAgICBwcm9jZWR1cmUgSW50ZXJuYWwgKERhdGEgOiBTeXN0ZW0uQWRkcmVzcyk7CiAgICAgIHBy
YWdtYSBJbXBvcnQgKEMsIEludGVybmFsLCAiZ3RrX3Bsb3RfZGF0YV9oaWRlX2xlZ2VuZCIpOwog
ICBiZWdpbgogICAgICBJbnRlcm5hbCAoR2V0X09iamVjdCAoRGF0YSkpOwogICBlbmQgSGlkZV9M
ZWdlbmQ7CgogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAtLSBTZXRfTGVnZW5kX1By
ZWNpc2lvbiAtLQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKICAgcHJvY2VkdXJlIFNl
dF9MZWdlbmRfUHJlY2lzaW9uCiAgICAgKERhdGEgOiBhY2Nlc3MgR3RrX1Bsb3RfRGF0YV9SZWNv
cmQ7IFByZWNpc2lvbiA6IEdpbnQpCiAgIGlzCiAgICAgIHByb2NlZHVyZSBJbnRlcm5hbCAoRGF0
YSA6IFN5c3RlbS5BZGRyZXNzOyBQcmVjaXNpb24gOiBHaW50KTsKICAgICAgcHJhZ21hIEltcG9y
dCAoQywgSW50ZXJuYWwsICJndGtfcGxvdF9kYXRhX3NldF9sZWdlbmRfcHJlY2lzaW9uIik7CiAg
IGJlZ2luCiAgICAgIEludGVybmFsIChHZXRfT2JqZWN0IChEYXRhKSwgUHJlY2lzaW9uKTsKICAg
ZW5kIFNldF9MZWdlbmRfUHJlY2lzaW9uOwoKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
ICAgLS0gR2V0X0xlZ2VuZF9QcmVjaXNpb24gLS0KICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KCiAgIGZ1bmN0aW9uIEdldF9MZWdlbmRfUHJlY2lzaW9uIChEYXRhIDogYWNjZXNzIEd0a19Q
bG90X0RhdGFfUmVjb3JkKQogICAgICByZXR1cm4gR2ludAogICBpcwogICAgICBmdW5jdGlvbiBJ
bnRlcm5hbCAoRGF0YSA6IFN5c3RlbS5BZGRyZXNzKSByZXR1cm4gR2ludDsKICAgICAgcHJhZ21h
IEltcG9ydCAoQywgSW50ZXJuYWwsICJndGtfcGxvdF9kYXRhX2dldF9sZWdlbmRfcHJlY2lzaW9u
Iik7CiAgIGJlZ2luCiAgICAgIHJldHVybiBJbnRlcm5hbCAoR2V0X09iamVjdCAoRGF0YSkpOwog
ICBlbmQgR2V0X0xlZ2VuZF9QcmVjaXNpb247CgogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQog
ICAtLSBTZXRfR3JhZGllbnRfTWFzayAtLQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKICAg
cHJvY2VkdXJlIFNldF9HcmFkaWVudF9NYXNrCiAgICAgKERhdGEgOiBhY2Nlc3MgR3RrX1Bsb3Rf
RGF0YV9SZWNvcmQ7IE1hc2sgOiBQbG90X0dyYWRpZW50KQogICBpcwogICAgICBwcm9jZWR1cmUg
SW50ZXJuYWwgKERhdGEgOiBTeXN0ZW0uQWRkcmVzczsgTWFzayA6IEdpbnQpOwogICAgICBwcmFn
bWEgSW1wb3J0IChDLCBJbnRlcm5hbCwgImd0a19wbG90X2RhdGFfc2V0X2dyYWRpZW50X21hc2si
KTsKICAgYmVnaW4KICAgICAgSW50ZXJuYWwgKEdldF9PYmplY3QgKERhdGEpLCBQbG90X0dyYWRp
ZW50J1BvcyAoTWFzaykpOwogICBlbmQgU2V0X0dyYWRpZW50X01hc2s7CgogICAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQogICAtLSBHZXRfR3JhZGllbnRfTWFzayAtLQogICAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQoKICAgZnVuY3Rpb24gR2V0X0dyYWRpZW50X01hc2sgKERhdGEgOiBhY2Nlc3Mg
R3RrX1Bsb3RfRGF0YV9SZWNvcmQpCiAgICAgIHJldHVybiBQbG90X0dyYWRpZW50CiAgIGlzCiAg
ICAgIGZ1bmN0aW9uIEludGVybmFsIChEYXRhIDogU3lzdGVtLkFkZHJlc3MpIHJldHVybiBHaW50
OwogICAgICBwcmFnbWEgSW1wb3J0IChDLCBJbnRlcm5hbCwgImd0a19wbG90X2RhdGFfZ2V0X2dy
YWRpZW50X21hc2siKTsKICAgYmVnaW4KICAgICAgcmV0dXJuIFBsb3RfR3JhZGllbnQnVmFsIChJ
bnRlcm5hbCAoR2V0X09iamVjdCAoRGF0YSkpKTsKICAgZW5kIEdldF9HcmFkaWVudF9NYXNrOwoK
ICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgLS0gR3JhZGllbnRfU2V0X1Zpc2libGUg
LS0KICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiAgIHByb2NlZHVyZSBHcmFkaWVudF9T
ZXRfVmlzaWJsZQogICAgIChEYXRhIDogYWNjZXNzIEd0a19QbG90X0RhdGFfUmVjb3JkOyBWaXNp
YmxlIDogQm9vbGVhbikKICAgaXMKICAgICAgcHJvY2VkdXJlIEludGVybmFsIChEYXRhIDogU3lz
dGVtLkFkZHJlc3M7IFZpc2libGUgOiBHaW50KTsKICAgICAgcHJhZ21hIEltcG9ydCAoQywgSW50
ZXJuYWwsICJndGtfcGxvdF9kYXRhX2dyYWRpZW50X3NldF92aXNpYmxlIik7CiAgIGJlZ2luCiAg
ICAgIEludGVybmFsIChHZXRfT2JqZWN0IChEYXRhKSwgQm9vbGVhbidQb3MgKFZpc2libGUpKTsK
ICAgZW5kIEdyYWRpZW50X1NldF9WaXNpYmxlOwoKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQog
ICAtLSBHcmFkaWVudF9WaXNpYmxlIC0tCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiAgIGZ1
bmN0aW9uIEdyYWRpZW50X1Zpc2libGUgKERhdGEgOiBhY2Nlc3MgR3RrX1Bsb3RfRGF0YV9SZWNv
cmQpCiAgICAgIHJldHVybiBCb29sZWFuCiAgIGlzCiAgICAgIGZ1bmN0aW9uIEludGVybmFsIChE
YXRhIDogU3lzdGVtLkFkZHJlc3MpIHJldHVybiBHaW50OwogICAgICBwcmFnbWEgSW1wb3J0IChD
LCBJbnRlcm5hbCwgImd0a19wbG90X2RhdGFfZ3JhZGllbnRfdmlzaWJsZSIpOwogICBiZWdpbgog
ICAgICByZXR1cm4gQm9vbGVhbidWYWwgKEludGVybmFsIChHZXRfT2JqZWN0IChEYXRhKSkpOwog
ICBlbmQgR3JhZGllbnRfVmlzaWJsZTsKCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAg
LS0gU2V0X0dyYWRpZW50X0NvbG9ycyAtLQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgog
ICBwcm9jZWR1cmUgU2V0X0dyYWRpZW50X0NvbG9ycwogICAgIChEYXRhIDogYWNjZXNzIEd0a19Q
bG90X0RhdGFfUmVjb3JkOwogICAgICBNaW4sIE1heCA6IEdkay5Db2xvci5HZGtfQ29sb3IpCiAg
IGlzCiAgICAgIHByb2NlZHVyZSBJbnRlcm5hbCAoRGF0YSwgTWluLCBNYXggOiBTeXN0ZW0uQWRk
cmVzcyk7CiAgICAgIHByYWdtYSBJbXBvcnQgKEMsIEludGVybmFsLCAiZ3RrX3Bsb3RfZGF0YV9z
ZXRfZ3JhZGllbnRfY29sb3JzIik7CiAgICAgIE1pIDogYWxpYXNlZCBHZGtfQ29sb3IgOj0gTWlu
OwogICAgICBNYSA6IGFsaWFzZWQgR2RrX0NvbG9yIDo9IE1heDsKICAgYmVnaW4KICAgICAgSW50
ZXJuYWwgKEdldF9PYmplY3QgKERhdGEpLCBNaSdBZGRyZXNzLCBNYSdBZGRyZXNzKTsKICAgZW5k
IFNldF9HcmFkaWVudF9Db2xvcnM7CgogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIC0t
IEdldF9HcmFkaWVudF9Db2xvcnMgLS0KICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKICAg
cHJvY2VkdXJlIEdldF9HcmFkaWVudF9Db2xvcnMKICAgICAoRGF0YSA6IGFjY2VzcyBHdGtfUGxv
dF9EYXRhX1JlY29yZDsKICAgICAgTWluLCBNYXggOiBvdXQgR2RrLkNvbG9yLkdka19Db2xvcikK
ICAgaXMKICAgICAgcHJvY2VkdXJlIEludGVybmFsIChEYXRhLCBNaW4sIE1heCA6IFN5c3RlbS5B
ZGRyZXNzKTsKICAgICAgcHJhZ21hIEltcG9ydCAoQywgSW50ZXJuYWwsICJndGtfcGxvdF9kYXRh
X2dldF9ncmFkaWVudF9jb2xvcnMiKTsKICAgICAgTWksIE1hIDogYWxpYXNlZCBHZGtfQ29sb3I7
CiAgIGJlZ2luCiAgICAgIEludGVybmFsIChHZXRfT2JqZWN0IChEYXRhKSwgTWknQWRkcmVzcywg
TWEnQWRkcmVzcyk7CiAgICAgIE1pbiA6PSBNaTsKICAgICAgTWF4IDo9IE1hOwogICBlbmQgR2V0
X0dyYWRpZW50X0NvbG9yczsKCiAgIC0tLS0tLS0tLS0tLS0tLS0tLQogICAtLSBTZXRfR3JhZGll
bnQgLS0KICAgLS0tLS0tLS0tLS0tLS0tLS0tCgogICBwcm9jZWR1cmUgU2V0X0dyYWRpZW50CiAg
ICAgKERhdGEgICAgIDogYWNjZXNzIEd0a19QbG90X0RhdGFfUmVjb3JkOwogICAgICBNaW4sIE1h
eCA6IEdkb3VibGU7CiAgICAgIE5sZXZlbHMgIDogR2ludCkKICAgaXMKICAgICAgcHJvY2VkdXJl
IEludGVybmFsIChEYXRhIDogU3lzdGVtLkFkZHJlc3M7IE1pbiwgTWF4IDogR2RvdWJsZTsgTiA6
IEdpbnQpOwogICAgICBwcmFnbWEgSW1wb3J0IChDLCBJbnRlcm5hbCwgImd0a19wbG90X2RhdGFf
c2V0X2dyYWRpZW50Iik7CiAgIGJlZ2luCiAgICAgIEludGVybmFsIChHZXRfT2JqZWN0IChEYXRh
KSwgTWluLCBNYXgsIE5sZXZlbHMpOwogICBlbmQgU2V0X0dyYWRpZW50OwoKICAgLS0tLS0tLS0t
LS0tLS0tLS0tCiAgIC0tIEdldF9HcmFkaWVudCAtLQogICAtLS0tLS0tLS0tLS0tLS0tLS0KCiAg
IHByb2NlZHVyZSBHZXRfR3JhZGllbnQKICAgICAoRGF0YSAgICAgOiBhY2Nlc3MgR3RrX1Bsb3Rf
RGF0YV9SZWNvcmQ7CiAgICAgIE1pbiwgTWF4IDogb3V0IEdkb3VibGU7CiAgICAgIE5sZXZlbHMg
IDogb3V0IEdpbnQpCiAgIGlzCiAgICAgIHByb2NlZHVyZSBJbnRlcm5hbCAoRGF0YSA6IFN5c3Rl
bS5BZGRyZXNzOwogICAgICAgICAgICAgICAgICAgICAgICAgIE1pbiwgTWF4IDogb3V0IEdkb3Vi
bGU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgTiA6IG91dCBHaW50KTsKICAgICAgcHJhZ21h
IEltcG9ydCAoQywgSW50ZXJuYWwsICJndGtfcGxvdF9kYXRhX2dldF9ncmFkaWVudCIpOwogICBi
ZWdpbgogICAgICBJbnRlcm5hbCAoR2V0X09iamVjdCAoRGF0YSksIE1pbiwgTWF4LCBObGV2ZWxz
KTsKICAgZW5kIEdldF9HcmFkaWVudDsKCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAt
LSBHZXRfR3JhZGllbnRfTGV2ZWwgLS0KICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgogICBw
cm9jZWR1cmUgR2V0X0dyYWRpZW50X0xldmVsCiAgICAgKERhdGEgIDogYWNjZXNzIEd0a19QbG90
X0RhdGFfUmVjb3JkOwogICAgICBMZXZlbCA6IEdkb3VibGU7CiAgICAgIENvbG9yIDogb3V0IEdk
ay5Db2xvci5HZGtfQ29sb3IpCiAgIGlzCiAgICAgIHByb2NlZHVyZSBJbnRlcm5hbCAoRGF0YSA6
IFN5c3RlbS5BZGRyZXNzOwogICAgICAgICAgICAgICAgICAgICAgICAgIExldmVsIDogR2RvdWJs
ZTsKICAgICAgICAgICAgICAgICAgICAgICAgICBDb2xvciA6IFN5c3RlbS5BZGRyZXNzKTsKICAg
ICAgcHJhZ21hIEltcG9ydCAoQywgSW50ZXJuYWwsICJndGtfcGxvdF9kYXRhX2dldF9ncmFkaWVu
dF9sZXZlbCIpOwogICAgICBDIDogYWxpYXNlZCBHZGtfQ29sb3I7CiAgIGJlZ2luCiAgICAgIElu
dGVybmFsIChHZXRfT2JqZWN0IChEYXRhKSwgTGV2ZWwsIEMnQWRkcmVzcyk7CiAgICAgIENvbG9y
IDo9IEM7CiAgIGVuZCBHZXRfR3JhZGllbnRfTGV2ZWw7CgogICAtLS0tLS0tLS0tLS0tLQogICAt
LSBTZXRfTGluayAtLQogICAtLS0tLS0tLS0tLS0tLQoKICAgcHJvY2VkdXJlIFNldF9MaW5rCiAg
ICAgKERhdGEgOiBhY2Nlc3MgR3RrX1Bsb3RfRGF0YV9SZWNvcmQ7CiAgICAgIExpbmsgOiBTeXN0
ZW0uQWRkcmVzcykKICAgaXMKICAgICAgcHJvY2VkdXJlIEludGVybmFsIChEYXRhLCBMaW5rIDog
U3lzdGVtLkFkZHJlc3MpOwogICAgICBwcmFnbWEgSW1wb3J0IChDLCBJbnRlcm5hbCwgImd0a19w
bG90X2RhdGFfc2V0X2xpbmsiKTsKICAgYmVnaW4KICAgICAgSW50ZXJuYWwgKEdldF9PYmplY3Qg
KERhdGEpLCBMaW5rKTsKICAgZW5kIFNldF9MaW5rOwoKICAgLS0tLS0tLS0tLS0tLS0KICAgLS0g
R2V0X0xpbmsgLS0KICAgLS0tLS0tLS0tLS0tLS0KCiAgIGZ1bmN0aW9uIEdldF9MaW5rIChEYXRh
IDogYWNjZXNzIEd0a19QbG90X0RhdGFfUmVjb3JkKQogICAgICByZXR1cm4gU3lzdGVtLkFkZHJl
c3MKICAgaXMKICAgICAgZnVuY3Rpb24gSW50ZXJuYWwgKERhdGEgOiBTeXN0ZW0uQWRkcmVzcykg
cmV0dXJuIFN5c3RlbS5BZGRyZXNzOwogICAgICBwcmFnbWEgSW1wb3J0IChDLCBJbnRlcm5hbCwg
Imd0a19wbG90X2RhdGFfZ2V0X2xpbmsiKTsKICAgYmVnaW4KICAgICAgcmV0dXJuIEludGVybmFs
IChHZXRfT2JqZWN0IChEYXRhKSk7CiAgIGVuZCBHZXRfTGluazsKCiAgIC0tLS0tLS0tLS0tLS0t
LS0tCiAgIC0tIFJlbW92ZV9MaW5rIC0tCiAgIC0tLS0tLS0tLS0tLS0tLS0tCgogICBwcm9jZWR1
cmUgUmVtb3ZlX0xpbmsgKERhdGEgOiBhY2Nlc3MgR3RrX1Bsb3RfRGF0YV9SZWNvcmQpIGlzCiAg
ICAgIHByb2NlZHVyZSBJbnRlcm5hbCAoRGF0YSA6IFN5c3RlbS5BZGRyZXNzKTsKICAgICAgcHJh
Z21hIEltcG9ydCAoQywgSW50ZXJuYWwsICJndGtfcGxvdF9kYXRhX3JlbW92ZV9saW5rIik7CiAg
IGJlZ2luCiAgICAgIEludGVybmFsIChHZXRfT2JqZWN0IChEYXRhKSk7CiAgIGVuZCBSZW1vdmVf
TGluazsKZW5kIEd0ay5FeHRyYS5QbG90X0RhdGE7CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGduYXRidWcv
Z3RrLWV4dHJhLXBsb3RfZGF0YS5hZHMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMTAwNjQ0ADAwMDE3NTEAMDAwMDAw
MAAwMDAwMDA1NTcxMAAwNzU1MTEwNzYzMgAwMTU3MTcAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABzcGF6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAHdoZWVsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KLS0gICAgICAgICAgR3RrQWRhIC0gQWRhOTUgYmluZGluZyBmb3IgdGhlIEdpbXAgVG9v
bGtpdCAgICAgICAgICAgICAgLS0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gICAgICAgICAgICAgICAgICAg
ICBDb3B5cmlnaHQgKEMpIDIwMDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gICAg
ICAgIEVtbWFudWVsIEJyaW90LCBKb2VsIEJyb2JlY2tlciBhbmQgQXJuYXVkIENoYXJsZXQgICAg
ICAgICAgLS0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLS0KLS0gVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciAgICAgLS0KLS0gbW9kaWZ5IGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljICAgICAgICAgICAgICAgLS0KLS0g
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyICAgICAgLS0KLS0gdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLiAgLS0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gVGhpcyBsaWJyYXJ5
IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsICAgLS0K
LS0gYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy
cmFudHkgb2YgICAgLS0KLS0gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgLS0KLS0gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm
b3IgbW9yZSBkZXRhaWxzLiAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
LS0KLS0gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwg
UHVibGljICAgICAgICAgLS0KLS0gTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYg
bm90LCB3cml0ZSB0byB0aGUgICAgICAgICAgICAgLS0KLS0gRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsICAgICAgLS0KLS0gQm9zdG9u
LCBNQSAwMjExMS0xMzA3LCBVU0EuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLS0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLS0KLS0gQXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiwgaWYgb3RoZXIg
ZmlsZXMgaW5zdGFudGlhdGUgZ2VuZXJpY3MgZnJvbSAgLS0KLS0gdGhpcyB1bml0LCBvciB5b3Ug
bGluayB0aGlzIHVuaXQgd2l0aCBvdGhlciBmaWxlcyB0byBwcm9kdWNlIGFuICAgLS0KLS0gZXhl
Y3V0YWJsZSwgdGhpcyAgdW5pdCAgZG9lcyBub3QgIGJ5IGl0c2VsZiBjYXVzZSAgdGhlIHJlc3Vs
dGluZyAgLS0KLS0gZXhlY3V0YWJsZSB0byBiZSBjb3ZlcmVkIGJ5IHRoZSBHTlUgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZS4gVGhpcyAgLS0KLS0gZXhjZXB0aW9uIGRvZXMgbm90IGhvd2V2ZXIgaW52
YWxpZGF0ZSBhbnkgb3RoZXIgcmVhc29ucyB3aHkgdGhlICAgLS0KLS0gZXhlY3V0YWJsZSBmaWxl
ICBtaWdodCBiZSBjb3ZlcmVkIGJ5IHRoZSAgR05VIFB1YmxpYyBMaWNlbnNlLiAgICAgLS0KLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KCi0tICA8ZGVzY3JpcHRpb24+Ci0tICBUaGlzIHBhY2thZ2UgZGVmaW5lcyB0
aGUgcm9vdCBvZiB0aGUgcGxvdCBoaWVyYXJjaHkuIEl0IGRlZmluZXMgc2V2ZXJhbAotLSAgZGlz
cGxheSBzdHJhdGVnaWVzIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2hvdyBzY2llbnRpZmljIGRhdGEg
b24gdGhlCi0tICBzY3JlZW4gKHNlZSB0aGUgY2hpbGRyZW4gZm9yIDNELCBwb2xhciwgYmFycywu
Li4pCi0tCi0tICBBbGwgY29vcmRpbmF0ZXMgYXJlIGluIHBlcmNlbnQgb2YgdGhlIHRvdGFsIHNp
emUgYWxsb2NhdGVzIGZvciB0aGUgZGF0YQotLSAgc2V0IChpZSB0aGUgYWN0dWFsIHBvc2l0aW9u
IGlzICh4ICogd2lkdGgsIHkgKiBoZWlnaHQpLCB3aGVyZSAoeCwgeSkgaXMKLS0gIHRoZSB2YWx1
ZSBzdG9yZWQgaW4gdGhlIGRhdGEgc2V0IGFuZCAod2lkdGgsIGhlaWdodCkgaXRzIGFsbG9jYXRl
ZCBzY3JlZW4KLS0gIHNpemUuCi0tICA8L2Rlc2NyaXB0aW9uPgotLSAgPGNfdmVyc2lvbj5ndGsr
ZXh0cmEgMC45OS4xNDxjX3ZlcnNpb24+Cgp3aXRoIEdsaWI7IHVzZSBHbGliOwp3aXRoIEd0ay5X
aWRnZXQ7CndpdGggR3RrYWRhLlR5cGVzOwp3aXRoIEdkay5Db2xvcjsKd2l0aCBVbmNoZWNrZWRf
Q29udmVyc2lvbjsKCnBhY2thZ2UgR3RrLkV4dHJhLlBsb3RfRGF0YSBpcwoKICAgdHlwZSBHdGtf
UGxvdF9EYXRhX1JlY29yZCBpcyBuZXcgR3RrLldpZGdldC5HdGtfV2lkZ2V0X1JlY29yZCB3aXRo
IHByaXZhdGU7CiAgIHR5cGUgR3RrX1Bsb3RfRGF0YSBpcyBhY2Nlc3MgYWxsIEd0a19QbG90X0Rh
dGFfUmVjb3JkJ0NsYXNzOwogICAtLSAgQSBzZXQgb2YgdmFsdWVzIHRoYXQgY2FuIGJlIHJlcHJl
c2VudGVkIG9uIHRoZSBzY3JlZW4uIFRoZXJlIGFyZQogICAtLSAgc2V2ZXJhbCBzdHJhdGVnaWVz
IHRvIHNldCB0aGUgdmFsdWVzLCBlaXRoZXIgZXhwbGljaXRlbHkgaW4geW91cgogICAtLSAgYXBw
bGljYXRpb24sIG9yIGJ5IGhhdmluZyB0aGVtIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IGEg
ZnVuY3Rpb24uCgogICAtLS0tLS0tLS0tLQogICAtLSBUeXBlcyAtLQogICAtLS0tLS0tLS0tLQoK
ICAgdHlwZSBOb19SYW5nZV9HZG91YmxlX0FycmF5IGlzIGFycmF5IChOYXR1cmFsKSBvZiBHZG91
YmxlOwogICAtLSAgQW4gYXJyYXkgb2YgdmFsdWVzLgogICAtLSAgVGhpcyBpcyB1c2VkIHRvIHJl
cHJlc2VudCB0aGUgZGF0YSB2YWx1ZXMgZGlzcGxheWVkIGluIHRoZSBwbG90LgogICAtLSAgVGhp
cyBhcnJheSBkb2VzIG5vdCBoYXZlIGFueSByYW5nZSBpbmZvcm1hdGlvbiAoc28gdGhhdCBpdCBj
YW4gYmUKICAgLS0gIGVhc2lseSByZXR1cm5lZCBmcm9tIGEgQyBmdW5jdGlvbiwgd2l0aG91dCBy
ZXF1aXJpbmcgYW4gZXh0cmEKICAgLS0gIGNvcHkgb2YgdGhlIHRhYmxlKS4gWW91IGNhbiBub3Qg
dXNlICdSYW5nZSBvbiB0aGlzIGFycmF5LgoKICAgdHlwZSBOb19SYW5nZV9HZG91YmxlX0FycmF5
X0FjY2VzcyBpcyBhY2Nlc3MgYWxsIE5vX1JhbmdlX0dkb3VibGVfQXJyYXk7CiAgIC0tICBBbiBh
Y2Nlc3MgdG8gYSBmbGF0IGFycmF5LgoKICAgdHlwZSBHZG91YmxlX0FycmF5X0FjY2VzcyBpcyBh
Y2Nlc3MgYWxsIEdsaWIuR2RvdWJsZV9BcnJheTsKICAgLS0gIFRoZSByZWFzb24gd2UgdXNlIHRo
aXMgdHlwZSBpbiB0aGUgZnVuY3Rpb25zIGJlbG93IGlzIGJlY2F1c2UKICAgLS0gIGd0aystZXh0
cmEgZG9lcyBub3Qga2VlcCBhIGNvcHkgb2YgdGhlIGFycmF5cywgYnV0IHBvaW50cyB0byB0aGUg
b25lCiAgIC0tICBnaXZlbiBpbiBhcmd1bWVudC4gVGh1cywgdGhlIEFkYSBhcnJheXMgc2hvdWxk
IG5vdCBiZSBhbGxvY2F0ZWQgb24gdGhlCiAgIC0tICBzdGFjaywgb3IgYXQgbGVhc3QgdGhleSBz
aG91bGQgYmUgYXQgbGlicmFyeSBsZXZlbC4gVXNpbmcgdGhpcyAnQWNjZXNzCiAgIC0tICB3aWxs
IGZvcmNlIHRoZSBjb21waWxlciB0byBkbyB0aGUgY2hlY2sgZm9yIHVzLgoKICAgdHlwZSBQb2lu
dHNfQXJyYXkgaXMgcmVjb3JkCiAgICAgIFBvaW50cyAgICAgOiBOb19SYW5nZV9HZG91YmxlX0Fy
cmF5X0FjY2VzczsKICAgICAgTnVtX1BvaW50cyA6IEdpbnQgOj0gMDsKICAgZW5kIHJlY29yZDsK
ICAgLS0gIFRoZSBwb2ludHMgYXJlIGluZGV4ZWQgZnJvbSAwIHRvIE51bV9Qb2ludHMtMS4KICAg
LS0gIE5vdGUgdGhhdCB5b3UgY2FuJ3QgdXNlICdSYW5nZSwgJ0ZpcnN0IG9yICdMYXN0IG9uIFBv
aW50cy4KCgogICB0eXBlIFBsb3RfQ29ubmVjdG9yIGlzIChDb25uZWN0X05vbmUsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC0tICBObyBjb25uZWN0aW9uCgogICAgICAgICAgICAgICAgICAg
ICAgICAgICBDb25uZWN0X1N0cmFpZ2h0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAtLSAg
c3RyYWlnaHQgbGluZQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29ubmVjdF9TcGxpbmUs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tICBzcGxpbmUgb3IgQmV6aWVyIGN1cnZlCgog
ICAgICAgICAgICAgICAgICAgICAgICAgICBDb25uZWN0X0h2X1N0ZXAsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC0tICBIb3Jpem9udGFsIHRoZW4gdmVydGljYWwKCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgIENvbm5lY3RfVmhfU3RlcCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
LS0gIFZlcnRpY2FsIHRoZW4gaG9yaXpvbnRhbAoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
Q29ubmVjdF9NaWRkbGVfU3RlcAogICAgICAgICAgICAgICAgICAgICAgICAgICAtLSAgU3BsaXQg
aW4gdGhlIG1pZGRsZQogICAgICAgICAgICAgICAgICAgICAgICAgICApOwogICAtLSAgVGhlIHR5
cGUgb2YgY29ubmVjdGlvbiBiZXR3ZWVuIHR3byBhZGphY2VudCBwb2ludHMgaW4gYSBncmFwaC4K
CiAgIHR5cGUgUGxvdF9HcmFkaWVudCBpcyBuZXcgSW50ZWdlcjsKICAgLS0gIEluZGljYXRlIHdo
aWNoIGNvbG9yIGNvbXBvbmVudHMgdmFyeSBhbG9uZyB0aGUgZ3JhZGllbnQKCiAgIEdyYWRpZW50
X0ggOiBjb25zdGFudCBQbG90X0dyYWRpZW50OyAtLSAgSHVlCiAgIEdyYWRpZW50X1YgOiBjb25z
dGFudCBQbG90X0dyYWRpZW50OyAtLSAgVmFsdWUKICAgR3JhZGllbnRfUyA6IGNvbnN0YW50IFBs
b3RfR3JhZGllbnQ7IC0tICBTYXR1cmF0aW9uCgogICB0eXBlIFBsb3RfU3ltYm9sX1R5cGUgaXMg
KFN5bWJvbF9Ob25lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN5bWJvbF9TcXVhcmUs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3ltYm9sX0NpcmNsZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBTeW1ib2xfVXBfVHJpYW5nbGUsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgU3ltYm9sX0Rvd25fVHJpYW5nbGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgU3ltYm9sX1JpZ2h0X1RyaWFuZ2xlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN5
bWJvbF9MZWZ0X1RyaWFuZ2xlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN5bWJvbF9E
aWFtb25kLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN5bWJvbF9QbHVzLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFN5bWJvbF9Dcm9zcywKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBTeW1ib2xfU3RhciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTeW1ib2xf
RG90LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN5bWJvbF9JbXB1bHNlKTsKICAgLS0g
IFR5cGUgb2Ygc3ltYm9sIHVzZWQgdG8gcmVwcmVzZW50IHRoZSBwb2ludHMgaW4gYSBncmFwaC4K
CiAgIHR5cGUgUGxvdF9TeW1ib2xfU3R5bGUgaXMgKFN5bWJvbF9FbXB0eSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgU3ltYm9sX0ZpbGxlZCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgU3ltYm9sX09wYXF1ZSk7CiAgIC0tICBTdHlsZSB1c2VkIHRvIGRyYXcgdGhlIHBvaW50
cyBpbiBhIGdyYXBoLgoKICAgdHlwZSBQbG90X0xpbmVfU3R5bGUgaXMgKExpbmVfTm9uZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIExpbmVfU29saWQsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBMaW5lX0RvdHRlZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpbmVfRGFz
aGVkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgTGluZV9Eb3RfRGFzaCwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIExpbmVfRG90X0RvdF9EYXNoLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgTGluZV9Eb3RfRGFzaF9EYXNoKTsKICAgLS0gIExpbmVzIHVzZWQgdG8gY29ubmVj
dCB0d28gYWRqYWNlbnQgcG9pbnRzIGluIGEgZ3JhcGguCgogICAtLS0tLS0tLS0tLS0tLS0tLS0t
LQogICAtLSBQbG90IGZ1bmN0aW9ucyAtLQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLQogICAtLSAg
UGxvdCBmdW5jdGlvbnMgc2hvdWxkIGdlbmVyYXRlIGEgdW5pcXVlIFkgdmFsdWUgZ2l2ZW4gYSBw
YXJhbWV0ZXIuCiAgIC0tICBUaGVzZSBjYW4gYmUgdXNlZCBmb3IgaW5zdGFuY2UgdG8gcmVwcmVz
ZW50IGV4YWN0bHkgbWF0aGVtYXRpY2FsCiAgIC0tICBmdW5jdGlvbnMuCiAgIC0tICBOb3RlIHRo
YXQgZHVlIHRvIHRoZSBDIGludGVyZmFjZSwgdGhlIHN1YnByb2dyYW1zIGluIEd0ay5FeHRyYS5Q
bG90IGFuZAogICAtLSAgaW4gdGhpcyBwYWNrYWdlIGV4cGVjdCBmdW5jdGlvbnMgdGhhdCB0YWtl
IGEgU3lzdGVtLkFkZHJlc3MgYXMgYQogICAtLSAgcGFyYW1ldGVyLiBIb3dldmVyLCBzaW5jZSBp
dCBpcyBtdWNoIG1vcmUgY29udmVuaWVudCBpbiB5b3VyIGFwcGxpY2F0aW9uCiAgIC0tICB0byBn
ZXQgYSBHdGtfUGxvdF9SZWNvcmQgZGlyZWN0bHksIEd0a0FkYSBpbmNsdWRlcyBhIGdlbmVyaWMg
ZnVuY3Rpb24KICAgLS0gIHRoYXQgYXV0b21hdGljYWxseSBkb2VzIHRoZSBjb252ZXJzaW9uIGZv
ciB5b3UgKHNlZQogICAtLSAgR3RrLlBsb3QuR2VuZXJpY19QbG90X0Z1bmN0aW9uKS4KCiAgIHR5
cGUgUGxvdF9GdW5jdGlvbiBpcyBhY2Nlc3MgZnVuY3Rpb24KICAgICAoUGxvdCAgOiBTeXN0ZW0u
QWRkcmVzczsKICAgICAgU2V0ICAgOiBHdGtfUGxvdF9EYXRhOwogICAgICBYICAgICA6IEdkb3Vi
bGU7CiAgICAgIEVycm9yIDogYWNjZXNzIEdib29sZWFuKQogICAgIHJldHVybiBHZG91YmxlOwog
ICAtLSAgRnVuY3Rpb24gdXNlZCBmb3IgcGxvdHRpbmcuCiAgIC0tICBJdCBzaG91bGQgcmV0dXJu
IHRoZSB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggWCBpbiBpdHMgZ3JhcGgsIGFuZCBzZXQKICAgLS0g
IEVycm9yIHRvIFRydWUgaWYgdGhlcmUgd2FzIGFuIGVycm9yIHdoaWxlIGNhbGN1bGF0aW5nIHRo
ZSB2YWx1ZS4KCiAgIHByYWdtYSBDb252ZW50aW9uIChDLCBQbG90X0Z1bmN0aW9uKTsKCiAgIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgLS0gQ3JlYXRpbmcgYSBEYXRhIHNldCAtLQogICAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgogICBwcm9jZWR1cmUgR3RrX05ldyAoRGF0YSA6IG91
dCBHdGtfUGxvdF9EYXRhOyBGdW5jIDogUGxvdF9GdW5jdGlvbiA6PSBudWxsKTsKICAgLS0gIENy
ZWF0ZXMgYSBuZXcgZGF0YSBzZXQuIEl0cyB2YWx1ZXMgY2FuIGVpdGhlciBiZSBnZW5lcmF0ZWQg
YXV0b21hdGljYWxseQogICAtLSAgZnJvbSBGdW5jLCBvciB3aWxsIGhhdmUgdG8gYmUgc2V0IGV4
cGxpY2l0ZWx5IHVzaW5nIHRoZSBvdGhlcgogICAtLSAgc3VicHJvZ3JhbXMgaW4gdGhpcyBwYWNr
YWdlLgoKICAgcHJvY2VkdXJlIEluaXRpYWxpemUKICAgICAoRGF0YSA6IGFjY2VzcyBHdGtfUGxv
dF9EYXRhX1JlY29yZCdDbGFzczsgRnVuYyA6IFBsb3RfRnVuY3Rpb24gOj0gbnVsbCk7CiAgIC0t
ICBJbnRlcm5hbCBpbml0aWFsaXphdGlvbiBmdW5jdGlvbi4KICAgLS0gIFNlZSB0aGUgc2VjdGlv
biAiQ3JlYXRpbmcgeW91ciBvd24gd2lkZ2V0cyIgaW4gdGhlIGRvY3VtZW50YXRpb24uCgogICBm
dW5jdGlvbiBHZXRfVHlwZSByZXR1cm4gR3RrLkd0a19UeXBlOwogICAtLSAgUmV0dXJuIHRoZSBp
bnRlcm5hbCB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggYSBHdGtfUGxvdF9EYXRhLgoKICAgcHJvY2Vk
dXJlIFNldF9OYW1lIChEYXRhIDogYWNjZXNzIEd0a19QbG90X0RhdGFfUmVjb3JkOyBOYW1lIDog
U3RyaW5nKTsKICAgLS0gIFNldCB0aGUgbmFtZSB1c2VkIGludGVybmFsbHkgZm9yIHRoYXQgZGF0
YXNldC4KICAgLS0gIFRoaXMgbmFtZSBkb2VzIG5vdCBhcHBlYXIgYW55d2hlcmUgb24gdGhlIHNj
cmVlbiwgYnV0IGl0IGlzIGVhc2llciB0bwogICAtLSAgZmluZCB0aGUgZGF0YXNldCBhZnRlcndh
cmQgYnkgdXNpbmcgdGhpcyBuYW1lLgoKICAgLS0tLS0tLS0tLS0tLS0tLS0tLQogICAtLSBEcmF3
aW5nIGEgc2V0IC0tCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0KICAgLS0gIEFsdGhvdWdoIGEgc2V0
IGlzIGJhc2ljYWxseSBhIGxpc3Qgb2YgdmFsdWVzLCBpdCBpcyBjbG9zZWx5IGFzc29jaWF0ZWQK
ICAgLS0gIHdpdGggaXRzIHJlcHJlc2VudGF0aW9uIG9uIHRoZSBzY3JlZW4gKHNlZSB0aGUgY2hp
bGRyZW4gb2YgR3RrX1Bsb3RfRGF0YQogICAtLSAgZm9yIHZhcmlvdXMgcG9zc2libGUgcmVwcmVz
ZW50YXRpb25zKS4KICAgLS0gIFRoZSBHdGsuRXh0cmEgcGFja2FnZXMgYXJlIGRlc2lnbmVkIHNv
IHRoYXQgdGhlIGRyYXdpbmcgY2FuIGJlIGRvbmUKICAgLS0gIGVpdGhlciB0byB0aGUgc2NyZWVu
ICh0aHJvdWdoIGEgR2RrIGFkYXB0ZXIpLCB0byBhIHBvc3RzY3JpcHQgZmlsZSBmb3IKICAgLS0g
IGVhc3kgcHJpbnRpbmcsIG9yIHRvIGFueSBvdGhlciBtZWRpYS4KCiAgIHByb2NlZHVyZSBQYWlu
dCAoRGF0YSA6IGFjY2VzcyBHdGtfUGxvdF9EYXRhX1JlY29yZCk7CiAgIC0tICBFbWl0cyB0aGUg
ImRyYXdfZGF0YSIgc2lnbmFsIHRvIHJlcXVlc3QgYSByZWRyYXdpbmcgb2YgdGhlIGRhdGEgc2V0
LgoKICAgcHJvY2VkdXJlIERyYXdfUG9pbnRzIChEYXRhIDogYWNjZXNzIEd0a19QbG90X0RhdGFf
UmVjb3JkOyBOIDogR2ludCk7CiAgIC0tICBEcmF3IGF0IG1vc3QgTiB2YWx1ZXMgb2YgdGhlIERh
dGEgc2V0IG9uIHRoZSBzY3JlZW4uIElmIE4gaXMgZ3JlYXRlcgogICAtLSAgdGhhbiB0aGUgYWN0
dWFsIG51bWJlciBvZiB2YWx1ZXMgaW4gRGF0YSwgdGhlbiB0aGV5IGFyZSBhbGwgZGlzcGxheWVk
LgoKICAgcHJvY2VkdXJlIERyYXdfU3ltYm9sIChEYXRhIDogYWNjZXNzIEd0a19QbG90X0RhdGFf
UmVjb3JkOyBYLCBZIDogR2RvdWJsZSk7CiAgIC0tICBEcmF3IHRoZSBjdXJyZW50IHN5bWJvbCAo
c2VlIFNldF9TeW1ib2wpIGF0IHNwZWNpZmljIGNvb3JkaW5hdGVzIG9uCiAgIC0tICB0aGUgc2Ny
ZWVuLgoKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAtLSBNYW5pcHVsYXRpbmcgdmFs
dWVzIC0tCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiAgIHByb2NlZHVyZSBTZXRfUG9p
bnRzCiAgICAgKERhdGEgOiBhY2Nlc3MgR3RrX1Bsb3RfRGF0YV9SZWNvcmQ7CiAgICAgIFggICAg
OiBHZG91YmxlX0FycmF5X0FjY2VzczsKICAgICAgWSAgICA6IEdkb3VibGVfQXJyYXlfQWNjZXNz
OwogICAgICBEeCAgIDogR2RvdWJsZV9BcnJheV9BY2Nlc3M7CiAgICAgIER5ICAgOiBHZG91Ymxl
X0FycmF5X0FjY2Vzcyk7CiAgIC0tICBTZXQgc29tZSBleHBsaWNpdCBwb2ludHMgaW4gdGhlIHNl
dC4KICAgLS0gIE5vdGUgdGhhdCB0aGUgc2V0IG11c3Qgbm90IGJlIGFzc29jaWF0ZWQgd2l0aCBh
IGZ1bmN0aW9uLCBvciB0aGUgcG9pbnRzCiAgIC0tICB3aWxsIHNpbXBseSBiZSBpZ25vcmVkLgog
ICAtLSAgQWxsIG9mIHRoZSBhcnJheXMgbXVzdCBoYXZlIHRoZSBzYW1lIGxlbmd0aCwgdGhlIGJl
aGF2aW9yIGlzIHVuZGVmaW5lZAogICAtLSAgb3RoZXJ3aXNlLgogICAtLSAgWCBhbmQgWSBhcmUg
dGhlIGxpc3Qgb2YgY29vcmRpbmF0ZXMgb2YgdGhlIHBvaW50cy4KICAgLS0gIER4IGFuZCBEeSBh
cmUgdGhlIGxpc3Qgb2Ygc2l6ZSAocHJlY2lzaW9uKSBvZiB0aGVzZSBwb2ludHMuIEEgYmlnZ2Vy
CiAgIC0tICBzeW1ib2wgd2lsbCBiZSBkaXNwbGF5ZWQgZm9yIHRoZSBwb2ludCB3aG9zZSAoRHgs
IER5KSB2YWx1ZSBpcyBiaWdnZXIuCgogICBwcm9jZWR1cmUgR2V0X1BvaW50cwogICAgIChEYXRh
IDogYWNjZXNzIEd0a19QbG90X0RhdGFfUmVjb3JkOwogICAgICBYICAgIDogb3V0IFBvaW50c19B
cnJheTsKICAgICAgWSAgICA6IG91dCBQb2ludHNfQXJyYXk7CiAgICAgIER4ICAgOiBvdXQgUG9p
bnRzX0FycmF5OwogICAgICBEeSAgIDogb3V0IFBvaW50c19BcnJheSk7CiAgIC0tICBSZXR1cm4g
dGhlIHZhbHVlIG9mIHRoZSBwb2ludHMgaW4gdGhlIHNldC4KICAgLS0gIE51bGwtbGVuZ3RoIGFy
cmF5cyBhcmUgcmV0dXJuZWQgaWYgdGhlIHNldCBpcyBhc3NvY2lhdGVkIHdpdGggYQogICAtLSAg
ZnVuY3Rpb24sIHNpbmNlIG5vIGV4cGxpY2l0IHBvaW50IGhhcyBiZWVuIHNldC4KICAgLS0gIFNl
ZSBTZXRfUG9pbnRzIGZvciBhIGRlZmluaXRpb24gb2YgWCwgWSwgRHggYW5kIER5LgoKICAgcHJv
Y2VkdXJlIFNldF9YCiAgICAgKERhdGEgOiBhY2Nlc3MgR3RrX1Bsb3RfRGF0YV9SZWNvcmQ7IFgg
OiBHZG91YmxlX0FycmF5X0FjY2Vzcyk7CiAgIHByb2NlZHVyZSBTZXRfWQogICAgIChEYXRhIDog
YWNjZXNzIEd0a19QbG90X0RhdGFfUmVjb3JkOyBZIDogR2RvdWJsZV9BcnJheV9BY2Nlc3MpOwog
ICBwcm9jZWR1cmUgU2V0X1oKICAgICAoRGF0YSA6IGFjY2VzcyBHdGtfUGxvdF9EYXRhX1JlY29y
ZDsgWiA6IEdkb3VibGVfQXJyYXlfQWNjZXNzKTsKICAgcHJvY2VkdXJlIFNldF9BCiAgICAgKERh
dGEgOiBhY2Nlc3MgR3RrX1Bsb3RfRGF0YV9SZWNvcmQ7IEEgOiBHZG91YmxlX0FycmF5X0FjY2Vz
cyk7CiAgIC0tICBTZXQgdGhlIHZhbHVlcyBmb3Igb25lIHNwZWNpZmljIGNvb3JkaW5hdGUgaW4g
dGhlIHNldC4KICAgLS0gIFRoZSBhcnJheSBtdXN0IGhhdmUgYSBsZW5ndGggb2YgR2V0X051bXBv
aW50cyAoaWYgR3RrQWRhIHdhcwogICAtLSAgY29tcGlsZWQgd2l0aCBhc3NlcnRpb25zIGVuYWJs
ZWQsIGFuIGV4Y2VwdGlvbiB3aWxsIGJlIHJhaXNlZCBpZiB0aGUKICAgLS0gIGxlbmd0aCBhcmUg
ZGlmZmVyZW50KS4KICAgLS0gIE5vIGNvcHkgb2YgdGhlIGFycmF5IGlzIG1hZGUgZm9yIGVmZmlj
aWVuY3kgcmVhc29ucywgdGh1cyBtb2RpZnlpbmcKICAgLS0gIHRoZSBhcnJheSBjb250ZW50IGxh
dGVyIG9uIHdpbGwgYWxzbyBtb2RpZnkgdGhlIHBsb3QuCiAgIC0tCiAgIC0tICAiQSIgaXMgdXNl
ZCB0byBzcGVjaWZ5IHRoZSBzaXplIG9mIHRoZSBzeW1ib2xzLiBXaGVuIHBsb3R0aW5nIGJveGVz
IGluCiAgIC0tICB0d28gZGltZW5zaW9ucywgIloiIGlzIHVzZWQgdG8gc3BlY2lmeSB0aGUgc2l6
ZSBvZiB0aGUgYm94LgoKICAgcHJvY2VkdXJlIFNldF9EeAogICAgIChEYXRhIDogYWNjZXNzIEd0
a19QbG90X0RhdGFfUmVjb3JkOyBEeCA6IEdkb3VibGVfQXJyYXlfQWNjZXNzKTsKICAgcHJvY2Vk
dXJlIFNldF9EeQogICAgIChEYXRhIDogYWNjZXNzIEd0a19QbG90X0RhdGFfUmVjb3JkOyBEeSA6
IEdkb3VibGVfQXJyYXlfQWNjZXNzKTsKICAgcHJvY2VkdXJlIFNldF9EegogICAgIChEYXRhIDog
YWNjZXNzIEd0a19QbG90X0RhdGFfUmVjb3JkOyBEeiA6IEdkb3VibGVfQXJyYXlfQWNjZXNzKTsK
ICAgLS0gIFNldCB0aGUgcHJlY2lzaW9uIG9mIHRoZSBwb2ludHMgaW4gdGhlIHNldC4gQSBiaWdn
ZXIgc3ltYm9sIGlzIGRpc3BsYXllZAogICAtLSAgZm9yIHRoZSBwb2ludHMgd2hvc2UgKER4LCBE
eSwgRHopIGlzIGJpZ2dlci4KICAgLS0gIFRoZSBhcnJheSBtdXN0IGhhdmUgYSBsZW5ndGggb2Yg
R2V0X051bXBvaW50cyAoaWYgR3RrQWRhIHdhcwogICAtLSAgY29tcGlsZWQgd2l0aCBhc3NlcnRp
b25zIGVuYWJsZWQsIGFuIGV4Y2VwdGlvbiB3aWxsIGJlIHJhaXNlZCBpZiB0aGUKICAgLS0gIGxl
bmd0aCBhcmUgZGlmZmVyZW50KS4KICAgLS0gIE5vIGNvcHkgb2YgdGhlIGFycmF5IGlzIG1hZGUg
Zm9yIGVmZmljaWVuY3kgcmVhc29ucywgdGh1cyBtb2RpZnlpbmcKICAgLS0gIHRoZSBhcnJheSBj
b250ZW50IGxhdGVyIG9uIHdpbGwgYWxzbyBtb2RpZnkgdGhlIHBsb3QuCgogICBwcm9jZWR1cmUg
U2V0X0RhCiAgICAgKERhdGEgOiBhY2Nlc3MgR3RrX1Bsb3RfRGF0YV9SZWNvcmQ7IERhIDogR2Rv
dWJsZV9BcnJheV9BY2Nlc3MpOwogICAtLSAgU3BlY2lmaWVzIHRoZSBjb2xvcnMgdG8gdXNlIGZv
ciB0aGUgcG9pbnRzLgogICAtLSAgVGhlIGNvbG9yIG9mIHRoZSBzeW1ib2xzIGlzIGRldGVtaW5l
ZCB1c2luZyB0aGUgZ3JhZGllbnQuIHRoZSBncmFkaWVudAogICAtLSAgaGFzIChtaW4sIG1heCkg
dmFsdWVzLCBhbmQgY29ycmVzcG9uZGluZyBjb2xvcnMuIFRoZSBzeW1ib2wncyBjb2xvciBpcwog
ICAtLSAgaW50ZXJwb2xhdGVkIGJldHdlZW4gdGhlc2UgdmFsdWVzIHVzaW5nIGh1ZS9zYXR1cmF0
aW9uL3ZhbHVlIGRlcGVuZGluZwogICAtLSAgb24gdGhlIGdyYWRpZW50X21hc2suCgogICBmdW5j
dGlvbiBHZXRfWCAgKERhdGEgOiBhY2Nlc3MgR3RrX1Bsb3RfRGF0YV9SZWNvcmQpIHJldHVybiBQ
b2ludHNfQXJyYXk7CiAgIGZ1bmN0aW9uIEdldF9ZICAoRGF0YSA6IGFjY2VzcyBHdGtfUGxvdF9E
YXRhX1JlY29yZCkgcmV0dXJuIFBvaW50c19BcnJheTsKICAgZnVuY3Rpb24gR2V0X1ogIChEYXRh
IDogYWNjZXNzIEd0a19QbG90X0RhdGFfUmVjb3JkKSByZXR1cm4gUG9pbnRzX0FycmF5OwogICBm
dW5jdGlvbiBHZXRfQSAgKERhdGEgOiBhY2Nlc3MgR3RrX1Bsb3RfRGF0YV9SZWNvcmQpIHJldHVy
biBQb2ludHNfQXJyYXk7CiAgIGZ1bmN0aW9uIEdldF9EeCAoRGF0YSA6IGFjY2VzcyBHdGtfUGxv
dF9EYXRhX1JlY29yZCkgcmV0dXJuIFBvaW50c19BcnJheTsKICAgZnVuY3Rpb24gR2V0X0R5IChE
YXRhIDogYWNjZXNzIEd0a19QbG90X0RhdGFfUmVjb3JkKSByZXR1cm4gUG9pbnRzX0FycmF5Owog
ICBmdW5jdGlvbiBHZXRfRHogKERhdGEgOiBhY2Nlc3MgR3RrX1Bsb3RfRGF0YV9SZWNvcmQpIHJl
dHVybiBQb2ludHNfQXJyYXk7CiAgIGZ1bmN0aW9uIEdldF9EYSAoRGF0YSA6IGFjY2VzcyBHdGtf
UGxvdF9EYXRhX1JlY29yZCkgcmV0dXJuIFBvaW50c19BcnJheTsKICAgLS0gIFJldHVybiB0aGUg
Y29vcmRpbmF0ZXMgZm9yIHRoZSBwb2ludHMgaW4gdGhlIHNldC4KICAgLS0gIFRoaXMgaXMgYSBk
aXJlY3QgYWNjZXNzIHRvIHRoZSB1bmRlcmx5aW5nIEMgYXJyYXksIHRodXMgbW9kaWZ5aW5nIHRo
aXMKICAgLS0gIGFycmF5J3MgY29udGVudHMgYWxzbyBtb2RpZmllcyB0aGUgZ3JhcGguCiAgIC0t
ICBTZWUgdGhlIGNvcnJlc3BvbmRpbmcgU2V0XyogZnVuY3Rpb25zIGZvciBhIGRlZmluaXRpb24g
b2YgdGhlCiAgIC0tICBjb29yZGluYXRlcwoKICAgcHJvY2VkdXJlIFNldF9OdW1wb2ludHMgKERh
dGEgOiBhY2Nlc3MgR3RrX1Bsb3RfRGF0YV9SZWNvcmQ7IE51bSA6IEdpbnQpOwogICAtLSAgU2V0
IHRoZSBudW1iZXIgb2YgcG9pbnRzIHRoYXQgc2hvdWxkIGJlIGV4cGVjdGVkIGluIHRoZSBncmFw
aC4KICAgLS0gIE5vdGUgdGhhdCB0aGlzIGRvZXMgbm90IGF1dG9tYXRpY2FsbHkgcmVzaXplIGFs
bCB0aGUgaW50ZXJuYWwgc3RydWN0dXJlLAogICAtLSAgaXQganVzdCBpbmRpY2F0ZXMgd2hhdCBz
aXplIHRoZSBwYXJhbWV0ZXJzIHRvIFNldF9YLCBTZXRfWSwuLi4gc2hvdWxkCiAgIC0tICBoYXZl
LgoKICAgZnVuY3Rpb24gR2V0X051bXBvaW50cyAoRGF0YSA6IGFjY2VzcyBHdGtfUGxvdF9EYXRh
X1JlY29yZCkgcmV0dXJuIEdpbnQ7CiAgIC0tICBSZXR1cm4gdGhlIG51bWJlciBvZiBwb2ludHMg
ZXhwZWN0ZWQgaW4gdGhlIGdyYXBoLgoKICAgLS0tLS0tLS0tLS0tCiAgIC0tIExhYmVscyAtLQog
ICAtLS0tLS0tLS0tLS0KICAgLS0gIEVhY2ggcG9pbnQgaW4gdGhlIGRhdGEgc2V0IGNhbiBiZSBh
c3NvY2lhdGVkIHdpdGggYSBsYWJlbCB0aGF0IGRlc2NyaWJlcwogICAtLSAgaXQuIFRoaXMgaXMg
b25seSByZWxldmFudCBmb3IgZGF0YSBzZXRzIHdoZXJlIHlvdSBleHBsaWNpdGVseSBnaXZlCiAg
IC0tICB2YWx1ZXMsIG5vdCB3aGVuIHRoZSB2YWx1ZXMgYXJlIGdlbmVyYXRlZCBieSBhIGZ1bmN0
aW9uLgoKICAgcHJvY2VkdXJlIFNldF9MYWJlbHMKICAgICAoRGF0YSA6IGFjY2VzcyBHdGtfUGxv
dF9EYXRhX1JlY29yZDsKICAgICAgTGFiZWxzIDogR3RrYWRhLlR5cGVzLkNoYXJzX1B0cl9BcnJh
eSk7CiAgIC0tICBTZXQgdGhlIGxhYmVscyBhc3NvY2lhdGVkIHdoaWNoIGVhY2ggcG9pbnQgaW4g
dGhlIGNhbnZhcy4KICAgLS0gIFRoZXJlIG11c3QgYmUgYXQgbGVhc3QgR2V0X051bXBvaW50cyBl
bGVtZW50cyBpbiBMYWJlbHMsIG9yIHRoZQogICAtLSAgYmVoYXZpb3IgaXMgdW5kZWZpbmVkCgog
ICBmdW5jdGlvbiBHZXRfTGFiZWxzIChEYXRhIDogYWNjZXNzIEd0a19QbG90X0RhdGFfUmVjb3Jk
KQogICAgICByZXR1cm4gR3RrYWRhLlR5cGVzLkNoYXJzX1B0cl9BcnJheTsKICAgLS0gIFJldHVy
biB0aGUgbGFiZWxzIGFzc29jaWF0ZWQgd2l0aCB0aGUgcG9pbnRzIGluIHRoZSBkYXRhIHNldC4K
ICAgLS0gIE5vdGUgdGhhdCB0aGlzIHJldHVybnMgYSAqY29weSogb2YgdGhlIGFjdHVhbCBhcnJh
eSwgYW5kIHRodXMgbWlnaHQKICAgLS0gIGJlIGV4cGVuc2l2ZSB0byBjYWxsLgoKICAgcHJvY2Vk
dXJlIFNob3dfTGFiZWxzIChEYXRhIDogYWNjZXNzIEd0a19QbG90X0RhdGFfUmVjb3JkOyBTaG93
IDogQm9vbGVhbik7CiAgIC0tICBJbmRpY2F0ZSB3aGV0aGVyIHRoZSBsYWJlbHMgc2hvdWxkIGJl
IGRpc3BsYXllZCBuZXh0IHRvIGVhY2ggcG9pbnQgaW4KICAgLS0gIHRoZSBkYXRhIHNldC4gVGhp
cyBoYXMgbm8gZWZmZWN0IGlmIG5vIGxhYmVscyB3ZXJlIHNwZWNpZmllZC4KCiAgIHByb2NlZHVy
ZSBMYWJlbHNfU2V0X0F0dHJpYnV0ZXMKICAgICAoRGF0YSA6IGFjY2VzcyBHdGtfUGxvdF9EYXRh
X1JlY29yZDsKICAgICAgRm9udCA6IFN0cmluZzsKICAgICAgSGVpZ2h0IDogR2ludDsKICAgICAg
QW5nbGUgIDogR2ludDsKICAgICAgRm9yZWdyb3VuZCA6IEdkay5Db2xvci5HZGtfQ29sb3I7CiAg
ICAgIEJhY2tncm91bmQgOiBHZGsuQ29sb3IuR2RrX0NvbG9yKTsKICAgLS0gIFNldCB0aGUgcHJv
cGVydGllcyBvZiB0aGUgbGFiZWxzCgogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAg
IC0tIFN5bWJvbHMgYW5kIENvbm5lY3RvcnMgLS0KICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQogICAtLSAgRWFjaCBwb2ludCB0aGF0IGlzIGV4cGxpY2l0ZWx5IHNldCBpbiB0aGUgZGF0
YSBzZXQgdGhyb3VnaCB0aGUKICAgLS0gIFNldF9YLCBTZXRfWSwuLi4gc3VicHJvZ3JhbXMgaXMg
dmlzdWFsbHkgYXNzb2NpYXRlZCB3aXRoIGEgc3ltYm9sLiBUaGVyZQogICAtLSAgYXJlIHNldmVy
YWwgcmVwcmVzZW50YXRpb25zIGZvciB0aGUgc3ltYm9scy4KICAgLS0KICAgLS0gIEFsbCB0aGVz
ZSBzeW1ib2xzIGFyZSB0aGVuIGNvbm5lY3RlZCBieSBhIGxpbmUsIGEgY3VydmUgb3IgYW55IG90
aGVyCiAgIC0tICBsaW5rLiBUaGVzZSBhcmUgY2FsbGVkIGNvbm5lY3RvcnMuCiAgIC0tCiAgIC0t
ICBFYWNoIHN5bWJvbCwgaW4gYWRkaXRpb24gdG8gYmVpbmcgY29ubmVjdGVkIHRvIHRoZSBuZXh0
IG9uZSB3aXRoIGEKICAgLS0gIGNvbm5lY3RvciwgY2FuIGFsc28gYmUgbGlua2VkIHRvIHRoZSBh
eGlzIFg9MCwgWT0wIG9yIFo9MCBzbyB0aGF0IGl0IGlzCiAgIC0tICBlYXNpZXIgdG8gcmVhZCBp
dHMgY29vcmRpbmF0ZXMuIFRoZXNlIGFyZSBjYWxsZWQgZXJyYmFycywgYW5kIHRoZXkgbXVzdAog
ICAtLSAgYmUgZXhwbGljaXRlbHkgc2hvd24uCgogICBwcm9jZWR1cmUgU2V0X1N5bWJvbAogICAg
IChEYXRhICAgICAgICAgOiBhY2Nlc3MgR3RrX1Bsb3RfRGF0YV9SZWNvcmQ7CiAgICAgIFRoZV9U
eXBlICAgICA6IFBsb3RfU3ltYm9sX1R5cGU7CiAgICAgIFN0eWxlICAgICAgICA6IFBsb3RfU3lt
Ym9sX1N0eWxlOwogICAgICBTaXplICAgICAgICAgOiBHaW50OwogICAgICBMaW5lX1dpZHRoICAg
OiBHZmxvYXQ7CiAgICAgIENvbG9yICAgICAgICA6IEdkay5Db2xvci5HZGtfQ29sb3I7CiAgICAg
IEJvcmRlcl9Db2xvciA6IEdkay5Db2xvci5HZGtfQ29sb3IpOwogICAtLSAgU2V0IHRoZSB2aXN1
YWwgYXNwZWN0IG9mIHRoZSBzeW1ib2xzLgoKICAgcHJvY2VkdXJlIEdldF9TeW1ib2wKICAgICAo
RGF0YSAgICAgICAgIDogYWNjZXNzIEd0a19QbG90X0RhdGFfUmVjb3JkOwogICAgICBUaGVfVHlw
ZSAgICAgOiBvdXQgUGxvdF9TeW1ib2xfVHlwZTsKICAgICAgU3R5bGUgICAgICAgIDogb3V0IFBs
b3RfU3ltYm9sX1N0eWxlOwogICAgICBTaXplICAgICAgICAgOiBvdXQgR2ludDsKICAgICAgTGlu
ZV9XaWR0aCAgIDogb3V0IEdpbnQ7CiAgICAgIENvbG9yICAgICAgICA6IG91dCBHZGsuQ29sb3Iu
R2RrX0NvbG9yOwogICAgICBCb3JkZXJfQ29sb3IgOiBvdXQgR2RrLkNvbG9yLkdka19Db2xvcik7
CiAgIC0tICBSZXR1cm4gdGhlIHZpc3VhbCBjaGFyYWN0ZXJpc3RpY3Mgb2YgdGhlIHN5bWJvbHMu
CgogICBwcm9jZWR1cmUgU2V0X0Nvbm5lY3RvcgogICAgIChEYXRhIDogYWNjZXNzIEd0a19QbG90
X0RhdGFfUmVjb3JkOyBDb25uZWN0b3IgOiBQbG90X0Nvbm5lY3Rvcik7CiAgIC0tICBTZXQgdGhl
IHN0eWxlIG9mIHRoZSBjb25uZWN0b3JzLgoKICAgZnVuY3Rpb24gR2V0X0Nvbm5lY3RvciAoRGF0
YSA6IGFjY2VzcyBHdGtfUGxvdF9EYXRhX1JlY29yZCkKICAgICAgcmV0dXJuIFBsb3RfQ29ubmVj
dG9yOwogICAtLSAgUmV0dXJuIHRoZSBjb25uZWN0b3Igc3R5bGUgdXNlZCBmb3IgdGhlIGRhdGEg
c2V0LgoKICAgcHJvY2VkdXJlIFNldF9MaW5lX0F0dHJpYnV0ZXMKICAgICAoRGF0YSAgOiBhY2Nl
c3MgR3RrX1Bsb3RfRGF0YV9SZWNvcmQ7CiAgICAgIFN0eWxlIDogUGxvdF9MaW5lX1N0eWxlOwog
ICAgICBXaWR0aCA6IEdmbG9hdDsKICAgICAgQ29sb3IgOiBHZGsuQ29sb3IuR2RrX0NvbG9yKTsK
ICAgLS0gIFNldCB0aGUgbGluZSBzdHlsZSB1c2VkIGZvciB0aGUgY29ubmVjdG9ycy4KCiAgIHBy
b2NlZHVyZSBHZXRfTGluZV9BdHRyaWJ1dGVzCiAgICAgKERhdGEgIDogYWNjZXNzIEd0a19QbG90
X0RhdGFfUmVjb3JkOwogICAgICBTdHlsZSA6IG91dCBQbG90X0xpbmVfU3R5bGU7CiAgICAgIFdp
ZHRoIDogb3V0IEdmbG9hdDsKICAgICAgQ29sb3IgOiBvdXQgR2RrLkNvbG9yLkdka19Db2xvcik7
CiAgIC0tICBSZXR1cm4gdGhlIGxpbmUgYXR0cmlidXRlcyB1c2VkIGZvciB0aGUgY29ubmVjdG9y
cy4KCiAgIHByb2NlZHVyZSBTZXRfWF9BdHRyaWJ1dGVzCiAgICAgKERhdGEgIDogYWNjZXNzIEd0
a19QbG90X0RhdGFfUmVjb3JkOwogICAgICBTdHlsZSA6IFBsb3RfTGluZV9TdHlsZTsKICAgICAg
V2lkdGggOiBHZmxvYXQ7CiAgICAgIENvbG9yIDogR2RrLkNvbG9yLkdka19Db2xvcik7CiAgIC0t
ICBTZXQgdGhlIHN0eWxlIG9mIHRoZSBsaW5lcyB1c2VkIHRvIGNvbm5lY3QgdGhlIHN5bWJvbHMg
dG8gdGhlIFggYXhpcy4KCiAgIHByb2NlZHVyZSBTZXRfWV9BdHRyaWJ1dGVzCiAgICAgKERhdGEg
IDogYWNjZXNzIEd0a19QbG90X0RhdGFfUmVjb3JkOwogICAgICBTdHlsZSA6IFBsb3RfTGluZV9T
dHlsZTsKICAgICAgV2lkdGggOiBHZmxvYXQ7CiAgICAgIENvbG9yIDogR2RrLkNvbG9yLkdka19D
b2xvcik7CiAgIC0tICBTZXQgdGhlIHN0eWxlIG9mIHRoZSBsaW5lcyB1c2VkIHRvIGNvbm5lY3Qg
dGhlIHN5bWJvbHMgdG8gdGhlIFkgYXhpcy4KCiAgIHByb2NlZHVyZSBTZXRfWl9BdHRyaWJ1dGVz
CiAgICAgKERhdGEgIDogYWNjZXNzIEd0a19QbG90X0RhdGFfUmVjb3JkOwogICAgICBTdHlsZSA6
IFBsb3RfTGluZV9TdHlsZTsKICAgICAgV2lkdGggOiBHZmxvYXQ7CiAgICAgIENvbG9yIDogR2Rr
LkNvbG9yLkdka19Db2xvcik7CiAgIC0tICBTZXQgdGhlIHN0eWxlIG9mIHRoZSBsaW5lcyB1c2Vk
IHRvIGNvbm5lY3QgdGhlIHN5bWJvbHMgdG8gdGhlIFogYXhpcy4KCiAgIHByb2NlZHVyZSBTaG93
X1hlcnJiYXJzIChEYXRhIDogYWNjZXNzIEd0a19QbG90X0RhdGFfUmVjb3JkKTsKICAgcHJvY2Vk
dXJlIFNob3dfWWVycmJhcnMgKERhdGEgOiBhY2Nlc3MgR3RrX1Bsb3RfRGF0YV9SZWNvcmQpOwog
ICBwcm9jZWR1cmUgU2hvd19aZXJyYmFycyAoRGF0YSA6IGFjY2VzcyBHdGtfUGxvdF9EYXRhX1Jl
Y29yZCk7CiAgIC0tICBJbmRpY2F0ZSB0aGF0IGVhY2ggc3ltYm9sIHNob3VsZCBiZSBjb25uZWN0
ZWQgdG8gdGhlIHZhcmlvdXMgYXhpcwoKICAgcHJvY2VkdXJlIEhpZGVfWGVycmJhcnMgKERhdGEg
OiBhY2Nlc3MgR3RrX1Bsb3RfRGF0YV9SZWNvcmQpOwogICBwcm9jZWR1cmUgSGlkZV9ZZXJyYmFy
cyAoRGF0YSA6IGFjY2VzcyBHdGtfUGxvdF9EYXRhX1JlY29yZCk7CiAgIHByb2NlZHVyZSBIaWRl
X1plcnJiYXJzIChEYXRhIDogYWNjZXNzIEd0a19QbG90X0RhdGFfUmVjb3JkKTsKICAgLS0gIElu
ZGljYXRlIHRoZSB0aGUgc3ltYm9sIHNob3VsZCBub3QgYmUgY29ubmVjdGVkIHRvIHRoZSBheGlz
LgoKICAgcHJvY2VkdXJlIEZpbGxfQXJlYSAoRGF0YSA6IGFjY2VzcyBHdGtfUGxvdF9EYXRhX1Jl
Y29yZDsgRmlsbCA6IEJvb2xlYW4pOwogICAtLSAgSW5kaWNhdGUgd2hldGhlciB0aGUgYXJlYSBi
ZXR3ZWVuIHR3byBwb2ludHMgc2hvdWxkIGJlIGZpbGxlZCBvciBub3QuCgogICBmdW5jdGlvbiBB
cmVhX0lzX0ZpbGxlZCAoRGF0YSA6IGFjY2VzcyBHdGtfUGxvdF9EYXRhX1JlY29yZCkKICAgICAg
cmV0dXJuIEJvb2xlYW47CiAgIC0tICBJbmRpY2F0ZSB3aGV0aGVyIHRoZSBhcmVhIGJldHdlZW4g
dHdvIHBvaW50cyBpcyBmaWxsZWQuCgogICAtLS0tLS0tLS0tLS0tCiAgIC0tIExlZ2VuZHMgLS0K
ICAgLS0tLS0tLS0tLS0tLQogICAtLSAgSW4gYWRkaXRpb24gdG8gdGhlIGRyYXdpbmcgY29ycmVz
cG9uZGluZyB0byB0aGUgZGF0YSBzZXQsIGl0IGlzIHBvc3NpYmxlCiAgIC0tICB0byBkaXNwbGF5
IGEgYm94IHRoYXQgY29udGFpbnMgYSBsZWdlbmQuIFRoaXMgaXMgcGFydGljdWxhcnkgdXNlZnVs
IHdoZW4KICAgLS0gIG11bHRpcGxlIGRhdGEgc2V0cyBhcmUgZGlzcGxheWVkIG9uIHRoZSBzYW1l
IHBsb3QuCgogICBwcm9jZWR1cmUgU2V0X0xlZ2VuZCAoRGF0YSA6IGFjY2VzcyBHdGtfUGxvdF9E
YXRhX1JlY29yZDsgTGVnZW5kIDogU3RyaW5nKTsKICAgLS0gIFNldCB0aGUgc3RyaW5nIHByaW50
ZWQgaW4gdGhlIGxlZ2VuZCBmb3IgdGhhdCBkYXRhIHNldC4KICAgLS0gIE5vdGUgdGhhdCBhbiBl
bnRyeSBjYW4gZXhpc3QgaW4gdGhlIGxlZ2VuZCBldmVuIGlmIHRoZXJlIGlzIG5vIG5hbWUKICAg
LS0gIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ3JhcGguCgogICBwcm9jZWR1cmUgU2hvd19MZWdlbmQg
KERhdGEgOiBhY2Nlc3MgR3RrX1Bsb3RfRGF0YV9SZWNvcmQpOwogICAtLSAgQW4gZW50cnkgd2ls
bCBiZSBtYWRlIGluIHRoZSBwbG90J3MgbGVnZW5kIGZvciB0aGF0IGRhdGFzZXQuCgogICBwcm9j
ZWR1cmUgSGlkZV9MZWdlbmQgKERhdGEgOiBhY2Nlc3MgR3RrX1Bsb3RfRGF0YV9SZWNvcmQpOwog
ICAtLSAgTm8gZW50cnkgd2lsbCBhcHBlYXIgaW4gdGhlIHBsb3QncyBsZWdlbmQgZm9yIHRoYXQg
ZGF0YXNldC4KCiAgIHByb2NlZHVyZSBTZXRfTGVnZW5kX1ByZWNpc2lvbgogICAgIChEYXRhIDog
YWNjZXNzIEd0a19QbG90X0RhdGFfUmVjb3JkOyBQcmVjaXNpb24gOiBHaW50KTsKICAgLS0gIE51
bWJlciBvZiBkaWdpdHMgdG8gZGlzcGxheSB3aGVuIHRoZSBsZWdlbmRzIGlzIGFzc29jaWF0ZWQg
d2l0aCB2YWx1ZXMsCiAgIC0tICBhcyBpcyB0aGUgY2FzZSBmb3IgZ3JhZGllbnRzLgoKICAgZnVu
Y3Rpb24gR2V0X0xlZ2VuZF9QcmVjaXNpb24gKERhdGEgOiBhY2Nlc3MgR3RrX1Bsb3RfRGF0YV9S
ZWNvcmQpCiAgICAgIHJldHVybiBHaW50OwogICAtLSAgUmV0dXJuIHRoZSBudW1iZXIgb2YgZGln
aXRzIHVzZWQgZm9yIHZhbHVlcyBpbiB0aGUgbGVnZW5kCgogICAtLS0tLS0tLS0tLS0tLS0KICAg
LS0gR3JhZGllbnRzIC0tCiAgIC0tLS0tLS0tLS0tLS0tLQogICAtLSAgVGhlIHN5bWJvbHMgZGlz
cGxheWVkIGluIHRoZSBwbG90IGNhbiBiZSBhc3NpZ25lZCBzcGVjaWZpYyBjb2xvcnMuIEJ1dAog
ICAtLSAgdGhleSBjYW4gYWxzbyBjb21wdXRlIHRoZWlyIG93biBjb2xvciBieSBwaWNraW5nIGl0
IGluIGEgZ3JhZGllbnQsCiAgIC0tICBkZXBlbmRpbmcgb24gdGhlIHZhbHVlLgoKICAgcHJvY2Vk
dXJlIFNldF9HcmFkaWVudF9NYXNrCiAgICAgKERhdGEgOiBhY2Nlc3MgR3RrX1Bsb3RfRGF0YV9S
ZWNvcmQ7IE1hc2sgOiBQbG90X0dyYWRpZW50KTsKICAgLS0gIEluZGljYXRlcyB3aGljaCBjb21w
b25lbnQgb2YgdGhlIGNvbG9ycyB2YXJ5IGFsb25nIHRoZSBncmFkaWVudC4KCiAgIGZ1bmN0aW9u
IEdldF9HcmFkaWVudF9NYXNrIChEYXRhIDogYWNjZXNzIEd0a19QbG90X0RhdGFfUmVjb3JkKQog
ICAgICByZXR1cm4gUGxvdF9HcmFkaWVudDsKICAgLS0gIFJldHVybiB0aGUgbWFzayB1c2VkIGZv
ciB0aGUgZ3JhZGllbnQuCgogICBwcm9jZWR1cmUgR3JhZGllbnRfU2V0X1Zpc2libGUKICAgICAo
RGF0YSA6IGFjY2VzcyBHdGtfUGxvdF9EYXRhX1JlY29yZDsgVmlzaWJsZSA6IEJvb2xlYW4pOwog
ICAtLSAgSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGdyYWRpZW50IHNob3VsZCBiZSB2aXNpYmxlCgog
ICBmdW5jdGlvbiBHcmFkaWVudF9WaXNpYmxlIChEYXRhIDogYWNjZXNzIEd0a19QbG90X0RhdGFf
UmVjb3JkKQogICAgICByZXR1cm4gQm9vbGVhbjsKICAgLS0gIFJldHVybiBUcnVlIGlmIHRoZSBn
cmFkaWVudCBpcyBjdXJyZW50bHkgdmlzaWJsZQoKICAgcHJvY2VkdXJlIFNldF9HcmFkaWVudF9D
b2xvcnMKICAgICAoRGF0YSA6IGFjY2VzcyBHdGtfUGxvdF9EYXRhX1JlY29yZDsKICAgICAgTWlu
LCBNYXggOiBHZGsuQ29sb3IuR2RrX0NvbG9yKTsKICAgLS0gIFNldCB0aGUgY29sb3JzIHRoYXQg
ZGVmaW5lIHRoZSBncmFkaWVudC4gVGhlIGNvbG9ycyB3aWxsIHZhcnkgZnJvbQogICAtLSAgTWlu
IHRvIE1heCBhbG9uZyB0aGUgY29tcG9uZW50cyBzcGVjaWZpZWQgaW4gU2V0X0dyYWRpZW50X01h
c2suCgogICBwcm9jZWR1cmUgR2V0X0dyYWRpZW50X0NvbG9ycwogICAgIChEYXRhIDogYWNjZXNz
IEd0a19QbG90X0RhdGFfUmVjb3JkOwogICAgICBNaW4sIE1heCA6IG91dCBHZGsuQ29sb3IuR2Rr
X0NvbG9yKTsKICAgLS0gIFJldHVybiB0aGUgY29sb3JzIHRoYXQgZGVmaW5lIHRoZSByYW5nZQoK
ICAgcHJvY2VkdXJlIFNldF9HcmFkaWVudAogICAgIChEYXRhICAgICA6IGFjY2VzcyBHdGtfUGxv
dF9EYXRhX1JlY29yZDsKICAgICAgTWluLCBNYXggOiBHZG91YmxlOwogICAgICBObGV2ZWxzICA6
IEdpbnQpOwogICAtLSAgRGVmaW5lIHRoZSB2YWx1ZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBtaW5p
bWFsIGNvbG9yIGFuZCB0aGUgbWF4aW1hbAogICAtLSAgY29sb3IuIEFueSB2YWx1ZSBpbiBiZXR3
ZWVuIHdpbGwgaGF2ZSBhIGNvbG9yIGNvbXB1dGVkIGluIGJldHdlZW4uCiAgIC0tICBObGV2ZWxz
IGlzIHRoZSBudW1iZXIgb2YgdGlja3MgdG8gZGlzcGxheSBpbiB0aGUgZ3JhZGllbnQuCgogICBw
cm9jZWR1cmUgR2V0X0dyYWRpZW50CiAgICAgKERhdGEgICAgIDogYWNjZXNzIEd0a19QbG90X0Rh
dGFfUmVjb3JkOwogICAgICBNaW4sIE1heCA6IG91dCBHZG91YmxlOwogICAgICBObGV2ZWxzICA6
IG91dCBHaW50KTsKICAgLS0gIFJldHVybiB0aGUgdmFsdWVzIGFzc29jaWF0ZWQgd2l0aCB0aGUg
bWluaW1hbCBhbmQgbWF4aW1hbCBjb2xvcnMuCgogICBwcm9jZWR1cmUgR2V0X0dyYWRpZW50X0xl
dmVsCiAgICAgKERhdGEgIDogYWNjZXNzIEd0a19QbG90X0RhdGFfUmVjb3JkOwogICAgICBMZXZl
bCA6IEdkb3VibGU7CiAgICAgIENvbG9yIDogb3V0IEdkay5Db2xvci5HZGtfQ29sb3IpOwogICAt
LSAgUmV0dXJuIHRoZSBjb2xvciBhc3NvY2lhdGVkIHdpdGggYSBzcGVjaWZpYyBsZXZlbC4KICAg
LS0gIFRoZSBjb2xvciBkZXBlbmRzIG9uIHRoZSBwYXJhbWV0ZXJzIHRvIFNldF9HcmFkaWVudCBh
bmQKICAgLS0gIFNldF9HcmFkaWVudF9Db2xvcnMuCgogICAtLS0tLS0tLS0tLS0tLS0KICAgLS0g
VXNlciBEYXRhIC0tCiAgIC0tLS0tLS0tLS0tLS0tLQogICAtLSAgSXQgaXMgcG9zc2libGUgdG8g
YXNzb2NpYXRlZCB5b3VyIG93biB1c2VyIGRhdGEgd2l0aCBhIHBsb3QuIFRoaXMgaXMKICAgLS0g
IHRoZSBtZWNoYW5pc20gcHJvdmlkZWQgYnkgdGhlIEMgdmVyc2lvbiBvZiBndGtleHRyYS4gSG93
ZXZlciwgdGhlIGJlc3QKICAgLS0gIHdheSB0byBkbyB0aGlzIGluIEFkYSBpcyB0byBpbmhlcml0
IGZyb20gR3RrX1Bsb3RfRGF0YV9SZWNvcmQgKG9yIG9uZQogICAtLSAgb2YgaXRzIGNoaWxkcmVu
KSwgYW5kIGFkZCB5b3VyIG93biBmaWVsZHMuCgogICBwcm9jZWR1cmUgU2V0X0xpbmsKICAgICAo
RGF0YSA6IGFjY2VzcyBHdGtfUGxvdF9EYXRhX1JlY29yZDsKICAgICAgTGluayA6IFN5c3RlbS5B
ZGRyZXNzKTsKICAgLS0gIEFzc29jaWF0ZSBzb21lIHVzZXIgZGF0YSB3aXRoIERhdGEuCiAgIC0t
ICBJdCBpcyB0aGUgcmVzcG9uc2FiaWxpdHkgb2YgdGhlIHVzZXIgdG8gZG8gc29tZSBjb252ZXJ0
IGNvbnZlcnNpb24gdG8KICAgLS0gIFN5c3RlbS5BZGRyZXNzLgoKICAgZnVuY3Rpb24gR2V0X0xp
bmsgKERhdGEgOiBhY2Nlc3MgR3RrX1Bsb3RfRGF0YV9SZWNvcmQpCiAgICAgIHJldHVybiBTeXN0
ZW0uQWRkcmVzczsKICAgLS0gIFJldHVybiB0aGUgdXNlciBkYXRhIGFzc29jaWF0ZWQgd2l0aCBE
YXRhLCBvciBOdWxsX0FkZHJlc3MgaWYgdGhlcmUgaXMKICAgLS0gIG5vbmUuCgogICBwcm9jZWR1
cmUgUmVtb3ZlX0xpbmsgKERhdGEgOiBhY2Nlc3MgR3RrX1Bsb3RfRGF0YV9SZWNvcmQpOwogICAt
LSAgUmVtb3ZlIHRoZSB1c2VyIGRhdGEgYXNzb2NpYXRlZCB3aXRoIERhdGEuCgoKICAgLS0gIDxk
b2NfaWdub3JlPgogICBmdW5jdGlvbiBUb19Eb3VibGVfQXJyYXkgaXMgbmV3IFVuY2hlY2tlZF9D
b252ZXJzaW9uCiAgICAgKFN5c3RlbS5BZGRyZXNzLCBOb19SYW5nZV9HZG91YmxlX0FycmF5X0Fj
Y2Vzcyk7CiAgIC0tICA8L2RvY19pZ25vcmU+Cgpwcml2YXRlCiAgIHR5cGUgR3RrX1Bsb3RfRGF0
YV9SZWNvcmQgaXMgbmV3IEd0ay5XaWRnZXQuR3RrX1dpZGdldF9SZWNvcmQgd2l0aAogICAgIG51
bGwgcmVjb3JkOwoKICAgR3JhZGllbnRfSCA6IGNvbnN0YW50IFBsb3RfR3JhZGllbnQgOj0gMTsK
ICAgR3JhZGllbnRfViA6IGNvbnN0YW50IFBsb3RfR3JhZGllbnQgOj0gMjsKICAgR3JhZGllbnRf
UyA6IGNvbnN0YW50IFBsb3RfR3JhZGllbnQgOj0gNDsKCiAgIHByYWdtYSBJbXBvcnQgKEMsIEdl
dF9UeXBlLCAiZ3RrX3Bsb3RfZGF0YV9nZXRfdHlwZSIpOwplbmQgR3RrLkV4dHJhLlBsb3RfRGF0
YTsKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AABnbmF0YnVnL2d0ay1leHRyYS5hZHMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEwMDY0NAAwMDAx
NzUxADAwMDAwMDAAMDAwMDAwMDQxNjAAMDc1NTExMDc2MzIAMDEzNzQzACAwAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAc3BhegAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAB3aGVlbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCi0tICAgICAgICAgIEd0a0FkYSAtIEFkYTk1IGJpbmRpbmcgZm9yIHRo
ZSBHaW1wIFRvb2xraXQgICAgICAgICAgICAgIC0tCi0tICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tICAgICAgICAg
ICAgICAgICAgICAgQ29weXJpZ2h0IChDKSAyMDAwICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC0tCi0tICAgICAgICBFbW1hbnVlbCBCcmlvdCwgSm9lbCBCcm9iZWNrZXIgYW5kIEFybmF1ZCBD
aGFybGV0ICAgICAgICAgIC0tCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgICAgIC0tCi0tIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyAgICAgICAgICAg
ICAgIC0tCi0tIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb247IGVpdGhlciAgICAgIC0tCi0tIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0
IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4gIC0tCi0tICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tIFRo
aXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl
ZnVsLCAgIC0tCi0tIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mICAgIC0tCi0tIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VIC0tCi0tIEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4gICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0t
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC0tCi0tIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO
VSBHZW5lcmFsIFB1YmxpYyAgICAgICAgIC0tCi0tIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxp
YnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlICAgICAgICAgICAgIC0tCi0tIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLCAgICAgIC0t
Ci0tIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC0tCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tIEFzIGEgc3BlY2lhbCBleGNlcHRpb24s
IGlmIG90aGVyIGZpbGVzIGluc3RhbnRpYXRlIGdlbmVyaWNzIGZyb20gIC0tCi0tIHRoaXMgdW5p
dCwgb3IgeW91IGxpbmsgdGhpcyB1bml0IHdpdGggb3RoZXIgZmlsZXMgdG8gcHJvZHVjZSBhbiAg
IC0tCi0tIGV4ZWN1dGFibGUsIHRoaXMgIHVuaXQgIGRvZXMgbm90ICBieSBpdHNlbGYgY2F1c2Ug
IHRoZSByZXN1bHRpbmcgIC0tCi0tIGV4ZWN1dGFibGUgdG8gYmUgY292ZXJlZCBieSB0aGUgR05V
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UuIFRoaXMgIC0tCi0tIGV4Y2VwdGlvbiBkb2VzIG5vdCBo
b3dldmVyIGludmFsaWRhdGUgYW55IG90aGVyIHJlYXNvbnMgd2h5IHRoZSAgIC0tCi0tIGV4ZWN1
dGFibGUgZmlsZSAgbWlnaHQgYmUgY292ZXJlZCBieSB0aGUgIEdOVSBQdWJsaWMgTGljZW5zZS4g
ICAgIC0tCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotLSAgPGRlc2NyaXB0aW9uPgotLSAgVGhpcyBpcyB0aGUg
dG9wIGxldmVsIHBhY2thZ2Ugb2YgdGhlIEd0ay5FeHRyYSB3aWRnZXQgaGllcmFyY2h5LgotLSAg
PC9kZXNjcmlwdGlvbj4KCnBhY2thZ2UgR3RrLkV4dHJhIGlzCmVuZCBHdGsuRXh0cmE7CgAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABnbmF0
YnVnL2d0ay5hZHMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEwMDY0NAAwMDAxNzUxADAw
MDAwMDAAMDAwMDAwMjMyMzAAMDc1NTExMDc2MzIAMDEyNjIxACAwAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAc3BhegAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAB3aGVlbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCi0tICAgICAgICAgIEd0a0FkYSAtIEFkYTk1IGJpbmRpbmcgZm9yIHRoZSBHaW1w
IFRvb2xraXQgICAgICAgICAgICAgIC0tCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tICAgICAgICAgICAgICAg
ICAgICAgQ29weXJpZ2h0IChDKSAxOTk4LTIwMDEgICAgICAgICAgICAgICAgICAgICAgIC0tCi0t
ICAgICAgICBFbW1hbnVlbCBCcmlvdCwgSm9lbCBCcm9iZWNrZXIgYW5kIEFybmF1ZCBDaGFybGV0
ICAgICAgICAgIC0tCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgICAgIC0tCi0tIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyAgICAgICAgICAgICAgIC0t
Ci0tIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlciAgICAgIC0tCi0tIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4gIC0tCi0tICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tIFRoaXMgbGli
cmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCAg
IC0tCi0tIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mICAgIC0tCi0tIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VIC0tCi0tIEdlbmVyYWwgUHVibGljIExpY2Vu
c2UgZm9yIG1vcmUgZGV0YWlscy4gICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC0tCi0tIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5l
cmFsIFB1YmxpYyAgICAgICAgIC0tCi0tIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IGlmIG5vdCwgd3JpdGUgdG8gdGhlICAgICAgICAgICAgIC0tCi0tIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLCAgICAgIC0tCi0tIEJv
c3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC0tCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC0tCi0tIEFzIGEgc3BlY2lhbCBleGNlcHRpb24sIGlmIG90
aGVyIGZpbGVzIGluc3RhbnRpYXRlIGdlbmVyaWNzIGZyb20gIC0tCi0tIHRoaXMgdW5pdCwgb3Ig
eW91IGxpbmsgdGhpcyB1bml0IHdpdGggb3RoZXIgZmlsZXMgdG8gcHJvZHVjZSBhbiAgIC0tCi0t
IGV4ZWN1dGFibGUsIHRoaXMgIHVuaXQgIGRvZXMgbm90ICBieSBpdHNlbGYgY2F1c2UgIHRoZSBy
ZXN1bHRpbmcgIC0tCi0tIGV4ZWN1dGFibGUgdG8gYmUgY292ZXJlZCBieSB0aGUgR05VIEdlbmVy
YWwgUHVibGljIExpY2Vuc2UuIFRoaXMgIC0tCi0tIGV4Y2VwdGlvbiBkb2VzIG5vdCBob3dldmVy
IGludmFsaWRhdGUgYW55IG90aGVyIHJlYXNvbnMgd2h5IHRoZSAgIC0tCi0tIGV4ZWN1dGFibGUg
ZmlsZSAgbWlnaHQgYmUgY292ZXJlZCBieSB0aGUgIEdOVSBQdWJsaWMgTGljZW5zZS4gICAgIC0t
Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCgotLSAgPGRlc2NyaXB0aW9uPgotLQotLSAgVGhpcyBwYWNrYWdlIHBy
b3ZpZGVzIHNvbWUgYmFzaWMgR3RrKyBmdW5jdGlvbmFsaXRpZXMgc3VjaCBhcyBnZXR0aW5nIHRo
ZQotLSAgdmVyc2lvbiBudW1iZXIuIFRoaXMgaXMgdGhlIHRvcCBsZXZlbCBwYWNrYWdlIG9mIHRo
ZSBHdGsgd2lkZ2V0IGhpZXJhcmNoeS4KLS0gIEZvciBnZW5lcmFsIEd0a0FkYSBpbml0aWFsaXph
dGlvbnMsIEBweHJlZntQYWNrYWdlX0d0ay5NYWlufS4KLS0KLS0gIDwvZGVzY3JpcHRpb24+Ci0t
ICA8Y192ZXJzaW9uPjEuMi43PC9jX3ZlcnNpb24+Cgp3aXRoIEdsaWI7ICAgICAgICAgICAgICAg
IHVzZSBHbGliOwp3aXRoIEdkazsgICAgICAgICAgICAgICAgIHVzZSBHZGs7CndpdGggU3lzdGVt
OwoKcGFja2FnZSBHdGsgaXMKCiAgIHR5cGUgUm9vdF9UeXBlIGlzIHRhZ2dlZCBwcml2YXRlOwog
ICAtLSAgVGhlIGJhc2UgdHlwZSBvZiB0aGUgaGllcmFyY2h5IGluIEd0a0FkYS4gSXQgYmFzaWNh
bGx5IGdpdmVzIGFjY2VzcwogICAtLSAgdG8gYW4gdW5kZXJseWluZyBDIG9iamVjdC4gVGhpcyBp
cyBub3QgYSBjb250cm9sbGVkIHR5cGUsIGZvciBlZmZpY2llbmN5CiAgIC0tICByZWFzb25zLCBh
bmQgYmVjYXVzZSBndGsrIHRha2VzIGNhcmUgb2YgbWVtb3J5IG1hbmFnZW1lbnQgb24gaXRzIG93
bi4KCiAgIC0tICA8ZG9jX2lnbm9yZT4KICAgdHlwZSBSb290X1R5cGVfQWNjZXNzIGlzIGFjY2Vz
cyBhbGwgUm9vdF9UeXBlJ0NsYXNzOwogICAtLSAgPC9kb2NfaWdub3JlPgoKICAgdHlwZSBHdGtf
UmNfU3R5bGUgaXMgbmV3IEdkay5DX1Byb3h5OwogICAtLSAgVHlwZSB1c2VkIHRvIGhhbmRsZSBy
ZXNvdXJjZSBzdHlsZXMuCiAgIC0tICBTZWUgcGFja2FnZSBHdGsuUmMgZm9yIG1vcmUgZGV0YWls
cy4KCiAgIGZ1bmN0aW9uIE1ham9yX1ZlcnNpb24gcmV0dXJuIEd1aW50OwogICAtLSAgUmV0dXJu
IHRoZSBtYWpvciB2ZXJzaW9uIG51bWJlciBmb3IgR3RrKy4KICAgLS0gIE5vdGUgdGhhdCB0aGlz
IGlzIG5vdCBuZWNlc3NhcmlseSB0aGUgc2FtZSBhcyBmb3IgR3RrQWRhLgogICAtLSAgSWYgdGhl
IHZlcnNpb24gaXMgMS4yLjYsIHJldHVybnMgMS4KCiAgIGZ1bmN0aW9uIE1pbm9yX1ZlcnNpb24g
cmV0dXJuIEd1aW50OwogICAtLSAgUmV0dXJuIHRoZSBtaW5vciB2ZXJzaW9uIG51bWJlciBmb3Ig
R3RrKy4KICAgLS0gIE5vdGUgdGhhdCB0aGlzIGlzIG5vdCBuZWNlc3NhcmlseSB0aGUgc2FtZSBh
cyBmb3IgR3RrQWRhLgogICAtLSAgSWYgdGhlIHZlcnNpb24gaXMgMS4yLjYsIHJldHVybnMgMi4K
CiAgIGZ1bmN0aW9uIE1pY3JvX1ZlcnNpb24gcmV0dXJuIEd1aW50OwogICAtLSAgUmV0dXJuIHRo
ZSBtaWNybyB2ZXJzaW9uIG51bWJlciBmb3IgR3RrKy4KICAgLS0gIE5vdGUgdGhhdCB0aGlzIGlz
IG5vdCBuZWNlc3NhcmlseSB0aGUgc2FtZSBhcyBmb3IgR3RrQWRhLgogICAtLSAgSWYgdGhlIHZl
cnNpb24gaXMgMS4yLjYsIHJldHVybnMgNi4KCiAgIHR5cGUgR3RrX1R5cGUgaXMgbmV3IEd1aW50
OwogICAtLSAgVGhpcyB0eXBlIGRlc2NyaWJlcyBhbiBpbnRlcm5hbCB0eXBlIGluIEd0aysuCiAg
IC0tICBZb3Ugc2hvdWxkbid0IGhhdmUgdG8gdXNlIGl0IGluIHlvdXIgb3duIGFwcGxpY2F0aW9u
cywgaG93ZXZlciBpdCBtaWdodAogICAtLSAgYmUgdXNlZnVsIHNvbWV0aW1lcy4KICAgLS0gIEV2
ZXJ5IHdpZGdldCB0eXBlIGlzIGFzc29jaWF0ZWQgd2l0aCBhIHNwZWNpZmljIHZhbHVlLCBjcmVh
dGVkCiAgIC0tICBkeW5hbWljYWxseSBhdCBydW4gdGltZSB0aGUgZmlyc3QgdGltZSB5b3UgaW5z
dGFudGlhdGUgYSB3aWRnZXQgb2YgdGhhdAogICAtLSAgdHlwZSAodGh1cyBpZiB5b3UgaGF2ZSBu
ZXZlciB1c2VkIGEgR3RrX0ZpbGVfU2VsZWN0aW9uLCBpdCB3b24ndCBoYXZlCiAgIC0tICBhbnkg
R3RrX1R5cGUgYXNzb2NpYXRlZCB3aXRoIGl0KS4KICAgLS0gIFlvdSBjYW4gZ2V0IHRoZSBleGFj
dCB0eXBlIHZhbHVlIGZvciBlYWNoIHR5cGUgYnkgdXNpbmcgdGhlIGZ1bmN0aW9ucwogICAtLSAg
R2V0X1R5cGUgcHJvdmlkZWQgaW4gYWxsIHRoZSBwYWNrYWdlcyBpbiBHdGtBZGEuCiAgIC0tICBZ
b3UgY2FuIGdldCB0aGUgc3BlY2lmaWMgdmFsdWUgZm9yIGFuIGV4aXN0aW5nIHdpZGdldCBieSB1
c2luZyB0aGUKICAgLS0gIGZ1bmN0aW9uIEd0ay5PYmplY3QuR2V0X1R5cGUuCgogICBHdGtfVHlw
ZV9JbnZhbGlkIDogY29uc3RhbnQgR3RrX1R5cGUgOj0gMDsKICAgR3RrX1R5cGVfTm9uZSAgICA6
IGNvbnN0YW50IEd0a19UeXBlIDo9IDE7CiAgIEd0a19UeXBlX0NoYXIgICAgOiBjb25zdGFudCBH
dGtfVHlwZSA6PSAyOwogICBHdGtfVHlwZV9VY2hhciAgIDogY29uc3RhbnQgR3RrX1R5cGUgOj0g
MzsKICAgR3RrX1R5cGVfQm9vbCAgICA6IGNvbnN0YW50IEd0a19UeXBlIDo9IDQ7CiAgIEd0a19U
eXBlX0ludCAgICAgOiBjb25zdGFudCBHdGtfVHlwZSA6PSA1OwogICBHdGtfVHlwZV9VaW50ICAg
IDogY29uc3RhbnQgR3RrX1R5cGUgOj0gNjsKICAgR3RrX1R5cGVfTG9uZyAgICA6IGNvbnN0YW50
IEd0a19UeXBlIDo9IDc7CiAgIEd0a19UeXBlX1Vsb25nICAgOiBjb25zdGFudCBHdGtfVHlwZSA6
PSA4OwogICBHdGtfVHlwZV9GbG9hdCAgIDogY29uc3RhbnQgR3RrX1R5cGUgOj0gOTsKICAgR3Rr
X1R5cGVfRG91YmxlICA6IGNvbnN0YW50IEd0a19UeXBlIDo9IDEwOwogICBHdGtfVHlwZV9TdHJp
bmcgIDogY29uc3RhbnQgR3RrX1R5cGUgOj0gMTE7ICAtLSAgTnVsbCB0ZXJtaW5hdGVkIHN0cmlu
Zy4KICAgR3RrX1R5cGVfRW51bSAgICA6IGNvbnN0YW50IEd0a19UeXBlIDo9IDEyOwogICBHdGtf
VHlwZV9GbGFncyAgIDogY29uc3RhbnQgR3RrX1R5cGUgOj0gMTM7CiAgIEd0a19UeXBlX0JveGVk
ICAgOiBjb25zdGFudCBHdGtfVHlwZSA6PSAxNDsKICAgR3RrX1R5cGVfUG9pbnRlciA6IGNvbnN0
YW50IEd0a19UeXBlIDo9IDE1OyAgLS0gIGEgZ2VuZXJhbCBwb2ludGVyIHR5cGUuCiAgIEd0a19U
eXBlX09iamVjdCAgOiBjb25zdGFudCBHdGtfVHlwZSA6PSAyMTsgIC0tICBPbmUgb2YgdGhlIHdp
ZGdldHMvb2JqZWN0cwoKICAgdHlwZSBHdGtfTm90ZWJvb2tfUGFnZSBpcyBuZXcgR2RrLkNfUHJv
eHk7CiAgIC0tICBBIHBhZ2Ugb2YgdGhlIG5vdGVib29rLgogICAtLSAgSXQgY2FuIGNvbnRhaW4g
YSBzaW5nbGUgY2hpbGQsIGFuZCBpcyBhbHNvIGFzc29jaWF0ZWQgd2l0aCBhIHRhYgogICAtLSAg
bGFiZWwgdXNlZCB0byBzZWxlY3QgdGhhdCBwYWdlIGluIHRoZSBub3RlYm9vay4KCiAgIGZ1bmN0
aW9uIEd0a19UeXBlX0dka19FdmVudCByZXR1cm4gR3RrX1R5cGU7CiAgIC0tICBSZXR1cm4gdGhl
IHR5cGUgY29ycmVzcG9uZGluZyB0byBhIEdka19FdmVudC4KICAgLS0gIE5vdGUgdGhhdCB0aGlz
IGZ1bmN0aW9uIG11c3QgYmUgY2FsbGVkIGFmdGVyIEd0aysgaGFzIGJlZW4gaW5pdGlhbGl6ZWQu
CgogICBmdW5jdGlvbiBUeXBlX05hbWUgKFR5cGVfTnVtIDogaW4gR3RrX1R5cGUpIHJldHVybiBT
dHJpbmc7CiAgIC0tICBSZXR1cm4gdGhlIHR5cGUgbmFtZSBjb3JyZXNwb25kaW5nIHRvIGEgR3Rr
X1R5cGUuCiAgIC0tICBUaGlzIG1pZ2h0IGJlIHVzZWZ1bCBpbiBkZWJ1ZyBtZXNzYWdlcy4KCiAg
IGZ1bmN0aW9uIFR5cGVfRnJvbV9OYW1lIChOYW1lIDogaW4gU3RyaW5nKSByZXR1cm4gR3RrX1R5
cGU7CiAgIC0tICBDb252ZXJ0IGEgc3RyaW5nIHRvIHRoZSBtYXRjaGluZyB0eXBlLgogICAtLSAg
TmFtZSBzaG91bGQgYmUgdGhlIEMgd2lkZ2V0J3MgbmFtZSwgc3VjaCBhcyBHdGtTY3JvbGxiYXIg
b3IgR3RrQnV0dG9uLAogICAtLSAgcmF0aGVyIHRoYW4gdGhlIEFkYSBuYW1lLgoKICAgZnVuY3Rp
b24gSXNfQ3JlYXRlZCAoT2JqZWN0IDogaW4gUm9vdF9UeXBlJ0NsYXNzKSByZXR1cm4gQm9vbGVh
bjsKICAgLS0gIFJldHVybiBUcnVlIGlmIHRoZSBhc3NvY2lhdGVkIEMgb2JqZWN0IGhhcyBiZWVu
IGNyZWF0ZWQsIEZhbHNlIGlmIG5vCiAgIC0tICBDIG9iamVjdCBpcyBhc3NvY2lhdGVkIHdpdGgg
T2JqZWN0LgogICAtLSAgVGhpcyBpcyBub3QgdGhlIHNhbWUgYXMgdGVzdGluZyB3aGV0aGVyIGFu
IGFjY2VzcyB0eXBlIChmb3IgaW5zdGFuY2UKICAgLS0gIGFueSBvZiB0aGUgd2lkZ2V0cykgaXMg
Im51bGwiLCBzaW5jZSB0aGlzIHJlbGF0ZXMgdG8gdGhlIHVuZGVybHlpbmcKICAgLS0gIEMgb2Jq
ZWN0LgoKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIC0tIEludGVyZmFjaW5nIHdpdGgg
QyAtLQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgLS0gIFRoZSBmb2xsb3dpbmcgZnVu
Y3Rpb25zIGFyZSBtYWRlIHB1YmxpYyBzbyB0aGF0IG9uZSBjYW4gZWFzaWx5IGNyZWF0ZQogICAt
LSAgbmV3IHdpZGdldHMgb3V0c2lkZSB0aGUgR3RrIHBhY2thZ2UgaGllcmFyY2h5LgogICAtLSAg
T25seSBleHBlcmllbmNlZCB1c2VycyBzaG91bGQgbWFrZSB1c2Ugb2YgdGhlc2UgZnVuY3Rpb25z
LgoKICAgZnVuY3Rpb24gR2V0X09iamVjdCAoT2JqZWN0IDogYWNjZXNzIFJvb3RfVHlwZSdDbGFz
cykgcmV0dXJuIFN5c3RlbS5BZGRyZXNzOwogICAtLSAgQWNjZXNzIHRoZSB1bmRlcmx5aW5nIEMg
cG9pbnRlci4KCiAgIHByb2NlZHVyZSBTZXRfT2JqZWN0CiAgICAgKE9iamVjdCA6IGFjY2VzcyBS
b290X1R5cGUnQ2xhc3M7CiAgICAgIFZhbHVlICA6IGluICAgICBTeXN0ZW0uQWRkcmVzcyk7CiAg
IC0tICBNb2RpZnkgdGhlIHVuZGVybHlpbmcgQyBwb2ludGVyLgoKICAgcHJvY2VkdXJlIEluaXRp
YWxpemVfVXNlcl9EYXRhIChPYmogOiBhY2Nlc3MgUm9vdF9UeXBlJ0NsYXNzKTsKICAgLS0gIFNl
dHMgYSB1c2VyIGRhdGEgZmllbGQgZm9yIHRoZSBDIG9iamVjdCBhc3NvY2lhdGVkIHdpdGggT2Jq
LgogICAtLSAgVGhpcyBmaWVsZCB3aWxsIGJlIHVzZWQgc28gdGhhdCBpdCBpcyBwb3NzaWJsZSwg
a25vd2luZyBhCiAgIC0tICBDIG9iamVjdCwgdG8gZ2V0IHRoZSBmdWxsIGFkYSBvYmplY3QuCgog
ICBmdW5jdGlvbiBHZXRfVXNlcl9EYXRhCiAgICAgKE9iaiAgOiBpbiBTeXN0ZW0uQWRkcmVzczsK
ICAgICAgU3R1YiA6IGluIFJvb3RfVHlwZSdDbGFzcykgcmV0dXJuIFJvb3RfVHlwZV9BY2Nlc3M7
CiAgIC0tICBHZXQgdGhlIHVzZXIgZGF0YSB0aGF0IHdhcyBzZXQgYnkgR3RrQWRhLgogICAtLSAg
SWYgdGhlIERhdGEgaXMgbm90IHNldCwgcmV0dXJuIGEgbmV3IGFjY2VzcyB0eXBlLCB0aGF0IHBv
aW50cyB0bwogICAtLSAgYSBzdHJ1Y3R1cmUgd2l0aCB0aGUgc2FtZSB0YWcgYXMgU3R1Yi4KCiAg
IGZ1bmN0aW9uIFVuY2hlY2tlZF9DYXN0CiAgICAgKE9iaiAgOiBhY2Nlc3MgUm9vdF9UeXBlJ0Ns
YXNzOwogICAgICBTdHViIDogUm9vdF9UeXBlJ0NsYXNzKSByZXR1cm4gUm9vdF9UeXBlX0FjY2Vz
czsKICAgLS0gIENhc3QgT2JqIGluIGFuIG9iamVjdCBvZiB0YWcgU3R1YidDbGFzcy4KICAgLS0g
IFJldHVybiB0aGUgcmVzdWx0aW5nIG9iamVjdCBhbmQgZnJlZSB0aGUgbWVtb3J5IHBvaW50ZWQg
YnkgT2JqLgoKICAgZnVuY3Rpb24gQ291bnRfQXJndW1lbnRzCiAgICAgKFRoZV9UeXBlIDogR3Rr
X1R5cGU7IE5hbWUgOiBpbiBTdHJpbmcpIHJldHVybiBHdWludDsKICAgLS0gIFJldHVybiB0aGUg
bnVtYmVyIG9mIGFyZ3VtZW50cyB1c2VkIGluIHRoZSBoYW5kbGVycyBmb3IgdGhlIHNpZ25hbC4K
ICAgLS0gIE5vdGUgdGhhdCBpbiB0aGUgQ29ubmVjdCBmdW5jdGlvbnMsIHdlIGFsd2F5cyB0ZXN0
IHdoZXRoZXIgdGhlIHVzZXIKICAgLS0gIGhhcyBhc2tlZCBmb3IgKmF0IG1vc3QqIHRoZSBudW1i
ZXIgb2YgYXJndW1lbnRzIGRlZmluZWQgYnkgZ3RrKyBmb3IgdGhlCiAgIC0tICBjYWxsYmFjay4g
VGhpcyBpcyBiZWNhdXNlIGhhdmluZyBsZXNzIGFyZ3VtZW50IGlzIGF1dGhvcml6ZWQgKHRoZQog
ICAtLSAgZXh0cmEgcGFyYW1ldGVycyBwYXNzZWQgYnkgZ3RrKyB3aWxsIHNpbXBseSBiZSBpZ25v
cmVkKSwgd2hlcmVhcyBoYXZpbmcKICAgLS0gIG1vcmUgYXJndW1lbnRzIGlzIGltcG9zc2libGUg
KHRoZXkgd291bGQgbmV2ZXIgYmUgc2V0KS4KICAgLS0gIE5vdGUgdGhhdCB3ZSBwcm92aWRlIHRo
aXMgcHJvY2VkdXJlIGhlcmUgdG8gYXZvaWQgY2lyY3VsYXJpdGllcy4KCiAgIGZ1bmN0aW9uIEFy
Z3VtZW50X1R5cGUKICAgICAoVGhlX1R5cGUgOiBHdGtfVHlwZTsKICAgICAgTmFtZSAgICAgOiBp
biBTdHJpbmc7CiAgICAgIE51bSAgICAgIDogaW4gR2ludCkgcmV0dXJuIEd0a19UeXBlOwogICAt
LSAgUmV0dXJuIHRoZSB0eXBlIG9mIHRoZSBudW0tdGggYXJndW1lbnQgZm9yIHRoZSBoYW5kbGVy
cyBvZiBzaWduYWwgbmFtZS4KICAgLS0gIElmIE51bSBpcyBuZWdhdGl2ZSwgcmV0dXJuIHRoZSB0
eXBlIHJldHVybmVkIGJ5IHRoZSBoYW5kbGVycyBmb3IgdGhpcwogICAtLSAgc2lnbmFsLgogICAt
LSAgTm90ZSB0aGF0IHdlIHByb3ZpZGUgdGhpcyBwcm9jZWR1cmUgaGVyZSB0byBhdm9pZCBjaXJj
dWxhcml0aWVzLgoKcHJpdmF0ZQoKICAgdHlwZSBSb290X1R5cGUgaXMgdGFnZ2VkIHJlY29yZAog
ICAgICBQdHIgOiBTeXN0ZW0uQWRkcmVzcyA6PSBTeXN0ZW0uTnVsbF9BZGRyZXNzOwogICBlbmQg
cmVjb3JkOwoKICAgLS0gIDxkb2NfaWdub3JlPgoKICAgLS0gIE5vdGU6IHRoZSBmb2xsb3dpbmcg
ZnVuY3Rpb25zIGFuZCB0eXBlcyBzaG91bGQgb25seSBiZSB1c2VkCiAgIC0tICBmb3IgaW50ZXJu
YWwgdXNhZ2UsIG5vdCBpbiB0aGUgdXNlcidzIGFwcGxpY2F0aW9ucy4KICAgLS0gIElmIHlvdSB1
c2UgdHlwZSBpbmhlcml0YW5jZSBmb3IgbmV3IHdpZGdldHMsIHlvdSBzaG91bGQgbm90IG5lZWQK
ICAgLS0gIHRoZXNlIGZ1bmN0aW9ucy4KCiAgIEd0a0FkYV9TdHJpbmcgOiBjb25zdGFudCBTdHJp
bmcgOj0gIl9HdGtBZGEiICYgQVNDSUkuTlVMOwogICBHdGtBZGFfU3RyaW5nX1F1YXJrIDogR2xp
Yi5HUXVhcmsgOj0gR2xpYi5Vbmtub3duX1F1YXJrOwogICAtLSAgVGhlIG5hbWUgZm9yIHRoZSB1
c2VyIGRhdGEgdGhhdCB3ZSBzZXQgaW4gdGhlIG9iamVjdHMuCiAgIC0tICBUaGUgUXVhcmsgdmVy
c2lvbiBpcyB0byBzcGVlZCB1cCB0aGUgc3RyaW5nIGxvb2t1cCAodGhpcyBpcyBkb25lCiAgIC0t
ICBvbmx5IG9uY2UpLgoKICAgZnVuY3Rpb24gQ29udmVyc2lvbl9GdW5jdGlvbgogICAgIChPYmog
OiBTeXN0ZW0uQWRkcmVzczsgU3R1YiA6IFJvb3RfVHlwZSdDbGFzcykgcmV0dXJuIFJvb3RfVHlw
ZV9BY2Nlc3M7CiAgIC0tICBUaGlzIGZ1bmN0aW9uIGhhcyB0byBjb252ZXJ0IGEgQyBvYmplY3Qg
dG8gYW4gQWRhIG9iamVjdC4KICAgLS0gIEl0IHdpbGwgZmlyc3QgdHJ5IGFsbCB0aGUgcmVnaXN0
ZXJlZCBmdW5jdGlvbnMgKGluCiAgIC0tICBHdGsuVHlwZV9Db252ZXJzaW9uX0hvb2tzKSBhbmQg
YnkgZGVmYXVsdCwgd2lsbCBjcmVhdGUgYSBTdHViJ0NsYXNzCiAgIC0tICBvYmplY3QsIG5vIG1h
dHRlciB3aGF0IHRoZSByZWFsIEMgdHlwZSBpcy4KICAgLS0gIFN0dWIgaXMgdGhlIGV4cGVjdGVk
IHR5cGUuCgogICAtLSAgPC9kb2NfaWdub3JlPgoKICAgcHJhZ21hIElubGluZSAoR2V0X09iamVj
dCk7CiAgIHByYWdtYSBJbmxpbmUgKFNldF9PYmplY3QpOwoKICAgcHJhZ21hIEltcG9ydCAoQywg
TWFqb3JfVmVyc2lvbiwgImFkYV9ndGtfbWFqb3JfdmVyc2lvbiIpOwogICBwcmFnbWEgSW1wb3J0
IChDLCBNaW5vcl9WZXJzaW9uLCAiYWRhX2d0a19taW5vcl92ZXJzaW9uIik7CiAgIHByYWdtYSBJ
bXBvcnQgKEMsIE1pY3JvX1ZlcnNpb24sICJhZGFfZ3RrX21pY3JvX3ZlcnNpb24iKTsKICAgcHJh
Z21hIEltcG9ydCAoQywgR3RrX1R5cGVfR2RrX0V2ZW50LCAiYWRhX2d0a190eXBlX2dka19ldmVu
dCIpOwplbmQgR3RrOwoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABnbmF0YnVnL2dsaWIuYWRzAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAMDEwMDY0NAAwMDAxNzUxADAwMDAwMDAAMDAwMDAwMTYyMDEAMDc1
NTExMDc2MzIAMDEyNzUxACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAHVzdGFyICAAc3BhegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3aGVlbAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0tICAgICAgICAg
IEd0a0FkYSAtIEFkYTk1IGJpbmRpbmcgZm9yIHRoZSBHaW1wIFRvb2xraXQgICAgICAgICAgICAg
IC0tCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC0tCi0tICAgICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0IChDKSAx
OTk4LTIwMDAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tICAgICAgICBFbW1hbnVlbCBCcmlv
dCwgSm9lbCBCcm9iZWNrZXIgYW5kIEFybmF1ZCBDaGFybGV0ICAgICAgICAgIC0tCi0tICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC0tCi0tIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IgICAgIC0tCi0tIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBHZW5lcmFsIFB1YmxpYyAgICAgICAgICAgICAgIC0tCi0tIExpY2Vuc2UgYXMgcHVibGlz
aGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciAgICAgIC0tCi0tIHZl
cnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4gIC0tCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC0tCi0tIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBp
biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCAgIC0tCi0tIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mICAgIC0tCi0t
IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl
ZSB0aGUgR05VIC0tCi0tIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4g
ICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tIFlvdSBzaG91bGQg
aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyAgICAgICAgIC0t
Ci0tIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhl
ICAgICAgICAgICAgIC0tCi0tIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVt
cGxlIFBsYWNlIC0gU3VpdGUgMzMwLCAgICAgIC0tCi0tIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywg
VVNBLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC0tCi0tIEFzIGEgc3BlY2lhbCBleGNlcHRpb24sIGlmIG90aGVyIGZpbGVzIGluc3RhbnRpYXRl
IGdlbmVyaWNzIGZyb20gIC0tCi0tIHRoaXMgdW5pdCwgb3IgeW91IGxpbmsgdGhpcyB1bml0IHdp
dGggb3RoZXIgZmlsZXMgdG8gcHJvZHVjZSBhbiAgIC0tCi0tIGV4ZWN1dGFibGUsIHRoaXMgIHVu
aXQgIGRvZXMgbm90ICBieSBpdHNlbGYgY2F1c2UgIHRoZSByZXN1bHRpbmcgIC0tCi0tIGV4ZWN1
dGFibGUgdG8gYmUgY292ZXJlZCBieSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuIFRo
aXMgIC0tCi0tIGV4Y2VwdGlvbiBkb2VzIG5vdCBob3dldmVyIGludmFsaWRhdGUgYW55IG90aGVy
IHJlYXNvbnMgd2h5IHRoZSAgIC0tCi0tIGV4ZWN1dGFibGUgZmlsZSAgbWlnaHQgYmUgY292ZXJl
ZCBieSB0aGUgIEdOVSBQdWJsaWMgTGljZW5zZS4gICAgIC0tCi0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotLSAg
PGRlc2NyaXB0aW9uPgotLQotLSAgVGhpcyBwYWNrYWdlIHByb3ZpZGVzIGRlZmluaXRpb25zIGZv
ciB0aGUgYmFzaWMgdHlwZXMgdXNlZCBpbiBHbGliLAotLSAgR2RrIGFuZCBHdGsuCi0tCi0tICA8
L2Rlc2NyaXB0aW9uPgoKd2l0aCBBZGEuVW5jaGVja2VkX0RlYWxsb2NhdGlvbjsKd2l0aCBBZGEu
VW5jaGVja2VkX0NvbnZlcnNpb247CndpdGggU3lzdGVtOwp3aXRoIEludGVyZmFjZXMuQzsKCnBh
Y2thZ2UgR2xpYiBpcwogICBwcmFnbWEgUHJlZWxhYm9yYXRlOwoKICAgcGFja2FnZSBDIHJlbmFt
ZXMgSW50ZXJmYWNlcy5DOwogICB1c2UgdHlwZSBDLmludDsKICAgdXNlIHR5cGUgQy51bnNpZ25l
ZDsKCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgLS0gVGhlIGJh
c2ljIHR5cGVzIGRlZmluZWQgYnkgZ2xpYiAtLQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCgogICB0eXBlIEdzaG9ydCBpcyBuZXcgQy5zaG9ydDsKICAgdHlwZSBHbG9u
ZyAgaXMgbmV3IEMubG9uZzsKICAgdHlwZSBHaW50ICAgaXMgbmV3IEMuaW50OwogICB0eXBlIEdj
aGFyICBpcyBuZXcgQy5jaGFyOwogICB0eXBlIEdib29sZWFuIGlzIG5ldyBHaW50OwoKICAgdHlw
ZSBHdXNob3J0IGlzIG5ldyBDLnVuc2lnbmVkX3Nob3J0OwogICB0eXBlIEd1bG9uZyAgaXMgbmV3
IEMudW5zaWduZWRfbG9uZzsKICAgdHlwZSBHdWludCAgIGlzIG5ldyBDLnVuc2lnbmVkOwogICB0
eXBlIEd1Y2hhciAgaXMgbmV3IEMudW5zaWduZWRfY2hhcjsKCiAgIHR5cGUgR2Zsb2F0ICBpcyBu
ZXcgQy5DX2Zsb2F0OwogICB0eXBlIEdkb3VibGUgaXMgbmV3IEMuZG91YmxlOwoKICAgc3VidHlw
ZSBHaW50OCAgaXMgR2ludCByYW5nZSAtKDIgKiogNykgLi4gKDIgKiogNyAtIDEpOwogICBzdWJ0
eXBlIEdpbnQxNiBpcyBHaW50IHJhbmdlIC0oMiAqKiAxNSkgLi4gKDIgKiogMTUgLSAxKTsKICAg
c3VidHlwZSBHaW50MzIgaXMgR2ludCByYW5nZSAtKDIgKiogMzEpIC4uICgyICoqIDMxIC0gMSk7
CgogICBzdWJ0eXBlIEd1aW50OCAgaXMgR3VpbnQgcmFuZ2UgR3VpbnQnRmlyc3QgLi4gKDIgKiog
OCAtIDEpOwogICBzdWJ0eXBlIEd1aW50MTYgaXMgR3VpbnQgcmFuZ2UgR3VpbnQnRmlyc3QgLi4g
KDIgKiogMTYgLSAxKTsKICAgc3VidHlwZSBHdWludDMyIGlzIEd1aW50IHJhbmdlIEd1aW50J0Zp
cnN0IC4uICgyICoqIDMyIC0gMSk7CgogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIC0tIFNv
bWUgQXJyYXkgdHlwZXMgLS0KICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKICAgdHlwZSBHYm9v
bGVhbl9BcnJheSBpcyBhcnJheSAoTmF0dXJhbCByYW5nZSA8Pikgb2YgR2Jvb2xlYW47CiAgIHR5
cGUgR3Nob3J0X0FycmF5ICAgaXMgYXJyYXkgKE5hdHVyYWwgcmFuZ2UgPD4pIG9mIEdzaG9ydDsK
ICAgdHlwZSBHbG9uZ19BcnJheSAgICBpcyBhcnJheSAoTmF0dXJhbCByYW5nZSA8Pikgb2YgR2xv
bmc7CiAgIHR5cGUgR2ludF9BcnJheSAgICAgaXMgYXJyYXkgKE5hdHVyYWwgcmFuZ2UgPD4pIG9m
IEdpbnQ7CiAgIHR5cGUgR3VpbnRfQXJyYXkgICAgaXMgYXJyYXkgKE5hdHVyYWwgcmFuZ2UgPD4p
IG9mIEd1aW50OwogICB0eXBlIEd1aW50MzJfQXJyYXkgIGlzIGFycmF5IChOYXR1cmFsIHJhbmdl
IDw+KSBvZiBHdWludDMyOwogICB0eXBlIEd1c2hvcnRfQXJyYXkgIGlzIGFycmF5IChOYXR1cmFs
IHJhbmdlIDw+KSBvZiBHdXNob3J0OwogICB0eXBlIEd1bG9uZ19BcnJheSAgIGlzIGFycmF5IChO
YXR1cmFsIHJhbmdlIDw+KSBvZiBHdWxvbmc7CiAgIHR5cGUgR2Zsb2F0X0FycmF5ICAgaXMgYXJy
YXkgKE5hdHVyYWwgcmFuZ2UgPD4pIG9mIEdmbG9hdDsKICAgdHlwZSBHdWNoYXJfQXJyYXkgICBp
cyBhcnJheSAoTmF0dXJhbCByYW5nZSA8Pikgb2YgR3VjaGFyOwogICB0eXBlIEdkb3VibGVfQXJy
YXkgIGlzIGFycmF5IChOYXR1cmFsIHJhbmdlIDw+KSBvZiBHZG91YmxlOwoKICAgdHlwZSBCb29s
ZWFuX0FycmF5ICBpcyBhcnJheSAoTmF0dXJhbCByYW5nZSA8Pikgb2YgQm9vbGVhbjsKCiAgIHR5
cGUgU2hvcnRfQXJyYXkgICAgaXMgYXJyYXkgKE5hdHVyYWwgcmFuZ2UgPD4pIG9mIEMuc2hvcnQ7
CiAgIHR5cGUgTG9uZ19BcnJheSAgICAgaXMgYXJyYXkgKE5hdHVyYWwgcmFuZ2UgPD4pIG9mIEMu
bG9uZzsKCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgLS0gQ29udmVyc2lvbiBzZXJ2
aWNlcyAtLQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgogICBmdW5jdGlvbiBUb19Cb29s
ZWFuX0FycmF5IChBIDogaW4gR2Jvb2xlYW5fQXJyYXkpIHJldHVybiBCb29sZWFuX0FycmF5Owog
ICAtLSAgQ29udmVydCBhIEMtc3R5bGUgYm9vbGVhbiBhcnJheSBpbnRvIGFuIEFkYS1zdHlsZSBh
cnJheS4KCiAgIGZ1bmN0aW9uIFRvX0Jvb2xlYW4gKFZhbHVlIDogaW4gR2Jvb2xlYW4pIHJldHVy
biBCb29sZWFuOwogICAtLSAgQ29udmVydCBhIEMgYm9vbGVhbiBpbnRvIGFuIEFkYSBib29sZWFu
LgoKICAgZnVuY3Rpb24gVG9fQm9vbGVhbiAoVmFsdWUgOiBpbiBHaW50KSByZXR1cm4gQm9vbGVh
bjsKICAgLS0gIENvbnZlcnQgYSBDIGludCBpbnRvIGFuIEFkYSBib29sZWFuLgoKICAgZnVuY3Rp
b24gVG9fQm9vbGVhbiAoVmFsdWUgOiBpbiBHdWludCkgcmV0dXJuIEJvb2xlYW47CiAgIC0tICBD
b252ZXJ0IGEgQyB1aW50IGludG8gYW4gQWRhIGJvb2xlYW4uCgogICBmdW5jdGlvbiBUb19HYm9v
bGVhbiAoQm9vbCA6IGluIEJvb2xlYW4pIHJldHVybiBHYm9vbGVhbjsKICAgLS0gIENvbnZlcnQg
YW4gQWRhIGJvb2xlYW4gaW50byBhIEMgYm9vbGVhbi4KCiAgIGZ1bmN0aW9uIFRvX0dpbnQgKEJv
b2wgOiBpbiBCb29sZWFuKSByZXR1cm4gR2ludDsKICAgLS0gIENvbnZlcnQgYW4gQWRhIGJvb2xl
YW4gaW50byBhIEMgaW50LgoKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgLS0gU29tZSBB
Y2Nlc3MgdHlwZXMgLS0KICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiAgIHR5cGUgR3VjaGFy
X0FycmF5X0FjY2VzcyBpcyBhY2Nlc3MgR3VjaGFyX0FycmF5OwoKICAgdHlwZSBTdHJpbmdfUHRy
IGlzIGFjY2VzcyBhbGwgU3RyaW5nOwoKICAgLS0gIDxkb2NfaWdub3JlPgogICBwcm9jZWR1cmUg
RnJlZSBpcyBuZXcgQWRhLlVuY2hlY2tlZF9EZWFsbG9jYXRpb24KICAgICAoT2JqZWN0ID0+IEd1
Y2hhcl9BcnJheSwgTmFtZSA9PiBHdWNoYXJfQXJyYXlfQWNjZXNzKTsKCiAgIHByb2NlZHVyZSBG
cmVlIGlzIG5ldyBBZGEuVW5jaGVja2VkX0RlYWxsb2NhdGlvbgogICAgIChPYmplY3QgPT4gU3Ry
aW5nLCBOYW1lID0+IFN0cmluZ19QdHIpOwogICAtLSAgPC9kb2NfaWdub3JlPgoKICAgLS0gIDxk
b2NfaWdub3JlPgogICB0eXBlIENfRHVtbXkgaXMgbGltaXRlZCBwcml2YXRlOwogICAtLSAgPC9k
b2NfaWdub3JlPgoKICAgdHlwZSBDX1Byb3h5IGlzIGFjY2VzcyBDX0R1bW15OwogICAtLSAgR2Vu
ZXJhbCBwcm94eSBmb3IgQyBzdHJ1Y3R1cmVzLgogICAtLSAgVGhpcyB0eXBlIGlzIHVzZWQgaW5z
dGVhZCBvZiBTeXN0ZW0uQWRkcmVzcyBzbyB0aGF0IHRoZSB2YXJpYWJsZXMgYXJlCiAgIC0tICBh
dXRvbWF0aWNhbGx5IGluaXRpYWxpemVkIHRvICdudWxsJy4KICAgLS0gIFRoZSB2YWx1ZSBwb2lu
dGVkIHRvIGlzIGlycmVsZXZhbnQsIGFuZCBpbiBmYWN0IHNob3VsZCBub3QgYmUgYWNjZXNzZWQu
CiAgIC0tICBJdCBoYXMgdGh1cyBiZWVuIG1hZGUgbGltaXRlZCBwcml2YXRlIHdpdGggbm8gc3Vi
cHJvZ3JhbSB0byBhY2Nlc3MgaXQuCiAgIC0tICBDX1Byb3h5IGlzIGEgcHVibGljIHR5cGUgc28g
dGhhdCBvbmUgY2FuIGNvbXBhcmUgZGlyZWN0bHkgdGhlIHZhbHVlCiAgIC0tICBvZiB0aGUgdmFy
aWFibGVzIHdpdGggJ251bGwnLgoKICAgLS0gIDxkb2NfaWdub3JlPgogICBwcmFnbWEgQ29udmVu
dGlvbiAoQywgQ19Qcm94eSk7CgogICBmdW5jdGlvbiBDb252ZXJ0IGlzIG5ldyBBZGEuVW5jaGVj
a2VkX0NvbnZlcnNpb24gKFN5c3RlbS5BZGRyZXNzLCBDX1Byb3h5KTsKICAgZnVuY3Rpb24gQ29u
dmVydCBpcyBuZXcgQWRhLlVuY2hlY2tlZF9Db252ZXJzaW9uIChDX1Byb3h5LCBTeXN0ZW0uQWRk
cmVzcyk7CiAgIC0tICBDb252ZXJ0cyBmcm9tIGEgU3lzdGVtLkFkZHJlc3MgcmV0dXJuZWQgYnkg
YSBDIGZ1bmN0aW9uIHRvIGFuCiAgIC0tICBpbnRlcm5hbCBDX1Byb3h5LgoKICAgLS0gIDwvZG9j
X2lnbm9yZT4KCiAgIC0tLS0tLS0tLS0tLQogICAtLSBRdWFya3MgLS0KICAgLS0tLS0tLS0tLS0t
CgogICB0eXBlIEdRdWFyayBpcyBuZXcgR3VpbnQzMjsKICAgLS0gIFJlcHJlc2VudHMgYSBzdHJp
bmcgaW50ZXJuYWxseSBpbiBHdGtBZGEuIE9uY2UgeW91IGtub3cgdGhlCiAgIC0tICBlcXVpdmFs
ZW50IGZvciBhIHN0cmluZywgeW91IGNhbiBhbHdheXMgdXNlIGl0IGluc3RlYWQgb2YgdGhlIHN0
cmluZywKICAgLS0gIHdoaWNoIHByb3ZpZGVzIGEgZmFzdGVyIGFjY2VzcyBmb3IgYWxsIHRoZSBm
dW5jdGlvbnMgdGhhdCB1c2UgaHRhYmxlcwogICAtLSAgaW4gR3RrQWRhLgogICAtLSAgVGhlcmUg
aXMgYSBnbG9iYWwgaHRhYmxlIHRoYXQgY29udGFpbnMgYWxsIHRoZSBxdWFya3MgZGVmaW5lZCBp
bgogICAtLSAgeW91ciBhcHBsaWNhdGlvbiBhbmQgR3RrQWRhIGl0c2VsZi4KCiAgIFVua25vd25f
UXVhcmsgOiBjb25zdGFudCBHUXVhcmsgOj0gMDsKCiAgIGZ1bmN0aW9uIFF1YXJrX0Zyb21fU3Ry
aW5nIChJZCA6IGluIFN0cmluZykgcmV0dXJuIEdRdWFyazsKICAgLS0gIFJldHVybiwgb3IgY3Jl
YXRlIHRoZSBxdWFyayBhc3NvY2lhdGVkIHdpdGggdGhlIHN0cmluZy4KICAgLS0gIE5vdGUgdGhh
dCBpZiB0aGUgcXVhcmsgZG9lcyBub3QgYWxyZWFkeSBleGlzdCwgYW4gZW50cnkgaXMgY3JlYXRl
ZCBmb3IKICAgLS0gIGl0IGluIHRoZSBnbG9iYWwgaHRhYmxlIGZvciBxdWFya3MuCgogICBmdW5j
dGlvbiBRdWFya19UcnlfU3RyaW5nIChJZCA6IGluIFN0cmluZykgcmV0dXJuIEdRdWFyazsKICAg
LS0gIFJldHVybiB0aGUgcXVhcmsgYXNzb2NpYXRlZCB3aXRoIHRoZSBzdHJpbmcsIGlmIGl0IGV4
aXN0cy4KICAgLS0gIElmIGl0IGRvZXMgbm90IGV4aXN0LCByZXR1cm4gVW5rbm93bl9RdWFyay4K
CnByaXZhdGUKICAgdHlwZSBDX0R1bW15IGlzIG51bGwgcmVjb3JkOwogICAtLSAgVGhpcyBhcnJh
eSBjYW4gY29udGFpbiBhbnl0aGluZywgc2luY2UgaXQgaXMgbmV2ZXIgdXNlZCBvbiB0aGUgQWRh
IHNpZGUKICAgLS0gIGFueXdheS4KCmVuZCBHbGliOwoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAGduYXRidWcvZ2RrLmFkcwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAwMTAwNjQ0ADAwMDE3NTEAMDAwMDAwMAAwMDAwMDAwNDY1MwAwNzU1MTEwNzYzMgAwMTI2MTEA
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABzcGF6
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHdoZWVsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAALS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLS0gICAgICAgICAgR3RrQWRhIC0gQWRhOTUg
YmluZGluZyBmb3IgdGhlIEdpbXAgVG9vbGtpdCAgICAgICAgICAgICAgLS0KLS0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
LS0KLS0gICAgICAgICAgICAgICAgICAgICBDb3B5cmlnaHQgKEMpIDE5OTgtMjAwMCAgICAgICAg
ICAgICAgICAgICAgICAgLS0KLS0gICAgICAgIEVtbWFudWVsIEJyaW90LCBKb2VsIEJyb2JlY2tl
ciBhbmQgQXJuYXVkIENoYXJsZXQgICAgICAgICAgLS0KLS0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciAg
ICAgLS0KLS0gbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi
bGljICAgICAgICAgICAgICAgLS0KLS0gTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyICAgICAgLS0KLS0gdmVyc2lvbiAyIG9mIHRoZSBM
aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLiAgLS0KLS0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLS0KLS0gVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg
aXQgd2lsbCBiZSB1c2VmdWwsICAgLS0KLS0gYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo
b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgICAgLS0KLS0gTUVSQ0hBTlRBQklMSVRZ
IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgLS0KLS0g
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLiAgICAgICAgICAgICAgICAg
ICAgICAgICAgLS0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljICAgICAgICAgLS0KLS0gTGljZW5zZSBhbG9u
ZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgICAgICAgICAgICAgLS0K
LS0gRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0
ZSAzMzAsICAgICAgLS0KLS0gQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gQXMgYSBzcGVj
aWFsIGV4Y2VwdGlvbiwgaWYgb3RoZXIgZmlsZXMgaW5zdGFudGlhdGUgZ2VuZXJpY3MgZnJvbSAg
LS0KLS0gdGhpcyB1bml0LCBvciB5b3UgbGluayB0aGlzIHVuaXQgd2l0aCBvdGhlciBmaWxlcyB0
byBwcm9kdWNlIGFuICAgLS0KLS0gZXhlY3V0YWJsZSwgdGhpcyAgdW5pdCAgZG9lcyBub3QgIGJ5
IGl0c2VsZiBjYXVzZSAgdGhlIHJlc3VsdGluZyAgLS0KLS0gZXhlY3V0YWJsZSB0byBiZSBjb3Zl
cmVkIGJ5IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4gVGhpcyAgLS0KLS0gZXhjZXB0
aW9uIGRvZXMgbm90IGhvd2V2ZXIgaW52YWxpZGF0ZSBhbnkgb3RoZXIgcmVhc29ucyB3aHkgdGhl
ICAgLS0KLS0gZXhlY3V0YWJsZSBmaWxlICBtaWdodCBiZSBjb3ZlcmVkIGJ5IHRoZSAgR05VIFB1
YmxpYyBMaWNlbnNlLiAgICAgLS0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi0tICA8ZGVzY3JpcHRpb24+Ci0t
Ci0tICBUaGlzIGlzIHRoZSB0b3AgbGV2ZWwgcGFja2FnZSBvZiB0aGUgR2RrIGhpZXJhcmNoeS4K
LS0gIEl0IHByb3ZpZGVzIHRoZSB0eXBlIGRlZmluaXRpb25zIHVzZWQgdG8gYWNjZXNzIHVuZGVy
bHlpbmcgQyBzdHJ1Y3R1cmVzLgotLQotLSAgPC9kZXNjcmlwdGlvbj4KCndpdGggR2xpYjsKCnBh
Y2thZ2UgR2RrIGlzCiAgIHByYWdtYSBQcmVlbGFib3JhdGU7CgogICBzdWJ0eXBlIENfUHJveHkg
aXMgR2xpYi5DX1Byb3h5OwogICB0eXBlIEdka19HQyBpcyBuZXcgQ19Qcm94eTsKICAgdHlwZSBH
ZGtfV2luZG93IGlzIG5ldyBDX1Byb3h5OwogICBzdWJ0eXBlIEdka19EcmF3YWJsZSBpcyBHZGtf
V2luZG93OwogICBzdWJ0eXBlIEdka19QaXhtYXAgaXMgR2RrX0RyYXdhYmxlOwogICBzdWJ0eXBl
IEdka19CaXRtYXAgaXMgR2RrX0RyYXdhYmxlOwoKZW5kIEdkazsKAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAGduYXRidWcvZ3RrLXdpZGdldC5hZHMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMTAw
NjQ0ADAwMDE3NTEAMDAwMDAwMAAwMDAwMDE1MTIwNQAwNzU1MTEwNzYzMgAwMTQxMDYAIDAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABzcGF6AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAHdoZWVsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAALS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLS0gICAgICAgICAgR3RrQWRhIC0gQWRhOTUgYmluZGlu
ZyBmb3IgdGhlIEdpbXAgVG9vbGtpdCAgICAgICAgICAgICAgLS0KLS0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0g
ICAgICAgICAgICAgICAgICAgICBDb3B5cmlnaHQgKEMpIDE5OTgtMjAwMCAgICAgICAgICAgICAg
ICAgICAgICAgLS0KLS0gICAgICAgIEVtbWFudWVsIEJyaW90LCBKb2VsIEJyb2JlY2tlciBhbmQg
QXJuYXVkIENoYXJsZXQgICAgICAgICAgLS0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciAgICAgLS0K
LS0gbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljICAg
ICAgICAgICAgICAgLS0KLS0gTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbjsgZWl0aGVyICAgICAgLS0KLS0gdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNl
LCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLiAgLS0KLS0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
LS0KLS0gVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls
bCBiZSB1c2VmdWwsICAgLS0KLS0gYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2
ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgICAgLS0KLS0gTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgLS0KLS0gR2VuZXJh
bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLiAgICAgICAgICAgICAgICAgICAgICAg
ICAgLS0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLS0KLS0gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv
ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljICAgICAgICAgLS0KLS0gTGljZW5zZSBhbG9uZyB3aXRo
IHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgICAgICAgICAgICAgLS0KLS0gRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAs
ICAgICAgLS0KLS0gQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLS0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gQXMgYSBzcGVjaWFsIGV4
Y2VwdGlvbiwgaWYgb3RoZXIgZmlsZXMgaW5zdGFudGlhdGUgZ2VuZXJpY3MgZnJvbSAgLS0KLS0g
dGhpcyB1bml0LCBvciB5b3UgbGluayB0aGlzIHVuaXQgd2l0aCBvdGhlciBmaWxlcyB0byBwcm9k
dWNlIGFuICAgLS0KLS0gZXhlY3V0YWJsZSwgdGhpcyAgdW5pdCAgZG9lcyBub3QgIGJ5IGl0c2Vs
ZiBjYXVzZSAgdGhlIHJlc3VsdGluZyAgLS0KLS0gZXhlY3V0YWJsZSB0byBiZSBjb3ZlcmVkIGJ5
IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4gVGhpcyAgLS0KLS0gZXhjZXB0aW9uIGRv
ZXMgbm90IGhvd2V2ZXIgaW52YWxpZGF0ZSBhbnkgb3RoZXIgcmVhc29ucyB3aHkgdGhlICAgLS0K
LS0gZXhlY3V0YWJsZSBmaWxlICBtaWdodCBiZSBjb3ZlcmVkIGJ5IHRoZSAgR05VIFB1YmxpYyBM
aWNlbnNlLiAgICAgLS0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi0tICA8ZGVzY3JpcHRpb24+Ci0tCi0tICBU
aGlzIHdpZGdldCBpcyB0aGUgYmFzZSBvZiB0aGUgdHJlZSBmb3IgZGlzcGxheWFibGUgb2JqZWN0
cy4KLS0gIChBIGRpc3BsYXlhYmxlIG9iamVjdCBpcyBvbmUgd2hpY2ggdGFrZXMgdXAgc29tZSBh
bW91bnQKLS0gIG9mIHNjcmVlbiByZWFsIGVzdGF0ZSkuIEl0IHByb3ZpZGVzIGEgY29tbW9uIGJh
c2UgYW5kIGludGVyZmFjZQotLSAgd2hpY2ggYWN0dWFsIHdpZGdldHMgbXVzdCBhZGhlcmUgdG8u
Ci0tCi0tICBUaGlzIHBhY2thZ2UgcHJvdmlkZXMgc29tZSBzZXJ2aWNlcyB3aGljaCBtaWdodCBo
YXZlIGJlZW4gbW9yZSBhcHByb3ByaWF0ZQotLSAgaW4gc29tZSBvdGhlciBwYWNrYWdlcywgYnV0
IGNvdWxkIG5vdCBiZWNhdXNlIG9mIGRlcGVuZGVuY3kgY2lyY3VsYXJpdGllcwotLSAgKHRoZXJl
IGFyZSBmb3IgaW5zdGFuY2Ugc29tZSBmdW5jdGlvbnMgcmVsYXRpbmcgdG8gY29sb3JzIGFuZCBj
b2xvcm1hcHMpLgotLSAgV2UgaGF2ZSB0cmllZCB0byByZWZlcmVuY2UgdGhlc2UgZnVuY3Rpb25z
IGluIHRoZSBvdGhlciBwYWNrYWdlcyBhcyB3ZWxsLgotLQotLSAgPC9kZXNjcmlwdGlvbj4KLS0g
IDxjX3ZlcnNpb24+MS4yLjY8L2NfdmVyc2lvbj4KCndpdGggR2RrLkNvbG9yOwp3aXRoIEdkay5F
dmVudDsKd2l0aCBHZGsuQml0bWFwOwp3aXRoIEdkay5SZWN0YW5nbGU7CndpdGggR2RrLlR5cGVz
Owp3aXRoIEdkay5WaXN1YWw7CndpdGggR2RrLldpbmRvdzsKd2l0aCBHdGsuQWNjZWxfR3JvdXA7
CndpdGggR3RrLkFkanVzdG1lbnQ7CndpdGggR3RrLkVudW1zOwp3aXRoIEd0ay5PYmplY3Q7Cndp
dGggR3RrLlN0eWxlOwp3aXRoIEdsaWIuR2xpc3Q7CndpdGggR2xpYi5HU2xpc3Q7CndpdGggU3lz
dGVtOwpwcmFnbWEgRWxhYm9yYXRlX0FsbCAoR2xpYi5HU2xpc3QpOwoKcGFja2FnZSBHdGsuV2lk
Z2V0IGlzCgogICB0eXBlIEd0a19XaWRnZXRfUmVjb3JkIGlzIG5ldyBPYmplY3QuR3RrX09iamVj
dF9SZWNvcmQgd2l0aCBwcml2YXRlOwogICB0eXBlIEd0a19XaWRnZXQgaXMgYWNjZXNzIGFsbCBH
dGtfV2lkZ2V0X1JlY29yZCdDbGFzczsKCiAgIHR5cGUgR3RrX1JlcXVpc2l0aW9uIGlzIHJlY29y
ZAogICAgICBXaWR0aCAgOiBHaW50MTY7CiAgICAgIEhlaWdodCA6IEdpbnQxNjsKICAgZW5kIHJl
Y29yZDsKICAgLS0gIEd0a19SZXF1aXNpdGlvbiBpcyB0aGUgZGVzaXJlZCBhbW91bnQgb2Ygc2Ny
ZWVuIHJlYWwtZXN0YXRlIGEgd2lkZ2V0CiAgIC0tICByZXF1ZXN0cyB0byB0aGUgc2VydmVyLiBJ
dHMgcmVhbCBhbGxvY2F0ZWQgc2l6ZSBtaWdodCBiZSBkaWZmZXJlbnQuCiAgIC0tICBTZWUgdGhl
IHNlY3Rpb24gaW4gdGhlIEd0a0FkYSB1c2VyIGd1aWRlIG9uIGhvdyB0byBjcmVhdGUgbmV3IHdp
ZGdldHMKICAgLS0gIGluIEFkYSwgYW5kIHRoZSBleGFtcGxlcy9iYXNlX3dpZGdldCBkaXJlY3Rv
cnkgZm9yIGFuIGV4YW1wbGUgb24gaG93IHRvCiAgIC0tICB1c2UgdGhpcy4KICAgcHJhZ21hIFBh
Y2sgKEd0a19SZXF1aXNpdGlvbik7CgogICB0eXBlIEd0a19SZXF1aXNpdGlvbl9BY2Nlc3MgaXMg
YWNjZXNzIGFsbCBHdGtfUmVxdWlzaXRpb247CiAgIC0tICBUaGlzIHR5cGUgaXMgdXNlZCB0byBj
cmVhdGUgbmV3IHdpZGdldHMuCgogICB0eXBlIEd0a19BbGxvY2F0aW9uIGlzIHJlY29yZAogICAg
ICBYICAgICAgOiBHaW50MTY7CiAgICAgIFkgICAgICA6IEdpbnQxNjsKICAgICAgV2lkdGggIDog
R3VpbnQxNjsKICAgICAgSGVpZ2h0IDogR3VpbnQxNjsKICAgZW5kIHJlY29yZDsKICAgLS0gIEd0
a19BbGxvY2F0aW9uIGluZGljYXRlcyBhIHNpemUgYW5kIHBvc2l0aW9uIGEgd2lkZ2V0IHdhcyBh
bGxvY2F0ZWQuCiAgIC0tICBTZWUgdGhlIHNlY3Rpb24gaW4gdGhlIHVzZXIgZ3VpZGUgb24gaG93
IHRvIGNyZWF0ZSBuZXcgd2lkZ2V0cyBmb3IgbW9yZQogICAtLSAgaW5mb3JtYXRpb24uCiAgIHBy
YWdtYSBQYWNrIChHdGtfQWxsb2NhdGlvbik7CgogICB0eXBlIEd0a19BbGxvY2F0aW9uX0FjY2Vz
cyBpcyBhY2Nlc3MgYWxsIEd0a19BbGxvY2F0aW9uOwogICAtLSAgVGhpcyB0eXBlIGlzIHVzZWQg
dG8gY3JlYXRlIG5ldyB3aWRnZXRzLgoKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAt
LSBXaWRnZXRzJyBsaWZlIGN5Y2xlIC0tCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiAg
IHByb2NlZHVyZSBJbml0aWFsaXplX1dpZGdldCAoV2lkZ2V0IDogYWNjZXNzIEd0a19XaWRnZXRf
UmVjb3JkJ0NsYXNzKTsKICAgLS0gIEludGVybmFsIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uLgog
ICAtLSAgU2VlIHRoZSBzZWN0aW9uICJDcmVhdGluZyB5b3VyIG93biB3aWRnZXRzIiBpbiB0aGUg
ZG9jdW1lbnRhdGlvbi4KCiAgIHByb2NlZHVyZSBEZXN0cm95X0NiIChXaWRnZXQgOiBhY2Nlc3Mg
R3RrX1dpZGdldF9SZWNvcmQnQ2xhc3MpOwogICAtLSAgVGhpcyBmdW5jdGlvbiBzaG91bGQgYmUg
dXNlZCBhcyBhIGNhbGxiYWNrIHRvIGRlc3Ryb3kgYSB3aWRnZXQuCiAgIC0tICBBbGwgaXQgZG9l
cyBpcyBjYWxsIERlc3Ryb3kgb24gaXRzIGFyZ3VtZW50LCBidXQgaXRzIHByb2ZpbGUgaXMKICAg
LS0gIGNvbXBhdGlibGUgd2l0aCB0aGUgaGFuZGxlcnMgZm91bmQgaW4gR3RrLkhhbmRsZXJzLgoK
ICAgcHJvY2VkdXJlIFVucGFyZW50IChXaWRnZXQgOiBhY2Nlc3MgR3RrX1dpZGdldF9SZWNvcmQn
Q2xhc3MpOwogICAtLSAgRGV0YWNoIHRoZSB3aWRnZXQgZnJvbSBpdHMgcGFyZW50LgogICAtLSAg
QXMgYSBzaWRlIGVmZmVjdCwgdGhlIHdpZGdldCB3aWxsIGJlIGVyYXNlZCBmcm9tIHRoZSBzY3Jl
ZW4uCiAgIC0tICBOb3RlIHRoYXQgV2lkZ2V0IHdpbGwgYmUgZGVzdHJveWVkIGlmIGl0cyByZWZl
cmVuY2UgY291bnQgcmVhY2hlcyAwLgogICAtLSAgVGh1cywgaWYgeW91IHdhbnQgdG8gcmV1c2Ug
aXQsIHlvdSBzaG91bGQgZmlyc3QgR3RrLk9iamVjdC5SZWYgaXQsCiAgIC0tICBiZWZvcmUgY2Fs
bGluZyBVbnBhcmVudC4KCiAgIHByb2NlZHVyZSBTaG93IChXaWRnZXQgOiBhY2Nlc3MgR3RrX1dp
ZGdldF9SZWNvcmQpOwogICAtLSAgU2NoZWR1bGUgdGhlIHdpZGdldCB0byBiZSBkaXNwbGF5ZWQg
b24gdGhlIHNjcmVlbiB3aGVuIGl0cyBwYXJlbnQgaXMKICAgLS0gIGFsc28gc2hvd24gKGVtaXRz
IHRoZSAic2hvdyIgc2lnbmFsKS4KICAgLS0gIElmIGl0cyBhbmNlc3RvcnMgYXJlIGFscmVhZHkg
bWFwcGVkIHRvIHRoZSBzY3JlZW4sIHRoZW4gdGhlIHdpZGdldCBpcwogICAtLSAgaW1tZWRpYXRl
bHkgZGlzcGxheWVkIHRocm91Z2ggYSBjYWxsIHRvIE1hcCBiZWxvdy4KCiAgIHByb2NlZHVyZSBT
aG93X05vdyAoV2lkZ2V0IDogYWNjZXNzIEd0a19XaWRnZXRfUmVjb3JkKTsKICAgLS0gIFNob3cg
dGhlIHdpZGdldC4KICAgLS0gIElmIGl0IGlzIGFuIHVubWFwcGVkIHRvcGxldmVsIHdpZGdldCwg
d2FpdCBmb3IgaXQgdG8gYmUgbWFwcGVkLiBUaGlzCiAgIC0tICBjcmVhdGVzIGEgcmVjdXJzaXZl
IG1haW5fbG9vcC4KCiAgIHByb2NlZHVyZSBIaWRlIChXaWRnZXQgOiBhY2Nlc3MgR3RrX1dpZGdl
dF9SZWNvcmQpOwogICAtLSAgSGlkZSB0aGUgd2lkZ2V0IGZyb20gdGhlIHNjcmVlbiAoZW1pdHMg
dGhlICJoaWRlIiBzaWduYWwpLgogICAtLSAgSWYgV2lkZ2V0IHdhcyB2aXNpYmxlLCBpdCBpcyBp
bW1lZGlhdGVseSBoaWRkZW4uCiAgIC0tICBJZiBvbmUgb2YgaXRzIGFuY2VzdG9yIGlzIGxhdGVy
IHNob3duIG9uIHRoZSBzY3JlZW4sIFdpZGdldCB3b24ndAogICAtLSAgYXBwZWFyLgoKICAgcHJv
Y2VkdXJlIFNob3dfQWxsIChXaWRnZXQgOiBhY2Nlc3MgR3RrX1dpZGdldF9SZWNvcmQpOwogICAt
LSAgU2hvdyBXaWRnZXQgYW5kIGFsbCBpdHMgY2hpbGRyZW4gcmVjdXJzaXZlbHkuCgogICBwcm9j
ZWR1cmUgSGlkZV9BbGwgKFdpZGdldCA6IGFjY2VzcyBHdGtfV2lkZ2V0X1JlY29yZCk7CiAgIC0t
ICBIaWRlIFdpZGdldCBhbmQgYWxsIGl0cyBjaGlsZHJlbi4KICAgLS0gIE5vdGUgdGhhdCBpZiB5
b3Ugc2ltcGx5IHdhbnQgdG8gZGVsZXRlIFdpZGdldCBmcm9tIHRoZSBzY3JlZW4sIHlvdSBjYW4K
ICAgLS0gIHNpbXBseSBjYWxsIHRoZSBIaWRlIHN1YnByb2dyYW0gb24gaXQuIFRoaXMgcHJvY2Vk
dXJlIEhpZGVfQWxsIHNob3VsZAogICAtLSAgb25seSBiZSB1c2VkIGlmIHlvdSB3YW50IHRvIHVu
c2NoZWR1bGUgYSB3aWRnZXQgdG8gYmUgZGlzcGxheWVkIGxhdGVyLAogICAtLSAgbm90IHRvIHJl
bW92ZSBhbiBhY3R1YWwgd2lkZ2V0IGZyb20gdGhlIHNjcmVlbi4KCiAgIHByb2NlZHVyZSBNYXAg
KFdpZGdldCA6IGFjY2VzcyBHdGtfV2lkZ2V0X1JlY29yZCk7CiAgIC0tICBNYXAgYSB3aWRnZXQg
dG8gdGhlIHNjcmVlbi4KICAgLS0gIEEgd2luZG93IGlzIGNyZWF0ZWQgZm9yIGl0IG9uIHRoZSBz
Y3JlZW4gKHRocm91Z2ggYSBjYWxsIHRvIFJlYWxpemUpIGFuZAogICAtLSAgV2lkZ2V0IGlzIHRo
ZW4gZHJhd24gb24gdGhlIHNjcmVlbiAoaWYgaXRzIGFuY2VzdG9ycyBhcmUgYWxzbyBtYXBwZWQp
LgogICAtLSAgVGhpcyBmdW5jdGlvbiBpcyByZWN1cnNpdmUgYW5kIHdpbGwgYWxzbyBtYXAgYWxs
IHRoZSBjaGlsZHJlbiBvZiBXaWRnZXQuCiAgIC0tCiAgIC0tICBJdCBpcyByZWNvbW1lbmRlZCB0
byB1c2UgdGhlIGhpZ2hlci1sZXZlbCBTaG93IGluc3RlYWQuCgogICBwcm9jZWR1cmUgVW5tYXAg
KFdpZGdldCA6IGFjY2VzcyBHdGtfV2lkZ2V0X1JlY29yZCk7CiAgIC0tICBVbm1hcCBhIHdpZGdl
dCBmcm9tIHRoZSBzY3JlZW4uCiAgIC0tICBUaGlzIHJlc3VsdHMgaW4gdGhlIHdpZGdldCBiZWlu
ZyBoaWRkZW4sIGJ1dCBub3QgZGVzdHJveWVkLiBJdCBjYW4gYmUKICAgLS0gIHNob3duIGFnYWlu
IGFueSB0aW1lIHRocm91Z2ggYSBjYWxsIHRvIE1hcCAocHJvdmlkZWQgaXRzIGFuY2VzdG9ycyBh
cmUKICAgLS0gIGFsc28gbWFwcGVkKS4KICAgLS0KICAgLS0gIEl0IGlzIHJlY29tbWVuZGVkIHRv
IHVzZSB0aGUgaGlnaGVyLWxldmVsIEhpZGUgaW5zdGVhZC4KCiAgIHByb2NlZHVyZSBSZWFsaXpl
IChXaWRnZXQgOiBhY2Nlc3MgR3RrX1dpZGdldF9SZWNvcmQpOwogICAtLSAgQ3JlYXRlIGEgd2lu
ZG93IGZvciBXaWRnZXQgYW5kIGl0cyBhbmNlc3RvcnMgKGVtaXQgdGhlICJyZWFsaXplIiBzaWdu
YWwpCiAgIC0tICBUaGlzIGRvZXMgbm90IG1lYW4gdGhhdCB0aGUgd2lkZ2V0IHdpbGwgYXBwZWFy
IG9uIHRoZSBzY3JlZW4sIGJ1dAogICAtLSAgcmVzb3VyY2VzIHN1Y2ggYXMgY29sb3JtYXBzLCBl
dGMuIGJlY29tZSBhdmFpbGFibGUuCiAgIC0tICBTb21lIHJvdXRpbmVzIHJlcXVpcmUgdGhhdCB0
aGUgd2lkZ2V0IGlzIHJlYWxpemVkIGJlZm9yZSBhbnkgY2FsbC4KICAgLS0gIFlvdSBtdXN0IHNl
dCB0aGUgRXZlbnRfTWFzayBiZWZvcmUgY2FsbGluZyB0aGlzIHJvdXRpbmUgaWYgeW91IHdhbnQg
dG8KICAgLS0gIGNoYW5nZSBpdCBmcm9tIGl0cyBkZWZhdWx0IHZhbHVlLgoKICAgcHJvY2VkdXJl
IFVucmVhbGl6ZSAoV2lkZ2V0IDogYWNjZXNzIEd0a19XaWRnZXRfUmVjb3JkKTsKICAgLS0gIEhp
ZGUgdGhlIHdpZGdldCBmcm9tIHRoZSBzY3JlZW4gYW5kIGRlbGV0ZXMgdGhlIGFzc29jaWF0ZWQg
d2luZG93LgogICAtLSAgVGhpcyBkb2VzIG5vdCBkZXN0cm95IHRoZSB3aWRnZXQgaXRzZWxmLCBv
bmx5IGl0cyBzZXJ2ZXItc2lkZQogICAtLSAgcmVzb3VyY2VzLgoKICAgZ2VuZXJpYwogICAgICB0
eXBlIFdpZGdldF9UeXBlIGlzIG5ldyBHdGtfV2lkZ2V0X1JlY29yZCB3aXRoIHByaXZhdGU7CiAg
ICAgIHdpdGggcHJvY2VkdXJlIFJlYWxpemVfUHJvYyAoV2lkZ2V0IDogYWNjZXNzIFdpZGdldF9U
eXBlJ0NsYXNzKTsKICAgcGFja2FnZSBSZWFsaXplX0hhbmRsaW5nIGlzCgogICAgICBwcm9jZWR1
cmUgU2V0X1JlYWxpemUgKFdpZGdldCA6IGFjY2VzcyBHdGtfV2lkZ2V0X1JlY29yZCdDbGFzcyk7
CiAgICAgIC0tICBTZXQgdGhlIHJlYWxpemUgaGFuZGxlciBhdCB0aGUgbG93IGxldmVsLgogICAg
ICAtLSAgVGhpcyBpcyBuZWVkZWQgdG8gcmVwbGFjZSB0aGUgZGVmYXVsdCByZWFsaXplIGluIG5l
dyB3aWRnZXRzLgoKICAgZW5kIFJlYWxpemVfSGFuZGxpbmc7CgogICBmdW5jdGlvbiBHZXRfVHlw
ZSByZXR1cm4gR3RrLkd0a19UeXBlOwogICAtLSAgUmV0dXJuIHRoZSBpbnRlcm5hbCB2YWx1ZSBh
c3NvY2lhdGVkIHdpdGggYSBHdGtfV2lkZ2V0LgoKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQog
ICAtLSBEcmF3aW5nIGEgd2lkZ2V0IC0tCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiAgIHBy
b2NlZHVyZSBRdWV1ZV9EcmF3IChXaWRnZXQgOiBhY2Nlc3MgR3RrX1dpZGdldF9SZWNvcmQpOwog
ICAtLSAgQWRkIGEgZHJhd2luZyByZXF1ZXN0IHRvIHRoZSBldmVudCBxdWV1ZSBmb3IgdGhlIHdo
b2xlIHdpZGdldC4KICAgLS0gIFRoaXMgaXMgbW9yZSBlZmZpY2llbnQgdGhhbiBjYWxsaW5nIERy
YXcgZGlyZWN0bHksIHNpbmNlIEd0a0FkYSBncm91cHMKICAgLS0gIGRyYXdpbmcgcmVxdWVzdHMg
YXMgbXVjaCBhcyBwb3NzaWJsZSB0byBzcGVlZCB1cCB0aGUgZHJhd2luZyBwcm9jZXNzLgogICAt
LSAgVGhlIGFjdHVhbCBkcmF3aW5nIHdpbGwgdGFrZSBwbGFjZSBhcyBzb29uIGFzIEd0a0FkYSBp
cyBub3QgYnVzeQogICAtLSAgcHJvY2Vzc2luZyBvdGhlciBldmVudHMsIGJ1dCBiZWZvcmUgaWRs
ZSBldmVudHMuCgogICBwcm9jZWR1cmUgUXVldWVfRHJhd19BcmVhCiAgICAgKFdpZGdldCA6IGFj
Y2VzcyBHdGtfV2lkZ2V0X1JlY29yZDsKICAgICAgWCAgICAgIDogR2ludDsKICAgICAgWSAgICAg
IDogR2ludDsKICAgICAgV2lkdGggIDogR2ludDsKICAgICAgSGVpZ2h0IDogR2ludCk7CiAgIC0t
ICBBZGQgYSBkcmF3aW5nIHJlcXVlc3QgdG8gdGhlIGV2ZW50IHF1ZXVlIGZvciBwYXJ0IG9mIHRo
ZSB3aWRnZXQuCiAgIC0tICBUaGlzIGlzIG1vcmUgZWZmaWNpZW50IHRoYXQgY2FsbGluZyBEcmF3
IGRpcmVjdGx5IChzZWUgUXVldWVfRHJhdykuCgogICBwcm9jZWR1cmUgUXVldWVfQ2xlYXIgKFdp
ZGdldCA6IGFjY2VzcyBHdGtfV2lkZ2V0X1JlY29yZCk7CiAgIC0tICBBZGQgYSBjbGVhciByZXF1
ZXN0IHRvIHRoZSBldmVudCBxdWV1ZSBmb3IgdGhlIHdob2xlIHdpZGdldC4KICAgLS0gIFRoaXMg
aXMgYWRkZWQgdG8gdGhlIHNhbWUgbGlzdCBhcyBmb3IgUXVldWVfRHJhdywgYW5kIHRodXMgaXMg
Y29hbGVzY2VkCiAgIC0tICBhcyBtdWNoIGFzIHBvc3NpYmxlIHdpdGggb3RoZXIgZHJhd2luZyBy
ZXF1ZXN0cy4KCiAgIHByb2NlZHVyZSBRdWV1ZV9DbGVhcl9BcmVhCiAgICAgKFdpZGdldCA6IGFj
Y2VzcyBHdGtfV2lkZ2V0X1JlY29yZDsKICAgICAgWCAgICAgIDogR2ludDsKICAgICAgWSAgICAg
IDogR2ludDsKICAgICAgV2lkdGggIDogR2ludDsKICAgICAgSGVpZ2h0IDogR2ludCk7CiAgIC0t
ICBBZGQgYSBjbGVhciByZXF1ZXN0IHRvIHRoZSBldmVudCBxdWV1ZSBmb3IgcGFydCBvZiB0aGUg
d2lkZ2V0LgogICAtLSAgVGhpcyBpcyBhZGRlZCB0byB0aGUgc2FtZSBsaXN0IGFzIGZvciBRdWV1
ZV9EcmF3LCBhbmQgdGh1cyBpcyBjb2FsZXNjZWQKICAgLS0gIGFzIG11Y2ggYXMgcG9zc2libGUg
d2l0aCBvdGhlciBkcmF3aW5nIHJlcXVlc3RzLgoKICAgcHJvY2VkdXJlIFF1ZXVlX1Jlc2l6ZSAo
V2lkZ2V0IDogYWNjZXNzIEd0a19XaWRnZXRfUmVjb3JkKTsKICAgLS0gIFF1ZXVlIGRyYXdpbmcg
cmVxdWVzdHMgYWZ0ZXIgYSByZXNpemluZyBvZiB0aGUgd2lkZ2V0LgogICAtLSAgVGhpcyBjbGVh
cnMgdGhlIHdpZGdldCwgYW5kIGl0cyBwYXJlbnQgaWYgYW55LCBzbyB0aGF0IGV2ZXJ5dGhpbmcg
aXMKICAgLS0gIGNvcnJlY3RseSByZWRyYXduLgogICAtLSAgWW91IHNob3VsZCBub3QgaGF2ZSB0
byBjYWxsIHRoaXMgZnVuY3Rpb24gZGlyZWN0bHkuCgogICBwcm9jZWR1cmUgRHJhdwogICAgIChX
aWRnZXQgOiBhY2Nlc3MgR3RrX1dpZGdldF9SZWNvcmQ7CiAgICAgIEFyZWEgICA6IGluIEdkay5S
ZWN0YW5nbGUuR2RrX1JlY3RhbmdsZSA6PSBHZGsuUmVjdGFuZ2xlLkZ1bGxfQXJlYSk7CiAgIC0t
ICBFbWl0IGEgImRyYXciIHNpZ25hbCBmb3IgYSBzcGVjaWZpYyBhcmVhIG9mIHRoZSB3aWRnZXQu
CiAgIC0tICBUaGUgdmlzdWFsIGFzcGVjdCBtaWdodCBiZSBkaWZmZXJlbnQgd2hldGhlciB0aGUg
d2lkZ2V0IGhhcyB0aGUgZm9jdXMKICAgLS0gIG9yIG5vdC4KCiAgIHByb2NlZHVyZSBEcmF3X0Zv
Y3VzIChXaWRnZXQgOiBhY2Nlc3MgR3RrX1dpZGdldF9SZWNvcmQpOwogICAtLSAgRW1pdCBhICJk
cmF3X2ZvY3VzIiBzaWduYWwgZm9yIHRoZSB3aWRnZXQuCiAgIC0tICBUaGUgd2lkZ2V0IHdpbGwg
YmUgcGFpbnRlZCBhcyBpdCBhcHBlYXJzIHdoZW4gaXQgaGFzIHRoZSBmb2N1cy4KCiAgIHByb2Nl
ZHVyZSBEcmF3X0RlZmF1bHQgKFdpZGdldCA6IGFjY2VzcyBHdGtfV2lkZ2V0X1JlY29yZCk7CiAg
IC0tICBFbWl0IGEgImRyYXdfZGVmYXVsdCIgc2lnbmFsIGZvciB0aGUgd2lkZ2V0LgogICAtLSAg
VGhlIHdpZGdldCB3aWxsIGJlIHBhaW50ZWQgYXMgaXQgYXBwZWFycyB3aGVuIGl0IGRvZXNuJ3Qg
aGF2ZSB0aGUgZm9jdXMuCgogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAtLSBTaXplIGFu
ZCBwb3NpdGlvbiAtLQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKICAgcHJvY2VkdXJlIFNp
emVfUmVxdWVzdAogICAgIChXaWRnZXQgICAgICA6IGFjY2VzcyBHdGtfV2lkZ2V0X1JlY29yZDsK
ICAgICAgUmVxdWlzaXRpb24gOiBpbiBvdXQgR3RrX1JlcXVpc2l0aW9uKTsKICAgLS0gIEVtaXQg
YSAic2l6ZV9yZXF1ZXN0IiBldmVudCBmb3IgdGhlIHdpZGdldAoKICAgcHJvY2VkdXJlIFNpemVf
QWxsb2NhdGUKICAgICAoV2lkZ2V0ICAgICA6IGFjY2VzcyBHdGtfV2lkZ2V0X1JlY29yZDsKICAg
ICAgQWxsb2NhdGlvbiA6IGluIG91dCBHdGtfQWxsb2NhdGlvbik7CiAgIC0tICBFbWl0IGEgInNp
emVfYWxsb2NhdGUiIGV2ZW50IGZvciB0aGUgd2lkZ2V0LgogICAtLSAgQWxsb2NhdGlvbidzaXpl
IGlzIGZpcnN0IGNvbnN0cmFpbmVkIHRvIGEgcmFuZ2UgYmV0d2VlbiAxeDEgYW5kCiAgIC0tICAz
Mjc2N3gzMjc2Ny4KICAgLS0gIEEgY2xlYXIgYW5kIGRyYXcgcmVxdWVzdCBpcyBhbHNvIHF1ZXVl
ZCBpZiByZXF1aXJlZC4KCiAgIGZ1bmN0aW9uIEdldF9DaGlsZF9SZXF1aXNpdGlvbgogICAgIChX
aWRnZXQgOiBhY2Nlc3MgR3RrX1dpZGdldF9SZWNvcmQpIHJldHVybiBHdGtfUmVxdWlzaXRpb247
CiAgIC0tICBSZXR1cm4gdGhlIHNpemUgcmVxdWVzdHMgYnkgdGhlIHdpZGdldC4KICAgLS0gIFRo
aXMgaXMgdGhlIGlkZWFsIHNpemUgZm9yIHRoZSB3aWRnZXQsIG5vdCBuZWNlc3NhcmlseSBpdHMg
YWN0dWFsIHNpemUuCiAgIC0tICBTZWUgdGhlIHVzZXIgZ3VpZGUncyBzZWN0aW9uIG9uIGhvdyB0
byBjcmVhdGUgbmV3IHdpZGdldHMgZm9yIG1vcmUKICAgLS0gIGluZm9ybWF0aW9uIG9uIHRoZSBz
aXplIHJlcXVpc2l0aW9uIGFuZCBhbGxvY2F0aW9uLgoKICAgcHJvY2VkdXJlIFNldF9VUG9zaXRp
b24KICAgICAoV2lkZ2V0IDogYWNjZXNzIEd0a19XaWRnZXRfUmVjb3JkOwogICAgICBYLCBZICAg
OiBpbiBHaW50KTsKICAgLS0gIE1vZGlmeSB0aGUgcG9zaXRpb24gb2YgdGhlIHdpZGdldC4KICAg
LS0gIFRoaXMgc2hvdWxkIGJlIHVzZWQgb25seSBmb3IgdG9wbGV2ZWwgd2lkZ2V0cyAod2luZG93
cyBhbmQgZGlhbG9ncyksCiAgIC0tICBzaW5jZSBvdGhlciB3aWRnZXRzJyBwb3NpdGlvbnMgYXJl
IGhhbmRsZWQgYnkgdGhlaXIgcGFyZW50LgoKICAgcHJvY2VkdXJlIFNldF9VU2l6ZQogICAgIChX
aWRnZXQgOiBhY2Nlc3MgR3RrX1dpZGdldF9SZWNvcmQ7CiAgICAgIFdpZHRoLCBIZWlnaHQgOiBp
biBHaW50KTsKICAgLS0gIE1vZGlmeSB0aGUgc2l6ZSBvZiB0aGUgd2lkZ2V0LgogICAtLSAgVGhp
cyBzZXRzIGFuIGFic29sdXRlIHNpemUgZm9yIHRoZSB3aWRnZXQsIG5vIG1hdHRlciB3aGF0IGl0
cyByZXF1ZXN0ZWQKICAgLS0gIHNpemUgd291bGQgYmUuIEZvciBHdGtfV2luZG93cywgeW91IHNo
b3VsZCBjb25zaWRlciB1c2luZwogICAtLSAgU2V0X0RlZmF1bHRfU2l6ZSBpbnN0ZWFkLCB3aGlj
aCBzZXRzIGEgbWluaW1hbCBzaXplLCBidXQgdXNlIHRoZQogICAtLSAgd2lkZ2V0J3MgcmVxdWVz
dGVkIHNpemUgaWYgaXQgaXMgYmlnZ2VyLgogICAtLSAgSWYgV2lkdGggb3IgSGVpZ2h0IGlzIG5l
Z2F0aXZlLCB0aGV5IGFyZSBpZ25vcmVkLCBhbmQgdGhlIHdpZGdldCdzCiAgIC0tICBkZWZhdWx0
IHdpZHRoIGlzIGtlcHQuCgogICBmdW5jdGlvbiBHZXRfQWxsb2NhdGlvbl9XaWR0aAogICAgIChX
aWRnZXQgOiBhY2Nlc3MgR3RrX1dpZGdldF9SZWNvcmQpIHJldHVybiBHdWludDsKICAgLS0gIFJl
dHVybiB0aGUgY3VycmVudCB3aWR0aCBvZiB0aGUgd2lkZ2V0LgoKICAgZnVuY3Rpb24gR2V0X0Fs
bG9jYXRpb25fSGVpZ2h0CiAgICAgKFdpZGdldCA6IGFjY2VzcyBHdGtfV2lkZ2V0X1JlY29yZCkg
cmV0dXJuIEd1aW50OwogICAtLSAgUmV0dXJuIHRoZSBjdXJyZW50IGhlaWdodCBvZiB0aGUgd2lk
Z2V0LgoKICAgZnVuY3Rpb24gR2V0X0FsbG9jYXRpb25fWCAoV2lkZ2V0IDogYWNjZXNzIEd0a19X
aWRnZXRfUmVjb3JkKSByZXR1cm4gR2ludDsKICAgLS0gIFJldHVybiB0aGUgY3VycmVudCBwb3Np
dGlvbiBvZiB0aGUgd2lkZ2V0LCByZWxhdGl2ZSB0byBpdHMgcGFyZW50LgoKICAgZnVuY3Rpb24g
R2V0X0FsbG9jYXRpb25fWSAoV2lkZ2V0IDogYWNjZXNzIEd0a19XaWRnZXRfUmVjb3JkKSByZXR1
cm4gR2ludDsKICAgLS0gIFJldHVybiB0aGUgY3VycmVudCBwb3NpdGlvbiBvZiB0aGUgd2lkZ2V0
LCByZWxhdGl2ZSB0byBpdHMgcGFyZW50LgoKICAgLS0tLS0tLS0tLS0tLS0tLS0tCiAgIC0tIEFj
Y2VsZXJhdG9ycyAtLQogICAtLS0tLS0tLS0tLS0tLS0tLS0KCiAgIHByb2NlZHVyZSBBZGRfQWNj
ZWxlcmF0b3IKICAgICAoV2lkZ2V0ICAgICAgIDogYWNjZXNzIEd0a19XaWRnZXRfUmVjb3JkOwog
ICAgICBBY2NlbF9TaWduYWwgOiBpbiBTdHJpbmc7CiAgICAgIEFjY2VsX0dyb3VwICA6IGluIEd0
ay5BY2NlbF9Hcm91cC5HdGtfQWNjZWxfR3JvdXA7CiAgICAgIEFjY2VsX0tleSAgICA6IGluIEdk
ay5UeXBlcy5HZGtfS2V5X1R5cGU7CiAgICAgIEFjY2VsX01vZHMgICA6IGluIEdkay5UeXBlcy5H
ZGtfTW9kaWZpZXJfVHlwZTsKICAgICAgQWNjZWxfRmxhZ3MgIDogaW4gR3RrLkFjY2VsX0dyb3Vw
Lkd0a19BY2NlbF9GbGFncyk7CiAgIC0tICBBZGQgYSBuZXcgYWNjZWxlcmF0b3IgZm9yIHRoZSB3
aWRnZXQuCiAgIC0tICBUaGUgc2lnbmFsIEFjY2VsX1NpZ25hbCB3aWxsIGJlIHNlbnQgdG8gV2lk
Z2V0IHdoZW4gdGhlIG1hdGNoaW5nCiAgIC0tICBrZXkgaXMgcHJlc3NlZCBhbmQgdGhlIHdpZGdl
dCBoYXMgdGhlIGZvY3VzLgoKICAgcHJvY2VkdXJlIFJlbW92ZV9BY2NlbGVyYXRvcgogICAgIChX
aWRnZXQgICAgICAgOiBhY2Nlc3MgR3RrX1dpZGdldF9SZWNvcmQ7CiAgICAgIEFjY2VsX0dyb3Vw
ICA6IGluIEd0ay5BY2NlbF9Hcm91cC5HdGtfQWNjZWxfR3JvdXA7CiAgICAgIEFjY2VsX0tleSAg
ICA6IGluIEdkay5UeXBlcy5HZGtfS2V5X1R5cGU7CiAgICAgIEFjY2VsX01vZHMgICA6IGluIEdk
ay5UeXBlcy5HZGtfTW9kaWZpZXJfVHlwZSk7CiAgIC0tICBSZW1vdmUgYW4gYWNjZWxlcmF0b3Ig
Zm9yIHRoZSB3aWRnZXQuCgogICBwcm9jZWR1cmUgUmVtb3ZlX0FjY2VsZXJhdG9ycwogICAgIChX
aWRnZXQgICAgICAgOiBhY2Nlc3MgR3RrX1dpZGdldF9SZWNvcmQ7CiAgICAgIEFjY2VsX1NpZ25h
bCA6IGluIFN0cmluZzsKICAgICAgVmlzaWJsZV9Pbmx5IDogaW4gQm9vbGVhbiA6PSBUcnVlKTsK
ICAgLS0gIFJlbW92ZSBhbGwgdGhlIGFjY2VsZXJhdG9ycyBmb3IgdGhlIHdpZGdldCB0aGF0IGVt
aXRzIHRoZSBBY2NlbF9TaWduYWwKICAgLS0gIHNpZ25hbCB3aGVuIHRoZSBrZXkgaXMgcHJlc3Nl
ZC4KICAgLS0gIFZpc2libGVfT25seSBpcyBjdXJyZW50bHkgdW51c2VkIGluIHRoZSBjb2RlIG9m
IGd0aysuCgogICBmdW5jdGlvbiBBY2NlbGVyYXRvcl9TaWduYWwKICAgICAoV2lkZ2V0ICAgICAg
IDogYWNjZXNzIEd0a19XaWRnZXRfUmVjb3JkOwogICAgICBBY2NlbF9Hcm91cCAgOiBpbiBHdGsu
QWNjZWxfR3JvdXAuR3RrX0FjY2VsX0dyb3VwOwogICAgICBBY2NlbF9LZXkgICAgOiBpbiBHZGsu
VHlwZXMuR2RrX0tleV9UeXBlOwogICAgICBBY2NlbF9Nb2RzICAgOiBpbiBHZGsuVHlwZXMuR2Rr
X01vZGlmaWVyX1R5cGUpIHJldHVybiBHdWludDsKICAgLS0gIFJldHVybiB0aGUgc2lnbmFsIGlk
IG9mIHRoZSBzaWduYWwgZW1pdHRlZCB3aGVuIEFjY2VsX0tleSBpcyBwcmVzc2VkCiAgIC0tICBp
bnNpZGUgdGhlIHdpZGdldC4KCiAgIHByb2NlZHVyZSBMb2NrX0FjY2VsZXJhdG9ycyAoV2lkZ2V0
IDogYWNjZXNzIEd0a19XaWRnZXRfUmVjb3JkKTsKICAgLS0gIExvY2sgdGhlIGFjY2VsZXJhdG9y
cyBmb3IgdGhlIHdpZGdldC4KICAgLS0gIE5vIG5ldyBhY2NlbGVyYXRvciBjYW4gYmUgYWRkZWQg
dG8gV2lkZ2V0ICh0aGUgZGVmYXVsdCBiZWhhdmlvciBpcwogICAtLSAgdGhhdCB0aGUgdXNlciBj
YW4gZHluYW1pY2FsbHkgY3JlYXRlIG5ldyBhY2NlbGVyYXRvcnMsIGZvciBpbnN0YW5jZQogICAt
LSAgYnkgcHJlc3NpbmcgYSBub3QteWV0IGFzc2lnbmVkIGtleSBvbiBhbnkgbWVudSBpdGVtLgog
ICAtLSAgSWYgeW91IGNhbGwgdGhpcyBmdW5jdGlvbiBvbiB0aGUgbWVudV9pdGVtLCB0aGlzIGJl
aGF2aW9yIHdpbGwgbm90CiAgIC0tICBsb25nZXIgYmUgYWN0aXZhdGVkLgoKICAgcHJvY2VkdXJl
IFVubG9ja19BY2NlbGVyYXRvcnMgKFdpZGdldCA6IGFjY2VzcyBHdGtfV2lkZ2V0X1JlY29yZCk7
CiAgIC0tICBVbmxvY2sgdGhlIGFjY2VsZXJhdG9ycyBmb3IgdGhlIHdpZGdldC4KICAgLS0gIEl0
IGlzIG5vdyBwb3NzaWJsZSB0byBhZGQgbmV3IGFjY2VsZXJhdG9ycyB0byB0aGUgd2lkZ2V0LgoK
ICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAtLSAgRXZlbnRzIGFuZCBzaWduYWxzIC0t
CiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiAgIGZ1bmN0aW9uIEV2ZW50CiAgICAgKFdp
ZGdldCA6IGFjY2VzcyBHdGtfV2lkZ2V0X1JlY29yZCdDbGFzczsKICAgICAgRXZlbnQgIDogR2Rr
LkV2ZW50Lkdka19FdmVudCkgcmV0dXJuIEdpbnQ7CiAgIC0tICBFbWl0IGEgc2lnbmFsIG9uIHRo
ZSB3aWRnZXQuCiAgIC0tICBUaGUgZXhhY3Qgc2lnbmFsIGRlcGVuZHMgb24gdGhlIGV2ZW50IHR5
cGUgKGkuZS4gaWYgdGhlIHR5cGUgaXMKICAgLS0gIEdka19CdXR0b25fUHJlc3MsIHRoZW4gYSAi
YnV0dG9uX3ByZXNzIiBzaWduYWwgaXMgZW1pdHRlZCkuCgogICBwcm9jZWR1cmUgQWN0aXZhdGUg
KFdpZGdldCA6IGFjY2VzcyBHdGtfV2lkZ2V0X1JlY29yZCk7CiAgIC0tICBFbWl0IGFuIGFjdGl2
YXRlIHNpZ25hbCBvbiB0aGUgd2lkZ2V0LgogICAtLSAgVGhlIGV4YWN0IHNpZ25hbCBlbWl0dGVk
IGRlcGVuZHMgb24gdGhlIHdpZGdldCB0eXBlIChpLmUuIGZvciBhCiAgIC0tICBHdGtfQnV0dG9u
IHRoaXMgZW1pdHMgYSAiY2xpY2tlZCIgc2lnbmFsLCBmb3IgYSBHdGtfRWRpdGFibGUgdGhpcyBl
bWl0cwogICAtLSAgdGhlICJhY3RpdmF0ZSIgc2lnbmFsLCAuLi4pLgoKICAgcHJvY2VkdXJlIEdy
YWJfRm9jdXMgKFdpZGdldCA6IGFjY2VzcyBHdGtfV2lkZ2V0X1JlY29yZCk7CiAgIC0tICBFbWl0
IHRoZSAiZ3JhYl9mb2N1cyIgc2lnbmFsIGZvciB0aGUgd2lkZ2V0LgogICAtLSAgVGhpcyBpcyBz
ZW50IHdoZW4gdGhlIHdpZGdldCBnZXRzIHRoZSBmb2N1cy4gSXRzIHZpc3VhbCBhc3BlY3QgbWln
aHQKICAgLS0gIGNoYW5nZS4KICAgLS0gIFRoZSAiQ2FuX0ZvY3VzIiBmbGFnIG11c3QgaGF2ZSBi
ZWVuIHNldCBmaXJzdC4KCiAgIHByb2NlZHVyZSBTZXRfRXZlbnRzCiAgICAgKFdpZGdldCA6IGFj
Y2VzcyBHdGtfV2lkZ2V0X1JlY29yZDsKICAgICAgRXZlbnRzIDogaW4gICAgIEdkay5UeXBlcy5H
ZGtfRXZlbnRfTWFzayk7CiAgIC0tICBTZXRzIHRoZSBldmVudCBtYXNrIGZvciB0aGUgd2lkZ2V0
LgogICAtLSAgV2lkZ2V0IHNob3VsZCBub3QgaGF2ZSBiZWVuIHJlYWxpemVkIGJlZm9yZSwgb3Ig
bm90aGluZyBpcyBkb25lLgogICAtLSAgVGhpcyBpcyB0aGUgb25seSB3YXkgeW91IGNhbiBleHBs
aWNpdGx5IGdldCBtb3VzZSBvciBrZXlib2FyZHMgZXZlbnRzIG9uCiAgIC0tICB3aWRnZXRzIHRo
YXQgZG8gbm90IGF1dG9tYXRpY2FsbHkgZ2V0IHRoZW0sIGFzIGZvciBpbnN0YW5jZSBpbiBhCiAg
IC0tICBHdGtfRHJhd2luZ19BcmVhLgoKICAgZnVuY3Rpb24gR2V0X0V2ZW50cwogICAgIChXaWRn
ZXQgOiBhY2Nlc3MgR3RrX1dpZGdldF9SZWNvcmQpIHJldHVybiBHZGsuVHlwZXMuR2RrX0V2ZW50
X01hc2s7CiAgIC0tICBHZXQgdGhlIGV2ZW50IG1hc2sgZm9yIHRoZSB3aWRnZXQuCiAgIC0tICBU
aGlzIGluZGljYXRlcyB0aGUgbGlzdCBvZiBldmVudHMgdGhhdCB0aGUgd2lkZ2V0IHJlY2VpdmVz
LgoKICAgcHJvY2VkdXJlIEFkZF9FdmVudHMKICAgICAoV2lkZ2V0IDogYWNjZXNzIEd0a19XaWRn
ZXRfUmVjb3JkOwogICAgICBFdmVudHMgOiBpbiAgICAgR2RrLlR5cGVzLkdka19FdmVudF9NYXNr
KTsKICAgLS0gIEFkZCBzb21lIGV2ZW50cyB0byB0aGUgY3VycmVudCBldmVudCBtYXNrIG9mIHRo
ZSB3aWRnZXQuCgogICBwcm9jZWR1cmUgU2V0X0V4dGVuc2lvbl9FdmVudHMKICAgICAoV2lkZ2V0
IDogYWNjZXNzIEd0a19XaWRnZXRfUmVjb3JkOwogICAgICBNb2RlICAgOiBpbiAgICAgR2RrLlR5
cGVzLkdka19FeHRlbnNpb25fTW9kZSk7CiAgIC0tICBTZXQgdGhlIGV4dGVuc2lvbiBldmVudCBt
YXNrIGZvciB0aGUgd2lkZ2V0LgogICAtLSAgVGhpcyBpcyB1c2VkIHRvIGFjdGl2YXRlIHNvbWUg
c3BlY2lhbCBpbnB1dCBtb2RlcyBmb3Igb3RoZXIgZGV2aWNlcyB0aGFuCiAgIC0tICBrZXlib2Fy
ZCBhbmQgbW91c2UuCgogICBmdW5jdGlvbiBHZXRfRXh0ZW5zaW9uX0V2ZW50cwogICAgIChXaWRn
ZXQgOiBhY2Nlc3MgR3RrX1dpZGdldF9SZWNvcmQpIHJldHVybiBHZGsuVHlwZXMuR2RrX0V4dGVu
c2lvbl9Nb2RlOwogICAtLSAgUmV0dXJuIHRoZSBjdXJyZW50IGV4dGVuc2lvbiBldmVudHMgbWFz
ay4KCiAgIGZ1bmN0aW9uIERlZmF1bHRfTW90aW9uX05vdGlmeV9FdmVudAogICAgIChXaWRnZXQg
OiBhY2Nlc3MgR3RrX1dpZGdldF9SZWNvcmQnQ2xhc3M7CiAgICAgIEV2ZW50ICA6IEdkay5FdmVu
dC5HZGtfRXZlbnQpIHJldHVybiBHaW50OwogICAtLSAgQWNjZXNzIHRvIHRoZSBzdGFuZGFyZCBk
ZWZhdWx0IGNhbGxiYWNrIGZvciBtb3Rpb24gZXZlbnRzOgogICAtLSAgVGhpcyBpcyBtYWlubHkg
dXNlZCBmb3IgcnVsZXJzIGluIEd0ay5SdWxlciAoU2VlIHRoZSBleGFtcGxlIGluCiAgIC0tICB0
ZXN0Z3RrLCB3aXRoIGNyZWF0ZV9ydWxlcnMuYWRiKQoKICAgZnVuY3Rpb24gSGFzX0RlZmF1bHRf
TW90aW9uX05vdGlmeV9IYW5kbGVyCiAgICAgKFdpZGdldCA6IGFjY2VzcyBHdGtfV2lkZ2V0X1Jl
Y29yZCdDbGFzcykgcmV0dXJuIEJvb2xlYW47CiAgIC0tICBSZXR1cm4gVHJ1ZSBpZiBXaWRnZXQg
aGFzIGEgZGVmYXVsdCBoYW5kbGVyIGZvciBtb3Rpb25fbm90aWZ5IGV2ZW50cy4KICAgLS0gIE5v
dGUgdGhhdCB0aGUgZnVuY3Rpb24gRGVmYXVsdF9Nb3Rpb25fTm90aWZ5X0V2ZW50IHNob3VsZCBu
b3QgYmUgY2FsbGVkCiAgIC0tICBpZiB0aGlzIG9uZSByZXR1cm5zIEZhbHNlLCBzaW5jZSBpdCB3
b3VsZCBjcmVhdGUgYSBzZWdtZW50YXRpb24gZmF1bHQuCgogICAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQogICAtLSBDb2xvcnMgYW5kIGNvbG9ybWFwcyAtLQogICAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQoKICAgZnVuY3Rpb24gR2V0X0NvbG9ybWFwCiAgICAgKFdpZGdldCA6IGFjY2Vz
cyBHdGtfV2lkZ2V0X1JlY29yZCkgcmV0dXJuIEdkay5Db2xvci5HZGtfQ29sb3JtYXA7CiAgIC0t
ICBSZXR1cm4gdGhlIGNvbG9ybWFwIHVzZWQgZm9yIHRoZSB3aWRnZXQuIFRoaXMgd2lsbCBnZW5l
cmFsbHkgYmUgdGhlCiAgIC0tICBzYW1lIG9uZSBmb3IgYWxsIHdpZGdldHMsIGJ1dCBtaWdodCBi
ZSBkaWZmZXJlbnQgaWYgZm9yIGluc3RhbmNlIGEKICAgLS0gIEd0a19EcmF3aW5nX0FyZWEgbmVl
ZHMgdG8gZGlzcGxheSBzb21lIGRpZmZlcmVudCBjb2xvcnMgb24gYSBzY3JlZW4KICAgLS0gIHRo
YXQgb25seSBoYXMgYSBsaW1pdGVkIGFtb3VudCBvZiBjb2xvcnMuCgogICBmdW5jdGlvbiBHZXRf
VmlzdWFsCiAgICAgKFdpZGdldCA6IGFjY2VzcyBHdGtfV2lkZ2V0X1JlY29yZCkgcmV0dXJuIEdk
ay5WaXN1YWwuR2RrX1Zpc3VhbDsKICAgLS0gIEdldCB0aGUgdmlzdWFsIHVzZWQgZm9yIHRoZSB3
aWRnZXQuCiAgIC0tICBJLmUuIHRoZSBzdHJ1Y3R1cmUgdGhhdCBpbmRpY2F0ZXMgdGhlIGRlcHRo
IG9mIHRoZSB3aWRnZXQgKG51bWJlciBvZgogICAtLSAgYml0cyBwZXIgcGl4ZWwpLCBhbmQgc29t
ZSBpbmZvcm1hdGlvbiB1c2VkIGludGVybmFsbHkgYnkgR3RrQWRhIHRvCiAgIC0tICBoYW5kbGUg
Y29sb3JzIGFuZCBjb2xvcm1hcHMuCgogICBwcm9jZWR1cmUgU2V0X0NvbG9ybWFwCiAgICAgKFdp
ZGdldCA6IGFjY2VzcyBHdGtfV2lkZ2V0X1JlY29yZDsKICAgICAgQ21hcCA6IEdkay5Db2xvci5H
ZGtfQ29sb3JtYXApOwogICAtLSAgTW9kaWZ5IHRoZSBjb2xvcm1hcCBvZiB0aGUgd2lkZ2V0Lgog
ICAtLSAgVGhlIHdpZGdldCBtdXN0IG5vdCBoYXZlIGJlZW4gcmVhbGl6ZWQuCgogICBwcm9jZWR1
cmUgU2V0X1Zpc3VhbAogICAgIChXaWRnZXQgOiBhY2Nlc3MgR3RrX1dpZGdldF9SZWNvcmQ7CiAg
ICAgIFZpc3VhbCA6IEdkay5WaXN1YWwuR2RrX1Zpc3VhbCk7CiAgIC0tICBNb2RpZnkgdGhlIHZp
c3VhbCBvZiB0aGUgd2lkZ2V0LgogICAtLSAgVGhlIHdpZGdldCBtdXN0IG5vdCBoYXZlIGJlZW4g
cmVhbGl6ZWQuCgogICBwcm9jZWR1cmUgUHVzaF9Db2xvcm1hcCAoQ21hcCA6IEdkay5Db2xvci5H
ZGtfQ29sb3JtYXApOwogICAtLSAgTW9kaWZ5IHRlbXBvcmFyaWx5IHRoZSBkZWZhdWx0IGNvbG9y
bWFwIHNldCBmb3IgbmV3bHkgY3JlYXRlZCB3aWRnZXRzLgogICAtLSAgWW91IHNob3VsZCB1c2Ug
dGhpcyBpbiBwYWlyIHdpdGggUG9wX0NvbG9ybWFwIGJlbG93IChQdXNoIHRoZSBuZXcgdmFsdWUs
CiAgIC0tICBjcmVhdGUgdGhlIHdpZGdldCwgYW5kIHBvcCB0aGUgdmFsdWUpLgoKICAgcHJvY2Vk
dXJlIFBvcF9Db2xvcm1hcDsKICAgLS0gIFNlZSBQdXNoX0NvbG9ybWFwIGZvciBtb3JlIGluZm9y
bWF0aW9uLgoKICAgcHJvY2VkdXJlIFB1c2hfVmlzdWFsIChWaXN1YWwgOiBHZGsuVmlzdWFsLkdk
a19WaXN1YWwpOwogICAtLSAgTW9kaWZ5IHRlbXBvcmFyaWx5IHRoZSBkZWZhdWx0IHZpc3VhbCBz
ZXQgZm9yIG5ld2x5IGNyZWF0ZWQgd2lkZ2V0cy4KICAgLS0gIFlvdSBzaG91bGQgdXNlIHRoaXMg
aW4gcGFpciB3aXRoIFBvcF9Db2xvcm1hcCBiZWxvdyAoUHVzaCB0aGUgbmV3IHZhbHVlLAogICAt
LSAgY3JlYXRlIHRoZSB3aWRnZXQsIGFuZCBwb3AgdGhlIHZhbHVlKS4KCiAgIHByb2NlZHVyZSBQ
b3BfVmlzdWFsOwogICAtLSAgU2VlIFB1c2hfVmlzdWFsIGZvciBtb3JlIGluZm9ybWF0aW9uLgoK
ICAgZnVuY3Rpb24gR2V0X0RlZmF1bHRfQ29sb3JtYXAgcmV0dXJuIEdkay5Db2xvci5HZGtfQ29s
b3JtYXA7CiAgIC0tICBSZXR1cm4gdGhlIGRlZmF1bHQgY29sb3JtYXAgdXNlZCB3aGVuIGEgd2lk
Z2V0IGlzIGNyZWF0ZWQuCgogICBwcm9jZWR1cmUgU2V0X0RlZmF1bHRfQ29sb3JtYXAgKENtYXAg
OiBHZGsuQ29sb3IuR2RrX0NvbG9ybWFwKTsKICAgLS0gIE1vZGlmeSBwZXJtYW5lbnRseSB0aGUg
ZGVmYXVsdCBjb2xvcm1hcCB1c2VkIHdoZW4gYSB3aWRnZXQgaXMgY3JlYXRlZC4KICAgLS0gIElm
IHlvdSBvbmx5IHdhbnQgdG8gbW9kaWZ5IHRoaXMgY29sb3JtYXAgdGVtcG9yYXJpbHkgZm9yIGEg
ZmV3IHdpZGdldHMsCiAgIC0tICB5b3Ugc2hvdWxkIGNvbnNpZGVyIHVzaW5nIFB1c2hfQ29sb3Jt
YXAgYW5kIFBvcF9Db2xvcm1hcCBpbnN0ZWFkLgoKICAgZnVuY3Rpb24gR2V0X0RlZmF1bHRfVmlz
dWFsIHJldHVybiBHZGsuVmlzdWFsLkdka19WaXN1YWw7CiAgIC0tICBSZXR1cm4gdGhlIGRlZmF1
bHQgdmlzdWFsIHVzZWQgd2hlbiBhIG5ldyB3aWRnZXQgaXMgY3JlYXRlZC4KCiAgIHByb2NlZHVy
ZSBTZXRfRGVmYXVsdF9WaXN1YWwgKFZpc3VhbCA6IEdkay5WaXN1YWwuR2RrX1Zpc3VhbCk7CiAg
IC0tICBNb2RpZnkgcGVybWFuZW50bHkgdGhlIGRlZmF1bHQgdmlzdWFsIHVzZWQgd2hlbiBhIHdp
ZGdldCBpcyBjcmVhdGVkLgogICAtLSAgSWYgeW91IG9ubHkgd2FudCB0byBtb2RpZnkgdGhpcyB2
aXN1YWwgdGVtcG9yYXJpbHkgZm9yIGEgZmV3IHdpZGdldHMsCiAgIC0tICB5b3Ugc2hvdWxkIGNv
bnNpZGVyIHVzaW5nIFB1c2hfVmlzdWFsIGFuZCBQb3BfVmlzdWFsIGluc3RlYWQuCgogICAtLS0t
LS0tLS0tLS0KICAgLS0gU3R5bGVzIC0tCiAgIC0tLS0tLS0tLS0tLQoKICAgcHJvY2VkdXJlIFB1
c2hfU3R5bGUgKFN0eWxlIDogR3RrLlN0eWxlLkd0a19TdHlsZSk7CiAgIC0tICBDaGFuZ2UgdGhl
IGRlZmF1bHQgdmFsdWVzIGZvciBzdHlsZXMuCiAgIC0tICBUaGlzIGlzIGdlbmVyYWxseSB1c2Vk
IGp1c3QgYmVmb3JlIGNyZWF0aW5nIGEgd2lkZ2V0LiBZb3Ugc2hvdWxkIHVzZQogICAtLSAgdGhp
cyBwcm9jZWR1cmUgaW4gcGFpciB3aXRoIFBvcF9TdHlsZSAoUHVzaCB0aGUgbmV3IHZhbHVlLCBj
cmVhdGUgdGhlCiAgIC0tICB3aWRnZXQgdGhlbiBwb3AgdGhlIHZhbHVlKQoKICAgcHJvY2VkdXJl
IFBvcF9TdHlsZTsKICAgLS0gIFJlc3RvcmUgdGhlIGRlZmF1bHQgdmFsdWVzIGZvciBzdHlsZXMu
CiAgIC0tICBUaGlzIGlzIGdlbmVyYWxseSB1c2VkIGp1c3QgYWZ0ZXIgY3JlYXRpbmcgYSB3aWRn
ZXQuIFlvdSBzaG91bGQgdXNlCiAgIC0tICB0aGlzIHByb2NlZHVyZSBpbiBwYWlyIHdpdGggUHVz
aF9TdHlsZSAoUHVzaCB0aGUgbmV3IHZhbHVlLCBjcmVhdGUgdGhlCiAgIC0tICB3aWRnZXQgdGhl
biBwb3AgdGhlIHZhbHVlKQoKICAgcHJvY2VkdXJlIFNldF9TdHlsZQogICAgIChXaWRnZXQgOiBh
Y2Nlc3MgR3RrX1dpZGdldF9SZWNvcmQ7CiAgICAgIFN0eWxlICA6IEd0ay5TdHlsZS5HdGtfU3R5
bGUpOwogICAtLSAgU2V0IHRoZSBzdHlsZSBmb3IgYSBnaXZlbiB3aWRnZXQuCgogICBmdW5jdGlv
biBHZXRfU3R5bGUgKFdpZGdldCA6IGFjY2VzcyBHdGtfV2lkZ2V0X1JlY29yZCkKICAgICByZXR1
cm4gR3RrLlN0eWxlLkd0a19TdHlsZTsKICAgLS0gIFJldHVybiB0aGUgc3R5bGUgb2YgYSBnaXZl
biB3aWRnZXQuCgogICBwcm9jZWR1cmUgTW9kaWZ5X1N0eWxlCiAgICAgKFdpZGdldCA6IGFjY2Vz
cyBHdGtfV2lkZ2V0X1JlY29yZDsKICAgICAgU3R5bGUgIDogR3RrX1JjX1N0eWxlKTsKICAgLS0g
IE1vZGlmeSB0aGUgZGVmYXVsdCBzdHlsZSBvZiBhIHdpZGdldC4KCiAgIHByb2NlZHVyZSBTZXRf
RGVmYXVsdF9TdHlsZSAoU3R5bGUgOiBHdGsuU3R5bGUuR3RrX1N0eWxlKTsKICAgLS0gIFNldCB0
aGUgZGVmYXVsdCBnbG9iYWwgc3R5bGUuCgogICBmdW5jdGlvbiBHZXRfRGVmYXVsdF9TdHlsZSBy
ZXR1cm4gR3RrLlN0eWxlLkd0a19TdHlsZTsKICAgLS0gIEdldCB0aGUgZGVmYXVsdCBnbG9iYWwg
c3R5bGUuCgogICBwcm9jZWR1cmUgU2V0X1JjX1N0eWxlIChXaWRnZXQgOiBhY2Nlc3MgR3RrX1dp
ZGdldF9SZWNvcmQpOwogICAtLSAgUmVzdG9yZSB0aGUgZGVmYXVsdCBzdHlsZSBvZiBhIHdpZGdl
dC4KICAgLS0gIFRoZSBkZWZhdWx0IHN0eWxlIGlzIGdpdmVuIGJ5IHRoZSBjb25maWd1cmF0aW9u
IGZpbGUgaW5pdGlhbGx5IHBhcnNlZAogICAtLSAgYnkgR3RrQWRhLgoKICAgcHJvY2VkdXJlIEVu
c3VyZV9TdHlsZSAoV2lkZ2V0IDogYWNjZXNzIEd0a19XaWRnZXRfUmVjb3JkKTsKICAgLS0gIE1h
a2Ugc3VyZSB0aGF0IHRoZSB3aWRnZXQgaGFzIGEgc3R5bGUgYXNzb2NpYXRlZCB0byBpdC4KICAg
LS0gIEVpdGhlciB0aGUgZGVmYXVsdCBvbmUgYXMgc2V0IGJ5IFNldF9SY19TdHlsZSBhYm92ZSBv
ciBvbmUgc2V0IGJ5IHRoZQogICAtLSAgdXNlciB3aXRoIFNldF9TdHlsZS4KCiAgIHByb2NlZHVy
ZSBSZXN0b3JlX0RlZmF1bHRfU3R5bGUgKFdpZGdldCA6IGFjY2VzcyBHdGtfV2lkZ2V0X1JlY29y
ZCk7CiAgIC0tICBSZXN0b3JlIHRoZSBkZWZhdWx0IHN0eWxlIHRoYXQgd2FzIHNldCBmb3IgdGhl
IHdpZGdldC4KICAgLS0gIFRoZSBkZWZhdWx0IHN0eWxlIGlzIHRoZSBmaXJzdCBvbmUgdGhhdCB3
YXMgc2V0IGVpdGhlciBieSBhIGNhbGwKICAgLS0gIHRvIFNldF9TdHlsZSBvciBTZXRfUmNfU3R5
bGUuCgogICBwcm9jZWR1cmUgUmVzZXRfUmNfU3R5bGVzIChXaWRnZXQgOiBhY2Nlc3MgR3RrX1dp
ZGdldF9SZWNvcmQpOwogICAtLSAgUmVzdG9yZSB0aGUgUmMgc3R5bGUgcmVjdXJzaXZlbHkgZm9y
IHdpZGdldCBhbmQgaXRzIGNoaWxkcmVuLgoKICAgLS0tLS0tLS0tLS0tLS0tLS0tLQogICAtLSBX
aWRnZXRzJyB0cmVlIC0tCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0KCiAgIHByb2NlZHVyZSBTZXRf
TmFtZQogICAgIChXaWRnZXQgOiBhY2Nlc3MgR3RrX1dpZGdldF9SZWNvcmQ7CiAgICAgIE5hbWUg
ICA6IGluIFN0cmluZyk7CiAgIC0tICBTZXQgdGhlIG5hbWUgZm9yIHRoZSB3aWRnZXQuCiAgIC0t
ICBUaGlzIG5hbWUgaXMgdXNlZCBwdXJlbHkgaW50ZXJuYWxseSB0byBpZGVudGlmeSB0aGUgd2lk
Z2V0LCBhbmQgZG9lcyBub3QKICAgLS0gIGdpdmUgYW55IHZpc3VhbCBjbHVlLgoKICAgZnVuY3Rp
b24gR2V0X05hbWUgKFdpZGdldCA6IGFjY2VzcyBHdGtfV2lkZ2V0X1JlY29yZCkgcmV0dXJuIFN0
cmluZzsKICAgLS0gIFJldHVybiB0aGUgbmFtZSBvZiB0aGUgd2lkZ2V0IGlmIGl0IHdhcyBzZXQg
YnkgU2V0X05hbWUuCiAgIC0tICBSZXR1cm4gdGhlIG5hbWUgb2YgaXRzIGNsYXNzIG90aGVyd2lz
ZS4KCiAgIHByb2NlZHVyZSBTZXRfUGFyZW50CiAgICAgKFdpZGdldCA6IGFjY2VzcyBHdGtfV2lk
Z2V0X1JlY29yZDsKICAgICAgUGFyZW50IDogYWNjZXNzIEd0a19XaWRnZXRfUmVjb3JkJ0NsYXNz
KTsKICAgLS0gIE1vZGlmeSB0aGUgcGFyZW50IGZvciB0aGUgd2lkZ2V0LgogICAtLSAgVGhpcyBp
cyBub3QgdGhlIHJlY29tbWVuZGVkIHdheSB0byBkbyB0aGlzLCB5b3Ugc2hvdWxkIHVzZQogICAt
LSAgR3RrLkNvbnRhaW5lci5BZGQgb3IgR3RrLkJveC5QYWNrX1N0YXJ0IGluc3RlYWQuCgogICBw
cm9jZWR1cmUgU2V0X1BhcmVudF9XaW5kb3cKICAgICAoV2lkZ2V0IDogYWNjZXNzIEd0a19XaWRn
ZXRfUmVjb3JkOwogICAgICBXaW5kb3cgOiBHZGsuV2luZG93Lkdka19XaW5kb3cpOwogICAtLSAg
U2V0IHRoZSBwYXJlbnQgd2luZG93IGZvciB0aGUgYWN0dWFsIEdka19XaW5kb3cgb2YgdGhlIHdp
ZGdldC4gVGhpcyBzZXRzCiAgIC0tICB1cCByZXF1aXJlZCBpbnRlcm5hbCBmaWVsZHMsIGFuZCBz
aG91bGQgYmUgdXNlZCBvbmx5IHdoZW4geW91IGltcGxlbWVudAogICAtLSAgeW91ciBvd24gY29u
dGFpbmVyLCBhcyBvcHBvc2VkIHRvIHVzaW5nIG9uZSBvZiB0aGUgc3RhbmRhcmQgY29udGFpbmVy
cy4KCiAgIGZ1bmN0aW9uIEdldF9QYXJlbnQgKFdpZGdldCA6IGFjY2VzcyBHdGtfV2lkZ2V0X1Jl
Y29yZCkgcmV0dXJuIEd0a19XaWRnZXQ7CiAgIC0tICBSZXR1cm4gdGhlIHBhcmVudCBvZiB0aGUg
d2lkZ2V0LCBvciBudWxsIGlmIFdpZGdldCBpcyBhIHRvcGxldmVsCiAgIC0tICB3aWRnZXQuCgog
ICBmdW5jdGlvbiBHZXRfVG9wbGV2ZWwgKFdpZGdldCA6IGFjY2VzcyBHdGtfV2lkZ2V0X1JlY29y
ZCkgcmV0dXJuIEd0a19XaWRnZXQ7CiAgIC0tICBSZXR1cm4gdGhlIHRvcGxldmVsIGFuY2VzdG9y
IG9mIHRoZSB3aWRnZXQuCiAgIC0tICBUaGlzIGlzIHRoZSB3aW5kb3cgb3IgZGlhbG9nIGluIHdo
aWNoIHRoZSB3aWRnZXQgaXMgaW5jbHVkZWQuCiAgIC0tICBUaGUgd2lkZ2V0IHJldHVybmVkIGRv
ZXMgbm90IGhhdmUgYW55IHBhcmVudC4KCiAgIGZ1bmN0aW9uIEdldF9BbmNlc3RvcgogICAgIChX
aWRnZXQgICAgICAgIDogYWNjZXNzIEd0a19XaWRnZXRfUmVjb3JkOwogICAgICBBbmNlc3Rvcl9U
eXBlIDogaW4gR3RrX1R5cGUpIHJldHVybiBHdGtfV2lkZ2V0OwogICAtLSAgUmV0dXJuIHRoZSBj
bG9zZXN0IGFuY2VzdG9yIG9mIFdpZGdldCB3aGljaCBpcyBvZiB0eXBlIEFuY2VzdG9yX1R5cGUu
CiAgIC0tICBSZXR1cm4gbnVsbCBpZiB0aGVyZSBpcyBub25lLgoKICAgZnVuY3Rpb24gSXNfQW5j
ZXN0b3IKICAgICAoV2lkZ2V0ICAgOiBhY2Nlc3MgR3RrX1dpZGdldF9SZWNvcmQ7CiAgICAgIEFu
Y2VzdG9yIDogYWNjZXNzIEd0a19XaWRnZXRfUmVjb3JkJ0NsYXNzKSByZXR1cm4gQm9vbGVhbjsK
ICAgLS0gIFJldHVybiBUcnVlIGlmIEFuY2VzdG9yIGlzIGluIHRoZSBhbmNlc3RvciB0cmVlIGZv
ciBXaWRnZXQuCiAgIC0tICBJLmUuIGlmIFdpZGdldCBpcyBjb250YWluZWQgd2l0aGluIEFuY2Vz
dG9yLgoKICAgcHJvY2VkdXJlIFJlcGFyZW50CiAgICAgKFdpZGdldCAgICAgOiBhY2Nlc3MgR3Rr
X1dpZGdldF9SZWNvcmQ7CiAgICAgIE5ld19QYXJlbnQgOiBhY2Nlc3MgR3RrX1dpZGdldF9SZWNv
cmQnQ2xhc3MpOwogICAtLSAgQ2hhbmdlIHRoZSBwYXJlbnQgb2YgdGhlIHdpZGdldCBkeW5hbWlj
YWxseS4KICAgLS0gIElmIGJvdGggdGhlIG5ldyBwYXJlbnQgYW5kIHRoZSB3aWRnZXQgYXJlIHNo
b3duLCB0aGVuIHRoZSB3aWRnZXQgaXMKICAgLS0gIHZpc3VhbGx5IHJlZHJhd24gaW4gaXRzIG5l
dyBwYXJlbnQuCgogICAtLS0tLS0tLS0tLS0tLS0tLS0tLQogICAtLSBNaXNjIGZ1bmN0aW9ucyAt
LQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLQoKICAgcHJvY2VkdXJlIFNldF9TY3JvbGxfQWRqdXN0
bWVudHMKICAgICAoV2lkZ2V0IDogYWNjZXNzIEd0a19XaWRnZXRfUmVjb3JkOwogICAgICBIYWRq
ICAgOiBHdGsuQWRqdXN0bWVudC5HdGtfQWRqdXN0bWVudDsKICAgICAgVmFkaiAgIDogR3RrLkFk
anVzdG1lbnQuR3RrX0FkanVzdG1lbnQpOwogICAtLSAgRW1pdCB0aGUgInNldF9zY3JvbGxfYWRq
dXN0bWVudHMiIHNpZ25hbC4KICAgLS0gIFRoZSBleGFjdCBzaWduYWwgZW1pdHRlZCBkZXBlbmRz
IG9uIHRoZSB3aWRnZXQgdHlwZSAoc2VlCiAgIC0tICBHdGsuT2JqZWN0LkluaXRpYWxpemVfQ2xh
c3NfUmVjb3JkKS4KICAgLS0gIFRoZSBoYW5kbGVyIGNyZWF0ZXMgdGhlIGFkanVzdG1lbnRzIGlm
IG51bGwgaXMgcGFzc2VkIGFzIGFyZ3VtZW50LCBhbmQKICAgLS0gIG1ha2VzIHN1cmUgYm90aCBh
ZGp1c3RtZW50cyBhcmUgaW4gdGhlIGNvcnJlY3QgcmFuZ2UuCgogICBwcm9jZWR1cmUgUG9wdXAg
KFdpZGdldCA6IGFjY2VzcyBHdGtfV2lkZ2V0X1JlY29yZDsgWCwgWSA6IGluIEdpbnQpOwogICAt
LSAgUmVhbGl6ZSB0aGUgd2lkZ2V0IChzZWUgUmVhbGl6ZSBhYm92ZSksIG1vdmVzIGl0IHRvIHRo
ZSBzY3JlZW4gcG9zaXRpb24KICAgLS0gIChYLCBZKSwgYW5kIHNob3dzIHRoZSB3aWRnZXQuCiAg
IC0tICBUaGlzIHNob3VsZCBvbmx5IGJlIHVzZWQgZm9yIHRvcGxldmVsIHdpbmRvd3MgYW5kIGRp
YWxvZ3MsIGFzIHlvdSBjYW4KICAgLS0gIG5vIG1vZGlmeSB0aGUgcG9zaXRpb24gb2YgYSB3aWRn
ZXQgdGhhdCBoYXMgYSBwYXJlbnQgKHRoZSBwYXJlbnQgaXMKICAgLS0gIHRoZW4gcmVzcG9uc2li
bGUgZm9yIGl0cyBwb3NpdGlvbikuCgogICBmdW5jdGlvbiBJbnRlcnNlY3QKICAgICAoV2lkZ2V0
ICAgICAgIDogYWNjZXNzIEd0a19XaWRnZXRfUmVjb3JkOwogICAgICBBcmVhICAgICAgICAgOiBH
ZGsuUmVjdGFuZ2xlLkdka19SZWN0YW5nbGU7CiAgICAgIEludGVyc2VjdGlvbiA6IGFjY2VzcyBH
ZGsuUmVjdGFuZ2xlLkdka19SZWN0YW5nbGUpIHJldHVybiBCb29sZWFuOwogICAtLSAgUmV0dXJu
IFRydWUgaWYgdGhlIHdpZGdldCBpbnRlcnNlY3RzIHRoZSBzY3JlZW4gYXJlYSBBcmVhLgogICAt
LSAgVGhlIGludGVyc2VjdGlvbiBhcmVhIGlzIHJldHVybmVkIGluIEludGVyc2VjdGlvbi4KCiAg
IHByb2NlZHVyZSBHcmFiX0RlZmF1bHQgKFdpZGdldCA6IGFjY2VzcyBHdGtfV2lkZ2V0X1JlY29y
ZCk7CiAgIC0tICBUaGUgd2lkZ2V0IGJlY29tZXMgdGhlIGRlZmF1bHQgd2lkZ2V0IGZvciBpdHMg
cGFyZW50IHdpbmRvdyBvciBkaWFsb2cuCiAgIC0tICBBbGwga2V5Ym9hcmQgZXZlbnRzIHdpbGwg
YmUgc2VudCB0byBpdCBpZiBubyBvdGhlciB3aWRnZXQgaGFzIHRoZSBmb2N1cy4KICAgLS0gIE5v
dGUgdGhhdCB0aGUgIkNhbl9EZWZhdWx0IiBmbGFnIG11c3QgaGF2ZSBiZWVuIHNldCBmaXJzdCBv
biBXSURHRVQuCgogICBwcm9jZWR1cmUgU2V0X1N0YXRlCiAgICAgKFdpZGdldCA6IGFjY2VzcyBH
dGtfV2lkZ2V0X1JlY29yZDsKICAgICAgU3RhdGUgOiBpbiBFbnVtcy5HdGtfU3RhdGVfVHlwZSk7
CiAgIC0tICBNb2RpZnkgdGhlIHN0YXRlIG9mIHRoZSB3aWRnZXQuCiAgIC0tICBUaGlzIG1vZGlm
aWVzIGl0cyB2aXN1YWwgYXNwZWN0LCBhbmQgdGh1cyBzaG91bGQgYmUgdXNlZCBvbmx5IGlmIHlv
dQogICAtLSAgY2hhbmdlIGl0cyBiZWhhdmlvciBhdCB0aGUgc2FtZSB0aW1lLCBzbyBhcyBub3Qg
dG8gY29uZnVzZSB0aGUgdXNlci4KCiAgIGZ1bmN0aW9uIEdldF9TdGF0ZQogICAgIChXaWRnZXQg
OiBhY2Nlc3MgR3RrX1dpZGdldF9SZWNvcmQpIHJldHVybiBFbnVtcy5HdGtfU3RhdGVfVHlwZTsK
ICAgLS0gIFJldHVybiB0aGUgc3RhdGUgb2YgdGhlIHdpZGdldC4KCiAgIHByb2NlZHVyZSBTZXRf
U2Vuc2l0aXZlCiAgICAgKFdpZGdldCAgICA6IGFjY2VzcyBHdGtfV2lkZ2V0X1JlY29yZDsKICAg
ICAgU2Vuc2l0aXZlIDogaW4gQm9vbGVhbiA6PSBUcnVlKTsKICAgLS0gIE1vZGlmeSB0aGUgc2Vu
c2l0aXZpdHkgb2YgdGhlIHdpZGdldC4KICAgLS0gIEFuIGluc2Vuc2l0aXZlIHdpZGdldCBpcyBn
ZW5lcmFsbHkgZ3JheWVkIG91dCwgYW5kIGNhbiBub3QgYmUgYWN0aXZhdGVkLgogICAtLSAgRm9y
IGluc3RhbmNlLCBhbiBpbnNlbnNpdGl2ZSBtZW51IGl0ZW0gaXMgZ3JheWVkLCBhbmQgY2FuIG5l
dmVyIGJlCiAgIC0tICBzZWxlY3RlZC4KCiAgIHByb2NlZHVyZSBTZXRfQXBwX1BhaW50YWJsZQog
ICAgIChXaWRnZXQgICAgICAgIDogYWNjZXNzIEd0a19XaWRnZXRfUmVjb3JkOwogICAgICBBcHBf
UGFpbnRhYmxlIDogQm9vbGVhbik7CiAgIC0tICBNb2RpZnkgdGhlICJBcHBfUGFpbnRhYmxlIiBm
bGFnIGZvciB0aGUgd2lkZ2V0LgoKICAgcHJvY2VkdXJlIEdldF9Qb2ludGVyCiAgICAgKFdpZGdl
dCA6IGFjY2VzcyBHdGtfV2lkZ2V0X1JlY29yZDsKICAgICAgWCAgICAgIDogb3V0IEdpbnQ7CiAg
ICAgIFkgICAgICA6IG91dCBHaW50KTsKICAgLS0gIFJldHVybiB0aGUgY29vcmRpbmF0ZXMgb2Yg
dGhlIHBvaW50ZXIgKGkuZS4gbW91c2UpIHJlbGF0aXZlIHRvIFdpZGdldC4KCiAgIHByb2NlZHVy
ZSBTZXRfV2luZG93CiAgICAgKFdpZGdldCA6IGFjY2VzcyBHdGtfV2lkZ2V0X1JlY29yZDsKICAg
ICAgV2luZG93IDogaW4gR2RrLldpbmRvdy5HZGtfV2luZG93KTsKICAgLS0gIFNldCB0aGUgR2Rr
IHdpbmRvdyBhc3NvY2lhdGVkIHdpdGggdGhlIHdpZGdldC4KCiAgIGZ1bmN0aW9uIEdldF9XaW5k
b3cKICAgICAoV2lkZ2V0IDogYWNjZXNzIEd0a19XaWRnZXRfUmVjb3JkKSByZXR1cm4gR2RrLldp
bmRvdy5HZGtfV2luZG93OwogICAtLSAgR2V0IHRoZSBHZGsgd2luZG93IGFzc29jaWF0ZWQgd2l0
aCB0aGUgd2lkZ2V0LgogICAtLSAgWW91IGNhbiB1c2UgdGhpcyB3aW5kb3cgaWYgeW91IG5lZWQg
dG8gZHJhdyBkaXJlY3RseSBvbiB0aGUgd2lkZ2V0IHVzaW5nCiAgIC0tICB0aGUgZnVuY3Rpb25z
IGZvdW5kIGluIHRoZSBHZGsgaGllcmFyY2h5LgoKICAgcHJvY2VkdXJlIFNoYXBlX0NvbWJpbmVf
TWFzawogICAgIChXaWRnZXQgICAgIDogYWNjZXNzIEd0a19XaWRnZXRfUmVjb3JkOwogICAgICBT
aGFwZV9NYXNrIDogR2RrLkJpdG1hcC5HZGtfQml0bWFwOwogICAgICBPZmZzZXRfWCAgIDogR2lu
dDsKICAgICAgT2Zmc2V0X1kgICA6IEdpbnQpOwogICAtLSAgTW9kaWZ5IHRoZSBzaGFwZSBvZiB0
aGUgd2luZG93IHRoYXQgY29udGFpbnMgdGhlIHdpZGdldC4KICAgLS0gIFRoaXMgYWxsb3dzIGZv
ciB0cmFuc3BhcmVudCB3aW5kb3dzLCBhbmQgcmVxdWlyZXMgdGhlIFhleHQgbGlicmFyeSB0byBi
ZQogICAtLSAgYXZhaWxhYmxlIG9uIHlvdXIgc3lzdGVtLiBJZiB0aGlzIGxpYnJhcnkgaXMgbm90
IGF2YWlsYWJsZSwgeW91ciBwcm9ncmFtCiAgIC0tICB3aWxsIHN0aWxsIHdvcmsuCiAgIC0tICBT
ZWUgdGhlIG1hbnVhbCBwYWdlIGZvciBYU2hhcGVDb21iaW5lTWFzaygzeCkgZm9yIG1vcmUgaW5m
b3JtYXRpb24uCgogICAtLS0tLS0tLS0tLQogICAtLSBGbGFncyAtLQogICAtLS0tLS0tLS0tLQog
ICAtLSAgU29tZSBhZGRpdGlvbmFsIGZsYWdzIGFyZSBkZWZpbmVkIGZvciBhbGwgdGhlIHZpc3Vh
bCBvYmplY3RzICh3aWRnZXRzKS4KICAgLS0gIFRoZXkgYXJlIGRlZmluZWQgaW4gYWRkaXRpb24g
dG8gdGhlIG9uZXMgZGVmaW5lZCBpbiBHdGsuT2JqZWN0LgogICAtLSAgVGhlc2UgZmxhZ3MgYXJl
IGltcG9ydGFudCBpbiB0aGF0IHRoZXkgZGVmaW5lIGV4YWN0bHkgdGhlIGRpZmZlcmVudAogICAt
LSAgc3RhdGVzIGEgd2lkZ2V0IGNhbiBiZSBpbi4KICAgLS0KICAgLS0gIC0gIlRvcGxldmVsIjoK
ICAgLS0gICAgU2V0IGlmIHRoZSB3aWRnZXQgaXMgYSB0b3BsZXZlbCB3aWRnZXQsIGllIGhhcyBu
byBwYXJlbnQuIFRoaXMgaXMKICAgLS0gICAgbW9zdGx5IHRydWUgZm9yIHdpbmRvd3MgYW5kIGRp
YWxvZ3MuCiAgIC0tCiAgIC0tICAtICJOb19XaW5kb3ciOgogICAtLSAgICBTZXQgaWYgdGhlIHdp
ZGdldCBkb2VzIG5vdCBoYXZlIGFuIGFzc29jaWF0ZWQgWDExIHdpbmRvdywgaWUgY2FuIG5vdAog
ICAtLSAgICByZWNlaXZlIGV2ZW50cyBkaXJlY3RseS4gRm9yIGluc3RhbmNlLCBhIEd0a19Ub29s
YmFyIGRvZXMgbm90IGhhdmUKICAgLS0gICAgYW4gYXNzb2NpYXRlZCB3aW5kb3cuIFRoZXNlIG9i
amVjdHMgYXJlIG1vcmUgbGlnaHR3ZWlnaHQsIGJ1dCByZXF1aXJlCiAgIC0tICAgIG1vcmUgd29y
ayBmcm9tIEd0a0FkYS4gVGhpcyBmbGFnIGlzIG9ubHkgc2V0IGlmIHRoZSB3aWRnZXQgd2lsbCBu
ZXZlcgogICAtLSAgICBoYXZlIGEgd2luZG93LCBldmVuIGFmdGVyIGl0IGlzIHJlYWxpemVkLgog
ICAtLQogICAtLSAgLSAiUmVhbGl6ZWQiOgogICAtLSAgICBTZXQgaWYgdGhlIHdpZGdldCBoYXMg
YmVlbiByZWFsaXplZCwgaWUgaXRzIGFzc29jaWF0ZWQgWDExIHdpbmRvdyBoYXMKICAgLS0gICAg
YmVlbiBjcmVhdGVkIChwcm92aWRpbmcgdGhlIHdpZGdldCBleGNlcHRzIGEgd2luZG93LCBzZWUg
dGhlIE5vX1dpbmRvdwogICAtLSAgICBmbGFnCiAgIC0tCiAgIC0tICAtICJNYXBwZWQiOgogICAt
LSAgICBTZXQgaWYgdGhlIHdpZGdldCBpcyB2aXNpYmxlIG9uIHRoZSBzY3JlZW4uIFRoaXMgaXMg
b25seSBwb3NzaWJsZSBpZgogICAtLSAgICB0aGUgVmlzaWJsZSBmbGFnIGlzIGFsc28gc2V0Lgog
ICAtLQogICAtLSAgLSAiVmlzaWJsZSI6CiAgIC0tICAgIFNldCBpZiB0aGUgd2lkZ2V0IHdpbGwg
YmUgZGlzcGxheWVkIG9uIHRoZSBzY3JlZW4gd2hlbiBtYXBwZWQgKHNlZSB0aGUKICAgLS0gICAg
ZnVuY3Rpb25zIFNob3cgYW5kIEhpZGUgaW4gdGhpcyBwYWNrYWdlKS4KICAgLS0KICAgLS0gIC0g
IlNlbnNpdGl2ZSI6CiAgIC0tICAgIFNldCBpZiB0aGUgd2lkZ2V0IGlzIGxpc3RlbmluZyB0byBl
dmVudHMuIFNlZSB0aGUgZnVuY3Rpb24KICAgLS0gICAgU2V0X1NlbnNpdGl2ZSBpbiB0aGlzIHBh
Y2thZ2UuIEFuIGluc2Vuc2l0aXZlIHdpZGdldCB3aWxsIGdlbmVyYWxseQogICAtLSAgICBoYXZl
IGEgZGlmZmVyZW50IHZpc3VhbCBhc3BlY3QgdG8gY2x1ZSB0aGF0IGl0IGlzIHVuYXZhaWxhYmxl
IChmb3IKICAgLS0gICAgaW5zdGFuY2UgYW4gaW5zZW5zaXRpdmUgaXRlbSBtZW51IHdpbGwgYmUg
Z3JheWVkKQogICAtLQogICAtLSAgLSAiUGFyZW50X1NlbnNpdGl2ZSI6CiAgIC0tICAgIFNldCBp
ZiB0aGUgcGFyZW50IGlzIHNlbnNpdGl2ZS4gQSB3aWRnZXQgaXMgc2Vuc2l0aXZlIG9ubHkgaWYg
Ym90aAogICAtLSAgICB0aGUgU2Vuc2l0aXZlIGFuZCBQYXJlbnRfU2Vuc2l0aXZlIGFyZSBzZXQu
CiAgIC0tCiAgIC0tICAtICJDYW5fRm9jdXMiOgogICAtLSAgICBTZXQgaWYgdGhlIHdpZGdldCBj
YW4gaGF2ZSB0aGUgZm9jdXMsIGllIGdldCBrZXlib2FyZCBldmVudHMuIE1vc3QKICAgLS0gICAg
d2lkZ2V0cyBjYW4gbm90IGhhdmUgdGhlIGZvY3VzLgogICAtLQogICAtLSAgLSAiSGFzX0ZvY3Vz
IjoKICAgLS0gICAgU2V0IGlmIHRoZSB3aWRnZXQgY3VycmVudGx5IGhhcyB0aGUgZm9jdXMuIFNl
ZSB0aGUgZnVuY3Rpb24gR3JhYl9Gb2N1cwogICAtLSAgICBpbiB0aGlzIHBhY2thZ2UuCiAgIC0t
CiAgIC0tICAtICJDYW5fRGVmYXVsdCI6CiAgIC0tICAgIFNldCBpZiB0aGUgd2lkZ2V0IGNhbiBi
ZSB0aGUgZGVmYXVsdCB3aWRnZXQgaW4gYSB3aW5kb3csIGllIHRoZSBvbmUKICAgLS0gICAgdGhh
dCB3aWxsIGdldCB0aGUga2V5Ym9hcmQgZXZlbnRzIGJ5IGRlZmF1bHQuIEZvciBpbnN0YW5jZSwg
dGhlCiAgIC0tICAgIGRlZmF1bHQgYnV0dG9uIGluIGEgZGlhbG9nIGlzIHRoZSBvbmUgdGhhdCBn
ZXRzIGNsaWNrZWQgb24gd2hlbiB0aGUKICAgLS0gICAgdXNlciBwcmVzc2VkIEVudGVyIGFueXdo
ZXJlIGluIHRoZSBkaWFsb2cuCiAgIC0tCiAgIC0tICAtICJIYXNfRGVmYXVsdCI6CiAgIC0tICAg
IFNldCBpZiB0aGUgd2lkZ2V0IGlzIGN1cnJlbnRseSB0aGUgZGVmYXVsdCB3aWRnZXQuIFNlZSB0
aGUgZnVuY3Rpb24KICAgLS0gICAgR3JhYl9EZWZhdWx0IGluIHRoaXMgcGFja2FnZS4KICAgLS0K
ICAgLS0gIC0gIkhhc19HcmFiIjoKICAgLS0gICAgU2V0IGlmIHRoZSB3aWRnZXQgY3VycmVudGx5
IGdyYWJzIGFsbCBtb3VzZSBhbmQga2V5Ym9hcmQgZXZlbnRzIGluCiAgIC0tICAgIHRoZSBhcHBs
aWNhdGlvbiwgZXZlbiBpZiBpdCBkb2VzIG5vdCBoYXZlIHRoZSBmb2N1cy4gVGhlcmUgY2FuIGJl
IG9ubHkKICAgLS0gICAgc3VjaCB3aWRnZXQgcGVyIGFwcGxpY2F0aW9uIGF0IGFueSBnaXZlbiB0
aW1lLgogICAtLQogICAtLSAgLSAiUmNfU3R5bGUiOgogICAtLSAgICBTZXQgaWYgdGhlIHdpZGdl
dCdzIHN0eWxlIGlzIGVpdGhlciB0aGUgZGVmYXVsdCBzdHlsZSwgb3IgaW4gYQogICAtLSAgICBj
dXN0b21pemF0aW9uIGZpbGUuIFRoaXMgaXMgdW5zZXQgaWYgdGhlIHN0eWxlIGhhcyBiZWVuIG1v
ZGlmaWVkIGJ5CiAgIC0tICAgIHRoZSB1c2VyLgogICAtLQogICAtLSAgLSAiQ29tcG9zaXRlX0No
aWxkIjoKICAgLS0gICAgPz8/CiAgIC0tCiAgIC0tICAtICJOb19SZXBhcmVudCI6CiAgIC0tICAg
IFRoaXMgZmxhZ3MgaXMgbmV2ZXIgdXNlZCBpbiBndGsrLgogICAtLQogICAtLSAgLSAiQXBwX1Bh
aW50YWJsZSI6CiAgIC0tICAgIEZvciBzb21lIGNvbnRhaW5lcnMgKGluY2x1ZGluZyBHdGtfV2lu
ZG93IGFuZCBHdGtfTGF5b3V0KSwgdGhpcyBpcwogICAtLSAgICB1bnNldCB3aGVuIHRoZSBjb250
YWluZXIgaXRzZWxmIGhhcyBzb21lIHNwZWNpYWwgZHJhd2luZyByb3V0aW5lcy4KICAgLS0KICAg
LS0gIC0gIlJlY2VpdmVzX0RlZmF1bHQiOgogICAtLSAgICBTZXQgd2hlbiB0aGUgd2lkZ2V0IHJl
Y2VpdmVzIHRoZSBkZWZhdWx0IGF0IHRoZSB0aW1lIGl0IHJlY2VpdmVzIHRoZQogICAtLSAgICBm
b2N1cy4gVGhpcyBpcyBob3cgdGhlIGRlZmF1bHQgYnV0dG9uIGluIGEgZGlhbG9nIGlzIGF1dG9t
YXRpY2FsbHkKICAgLS0gICAgY2hhbmdlZCB3aGVuIHlvdSBwcmVzcyBhbm90aGVyIGJ1dHRvbi4K
CiAgIFRvcGxldmVsICAgICAgICAgOiBjb25zdGFudCA6PSAyICoqIDQ7CiAgIE5vX1dpbmRvdyAg
ICAgICAgOiBjb25zdGFudCA6PSAyICoqIDU7CiAgIFJlYWxpemVkICAgICAgICAgOiBjb25zdGFu
dCA6PSAyICoqIDY7CiAgIE1hcHBlZCAgICAgICAgICAgOiBjb25zdGFudCA6PSAyICoqIDc7CiAg
IFZpc2libGUgICAgICAgICAgOiBjb25zdGFudCA6PSAyICoqIDg7CiAgIFNlbnNpdGl2ZSAgICAg
ICAgOiBjb25zdGFudCA6PSAyICoqIDk7CiAgIFBhcmVudF9TZW5zaXRpdmUgOiBjb25zdGFudCA6
PSAyICoqIDEwOwogICBDYW5fRm9jdXMgICAgICAgIDogY29uc3RhbnQgOj0gMiAqKiAxMTsKICAg
SGFzX0ZvY3VzICAgICAgICA6IGNvbnN0YW50IDo9IDIgKiogMTI7CiAgIENhbl9EZWZhdWx0ICAg
ICAgOiBjb25zdGFudCA6PSAyICoqIDEzOwogICBIYXNfRGVmYXVsdCAgICAgIDogY29uc3RhbnQg
Oj0gMiAqKiAxNDsKICAgSGFzX0dyYWIgICAgICAgICA6IGNvbnN0YW50IDo9IDIgKiogMTU7CiAg
IFJjX1N0eWxlICAgICAgICAgOiBjb25zdGFudCA6PSAyICoqIDE2OwogICBDb21wb3NpdGVfQ2hp
bGQgIDogY29uc3RhbnQgOj0gMiAqKiAxNzsKICAgTm9fUmVwYXJlbnQgICAgICA6IGNvbnN0YW50
IDo9IDIgKiogMTg7CiAgIEFwcF9QYWludGFibGUgICAgOiBjb25zdGFudCA6PSAyICoqIDE5Owog
ICBSZWNlaXZlc19EZWZhdWx0IDogY29uc3RhbnQgOj0gMiAqKiAyMDsKCiAgIGZ1bmN0aW9uIFRv
cGxldmVsX0lzX1NldAogICAgIChXaWRnZXQgOiBhY2Nlc3MgR3RrX1dpZGdldF9SZWNvcmQnQ2xh
c3MpIHJldHVybiBCb29sZWFuOwogICAtLSAgVGVzdCB3aGV0aGVyIHRoZSBUb3BsZXZlbCBmbGFn
IGlzIHNldC4KCiAgIGZ1bmN0aW9uIE5vX1dpbmRvd19Jc19TZXQKICAgICAoV2lkZ2V0IDogYWNj
ZXNzIEd0a19XaWRnZXRfUmVjb3JkJ0NsYXNzKSByZXR1cm4gQm9vbGVhbjsKICAgLS0gIFRlc3Qg
d2hldGhlciB0aGUgTm9fV2luZG93IGZsYWcgaXMgc2V0LgoKICAgZnVuY3Rpb24gUmVhbGl6ZWRf
SXNfU2V0CiAgICAgKFdpZGdldCA6IGFjY2VzcyBHdGtfV2lkZ2V0X1JlY29yZCdDbGFzcykgcmV0
dXJuIEJvb2xlYW47CiAgIC0tICBUZXN0IHdoZXRoZXIgdGhlIFJlYWxpemVkIGZsYWcgaXMgc2V0
LgoKICAgZnVuY3Rpb24gTWFwcGVkX0lzX1NldAogICAgIChXaWRnZXQgOiBhY2Nlc3MgR3RrX1dp
ZGdldF9SZWNvcmQnQ2xhc3MpIHJldHVybiBCb29sZWFuOwogICAtLSAgVGVzdCB3aGV0aGVyIHRo
ZSBNYXBwZWQgZmxhZyBpcyBzZXQuCgogICBmdW5jdGlvbiBWaXNpYmxlX0lzX1NldAogICAgIChX
aWRnZXQgOiBhY2Nlc3MgR3RrX1dpZGdldF9SZWNvcmQnQ2xhc3MpIHJldHVybiBCb29sZWFuOwog
ICAtLSAgVGVzdCB3aGV0aGVyIHRoZSBWaXNpYmxlIGZsYWcgaXMgc2V0LgoKICAgZnVuY3Rpb24g
RHJhd2FibGVfSXNfU2V0CiAgICAgKFdpZGdldCA6IGFjY2VzcyBHdGtfV2lkZ2V0X1JlY29yZCdD
bGFzcykgcmV0dXJuIEJvb2xlYW47CiAgIC0tICBUcnVlIGlmIHRoZSB3aWRnZXQgaXMgYm90aCB2
aXNpYmxlIGFuZCBtYXBwZWQuCiAgIC0tICBJbiBvdGhlciB3b3JkcywgaWYgaXQgZG9lcyBhcHBl
YXIgb24gdGhlIHNjcmVlbi4KCiAgIGZ1bmN0aW9uIElzX1NlbnNpdGl2ZQogICAgIChXaWRnZXQg
OiBhY2Nlc3MgR3RrX1dpZGdldF9SZWNvcmQnQ2xhc3MpIHJldHVybiBCb29sZWFuOwogICAtLSAg
VGVzdCB3aGV0aGVyIHRoZSB3aWRnZXQgaXMgU2Vuc2l0aXZlLgoKICAgZnVuY3Rpb24gQ2FuX0Zv
Y3VzX0lzX1NldAogICAgIChXaWRnZXQgOiBhY2Nlc3MgR3RrX1dpZGdldF9SZWNvcmQnQ2xhc3Mp
IHJldHVybiBCb29sZWFuOwogICAtLSAgVGVzdCB3aGV0aGVyIHRoZSBDYW5fRm9jdXMgZmxhZyBp
cyBzZXQuCgogICBmdW5jdGlvbiBIYXNfRm9jdXNfSXNfU2V0CiAgICAgKFdpZGdldCA6IGFjY2Vz
cyBHdGtfV2lkZ2V0X1JlY29yZCdDbGFzcykgcmV0dXJuIEJvb2xlYW47CiAgIC0tICBUZXN0IHdo
ZXRoZXIgdGhlIEhhc19Gb2N1cyBmbGFnIGlzIHNldC4KCiAgIGZ1bmN0aW9uIEhhc19EZWZhdWx0
X0lzX1NldAogICAgIChXaWRnZXQgOiBhY2Nlc3MgR3RrX1dpZGdldF9SZWNvcmQnQ2xhc3MpIHJl
dHVybiBCb29sZWFuOwogICAtLSAgVGVzdCB3aGV0aGVyIHRoZSBIYXNfRGVmYXVsdCBmbGFnIGlz
IHNldC4KCiAgIGZ1bmN0aW9uIEhhc19HcmFiX0lzX1NldAogICAgIChXaWRnZXQgOiBhY2Nlc3Mg
R3RrX1dpZGdldF9SZWNvcmQnQ2xhc3MpIHJldHVybiBCb29sZWFuOwogICAtLSAgVGVzdCB3aGV0
aGVyIHRoZSBIYXNfR3JhYiBmbGFnIGlzIHNldC4KCiAgIGZ1bmN0aW9uIFJjX1N0eWxlX0lzX1Nl
dAogICAgIChXaWRnZXQgOiBhY2Nlc3MgR3RrX1dpZGdldF9SZWNvcmQnQ2xhc3MpIHJldHVybiBC
b29sZWFuOwogICAtLSAgVGVzdCB3aGV0aGVyIHRoZSBSY19TdHlsZSBmbGFnIGlzIHNldC4KCiAg
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIC0tIERlZmluaXRpb25z
IGZvciBsaXN0cyBvZiB3aWRnZXRzIC0tCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCgogICAtLSAgPGRvY19pZ25vcmU+CgogICBmdW5jdGlvbiBDb252ZXJ0IChXIDog
aW4gR3RrX1dpZGdldCkgcmV0dXJuIFN5c3RlbS5BZGRyZXNzOwogICBmdW5jdGlvbiBDb252ZXJ0
IChXIDogU3lzdGVtLkFkZHJlc3MpIHJldHVybiBHdGtfV2lkZ2V0OwogICBwYWNrYWdlIFdpZGdl
dF9MaXN0IGlzIG5ldyBHbGliLkdsaXN0LkdlbmVyaWNfTGlzdCAoR3RrX1dpZGdldCk7CiAgIHBh
Y2thZ2UgV2lkZ2V0X1NMaXN0IGlzIG5ldyBHbGliLkdTbGlzdC5HZW5lcmljX1NMaXN0IChHdGtf
V2lkZ2V0KTsKCiAgIC0tICA8L2RvY19pZ25vcmU+CgogICAtLS0tLS0tLS0tLS0tCiAgIC0tIFNp
Z25hbHMgLS0KICAgLS0tLS0tLS0tLS0tLQoKICAgLS0gIDxzaWduYWxzPgogICAtLSAgVGhlIGZv
bGxvd2luZyBuZXcgc2lnbmFscyBhcmUgZGVmaW5lZCBmb3IgdGhpcyB3aWRnZXQ6CiAgIC0tCiAg
IC0tICAtICJzaG93IgogICAtLSAgICBwcm9jZWR1cmUgSGFuZGxlciAoV2lkZ2V0IDogYWNjZXNz
IEd0a19XaWRnZXRfUmVjb3JkJ0NsYXNzKTsKICAgLS0KICAgLS0gICAgRW1pdHRlZCB3aGVuIGEg
d2lkZ2V0IGlzIHRvIGJlIHNob3duIChzZWUgZXhwbGFuYXRpb24gZm9yIHRoZSBTaG93CiAgIC0t
ICAgIHN1YnByb2dhbSkuIFRoaXMgc2NoZWR1bGVzIHRoZSB3aWRnZXQgdG8gYmUgZGlzcGxheWVk
IG9uIHRoZSBzY3JlZW4sCiAgIC0tICAgIGFuZCBpZiB0aGlzIGlzIGEgdG9wbGV2ZWwgd2lkZ2V0
IGl0IGFjdHVhbGx5IGFwcGVhcnMgb24gdGhlIHNjcmVlbgogICAtLSAgICBhbmQgYWxsIGl0cyBj
aGlsZHJlbiB0aGF0IGhhdmUgYmVlbiBzaG93bi4KICAgLS0KICAgLS0gIC0gImhpZGUiCiAgIC0t
ICAgIHByb2NlZHVyZSBIYW5kbGVyIChXaWRnZXQgOiBhY2Nlc3MgR3RrX1dpZGdldF9SZWNvcmQn
Q2xhc3MpOwogICAtLQogICAtLSAgICBFbWl0dGVkIHdoZW4gYSB3aWRnZXQgaXMgdG8gYmUgaGlk
ZGVuIChzZWUgZXhwbGFuYXRpb24gZm9yIHRoZSBIaWRlCiAgIC0tICAgIHN1YnByb2dyYW0pLiBI
aWRlcyB0aGUgd2lkZ2V0IGZyb20gdGhlIHNjcmVlbiwgYW5kIGlmIGl0cyBwYXJlbnQgaXMKICAg
LS0gICAgc2hvd24sIHRoZSB3aWRnZXQgd2lsbCBub3QgYXBwZWFyIG9uIHRoZSBzY3JlZW4gYWdh
aW4uCiAgIC0tCiAgIC0tICAtICJtYXAiCiAgIC0tICAgIHByb2NlZHVyZSBIYW5kbGVyIChXaWRn
ZXQgOiBhY2Nlc3MgR3RrX1dpZGdldF9SZWNvcmQnQ2xhc3MpOwogICAtLQogICAtLSAgICBFbWl0
dGVkIHdoZW4gYSB3aWRnZXQgaXMgbWFwcGVkIG9uIHRoZSBzY3JlZW4gKHRoZSBkZWZhdWx0IGhh
bmRsZXIKICAgLS0gICAgc2ltcGx5IGVtaXRzIHRoZSAic2hvdyIgc2lnbmFsKS4KICAgLS0KICAg
LS0gIC0gInVubWFwIgogICAtLSAgICBwcm9jZWR1cmUgSGFuZGxlciAoV2lkZ2V0IDogYWNjZXNz
IEd0a19XaWRnZXRfUmVjb3JkJ0NsYXNzKTsKICAgLS0KICAgLS0gICAgRW1pdHRlZCB3aGVuIGEg
d2lkZ2V0IG5lZWRzIHRvIGJlIHVubWFwcGVkIG9uIHRoZSBzY3JlZW4gKHRoZSBkZWZhdWx0CiAg
IC0tICAgIGhhbmRsZXIgc2ltcGx5IGVtaXRzIHRoZSAiaGlkZSIgc2lnbmFsKS4KICAgLS0KICAg
LS0gIC0gInJlYWxpemUiCiAgIC0tICAgIHByb2NlZHVyZSBIYW5kbGVyIChXaWRnZXQgOiBhY2Nl
c3MgR3RrX1dpZGdldF9SZWNvcmQnQ2xhc3MpOwogICAtLQogICAtLSAgICBFbWl0dGVkIHdoZW4g
YSB3aWRnZXQgaXMgcmVhbGl6ZWQuIFRoZSBkZWZhdWx0IGhhbmRsZXIgY3JlYXRlcyB0aGUKICAg
LS0gICAgR2RrIHdpbmRvdyBhc3NvY2lhdGVkIHdpdGggdGhlIHdpZGdldCwgYW5kIGl0cyBhbmNl
c3RvcnMuCiAgIC0tCiAgIC0tICAtICJ1bnJlYWxpemUiCiAgIC0tICAgIHByb2NlZHVyZSBIYW5k
bGVyIChXaWRnZXQgOiBhY2Nlc3MgR3RrX1dpZGdldF9SZWNvcmQnQ2xhc3MpOwogICAtLQogICAt
LSAgICBFbWl0dGVkIHdoZW4gYSB3aWRnZXQgaXMgdW5yZWFsaXplZC4gVGhlIGRlZmF1bHQgaGFu
ZGxlciBkZXN0cm95cyB0aGUKICAgLS0gICAgR2RrIHdpbmRvd3Mgb2YgdGhlIHdpZGdldCBhbmQg
YWxsIGl0cyBjaGlsZHJlbi4KICAgLS0KICAgLS0gIC0gImRyYXciCiAgIC0tICAgIHByb2NlZHVy
ZSBIYW5kbGVyIChXaWRnZXQgOiBhY2Nlc3MgR3RrX1dpZGdldF9SZWNvcmQnQ2xhc3M7CiAgIC0t
ICAgICAgICAgICAgICAgICAgICAgICBBcmVhICAgOiBHZGsuUmVjdGFuZ2xlLkdka19SZWN0YW5n
bGUpOwogICAtLQogICAtLSAgICBFbWl0dGVkIHdoZW4gYSB3aWRnZXQgbmVlZHMgdG8gYmUgZHJh
d24uIFRoZSBkZWZhdWx0IGhhbmRsZXIgZW1pdHMKICAgLS0gICAgdGhlICJleHBvc2UiIGV2ZW50
LgogICAtLQogICAtLSAgLSAiZHJhd19mb2N1cyIKICAgLS0gICAgcHJvY2VkdXJlIEhhbmRsZXIg
KFdpZGdldCA6IGFjY2VzcyBHdGtfV2lkZ2V0X1JlY29yZCdDbGFzcyk7CiAgIC0tCiAgIC0tICAg
IEVtaXR0ZWQgd2hlbiBhIHdpZGdldCBuZWVkcyB0byBiZSBkcmF3biBhbmQgaXQgaGFzIHRoZSBm
b2N1cy4gU29tZQogICAtLSAgICB3aWRnZXRzIG1pZ2h0IHdhbnQgdG8gcHJvdmlkZSB2aXN1YWwg
Y2x1ZXMgdGhhdCB0aGV5IGhhdmUgdGhlIGZvY3VzLAogICAtLSAgICBsaWtlIGEgYmxhY2sgYm9y
ZGVyLiBUaGlzIGlzIG5ldmVyIGNhbGxlZCBpZiB0aGUgd2lkZ2V0IGNhbiBub3QgaGF2ZQogICAt
LSAgICB0aGUgZm9jdXMgKGllIHRoZSAiQ2FuX0ZvY3VzIiBmbGFnIGlzIHVuc2V0KS4KICAgLS0K
ICAgLS0gIC0gImRyYXdfZGVmYXVsdCIKICAgLS0gICAgcHJvY2VkdXJlIEhhbmRsZXIgKFdpZGdl
dCA6IGFjY2VzcyBHdGtfV2lkZ2V0X1JlY29yZCdDbGFzcyk7CiAgIC0tCiAgIC0tICAgIEVtaXR0
ZWQgd2hlbiBhIHdpZGdldCBuZWVkcyB0byBiZSBkcmF3biBhbmQgaXQgZG9lcyBub3QgaGF2ZSB0
aGUKICAgLS0gICAgZm9jdXMuIFRoaXMgaXMgbmV2ZXIgY2FsbGVkIGlmIHRoZSB3aWRnZXQgY2Fu
IG5vdCBoYXZlIHRoZSBmb2N1cwogICAtLSAgICAoaWUgdGhlICJDYW5fRm9jdXMiIGZsYWcgaXMg
dW5zZXQpLgogICAtLQogICAtLSAgLSAic2l6ZV9yZXF1ZXN0IgogICAtLSAgICBwcm9jZWR1cmUg
SGFuZGxlciAoV2lkZ2V0ICAgICAgOiBhY2Nlc3MgR3RrX1dpZGdldF9SZWNvcmQnQ2xhc3M7CiAg
IC0tICAgICAgICAgICAgICAgICAgICAgICBSZXF1aXNpdGlvbiA6IGFjY2VzcyBHdGtfUmVxdWlz
aXRpb24pOwogICAtLQogICAtLSAgICBTaG91bGQgcmV0dXJuIChpbiBSZXF1aXNpdGlvbikgdGhl
IGlkZWFsIHNpemUgdGhlIHdpZGdldCB3b3VsZCBsaWtlIHRvCiAgIC0tICAgIGhhdmUuIEl0IGlz
IG5vdCBzdXJlIHRoaXMgaXMgdGhlIHNpemUgdGhhdCB3aWxsIGJlIGFzc2lnbmVkIHRvIGl0LAog
ICAtLSAgICBzaW5jZSBpdCBkZXBlbmRzIG9uIHRoZSBzaXplIG9mIGl0cyBwYXJlbnQpLgogICAt
LQogICAtLSAgLSAic2l6ZV9hbGxvY2F0ZSIKICAgLS0gICAgcHJvY2VkdXJlIEhhbmRsZXIgKFdp
ZGdldCAgICAgOiBhY2Nlc3MgR3RrX1dpZGdldF9SZWNvcmQnQ2xhc3M7CiAgIC0tICAgICAgICAg
ICAgICAgICAgICAgICBBbGxvY2F0aW9uIDogR3RrX0FsbG9jYXRpb24pOwogICAtLQogICAtLSAg
ICBBIHNpemUgYW5kIHBvc2l0aW9uIHdlcmUgYXNzaWduZWQgdG8gdGhlIHdpZGdldC4gVGhpcyBp
cyBjYWxsZWQgZXZlcnkKICAgLS0gICAgdGltZSB0aGUgc2l6ZSBvZiB0aGUgd2lkZ2V0IGNoYW5n
ZXMuCiAgIC0tICAgIFRoZSBkZWZhdWx0IGhhbmRsZXIgdGFrZXMgY2FyZSBvZiByZXNpemluZyBh
bmQgbW92aW5nIHRoZSB3aWRnZXQuCiAgIC0tCiAgIC0tICAtICJzdGF0ZV9jaGFuZ2VkIgogICAt
LSAgICBwcm9jZWR1cmUgSGFuZGxlciAoV2lkZ2V0ICAgICAgICAgOiBhY2Nlc3MgR3RrX1dpZGdl
dF9SZWNvcmQnQ2xhc3M7CiAgIC0tICAgICAgICAgICAgICAgICAgICAgICBQcmV2aW91c19TdGF0
ZSA6IEd0ay5FbnVtcy5HdGtfU3RhdGVfVHlwZSk7CiAgIC0tCiAgIC0tICAgIFRoZSBzdGF0ZSBv
ZiB0aGUgd2lkZ2V0IGhhcyBjaGFuZ2VkLgogICAtLQogICAtLSAgLSAicGFyZW50X3NldCIKICAg
LS0gICAgcHJvY2VkdXJlIEhhbmRsZXIgKFdpZGdldCA6IGFjY2VzcyBHdGtfV2lkZ2V0X1JlY29y
ZCdDbGFzczsKICAgLS0gICAgICAgICAgICAgICAgICAgICAgIFByZXZpb3VzX1BhcmVudCA6IGFj
Y2VzcyBHdGtfV2lkZ2V0X1JlY29yZCdDbGFzcyk7CiAgIC0tCiAgIC0tICAgIEEgbmV3IHBhcmVu
dCBoYXMgYmVlbiBzZXQgZm9yIHRoZSB3aWRnZXQuIFRoZSBwcmV2aW91cyBwYXJlbnQgaXMKICAg
LS0gICAgZ2l2ZW4gaW4gYXJndW1lbnRzIChpZiB0aGVyZSB3YXMgbm9uZSwKICAgLS0gICAgR2Rr
LklzX0NyZWF0ZWQgKFByZXZpb3VzX1BhcmVudCkgcmV0dXJucyBGYWxzZSkuCiAgIC0tCiAgIC0t
ICAtICJzdHlsZV9zZXQiCiAgIC0tICAgIHByb2NlZHVyZSBIYW5kbGVyIChXaWRnZXQgOiBhY2Nl
c3MgR3RrX1dpZGdldF9SZWNvcmQnQ2xhc3MpOwogICAtLSAgICAgICAgICAgICAgICAgICAgICAg
UHJldmlvdXNfU3R5bGUgOiBHdGsuU3R5bGUuR3RrX1N0eWxlKTsKICAgLS0KICAgLS0gICAgVGhl
IHdpZGdldCdzIHN0eWxlIGhhcyBiZWVuIGNoYW5nZWQgKHRoaXMgaXMgbm90IGNhbGwgd2hlbiBz
b21lCiAgIC0tICAgIHNldHRpbmdzIGluIHRoZSBzdHlsZSBhcmUgY2hhbmdlZCwgb25seSB3aGVu
IHRoZSBzdHlsZSBpdHNlbGYgaXMKICAgLS0gICAgY29tcGxldGVseSBjaGFuZ2VkIHdpdGggYSBj
YWxsIHRvIFNldF9TdHlsZSBvciBTZXRfUmNfU3R5bGUpLgogICAtLQogICAtLSAgLSAiYWRkX2Fj
Y2VsZXJhdG9yIgogICAtLQogICAtLSAgPz8/CiAgIC0tCiAgIC0tICAtICJyZW1vdmVfYWNjZWxl
cmF0b3IiCiAgIC0tCiAgIC0tICA/Pz8KICAgLS0KICAgLS0gIC0gImdyYWJfZm9jdXMiCiAgIC0t
ICAgIHByb2NlZHVyZSBIYW5kbGVyIChXaWRnZXQgOiBhY2Nlc3MgR3RrX1dpZGdldF9SZWNvcmQn
Q2xhc3MpOwogICAtLQogICAtLSAgICBUaGUgd2lkZ2V0IGhhcyBnb3QgdGhlIGZvY3VzLCBpZSB3
aWxsIG5vdyBnZXQgdGhlIGtleWJvYXJkIGV2ZW50cwogICAtLSAgICBzZW50IHRvIGEgd2luZG93
LiBUaGlzIGlzIG9ubHkgY2FsbGVkIGlmIHRoZSAiQ2FuX0ZvY3VzIiBmbGFnIGlzCiAgIC0tICAg
IHNldC4gVGhlICJIYXNfRm9jdXMiIGZsYWcgbWlnaHQgbm90IGJlIHNldCB3aGVuIHRoaXMgc2ln
bmFsIGlzCiAgIC0tICAgIGVtaXR0ZWQuCiAgIC0tCiAgIC0tICAtICJldmVudCIKICAgLS0gICAg
ZnVuY3Rpb24gSGFuZGxlciAoV2lkZ2V0IDogYWNjZXNzIEd0a19XaWRnZXRfUmVjb3JkJ0NsYXNz
OwogICAtLSAgICAgICAgICAgICAgICAgICAgICBFdmVudCAgOiBHZGsuRXZlbnQuR2RrX0V2ZW50
KQogICAtLSAgICAgICAgICAgICAgICAgICAgIHJldHVybiBCb29sZWFuOwogICAtLQogICAtLSAg
ICBTb21lIGV2ZW50IHdhcyBzZW50IHRvIHRoZSB3aWRnZXQuIFRoaXMgY292ZXJzIGFsbCB0aGUg
Y2FzZXMKICAgLS0gICAgYmVsb3csIGFuZCBhY3RzIGFzIGEgZ2VuZXJhbCBoYW5kbGVyLiBUaGlz
IGlzIGNhbGxlZCBpbiBhZGRpdGlvbiB0bwogICAtLSAgICB0aGUgcmVsZXZhbnQgc3BlY2lmaWMg
aGFuZGxlciBiZWxvdy4KICAgLS0gICAgSWYgdGhlIGhhbmRsZXIgcmV0dXJucyBGYWxzZSwgdGhl
IGV2ZW50IG1pZ2h0IGJlIHBhc3MgdG8gdGhlIHBhcmVudAogICAtLSAgICBvZiB3aWRnZXQgKGlm
IG5vIG90aGVyIGhhbmRsZXIgb2Ygd2lkZ2V0IGhhcyByZXR1cm5lZCBUcnVlKS4KICAgLS0KICAg
LS0gIC0gImJ1dHRvbl9wcmVzc19ldmVudCIKICAgLS0gICAgZnVuY3Rpb24gSGFuZGxlciAoV2lk
Z2V0IDogYWNjZXNzIEd0a19XaWRnZXRfUmVjb3JkJ0NsYXNzOwogICAtLSAgICAgICAgICAgICAg
ICAgICAgICBFdmVudCAgOiBHZGsuRXZlbnQuR2RrX0V2ZW50X0J1dHRvbikKICAgLS0gICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gQm9vbGVhbjsKICAgLS0KICAgLS0gICAgQSBidXR0b24gd2Fz
IHByZXNzZWQgd2hpbGUgdGhlIHBvaW50ZXIgd2FzIGluc2lkZSB0aGUgd2lkZ2V0LgogICAtLSAg
ICBUbyBnZXQgdGhpcyBzaWduYWwsIHNvbWUgd2lkZ2V0cyBieSBoYXZlIHRvIHVzZSB0aGUgU2V0
X0V2ZW50cwogICAtLSAgICBzdWJwcm9ncmFtIGZpcnN0IHRvIGdldCB0aGlzIGV2ZW50LgogICAt
LSAgICBJZiB0aGUgaGFuZGxlciByZXR1cm5zIEZhbHNlLCB0aGUgZXZlbnQgbWlnaHQgYmUgcGFz
cyB0byB0aGUgcGFyZW50CiAgIC0tICAgIG9mIHdpZGdldCAoaWYgbm8gb3RoZXIgaGFuZGxlciBv
ZiB3aWRnZXQgaGFzIHJldHVybmVkIFRydWUpLgogICAtLQogICAtLSAgLSAiYnV0dG9uX3JlbGVh
c2VfZXZlbnQiCiAgIC0tICAgIGZ1bmN0aW9uIEhhbmRsZXIgKFdpZGdldCA6IGFjY2VzcyBHdGtf
V2lkZ2V0X1JlY29yZCdDbGFzczsKICAgLS0gICAgICAgICAgICAgICAgICAgICAgRXZlbnQgIDog
R2RrLkV2ZW50Lkdka19FdmVudF9CdXR0b24pCiAgIC0tICAgICAgICAgICAgICAgICAgICAgcmV0
dXJuIEJvb2xlYW47CiAgIC0tCiAgIC0tICAgIEEgYnV0dG9uIHdhcyByZWxlYXNlZCB3aGlsZSB0
aGUgcG9pbnRlciB3YXMgaW5zaWRlIHRoZSB3aWRnZXQuCiAgIC0tICAgIE5vdGUgdGhhdCBpbiBz
b21lIGNhc2VzIChHdGtfQnV0dG9ucyBmb3IgaW5zdGFuY2UpLCBhbm90aGVyICJjbGlja2VkIgog
ICAtLSAgICBzaWduYWwgY291bGQgYmUgZW1pdHRlZCkuIFRoaXMgImJ1dHRvbl9yZWxlYXNlX2V2
ZW50IiBzaG91bGQgbWFpbmx5CiAgIC0tICAgIGJlIHVzZWQgZm9yIHdpZGdldHMgdGhhdCBkb24n
dCBhbHJlYWR5IGhhdmUgc3BlY2lmaWMgc2lnbmFscyB0byBjb3ZlcgogICAtLSAgICB0aGF0IGNh
c2UgKEd0a19EcmF3aW5nX0FyZWEgZm9yIGluc3RhbmNlKS4KICAgLS0KICAgLS0gICAgVG8gZ2V0
IHRoaXMgc2lnbmFsLCBzb21lIHdpZGdldHMgbWF5IGhhdmUgdG8gdXNlIHRoZSBTZXRfRXZlbnRz
CiAgIC0tICAgIHN1YnByb2dyYW0gZmlyc3QgdG8gZ2V0IHRoaXMgZXZlbnQuCiAgIC0tCiAgIC0t
ICAgIElmIHRoZSBoYW5kbGVyIHJldHVybnMgRmFsc2UsIHRoZSBldmVudCBtaWdodCBiZSBwYXNz
IHRvIHRoZSBwYXJlbnQKICAgLS0gICAgb2Ygd2lkZ2V0IChpZiBubyBvdGhlciBoYW5kbGVyIG9m
IHdpZGdldCBoYXMgcmV0dXJuZWQgVHJ1ZSkuCiAgIC0tCiAgIC0tICAtICJtb3Rpb25fbm90aWZ5
X2V2ZW50IgogICAtLSAgICBmdW5jdGlvbiBIYW5kbGVyIChXaWRnZXQgOiBhY2Nlc3MgR3RrX1dp
ZGdldF9SZWNvcmQnQ2xhc3M7CiAgIC0tICAgICAgICAgICAgICAgICAgICAgIEV2ZW50ICA6IEdk
ay5FdmVudC5HZGtfRXZlbnRfTW90aW9uKQogICAtLSAgICAgICAgICAgICAgICAgICAgIHJldHVy
biBCb29sZWFuOwogICAtLQogICAtLSAgICBUaGUgcG9pbnRlciBoYXMgbW92ZWQgd2hpbGUgcmVt
YWluaW5nIGluc2lkZSB0aGUgd2lkZ2V0LgogICAtLSAgICBUaGUgU2V0X0V2ZW50cyBzdWJwcm9n
cmFtIGhhcyB0byBiZSBjYWxsZWQgZmlyc3QgdG8gZ2V0IHRoaXMgZXZlbnQuCiAgIC0tCiAgIC0t
ICAgIElmIHRoZSBoYW5kbGVyIHJldHVybnMgRmFsc2UsIHRoZSBldmVudCBtaWdodCBiZSBwYXNz
IHRvIHRoZSBwYXJlbnQKICAgLS0gICAgb2Ygd2lkZ2V0IChpZiBubyBvdGhlciBoYW5kbGVyIG9m
IHdpZGdldCBoYXMgcmV0dXJuZWQgVHJ1ZSkuCiAgIC0tCiAgIC0tICAtICJkZWxldGVfZXZlbnQi
CiAgIC0tICAgIGZ1bmN0aW9uIEhhbmRsZXIgKFdpZGdldCA6IGFjY2VzcyBHdGtfV2lkZ2V0X1Jl
Y29yZCdDbGFzczsKICAgLS0gICAgICAgICAgICAgICAgICAgICAgRXZlbnQgIDogR2RrLkV2ZW50
Lkdka19FdmVudCkKICAgLS0gICAgICAgICAgICAgICAgICAgICByZXR1cm4gQm9vbGVhbjsKICAg
LS0KICAgLS0gICAgVGhlIHVzZXIgaGFzIGNsaWNrZWQgb24gdGhlICJjbG9zZSIgYnV0dG9uIGlu
IHRoZSB3aW5kb3cncyBmcmFtZQogICAtLSAgICAodGhlIGJ1dHRvbiB0aGF0IGlzIGF1dG9tYXRp
Y2FsbHkgc2V0IGJ5IHRoZSB3aW5kb3cgbWFuYWdlcikuIElmIHRoZQogICAtLSAgICBoYW5kbGVy
IHJldHVybnMgRmFsc2UsIHRoZSB3aWRnZXQgd2lsbCBiZSBkZXN0cm95ZWQgKGFuZCB0aGUgd2lu
ZG93CiAgIC0tICAgIGNsb3NlZCksIGJ1dCBpZiB0aGUgaGFuZGxlciByZXR1cm5zIFRydWUsIG5v
dGhpbmcgd2lsbCBiZSBkb25lLgogICAtLSAgICBUaGlzIGlzIGEgZ29vZCB3YXkgdG8gcHJldmVu
dCB0aGUgdXNlciBmcm9tIGNsb3NpbmcgeW91ciBhcHBsaWNhdGlvbidzCiAgIC0tICAgIHdpbmRv
dyBpZiB0aGVyZSBzaG91bGQgYmUgc29tZSBjbGVhbiB1cHMgZmlyc3QgKGxpa2Ugc2F2aW5nIHRo
ZQogICAtLSAgICBkb2N1bWVudCkuCiAgIC0tCiAgIC0tICAtICJkZXN0cm95X2V2ZW50IgogICAt
LSAgICBmdW5jdGlvbiBIYW5kbGVyIChXaWRnZXQgOiBhY2Nlc3MgR3RrX1dpZGdldF9SZWNvcmQn
Q2xhc3M7CiAgIC0tICAgICAgICAgICAgICAgICAgICAgIEV2ZW50ICA6IEdkay5FdmVudC5HZGtf
RXZlbnQpCiAgIC0tICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEJvb2xlYW47CiAgIC0tCiAg
IC0tICAgIFRoaXMgc2lnbmFsIGlzIGFwcGFyZW50bHkgbmV2ZXIgZW1pdHRlZCBieSBHdGsrLiBZ
b3UgbWlnaHQgd2FudCB0bwogICAtLSAgICB1c2UgImRlc3Ryb3kiIGluc3RlYWQsIHdoaWNoIGlz
IGRvY3VtZW50ZWQgaW4gR3RrLk9iamVjdC4KICAgLS0KICAgLS0gIC0gImV4cG9zZV9ldmVudCIK
ICAgLS0gICAgZnVuY3Rpb24gSGFuZGxlciAoV2lkZ2V0IDogYWNjZXNzIEd0a19XaWRnZXRfUmVj
b3JkJ0NsYXNzOwogICAtLSAgICAgICAgICAgICAgICAgICAgICBFdmVudCAgOiBHZGsuRXZlbnQu
R2RrX0V2ZW50X0V4cG9zZSkKICAgLS0gICAgICAgICAgICAgICAgICAgICByZXR1cm4gQm9vbGVh
bjsKICAgLS0KICAgLS0gICAgVGhlIHdpZGdldCBuZWVkcyB0byBiZSBwYXJ0bHkgcmVkcmF3bi4g
VGhlIGV4YWN0IGFyZWEgdG8gcmVkcmF3IGlzCiAgIC0tICAgIGZvdW5kIGluIEV2ZW50LiBGb3Ig
c29tZSB3aWRnZXRzLCB5b3Ugc2hvdWxkIHJhdGhlciBjb25uZWN0IHRvIHRoZQogICAtLSAgICAi
ZHJhdyIgc2lnbmFsLiBIb3dldmVyLCBmb3IgaW5zdGFuY2UgZm9yIEd0a19EcmF3aW5nX0FyZWEg
d2lkZ2V0cywKICAgLS0gICAgeW91IGhhdmUgdG8gdXNlIHRoaXMsIGFmdGVyIHNldHRpbmcgdGhl
IGNvcnJlY3QgZXZlbnQgbWFzayB3aXRoCiAgIC0tICAgIFNldF9FdmVudHMuCiAgIC0tICAgIElm
IHRoZSBoYW5kbGVyIHJldHVybnMgRmFsc2UsIHRoZSBldmVudCBtaWdodCBiZSBwYXNzIHRvIHRo
ZSBwYXJlbnQKICAgLS0gICAgb2Ygd2lkZ2V0IChpZiBubyBvdGhlciBoYW5kbGVyIG9mIHdpZGdl
dCBoYXMgcmV0dXJuZWQgVHJ1ZSkuCiAgIC0tCiAgIC0tICAtICJrZXlfcHJlc3NfZXZlbnQiCiAg
IC0tICAgIGZ1bmN0aW9uIEhhbmRsZXIgKFdpZGdldCA6IGFjY2VzcyBHdGtfV2lkZ2V0X1JlY29y
ZCdDbGFzczsKICAgLS0gICAgICAgICAgICAgICAgICAgICAgRXZlbnQgIDogR2RrLkV2ZW50Lkdk
a19FdmVudF9LZXkpCiAgIC0tICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEJvb2xlYW47CiAg
IC0tCiAgIC0tICAgIEEga2V5IGhhcyBiZWVuIHByZXNzZWQgd2hpbGUgV2lkZ2V0IGhhZCB0aGUg
Zm9jdXMuIE5vdGUgdGhhdCBzb21lCiAgIC0tICAgIHdpZGdldHMgbGlrZSBHdGtfRWRpdGFibGUg
cHJvdmlkZSBzb21lIGhpZ2hlci1sZXZlbCBzaWduYWxzIHRvIGhhbmRsZQogICAtLSAgICB0aGlz
LgogICAtLSAgICBJZiB0aGUgaGFuZGxlciByZXR1cm5zIEZhbHNlLCB0aGUgZXZlbnQgbWlnaHQg
YmUgcGFzcyB0byB0aGUgcGFyZW50CiAgIC0tICAgIG9mIHdpZGdldCAoaWYgbm8gb3RoZXIgaGFu
ZGxlciBvZiB3aWRnZXQgaGFzIHJldHVybmVkIFRydWUpLgogICAtLQogICAtLSAgLSAia2V5X3Jl
bGVhc2VfZXZlbnQiCiAgIC0tICAgIGZ1bmN0aW9uIEhhbmRsZXIgKFdpZGdldCA6IGFjY2VzcyBH
dGtfV2lkZ2V0X1JlY29yZCdDbGFzczsKICAgLS0gICAgICAgICAgICAgICAgICAgICAgRXZlbnQg
IDogR2RrLkV2ZW50Lkdka19FdmVudF9LZXkpCiAgIC0tICAgICAgICAgICAgICAgICAgICAgcmV0
dXJuIEJvb2xlYW47CiAgIC0tCiAgIC0tICAgIEEga2V5IGhhcyBiZWVuIHJlbGVhc2VkIHdoaWxl
IFdpZGdldCBoYWQgdGhlIGZvY3VzLgogICAtLSAgICBJZiB0aGUgaGFuZGxlciByZXR1cm5zIEZh
bHNlLCB0aGUgZXZlbnQgbWlnaHQgYmUgcGFzcyB0byB0aGUgcGFyZW50CiAgIC0tICAgIG9mIHdp
ZGdldCAoaWYgbm8gb3RoZXIgaGFuZGxlciBvZiB3aWRnZXQgaGFzIHJldHVybmVkIFRydWUpLgog
ICAtLQogICAtLSAgLSAiZW50ZXJfbm90aWZ5X2V2ZW50IgogICAtLSAgICBmdW5jdGlvbiBIYW5k
bGVyIChXaWRnZXQgOiBhY2Nlc3MgR3RrX1dpZGdldF9SZWNvcmQnQ2xhc3M7CiAgIC0tICAgICAg
ICAgICAgICAgICAgICAgIEV2ZW50ICA6IEdkay5FdmVudC5HZGtfRXZlbnRfQ3Jvc3NpbmcpCiAg
IC0tICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEJvb2xlYW47CiAgIC0tCiAgIC0tICAgIFRo
ZSBwb2ludGVyIGhhcyBqdXN0IGVudGVyZWQgdGhlIHdpZGdldC4gSWYgdGhlICJDYW5fRm9jdXMi
IGZsYWcgaXMKICAgLS0gICAgc2V0LCBXaWRnZXQgd2lsbCBnYWluIHRoZSBmb2N1cywgYW5kIHRo
ZSB3aWRnZXQgbWlnaHQgYmUgZHJhd24KICAgLS0gICAgZGlmZmVyZW50bHkuCiAgIC0tICAgIElm
IHRoZSBoYW5kbGVyIHJldHVybnMgRmFsc2UsIHRoZSBldmVudCBtaWdodCBiZSBwYXNzIHRvIHRo
ZSBwYXJlbnQKICAgLS0gICAgb2Ygd2lkZ2V0IChpZiBubyBvdGhlciBoYW5kbGVyIG9mIHdpZGdl
dCBoYXMgcmV0dXJuZWQgVHJ1ZSkuCiAgIC0tCiAgIC0tICAtICJsZWF2ZV9ub3RpZnlfZXZlbnQi
CiAgIC0tICAgIGZ1bmN0aW9uIEhhbmRsZXIgKFdpZGdldCA6IGFjY2VzcyBHdGtfV2lkZ2V0X1Jl
Y29yZCdDbGFzczsKICAgLS0gICAgICAgICAgICAgICAgICAgICAgRXZlbnQgIDogR2RrLkV2ZW50
Lkdka19FdmVudF9Dcm9zc2luZykKICAgLS0gICAgICAgICAgICAgICAgICAgICByZXR1cm4gQm9v
bGVhbjsKICAgLS0KICAgLS0gICAgVGhlIHBvaW50ZXIgaGFzIGp1c3QgbGVhdmVkIHRoZSB3aWRn
ZXQuIElmIHRoZSAiQ2FuX0ZvY3VzIiBmbGFnIGlzCiAgIC0tICAgIHNldCwgV2lkZ2V0IHdpbGwg
Z2FpbiB0aGUgZm9jdXMsIGFuZCB0aGUgd2lkZ2V0IG1pZ2h0IGJlIGRyYXduCiAgIC0tICAgIGRp
ZmZlcmVudGx5LgogICAtLSAgICBJZiB0aGUgaGFuZGxlciByZXR1cm5zIEZhbHNlLCB0aGUgZXZl
bnQgbWlnaHQgYmUgcGFzcyB0byB0aGUgcGFyZW50CiAgIC0tICAgIG9mIHdpZGdldCAoaWYgbm8g
b3RoZXIgaGFuZGxlciBvZiB3aWRnZXQgaGFzIHJldHVybmVkIFRydWUpLgogICAtLQogICAtLSAg
LSAiY29uZmlndXJlX2V2ZW50IgogICAtLSAgICBmdW5jdGlvbiBIYW5kbGVyIChXaWRnZXQgOiBh
Y2Nlc3MgR3RrX1dpZGdldF9SZWNvcmQnQ2xhc3M7CiAgIC0tICAgICAgICAgICAgICAgICAgICAg
IEV2ZW50ICA6IEdkay5FdmVudC5HZGtfRXZlbnRfQ29uZmlndXJlKQogICAtLSAgICAgICAgICAg
ICAgICAgICAgIHJldHVybiBCb29sZWFuOwogICAtLQogICAtLSAgICBTb21lIGNvbmZpZ3VyYXRp
b24gb2YgdGhlIHdpbmRvdyBoYXMgY2hhbmdlZCAoaXQgaGFzIGJlZW4KICAgLS0gICAgbW92ZWQg
b3IgcmVzaXplZCkuCiAgIC0tICAgIElmIHRoZSBoYW5kbGVyIHJldHVybnMgRmFsc2UsIHRoZSBl
dmVudCBtaWdodCBiZSBwYXNzIHRvIHRoZSBwYXJlbnQKICAgLS0gICAgb2Ygd2lkZ2V0IChpZiBu
byBvdGhlciBoYW5kbGVyIG9mIHdpZGdldCBoYXMgcmV0dXJuZWQgVHJ1ZSkuCiAgIC0tCiAgIC0t
ICAtICJmb2N1c19pbl9ldmVudCIKICAgLS0gICAgZnVuY3Rpb24gSGFuZGxlciAoV2lkZ2V0IDog
YWNjZXNzIEd0a19XaWRnZXRfUmVjb3JkJ0NsYXNzOwogICAtLSAgICAgICAgICAgICAgICAgICAg
ICBFdmVudCAgOiBHZGsuRXZlbnQuR2RrX0V2ZW50X0ZvY3VzKQogICAtLSAgICAgICAgICAgICAg
ICAgICAgIHJldHVybiBCb29sZWFuOwogICAtLQogICAtLSAgICBUaGUgd2lkZ2V0IGhhcyBqdXN0
IGdhaW5lZCB0aGUgZm9jdXMuCiAgIC0tICAgIElmIHRoZSBoYW5kbGVyIHJldHVybnMgRmFsc2Us
IHRoZSBldmVudCBtaWdodCBiZSBwYXNzIHRvIHRoZSBwYXJlbnQKICAgLS0gICAgb2Ygd2lkZ2V0
IChpZiBubyBvdGhlciBoYW5kbGVyIG9mIHdpZGdldCBoYXMgcmV0dXJuZWQgVHJ1ZSkuCiAgIC0t
CiAgIC0tICAtICJmb2N1c19vdXRfZXZlbnQiCiAgIC0tICAgIGZ1bmN0aW9uIEhhbmRsZXIgKFdp
ZGdldCA6IGFjY2VzcyBHdGtfV2lkZ2V0X1JlY29yZCdDbGFzczsKICAgLS0gICAgICAgICAgICAg
ICAgICAgICAgRXZlbnQgIDogR2RrLkV2ZW50Lkdka19FdmVudF9Gb2N1cykKICAgLS0gICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gQm9vbGVhbjsKICAgLS0KICAgLS0gICAgVGhlIHdpZGdldCBo
YXMganVzdCBsb3N0IHRoZSBmb2N1cy4KICAgLS0gICAgSWYgdGhlIGhhbmRsZXIgcmV0dXJucyBG
YWxzZSwgdGhlIGV2ZW50IG1pZ2h0IGJlIHBhc3MgdG8gdGhlIHBhcmVudAogICAtLSAgICBvZiB3
aWRnZXQgKGlmIG5vIG90aGVyIGhhbmRsZXIgb2Ygd2lkZ2V0IGhhcyByZXR1cm5lZCBUcnVlKS4K
ICAgLS0KICAgLS0gIC0gIm1hcF9ldmVudCIKICAgLS0gICAgZnVuY3Rpb24gSGFuZGxlciAoV2lk
Z2V0IDogYWNjZXNzIEd0a19XaWRnZXRfUmVjb3JkJ0NsYXNzOwogICAtLSAgICAgICAgICAgICAg
ICAgICAgICBFdmVudCAgOiBHZGsuRXZlbnQuR2RrX0V2ZW50KQogICAtLSAgICAgICAgICAgICAg
ICAgICAgIHJldHVybiBCb29sZWFuOwogICAtLQogICAtLSAgICBUaGUgd2lkZ2V0IGhhcyBqdXN0
IGJlZW4gbWFwcGVkLiBUaGlzIGlzIGRpZmZlcmVudCBmcm9tIHRoZSAibWFwIgogICAtLSAgICBz
aWduYWwsIHdoaWNoIGlzIGNhbGxlZCAqYmVmb3JlKiB0aGUgd2lkZ2V0IGlzIGFjdHVhbGx5IG1h
cHBlZC4KICAgLS0gICAgSWYgdGhlIGhhbmRsZXIgcmV0dXJucyBGYWxzZSwgdGhlIGV2ZW50IG1p
Z2h0IGJlIHBhc3MgdG8gdGhlIHBhcmVudAogICAtLSAgICBvZiB3aWRnZXQgKGlmIG5vIG90aGVy
IGhhbmRsZXIgb2Ygd2lkZ2V0IGhhcyByZXR1cm5lZCBUcnVlKS4KICAgLS0KICAgLS0gIC0gInVu
bWFwX2V2ZW50IgogICAtLSAgICBmdW5jdGlvbiBIYW5kbGVyIChXaWRnZXQgOiBhY2Nlc3MgR3Rr
X1dpZGdldF9SZWNvcmQnQ2xhc3M7CiAgIC0tICAgICAgICAgICAgICAgICAgICAgIEV2ZW50ICA6
IEdkay5FdmVudC5HZGtfRXZlbnQpCiAgIC0tICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEJv
b2xlYW47CiAgIC0tCiAgIC0tICAgIFRoZSB3aWRnZXQgaGFzIGp1c3QgYmVlbiB1bm1hcHBlZC4g
VGhpcyBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgInVubWFwIgogICAtLSAgICBzaWduYWwsIHdoaWNo
IGlzIGNhbGxlZCAqYmVmb3JlKiB0aGUgd2lkZ2V0IGlzIGFjdHVhbGx5IHVubWFwcGVkLgogICAt
LSAgICBJZiB0aGUgaGFuZGxlciByZXR1cm5zIEZhbHNlLCB0aGUgZXZlbnQgbWlnaHQgYmUgcGFz
cyB0byB0aGUgcGFyZW50CiAgIC0tICAgIG9mIHdpZGdldCAoaWYgbm8gb3RoZXIgaGFuZGxlciBv
ZiB3aWRnZXQgaGFzIHJldHVybmVkIFRydWUpLgogICAtLQogICAtLSAgLSAicHJvcGVydHlfbm90
aWZ5X2V2ZW50IgogICAtLSAgICBmdW5jdGlvbiBIYW5kbGVyIChXaWRnZXQgOiBhY2Nlc3MgR3Rr
X1dpZGdldF9SZWNvcmQnQ2xhc3M7CiAgIC0tICAgICAgICAgICAgICAgICAgICAgIEV2ZW50ICA6
IEdkay5FdmVudC5HZGtfRXZlbnRfUHJvcGVydHkpCiAgIC0tICAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIEJvb2xlYW47CiAgIC0tCiAgIC0tICAgID8/PwogICAtLQogICAtLSAgLSAic2VsZWN0
aW9uX2NsZWFyX2V2ZW50IgogICAtLSAgICBmdW5jdGlvbiBIYW5kbGVyIChXaWRnZXQgOiBhY2Nl
c3MgR3RrX1dpZGdldF9SZWNvcmQnQ2xhc3M7CiAgIC0tICAgICAgICAgICAgICAgICAgICAgIEV2
ZW50ICA6IEdkay5FdmVudC5HZGtfRXZlbnRfU2VsZWN0aW9uKQogICAtLSAgICAgICAgICAgICAg
ICAgICAgIHJldHVybiBCb29sZWFuOwogICAtLQogICAtLSAgICA/Pz8KICAgLS0KICAgLS0gIC0g
InNlbGVjdGlvbl9yZXF1ZXN0X2V2ZW50IgogICAtLSAgICBmdW5jdGlvbiBIYW5kbGVyIChXaWRn
ZXQgOiBhY2Nlc3MgR3RrX1dpZGdldF9SZWNvcmQnQ2xhc3M7CiAgIC0tICAgICAgICAgICAgICAg
ICAgICAgIEV2ZW50ICA6IEdkay5FdmVudC5HZGtfRXZlbnRfU2VsZWN0aW9uKQogICAtLSAgICAg
ICAgICAgICAgICAgICAgIHJldHVybiBCb29sZWFuOwogICAtLQogICAtLSAgICA/Pz8KICAgLS0K
ICAgLS0gIC0gInNlbGVjdGlvbl9ub3RpZnlfZXZlbnQiCiAgIC0tICAgIGZ1bmN0aW9uIEhhbmRs
ZXIgKFdpZGdldCA6IGFjY2VzcyBHdGtfV2lkZ2V0X1JlY29yZCdDbGFzczsKICAgLS0gICAgICAg
ICAgICAgICAgICAgICAgRXZlbnQgIDogR2RrLkV2ZW50Lkdka19FdmVudF9TZWxlY3Rpb24pCiAg
IC0tICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEJvb2xlYW47CiAgIC0tCiAgIC0tICAgID8/
PwogICAtLQogICAtLSAgLSAic2VsZWN0aW9uX3JlY2VpdmVkIgogICAtLSAgICBSZWxhdGVkIHRv
IHRoZSBzZWxlY3Rpb24gbWVjaGFuaXNtLCBzZWUgR3RrLlNlbGVjdGlvbgogICAtLQogICAtLSAg
LSAic2VsZWN0aW9uX2dldCIKICAgLS0gICAgUmVsYXRlZCB0byB0aGUgc2VsZWN0aW9uIG1lY2hh
bmlzbSwgc2VlIEd0ay5TZWxlY3Rpb24KICAgLS0KICAgLS0gIC0gInByb3hpbWl0eV9pbl9ldmVu
dCIKICAgLS0gICAgZnVuY3Rpb24gSGFuZGxlciAoV2lkZ2V0IDogYWNjZXNzIEd0a19XaWRnZXRf
UmVjb3JkJ0NsYXNzOwogICAtLSAgICAgICAgICAgICAgICAgICAgICBFdmVudCAgOiBHZGsuRXZl
bnQuR2RrX0V2ZW50X1Byb3hpbWl0eSkKICAgLS0gICAgICAgICAgICAgICAgICAgICByZXR1cm4g
Qm9vbGVhbjsKICAgLS0KICAgLS0gICAgVXNlZCBmb3Igc3BlY2lhbCBpbnB1dCBkZXZpY2VzLiBT
ZWUgdGhlIGRlc2NyaXB0aW9uIG9mCiAgIC0tICAgIEdkay5FdmVudC5HZGtfRXZlbnRfUHJveGlt
aXR5LgogICAtLSAgICBJZiB0aGUgaGFuZGxlciByZXR1cm5zIEZhbHNlLCB0aGUgZXZlbnQgbWln
aHQgYmUgcGFzcyB0byB0aGUgcGFyZW50CiAgIC0tICAgIG9mIHdpZGdldCAoaWYgbm8gb3RoZXIg
aGFuZGxlciBvZiB3aWRnZXQgaGFzIHJldHVybmVkIFRydWUpLgogICAtLQogICAtLSAgLSAicHJv
eGltaXR5X291dF9ldmVudCIKICAgLS0gICAgZnVuY3Rpb24gSGFuZGxlciAoV2lkZ2V0IDogYWNj
ZXNzIEd0a19XaWRnZXRfUmVjb3JkJ0NsYXNzOwogICAtLSAgICAgICAgICAgICAgICAgICAgICBF
dmVudCAgOiBHZGsuRXZlbnQuR2RrX0V2ZW50X1Byb3hpbWl0eSkKICAgLS0gICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gQm9vbGVhbjsKICAgLS0KICAgLS0gICAgVXNlZCBmb3Igc3BlY2lhbCBp
bnB1dCBkZXZpY2VzLiBTZWUgdGhlIGRlc2NyaXB0aW9uIG9mCiAgIC0tICAgIEdkay5FdmVudC5H
ZGtfRXZlbnRfUHJveGltaXR5LgogICAtLSAgICBJZiB0aGUgaGFuZGxlciByZXR1cm5zIEZhbHNl
LCB0aGUgZXZlbnQgbWlnaHQgYmUgcGFzcyB0byB0aGUgcGFyZW50CiAgIC0tICAgIG9mIHdpZGdl
dCAoaWYgbm8gb3RoZXIgaGFuZGxlciBvZiB3aWRnZXQgaGFzIHJldHVybmVkIFRydWUpLgogICAt
LQogICAtLSAgLSAiZHJhZ19sZWF2ZSIKICAgLS0gICAgRXZlbnQgcmVsYXRlZCB0byBkcmFnLWFu
ZC1kcm9wIHN1cHBvcnQuIFNlZSB0aGUgR3RrLkRuZCBkb2N1bWVudGF0aW9uLgogICAtLQogICAt
LSAgLSAiZHJhZ19iZWdpbiIKICAgLS0gICAgRXZlbnQgcmVsYXRlZCB0byBkcmFnLWFuZC1kcm9w
IHN1cHBvcnQuIFNlZSB0aGUgR3RrLkRuZCBkb2N1bWVudGF0aW9uLgogICAtLQogICAtLSAgLSAi
ZHJhZ19lbmQiCiAgIC0tICAgIEV2ZW50IHJlbGF0ZWQgdG8gZHJhZy1hbmQtZHJvcCBzdXBwb3J0
LiBTZWUgdGhlIEd0ay5EbmQgZG9jdW1lbnRhdGlvbi4KICAgLS0KICAgLS0gIC0gImRyYWdfZGF0
YV9kZWxldGUiCiAgIC0tICAgIEV2ZW50IHJlbGF0ZWQgdG8gZHJhZy1hbmQtZHJvcCBzdXBwb3J0
LiBTZWUgdGhlIEd0ay5EbmQgZG9jdW1lbnRhdGlvbi4KICAgLS0KICAgLS0gIC0gImRyYWdfbW90
aW9uIgogICAtLSAgICBFdmVudCByZWxhdGVkIHRvIGRyYWctYW5kLWRyb3Agc3VwcG9ydC4gU2Vl
IHRoZSBHdGsuRG5kIGRvY3VtZW50YXRpb24uCiAgIC0tCiAgIC0tICAtICJkcmFnX2Ryb3AiCiAg
IC0tICAgIEV2ZW50IHJlbGF0ZWQgdG8gZHJhZy1hbmQtZHJvcCBzdXBwb3J0LiBTZWUgdGhlIEd0
ay5EbmQgZG9jdW1lbnRhdGlvbi4KICAgLS0KICAgLS0gIC0gImRyYWdfZGF0YV9nZXQiCiAgIC0t
ICAgIEV2ZW50IHJlbGF0ZWQgdG8gZHJhZy1hbmQtZHJvcCBzdXBwb3J0LiBTZWUgdGhlIEd0ay5E
bmQgZG9jdW1lbnRhdGlvbi4KICAgLS0KICAgLS0gIC0gImRyYWdfZGF0YV9yZWNlaXZlZCIKICAg
LS0gICAgRXZlbnQgcmVsYXRlZCB0byBkcmFnLWFuZC1kcm9wIHN1cHBvcnQuIFNlZSB0aGUgR3Rr
LkRuZCBkb2N1bWVudGF0aW9uLgogICAtLQogICAtLSAgLSAidmlzaWJpbGl0eV9ub3RpZnlfZXZl
bnQiCiAgIC0tICAgIGZ1bmN0aW9uIEhhbmRsZXIgKFdpZGdldCA6IGFjY2VzcyBHdGtfV2lkZ2V0
X1JlY29yZCdDbGFzczsKICAgLS0gICAgICAgICAgICAgICAgICAgICAgRXZlbnQgIDogR2RrLkV2
ZW50Lkdka19FdmVudF9WaXNpYmlsaXR5KQogICAtLSAgICAgICAgICAgICAgICAgICAgIHJldHVy
biBCb29sZWFuOwogICAtLQogICAtLSAgICBUaGUgdmlzaWJpbGl0eSBzdGF0ZSBvZiB0aGUgd2lk
Z2V0IGhhcyBjaGFuZ2VkIChwYXJ0aWFsbHkgdmlzaWJsZSwKICAgLS0gICAgZnVsbHkgdmlzaWJs
ZSwgLi4uKS4gWW91IG1pZ2h0IHdhbnQgdG8gdXNlIHRoZSAiZXhwb3NlIiBzaWduYWwKICAgLS0g
ICAgaW5zdGVhZC4KICAgLS0gICAgSWYgdGhlIGhhbmRsZXIgcmV0dXJucyBGYWxzZSwgdGhlIGV2
ZW50IG1pZ2h0IGJlIHBhc3MgdG8gdGhlIHBhcmVudAogICAtLSAgICBvZiB3aWRnZXQgKGlmIG5v
IG90aGVyIGhhbmRsZXIgb2Ygd2lkZ2V0IGhhcyByZXR1cm5lZCBUcnVlKS4KICAgLS0KICAgLS0g
IC0gImNsaWVudF9ldmVudCIKICAgLS0KICAgLS0gICAgPz8/CiAgIC0tCiAgIC0tICAtICJub19l
eHBvc2VfZXZlbnQiCiAgIC0tICAgIGZ1bmN0aW9uIEhhbmRsZXIgKFdpZGdldCA6IGFjY2VzcyBH
dGtfV2lkZ2V0X1JlY29yZCdDbGFzczsKICAgLS0gICAgICAgICAgICAgICAgICAgICAgRXZlbnQg
IDogR2RrLkV2ZW50Lkdka19FdmVudCkKICAgLS0gICAgICAgICAgICAgICAgICAgICByZXR1cm4g
Qm9vbGVhbjsKICAgLS0KICAgLS0gICAgPz8/CiAgIC0tCiAgIC0tICA8L3NpZ25hbHM+CnByaXZh
dGUKCiAgIHR5cGUgR3RrX1dpZGdldF9SZWNvcmQgaXMgbmV3IE9iamVjdC5HdGtfT2JqZWN0X1Jl
Y29yZCB3aXRoIG51bGwgcmVjb3JkOwoKICAgcHJhZ21hIEltcG9ydCAoQywgUHVzaF9TdHlsZSwg
Imd0a193aWRnZXRfcHVzaF9zdHlsZSIpOwogICBwcmFnbWEgSW1wb3J0IChDLCBQb3BfU3R5bGUs
ICJndGtfd2lkZ2V0X3BvcF9zdHlsZSIpOwogICBwcmFnbWEgSW1wb3J0IChDLCBTZXRfRGVmYXVs
dF9TdHlsZSwgImd0a193aWRnZXRfc2V0X2RlZmF1bHRfc3R5bGUiKTsKICAgcHJhZ21hIEltcG9y
dCAoQywgR2V0X0RlZmF1bHRfU3R5bGUsICJndGtfd2lkZ2V0X2dldF9kZWZhdWx0X3N0eWxlIik7
CiAgIHByYWdtYSBJbXBvcnQgKEMsIFBvcF9Db2xvcm1hcCwgImd0a193aWRnZXRfcG9wX2NvbG9y
bWFwIik7CiAgIHByYWdtYSBJbXBvcnQgKEMsIFBvcF9WaXN1YWwsICJndGtfd2lkZ2V0X3BvcF92
aXN1YWwiKTsKICAgcHJhZ21hIEltcG9ydCAoQywgR2V0X1R5cGUsICJndGtfd2lkZ2V0X2dldF90
eXBlIik7CiAgIHByYWdtYSBJbXBvcnQgKEMsIEdldF9EZWZhdWx0X0NvbG9ybWFwLCAiZ3RrX3dp
ZGdldF9nZXRfZGVmYXVsdF9jb2xvcm1hcCIpOwogICBwcmFnbWEgSW1wb3J0IChDLCBHZXRfRGVm
YXVsdF9WaXN1YWwsICJndGtfd2lkZ2V0X2dldF9kZWZhdWx0X3Zpc3VhbCIpOwogICBwcmFnbWEg
SW1wb3J0IChDLCBQdXNoX0NvbG9ybWFwLCAiZ3RrX3dpZGdldF9wdXNoX2NvbG9ybWFwIik7CiAg
IHByYWdtYSBJbXBvcnQgKEMsIFB1c2hfVmlzdWFsLCAiZ3RrX3dpZGdldF9wdXNoX3Zpc3VhbCIp
OwogICBwcmFnbWEgSW1wb3J0IChDLCBTZXRfRGVmYXVsdF9Db2xvcm1hcCwgImd0a193aWRnZXRf
c2V0X2RlZmF1bHRfY29sb3JtYXAiKTsKICAgcHJhZ21hIEltcG9ydCAoQywgU2V0X0RlZmF1bHRf
VmlzdWFsLCAiZ3RrX3dpZGdldF9zZXRfZGVmYXVsdF92aXN1YWwiKTsKICAgcHJhZ21hIElubGlu
ZSAoVG9wbGV2ZWxfSXNfU2V0KTsKICAgcHJhZ21hIElubGluZSAoTm9fV2luZG93X0lzX1NldCk7
CiAgIHByYWdtYSBJbmxpbmUgKFJlYWxpemVkX0lzX1NldCk7CiAgIHByYWdtYSBJbmxpbmUgKE1h
cHBlZF9Jc19TZXQpOwogICBwcmFnbWEgSW5saW5lIChWaXNpYmxlX0lzX1NldCk7CiAgIHByYWdt
YSBJbmxpbmUgKERyYXdhYmxlX0lzX1NldCk7CiAgIHByYWdtYSBJbmxpbmUgKElzX1NlbnNpdGl2
ZSk7CiAgIHByYWdtYSBJbmxpbmUgKENhbl9Gb2N1c19Jc19TZXQpOwogICBwcmFnbWEgSW5saW5l
IChIYXNfRm9jdXNfSXNfU2V0KTsKICAgcHJhZ21hIElubGluZSAoSGFzX0RlZmF1bHRfSXNfU2V0
KTsKICAgcHJhZ21hIElubGluZSAoSGFzX0dyYWJfSXNfU2V0KTsKICAgcHJhZ21hIElubGluZSAo
UmNfU3R5bGVfSXNfU2V0KTsKZW5kIEd0ay5XaWRnZXQ7CgotLSAgRnVuY3Rpb25zIHRoYXQgaGF2
ZSBubyBBZGEgZXF1aXZhbGVudDoKLS0gIC0gZ3RrX3dpZGdldF9uZXcKLS0gIC0gZ3RrX3dpZGdl
dF9nZXQKLS0gIC0gZ3RrX3dpZGdldF9nZXR2Ci0tICAtIGd0a193aWRnZXRfc2V0Ci0tICAtIGd0
a193aWRnZXRfc2V0dgotLSAgLSBndGtfd2lkZ2V0X2dldF9wYXJlbnRfd2luZG93ICA8PSBtYWlu
bHkgaW50ZXJuYWwKLS0gIC0gZ3RrX3dpZGdldF9oaWRlX29uX2RlbGV0ZSAgICAgPD0gdXNlZCBh
cyBjYWxsYmFjawotLSAgLSBndGtfd2lkZ2V0X3NldF9jb21wb3NpdGVfbmFtZQotLSAgLSBndGtf
d2lkZ2V0X2dldF9jb21wb3NpdGVfbmFtZQotLSAgLSBndGtfd2lkZ2V0X3B1c2hfY29tcG9zaXRl
X2NoaWxkCi0tICAtIGd0a193aWRnZXRfcG9wX2NvbXBvc2l0ZV9jaGlsZAotLSAgLSBndGtfd2lk
Z2V0X3BhdGgKLS0gIC0gZ3RrX3dpZGdldF9jbGFzc19wYXRoCgAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAABnbmF0YnVnL2dkay1jb2xvci5hZHMAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAMDEwMDY0NAAwMDAxNzUxADAwMDAwMDAAMDAwMDAwMzI3MzIAMDc1NTExMDc2MzIAMDEzNzI0
ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAc3Bh
egAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3aGVlbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0tICAgICAgICAgIEd0a0FkYSAtIEFkYTk1
IGJpbmRpbmcgZm9yIHRoZSBHaW1wIFRvb2xraXQgICAgICAgICAgICAgIC0tCi0tICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC0tCi0tICAgICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0IChDKSAxOTk4LTIwMDAgICAgICAg
ICAgICAgICAgICAgICAgIC0tCi0tICAgICAgICBFbW1hbnVlbCBCcmlvdCwgSm9lbCBCcm9iZWNr
ZXIgYW5kIEFybmF1ZCBDaGFybGV0ICAgICAgICAgIC0tCi0tICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3Ig
ICAgIC0tCi0tIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1
YmxpYyAgICAgICAgICAgICAgIC0tCi0tIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciAgICAgIC0tCi0tIHZlcnNpb24gMiBvZiB0aGUg
TGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4gIC0tCi0tICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC0tCi0tIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0
IGl0IHdpbGwgYmUgdXNlZnVsLCAgIC0tCi0tIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mICAgIC0tCi0tIE1FUkNIQU5UQUJJTElU
WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VIC0tCi0t
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4gICAgICAgICAgICAgICAg
ICAgICAgICAgIC0tCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh
IGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyAgICAgICAgIC0tCi0tIExpY2Vuc2UgYWxv
bmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlICAgICAgICAgICAgIC0t
Ci0tIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3Vp
dGUgMzMwLCAgICAgIC0tCi0tIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tIEFzIGEgc3Bl
Y2lhbCBleGNlcHRpb24sIGlmIG90aGVyIGZpbGVzIGluc3RhbnRpYXRlIGdlbmVyaWNzIGZyb20g
IC0tCi0tIHRoaXMgdW5pdCwgb3IgeW91IGxpbmsgdGhpcyB1bml0IHdpdGggb3RoZXIgZmlsZXMg
dG8gcHJvZHVjZSBhbiAgIC0tCi0tIGV4ZWN1dGFibGUsIHRoaXMgIHVuaXQgIGRvZXMgbm90ICBi
eSBpdHNlbGYgY2F1c2UgIHRoZSByZXN1bHRpbmcgIC0tCi0tIGV4ZWN1dGFibGUgdG8gYmUgY292
ZXJlZCBieSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuIFRoaXMgIC0tCi0tIGV4Y2Vw
dGlvbiBkb2VzIG5vdCBob3dldmVyIGludmFsaWRhdGUgYW55IG90aGVyIHJlYXNvbnMgd2h5IHRo
ZSAgIC0tCi0tIGV4ZWN1dGFibGUgZmlsZSAgbWlnaHQgYmUgY292ZXJlZCBieSB0aGUgIEdOVSBQ
dWJsaWMgTGljZW5zZS4gICAgIC0tCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotLSAgPGRlc2NyaXB0aW9uPgot
LQotLSAgVGhpcyBwYWNrYWdlIHByb3ZpZGVzIGFuIGludGVyZmFjZSB0byB0aGUgY29sb3IgaGFu
ZGxpbmcgZmFjaWxpdGllcyBpbgotLSAgZ3RrKy4gSXQgaXMgYWJsZSB0byBoYW5kbGUgYW55IGtp
bmQgb2YgdmlzdWFsIChtb25vY2hyb21lLCBncmV5c2NhbGUsCi0tICBjb2xvciB3aXRoIGRpZmZl
cmVudCBkZXB0aHMsIC4uLiksIGJ1dCBwcm92aWRlcyBhIGNvbW1vbiBhbmQgZWFzeQotLSAgaW50
ZXJmYWNlIGZvciBhbGwgb2YgdGhlbS4KLS0gIFNvbWUgb2YgdGhlc2UgZnVuY3Rpb25zIGV4cGVj
dCBhIENvbG9ybWFwLiBUaGVyZSBhcmUgdHdvIHdheXMgeW91IGNhbgotLSAgZ2V0IHN1Y2ggYSBj
b2xvcm1hcCwgZWl0aGVyIGEgc3lzdGVtIGRlZmF1bHQgY29sb3JtYXAgb3IgYSBwZXItd2lkZ2V0
Ci0tICBjb2xvcm1hcC4gSXQgaXMgcmVjb21tZW5kZWQsIHVubGVzcyB5b3UgYXJlIHdyaXRpbmcg
eW91ciBvd24gbmV3IHdpZGdldCwKLS0gIHRvIGFsd2F5cyB1c2UgdGhlIHN5c3RlbSBkZWZhdWx0
IENvbG9ybWFwLiBBbGwgdGhlIGZ1bmN0aW9ucyB0byBnZXQKLS0gIHRoZXNlIGNvbG9ybWFwcyBh
cmUgZm91bmQgaW4gR3RrLldpZGdldC4KLS0KLS0gIEdldHRpbmcgdGhlIFJlZC9HcmVlbi9CbHVl
IGNvbXBvbmVudHMgY2FuIGJlIGRvbmUgdGhyb3VnaCBQYXJzZSwgYW5kIGlzCi0tICBhY3R1YWxs
eSByZWNvbW1lbmRlZCwgc2luY2UgdGhlIGV4YWN0IGNvbG9yIGdlbmVyYWxseSBkZXBlbmRzIG9u
IHRoZQotLSAgdmlzdWFsIHlvdXIgYXBwbGljYXRpb24gaXMgcnVubmluZyBvbi4KLS0KLS0gIDwv
ZGVzY3JpcHRpb24+Ci0tICA8Y192ZXJzaW9uPjEuMi42PC9jX3ZlcnNpb24+Cgp3aXRoIEdsaWI7
IHVzZSBHbGliOwp3aXRoIEdkay5WaXN1YWw7CgpwYWNrYWdlIEdkay5Db2xvciBpcwoKICAgdHlw
ZSBHZGtfQ29sb3IgaXMgcHJpdmF0ZTsKICAgLS0gIEEgY29sb3IgdG8gYmUgZGlzcGxheWVkIG9u
IHRoZSBzY3JlZW4uCiAgIC0tICBDdXJyZW50bHksIEd0a0FkYSBvbmx5IHN1cHBvcnRzIHRoZSBS
R0Igc3RhbmRhcmQsIGllIGVhY2ggY29sb3IgaXMKICAgLS0gIHNldCBieSBpdHMgcmVkLCBncmVl
biBhbmQgYmx1ZSBjb21wb25lbnRzLgogICAtLSAgQW4gZXh0cmEgZmllbGQgKFBpeGVsKSBpcyB0
aGUgaW50ZXJuYWwgcmVwcmVzZW50YXRpb24gb2YgdGhlIGNvbG9yLAogICAtLSAgd2hpY2ggaXMg
c2V0IG9uY2UgdGhlIGNvbG9yIGhhcyBiZWVuIGFsbG9jYXRlZC4KCiAgIHR5cGUgR2RrX0NvbG9y
X0FycmF5IGlzIGFycmF5IChOYXR1cmFsIHJhbmdlIDw+KSBvZiBHZGtfQ29sb3I7CiAgIC0tICBB
biBhcnJheSBvZiBjb2xvcnMuCgogICBOdWxsX0NvbG9yIDogY29uc3RhbnQgR2RrX0NvbG9yOwog
ICAtLSAgTm8gY29sb3IuIEZvciBtb3N0IGZ1bmN0aW9ucywgdGhpcyB3aWxsIHNlbGVjdCB0aGUg
ZGVmYXVsdCBjb2xvciBpbiB0aGUKICAgLS0gIGNvbnRleHQsIGFsdGhvdWdoIHRoaXMgZXhhY3Qg
c3BlY2lmaWNhdGlvbiBkZXBlbmRzIG9uIHRoZSBmdW5jdGlvbiB5b3UKICAgLS0gIHdhbnQgdG8g
dXNlLgoKICAgdHlwZSBHZGtfQ29sb3JtYXAgaXMgbmV3IENfUHJveHk7CiAgIC0tICBUaGUgc2V0
IG9mIGNvbG9ycyB0aGUgY2FuIGJlIGRpc3BsYXllZCBvbiB0aGUgc2NyZWVuLgogICAtLSAgV2hl
biB0aGUgc2NyZWVuIGlzIG5vdCBhIHRydWUtY29sb3Igc2NyZWVuIChpZSB0aGVyZSBpcyBvbmx5
IGEgbGltaXRlZAogICAtLSAgbnVtYmVyIG9mIHBvc3NpYmxlIGNvbG9ycywgbGlrZSAyNTYpLCB0
aGUgY29sb3JzIGFyZSBpbiBmYWN0IGluZGV4ZXMKICAgLS0gIGludG8gYSBjb2xvcm1hcCwgd2hp
Y2ggZ2l2ZXMgdGhlIGNvbXBvbmVudHMgb2YgdGhlIGNvbG9yLgogICAtLSAgVGhpcyBpcyB0aGUg
c2FtZSBjb25jZXB0IGFzIGEgcGFsZXR0ZS4KCiAgIE51bGxfQ29sb3JtYXAgOiBjb25zdGFudCBH
ZGtfQ29sb3JtYXA7CgogICBXcm9uZ19Db2xvciA6IGV4Y2VwdGlvbjsKICAgLS0gIEV4Y2VwdGlv
biByYWlzZWQgd2hlbiBzb21lIGZ1bmN0aW9ucyBiZWxvdyBjb3VsZCBub3QgZmluZCBvciBhbGxv
Y2F0ZQogICAtLSAgYSBjb2xvciBvbiB0aGUgdXNlcidzIHN5c3RlbS4KCiAgIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAtLSBDcmVhdGluZyBhbmQgRGVzdHJveWluZyBj
b2xvcnMgLS0KICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgogICBmdW5j
dGlvbiBQYXJzZSAoU3BlYyA6IGluIFN0cmluZykgcmV0dXJuIEdka19Db2xvcjsKICAgLS0gIFBh
cnNlIHRoZSBzdHJpbmcgU3BlYywgYW5kIGdldCBpdHMgUmVkL0dyZWVuL0JsdWUgY29tcG9uZW50
cy4KICAgLS0gIFRoZSBjb2xvciBpcyBub3QgYWxsb2NhdGVkLCBhbmQgeW91IG5lZWQgdG8gY2Fs
bCBBbGxvY19Db2xvci4KICAgLS0gIElmIHRoZSBzdHJpbmcgY291bGQgbm90IGJlIHBhcnNlZCB0
byBhbiBleGlzdGluZyBjb2xvciwgV3JvbmdfQ29sb3IgaXMKICAgLS0gIHJhaXNlZC4KICAgLS0g
IFRoZSBzdHJpbmcgY2FuIGJlIG9uZSBvZiA6CiAgIC0tCiAgIC0tICAtICJSQkc6RkYvRkYvRkYi
IHdoZXJlIHRoZSAiRkYiIHN1YnN0cmluZ3MgYXJlIHJlc3BlY3RpdmVseSB0aGUgdmFsdWUKICAg
LS0gICAgb2YgdGhlIHJlZCwgZ3JlZW4gYW5kIGJsdWUgY29tcG9uZW50cy4gU29tZSBvdGhlciBw
cmVmaXhlcyB0aGFuIFJHQgogICAtLSAgICBhcmUgZGVmaW5lZCBpbiB0aGUgWDExIGRlZmluaXRp
b24sIHBsZWFzZSBzZWUgc29tZSBYMTEgZG9jdW1lbnRhdGlvbgogICAtLSAgICAob3IgdGhlIG1h
biBwYWdlIFhQYXJzZUNvbG9yIG9uIHVuaXggc3lzdGVtcykuCiAgIC0tCiAgIC0tICAtICJjb2xv
cl9uYW1lIiB3aGljaCBjYW4gYmUgYW55IGNvbG9yIG5hbWUgZGVmaW5lZCBpbiB0aGUgZmlsZSBy
Z2IudHh0CiAgIC0tICAgIG9mIHRoZSB1c2VyJ3Mgc3lzdGVtLiBZb3Ugc2hvdWxkIGFsd2F5cyBj
aGVjayB0aGF0IFdyb25nX0NvbG9yIHdhcyBub3QKICAgLS0gICAgcmFpc2VkLCBpbiBjYXNlIHRo
ZSBjb2xvciB3YXMgbm90IGtub3duIG9uIHRoZSB1c2VyJ3Mgc3lzdGVtLiBUaGlzCiAgIC0tICAg
IHN0cmluZyBpcyBjYXNlIGluc2Vuc2l0aXZlLgoKICAgcHJvY2VkdXJlIEFsbG9jX0NvbG9yIChD
b2xvcm1hcCAgIDogaW4gICAgIEdka19Db2xvcm1hcDsKICAgICAgICAgICAgICAgICAgICAgICAg
ICBDb2xvciAgICAgIDogaW4gb3V0IEdka19Db2xvcjsKICAgICAgICAgICAgICAgICAgICAgICAg
ICBXcml0ZWFibGUgIDogaW4gICAgIEJvb2xlYW4gOj0gRmFsc2U7CiAgICAgICAgICAgICAgICAg
ICAgICAgICAgQmVzdF9NYXRjaCA6IGluICAgICBCb29sZWFuIDo9IFRydWU7CiAgICAgICAgICAg
ICAgICAgICAgICAgICAgU3VjY2VzcyAgICA6ICAgIG91dCBCb29sZWFuKTsKICAgLS0gIEFsbG9j
YXRlIGEgbmV3IGNvbG9yLgogICAtLSAgVGhlIGZpZWxkcyBSR0Igc2hvdWxkIGhhdmUgYmVlbiBz
ZXQgYmVmb3JlIGNhbGxpbmcgdGhpcyBmdW5jdGlvbi4KICAgLS0gIElmIFdyaXRlYWJsZSBpcyBU
cnVlLCB0aGUgY29sb3Igd2lsbCBiZSBhbGxvY2F0ZWQgcmVhZC93cml0ZSwgdGhhdCBjYW4KICAg
LS0gIGJlIGNoYW5nZWQgYXQgYW55IHRpbWUuIE5vdCBhbGwgdmlzdWFscyBzdXBwb3J0IHRoaXMu
IE9uIG1vZGVybiBzeXN0ZW1zCiAgIC0tICB0aGlzIHVzYWdlIGhhcyBiZWNvbWUgbGVzcyB1c2Vm
dWwgdGhhbiBiZWZvcmUsIHNpbmNlIHJlZHJhd2luZyB0aGUKICAgLS0gIHNjcmVlbiB3aXRoIGEg
bmV3IGNvbG9yIGlzIGFib3V0IGFzIGZhc3QuCiAgIC0tICBJZiBCZXN0X01hdGNoIGlzIFRydWUs
IGFuZCB0aGUgZXhhY3QgY29sb3IgY2FuIG5vdCBiZSBhbGxvY2F0ZWQsIEd0a0FkYQogICAtLSAg
d2lsbCBmaW5kIHRoZSBjbG9zZXN0IHBvc3NpYmxlIG1hdGNoLCBhbmQgbW9kaWZ5IHRoZSBmaWVs
ZHMgUmVkLCBHcmVlbgogICAtLSAgYW5kIEJsdWUgb2YgQ29sb3IuCiAgIC0tICBOb3RlIHRoYXQg
dGhlIGFsbG9jYXRpb24gaGFzIG1vcmUgY2hhbmNlcyB0byBzdWNjZWVkIGlmIFdyaXRlYWJsZSBp
cwogICAtLSAgRmFsc2UgYW5kIEJlc3RfTWF0Y2ggaXMgVHJ1ZS4KICAgLS0gIFdoZW4geW91IG5v
IGxvbmdlciB1c2UgYSBjb2xvciwgeW91IHNob3VsZCBjYWxsIEZyZWUuCgogICBwcm9jZWR1cmUg
QWxsb2NfQ29sb3JzIChDb2xvcm1hcCAgIDogaW4gICAgIEdka19Db2xvcm1hcDsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgQ29sb3JzICAgICA6IGluIG91dCBHZGtfQ29sb3JfQXJyYXk7CiAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFdyaXRlYWJsZSAgOiBpbiAgICAgQm9vbGVhbiA6PSBG
YWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgQmVzdF9NYXRjaCA6IGluICAgICBCb29s
ZWFuIDo9IFRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIFN1Y2Nlc3MgICAgOiAgICBv
dXQgQm9vbGVhbl9BcnJheTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVzdWx0ICAgICA6
ICAgIG91dCBHaW50KTsKICAgLS0gIEFsbG9jYXRlIGEgc2V0IG9mIGNvbG9ycy4KICAgLS0gIFRo
ZSBwYXJhbWV0ZXJzIGFyZSB0aGUgc2FtZSBhcyBmb3IgQWxsb2NfQ29sb3IKICAgLS0gIFJlc3Vs
dCBpcyB0aGUgbnVtYmVyIG9mIGNvbG9ycyBub3Qgc3VjY2Vzc2Z1bGx5IGFsbG9jYXRlZC4KICAg
LS0KICAgLS0gIFRoZSBzaXplIG9mIHRoZSBCb29sZWFuX0FycmF5IGlzIGVxdWFsIHRvIHRoZSBs
ZW5ndGggb2YgdGhlCiAgIC0tICBDb2xvcnNfQXJyYXkuIFVzYWdlIG9mIGFuIGFycmF5IG9mIGEg
ZGlmZmVyZW50IHNpemUgd2lsbAogICAtLSAgcHJvYmFibHkgbGVhZCB0byBhIENvbnN0cmFpbnRf
RXJyb3IuCgogICBwcm9jZWR1cmUgQWxsb2MgKENvbG9ybWFwICA6IGluIEdka19Db2xvcm1hcDsK
ICAgICAgICAgICAgICAgICAgICBDb2xvciAgICAgOiBpbiBvdXQgR2RrX0NvbG9yKTsKICAgLS0g
IFNhbWUgZnVuY3Rpb24gYXMgQWxsb2NfQ29sb3JzIGFib3ZlLCBidXQgZm9yIGEgc2luZ2xlIGNv
bG9yLgogICAtLSAgVGhlIGNvbG9yIGlzIGFsbG9jYXRlZCBub24td3JpdGVhYmxlLCBhbmQgdGhl
IGJlc3QtbWF0Y2ggaXMgdGFrZW4uCiAgIC0tICBSYWlzZXMgV3JvbmdfQ29sb3IgaWYgdGhlIGNv
bG9yIGNvdWxkIG5vdCBiZSBhbGxvY2F0ZWQKCiAgIGZ1bmN0aW9uIFdoaXRlIChDb2xvcm1hcCAg
OiBpbiBHZGtfQ29sb3JtYXApIHJldHVybiBHZGtfQ29sb3I7CiAgIC0tICBSZXR1cm4gdGhlIGRl
ZmF1bHQgd2hpdGUgY29sb3IgZm9yIHRoZSBjb2xvcm1hcC4KICAgLS0gIElmIHRoaXMgY29sb3Ig
d2FzIG5vdCBmb3VuZCBvciBjb3VsZCBub3QgYmUgYWxsb2NhdGVkLCBXcm9uZ19Db2xvciBpcwog
ICAtLSAgcmFpc2VkLgoKICAgZnVuY3Rpb24gQmxhY2sgKENvbG9ybWFwICA6IGluIEdka19Db2xv
cm1hcCkgcmV0dXJuIEdka19Db2xvcjsKICAgLS0gIFJldHVybiB0aGUgZGVmYXVsdCBibGFjayBj
b2xvcnMgZm9yIHRoZSBjb2xvcm1hcC4KICAgLS0gIElmIHRoaXMgY29sb3IgaXMgbm90IGZvdW5k
IG9yIGNvdWxkIG5vdCBiZSBhbGxvY2F0ZWQsIFdyb25nX0NvbG9yIGlzCiAgIC0tICByYWlzZWQu
CgogICBmdW5jdGlvbiBHZXRfU3lzdGVtIHJldHVybiBHZGtfQ29sb3JtYXA7CiAgIC0tICBHZXQg
dGhlIGRlZmF1bHQgY29sb3JtYXAgZm9yIHRoZSBzeXN0ZW0uCiAgIC0tICBUaGlzIGlzIHRoZSBz
YW1lIGZ1bmN0aW9uIGFzIEd0ay5XaWRnZXQuR2V0X0RlZmF1bHRfQ29sb3JtYXAuCgogICBwcm9j
ZWR1cmUgR2V0X1Zpc3VhbCAoQ29sb3JtYXAgOiBpbiAgICAgR2RrX0NvbG9ybWFwOwogICAgICAg
ICAgICAgICAgICAgICAgICAgVmlzdWFsICAgOiAgICBvdXQgR2RrLlZpc3VhbC5HZGtfVmlzdWFs
KTsKICAgLS0gIEdldCB0aGUgdmlzdWFsIGFzc29jaWF0ZWQgd2l0aCBhIGNvbG9ybWFwLgogICAt
LSAgVGhlIG1haW4gaW5mb3JtYXRpb24geW91IGNhbiBnZXQgZnJvbSB0aGVyZSBpcyB0aGUgZGVw
dGggb2YgdGhlIGRpc3BsYXkuCgogICBwcm9jZWR1cmUgR2RrX05ldyAoQ29sb3JtYXAgICAgIDog
ICAgb3V0IEdka19Db2xvcm1hcDsKICAgICAgICAgICAgICAgICAgICAgIFZpc3VhbCAgICAgICA6
IGluICAgICBHZGsuVmlzdWFsLkdka19WaXN1YWw7CiAgICAgICAgICAgICAgICAgICAgICBQcml2
YXRlX0NtYXAgOiBpbiAgICAgQm9vbGVhbik7CiAgIC0tICBDcmVhdGUgYSBuZXcgY29sb3JtYXAg
Zm9yIHRoZSB2aXN1YWwuCiAgIC0tICBJZiBQcml2YXRlX0NtYXAgaXMgdHJ1ZSwgdGhlbiB0aGUK
ICAgLS0gIGNvbG9ybWFwIHdvbid0IGJlIG1vZGlmaWFibGUgb3V0c2lkZSB0aGlzIHNjb3BlLiBU
aGlzIG1pZ2h0IHJlc3VsdCBpbgogICAtLSAgc29tZSBzdHJhbmdlIGNvbG9ycyBvbiB0aGUgZGlz
cGxheS4uLgoKICAgcHJvY2VkdXJlIFVucmVmIChDb2xvcm1hcCA6IGluIEdka19Db2xvcm1hcCk7
CiAgIC0tICBVbnJlZiBpcyB0aGUgb25seSB3YXkgdG8gZGVzdHJveSBhIGNvbG9ybWFwIG9uY2Ug
eW91IG5vIGxvbmdlciBuZWVkIGl0LgogICAtLSAgTm90ZSB0aGF0IGJlY2F1c2UgZ3RrKyB1c2Vz
IHJlZmVyZW5jZSBjb3VudHMsIHRoZSBjb2xvcm1hcCB3aWxsIG5vdAogICAtLSAgYmUgYWN0dWFs
bHkgZGVzdHJveWVkIHdoaWxlIGF0IGxlYXN0IG9uZSBvYmplY3QgaXMgdXNpbmcgaXQuCgogICBw
cm9jZWR1cmUgUmVmIChDb2xvcm1hcCA6IGluIEdka19Db2xvcm1hcCk7CiAgIC0tICBJbmNyZW1l
bnQgdGhlIHJlZi1jb3VudCBmb3IgdGhlIGNvbG9yLgogICAtLSAgWW91IHNob3VsZCBub3QgaGF2
ZSB0byB1c2UgdGhpcyBmdW5jdGlvbi4KCiAgIGZ1bmN0aW9uIEdldF9TeXN0ZW1fU2l6ZSByZXR1
cm4gR2ludDsKICAgLS0gIFJldHVybiB0aGUgbnVtYmVyIG9mIGVudHJpZXMgaW4gdGhlIGRlZmF1
bHQgY29sb3JtYXAgb24gdGhlIHN5c3RlbS4KCiAgIHByb2NlZHVyZSBGcmVlX0NvbG9ycyAoQ29s
b3JtYXAgOiBpbiBHZGtfQ29sb3JtYXA7CiAgICAgICAgICAgICAgICAgICAgICAgICAgQ29sb3Jz
ICAgOiBpbiBHZGtfQ29sb3JfQXJyYXkpOwogICAtLSAgRnJlZSBDb2xvcnMsIGFzc3VtaW5nIHRo
ZXkgYXJlIGFsbG9jYXRlZCBpbiBDb2xvcm1hcC4KCiAgIHByb2NlZHVyZSBTdG9yZSAoQ29sb3Jt
YXAgOiBpbiBHZGtfQ29sb3JtYXA7CiAgICAgICAgICAgICAgICAgICAgQ29sb3JzICAgOiBpbiBH
ZGtfQ29sb3JfQXJyYXkpOwogICAtLSAgU3RvcmUgdGhlIENvbG9ycyBpbiB0aGUgQ29sb3JtYXAK
CiAgIHByb2NlZHVyZSBBbGxvYyAoQ29sb3JtYXAgICA6IGluIEdka19Db2xvcm1hcDsKICAgICAg
ICAgICAgICAgICAgICBDb250aWd1b3VzIDogaW4gQm9vbGVhbjsKICAgICAgICAgICAgICAgICAg
ICBQbGFuZXMgICAgIDogaW4gICAgIEd1bG9uZ19BcnJheTsKICAgICAgICAgICAgICAgICAgICBQ
aXhlbHMgICAgIDogaW4gICAgIEd1bG9uZ19BcnJheTsKICAgICAgICAgICAgICAgICAgICBTdWNj
ZWVkZWQgIDogICAgb3V0IEJvb2xlYW4pOwogICAtLSAgQWxsb2NhdGUgc29tZSBSZWFkL1dyaXRl
IGNvbG9yIGNlbGxzLgogICAtLSAgQ29sb3IgY2VsbHMnIHZhbHVlcyBjYW4gYmUgY2hhbmdlZAog
ICAtLSAgZHluYW1pY2FsbHkuIFRoZSBwaXhlbHMgYWxsb2NhdGVkIGFyZSByZXR1cm5lZCBpbiBQ
aXhlbHMuCiAgIC0tICBTZWUgWEFsbG9jQ29sb3JDZWxscygzKSBvbiBVbml4IHN5c3RlbXMuCiAg
IC0tICBUaGUgUGxhbmVzIHBhcmFtZXRlciBjYW4gYmUgdXNlZCB0byBub25kZXN0cnVjdGl2ZWx5
IG92ZXJsYXkgb25lCiAgIC0tICBzZXQgb2YgZ3JhcGhpY3Mgb3ZlciBhbm90aGVyLiBTZWUgdGhl
IFgxMSBtYW51YWwgZm9yIG1vcmUgaW5mby4KICAgLS0gIE5vdGUgdGhhdCB0aGlzIGlzIGEgbG93
LWxldmVsIGZ1bmN0aW9uIHdoaWNoIHlvdSBzaG91bGQgcmFyZWx5CiAgIC0tICBoYXZlIHRvIHVz
ZS4KCiAgIHByb2NlZHVyZSBGcmVlIChDb2xvcm1hcCA6IGluIEdka19Db2xvcm1hcDsKICAgICAg
ICAgICAgICAgICAgIFBpeGVscyAgIDogaW4gR3Vsb25nX0FycmF5OwogICAgICAgICAgICAgICAg
ICAgUGxhbmVzICAgOiBpbiBHdWxvbmcpOwogICAtLSAgRnJlZSBzb21lIGNvbG9ycyBpbiB0aGUg
Y29sb3JtYXAuCiAgIC0tICBTZWUgWEZyZWVDb2xvcnMoMykgb24gVW5peCBzeXN0ZW1zLgoKICAg
LS0gIDxkb2NfaWdub3JlPgogICBmdW5jdGlvbiBIYXNoIChDb2xvcl9BIDogaW4gR2RrX0NvbG9y
OwogICAgICAgICAgICAgICAgICBDb2xvcl9CIDogaW4gR2RrX0NvbG9yKSByZXR1cm4gR3VpbnQ7
CiAgIC0tICBSZXR1cm4gYSBoYXNoIGNvZGUgZm9yIENvbG9yX0EuCiAgIC0tICBUaGlzIHNlZW1z
IHRvIGJlIGEgaW50ZXJuYWwgZnVuY3Rpb24gZm9yIGd0aysgb25seS4KICAgLS0gIDwvZG9jX2ln
bm9yZT4KCiAgIHByb2NlZHVyZSBDaGFuZ2UgKENvbG9ybWFwICA6IGluIEdka19Db2xvcm1hcDsK
ICAgICAgICAgICAgICAgICAgICAgQ29sb3IgICAgIDogaW4gb3V0IEdka19Db2xvcjsKICAgICAg
ICAgICAgICAgICAgICAgU3VjY2VlZGVkIDogICAgb3V0IEJvb2xlYW4pOwogICAtLSAgQ2hhbmdl
IHRoZSBSZWFkL1dyaXRlIGNvbG9ybWFwIGNlbGwgY29ycmVzcG9uZGluZyB0byBDb2xvci4KICAg
LS0gIFRoZSBuZXcgdmFsdWUgaXMgdGhlIG9uZSBjb250YWluZWQgaW4gdGhlIFJlZCwgR3JlZW4g
YW5kIEJsdWUKICAgLS0gIGZpZWxkcyBvZiBDb2xvci4KCiAgIHByb2NlZHVyZSBDaGFuZ2UgKENv
bG9ybWFwIDogaW4gR2RrX0NvbG9ybWFwOwogICAgICAgICAgICAgICAgICAgICBOY29sb3JzICA6
IGluIEdpbnQpOwogICAtLSAgQ2hhbmdlcyB0aGUgZmlyc3QgTmNvbG9ycyBkZWZpbmVkIGluIENv
bG9ybWFwLgoKICAgcHJvY2VkdXJlIENvcHkgKFNvdXJjZSAgICAgIDogaW4gICAgIEdka19Db2xv
cjsKICAgICAgICAgICAgICAgICAgIERlc3RpbmF0aW9uIDogICAgb3V0IEdka19Db2xvcik7CiAg
IC0tICBDb3B5IHRoZSBTb3VyY2UgY29sb3IgdG8gRGVzdGluYXRpb24uCgogICBmdW5jdGlvbiBF
cXVhbCAoQ29sb3JhLCBDb2xvcmIgOiBpbiBHZGtfQ29sb3IpIHJldHVybiBCb29sZWFuOwogICAt
LSAgVHJ1ZSBpZiB0aGUgUmVkLCBHcmVlbiBhbmQgQmx1ZSBjb21wb25lbnRzIG9mIGJvdGggY29s
b3JzIGFyZSBlcXVhbC4KCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQogICAtLSBTZXR0aW5nL0dldHRpbmcgdGhlIGZpZWxkcyBvZiBHZGtfQ29sb3IgLS0K
ICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgogICBwcm9j
ZWR1cmUgU2V0X1JnYiAoQ29sb3IgICA6IG91dCBHZGtfQ29sb3I7CiAgICAgICAgICAgICAgICAg
ICAgICBSZWQsIEdyZWVuLCBCbHVlIDogaW4gR3VzaG9ydCk7CiAgIC0tICBNb2RpZnkgdGhlIGZp
ZWxkcyBvZiB0aGUgY29sb3IuCiAgIC0tICBZb3UgdGhlbiBoYXZlIHRvIGFsbG9jYXRlIHRoZSBj
b2xvciB3aXRoIG9uZSBvZiB0aGUgQWxsb2MqIGZ1bmN0aW9ucwogICAtLSAgYWJvdmUuCgogICBw
cm9jZWR1cmUgU2V0X1BpeGVsIChDb2xvciA6IGluIG91dCBHZGtfQ29sb3I7IFBpeGVsIDogR3Vs
b25nKTsKICAgLS0gIFRoaXMgZnVuY3Rpb24gc2hvdWxkIGFsbW9zdCBuZXZlciBiZSB1c2VkLiBJ
bnN0ZWFkLCB1c2UgQWxsb2NfQ29sb3IKCiAgIGZ1bmN0aW9uIFJlZCAoQ29sb3IgOiBpbiBHZGtf
Q29sb3IpIHJldHVybiBHdXNob3J0OwogICAtLSAgUmV0dXJuIHRoZSBSZWQgZmllbGQgb2YgQ29s
b3IuCgogICBmdW5jdGlvbiBHcmVlbiAoQ29sb3IgOiBpbiBHZGtfQ29sb3IpIHJldHVybiBHdXNo
b3J0OwogICAtLSAgUmV0dXJuIHRoZSBHcmVlbiBmaWVsZCBvZiBDb2xvci4KCiAgIGZ1bmN0aW9u
IEJsdWUgKENvbG9yIDogaW4gR2RrX0NvbG9yKSByZXR1cm4gR3VzaG9ydDsKICAgLS0gIFJldHVy
biB0aGUgQmx1ZSBmaWVsZCBvZiBDb2xvci4KCiAgIGZ1bmN0aW9uIFBpeGVsIChDb2xvciA6IGlu
IEdka19Db2xvcikgcmV0dXJuIEd1bG9uZzsKICAgLS0gIFJldHVybiB0aGUgUGl4ZWwgZmllbGQg
b2YgQ29sb3IuCgpwcml2YXRlCiAgIE51bGxfQ29sb3JtYXAgOiBjb25zdGFudCBHZGtfQ29sb3Jt
YXAgOj0gbnVsbDsKCiAgIHR5cGUgR2RrX0NvbG9yIGlzCiAgICAgIHJlY29yZAogICAgICAgICBQ
aXhlbCA6IEd1bG9uZzsKICAgICAgICAgUmVkICAgOiBHdXNob3J0OwogICAgICAgICBHcmVlbiA6
IEd1c2hvcnQ7CiAgICAgICAgIEJsdWUgIDogR3VzaG9ydDsKICAgICAgZW5kIHJlY29yZDsKICAg
LS0gIFRoZSBmaWVsZHMgYXJlIHRvIGJlIGNob3NlbiBiZXR3ZWVuIDAgYW5kIDY1NTM1LCBub3Qg
MCBhbmQgMjU1ISEhCgogICBOdWxsX0NvbG9yIDogY29uc3RhbnQgR2RrX0NvbG9yIDo9IChHdWxv
bmcnTGFzdCwgMSwgMCwgMCk7CiAgIC0tICBOb3RlOiBpbiB0aGUgaW1wbGVtZW50YXRpb24gb2Yg
R3RrQWRhLCBldmVyeXRpbWUgYSBjb2xvciBpcyB1c2VkLCBpdAogICAtLSAgaXMgaW1wb3J0YW50
IHRvIHRlc3Qgd2hldGhlciB0aGlzIGlzIE51bGxfQ29sb3Igb3Igbm90LiBJZiBpdCBpcywgdGhl
bgogICAtLSAgU3lzdGVtLk51bGxfQWRkcmVzcyBzaG91bGQgYmUgcGFzc2VkIHRvIEMgaW5zdGVh
ZCBvZiBOdWxsX0NvbG9yJ0FkZHJlc3MKICAgLS0gIHNvIHRoYXQgZ3RrKyBjYW4gcHJvdmlkZSBh
IGRlZmF1bHQgdmFsdWUgZm9yIGNvbG9ycy4KCiAgIHByYWdtYSBJbmxpbmUgKFNldF9SZ2IpOwog
ICBwcmFnbWEgSW5saW5lIChTZXRfUGl4ZWwpOwogICBwcmFnbWEgSW5saW5lIChSZWQpOwogICBw
cmFnbWEgSW5saW5lIChHcmVlbik7CiAgIHByYWdtYSBJbmxpbmUgKEJsdWUpOwogICBwcmFnbWEg
SW5saW5lIChQaXhlbCk7CiAgIHByYWdtYSBJbXBvcnQgKEMsIEdldF9TeXN0ZW1fU2l6ZSwgImdk
a19jb2xvcm1hcF9nZXRfc3lzdGVtX3NpemUiKTsKICAgcHJhZ21hIEltcG9ydCAoQywgR2V0X1N5
c3RlbSwgImdka19jb2xvcm1hcF9nZXRfc3lzdGVtIik7CiAgIHByYWdtYSBJbXBvcnQgKEMsIFJl
ZiwgImdka19jb2xvcm1hcF9yZWYiKTsKICAgcHJhZ21hIEltcG9ydCAoQywgVW5yZWYsICJnZGtf
Y29sb3JtYXBfdW5yZWYiKTsKZW5kIEdkay5Db2xvcjsKCi0tICA8ZXhhbXBsZT4KLS0gIC0tICBI
ZXJlIGlzIGFuIGV4YW1wbGUgaG93IHlvdSBjYW4gYWxsb2NhdGUgYSBuZXcgY29sb3IsIHdoZW4g
eW91IGtub3cKLS0gIC0tICBpdHMgcmVkL2dyZWVuL2JsdWUgY29tcG9uZW50czogTm90ZSB0aGF0
IHdlIGFsbG9jYXRlIHdoaXRlIGluIGZhY3QKLS0gIC0tICBzaW5jZSB0aGUgbWF4aW1hbCB2YWx1
ZSBmb3IgY29sb3IgY29tcG9uZW50cyBpcyA2NTUzNS4KLS0gICAgIENvbG9yICAgOiBHZGtfQ29s
b3I7Ci0tICAgICBTdWNjZXNzIDogQm9vbGVhbjsKLS0gICAgIFNldF9SYmcgKENvbG9yLCA2NTUz
NSwgNjU1MzUsIDY1NTM1KTsKLS0gICAgIEFsbG9jX0NvbG9yIChDb2xvcm1hcCAgID0+IEd0ay5X
aWRnZXQuR2V0X0RlZmF1bHRfQ29sb3JtYXAsCi0tICAgICAgICAgICAgICAgICAgQ29sb3IgICAg
ICA9PiBDb2xvciwKLS0gICAgICAgICAgICAgICAgICBXcml0ZWFibGUgID0+IEZhbHNlLAotLSAg
ICAgICAgICAgICAgICAgIEJlc3RfTWF0Y2ggPT4gVHJ1ZSwKLS0gICAgICAgICAgICAgICAgICBT
dWNjZXNzICAgID0+IFN1Y2Nlc3MpOwotLSAgICAgaWYgbm90IFN1Y2Nlc3MgdGhlbgotLSAgICAg
ICAgIC4uLjsgIC0tICBhbGxvY2F0aW9uIGZhaWxlZAotLSAgICAgZW5kIGlmOwotLSAgPC9leGFt
cGxlPgotLQoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGduYXRidWcvZ2Rr
LXZpc3VhbC5hZHMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMTAwNjQ0ADAwMDE3NTEAMDAwMDAwMAAw
MDAwMDAwNzAyMwAwNzU1MTEwNzYzMgAwMTQxMDQAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABzcGF6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AHdoZWVsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KLS0gICAgICAgICAgR3RrQWRhIC0gQWRhOTUgYmluZGluZyBmb3IgdGhlIEdpbXAgVG9vbGtp
dCAgICAgICAgICAgICAgLS0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gICAgICAgICAgICAgICAgICAgICBD
b3B5cmlnaHQgKEMpIDE5OTgtMTk5OSAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gICAgICAg
IEVtbWFudWVsIEJyaW90LCBKb2VsIEJyb2JlY2tlciBhbmQgQXJuYXVkIENoYXJsZXQgICAgICAg
ICAgLS0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLS0KLS0gVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciAgICAgLS0KLS0gbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljICAgICAgICAgICAgICAgLS0KLS0gTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
ICAgICAgLS0KLS0gdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p
IGFueSBsYXRlciB2ZXJzaW9uLiAgLS0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gVGhpcyBsaWJyYXJ5IGlz
IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsICAgLS0KLS0g
YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu
dHkgb2YgICAgLS0KLS0gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgLS0KLS0gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig
bW9yZSBkZXRhaWxzLiAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0K
LS0gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVi
bGljICAgICAgICAgLS0KLS0gTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90
LCB3cml0ZSB0byB0aGUgICAgICAgICAgICAgLS0KLS0gRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsICAgICAgLS0KLS0gQm9zdG9uLCBN
QSAwMjExMS0xMzA3LCBVU0EuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
LS0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLS0KLS0gQXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiwgaWYgb3RoZXIgZmls
ZXMgaW5zdGFudGlhdGUgZ2VuZXJpY3MgZnJvbSAgLS0KLS0gdGhpcyB1bml0LCBvciB5b3UgbGlu
ayB0aGlzIHVuaXQgd2l0aCBvdGhlciBmaWxlcyB0byBwcm9kdWNlIGFuICAgLS0KLS0gZXhlY3V0
YWJsZSwgdGhpcyAgdW5pdCAgZG9lcyBub3QgIGJ5IGl0c2VsZiBjYXVzZSAgdGhlIHJlc3VsdGlu
ZyAgLS0KLS0gZXhlY3V0YWJsZSB0byBiZSBjb3ZlcmVkIGJ5IHRoZSBHTlUgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZS4gVGhpcyAgLS0KLS0gZXhjZXB0aW9uIGRvZXMgbm90IGhvd2V2ZXIgaW52YWxp
ZGF0ZSBhbnkgb3RoZXIgcmVhc29ucyB3aHkgdGhlICAgLS0KLS0gZXhlY3V0YWJsZSBmaWxlICBt
aWdodCBiZSBjb3ZlcmVkIGJ5IHRoZSAgR05VIFB1YmxpYyBMaWNlbnNlLiAgICAgLS0KLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KCndpdGggR2xpYjsgdXNlIEdsaWI7CndpdGggR2xpYi5HbGlzdDsKcHJhZ21hIEVs
YWJvcmF0ZV9BbGwgKEdsaWIuR2xpc3QpOwoKd2l0aCBHZGsuVHlwZXM7CndpdGggU3lzdGVtOwp3
aXRoIFVuY2hlY2tlZF9Db252ZXJzaW9uOwoKcGFja2FnZSBHZGsuVmlzdWFsIGlzCgogICB0eXBl
IEdka19WaXN1YWwgaXMgbmV3IEdkay5DX1Byb3h5OwogICBOdWxsX1Zpc3VhbCA6IGNvbnN0YW50
IEdka19WaXN1YWw7CiAgIC0tICBUaGlzIHR5cGUgaXMgbm90IHByaXZhdGUgYmVjYXVzZSB3ZSBu
ZWVkIHRoZSBmdWxsIGRlY2xhcmF0aW9uCiAgIC0tICB0byBpbnN0YW5jaWF0ZSBHbGliLkdsaXN0
LkdlbmVyaWNfTGlzdCB3aXRoIGl0LgoKICAgdHlwZSBHZGtfVmlzdWFsX1R5cGVfQXJyYXkgaXMg
YXJyYXkgKE5hdHVyYWwgcmFuZ2UgPD4pCiAgICAgb2YgVHlwZXMuR2RrX1Zpc3VhbF9UeXBlOwoK
ICAgZnVuY3Rpb24gR2V0X0Jlc3RfRGVwdGggcmV0dXJuIEdpbnQ7CgogICBmdW5jdGlvbiBHZXRf
QmVzdF9UeXBlIHJldHVybiBUeXBlcy5HZGtfVmlzdWFsX1R5cGU7CgogICBwcm9jZWR1cmUgR2V0
X1N5c3RlbSAoVmlzdWFsIDogb3V0IEdka19WaXN1YWwpOwoKICAgcHJvY2VkdXJlIEdldF9CZXN0
IChWaXN1YWwgOiBvdXQgR2RrX1Zpc3VhbCk7CgogICBwcm9jZWR1cmUgR2V0X0Jlc3QKICAgICAo
VmlzdWFsIDogICAgb3V0IEdka19WaXN1YWw7CiAgICAgIERlcHRoICA6IGluICAgICBHaW50KTsK
CiAgIHByb2NlZHVyZSBHZXRfQmVzdAogICAgIChWaXN1YWwgICAgICA6ICAgIG91dCBHZGtfVmlz
dWFsOwogICAgICBWaXN1YWxfVHlwZSA6IGluICAgICBUeXBlcy5HZGtfVmlzdWFsX1R5cGUpOwoK
ICAgcHJvY2VkdXJlIEdldF9CZXN0CiAgICAgKFZpc3VhbCAgICAgIDogICAgb3V0IEdka19WaXN1
YWw7CiAgICAgIERlcHRoICAgICAgIDogaW4gICAgIEdpbnQ7CiAgICAgIFZpc3VhbF9UeXBlIDog
aW4gICAgIFR5cGVzLkdka19WaXN1YWxfVHlwZSk7CgogICBmdW5jdGlvbiBRdWVyeV9EZXB0aHMg
cmV0dXJuIEdpbnRfQXJyYXk7CgogICBmdW5jdGlvbiBRdWVyeV9WaXN1YWxfVHlwZXMgcmV0dXJu
IEdka19WaXN1YWxfVHlwZV9BcnJheTsKCiAgIGZ1bmN0aW9uIENvbnZlcnQgaXMgbmV3IFVuY2hl
Y2tlZF9Db252ZXJzaW9uIChHZGtfVmlzdWFsLCBTeXN0ZW0uQWRkcmVzcyk7CiAgIGZ1bmN0aW9u
IENvbnZlcnQgaXMgbmV3IFVuY2hlY2tlZF9Db252ZXJzaW9uIChTeXN0ZW0uQWRkcmVzcywgR2Rr
X1Zpc3VhbCk7CgogICBwYWNrYWdlIEdka19WaXN1YWxfTGlzdCBpcyBuZXcgR2xpYi5HbGlzdC5H
ZW5lcmljX0xpc3QgKEdka19WaXN1YWwpOwoKICAgZnVuY3Rpb24gTGlzdF9WaXN1YWxzIHJldHVy
biBHZGtfVmlzdWFsX0xpc3QuR2xpc3Q7Cgpwcml2YXRlCiAgIE51bGxfVmlzdWFsIDogY29uc3Rh
bnQgR2RrX1Zpc3VhbCA6PSBudWxsOwogICBwcmFnbWEgSW1wb3J0IChDLCBHZXRfQmVzdF9EZXB0
aCwgImdka192aXN1YWxfZ2V0X2Jlc3RfZGVwdGgiKTsKICAgcHJhZ21hIEltcG9ydCAoQywgR2V0
X0Jlc3RfVHlwZSwgImdka192aXN1YWxfZ2V0X2Jlc3RfdHlwZSIpOwplbmQgR2RrLlZpc3VhbDsK
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGduYXRidWcvZ2xpYi1nbGlzdC5h
ZHMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMTAwNjQ0ADAwMDE3NTEAMDAwMDAwMAAwMDAwMDAyNTAx
MAAwNzU1MTEwNzYzMgAwMTQwNjcAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAdXN0YXIgIABzcGF6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHdoZWVsAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLS0gICAg
ICAgICAgR3RrQWRhIC0gQWRhOTUgYmluZGluZyBmb3IgdGhlIEdpbXAgVG9vbGtpdCAgICAgICAg
ICAgICAgLS0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLS0KLS0gICAgICAgICAgICAgICAgICAgICBDb3B5cmlnaHQg
KEMpIDE5OTgtMjAwMCAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gICAgICAgIEVtbWFudWVs
IEJyaW90LCBKb2VsIEJyb2JlY2tlciBhbmQgQXJuYXVkIENoYXJsZXQgICAgICAgICAgLS0KLS0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLS0KLS0gVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vciAgICAgLS0KLS0gbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljICAgICAgICAgICAgICAgLS0KLS0gTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyICAgICAgLS0K
LS0gdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLiAgLS0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1
dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsICAgLS0KLS0gYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgICAg
LS0KLS0gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
LiAgU2VlIHRoZSBHTlUgLS0KLS0gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh
aWxzLiAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljICAgICAg
ICAgLS0KLS0gTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0
byB0aGUgICAgICAgICAgICAgLS0KLS0gRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1
OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsICAgICAgLS0KLS0gQm9zdG9uLCBNQSAwMjExMS0x
MzA3LCBVU0EuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLS0KLS0gQXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiwgaWYgb3RoZXIgZmlsZXMgaW5zdGFu
dGlhdGUgZ2VuZXJpY3MgZnJvbSAgLS0KLS0gdGhpcyB1bml0LCBvciB5b3UgbGluayB0aGlzIHVu
aXQgd2l0aCBvdGhlciBmaWxlcyB0byBwcm9kdWNlIGFuICAgLS0KLS0gZXhlY3V0YWJsZSwgdGhp
cyAgdW5pdCAgZG9lcyBub3QgIGJ5IGl0c2VsZiBjYXVzZSAgdGhlIHJlc3VsdGluZyAgLS0KLS0g
ZXhlY3V0YWJsZSB0byBiZSBjb3ZlcmVkIGJ5IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZS4gVGhpcyAgLS0KLS0gZXhjZXB0aW9uIGRvZXMgbm90IGhvd2V2ZXIgaW52YWxpZGF0ZSBhbnkg
b3RoZXIgcmVhc29ucyB3aHkgdGhlICAgLS0KLS0gZXhlY3V0YWJsZSBmaWxlICBtaWdodCBiZSBj
b3ZlcmVkIGJ5IHRoZSAgR05VIFB1YmxpYyBMaWNlbnNlLiAgICAgLS0KLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
Ci0tICA8ZGVzY3JpcHRpb24+Ci0tCi0tICBUaGlzIHBhY2thZ2UgaW1wbGVtZW50cyBhIGdlbmVy
aWMgZG91YmxlLWxpbmtlZCBsaXN0LgotLSAgU3VjaCBsaXN0cyBhcmUgdXNlZCB0aHJvdWdob3V0
IEd0a0FkYSB0byBjb250YWluIGxpc3RzIG9mIHdpZGdldHMKLS0gIChmb3IgdGhlIGNoaWxkcmVu
IG9mIGNvbnRhaW5lcnMsIG9yIGZvciB0aGUgbGlzdCBvZiBzZWxlY3RlZCB3aWRnZXRzCi0tICBp
biBhIEd0a19DbGlzdCBmb3IgaW5zdGFuY2UpLCBsaXN0IG9mIHN0cmluZ3MgKGZvciBHdGtfQ29t
Ym9fQm94KSwuLi4KLS0KLS0gIFRoZXkgcHJvdmlkZSBhIGNvbW1vbiBpbnRlcmZhY2UgdG8gdHJh
dmVyc2UgdGhlc2UgbGlzdHMuCi0tCi0tICBPbmUgdXNlZnVsIG5vdGU6IHlvdSBzaG91bGQgb25s
eSBGcmVlIHRoZSBsaXN0cyB0aGF0IHlvdSBoYXZlIGFsbG9jYXRlZAotLSAgeW91cnNlbGYsIGFu
ZCBub3QgdGhlIGxpc3RzIHRoYXQgYXJlIHJldHVybmVkIGJ5IHRoZSBzdWJwcm9ncmFtcyBpbgot
LSAgR3RrQWRhIGFuZCBzaG91bGQgYmUgbGVmdCB1bmRlciBHdGtBZGEncyBjb250cm9sLgotLQot
LSAgU2VlIHRoZSBleGFtcGxlIGJlbG93IGZvciBhbiBleGFtcGxlIG9uIGhvdyB0byB0cmF2ZXJz
ZSBhIGxpc3QuCi0tCi0tICBJbnN0YW50aWF0aW5nIHRoZSBwYWNrYWdlIEdlbmVyaWNfTGlzdCBy
ZXF1aXJlcyB0d28gZnVuY3Rpb25zIHRvIGNvbnZlcnQKLS0gIGJhY2sgYW5kIGZvcnRoIGJldHdl
ZW4geW91ciBkYXRhIHR5cGUgYW5kIGEgU3lzdGVtLkFkZHJlc3Mgd2hpY2ggaXMgdGhlCi0tICB0
eXBlIHN0b3JlZCBhdCB0aGUgQyBsZXZlbC4KLS0gIE5vdGUgdGhhdCB0aGUgbGlzdHMgdXNlZCBp
biBHdGtBZGEgYWxyZWFkeSBoYXZlIGFzc29jaWF0ZWQgcGFja2FnZXMsIGxpa2UKLS0gIEd0ay5F
bnVtcy5HaW50X0xpc3QsIEd0ay5FbnVtcy5TdHJpbmdfTGlzdCBvciBHdGsuV2lkZ2V0LldpZGdl
dF9MaXN0LgotLQotLSAgPC9kZXNjcmlwdGlvbj4KLS0gIDxjX3N5bmNocm8+MS4yLjY8L2Nfc3lu
Y2hybz4KCndpdGggU3lzdGVtOwoKcGFja2FnZSBHbGliLkdsaXN0IGlzCgoKICAgZ2VuZXJpYwog
ICAgICAtLSAgPGRvY19pZ25vcmU+CgogICAgICB0eXBlIEdwb2ludGVyICg8PikgaXMgcHJpdmF0
ZTsKICAgICAgd2l0aCBmdW5jdGlvbiBDb252ZXJ0IChQIDogR3BvaW50ZXIpIHJldHVybiBTeXN0
ZW0uQWRkcmVzcyBpcyA8PjsKICAgICAgd2l0aCBmdW5jdGlvbiBDb252ZXJ0IChTIDogU3lzdGVt
LkFkZHJlc3MpIHJldHVybiBHcG9pbnRlciBpcyA8PjsKCiAgICAgIC0tICA8L2RvY19pZ25vcmU+
CgogICBwYWNrYWdlIEdlbmVyaWNfTGlzdCBpcwoKICAgICAgdHlwZSBHbGlzdCBpcyBwcml2YXRl
OwogICAgICAtLSAgVGhpcyB0eXBlIGlzIGJvdGggYSBsaXN0IGFuZCBhbiBpdGVtIGluIHRoZSBs
aXN0LgogICAgICAtLSAgRWFjaCBpdGVtIHBvaW50cyB0byBpdHMgc3VjY2Vzc29yLgoKICAgICAg
TnVsbF9MaXN0IDogY29uc3RhbnQgR2xpc3Q7CgogICAgICBwcm9jZWR1cmUgQWxsb2MgKExpc3Qg
OiBvdXQgR2xpc3QpOwogICAgICAtLSAgQWxsb2NhdGUgYSBuZXcgaXRlbSBpbiB0aGUgbGlzdC4K
ICAgICAgLS0gIFRoaXMgaXRlbSBpc24ndCBhc3NvY2lhdGVkIHdpdGggYW55IGRhdGEuCiAgICAg
IC0tICBZb3UgcHJvYmFibHkgZG9uJ3QgaGF2ZSB0byB1c2UgdGhpcyBzdWJwcm9ncmFtLCBzaW5j
ZSBBcHBlbmQsCiAgICAgIC0tICBJbnNlcnQsIFByZXBlbmQsIGV0Yy4gYWxyZWFkeSBoYW5kbGUg
dGhlIGFsbG9jYXRpb24gZm9yIHlvdSBhbmQKICAgICAgLS0gIGdpdmUgYSBuZXcgdmFsdWUgdG8g
dGhlIGl0ZW0uCgogICAgICBwcm9jZWR1cmUgQXBwZW5kIChMaXN0IDogaW4gb3V0IEdsaXN0Owog
ICAgICAgICAgICAgICAgICAgICAgICBEYXRhIDogaW4gR3BvaW50ZXIpOwogICAgICAtLSAgQWRk
IGEgbmV3IGl0ZW0gYXQgdGhlIGVuZCBvZiB0aGUgbGlzdCwgYW5kIHN0b3JlcyB0aGUgbmV3IGxp
c3QKICAgICAgLS0gIGRpcmVjdGx5IGJhY2sgaW4gTGlzdC4KICAgICAgLS0gIFRoZSBjb21wbGV4
aXR5IG9mIHRoaXMgb3BlcmF0aW9uIGlzIE8obikKCiAgICAgIGZ1bmN0aW9uIENvbmNhdCAoTGlz
dDEgOiBpbiBHbGlzdDsKICAgICAgICAgICAgICAgICAgICAgICBMaXN0MiA6IGluIEdsaXN0KQog
ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdsaXN0OwogICAgICAtLSAgQ29uY2F0ZW5hdGUg
dHdvIGxpc3RzLCBhbmQgcmV0dXJuIHRoZSByZXN1bHQuCiAgICAgIC0tICBMaXN0MiBpcyBhZGRl
ZCBhdCB0aGUgZW5kIG9mIExpc3QxLgogICAgICAtLSAgVGhlIGNvbXBsZXhpdHkgaXMgTyhuMSkg
KGRlcGVuZHMgb24gdGhlIHNpemUgb2YgTGlzdDEpLgoKICAgICAgcHJvY2VkdXJlIEluc2VydCAo
TGlzdCA6IGluIG91dCBHbGlzdDsKICAgICAgICAgICAgICAgICAgICAgICAgRGF0YSA6IGluIEdw
b2ludGVyOwogICAgICAgICAgICAgICAgICAgICAgICBQb3NpdGlvbiA6IGluIEdpbnQpOwogICAg
ICAtLSAgSW5zZXJ0IGFuIGl0ZW0gaW4gdGhlIG1pZGRsZSBvZiBhIGxpc3QuCiAgICAgIC0tICBJ
ZiBQb3NpdGlvbiBpcyAwLCB0aGUgaXRlbSBpcyBhZGRlZCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRo
ZSBsaXN0LCBpZgogICAgICAtLSAgaXQgaXMgbmVnYXRpdmUgdGhlIGl0ZW0gaXMgYWRkZWQgYXQg
dGhlIGVuZC4KICAgICAgLS0gIFRoZSBjb21wbGV4aXR5IGlzIE8oUG9zaXRpb24pLgoKICAgICAg
ZnVuY3Rpb24gRmluZCAoTGlzdCA6IGluIEdsaXN0OwogICAgICAgICAgICAgICAgICAgICBEYXRh
IDogaW4gR3BvaW50ZXIpCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdsaXN0OwogICAgICAt
LSAgRmluZCBhIHZhbHVlIGluIHRoZSBsaXN0LCBhbmQgcmV0dXJuIHRoZSBmaXJzdCBpdGVtIHRo
YXQgY29udGFpbnMgaXQuCiAgICAgIC0tICBOb3RlIHRoYXQgdGhpcyBmdW5jdGlvbiB3aWxsIG5v
dCB3b3JrIGlmIHRoZSBmdW5jdGlvbiBDb252ZXJ0IGRvZXMKICAgICAgLS0gIG5vdCByZXR1cm4g
dGhlIHNhbWUgdmFsdWUgZm9yIHR3byBpZGVudGljYWwgdmFsdWVzLgoKICAgICAgZnVuY3Rpb24g
Rmlyc3QgKExpc3QgOiBpbiBHbGlzdCkgcmV0dXJuIEdsaXN0OwogICAgICAtLSAgUmV0dXJuIHRo
ZSBmaXJzdCBpdGVtIGluIHRoZSBsaXN0LgogICAgICAtLSAgTm90ZSB0aGF0IGlmIExpc3QgaXMg
aW4gZmFjdCBhbiBpdGVtIG9mIGEgbGFyZ2VyIGxpc3QsIHRoZSByZXR1cm4KICAgICAgLS0gIHZh
bHVlIGlzIHRoZSBmaXJzdCBpdGVtIGluIHRoZSBsYXJnZXIgbGlzdCBpdHNlbGYuCgogICAgICBw
cm9jZWR1cmUgRnJlZSAoTGlzdCA6IGluIG91dCBHbGlzdCk7CiAgICAgIC0tICBGcmVlIHRoZSBs
aXN0IChidXQgZG9lcyBub3QgZnJlZSB0aGUgZGF0YSBpbiBlYWNoIG9mIGl0cyBlbGVtZW50cyku
CiAgICAgIC0tICBUaGlzIG9ubHkgZnJlZXMgdGhlIG1lbW9yeSBhc3NvY2lhdGVkIHdpdGggdGhl
IGxpc3QgaXRzZWxmLgogICAgICAtLSAgWW91IHNob3VsZCBvbmx5IHVzZSB0aGlzIGZ1bmN0aW9u
IG9uIHRoZSBsaXN0cyB0aGF0CiAgICAgIC0tICB5b3UgaGF2ZSBjcmVhdGVkIHlvdXJzZWxmLCBu
b3Qgb24gdGhlIGxpc3QgdGhhdCBhcmUgcmV0dXJuZWQgYnkgc29tZQogICAgICAtLSAgZnVuY3Rp
b25zIGluIEd0a0FkYSAobGlrZSBHdGsuQ2xpc3QuR2V0X1NlbGVjdGlvbikuIFRoZXNlIGZ1bmN0
aW9ucwogICAgICAtLSAgcmV0dXJuIGRpcmVjdGx5IHRoZSBsaXN0IG1hbmFnZWQgYnkgdGhlIHVu
ZGVybHlpbmcgQyB3aWRnZXQsIGFuZCB5b3UKICAgICAgLS0gIHNob3VsZCBuZXZlciBmcmVlIHRo
ZSByZXN1bHQgeW91cnNlbGYuCiAgICAgIC0tCiAgICAgIC0tICBOb3RlIGFsc28gdGhhdCB0aGUg
bWVtb3J5IG1pZ2h0IG5vdCBiZSBhY3R1YWxseSBmcmVlZC4gRm9yIGVmZmljaWVuY3kKICAgICAg
LS0gIHJlYXNvbnMsIEd0a0FkYSB3aWxsIGtlZXAgdGhlIG1lbW9yeSBhbGxvY2F0ZWQgYW5kIHRy
eSB0byByZXVzZSBpdCBhcwogICAgICAtLSAgbXVjaCBhcyBwb3NzaWJsZS4KCiAgICAgIGZ1bmN0
aW9uIEdldF9EYXRhIChMaXN0IDogaW4gR2xpc3QpIHJldHVybiBHcG9pbnRlcjsKICAgICAgLS0g
IFJldHVybiB0aGUgdmFsdWUgcG9pbnRlZCB0byBieSBMaXN0LgogICAgICAtLSAgVGhlIFN5c3Rl
bS5BZGRyZXNzIGNvbnRhaW5lciBpbiB0aGUgQyBsaXN0IGlzIGNvbnZlcnRlZCB0byBhIEdwb2lu
dGVyCiAgICAgIC0tICB0aHJvdWdoIGEgY2FsbCB0byBDb252ZXJ0LgoKICAgICAgZnVuY3Rpb24g
R2V0X0RhdGFfQWRkcmVzcyAoTGlzdCA6IGluIEdsaXN0KSByZXR1cm4gU3lzdGVtLkFkZHJlc3M7
CiAgICAgIC0tICBSZXR1cm4gZGlyZWN0bHkgdGhlIFN5c3RlbS5BZGRyZXNzIGNvbnRhaW5lZCBp
biB0aGUgQyBsaXN0LgogICAgICAtLSAgVGhpcyBpcyB1c2VkIG1haW5seSBpbnRlcm5hbGx5IGlu
IEd0a0FkYSB0byBpbXBsZW1lbnQgU3RyaW5nIGxpc3RzLAogICAgICAtLSAgYW5kIHlvdSBzaG91
bGQgbm90IGhhdmUgdG8gdXNlIHRoaXMgc3VicHJvZ3JhbSB5b3Vyc2VsZi4KCiAgICAgIC0tICA8
ZG9jX2lnbm9yZT4KICAgICAgZnVuY3Rpb24gR2V0X0dwb2ludGVyIChMaXN0IDogaW4gR2xpc3Qp
IHJldHVybiBHcG9pbnRlcjsKICAgICAgLS0gIFNvbWV0aW1lcywgdGhlIGRhdGEgaXMgbm90IHN0
b3JlZCBpbiB0aGUgImRhdGEiIGZpZWxkCiAgICAgIC0tICBvZiBlYWNoIGNlbGwsIGJ1dCByYXRo
ZXIgYXQgZWFjaCBjZWxsLiBJbiBzdWNoIGNhc2VzLAogICAgICAtLSAgdG8gcmV0cmlldmUgdGhl
IGFkZHJlc3Mgb2YgdGhlIGRhdGEsIHdlIG5lZWQgdG8gcmV0dXJuCiAgICAgIC0tICB0aGUgYWRk
cmVzcyBvZiB0aGUgY2VsbCBpdHNlbGYsIGluc3RlZCBvZiB0aGUgYWRkcmVzcwogICAgICAtLSAg
cG9pbnRlZCB0byBieSBkYXRhLgogICAgICAtLQogICAgICAtLSAgRXg6IHRoZSBHdGtDVHJlZSBy
b3dfbGlzdC4KICAgICAgLS0gIDwvZG9jX2lnbm9yZT4KCiAgICAgIGZ1bmN0aW9uIEluZGV4IChM
aXN0IDogaW4gR2xpc3Q7CiAgICAgICAgICAgICAgICAgICAgICBEYXRhIDogaW4gR3BvaW50ZXIp
CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaW50OwogICAgICAtLSAgUmV0dXJuIHRoZSBp
bmRleCBvZiB0aGUgZmlyc3QgZWxlbWVudCBpbiBMSVNUIHRoYXQgY29udGFpbnMgRGF0YS4KICAg
ICAgLS0gIE5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIGlzIGlycmVsZXZhbnQgaWYgQ29udmVydCBk
b2VzIG5vdCByZXR1cm4gdGhlCiAgICAgIC0tICBzYW1lIHZhbHVlIGZvciB0d28gaWRlbnRpY2Fs
IGRhdGEuCgogICAgICBmdW5jdGlvbiBMYXN0IChMaXN0IDogaW4gR2xpc3QpIHJldHVybiBHbGlz
dDsKICAgICAgLS0gIFJldHVybiB0aGUgbGFzdCBlbGVtZW50IGluIHRoZSBsaXN0LgoKICAgICAg
ZnVuY3Rpb24gTGVuZ3RoIChMaXN0IDogaW4gR2xpc3QpIHJldHVybiBHdWludDsKICAgICAgLS0g
IFJldHVybiB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZSBsaXN0LgogICAgICAtLSAgVGhl
IGxhc3QgaXRlbSdzIGluZGV4IGlzIExlbmd0aCAtIDEuCgogICAgICBwcm9jZWR1cmUgTGlzdF9S
ZXZlcnNlIChMaXN0IDogaW4gb3V0IEdsaXN0KTsKICAgICAgLS0gIFJldmVyc2UgdGhlIG9yZGVy
IG9mIHRoZSBsaXN0ICh0aGUgbGFzdCBpdGVtIGJlY29tZXMgdGhlIGZpcnN0LCBldGMuKQoKICAg
ICAgZnVuY3Rpb24gTmV4dCAoTGlzdCA6IGluIEdsaXN0KSByZXR1cm4gR2xpc3Q7CiAgICAgIC0t
ICBSZXR1cm5zIHRoZSBJdGVtIGZvbGxvd2luZyBMSVNUIGluIHRoZSBnbG9iYWwgbGlzdCB0aGF0
IGNvbnRhaW5zCiAgICAgIC0tICBib3RoLgogICAgICAtLSAgSWYgdGhlcmUgaXMgbm8gc3VjaCBp
dGVtLCByZXR1cm4gTnVsbF9MaXN0LiBUaGlzIGlzIGhvdyB5b3UKICAgICAgLS0gIHN0b3AgaXRl
cmF0aW5nIG92ZXIgYSBsaXN0LgoKICAgICAgZnVuY3Rpb24gTnRoIChMaXN0IDogaW4gR2xpc3Q7
CiAgICAgICAgICAgICAgICAgICAgTiAgICA6IGluIEd1aW50KQogICAgICAgICAgICAgICAgICAg
cmV0dXJuIEdsaXN0OwogICAgICAtLSAgR2l2ZSB0aGUgbnRoIGl0ZW0gZm9sbG93aW5nIExJU1Qg
aW4gdGhlIGdsb2JhbCBsaXN0IHRoYXQKICAgICAgLS0gIGNvbnRhaW5zIGJvdGguCiAgICAgIC0t
ICBJZiB0aGVyZSBpcyBubyBzdWNoIGl0ZW0sIHJldHVybiBOdWxsX0xpc3QuCgogICAgICBmdW5j
dGlvbiBOdGhfRGF0YSAoTGlzdCA6IGluIEdsaXN0OwogICAgICAgICAgICAgICAgICAgICAgICAg
TiA6IGluIEd1aW50KQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gR3BvaW50ZXI7CiAg
ICAgIC0tICBSZXR1cm4gdGhlIERhdGEgY29udGFpbmVkIGluIHRoZSBOLXRoIGl0ZW0gb2YgTGlz
dC4KICAgICAgLS0gIFRoZSByZXN1bHQgaXMgdW5kZWZpbmVkIGlmIHRoZXJlIGlzIG5vIHN1Y2gg
aXRlbSBpbiB0aGUgbGlzdC4KICAgICAgLS0gIFRoZSBhY3R1YWwgcmVzdWx0IGluIHRoYXQgY2Fz
ZSBpcyB0aGUgcmVzdWx0IG9mCiAgICAgIC0tICAgICAgQ29udmVydCAoU3lzdGVtLk51bGxfQWRk
cmVzcyk7CiAgICAgIC0tICB3aGljaCBtaWdodCBub3QgbWVhbiBhbnl0aGluZy4KCiAgICAgIGZ1
bmN0aW9uIFBvc2l0aW9uIChMaXN0IDogaW4gR2xpc3Q7CiAgICAgICAgICAgICAgICAgICAgICAg
ICBMaW5rIDogaW4gR2xpc3QpCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaW50Owog
ICAgICAtLSAgUmV0dXJuIHRoZSBwb3NpdGlvbiBvZiBMaW5rIGluIHRoZSBMaXN0LgogICAgICAt
LSAgSWYgTGluayBpcyBub3QgY29udGFpbmVkIGluIHRoZSBsaXN0LCAtMSBpcyByZXR1cm5lZC4K
CiAgICAgIHByb2NlZHVyZSBQcmVwZW5kIChMaXN0IDogaW4gb3V0IEdsaXN0OwogICAgICAgICAg
ICAgICAgICAgICAgICAgRGF0YSA6IGluIEdwb2ludGVyKTsKICAgICAgLS0gIEFkZCBhbiBpdGVt
IGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGxpc3QuCiAgICAgIC0tICBUaGlzIG9wZXJhdGlvbiBh
bHdheXMgc3VjY2VlZC4KCiAgICAgIGZ1bmN0aW9uIFByZXYgKExpc3QgOiBpbiBHbGlzdCkgcmV0
dXJuIEdsaXN0OwogICAgICAtLSAgUmV0dXJuIHRoZSBpdGVtIGJlZm9yZSBMaXN0IGluIHRoZSBn
bG9iYWwgbGlzdCB0aGF0IGNvbnRhaW5zIGJvdGguCiAgICAgIC0tICBSZXR1cm4gTnVsbF9MaXN0
IGlmIHRoZXJlIGlzIG5vIHN1Y2ggaXRlbS4KCiAgICAgIHByb2NlZHVyZSBSZW1vdmUgKExpc3Qg
OiBpbiBvdXQgR2xpc3Q7CiAgICAgICAgICAgICAgICAgICAgICAgIERhdGEgOiBpbiBHcG9pbnRl
cik7CiAgICAgIC0tICBSZW1vdmUgdGhlIGZpcnN0IGl0ZW0gaW4gTGlzdCB0aGF0IGNvbnRhaW5z
IERhdGEuCiAgICAgIC0tICBOb3RlIHRoYXQgdGhpcyBvcGVyYXRpb24gY2FuIHN1Y2NlZWQgb25s
eSBpZiBDb252ZXJ0IGFsd2F5cyByZXR1cm4KICAgICAgLS0gIHRoZSBzYW1lIGFkZHJlc3MgZm9y
IGEgZ2l2ZW4gdmFsdWUuCgogICAgICBwcm9jZWR1cmUgUmVtb3ZlX0xpbmsgKExpc3QgOiBpbiBv
dXQgR2xpc3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGluayA6IGluIEdsaXN0KTsK
ICAgICAgLS0gIFJlbW92ZSBMaW5rIGZyb20gdGhlIGxpc3QgdG8gd2hpY2ggaXQgYmVsb25ncy4K
ICAgICAgLS0gIElmIHRoYXQgbGlzdCBpcyBub3QgTGlzdCwgbm8gZXJyb3IgaXMgcmV0dXJuZWQs
IGJ1dCBMaW5rIGlzIHJlbW92ZWQKICAgICAgLS0gIGFueXdheS4KCiAgICAgIGZ1bmN0aW9uIElz
X0NyZWF0ZWQgKExpc3QgOiBpbiBHbGlzdCkgcmV0dXJuIEJvb2xlYW47CiAgICAgIC0tICBSZXR1
cm4gVHJ1ZSBpZiB0aGVyZSBpcyBhIEMgd2lkZ2V0IGFzc29jaWF0ZWQgd2l0aCBMaXN0LgoKICAg
ICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgIC0tIEludGVybmFsIGZ1bmN0aW9ucyAt
LQogICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAgLS0gIFBsZWFzZSBkbyBub3Qg
dXNlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zLiBUaGV5IGFyZSB1c2VkIGludGVybmFsbHkKICAg
ICAgLS0gIGJ5IEd0a0FkYS4KICAgICAgLS0gIDxkb2NfaWdub3JlPgoKICAgICAgZnVuY3Rpb24g
R2V0X09iamVjdCAoT2JqIDogaW4gR2xpc3QpIHJldHVybiBTeXN0ZW0uQWRkcmVzczsKICAgICAg
LS0gIFJldHVybnMgdGhlIEMgb2JqZWN0IGNvbnRhaW5lZCBpbiBPQkouCiAgICAgIHByYWdtYSBJ
bmxpbmUgKEdldF9PYmplY3QpOwoKICAgICAgcHJvY2VkdXJlIFNldF9PYmplY3QgKE9iaiA6IGlu
IG91dCBHbGlzdDsgVmFsdWUgIDogaW4gU3lzdGVtLkFkZHJlc3MpOwogICAgICAtLSAgTW9kaWZp
ZXMgdGhlIEMgb2JqZWN0IGNvbnRhaW5lZCBpbiBPQkouCiAgICAgIHByYWdtYSBJbmxpbmUgKFNl
dF9PYmplY3QpOwoKICAgICAgLS0gIDwvZG9jX2lnbm9yZT4KCiAgIHByaXZhdGUKCiAgICAgIHR5
cGUgR2xpc3QgaXMKICAgICAgICAgcmVjb3JkCiAgICAgICAgICAgIFB0ciA6IFN5c3RlbS5BZGRy
ZXNzIDo9IFN5c3RlbS5OdWxsX0FkZHJlc3M7CiAgICAgICAgIGVuZCByZWNvcmQ7CiAgICAgIE51
bGxfTGlzdCA6IGNvbnN0YW50IEdsaXN0IDo9IChQdHIgPT4gU3lzdGVtLk51bGxfQWRkcmVzcyk7
CiAgIGVuZCBHZW5lcmljX0xpc3Q7CgplbmQgR2xpYi5HbGlzdDsKCi0tICA8ZXhhbXBsZT4KLS0g
IDxpbmNsdWRlPi4uL2V4YW1wbGVzL2RvY3VtZW50YXRpb24vZ2xpc3RfdHJhdmVyc2UuYWRiPC9p
bmNsdWRlPgotLSAgPC9leGFtcGxlPgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAABnbmF0YnVnL2dkay10eXBlcy5hZHMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
MDEwMDY0NAAwMDAxNzUxADAwMDAwMDAAMDAwMDAwNjM1MjUAMDc1NTExMDc2MzIAMDEzNzU2ACAw
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAc3BhegAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3aGVlbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0tICAgICAgICAgIEd0a0FkYSAtIEFkYTk1IGJp
bmRpbmcgZm9yIHRoZSBHaW1wIFRvb2xraXQgICAgICAgICAgICAgIC0tCi0tICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0t
Ci0tICAgICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0IChDKSAxOTk4LTE5OTkgICAgICAgICAg
ICAgICAgICAgICAgIC0tCi0tICAgICAgICBFbW1hbnVlbCBCcmlvdCwgSm9lbCBCcm9iZWNrZXIg
YW5kIEFybmF1ZCBDaGFybGV0ICAgICAgICAgIC0tCi0tICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgICAg
IC0tCi0tIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp
YyAgICAgICAgICAgICAgIC0tCi0tIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciAgICAgIC0tCi0tIHZlcnNpb24gMiBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4gIC0tCi0tICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC0tCi0tIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0
IHdpbGwgYmUgdXNlZnVsLCAgIC0tCi0tIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91
dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mICAgIC0tCi0tIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VIC0tCi0tIEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4gICAgICAgICAgICAgICAgICAg
ICAgICAgIC0tCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC0tCi0tIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv
cHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyAgICAgICAgIC0tCi0tIExpY2Vuc2UgYWxvbmcg
d2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlICAgICAgICAgICAgIC0tCi0t
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUg
MzMwLCAgICAgIC0tCi0tIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tIEFzIGEgc3BlY2lh
bCBleGNlcHRpb24sIGlmIG90aGVyIGZpbGVzIGluc3RhbnRpYXRlIGdlbmVyaWNzIGZyb20gIC0t
Ci0tIHRoaXMgdW5pdCwgb3IgeW91IGxpbmsgdGhpcyB1bml0IHdpdGggb3RoZXIgZmlsZXMgdG8g
cHJvZHVjZSBhbiAgIC0tCi0tIGV4ZWN1dGFibGUsIHRoaXMgIHVuaXQgIGRvZXMgbm90ICBieSBp
dHNlbGYgY2F1c2UgIHRoZSByZXN1bHRpbmcgIC0tCi0tIGV4ZWN1dGFibGUgdG8gYmUgY292ZXJl
ZCBieSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuIFRoaXMgIC0tCi0tIGV4Y2VwdGlv
biBkb2VzIG5vdCBob3dldmVyIGludmFsaWRhdGUgYW55IG90aGVyIHJlYXNvbnMgd2h5IHRoZSAg
IC0tCi0tIGV4ZWN1dGFibGUgZmlsZSAgbWlnaHQgYmUgY292ZXJlZCBieSB0aGUgIEdOVSBQdWJs
aWMgTGljZW5zZS4gICAgIC0tCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgp3aXRoIEdsaWI7IHVzZSBHbGliOwoK
cGFja2FnZSBHZGsuVHlwZXMgaXMKCiAgIHR5cGUgR2RrX0dlb21ldHJ5IGlzIHJlY29yZAogICAg
ICBNaW5fV2lkdGggICA6IEdpbnQ7CiAgICAgIE1pbl9IZWlnaHQgIDogR2ludDsKICAgICAgTWF4
X1dpZHRoICAgOiBHaW50OwogICAgICBNYXhfSGVpZ2h0ICA6IEdpbnQ7CiAgICAgIEJhc2VfV2lk
dGggIDogR2ludDsKICAgICAgQmFzZV9IZWlnaHQgOiBHaW50OwogICAgICBXaWR0aF9JbmMgICA6
IEdpbnQ7CiAgICAgIEhlaWdodF9JbmMgIDogR2ludDsKICAgICAgTWluX0FzcGVjdCAgOiBHZG91
YmxlOwogICAgICBNYXhfQXNwZWN0ICA6IEdkb3VibGU7CiAgIGVuZCByZWNvcmQ7CiAgIHByYWdt
YSBQYWNrIChHZGtfR2VvbWV0cnkpOwoKICAgdHlwZSBHZGtfUG9pbnQgaXMgcmVjb3JkCiAgICAg
IFggOiBHaW50MTY7CiAgICAgIFkgOiBHaW50MTY7CiAgIGVuZCByZWNvcmQ7CiAgIHByYWdtYSBQ
YWNrIChHZGtfUG9pbnQpOwogICBmb3IgR2RrX1BvaW50J1NpemUgdXNlIEdpbnQnU2l6ZTsKCiAg
IHR5cGUgR2RrX1BvaW50c19BcnJheSBpcyBhcnJheSAoUG9zaXRpdmUgcmFuZ2UgPD4pIG9mIEdk
a19Qb2ludDsKICAgcHJhZ21hIFBhY2sgKEdka19Qb2ludHNfQXJyYXkpOwoKICAgdHlwZSBHZGtf
U2VnbWVudCBpcyByZWNvcmQKICAgICAgWDEgOiBHaW50MTY7CiAgICAgIFkxIDogR2ludDE2Owog
ICAgICBYMiA6IEdpbnQxNjsKICAgICAgWTIgOiBHaW50MTY7CiAgIGVuZCByZWNvcmQ7CiAgIHBy
YWdtYSBQYWNrIChHZGtfU2VnbWVudCk7CiAgIGZvciBHZGtfU2VnbWVudCdTaXplIHVzZSA2NDsK
CiAgIHR5cGUgR2RrX1NlZ21lbnRzX0FycmF5IGlzIGFycmF5IChQb3NpdGl2ZSByYW5nZSA8Pikg
b2YgR2RrX1NlZ21lbnQ7CiAgIHByYWdtYSBQYWNrIChHZGtfU2VnbWVudHNfQXJyYXkpOwoKICAg
LS0KICAgLS0gIFNlZSBhdCB0aGUgZW5kIG9mIHRoZSBwYWNrYWdlIGEgbGlzdCBvZiBhbGwgdGhl
IHR5cGVzIHRoYXQKICAgLS0gIGhhdmUgbm90IGJlZW4gImJvdW5kIi4KICAgLS0KCiAgIHR5cGUg
R2RrX0F0b20gaXMgbmV3IEd1bG9uZzsKICAgLS0gIFRoaXMgdHlwZSByZXByZXNlbnRzIGEgcHJv
cGVydHkgb2YgdGhlIFgtc2VydmVyLCB0aGF0IGNhbiBiZQogICAtLSAgbWFuaXB1bGF0ZWQgdGhy
b3VnaCBmdW5jdGlvbnMgaW4gR2RrLlByb3BlcnR5LiBUaGV5IGhhdmUgYW4gYXNzb2NpYXRlZAog
ICAtLSAgbmFtZSwgdGhhdCBjYW4gYmUgcHJpbnRlZCwgYXMgd2VsbCBhcyBhIHZhbHVlIHdob3Nl
IHR5cGUgbWF5IHZhcnkuCgogICB0eXBlIEdka19BeGlzX1VzZSBpcwogICAgIChBeGlzX0lnbm9y
ZSwKICAgICAgQXhpc19YLAogICAgICBBeGlzX1ksCiAgICAgIEF4aXNfUHJlc3N1cmUsCiAgICAg
IEF4aXNfWF9UaWx0LAogICAgICBBeGlzX1lfVGlsdCwKICAgICAgQXhpc19MYXN0KTsKCiAgIHR5
cGUgR2RrX0J5dGVfT3JkZXIgaXMgKExzYl9GaXJzdCwgTXNiX0ZpcnN0KTsKCiAgIHR5cGUgR2Rr
X0NhcF9TdHlsZSBpcyAoQ2FwX05vdF9MYXN0LCBDYXBfQnV0dCwgQ2FwX1JvdW5kLCBDYXBfUHJv
amVjdGluZyk7CgogICB0eXBlIEdka19Dcm9zc2luZ19Nb2RlIGlzIChDcm9zc2luZ19Ob3JtYWws
IENyb3NzaW5nX0dyYWIsIENyb3NzaW5nX1VuZ3JhYik7CgogICB0eXBlIEdka19DdXJzb3JfVHlw
ZSBpcwogICAgIChYX0N1cnNvciwKICAgICAgQXJyb3csCiAgICAgIEJhc2VkX0Fycm93X0Rvd24s
CiAgICAgIEJhc2VkX0Fycm93X1VwLAogICAgICBCb2F0LAogICAgICBCb2dvc2l0eSwKICAgICAg
Qm90dG9tX0xlZnRfQ29ybmVyLAogICAgICBCb3R0b21fUmlnaHRfQ29ybmVyLAogICAgICBCb3R0
b21fU2lkZSwKICAgICAgQm90dG9tX1RlZSwKICAgICAgQm94X1NwaXJhbCwKICAgICAgQ2VudGVy
X1B0ciwKICAgICAgQ2lyY2xlLAogICAgICBDbG9jaywKICAgICAgQ29mZmVlX011ZywKICAgICAg
Q3Jvc3MsCiAgICAgIENyb3NzX1JldmVyc2UsCiAgICAgIENyb3NzaGFpciwKICAgICAgRGlhbW9u
ZF9Dcm9zcywKICAgICAgRG90LAogICAgICBEb3Rib3gsCiAgICAgIERvdWJsZV9BcnJvdywKICAg
ICAgRHJhZnRfTGFyZ2UsCiAgICAgIERyYWZ0X1NtYWxsLAogICAgICBEcmFwZWRfQm94LAogICAg
ICBFeGNoYW5nZSwKICAgICAgRmxldXIsCiAgICAgIEdvYmJsZXIsCiAgICAgIEd1bWJ5LAogICAg
ICBIYW5kMSwKICAgICAgSGFuZDIsCiAgICAgIEhlYXJ0LAogICAgICBJY29uLAogICAgICBJcm9u
X0Nyb3NzLAogICAgICBMZWZ0X1B0ciwKICAgICAgTGVmdF9TaWRlLAogICAgICBMZWZ0X1RlZSwK
ICAgICAgTGVmdGJ1dHRvbiwKICAgICAgTGxfQW5nbGUsCiAgICAgIExyX0FuZ2xlLAogICAgICBN
YW4sCiAgICAgIE1pZGRsZWJ1dHRvbiwKICAgICAgTW91c2UsCiAgICAgIFBlbmNpbCwKICAgICAg
UGlyYXRlLAogICAgICBQbHVzLAogICAgICBRdWVzdGlvbl9BcnJvdywKICAgICAgUmlnaHRfUHRy
LAogICAgICBSaWdodF9TaWRlLAogICAgICBSaWdodF9UZWUsCiAgICAgIFJpZ2h0YnV0dG9uLAog
ICAgICBSdGxfTG9nbywKICAgICAgU2FpbGJvYXQsCiAgICAgIFNiX0Rvd25fQXJyb3csCiAgICAg
IFNiX0hfRG91YmxlX0Fycm93LAogICAgICBTYl9MZWZ0X0Fycm93LAogICAgICBTYl9SaWdodF9B
cnJvdywKICAgICAgU2JfVXBfQXJyb3csCiAgICAgIFNiX1ZfRG91YmxlX0Fycm93LAogICAgICBT
aHV0dGxlLAogICAgICBTaXppbmcsCiAgICAgIFNwaWRlciwKICAgICAgU3ByYXljYW4sCiAgICAg
IFN0YXIsCiAgICAgIFRhcmdldCwKICAgICAgVGNyb3NzLAogICAgICBUb3BfTGVmdF9BcnJvdywK
ICAgICAgVG9wX0xlZnRfQ29ybmVyLAogICAgICBUb3BfUmlnaHRfQ29ybmVyLAogICAgICBUb3Bf
U2lkZSwKICAgICAgVG9wX1RlZSwKICAgICAgVHJlaywKICAgICAgVWxfQW5nbGUsCiAgICAgIFVt
YnJlbGxhLAogICAgICBVcl9BbmdsZSwKICAgICAgV2F0Y2gsCiAgICAgIFh0ZXJtKTsKCiAgIHR5
cGUgR2RrX0RldmljZV9JZCBpcyBuZXcgR3VpbnQzMjsKICAgLS0gIFRoaXMgdHlwZSBpcyBzcGVj
aWZpYyB0byBHdGtBZGEuIEluIEdkaywgZ3VpbnQzMiBpcyB1c2VkIGluc3RlYWQuCgogICB0eXBl
IEdka19FdmVudF9NYXNrIGlzIG1vZCAyICoqIDIxOwogICAtLSAgTm90ZSB0aGF0IHlvdSBuZWVk
IHRvIGNoYW5nZSB0aGUgZXZlbnQgbWFzayBvZiBhIHdpZGdldCBpZiB5b3Ugd2FudAogICAtLSAg
dG8gYmUgYWJsZSB0byBnZXQgc29tZSBldmVudHMuIFRvIGNoYW5nZSB0aGlzIG1hc2ssIHRoZSB3
aWRnZXQKICAgLS0gIG11c3QgZmlyc3QgYmUgVW5yZWFsaXplZC4KCiAgIE51bGxfRXZlbnRfTWFz
ayAgICAgICAgICA6IGNvbnN0YW50IEdka19FdmVudF9NYXNrOwogICBFeHBvc3VyZV9NYXNrICAg
ICAgICAgICAgOiBjb25zdGFudCBHZGtfRXZlbnRfTWFzazsKCiAgIFBvaW50ZXJfTW90aW9uX01h
c2sgICAgICA6IGNvbnN0YW50IEdka19FdmVudF9NYXNrOwogICAtLSAgRXZlcnkgdGltZSB0aGUg
bW91c2UgbW92ZXMsIEd0a0FkYSB3aWxsIHNlbmQgYSBNb3Rpb25fTm90aWZ5IGV2ZW50LgogICAt
LSAgVGhlc2UgZXZlbnRzIHdpbGwgYmUgc2VudCBhcyBmYXN0IGFzIHBvc3NpYmxlLCBhbmQgeW91
ciBhcHBsaWNhdGlvbgogICAtLSAgbmVlZHMgdG8gYmUgYWJsZSB0byByZXNwb25kIGFzIGZhc3Qg
YXMgcG9zc2libGUgKGdlbmVyYWxseSBhYm91dAogICAtLSAgMjAwIGV2ZW50cyBwZXIgc2Vjb25k
KS4KCiAgIFBvaW50ZXJfTW90aW9uX0hpbnRfTWFzayA6IGNvbnN0YW50IEdka19FdmVudF9NYXNr
OwogICAtLSAgR3RrQWRhIHdpbGwgb25seSBzZW5kIG9uZSBNb3Rpb25fTm90aWZ5IGV2ZW50IHdo
ZW4gdGhlIG1vdXNlIG1vdmVzLgogICAtLSAgVGhlIGhhbmRsZXIgc2hvdWxkIGNhbGwgR2RrLldp
bmRvdy5HZXRfUG9pbnRlciwgdG8gZ2V0IHRoZSBjdXJyZW50CiAgIC0tICBwb3NpdGlvbiBhbmQg
c2lnbmFscyBHdGtBZGEgdGhhdCBpdCBpcyByZWFkeSB0byBnZXQgYW5vdGhlcgogICAtLSAgTW90
aW9uX05vdGlmeSBzaWduYWwuIE5vIG5ldyBNb3Rpb25fTm90aWZ5IHdpbGwgYmUgc2VudCB1bnRp
bAogICAtLSAgR2V0X1BvaW50ZXIgaGFzIGJlZW4gY2FsbGVkLgoKICAgQnV0dG9uX01vdGlvbl9N
YXNrICAgICAgIDogY29uc3RhbnQgR2RrX0V2ZW50X01hc2s7CiAgIEJ1dHRvbjFfTW90aW9uX01h
c2sgICAgICA6IGNvbnN0YW50IEdka19FdmVudF9NYXNrOwogICBCdXR0b24yX01vdGlvbl9NYXNr
ICAgICAgOiBjb25zdGFudCBHZGtfRXZlbnRfTWFzazsKICAgQnV0dG9uM19Nb3Rpb25fTWFzayAg
ICAgIDogY29uc3RhbnQgR2RrX0V2ZW50X01hc2s7CiAgIEJ1dHRvbl9QcmVzc19NYXNrICAgICAg
ICA6IGNvbnN0YW50IEdka19FdmVudF9NYXNrOwogICBCdXR0b25fUmVsZWFzZV9NYXNrICAgICAg
OiBjb25zdGFudCBHZGtfRXZlbnRfTWFzazsKICAgS2V5X1ByZXNzX01hc2sgICAgICAgICAgIDog
Y29uc3RhbnQgR2RrX0V2ZW50X01hc2s7CiAgIEtleV9SZWxlYXNlX01hc2sgICAgICAgICA6IGNv
bnN0YW50IEdka19FdmVudF9NYXNrOwogICBFbnRlcl9Ob3RpZnlfTWFzayAgICAgICAgOiBjb25z
dGFudCBHZGtfRXZlbnRfTWFzazsKICAgTGVhdmVfTm90aWZ5X01hc2sgICAgICAgIDogY29uc3Rh
bnQgR2RrX0V2ZW50X01hc2s7CiAgIEZvY3VzX0NoYW5nZV9NYXNrICAgICAgICA6IGNvbnN0YW50
IEdka19FdmVudF9NYXNrOwogICBTdHJ1Y3R1cmVfTWFzayAgICAgICAgICAgOiBjb25zdGFudCBH
ZGtfRXZlbnRfTWFzazsKICAgUHJvcGVydHlfQ2hhbmdlX01hc2sgICAgIDogY29uc3RhbnQgR2Rr
X0V2ZW50X01hc2s7CiAgIFZpc2liaWxpdHlfTm90aWZ5X01hc2sgICA6IGNvbnN0YW50IEdka19F
dmVudF9NYXNrOwogICBQcm94aW1pdHlfSW5fTWFzayAgICAgICAgOiBjb25zdGFudCBHZGtfRXZl
bnRfTWFzazsKICAgUHJveGltaXR5X091dF9NYXNrICAgICAgIDogY29uc3RhbnQgR2RrX0V2ZW50
X01hc2s7CiAgIEFsbF9FdmVudHNfTWFzayAgICAgICAgICA6IGNvbnN0YW50IEdka19FdmVudF9N
YXNrOwoKICAgdHlwZSBHZGtfRXZlbnRfVHlwZSBpcwogICAgIChOb3RoaW5nLAogICAgICBEZWxl
dGUsCiAgICAgIERlc3Ryb3ksCiAgICAgIEV4cG9zZSwKICAgICAgTW90aW9uX05vdGlmeSwKICAg
ICAgQnV0dG9uX1ByZXNzLAogICAgICBHZGtfMmJ1dHRvbl9QcmVzcywgIC0tICBEb3VibGUtY2xp
Y2sKICAgICAgR2RrXzNidXR0b25fUHJlc3MsICAtLSAgVHJpcGxlLWNsaWNrCiAgICAgIEJ1dHRv
bl9SZWxlYXNlLAogICAgICBLZXlfUHJlc3MsCiAgICAgIEtleV9SZWxlYXNlLAogICAgICBFbnRl
cl9Ob3RpZnksCiAgICAgIExlYXZlX05vdGlmeSwKICAgICAgRm9jdXNfQ2hhbmdlLAogICAgICBD
b25maWd1cmUsCiAgICAgIE1hcCwKICAgICAgVW5tYXAsCiAgICAgIFByb3BlcnR5X05vdGlmeSwK
ICAgICAgU2VsZWN0aW9uX0NsZWFyLAogICAgICBTZWxlY3Rpb25fUmVxdWVzdCwKICAgICAgU2Vs
ZWN0aW9uX05vdGlmeSwKICAgICAgUHJveGltaXR5X0luLAogICAgICBQcm94aW1pdHlfT3V0LAog
ICAgICBEcmFnX0VudGVyLAogICAgICBEcmFnX0xlYXZlLAogICAgICBEcmFnX01vdGlvbiwKICAg
ICAgRHJhZ19TdGF0dXMsCiAgICAgIERyb3BfU3RhcnQsCiAgICAgIERyb3BfRmluaXNoZWQsCiAg
ICAgIENsaWVudF9FdmVudCwKICAgICAgVmlzaWJpbGl0eV9Ob3RpZnksCiAgICAgIE5vX0V4cG9z
ZSk7CgogICB0eXBlIEdka19FeHRlbnNpb25fTW9kZSBpcwogICAgIChFeHRlbnNpb25fRXZlbnRz
X05vbmUsIEV4dGVuc2lvbl9FdmVudHNfQWxsLCBFeHRlbnNpb25fRXZlbnRzX0N1cnNvcik7Cgog
ICB0eXBlIEdka19GaWxsIGlzIChTb2xpZCwgVGlsZWQsIFN0aXBwbGVkLCBPcGFxdWVfU3RpcHBs
ZWQpOwoKICAgdHlwZSBHZGtfRmlsbF9SdWxlIGlzIChFdmVuX09kZF9SdWxlLCBXaW5kaW5nX1J1
bGUpOwoKICAgdHlwZSBHZGtfRnVuY3Rpb24gaXMKICAgICAoQ29weSwKICAgICAgSW52ZXJ0LAog
ICAgICBHZGtfWG9yLAogICAgICBDbGVhciwKICAgICAgR2RrX0FuZCwKICAgICAgQW5kX1JldmVy
c2UsCiAgICAgIEFuZF9JbnZlcnQsCiAgICAgIE5vb3AsCiAgICAgIEdka19PciwKICAgICAgRXF1
aXYsCiAgICAgIE9yX1JldmVyc2UsCiAgICAgIENvcHlfSW52ZXJ0LAogICAgICBPcl9JbnZlcnQs
CiAgICAgIE5hbmQsCiAgICAgIFNldCk7CgogICB0eXBlIEdka19Kb2luX1N0eWxlIGlzIChKb2lu
X01pdGVyLCBKb2luX1JvdW5kLCBKb2luX0JldmVsKTsKCiAgIHR5cGUgR2RrX0lDX0F0dHJpYnV0
ZXNfVHlwZSBpcyBuZXcgR3VpbnQ7CiAgIEljX1N0eWxlICAgICAgICAgICAgICAgIDogY29uc3Rh
bnQgR2RrX0lDX0F0dHJpYnV0ZXNfVHlwZTsKICAgSWNfQ2xpZW50X1dpbmRvdyAgICAgICAgOiBj
b25zdGFudCBHZGtfSUNfQXR0cmlidXRlc19UeXBlOwogICBJY19Gb2N1c19XaW5kb3cgICAgICAg
ICA6IGNvbnN0YW50IEdka19JQ19BdHRyaWJ1dGVzX1R5cGU7CiAgIEljX0ZpbHRlcl9FdmVudHMg
ICAgICAgIDogY29uc3RhbnQgR2RrX0lDX0F0dHJpYnV0ZXNfVHlwZTsKICAgSWNfU3BvdF9Mb2Nh
dGlvbiAgICAgICAgOiBjb25zdGFudCBHZGtfSUNfQXR0cmlidXRlc19UeXBlOwogICBJY19MaW5l
X1NwYWNpbmcgICAgICAgICA6IGNvbnN0YW50IEdka19JQ19BdHRyaWJ1dGVzX1R5cGU7CiAgIElj
X0N1cnNvciAgICAgICAgICAgICAgIDogY29uc3RhbnQgR2RrX0lDX0F0dHJpYnV0ZXNfVHlwZTsK
ICAgSWNfUHJlZWRpdF9Gb250c2V0ICAgICAgOiBjb25zdGFudCBHZGtfSUNfQXR0cmlidXRlc19U
eXBlOwogICBJY19QcmVlZGl0X0FyZWEgICAgICAgICA6IGNvbnN0YW50IEdka19JQ19BdHRyaWJ1
dGVzX1R5cGU7CiAgIEljX1ByZWVkaXRfQXJlYV9OZWVkZWQgIDogY29uc3RhbnQgR2RrX0lDX0F0
dHJpYnV0ZXNfVHlwZTsKICAgSWNfUHJlZWRpdF9Gb3JlZ3JvdW5kICAgOiBjb25zdGFudCBHZGtf
SUNfQXR0cmlidXRlc19UeXBlOwogICBJY19QcmVlZGl0X0JhY2tncm91bmQgICA6IGNvbnN0YW50
IEdka19JQ19BdHRyaWJ1dGVzX1R5cGU7CiAgIEljX1ByZWVkaXRfUGl4bWFwICAgICAgIDogY29u
c3RhbnQgR2RrX0lDX0F0dHJpYnV0ZXNfVHlwZTsKICAgSWNfUHJlZWRpdF9Db2xvcm1hcCAgICAg
OiBjb25zdGFudCBHZGtfSUNfQXR0cmlidXRlc19UeXBlOwogICBJY19TdGF0dXNfRm9udHNldCAg
ICAgICA6IGNvbnN0YW50IEdka19JQ19BdHRyaWJ1dGVzX1R5cGU7CiAgIEljX1N0YXR1c19BcmVh
ICAgICAgICAgIDogY29uc3RhbnQgR2RrX0lDX0F0dHJpYnV0ZXNfVHlwZTsKICAgSWNfU3RhdHVz
X0FyZWFfTmVlZGVkICAgOiBjb25zdGFudCBHZGtfSUNfQXR0cmlidXRlc19UeXBlOwogICBJY19T
dGF0dXNfRm9yZWdyb3VuZCAgICA6IGNvbnN0YW50IEdka19JQ19BdHRyaWJ1dGVzX1R5cGU7CiAg
IEljX1N0YXR1c19CYWNrZ3JvdW5kICAgIDogY29uc3RhbnQgR2RrX0lDX0F0dHJpYnV0ZXNfVHlw
ZTsKICAgSWNfU3RhdHVzX1BpeG1hcCAgICAgICAgOiBjb25zdGFudCBHZGtfSUNfQXR0cmlidXRl
c19UeXBlOwogICBJY19TdGF0dXNfQ29sb3JtYXAgICAgICA6IGNvbnN0YW50IEdka19JQ19BdHRy
aWJ1dGVzX1R5cGU7CiAgIEljX0FsbF9SZXEgICAgICAgICAgICAgIDogY29uc3RhbnQgR2RrX0lD
X0F0dHJpYnV0ZXNfVHlwZTsKICAgSWNfUHJlZWRpdF9BcmVhX1JlcSAgICAgOiBjb25zdGFudCBH
ZGtfSUNfQXR0cmlidXRlc19UeXBlOwogICBJY19QcmVlZGl0X1Bvc2l0aW9uX1JlcSA6IGNvbnN0
YW50IEdka19JQ19BdHRyaWJ1dGVzX1R5cGU7CiAgIEljX1N0YXR1c19BcmVhX1JlcSAgICAgIDog
Y29uc3RhbnQgR2RrX0lDX0F0dHJpYnV0ZXNfVHlwZTsKCiAgIHR5cGUgR2RrX0lNX1N0eWxlIGlz
IG5ldyBHdWludDsKICAgSW1fUHJlZWRpdF9BcmVhICAgICAgOiBjb25zdGFudCBHZGtfSU1fU3R5
bGU7CiAgIEltX1ByZWVkaXRfQ2FsbGJhY2tzIDogY29uc3RhbnQgR2RrX0lNX1N0eWxlOwogICBJ
bV9QcmVlZGl0X1Bvc2l0aW9uICA6IGNvbnN0YW50IEdka19JTV9TdHlsZTsKICAgSW1fUHJlZWRp
dF9Ob3RoaW5nICAgOiBjb25zdGFudCBHZGtfSU1fU3R5bGU7CiAgIEltX1ByZWVkaXRfTm9uZSAg
ICAgIDogY29uc3RhbnQgR2RrX0lNX1N0eWxlOwogICBJbV9QcmVlZGl0X01hc2sgICAgICA6IGNv
bnN0YW50IEdka19JTV9TdHlsZTsKICAgSW1fU3RhdHVzX0FyZWEgICAgICAgOiBjb25zdGFudCBH
ZGtfSU1fU3R5bGU7CiAgIEltX1N0YXR1c19DYWxsYmFja3MgIDogY29uc3RhbnQgR2RrX0lNX1N0
eWxlOwogICBJbV9TdGF0dXNfTm90aGluZyAgICA6IGNvbnN0YW50IEdka19JTV9TdHlsZTsKICAg
SW1fU3RhdHVzX05vbmUgICAgICAgOiBjb25zdGFudCBHZGtfSU1fU3R5bGU7CiAgIEltX1N0YXR1
c19NYXNrICAgICAgIDogY29uc3RhbnQgR2RrX0lNX1N0eWxlOwoKICAgdHlwZSBHZGtfSW5wdXRf
Q29uZGl0aW9uIGlzIChJbnB1dF9SZWFkLCBJbnB1dF9Xcml0ZSwgSW5wdXRfRXhjZXB0aW9uKTsK
CiAgIHR5cGUgR2RrX0lucHV0X01vZGUgaXMgKE1vZGVfRGlzYWJsZWQsIE1vZGVfU2NyZWVuLCBN
b2RlX1dpbmRvdyk7CgogICB0eXBlIEdka19JbnB1dF9Tb3VyY2UgaXMKICAgICAoU291cmNlX01v
dXNlLAogICAgICBTb3VyY2VfUGVuLAogICAgICBTb3VyY2VfRXJhc2VyLAogICAgICBTb3VyY2Vf
Q3Vyc29yKTsKCiAgIHR5cGUgR2RrX0tleV9UeXBlIGlzIG5ldyBHdWludDsKICAgLS0gIHNlZSBH
ZGsuVHlwZXMuS2V5c3ltcyBmb3Iga2V5IHR5cGUgY29uc3RhbnRzCgogICB0eXBlIEdka19MaW5l
X1N0eWxlIGlzIChMaW5lX1NvbGlkLCBMaW5lX09uX09mZl9EYXNoLCBMaW5lX0RvdWJsZV9EYXNo
KTsKCiAgIHR5cGUgR2RrX01vZGlmaWVyX1R5cGUgaXMgbmV3IEd1aW50OwogICBTaGlmdF9NYXNr
ICAgIDogY29uc3RhbnQgR2RrX01vZGlmaWVyX1R5cGU7CiAgIExvY2tfTWFzayAgICAgOiBjb25z
dGFudCBHZGtfTW9kaWZpZXJfVHlwZTsKICAgQ29udHJvbF9NYXNrICA6IGNvbnN0YW50IEdka19N
b2RpZmllcl9UeXBlOwogICBNb2QxX01hc2sgICAgIDogY29uc3RhbnQgR2RrX01vZGlmaWVyX1R5
cGU7CiAgIE1vZDJfTWFzayAgICAgOiBjb25zdGFudCBHZGtfTW9kaWZpZXJfVHlwZTsKICAgTW9k
M19NYXNrICAgICA6IGNvbnN0YW50IEdka19Nb2RpZmllcl9UeXBlOwogICBNb2Q0X01hc2sgICAg
IDogY29uc3RhbnQgR2RrX01vZGlmaWVyX1R5cGU7CiAgIE1vZDVfTWFzayAgICAgOiBjb25zdGFu
dCBHZGtfTW9kaWZpZXJfVHlwZTsKICAgQnV0dG9uMV9NYXNrICA6IGNvbnN0YW50IEdka19Nb2Rp
Zmllcl9UeXBlOwogICBCdXR0b24yX01hc2sgIDogY29uc3RhbnQgR2RrX01vZGlmaWVyX1R5cGU7
CiAgIEJ1dHRvbjNfTWFzayAgOiBjb25zdGFudCBHZGtfTW9kaWZpZXJfVHlwZTsKICAgQnV0dG9u
NF9NYXNrICA6IGNvbnN0YW50IEdka19Nb2RpZmllcl9UeXBlOwogICBCdXR0b241X01hc2sgIDog
Y29uc3RhbnQgR2RrX01vZGlmaWVyX1R5cGU7CiAgIFJlbGVhc2VfTWFzayAgOiBjb25zdGFudCBH
ZGtfTW9kaWZpZXJfVHlwZTsKICAgTW9kaWZpZXJfTWFzayA6IGNvbnN0YW50IEdka19Nb2RpZmll
cl9UeXBlOwoKICAgdHlwZSBHZGtfTm90aWZ5X1R5cGUgaXMKICAgICAoTm90aWZ5X0FuY2VzdG9y
LAogICAgICBOb3RpZnlfVmlydHVhbCwKICAgICAgTm90aWZ5X0luZmVyaW9yLAogICAgICBOb3Rp
ZnlfTm9uX0xpbmVhciwKICAgICAgTm90aWZ5X05vbl9MaW5lYXJfVmlydHVhbCwKICAgICAgTm90
aWZ5X1Vua25vd24pOwoKICAgdHlwZSBHZGtfT3ZlcmxhcF9UeXBlIGlzCiAgICAgKE92ZXJsYXBf
UmVjdGFuZ2xlX0luLAogICAgICBPdmVybGFwX1JlY3RhbmdsZV9PdXQsCiAgICAgIE92ZXJsYXBf
UmVjdGFuZ2xlX1BhcnQpOwoKICAgdHlwZSBHZGtfUHJvcF9Nb2RlIGlzCiAgICAgKFByb3BfTW9k
ZV9SZXBsYWNlLCBQcm9wX01vZGVfUHJlcGVuZCwgUHJvcF9Nb2RlX0FwcGVuZCk7CgogICB0eXBl
IEdka19TdWJ3aW5kb3dfTW9kZSBpcyAoQ2xpcF9CeV9DaGlsZHJlbiwgSW5jbHVkZV9JbmZlcmlv
cnMpOwoKICAgdHlwZSBHZGtfR0NfVmFsdWVzX01hc2sgaXMgbmV3IEd1aW50OwogICBHQ19Gb3Jl
Z3JvdW5kICAgIDogY29uc3RhbnQgR2RrX0dDX1ZhbHVlc19NYXNrOwogICBHQ19CYWNrZ3JvdW5k
ICAgIDogY29uc3RhbnQgR2RrX0dDX1ZhbHVlc19NYXNrOwogICBHQ19Gb250ICAgICAgICAgIDog
Y29uc3RhbnQgR2RrX0dDX1ZhbHVlc19NYXNrOwogICBHQ19GdW5jdGlvbiAgICAgIDogY29uc3Rh
bnQgR2RrX0dDX1ZhbHVlc19NYXNrOwogICBHQ19GaWxsICAgICAgICAgIDogY29uc3RhbnQgR2Rr
X0dDX1ZhbHVlc19NYXNrOwogICBHQ19UaWxlICAgICAgICAgIDogY29uc3RhbnQgR2RrX0dDX1Zh
bHVlc19NYXNrOwogICBHQ19TdGlwcGxlICAgICAgIDogY29uc3RhbnQgR2RrX0dDX1ZhbHVlc19N
YXNrOwogICBHQ19DbGlwX01hc2sgICAgIDogY29uc3RhbnQgR2RrX0dDX1ZhbHVlc19NYXNrOwog
ICBHQ19TdWJ3aW5kb3cgICAgIDogY29uc3RhbnQgR2RrX0dDX1ZhbHVlc19NYXNrOwogICBHQ19U
c19YX09yaWdpbiAgIDogY29uc3RhbnQgR2RrX0dDX1ZhbHVlc19NYXNrOwogICBHQ19UeF9ZX09y
aWdpbiAgIDogY29uc3RhbnQgR2RrX0dDX1ZhbHVlc19NYXNrOwogICBHQ19DbGlwX1hfT3JpZ2lu
IDogY29uc3RhbnQgR2RrX0dDX1ZhbHVlc19NYXNrOwogICBHQ19DbGlwX1lfT3JpZ2luIDogY29u
c3RhbnQgR2RrX0dDX1ZhbHVlc19NYXNrOwogICBHQ19FeHBvc3VyZXMgICAgIDogY29uc3RhbnQg
R2RrX0dDX1ZhbHVlc19NYXNrOwogICBHQ19MaW5lX1dpZHRoICAgIDogY29uc3RhbnQgR2RrX0dD
X1ZhbHVlc19NYXNrOwogICBHQ19MaW5lX1N0eWxlICAgIDogY29uc3RhbnQgR2RrX0dDX1ZhbHVl
c19NYXNrOwogICBHQ19DYXBfU3R5bGUgICAgIDogY29uc3RhbnQgR2RrX0dDX1ZhbHVlc19NYXNr
OwogICBHQ19Kb2luX1N0eWxlICAgIDogY29uc3RhbnQgR2RrX0dDX1ZhbHVlc19NYXNrOwoKICAg
dHlwZSBHZGtfVmlzaWJpbGl0eV9TdGF0ZSBpcwogICAgIChWaXNpYmlsaXR5X1Vub2JzY3VyZWQs
CiAgICAgIFZpc2liaWxpdHlfUGFydGlhbCwKICAgICAgVmlzaWJpbGl0eV9GdWxseV9PYnNjdXJl
ZCk7CgogICB0eXBlIEdka19WaXN1YWxfVHlwZSBpcwogICAgIChWaXN1YWxfU3RhdGljX0dyYXks
CiAgICAgIFZpc3VhbF9HcmF5c2NhbGUsCiAgICAgIFZpc3VhbF9TdGF0aWNfQ29sb3IsCiAgICAg
IFZpc3VhbF9Qc2V1ZG9fQ29sb3IsCiAgICAgIFZpc3VhbF9UcnVlX0NvbG9yLAogICAgICBWaXN1
YWxfRGlyZWN0X0NvbG9yKTsKCiAgIHR5cGUgR2RrX1dpbmRvd19BdHRyaWJ1dGVzX1R5cGUgaXMg
bmV3IEd1aW50OwogICBXYV9UaXRsZSAgICA6IGNvbnN0YW50IEdka19XaW5kb3dfQXR0cmlidXRl
c19UeXBlOwogICBXYV9YICAgICAgICA6IGNvbnN0YW50IEdka19XaW5kb3dfQXR0cmlidXRlc19U
eXBlOwogICBXYV9ZICAgICAgICA6IGNvbnN0YW50IEdka19XaW5kb3dfQXR0cmlidXRlc19UeXBl
OwogICBXYV9DdXJzb3IgICA6IGNvbnN0YW50IEdka19XaW5kb3dfQXR0cmlidXRlc19UeXBlOwog
ICBXYV9Db2xvcm1hcCA6IGNvbnN0YW50IEdka19XaW5kb3dfQXR0cmlidXRlc19UeXBlOwogICBX
YV9WaXN1YWwgICA6IGNvbnN0YW50IEdka19XaW5kb3dfQXR0cmlidXRlc19UeXBlOwogICBXYV9X
bWNsYXNzICA6IGNvbnN0YW50IEdka19XaW5kb3dfQXR0cmlidXRlc19UeXBlOwogICBXYV9Ob3Jl
ZGlyICA6IGNvbnN0YW50IEdka19XaW5kb3dfQXR0cmlidXRlc19UeXBlOwoKICAgdHlwZSBHZGtf
V2luZG93X0NsYXNzIGlzIChJbnB1dF9PdXRwdXQsIElucHV0X09ubHkpOwoKICAgdHlwZSBHZGtf
V2luZG93X0hpbnRzIGlzIG5ldyBHdWludDsKICAgR2RrX0hpbnRfUG9zICAgICAgICA6IGNvbnN0
YW50IEdka19XaW5kb3dfSGludHM7CiAgIEdka19IaW50X01pbl9TaXplICAgOiBjb25zdGFudCBH
ZGtfV2luZG93X0hpbnRzOwogICBHZGtfSGludF9NYXhfU2l6ZSAgIDogY29uc3RhbnQgR2RrX1dp
bmRvd19IaW50czsKICAgR2RrX0hpbnRfQmFzZV9TaXplICA6IGNvbnN0YW50IEdka19XaW5kb3df
SGludHM7CiAgIEdka19IaW50X0FzcGVjdCAgICAgOiBjb25zdGFudCBHZGtfV2luZG93X0hpbnRz
OwogICBHZGtfSGludF9SZXNpemVfSW5jIDogY29uc3RhbnQgR2RrX1dpbmRvd19IaW50czsKCiAg
IHR5cGUgR2RrX1dpbmRvd19UeXBlIGlzCiAgICAgKFdpbmRvd19Sb290LAogICAgICBXaW5kb3df
VG9wbGV2ZWwsCiAgICAgIFdpbmRvd19DaGlsZCwKICAgICAgV2luZG93X0RpYWxvZywKICAgICAg
V2luZG93X1RlbXAsCiAgICAgIFdpbmRvd19QaXhtYXAsCiAgICAgIFdpbmRvd19Gb3JlaWduKTsK
CiAgIHR5cGUgR2RrX1dtX0RlY29yYXRpb24gaXMgbmV3IEd1aW50OwogICBEZWNvcl9BbGwgICAg
ICA6IGNvbnN0YW50IEdka19XbV9EZWNvcmF0aW9uOwogICBEZWNvcl9Cb3JkZXIgICA6IGNvbnN0
YW50IEdka19XbV9EZWNvcmF0aW9uOwogICBEZWNvcl9SZXNpemVfSCA6IGNvbnN0YW50IEdka19X
bV9EZWNvcmF0aW9uOwogICBEZWNvcl9UaXRsZSAgICA6IGNvbnN0YW50IEdka19XbV9EZWNvcmF0
aW9uOwogICBEZWNvcl9NZW51ICAgICA6IGNvbnN0YW50IEdka19XbV9EZWNvcmF0aW9uOwogICBE
ZWNvcl9NaW5pbWl6ZSA6IGNvbnN0YW50IEdka19XbV9EZWNvcmF0aW9uOwogICBEZWNvcl9NYXhp
bWl6ZSA6IGNvbnN0YW50IEdka19XbV9EZWNvcmF0aW9uOwoKICAgdHlwZSBHZGtfV21fRnVuY3Rp
b24gaXMgbmV3IEd1aW50OwogICBGdW5jX0FsbCAgICAgIDogY29uc3RhbnQgR2RrX1dtX0Z1bmN0
aW9uOwogICBGdW5jX1Jlc2l6ZSAgIDogY29uc3RhbnQgR2RrX1dtX0Z1bmN0aW9uOwogICBGdW5j
X01vdmUgICAgIDogY29uc3RhbnQgR2RrX1dtX0Z1bmN0aW9uOwogICBGdW5jX01pbmltaXplIDog
Y29uc3RhbnQgR2RrX1dtX0Z1bmN0aW9uOwogICBGdW5jX01heGltaXplIDogY29uc3RhbnQgR2Rr
X1dtX0Z1bmN0aW9uOwogICBGdW5jX0Nsb3NlICAgIDogY29uc3RhbnQgR2RrX1dtX0Z1bmN0aW9u
OwoKICAgc3VidHlwZSBHZGtfV0NoYXIgaXMgU3RhbmRhcmQuV2lkZV9DaGFyYWN0ZXI7CiAgIHN1
YnR5cGUgR2RrX1dTdHJpbmcgaXMgU3RhbmRhcmQuV2lkZV9TdHJpbmc7CiAgIC0tICBHZGsgZG9l
cyBub3QgZGVmaW5lIGEgR2RrX1dTdHJpbmcgdHlwZSwgYnV0IHVzZXMgcG9pbnRlcnMKICAgLS0g
IHRvIEdka19XQ2hhciBpbnN0ZWFkLgoKcHJpdmF0ZQoKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQogICAtLSAgUHJpdmF0ZSBjb25zdGFudHMgIC0tCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KCiAgIE51bGxfRXZlbnRfTWFzayAgICAgICAgICA6IGNvbnN0YW50IEdka19FdmVudF9N
YXNrIDo9IDA7CiAgIEV4cG9zdXJlX01hc2sgICAgICAgICAgICA6IGNvbnN0YW50IEdka19FdmVu
dF9NYXNrIDo9IDIgKiogMTsKICAgUG9pbnRlcl9Nb3Rpb25fTWFzayAgICAgIDogY29uc3RhbnQg
R2RrX0V2ZW50X01hc2sgOj0gMiAqKiAyOwogICBQb2ludGVyX01vdGlvbl9IaW50X01hc2sgOiBj
b25zdGFudCBHZGtfRXZlbnRfTWFzayA6PSAyICoqIDM7CiAgIEJ1dHRvbl9Nb3Rpb25fTWFzayAg
ICAgICA6IGNvbnN0YW50IEdka19FdmVudF9NYXNrIDo9IDIgKiogNDsKICAgQnV0dG9uMV9Nb3Rp
b25fTWFzayAgICAgIDogY29uc3RhbnQgR2RrX0V2ZW50X01hc2sgOj0gMiAqKiA1OwogICBCdXR0
b24yX01vdGlvbl9NYXNrICAgICAgOiBjb25zdGFudCBHZGtfRXZlbnRfTWFzayA6PSAyICoqIDY7
CiAgIEJ1dHRvbjNfTW90aW9uX01hc2sgICAgICA6IGNvbnN0YW50IEdka19FdmVudF9NYXNrIDo9
IDIgKiogNzsKICAgQnV0dG9uX1ByZXNzX01hc2sgICAgICAgIDogY29uc3RhbnQgR2RrX0V2ZW50
X01hc2sgOj0gMiAqKiA4OwogICBCdXR0b25fUmVsZWFzZV9NYXNrICAgICAgOiBjb25zdGFudCBH
ZGtfRXZlbnRfTWFzayA6PSAyICoqIDk7CiAgIEtleV9QcmVzc19NYXNrICAgICAgICAgICA6IGNv
bnN0YW50IEdka19FdmVudF9NYXNrIDo9IDIgKiogMTA7CiAgIEtleV9SZWxlYXNlX01hc2sgICAg
ICAgICA6IGNvbnN0YW50IEdka19FdmVudF9NYXNrIDo9IDIgKiogMTE7CiAgIEVudGVyX05vdGlm
eV9NYXNrICAgICAgICA6IGNvbnN0YW50IEdka19FdmVudF9NYXNrIDo9IDIgKiogMTI7CiAgIExl
YXZlX05vdGlmeV9NYXNrICAgICAgICA6IGNvbnN0YW50IEdka19FdmVudF9NYXNrIDo9IDIgKiog
MTM7CiAgIEZvY3VzX0NoYW5nZV9NYXNrICAgICAgICA6IGNvbnN0YW50IEdka19FdmVudF9NYXNr
IDo9IDIgKiogMTQ7CiAgIFN0cnVjdHVyZV9NYXNrICAgICAgICAgICA6IGNvbnN0YW50IEdka19F
dmVudF9NYXNrIDo9IDIgKiogMTU7CiAgIFByb3BlcnR5X0NoYW5nZV9NYXNrICAgICA6IGNvbnN0
YW50IEdka19FdmVudF9NYXNrIDo9IDIgKiogMTY7CiAgIFZpc2liaWxpdHlfTm90aWZ5X01hc2sg
ICA6IGNvbnN0YW50IEdka19FdmVudF9NYXNrIDo9IDIgKiogMTc7CiAgIFByb3hpbWl0eV9Jbl9N
YXNrICAgICAgICA6IGNvbnN0YW50IEdka19FdmVudF9NYXNrIDo9IDIgKiogMTg7CiAgIFByb3hp
bWl0eV9PdXRfTWFzayAgICAgICA6IGNvbnN0YW50IEdka19FdmVudF9NYXNrIDo9IDIgKiogMTk7
CiAgIFN1YnN0cnVjdHVyZV9NYXNrICAgICAgICA6IGNvbnN0YW50IEdka19FdmVudF9NYXNrIDo9
IDIgKiogMjA7CiAgIEFsbF9FdmVudHNfTWFzayAgICAgICAgICA6IGNvbnN0YW50IEdka19FdmVu
dF9NYXNrIDo9IDE2IzFGRkZGRiM7CgogICBJY19TdHlsZSAgICAgICAgICAgICAgICA6IGNvbnN0
YW50IEdka19JQ19BdHRyaWJ1dGVzX1R5cGUgOj0gMiAqKiAwOwogICBJY19DbGllbnRfV2luZG93
ICAgICAgICA6IGNvbnN0YW50IEdka19JQ19BdHRyaWJ1dGVzX1R5cGUgOj0gMiAqKiAxOwogICBJ
Y19Gb2N1c19XaW5kb3cgICAgICAgICA6IGNvbnN0YW50IEdka19JQ19BdHRyaWJ1dGVzX1R5cGUg
Oj0gMiAqKiAyOwogICBJY19GaWx0ZXJfRXZlbnRzICAgICAgICA6IGNvbnN0YW50IEdka19JQ19B
dHRyaWJ1dGVzX1R5cGUgOj0gMiAqKiAzOwogICBJY19TcG90X0xvY2F0aW9uICAgICAgICA6IGNv
bnN0YW50IEdka19JQ19BdHRyaWJ1dGVzX1R5cGUgOj0gMiAqKiA0OwogICBJY19MaW5lX1NwYWNp
bmcgICAgICAgICA6IGNvbnN0YW50IEdka19JQ19BdHRyaWJ1dGVzX1R5cGUgOj0gMiAqKiA1Owog
ICBJY19DdXJzb3IgICAgICAgICAgICAgICA6IGNvbnN0YW50IEdka19JQ19BdHRyaWJ1dGVzX1R5
cGUgOj0gMiAqKiA2OwogICBJY19QcmVlZGl0X0ZvbnRzZXQgICAgICA6IGNvbnN0YW50IEdka19J
Q19BdHRyaWJ1dGVzX1R5cGUgOj0gMiAqKiAxMDsKICAgSWNfUHJlZWRpdF9BcmVhICAgICAgICAg
OiBjb25zdGFudCBHZGtfSUNfQXR0cmlidXRlc19UeXBlIDo9IDIgKiogMTE7CiAgIEljX1ByZWVk
aXRfQXJlYV9OZWVkZWQgIDogY29uc3RhbnQgR2RrX0lDX0F0dHJpYnV0ZXNfVHlwZSA6PSAyICoq
IDEyOwogICBJY19QcmVlZGl0X0ZvcmVncm91bmQgICA6IGNvbnN0YW50IEdka19JQ19BdHRyaWJ1
dGVzX1R5cGUgOj0gMiAqKiAxMzsKICAgSWNfUHJlZWRpdF9CYWNrZ3JvdW5kICAgOiBjb25zdGFu
dCBHZGtfSUNfQXR0cmlidXRlc19UeXBlIDo9IDIgKiogMTQ7CiAgIEljX1ByZWVkaXRfUGl4bWFw
ICAgICAgIDogY29uc3RhbnQgR2RrX0lDX0F0dHJpYnV0ZXNfVHlwZSA6PSAyICoqIDE1OwogICBJ
Y19QcmVlZGl0X0NvbG9ybWFwICAgICA6IGNvbnN0YW50IEdka19JQ19BdHRyaWJ1dGVzX1R5cGUg
Oj0gMiAqKiAxNjsKICAgSWNfU3RhdHVzX0ZvbnRzZXQgICAgICAgOiBjb25zdGFudCBHZGtfSUNf
QXR0cmlidXRlc19UeXBlIDo9IDIgKiogMjE7CiAgIEljX1N0YXR1c19BcmVhICAgICAgICAgIDog
Y29uc3RhbnQgR2RrX0lDX0F0dHJpYnV0ZXNfVHlwZSA6PSAyICoqIDIyOwogICBJY19TdGF0dXNf
QXJlYV9OZWVkZWQgICA6IGNvbnN0YW50IEdka19JQ19BdHRyaWJ1dGVzX1R5cGUgOj0gMiAqKiAy
MzsKICAgSWNfU3RhdHVzX0ZvcmVncm91bmQgICAgOiBjb25zdGFudCBHZGtfSUNfQXR0cmlidXRl
c19UeXBlIDo9IDIgKiogMjQ7CiAgIEljX1N0YXR1c19CYWNrZ3JvdW5kICAgIDogY29uc3RhbnQg
R2RrX0lDX0F0dHJpYnV0ZXNfVHlwZSA6PSAyICoqIDI1OwogICBJY19TdGF0dXNfUGl4bWFwICAg
ICAgICA6IGNvbnN0YW50IEdka19JQ19BdHRyaWJ1dGVzX1R5cGUgOj0gMiAqKiAyNjsKICAgSWNf
U3RhdHVzX0NvbG9ybWFwICAgICAgOiBjb25zdGFudCBHZGtfSUNfQXR0cmlidXRlc19UeXBlIDo9
IDIgKiogMjc7CiAgIEljX0FsbF9SZXEgICAgICAgICAgICAgIDogY29uc3RhbnQgR2RrX0lDX0F0
dHJpYnV0ZXNfVHlwZSA6PQogICAgIEljX1N0eWxlIG9yIEljX0NsaWVudF9XaW5kb3c7CiAgIElj
X1ByZWVkaXRfQXJlYV9SZXEgICAgIDogY29uc3RhbnQgR2RrX0lDX0F0dHJpYnV0ZXNfVHlwZSA6
PQogICAgIEljX1ByZWVkaXRfQXJlYSBvciBJY19QcmVlZGl0X0ZvbnRzZXQ7CiAgIEljX1ByZWVk
aXRfUG9zaXRpb25fUmVxIDogY29uc3RhbnQgR2RrX0lDX0F0dHJpYnV0ZXNfVHlwZSA6PQogICAg
IEljX1ByZWVkaXRfQXJlYSBvciBJY19TcG90X0xvY2F0aW9uIG9yIEljX1ByZWVkaXRfRm9udHNl
dDsKICAgSWNfU3RhdHVzX0FyZWFfUmVxICAgICAgOiBjb25zdGFudCBHZGtfSUNfQXR0cmlidXRl
c19UeXBlIDo9CiAgICAgSWNfU3RhdHVzX0FyZWEgb3IgSWNfU3RhdHVzX0ZvbnRzZXQ7CgogICBJ
bV9QcmVlZGl0X0FyZWEgICAgICA6IGNvbnN0YW50IEdka19JTV9TdHlsZSA6PSAxNiMwMDAxIzsK
ICAgSW1fUHJlZWRpdF9DYWxsYmFja3MgOiBjb25zdGFudCBHZGtfSU1fU3R5bGUgOj0gMTYjMDAw
MiM7CiAgIEltX1ByZWVkaXRfUG9zaXRpb24gIDogY29uc3RhbnQgR2RrX0lNX1N0eWxlIDo9IDE2
IzAwMDQjOwogICBJbV9QcmVlZGl0X05vdGhpbmcgICA6IGNvbnN0YW50IEdka19JTV9TdHlsZSA6
PSAxNiMwMDA4IzsKICAgSW1fUHJlZWRpdF9Ob25lICAgICAgOiBjb25zdGFudCBHZGtfSU1fU3R5
bGUgOj0gMTYjMDAxMCM7CiAgIEltX1ByZWVkaXRfTWFzayAgICAgIDogY29uc3RhbnQgR2RrX0lN
X1N0eWxlIDo9IDE2IzAwMUYjOwogICBJbV9TdGF0dXNfQXJlYSAgICAgICA6IGNvbnN0YW50IEdk
a19JTV9TdHlsZSA6PSAxNiMwMTAwIzsKICAgSW1fU3RhdHVzX0NhbGxiYWNrcyAgOiBjb25zdGFu
dCBHZGtfSU1fU3R5bGUgOj0gMTYjMDIwMCM7CiAgIEltX1N0YXR1c19Ob3RoaW5nICAgIDogY29u
c3RhbnQgR2RrX0lNX1N0eWxlIDo9IDE2IzA0MDAjOwogICBJbV9TdGF0dXNfTm9uZSAgICAgICA6
IGNvbnN0YW50IEdka19JTV9TdHlsZSA6PSAxNiMwODAwIzsKICAgSW1fU3RhdHVzX01hc2sgICAg
ICAgOiBjb25zdGFudCBHZGtfSU1fU3R5bGUgOj0gMTYjMEYwMCM7CgogICBTaGlmdF9NYXNrICAg
OiBjb25zdGFudCBHZGtfTW9kaWZpZXJfVHlwZSA6PSAyICoqIDA7CiAgIExvY2tfTWFzayAgICA6
IGNvbnN0YW50IEdka19Nb2RpZmllcl9UeXBlIDo9IDIgKiogMTsKICAgQ29udHJvbF9NYXNrIDog
Y29uc3RhbnQgR2RrX01vZGlmaWVyX1R5cGUgOj0gMiAqKiAyOwogICBNb2QxX01hc2sgICAgOiBj
b25zdGFudCBHZGtfTW9kaWZpZXJfVHlwZSA6PSAyICoqIDM7CiAgIE1vZDJfTWFzayAgICA6IGNv
bnN0YW50IEdka19Nb2RpZmllcl9UeXBlIDo9IDIgKiogNDsKICAgTW9kM19NYXNrICAgIDogY29u
c3RhbnQgR2RrX01vZGlmaWVyX1R5cGUgOj0gMiAqKiA1OwogICBNb2Q0X01hc2sgICAgOiBjb25z
dGFudCBHZGtfTW9kaWZpZXJfVHlwZSA6PSAyICoqIDY7CiAgIE1vZDVfTWFzayAgICA6IGNvbnN0
YW50IEdka19Nb2RpZmllcl9UeXBlIDo9IDIgKiogNzsKICAgQnV0dG9uMV9NYXNrIDogY29uc3Rh
bnQgR2RrX01vZGlmaWVyX1R5cGUgOj0gMiAqKiA4OwogICBCdXR0b24yX01hc2sgOiBjb25zdGFu
dCBHZGtfTW9kaWZpZXJfVHlwZSA6PSAyICoqIDk7CiAgIEJ1dHRvbjNfTWFzayA6IGNvbnN0YW50
IEdka19Nb2RpZmllcl9UeXBlIDo9IDIgKiogMTA7CiAgIEJ1dHRvbjRfTWFzayA6IGNvbnN0YW50
IEdka19Nb2RpZmllcl9UeXBlIDo9IDIgKiogMTE7CiAgIEJ1dHRvbjVfTWFzayA6IGNvbnN0YW50
IEdka19Nb2RpZmllcl9UeXBlIDo9IDIgKiogMTI7CiAgIFJlbGVhc2VfTWFzayAgOiBjb25zdGFu
dCBHZGtfTW9kaWZpZXJfVHlwZSA6PSAyICoqIDEzOwogICBNb2RpZmllcl9NYXNrIDogY29uc3Rh
bnQgR2RrX01vZGlmaWVyX1R5cGUgOj0gMTYjM0ZGRiM7CgogICBXYV9UaXRsZSAgICA6IGNvbnN0
YW50IEdka19XaW5kb3dfQXR0cmlidXRlc19UeXBlIDo9IDIgKiogMTsKICAgV2FfWCAgICAgICAg
OiBjb25zdGFudCBHZGtfV2luZG93X0F0dHJpYnV0ZXNfVHlwZSA6PSAyICoqIDI7CiAgIFdhX1kg
ICAgICAgIDogY29uc3RhbnQgR2RrX1dpbmRvd19BdHRyaWJ1dGVzX1R5cGUgOj0gMiAqKiAzOwog
ICBXYV9DdXJzb3IgICA6IGNvbnN0YW50IEdka19XaW5kb3dfQXR0cmlidXRlc19UeXBlIDo9IDIg
KiogNDsKICAgV2FfQ29sb3JtYXAgOiBjb25zdGFudCBHZGtfV2luZG93X0F0dHJpYnV0ZXNfVHlw
ZSA6PSAyICoqIDU7CiAgIFdhX1Zpc3VhbCAgIDogY29uc3RhbnQgR2RrX1dpbmRvd19BdHRyaWJ1
dGVzX1R5cGUgOj0gMiAqKiA2OwogICBXYV9XbWNsYXNzICA6IGNvbnN0YW50IEdka19XaW5kb3df
QXR0cmlidXRlc19UeXBlIDo9IDIgKiogNzsKICAgV2FfTm9yZWRpciAgOiBjb25zdGFudCBHZGtf
V2luZG93X0F0dHJpYnV0ZXNfVHlwZSA6PSAyICoqIDg7CgogICBHQ19Gb3JlZ3JvdW5kICAgIDog
Y29uc3RhbnQgR2RrX0dDX1ZhbHVlc19NYXNrIDo9IDIgKiogMDsKICAgR0NfQmFja2dyb3VuZCAg
ICA6IGNvbnN0YW50IEdka19HQ19WYWx1ZXNfTWFzayA6PSAyICoqIDE7CiAgIEdDX0ZvbnQgICAg
ICAgICAgOiBjb25zdGFudCBHZGtfR0NfVmFsdWVzX01hc2sgOj0gMiAqKiAyOwogICBHQ19GdW5j
dGlvbiAgICAgIDogY29uc3RhbnQgR2RrX0dDX1ZhbHVlc19NYXNrIDo9IDIgKiogMzsKICAgR0Nf
RmlsbCAgICAgICAgICA6IGNvbnN0YW50IEdka19HQ19WYWx1ZXNfTWFzayA6PSAyICoqIDQ7CiAg
IEdDX1RpbGUgICAgICAgICAgOiBjb25zdGFudCBHZGtfR0NfVmFsdWVzX01hc2sgOj0gMiAqKiA1
OwogICBHQ19TdGlwcGxlICAgICAgIDogY29uc3RhbnQgR2RrX0dDX1ZhbHVlc19NYXNrIDo9IDIg
KiogNjsKICAgR0NfQ2xpcF9NYXNrICAgICA6IGNvbnN0YW50IEdka19HQ19WYWx1ZXNfTWFzayA6
PSAyICoqIDc7CiAgIEdDX1N1YndpbmRvdyAgICAgOiBjb25zdGFudCBHZGtfR0NfVmFsdWVzX01h
c2sgOj0gMiAqKiA4OwogICBHQ19Uc19YX09yaWdpbiAgIDogY29uc3RhbnQgR2RrX0dDX1ZhbHVl
c19NYXNrIDo9IDIgKiogOTsKICAgR0NfVHhfWV9PcmlnaW4gICA6IGNvbnN0YW50IEdka19HQ19W
YWx1ZXNfTWFzayA6PSAyICoqIDEwOwogICBHQ19DbGlwX1hfT3JpZ2luIDogY29uc3RhbnQgR2Rr
X0dDX1ZhbHVlc19NYXNrIDo9IDIgKiogMTE7CiAgIEdDX0NsaXBfWV9PcmlnaW4gOiBjb25zdGFu
dCBHZGtfR0NfVmFsdWVzX01hc2sgOj0gMiAqKiAxMjsKICAgR0NfRXhwb3N1cmVzICAgICA6IGNv
bnN0YW50IEdka19HQ19WYWx1ZXNfTWFzayA6PSAyICoqIDEzOwogICBHQ19MaW5lX1dpZHRoICAg
IDogY29uc3RhbnQgR2RrX0dDX1ZhbHVlc19NYXNrIDo9IDIgKiogMTQ7CiAgIEdDX0xpbmVfU3R5
bGUgICAgOiBjb25zdGFudCBHZGtfR0NfVmFsdWVzX01hc2sgOj0gMiAqKiAxNTsKICAgR0NfQ2Fw
X1N0eWxlICAgICA6IGNvbnN0YW50IEdka19HQ19WYWx1ZXNfTWFzayA6PSAyICoqIDE2OwogICBH
Q19Kb2luX1N0eWxlICAgIDogY29uc3RhbnQgR2RrX0dDX1ZhbHVlc19NYXNrIDo9IDIgKiogMTc7
CgogICBHZGtfSGludF9Qb3MgICAgICAgIDogY29uc3RhbnQgR2RrX1dpbmRvd19IaW50cyA6PSAy
ICoqIDA7CiAgIEdka19IaW50X01pbl9TaXplICAgOiBjb25zdGFudCBHZGtfV2luZG93X0hpbnRz
IDo9IDIgKiogMTsKICAgR2RrX0hpbnRfTWF4X1NpemUgICA6IGNvbnN0YW50IEdka19XaW5kb3df
SGludHMgOj0gMiAqKiAyOwogICBHZGtfSGludF9CYXNlX1NpemUgIDogY29uc3RhbnQgR2RrX1dp
bmRvd19IaW50cyA6PSAyICoqIDM7CiAgIEdka19IaW50X0FzcGVjdCAgICAgOiBjb25zdGFudCBH
ZGtfV2luZG93X0hpbnRzIDo9IDIgKiogNDsKICAgR2RrX0hpbnRfUmVzaXplX0luYyA6IGNvbnN0
YW50IEdka19XaW5kb3dfSGludHMgOj0gMiAqKiA1OwoKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCiAgIC0tICBSZXByZXNlbnRhdGlvbiBjbGF1c2VzICAtLQogICAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KCiAgIGZvciBHZGtfRXZlbnRfVHlwZSB1c2UKICAgICAoTm90
aGluZyA9PiAtMSwKICAgICAgRGVsZXRlID0+IDAsCiAgICAgIERlc3Ryb3kgPT4gMSwKICAgICAg
RXhwb3NlID0+IDIsCiAgICAgIE1vdGlvbl9Ob3RpZnkgPT4gMywKICAgICAgQnV0dG9uX1ByZXNz
ID0+IDQsCiAgICAgIEdka18yYnV0dG9uX1ByZXNzID0+IDUsCiAgICAgIEdka18zYnV0dG9uX1By
ZXNzID0+IDYsCiAgICAgIEJ1dHRvbl9SZWxlYXNlID0+IDcsCiAgICAgIEtleV9QcmVzcyA9PiA4
LAogICAgICBLZXlfUmVsZWFzZSA9PiA5LAogICAgICBFbnRlcl9Ob3RpZnkgPT4gMTAsCiAgICAg
IExlYXZlX05vdGlmeSA9PiAxMSwKICAgICAgRm9jdXNfQ2hhbmdlID0+IDEyLAogICAgICBDb25m
aWd1cmUgPT4gMTMsCiAgICAgIE1hcCA9PiAxNCwKICAgICAgVW5tYXAgPT4gMTUsCiAgICAgIFBy
b3BlcnR5X05vdGlmeSA9PiAxNiwKICAgICAgU2VsZWN0aW9uX0NsZWFyID0+IDE3LAogICAgICBT
ZWxlY3Rpb25fUmVxdWVzdCA9PiAxOCwKICAgICAgU2VsZWN0aW9uX05vdGlmeSA9PiAxOSwKICAg
ICAgUHJveGltaXR5X0luID0+IDIwLAogICAgICBQcm94aW1pdHlfT3V0ID0+IDIxLAogICAgICBE
cmFnX0VudGVyID0+IDIyLAogICAgICBEcmFnX0xlYXZlID0+IDIzLAogICAgICBEcmFnX01vdGlv
biA9PiAyNCwKICAgICAgRHJhZ19TdGF0dXMgPT4gMjUsCiAgICAgIERyb3BfU3RhcnQgPT4gMjYs
CiAgICAgIERyb3BfRmluaXNoZWQgPT4gMjcsCiAgICAgIENsaWVudF9FdmVudCA9PiAyOCwKICAg
ICAgVmlzaWJpbGl0eV9Ob3RpZnkgPT4gMjksCiAgICAgIE5vX0V4cG9zZSA9PiAzMCk7CgogICBm
b3IgR2RrX0lucHV0X0NvbmRpdGlvbiB1c2UKICAgICAoSW5wdXRfUmVhZCAgICAgID0+IDIgKiog
MCwKICAgICAgSW5wdXRfV3JpdGUgICAgID0+IDIgKiogMSwKICAgICAgSW5wdXRfRXhjZXB0aW9u
ID0+IDIgKiogMik7CgogICBmb3IgR2RrX1N1YndpbmRvd19Nb2RlIHVzZSAoQ2xpcF9CeV9DaGls
ZHJlbiAgPT4gMCwgSW5jbHVkZV9JbmZlcmlvcnMgPT4gMSk7CgogICAtLSAgV2FybmluZyA6IHRo
ZXNlIHZhbHVlcyBzaG91bGQgYmUga2VwdCBzeW5jaHJvbml6ZWQgd2l0aCBnZGsvZ2RjdXJzb3Jz
LmgKICAgLS0gID8/PyBIb3dldmVyLCBzaW5jZSB0aGVzZSB2YWx1ZXMgYXJlIGltcG9ydGVkIGZy
b20gWGxpYiwgaXQgaXMgdW5saWtlbHkKICAgLS0gIHRoYXQgdGhleSB3aWxsIGNoYW5nZSBzb29u
LgoKICAgZm9yIEdka19DdXJzb3JfVHlwZSB1c2UKICAgICAoWF9DdXJzb3IgPT4gMCwKICAgICAg
QXJyb3cgICAgPT4gMiwKICAgICAgQmFzZWRfQXJyb3dfRG93biA9PiA0LAogICAgICBCYXNlZF9B
cnJvd19VcCA9PiA2LAogICAgICBCb2F0ID0+IDgsCiAgICAgIEJvZ29zaXR5ID0+IDEwLAogICAg
ICBCb3R0b21fTGVmdF9Db3JuZXIgPT4gMTIsCiAgICAgIEJvdHRvbV9SaWdodF9Db3JuZXIgPT4g
MTQsCiAgICAgIEJvdHRvbV9TaWRlID0+IDE2LAogICAgICBCb3R0b21fVGVlID0+IDE4LAogICAg
ICBCb3hfU3BpcmFsID0+IDIwLAogICAgICBDZW50ZXJfUHRyID0+IDIyLAogICAgICBDaXJjbGUg
PT4gMjQsCiAgICAgIENsb2NrID0+IDI2LAogICAgICBDb2ZmZWVfTXVnID0+IDI4LAogICAgICBD
cm9zcyA9PiAzMCwKICAgICAgQ3Jvc3NfUmV2ZXJzZSA9PiAzMiwKICAgICAgQ3Jvc3NoYWlyID0+
IDM0LAogICAgICBEaWFtb25kX0Nyb3NzID0+IDM2LAogICAgICBEb3QgPT4gMzgsCiAgICAgIERv
dGJveCA9PiA0MCwKICAgICAgRG91YmxlX0Fycm93ID0+IDQyLAogICAgICBEcmFmdF9MYXJnZSA9
PiA0NCwKICAgICAgRHJhZnRfU21hbGwgPT4gNDYsCiAgICAgIERyYXBlZF9Cb3ggPT4gNDgsCiAg
ICAgIEV4Y2hhbmdlID0+IDUwLAogICAgICBGbGV1ciA9PiA1MiwKICAgICAgR29iYmxlciA9PiA1
NCwKICAgICAgR3VtYnkgPT4gNTYsCiAgICAgIEhhbmQxID0+IDU4LAogICAgICBIYW5kMiA9PiA2
MCwKICAgICAgSGVhcnQgPT4gNjIsCiAgICAgIEljb24gPT4gNjQsCiAgICAgIElyb25fQ3Jvc3Mg
PT4gNjYsCiAgICAgIExlZnRfUHRyID0+IDY4LAogICAgICBMZWZ0X1NpZGUgPT4gNzAsCiAgICAg
IExlZnRfVGVlID0+IDcyLAogICAgICBMZWZ0YnV0dG9uID0+IDc0LAogICAgICBMbF9BbmdsZSA9
PiA3NiwKICAgICAgTHJfQW5nbGUgPT4gNzgsCiAgICAgIE1hbiA9PiA4MCwKICAgICAgTWlkZGxl
YnV0dG9uID0+IDgyLAogICAgICBNb3VzZSA9PiA4NCwKICAgICAgUGVuY2lsID0+IDg2LAogICAg
ICBQaXJhdGUgPT4gODgsCiAgICAgIFBsdXMgPT4gOTAsCiAgICAgIFF1ZXN0aW9uX0Fycm93ID0+
IDkyLAogICAgICBSaWdodF9QdHIgPT4gOTQsCiAgICAgIFJpZ2h0X1NpZGUgPT4gOTYsCiAgICAg
IFJpZ2h0X1RlZSA9PiA5OCwKICAgICAgUmlnaHRidXR0b24gPT4gMTAwLAogICAgICBSdGxfTG9n
byA9PiAxMDIsCiAgICAgIFNhaWxib2F0ID0+IDEwNCwKICAgICAgU2JfRG93bl9BcnJvdyA9PiAx
MDYsCiAgICAgIFNiX0hfRG91YmxlX0Fycm93ID0+IDEwOCwKICAgICAgU2JfTGVmdF9BcnJvdyA9
PiAxMTAsCiAgICAgIFNiX1JpZ2h0X0Fycm93ID0+IDExMiwKICAgICAgU2JfVXBfQXJyb3cgPT4g
MTE0LAogICAgICBTYl9WX0RvdWJsZV9BcnJvdyA9PiAxMTYsCiAgICAgIFNodXR0bGUgPT4gMTE4
LAogICAgICBTaXppbmcgPT4gMTIwLAogICAgICBTcGlkZXIgPT4gMTIyLAogICAgICBTcHJheWNh
biA9PiAxMjQsCiAgICAgIFN0YXIgPT4gMTI2LAogICAgICBUYXJnZXQgPT4gMTI4LAogICAgICBU
Y3Jvc3MgPT4gMTMwLAogICAgICBUb3BfTGVmdF9BcnJvdyA9PiAxMzIsCiAgICAgIFRvcF9MZWZ0
X0Nvcm5lciA9PiAxMzQsCiAgICAgIFRvcF9SaWdodF9Db3JuZXIgPT4gMTM2LAogICAgICBUb3Bf
U2lkZSA9PiAxMzgsCiAgICAgIFRvcF9UZWUgPT4gMTQwLAogICAgICBUcmVrID0+IDE0MiwKICAg
ICAgVWxfQW5nbGUgPT4gMTQ0LAogICAgICBVbWJyZWxsYSA9PiAxNDYsCiAgICAgIFVyX0FuZ2xl
ID0+IDE0OCwKICAgICAgV2F0Y2ggPT4gMTUwLAogICAgICBYdGVybSA9PiAxNTIpOwoKICAgRGVj
b3JfQWxsICAgICAgOiBjb25zdGFudCBHZGtfV21fRGVjb3JhdGlvbiA6PSAyICoqIDA7CiAgIERl
Y29yX0JvcmRlciAgIDogY29uc3RhbnQgR2RrX1dtX0RlY29yYXRpb24gOj0gMiAqKiAxOwogICBE
ZWNvcl9SZXNpemVfSCA6IGNvbnN0YW50IEdka19XbV9EZWNvcmF0aW9uIDo9IDIgKiogMjsKICAg
RGVjb3JfVGl0bGUgICAgOiBjb25zdGFudCBHZGtfV21fRGVjb3JhdGlvbiA6PSAyICoqIDM7CiAg
IERlY29yX01lbnUgICAgIDogY29uc3RhbnQgR2RrX1dtX0RlY29yYXRpb24gOj0gMiAqKiA0Owog
ICBEZWNvcl9NaW5pbWl6ZSA6IGNvbnN0YW50IEdka19XbV9EZWNvcmF0aW9uIDo9IDIgKiogNTsK
ICAgRGVjb3JfTWF4aW1pemUgOiBjb25zdGFudCBHZGtfV21fRGVjb3JhdGlvbiA6PSAyICoqIDY7
CgogICBGdW5jX0FsbCAgICAgIDogY29uc3RhbnQgR2RrX1dtX0Z1bmN0aW9uIDo9IDIgKiogMDsK
ICAgRnVuY19SZXNpemUgICA6IGNvbnN0YW50IEdka19XbV9GdW5jdGlvbiA6PSAyICoqIDE7CiAg
IEZ1bmNfTW92ZSAgICAgOiBjb25zdGFudCBHZGtfV21fRnVuY3Rpb24gOj0gMiAqKiAyOwogICBG
dW5jX01pbmltaXplIDogY29uc3RhbnQgR2RrX1dtX0Z1bmN0aW9uIDo9IDIgKiogMzsKICAgRnVu
Y19NYXhpbWl6ZSA6IGNvbnN0YW50IEdka19XbV9GdW5jdGlvbiA6PSAyICoqIDQ7CiAgIEZ1bmNf
Q2xvc2UgICAgOiBjb25zdGFudCBHZGtfV21fRnVuY3Rpb24gOj0gMiAqKiA1OwplbmQgR2RrLlR5
cGVzOwoKLS0gIFRoZSBmb2xsb3dpbmcgdHlwZXMgd2VyZSBub3QgYm91bmQgYmVjYXVzZSBpdCBk
aWQgbm90IHNlZW0KLS0gIHRvIGJlIG5lY2Vzc2FyeSAoeWV0KS4KLS0KLS0gICsgR2RrQ29sb3JD
b250ZXh0TW9kZQotLSAgKyBHZGtDcm9zc2luZ01vZGUKLS0gICsgR2RrRmlsdGVyUmV0dXJuCi0t
ICArIEdka0ZvbnRUeXBlCi0tICArIEdka05vdGlmeVR5cGUKLS0gICsgR2RrUHJvcGVydHlTdGF0
ZQotLSAgKyBHZGtTdGF0dXMKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAZ25hdGJ1Zy9nZGstZXZlbnQuYWRzAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAADAxMDA2NDQAMDAwMTc1MQAwMDAwMDAwADAwMDAwMDUzMDI2ADA3NTUxMTA3NjMyADAxMzcy
NgAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAHNw
YXoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAd2hlZWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotLSAgICAgICAgICBHdGtBZGEgLSBBZGE5
NSBiaW5kaW5nIGZvciB0aGUgR2ltcCBUb29sa2l0ICAgICAgICAgICAgICAtLQotLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAtLQotLSAgICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAoQykgMTk5OC0xOTk5ICAgICAg
ICAgICAgICAgICAgICAgICAtLQotLSAgICAgICAgRW1tYW51ZWwgQnJpb3QsIEpvZWwgQnJvYmVj
a2VyIGFuZCBBcm5hdWQgQ2hhcmxldCAgICAgICAgICAtLQotLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
ICAgICAtLQotLSBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQ
dWJsaWMgICAgICAgICAgICAgICAtLQotLSBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgICAgICAtLQotLSB2ZXJzaW9uIDIgb2YgdGhl
IExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uICAtLQotLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAtLQotLSBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwgICAtLQotLSBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiAgICAtLQotLSBNRVJDSEFOVEFCSUxJ
VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVSAtLQot
LSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuICAgICAgICAgICAgICAg
ICAgICAgICAgICAtLQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgICAgICAgICAtLQotLSBMaWNlbnNlIGFs
b25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSAgICAgICAgICAgICAt
LQotLSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1
aXRlIDMzMCwgICAgICAtLQotLSBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSBBcyBhIHNw
ZWNpYWwgZXhjZXB0aW9uLCBpZiBvdGhlciBmaWxlcyBpbnN0YW50aWF0ZSBnZW5lcmljcyBmcm9t
ICAtLQotLSB0aGlzIHVuaXQsIG9yIHlvdSBsaW5rIHRoaXMgdW5pdCB3aXRoIG90aGVyIGZpbGVz
IHRvIHByb2R1Y2UgYW4gICAtLQotLSBleGVjdXRhYmxlLCB0aGlzICB1bml0ICBkb2VzIG5vdCAg
YnkgaXRzZWxmIGNhdXNlICB0aGUgcmVzdWx0aW5nICAtLQotLSBleGVjdXRhYmxlIHRvIGJlIGNv
dmVyZWQgYnkgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLiBUaGlzICAtLQotLSBleGNl
cHRpb24gZG9lcyBub3QgaG93ZXZlciBpbnZhbGlkYXRlIGFueSBvdGhlciByZWFzb25zIHdoeSB0
aGUgICAtLQotLSBleGVjdXRhYmxlIGZpbGUgIG1pZ2h0IGJlIGNvdmVyZWQgYnkgdGhlICBHTlUg
UHVibGljIExpY2Vuc2UuICAgICAtLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLS0gIDxkZXNjcmlwdGlvbj4K
LS0gIFRoaXMgcGFja2FnZSBwcm92aWRlcyBmdW5jdGlvbnMgZGVhbGluZyB3aXRoIGV2ZW50cyBm
cm9tIHRoZSB3aW5kb3cgc3lzdGVtLgotLSAgSW4gR3RrQWRhIGFwcGxpY2F0aW9ucywgdGhlIGV2
ZW50cyBhcmUgaGFuZGxlZCBhdXRvbWF0aWNhbGx5IGluCi0tICBHdGsuTWFpbi5Eb19FdmVudCwg
YW5kIHBhc3NlZCBvbiB0byB0aGUgYXBwcm9wcmlhdGUgd2lkZ2V0cywgc28gdGhlc2UKLS0gIGZ1
bmN0aW9ucyBhcmUgcmFyZWx5IG5lZWRlZC4KLS0KLS0gICEhIFdhcm5pbmcgISEgVGhpcyBpcyBv
bmUgb2YgdGhlIG9ubHkgcGFja2FnZSB0aGF0IHJlcXVpcmVzIG1hbnVhbAotLSAgbWVtb3J5IG1h
bmFnZW1lbnQgaW4gc29tZSBjYXNlcy4gSWYgeW91IHVzZSB0aGUgZnVuY3Rpb24gQWxsb2NhdGUs
Ci0tICB5b3UgaGF2ZSB0byB1c2UgdGhlIGZ1bmN0aW9uIEZyZWUgdG9vLi4uCi0tICA8L2Rlc2Ny
aXB0aW9uPgoKd2l0aCBTeXN0ZW07CndpdGggR2xpYjsgdXNlIEdsaWI7CndpdGggR2RrLlJlY3Rh
bmdsZTsKd2l0aCBHZGsuVHlwZXM7CndpdGggR2RrLldpbmRvdzsKCnBhY2thZ2UgR2RrLkV2ZW50
IGlzCgogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgLS0gIERlZmluaXRpb24g
b2YgdGhlIHR5cGVzIC0tCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKICAgdHlw
ZSBHZGtfRXZlbnQgaXMgbmV3IEdkay5DX1Byb3h5OwoKICAgc3VidHlwZSBHZGtfRXZlbnRfQW55
IGlzIEdka19FdmVudDsKICAgLS0gIENoYW5nZSBmcm9tIEd0a0FkYTEuMi4zOiBUaGVyZSBpcyBu
byBsb25nZXIgYSB0YWdnZWQgdHlwZQogICAtLSAgaGllcmFyY2h5LCBvbmx5IG9uZSB0eXBlLgog
ICAtLSAgSG93ZXZlciB0aGVyZSBhcmUgbm93IGEgZmV3IHJ1bnRpbWUgdGVzdHMgZm9yIGVhY2gg
b2YgdGhlCiAgIC0tICBmdW5jdGlvbiwgdG8gY2hlY2sgd2hldGhlciBhIGdpdmVuIGZpZWxkIGlz
IGF2YWlsYWJsZSBvciBub3QuCiAgIC0tCiAgIC0tICBGaWVsZHMgY29tbW9uIHRvIGFsbCBldmVu
dHM6IFdpbmRvdywgU2VuZF9FdmVudCwgRXZlbnRfVHlwZQoKICAgc3VidHlwZSBHZGtfRXZlbnRf
QnV0dG9uIGlzIEdka19FdmVudDsKICAgLS0gIEEgYnV0dG9uIHdhcyBwcmVzc2VkIG9yIHJlbGVh
c2UuIFJlbGV2YW50IGZpZWxkczoKICAgLS0gIFRpbWUsIFgsIFksIFByZXNzdXJlLCBYdGlsdCwg
WXRpbHQsIFN0YXRlLCBCdXR0b24sIFNvdXJjZSwKICAgLS0gIERldmljZV9JZCwgWF9Sb290LCBZ
X1Jvb3QsIFdpbmRvdy4KICAgLS0gIFR5cGU6IEJ1dHRvbl9QcmVzcywgR2RrXzJCdXR0b25fUHJl
c3MsIEdka18zQnV0dG9uX1ByZXNzIG9yCiAgIC0tICBCdXR0b25fUmVsZWFzZS4KCiAgIHN1YnR5
cGUgR2RrX0V2ZW50X0NvbmZpZ3VyZSBpcyBHZGtfRXZlbnQ7CiAgIC0tICBUaGUgd2luZG93IGNv
bmZpZ3VyYXRpb24gaGFzIGNoYW5nZWQ6IGVpdGhlciBpdCB3YXMgcmVtYXBwZWQsCiAgIC0tICBy
ZXNpemVkLCBtb3ZlZCwgLi4uCiAgIC0tICBOb3RlIHRoYXQgeW91IHVzdWFsbHkgZG9uJ3QgaGF2
ZSB0byByZWRyYXcgeW91ciB3aW5kb3cgd2hlbiB5b3UKICAgLS0gIHJlY2VpdmUgc3VjaCBhbiBl
dmVudCwgc2luY2UgaXQgaXMgZm9sbG93ZWQgYnkgYW4gR2RrX0V2ZW50X0V4cG9zZS4KICAgLS0g
IFJlbGV2YW50IGZpZWxkczogWCwgWSwgV2lkdGgsIEhlaWdodAogICAtLSAgVHlwZTogQ29uZmln
dXJlCgogICBzdWJ0eXBlIEdka19FdmVudF9Dcm9zc2luZyBpcyBHZGtfRXZlbnQ7CiAgIC0tICBU
aGUgbW91c2UgaGFzIGJlZW4gbW92ZWQgaW4gb3Igb3V0IG9mIHRoZSB3aW5kb3cKICAgLS0gIFJl
bGV2YW50IGZpZWxkczogVGltZSwgU3ViV2luZG93LCBYLCBZLCBYX1Jvb3QsIFlfUm9vdCwgTW9k
ZSwKICAgLS0gIERldGFpbCwgRm9jdXMsIFN0YXRlCiAgIC0tICBUeXBlOiBFbnRlcl9Ob3RpZnks
IExlYXZlX05vdGlmeQoKICAgc3VidHlwZSBHZGtfRXZlbnRfRXhwb3NlIGlzIEdka19FdmVudDsK
ICAgLS0gIFRoZSB3aW5kb3cgbmVlZHMgdG8gYmUgcmVkcmF3bi4gRm9yIGVmZmljaWVuY3ksIGd0
ayBnaXZlcyB5b3UgdGhlCiAgIC0tICBzbWFsbGVzdCBhcmVhIHRoYXQgeW91IG5lZWQgdG8gcmVk
cmF3CiAgIC0tICBSZWxldmFudCBmaWVsZHM6IEFyZWEsIENvdW50LCBHcmFwaGljc19FeHBvc2UK
ICAgLS0gIFR5cGU6IEV4cG9zZQoKICAgc3VidHlwZSBHZGtfRXZlbnRfTm9fRXhwb3NlIGlzIEdk
a19FdmVudDsKICAgLS0gIEluZGljYXRlIHRoYXQgdGhlIHNvdXJjZSByZWdpb24gd2FzIGNvbXBs
ZXRlbHkgYXZhaWxhYmxlIHdoZW4gcGFydHMgb2YKICAgLS0gIGEgZHJhd2FibGUgd2VyZSBjb3Bp
ZWQuCiAgIC0tICBUaGlzIGlzIGFsc28gZW1pdHRlZCB3aGVuIGEgZ2Mgd2hvc2UgImV4cG9zdXJl
cyIgYXR0cmlidXRlIGlzIHNldCB0bwogICAtLSAgRmFsc2UgaW4gYSBjYWxsIHRvIENvcHlfQXJl
YSBvciBEcmF3X1BpeG1hcC4gU2VlIHRoZSBkb2N1bWVudGF0aW9uIGZvcgogICAtLSAgR2RrLkdD
LlNldF9FeHBvc3VyZXMuCiAgIC0tICBObyBSZWxldmVudCBmaWVsZHMgZXhjZXB0IHRoZSBjb21t
b24gb25lcwogICAtLSAgVHlwZTogTm9fRXhwb3NlCgogICBzdWJ0eXBlIEdka19FdmVudF9Gb2N1
cyBpcyBHZGtfRXZlbnQ7CiAgIC0tICBUaGUgZm9jdXMgaGFzIGNoYW5nZWQgZm9yIGEgd2luZG93
LgogICAtLSAgUmVsZXZhbnQgZmllbGRzOiBpbgogICAtLSAgVHlwZTogRm9jdXNfQ2hhbmdlCgog
ICBzdWJ0eXBlIEdka19FdmVudF9Nb3Rpb24gaXMgR2RrX0V2ZW50OwogICAtLSAgVGhlIG1vdXNl
IGhhcyBtb3ZlZAogICAtLSAgUmVsZXZhbnQgZmllbGRzOiBUaW1lLCBYLCBZLCBQcmVzc3VyZSwg
WHRpbHQsIFl0aWx0LCBTdGF0ZSwKICAgLS0gIElzX0hpbnQsIFNvdXJjZSwgRGV2aWNlX0lkLCBY
X1Jvb3QsIFlfUm9vdAogICAtLSAgVHlwZTogTW90aW9uX05vdGlmeQoKICAgc3VidHlwZSBHZGtf
RXZlbnRfS2V5IGlzIEdka19FdmVudDsKICAgLS0gIEEga2V5Ym9hcmQga2V5IHdhcyBwcmVzc2Vk
CiAgIC0tICBSZWxldmFudCBmaWVsZHM6IFRpbWUsIFN0YXRlLCBLZXlfVmFsLCBTdHJpbmcKICAg
LS0gIFR5cGU6IEtleV9QcmVzcywgS2V5X1JlbGVhc2UKCiAgIHN1YnR5cGUgR2RrX0V2ZW50X1By
b3BlcnR5IGlzIEdka19FdmVudDsKICAgLS0gIFNvbWUgcHJvcGVydHkgb2YgdGhlIHdpbmRvdyB3
YXMgbW9kaWZpZWQuIEd0a0FkYSBwcm92aWRlcyBhIGhpZ2hlcgogICAtLSAgbGV2ZWwgaW50ZXJm
YWNlLCBhbmQgeW91IGFsbW9zdCBuZXZlciBuZWVkIHRvIHVzZSB0aGlzIGV2ZW50LgogICAtLSAg
UmVsZXZlbnQgZmllbGRzOiBBdG9tLCBUaW1lLCBQcm9wZXJ0eV9TdGF0ZQogICAtLSAgVHlwZTog
UHJvcGVydHlfTm90aWZ5CgogICBzdWJ0eXBlIEdka19FdmVudF9Qcm94aW1pdHkgaXMgR2RrX0V2
ZW50OwogICAtLSAgZnJvbSBndGsrOiAiVGhpcyBldmVudCB0eXBlIHdpbGwgYmUgdXNlZCBwcmV0
dHkgcmFyZWx5LiBJdCBvbmx5IGlzCiAgIC0tICBpbXBvcnRhbnQgZm9yIFhJbnB1dCBhd2FyZSBw
cm9ncmFtcyB0aGF0IGFyZSBkcmF3aW5nIHRoZWlyIG93bgogICAtLSAgY3Vyc29yIi4gVGhpcyBp
cyBvbmx5IHVzZWQgd2l0aCBub24gc3RhbmRhcmQgaW5wdXQgZGV2aWNlcywgbGlrZQogICAtLSAg
Z3JhcGhpYyB0YWJsZXRzLgogICAtLSAgUmVsZXZhbnQgZmllbGRzOiBUaW1lLCBTb3VyY2UsIERl
dmljZV9JZAogICAtLSAgVHlwZTogUHJveGltaXR5X0luLCBQcm94aW1pdHlfT3V0CgogICBzdWJ0
eXBlIEdka19FdmVudF9WaXNpYmlsaXR5IGlzIEdka19FdmVudDsKICAgLS0gIFRoZSB2aXNpYmls
aXR5IHN0YXRlIG9mIHRoZSB3aW5kb3cgKHBhcnRpYWxseSB2aXNpYmx5LCBmdWxseSB2aXNpYmxl
LAogICAtLSAgaGlkZGVuKS4gVGhpcyBldmVudCBhbG1vc3QgbmV2ZXIgbmVlZCB0byBiZSB1c2Vk
LCBzaW5jZSBvdGhlciBldmVudHMKICAgLS0gIGFyZSBnZW5lcmF0ZWQgYXQgdGhlIHNhbWUgdGlt
ZSwgbGlrZSBleHBvc2VfZXZlbnRzCiAgIC0tICBSZWxldmFudCBmaWVsZHM6IFZpc2liaWxpdHlf
U3RhdGUKICAgLS0gIHR5cGU6IFZpc2liaWxpdHlfTm90aWZ5CgogICBzdWJ0eXBlIEdka19FdmVu
dF9TZWxlY3Rpb24gaXMgR2RrX0V2ZW50OwogICAtLSAgVGhpcyBpcyBob3cgWDExIGltcGxlbWVu
dHMgYSBzaW1wbGUgY3V0LWFuZC1wYXN0ZSBtZWNoYW5pc20uIEhvd2V2ZXIsCiAgIC0tICBHdGtB
ZGEgcHJvdmlkZXMgYSBoaWdoZXIgbGV2ZWwgaW50ZXJmYWNlIHRvIHRoZSBzZWxlY3Rpb24gbWVj
aGFuaXNtLAogICAtLSAgc28gdGhpcyBldmVudCB3aWxsIGFsbW9zdCBuZXZlciBiZSB1c2VkLgog
ICAtLSAgUmVsZXZhbnQgZmllbGRzOiBTZWxlY3Rpb24sIFRhcmdldCwgUHJvcGVydHksIFJlcXVl
c3RvciwgVGltZQogICAtLSAgVHlwZTogU2VsZWN0aW9uX0NsZWFyLCBTZWxlY3Rpb25fUmVxdWVz
dCwgU2VsZWN0aW9uX05vdGlmeQoKICAgc3VidHlwZSBHZGtfRXZlbnRfQ2xpZW50IGlzIEdka19F
dmVudDsKICAgLS0gIFRoaXMgaXMgYW4gZXZlbnQgdXNlZCB0byBzZW5kIGFyYml0cmFyeSBkYXRh
IGZyb20gb25lIFggYXBwbGljYXRpb24KICAgLS0gIHRvIGFub3RoZXIuIFRoaXMgZXZlbnQgdG9v
IGlzIGFsbW9zdCBuZXZlciB1c2VkLCBhbmQgaXMgbm90IGRvY3VtZW50ZWQKICAgLS0gIGhlcmUu
IFBsZWFzZSBjb25zdWx0IGFuIFgxMSBkb2N1bWVudGF0aW9uIGZvciBtb3JlIGluZm9ybWF0aW9u
LgogICAtLSAgUmVsZXZhbnQgZmllbGRzOiBNZXNzYWdlX1R5cGUsIERhdGEKICAgLS0gIFR5cGU6
IENsaWVudF9FdmVudAoKICAgLS0gIFRoZSBmb2xsb3dpbmcgZXZlbnQgdHlwZXMgZG8gbm90IHNl
ZW0gdG8gaGF2ZSBhbnkgYXNzb2NpYXRlZCB0eXBlOgogICAtLSAgRGVsZXRlLCBEZXN0cm95LCBN
YXAsIFVubWFwLCBEcmFnX0VudGVyLCBEcmFnX0xlYXZlLCBEcmFnX01vdGlvbiwKICAgLS0gIERy
YWdfU3RhdHVzLCBEcmFnX1N0YXJ0LCBEcmFnX0ZpbmlzaGVkCgogICAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIC0tIFNwZWNpZmljIGRlZmluaXRpb24gZm9yIHRo
ZSBmaWVsZHMgLS0KICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoK
ICAgdHlwZSBHZGtfRXZlbnRfQ2xpZW50X0RhdGFfRm9ybWF0IGlzCiAgICAgKENoYXJfQXJyYXks
IFNob3J0X0FycmF5LCBMb25nX0FycmF5KTsKICAgZm9yIEdka19FdmVudF9DbGllbnRfRGF0YV9G
b3JtYXQgdXNlCiAgICAgKENoYXJfQXJyYXkgID0+IDgsIFNob3J0X0FycmF5ID0+IDE2LCBMb25n
X0FycmF5ICA9PiAzMik7CiAgIC0tICBWYWx1ZXMgZXh0cmFjdGVkIGZyb20gdGhlIFhDbGllbnRN
ZXNzYWdlRXZlbnQgbWFuIHBhZ2UuCgogICBOdW1iZXJfT2ZfQ2hhcmFjdGVycyA6IGNvbnN0YW50
IDo9IDIwOwogICBOdW1iZXJfT2ZfU2hvcnRzICAgICA6IGNvbnN0YW50IDo9IDEwOwogICBOdW1i
ZXJfT2ZfTG9uZ3MgICAgICA6IGNvbnN0YW50IDo9IDU7CgogICB0eXBlIEdka19FdmVudF9DbGll
bnRfRGF0YQogICAgIChGb3JtYXQgOiBHZGtfRXZlbnRfQ2xpZW50X0RhdGFfRm9ybWF0KSBpcwog
ICByZWNvcmQKICAgICAgY2FzZSBGb3JtYXQgaXMKICAgICAgICAgd2hlbiBDaGFyX0FycmF5ID0+
CiAgICAgICAgICAgIEIgOiBTdHJpbmcgKDEgLi4gTnVtYmVyX09mX0NoYXJhY3RlcnMpOwogICAg
ICAgICB3aGVuIFNob3J0X0FycmF5ID0+CiAgICAgICAgICAgIFMgOiBHc2hvcnRfQXJyYXkgKDEg
Li4gTnVtYmVyX09mX1Nob3J0cyk7CiAgICAgICAgIHdoZW4gTG9uZ19BcnJheSA9PgogICAgICAg
ICAgICBMIDogR2xvbmdfQXJyYXkgKDEgLi4gTnVtYmVyX09mX0xvbmdzKTsKICAgICAgZW5kIGNh
c2U7CiAgIGVuZCByZWNvcmQ7CgogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQogICAtLSBBY2Nlc3MgdG8gZmllbGRzIG9mIHRoZSBldmVudCAtLQogICAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKICAgSW52YWxpZF9GaWVsZCA6IGV4Y2VwdGlvbjsKICAg
LS0gIElmIGEgZmllbGQgZG9lcyBub3QgZXhpc3QgZm9yIHRoZSBldmVudCB5b3UgZ2F2ZSwgYW4g
ZXhjZXB0aW9uCiAgIC0tICBJbnZhbGlkX0ZpZWxkIGlzIHJhaXNlZAoKICAgZnVuY3Rpb24gR2V0
X0V2ZW50X1R5cGUgKEV2ZW50IDogaW4gR2RrX0V2ZW50KSByZXR1cm4gVHlwZXMuR2RrX0V2ZW50
X1R5cGU7CiAgIC0tICBUaGUgdHlwZSBvZiB0aGUgZXZlbnQuCgogICBmdW5jdGlvbiBHZXRfU2Vu
ZF9FdmVudCAoRXZlbnQgOiBpbiBHZGtfRXZlbnQpIHJldHVybiBCb29sZWFuOwogICAtLSAgU2V0
IHRvIHRydWUgaWYgdGhlIGV2ZW50IHdhcyBnZW5lcmF0ZWQgYnkgdGhlIGFwcGxpY2F0aW9uLCBG
YWxzZQogICAtLSAgaWYgZ2VuZXJhdGVkIGJ5IHRoZSBYIHNlcnZlci9XaW4zMi4KCiAgIGZ1bmN0
aW9uIEdldF9XaW5kb3cgICAgKEV2ZW50IDogaW4gR2RrX0V2ZW50KSByZXR1cm4gR2RrLldpbmRv
dy5HZGtfV2luZG93OwogICAtLSAgVGhlIHdpbmRvdyB0aGUgZXZlbnQgb2NjdXJlZCBvbi4KCiAg
IGZ1bmN0aW9uIEdldF9UaW1lICAgICAgKEV2ZW50IDogaW4gR2RrX0V2ZW50KSByZXR1cm4gR3Vp
bnQzMjsKICAgLS0gIFRpbWUgd2hlbiB0aGUgZXZlbnQgb2NjdXJlZC4KCiAgIGZ1bmN0aW9uIEdl
dF9YICAgICAgICAgKEV2ZW50IDogaW4gR2RrX0V2ZW50KSByZXR1cm4gR2RvdWJsZTsKICAgLS0g
IEhvcml6b250YWwgY29vcmRpbmF0ZSBvZiB0aGUgbW91c2Ugd2hlbiB0aGUgZXZlbnQgb2NjdXJl
ZC4KICAgLS0gIFRoZSBjb29yZGluYXRlcyBhcmUgcmVsYXRpdmUgdG8gdGhlIHBhcmVudCB3aW5k
b3cuCgogICBmdW5jdGlvbiBHZXRfWSAgICAgICAgIChFdmVudCA6IGluIEdka19FdmVudCkgcmV0
dXJuIEdkb3VibGU7CiAgIC0tICBWZXJ0aWNhbCBjb29yZGluYXRlIG9mIHRoZSBtb3VzZSB3aGVu
IHRoZSBldmVudCBvY2N1cmVkLgogICAtLSAgVGhlIGNvb3JkaW5hdGVzIGFyZSByZWxhdGl2ZSB0
byB0aGUgcGFyZW50IHdpbmRvdy4KCiAgIGZ1bmN0aW9uIEdldF9YX1Jvb3QgICAgKEV2ZW50IDog
aW4gR2RrX0V2ZW50KSByZXR1cm4gR2RvdWJsZTsKICAgLS0gIEhvcml6b250YWwgY29vcmRpbmF0
ZSBvZiB0aGUgbW91c2Ugd2hlbiB0aGUgZXZlbnQgb2NjdXJlZC4KICAgLS0gIFJlbGF0aXZlIHRv
IHRoZSByb290IHdpbmRvdy4KCiAgIGZ1bmN0aW9uIEdldF9ZX1Jvb3QgICAgKEV2ZW50IDogaW4g
R2RrX0V2ZW50KSByZXR1cm4gR2RvdWJsZTsKICAgLS0gIFZlcnRpY2FsIGNvb3JkaW5hdGUgb2Yg
dGhlIG1vdXNlIHdoZW4gdGhlIGV2ZW50IG9jY3VyZWQuCiAgIC0tICBSZWxhdGl2ZSB0byB0aGUg
cm9vdCB3aW5kb3cuCgogICBmdW5jdGlvbiBHZXRfQnV0dG9uICAgIChFdmVudCA6IGluIEdka19F
dmVudCkgcmV0dXJuIEd1aW50OwogICAtLSAgTnVtYmVyIG9mIHRoZSBidXR0b24gdGhhdCB3YXMg
cHJlc3NlZC4KCiAgIGZ1bmN0aW9uIEdldF9TdGF0ZSAgICAgKEV2ZW50IDogaW4gR2RrX0V2ZW50
KQogICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHZGsuVHlwZXMuR2RrX01vZGlmaWVy
X1R5cGU7CiAgIC0tICBTdGF0ZSBvZiB0aGUgbW91c2UgYnV0dG9ucyBhbmQga2V5Ym9hcmQga2V5
cyBqdXN0IHByaW9yIHRvIHRoZSBldmVudC4KCiAgIGZ1bmN0aW9uIEdldF9TdWJ3aW5kb3cgKEV2
ZW50IDogaW4gR2RrX0V2ZW50KSByZXR1cm4gR2RrLldpbmRvdy5HZGtfV2luZG93OwogICAtLSAg
Q2hpbGQgd2luZG93IGZvciB0aGUgZXZlbnQuCiAgIC0tICBGb3IgYW4gRW50ZXJfTm90aWZ5X0V2
ZW50LCB0aGlzIGlzIHNldCB0byB0aGUgaW5pdGlhbCB3aW5kb3cgZm9yIHRoZQogICAtLSAgcG9p
bnRlcjsgZm9yIGFuIExlYXZlX05vdGlmeV9FdmVudCB0aGlzIGlzIHNldCB0byB0aGUgd2luZG93
IG9jY3VwaWVkCiAgIC0tICBieSB0aGUgcG9pbnRlciBpbiBpdHMgbGFzdCBwb3NpdGlvbi4KCiAg
IGZ1bmN0aW9uIEdldF9Nb2RlIChFdmVudCA6IGluIEdka19FdmVudCkgcmV0dXJuIEdkay5UeXBl
cy5HZGtfQ3Jvc3NpbmdfTW9kZTsKICAgLS0gIFJldHVybiB0aGUgbW9kZSBvZiBhbiBFdmVudC4K
ICAgLS0gIFNldCB0byBpbmRpY2F0ZSB3aGV0aGVyIHRoZSBldmVudHMgYXJlIG5vcm1hbCBldmVu
dHMsIHBzZXVkby1tb3Rpb24KICAgLS0gIGV2ZW50cyB3aGVuIGEgZ3JhYiBhY3RpdmF0ZXMgb3Ig
cHNldWRvLW1vdGlvbiBldmVudHMgd2hlbiBhIGdyYWIKICAgLS0gIGRlYXRpdmF0ZXMuCgogICBm
dW5jdGlvbiBHZXRfRGV0YWlsIChFdmVudCA6IGluIEdka19FdmVudCkgcmV0dXJuIEdkay5UeXBl
cy5HZGtfTm90aWZ5X1R5cGU7CiAgIC0tICBTZXQgdG8gaW5kaWNhdGUgdGhlIG5vdGlmeSBkZXRh
aWxzLgogICAtLSAgTW9zdCBhcHBsaWNhdGlvbnMgY2FuIGlnbm9yZSBldmVudHMgd2l0aCBhIE5v
dGlmeSBWaXJ0dWFsIG9yIGEKICAgLS0gIE5vdGlmeV9Ob25fTGluZWFyX1ZpcnR1YWwgZGV0YWls
LgoKICAgZnVuY3Rpb24gR2V0X0ZvY3VzIChFdmVudCA6IGluIEdka19FdmVudCkgcmV0dXJuIEJv
b2xlYW47CiAgIC0tICBTZXQgdG8gdHJ1ZSBpZiB0aGUgd2luZG93IGZvciB0aGUgZXZlbnQgaXMg
dGhlIGZvY3VzIHdpbmRvdy4KCiAgIGZ1bmN0aW9uIEdldF9QcmVzc3VyZSAgKEV2ZW50IDogaW4g
R2RrX0V2ZW50KSByZXR1cm4gR2RvdWJsZTsKICAgLS0gIFRoaXMgaXMgc2V0IHRvIGEgY29uc3Rh
bnQgaW4gdGhlIGd0aysgY29kZSBpdHNlbGYsIHNvIGl0CiAgIC0tICBpcyBtb3N0IHByb2JhYmx5
IHVzZWxlc3MuLi4gSXRzIHZhbHVlIGlzIDAuNS4KICAgLS0gIEl0IGlzIG9ubHkgdXNlZCB3aXRo
IHNvbWUgc3BlY2lhbCBpbnB1dCBkZXZpY2VzLCBsaWtlIGRyYXdpbmcKICAgLS0gIHRhYmxldHMs
Li4uCgogICBmdW5jdGlvbiBHZXRfWHRpbHQgICAgIChFdmVudCA6IGluIEdka19FdmVudCkgcmV0
dXJuIEdkb3VibGU7CiAgIC0tICBUaGlzIGlzIHNldCB0byBhIGNvbnN0YW50IGluIHRoZSBndGsr
IGNvZGUgaXRzZWxmLCBzbyBpdAogICAtLSAgaXMgbW9zdCBwcm9iYWJseSB1c2VsZXNzLi4uIEl0
cyB2YWx1ZSBpcyAwLjAuCiAgIC0tICBJdCBpcyBvbmx5IHVzZWQgd2l0aCBzb21lIHNwZWNpYWwg
aW5wdXQgZGV2aWNlcywgbGlrZSBkcmF3aW5nCiAgIC0tICB0YWJsZXRzLC4uLgoKICAgZnVuY3Rp
b24gR2V0X1l0aWx0ICAgICAoRXZlbnQgOiBpbiBHZGtfRXZlbnQpIHJldHVybiBHZG91YmxlOwog
ICAtLSAgVGhpcyBpcyBzZXQgdG8gYSBjb25zdGFudCBpbiB0aGUgZ3RrKyBjb2RlIGl0c2VsZiwg
c28gaXQKICAgLS0gIGlzIG1vc3QgcHJvYmFibHkgdXNlbGVzcy4uLiBJdHMgdmFsdWUgaXMgMC4w
LgogICAtLSAgSXQgaXMgb25seSB1c2VkIHdpdGggc29tZSBzcGVjaWFsIGlucHV0IGRldmljZXMs
IGxpa2UgZHJhd2luZwogICAtLSAgdGFibGV0cywuLi4KCiAgIGZ1bmN0aW9uIEdldF9XaWR0aCAo
RXZlbnQgOiBpbiBHZGtfRXZlbnQpIHJldHVybiBHaW50MTY7CiAgIC0tICBHZXQgdGhlIHdpZHRo
IGluIGEgY29uZmlndXJlIGV2ZW50LgoKICAgZnVuY3Rpb24gR2V0X0hlaWdodCAoRXZlbnQgOiBp
biBHZGtfRXZlbnQpIHJldHVybiBHaW50MTY7CiAgIC0tICBHZXQgdGhlIGhlaWdodCBpbiBhIGNv
bmZpZ3VyZSBldmVudC4KCiAgIGZ1bmN0aW9uIEdldF9Tb3VyY2UKICAgICAoRXZlbnQgOiBpbiBH
ZGtfRXZlbnQpIHJldHVybiBHZGsuVHlwZXMuR2RrX0lucHV0X1NvdXJjZTsKICAgLS0gIFNldCB0
byBhIGNvbnN0YW50IGZvciBub3cgaW4gdGhlIGd0aysgc291cmNlLi4uIFByb2JhYmx5IHVzZWxl
c3MuCgogICBmdW5jdGlvbiBHZXRfRGV2aWNlX0lkCiAgICAgKEV2ZW50IDogaW4gR2RrX0V2ZW50
KSByZXR1cm4gR2RrLlR5cGVzLkdka19EZXZpY2VfSWQ7CiAgIC0tICBTZXQgdG8gYSBjb25zdGFu
dCBmb3Igbm93IGluIHRoZSBndGsrIHNvdXJjZS4uLiBQcm9iYWJseSB1c2VsZXNzLgogICAtLSAg
U2luY2UgbXVsdGlwbGUgaW5wdXQgZGV2aWNlcyBjYW4gYmUgdXNlZCBhdCB0aGUgc2FtZSB0aW1l
LCBsaWtlIGEgbW91c2UKICAgLS0gIGFuZCBhIGdyYXBoaWMgdGFibGV0LCB0aGlzIGluZGljYXRl
ZCB3aGljaCBvbmUgZ2VuZXJhdGVkIHRoZSBldmVudC4KCiAgIGZ1bmN0aW9uIEdldF9BcmVhIChF
dmVudCA6IGluIEdka19FdmVudCkgcmV0dXJuIFJlY3RhbmdsZS5HZGtfUmVjdGFuZ2xlOwogICAt
LSAgVGhlIG1pbmltYWwgYXJlYSBvbiB3aGljaCB0aGUgZXZlbnQgYXBwbGllcy4KICAgLS0gIEZv
ciBFeHBvc2VfRXZlbnRzLCB0aGlzIGlzIHRoZSBtaW5pbWFsIGFyZWEgdG8gcmVkcmF3LgoKICAg
ZnVuY3Rpb24gR2V0X0NvdW50IChFdmVudCA6IGluIEdka19FdmVudCkgcmV0dXJuIEdpbnQ7CiAg
IC0tICBOdW1iZXIgb2YgRXhwb3NlX0V2ZW50cyB0aGF0IGFyZSB0byBmb2xsb3cgdGhpcyBvbmUu
CiAgIC0tICBNb3N0IGFwcGxpY2F0aW9ucyBjYW4gaWdub3JlIHRoZSBldmVudCBpZiBDb3VudCBp
cyBub3QgMCwgd2hpY2ggYWxzbwogICAtLSAgYWxsb3dzIGZvciBvcHRpbWl6YXRpb25zLgoKICAg
ZnVuY3Rpb24gR2V0X0luIChFdmVudCA6IGluIEdka19FdmVudCkgcmV0dXJuIEJvb2xlYW47CiAg
IC0tICBUcnVlIGlmIHRoZSB3aW5kb3cgaGFzIGdhaW5lZCB0aGUgZm9jdXMsIEZhbHNlIG90aGVy
d2lzZS4KCiAgIGZ1bmN0aW9uIEdldF9Jc19IaW50IChFdmVudCA6IGluIEdka19FdmVudCkgcmV0
dXJuIEJvb2xlYW47CiAgIC0tICA/Pz8KCiAgIGZ1bmN0aW9uIEdldF9LZXlfVmFsIChFdmVudCA6
IGluIEdka19FdmVudCkgcmV0dXJuIEdkay5UeXBlcy5HZGtfS2V5X1R5cGU7CiAgIC0tICBDb2Rl
IG9mIHRoZSBrZXkgdGhhdCB3YXMgcHJlc3NlZCAoYW5kIHRoYXQgZ2VuZXJhdGVkIHRoZSBldmVu
dC4KCiAgIGZ1bmN0aW9uIEdldF9TdHJpbmcgIChFdmVudCA6IGluIEdka19FdmVudCkgcmV0dXJu
IFN0cmluZzsKICAgLS0gIFN5bWJvbCBvZiB0aGUga2V5IHRoYXQgd2FzIHByZXNzZWQsIGFzIGEg
c3RyaW5nLgoKICAgZnVuY3Rpb24gR2V0X0F0b20gKEV2ZW50IDogaW4gR2RrX0V2ZW50KSByZXR1
cm4gR2RrLlR5cGVzLkdka19BdG9tOwogICAtLSAgSW5kaWNhdGUgd2hpY2ggcHJvcGVydHkgaGFz
IGNoYW5nZWQuCiAgIC0tICA/Pz8gQXRvbSBzaG91bGQgbm90IGJlIGEgR3VpbnQKCiAgIGZ1bmN0
aW9uIEdldF9Qcm9wZXJ0eV9TdGF0ZSAoRXZlbnQgOiBpbiBHZGtfRXZlbnQpIHJldHVybiBHdWlu
dDsKICAgLS0gID8/PyBUaGUgcmV0dXJuIHR5cGUgc2hvdWxkIGJlIGNoYW5nZWQuCgogICBmdW5j
dGlvbiBHZXRfVmlzaWJpbGl0eV9TdGF0ZQogICAgIChFdmVudCA6IGluIEdka19FdmVudCkgcmV0
dXJuIEdkay5UeXBlcy5HZGtfVmlzaWJpbGl0eV9TdGF0ZTsKICAgLS0gIFJldHVybiB0aGUgbmV3
IHZpc2liaWxpdHkgc3RhdGUgZm9yIHRoZSB3aW5kb3cuCgogICBmdW5jdGlvbiBHZXRfU2VsZWN0
aW9uIChFdmVudCA6IGluIEdka19FdmVudCkgcmV0dXJuIEdkay5UeXBlcy5HZGtfQXRvbTsKICAg
LS0gIFdoYXQgd2FzIHNlbGVjdGVkIGluIHRoZSB3aW5kb3cuLi4KCiAgIGZ1bmN0aW9uIEdldF9U
YXJnZXQgKEV2ZW50IDogaW4gR2RrX0V2ZW50KSByZXR1cm4gR2RrLlR5cGVzLkdka19BdG9tOwog
ICAtLSAgPz8/CgogICBmdW5jdGlvbiBHZXRfUHJvcGVydHkgKEV2ZW50IDogaW4gR2RrX0V2ZW50
KSByZXR1cm4gR2RrLlR5cGVzLkdka19BdG9tOwogICAtLSAgPz8/CgogICBmdW5jdGlvbiBHZXRf
UmVxdWVzdG9yIChFdmVudCA6IGluIEdka19FdmVudCkgcmV0dXJuIEd1aW50MzI7CiAgIC0tICA/
Pz8KCiAgIGZ1bmN0aW9uIEdldF9NZXNzYWdlX1R5cGUgKEV2ZW50IDogaW4gR2RrX0V2ZW50KSBy
ZXR1cm4gR2RrLlR5cGVzLkdka19BdG9tOwogICAtLSAgPz8/CgogICBmdW5jdGlvbiBHZXRfRGF0
YSAoRXZlbnQgOiBpbiBHZGtfRXZlbnQpIHJldHVybiBHZGtfRXZlbnRfQ2xpZW50X0RhdGE7CiAg
IC0tICA/Pz8KCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIC0t
IE1vZGlmeWluZyB0aGUgZmllbGRzIG9mIGFuIGV2ZW50IC0tCiAgIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCgogICBwcm9jZWR1cmUgU2V0X1dpbmRvdyAoRXZlbnQgOiBp
biBHZGtfRXZlbnQ7IFdpbiA6IEdkay5XaW5kb3cuR2RrX1dpbmRvdyk7CiAgIC0tICBTZXQgdGhl
IFdpbmRvdyBmaWVsZCBvZiBhbiBldmVudC4KCiAgIHByb2NlZHVyZSBTZXRfWCAgICAgIChFdmVu
dCA6IGluIEdka19FdmVudDsgWCA6IEdkb3VibGUpOwogICAtLSAgU2V0IHRoZSBYIGZpZWxkIG9m
IGFuIGV2ZW50LgoKICAgcHJvY2VkdXJlIFNldF9ZICAgICAgKEV2ZW50IDogaW4gR2RrX0V2ZW50
OyBZIDogR2RvdWJsZSk7CiAgIC0tICBTZXQgdGhlIFkgZmllbGQgb2YgYW4gZXZlbnQuCgogICBw
cm9jZWR1cmUgU2V0X1hyb290ICAoRXZlbnQgOiBpbiBHZGtfRXZlbnQ7IFhyb290IDogR2RvdWJs
ZSk7CiAgIC0tICBTZXQgdGhlIFhyb290IGZpZWxkIG9mIGFuIGV2ZW50LgoKICAgcHJvY2VkdXJl
IFNldF9Zcm9vdCAgKEV2ZW50IDogaW4gR2RrX0V2ZW50OyBZcm9vdCA6IEdkb3VibGUpOwogICAt
LSAgU2V0IHRoZSBZcm9vdCBmaWVsZCBvZiBhbiBldmVudC4KCiAgIHByb2NlZHVyZSBTZXRfV2lk
dGggIChFdmVudCA6IGluIEdka19FdmVudDsgV2lkdGggOiBHaW50MTYpOwogICAtLSAgU2V0IHRo
ZSBXaWR0aCBmaWVsZCBvZiBhbiBldmVudC4KCiAgIHByb2NlZHVyZSBTZXRfSGVpZ2h0IChFdmVu
dCA6IGluIEdka19FdmVudDsgSGVpZ2h0IDogR2ludDE2KTsKICAgLS0gIFNldCB0aGUgSGVpZ2h0
IGZpZWxkIG9mIGFuIGV2ZW50LgoKICAgcHJvY2VkdXJlIFNldF9CdXR0b24gKEV2ZW50IDogaW4g
R2RrX0V2ZW50OyBCdXR0b24gOiBHdWludCk7CiAgIC0tICBTZXQgdGhlIEJ1dHRvbiBmaWVsZCBv
ZiBhbiBldmVudC4KCiAgIHByb2NlZHVyZSBTZXRfVGltZSAoRXZlbnQgOiBpbiBHZGtfRXZlbnQ7
IFRpbWUgOiBHdWludDMyKTsKICAgLS0gIFNldCB0aGUgdGltZSBmb3IgdGhlIGV2ZW50LgogICAt
LSAgSWYgVGltZSBpcyAwLCB0aGVuIGl0IGlzIHNldCB0byB0aGUgY3VycmVudCB0aW1lLgoKICAg
cHJvY2VkdXJlIFNldF9TdGF0ZSAgKEV2ZW50IDogaW4gR2RrX0V2ZW50OwogICAgICAgICAgICAg
ICAgICAgICAgICAgU3RhdGUgOiBpbiBHZGsuVHlwZXMuR2RrX01vZGlmaWVyX1R5cGUpOwogICAt
LSAgU2V0IHRoZSBTdGF0ZSBmaWVsZCBvZiBhbiBldmVudC4KCiAgIHByb2NlZHVyZSBTZXRfU3Vi
d2luZG93IChFdmVudCAgOiBpbiBHZGtfRXZlbnQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBXaW5kb3cgOiBpbiBHZGsuV2luZG93Lkdka19XaW5kb3cpOwogICAtLSAgU2V0IHRoZSBTdWJ3
aW5kb3cgZmllbGQgb2YgYW4gZXZlbnQuCgogICBwcm9jZWR1cmUgU2V0X01vZGUgICAoRXZlbnQg
OiBpbiBHZGtfRXZlbnQ7CiAgICAgICAgICAgICAgICAgICAgICAgICBNb2RlICA6IGluIEdkay5U
eXBlcy5HZGtfQ3Jvc3NpbmdfTW9kZSk7CiAgIC0tICBTZXQgdGhlIE1vZGUgZmllbGQgb2YgYW4g
ZXZlbnQuCgogICBwcm9jZWR1cmUgU2V0X0RldGFpbCAoRXZlbnQgIDogaW4gR2RrX0V2ZW50Owog
ICAgICAgICAgICAgICAgICAgICAgICAgRGV0YWlsIDogaW4gR2RrLlR5cGVzLkdka19Ob3RpZnlf
VHlwZSk7CiAgIC0tICBTZXQgdGhlIERldGFpbCBmaWVsZCBvZiBhbiBldmVudC4KCiAgIHByb2Nl
ZHVyZSBTZXRfRm9jdXMgKEV2ZW50IDogaW4gR2RrX0V2ZW50OyBIYXNfRm9jdXMgOiBCb29sZWFu
KTsKICAgLS0gIFNldCB0aGUgRm9jdXMgZmllbGQgb2YgYW4gZXZlbnQuCgogICBwcm9jZWR1cmUg
U2V0X0FyZWEgIChFdmVudCA6IGluIEdka19FdmVudDsgQXJlYSA6IFJlY3RhbmdsZS5HZGtfUmVj
dGFuZ2xlKTsKICAgLS0gIFNldCB0aGUgQXJlYSBmaWVsZCBvZiBhbiBldmVudC4KCiAgIHByb2Nl
ZHVyZSBTZXRfSW4gICAgKEV2ZW50IDogaW4gR2RrX0V2ZW50OyBGb2N1c19JbiA6IEJvb2xlYW4p
OwogICAtLSAgU2V0IHRoZSBJbiBmaWVsZCBvZiBhbiBldmVudC4KCiAgIHByb2NlZHVyZSBTZXRf
SXNfSGludCAoRXZlbnQgOiBpbiBHZGtfRXZlbnQ7IElzX0hpbnQgOiBCb29sZWFuKTsKICAgLS0g
IFNldCB0aGUgSXNfSGludCBmaWVsZCBvZiBhbiBldmVudC4KCiAgIHByb2NlZHVyZSBTZXRfS2V5
X1ZhbCAoRXZlbnQgOiBpbiBHZGtfRXZlbnQ7IEtleSA6IEdkay5UeXBlcy5HZGtfS2V5X1R5cGUp
OwogICAtLSAgU2V0IHRoZSBLZXlfVmFsIGZpZWxkIG9mIGFuIGV2ZW50LgoKICAgcHJvY2VkdXJl
IFNldF9BdG9tIChFdmVudCA6IGluIEdka19FdmVudDsgQXRvbSA6IEdkay5UeXBlcy5HZGtfQXRv
bSk7CiAgIC0tICBTZXQgdGhlIEF0b20gZmllbGQgb2YgYW4gZXZlbnQuCgogICBwcm9jZWR1cmUg
U2V0X1Byb3BlcnR5X1N0YXRlIChFdmVudCA6IGluIEdka19FdmVudDsgU3RhdGUgOiBHdWludCk7
CiAgIC0tICBTZXQgdGhlIFByb3BlcnR5X1N0YXRlIGZpZWxkIG9mIGFuIGV2ZW50LgoKICAgcHJv
Y2VkdXJlIFNldF9WaXNpYmlsaXR5X1N0YXRlIChFdmVudCA6IGluIEdka19FdmVudDsKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdGF0ZSA6IEdkay5UeXBlcy5HZGtfVmlzaWJp
bGl0eV9TdGF0ZSk7CiAgIC0tICBTZXQgdGhlIFZpc2liaWxpdHlfU3RhdGUgZmllbGQgb2YgYW4g
ZXZlbnQuCgogICBwcm9jZWR1cmUgU2V0X1NlbGVjdGlvbiAoRXZlbnQgOiBpbiBHZGtfRXZlbnQ7
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWxlY3Rpb24gOiBHZGsuVHlwZXMuR2RrX0F0
b20pOwogICAtLSAgU2V0IHRoZSBTZWxlY3Rpb24gZmllbGQgb2YgYW4gZXZlbnQuCgogICBwcm9j
ZWR1cmUgU2V0X1RhcmdldCAoRXZlbnQgOiBpbiBHZGtfRXZlbnQ7IFRhcmdldCA6IEdkay5UeXBl
cy5HZGtfQXRvbSk7CiAgIC0tICBTZXQgdGhlIFRhcmdldCBmaWVsZCBvZiBhbiBldmVudC4KCiAg
IHByb2NlZHVyZSBTZXRfUHJvcGVydHkgKEV2ZW50IDogaW4gR2RrX0V2ZW50OwogICAgICAgICAg
ICAgICAgICAgICAgICAgICBQcm9wZXJ0eSA6IEdkay5UeXBlcy5HZGtfQXRvbSk7CiAgIC0tICBT
ZXQgdGhlIFByb3BlcnR5IGZpZWxkIG9mIGFuIGV2ZW50LgoKICAgcHJvY2VkdXJlIFNldF9SZXF1
ZXN0b3IgKEV2ZW50IDogaW4gR2RrX0V2ZW50OyBSZXF1ZXN0b3IgOiBHdWludDMyKTsKICAgLS0g
IFNldCB0aGUgUmVxdWVzdG9yIGZpZWxkIG9mIGFuIGV2ZW50LgoKICAgcHJvY2VkdXJlIFNldF9N
ZXNzYWdlX1R5cGUgKEV2ZW50IDogaW4gR2RrX0V2ZW50OyBUeXAgOiBHZGsuVHlwZXMuR2RrX0F0
b20pOwogICAtLSAgU2V0IHRoZSBNZXNzYWdlX1R5cGUgZmllbGQgb2YgYW4gZXZlbnQuCgogICBw
cm9jZWR1cmUgU2V0X1N0cmluZyAoRXZlbnQgOiBpbiBHZGtfRXZlbnQ7IFN0ciA6IFN0cmluZyk7
CiAgIC0tICBTZXQgdGhlIHN0cmluZyBhc3NvY2lhdGVkIHdpdGggYW4gZXZlbnQuCgogICAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQogICAtLSBHZW5lcmFsIGZ1bmN0aW9ucyAtLQogICAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQoKICAgcHJvY2VkdXJlIERlZXBfQ29weSAoRnJvbSA6IEdka19FdmVu
dDsgVG8gOiBvdXQgR2RrX0V2ZW50KTsKICAgLS0gIERlZXAgY29weSBmb3IgYW4gZXZlbnQuIFRo
ZSBDIHN0cnVjdHVyZSBpcyBpdHNlbGYgZHVwbGljYXRlZC4KICAgLS0gIFlvdSBuZWVkIHRvIGRl
YWxsb2NhdGVkIGl0IHlvdXJzZWxmIHdpdGggYSBjYWxsIHRvIEZyZWUgYmVsb3cuCgogICBwcm9j
ZWR1cmUgR2V0X0dyYXBoaWNzX0V4cG9zZQogICAgIChFdmVudCAgOiBvdXQgR2RrX0V2ZW50X0V4
cG9zZTsKICAgICAgV2luZG93IDogaW4gR2RrLldpbmRvdy5HZGtfV2luZG93KTsKICAgLS0gIFdh
aXRzIGZvciBhIEdyYXBoaWNzRXhwb3NlIG9yIE5vRXhwb3NlIGV2ZW50CiAgIC0tICBJZiBpdCBn
ZXRzIGEgR3JhcGhpY3NFeHBvc2UgZXZlbnQsIGl0IHJldHVybnMgYSBwb2ludGVyIHRvIGl0LAog
ICAtLSAgb3RoZXJ3aXNlIGl0IHJldHVybnMgYW4gZXZlbnQgZm9yIHdoaWNoIElzX0NyZWF0ZWQg
aXMgRmFsc2UuCiAgIC0tCiAgIC0tICBUaGlzIGZ1bmN0aW9uIGNhbiBiZSB1c2VkIHRvIGltcGxl
bWVudCBzY3JvbGxpbmc6IHlvdSBtdXN0IGNhbGwKICAgLS0gIEdkay5HQy5TZXRfRXhwb3N1cmVz
IHdpdGggVHJ1ZSBvbiB0aGUgR0MgeW91IGFyZSB1c2luZyBmb3IgdGhlCiAgIC0tICBkcmF3aW5n
LCBzbyB0aGF0IGEgZXZlbnRzIGFyZSBnZW5lcmF0ZWQgZm9yIG9ic2N1cmVkIGFyZWFzIGFuZCBl
dmVyeQogICAtLSAgdGltZSBhIG5ldyBwYXJ0IG9mIHRoZSB3aWRnZXQgaXMgZHJhd24uIEhvd2V2
ZXIsIHRoZXJlIGlzIGEgcmFjZQogICAtLSAgY29uZGl0aW9uIGlmIG11bHRpcGxlIHNjcm9sbHMg
aGFwcGVuIGJlZm9yZSB5b3UgaGF2ZSBmaW5pc2hlZAogICAtLSAgcHJvY2Vzc2luZyB0aGUgZmly
c3Qgb25lLiBBIHdvcmthcm91bmQgaXMgdG8gY2FsbCBHZXRfR3JhcGhpY3NfRXhwb3NlCiAgIC0t
ICBhZnRlciBldmVyeSBzY3JvbGwgdW50aWwgaXQgcmV0dXJucyBhIG51bGwgZXZlbnQuCgogICBm
dW5jdGlvbiBFdmVudHNfUGVuZGluZyByZXR1cm4gQm9vbGVhbjsKICAgLS0gIElzIHRoZXJlIGFu
eSBldmVudCBwZW5kaW5nIG9uIHRoZSBxdWV1ZSA/CgogICBwcm9jZWR1cmUgR2V0IChFdmVudCA6
IG91dCBHZGtfRXZlbnQpOwogICAtLSAgR2V0IHRoZSBuZXh0IGV2ZW50IG9uIHRoZSBxdWV1ZS4K
CiAgIHByb2NlZHVyZSBQZWVrIChFdmVudCA6IG91dCBHZGtfRXZlbnQpOwogICAtLSAgTG9vayBh
dCB0aGUgbmV4dCBldmVudCBvbiB0aGUgcXVldWUsIGJ1dCBsZWF2ZSBpZiB0aGVyZS4KCiAgIHBy
b2NlZHVyZSBQdXQgKEV2ZW50IDogaW4gR2RrX0V2ZW50KTsKICAgLS0gIEFkZCBhbiBldmVudCBv
biB0aGUgcXVldWUgLSBCZXR0ZXIgdG8gdXNlIEd0ay5TaWduYWwuRW1pdF9CeV9OYW1lCgogICBw
cm9jZWR1cmUgU2V0X1Nob3dfRXZlbnRzIChTaG93X0V2ZW50cyA6IGluIEJvb2xlYW4gOj0gVHJ1
ZSk7CiAgIC0tICBGb3IgZGVidWcgcHVycG9zZXMsIHlvdSBjYW4gY2hvb3NlIHdoZXRoZXIgeW91
IHdhbnQgdG8gc2VlIHRoZSBldmVudHMKICAgLS0gIEd0a0FkYSByZWNlaXZlcy4KCiAgIGZ1bmN0
aW9uIEdldF9TaG93X0V2ZW50cyByZXR1cm4gQm9vbGVhbjsKICAgLS0gIFJldHVybiB0aGUgY3Vy
cmVudCBzdGF0ZSBvZiBTaG93X0V2ZW50cy4KCiAgIHByb2NlZHVyZSBTZW5kX0NsaWVudF9NZXNz
YWdlX1RvX0FsbCAoRXZlbnQgOiBpbiBHZGtfRXZlbnQpOwogICAtLSAgTG93IGxldmVsIHJvdXRp
bmUgdG8gc2VuZCBhbiBFdmVudCB0byBldmVyeSB3aW5kb3cuCgogICBmdW5jdGlvbiBTZW5kX0Ns
aWVudF9NZXNzYWdlCiAgICAgKEV2ZW50IDogaW4gR2RrX0V2ZW50OwogICAgICBYaWQgICA6IGlu
IEd1aW50MzIpIHJldHVybiBCb29sZWFuOwogICAtLSAgTG93IGxldmVsIHJvdXRpbmUgdG8gc2Vu
ZCBhbiBFdmVudCB0byBhIHNwZWNpZmllZCBYIHdpbmRvdy4KCiAgIHByb2NlZHVyZSBBbGxvY2F0
ZQogICAgIChFdmVudCAgICAgIDogb3V0IEdka19FdmVudDsKICAgICAgRXZlbnRfVHlwZSA6IGlu
IFR5cGVzLkdka19FdmVudF9UeXBlOwogICAgICBXaW5kb3cgICAgIDogaW4gR2RrLldpbmRvdy5H
ZGtfV2luZG93KTsKICAgLS0gIENyZWF0ZSBhbiBldmVudCwgd2hvc2UgZmllbGRzIGFyZSB1bmlu
aXRpYWxpemVkLgogICAtLSAgWW91IG5lZWQgdG8gdXNlIHRoZSBmdW5jdGlvbiBTZXRfKiBhYm92
ZSB0byBtb2RpZnkgdGhlbSwgYmVmb3JlIHlvdSBjYW4KICAgLS0gIHNlbmQgdGhlIGV2ZW50IHdp
dGggRW1pdF9CeV9OYW1lLgogICAtLSAgISFOb3RlISE6IFRoZSBldmVudCBoYXMgdG8gYmUgZnJl
ZWQgaWYgeW91IGhhdmUgY2FsbGVkIHRoaXMgZnVuY3Rpb24uCiAgIC0tICBVc2UgdGhlIGZ1bmN0
aW9uIEZyZWUuCgogICBwcm9jZWR1cmUgRnJlZSAoRXZlbnQgOiBpbiBvdXQgR2RrX0V2ZW50KTsK
ICAgLS0gIEZyZWUgdGhlIG1lbW9yeSAoYW5kIEMgc3RydWN0dXJlKSBhc3NvY2lhdGVkIHdpdGgg
YW4gZXZlbnQuCiAgIC0tICBZb3UgbmVlZCB0byBjYWxsIHRoaXMgZnVuY3Rpb24gb25seSBpZiB0
aGUgZXZlbnQgd2FzIGNyZWF0ZWQgdGhyb3VnaAogICAtLSAgQWxsb2NhdGUsIG5vdCBpZiBpdCB3
YXMgY3JlYXRlZCBieSBHdGtBZGEgaXRzZWxmIChvciB5b3Ugd291bGQgZ2V0CiAgIC0tICBhIHNl
Z21lbnRhdGlvbiBmYXVsdCkuCgogICB0eXBlIEV2ZW50X0hhbmRsZXJfRnVuYyBpcyBhY2Nlc3Mg
cHJvY2VkdXJlCiAgICAgKEV2ZW50IDogU3lzdGVtLkFkZHJlc3M7IERhdGEgOiBTeXN0ZW0uQWRk
cmVzcyk7CiAgIC0tICBGdW5jdGlvbiB0aGF0IGNhbiBiZSB1c2VkIGFzIGEgbmV3IGV2ZW50IGhh
bmRsZXIuCiAgIC0tICBVc2UgRnJvbV9BZGRyZXNzIGJlbG93IHRvIGNvbnZlcnQgdG8gYSByZWFs
IGV2ZW50IHR5cGUuCiAgIC0tICBUaGlzIGZ1bmN0aW9uIHNob3VsZCBkaXNwYXRjaCBhbGwgdGhl
IGV2ZW50cyBwcm9wZXJseSwgc2luY2UgaXQgcmVwbGFjZXMKICAgLS0gIGNvbXBsZXRseSB0aGUg
ZGVmYXVsdCBldmVudCBoYW5kbGVyLiBIb3dldmVyLCBpdCBjYW4gY2FsbAogICAtLSAgR3RrLk1h
aW4uRG9fRXZlbnQgdG8gdGFrZSBjYXJlIG9mIHRoZSBldmVudHMgaXQgZG9lcyBub3Qga25vdyBo
b3cgdG8KICAgLS0gIGhhbmRsZS4KCiAgIHByb2NlZHVyZSBFdmVudF9IYW5kbGVyX1NldAogICAg
IChGdW5jIDogRXZlbnRfSGFuZGxlcl9GdW5jOyBEYXRhIDogU3lzdGVtLkFkZHJlc3MpOwogICAt
LSAgU2V0IHVwIGEgbmV3IGV2ZW50IGhhbmRsZXIuCiAgIC0tICBUaGlzIGhhbmRsZXIgcmVwbGFj
ZXMgdGhlIGRlZmF1bHQgR3RrQWRhIGV2ZW50IGhhbmRsZXIsIGFuZCB0aHVzIHNob3VsZAogICAt
LSAgbWFrZSBzdXJlIHRoYXQgYWxsIGV2ZW50cyBhcmUgY29ycmVjdGx5IGhhbmRsZWQuCiAgIC0t
CiAgIC0tICBOb3RlIHRoYXQgbWFuYWdpbmcgdGhlIG1lbW9yeSBmb3IgRGF0YSBpcyB5b3VyIHJl
c3BvbnNhYmlsaXR5LCBhbmQKICAgLS0gIERhdGEgaXMgcGFzc2VkIGFzIGlzIHRvIEZ1bmMuCgog
ICBmdW5jdGlvbiBGcm9tX0FkZHJlc3MgKEMgOiBTeXN0ZW0uQWRkcmVzcykgcmV0dXJuIEdka19F
dmVudDsKICAgLS0gIENvbnZlcnQgYSBDIGhhbmRsZXIgdG8gdGhlIG1hdGNoaW5nIEV2ZW50IHN0
cnVjdHVyZS4KCiAgIGZ1bmN0aW9uIFRvX0FkZHJlc3MgKEMgOiBHZGtfRXZlbnQpIHJldHVybiBT
eXN0ZW0uQWRkcmVzczsKICAgLS0gIENvbnZlcnQgYW4gZXZlbnQgdG8gdGhlIHVuZGVybHlpbmcg
QyBoYW5kbGVyLgoKICAgZnVuY3Rpb24gSXNfQ3JlYXRlZCAoRSA6IEdka19FdmVudCkgcmV0dXJu
IEJvb2xlYW47CiAgIC0tICBSZXR1cm4gVHJ1ZSBpZiB0aGUgdW5kZXJseWluZyBDIGV2ZW50IGhh
cyBiZWVuIGNyZWF0ZWQuCgogICAtLS0tLS0tLS0tLS0tLS0tLS0tCiAgIC0tIERlc2lnbiBpc3N1
ZXMgLS0KICAgLS0tLS0tLS0tLS0tLS0tLS0tLQogICAtLSAgU2VlIGdkay1ldmVudC5hZGIgZm9y
IHNvbWUgb2YgdGhlIGRlc2lnbiBpc3N1ZXMgYmVoaW5nIHRoYXQgcGFja2FnZS4KCnByaXZhdGUK
ICAgcHJhZ21hIEltcG9ydCAoQywgR2V0X0V2ZW50X1R5cGUsICJhZGFfZ2RrX2V2ZW50X2dldF90
eXBlIik7CiAgIHByYWdtYSBJbXBvcnQgKEMsIEdldF9XaW5kb3csICJhZGFfZ2RrX2V2ZW50X2dl
dF93aW5kb3ciKTsKICAgcHJhZ21hIEltcG9ydCAoQywgR2V0X1RpbWUsICJnZGtfZXZlbnRfZ2V0
X3RpbWUiKTsKICAgcHJhZ21hIEltcG9ydCAoQywgUHV0LCAiZ2RrX2V2ZW50X3B1dCIpOwogICBw
cmFnbWEgSW1wb3J0CiAgICAgKEMsIFNlbmRfQ2xpZW50X01lc3NhZ2VfVG9fQWxsLCAiZ2RrX2V2
ZW50X3NlbmRfY2xpZW50bWVzc2FnZV90b2FsbCIpOwogICBwcmFnbWEgSW1wb3J0IChDLCBTZXRf
V2luZG93LCAiYWRhX2dka19ldmVudF9zZXRfd2luZG93Iik7CgplbmQgR2RrLkV2ZW50OwoAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZ25hdGJ1Zy9nZGstcmVjdGFuZ2xlLmFkcwAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAADAxMDA2NDQAMDAwMTc1MQAwMDAwMDAwADAwMDAwMDA1NDA2ADA3NTUx
MTA3NjMyADAxNDU1MAAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAB1c3RhciAgAHNwYXoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAd2hlZWwAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotLSAgICAgICAgICBH
dGtBZGEgLSBBZGE5NSBiaW5kaW5nIGZvciB0aGUgR2ltcCBUb29sa2l0ICAgICAgICAgICAgICAt
LQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAtLQotLSAgICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAoQykgMTk5
OC0xOTk5ICAgICAgICAgICAgICAgICAgICAgICAtLQotLSAgICAgICAgRW1tYW51ZWwgQnJpb3Qs
IEpvZWwgQnJvYmVja2VyIGFuZCBBcm5hdWQgQ2hhcmxldCAgICAgICAgICAtLQotLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAtLQotLSBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yICAgICAtLQotLSBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgR2VuZXJhbCBQdWJsaWMgICAgICAgICAgICAgICAtLQotLSBMaWNlbnNlIGFzIHB1Ymxpc2hl
ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgICAgICAtLQotLSB2ZXJz
aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uICAtLQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAtLQotLSBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgICAtLQotLSBidXQgV0lUSE9VVCBBTlkg
V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiAgICAtLQotLSBN
RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg
dGhlIEdOVSAtLQotLSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuICAg
ICAgICAgICAgICAgICAgICAgICAgICAtLQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSBZb3Ugc2hvdWxkIGhh
dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgICAgICAgICAtLQot
LSBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSAg
ICAgICAgICAgICAtLQotLSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBs
ZSBQbGFjZSAtIFN1aXRlIDMzMCwgICAgICAtLQotLSBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVT
QS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAt
LQotLSBBcyBhIHNwZWNpYWwgZXhjZXB0aW9uLCBpZiBvdGhlciBmaWxlcyBpbnN0YW50aWF0ZSBn
ZW5lcmljcyBmcm9tICAtLQotLSB0aGlzIHVuaXQsIG9yIHlvdSBsaW5rIHRoaXMgdW5pdCB3aXRo
IG90aGVyIGZpbGVzIHRvIHByb2R1Y2UgYW4gICAtLQotLSBleGVjdXRhYmxlLCB0aGlzICB1bml0
ICBkb2VzIG5vdCAgYnkgaXRzZWxmIGNhdXNlICB0aGUgcmVzdWx0aW5nICAtLQotLSBleGVjdXRh
YmxlIHRvIGJlIGNvdmVyZWQgYnkgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLiBUaGlz
ICAtLQotLSBleGNlcHRpb24gZG9lcyBub3QgaG93ZXZlciBpbnZhbGlkYXRlIGFueSBvdGhlciBy
ZWFzb25zIHdoeSB0aGUgICAtLQotLSBleGVjdXRhYmxlIGZpbGUgIG1pZ2h0IGJlIGNvdmVyZWQg
YnkgdGhlICBHTlUgUHVibGljIExpY2Vuc2UuICAgICAtLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKd2l0aCBH
bGliOyB1c2UgR2xpYjsKCnBhY2thZ2UgR2RrLlJlY3RhbmdsZSBpcwoKICAgdHlwZSBHZGtfUmVj
dGFuZ2xlIGlzIHJlY29yZAogICAgICBYICAgICAgOiBHaW50MTY7CiAgICAgIFkgICAgICA6IEdp
bnQxNjsKICAgICAgV2lkdGggIDogR3VpbnQxNjsKICAgICAgSGVpZ2h0IDogR3VpbnQxNjsKICAg
ZW5kIHJlY29yZDsKICAgcHJhZ21hIFBhY2sgKEdka19SZWN0YW5nbGUpOwoKICAgRnVsbF9BcmVh
IDogY29uc3RhbnQgR2RrX1JlY3RhbmdsZTsKICAgLS0gIFRoZSBjb25zdGFudCBhYm92ZSBjYW4g
YmUgdXNlZCBpbiBHdGsuV2lkZ2V0LkRyYXcgd2hlbiB5b3Ugd2FudCB0bwogICAtLSAgcmVkcmF3
IHRoZSB3aG9sZSB3aWRnZXQKCiAgIHByb2NlZHVyZSBJbnRlcnNlY3QKICAgICAoU3JjMSAgICAg
IDogaW4gICAgIEdka19SZWN0YW5nbGU7CiAgICAgIFNyYzIgICAgICA6IGluICAgICBHZGtfUmVj
dGFuZ2xlOwogICAgICBEZXN0ICAgICAgOiAgICBvdXQgR2RrX1JlY3RhbmdsZTsKICAgICAgSW50
ZXJzZWN0IDogICAgb3V0IEJvb2xlYW4pOwoKICAgcHJvY2VkdXJlIFVuaW9uCiAgICAgKFNyYzEg
OiBpbiAgICAgR2RrX1JlY3RhbmdsZTsKICAgICAgU3JjMiA6IGluICAgICBHZGtfUmVjdGFuZ2xl
OwogICAgICBEZXN0IDogICAgb3V0IEdka19SZWN0YW5nbGUpOwoKcHJpdmF0ZQoKICAgRnVsbF9B
cmVhIDogY29uc3RhbnQgR2RrX1JlY3RhbmdsZSA6PQogICAgIChHaW50MTYnRmlyc3QsIEdpbnQx
NidGaXJzdCwgR3VpbnQxNidMYXN0LCBHdWludDE2J0xhc3QpOwoKZW5kIEdkay5SZWN0YW5nbGU7
CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABnbmF0YnVnL2dkay13aW5kb3cuYWRzAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAMDEwMDY0NAAwMDAxNzUxADAwMDAwMDAAMDAwMDAwMjcxMzcAMDc1NTExMDc2MzIA
MDE0MTIwACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFy
ICAAc3BhegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3aGVlbAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0tICAgICAgICAgIEd0a0FkYSAt
IEFkYTk1IGJpbmRpbmcgZm9yIHRoZSBHaW1wIFRvb2xraXQgICAgICAgICAgICAgIC0tCi0tICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC0tCi0tICAgICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0IChDKSAxOTk4LTIwMDAg
ICAgICAgICAgICAgICAgICAgICAgIC0tCi0tICAgICAgICBFbW1hbnVlbCBCcmlvdCwgSm9lbCBC
cm9iZWNrZXIgYW5kIEFybmF1ZCBDaGFybGV0ICAgICAgICAgIC0tCi0tICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0t
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IgICAgIC0tCi0tIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l
cmFsIFB1YmxpYyAgICAgICAgICAgICAgIC0tCi0tIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciAgICAgIC0tCi0tIHZlcnNpb24gMiBv
ZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4gIC0t
Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC0tCi0tIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCAgIC0tCi0tIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U
WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mICAgIC0tCi0tIE1FUkNIQU5U
QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05V
IC0tCi0tIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4gICAgICAgICAg
ICAgICAgICAgICAgICAgIC0tCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tIFlvdSBzaG91bGQgaGF2ZSByZWNl
aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyAgICAgICAgIC0tCi0tIExpY2Vu
c2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlICAgICAgICAg
ICAgIC0tCi0tIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNl
IC0gU3VpdGUgMzMwLCAgICAgIC0tCi0tIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tIEFz
IGEgc3BlY2lhbCBleGNlcHRpb24sIGlmIG90aGVyIGZpbGVzIGluc3RhbnRpYXRlIGdlbmVyaWNz
IGZyb20gIC0tCi0tIHRoaXMgdW5pdCwgb3IgeW91IGxpbmsgdGhpcyB1bml0IHdpdGggb3RoZXIg
ZmlsZXMgdG8gcHJvZHVjZSBhbiAgIC0tCi0tIGV4ZWN1dGFibGUsIHRoaXMgIHVuaXQgIGRvZXMg
bm90ICBieSBpdHNlbGYgY2F1c2UgIHRoZSByZXN1bHRpbmcgIC0tCi0tIGV4ZWN1dGFibGUgdG8g
YmUgY292ZXJlZCBieSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuIFRoaXMgIC0tCi0t
IGV4Y2VwdGlvbiBkb2VzIG5vdCBob3dldmVyIGludmFsaWRhdGUgYW55IG90aGVyIHJlYXNvbnMg
d2h5IHRoZSAgIC0tCi0tIGV4ZWN1dGFibGUgZmlsZSAgbWlnaHQgYmUgY292ZXJlZCBieSB0aGUg
IEdOVSBQdWJsaWMgTGljZW5zZS4gICAgIC0tCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotLSAgQSBHZGtfV2lu
ZG93IGlzIHRoZSBwaHlzaWNhbCB3aW5kb3cgdGhhdCBhcHBlYXJzIG9uIHRoZSBzY3JlZW4uCi0t
ICBUaGlzIGlzIHRoZSBsb3ctbGV2ZWwgc3RydWN0dXJlIGtub3duIHRvIHRoZSBYIHNlcnZlciBv
ciB0byBXaW4zMi4KLS0gIEFsbCB0aGUgd2lkZ2V0cyBhcmUgaW50ZXJuYWxseSBhc3NvY2lhdGVk
IHdpdGggYSBzcGVjaWZpYyBHZGtfV2luZG93LAotLSAgdGhhdCBob2xkcyBhdHRyaWJ1dGVzIHN1
Y2ggYXMgdGhlIHdpbmRvdyBkZWNvcmF0aW9uLCB3aGV0aGVyIHRoZSB3aW5kb3cKLS0gIGNhbiBi
ZSBpbnRlcmFjdGl2ZWx5IHJlc2l6ZWQsLi4uCi0tCi0tICBPbiBzb21lIHN5c3RlbXMsIHRoZSBn
cmFwaGljIHNlcnZlciBrbm93cyBob3cgdG8gZGlzcGxheSBub24tcmVjdGFuZ3VsYXIKLS0gIHdp
bmRvd3MgKHRoaXMgaXMgcGFydCBvZiB0aGUgWCBleHRlbnNpb25zKS4KLS0KLS0gIElmIHlvdSBz
aW1wbHkgd2FudCB0byBjcmVhdGUgYSBzaW1wbHkgd2luZG93LCB5b3Ugc2hvdWxkIGluc3RlYWQg
bG9vawotLSAgYXQgdGhlIGZ1bmN0aW9ucyBwcm92aWRlZCBpbiBHdGsuV2luZG93IGFuZCBHdGsu
V2lkZ2V0LCB3aGljaCBhcmUgaGlnaGVyCi0tICBsZXZlbCB0aGFuIHRoZXNlLiBTZWUgYWxzbyB0
aGUgZnVuY3Rpb24gR3RrLldpZGdldC5HZXRfV2luZG93IHRvIGdldCB0aGUKLS0gIEdka19XaW5k
b3cgYXNzb2NpYXRlZCB3aXRoIGEgd2lkZ2V0LiBCZSBhd2FyZSB0aGF0IHNvbWUgb2YgdGhlbSBk
b24ndCBoYXZlCi0tICBzdWNoIHdpbmRvd3MhCi0tCi0tICBTY3JvbGxpbmcgY2FuIGJlIGltcGxl
bWVudGVkIGluIHNldmVyYWwgd2F5cyB3aXRoIEd0a0FkYSAodG9wbGV2ZWwKLS0gIHNjcm9sbGlu
ZyBzaG91bGQgYmUgZG9uZSB3aXRoIHRoZSBHdGtfU2Nyb2xsZWRfV2luZG93IHdpZGdldCwgYnV0
IHlvdQotLSAgbWlnaHQgd2FudCB0byBoYW5kbGUgc2Nyb2xsaW5nIHlvdXJzZWxmKS4gU2VlIHRo
ZSBmdW5jdGlvbgotLSAgR2RrLkV2ZW50LkdldF9HcmFwaGljc19FeHBvc2UgZm9yIG1vcmUgaW5m
b3JtYXRpb24uCi0tICA8Y192ZXJzaW9uPjEuMi43PC9jX3ZlcnNpb24+Cgp3aXRoIFN5c3RlbTsK
d2l0aCBHbGliOyB1c2UgR2xpYjsKd2l0aCBHbGliLkdsaXN0Owp3aXRoIEdkazsKd2l0aCBHZGsu
Q29sb3I7CndpdGggR2RrLkN1cnNvcjsKd2l0aCBHZGsuVHlwZXM7CndpdGggR2RrLlZpc3VhbDsK
d2l0aCBHZGsuV2luZG93X0F0dHI7CndpdGggVW5jaGVja2VkX0NvbnZlcnNpb247CgpwYWNrYWdl
IEdkay5XaW5kb3cgaXMKCiAgIHN1YnR5cGUgR2RrX1dpbmRvdyBpcyBHZGsuR2RrX1dpbmRvdzsK
CiAgIE51bGxfV2luZG93IDogY29uc3RhbnQgR2RrX1dpbmRvdzsKCiAgIHByb2NlZHVyZSBHZGtf
TmV3CiAgICAgKFdpbmRvdyAgICAgICAgICA6IG91dCBHZGtfV2luZG93OwogICAgICBQYXJlbnQg
ICAgICAgICAgOiBHZGtfV2luZG93OwogICAgICBBdHRyaWJ1dGVzICAgICAgOiBHZGsuV2luZG93
X0F0dHIuR2RrX1dpbmRvd19BdHRyOwogICAgICBBdHRyaWJ1dGVzX01hc2sgOiBHZGsuVHlwZXMu
R2RrX1dpbmRvd19BdHRyaWJ1dGVzX1R5cGUpOwoKICAgcHJvY2VkdXJlIEZvcmVpZ25fTmV3IChX
aW5kb3cgOiBvdXQgR2RrX1dpbmRvdzsgQW5fSWQgOiBHdWludDMyKTsKCiAgIHByb2NlZHVyZSBE
ZXN0cm95IChXaW5kb3cgOiBpbiBvdXQgR2RrX1dpbmRvdyk7CiAgIC0tICBEZXN0cm95IGEgd2lu
ZG93IGFuZCBhbGwgaXRzIGNoaWxkcmVuLgoKICAgcHJvY2VkdXJlIFJlZiAoV2luZG93IDogR2Rr
X1dpbmRvdyk7CiAgIC0tICBJbmNyZW1lbnQgdGhlIHJlZmVyZW5jZSBjb3VudGVyIGFzc29jaWF0
ZWQgd2l0aCB3aW5kb3cuCgogICBwcm9jZWR1cmUgVW5yZWYgKFdpbmRvdyA6IEdka19XaW5kb3cp
OwogICAtLSAgRGVjcmVtZW50IHRoZSByZWZlcmVuY2UgY291bnRlciBhc3NvY2lhdGVkIHdpdGgg
d2luZG93LgoKICAgcHJvY2VkdXJlIFdpbmRvd19BdF9Qb2ludGVyCiAgICAgKFdpbl9YICA6IG91
dCBHaW50OwogICAgICBXaW5fWSAgOiBvdXQgR2ludDsKICAgICAgV2luZG93IDogb3V0IEdka19X
aW5kb3cpOwogICAtLSAgUmV0dXJuIHRoZSB3aW5kb3cgYW5kIHRoZSBjb29yZGluYXRlcyBjb3Jy
ZXNwb25kaW5nIHRvIHRoZSBjdXJyZW50CiAgIC0tICBwb3NpdGlvbiBvZiB0aGUgY3Vyc29yLgoK
ICAgcHJvY2VkdXJlIFNob3cgKFdpbmRvdyA6IEdka19XaW5kb3cpOwoKICAgcHJvY2VkdXJlIEhp
ZGUgKFdpbmRvdyA6IEdka19XaW5kb3cpOwoKICAgcHJvY2VkdXJlIFdpdGhkcmF3IChXaW5kb3cg
OiBHZGtfV2luZG93KTsKCiAgIHByb2NlZHVyZSBNb3ZlCiAgICAgKFdpbmRvdyA6IEdka19XaW5k
b3c7CiAgICAgIFggICAgICA6IEdpbnQ7CiAgICAgIFkgICAgICA6IEdpbnQpOwoKICAgcHJvY2Vk
dXJlIFJlc2l6ZQogICAgIChXaW5kb3cgOiBHZGtfV2luZG93OwogICAgICBXaWR0aCAgOiBHaW50
OwogICAgICBIZWlnaHQgOiBHaW50KTsKCiAgIHByb2NlZHVyZSBNb3ZlX1Jlc2l6ZQogICAgIChX
aW5kb3cgOiBHZGtfV2luZG93OwogICAgICBYICAgICAgOiBHaW50OwogICAgICBZICAgICAgOiBH
aW50OwogICAgICBXaWR0aCAgOiBHaW50OwogICAgICBIZWlnaHQgOiBHaW50KTsKCiAgIHByb2Nl
ZHVyZSBSZXBhcmVudAogICAgIChXaW5kb3cgICAgIDogR2RrX1dpbmRvdzsKICAgICAgTmV3X1Bh
cmVudCA6IEdka19XaW5kb3c7CiAgICAgIFggICAgICAgICAgOiBHaW50OwogICAgICBZICAgICAg
ICAgIDogR2ludCk7CgogICBwcm9jZWR1cmUgQ2xlYXIgKFdpbmRvdyA6IEdka19XaW5kb3cpOwoK
ICAgcHJvY2VkdXJlIENsZWFyX0FyZWEKICAgICAoV2luZG93IDogR2RrX1dpbmRvdzsKICAgICAg
WCAgICAgIDogR2ludDsKICAgICAgWSAgICAgIDogR2ludDsKICAgICAgV2lkdGggIDogR2ludDsK
ICAgICAgSGVpZ2h0IDogR2ludCk7CiAgIC0tICBEb2VzIG5vdCBnZW5lcmF0ZSBhbiBleHBvc2Ug
ZXZlbnQuCgogICBwcm9jZWR1cmUgQ2xlYXJfQXJlYV9FCiAgICAgKFdpbmRvdyA6IEdka19XaW5k
b3c7CiAgICAgIFggICAgICA6IEdpbnQ7CiAgICAgIFkgICAgICA6IEdpbnQ7CiAgICAgIFdpZHRo
ICA6IEdpbnQ7CiAgICAgIEhlaWdodCA6IEdpbnQpOwogICAtLSAgU2FtZSBhcyBDbGVhcl9BcmVh
LCBidXQgZ2VuZXJhdGVzIGFuIGV4cG9zZSBldmVudC4KCiAgIHByb2NlZHVyZSBDb3B5X0FyZWEK
ICAgICAoV2luZG93ICAgICAgICA6IEdka19XaW5kb3c7CiAgICAgIEdjICAgICAgICAgICAgOiBH
ZGsuR2RrX0dDOwogICAgICBYICAgICAgICAgICAgIDogR2ludDsKICAgICAgWSAgICAgICAgICAg
ICA6IEdpbnQ7CiAgICAgIFNvdXJjZV9XaW5kb3cgOiBHZGtfV2luZG93OwogICAgICBTb3VyY2Vf
WCAgICAgIDogR2ludDsKICAgICAgU291cmNlX1kgICAgICA6IEdpbnQ7CiAgICAgIFdpZHRoICAg
ICAgICAgOiBHaW50OwogICAgICBIZWlnaHQgICAgICAgIDogR2ludCk7CgogICBwcm9jZWR1cmUg
R2RrX1JhaXNlIChXaW5kb3cgOiBHZGtfV2luZG93KTsKCiAgIHByb2NlZHVyZSBMb3dlciAoV2lu
ZG93IDogR2RrX1dpbmRvdyk7CgogICBwcm9jZWR1cmUgU2V0X092ZXJyaWRlX1JlZGlyZWN0CiAg
ICAgKFdpbmRvdyAgICAgICAgICAgIDogR2RrX1dpbmRvdzsKICAgICAgT3ZlcnJpZGVfUmVkaXJl
Y3QgOiBCb29sZWFuIDo9IFRydWUpOwoKICAgcHJvY2VkdXJlIFNldF9DaGlsZF9TaGFwZXMgKFdp
bmRvdyA6IEdka19XaW5kb3cpOwoKICAgcHJvY2VkdXJlIE1lcmdlX0NoaWxkX1NoYXBlcyAoV2lu
ZG93IDogR2RrX1dpbmRvdyk7CgogICBmdW5jdGlvbiBJc19WaXNpYmxlIChXaW5kb3cgOiBHZGtf
V2luZG93KSByZXR1cm4gQm9vbGVhbjsKCiAgIGZ1bmN0aW9uIElzX1ZpZXdhYmxlIChXaW5kb3cg
OiBHZGtfV2luZG93KSByZXR1cm4gQm9vbGVhbjsKCiAgIHByb2NlZHVyZSBTZXRfSGludHMKICAg
ICAoV2luZG93ICAgICA6IEdka19XaW5kb3c7CiAgICAgIFggICAgICAgICAgOiBHaW50OwogICAg
ICBZICAgICAgICAgIDogR2ludDsKICAgICAgTWluX1dpZHRoICA6IEdpbnQ7CiAgICAgIE1pbl9I
ZWlnaHQgOiBHaW50OwogICAgICBNYXhfV2lkdGggIDogR2ludDsKICAgICAgTWF4X0hlaWdodCA6
IEdpbnQ7CiAgICAgIEZsYWdzICAgICAgOiBHZGsuVHlwZXMuR2RrX1dpbmRvd19IaW50cyk7Cgog
ICBwcm9jZWR1cmUgU2V0X0dlb21ldHJ5X0hpbnRzCiAgICAgKFdpbmRvdyAgIDogR2RrX1dpbmRv
dzsKICAgICAgR2VvbWV0cnkgOiBpbiBvdXQgR2RrLlR5cGVzLkdka19HZW9tZXRyeTsKICAgICAg
RmxhZ3MgICAgOiBHZGsuVHlwZXMuR2RrX1dpbmRvd19IaW50cyk7CgogICBwcm9jZWR1cmUgU2V0
X1RpdGxlIChXaW5kb3cgOiBHZGtfV2luZG93OyBUaXRsZSA6IFN0cmluZyk7CgogICBwcm9jZWR1
cmUgU2V0X1JvbGUgKFdpbmRvdyA6IEdka19XaW5kb3c7IFJvbGUgOiBTdHJpbmcpOwoKICAgcHJv
Y2VkdXJlIFNldF9UcmFuc2llbnRfRm9yCiAgICAgKFdpbmRvdyA6IEdka19XaW5kb3c7IExlYWRl
ciA6IEdka19XaW5kb3cpOwoKICAgcHJvY2VkdXJlIFNldF9CYWNrZ3JvdW5kCiAgICAgKFdpbmRv
dyA6IEdka19XaW5kb3c7IENvbG9yIDogR2RrLkNvbG9yLkdka19Db2xvcik7CgogICBwcm9jZWR1
cmUgU2V0X0JhY2tfUGl4bWFwCiAgICAgKFdpbmRvdyAgICAgICAgICA6IEdka19XaW5kb3c7CiAg
ICAgIFBpeG1hcCAgICAgICAgICA6IEdkay5HZGtfUGl4bWFwOwogICAgICBQYXJlbnRfUmVsYXRp
dmUgOiBCb29sZWFuKTsKCiAgIHByb2NlZHVyZSBTZXRfQ3Vyc29yCiAgICAgKFdpbmRvdyA6IEdk
a19XaW5kb3c7IEN1cnNvciA6IEdkay5DdXJzb3IuR2RrX0N1cnNvcik7CiAgIC0tICBOb3RlOiB0
aGUgd2luZG93IG11c3QgYmUgcmVhbGl6ZWQgZmlyc3QsIGllIGhhdmUgYW4gYXNzb2NpYXRlZCBY
MTEvV2luMzIKICAgLS0gIHdpbmRvdy4KCiAgIHByb2NlZHVyZSBTZXRfQ29sb3JtYXAKICAgICAo
V2luZG93IDogR2RrX1dpbmRvdzsgQ29sb3JtYXAgOiBHZGsuQ29sb3IuR2RrX0NvbG9ybWFwKTsK
CiAgIHByb2NlZHVyZSBHZXRfR2VvbWV0cnkKICAgICAoV2luZG93IDogR2RrX1dpbmRvdzsKICAg
ICAgWCAgICAgIDogb3V0IEdpbnQ7CiAgICAgIFkgICAgICA6IG91dCBHaW50OwogICAgICBXaWR0
aCAgOiBvdXQgR2ludDsKICAgICAgSGVpZ2h0IDogb3V0IEdpbnQ7CiAgICAgIERlcHRoICA6IG91
dCBHaW50KTsKICAgLS0gIFlvdSBjYW4gZ2V0IHRoZSBzaXplIG9mIHRoZSByb290IHdpbmRvdyAo
aWUgdGhlIHNpemUgb2YgdGhlIHNjcmVlbikKICAgLS0gIHNpbXBseSBieSBnaXZpbmcgTnVsbF9X
aW5kb3cgYXMgdGhlIGZpcnN0IGFyZ3VtZW50IHRvIHRoaXMgcHJvY2VkdXJlLgoKICAgcHJvY2Vk
dXJlIEdldF9Qb3NpdGlvbgogICAgIChXaW5kb3cgOiBHZGtfV2luZG93OwogICAgICBYICAgICAg
OiBvdXQgR2ludDsKICAgICAgWSAgICAgIDogb3V0IEdpbnQpOwoKICAgcHJvY2VkdXJlIEdldF9T
aXplCiAgICAgKFdpbmRvdyA6IEdka19XaW5kb3c7CiAgICAgIFdpZHRoICA6IG91dCBHaW50Owog
ICAgICBIZWlnaHQgOiBvdXQgR2ludCk7CgogICBmdW5jdGlvbiBHZXRfVmlzdWFsIChXaW5kb3cg
OiBHZGtfV2luZG93KSByZXR1cm4gR2RrLlZpc3VhbC5HZGtfVmlzdWFsOwoKICAgZnVuY3Rpb24g
R2V0X0NvbG9ybWFwIChXaW5kb3cgOiBHZGtfV2luZG93KSByZXR1cm4gR2RrLkNvbG9yLkdka19D
b2xvcm1hcDsKCiAgIGZ1bmN0aW9uIEdldF9UeXBlIChXaW5kb3cgOiBHZGtfV2luZG93KSByZXR1
cm4gR2RrLlR5cGVzLkdka19XaW5kb3dfVHlwZTsKCiAgIHByb2NlZHVyZSBHZXRfT3JpZ2luCiAg
ICAgKFdpbmRvdyAgOiBHZGtfV2luZG93OwogICAgICBYICAgICAgIDogb3V0IEdpbnQ7CiAgICAg
IFkgICAgICAgOiBvdXQgR2ludDsKICAgICAgU3VjY2VzcyA6IG91dCBCb29sZWFuKTsKCiAgIHBy
b2NlZHVyZSBHZXRfRGVza19SZWxhdGl2ZV9PcmlnaW4KICAgICAoV2luZG93ICA6IEdka19XaW5k
b3c7CiAgICAgIFggICAgICAgOiBvdXQgR2ludDsKICAgICAgWSAgICAgICA6IG91dCBHaW50Owog
ICAgICBTdWNjZXNzIDogb3V0IEJvb2xlYW4pOwoKICAgcHJvY2VkdXJlIEdldF9Sb290X09yaWdp
bgogICAgIChXaW5kb3cgOiBHZGtfV2luZG93OwogICAgICBYICAgICAgOiBvdXQgR2ludDsKICAg
ICAgWSAgICAgIDogb3V0IEdpbnQpOwoKICAgcHJvY2VkdXJlIEdldF9Qb2ludGVyCiAgICAgKFdp
bmRvdyA6IEdka19XaW5kb3c7CiAgICAgIFggICAgICA6IG91dCBHaW50OwogICAgICBZICAgICAg
OiBvdXQgR2ludDsKICAgICAgTWFzayAgIDogb3V0IEdkay5UeXBlcy5HZGtfTW9kaWZpZXJfVHlw
ZTsKICAgICAgUmVzdWx0IDogb3V0IEdka19XaW5kb3cpOwoKICAgZnVuY3Rpb24gR2V0X1BhcmVu
dCAoV2luZG93IDogR2RrX1dpbmRvdykgcmV0dXJuIEdka19XaW5kb3c7CgogICBmdW5jdGlvbiBH
ZXRfVG9wbGV2ZWwgKFdpbmRvdyA6IEdka19XaW5kb3cpIHJldHVybiBHZGtfV2luZG93OwoKICAg
ZnVuY3Rpb24gR2V0X0V2ZW50cyAoV2luZG93IDogR2RrX1dpbmRvdykgcmV0dXJuIEdkay5UeXBl
cy5HZGtfRXZlbnRfTWFzazsKCiAgIHByb2NlZHVyZSBTZXRfRXZlbnRzCiAgICAgKFdpbmRvdyA6
IEdka19XaW5kb3c7IEV2ZW50X01hc2sgOiBHZGsuVHlwZXMuR2RrX0V2ZW50X01hc2spOwoKICAg
cHJvY2VkdXJlIFNldF9JY29uCiAgICAgKFdpbmRvdyAgICAgIDogR2RrX1dpbmRvdzsKICAgICAg
SWNvbl9XaW5kb3cgOiBHZGtfV2luZG93OwogICAgICBQaXhtYXAgICAgICA6IEdka19QaXhtYXA7
CiAgICAgIE1hc2sgICAgICAgIDogR2RrX0JpdG1hcCk7CgogICBwcm9jZWR1cmUgU2V0X0ljb25f
TmFtZQogICAgIChXaW5kb3cgOiBHZGtfV2luZG93OwogICAgICBOYW1lICAgOiBTdHJpbmcpOwoK
ICAgcHJvY2VkdXJlIFNldF9Hcm91cCAoV2luZG93IDogR2RrX1dpbmRvdzsgTGVhZGVyIDogR2Rr
X1dpbmRvdyk7CgogICBwcm9jZWR1cmUgU2V0X0RlY29yYXRpb25zCiAgICAgKFdpbmRvdyAgICAg
IDogR2RrX1dpbmRvdzsKICAgICAgRGVjb3JhdGlvbnMgOiBHZGsuVHlwZXMuR2RrX1dtX0RlY29y
YXRpb24pOwoKICAgcHJvY2VkdXJlIFNldF9GdW5jdGlvbnMKICAgICAoV2luZG93ICAgIDogR2Rr
X1dpbmRvdzsKICAgICAgRnVuY3Rpb25zIDogR2RrLlR5cGVzLkdka19XbV9GdW5jdGlvbik7Cgog
ICAtLSAgR2RrX1dpbmRvd19MaXN0CiAgIC0tCiAgIGZ1bmN0aW9uIENvbnZlcnQgaXMgbmV3IFVu
Y2hlY2tlZF9Db252ZXJzaW9uIChHZGtfV2luZG93LCBTeXN0ZW0uQWRkcmVzcyk7CiAgIGZ1bmN0
aW9uIENvbnZlcnQgaXMgbmV3IFVuY2hlY2tlZF9Db252ZXJzaW9uIChTeXN0ZW0uQWRkcmVzcywg
R2RrX1dpbmRvdyk7CgogICBwYWNrYWdlIEdka19XaW5kb3dfTGlzdCBpcyBuZXcKICAgICBHbGli
LkdsaXN0LkdlbmVyaWNfTGlzdCAoR3BvaW50ZXIgPT4gR2RrX1dpbmRvdyk7CgogICBmdW5jdGlv
biBHZXRfQ2hpbGRyZW4KICAgICAoV2luZG93IDogR2RrX1dpbmRvdykgcmV0dXJuIEdka19XaW5k
b3dfTGlzdC5HbGlzdDsKCiAgIGZ1bmN0aW9uIEdldF9Ub3BsZXZlbHMgcmV0dXJuIEdka19XaW5k
b3dfTGlzdC5HbGlzdDsKCnByaXZhdGUKCiAgIE51bGxfV2luZG93IDogY29uc3RhbnQgR2RrX1dp
bmRvdyA6PSBudWxsOwogICBwcmFnbWEgSW1wb3J0IChDLCBDbGVhciwgImdka193aW5kb3dfY2xl
YXIiKTsKICAgcHJhZ21hIEltcG9ydCAoQywgQ2xlYXJfQXJlYSwgImdka193aW5kb3dfY2xlYXJf
YXJlYSIpOwogICBwcmFnbWEgSW1wb3J0IChDLCBDbGVhcl9BcmVhX0UsICJnZGtfd2luZG93X2Ns
ZWFyX2FyZWFfZSIpOwogICBwcmFnbWEgSW1wb3J0IChDLCBDb3B5X0FyZWEsICJnZGtfd2luZG93
X2NvcHlfYXJlYSIpOwogICBwcmFnbWEgSW1wb3J0IChDLCBHZXRfRXZlbnRzLCAiZ2RrX3dpbmRv
d19nZXRfZXZlbnRzIik7CiAgIHByYWdtYSBJbXBvcnQgKEMsIEdldF9HZW9tZXRyeSwgImdka193
aW5kb3dfZ2V0X2dlb21ldHJ5Iik7CiAgIHByYWdtYSBJbXBvcnQgKEMsIEdldF9QYXJlbnQsICJn
ZGtfd2luZG93X2dldF9wYXJlbnQiKTsKICAgcHJhZ21hIEltcG9ydCAoQywgR2V0X1Bvc2l0aW9u
LCAiZ2RrX3dpbmRvd19nZXRfcG9zaXRpb24iKTsKICAgcHJhZ21hIEltcG9ydCAoQywgR2V0X1Jv
b3RfT3JpZ2luLCAiZ2RrX3dpbmRvd19nZXRfcm9vdF9vcmlnaW4iKTsKICAgcHJhZ21hIEltcG9y
dCAoQywgR2V0X1NpemUsICJnZGtfd2luZG93X2dldF9zaXplIik7CiAgIHByYWdtYSBJbXBvcnQg
KEMsIEdldF9Ub3BsZXZlbCwgImdka193aW5kb3dfZ2V0X3RvcGxldmVsIik7CiAgIHByYWdtYSBJ
bXBvcnQgKEMsIEdldF9UeXBlLCAiZ2RrX3dpbmRvd19nZXRfdHlwZSIpOwogICBwcmFnbWEgSW1w
b3J0IChDLCBIaWRlLCAiZ2RrX3dpbmRvd19oaWRlIik7CiAgIHByYWdtYSBJbXBvcnQgKEMsIExv
d2VyLCAiZ2RrX3dpbmRvd19sb3dlciIpOwogICBwcmFnbWEgSW1wb3J0IChDLCBNZXJnZV9DaGls
ZF9TaGFwZXMsICJnZGtfd2luZG93X21lcmdlX2NoaWxkX3NoYXBlcyIpOwogICBwcmFnbWEgSW1w
b3J0IChDLCBNb3ZlLCAiZ2RrX3dpbmRvd19tb3ZlIik7CiAgIHByYWdtYSBJbXBvcnQgKEMsIE1v
dmVfUmVzaXplLCAiZ2RrX3dpbmRvd19tb3ZlX3Jlc2l6ZSIpOwogICBwcmFnbWEgSW1wb3J0IChD
LCBHZGtfUmFpc2UsICJnZGtfd2luZG93X3JhaXNlIik7CiAgIHByYWdtYSBJbXBvcnQgKEMsIFJl
ZiwgImdka193aW5kb3dfcmVmIik7CiAgIHByYWdtYSBJbXBvcnQgKEMsIFJlcGFyZW50LCAiZ2Rr
X3dpbmRvd19yZXBhcmVudCIpOwogICBwcmFnbWEgSW1wb3J0IChDLCBSZXNpemUsICJnZGtfd2lu
ZG93X3Jlc2l6ZSIpOwogICBwcmFnbWEgSW1wb3J0IChDLCBTZXRfQ2hpbGRfU2hhcGVzLCAiZ2Rr
X3dpbmRvd19zZXRfY2hpbGRfc2hhcGVzIik7CiAgIHByYWdtYSBJbXBvcnQgKEMsIFNldF9EZWNv
cmF0aW9ucywgImdka193aW5kb3dfc2V0X2RlY29yYXRpb25zIik7CiAgIHByYWdtYSBJbXBvcnQg
KEMsIFNldF9FdmVudHMsICJnZGtfd2luZG93X3NldF9ldmVudHMiKTsKICAgcHJhZ21hIEltcG9y
dCAoQywgU2V0X0Z1bmN0aW9ucywgImdka193aW5kb3dfc2V0X2Z1bmN0aW9ucyIpOwogICBwcmFn
bWEgSW1wb3J0IChDLCBTZXRfR2VvbWV0cnlfSGludHMsICJnZGtfd2luZG93X3NldF9nZW9tZXRy
eV9oaW50cyIpOwogICBwcmFnbWEgSW1wb3J0IChDLCBTZXRfR3JvdXAsICJnZGtfd2luZG93X3Nl
dF9ncm91cCIpOwogICBwcmFnbWEgSW1wb3J0IChDLCBTZXRfSGludHMsICJnZGtfd2luZG93X3Nl
dF9oaW50cyIpOwogICBwcmFnbWEgSW1wb3J0IChDLCBTZXRfVHJhbnNpZW50X0ZvciwgImdka193
aW5kb3dfc2V0X3RyYW5zaWVudF9mb3IiKTsKICAgcHJhZ21hIEltcG9ydCAoQywgU2hvdywgImdk
a193aW5kb3dfc2hvdyIpOwogICBwcmFnbWEgSW1wb3J0IChDLCBVbnJlZiwgImdka193aW5kb3df
dW5yZWYiKTsKICAgcHJhZ21hIEltcG9ydCAoQywgV2l0aGRyYXcsICJnZGtfd2luZG93X3dpdGhk
cmF3Iik7CiAgIHByYWdtYSBJbXBvcnQgKEMsIFNldF9DdXJzb3IsICJnZGtfd2luZG93X3NldF9j
dXJzb3IiKTsKICAgcHJhZ21hIEltcG9ydCAoQywgR2V0X0NvbG9ybWFwLCAiZ2RrX3dpbmRvd19n
ZXRfY29sb3JtYXAiKTsKICAgcHJhZ21hIEltcG9ydCAoQywgR2V0X1Zpc3VhbCwgImdka193aW5k
b3dfZ2V0X3Zpc3VhbCIpOwogICBwcmFnbWEgSW1wb3J0IChDLCBTZXRfQ29sb3JtYXAsICJnZGtf
d2luZG93X3NldF9jb2xvcm1hcCIpOwogICBwcmFnbWEgSW1wb3J0IChDLCBTZXRfSWNvbiwgImdk
a193aW5kb3dfc2V0X2ljb24iKTsKZW5kIEdkay5XaW5kb3c7CgAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGdu
YXRidWcvZ2RrLWN1cnNvci5hZHMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMTAwNjQ0ADAwMDE3NTEA
MDAwMDAwMAAwMDAwMDAwNzI3NQAwNzU1MTEwNzYzMgAwMTQxMjcAIDAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABzcGF6AAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAHdoZWVsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KLS0gICAgICAgICAgR3RrQWRhIC0gQWRhOTUgYmluZGluZyBmb3IgdGhlIEdp
bXAgVG9vbGtpdCAgICAgICAgICAgICAgLS0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gICAgICAgICAgICAg
ICAgICAgICBDb3B5cmlnaHQgKEMpIDE5OTgtMjAwMCAgICAgICAgICAgICAgICAgICAgICAgLS0K
LS0gICAgICAgIEVtbWFudWVsIEJyaW90LCBKb2VsIEJyb2JlY2tlciBhbmQgQXJuYXVkIENoYXJs
ZXQgICAgICAgICAgLS0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciAgICAgLS0KLS0gbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljICAgICAgICAgICAgICAg
LS0KLS0gTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
bjsgZWl0aGVyICAgICAgLS0KLS0gdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLiAgLS0KLS0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gVGhpcyBs
aWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws
ICAgLS0KLS0gYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp
ZWQgd2FycmFudHkgb2YgICAgLS0KLS0gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgLS0KLS0gR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLiAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLS0KLS0gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdl
bmVyYWwgUHVibGljICAgICAgICAgLS0KLS0gTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFy
eTsgaWYgbm90LCB3cml0ZSB0byB0aGUgICAgICAgICAgICAgLS0KLS0gRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsICAgICAgLS0KLS0g
Qm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLS0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gQXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiwgaWYg
b3RoZXIgZmlsZXMgaW5zdGFudGlhdGUgZ2VuZXJpY3MgZnJvbSAgLS0KLS0gdGhpcyB1bml0LCBv
ciB5b3UgbGluayB0aGlzIHVuaXQgd2l0aCBvdGhlciBmaWxlcyB0byBwcm9kdWNlIGFuICAgLS0K
LS0gZXhlY3V0YWJsZSwgdGhpcyAgdW5pdCAgZG9lcyBub3QgIGJ5IGl0c2VsZiBjYXVzZSAgdGhl
IHJlc3VsdGluZyAgLS0KLS0gZXhlY3V0YWJsZSB0byBiZSBjb3ZlcmVkIGJ5IHRoZSBHTlUgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZS4gVGhpcyAgLS0KLS0gZXhjZXB0aW9uIGRvZXMgbm90IGhvd2V2
ZXIgaW52YWxpZGF0ZSBhbnkgb3RoZXIgcmVhc29ucyB3aHkgdGhlICAgLS0KLS0gZXhlY3V0YWJs
ZSBmaWxlICBtaWdodCBiZSBjb3ZlcmVkIGJ5IHRoZSAgR05VIFB1YmxpYyBMaWNlbnNlLiAgICAg
LS0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KCi0tICA8ZGVzY3JpcHRpb24+Ci0tICBUaGlzIHBhY2thZ2UgcHJv
dmlkZXMgdGhlIGNhcGFiaWxpdHkgdG8gY3JlYXRlIHByZWRlZmluZWQgbW91c2UgY3Vyc29ycwot
LSAgYXMgd2VsbCBhcyB1c2VyIGRlZmluZWQgb25lcy4KLS0gIDwvZGVzY3JpcHRpb24+Ci0tICA8
Y192ZXJzaW9uPjEuMi44PC9jX3ZlcnNpb24+Cgp3aXRoIEdsaWI7CndpdGggR2RrLlR5cGVzOwp3
aXRoIEdkay5Db2xvcjsKCnBhY2thZ2UgR2RrLkN1cnNvciBpcwoKICAgdHlwZSBHZGtfQ3Vyc29y
IGlzIG5ldyBHZGsuQ19Qcm94eTsKICAgTnVsbF9DdXJzb3IgOiBjb25zdGFudCBHZGtfQ3Vyc29y
OwoKICAgcHJvY2VkdXJlIEdka19OZXcKICAgICAoV2lkZ2V0ICAgICAgOiBvdXQgR2RrX0N1cnNv
cjsKICAgICAgQ3Vyc29yX1R5cGUgOiBpbiAgR2RrLlR5cGVzLkdka19DdXJzb3JfVHlwZSk7CiAg
IC0tICBDcmVhdGUgYSBuZXcgc3RhbmRhcmQgY3Vyc29yLgoKICAgcHJvY2VkdXJlIEdka19OZXcK
ICAgICAoV2lkZ2V0IDogb3V0IEdka19DdXJzb3I7CiAgICAgIFNvdXJjZSA6IGluIEdkay5HZGtf
UGl4bWFwOwogICAgICBNYXNrICAgOiBpbiBHZGsuR2RrX1BpeG1hcDsKICAgICAgRmcgICAgIDog
aW4gR2RrLkNvbG9yLkdka19Db2xvcjsKICAgICAgQmcgICAgIDogaW4gR2RrLkNvbG9yLkdka19D
b2xvcjsKICAgICAgWCAgICAgIDogaW4gR2xpYi5HaW50OwogICAgICBZICAgICAgOiBpbiBHbGli
LkdpbnQpOwogICAtLSAgQ3JlYXRlIGEgbmV3IGN1cnNvciBmcm9tIGEgZ2l2ZW4gcGl4bWFwIGFu
ZCBtYXNrLgogICAtLSAgQm90aCB0aGUgcGl4bWFwIGFuZCBtYXNrIG11c3QgaGF2ZSBhIGRlcHRo
IG9mIDEgKGkuZS4gZWFjaCBwaXhlbCBoYXMKICAgLS0gIG9ubHkgMiB2YWx1ZXMgLSBvbiBvciBv
ZmYpLiBUaGUgc3RhbmRhcmQgY3Vyc29yIHNpemUgaXMgMTYgYnkgMTYgcGl4ZWxzLgogICAtLSAg
IC0gU291cmNlIGlzIHRoZSBwaXhtYXAgc3BlY2lmeWluZyB0aGUgY3Vyc29yLgogICAtLSAgIC0g
TWFzayBpcyB0aGUgcGl4bWFwIHNwZWNpZnlpbmcgdGhlIG1hc2ssIHdoaWNoIG11c3QgYmUgdGhl
IHNhbWUgc2l6ZQogICAtLSAgIGFzIHNvdXJjZS4KICAgLS0gICAtIEZnIGlzIHRoZSBmb3JlZ3Jv
dW5kIGNvbG9yLCB1c2VkIGZvciB0aGUgYml0cyBpbiB0aGUgc291cmNlIHdoaWNoIGFyZQogICAt
LSAgIGVuYWJsZWQuIFRoZSBjb2xvciBkb2VzIG5vdCBoYXZlIHRvIGJlIGFsbG9jYXRlZCBmaXJz
dC4KICAgLS0gICAtIEJnIGlzIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLCB1c2VkIGZvciB0aGUgYml0
cyBpbiB0aGUgc291cmNlIHdoaWNoIGFyZQogICAtLSAgIGRpc2FibGVkLiBUaGUgY29sb3IgZG9l
cyBub3QgaGF2ZSB0byBiZSBhbGxvY2F0ZWQgZmlyc3QuCiAgIC0tICAgLSBYIGlzIHRoZSBob3Jp
em9udGFsIG9mZnNldCBvZiB0aGUgJ2hvdHNwb3QnIG9mIHRoZSBjdXJzb3IuCiAgIC0tICAgLSBZ
IGlzIHRoZSB2ZXJ0aWNhbCBvZmZzZXQgb2YgdGhlICdob3RzcG90JyBvZiB0aGUgY3Vyc29yLgoK
ICAgcHJvY2VkdXJlIERlc3Ryb3kgKEN1cnNvciA6IGluIEdka19DdXJzb3IpOwogICAtLSAgRGVz
dHJveSBhIGN1cnNvciwgZnJlZWluZyBhbnkgcmVzb3VyY2VzIGFsbG9jYXRlZCBmb3IgaXQuCgpw
cml2YXRlCiAgIE51bGxfQ3Vyc29yIDogY29uc3RhbnQgR2RrX0N1cnNvciA6PSBudWxsOwogICBw
cmFnbWEgSW1wb3J0IChDLCBEZXN0cm95LCAiZ2RrX2N1cnNvcl9kZXN0cm95Iik7CmVuZCBHZGsu
Q3Vyc29yOwoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGduYXRidWcvZ2Rr
LXdpbmRvd19hdHRyLmFkcwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMTAwNjQ0ADAwMDE3NTEAMDAwMDAwMAAw
MDAwMDAxNjQ1NwAwNzU1MTEwNzYzMgAwMTUxNTUAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABzcGF6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AHdoZWVsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KLS0gICAgICAgICAgR3RrQWRhIC0gQWRhOTUgYmluZGluZyBmb3IgdGhlIEdpbXAgVG9vbGtp
dCAgICAgICAgICAgICAgLS0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gICAgICAgICAgICAgICAgICAgICBD
b3B5cmlnaHQgKEMpIDE5OTgtMTk5OSAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gICAgICAg
IEVtbWFudWVsIEJyaW90LCBKb2VsIEJyb2JlY2tlciBhbmQgQXJuYXVkIENoYXJsZXQgICAgICAg
ICAgLS0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLS0KLS0gVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciAgICAgLS0KLS0gbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljICAgICAgICAgICAgICAgLS0KLS0gTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
ICAgICAgLS0KLS0gdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p
IGFueSBsYXRlciB2ZXJzaW9uLiAgLS0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gVGhpcyBsaWJyYXJ5IGlz
IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsICAgLS0KLS0g
YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu
dHkgb2YgICAgLS0KLS0gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgLS0KLS0gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig
bW9yZSBkZXRhaWxzLiAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0K
LS0gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVi
bGljICAgICAgICAgLS0KLS0gTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90
LCB3cml0ZSB0byB0aGUgICAgICAgICAgICAgLS0KLS0gRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsICAgICAgLS0KLS0gQm9zdG9uLCBN
QSAwMjExMS0xMzA3LCBVU0EuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
LS0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLS0KLS0gQXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiwgaWYgb3RoZXIgZmls
ZXMgaW5zdGFudGlhdGUgZ2VuZXJpY3MgZnJvbSAgLS0KLS0gdGhpcyB1bml0LCBvciB5b3UgbGlu
ayB0aGlzIHVuaXQgd2l0aCBvdGhlciBmaWxlcyB0byBwcm9kdWNlIGFuICAgLS0KLS0gZXhlY3V0
YWJsZSwgdGhpcyAgdW5pdCAgZG9lcyBub3QgIGJ5IGl0c2VsZiBjYXVzZSAgdGhlIHJlc3VsdGlu
ZyAgLS0KLS0gZXhlY3V0YWJsZSB0byBiZSBjb3ZlcmVkIGJ5IHRoZSBHTlUgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZS4gVGhpcyAgLS0KLS0gZXhjZXB0aW9uIGRvZXMgbm90IGhvd2V2ZXIgaW52YWxp
ZGF0ZSBhbnkgb3RoZXIgcmVhc29ucyB3aHkgdGhlICAgLS0KLS0gZXhlY3V0YWJsZSBmaWxlICBt
aWdodCBiZSBjb3ZlcmVkIGJ5IHRoZSAgR05VIFB1YmxpYyBMaWNlbnNlLiAgICAgLS0KLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KCndpdGggR2RrLkNvbG9yOwp3aXRoIEdkay5DdXJzb3I7CndpdGggR2RrLlR5cGVz
Owp3aXRoIEdkay5WaXN1YWw7CndpdGggR2xpYjsKCnBhY2thZ2UgR2RrLldpbmRvd19BdHRyIGlz
CgogICB0eXBlIEdka19XaW5kb3dfQXR0ciBpcyBuZXcgQ19Qcm94eTsKICAgTnVsbF9XaW5kb3df
QXR0ciA6IGNvbnN0YW50IEdka19XaW5kb3dfQXR0cjsKCiAgIHByb2NlZHVyZSBHZGtfTmV3CiAg
ICAgKFdpbmRvd19BdHRyICAgICAgIDogICAgb3V0IEdka19XaW5kb3dfQXR0cjsKICAgICAgVGl0
bGUgICAgICAgICAgICAgOiBpbiAgICAgU3RyaW5nIDo9ICIiOwogICAgICBFdmVudF9NYXNrICAg
ICAgICA6IGluICAgICBHZGsuVHlwZXMuR2RrX0V2ZW50X01hc2sgOj0KICAgICAgICBHZGsuVHlw
ZXMuTnVsbF9FdmVudF9NYXNrOwogICAgICBYLCBZICAgICAgICAgICAgICA6IGluICAgICBHbGli
LkdpbnQxNiA6PSAwOwogICAgICBXaWR0aCAgICAgICAgICAgICA6IGluICAgICBHbGliLkdpbnQx
NiA6PSAwOwogICAgICBIZWlnaHQgICAgICAgICAgICA6IGluICAgICBHbGliLkdpbnQxNiA6PSAw
OwogICAgICBXY2xhc3MgICAgICAgICAgICA6IGluICAgICBHZGsuVHlwZXMuR2RrX1dpbmRvd19D
bGFzcyA6PQogICAgICAgIEdkay5UeXBlcy5JbnB1dF9PdXRwdXQ7CiAgICAgIFZpc3VhbCAgICAg
ICAgICAgIDogaW4gICAgIEdkay5WaXN1YWwuR2RrX1Zpc3VhbCA6PQogICAgICAgIEdkay5WaXN1
YWwuTnVsbF9WaXN1YWw7CiAgICAgIENvbG9ybWFwICAgICAgICAgIDogaW4gICAgIEdkay5Db2xv
ci5HZGtfQ29sb3JtYXAgOj0KICAgICAgICBHZGsuQ29sb3IuTnVsbF9Db2xvcm1hcDsKICAgICAg
V2luZG93X1R5cGUgICAgICAgOiBpbiAgICAgR2RrLlR5cGVzLkdka19XaW5kb3dfVHlwZSA6PQog
ICAgICAgIEdkay5UeXBlcy5XaW5kb3dfUm9vdDsKICAgICAgQ3Vyc29yICAgICAgICAgICAgOiBp
biAgICAgR2RrLkN1cnNvci5HZGtfQ3Vyc29yIDo9CiAgICAgICAgR2RrLkN1cnNvci5OdWxsX0N1
cnNvcjsKICAgICAgV21jbGFzc19OYW1lICAgICAgOiBpbiAgICAgU3RyaW5nIDo9ICIiOwogICAg
ICBXbWNsYXNzX0NsYXNzICAgICA6IGluICAgICBTdHJpbmcgOj0gIiI7CiAgICAgIE92ZXJyaWRl
X1JlZGlyZWN0IDogaW4gICAgIEJvb2xlYW4gOj0gVHJ1ZSk7CgogICBwcm9jZWR1cmUgRGVzdHJv
eSAoV2luZG93X0F0dHIgOiBpbiBvdXQgR2RrX1dpbmRvd19BdHRyKTsKCiAgIHByb2NlZHVyZSBT
ZXRfVGl0bGUKICAgICAoV2luZG93X0F0dHIgOiBpbiBHZGtfV2luZG93X0F0dHI7CiAgICAgIFRp
dGxlICAgICAgIDogaW4gU3RyaW5nKTsKCiAgIGZ1bmN0aW9uIEdldF9UaXRsZSAoV2luZG93X0F0
dHIgOiBpbiBHZGtfV2luZG93X0F0dHIpIHJldHVybiBTdHJpbmc7CgogICBwcm9jZWR1cmUgU2V0
X0V2ZW50X01hc2sKICAgICAoV2luZG93X0F0dHIgOiBpbiBHZGtfV2luZG93X0F0dHI7CiAgICAg
IEV2ZW50X01hc2sgIDogaW4gR2RrLlR5cGVzLkdka19FdmVudF9NYXNrKTsKCiAgIGZ1bmN0aW9u
IEdldF9FdmVudF9NYXNrCiAgICAgKFdpbmRvd19BdHRyIDogaW4gR2RrX1dpbmRvd19BdHRyKQog
ICAgICByZXR1cm4gR2RrLlR5cGVzLkdka19FdmVudF9NYXNrOwoKICAgcHJvY2VkdXJlIFNldF9Y
CiAgICAgKFdpbmRvd19BdHRyIDogaW4gR2RrX1dpbmRvd19BdHRyOwogICAgICBYICAgICAgICAg
ICA6IGluIEdsaWIuR2ludDE2KTsKCiAgIGZ1bmN0aW9uIEdldF9YIChXaW5kb3dfQXR0ciA6IGlu
IEdka19XaW5kb3dfQXR0cikgcmV0dXJuIEdsaWIuR2ludDE2OwoKCiAgIHByb2NlZHVyZSBTZXRf
WQogICAgIChXaW5kb3dfQXR0ciA6IGluIEdka19XaW5kb3dfQXR0cjsKICAgICAgWSAgICAgICAg
ICAgOiBpbiBHbGliLkdpbnQxNik7CgogICBmdW5jdGlvbiBHZXRfWSAoV2luZG93X0F0dHIgOiBp
biBHZGtfV2luZG93X0F0dHIpIHJldHVybiBHbGliLkdpbnQxNjsKCiAgIHByb2NlZHVyZSBTZXRf
V2lkdGgKICAgICAoV2luZG93X0F0dHIgOiBpbiBHZGtfV2luZG93X0F0dHI7CiAgICAgIFdpZHRo
ICAgICAgIDogaW4gR2xpYi5HaW50MTYpOwoKICAgZnVuY3Rpb24gR2V0X1dpZHRoIChXaW5kb3df
QXR0ciA6IGluIEdka19XaW5kb3dfQXR0cikgcmV0dXJuIEdsaWIuR2ludDE2OwoKICAgcHJvY2Vk
dXJlIFNldF9IZWlnaHQKICAgICAoV2luZG93X0F0dHIgOiBpbiBHZGtfV2luZG93X0F0dHI7CiAg
ICAgIEhlaWdodCAgICAgIDogaW4gR2xpYi5HaW50MTYpOwoKICAgZnVuY3Rpb24gR2V0X0hlaWdo
dCAoV2luZG93X0F0dHIgOiBpbiBHZGtfV2luZG93X0F0dHIpIHJldHVybiBHbGliLkdpbnQxNjsK
CiAgIHByb2NlZHVyZSBTZXRfV2luZG93X0NsYXNzCiAgICAgKFdpbmRvd19BdHRyIDogaW4gR2Rr
X1dpbmRvd19BdHRyOwogICAgICBXY2xhc3MgICAgICA6IGluIEdkay5UeXBlcy5HZGtfV2luZG93
X0NsYXNzKTsKCiAgIGZ1bmN0aW9uIEdldF9XaW5kb3dfQ2xhc3MKICAgICAoV2luZG93X0F0dHIg
OiBpbiBHZGtfV2luZG93X0F0dHIpIHJldHVybiBHZGsuVHlwZXMuR2RrX1dpbmRvd19DbGFzczsK
CiAgIHByb2NlZHVyZSBTZXRfVmlzdWFsCiAgICAgKFdpbmRvd19BdHRyIDogaW4gR2RrX1dpbmRv
d19BdHRyOwogICAgICBWaXN1YWwgICAgICA6IGluIEdkay5WaXN1YWwuR2RrX1Zpc3VhbCk7Cgog
ICBmdW5jdGlvbiBHZXRfVmlzdWFsCiAgICAgKFdpbmRvd19BdHRyIDogaW4gR2RrX1dpbmRvd19B
dHRyKSByZXR1cm4gR2RrLlZpc3VhbC5HZGtfVmlzdWFsOwoKICAgcHJvY2VkdXJlIFNldF9Db2xv
cm1hcAogICAgIChXaW5kb3dfQXR0ciA6IGluIEdka19XaW5kb3dfQXR0cjsKICAgICAgQ29sb3Jt
YXAgICAgOiBpbiBHZGsuQ29sb3IuR2RrX0NvbG9ybWFwKTsKCiAgIGZ1bmN0aW9uIEdldF9Db2xv
cm1hcAogICAgIChXaW5kb3dfQXR0ciA6IGluIEdka19XaW5kb3dfQXR0cikgcmV0dXJuIEdkay5D
b2xvci5HZGtfQ29sb3JtYXA7CgogICBwcm9jZWR1cmUgU2V0X1dpbmRvd19UeXBlCiAgICAgKFdp
bmRvd19BdHRyIDogaW4gR2RrX1dpbmRvd19BdHRyOwogICAgICBXaW5kb3dfVHlwZSA6IGluIEdk
ay5UeXBlcy5HZGtfV2luZG93X1R5cGUpOwoKICAgZnVuY3Rpb24gR2V0X1dpbmRvd19UeXBlCiAg
ICAgKFdpbmRvd19BdHRyIDogaW4gR2RrX1dpbmRvd19BdHRyKSByZXR1cm4gR2RrLlR5cGVzLkdk
a19XaW5kb3dfVHlwZTsKCiAgIHByb2NlZHVyZSBTZXRfQ3Vyc29yCiAgICAgKFdpbmRvd19BdHRy
IDogaW4gR2RrX1dpbmRvd19BdHRyOwogICAgICBDdXJzb3IgICAgICA6IGluIEdkay5DdXJzb3Iu
R2RrX0N1cnNvcik7CgogICBmdW5jdGlvbiBHZXRfQ3Vyc29yCiAgICAgKFdpbmRvd19BdHRyIDog
aW4gR2RrX1dpbmRvd19BdHRyKQogICAgICByZXR1cm4gR2RrLkN1cnNvci5HZGtfQ3Vyc29yOwoK
ICAgcHJvY2VkdXJlIFNldF9XbWNsYXNzX05hbWUKICAgICAoV2luZG93X0F0dHIgIDogaW4gR2Rr
X1dpbmRvd19BdHRyOwogICAgICBXbWNsYXNzX05hbWUgOiBpbiBTdHJpbmcpOwoKICAgZnVuY3Rp
b24gR2V0X1dtY2xhc3NfTmFtZSAoV2luZG93X0F0dHIgOiBpbiBHZGtfV2luZG93X0F0dHIpIHJl
dHVybiBTdHJpbmc7CgoKICAgcHJvY2VkdXJlIFNldF9XbWNsYXNzX0NsYXNzCiAgICAgKFdpbmRv
d19BdHRyICAgOiBpbiBHZGtfV2luZG93X0F0dHI7CiAgICAgIFdtY2xhc3NfQ2xhc3MgOiBpbiBT
dHJpbmcpOwoKICAgZnVuY3Rpb24gR2V0X1dtY2xhc3NfQ2xhc3MgKFdpbmRvd19BdHRyIDogaW4g
R2RrX1dpbmRvd19BdHRyKSByZXR1cm4gU3RyaW5nOwoKICAgcHJvY2VkdXJlIFNldF9PdmVycmlk
ZV9SZWRpcmVjdAogICAgIChXaW5kb3dfQXR0ciAgICAgICA6IGluIEdka19XaW5kb3dfQXR0cjsK
ICAgICAgT3ZlcnJpZGVfUmVkaXJlY3QgOiBpbiBCb29sZWFuKTsKCiAgIGZ1bmN0aW9uIEdldF9P
dmVycmlkZV9SZWRpcmVjdAogICAgIChXaW5kb3dfQXR0ciA6IGluIEdka19XaW5kb3dfQXR0cikg
cmV0dXJuIEJvb2xlYW47Cgpwcml2YXRlCiAgIE51bGxfV2luZG93X0F0dHIgOiBjb25zdGFudCBH
ZGtfV2luZG93X0F0dHIgOj0gbnVsbDsKICAgcHJhZ21hIEltcG9ydCAoQywgR2V0X0NvbG9ybWFw
LCAiYWRhX2dka193aW5kb3dfYXR0cl9nZXRfY29sb3JtYXAiKTsKICAgcHJhZ21hIEltcG9ydCAo
QywgR2V0X0N1cnNvciwgImFkYV9nZGtfd2luZG93X2F0dHJfZ2V0X2N1cnNvciIpOwogICBwcmFn
bWEgSW1wb3J0IChDLCBHZXRfRXZlbnRfTWFzaywgImFkYV9nZGtfd2luZG93X2F0dHJfZ2V0X2V2
ZW50X21hc2siKTsKICAgcHJhZ21hIEltcG9ydCAoQywgR2V0X0hlaWdodCwgImFkYV9nZGtfd2lu
ZG93X2F0dHJfZ2V0X2hlaWdodCIpOwogICBwcmFnbWEgSW1wb3J0IChDLCBHZXRfVmlzdWFsLCAi
YWRhX2dka193aW5kb3dfYXR0cl9nZXRfdmlzdWFsIik7CiAgIHByYWdtYSBJbXBvcnQgKEMsIEdl
dF9XaWR0aCwgImFkYV9nZGtfd2luZG93X2F0dHJfZ2V0X3dpZHRoIik7CiAgIHByYWdtYSBJbXBv
cnQgKEMsIEdldF9XaW5kb3dfQ2xhc3MsICJhZGFfZ2RrX3dpbmRvd19hdHRyX2dldF93Y2xhc3Mi
KTsKICAgcHJhZ21hIEltcG9ydCAoQywgR2V0X1dpbmRvd19UeXBlLCAiYWRhX2dka193aW5kb3df
YXR0cl9nZXRfd2luZG93X3R5cGUiKTsKICAgcHJhZ21hIEltcG9ydCAoQywgR2V0X1gsICJhZGFf
Z2RrX3dpbmRvd19hdHRyX2dldF94Iik7CiAgIHByYWdtYSBJbXBvcnQgKEMsIEdldF9ZLCAiYWRh
X2dka193aW5kb3dfYXR0cl9nZXRfeSIpOwogICBwcmFnbWEgSW1wb3J0IChDLCBTZXRfQ29sb3Jt
YXAsICJhZGFfZ2RrX3dpbmRvd19hdHRyX3NldF9jb2xvcm1hcCIpOwogICBwcmFnbWEgSW1wb3J0
IChDLCBTZXRfQ3Vyc29yLCAiYWRhX2dka193aW5kb3dfYXR0cl9zZXRfY3Vyc29yIik7CiAgIHBy
YWdtYSBJbXBvcnQgKEMsIFNldF9FdmVudF9NYXNrLCAiYWRhX2dka193aW5kb3dfYXR0cl9zZXRf
ZXZlbnRfbWFzayIpOwogICBwcmFnbWEgSW1wb3J0IChDLCBTZXRfSGVpZ2h0LCAiYWRhX2dka193
aW5kb3dfYXR0cl9zZXRfaGVpZ2h0Iik7CiAgIHByYWdtYSBJbXBvcnQgKEMsIFNldF9WaXN1YWws
ICJhZGFfZ2RrX3dpbmRvd19hdHRyX3NldF92aXN1YWwiKTsKICAgcHJhZ21hIEltcG9ydCAoQywg
U2V0X1dpZHRoLCAiYWRhX2dka193aW5kb3dfYXR0cl9zZXRfd2lkdGgiKTsKICAgcHJhZ21hIElt
cG9ydCAoQywgU2V0X1dpbmRvd19DbGFzcywgImFkYV9nZGtfd2luZG93X2F0dHJfc2V0X3djbGFz
cyIpOwogICBwcmFnbWEgSW1wb3J0IChDLCBTZXRfV2luZG93X1R5cGUsICJhZGFfZ2RrX3dpbmRv
d19hdHRyX3NldF93aW5kb3dfdHlwZSIpOwogICBwcmFnbWEgSW1wb3J0IChDLCBTZXRfWCwgImFk
YV9nZGtfd2luZG93X2F0dHJfc2V0X3giKTsKICAgcHJhZ21hIEltcG9ydCAoQywgU2V0X1ksICJh
ZGFfZ2RrX3dpbmRvd19hdHRyX3NldF95Iik7CmVuZCBHZGsuV2luZG93X0F0dHI7CgAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZ25hdGJ1Zy9nZGstYml0bWFwLmFkcwAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAADAxMDA2NDQAMDAwMTc1MQAwMDAwMDAwADAwMDAwMDEwMzQ3ADA3NTUx
MTA3NjMyADAxNDA2MAAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAB1c3RhciAgAHNwYXoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAd2hlZWwAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotLSAgICAgICAgICAg
ICAgIEd0a0FkYSAtIEFkYTk1IGJpbmRpbmcgZm9yIEd0aysvR25vbWUgICAgICAgICAgICAgICAt
LQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAtLQotLSAgIENvcHlyaWdodCAoQykgMTk5OC0yMDAwIEUuIEJyaW90LCBK
LiBCcm9iZWNrZXIgYW5kIEEuIENoYXJsZXQgICAtLQotLSAgICAgICAgICAgICAgICBDb3B5cmln
aHQgKEMpIDIwMDAtMjAwMSBBQ1QtRXVyb3BlICAgICAgICAgICAgICAgICAtLQotLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAtLQotLSBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yICAgICAtLQotLSBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgR2VuZXJhbCBQdWJsaWMgICAgICAgICAgICAgICAtLQotLSBMaWNlbnNlIGFzIHB1Ymxpc2hl
ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgICAgICAtLQotLSB2ZXJz
aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uICAtLQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAtLQotLSBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgICAtLQotLSBidXQgV0lUSE9VVCBBTlkg
V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiAgICAtLQotLSBN
RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg
dGhlIEdOVSAtLQotLSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuICAg
ICAgICAgICAgICAgICAgICAgICAgICAtLQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSBZb3Ugc2hvdWxkIGhh
dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgICAgICAgICAtLQot
LSBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSAg
ICAgICAgICAgICAtLQotLSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBs
ZSBQbGFjZSAtIFN1aXRlIDMzMCwgICAgICAtLQotLSBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVT
QS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAt
LQotLSBBcyBhIHNwZWNpYWwgZXhjZXB0aW9uLCBpZiBvdGhlciBmaWxlcyBpbnN0YW50aWF0ZSBn
ZW5lcmljcyBmcm9tICAtLQotLSB0aGlzIHVuaXQsIG9yIHlvdSBsaW5rIHRoaXMgdW5pdCB3aXRo
IG90aGVyIGZpbGVzIHRvIHByb2R1Y2UgYW4gICAtLQotLSBleGVjdXRhYmxlLCB0aGlzICB1bml0
ICBkb2VzIG5vdCAgYnkgaXRzZWxmIGNhdXNlICB0aGUgcmVzdWx0aW5nICAtLQotLSBleGVjdXRh
YmxlIHRvIGJlIGNvdmVyZWQgYnkgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLiBUaGlz
ICAtLQotLSBleGNlcHRpb24gZG9lcyBub3QgaG93ZXZlciBpbnZhbGlkYXRlIGFueSBvdGhlciBy
ZWFzb25zIHdoeSB0aGUgICAtLQotLSBleGVjdXRhYmxlIGZpbGUgIG1pZ2h0IGJlIGNvdmVyZWQg
YnkgdGhlICBHTlUgUHVibGljIExpY2Vuc2UuICAgICAtLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLS0gIDxk
ZXNjcmlwdGlvbj4KLS0KLS0gIFBpeG1hcHMgYXJlIG9mZi1zY3JlZW4gZHJhd2FibGVzLiBUaGV5
IGNhbiBiZSBkcmF3biB1cG9uIHdpdGggdGhlIHN0YW5kYXJkCi0tICBkcmF3aW5nIHByaW1pdGl2
ZXMsIHRoZW4gY29waWVkIHRvIGFub3RoZXIgZHJhd2FibGUgKHN1Y2ggYXMgYSBHZGtfV2luZG93
KQotLSAgd2l0aCBHZGsuUGl4bWFwLkRyYXcuIFRoZSBkZXB0aCBvZiBhIHBpeG1hcCBpcyB0aGUg
bnVtYmVyIG9mIGJpdHMgcGVyCi0tICBwaXhlbHMuIEJpdG1hcHMgYXJlIHNpbXBseSBwaXhtYXBz
IHdpdGggYSBkZXB0aCBvZiAxLiAoVGhhdCBpcywgdGhleSBhcmUKLS0gIG1vbm9jaHJvbWUgYml0
bWFwcyAtIGVhY2ggcGl4ZWwgY2FuIGJlIGVpdGhlciBvbiBvciBvZmYpLgotLSAgQHB4cmVme1Bh
Y2thZ2VfR2RrLlBpeG1hcH0gZm9yIG1vcmUgZGV0YWlscyBvbiBwaXhtYXAgaGFuZGxpbmcuCi0t
Ci0tICA8L2Rlc2NyaXB0aW9uPgotLSAgPGNfdmVyc2lvbj4xLjIuNzwvY192ZXJzaW9uPgoKd2l0
aCBHbGliOyB1c2UgR2xpYjsKCndpdGggR2RrLldpbmRvdzsKCnBhY2thZ2UgR2RrLkJpdG1hcCBp
cwoKICAgc3VidHlwZSBHZGtfQml0bWFwIGlzIEdkay5HZGtfQml0bWFwOwogICAtLSAgQSBibGFj
ayBhbmQgd2hpdGUgaW1hZ2UuCiAgIC0tICBUaGlzIHR5cGUgaXMgbWFpbmx5IHVzZWQgYXMgYSBt
YXNrIHdoZW4gZHJhd2luZyBvdGhlciBjb2xvcmVkIGltYWdlcy4KICAgLS0gIEVhY2ggcGl4ZWwg
Y2FuIGhhdmUgdHdvIHZhbHVlcywgMCBvciAxLgoKICAgTnVsbF9CaXRtYXAgOiBjb25zdGFudCBH
ZGtfQml0bWFwOwoKICAgcHJvY2VkdXJlIEdka19OZXcgKEJpdG1hcCA6IG91dCBHZGtfQml0bWFw
OwogICAgICAgICAgICAgICAgICAgICAgV2luZG93IDogaW4gIEdkay5XaW5kb3cuR2RrX1dpbmRv
dzsKICAgICAgICAgICAgICAgICAgICAgIFdpZHRoICA6IGluICBHaW50OwogICAgICAgICAgICAg
ICAgICAgICAgSGVpZ2h0IDogaW4gIEdpbnQpOwogICAtLSAgQ3JlYXRlIGEgbmV3IGJpdG1hcCB3
aXRoIGEgZ2l2ZW4gc2l6ZS4KICAgLS0gIFdpbmRvdyBpcyB1c2VkIHRvIGRldGVybWluZSBkZWZh
dWx0IHZhbHVlcyBmb3IgdGhlIG5ldyBiaXRtYXAuCiAgIC0tICBDYW4gYmUgZXZlbnR1YWxseSBu
dWxsIGluIHdoaWNoIGNhc2UgdGhlIHJvb3Qgd2luZG93IGlzIHVzZWQuCiAgIC0tICBXaWR0aCBp
cyB0aGUgd2lkdGggb2YgdGhlIG5ldyBiaXRtYXAgaW4gcGl4ZWxzLgogICAtLSAgSGVpZ2h0IGlz
IHRoZSBoZWlnaHQgb2YgdGhlIG5ldyBiaXRtYXAgaW4gcGl4ZWxzLgoKICAgcHJvY2VkdXJlIFJl
ZiAoQml0bWFwIDogaW4gR2RrX0JpdG1hcCk7CiAgIC0tICBBZGQgYSByZWZlcmVuY2UgdG8gYSBi
aXRtYXAuCgogICBwcm9jZWR1cmUgVW5yZWYgKEJpdG1hcCA6IGluIEdka19CaXRtYXApOwogICAt
LSAgVGhpcyBpcyB0aGUgdXN1YWwgd2F5IHRvIGRlc3Ryb3kgYSBiaXRtYXAuIFRoZSBtZW1vcnkg
aXMgZnJlZWQgd2hlbgogICAtLSAgdGhlcmUgaXMgbm8gbW9yZSByZWZlcmVuY2UKCiAgIHByb2Nl
ZHVyZSBDcmVhdGVfRnJvbV9EYXRhIChCaXRtYXAgOiAgICBvdXQgR2RrX0JpdG1hcDsKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFdpbmRvdyA6IGluICAgICBHZGsuV2luZG93Lkdka19X
aW5kb3c7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEYXRhICAgOiBpbiAgICAgU3Ry
aW5nOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2lkdGggIDogaW4gICAgIEdpbnQ7
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIZWlnaHQgOiBpbiAgICAgR2ludCk7CiAg
IC0tICBDcmVhdGUgYSBiaXRtYXAgZnJvbSBkYXRhIGluIFhCTSBmb3JtYXQuCiAgIC0tICBXaW5k
b3cgaXMgdXNlZCB0byBkZXRlcm1pbmUgZGVmYXVsdCB2YWx1ZXMgZm9yIHRoZSBuZXcgYml0bWFw
LCBjYW4gYmUKICAgLS0gIG51bGwgaW4gd2hpY2ggY2FzZSB0aGUgcm9vdCB3aW5kb3cgaXMgdXNl
ZC4KICAgLS0gIERhdGEgaXMgdGhlIFhCTSBkYXRhLgogICAtLSAgV2lkdGggaXMgdGhlIHdpZHRo
IG9mIHRoZSBuZXcgYml0bWFwIGluIHBpeGVscy4KICAgLS0gIEhlaWdodCBpcyB0aGUgaGVpZ2h0
IG9mIHRoZSBuZXcgYml0bWFwIGluIHBpeGVscy4KCnByaXZhdGUKICAgTnVsbF9CaXRtYXAgOiBj
b25zdGFudCBHZGtfQml0bWFwIDo9IG51bGw7CiAgIHByYWdtYSBJbXBvcnQgKEMsIFJlZiwgImdk
a19iaXRtYXBfcmVmIik7CiAgIHByYWdtYSBJbXBvcnQgKEMsIFVucmVmLCAiZ2RrX2JpdG1hcF91
bnJlZiIpOwplbmQgR2RrLkJpdG1hcDsKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAABnbmF0YnVnL2d0ay1hY2NlbF9ncm91cC5hZHMAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAMDEwMDY0NAAwMDAxNzUxADAwMDAwMDAAMDAwMDAwMTYwMzEAMDc1NTExMDc2MzIAMDE1
MTAzACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAA
c3BhegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3aGVlbAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0tICAgICAgICAgIEd0a0FkYSAtIEFk
YTk1IGJpbmRpbmcgZm9yIHRoZSBHaW1wIFRvb2xraXQgICAgICAgICAgICAgIC0tCi0tICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC0tCi0tICAgICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0IChDKSAxOTk4LTE5OTkgICAg
ICAgICAgICAgICAgICAgICAgIC0tCi0tICAgICAgICBFbW1hbnVlbCBCcmlvdCwgSm9lbCBCcm9i
ZWNrZXIgYW5kIEFybmF1ZCBDaGFybGV0ICAgICAgICAgIC0tCi0tICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IgICAgIC0tCi0tIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFs
IFB1YmxpYyAgICAgICAgICAgICAgIC0tCi0tIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciAgICAgIC0tCi0tIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4gIC0tCi0t
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC0tCi0tIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCAgIC0tCi0tIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mICAgIC0tCi0tIE1FUkNIQU5UQUJJ
TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VIC0t
Ci0tIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4gICAgICAgICAgICAg
ICAgICAgICAgICAgIC0tCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl
ZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyAgICAgICAgIC0tCi0tIExpY2Vuc2Ug
YWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlICAgICAgICAgICAg
IC0tCi0tIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0g
U3VpdGUgMzMwLCAgICAgIC0tCi0tIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tIEFzIGEg
c3BlY2lhbCBleGNlcHRpb24sIGlmIG90aGVyIGZpbGVzIGluc3RhbnRpYXRlIGdlbmVyaWNzIGZy
b20gIC0tCi0tIHRoaXMgdW5pdCwgb3IgeW91IGxpbmsgdGhpcyB1bml0IHdpdGggb3RoZXIgZmls
ZXMgdG8gcHJvZHVjZSBhbiAgIC0tCi0tIGV4ZWN1dGFibGUsIHRoaXMgIHVuaXQgIGRvZXMgbm90
ICBieSBpdHNlbGYgY2F1c2UgIHRoZSByZXN1bHRpbmcgIC0tCi0tIGV4ZWN1dGFibGUgdG8gYmUg
Y292ZXJlZCBieSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuIFRoaXMgIC0tCi0tIGV4
Y2VwdGlvbiBkb2VzIG5vdCBob3dldmVyIGludmFsaWRhdGUgYW55IG90aGVyIHJlYXNvbnMgd2h5
IHRoZSAgIC0tCi0tIGV4ZWN1dGFibGUgZmlsZSAgbWlnaHQgYmUgY292ZXJlZCBieSB0aGUgIEdO
VSBQdWJsaWMgTGljZW5zZS4gICAgIC0tCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgp3aXRoIEdkazsgdXNlIEdk
azsKd2l0aCBHZGsuVHlwZXM7CndpdGggR3RrLk9iamVjdDsKCnBhY2thZ2UgR3RrLkFjY2VsX0dy
b3VwIGlzCgogICB0eXBlIEd0a19BY2NlbF9Hcm91cCBpcyBuZXcgR2RrLkNfUHJveHk7CiAgIHR5
cGUgR3RrX0FjY2VsX0VudHJ5IGlzIG5ldyBHZGsuQ19Qcm94eTsKCiAgIHR5cGUgR3RrX0FjY2Vs
X0ZsYWdzIGlzIG5ldyBHdWludDsKICAgQWNjZWxfVmlzaWJsZSAgICAgICAgOiBjb25zdGFudCBH
dGtfQWNjZWxfRmxhZ3M7CiAgIEFjY2VsX1NpZ25hbF9WaXNpYmxlIDogY29uc3RhbnQgR3RrX0Fj
Y2VsX0ZsYWdzOwogICBBY2NlbF9Mb2NrZWQgICAgICAgICA6IGNvbnN0YW50IEd0a19BY2NlbF9G
bGFnczsKICAgQWNjZWxfTWFzayAgICAgICAgICAgOiBjb25zdGFudCBHdGtfQWNjZWxfRmxhZ3M7
CgogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAtLSAgQWNjZWxlcmF0b3IgR3JvdXBz
ICAtLQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKICAgcHJvY2VkdXJlIEd0a19OZXcg
KFdpZGdldCA6IG91dCBHdGtfQWNjZWxfR3JvdXApOwoKICAgZnVuY3Rpb24gR2V0X0RlZmF1bHQg
cmV0dXJuIEd0a19BY2NlbF9Hcm91cDsKCiAgIC0tICBwcm9jZWR1cmUgUmVmCiAgIC0tICBwcm9j
ZWR1cmUgVW5yZWYKCiAgIGZ1bmN0aW9uIEFjdGl2YXRlCiAgICAgKEFjY2VsX0dyb3VwIDogaW4g
R3RrX0FjY2VsX0dyb3VwOwogICAgICBBY2NlbF9LZXkgICA6IGluIEdkay5UeXBlcy5HZGtfS2V5
X1R5cGU7CiAgICAgIEFjY2VsX01vZHMgIDogaW4gR2RrLlR5cGVzLkdka19Nb2RpZmllcl9UeXBl
KSByZXR1cm4gQm9vbGVhbjsKCiAgIGZ1bmN0aW9uIEFjY2VsX0dyb3Vwc19BY3RpdmF0ZQogICAg
IChPYmplY3QgICAgIDogYWNjZXNzIEd0ay5PYmplY3QuR3RrX09iamVjdF9SZWNvcmQnQ2xhc3M7
CiAgICAgIEFjY2VsX0tleSAgOiBpbiBHZGsuVHlwZXMuR2RrX0tleV9UeXBlOwogICAgICBBY2Nl
bF9Nb2RzIDogaW4gR2RrLlR5cGVzLkdka19Nb2RpZmllcl9UeXBlKSByZXR1cm4gQm9vbGVhbjsK
CiAgIHByb2NlZHVyZSBBdHRhY2gKICAgICAoQWNjZWxfR3JvdXAgOiBpbiBHdGtfQWNjZWxfR3Jv
dXA7CiAgICAgIE9iamVjdCAgICAgIDogYWNjZXNzIEd0ay5PYmplY3QuR3RrX09iamVjdF9SZWNv
cmQnQ2xhc3MpOwogICAtLSAgT2JqZWN0IHNob3VsZCBiZSBhYmxlIHRvIGdldCBrZXlfcHJlc3Mg
YW5kIGtleV9yZWxlYXNlIGV2ZW50cyAoaWUKICAgLS0gIHRoaXMgd29uJ3Qgd29yayBpbiBhIEd0
a19Cb3ggd2hpY2ggaGFzIG5vIHdpbmRvdykuCiAgIC0tICBUaGUgcmVjb21tZW5kZWQgd2F5IGlz
IHRvIGF0dGFjaCB0aGUgQWNjZWxfR3JvdXAgdG8gdGhlIHRvcGxldmVsIHdpbmRvdy4KCiAgIHBy
b2NlZHVyZSBEZXRhY2gKICAgICAoQWNjZWxfR3JvdXAgOiBpbiBHdGtfQWNjZWxfR3JvdXA7CiAg
ICAgIE9iamVjdCAgICAgIDogYWNjZXNzIEd0ay5PYmplY3QuR3RrX09iamVjdF9SZWNvcmQnQ2xh
c3MpOwoKICAgcHJvY2VkdXJlIExvY2sgKEFjY2VsX0dyb3VwIDogaW4gR3RrX0FjY2VsX0dyb3Vw
KTsKCiAgIHByb2NlZHVyZSBVbmxvY2sgKEFjY2VsX0dyb3VwIDogaW4gR3RrX0FjY2VsX0dyb3Vw
KTsKCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAtLSAgQWNjZWxlcmF0
b3IgR3JvdXAgRW50cmllcyAgLS0KICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CgogICBmdW5jdGlvbiBHZXRfRW50cnkKICAgICAoQWNjZWxfR3JvdXAgOiBpbiBHdGtfQWNjZWxf
R3JvdXA7CiAgICAgIEFjY2VsX0tleSAgIDogaW4gR2RrLlR5cGVzLkdka19LZXlfVHlwZTsKICAg
ICAgQWNjZWxfTW9kcyAgOiBpbiBHZGsuVHlwZXMuR2RrX01vZGlmaWVyX1R5cGUpIHJldHVybiBH
dGtfQWNjZWxfRW50cnk7CgogICBwcm9jZWR1cmUgTG9ja19FbnRyeQogICAgIChBY2NlbF9Hcm91
cCA6IGluIEd0a19BY2NlbF9Hcm91cDsKICAgICAgQWNjZWxfS2V5ICAgOiBpbiBHZGsuVHlwZXMu
R2RrX0tleV9UeXBlOwogICAgICBBY2NlbF9Nb2RzICA6IGluIEdkay5UeXBlcy5HZGtfTW9kaWZp
ZXJfVHlwZSk7CgogICBwcm9jZWR1cmUgVW5sb2NrX0VudHJ5CiAgICAgKEFjY2VsX0dyb3VwIDog
aW4gR3RrX0FjY2VsX0dyb3VwOwogICAgICBBY2NlbF9LZXkgICA6IGluIEdkay5UeXBlcy5HZGtf
S2V5X1R5cGU7CiAgICAgIEFjY2VsX01vZHMgIDogaW4gR2RrLlR5cGVzLkdka19Nb2RpZmllcl9U
eXBlKTsKCiAgIHByb2NlZHVyZSBBZGQKICAgICAoQWNjZWxfR3JvdXAgIDogaW4gR3RrX0FjY2Vs
X0dyb3VwOwogICAgICBBY2NlbF9LZXkgICAgOiBpbiAgICAgR2RrLlR5cGVzLkdka19LZXlfVHlw
ZTsKICAgICAgQWNjZWxfTW9kcyAgIDogaW4gICAgIEdkay5UeXBlcy5HZGtfTW9kaWZpZXJfVHlw
ZTsKICAgICAgQWNjZWxfRmxhZ3MgIDogaW4gICAgIEd0a19BY2NlbF9GbGFnczsKICAgICAgT2Jq
ZWN0ICAgICAgIDogYWNjZXNzIEd0ay5PYmplY3QuR3RrX09iamVjdF9SZWNvcmQnQ2xhc3M7CiAg
ICAgIEFjY2VsX1NpZ25hbCA6IGluICAgICBTdHJpbmcpOwoKICAgcHJvY2VkdXJlIFJlbW92ZQog
ICAgIChBY2NlbF9Hcm91cCA6IGluIEd0a19BY2NlbF9Hcm91cDsKICAgICAgQWNjZWxfS2V5ICAg
OiBpbiAgICAgR2RrLlR5cGVzLkdka19LZXlfVHlwZTsKICAgICAgQWNjZWxfTW9kcyAgOiBpbiAg
ICAgR2RrLlR5cGVzLkdka19Nb2RpZmllcl9UeXBlOwogICAgICBPYmplY3QgICAgICA6IGFjY2Vz
cyBHdGsuT2JqZWN0Lkd0a19PYmplY3RfUmVjb3JkJ0NsYXNzKTsKCiAgIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQogICAtLSAgQWNjZWxlcmF0b3IgU2lnbmFscyAgLS0KICAgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCgogICBwcm9jZWR1cmUgSGFuZGxlX0FkZAogICAgIChPYmplY3Qg
ICAgICAgICAgOiBhY2Nlc3MgR3RrLk9iamVjdC5HdGtfT2JqZWN0X1JlY29yZCdDbGFzczsKICAg
ICAgQWNjZWxfU2lnbmFsX0lkIDogaW4gICAgIEd1aW50OwogICAgICBBY2NlbF9Hcm91cCAgICAg
OiBpbiAgICAgR3RrX0FjY2VsX0dyb3VwOwogICAgICBBY2NlbF9LZXkgICAgICAgOiBpbiAgICAg
R2RrLlR5cGVzLkdka19LZXlfVHlwZTsKICAgICAgQWNjZWxfTW9kcyAgICAgIDogaW4gICAgIEdk
ay5UeXBlcy5HZGtfTW9kaWZpZXJfVHlwZTsKICAgICAgQWNjZWxfRmxhZ3MgICAgIDogaW4gICAg
IEd0a19BY2NlbF9GbGFncyk7CgogICBwcm9jZWR1cmUgSGFuZGxlX1JlbW92ZQogICAgIChPYmpl
Y3QgICAgICA6IGFjY2VzcyBHdGsuT2JqZWN0Lkd0a19PYmplY3RfUmVjb3JkJ0NsYXNzOwogICAg
ICBBY2NlbF9Hcm91cCA6IGluICAgICBHdGtfQWNjZWxfR3JvdXA7CiAgICAgIEFjY2VsX0tleSAg
IDogaW4gICAgIEdkay5UeXBlcy5HZGtfS2V5X1R5cGU7CiAgICAgIEFjY2VsX01vZHMgIDogaW4g
ICAgIEdkay5UeXBlcy5HZGtfTW9kaWZpZXJfVHlwZSk7CgogICAtLSAgZnVuY3Rpb24gQ3JlYXRl
X0FkZAogICAtLSAgZnVuY3Rpb24gQ3JlYXRlX1JlbW92ZQogICAtLSAgcHJvY2VkdXJlIE1hcnNo
YWxfQWRkCiAgIC0tICBwcm9jZWR1cmUgTWFyc2hhbF9SZW1vdmUKCiAgIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLQogICAtLSAgTWlzY2VsbGFuZW91cyAgLS0KICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CgogICAtLSAgZnVuY3Rpb24gQWNjZWxfR3JvdXBzX0Zyb21fT2JqZWN0CiAgIC0tICBmdW5jdGlv
biBFbnRyaWVzX0Zyb21fT2JqZWN0CgogICAtLS0tLS0tLS0tLS0tLS0tLS0tLQogICAtLSAgQWNj
ZWxlcmF0b3JzICAtLQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLQoKICAgZnVuY3Rpb24gQWNjZWxl
cmF0b3JfVmFsaWQKICAgICAoS2V5dmFsICAgIDogaW4gR2RrLlR5cGVzLkdka19LZXlfVHlwZTsK
ICAgICAgTW9kaWZpZXJzIDogaW4gR2RrLlR5cGVzLkdka19Nb2RpZmllcl9UeXBlKSByZXR1cm4g
Qm9vbGVhbjsKCiAgIHByb2NlZHVyZSBBY2NlbGVyYXRvcl9QYXJzZQogICAgIChBY2NlbGVyYXRv
ciAgICAgIDogaW4gICAgIFN0cmluZzsKICAgICAgQWNjZWxlcmF0b3JfS2V5ICA6ICAgIG91dCBH
ZGsuVHlwZXMuR2RrX0tleV9UeXBlOwogICAgICBBY2NlbGVyYXRvcl9Nb2RzIDogICAgb3V0IEdk
ay5UeXBlcy5HZGtfTW9kaWZpZXJfVHlwZSk7CgogICBmdW5jdGlvbiBBY2NlbGVyYXRvcl9OYW1l
CiAgICAgKEFjY2VsZXJhdG9yX0tleSAgOiBpbiBHZGsuVHlwZXMuR2RrX0tleV9UeXBlOwogICAg
ICBBY2NlbGVyYXRvcl9Nb2RzIDogaW4gR2RrLlR5cGVzLkdka19Nb2RpZmllcl9UeXBlKSByZXR1
cm4gU3RyaW5nOwoKICAgcHJvY2VkdXJlIEFjY2VsZXJhdG9yX1NldF9EZWZhdWx0X01vZF9NYXNr
CiAgICAgKERlZmF1bHRfTW9kX01hc2sgOiBpbiBHZGsuVHlwZXMuR2RrX01vZGlmaWVyX1R5cGUp
OwoKICAgZnVuY3Rpb24gQWNjZWxlcmF0b3JfR2V0X0RlZmF1bHRfTW9kX01hc2sKICAgICByZXR1
cm4gR2RrLlR5cGVzLkdka19Nb2RpZmllcl9UeXBlOwoKcHJpdmF0ZQoKICAgQWNjZWxfVmlzaWJs
ZSAgICAgICAgOiBjb25zdGFudCBHdGtfQWNjZWxfRmxhZ3MgOj0gMiAqKiAwOwogICBBY2NlbF9T
aWduYWxfVmlzaWJsZSA6IGNvbnN0YW50IEd0a19BY2NlbF9GbGFncyA6PSAyICoqIDE7CiAgIEFj
Y2VsX0xvY2tlZCAgICAgICAgIDogY29uc3RhbnQgR3RrX0FjY2VsX0ZsYWdzIDo9IDIgKiogMjsK
ICAgQWNjZWxfTWFzayAgICAgICAgICAgOiBjb25zdGFudCBHdGtfQWNjZWxfRmxhZ3MgOj0gMTYj
MDcjOwoKICAgcHJhZ21hIEltcG9ydCAoQywgQWNjZWxlcmF0b3JfU2V0X0RlZmF1bHRfTW9kX01h
c2ssCiAgICAgICAgICAgICAgICAgICJndGtfYWNjZWxlcmF0b3Jfc2V0X2RlZmF1bHRfbW9kX21h
c2siKTsKICAgcHJhZ21hIEltcG9ydCAoQywgQWNjZWxlcmF0b3JfR2V0X0RlZmF1bHRfTW9kX01h
c2ssCiAgICAgICAgICAgICAgICAgICJndGtfYWNjZWxlcmF0b3JfZ2V0X2RlZmF1bHRfbW9kX21h
c2siKTsKICAgcHJhZ21hIEltcG9ydCAoQywgR2V0X0RlZmF1bHQsICJndGtfYWNjZWxfZ3JvdXBf
Z2V0X2RlZmF1bHQiKTsKICAgcHJhZ21hIEltcG9ydCAoQywgTG9jaywgImd0a19hY2NlbF9ncm91
cF9sb2NrIik7CiAgIHByYWdtYSBJbXBvcnQgKEMsIFVubG9jaywgImd0a19hY2NlbF9ncm91cF91
bmxvY2siKTsKZW5kIEd0ay5BY2NlbF9Hcm91cDsKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAGduYXRidWcvZ3RrLW9iamVjdC5hZHMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMTAwNjQ0ADAw
MDE3NTEAMDAwMDAwMAAwMDAwMDA0MDY1MgAwNzU1MTEwNzYzMgAwMTQwNzQAIDAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABzcGF6AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAHdoZWVsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAALS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KLS0gICAgICAgICAgR3RrQWRhIC0gQWRhOTUgYmluZGluZyBmb3Ig
dGhlIEdpbXAgVG9vbGtpdCAgICAgICAgICAgICAgLS0KLS0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gICAgICAg
ICAgICAgICAgICAgICBDb3B5cmlnaHQgKEMpIDE5OTgtMjAwMCAgICAgICAgICAgICAgICAgICAg
ICAgLS0KLS0gICAgICAgIEVtbWFudWVsIEJyaW90LCBKb2VsIEJyb2JlY2tlciBhbmQgQXJuYXVk
IENoYXJsZXQgICAgICAgICAgLS0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciAgICAgLS0KLS0gbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljICAgICAgICAg
ICAgICAgLS0KLS0gTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbjsgZWl0aGVyICAgICAgLS0KLS0gdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAo
YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLiAgLS0KLS0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0g
VGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1
c2VmdWwsICAgLS0KLS0gYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl
IGltcGxpZWQgd2FycmFudHkgb2YgICAgLS0KLS0gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgLS0KLS0gR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLiAgICAgICAgICAgICAgICAgICAgICAgICAgLS0K
LS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLS0KLS0gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg
R05VIEdlbmVyYWwgUHVibGljICAgICAgICAgLS0KLS0gTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMg
bGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgICAgICAgICAgICAgLS0KLS0gRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsICAgICAg
LS0KLS0gQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLS0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gQXMgYSBzcGVjaWFsIGV4Y2VwdGlv
biwgaWYgb3RoZXIgZmlsZXMgaW5zdGFudGlhdGUgZ2VuZXJpY3MgZnJvbSAgLS0KLS0gdGhpcyB1
bml0LCBvciB5b3UgbGluayB0aGlzIHVuaXQgd2l0aCBvdGhlciBmaWxlcyB0byBwcm9kdWNlIGFu
ICAgLS0KLS0gZXhlY3V0YWJsZSwgdGhpcyAgdW5pdCAgZG9lcyBub3QgIGJ5IGl0c2VsZiBjYXVz
ZSAgdGhlIHJlc3VsdGluZyAgLS0KLS0gZXhlY3V0YWJsZSB0byBiZSBjb3ZlcmVkIGJ5IHRoZSBH
TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4gVGhpcyAgLS0KLS0gZXhjZXB0aW9uIGRvZXMgbm90
IGhvd2V2ZXIgaW52YWxpZGF0ZSBhbnkgb3RoZXIgcmVhc29ucyB3aHkgdGhlICAgLS0KLS0gZXhl
Y3V0YWJsZSBmaWxlICBtaWdodCBiZSBjb3ZlcmVkIGJ5IHRoZSAgR05VIFB1YmxpYyBMaWNlbnNl
LiAgICAgLS0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi0tICA8ZGVzY3JpcHRpb24+Ci0tICBUaGlzIGlzIHRo
ZSBiYXNlIGNsYXNzIG9mIHRoZSB3aWRnZXQgaGllcmFyY2h5LgotLSAgRXZlcnl0aGluZyBpbiBH
dGtBZGEgaW5oZXJpdHMgZnJvbSB0aGlzIGNsYXNzIEd0a19PYmplY3QsIGV4Y2VwdCBmb3IgYSBm
ZXcKLS0gIHN0cnVjdHVyZXMgaW4gdGhlIEdkay4qIHBhY2thZ2VzIChsb3ctbGV2ZWwgZHJhd2lu
ZyByb3V0aW5lcykuCi0tCi0tICBUaGlzIGNsYXNzIHByb3ZpZGVzIGEgc2V0IG9mIGhhbmRmdWwg
ZmVhdHVyZXMgdGhhdCB5b3UgY2FuIGNob29zZSB0byByZXVzZQotLSAgaW4geW91ciBhcHBsaWNh
dGlvbnM6Ci0tCi0tICAtIFJlZmVyZW5jZSBjb3VudGluZzogYW4gb2JqZWN0IGlzIG5vdCBkZWxl
dGVkIHdoaWxlIHRoZXJlIGV4aXN0cyBhdCBsZWFzdAotLSAgICBvbmUgcmVmZXJlbmNlIHRvIGl0
LiBBbHRob3VnaCBHdGtBZGEgbW9zdGx5IHRha2VzIGNhcmUgb2YgdGhhdCBhc3BlY3QKLS0gICAg
dHJhbnNwYXJlbnRseSwgeW91IG1pZ2h0IG5lZWQgaW4gc29tZSBvYnNjdXJlIGNhc2VzIHRvIGlu
Y3JlbWVudCBvcgotLSAgICBkZWNyZW1lbnQgdGhlIHJlZmVyZW5jZSBjb3VudGluZyBmb3IgYSB3
aWRnZXQgbWFudWFsbHksIHNvIHRoYXQgaXQgaXMgbm90Ci0tICAgIHJlbW92ZWQgZnJvbSBtZW1v
cnkgd2hpbGUgeW91IHN0aWxsIG5lZWQgaXQuCi0tCi0tICAtIFVzZXIgZGF0YTogYW55IG51bWJl
ciBvZiBkYXRhIGNhbiBiZSBhdHRhY2hlZCB0byBhIEd0a19PYmplY3Qgb3Igb25lIG9mCi0tICAg
IGl0cyBjaGlsZHJlbi4gVGhlc2VzIGRhdGEgYXJlIHJlZmVyZW5jZXMgYnkgYSBTdHJpbmcsIGlu
IGEgaGFzaC10YWJsZS4KLS0gICAgR3RrQWRhIGl0c2VsZiB1c2VzIHRoaXMgZmVhdHVyZSB0byBw
cm92aWRlIGFuIGVhc3kgY29udmVyc2lvbiBiZXR3ZWVuIEMKLS0gICAgYW5kIEFkYSB3aWRnZXRz
LgotLSAgICBBbHRob3VnaCB5b3UgbWlnaHQgcHJlZmVyIHRvIGhhdmUgYSBjb21wbGV0ZWx5IG9i
amVjdC1vcmllbnRlZAotLSAgICBhcHBsaWNhdGlvbiAoYW5kIHRodXMgYXNzb2NpYXRlIGRhdGEg
dGhyb3VnaCBjbGFzcyBpbmhlcml0YW5jZSksIGl0Ci0tICAgIG1pZ2h0IGJlIGNvbnZlbmllbnQg
dG8gZGlyZWN0bHkgYXR0YWNoIHNvbWUgZGF0YSB0byB5b3VyIG9iamVjdHMuCi0tCi0tICAtIEl0
IGFsc28gY29udGFpbnMgdGhlIGJhc2ljIHN0cnVjdHVyZXMgYW5kIHN1YnByb2dyYW1zIHJlcXVp
cmVkIGZvciBzaWduYWwKLS0gICAgZW1pc3Npb24uIFRoaXMgaXMgb2YgY291cnNlIHVzZWQgdG8g
aW1wbGVtZW50IHRoZSBzaWduYWwgbWVjaGFuaXNtIGluCi0tICAgIEd0a0FkYSBpdHNlbGYsIGJ1
dCBjYW4gYWxzbyBiZSB1c2VkIHRvIGltcGxlbWVudCBhIE1vZGVsL1ZpZXcvQ29udHJvbGxlcgot
LSAgICBmcmFtZXdvcmsuCi0tCi0tICBOb3RlIHRoYXQgYSBsb3Qgb2YgZnVuY3Rpb25zIHByb3Zp
ZGVkIGluIHRoZSBDIGludGVyZmFjZSBhcmUgbm90IHByb3ZpZGVkCi0tICBoZXJlLiBUaGV5IGFy
ZSB1c2VkIHRvIGVtdWxhdGUgYW4gb2JqZWN0LW9yaWVudGVkIGxhbmd1YWdlIGluIEMsIHdoaWNo
IGNhbgotLSAgb2YgY291cnNlIGJlIGRvbmUgbXVjaCBtb3JlIGNvbnZlbmllbnRseSBpbiBBZGEu
IFRoZXJlZm9yZSBtb3N0IG9mIHRoZXNlCi0tICBmdW5jdGlvbnMgYXJlIG5vdCBuZWVkZWQuCi0t
Ci0tICBIZXJlIGlzIGEgYnJpZWYgZXhwbGFuYXRpb24gb24gaG93IHRoZSByZWZlcmVuY2UgY291
bnRpbmcgYW5kIGRlc3RydWN0aW9uCi0tICBwcm9jZXNzIHdvcmsuIFlvdSBzaG91bGQgbm90IGhh
dmUgdG8gdW5kZXJzdGFuZCBhbGwgdGhpcyB0byB1c2UgR3RrQWRhLCBidXQKLS0gIGl0IG1pZ2h0
IGhlbHAgYW55d2F5LgotLQotLSAgV2hlbiBhbiBvYmplY3QgKGRlc2NlbmRhbnQgb2YgR3RrLk9i
amVjdCkgaXMgY3JlYXRlZCwgaXQgaGFzIGluaXRpYWxseSBhCi0tICByZWZfY291bnQgb2YgMS4g
QSBmbGFnIGlzIHNldCB0byBzYXkgdGhlIG9iamVjdCBpcyAiZmxvYXRpbmciLiAgU2VlIHRoZQot
LSAgRmxhZ3MgZnVuY3Rpb25zIGluIHRoaXMgcGFja2FnZSBmb3IgaG93IHRvIHJldHJpZXZlIHRo
ZSBzdGF0dXMgb2YgdGhpcwotLSAgZmxhZy4KLS0KLS0gIFdoZW4gdGhlIG9iamVjdCBnZXRzIGEg
cGFyZW50IChpZSBHdGsuV2lkZ2V0LlNldF9QYXJlbnQgaXMgY2FsbGVkLCBwb3NzaWJseQotLSAg
ZnJvbSBvdGhlciBzdWJwcm9ncmFtcyBsaWtlIEd0ay5Db250YWluZXIuQWRkLCBHdGsuQm94LlBh
Y2tfU3RhcnQsIC4uLiksCi0tICB0aGUgcmVmX2NvdW50IG9mIHRoZSBvYmplY3QgaXMgaW5jcmVt
ZW50ZWQgdG8gMi4KLS0gIElmIHRoZSBvYmplY3Qgd2FzIHN0aWxsICJmbG9hdGluZyIsIGl0IGlz
IGFsc28gInNpbmtlZCIsIGllIGl0cyByZWZfY291bnQKLS0gIGlzIGRlY3JlbWVudGVkIHRvIDEs
IGFuZCB0aGUgImZsb2F0aW5nIiBmbGFnIGlzIGNsZWFyZWQuCi0tCi0tICBUaGUgc2FtZSBiZWhh
dmlvciBhcyBhYm92ZSBoYXBwZW5zIHdoZW4gdGhlIG9iamVjdCBpcyByZWdpc3RlcmVkIGFzIGEK
LS0gIHRvcC1sZXZlbCB3aWRnZXQgKGkuZS4gd2Uga25vdyBpdCB3b24ndCBoYXZlIGFueSBwYXJl
bnQpLgotLQotLSAgVGh1cyB0aGUgbm9ybWFsIGxpZmUgY3ljbGUgb2YgYW4gb2JqZWN0IGlzIHRv
IGhhdmUgYSByZWZfY291bnQgdG8gMSwgYW5kCi0tICBub3QgYmUgYSAiZmxvYXRpbmciIG9iamVj
dC4KLS0KLS0gIFdoZW4gdGhlIG9iamVjdCBpcyBkZXN0cm95ZWQsIHRoZSBmb2xsb3dpbmcgaGFw
cGVuczoKLS0gICAgIEEgdGVtcG9yYXJ5IHJlZmVyZW5jZSB0byB0aGUgb2JqZWN0IGlzIGNyZWF0
ZWQgKGNhbGwgdG8gUmVmKSwgYW5kCi0tICAgICAgICByZWZfY291bnQgdG8gMi4KLS0gICAgIFRo
ZSBvYmplY3QgaXMgc2h1dGRvd246Ci0tICAgICAgICBJdCBpcyByZW1vdmVkIGZyb20gaXRzIHBh
cmVudCAoaWYgYW55KSwgYW5kIGl0cyByZWZfY291bnQgaXMKLS0gICAgICAgICAgZGVjcmVtZW50
ZWQgdG8gMS4KLS0gICAgICAgIFRoZSAiZGVzdHJveSIgc2lnbmFsIGlzIGVtaXR0ZWQsIHRoZSB1
c2VyJ3MgaGFuZGxlcnMgYXJlIGNhbGxlZCwKLS0gICAgICAgICAgYW5kIHRoZW4gYWxsIHRoZSBo
YW5kbGVycyBjb25uZWN0ZWQgdG8gdGhlIG9iamVjdCBhcmUgZGVzdHJveWVkLgotLSAgICAgVGhl
IG9iamVjdCBpcyB1bnJlZi1lZC4gSWYgaXRzIHJlZl9jb3VudCBnb2VzIGRvd24gdG8gMCAobm9y
bWFsIGNhc2UpLAotLSAgICAgICAgdGhlIG1lbW9yeSB1c2VkIGJ5IHRoZSBvYmplY3QgYW5kIGl0
cyB1c2VyX2RhdGEgaXMgZnJlZWQuCi0tCi0tICA8L2Rlc2NyaXB0aW9uPgotLSAgPGNfdmVyc2lv
bj4xLjIuNjwvY192ZXJzaW9uPgoKd2l0aCBTeXN0ZW07CndpdGggR3RrYWRhLlR5cGVzOwoKcGFj
a2FnZSBHdGsuT2JqZWN0IGlzCgogICB0eXBlIEd0a19PYmplY3RfUmVjb3JkIGlzIG5ldyBHdGsu
Um9vdF9UeXBlIHdpdGggcHJpdmF0ZTsKICAgdHlwZSBHdGtfT2JqZWN0IGlzIGFjY2VzcyBhbGwg
R3RrX09iamVjdF9SZWNvcmQnQ2xhc3M7CgogICBwcm9jZWR1cmUgUmVmIChPYmplY3QgOiBhY2Nl
c3MgR3RrX09iamVjdF9SZWNvcmQpOwogICAtLSAgSW5jcmVtZW50IHRoZSByZWZlcmVuY2UgY291
bnQgb24gdGhlIG9iamVjdC4KICAgLS0gIFNpbmNlIGFuIG9iamVjdCBpcyBub3QgZGVsZXRlZCB3
aGlsZSBpdHMgcmVmZXJlbmNlIGNvdW50IGlzIG5vdCBudWxsLAogICAtLSAgdGhpcyBpcyBhIHdh
eSB0byBrZWVwIGFuIG9iamVjdCBpbiBtZW1vcnkuCiAgIC0tICBHdGtBZGEgbW9zdGx5IHRha2Vz
IGNhcmUgb2YgZXZlcnl0aGluZywgYW5kIHlvdSBzaG91bGQgbm90IG5lZWQgdGhpcwogICAtLSAg
ZnVuY3Rpb24gZXhjZXB0IGluIHNwZWNpYWwgY2FzZXMuCgogICBwcm9jZWR1cmUgVW5yZWYgKE9i
amVjdCA6IGFjY2VzcyBHdGtfT2JqZWN0X1JlY29yZCk7CiAgIC0tICBEZWNyZW1lbnQgdGhlIHJl
ZmVyZW5jZSBjb3VudCBmb3IgYW4gb2JqZWN0LgogICAtLSAgSWYgaXQgcGFzc2VkIGZyb20gMSB0
byAwLCB0aGVuIHRoZSBtZW1vcnkgYWxsb2NhdGVkIGZvciB0aGUgb2JqZWN0IGlzCiAgIC0tICBm
cmVlZCwgYW5kIHRoZSBvYmplY3Qgbm8gbG9uZ2VyIHVzYWJsZS4KICAgLS0gIEl0IGlzIGJldHRl
ciB0byB1c2UgRGVzdHJveSB0aGFuIFVucmVmIHRvIGRlc3Ryb3kgYW4gb2JqZWN0LCBhbHRob3Vn
aAogICAtLSAgYm90aCBtaWdodCBiZSBhY2NlcHRhYmxlLgoKICAgcHJvY2VkdXJlIFNpbmsgKE9i
amVjdCA6IGFjY2VzcyBHdGtfT2JqZWN0X1JlY29yZCk7CiAgIC0tICBTaW5rIHRoZSBvYmplY3Qu
CiAgIC0tICBJZiB0aGUgb2JqZWN0IGlzIGZsb2F0aW5nIChkb2VzIG5vdCBoYXZlIGEgcGFyZW50
IHlldCksIGl0IGlzIHVucmVmLWVkCiAgIC0tICBvbmNlIGFuZCB0aGUgZmxvYXRpbmcgZmxhZyBp
cyBjbGVhcmVkLgoKICAgcHJvY2VkdXJlIERlc3Ryb3kgKE9iamVjdCA6IGFjY2VzcyBHdGtfT2Jq
ZWN0X1JlY29yZCk7CiAgIC0tICBEZXN0cm95IHRoZSBvYmplY3QuCiAgIC0tICBUaGlzIGVtaXRz
IGEgImRlc3Ryb3kiIHNpZ25hbCwgY2FsbHMgYWxsIHlvdXIgaGFuZGxlcnMsIGFuZCB0aGVuCiAg
IC0tICB1bmNvbm5lY3RzIHRoZW0gYWxsLiBUaGUgb2JqZWN0IGlzIHRoZW4gdW5yZWYtZWQsIGFu
ZCBpZiBpdHMgcmVmZXJlbmNlCiAgIC0tICBjb3VudCBnb2VzIGRvd24gdG8gMCwgdGhlIG1lbW9y
eSBhc3NvY2lhdGVkIHdpdGggdGhlIG9iamVjdCBhbmQgaXRzCiAgIC0tICB1c2VyIGRhdGEgaXMg
ZnJlZWQuCiAgIC0tICBOb3RlIHRoYXQgd2hlbiB5b3UgZGVzdHJveSBoYW5kbGVycyBhcmUgY2Fs
bGVkLCB0aGUgdXNlcl9kYXRhIGlzIHN0aWxsCiAgIC0tICBhdmFpbGFibGUuCgogICBmdW5jdGlv
biBHZXRfVHlwZSByZXR1cm4gR3RrLkd0a19UeXBlOwogICAtLSAgUmV0dXJuIHRoZSBpbnRlcm5h
bCB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggYSBHdGtfT2JqZWN0IGludGVybmFsbHkuCiAgIHByYWdt
YSBJbXBvcnQgKEMsIEdldF9UeXBlLCAiZ3RrX29iamVjdF9nZXRfdHlwZSIpOwoKICAgZnVuY3Rp
b24gR2V0X1R5cGUgKE9iamVjdCA6IGFjY2VzcyBHdGtfT2JqZWN0X1JlY29yZCkgcmV0dXJuIEd0
a19UeXBlOwogICAtLSAgUmV0dXJuIHRoZSB0eXBlIG9mIE9iamVjdC4KICAgLS0gIFRoaXMgZnVu
Y3Rpb24gaXMgbW9zdGx5IHVzZWQgaW50ZXJuYWxseSwgc2luY2UgaW4gQWRhIHlvdSBjYW4gc2lt
cGx5CiAgIC0tICB0ZXN0IHdoZXRoZXIgYW4gb2JqZWN0IGJlbG9uZyB0byBhIGNsYXNzIHdpdGgg
YSBzdGF0ZW1lbnQgbGlrZToKICAgLS0KICAgLS0gICAgIGlmIE9iamVjdCBpbiBHdGtfQnV0dG9u
X1JlY29yZCdDbGFzcyB0aGVuIC4uLgogICAtLQogICAtLSAgd2hpY2ggaXMgZWFzaWVyLgoKICAg
LS0tLS0tLS0tLS0tLQogICAtLSAgRmxhZ3MgIC0tCiAgIC0tLS0tLS0tLS0tLS0KICAgLS0gIEVh
Y2ggb2JqZWN0IGlzIGFzc29jaWF0ZWQgd2l0aCBhIHNldCBvZiBmbGFncywgdGhhdCByZXBvcnRz
IHRoZSBzdGF0ZQogICAtLSAgb2YgdGhlIG9iamVjdC4KICAgLS0gIFRoZSBmb2xsb3dpbmcgZmxh
Z3MgYXJlIGtub3duIGJ5IGFsbCBvYmplY3RzOgogICAtLQogICAtLSAgLSAiRGVzdHJveWVkIjoK
ICAgLS0gICAgIFNldCBpZiB0aGUgb2JqZWN0IGlzIG1hcmtlZCBhcyBkZXN0cm95ZWQgKGlmIGl0
cyByZWZlcmVuY2UgY291bnQgaXMKICAgLS0gICAgIG5vdCB5ZXQgMCwgdGhlIG1lbW9yeSBoYXMg
bm90IGJlZW4gZnJlZWQsIGJ1dCB5b3Ugc2hvdWxkIG5vdCB1c2UgaXQKICAgLS0gICAgIGFueXdh
eSkuCiAgIC0tCiAgIC0tICAtICJGbG9hdGluZyI6CiAgIC0tICAgICBUaGUgb2JqZWN0IGhhcyBu
byBwYXJlbnQgeWV0LCBzaW5jZSBpdCB3YXMganVzdCBjcmVhdGVkLiBJdHMKICAgLS0gICAgIHJl
ZmVyZW5jZSBjb3VudCBpcyBzdGlsbCAxIChhcyBpdCB3YXMgaW5pdGlhbGx5KS4gVGhpcyBmbGFn
IGlzCiAgIC0tICAgICBjbGVhcmVkIGFzIHNvb24gYXMgU2V0X1BhcmVudCBpcyBjYWxsZWQgb24g
dGhlIHdpZGdldCBvciB0aGUgd2lkZ2V0CiAgIC0tICAgICBpcyBxdWFsaWZpZWQgYXMgYSB0b3Bs
ZXZlbCB3aWRnZXQgKHNlZQogICAtLSAgICAgR3RrLkNvbnRhaW5lci5SZWdpc3Rlcl9Ub3BsZXZl
bCkuCiAgIC0tCiAgIC0tICAtICJDb25uZWN0ZWQiOgogICAtLSAgICAgU2V0IGlmIHRoZSBvYmpl
Y3QgaXMgY29ubmVjdGVkIHRvIGF0IGxlYXN0IG9uZSBoYW5kbGVyCiAgIC0tCiAgIC0tICAtICJD
b25zdHJ1Y3RlZCI6CiAgIC0tICAgICBTZXQgaWYgdGhlIG9iamVjdCBoYXMgYmVlbiBmdWxseSBj
b25zdHJ1Y3RlZCwgYW5kIGlzIG5vdyB1c2FibGUuCiAgIC0tICAgICBFdmVyeSB0aW1lIHlvdSBj
cmVhdGUgYW4gb2JqZWN0IGF0IHRoZSBHdGtBZGEgbGV2ZWwsIHRoZSBvYmplY3Qgd2lsbAogICAt
LSAgICAgYmUgZnVsbHkgY29uc3RydWN0ZWQsIGFuZCB5b3Ugc2hvdWxkbid0IGhhdmUgdG8gd29y
cnkgYWJvdXQgdGhhdAogICAtLSAgICAgZmxhZy4KCiAgIERlc3Ryb3llZCAgIDogY29uc3RhbnQg
Oj0gMiAqKiAwOwogICBGbG9hdGluZyAgICA6IGNvbnN0YW50IDo9IDIgKiogMTsKICAgQ29ubmVj
dGVkICAgOiBjb25zdGFudCA6PSAyICoqIDI7CiAgIENvbnN0cnVjdGVkIDogY29uc3RhbnQgOj0g
MiAqKiAzOwoKICAgZnVuY3Rpb24gRmxhZ3MgKE9iamVjdCA6IGFjY2VzcyBHdGtfT2JqZWN0X1Jl
Y29yZCkgcmV0dXJuIEd1aW50MzI7CiAgIC0tICBSZXR1cm4gdGhlIGZsYWdzIHRoYXQgYXJlIHNl
dCBmb3IgdGhlIG9iamVjdCwgYXMgYSBiaW5hcnkgbWFzay4KCiAgIHByb2NlZHVyZSBTZXRfRmxh
Z3MgKE9iamVjdCA6IGFjY2VzcyBHdGtfT2JqZWN0X1JlY29yZDsKICAgICAgICAgICAgICAgICAg
ICAgICAgRmxhZ3MgIDogaW4gICAgIEd1aW50MzIpOwogICAtLSAgU2V0IHNvbWUgc3BlY2lmaWMg
ZmxhZ3MgZm9yIHRoZSBvYmplY3QuCiAgIC0tICBGbGFncyBpcyBhIG1hc2sgdGhhdCB3aWxsIGJl
IGFkZGVkIHRvIHRoZSBjdXJyZW50IGZsYWdzIG9mIHRoZSBvYmplY3QuCgogICBwcm9jZWR1cmUg
VW5zZXRfRmxhZ3MgKE9iamVjdCA6IGFjY2VzcyBHdGtfT2JqZWN0X1JlY29yZDsKICAgICAgICAg
ICAgICAgICAgICAgICAgICBGbGFncyAgOiBpbiAgICAgR3VpbnQzMik7CiAgIC0tICBVbnNldCBz
b21lIHNwZWNpZmljIGZsYWdzIGZvciB0aGUgb2JqZWN0LgogICAtLSAgRmxhZ3MgaXMgYSBtYXNr
IHRoYXQgd2lsbCBiZSBkZWxldGVkIGZyb20gdGhlIGN1cnJlbnQgZmxhZ3Mgb2YgdGhlCiAgIC0t
ICBvYmplY3QuCgogICBmdW5jdGlvbiBGbGFnX0lzX1NldCAoT2JqZWN0IDogYWNjZXNzIEd0a19P
YmplY3RfUmVjb3JkOwogICAgICAgICAgICAgICAgICAgICAgICAgRmxhZyAgIDogaW4gICAgIEd1
aW50MzIpCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBCb29sZWFuOwogICAtLSAgUmV0
dXJuIFRydWUgaWYgdGhlIHNwZWNpZmljIGZsYWcgRmxhZyBpcyBzZXQgZm9yIHRoZSBvYmplY3Qu
CgogICBmdW5jdGlvbiBEZXN0cm95ZWRfSXNfU2V0IChPYmplY3QgOiBhY2Nlc3MgR3RrX09iamVj
dF9SZWNvcmQnQ2xhc3MpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEJvb2xl
YW47CiAgIC0tICBUZXN0IGlmIHRoZSBEZXN0cm95ZWQgZmxhZyBpcyBzZXQgZm9yIHRoZSBvYmpl
Y3QuCgogICBmdW5jdGlvbiBGbG9hdGluZ19Jc19TZXQgKE9iamVjdCA6IGFjY2VzcyBHdGtfT2Jq
ZWN0X1JlY29yZCdDbGFzcykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBCb29s
ZWFuOwogICAtLSAgVGVzdCBpZiB0aGUgRmxvYXRpbmcgZmxhZyBpcyBzZXQgZm9yIHRoZSBvYmpl
Y3QuCgogICBmdW5jdGlvbiBDb25uZWN0ZWRfSXNfU2V0IChPYmplY3QgOiBhY2Nlc3MgR3RrX09i
amVjdF9SZWNvcmQnQ2xhc3MpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEJv
b2xlYW47CiAgIC0tICBUZXN0IGlmIHRoZSBDb25uZWN0ZWQgZmxhZyBpcyBzZXQgZm9yIHRoZSBv
YmplY3QuCgogICBmdW5jdGlvbiBDb25zdHJ1Y3RlZF9Jc19TZXQgKE9iamVjdCA6IGFjY2VzcyBH
dGtfT2JqZWN0X1JlY29yZCdDbGFzcykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJl
dHVybiBCb29sZWFuOwogICAtLSAgVGVzdCBpZiB0aGUgQ29uc3RydWN0ZWQgZmxhZyBpcyBzZXQg
Zm9yIHRoZSBvYmplY3QKCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIC0tIENyZWF0
aW5nIG5ldyB3aWRnZXRzIC0tCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIC0tICBU
aGVzZSB0eXBlcyBhbmQgZnVuY3Rpb25zIGFyZSB1c2VkIG9ubHkgd2hlbiBjcmVhdGluZyBuZXcg
d2lkZ2V0IHR5cGVzCiAgIC0tICBkaXJlY3RseSBpbiBBZGEuIFRoZXNlIGZ1bmN0aW9ucyBpbml0
aWFsaXplIHRoZSBjbGFzc2VzIHNvIHRoYXQgdGhleSBhcmUKICAgLS0gIGNvcnJlY3RseSByZWNv
Z25pemVkIGJ5IGd0aysgaXRzZWxmCiAgIC0tICBTZWUgdGhlIEd0a0FkYSB1c2VyJ3MgZ3VpZGUg
Zm9yIG1vcmUgaW5mb3JtYXRpb24gb24gaG93IHRvIGNyZWF0ZSB5b3VyCiAgIC0tICBvd24gd2lk
Z2V0IHR5cGVzIGluIEFkYS4KCiAgIHR5cGUgU2lnbmFsX1BhcmFtZXRlcl9UeXBlcyBpcyBhcnJh
eSAoTmF0dXJhbCByYW5nZSA8PiwgTmF0dXJhbCByYW5nZSA8PikKICAgICBvZiBHdGtfVHlwZTsK
ICAgLS0gIFRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgcGFyYW1ldGVycyBmb3IgZWFjaCBldmVudC4K
ICAgLS0gIEVhY2ggZXZlbnQgZGVmaW5lZCB3aXRoIEluaXRpYWxpemVfQ2xhc3NfUmVjb3JkIGJl
bG93IHNob3VsZCBoYXZlIGFuCiAgIC0tICBlbnRyeSBpbiB0aGlzIHRhYmxlLiBJZiBHdGtfVHlw
ZV9Ob25lIGlzIGZvdW5kIGluIHRoZSB0YWJsZSwgaXQgaXMKICAgLS0gIGlnbm9yZWQuIEZvciBp
bnN0YW5jZSwgYSBTaWduYWxfUGFyYW1ldGVyX1R5cGUgbGlrZToKICAgLS0gICAgKDEgPT4gKDEg
PT4gR2RrX1R5cGVfR2RrX0V2ZW50LCAyID0+IEdka19UeXBlX05vbmRlKSwKICAgLS0gICAgIDIg
PT4gKDEgPT4gR2RrX1R5cGVfSW50LCAgICAgICAyID0+IEdka19UeXBlX0ludCkpOwogICAtLSAg
ZGVmaW5lcyB0d28gc2lnbmFscywgdGhlIGZpcnN0IHdpdGggYSBzaW5nbGUgR2RrX0V2ZW50IHBh
cmFtZXRlciwgdGhlCiAgIC0tICBzZWNvbmQgd2l0aCB0d28gaW50cyBwYXJhbWV0ZXJzLgoKICAg
TnVsbF9QYXJhbWV0ZXJfVHlwZXMgOiBjb25zdGFudCBTaWduYWxfUGFyYW1ldGVyX1R5cGVzICgx
IC4uIDAsIDEgLi4gMCkgOj0KICAgICAob3RoZXJzID0+IChvdGhlcnMgPT4gR3RrX1R5cGVfTm9u
ZSkpOwogICAtLSAgQW4gZW1wdHkgYXJyYXksIHVzZWQgYXMgYSBkZWZhdWx0IHBhcmFtZXRlciBp
biBJbml0aWFsaXplX0NsYXNzX1JlY29yZC4KCiAgIHByb2NlZHVyZSBJbml0aWFsaXplX0NsYXNz
X1JlY29yZAogICAgIChPYmplY3QgICAgICAgICAgICAgICAgICAgIDogYWNjZXNzIEd0a19PYmpl
Y3RfUmVjb3JkJ0NsYXNzOwogICAgICBTaWduYWxzICAgICAgICAgICAgICAgICAgIDogR3RrYWRh
LlR5cGVzLkNoYXJzX1B0cl9BcnJheTsKICAgICAgQ2xhc3NfUmVjb3JkICAgICAgICAgICAgICA6
IGluIG91dCBTeXN0ZW0uQWRkcmVzczsKICAgICAgUGFyYW1ldGVycyAgICAgICAgICAgICAgICA6
IFNpZ25hbF9QYXJhbWV0ZXJfVHlwZXMgOj0KICAgICAgICBOdWxsX1BhcmFtZXRlcl9UeXBlczsK
ICAgICAgU2Nyb2xsX0FkanVzdG1lbnRzX1NpZ25hbCA6IEd1aW50IDo9IDApOwogICAtLSAgQ3Jl
YXRlIHRoZSBjbGFzcyByZWNvcmQgZm9yIGEgbmV3IHdpZGdldCB0eXBlLgogICAtLSAgSXQgaXMg
YXNzb2NpYXRlZCB3aXRoIFNpZ25hbHMnTGVuZ3RoIG5ldyBzaWduYWxzLiBBIHBvaW50ZXIgdG8g
dGhlCiAgIC0tICBuZXdseSBjcmVhdGVkIHN0cnVjdHVyZSBpcyBhbHNvIHJldHVybmVkIGluIENs
YXNzX1JlY29yZC4KICAgLS0gIElmIENsYXNzX1JlY29yZCAvPSBTeXN0ZW0uTnVsbF9BZGRyZXNz
LCBubyBtZW1vcnkgYWxsb2NhdGlvbiBpcwogICAtLSAgcGVyZm9ybWVkLCB3ZSBqdXN0IHJldXNl
IGl0LgogICAtLSAgTm90ZTogVGhlIHVuZGVybHlpbmcgQyB3aWRnZXQgbXVzdCBhbHJlYWR5IGhh
dmUgYmVlbiBpbml0aWFsaXplZAogICAtLSAgYnkgYSBjYWxsIHRvIGl0cyBwYXJlbnQncyBJbml0
aWFsaXplIGZ1bmN0aW9uLgogICAtLSAgUGFyYW1ldGVycydMZW5ndGggc2hvdWxkIGJlIHRoZSBz
YW1lIGFzIFNpZ25hbHMnTGVuZ3RoLCBvciB0aGUgcmVzdWx0CiAgIC0tICBpcyB1bmRlZmluZWQu
CiAgIC0tICBBcyBhIHNwZWNpYWwgY2FzZSwgaWYgUGFyYW1ldGVycyBoYXMgaXRzIGRlZmF1bHQg
dmFsdWUsIGFsbCBzaWduYWxzIGFyZQogICAtLSAgY3JlYXRlZCB3aXRoIG5vIGFyZ3VtZW50LiBU
aGlzIGlzIGRvbmUgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkKICAgLS0gIG1haW5seSwgYW5k
IHlvdSBzaG91bGQgaW5zdGVhZCBnaXZlIGl0IGFuIGV4cGxpY2l0IHZhbHVlLgogICAtLQogICAt
LSAgU2Nyb2xsX0FkanVzdG1lbnRzX1NpZ25hbCBpcyB0aGUgaW5kZXggb2YgdGhlIG5ldyBzaWdu
YWwgdGhhdCB3aWxsIGJlCiAgIC0tICBlbWl0dGVkIHdoZW4gR3RrLldpZGdldC5TZXRfU2Nyb2xs
X0FkanVzdG1lbnRzIGlzIGNhbGxlZC4gSWYgaXQgaXMgMCwKICAgLS0gIG5vIHNpZ25hbCBpcyBl
bWl0dGVkLiBUaGUgZmlyc3Qgc2lnbmFsIGluIFNpZ25hbHMgaGFzIGluZGV4IDEuIE5vdGUKICAg
LS0gIHRoYXQgdGhlIGhhbmRsZXJzIGZvciB0aGlzIHNpZ25hbCB0YWtlIHR3byBhcmd1bWVudHMg
aW4gYWRkaXRpb24gdG8gdGhlCiAgIC0tICB3aWRnZXQgKHRoZSBob3Jpem9udGFsIGFuZCB2ZXJ0
aWNhbCBhZGp1c3RtZW50cyB0byBiZSB1c2VkKS4gU2VlCiAgIC0tICBHdGsuU2Nyb2xsZWRfV2lu
ZG93IGFuZCBHdGsuV2lkZ2V0LlNldF9TY3JvbGxfQWR1c3RtZW50IGZvciBtb3JlCiAgIC0tICBp
bmZvcm1hdGlvbiBvbiB0aGlzIHNpZ25hbC4KICAgLS0KICAgLS0gIE9ubHkgdGhlIHNpZ25hbHMg
d2l0aCBubyBwYXJhbWV0ZXIgY2FuIGJlIGNvbm5lY3RlZCBmcm9tIEMuIEhvd2V2ZXIsCiAgIC0t
ICBhbnkgc2lnbmFsIGNhbiBiZSBjb25uZWN0ZWQgZnJvbSBBZGEuIFRoaXMgaXMgZHVlIHRvIHRo
ZSB3YXkgd2UgZGVmaW5lCiAgIC0tICBkZWZhdWx0IG1hcnNoYWxsZXJzIGZvciB0aGUgc2lnbmFs
cy4KCiAgIC0tLS0tLS0tLS0tLS0tLQogICAtLSBVc2VyX0RhdGEgLS0KICAgLS0tLS0tLS0tLS0t
LS0tCiAgIC0tICBUaGlzIHBhY2thZ2UgYWxsb3cgeW91IHRvIGFzc29jaWF0ZSB5b3VyIG93biBE
YXRhIHRvIHRoZSBDIHdpZGdldHMuIE5vCiAgIC0tICB0eXBlIHZlcmlmaWNhdGlvbiBpcyBtYWRl
IHRvIGNoZWNrIGlmIHlvdSBhcmUgdXNpbmcgdGhlIGNvcnJlY3QKICAgLS0gIG1hdGNoaW5nIEdl
dCBmdW5jdGlvbi4gVGhpcyBpcyB5b3VyIG93biByZXNwb25zYWJpbGl0eS4KICAgLS0KICAgLS0g
IFdlIHJlY29tbWVuZCB1c2luZyB0aGlzIHBhY2thZ2Ugb25seSBpZiB5b3Ugd2FudCB5b3VyIGRh
dGEgdG8gYmUKICAgLS0gIGF2YWlsYWJsZSBmcm9tIHlvdXIgb3duIEMgY29kZS4gSWYgeW91IGp1
c3Qgd2FudCB0byBhY2Nlc3MgaXQgZnJvbSBBZGEsCiAgIC0tICB5b3Ugc2hvdWxkIGNvbnNpZGVy
IGNyZWF0aW5nIGEgbmV3IHRhZ2dlZCB0eXBlIGluc3RlYWQuCgogICAtLSAgPGRvY19pZ25vcmU+
CgogICBnZW5lcmljCiAgICAgIHR5cGUgRGF0YV9UeXBlICg8PikgaXMgcHJpdmF0ZTsKICAgcGFj
a2FnZSBVc2VyX0RhdGEgaXMKICAgICAgZnVuY3Rpb24gR2V0IChPYmplY3QgOiBhY2Nlc3MgR3Rr
X09iamVjdF9SZWNvcmQnQ2xhc3M7CiAgICAgICAgICAgICAgICAgICAgSWQgICAgIDogaW4gU3Ry
aW5nIDo9ICJ1c2VyX2RhdGEiKSByZXR1cm4gRGF0YV9UeXBlOwogICAgICAtLSAgR2V0IHRoZSBp
bmZvcm1hdGlvbiBhc3NvY2lhdGVkIHdpdGggdGhlIGtleSBJRC4KICAgICAgLS0gIFJhaXNlIEd0
a2FkYS5UeXBlcy5EYXRhX0Vycm9yIGlmIHRoZXJlIGlzIG5vbmUuCgogICAgICBwcm9jZWR1cmUg
U2V0IChPYmplY3QgOiBhY2Nlc3MgR3RrX09iamVjdF9SZWNvcmQnQ2xhc3M7CiAgICAgICAgICAg
ICAgICAgICAgIERhdGEgICA6IGluIERhdGFfVHlwZTsKICAgICAgICAgICAgICAgICAgICAgSWQg
ICAgIDogaW4gU3RyaW5nIDo9ICJ1c2VyX2RhdGEiKTsKICAgICAgLS0gIEFzc29jaWF0ZSBzb21l
IG5ldyB1c2VyIGRhdGEgd2l0aCB0aGUgb2JqZWN0LgogICAgICAtLSAgVGhlIHN0cmluZ3Mgc3Rh
cnRpbmcgd2l0aCAiZ3RrYWRhXyIgYXJlIHJlc2VydmVkIGZvciBHdGtBZGEncwogICAgICAtLSAg
aW50ZXJuYWwgdXNlLCBwbGVhc2UgYXZvaWQgdXNpbmcgdGhlbS4KCiAgICAgIHByb2NlZHVyZSBS
ZW1vdmUgKE9iamVjdCA6IGFjY2VzcyBHdGtfT2JqZWN0X1JlY29yZCdDbGFzczsKICAgICAgICAg
ICAgICAgICAgICAgICAgSWQgICAgIDogaW4gU3RyaW5nIDo9ICJ1c2VyX2RhdGEiKTsKICAgICAg
LS0gIFJlbW92ZSBzb21lIGRhdGEgZnJvbSB0aGUgb2JqZWN0CgogICAgICBmdW5jdGlvbiBHZXQg
KE9iamVjdCA6IGFjY2VzcyBHdGtfT2JqZWN0X1JlY29yZCdDbGFzczsKICAgICAgICAgICAgICAg
ICAgICBJZCAgICAgOiBpbiBHbGliLkdRdWFyaykKICAgICAgICAgICAgICAgICAgIHJldHVybiBE
YXRhX1R5cGU7CiAgICAgIC0tICBTYW1lIGZ1bmN0aW9uIGFzIEdldCBhYm92ZSwgYnV0IHVzZXMg
ZGlyZWN0bHkgdGhlIFF1YXJrIGFzc29jaWF0ZWQKICAgICAgLS0gIHdpdGggdGhlIHN0cmluZywg
d2hpY2ggc3BlZWRzIHVwIHRoZSBhY2Nlc3MgdGltZSBzaWduaWZpY2FudGx5LgoKICAgICAgcHJv
Y2VkdXJlIFNldCAoT2JqZWN0IDogYWNjZXNzIEd0a19PYmplY3RfUmVjb3JkJ0NsYXNzOwogICAg
ICAgICAgICAgICAgICAgICBEYXRhICAgOiBpbiBEYXRhX1R5cGU7CiAgICAgICAgICAgICAgICAg
ICAgIElkICAgICA6IGluIEdsaWIuR1F1YXJrKTsKICAgICAgLS0gIFNhbWUgZnVuY3Rpb24gYXMg
U2V0IGFib3ZlLCBidXQgdXNlcyBkaXJlY3RseSB0aGUgUXVhcmsgYXNzb2NpYXRlZAogICAgICAt
LSAgd2l0aCB0aGUgc3RyaW5nLCB3aGljaCBzcGVlZHMgdXAgdGhlIGFjY2VzcyB0aW1lIHNpZ25p
ZmljYW50bHkuCgogICAgICBwcm9jZWR1cmUgUmVtb3ZlIChPYmplY3QgOiBhY2Nlc3MgR3RrX09i
amVjdF9SZWNvcmQnQ2xhc3M7CiAgICAgICAgICAgICAgICAgICAgICAgIElkICAgICA6IGluIEds
aWIuR1F1YXJrKTsKICAgICAgLS0gIFNhbWUgZnVuY3Rpb24gYXMgUmVtb3ZlIGFib3ZlLCBidXQg
dXNlcyBkaXJlY3RseSB0aGUgUXVhcmsgYXNzb2NpYXRlZAogICAgICAtLSAgd2l0aCB0aGUgc3Ry
aW5nLCB3aGljaCBzcGVlZHMgdXAgdGhlIGFjY2VzcyB0aW1lIHNpZ25pZmljYW50bHkuCgogICBl
bmQgVXNlcl9EYXRhOwoKICAgLS0gIDwvZG9jX2lnbm9yZT4KCiAgIC0tLS0tLS0tLS0tLS0KICAg
LS0gU2lnbmFscyAtLQogICAtLS0tLS0tLS0tLS0tCgogICAtLSAgPHNpZ25hbHM+CiAgIC0tICBU
aGUgZm9sbG93aW5nIG5ldyBzaWduYWxzIGFyZSBkZWZpbmVkIGZvciB0aGlzIHdpZGdldDoKICAg
LS0KICAgLS0gIC0gImRlc3Ryb3kiCiAgIC0tICAgIHByb2NlZHVyZSBIYW5kbGVyIChPYmplY3Qg
OiBhY2Nlc3MgR3RrX09iamVjdF9SZWNvcmQnQ2xhc3MpOwogICAtLQogICAtLSAgICBSYWlzZWQg
d2hlbiB0aGUgb2JqZWN0IGlzIGFib3V0IHRvIGJlIGRlc3Ryb3llZC4gVGhlICJkZXN0cm95ZWQi
CiAgIC0tICAgIGZsYWcgaGFzIGJlZW4gc2V0IG9uIHRoZSBvYmplY3QgZmlyc3QuIEhhbmRsZXJz
IHNob3VsZCBub3Qga2VlcAogICAtLSAgICBhIHJlZmVyZW5jZSBvbiB0aGUgb2JqZWN0LgogICAt
LSAgICBOb3RlIHRoYXQgd2hlbiB5b3VyIGRlc3Ryb3kgaGFuZGxlcnMgYXJlIGNhbGxlZCwgdGhl
IHVzZXJfZGF0YSBpcwogICAtLSAgICBzdGlsbCBhdmFpbGFibGUuCiAgIC0tICAgIFRoZSBkZWZh
dWx0IGltcGxlbWVudGF0aW9uIGRlc3Ryb3lzIGFsbCB0aGUgaGFuZGxlcnMuCiAgIC0tICA8L3Np
Z25hbHM+Cgpwcml2YXRlCiAgIHR5cGUgR3RrX09iamVjdF9SZWNvcmQgaXMgbmV3IEd0ay5Sb290
X1R5cGUgd2l0aCBudWxsIHJlY29yZDsKCiAgIHByYWdtYSBJbmxpbmUgKERlc3Ryb3llZF9Jc19T
ZXQpOwogICBwcmFnbWEgSW5saW5lIChGbG9hdGluZ19Jc19TZXQpOwogICBwcmFnbWEgSW5saW5l
IChDb25uZWN0ZWRfSXNfU2V0KTsKICAgcHJhZ21hIElubGluZSAoQ29uc3RydWN0ZWRfSXNfU2V0
KTsKCmVuZCBHdGsuT2JqZWN0OwoKLS0gIEZ1bmN0aW9ucyB0aGF0IGhhdmUgbm8gQWRhIGVxdWl2
YWxlbnQ6Ci0tICAtIGd0a19vYmplY3RfY2xhc3NfdXNlcl9zaWduYWxfbmV3Ci0tICAtIGd0a19v
YmplY3RfY2xhc3NfdXNlcl9zaWduYWxfbmV3dgotLSAgLSBndGtfb2JqZWN0X25ldwotLSAgLSBn
dGtfb2JqZWN0X25ld3YKLS0gIC0gZ3RrX29iamVjdF9kZWZhdWx0X2NvbnN0cnVjdAotLSAgLSBn
dGtfb2JqZWN0X2NvbnN0cnVjdGVkCi0tICAtIGd0a19vYmplY3Rfd2Vha3JlZgotLSAgLSBndGtf
b2JqZWN0X3dlYWt1bnJlZgotLSAgLSBndGtfb2JqZWN0X2dldHYKLS0gIC0gZ3RrX29iamVjdF9n
ZXQKLS0gIC0gZ3RrX29iamVjdF9zZXQKLS0gIC0gZ3RrX29iamVjdF9zZXR2Ci0tICAtIGd0a19v
YmplY3RfcXVlcnlfYXJncwotLSAgLSBndGtfb2JqZWN0X2NsYXNzX2FkZF9zaWduYWxzID0+IGlu
IEluaXRpYWxpemVfQ2xhc3NfUmVjb3JkCi0tICAtIGd0a19vYmplY3RfYWRkX2FyZ190eXBlCgAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZ25hdGJ1Zy9ndGthZGEuYWRzAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAADAxMDA2NDQAMDAwMTc1MQAwMDAwMDAwADAwMDAwMDA0MjA0ADA3NTUxMTA3
NjMyADAxMzI2NwAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1
c3RhciAgAHNwYXoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAd2hlZWwAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotLSAgICAgICAgICBHdGtB
ZGEgLSBBZGE5NSBiaW5kaW5nIGZvciB0aGUgR2ltcCBUb29sa2l0ICAgICAgICAgICAgICAtLQot
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAtLQotLSAgICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAoQykgMTk5OC0y
MDAwICAgICAgICAgICAgICAgICAgICAgICAtLQotLSAgICAgICAgRW1tYW51ZWwgQnJpb3QsIEpv
ZWwgQnJvYmVja2VyIGFuZCBBcm5hdWQgQ2hhcmxldCAgICAgICAgICAtLQotLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAt
LQotLSBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yICAgICAtLQotLSBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg
R2VuZXJhbCBQdWJsaWMgICAgICAgICAgICAgICAtLQotLSBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi
eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgICAgICAtLQotLSB2ZXJzaW9u
IDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u
ICAtLQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAtLQotLSBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhl
IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgICAtLQotLSBidXQgV0lUSE9VVCBBTlkgV0FS
UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiAgICAtLQotLSBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVSAtLQotLSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuICAgICAg
ICAgICAgICAgICAgICAgICAgICAtLQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSBZb3Ugc2hvdWxkIGhhdmUg
cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgICAgICAgICAtLQotLSBM
aWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSAgICAg
ICAgICAgICAtLQotLSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQ
bGFjZSAtIFN1aXRlIDMzMCwgICAgICAtLQotLSBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLQot
LSBBcyBhIHNwZWNpYWwgZXhjZXB0aW9uLCBpZiBvdGhlciBmaWxlcyBpbnN0YW50aWF0ZSBnZW5l
cmljcyBmcm9tICAtLQotLSB0aGlzIHVuaXQsIG9yIHlvdSBsaW5rIHRoaXMgdW5pdCB3aXRoIG90
aGVyIGZpbGVzIHRvIHByb2R1Y2UgYW4gICAtLQotLSBleGVjdXRhYmxlLCB0aGlzICB1bml0ICBk
b2VzIG5vdCAgYnkgaXRzZWxmIGNhdXNlICB0aGUgcmVzdWx0aW5nICAtLQotLSBleGVjdXRhYmxl
IHRvIGJlIGNvdmVyZWQgYnkgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLiBUaGlzICAt
LQotLSBleGNlcHRpb24gZG9lcyBub3QgaG93ZXZlciBpbnZhbGlkYXRlIGFueSBvdGhlciByZWFz
b25zIHdoeSB0aGUgICAtLQotLSBleGVjdXRhYmxlIGZpbGUgIG1pZ2h0IGJlIGNvdmVyZWQgYnkg
dGhlICBHTlUgUHVibGljIExpY2Vuc2UuICAgICAtLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLS0gIDxkZXNj
cmlwdGlvbj4KLS0KLS0gIFRoaXMgaXMgdGhlIHBhcmVudCBwYWNrYWdlIGZvciB0aGUgR3RrQWRh
IHNwZWNpZmljIHVuaXRzLgotLQotLSAgPC9kZXNjcmlwdGlvbj4KCnBhY2thZ2UgR3RrYWRhIGlz
CgogICBwcmFnbWEgUHVyZSAoR3RrYWRhKTsKCmVuZCBHdGthZGE7CgAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAZ25hdGJ1Zy9ndGthZGEtdHlwZXMuYWRzAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAADAxMDA2NDQAMDAwMTc1MQAwMDAwMDAwADAwMDAwMDEwNjAzADA3NTUxMTA3NjMyADAx
NDQzMQAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAg
AHNwYXoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAd2hlZWwAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotLSAgICAgICAgICBHdGtBZGEgLSBB
ZGE5NSBiaW5kaW5nIGZvciB0aGUgR2ltcCBUb29sa2l0ICAgICAgICAgICAgICAtLQotLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAtLQotLSAgICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAoQykgMTk5OC0yMDAwICAg
ICAgICAgICAgICAgICAgICAgICAtLQotLSAgICAgICAgRW1tYW51ZWwgQnJpb3QsIEpvZWwgQnJv
YmVja2VyIGFuZCBBcm5hdWQgQ2hhcmxldCAgICAgICAgICAtLQotLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yICAgICAtLQotLSBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh
bCBQdWJsaWMgICAgICAgICAgICAgICAtLQotLSBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgICAgICAtLQotLSB2ZXJzaW9uIDIgb2Yg
dGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uICAtLQot
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAtLQotLSBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgICAtLQotLSBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiAgICAtLQotLSBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVSAt
LQotLSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuICAgICAgICAgICAg
ICAgICAgICAgICAgICAtLQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2
ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgICAgICAgICAtLQotLSBMaWNlbnNl
IGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSAgICAgICAgICAg
ICAtLQotLSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAt
IFN1aXRlIDMzMCwgICAgICAtLQotLSBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSBBcyBh
IHNwZWNpYWwgZXhjZXB0aW9uLCBpZiBvdGhlciBmaWxlcyBpbnN0YW50aWF0ZSBnZW5lcmljcyBm
cm9tICAtLQotLSB0aGlzIHVuaXQsIG9yIHlvdSBsaW5rIHRoaXMgdW5pdCB3aXRoIG90aGVyIGZp
bGVzIHRvIHByb2R1Y2UgYW4gICAtLQotLSBleGVjdXRhYmxlLCB0aGlzICB1bml0ICBkb2VzIG5v
dCAgYnkgaXRzZWxmIGNhdXNlICB0aGUgcmVzdWx0aW5nICAtLQotLSBleGVjdXRhYmxlIHRvIGJl
IGNvdmVyZWQgYnkgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLiBUaGlzICAtLQotLSBl
eGNlcHRpb24gZG9lcyBub3QgaG93ZXZlciBpbnZhbGlkYXRlIGFueSBvdGhlciByZWFzb25zIHdo
eSB0aGUgICAtLQotLSBleGVjdXRhYmxlIGZpbGUgIG1pZ2h0IGJlIGNvdmVyZWQgYnkgdGhlICBH
TlUgUHVibGljIExpY2Vuc2UuICAgICAtLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLS0gIDxkZXNjcmlwdGlv
bj4KLS0KLS0gIFRoaXMgcGFja2FnZSBwcm92aWRlcyBHdGtBZGEgc3BlY2lmaWMgdHlwZXMgYW5k
IHRoZWlyIGFzc29jaWF0ZWQgZnVuY3Rpb25zLgotLQotLSAgPC9kZXNjcmlwdGlvbj4KCndpdGgg
SW50ZXJmYWNlcy5DLlN0cmluZ3M7CgpwYWNrYWdlIEd0a2FkYS5UeXBlcyBpcwoKICAgcHJhZ21h
IFByZWVsYWJvcmF0ZTsKCiAgIERhdGFfRXJyb3IgOiBleGNlcHRpb247CgogICAtLSAgPGRvY19p
Z25vcmU+CiAgIHN1YnR5cGUgQ2hhcnNfUHRyIGlzIEludGVyZmFjZXMuQy5TdHJpbmdzLmNoYXJz
X3B0cjsKICAgc3VidHlwZSBDaGFyc19QdHJfQXJyYXkgaXMgSW50ZXJmYWNlcy5DLlN0cmluZ3Mu
Y2hhcnNfcHRyX2FycmF5OwogICAtLSAgPC9kb2NfaWdub3JlPgoKICAgTnVsbF9QdHIgOiBDaGFy
c19QdHIgcmVuYW1lcyBJbnRlcmZhY2VzLkMuU3RyaW5ncy5OdWxsX1B0cjsKCiAgIGZ1bmN0aW9u
IE51bGxfQXJyYXkgcmV0dXJuIENoYXJzX1B0cl9BcnJheTsKICAgLS0gIFJldHVybiBhIG51bGwg
YXJyYXkuCiAgIHByYWdtYSBJbmxpbmUgKE51bGxfQXJyYXkpOwoKICAgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAtLSAgSGFuZGxpbmcgb2YgYXJyYXlzIG9mIFN0cmlu
Z3MgIC0tCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgLS0gIFRo
ZSBmb2xsb3dpbmcgZnVuY3Rpb25zIHByb3ZpZGUgYSB2ZXJ5IGNvbnZlbmllbnQgd2F5IHRvIGNy
ZWF0ZQogICAtLSAgQyBhcnJheXMgb2YgbnVsbCB0ZXJtaW5hdGVkIHN0cmluZ3MgaW4gQWRhLgog
ICAtLQogICAtLSAgWW91IGNhbiBlaXRoZXIgY3JlYXRlIHN1Y2ggYSBTdHJpbmcgb24gdGhlIGZs
eSwgb3IgZGVjbGFyZSBhIHZhcmlhYmxlOgogICAtLQogICAtLSAgICAgU2lnbmFscyA6IENoYXJz
X1B0cl9BcnJheSA6PSAiY2xpY2tlZCIgKyAibWlzc2VkIiArICJuZXcgc2lnbmFsIjsKICAgLS0K
ICAgLS0gIHdoaWNoIGNvcnJlc3BvbmRzIHRvIHRoZSBDIGRlY2xhcmF0aW9uOgogICAtLQogICAt
LSAgICAgY2hhciAqc2lnbmFsc1tdID0gQHsiY2xpY2tlZCIsICJtaXNzZWQiLCAibmV3IHNpZ25h
bCJAfTsKICAgLS0KICAgLS0gIE5vdGUgdGhhdCB5b3Ugc3RpbGwgbmVlZCB0byBtYW51YWxseSBj
YWxsIEZyZWUgKFNpZ25hbHMpIGlmIHlvdSB3YW50IHRvCiAgIC0tICByZWxlYXNlIHRoZSBtZW1v
cnkgZHluYW1pY2FsbHkgYWxsb2NhdGVkIGJ5IHRoZSAiKyIgZnVuY3Rpb25zLgoKICAgZnVuY3Rp
b24gIisiIChTMSwgUzIgOiBTdHJpbmcpIHJldHVybiBDaGFyc19QdHJfQXJyYXk7CiAgIC0tICBD
cmVhdGUgYW4gYXJyYXkgY29udGFpbmluZyBTMSBhbmQgUzIuCiAgIC0tICBOb3RlIHRoYXQgdGhp
cyBmdW5jdGlvbiBhbGxvY2F0ZXMgbWVtb3J5IHRvIHN0b3JlIFMxIGFuZCBTMiBhcyBudWxsCiAg
IC0tICB0ZXJtaW5hdGVkIFN0cmluZ3MuIFRoZSB1c2VyIGlzIHJlc3BvbnNpYmxlIGZvciBjYWxs
aW5nIEZyZWUgb24gdGhlCiAgIC0tICByZXN1bHRpbmcgYXJyYXkuCgogICBmdW5jdGlvbiAiKyIg
KFMxIDogQ2hhcnNfUHRyX0FycmF5OyBTMiA6IFN0cmluZykgcmV0dXJuIENoYXJzX1B0cl9BcnJh
eTsKICAgLS0gIEFwcGVuZCBTMiB0byBTMS4KICAgLS0gIE5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9u
IGFsbG9jYXRlcyBtZW1vcnkgdG8gc3RvcmUgUzIgYXMgYSBudWxsCiAgIC0tICB0ZXJtaW5hdGVk
IFN0cmluZ3MuIFRoZSB1c2VyIGlzIHJlc3BvbnNpYmxlIGZvciBjYWxsaW5nIEZyZWUgb24gdGhl
CiAgIC0tICByZXN1bHRpbmcgYXJyYXkuCgogICBmdW5jdGlvbiAiKyIgKFMxIDogQ2hhcnNfUHRy
X0FycmF5OyBTMiA6IENoYXJzX1B0cikgcmV0dXJuIENoYXJzX1B0cl9BcnJheTsKICAgLS0gIEFw
cGVuZCBTMiB0byBTMS4KICAgLS0gIE5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIGFsbG9jYXRlcyBt
ZW1vcnkgdG8gc3RvcmUgUzIgYXMgYSBudWxsCiAgIC0tICB0ZXJtaW5hdGVkIFN0cmluZ3MuIFRo
ZSB1c2VyIGlzIHJlc3BvbnNpYmxlIGZvciBjYWxsaW5nIEZyZWUgb24gdGhlCiAgIC0tICByZXN1
bHRpbmcgYXJyYXkuCgogICBmdW5jdGlvbiAiKyIgKFMxIDogQ2hhcnNfUHRyOyBTMiA6IFN0cmlu
ZykgcmV0dXJuIENoYXJzX1B0cl9BcnJheTsKICAgLS0gIENyZWF0ZSBhbiBhcnJheSBjb250YWlu
aW5nIFMxIGFuZCBTMi4KICAgLS0gIE5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIGFsbG9jYXRlcyBt
ZW1vcnkgdG8gc3RvcmUgUzIgYXMgYSBudWxsCiAgIC0tICB0ZXJtaW5hdGVkIHN0cmluZy4gVGhl
IHVzZXIgaXMgcmVzcG9uc2libGUgZm9yIGNhbGxpbmcgRnJlZSBvbiB0aGUKICAgLS0gIHJlc3Vs
dGluZyBhcnJheS4KCiAgIHByb2NlZHVyZSBGcmVlIChBIDogaW4gb3V0IENoYXJzX1B0cl9BcnJh
eSk7CiAgIC0tICBGcmVlIGFsbCB0aGUgc3RyaW5ncyBpbiBBLgoKZW5kIEd0a2FkYS5UeXBlczsK
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAABnbmF0YnVnL2d0ay1hZGp1c3RtZW50LmFkcwAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEw
MDY0NAAwMDAxNzUxADAwMDAwMDAAMDAwMDAwMjE1MjQAMDc1NTExMDc2MzIAMDE1MDAxACAwAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAc3BhegAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3aGVlbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0tICAgICAgICAgIEd0a0FkYSAtIEFkYTk1IGJpbmRp
bmcgZm9yIHRoZSBHaW1wIFRvb2xraXQgICAgICAgICAgICAgIC0tCi0tICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0t
ICAgICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0IChDKSAxOTk4LTIwMDAgICAgICAgICAgICAg
ICAgICAgICAgIC0tCi0tICAgICAgICBFbW1hbnVlbCBCcmlvdCwgSm9lbCBCcm9iZWNrZXIgYW5k
IEFybmF1ZCBDaGFybGV0ICAgICAgICAgIC0tCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgICAgIC0t
Ci0tIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyAg
ICAgICAgICAgICAgIC0tCi0tIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb247IGVpdGhlciAgICAgIC0tCi0tIHZlcnNpb24gMiBvZiB0aGUgTGljZW5z
ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4gIC0tCi0tICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC0tCi0tIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp
bGwgYmUgdXNlZnVsLCAgIC0tCi0tIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl
dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mICAgIC0tCi0tIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VIC0tCi0tIEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4gICAgICAgICAgICAgICAgICAgICAg
ICAgIC0tCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC0tCi0tIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg
b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyAgICAgICAgIC0tCi0tIExpY2Vuc2UgYWxvbmcgd2l0
aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlICAgICAgICAgICAgIC0tCi0tIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMw
LCAgICAgIC0tCi0tIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC0tCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tIEFzIGEgc3BlY2lhbCBl
eGNlcHRpb24sIGlmIG90aGVyIGZpbGVzIGluc3RhbnRpYXRlIGdlbmVyaWNzIGZyb20gIC0tCi0t
IHRoaXMgdW5pdCwgb3IgeW91IGxpbmsgdGhpcyB1bml0IHdpdGggb3RoZXIgZmlsZXMgdG8gcHJv
ZHVjZSBhbiAgIC0tCi0tIGV4ZWN1dGFibGUsIHRoaXMgIHVuaXQgIGRvZXMgbm90ICBieSBpdHNl
bGYgY2F1c2UgIHRoZSByZXN1bHRpbmcgIC0tCi0tIGV4ZWN1dGFibGUgdG8gYmUgY292ZXJlZCBi
eSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuIFRoaXMgIC0tCi0tIGV4Y2VwdGlvbiBk
b2VzIG5vdCBob3dldmVyIGludmFsaWRhdGUgYW55IG90aGVyIHJlYXNvbnMgd2h5IHRoZSAgIC0t
Ci0tIGV4ZWN1dGFibGUgZmlsZSAgbWlnaHQgYmUgY292ZXJlZCBieSB0aGUgIEdOVSBQdWJsaWMg
TGljZW5zZS4gICAgIC0tCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotLSAgPGRlc2NyaXB0aW9uPgotLQotLSAg
VGhpcyBvYmplY3QgcmVwcmVzZW50cyBhbiBhZGp1c3RhYmxlIGJvdW5kZWQgdmFsdWUuCi0tICBJ
dCBpcyB1c2VkIGluIG1hbnkgb3RoZXIgd2lkZ2V0cyB0aGF0IGhhdmUgc3VjaCBpbnRlcm5hbCB2
YWx1ZXMsCi0tICBsaWtlIEd0a19TY3JvbGxiYXIsIEd0a19TcGluX0J1dHRvbiwgR3RrX1Jhbmdl
LCAuLi4KLS0gIE1vZGlmeWluZyB0aGUgdmFsdWUgb2YgdGhlc2Ugd2lkZ2V0cyBpcyBkb25lIHRo
cm91Z2ggdGhlaXIKLS0gIGFzc29jaWF0ZWQgYWRqdXN0bWVudHMuCi0tCi0tICBUaGUgbW9kaWZp
Y2F0aW9uIG9mIHRoZSB2YWx1ZSBpcyBsZWZ0IHRvIHRoZSB1c2VyLCB3aG8gc2hvdWxkCi0tICBj
YWxsIFZhbHVlX0NoYW5nZWQgb3IgQ2hhbmdlZCB0byBlbWl0IHRoZSByZWxldmFudCBzaWduYWxz
LgotLQotLSAgPC9kZXNjcmlwdGlvbj4KLS0gIDxleGFtcGxlPgotLQotLSAgVGhlIG1lYW5pbmcg
b2YgdGhlIG1vc3QgaW1wb3J0YW50IGZpZWxkcyBjYW4gYmUgZXhwbGFpbmVkIG9uIHRoZQotLSAg
Zm9sbG93aW5nIGZpZ3VyZSAoaW1hZ2luZSB0aGlzIGlzIGEgc2Nyb2xsYmFyKToKLS0KLS0gICAg
IFstLS0tLS0tfD09PT09PT09PT09PT09PT09fC0tLS0tLS0tLS0tLS0tLS0tLS1dCi0tICAgIGxv
d2VyICAgIHZhbHVlICAgICAgICB2YWx1ZSArIHBhZ2Vfc2l6ZSAgICAgICB1cHBlcgotLQotLSAg
PC9leGFtcGxlPgotLSAgPGNfdmVyc2lvbj4xLjIuNjwvY192ZXJzaW9uPgoKd2l0aCBHdGsuRGF0
YTsKCnBhY2thZ2UgR3RrLkFkanVzdG1lbnQgaXMKCiAgIHR5cGUgR3RrX0FkanVzdG1lbnRfUmVj
b3JkIGlzIG5ldyBEYXRhLkd0a19EYXRhX1JlY29yZCB3aXRoIHByaXZhdGU7CiAgIHR5cGUgR3Rr
X0FkanVzdG1lbnQgaXMgYWNjZXNzIGFsbCBHdGtfQWRqdXN0bWVudF9SZWNvcmQnQ2xhc3M7Cgog
ICBOdWxsX0FkanVzdG1lbnQgOiBjb25zdGFudCBHdGtfQWRqdXN0bWVudDsKCiAgIHByb2NlZHVy
ZSBHdGtfTmV3IChBZGp1c3RtZW50ICAgICA6IG91dCBHdGtfQWRqdXN0bWVudDsKICAgICAgICAg
ICAgICAgICAgICAgIFZhbHVlICAgICAgICAgIDogaW4gICAgIEdmbG9hdDsKICAgICAgICAgICAg
ICAgICAgICAgIExvd2VyICAgICAgICAgIDogaW4gICAgIEdmbG9hdDsKICAgICAgICAgICAgICAg
ICAgICAgIFVwcGVyICAgICAgICAgIDogaW4gICAgIEdmbG9hdDsKICAgICAgICAgICAgICAgICAg
ICAgIFN0ZXBfSW5jcmVtZW50IDogaW4gICAgIEdmbG9hdDsKICAgICAgICAgICAgICAgICAgICAg
IFBhZ2VfSW5jcmVtZW50IDogaW4gICAgIEdmbG9hdDsKICAgICAgICAgICAgICAgICAgICAgIFBh
Z2VfU2l6ZSAgICAgIDogaW4gICAgIEdmbG9hdCk7CiAgIC0tICBDcmVhdGUgYSBuZXcgYWRqdXN0
bWVudC4KICAgLS0gIFZhbHVlIGlzIHRoZSBpbml0aWFsIHZhbHVlIG9mIHRoZSBhZGp1c3RtZW50
LiBJdCBtdXN0IGJlIGluIHRoZQogICAtLSAgcmFuZ2UgKExvd2VyIC4uIFVwcGVyKSBhbmQgdGhl
IGFkanVzdG1lbnQncyB2YWx1ZSB3aWxsIG5ldmVyIGJlCiAgIC0tICBvdXRzaWRlIHRoaXMgcmFu
Z2UuCiAgIC0tICBTdGVwX0luY3JlbWVudCBpcyB0aGUgdmFsdWUgdXNlZCB0byBtYWtlIG1pbm9y
IGFkanVzdG1lbnRzLCBzdWNoCiAgIC0tICBhcyB3aGVuIHRoZSB1c2VyIGNsaWNrcyBvbiB0aGUg
YXJyb3dzIG9mIGEgc2Nyb2xsYmFyLgogICAtLSAgUGFnZV9JbmNyZW1lbnQgaXMgdXNlZCB0byBt
YWtlIG1ham9yIGFkanVzdG1lbnRzLCBzdWNoIGFzIHdoZW4KICAgLS0gIHRoZSB1c2VyIGNsaWNr
cyBpbiB0aGUgdGhyb3VnaCBvbiBhIHNjcm9sbGJhci4KICAgLS0gIFBhZ2VfU2l6ZSBpcyB0aGUg
c2l6ZSBvZiB0aGUgYXJlYSB0aGF0IGlzIGN1cnJlbnRseSB2aXNpYmxlCiAgIC0tICAoZm9yIGlu
c3RhbmNlIGluIGEgR3RrX1Njcm9sbGVkX1dpbmRvdykuCgogICBwcm9jZWR1cmUgSW5pdGlhbGl6
ZSAoQWRqdXN0bWVudCAgICAgOiBhY2Nlc3MgR3RrX0FkanVzdG1lbnRfUmVjb3JkJ0NsYXNzOwog
ICAgICAgICAgICAgICAgICAgICAgICAgVmFsdWUgICAgICAgICAgOiBpbiAgICAgR2Zsb2F0Owog
ICAgICAgICAgICAgICAgICAgICAgICAgTG93ZXIgICAgICAgICAgOiBpbiAgICAgR2Zsb2F0Owog
ICAgICAgICAgICAgICAgICAgICAgICAgVXBwZXIgICAgICAgICAgOiBpbiAgICAgR2Zsb2F0Owog
ICAgICAgICAgICAgICAgICAgICAgICAgU3RlcF9JbmNyZW1lbnQgOiBpbiAgICAgR2Zsb2F0Owog
ICAgICAgICAgICAgICAgICAgICAgICAgUGFnZV9JbmNyZW1lbnQgOiBpbiAgICAgR2Zsb2F0Owog
ICAgICAgICAgICAgICAgICAgICAgICAgUGFnZV9TaXplICAgICAgOiBpbiAgICAgR2Zsb2F0KTsK
ICAgLS0gIEludGVybmFsIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uLgogICAtLSAgU2VlIHRoZSBz
ZWN0aW9uICJDcmVhdGluZyB5b3VyIG93biB3aWRnZXRzIiBpbiB0aGUgZG9jdW1lbnRhdGlvbi4K
CiAgIGZ1bmN0aW9uIEdldF9UeXBlIHJldHVybiBHdGsuR3RrX1R5cGU7CiAgIC0tICBSZXR1cm4g
dGhlIGludGVybmFsIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCBhIEd0a19BZGp1c3RtZW50LgoKICAg
LS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgLS0gUmVhZCBmdW5jdGlvbnMgLS0KICAgLS0tLS0tLS0t
LS0tLS0tLS0tLS0KCiAgIGZ1bmN0aW9uIEdldF9WYWx1ZSAoQWRqdXN0bWVudCA6IGFjY2VzcyBH
dGtfQWRqdXN0bWVudF9SZWNvcmQpCiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2Zsb2F0
OwogICAtLSAgUmV0dXJuIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBhZGp1c3RtZW50LgoKICAg
ZnVuY3Rpb24gR2V0X0xvd2VyIChBZGp1c3RtZW50IDogYWNjZXNzIEd0a19BZGp1c3RtZW50X1Jl
Y29yZCkKICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHZmxvYXQ7CiAgIC0tICBSZXR1cm4g
dGhlIGxvd2VyIGJvdW5kIG9mIHRoZSBhZGp1c3RtZW50LgoKICAgZnVuY3Rpb24gR2V0X1VwcGVy
IChBZGp1c3RtZW50IDogYWNjZXNzIEd0a19BZGp1c3RtZW50X1JlY29yZCkKICAgICAgICAgICAg
ICAgICAgICAgIHJldHVybiBHZmxvYXQ7CiAgIC0tICBSZXR1cm4gdGhlIHVwcGVyIGJvdW5kIG9m
IHRoZSBhZGp1c3RtZW50LgoKICAgZnVuY3Rpb24gR2V0X1N0ZXBfSW5jcmVtZW50IChBZGp1c3Rt
ZW50IDogYWNjZXNzIEd0a19BZGp1c3RtZW50X1JlY29yZCkKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHJldHVybiBHZmxvYXQ7CiAgIC0tICBSZXR1cm4gdGhlIHN0ZXAgaW5jcmVtZW50
IG9mIHRoZSBhZGp1c3RtZW50LgoKICAgZnVuY3Rpb24gR2V0X1BhZ2VfSW5jcmVtZW50IChBZGp1
c3RtZW50IDogYWNjZXNzIEd0a19BZGp1c3RtZW50X1JlY29yZCkKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHJldHVybiBHZmxvYXQ7CiAgIC0tICBSZXR1cm4gdGhlIHBhZ2UgaW5jcmVt
ZW50IG9mIHRoZSBhZGp1c3RtZW50LgoKICAgZnVuY3Rpb24gR2V0X1BhZ2VfU2l6ZSAoQWRqdXN0
bWVudCA6IGFjY2VzcyBHdGtfQWRqdXN0bWVudF9SZWNvcmQpCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIEdmbG9hdDsKICAgLS0gIFJldHVybiB0aGUgcGFnZSBzaXplIG9mIHRoZSBh
ZGp1c3RtZW50LgoKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIC0tIFdyaXRlIGZ1bmN0aW9u
cyAtLQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiAgIHByb2NlZHVyZSBTZXRfVXBwZXIgKEFk
anVzdG1lbnQgOiBhY2Nlc3MgR3RrX0FkanVzdG1lbnRfUmVjb3JkOwogICAgICAgICAgICAgICAg
ICAgICAgICBVcHBlciAgICAgIDogaW4gR2Zsb2F0KTsKICAgLS0gIE1vZGlmeSB0aGUgdXBwZXIg
Ym91bmQgb2YgdGhlIGFkanVzdG1lbnQuCiAgIC0tICBZb3Ugc2hvdWxkIGNhbGwgQ2hhbmdlZCBh
ZnRlciBtb2RpZnlpbmcgdGhpcyB2YWx1ZS4KCiAgIHByb2NlZHVyZSBTZXRfTG93ZXIgKEFkanVz
dG1lbnQgOiBhY2Nlc3MgR3RrX0FkanVzdG1lbnRfUmVjb3JkOwogICAgICAgICAgICAgICAgICAg
ICAgICBMb3dlciAgICAgIDogaW4gR2Zsb2F0KTsKICAgLS0gIE1vZGlmeSB0aGUgbG93ZXIgYm91
bmQgb2YgdGhlIGFkanVzdG1lbnQuCiAgIC0tICBZb3Ugc2hvdWxkIGNhbGwgQ2hhbmdlZCBhZnRl
ciBtb2RpZnlpbmcgdGhpcyB2YWx1ZS4KCiAgIHByb2NlZHVyZSBTZXRfVmFsdWUgKEFkanVzdG1l
bnQgOiBhY2Nlc3MgR3RrX0FkanVzdG1lbnRfUmVjb3JkOwogICAgICAgICAgICAgICAgICAgICAg
ICBWYWx1ZSAgICAgIDogaW4gR2Zsb2F0KTsKICAgLS0gIE1vZGlmeSB0aGUgY3VycmVudCB2YWx1
ZSBvZiB0aGUgYWRqdXN0bWVudC4KICAgLS0gIFlvdSBkbyBub3QgbmVlZCB0byBjYWxsIFZhbHVl
X0NoYW5nZWQgYWZ0ZXIgbW9kaWZ5aW5nIHRoaXMgdmFsdWUsCiAgIC0tICB0aGlzIGlzIGRvbmUg
YXV0b21hdGljYWxseS4KCiAgIHByb2NlZHVyZSBTZXRfUGFnZV9TaXplIChBZGp1c3RtZW50IDog
YWNjZXNzIEd0a19BZGp1c3RtZW50X1JlY29yZDsKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFBhZ2VfU2l6ZSAgOiBpbiBHZmxvYXQpOwogICAtLSAgTW9kaWZ5IHRoZSBwYWdlIHNpemUgb2Yg
dGhlIGFkanVzdG1lbnQuCiAgIC0tICBZb3Ugc2hvdWxkIGNhbGwgQ2hhbmdlZCBhZnRlciBtb2Rp
ZnlpbmcgdGhpcyB2YWx1ZS4KCiAgIHByb2NlZHVyZSBTZXRfUGFnZV9JbmNyZW1lbnQgKEFkanVz
dG1lbnQgICAgIDogYWNjZXNzIEd0a19BZGp1c3RtZW50X1JlY29yZDsKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgUGFnZV9JbmNyZW1lbnQgOiBpbiBHZmxvYXQpOwogICAtLSAgTW9k
aWZ5IHRoZSBwYWdlIGluY3JlbWVudCBvZiB0aGUgYWRqdXN0bWVudC4KICAgLS0gIFlvdSBzaG91
bGQgY2FsbCBDaGFuZ2VkIGFmdGVyIG1vZGlmeWluZyB0aGlzIHZhbHVlLgoKICAgcHJvY2VkdXJl
IFNldF9TdGVwX0luY3JlbWVudCAoQWRqdXN0bWVudCA6IGFjY2VzcyBHdGtfQWRqdXN0bWVudF9S
ZWNvcmQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0ZXBfSW5jcmVtZW50IDog
aW4gR2Zsb2F0KTsKICAgLS0gIE1vZGlmeSB0aGUgc3RlcCBpbmNyZW1lbnQgb2YgdGhlIGFkanVz
dG1lbnQuCiAgIC0tICBZb3Ugc2hvdWxkIGNhbGwgQ2hhbmdlZCBhZnRlciBtb2RpZnlpbmcgdGhp
cyB2YWx1ZS4KCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIC0tIE1pc2MgZnVuY3Rpb25zIC0t
CiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tCgogICBwcm9jZWR1cmUgQ2xhbXBfUGFnZSAoQWRqdXN0
bWVudCA6IGFjY2VzcyBHdGtfQWRqdXN0bWVudF9SZWNvcmQ7CiAgICAgICAgICAgICAgICAgICAg
ICAgICBMb3dlciAgICAgIDogaW4gICAgIEdmbG9hdDsKICAgICAgICAgICAgICAgICAgICAgICAg
IFVwcGVyICAgICAgOiBpbiAgICAgR2Zsb2F0KTsKICAgLS0gIFVwZGF0ZSB0aGUgQWRqdXN0bWVu
dCB2YWx1ZSB0byBlbnN1cmUgdGhhdCB0aGUgcmFuZ2UgYmV0d2VlbiBMb3dlciBhbmQKICAgLS0g
IFVwcGVyIGlzIGluIHRoZSBjdXJyZW50IHBhZ2UgKGkuZS4gYmV0d2VlbiB2YWx1ZSBhbmQgdmFs
dWUgKwogICAtLSAgcGFnZV9zaXplKS4gSWYgdGhlIHJhbmdlIGlzIGxhcmdlciB0aGFuIHRoZSBw
YWdlIHNpemUsIHRoZW4gb25seSB0aGUKICAgLS0gIHN0YXJ0IG9mIGl0IHdpbGwgYmUgaW4gdGhl
IGN1cnJlbnQgcGFnZS4KICAgLS0gIEEgInZhbHVlX2NoYW5nZWQiIHNpZ25hbCB3aWxsIGJlIGVt
aXR0ZWQgaWYgdGhlIHZhbHVlIGlzIGNoYW5nZWQuCgogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CiAgIC0tIFNpZ25hbHMgZW1pc3Npb24gLS0KICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKICAg
cHJvY2VkdXJlIENoYW5nZWQgKEFkanVzdG1lbnQgOiBhY2Nlc3MgR3RrX0FkanVzdG1lbnRfUmVj
b3JkKTsKICAgLS0gIEVtaXQgdGhlICJjaGFuZ2VkIiBzaWduYWwgb24gQWRqdXN0bWVudC4KICAg
LS0gIFRoaXMgd2FybnMgYW55IGxpc3RlbmVyIHRoYXQgc29tZSBmaWVsZCBvdGhlciB0aGFuIHRo
ZSB2YWx1ZSBoYXMgYmVlbgogICAtLSAgY2hhbmdlZC4KCiAgIHByb2NlZHVyZSBWYWx1ZV9DaGFu
Z2VkIChBZGp1c3RtZW50IDogYWNjZXNzIEd0a19BZGp1c3RtZW50X1JlY29yZCk7CiAgIC0tICBF
bWl0IHRoZSAidmFsdWVfY2hhbmdlZCIgc2lnbmFsIG9uIEFkanVzdG1lbnQuCiAgIC0tICBUaGlz
IHdhcm5zIGFueSBsaXN0ZW5lciB0aGF0IHRoZSB2YWx1ZSBoYXMgYmVlbiBjaGFuZ2VkLgoKICAg
LS0tLS0tLS0tLS0tLQogICAtLSBTaWduYWxzIC0tCiAgIC0tLS0tLS0tLS0tLS0KCiAgIC0tICA8
c2lnbmFscz4KICAgLS0gIFRoZSBmb2xsb3dpbmcgbmV3IHNpZ25hbHMgYXJlIGRlZmluZWQgZm9y
IHRoaXMgd2lkZ2V0OgogICAtLQogICAtLSAgLSAiY2hhbmdlZCIKICAgLS0gICAgcHJvY2VkdXJl
IEhhbmRsZXIgKEFkanVzdG1lbnQgOiBhY2Nlc3MgR3RrX0FkanVzdG1lbnRfUmVjb3JkJ0NsYXNz
KTsKICAgLS0KICAgLS0gICAgVGhpcyBzaWduYWwgaXMgZW1pdHRlZCBldmVyeSB0aW1lIG9uZSBv
ZiB0aGUgcGFyYW1ldGVycyBpcyBtb2RpZmllZCwKICAgLS0gICAgZXhjZXB0IHRoZSB2YWx1ZS4K
ICAgLS0KICAgLS0gIC0gInZhbHVlX2NoYW5nZWQiCiAgIC0tICAgIHByb2NlZHVyZSBIYW5kbGVy
IChBZGp1c3RtZW50IDogYWNjZXNzIEd0a19BZGp1c3RtZW50X1JlY29yZCdDbGFzcyk7CiAgIC0t
CiAgIC0tICAgIFRoaXMgc2lnbmFsIGlzIGVtaXR0ZWQgZXZlcnkgdGltZSB0aGUgdmFsdWUgb2Yg
dGhlIGFkanVzdG1lbnQgaXMKICAgLS0gICAgbW9kaWZpZWQKICAgLS0gIDwvc2lnbmFscz4KCnBy
aXZhdGUKCiAgIHR5cGUgR3RrX0FkanVzdG1lbnRfUmVjb3JkIGlzIG5ldyBEYXRhLkd0a19EYXRh
X1JlY29yZCB3aXRoIG51bGwgcmVjb3JkOwoKICAgTnVsbF9BZGp1c3RtZW50IDogY29uc3RhbnQg
R3RrX0FkanVzdG1lbnQgOj0gbnVsbDsKCiAgIHByYWdtYSBJbXBvcnQgKEMsIEdldF9UeXBlLCAi
Z3RrX2FkanVzdG1lbnRfZ2V0X3R5cGUiKTsKZW5kIEd0ay5BZGp1c3RtZW50OwoKAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGduYXRidWcv
Z3RrLWRhdGEuYWRzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMTAwNjQ0ADAwMDE3NTEAMDAwMDAw
MAAwMDAwMDAwNTcxNgAwNzU1MTEwNzYzMgAwMTM1NDEAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABzcGF6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAHdoZWVsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KLS0gICAgICAgICAgR3RrQWRhIC0gQWRhOTUgYmluZGluZyBmb3IgdGhlIEdpbXAgVG9v
bGtpdCAgICAgICAgICAgICAgLS0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gICAgICAgICAgICAgICAgICAg
ICBDb3B5cmlnaHQgKEMpIDE5OTgtMTk5OSAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gICAg
ICAgIEVtbWFudWVsIEJyaW90LCBKb2VsIEJyb2JlY2tlciBhbmQgQXJuYXVkIENoYXJsZXQgICAg
ICAgICAgLS0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLS0KLS0gVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciAgICAgLS0KLS0gbW9kaWZ5IGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljICAgICAgICAgICAgICAgLS0KLS0g
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyICAgICAgLS0KLS0gdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLiAgLS0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gVGhpcyBsaWJyYXJ5
IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsICAgLS0K
LS0gYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy
cmFudHkgb2YgICAgLS0KLS0gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgLS0KLS0gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm
b3IgbW9yZSBkZXRhaWxzLiAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
LS0KLS0gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwg
UHVibGljICAgICAgICAgLS0KLS0gTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYg
bm90LCB3cml0ZSB0byB0aGUgICAgICAgICAgICAgLS0KLS0gRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsICAgICAgLS0KLS0gQm9zdG9u
LCBNQSAwMjExMS0xMzA3LCBVU0EuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLS0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLS0KLS0gQXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiwgaWYgb3RoZXIg
ZmlsZXMgaW5zdGFudGlhdGUgZ2VuZXJpY3MgZnJvbSAgLS0KLS0gdGhpcyB1bml0LCBvciB5b3Ug
bGluayB0aGlzIHVuaXQgd2l0aCBvdGhlciBmaWxlcyB0byBwcm9kdWNlIGFuICAgLS0KLS0gZXhl
Y3V0YWJsZSwgdGhpcyAgdW5pdCAgZG9lcyBub3QgIGJ5IGl0c2VsZiBjYXVzZSAgdGhlIHJlc3Vs
dGluZyAgLS0KLS0gZXhlY3V0YWJsZSB0byBiZSBjb3ZlcmVkIGJ5IHRoZSBHTlUgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZS4gVGhpcyAgLS0KLS0gZXhjZXB0aW9uIGRvZXMgbm90IGhvd2V2ZXIgaW52
YWxpZGF0ZSBhbnkgb3RoZXIgcmVhc29ucyB3aHkgdGhlICAgLS0KLS0gZXhlY3V0YWJsZSBmaWxl
ICBtaWdodCBiZSBjb3ZlcmVkIGJ5IHRoZSAgR05VIFB1YmxpYyBMaWNlbnNlLiAgICAgLS0KLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KCi0tICA8ZGVzY3JpcHRpb24+Ci0tCi0tICBBYnN0cmFjdCBjbGFzcyBmb3Ig
b2JqZWN0cyBjb250YWluaW5nIGRhdGEKLS0gIFRoaXMgb2JqZWN0IGlzIGN1cnJlbnRseSBub3Qg
dmVyeSB1c2VmdWwgc2luY2UgaXQgb25seSBwcm92aWRlcwotLSAgYSBzaW5nbGUgImRpc2Nvbm5l
Y3QiIHNpZ25hbC4KLS0KLS0gIFRoaXMgaXMgdGhlICJNb2RlbCIgaW4gdGhlIE1vZGVsL1ZpZXcv
Q29udHJvbGxlciBmcmFtZXdvcmsuCi0tICA8L2Rlc2NyaXB0aW9uPgotLSAgPGNfdmVyc2lvbj4x
LjIuNjwvY192ZXJzaW9uPgoKd2l0aCBHdGsuT2JqZWN0OwoKcGFja2FnZSBHdGsuRGF0YSBpcwoK
ICAgdHlwZSBHdGtfRGF0YV9SZWNvcmQgaXMgbmV3IE9iamVjdC5HdGtfT2JqZWN0X1JlY29yZCB3
aXRoIHByaXZhdGU7CiAgIHR5cGUgR3RrX0RhdGEgaXMgYWNjZXNzIGFsbCBHdGtfRGF0YV9SZWNv
cmQnQ2xhc3M7CgogICBmdW5jdGlvbiBHZXRfVHlwZSByZXR1cm4gR3RrLkd0a19UeXBlOwogICAt
LSAgUmV0dXJuIHRoZSBpbnRlcm5hbCB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggYSBHdGtfRGF0YS4K
CiAgIC0tLS0tLS0tLS0tLS0KICAgLS0gU2lnbmFscyAtLQogICAtLS0tLS0tLS0tLS0tCgogICAt
LSAgPHNpZ25hbHM+CiAgIC0tICBUaGUgZm9sbG93aW5nIG5ldyBzaWduYWxzIGFyZSBkZWZpbmVk
IGZvciB0aGlzIHdpZGdldDoKICAgLS0KICAgLS0gIC0gImRpc2Nvbm5lY3QiCiAgIC0tICAgIHBy
b2NlZHVyZSBIYW5kbGVyIChEYXRhIDogYWNjZXNzIEd0a19EYXRhX1JlY29yZCdDbGFzcyk7CiAg
IC0tCiAgIC0tICAgIEVtaXR0ZWQganVzdCBiZWZvcmUgRGF0YSBpcyBkZXN0cm95ZWQuCiAgIC0t
ICA8L3NpZ25hbHM+Cgpwcml2YXRlCiAgIHR5cGUgR3RrX0RhdGFfUmVjb3JkIGlzIG5ldyBPYmpl
Y3QuR3RrX09iamVjdF9SZWNvcmQgd2l0aCBudWxsIHJlY29yZDsKICAgcHJhZ21hIEltcG9ydCAo
QywgR2V0X1R5cGUsICJndGtfZGF0YV9nZXRfdHlwZSIpOwplbmQgR3RrLkRhdGE7CgAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZ25hdGJ1Zy9ndGstZW51
bXMuYWRzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAxMDA2NDQAMDAwMTc1MQAwMDAwMDAwADAwMDAw
MDE3MjU1ADA3NTUxMTA3NjMyADAxMzc2MAAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAB1c3RhciAgAHNwYXoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAd2hl
ZWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQot
LSAgICAgICAgICBHdGtBZGEgLSBBZGE5NSBiaW5kaW5nIGZvciB0aGUgR2ltcCBUb29sa2l0ICAg
ICAgICAgICAgICAtLQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSAgICAgICAgICAgICAgICAgICAgIENvcHly
aWdodCAoQykgMTk5OC0xOTk5ICAgICAgICAgICAgICAgICAgICAgICAtLQotLSAgICAgICAgRW1t
YW51ZWwgQnJpb3QsIEpvZWwgQnJvYmVja2VyIGFuZCBBcm5hdWQgQ2hhcmxldCAgICAgICAgICAt
LQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAtLQotLSBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh
biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yICAgICAtLQotLSBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl
cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgICAgICAgICAgICAgICAtLQotLSBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgICAg
ICAtLQotLSB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uICAtLQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSBUaGlzIGxpYnJhcnkgaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgICAtLQotLSBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZiAgICAtLQotLSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UuICBTZWUgdGhlIEdOVSAtLQotLSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg
ICAgICAgICAtLQotLSBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdy
aXRlIHRvIHRoZSAgICAgICAgICAgICAtLQotLSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu
Yy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgICAgICAtLQotLSBCb3N0b24sIE1BIDAy
MTExLTEzMDcsIFVTQS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLQot
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAtLQotLSBBcyBhIHNwZWNpYWwgZXhjZXB0aW9uLCBpZiBvdGhlciBmaWxlcyBp
bnN0YW50aWF0ZSBnZW5lcmljcyBmcm9tICAtLQotLSB0aGlzIHVuaXQsIG9yIHlvdSBsaW5rIHRo
aXMgdW5pdCB3aXRoIG90aGVyIGZpbGVzIHRvIHByb2R1Y2UgYW4gICAtLQotLSBleGVjdXRhYmxl
LCB0aGlzICB1bml0ICBkb2VzIG5vdCAgYnkgaXRzZWxmIGNhdXNlICB0aGUgcmVzdWx0aW5nICAt
LQotLSBleGVjdXRhYmxlIHRvIGJlIGNvdmVyZWQgYnkgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlLiBUaGlzICAtLQotLSBleGNlcHRpb24gZG9lcyBub3QgaG93ZXZlciBpbnZhbGlkYXRl
IGFueSBvdGhlciByZWFzb25zIHdoeSB0aGUgICAtLQotLSBleGVjdXRhYmxlIGZpbGUgIG1pZ2h0
IGJlIGNvdmVyZWQgYnkgdGhlICBHTlUgUHVibGljIExpY2Vuc2UuICAgICAtLQotLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQoKd2l0aCBHbGliOwp3aXRoIEdsaWIuR2xpc3Q7CnByYWdtYSBFbGFib3JhdGVfQWxsIChH
bGliLkdsaXN0KTsKCndpdGggU3lzdGVtOwoKcGFja2FnZSBHdGsuRW51bXMgaXMKCiAgIHR5cGUg
R3RrX1N0YXRlX1R5cGUgaXMKICAgICAoU3RhdGVfTm9ybWFsLAogICAgICBTdGF0ZV9BY3RpdmUs
CiAgICAgIFN0YXRlX1ByZWxpZ2h0LAogICAgICBTdGF0ZV9TZWxlY3RlZCwKICAgICAgU3RhdGVf
SW5zZW5zaXRpdmUpOwoKICAgdHlwZSBHdGtfV2luZG93X1R5cGUgaXMgKFdpbmRvd19Ub3BsZXZl
bCwgV2luZG93X0RpYWxvZywgV2luZG93X1BvcHVwKTsKCiAgIHR5cGUgR3RrX0J1dHRvbl9BY3Rp
b24gaXMgbmV3IEd1aW50OwogICBCdXR0b25fSWdub3JlZCA6IGNvbnN0YW50IEd0a19CdXR0b25f
QWN0aW9uIDo9IDA7CiAgIEJ1dHRvbl9TZWxlY3RzIDogY29uc3RhbnQgR3RrX0J1dHRvbl9BY3Rp
b24gOj0gMSAqKiAwOwogICBCdXR0b25fRHJhZ3MgICA6IGNvbnN0YW50IEd0a19CdXR0b25fQWN0
aW9uIDo9IDEgKiogMTsKICAgQnV0dG9uX0V4cGFuZHMgOiBjb25zdGFudCBHdGtfQnV0dG9uX0Fj
dGlvbiA6PSAxICoqIDI7CgogICB0eXBlIEd0a19CdXR0b25fQm94X1N0eWxlIGlzCiAgICAgKEJ1
dHRvbmJveF9EZWZhdWx0X1N0eWxlLAogICAgICBCdXR0b25ib3hfU3ByZWFkLAogICAgICBCdXR0
b25ib3hfRWRnZSwKICAgICAgQnV0dG9uYm94X1N0YXJ0LAogICAgICBCdXR0b25ib3hfRW5kKTsK
CiAgIHR5cGUgR3RrX0RpcmVjdGlvbl9UeXBlIGlzCiAgICAgKERpcl9UYWJfRm9yd2FyZCwKICAg
ICAgRGlyX1RhYl9CYWNrd2FyZCwKICAgICAgRGlyX1VwLAogICAgICBEaXJfRG93biwKICAgICAg
RGlyX0xlZnQsCiAgICAgIERpcl9SaWdodCk7CgogICB0eXBlIEd0a19TaGFkb3dfVHlwZSBpcwog
ICAgIChTaGFkb3dfTm9uZSwKICAgICAgU2hhZG93X0luLAogICAgICBTaGFkb3dfT3V0LAogICAg
ICBTaGFkb3dfRXRjaGVkX0luLAogICAgICBTaGFkb3dfRXRjaGVkX091dCk7CgogICB0eXBlIEd0
a19BcnJvd19UeXBlIGlzIChBcnJvd19VcCwgQXJyb3dfRG93biwgQXJyb3dfTGVmdCwgQXJyb3df
UmlnaHQpOwoKICAgdHlwZSBHdGtfQ2VsbF9UeXBlIGlzCiAgICAgKENlbGxfRW1wdHksCiAgICAg
IENlbGxfVGV4dCwKICAgICAgQ2VsbF9QaXhtYXAsCiAgICAgIENlbGxfUGl4dGV4dCwKICAgICAg
Q2VsbF9XaWRnZXQpOwoKICAgdHlwZSBHdGtfUGFja19UeXBlIGlzIChQYWNrX1N0YXJ0LCBQYWNr
X0VuZCk7CgogICB0eXBlIEd0a19Qb2xpY3lfVHlwZSBpcyAoUG9saWN5X0Fsd2F5cywgUG9saWN5
X0F1dG9tYXRpYywgUG9saWN5X05ldmVyKTsKCiAgIHR5cGUgR3RrX1VwZGF0ZV9UeXBlIGlzCiAg
ICAgKFVwZGF0ZV9Db250aW51b3VzLAogICAgICBVcGRhdGVfRGlzY29udGludW91cywKICAgICAg
VXBkYXRlX0RlbGF5ZWQpOwoKICAgdHlwZSBHdGtfUmVsaWVmX1N0eWxlIGlzIChSZWxpZWZfTm9y
bWFsLCBSZWxpZWZfSGFsZiwgUmVsaWVmX05vbmUpOwoKICAgdHlwZSBHdGtfQXR0YWNoX09wdGlv
bnMgaXMgbmV3IEdsaWIuR3VpbnQzMjsKICAgRXhwYW5kIDogY29uc3RhbnQgR3RrX0F0dGFjaF9P
cHRpb25zIDo9IDE7CiAgIFNocmluayA6IGNvbnN0YW50IEd0a19BdHRhY2hfT3B0aW9ucyA6PSAy
OwogICBGaWxsICAgOiBjb25zdGFudCBHdGtfQXR0YWNoX09wdGlvbnMgOj0gNDsKCiAgIHR5cGUg
R3RrX1dpbmRvd19Qb3NpdGlvbiBpcwogICAgIChXaW5fUG9zX05vbmUsCiAgICAgIFdpbl9Qb3Nf
Q2VudGVyLAogICAgICBXaW5fUG9zX01vdXNlLAogICAgICBXaW5fUG9zX0NlbnRlcl9BbHdheXMp
OwoKICAgdHlwZSBHdGtfU3VibWVudV9EaXJlY3Rpb24gaXMgKERpcmVjdGlvbl9MZWZ0LCBEaXJl
Y3Rpb25fUmlnaHQpOwoKICAgdHlwZSBHdGtfU3VibWVudV9QbGFjZW1lbnQgaXMgKFRvcF9Cb3R0
b20sIExlZnRfUmlnaHQpOwoKICAgdHlwZSBHdGtfUmVzaXplX01vZGUgaXMKICAgICAoUmVzaXpl
X1BhcmVudCwgICAgIC0tICBQYXNzIHJlcXVlc3QgdG8gdGhlIHBhcmVudAogICAgICBSZXNpemVf
UXVldWUsICAgICAgLS0gIFF1ZXVlIHJlc2l6ZXMgb24gdGhpcyB3aWRnZXQKICAgICAgUmVzaXpl
X0ltbWVkaWF0ZSk7IC0tICBQZXJmb3JtIHRoZSByZXNpemVzIG5vdwoKICAgdHlwZSBHdGtfTWV0
cmljX1R5cGUgaXMgKFBpeGVscywgSW5jaGVzLCBDZW50aW1ldGVycyk7CgogICB0eXBlIEd0a19T
Y3JvbGxfVHlwZSBpcwogICAgIChTY3JvbGxfTm9uZSwKICAgICAgU2Nyb2xsX1N0ZXBfQmFja3dh
cmQsCiAgICAgIFNjcm9sbF9TdGVwX0ZvcndhcmQsCiAgICAgIFNjcm9sbF9QYWdlX0JhY2t3YXJk
LAogICAgICBTY3JvbGxfUGFnZV9Gb3J3YXJkLAogICAgICBTY3JvbGxfSnVtcCk7CgogICB0eXBl
IEd0a19Ucm91Z2hfVHlwZSBpcwogICAgIChUcm91Z2hfTm9uZSwKICAgICAgVHJvdWdoX1N0YXJ0
LAogICAgICBUcm91Z2hfRW5kLAogICAgICBUcm91Z2hfSnVtcCk7CgogICB0eXBlIEd0a19Qb3Np
dGlvbl9UeXBlIGlzCiAgICAgKFBvc19MZWZ0LAogICAgICBQb3NfUmlnaHQsCiAgICAgIFBvc19U
b3AsCiAgICAgIFBvc19Cb3R0b20pOwoKICAgdHlwZSBHdGtfUHJldmlld19UeXBlIGlzIChQcmV2
aWV3X0NvbG9yLCBQcmV2aWV3X0dyYXlzY2FsZSk7CgogICB0eXBlIEd0a19KdXN0aWZpY2F0aW9u
IGlzCiAgICAgKEp1c3RpZnlfTGVmdCwKICAgICAgSnVzdGlmeV9SaWdodCwKICAgICAgSnVzdGlm
eV9DZW50ZXIsCiAgICAgIEp1c3RpZnlfRmlsbCk7CgogICB0eXBlIEd0a19TZWxlY3Rpb25fTW9k
ZSBpcwogICAgIChTZWxlY3Rpb25fU2luZ2xlLAogICAgICBTZWxlY3Rpb25fQnJvd3NlLAogICAg
ICBTZWxlY3Rpb25fTXVsdGlwbGUsCiAgICAgIFNlbGVjdGlvbl9FeHRlbmRlZCk7CgogICB0eXBl
IEd0a19PcmllbnRhdGlvbiBpcyAoT3JpZW50YXRpb25fSG9yaXpvbnRhbCwgT3JpZW50YXRpb25f
VmVydGljYWwpOwoKICAgdHlwZSBHdGtfU3Bpbl9CdXR0b25fVXBkYXRlX1BvbGljeSBpcyAoVXBk
YXRlX0Fsd2F5cywgVXBkYXRlX0lmX1ZhbGlkKTsKCiAgIHR5cGUgR3RrX1Rvb2xiYXJfQ2hpbGRf
VHlwZSBpcwogICAgIChUb29sYmFyX0NoaWxkX1NwYWNlLAogICAgICBUb29sYmFyX0NoaWxkX0J1
dHRvbiwKICAgICAgVG9vbGJhcl9DaGlsZF9Ub2dnbGVidXR0b24sCiAgICAgIFRvb2xiYXJfQ2hp
bGRfUmFkaW9idXR0b24sCiAgICAgIFRvb2xiYXJfQ2hpbGRfV2lkZ2V0KTsKCiAgIHR5cGUgR3Rr
X1Rvb2xiYXJfU3R5bGUgaXMgKFRvb2xiYXJfSWNvbnMsIFRvb2xiYXJfVGV4dCwgVG9vbGJhcl9C
b3RoKTsKCiAgIHR5cGUgR3RrX1Rvb2xiYXJfU3BhY2VfU3R5bGUgaXMgKFRvb2xiYXJfU3BhY2Vf
RW1wdHksIFRvb2xiYXJfU3BhY2VfTGluZSk7CgogICB0eXBlIEd0a19UcmVlX1ZpZXdfTW9kZSBp
cyAoVHJlZV9WaWV3X0xpbmUsIFRyZWVfVmlld19JdGVtKTsKCiAgIHR5cGUgR3RrX1Zpc2liaWxp
dHkgaXMKICAgICAoVmlzaWJpbGl0eV9Ob25lLCBWaXNpYmlsaXR5X1BhcnRpYWwsIFZpc2liaWxp
dHlfRnVsbCk7CgogICB0eXBlIEd0a19Qcm9ncmVzc19CYXJfU3R5bGUgaXMKICAgICAoUHJvZ3Jl
c3NfQ29udGludW91cywgUHJvZ3Jlc3NfRGlzY3JldGUpOwoKICAgdHlwZSBHdGtfUHJvZ3Jlc3Nf
QmFyX09yaWVudGF0aW9uIGlzCiAgICAgKFByb2dyZXNzX0xlZnRfVG9fUmlnaHQsCiAgICAgIFBy
b2dyZXNzX1JpZ2h0X1RvX0xlZnQsCiAgICAgIFByb2dyZXNzX0JvdHRvbV9Ub19Ub3AsCiAgICAg
IFByb2dyZXNzX1RvcF9Ub19Cb3R0b20pOwoKICAgdHlwZSBHdGtfQ3RyZWVfTGluZV9TdHlsZSBp
cwogICAgIChDdHJlZV9MaW5lc19Ob25lLAogICAgICAtLSAgTm8gbGluZSB3aWxsIGJlIGRyYXdu
IGluIHRoZSBDdHJlZQoKICAgICAgQ3RyZWVfTGluZXNfU29saWQsCiAgICAgIC0tICBTb2xpZCBs
aW5lcyB3aWxsIGJlIGRyYXduCgogICAgICBDdHJlZV9MaW5lc19Eb3R0ZWQsCiAgICAgIC0tICBE
b3R0ZWQgbGluZXMgd2lsbCBiZSBkcmF3bgoKICAgICAgQ3RyZWVfTGluZXNfVGFiYmVkCiAgICAg
IC0tICBUaGUgdHJlZSB3b24ndCBiZSBoaWdobGlnaHRlZCBieSBsaW5lcyBidXQgYnkgdGFicyBz
dXJyb3VuZGluZyBub2RlcwogICAgICk7CiAgIC0tICBTZWUgR3RrLkN0cmVlLlNldF9MaW5lX1N0
eWxlIGZvciBtb3JlIGRldGFpbHMuCgogICB0eXBlIEd0a19DdHJlZV9FeHBhbmRlcl9TdHlsZSBp
cwogICAgIChDdHJlZV9FeHBhbmRlcl9Ob25lLAogICAgICAtLSAgTm8gcGl4bWFwIHdpbGwgYmUg
ZHJhd24sIHlvdSB3aWxsIGhhdmUgdG8gZG91YmxlLWNsaWNrIG9uIHRoZSBub2RlIHRvCiAgICAg
IC0tICBleHBhbmQgaXQuCgogICAgICBDdHJlZV9FeHBhbmRlcl9TcXVhcmUsCiAgICAgIC0tICBU
aGUgcGl4bWFwIHdpbGwgYmUgYSBzcXVhcmUKCiAgICAgIEN0cmVlX0V4cGFuZGVyX1RyaWFuZ2xl
LAogICAgICAtLSAgVGhlIHBpeG1hcCB3aWxsIGJlIGEgdHJpYW5nbGUKCiAgICAgIEN0cmVlX0V4
cGFuZGVyX0NpcmN1bGFyCiAgICAgIC0tICBUaGUgcGl4bWFwIHdpbGwgYmUgYSBjaXJjbGUKICAg
ICApOwogICAtLSAgU2VlIEd0ay5DdHJlZS5TZXRfRXhwYW5kZXJfU3R5bGUgZm9yIG1vcmUgZGV0
YWlscy4KCiAgIC0tICBTb21lIEdsaWIgaW5zdGFudGlhdGlvbnMKCiAgIGZ1bmN0aW9uIENvbnZl
cnQgKFMgOiBTdHJpbmcpIHJldHVybiBTeXN0ZW0uQWRkcmVzczsKICAgZnVuY3Rpb24gQ29udmVy
dCAoUyA6IFN5c3RlbS5BZGRyZXNzKSByZXR1cm4gU3RyaW5nOwogICBmdW5jdGlvbiBDb252ZXJ0
X0kgKEkgOiBHaW50KSByZXR1cm4gU3lzdGVtLkFkZHJlc3M7CiAgIGZ1bmN0aW9uIENvbnZlcnRf
QSAoUyA6IFN5c3RlbS5BZGRyZXNzKSByZXR1cm4gR2ludDsKICAgcHJhZ21hIEltcG9ydCAoQywg
Q29udmVydF9JLCAiY29udmVydF9pIik7CiAgIHByYWdtYSBJbXBvcnQgKEMsIENvbnZlcnRfQSwg
ImNvbnZlcnRfYSIpOwoKICAgcGFja2FnZSBTdHJpbmdfTGlzdCBpcyBuZXcgR2xpYi5HbGlzdC5H
ZW5lcmljX0xpc3QgKFN0cmluZyk7CiAgIC0tICBXYXJuaW5nOiB3aGVuIHlvdSBjcmVhdGUgdGhp
cyBsaXN0LCBuZXcgbWVtb3J5IGdldHMgYWxsb2NhdGVkIGZvcgogICAtLSAgYWxsIHRoZSBzdHJp
bmdzLiBZb3Ugc2hvdWxkIHVzZSB0aGUgZnVuY3Rpb24gRnJlZV9TdHJpbmdfTGlzdAogICAtLSAg
aW5zdGVhZCBvZiBHbGliLkdsaXN0LkZyZWUgdG8gYmUgc3VyZSB0byBmcmVlIHRoaXMgbWVtb3J5
LgoKICAgcHJvY2VkdXJlIEZyZWVfU3RyaW5nX0xpc3QgKExpc3QgOiBpbiBvdXQgU3RyaW5nX0xp
c3QuR2xpc3QpOwogICAtLSAgRnJlZSB0aGUgbWVtb3J5IG9jY3VwaWVkIGJ5IGFsbCB0aGUgc3Ry
aW5ncyBpbiB0aGUgbGlzdCwgYXMgd2VsbAogICAtLSAgYXMgdGhlIG1lbW9yeSBvY2N1cGllZCBi
eSB0aGUgbGlzdCBpdHNlbGYuCgogICBwYWNrYWdlIEdpbnRfTGlzdCBpcyBuZXcKICAgICBHbGli
LkdsaXN0LkdlbmVyaWNfTGlzdCAoR2ludCwgQ29udmVydF9JLCBDb252ZXJ0X0EpOwoKICAgZnVu
Y3Rpb24gQ29udmVydF9VSSAoSSA6IEd1aW50KSByZXR1cm4gU3lzdGVtLkFkZHJlc3M7CiAgIGZ1
bmN0aW9uIENvbnZlcnRfVUEgKFMgOiBTeXN0ZW0uQWRkcmVzcykgcmV0dXJuIEd1aW50OwogICBw
cmFnbWEgSW1wb3J0IChDLCBDb252ZXJ0X1VJLCAiY29udmVydF91aSIpOwogICBwcmFnbWEgSW1w
b3J0IChDLCBDb252ZXJ0X1VBLCAiY29udmVydF91YSIpOwogICBwYWNrYWdlIEd1aW50X0xpc3Qg
aXMgbmV3CiAgICAgR2xpYi5HbGlzdC5HZW5lcmljX0xpc3QgKEd1aW50LCBDb252ZXJ0X1VJLCBD
b252ZXJ0X1VBKTsKCmVuZCBHdGsuRW51bXM7CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGduYXRidWcvZ3RrLXN0eWxlLmFkcwAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAwMTAwNjQ0ADAwMDE3NTEAMDAwMDAwMAAwMDAwMDA0MDM3MAAwNzU1MTEwNzYz
MgAwMTM3NjMAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0
YXIgIABzcGF6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHdoZWVsAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLS0gICAgICAgICAgR3RrQWRh
IC0gQWRhOTUgYmluZGluZyBmb3IgdGhlIEdpbXAgVG9vbGtpdCAgICAgICAgICAgICAgLS0KLS0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLS0KLS0gICAgICAgICAgICAgICAgICAgICBDb3B5cmlnaHQgKEMpIDE5OTgtMjAw
MCAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gICAgICAgIEVtbWFudWVsIEJyaW90LCBKb2Vs
IEJyb2JlY2tlciBhbmQgQXJuYXVkIENoYXJsZXQgICAgICAgICAgLS0KLS0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0K
LS0gVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vciAgICAgLS0KLS0gbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl
bmVyYWwgUHVibGljICAgICAgICAgICAgICAgLS0KLS0gTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyICAgICAgLS0KLS0gdmVyc2lvbiAy
IG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLiAg
LS0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLS0KLS0gVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo
b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsICAgLS0KLS0gYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgICAgLS0KLS0gTUVSQ0hB
TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH
TlUgLS0KLS0gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLiAgICAgICAg
ICAgICAgICAgICAgICAgICAgLS0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gWW91IHNob3VsZCBoYXZlIHJl
Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljICAgICAgICAgLS0KLS0gTGlj
ZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgICAgICAg
ICAgICAgLS0KLS0gRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxh
Y2UgLSBTdWl0ZSAzMzAsICAgICAgLS0KLS0gQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0g
QXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiwgaWYgb3RoZXIgZmlsZXMgaW5zdGFudGlhdGUgZ2VuZXJp
Y3MgZnJvbSAgLS0KLS0gdGhpcyB1bml0LCBvciB5b3UgbGluayB0aGlzIHVuaXQgd2l0aCBvdGhl
ciBmaWxlcyB0byBwcm9kdWNlIGFuICAgLS0KLS0gZXhlY3V0YWJsZSwgdGhpcyAgdW5pdCAgZG9l
cyBub3QgIGJ5IGl0c2VsZiBjYXVzZSAgdGhlIHJlc3VsdGluZyAgLS0KLS0gZXhlY3V0YWJsZSB0
byBiZSBjb3ZlcmVkIGJ5IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4gVGhpcyAgLS0K
LS0gZXhjZXB0aW9uIGRvZXMgbm90IGhvd2V2ZXIgaW52YWxpZGF0ZSBhbnkgb3RoZXIgcmVhc29u
cyB3aHkgdGhlICAgLS0KLS0gZXhlY3V0YWJsZSBmaWxlICBtaWdodCBiZSBjb3ZlcmVkIGJ5IHRo
ZSAgR05VIFB1YmxpYyBMaWNlbnNlLiAgICAgLS0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCndpdGggR2RrOyB1
c2UgR2RrOwp3aXRoIEdkay5Db2xvcjsKd2l0aCBHZGsuR0M7CndpdGggR2RrLkZvbnQ7CndpdGgg
R2RrLlR5cGVzOwp3aXRoIEdkay5QaXhtYXA7CndpdGggR2RrLldpbmRvdzsKd2l0aCBHdGsuRW51
bXM7CgpwYWNrYWdlIEd0ay5TdHlsZSBpcwoKICAgdHlwZSBHdGtfU3R5bGUgaXMgbmV3IEdkay5D
X1Byb3h5OwogICAtLSAgVHlwZSB1c2VkIHRvIGhhbmRsZSBzdHlsZXMuCiAgIC0tICBAcHhyZWZ7
UGFja2FnZV9HdGsuV2lkZ2V0fSBmb3Igc3R5bGUgaGFuZGxpbmcuCgogICBOdWxsX1N0eWxlIDog
Y29uc3RhbnQgR3RrX1N0eWxlIDo9IG51bGw7CgogICBwcm9jZWR1cmUgR3RrX05ldyAoU3R5bGUg
OiBvdXQgR3RrX1N0eWxlKTsKCiAgIGZ1bmN0aW9uIENvcHkgKFNvdXJjZSA6IGluIEd0a19TdHls
ZSkgcmV0dXJuIEd0a19TdHlsZTsKCiAgIGZ1bmN0aW9uIEF0dGFjaAogICAgIChTdHlsZSAgOiBp
biBHdGtfU3R5bGU7CiAgICAgIFdpbmRvdyA6IGluIEdkay5XaW5kb3cuR2RrX1dpbmRvdykgcmV0
dXJuIEd0a19TdHlsZTsKCiAgIHByb2NlZHVyZSBEZXRhY2ggKFN0eWxlIDogaW4gR3RrX1N0eWxl
KTsKCiAgIHByb2NlZHVyZSBTZXRfQmFja2dyb3VuZAogICAgIChTdHlsZSAgICAgIDogaW4gR3Rr
X1N0eWxlOwogICAgICBXaW5kb3cgICAgIDogaW4gR2RrLldpbmRvdy5HZGtfV2luZG93OwogICAg
ICBTdGF0ZV9UeXBlIDogaW4gRW51bXMuR3RrX1N0YXRlX1R5cGUpOwoKICAgcHJvY2VkdXJlIFNl
dF9Gb3JlZ3JvdW5kCiAgICAgKFN0eWxlICAgICAgOiBpbiBHdGtfU3R5bGU7CiAgICAgIFN0YXRl
X1R5cGUgOiBpbiBFbnVtcy5HdGtfU3RhdGVfVHlwZTsKICAgICAgQ29sb3IgICAgICA6IGluIEdk
ay5Db2xvci5HZGtfQ29sb3IpOwoKICAgcHJvY2VkdXJlIFNldF9GZwogICAgIChTdHlsZSAgICAg
IDogaW4gR3RrX1N0eWxlOwogICAgICBTdGF0ZV9UeXBlIDogaW4gRW51bXMuR3RrX1N0YXRlX1R5
cGU7CiAgICAgIENvbG9yICAgICAgOiBpbiBHZGsuQ29sb3IuR2RrX0NvbG9yKSByZW5hbWVzIFNl
dF9Gb3JlZ3JvdW5kOwoKICAgZnVuY3Rpb24gR2V0X0ZvcmVncm91bmQKICAgICAoU3R5bGUgICAg
ICA6IGluIEd0a19TdHlsZTsKICAgICAgU3RhdGVfVHlwZSA6IGluIEVudW1zLkd0a19TdGF0ZV9U
eXBlKSByZXR1cm4gR2RrLkNvbG9yLkdka19Db2xvcjsKCiAgIGZ1bmN0aW9uIEdldF9GZwogICAg
IChTdHlsZSAgICAgIDogaW4gR3RrX1N0eWxlOwogICAgICBTdGF0ZV9UeXBlIDogaW4gRW51bXMu
R3RrX1N0YXRlX1R5cGUpIHJldHVybiBHZGsuQ29sb3IuR2RrX0NvbG9yCiAgICAgIHJlbmFtZXMg
R2V0X0ZvcmVncm91bmQ7CgogICBwcm9jZWR1cmUgU2V0X0JhY2tncm91bmQKICAgICAoU3R5bGUg
ICAgICA6IGluIEd0a19TdHlsZTsKICAgICAgU3RhdGVfVHlwZSA6IGluIEVudW1zLkd0a19TdGF0
ZV9UeXBlOwogICAgICBDb2xvciAgICAgIDogaW4gR2RrLkNvbG9yLkdka19Db2xvcik7CgogICBw
cm9jZWR1cmUgU2V0X0JnCiAgICAgKFN0eWxlICAgICAgOiBpbiBHdGtfU3R5bGU7CiAgICAgIFN0
YXRlX1R5cGUgOiBpbiBFbnVtcy5HdGtfU3RhdGVfVHlwZTsKICAgICAgQ29sb3IgICAgICA6IGlu
IEdkay5Db2xvci5HZGtfQ29sb3IpIHJlbmFtZXMgU2V0X0JhY2tncm91bmQ7CgogICBmdW5jdGlv
biBHZXRfQmFja2dyb3VuZAogICAgIChTdHlsZSAgICAgIDogaW4gR3RrX1N0eWxlOwogICAgICBT
dGF0ZV9UeXBlIDogaW4gRW51bXMuR3RrX1N0YXRlX1R5cGUpIHJldHVybiBHZGsuQ29sb3IuR2Rr
X0NvbG9yOwoKICAgZnVuY3Rpb24gR2V0X0JnCiAgICAgKFN0eWxlICAgICAgOiBpbiBHdGtfU3R5
bGU7CiAgICAgIFN0YXRlX1R5cGUgOiBpbiBFbnVtcy5HdGtfU3RhdGVfVHlwZSkgcmV0dXJuIEdk
ay5Db2xvci5HZGtfQ29sb3IKICAgICAgcmVuYW1lcyBHZXRfQmFja2dyb3VuZDsKCiAgIHByb2Nl
ZHVyZSBTZXRfTGlnaHQKICAgICAoU3R5bGUgICAgICA6IGluIEd0a19TdHlsZTsKICAgICAgU3Rh
dGVfVHlwZSA6IGluIEVudW1zLkd0a19TdGF0ZV9UeXBlOwogICAgICBDb2xvciAgICAgIDogaW4g
R2RrLkNvbG9yLkdka19Db2xvcik7CgogICBmdW5jdGlvbiBHZXRfTGlnaHQKICAgICAoU3R5bGUg
ICAgICA6IGluIEd0a19TdHlsZTsKICAgICAgU3RhdGVfVHlwZSA6IGluIEVudW1zLkd0a19TdGF0
ZV9UeXBlKSByZXR1cm4gR2RrLkNvbG9yLkdka19Db2xvcjsKCiAgIHByb2NlZHVyZSBTZXRfRGFy
awogICAgIChTdHlsZSAgICAgIDogaW4gR3RrX1N0eWxlOwogICAgICBTdGF0ZV9UeXBlIDogaW4g
RW51bXMuR3RrX1N0YXRlX1R5cGU7CiAgICAgIENvbG9yICAgICAgOiBpbiBHZGsuQ29sb3IuR2Rr
X0NvbG9yKTsKCiAgIGZ1bmN0aW9uIEdldF9EYXJrCiAgICAgKFN0eWxlICAgICAgOiBpbiBHdGtf
U3R5bGU7CiAgICAgIFN0YXRlX1R5cGUgOiBpbiBFbnVtcy5HdGtfU3RhdGVfVHlwZSkgcmV0dXJu
IEdkay5Db2xvci5HZGtfQ29sb3I7CgogICBwcm9jZWR1cmUgU2V0X01pZGRsZQogICAgIChTdHls
ZSAgICAgIDogaW4gR3RrX1N0eWxlOwogICAgICBTdGF0ZV9UeXBlIDogaW4gRW51bXMuR3RrX1N0
YXRlX1R5cGU7CiAgICAgIENvbG9yICAgICAgOiBpbiBHZGsuQ29sb3IuR2RrX0NvbG9yKTsKCiAg
IHByb2NlZHVyZSBTZXRfTWlkCiAgICAgKFN0eWxlICAgICAgOiBpbiBHdGtfU3R5bGU7CiAgICAg
IFN0YXRlX1R5cGUgOiBpbiBFbnVtcy5HdGtfU3RhdGVfVHlwZTsKICAgICAgQ29sb3IgICAgICA6
IGluIEdkay5Db2xvci5HZGtfQ29sb3IpIHJlbmFtZXMgU2V0X01pZGRsZTsKCiAgIGZ1bmN0aW9u
IEdldF9NaWRkbGUKICAgICAoU3R5bGUgICAgICA6IGluIEd0a19TdHlsZTsKICAgICAgU3RhdGVf
VHlwZSA6IGluIEVudW1zLkd0a19TdGF0ZV9UeXBlKSByZXR1cm4gR2RrLkNvbG9yLkdka19Db2xv
cjsKCiAgIGZ1bmN0aW9uIEdldF9NaWQKICAgICAoU3R5bGUgICAgICA6IGluIEd0a19TdHlsZTsK
ICAgICAgU3RhdGVfVHlwZSA6IGluIEVudW1zLkd0a19TdGF0ZV9UeXBlKSByZXR1cm4gR2RrLkNv
bG9yLkdka19Db2xvcgogICAgICByZW5hbWVzIEdldF9NaWRkbGU7CgogICBwcm9jZWR1cmUgU2V0
X1RleHQKICAgICAoU3R5bGUgICAgICA6IGluIEd0a19TdHlsZTsKICAgICAgU3RhdGVfVHlwZSA6
IGluIEVudW1zLkd0a19TdGF0ZV9UeXBlOwogICAgICBDb2xvciAgICAgIDogaW4gR2RrLkNvbG9y
Lkdka19Db2xvcik7CgogICBmdW5jdGlvbiBHZXRfVGV4dAogICAgIChTdHlsZSAgICAgIDogaW4g
R3RrX1N0eWxlOwogICAgICBTdGF0ZV9UeXBlIDogaW4gRW51bXMuR3RrX1N0YXRlX1R5cGUpIHJl
dHVybiBHZGsuQ29sb3IuR2RrX0NvbG9yOwoKICAgcHJvY2VkdXJlIFNldF9CYXNlCiAgICAgKFN0
eWxlICAgICAgOiBpbiBHdGtfU3R5bGU7CiAgICAgIFN0YXRlX1R5cGUgOiBpbiBFbnVtcy5HdGtf
U3RhdGVfVHlwZTsKICAgICAgQ29sb3IgICAgICA6IGluIEdkay5Db2xvci5HZGtfQ29sb3IpOwoK
ICAgZnVuY3Rpb24gR2V0X0Jhc2UKICAgICAoU3R5bGUgICAgICA6IGluIEd0a19TdHlsZTsKICAg
ICAgU3RhdGVfVHlwZSA6IGluIEVudW1zLkd0a19TdGF0ZV9UeXBlKSByZXR1cm4gR2RrLkNvbG9y
Lkdka19Db2xvcjsKCiAgIHByb2NlZHVyZSBTZXRfQmxhY2sKICAgICAoU3R5bGUgOiBpbiBHdGtf
U3R5bGU7CiAgICAgIENvbG9yIDogaW4gR2RrLkNvbG9yLkdka19Db2xvcik7CgogICBmdW5jdGlv
biBHZXRfQmxhY2sgKFN0eWxlIDogaW4gR3RrX1N0eWxlKSByZXR1cm4gR2RrLkNvbG9yLkdka19D
b2xvcjsKCiAgIHByb2NlZHVyZSBTZXRfV2hpdGUgKFN0eWxlIDogaW4gR3RrX1N0eWxlOyBDb2xv
ciA6IGluIEdkay5Db2xvci5HZGtfQ29sb3IpOwoKICAgZnVuY3Rpb24gR2V0X1doaXRlIChTdHls
ZSA6IGluIEd0a19TdHlsZSkgcmV0dXJuIEdkay5Db2xvci5HZGtfQ29sb3I7CgogICBwcm9jZWR1
cmUgU2V0X0ZvbnQgKFN0eWxlIDogaW4gR3RrX1N0eWxlOyBGb250IDogaW4gR2RrLkZvbnQuR2Rr
X0ZvbnQpOwoKICAgZnVuY3Rpb24gR2V0X0ZvbnQgKFN0eWxlIDogaW4gR3RrX1N0eWxlKSByZXR1
cm4gR2RrLkZvbnQuR2RrX0ZvbnQ7CgogICBwcm9jZWR1cmUgU2V0X0JsYWNrX0dDIChTdHlsZSA6
IGluIEd0a19TdHlsZTsgR0MgOiBpbiBHZGsuR0MuR2RrX0dDKTsKCiAgIGZ1bmN0aW9uIEdldF9C
bGFja19HQyAoU3R5bGUgOiBpbiBHdGtfU3R5bGUpIHJldHVybiBHZGsuR0MuR2RrX0dDOwoKICAg
cHJvY2VkdXJlIFNldF9CbGFjawogICAgIChTdHlsZSA6IGluIEd0a19TdHlsZTsgR0MgOiBpbiBH
ZGsuR0MuR2RrX0dDKSByZW5hbWVzIFNldF9CbGFja19HQzsKCiAgIGZ1bmN0aW9uIEdldF9CbGFj
awogICAgIChTdHlsZSA6IGluIEd0a19TdHlsZSkgcmV0dXJuIEdkay5HQy5HZGtfR0MgcmVuYW1l
cyBHZXRfQmxhY2tfR0M7CgogICBwcm9jZWR1cmUgU2V0X1doaXRlX0dDIChTdHlsZSA6IGluIEd0
a19TdHlsZTsgR0MgOiBpbiBHZGsuR0MuR2RrX0dDKTsKCiAgIGZ1bmN0aW9uIEdldF9XaGl0ZV9H
QyAoU3R5bGUgOiBpbiBHdGtfU3R5bGUpIHJldHVybiBHZGsuR0MuR2RrX0dDOwoKICAgcHJvY2Vk
dXJlIFNldF9XaGl0ZQogICAgIChTdHlsZSA6IGluIEd0a19TdHlsZTsgR0MgOiBpbiBHZGsuR0Mu
R2RrX0dDKSByZW5hbWVzIFNldF9XaGl0ZV9HQzsKCiAgIGZ1bmN0aW9uIEdldF9XaGl0ZQogICAg
IChTdHlsZSA6IGluIEd0a19TdHlsZSkgcmV0dXJuIEdkay5HQy5HZGtfR0MgcmVuYW1lcyBHZXRf
V2hpdGVfR0M7CgogICBwcm9jZWR1cmUgU2V0X0ZvcmVncm91bmRfR0MKICAgICAoU3R5bGUgICAg
ICA6IGluIEd0a19TdHlsZTsKICAgICAgU3RhdGVfVHlwZSA6IGluIEVudW1zLkd0a19TdGF0ZV9U
eXBlOwogICAgICBHQyAgICAgICAgIDogaW4gR2RrLkdDLkdka19HQyk7CgogICBmdW5jdGlvbiBH
ZXRfRm9yZWdyb3VuZF9HQwogICAgIChTdHlsZSAgICAgIDogaW4gR3RrX1N0eWxlOwogICAgICBT
dGF0ZV9UeXBlIDogaW4gRW51bXMuR3RrX1N0YXRlX1R5cGUpIHJldHVybiBHZGsuR0MuR2RrX0dD
OwoKICAgcHJvY2VkdXJlIFNldF9Gb3JlZ3JvdW5kCiAgICAgKFN0eWxlICAgICAgOiBpbiBHdGtf
U3R5bGU7CiAgICAgIFN0YXRlX1R5cGUgOiBpbiBFbnVtcy5HdGtfU3RhdGVfVHlwZTsKICAgICAg
R0MgICAgICAgICA6IGluIEdkay5HQy5HZGtfR0MpIHJlbmFtZXMgU2V0X0ZvcmVncm91bmRfR0M7
CgogICBmdW5jdGlvbiBHZXRfRm9yZWdyb3VuZAogICAgIChTdHlsZSAgICAgIDogaW4gR3RrX1N0
eWxlOwogICAgICBTdGF0ZV9UeXBlIDogaW4gRW51bXMuR3RrX1N0YXRlX1R5cGUpIHJldHVybiBH
ZGsuR0MuR2RrX0dDCiAgICAgIHJlbmFtZXMgR2V0X0ZvcmVncm91bmRfR0M7CgogICBwcm9jZWR1
cmUgU2V0X0ZnCiAgICAgKFN0eWxlICAgICAgOiBpbiBHdGtfU3R5bGU7CiAgICAgIFN0YXRlX1R5
cGUgOiBpbiBFbnVtcy5HdGtfU3RhdGVfVHlwZTsKICAgICAgR0MgICAgICAgICA6IGluIEdkay5H
Qy5HZGtfR0MpIHJlbmFtZXMgU2V0X0ZvcmVncm91bmRfR0M7CgogICBmdW5jdGlvbiBHZXRfRmcK
ICAgICAoU3R5bGUgICAgICA6IGluIEd0a19TdHlsZTsKICAgICAgU3RhdGVfVHlwZSA6IGluIEVu
dW1zLkd0a19TdGF0ZV9UeXBlKSByZXR1cm4gR2RrLkdDLkdka19HQwogICAgICByZW5hbWVzIEdl
dF9Gb3JlZ3JvdW5kX0dDOwoKICAgcHJvY2VkdXJlIFNldF9GZ19HQwogICAgIChTdHlsZSAgICAg
IDogaW4gR3RrX1N0eWxlOwogICAgICBTdGF0ZV9UeXBlIDogaW4gRW51bXMuR3RrX1N0YXRlX1R5
cGU7CiAgICAgIEdDICAgICAgICAgOiBpbiBHZGsuR0MuR2RrX0dDKSByZW5hbWVzIFNldF9Gb3Jl
Z3JvdW5kX0dDOwoKICAgZnVuY3Rpb24gR2V0X0ZnX0dDCiAgICAgKFN0eWxlICAgICAgOiBpbiBH
dGtfU3R5bGU7CiAgICAgIFN0YXRlX1R5cGUgOiBpbiBFbnVtcy5HdGtfU3RhdGVfVHlwZSkgcmV0
dXJuIEdkay5HQy5HZGtfR0MKICAgICAgcmVuYW1lcyBHZXRfRm9yZWdyb3VuZF9HQzsKCiAgIHBy
b2NlZHVyZSBTZXRfQmFja2dyb3VuZF9HQwogICAgIChTdHlsZSAgICAgIDogaW4gR3RrX1N0eWxl
OwogICAgICBTdGF0ZV9UeXBlIDogaW4gRW51bXMuR3RrX1N0YXRlX1R5cGU7CiAgICAgIEdDICAg
ICAgICAgOiBpbiBHZGsuR0MuR2RrX0dDKTsKCiAgIGZ1bmN0aW9uIEdldF9CYWNrZ3JvdW5kX0dD
CiAgICAgKFN0eWxlICAgICAgOiBpbiBHdGtfU3R5bGU7CiAgICAgIFN0YXRlX1R5cGUgOiBpbiBF
bnVtcy5HdGtfU3RhdGVfVHlwZSkgcmV0dXJuIEdkay5HQy5HZGtfR0M7CgogICBwcm9jZWR1cmUg
U2V0X0JhY2tncm91bmQKICAgICAoU3R5bGUgICAgICA6IGluIEd0a19TdHlsZTsKICAgICAgU3Rh
dGVfVHlwZSA6IGluIEVudW1zLkd0a19TdGF0ZV9UeXBlOwogICAgICBHQyAgICAgICAgIDogaW4g
R2RrLkdDLkdka19HQykgcmVuYW1lcyBTZXRfQmFja2dyb3VuZF9HQzsKCiAgIGZ1bmN0aW9uIEdl
dF9CYWNrZ3JvdW5kCiAgICAgKFN0eWxlICAgICAgOiBpbiBHdGtfU3R5bGU7CiAgICAgIFN0YXRl
X1R5cGUgOiBpbiBFbnVtcy5HdGtfU3RhdGVfVHlwZSkgcmV0dXJuIEdkay5HQy5HZGtfR0MKICAg
ICAgcmVuYW1lcyBHZXRfQmFja2dyb3VuZF9HQzsKCiAgIHByb2NlZHVyZSBTZXRfQmcKICAgICAo
U3R5bGUgICAgICA6IGluIEd0a19TdHlsZTsKICAgICAgU3RhdGVfVHlwZSA6IGluIEVudW1zLkd0
a19TdGF0ZV9UeXBlOwogICAgICBHQyAgICAgICAgIDogaW4gR2RrLkdDLkdka19HQykgcmVuYW1l
cyBTZXRfQmFja2dyb3VuZF9HQzsKCiAgIGZ1bmN0aW9uIEdldF9CZwogICAgIChTdHlsZSAgICAg
IDogaW4gR3RrX1N0eWxlOwogICAgICBTdGF0ZV9UeXBlIDogaW4gRW51bXMuR3RrX1N0YXRlX1R5
cGUpIHJldHVybiBHZGsuR0MuR2RrX0dDCiAgICAgIHJlbmFtZXMgR2V0X0JhY2tncm91bmRfR0M7
CgogICBwcm9jZWR1cmUgU2V0X0JnX0dDCiAgICAgKFN0eWxlICAgICAgOiBpbiBHdGtfU3R5bGU7
CiAgICAgIFN0YXRlX1R5cGUgOiBpbiBFbnVtcy5HdGtfU3RhdGVfVHlwZTsKICAgICAgR0MgICAg
ICAgICA6IGluIEdkay5HQy5HZGtfR0MpIHJlbmFtZXMgU2V0X0JhY2tncm91bmRfR0M7CgogICBm
dW5jdGlvbiBHZXRfQmdfR0MKICAgICAoU3R5bGUgICAgICA6IGluIEd0a19TdHlsZTsKICAgICAg
U3RhdGVfVHlwZSA6IGluIEVudW1zLkd0a19TdGF0ZV9UeXBlKSByZXR1cm4gR2RrLkdDLkdka19H
QwogICAgICByZW5hbWVzIEdldF9CYWNrZ3JvdW5kX0dDOwoKICAgcHJvY2VkdXJlIFNldF9MaWdo
dF9HQwogICAgIChTdHlsZSAgICAgIDogaW4gR3RrX1N0eWxlOwogICAgICBTdGF0ZV9UeXBlIDog
aW4gRW51bXMuR3RrX1N0YXRlX1R5cGU7CiAgICAgIEdDICAgICAgICAgOiBpbiBHZGsuR0MuR2Rr
X0dDKTsKCiAgIGZ1bmN0aW9uIEdldF9MaWdodF9HQwogICAgIChTdHlsZSAgICAgIDogaW4gR3Rr
X1N0eWxlOwogICAgICBTdGF0ZV9UeXBlIDogaW4gRW51bXMuR3RrX1N0YXRlX1R5cGUpIHJldHVy
biBHZGsuR0MuR2RrX0dDOwoKICAgcHJvY2VkdXJlIFNldF9MaWdodAogICAgIChTdHlsZSAgICAg
IDogaW4gR3RrX1N0eWxlOwogICAgICBTdGF0ZV9UeXBlIDogaW4gRW51bXMuR3RrX1N0YXRlX1R5
cGU7CiAgICAgIEdDICAgICAgICAgOiBpbiBHZGsuR0MuR2RrX0dDKSByZW5hbWVzIFNldF9MaWdo
dF9HQzsKCiAgIGZ1bmN0aW9uIEdldF9MaWdodAogICAgIChTdHlsZSAgICAgIDogaW4gR3RrX1N0
eWxlOwogICAgICBTdGF0ZV9UeXBlIDogaW4gRW51bXMuR3RrX1N0YXRlX1R5cGUpIHJldHVybiBH
ZGsuR0MuR2RrX0dDCiAgICAgIHJlbmFtZXMgR2V0X0xpZ2h0X0dDOwoKICAgcHJvY2VkdXJlIFNl
dF9EYXJrX0dDCiAgICAgKFN0eWxlICAgICAgOiBpbiBHdGtfU3R5bGU7CiAgICAgIFN0YXRlX1R5
cGUgOiBpbiBFbnVtcy5HdGtfU3RhdGVfVHlwZTsKICAgICAgR0MgICAgICAgICA6IGluIEdkay5H
Qy5HZGtfR0MpOwoKICAgZnVuY3Rpb24gR2V0X0RhcmtfR0MKICAgICAoU3R5bGUgICAgICA6IGlu
IEd0a19TdHlsZTsKICAgICAgU3RhdGVfVHlwZSA6IGluIEVudW1zLkd0a19TdGF0ZV9UeXBlKSBy
ZXR1cm4gR2RrLkdDLkdka19HQzsKCiAgIHByb2NlZHVyZSBTZXRfRGFyawogICAgIChTdHlsZSAg
ICAgIDogaW4gR3RrX1N0eWxlOwogICAgICBTdGF0ZV9UeXBlIDogaW4gRW51bXMuR3RrX1N0YXRl
X1R5cGU7CiAgICAgIEdDICAgICAgICAgOiBpbiBHZGsuR0MuR2RrX0dDKSByZW5hbWVzIFNldF9E
YXJrX0dDOwoKICAgZnVuY3Rpb24gR2V0X0RhcmsKICAgICAoU3R5bGUgICAgICA6IGluIEd0a19T
dHlsZTsKICAgICAgU3RhdGVfVHlwZSA6IGluIEVudW1zLkd0a19TdGF0ZV9UeXBlKSByZXR1cm4g
R2RrLkdDLkdka19HQwogICAgICByZW5hbWVzIEdldF9EYXJrX0dDOwoKICAgcHJvY2VkdXJlIFNl
dF9NaWRkbGVfR0MKICAgICAoU3R5bGUgICAgICA6IGluIEd0a19TdHlsZTsKICAgICAgU3RhdGVf
VHlwZSA6IGluIEVudW1zLkd0a19TdGF0ZV9UeXBlOwogICAgICBHQyAgICAgICAgIDogaW4gR2Rr
LkdDLkdka19HQyk7CgogICBmdW5jdGlvbiBHZXRfTWlkZGxlX0dDCiAgICAgKFN0eWxlICAgICAg
OiBpbiBHdGtfU3R5bGU7CiAgICAgIFN0YXRlX1R5cGUgOiBpbiBFbnVtcy5HdGtfU3RhdGVfVHlw
ZSkgcmV0dXJuIEdkay5HQy5HZGtfR0M7CgogICBwcm9jZWR1cmUgU2V0X01pZGRsZQogICAgIChT
dHlsZSAgICAgIDogaW4gR3RrX1N0eWxlOwogICAgICBTdGF0ZV9UeXBlIDogaW4gRW51bXMuR3Rr
X1N0YXRlX1R5cGU7CiAgICAgIEdDICAgICAgICAgOiBpbiBHZGsuR0MuR2RrX0dDKSByZW5hbWVz
IFNldF9NaWRkbGVfR0M7CgogICBmdW5jdGlvbiBHZXRfTWlkZGxlCiAgICAgKFN0eWxlICAgICAg
OiBpbiBHdGtfU3R5bGU7CiAgICAgIFN0YXRlX1R5cGUgOiBpbiBFbnVtcy5HdGtfU3RhdGVfVHlw
ZSkgcmV0dXJuIEdkay5HQy5HZGtfR0MKICAgICAgcmVuYW1lcyBHZXRfTWlkZGxlX0dDOwoKICAg
cHJvY2VkdXJlIFNldF9NaWRfR0MKICAgICAoU3R5bGUgICAgICA6IGluIEd0a19TdHlsZTsKICAg
ICAgU3RhdGVfVHlwZSA6IGluIEVudW1zLkd0a19TdGF0ZV9UeXBlOwogICAgICBHQyAgICAgICAg
IDogaW4gR2RrLkdDLkdka19HQykgcmVuYW1lcyBTZXRfTWlkZGxlX0dDOwoKICAgZnVuY3Rpb24g
R2V0X01pZF9HQwogICAgIChTdHlsZSAgICAgIDogaW4gR3RrX1N0eWxlOwogICAgICBTdGF0ZV9U
eXBlIDogaW4gRW51bXMuR3RrX1N0YXRlX1R5cGUpIHJldHVybiBHZGsuR0MuR2RrX0dDCiAgICAg
IHJlbmFtZXMgR2V0X01pZGRsZV9HQzsKCiAgIHByb2NlZHVyZSBTZXRfTWlkCiAgICAgKFN0eWxl
ICAgICAgOiBpbiBHdGtfU3R5bGU7CiAgICAgIFN0YXRlX1R5cGUgOiBpbiBFbnVtcy5HdGtfU3Rh
dGVfVHlwZTsKICAgICAgR0MgICAgICAgICA6IGluIEdkay5HQy5HZGtfR0MpIHJlbmFtZXMgU2V0
X01pZGRsZV9HQzsKCiAgIGZ1bmN0aW9uIEdldF9NaWQKICAgICAoU3R5bGUgICAgICA6IGluIEd0
a19TdHlsZTsKICAgICAgU3RhdGVfVHlwZSA6IGluIEVudW1zLkd0a19TdGF0ZV9UeXBlKSByZXR1
cm4gR2RrLkdDLkdka19HQwogICAgICByZW5hbWVzIEdldF9NaWRkbGVfR0M7CgogICBwcm9jZWR1
cmUgU2V0X1RleHRfR0MKICAgICAoU3R5bGUgICAgICA6IGluIEd0a19TdHlsZTsKICAgICAgU3Rh
dGVfVHlwZSA6IGluIEVudW1zLkd0a19TdGF0ZV9UeXBlOwogICAgICBHQyAgICAgICAgIDogaW4g
R2RrLkdDLkdka19HQyk7CgogICBmdW5jdGlvbiBHZXRfVGV4dF9HQwogICAgIChTdHlsZSAgICAg
IDogaW4gR3RrX1N0eWxlOwogICAgICBTdGF0ZV9UeXBlIDogaW4gRW51bXMuR3RrX1N0YXRlX1R5
cGUpIHJldHVybiBHZGsuR0MuR2RrX0dDOwoKICAgcHJvY2VkdXJlIFNldF9UZXh0CiAgICAgKFN0
eWxlICAgICAgOiBpbiBHdGtfU3R5bGU7CiAgICAgIFN0YXRlX1R5cGUgOiBpbiBFbnVtcy5HdGtf
U3RhdGVfVHlwZTsKICAgICAgR0MgICAgICAgICA6IGluIEdkay5HQy5HZGtfR0MpIHJlbmFtZXMg
U2V0X1RleHRfR0M7CgogICBmdW5jdGlvbiBHZXRfVGV4dAogICAgIChTdHlsZSAgICAgIDogaW4g
R3RrX1N0eWxlOwogICAgICBTdGF0ZV9UeXBlIDogaW4gRW51bXMuR3RrX1N0YXRlX1R5cGUpIHJl
dHVybiBHZGsuR0MuR2RrX0dDCiAgICAgIHJlbmFtZXMgR2V0X1RleHRfR0M7CgogICBwcm9jZWR1
cmUgU2V0X0Jhc2VfR0MKICAgICAoU3R5bGUgICAgICA6IGluIEd0a19TdHlsZTsKICAgICAgU3Rh
dGVfVHlwZSA6IGluIEVudW1zLkd0a19TdGF0ZV9UeXBlOwogICAgICBHQyAgICAgICAgIDogaW4g
R2RrLkdDLkdka19HQyk7CgogICBmdW5jdGlvbiBHZXRfQmFzZV9HQwogICAgIChTdHlsZSAgICAg
IDogaW4gR3RrX1N0eWxlOwogICAgICBTdGF0ZV9UeXBlIDogaW4gRW51bXMuR3RrX1N0YXRlX1R5
cGUpIHJldHVybiBHZGsuR0MuR2RrX0dDOwoKICAgcHJvY2VkdXJlIFNldF9CYXNlCiAgICAgKFN0
eWxlICAgICAgOiBpbiBHdGtfU3R5bGU7CiAgICAgIFN0YXRlX1R5cGUgOiBpbiBFbnVtcy5HdGtf
U3RhdGVfVHlwZTsKICAgICAgR0MgICAgICAgICA6IGluIEdkay5HQy5HZGtfR0MpIHJlbmFtZXMg
U2V0X0Jhc2VfR0M7CgogICBmdW5jdGlvbiBHZXRfQmFzZQogICAgIChTdHlsZSAgICAgIDogaW4g
R3RrX1N0eWxlOwogICAgICBTdGF0ZV9UeXBlIDogaW4gRW51bXMuR3RrX1N0YXRlX1R5cGUpIHJl
dHVybiBHZGsuR0MuR2RrX0dDCiAgICAgIHJlbmFtZXMgR2V0X0Jhc2VfR0M7CgogICBwcm9jZWR1
cmUgU2V0X0JnX1BpeG1hcAogICAgIChTdHlsZSAgICAgIDogaW4gR3RrX1N0eWxlOwogICAgICBT
dGF0ZV9UeXBlIDogaW4gRW51bXMuR3RrX1N0YXRlX1R5cGU7CiAgICAgIFBpeG1hcCAgICAgOiBp
biBHZGsuUGl4bWFwLkdka19QaXhtYXApOwoKICAgZnVuY3Rpb24gR2V0X0JnX1BpeG1hcAogICAg
IChTdHlsZSAgICAgIDogaW4gR3RrX1N0eWxlOwogICAgICBTdGF0ZV9UeXBlIDogaW4gRW51bXMu
R3RrX1N0YXRlX1R5cGUpIHJldHVybiBHZGsuUGl4bWFwLkdka19QaXhtYXA7CgogICBmdW5jdGlv
biBYX1RoaWNrbmVzcyAoU3R5bGUgOiBpbiBHdGtfU3R5bGUpIHJldHVybiBHaW50OwogICAtLSAg
V2lkdGggb2YgdGhlIHZlcnRpY2FsIHNjcm9sbGJhcnMgYW5kIHJhbmdlcyB3aGVuIFN0eWxlIGlz
IGFwcGxpZWQuCiAgIC0tICBJbiBmYWN0LCB0aGlzIHRoaWNrbmVzcyBpcyB1c2VkIGZvciBhIGxv
dCBvZiB3aWRnZXRzIHdob3NlIHdpZHRoCiAgIC0tICBkb2VzIG5vdCBkZXBlbmQgb24gdGhlaXIg
Y29udGVudCwgc3VjaCBhcyBydWxlcnMsLi4uCgogICBmdW5jdGlvbiBZX1RoaWNrbmVzcyAoU3R5
bGUgOiBpbiBHdGtfU3R5bGUpIHJldHVybiBHaW50OwogICAtLSAgSGVpZ2h0IG9mIHRoZSBob3Jp
em9udGFsIHNjcm9sbGJhcnMgYW5kIHJhbmdlcyB3aGVuIFN0eWxlIGlzIGFwcGxpZWQuCgogICBw
cm9jZWR1cmUgRHJhd19IbGluZQogICAgIChTdHlsZSAgICAgIDogaW4gR3RrX1N0eWxlOwogICAg
ICBXaW5kb3cgICAgIDogaW4gR2RrLldpbmRvdy5HZGtfV2luZG93OwogICAgICBTdGF0ZV9UeXBl
IDogaW4gRW51bXMuR3RrX1N0YXRlX1R5cGU7CiAgICAgIFgxLCBYMiAgICAgOiBpbiBHaW50Owog
ICAgICBZICAgICAgICAgIDogaW4gR2ludCk7CgogICBwcm9jZWR1cmUgRHJhd19WbGluZQogICAg
IChTdHlsZSAgICAgIDogaW4gR3RrX1N0eWxlOwogICAgICBXaW5kb3cgICAgIDogaW4gR2RrLldp
bmRvdy5HZGtfV2luZG93OwogICAgICBTdGF0ZV9UeXBlIDogaW4gRW51bXMuR3RrX1N0YXRlX1R5
cGU7CiAgICAgIFkxLCBZMiAgICAgOiBpbiBHaW50OwogICAgICBYICAgICAgICAgIDogaW4gR2lu
dCk7CgogICBwcm9jZWR1cmUgRHJhd19TaGFkb3cKICAgICAoU3R5bGUgICAgICAgOiBpbiBHdGtf
U3R5bGU7CiAgICAgIFdpbmRvdyAgICAgIDogaW4gR2RrLldpbmRvdy5HZGtfV2luZG93OwogICAg
ICBTdGF0ZV9UeXBlICA6IGluIEVudW1zLkd0a19TdGF0ZV9UeXBlOwogICAgICBTaGFkb3dfVHlw
ZSA6IGluIEVudW1zLkd0a19TaGFkb3dfVHlwZTsKICAgICAgWCwgWSAgICAgICAgOiBpbiBHaW50
OwogICAgICBXaWR0aCAgICAgICA6IGluIEdpbnQ7CiAgICAgIEhlaWdodCAgICAgIDogaW4gR2lu
dCk7CgogICBwcm9jZWR1cmUgRHJhd19Qb2x5Z29uCiAgICAgKFN0eWxlICAgICAgOiBpbiBHdGtf
U3R5bGU7CiAgICAgIFdpbmRvdyAgICAgOiBpbiBHZGsuV2luZG93Lkdka19XaW5kb3c7CiAgICAg
IFN0YXRlX1R5cGUgOiBpbiBFbnVtcy5HdGtfU3RhdGVfVHlwZTsKICAgICAgU2hhZG93X1R5cGUg
OiBpbiBFbnVtcy5HdGtfU2hhZG93X1R5cGU7CiAgICAgIFBvaW50cyAgICAgOiBpbiBHZGsuVHlw
ZXMuR2RrX1BvaW50c19BcnJheTsKICAgICAgRmlsbCAgICAgICA6IGluIEJvb2xlYW4pOwoKICAg
cHJvY2VkdXJlIERyYXdfQXJyb3cKICAgICAoU3R5bGUgICAgICAgOiBpbiBHdGtfU3R5bGU7CiAg
ICAgIFdpbmRvdyAgICAgIDogaW4gR2RrLldpbmRvdy5HZGtfV2luZG93OwogICAgICBTdGF0ZV9U
eXBlICA6IGluIEVudW1zLkd0a19TdGF0ZV9UeXBlOwogICAgICBTaGFkb3dfVHlwZSA6IGluIEVu
dW1zLkd0a19TaGFkb3dfVHlwZTsKICAgICAgQXJyb3dfVHlwZSAgOiBpbiBFbnVtcy5HdGtfQXJy
b3dfVHlwZTsKICAgICAgRmlsbCAgICAgICAgOiBpbiBCb29sZWFuOwogICAgICBYLCBZICAgICAg
ICA6IGluIEdpbnQ7CiAgICAgIFdpZHRoICAgICAgIDogaW4gR2ludDsKICAgICAgSGVpZ2h0ICAg
ICAgOiBpbiBHaW50KTsKCiAgIHByb2NlZHVyZSBEcmF3X0RpYW1vbmQKICAgICAoU3R5bGUgICAg
ICAgOiBpbiBHdGtfU3R5bGU7CiAgICAgIFdpbmRvdyAgICAgIDogaW4gR2RrLldpbmRvdy5HZGtf
V2luZG93OwogICAgICBTdGF0ZV9UeXBlICA6IGluIEVudW1zLkd0a19TdGF0ZV9UeXBlOwogICAg
ICBTaGFkb3dfVHlwZSA6IGluIEVudW1zLkd0a19TaGFkb3dfVHlwZTsKICAgICAgWCwgWSAgICAg
ICAgOiBpbiBHaW50OwogICAgICBXaWR0aCAgICAgICA6IGluIEdpbnQ7CiAgICAgIEhlaWdodCAg
ICAgIDogaW4gR2ludCk7CgogICBwcm9jZWR1cmUgRHJhd19PdmFsCiAgICAgKFN0eWxlICAgICAg
IDogaW4gR3RrX1N0eWxlOwogICAgICBXaW5kb3cgICAgICA6IGluIEdkay5XaW5kb3cuR2RrX1dp
bmRvdzsKICAgICAgU3RhdGVfVHlwZSAgOiBpbiBFbnVtcy5HdGtfU3RhdGVfVHlwZTsKICAgICAg
U2hhZG93X1R5cGUgOiBpbiBFbnVtcy5HdGtfU2hhZG93X1R5cGU7CiAgICAgIFgsIFkgICAgICAg
IDogaW4gR2ludDsKICAgICAgV2lkdGggICAgICAgOiBpbiBHaW50OwogICAgICBIZWlnaHQgICAg
ICA6IGluIEdpbnQpOwoKICAgcHJvY2VkdXJlIERyYXdfU3RyaW5nCiAgICAgKFN0eWxlICAgICAg
IDogaW4gR3RrX1N0eWxlOwogICAgICBXaW5kb3cgICAgICA6IGluIEdkay5XaW5kb3cuR2RrX1dp
bmRvdzsKICAgICAgU3RhdGVfVHlwZSAgOiBpbiBFbnVtcy5HdGtfU3RhdGVfVHlwZTsKICAgICAg
WCwgWSAgICAgICAgOiBpbiBHaW50OwogICAgICBTdHIgICAgICAgICA6IGluIFN0cmluZyk7Cgog
ICBwcm9jZWR1cmUgUmVmIChPYmplY3QgOiBpbiBHdGtfU3R5bGUpOwogICBwcm9jZWR1cmUgVW5y
ZWYgKE9iamVjdCA6IGluIEd0a19TdHlsZSk7Cgpwcml2YXRlCiAgIHByYWdtYSBJbXBvcnQgKEMs
IEF0dGFjaCwgImd0a19zdHlsZV9hdHRhY2giKTsKICAgcHJhZ21hIEltcG9ydCAoQywgQ29weSwg
Imd0a19zdHlsZV9jb3B5Iik7CiAgIHByYWdtYSBJbXBvcnQgKEMsIERldGFjaCwgImd0a19zdHls
ZV9kZXRhY2giKTsKICAgcHJhZ21hIEltcG9ydCAoQywgUmVmLCAiZ3RrX3N0eWxlX3JlZiIpOwog
ICBwcmFnbWEgSW1wb3J0IChDLCBVbnJlZiwgImd0a19zdHlsZV91bnJlZiIpOwogICBwcmFnbWEg
SW1wb3J0IChDLCBEcmF3X0RpYW1vbmQsICJndGtfZHJhd19kaWFtb25kIik7CiAgIHByYWdtYSBJ
bXBvcnQgKEMsIERyYXdfSGxpbmUsICJndGtfZHJhd19obGluZSIpOwogICBwcmFnbWEgSW1wb3J0
IChDLCBEcmF3X092YWwsICJndGtfZHJhd19vdmFsIik7CiAgIHByYWdtYSBJbXBvcnQgKEMsIERy
YXdfU2hhZG93LCAiZ3RrX2RyYXdfc2hhZG93Iik7CiAgIHByYWdtYSBJbXBvcnQgKEMsIERyYXdf
VmxpbmUsICJndGtfZHJhd192bGluZSIpOwogICBwcmFnbWEgSW1wb3J0IChDLCBTZXRfRm9udCwg
ImFkYV9zdHlsZV9zZXRfZm9udCIpOwogICBwcmFnbWEgSW1wb3J0IChDLCBHZXRfRm9udCwgImFk
YV9zdHlsZV9nZXRfZm9udCIpOwogICBwcmFnbWEgSW1wb3J0IChDLCBTZXRfQmxhY2tfR0MsICJh
ZGFfc3R5bGVfc2V0X2JsYWNrX2djIik7CiAgIHByYWdtYSBJbXBvcnQgKEMsIEdldF9CbGFja19H
QywgImFkYV9zdHlsZV9nZXRfYmxhY2tfZ2MiKTsKICAgcHJhZ21hIEltcG9ydCAoQywgU2V0X1do
aXRlX0dDLCAiYWRhX3N0eWxlX3NldF93aGl0ZV9nYyIpOwogICBwcmFnbWEgSW1wb3J0IChDLCBH
ZXRfV2hpdGVfR0MsICJhZGFfc3R5bGVfZ2V0X3doaXRlX2djIik7CiAgIHByYWdtYSBJbXBvcnQg
KEMsIFhfVGhpY2tuZXNzLCAiYWRhX3N0eWxlX2dldF94X3RoaWNrbmVzcyIpOwogICBwcmFnbWEg
SW1wb3J0IChDLCBZX1RoaWNrbmVzcywgImFkYV9zdHlsZV9nZXRfeV90aGlja25lc3MiKTsKZW5k
IEd0ay5TdHlsZTsKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZ25hdGJ1Zy9n
ZGstZ2MuYWRzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAxMDA2NDQAMDAwMTc1MQAwMDAwMDAw
ADAwMDAwMDM0NTYzADA3NTUxMTA3NjMyADAxMzIwMwAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAHNwYXoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAd2hlZWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQotLSAgICAgICAgICBHdGtBZGEgLSBBZGE5NSBiaW5kaW5nIGZvciB0aGUgR2ltcCBUb29s
a2l0ICAgICAgICAgICAgICAtLQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSAgICAgICAgICAgICAgICAgICAg
IENvcHlyaWdodCAoQykgMTk5OC0yMDAwICAgICAgICAgICAgICAgICAgICAgICAtLQotLSAgICAg
ICAgRW1tYW51ZWwgQnJpb3QsIEpvZWwgQnJvYmVja2VyIGFuZCBBcm5hdWQgQ2hhcmxldCAgICAg
ICAgICAtLQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAtLQotLSBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yICAgICAtLQotLSBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgICAgICAgICAgICAgICAtLQotLSBM
aWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo
ZXIgICAgICAtLQotLSB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uICAtLQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSBUaGlzIGxpYnJhcnkg
aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgICAtLQot
LSBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy
YW50eSBvZiAgICAtLQotLSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVSAtLQotLSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv
ciBtb3JlIGRldGFpbHMuICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAt
LQotLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQ
dWJsaWMgICAgICAgICAtLQotLSBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBu
b3QsIHdyaXRlIHRvIHRoZSAgICAgICAgICAgICAtLQotLSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgICAgICAtLQotLSBCb3N0b24s
IE1BIDAyMTExLTEzMDcsIFVTQS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAtLQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAtLQotLSBBcyBhIHNwZWNpYWwgZXhjZXB0aW9uLCBpZiBvdGhlciBm
aWxlcyBpbnN0YW50aWF0ZSBnZW5lcmljcyBmcm9tICAtLQotLSB0aGlzIHVuaXQsIG9yIHlvdSBs
aW5rIHRoaXMgdW5pdCB3aXRoIG90aGVyIGZpbGVzIHRvIHByb2R1Y2UgYW4gICAtLQotLSBleGVj
dXRhYmxlLCB0aGlzICB1bml0ICBkb2VzIG5vdCAgYnkgaXRzZWxmIGNhdXNlICB0aGUgcmVzdWx0
aW5nICAtLQotLSBleGVjdXRhYmxlIHRvIGJlIGNvdmVyZWQgYnkgdGhlIEdOVSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlLiBUaGlzICAtLQotLSBleGNlcHRpb24gZG9lcyBub3QgaG93ZXZlciBpbnZh
bGlkYXRlIGFueSBvdGhlciByZWFzb25zIHdoeSB0aGUgICAtLQotLSBleGVjdXRhYmxlIGZpbGUg
IG1pZ2h0IGJlIGNvdmVyZWQgYnkgdGhlICBHTlUgUHVibGljIExpY2Vuc2UuICAgICAtLQotLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQoKLS0gIDxkZXNjcmlwdGlvbj4KLS0KLS0gIEEgZ3JhcGhpYyBjb250ZXh0IGlz
IGEgc3RydWN0dXJlIHRoYXQgZGVzY3JpYmVzIGFsbCB0aGUgYXR0cmlidXRlcwotLSAgdXNlZCBi
eSB0aGUgZHJhd2luZyBmdW5jdGlvbnMgaW4gR2RrLgotLSAgVGhlIGNvbG9ycywgbGluZSBzdHls
ZXMsIEZpbGwgc3R5bGVzIGFuZCBzbyBvbiBhcmUgZGVmaW5lZCB0aHJvdWdoCi0tICB0aGlzIHN0
cnVjdHVyZS4KLS0KLS0gIE9uIFgxMSBzeXN0ZW1zLCB0aGlzIHN0cnVjdHVyZSBpcyBzdG9yZWQg
ZGlyZWN0bHkgb24gdGhlIFhTZXJ2ZXIsCi0tICB3aGljaCBzcGVlZHMgdXAgdGhlIHRyYW5zZmVy
IG9mIHRoZSBkcmF3aW5nIGF0dHJpYnV0ZXMgYSBsb3QuIEluc3RlYWQKLS0gIG9mIHRyYW5zZmVy
cmluZyBhbGwgb2YgdGhlbSBldmVyeSB0aW1lIHlvdSBjYWxsIG9uZSBvZiB0aGUgZHJhd2luZwot
LSAgZnVuY3Rpb25zLCB5b3Ugc2ltcGx5IHNwZWNpZnkgd2hpY2ggR0MgeW91IHdhbnQgdG8gdXNl
LgotLQotLSAgVGh1cywgaXQgaXMgcmVjb21tZW5kZWQgdG8gY3JlYXRlIGFzIG1hbnkgR0NzIGFz
IHlvdSBuZWVkLCBpbnN0ZWFkCi0tICBvZiBjcmVhdGluZyBhIHNpbmdsZSBvbmUgdGhhdCBpcyBt
b2RpZmllZCBldmVyeSB0aW1lIHlvdSBuZWVkIHRvCi0tICBtb2RpZnkgb25lIG9mIHRoZSBhdHRy
aWJ1dGVzLgotLQotLSAgT24gVW5peCBtYWNoaW5lcywgeW91IHNob3VsZCBoYXZlIGEgbG9vayBh
dCB0aGUgZXh0ZXJuYWwgdXRpbGl0eSAneGdjJwotLSAgd2hpY2ggZGVtb25zdHJhdGVzIGFsbCB0
aGUgYmFzaWMgc2V0dGluZ3Mgb2YgdGhlIGdyYXBoaWMgY29udGV4dHMuCi0tCi0tICA8L2Rlc2Ny
aXB0aW9uPgotLSAgPGNfdmVyc2lvbj4xLjIuNjwvY192ZXJzaW9uPgoKd2l0aCBHbGliOyB1c2Ug
R2xpYjsKd2l0aCBHZGsuQ29sb3I7CndpdGggR2RrLkZvbnQ7CndpdGggR2RrLlJlY3RhbmdsZTsK
d2l0aCBHZGsuUmVnaW9uOwp3aXRoIEdkay5UeXBlczsKd2l0aCBHZGsuV2luZG93OwoKcGFja2Fn
ZSBHZGsuR0MgaXMKCiAgIHN1YnR5cGUgR2RrX0dDIGlzIEdkay5HZGtfR0M7CiAgIC0tICBBIGdy
YXBoaWMgY29udGV4dCB0aGF0IGNvbnRhaW4gYWxsIHRoZSBpbmZvcm1hdGlvbiB0byBkcmF3IGdy
YXBoaWNzCiAgIC0tICBvbiB0aGUgc2NyZWVuLgogICAtLSAgQ3JlYXRpbmcgdGhlc2UgR0MgaXMg
bW9yZSBlZmZpY2llbnQgdGhhbiBwYXNzaW5nIGEgbG90IG9mIHBhcmFtZXRlcnMKICAgLS0gIHRv
IGVhY2ggb2YgdGhlIGRyYXdpbmcgZnVuY3Rpb25zLCBzaW5jZSB0aGVzZSBHQyBhcmUgc3RvcmVk
IG9uIHRoZQogICAtLSAgc2VydmVyIHNpZGUgYW5kIGRvIG5vdCBuZWVkIHRvIGJlIHBhc3MgdGhy
b3VnaCB0aGUgbmV0d29yay4KCiAgIHR5cGUgR2RrX0dDX1ZhbHVlcyBpcyBuZXcgR2RrLkNfUHJv
eHk7CiAgIC0tICBBIHN0cnVjdHVyZSB1c2VkIG9uIHRoZSBjbGllbnQgc2lkZSB0byBzdG9yZSB0
aGUgc2FtZSBpbmZvcm1hdGlvbgogICAtLSAgYXMgdGhlIEdDLiBDcmVhdGluZyBhIEdDIGZyb20g
dGhpcyBzdHJ1Y3R1cmUgaXMgbW9yZSBlZmZpY2llbnQgdGhhbgogICAtLSAgY2FsbGluZyBhIGxv
dCBvZiBmdW5jdGlvbnMgdG8gbW9kaWZ5IHRoZSBHQyBkaXJlY3RseSwgc2luY2UgdGhlcmUgaXMK
ICAgLS0gIGEgc2luZ2xlIGNhbGwgdG8gdGhlIHNlcnZlci4KCiAgIE51bGxfR0MgOiBjb25zdGFu
dCBHZGtfR0M7CiAgIE51bGxfR0NfVmFsdWVzIDogY29uc3RhbnQgR2RrX0dDX1ZhbHVlczsKCiAg
IC0tLS0tLS0tLS0tLQogICAtLSBHZGtfR0MgLS0KICAgLS0tLS0tLS0tLS0tCgogICBwcm9jZWR1
cmUgR2RrX05ldyAoR0MgICAgIDogICAgb3V0IEdka19HQzsKICAgICAgICAgICAgICAgICAgICAg
IFdpbmRvdyA6IGluICAgICBHZGsuV2luZG93Lkdka19XaW5kb3cpOwogICAtLSAgQ3JlYXRlIGEg
bmV3IGdyYXBoaWMgY29udGV4dC4KICAgLS0gIFRoZSB3aW5kb3cgbXVzdCBoYXZlIGJlZW4gcmVh
bGl6ZWQgZmlyc3QgKHNvIHRoYXQgaXQgaXMgYXNzb2NpYXRlZAogICAtLSAgd2l0aCBzb21lIHJl
c291cmNlcyBvbiB0aGUgWHNlcnZlcikuCiAgIC0tICBUaGUgR0MgY2FuIHRoZW4gYmUgdXNlZCBm
b3IgYW55IHdpbmRvdyB0aGF0IGhhcyB0aGUgc2FtZSByb290IHdpbmRvdywKICAgLS0gIGFuZCBz
YW1lIGNvbG9yIGRlcHRoIGFzIFdpbmRvdy4KICAgLS0gIFNlZSB0aGUgbWFudWFsIHBhZ2UgZm9y
IFhDcmVhdGVHQyBvbiBVbml4IHN5c3RlbXMgZm9yIG1vcmUgaW5mb3JtYXRpb24uCgogICBwcm9j
ZWR1cmUgR2RrX05ldyAoR0MgICAgICAgICAgOiAgICBvdXQgR2RrX0dDOwogICAgICAgICAgICAg
ICAgICAgICAgV2luZG93ICAgICAgOiBpbiAgICAgR2RrLldpbmRvdy5HZGtfV2luZG93OwogICAg
ICAgICAgICAgICAgICAgICAgVmFsdWVzICAgICAgOiBpbiAgICAgR2RrX0dDX1ZhbHVlczsKICAg
ICAgICAgICAgICAgICAgICAgIFZhbHVlc19NYXNrIDogaW4gICAgIFR5cGVzLkdka19HQ19WYWx1
ZXNfTWFzayk7CiAgIC0tICBDcmVhdGUgYSBuZXcgZ3JhcGhpYyBjb250ZXh0LgogICAtLSAgSXQg
aXMgZGlyZWN0bHkgY3JlYXRlZCB3aXRoIHRoZSB2YWx1ZXMgc2V0IGluIFZhbHVlcywgYW5kIHdo
b3NlCiAgIC0tICBhc3NvY2lhdGVkIGZpZWxkIGhhcyBiZWVuIHNldCBpbiBWYWx1ZXNfTWFzay4K
ICAgLS0gIFRoaXMgaXMgZmFzdGVyIHRoYW4gY2FsbGluZyB0aGUgc2ltcGxlIEdka19OZXcgZnVu
Y3Rpb24gYW5kIGVhY2ggb2YKICAgLS0gIG90aGVyIGZ1bmN0aW9ucyBpbiB0aGlzIHBhY2thZ2Us
IHNpbmNlIGVhY2ggb2YgdGhlbSByZXF1aXJlcyBhIGNhbGwKICAgLS0gIHRvIHRoZSBzZXJ2ZXIu
CgogICBwcm9jZWR1cmUgRGVzdHJveSAoR0MgOiBpbiBHZGtfR0MpOwogICAtLSAgRnJlZSB0aGUg
bWVtb3J5IGFsbG9jYXRlZCBvbiB0aGUgc2VydmVyIGZvciB0aGUgZ3JhcGhpYyBjb250ZXh0Lgog
ICAtLSAgR3JhcGhpYyBjb250ZXh0cyBhcmUgbmV2ZXIgZnJlZWQgYXV0b21hdGljYWxseSBieSBH
dGtBZGEsIHRoaXMgaXMKICAgLS0gIHRoZSB1c2VyIHJlc3BvbnNpYmlsaXR5IHRvIGRvIHNvLgoK
ICAgcHJvY2VkdXJlIFJlZiAoR0MgOiBpbiBHZGtfR0MpOwogICAtLSAgSW5jcmVtZW50IHRoZSBy
ZWZlcmVuY2UgY291bnRpbmcgZm9yIHRoZSBncmFwaGljIGNvbnRleHQuCiAgIC0tICBZb3Ugc2hv
dWxkIHVzdWFsbHkgbm90IGhhdmUgdG8gdXNlIGl0LgoKICAgcHJvY2VkdXJlIFVucmVmIChHQyA6
IGluIEdka19HQyk7CiAgIC0tICBEZWNyZW1lbnQgdGhlIHJlZmVyZW5jZSBjb3VudGluZyBmb3Ig
dGhlIGdyYXBoaWMgY29udGV4dC4KICAgLS0gIFdoZW4gdGhpcyByZWFjaGVzIDAsIHRoZSBncmFw
aGljIGNvbnRleHQgaXMgZGVzdHJveWVkLgoKICAgcHJvY2VkdXJlIEdldF9WYWx1ZXMgKEdDICAg
ICA6IGluIEdka19HQzsKICAgICAgICAgICAgICAgICAgICAgICAgIFZhbHVlcyA6IGluIEdka19H
Q19WYWx1ZXMpOwogICAtLSAgR2V0IHRoZSB2YWx1ZXMgc2V0IGluIHRoZSBHQy4KICAgLS0gIFRo
aXMgY29waWVzIHRoZSB2YWx1ZXMgZnJvbSB0aGUgc2VydmVyIHRvIGNsaWVudCwgYWxsb3dpbmcg
ZmFzdGVyCiAgIC0tICBtb2RpZmljYXRpb25zLiBWYWx1ZXMgY2FuIHRoZW4gYmUgY29waWVkIGJh
Y2sgdG8gdGhlIHNlcnZlciBieQogICAtLSAgY3JlYXRpbmcgYSBuZXcgZ3JhcGhpYyBjb250ZXh0
IHdpdGggdGhlIGZ1bmN0aW9uIEdka19OZXcgYWJvdmUuCiAgIC0tICBWYWx1ZXMgc2hvdWxkIGhh
dmUgYmVlbiBhbGxvY2F0ZWQgZmlyc3Qgd2l0aCBhIGNhbGwgdG8gR2RrX05ldy4KCiAgIHByb2Nl
ZHVyZSBTZXRfRm9yZWdyb3VuZCAoR0MgICAgOiBpbiBHZGtfR0M7CiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgQ29sb3IgOiBpbiBHZGsuQ29sb3IuR2RrX0NvbG9yKTsKICAgLS0gIFNldCB0
aGUgZm9yZWdyb3VuZCBjb2xvciBmb3IgdGhlIGdyYXBoaWMgY29udGV4dC4KICAgLS0gIFRoaXMg
Y29sb3IgaXMgdGhlIG9uZSB0aGF0IGlzIHVzZWQgYnkgbW9zdCBkcmF3aW5nIGZ1bmN0aW9ucy4K
CiAgIHByb2NlZHVyZSBTZXRfQmFja2dyb3VuZCAoR0MgICAgIDogaW4gR2RrX0dDOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIENvbG9yICA6IGluIEdkay5Db2xvci5HZGtfQ29sb3IpOwog
ICAtLSAgU2V0IHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgZ3JhcGhpYyBjb250ZXh0LgoK
ICAgcHJvY2VkdXJlIFNldF9Gb250IChHQyAgIDogaW4gR2RrX0dDOwogICAgICAgICAgICAgICAg
ICAgICAgIEZvbnQgOiBpbiBHZGsuRm9udC5HZGtfRm9udCk7CiAgIC0tICBTZXQgdGhlIGZvbnQg
dXNlZCBieSB0aGUgZ3JhcGhpYyBjb250ZXh0LgogICAtLSAgVGhpcyBmb250IGlzIHVzZWQgYnkg
dGhlIGZ1bmN0aW9uIEdkay5EcmF3YWJsZS5EcmF3X1RleHQuCgogICBwcm9jZWR1cmUgU2V0X0Z1
bmN0aW9uIChHQyAgIDogaW4gR2RrX0dDOwogICAgICAgICAgICAgICAgICAgICAgICAgICBGdW5j
IDogaW4gVHlwZXMuR2RrX0Z1bmN0aW9uKTsKICAgLS0gIFNldCB0aGUgZnVuY3Rpb24gaW4gdGhl
IGdyYXBoaWMgY29udGV4dC4KICAgLS0gIFRoaXMgZnVuY3Rpb24gc3BlY2lmaWVzIGhvdyB0aGUg
cG9pbnRzIGFyZSBwdXQgb24gdGhlIHNjcmVlbiwgaWUKICAgLS0gIGlmIEd0a0FkYSBob3cgR3Rr
QWRhIHNob3VsZCBtaXggdGhlIHBvaW50IGFscmVhZHkgb24gdGhlIHNjcmVlbgogICAtLSAgYW5k
IHRoZSBuZXcgcG9pbnQgYmVpbmcgcHV0LgogICAtLSAgTm90ZSB0aGF0IHNldHRpbmcgdGhlIGZ1
bmN0aW9uIHRvIEdka19Yb3IgaXMgbm90IHRoZSByaWdodCB3YXkKICAgLS0gIHRvIGRvIGFuaW1h
dGlvbi4gWW91IHNob3VsZCBpbnN0ZWFkIHNhdmUgdGhlIGJhY2tncm91bmQgcGl4bWFwLAogICAt
LSAgcHV0IHRoZSBpbWFnZSwgYW5kIHRoZW4gcmVzdG9yZSB0aGUgYmFja2dyb3VuZC4KICAgLS0K
ICAgLS0gIEluIGdlbmVyYWwsIHRoZXJlIGFyZSB0aHJlZSBiYXNpYyBzdGVwcyB0byBkcmF3aW5n
OiByZWFkaW5nIHRoZSBzb3VyY2UKICAgLS0gIHBpeGVscywgcmVhZGluZyB0aGUgZGVzdGluYXRp
b24gcGl4ZWxzLCBhbmQgd3JpdGluZyB0aGUgZGVzdGluYXRpb24KICAgLS0gIHBpeGVscy4gIFNv
bWUgZnVuY3Rpb25zIG9ubHkgcGVyZm9ybSB0aGUgdGhpcmQgc3RlcCAoU2V0IGFuZCBDbGVhciks
CiAgIC0tICBzb21lIGRvIG5vdCBuZWVkIHRoZSBtaWRkbGUgc3RlcCAoQ29weSksIHdoZXJlYXMg
bW9zdCByZXF1aXJlIHRoZSB0aHJlZQogICAtLSAgc3RlcHMsIGFuZCB0aHVzIGNhbiBiZSBtdWNo
IHNsb3dlci4KCiAgIHByb2NlZHVyZSBTZXRfRmlsbCAoR0MgICA6IGluIEdka19HQzsKICAgICAg
ICAgICAgICAgICAgICAgICBGaWxsIDogaW4gVHlwZXMuR2RrX0ZpbGwpOwogICAtLSAgU2V0IHRo
ZSBwYXR0ZXJuIHVzZWQgZm9yIGZpbGxpbmcgdGhlIHBvbHlnb25zLgoKICAgcHJvY2VkdXJlIFNl
dF9UaWxlIChHQyAgIDogaW4gR2RrX0dDOwogICAgICAgICAgICAgICAgICAgICAgIFRpbGUgOiBp
biBHZGsuR2RrX1BpeG1hcCk7CgogICBwcm9jZWR1cmUgU2V0X1N0aXBwbGUgKEdDICAgICAgOiBp
biBHZGtfR0M7CiAgICAgICAgICAgICAgICAgICAgICAgICAgU3RpcHBsZSA6IGluIEdkay5HZGtf
UGl4bWFwKTsKCiAgIHByb2NlZHVyZSBTZXRfQ2xpcF9NYXNrIChHQyAgICA6IGluIEdkay5HQy5H
ZGtfR0M7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXNrICA6IGluIEdkay5HZGtfQml0
bWFwKTsKICAgLS0gIElmIE1hc2sgaXMgc2V0IHRvIE51bGxfQml0bWFwLCB0aGVuIG5vIGNsaXBf
bWFzayBpcyB1c2VkIGZvciBkcmF3aW5nLgogICAtLSAgUG9pbnRzIHdpbGwgYmUgZHJhd24gdGhy
b3VnaCB0aGlzIEdDIG9ubHkgd2hlcmUgdGhlIGJpdHMgYXJlIHNldCB0byAxCiAgIC0tICBpbiB0
aGUgbWFzay4gU2VlIGFsc28gdGhlIGZ1bmN0aW9uIFNldF9DbGlwX09yaWdpbiBmb3IKICAgLS0g
IGhvdyB0byBtb3ZlIHRoZSBtYXNrIGluc2lkZSB0aGUgR0MuCgogICBwcm9jZWR1cmUgU2V0X1Rz
X09yaWdpbiAoR0MgICA6IGluIEdka19HQzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFgs
IFkgOiBpbiBHaW50KTsKICAgLS0gIFNldCB0aGUgVGlsZSBhbmQgU3RpcHBsZSBvcmlnaW4gaW4g
dGhlIGdyYXBoaWMgY29udGV4dC4KCiAgIHByb2NlZHVyZSBTZXRfQ2xpcF9PcmlnaW4gKEdDICAg
OiBpbiBHZGtfR0M7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFgsIFkgOiBpbiBHaW50
KTsKICAgLS0gIFNldCB0aGUgb3JpZ2luIG9mIHRoZSBjbGlwIG1hc2suCiAgIC0tICBTZWUgdGhl
IGZ1bmN0aW9ucyBTZXRfQ2xpcF9SZWN0YW5nbGUsIFNldF9DbGlwX1JlZ2lvbiBhbmQKICAgLS0g
IEdkay5CaXRtYXAuU2V0X0NsaXBfTWFzayBmb3IgbW9yZSBleHBsYW5hdGlvbi4KCiAgIHByb2Nl
ZHVyZSBTZXRfQ2xpcF9SZWN0YW5nbGUKICAgICAoR0MgICAgICAgIDogaW4gR2RrX0dDOwogICAg
ICBSZWN0YW5nbGUgOiBpbiBHZGsuUmVjdGFuZ2xlLkdka19SZWN0YW5nbGUpOwogICAtLSAgU2V0
IHRoZSBjbGlwIHJlY3RhbmdsZS4KICAgLS0gIE9ubHkgdGhlIHBvaW50cyB0aGF0IGFyZSBkcmF3
biBpbnNpZGUgdGhpcyByZWN0YW5nbGUgd2lsbCBiZSBkaXNwbGF5ZWQKICAgLS0gIG9uIHRoZSBz
Y3JlZW4uIE5vdGUgdGhhdCB5b3UgbWlnaHQgaGF2ZSB0byBtb2RpZnkgdGhlIENsaXAgb3JpZ2lu
IGZpcnN0CiAgIC0tICB3aXRoIFNldF9DbGlwX09yaWdpbi4KICAgLS0gIFNlZSBTZXRfQ2xpcF9N
YXNrIHRvIGRlbGV0ZSB0aGUgY3VycmVudCBjbGlwIG1hc2suCgogICBwcm9jZWR1cmUgU2V0X0Ns
aXBfUmVnaW9uIChHQyAgICAgOiBpbiBHZGtfR0M7CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFJlZ2lvbiA6IGluIEdkay5SZWdpb24uR2RrX1JlZ2lvbik7CiAgIC0tICBEZWZpbmUgYSBj
bGlwIHJlZ2lvbiBvbiB0aGUgc2NyZWVuLgogICAtLSAgVGhpcyBpcyBqdXN0IGxpa2UgU2V0X0Ns
aXBfUmVjdGFuZ2xlLCBleGNlcHQgdGhhdCBhIHJlZ2lvbiBpcyBhIG1vcmUKICAgLS0gIGNvbXBs
ZXggcmVnaW9uLCB0aGF0IGNhbiBiZSB0aGUgaW50ZXJzZWN0aW9uIG9yIHVuaW9uIG9mIG11bHRp
cGxlCiAgIC0tICByZWN0YW5nbGVzLiBOb3RlIHRoYXQgdGhlIENsaXBfT3JpZ2luIGNhbiBoYXZl
IGFuIGluZmx1ZW5jZSBvbiB0aGlzCiAgIC0tICBmdW5jdGlvbi4KCiAgIHByb2NlZHVyZSBTZXRf
U3Vid2luZG93IChHQyAgIDogaW4gR2RrX0dDOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
TW9kZSA6IGluIFR5cGVzLkdka19TdWJ3aW5kb3dfTW9kZSk7CiAgIC0tICBTZXQgdGhlIHN1Yndp
bmRvdyBtb2RlIGZvciB0aGUgZ3JhcGhpYyBjb250ZXh0LgogICAtLSAgVGhpcyBzcGVjaWZpZXMg
d2hldGhlciB0aGUgZHJhd2luZyByb3V0aW5lcyBzaG91bGQgYmUgY2xpcHBlZCB0bwogICAtLSAg
dGhlIHNwZWNpZmljIHdpbmRvdyB0aGV5IGFyZSBkcmF3biBpbnRvLCBvciBpZiB0aGV5IHNob3Vs
ZCBleHRlbmQKICAgLS0gIHRvIHN1YndpbmRvd3MgYXMgd2VsbC4KCiAgIHByb2NlZHVyZSBTZXRf
RXhwb3N1cmVzIChHQyAgICAgICAgOiBpbiBHZGtfR0M7CiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBFeHBvc3VyZXMgOiBpbiBCb29sZWFuKTsKICAgLS0gIEV4cG9zdXJlcyBpbmRpY2F0ZXMg
d2hldGhlciB5b3Ugd2FudCAiZXhwb3NlIiBhbmQgIm5vZXhwb3NlIiBldmVudHMgdG8KICAgLS0g
IGJlIHJlcG9ydGVkIHdoZW4gY2FsbGluZyBDb3B5X0FyZWEgYW5kIENvcHlfUGxhbmUgd2l0aCB0
aGlzIEdDLgogICAtLSAgWW91IHNob3VsZCBkaXNhYmxlIHRoaXMgaWYgeW91IGRvbid0IG5lZWQg
dGhlIGV2ZW50IGFuZCB3YW50IHRvIG9wdGltaXplCiAgIC0tICB5b3VyIGFwcGxpY2F0aW9uLgog
ICAtLSAgSWYgRXhwb3N1cmVzIGlzIFRydWUsIHRoZW4gYW55IGNhbGwgdG8gQ29weV9BcmVhIG9y
IERyYXdfUGl4bWFwIHdpbGwKICAgLS0gIGdlbmVyYXRlIGFuIGV4cG9zZSBldmVudC4gT3RoZXJ3
aXNlLCB0aGVzZSB3aWxsIGdlbmVyYXRlIGEgbm9fZXhwb3NlCiAgIC0tICBldmVudC4KCiAgIHBy
b2NlZHVyZSBTZXRfTGluZV9BdHRyaWJ1dGVzIChHQyAgICAgICAgIDogaW4gR2RrX0dDOwogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGluZV9XaWR0aCA6IGluIEdpbnQ7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaW5lX1N0eWxlIDogaW4gVHlwZXMuR2RrX0xp
bmVfU3R5bGU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDYXBfU3R5bGUgIDog
aW4gVHlwZXMuR2RrX0NhcF9TdHlsZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEpvaW5fU3R5bGUgOiBpbiBUeXBlcy5HZGtfSm9pbl9TdHlsZSk7CiAgIC0tICBTZXQgdGhlIGxp
bmUgYXR0cmlidXRlcyBmb3IgdGhpcyBHQy4KICAgLS0gIExpbmVfV2lkdGggaXMgdGhlIHdpZHRo
IG9mIHRoZSBsaW5lLiBJZiBpdHMgdmFsdWUgaXMgMCwgdGhlIGxpbmUgaXMgYXMKICAgLS0gIHRo
aW4gYXMgcG9zc2libGUsIHBvc3NpYmx5IGV2ZW4gbW9yZSBzbyB0aGFuIGlmIHRoZSB3aWR0aCBp
cyAxLiBJdCBpcwogICAtLSAgYWxzbyBmYXN0ZXIgdG8gZHJhdyBhIGxpbmUgd2l0aCB3aWR0aCAw
IHRoYW4gYW55IG90aGVyIGxpbmUgd2lkdGguCiAgIC0tCiAgIC0tICBMaW5lX1N0eWxlIHNwZWNp
ZmllcyB3aGV0aGVyIHRoZSBsaW5lIHNob3VsZCBiZSBzb2xpZCBvciBkYXNoZWQuCiAgIC0tICBX
aXRoIExpbmVfT25fT2ZmX0Rhc2gsIHRoZSBjb2xvcnMgYXJlIGFsdGVybmF0aXZlbHkgdGhlIGZv
cmVncm91bmQKICAgLS0gIGNvbG9yLCBhbmQgYmxhbmsuIFdpdGggTGluZV9Eb3VibGVfRGFzaCwg
dGhlIGNvbG9ycyBhcmUKICAgLS0gIGFsdGVybmF0aXZlbHkgdGhlIGZvcmVncm91bmQgYW5kIGJh
Y2tncm91bmQgY29sb3JzLgogICAtLQogICAtLSAgQ2FwX1N0eWxlIHNwZWNpZmllcyBob3cgdGhl
IGxpbmUgc2hvdWxkIGVuZCwgZWl0aGVyIGZsYXQgb3Igcm91bmRlZC4KICAgLS0KICAgLS0gIEpv
aW5fU3R5bGUgc3BlY2lmaWVzIGhvdyB0d28gY29uc2VjdXRpdmUgbGluZXMgZHJhd24gYnkgRHJh
d19MaW5lcyBhcmUKICAgLS0gIGNvbm5lY3RlZC4KCiAgIHByb2NlZHVyZSBTZXRfRGFzaGVzIChH
YyAgICAgICAgICA6IGluIEdka19HQzsKICAgICAgICAgICAgICAgICAgICAgICAgIERhc2hfT2Zm
c2V0IDogaW4gR2ludDsKICAgICAgICAgICAgICAgICAgICAgICAgIERhc2hfTGlzdCAgIDogaW4g
R3VjaGFyX0FycmF5KTsKICAgLS0gIFNwZWNpZnkgdGhlIGRhc2ggcGF0dGVybiB3aGVuIHRoZSBs
aW5lJ3Mgc3R5bGUgaXMgYW55dGhpbmcgYnV0IHNvbGlkLgogICAtLSAgVGhlIHZhbHVlcyBpbiB0
aGUgYXJyYXkgYWx0ZXJuYXRpdmVseSBnaXZlIHRoZSBsZW5ndGggKGluIHBpeGVscykgb2YKICAg
LS0gIHRoZSBwbGFpbiBkYXNoLCB0aGUgZW1wdHkgZGFzaCwgdGhlIHNlY29uZCBwbGFpbiBkYXNo
LCAuLi4gTm9uZSBvZgogICAtLSAgdGhlc2UgdmFsdWVzIGNhbiBiZSAwLiBJZiB0aGVyZSBpcyBh
biBvZGQgbnVtYmVyIG9mIGl0ZW1zIGluIERhc2hfTGlzdCwKICAgLS0gIHRoaXMgaXMgZXF1aXZh
bGVudCB0byBnaXZpbmcgdGhlIGFycmF5IGNvbmNhdGVuYXRlZCB3aXRoIGl0c2VsZi4KICAgLS0g
IERhc2hfT2Zmc2V0IHNwZWNpZmllcyB0aGUgcGhhc2Ugb2YgdGhlIHBhdHRlcm4gdG8gc3RhcnQg
d2l0aC4KCiAgIHByb2NlZHVyZSBDb3B5IChEc3RfR0MgOiBpbiBHZGtfR0M7CiAgICAgICAgICAg
ICAgICAgICBTcmNfR0MgOiBpbiBHZGtfR0MpOwogICAtLSAgQ29weSBhIFNyY19HQyB0byBEc3Rf
R0MuCgogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIC0tIEdka19Db2xvcl9WYWx1ZXMgLS0K
ICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKICAgZnVuY3Rpb24gR2RrX05ldyByZXR1cm4gR2Rr
X0dDX1ZhbHVlczsKICAgLS0gIEFsbG9jYXRlIGEgbmV3IFZhbHVlcyBzdHJ1Y3R1cmUgb24gdGhl
IGNsaWVudC4KICAgLS0gIE5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIGFsbG9jYXRlcyBhIEMgc3Ry
dWN0dXJlLCBhbmQgdGh1cyBuZWVkcyB0bwogICAtLSAgYmUgZnJlZWQgd2l0aCBhIGNhbGwgdG8g
RnJlZSBiZWxvdy4KCiAgIHByb2NlZHVyZSBGcmVlIChWYWx1ZXMgOiBpbiBHZGtfR0NfVmFsdWVz
KTsKICAgLS0gIEZyZWUgdGhlIEMgc3RydWN0dXJlIGFzc29jaWF0ZWQgd2l0aCBWYWx1ZXMuCgog
ICBwcm9jZWR1cmUgU2V0X0ZvcmVncm91bmQgKFZhbHVlcyA6IGluIEdka19HQ19WYWx1ZXM7CiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29sb3IgIDogaW4gR2RrLkNvbG9yLkdka19Db2xv
cik7CiAgIC0tICBTYW1lIGFzIFNldF9Gb3JlZ3JvdW5kLCBidXQgb24gdGhlIGNsaWVudCBzaWRl
CgogICBwcm9jZWR1cmUgU2V0X0JhY2tncm91bmQgKFZhbHVlcyA6IGluIEdka19HQ19WYWx1ZXM7
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29sb3IgIDogaW4gR2RrLkNvbG9yLkdka19D
b2xvcik7CiAgIC0tICBTYW1lIGFzIFNldF9CYWNrZ3JvdW5kLCBidXQgb24gdGhlIGNsaWVudCBz
aWRlCgogICBwcm9jZWR1cmUgU2V0X0ZvbnQgKFZhbHVlcyA6IGluIEdka19HQ19WYWx1ZXM7CiAg
ICAgICAgICAgICAgICAgICAgICAgRm9udCAgIDogaW4gR2RrLkZvbnQuR2RrX0ZvbnQpOwogICAt
LSAgU2FtZSBhcyBTZXRfRm9udCwgYnV0IG9uIHRoZSBjbGllbnQgc2lkZQoKICAgcHJvY2VkdXJl
IFNldF9GdW5jdGlvbiAoVmFsdWVzIDogaW4gR2RrX0dDX1ZhbHVlczsKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgRnVuYyAgIDogaW4gVHlwZXMuR2RrX0Z1bmN0aW9uKTsKICAgLS0gIFNhbWUg
YXMgU2V0X0Z1bmN0aW9uLCBidXQgb24gdGhlIGNsaWVudCBzaWRlCgogICBwcm9jZWR1cmUgU2V0
X0ZpbGwgKFZhbHVlcyA6IGluIEdka19HQ19WYWx1ZXM7CiAgICAgICAgICAgICAgICAgICAgICAg
RmlsbCAgIDogaW4gVHlwZXMuR2RrX0ZpbGwpOwogICAtLSAgU2FtZSBhcyBTZXRfRmlsbCwgYnV0
IG9uIHRoZSBjbGllbnQgc2lkZQoKICAgcHJvY2VkdXJlIFNldF9Uc19PcmlnaW4gKFZhbHVlcyA6
IGluIEdka19HQ19WYWx1ZXM7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBYLCBZICAgOiBp
biBHaW50KTsKICAgLS0gIFNhbWUgYXMgU2V0X1RzX09yaWdpbiwgYnV0IG9uIHRoZSBjbGllbnQg
c2lkZQoKICAgcHJvY2VkdXJlIFNldF9DbGlwX09yaWdpbiAoVmFsdWVzIDogaW4gR2RrX0dDX1Zh
bHVlczsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWCwgWSAgIDogaW4gR2ludCk7CiAg
IC0tICBTYW1lIGFzIFNldF9DbGlwX09yaWdpbiwgYnV0IG9uIHRoZSBjbGllbnQgc2lkZQoKICAg
cHJvY2VkdXJlIFNldF9TdWJ3aW5kb3cgKFZhbHVlcyA6IGluIEdka19HQ19WYWx1ZXM7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBNb2RlICAgOiBpbiBUeXBlcy5HZGtfU3Vid2luZG93X01v
ZGUpOwogICAtLSAgU2FtZSBhcyBTZXRfU3Vid2luZG93LCBidXQgb24gdGhlIGNsaWVudCBzaWRl
CgogICBwcm9jZWR1cmUgU2V0X0V4cG9zdXJlcyAoVmFsdWVzICAgIDogaW4gR2RrX0dDX1ZhbHVl
czsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEV4cG9zdXJlcyA6IGluIEJvb2xlYW4pOwog
ICAtLSAgU2FtZSBhcyBTZXRfRXhwb3N1cmVzLCBidXQgb24gdGhlIGNsaWVudCBzaWRlCgogICBw
cm9jZWR1cmUgU2V0X0xpbmVfQXR0cmlidXRlcyAoVmFsdWVzICAgICA6IGluIEdka19HQ19WYWx1
ZXM7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaW5lX1dpZHRoIDogaW4gR2lu
dDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpbmVfU3R5bGUgOiBpbiBUeXBl
cy5HZGtfTGluZV9TdHlsZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENhcF9T
dHlsZSAgOiBpbiBUeXBlcy5HZGtfQ2FwX1N0eWxlOwogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgSm9pbl9TdHlsZSA6IGluIFR5cGVzLkdka19Kb2luX1N0eWxlKTsKICAgLS0gIFNh
bWUgYXMgU2V0X0xpbmVfQXR0cmlidXRlcywgYnV0IG9uIHRoZSBjbGllbnQgc2lkZQoKcHJpdmF0
ZQogICBOdWxsX0dDIDogY29uc3RhbnQgR2RrX0dDIDo9IG51bGw7CiAgIE51bGxfR0NfVmFsdWVz
IDogY29uc3RhbnQgR2RrX0dDX1ZhbHVlcyA6PSBudWxsOwoKICAgcHJhZ21hIEltcG9ydCAoQywg
Q29weSwgImdka19nY19jb3B5Iik7CiAgIHByYWdtYSBJbXBvcnQgKEMsIERlc3Ryb3ksICJnZGtf
Z2NfZGVzdHJveSIpOwogICBwcmFnbWEgSW1wb3J0IChDLCBGcmVlLCAiYWRhX2dka19nY19mcmVl
X3ZhbHVlcyIpOwogICBwcmFnbWEgSW1wb3J0IChDLCBHZXRfVmFsdWVzLCAiZ2RrX2djX2dldF92
YWx1ZXMiKTsKICAgcHJhZ21hIEltcG9ydCAoQywgUmVmLCAiZ2RrX2djX3JlZiIpOwogICBwcmFn
bWEgSW1wb3J0IChDLCBVbnJlZiwgImdka19nY191bnJlZiIpOwogICBwcmFnbWEgSW1wb3J0IChD
LCBTZXRfU3RpcHBsZSwgImdka19nY19zZXRfc3RpcHBsZSIpOwogICBwcmFnbWEgSW1wb3J0IChD
LCBTZXRfVGlsZSwgImdka19nY19zZXRfdGlsZSIpOwogICBwcmFnbWEgSW1wb3J0IChDLCBTZXRf
Q2xpcF9NYXNrLCAiZ2RrX2djX3NldF9jbGlwX21hc2siKTsKZW5kIEdkay5HQzsKAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAZ25hdGJ1Zy9nZGstZm9udC5hZHMAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAADAxMDA2NDQAMDAwMTc1MQAwMDAwMDAwADAwMDAwMDMxNTY3ADA3NTUxMTA3NjMyADAxMzU2
MQAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAHNw
YXoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAd2hlZWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotLSAgICAgICAgICBHdGtBZGEgLSBBZGE5
NSBiaW5kaW5nIGZvciB0aGUgR2ltcCBUb29sa2l0ICAgICAgICAgICAgICAtLQotLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAtLQotLSAgICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAoQykgMTk5OC0yMDAwICAgICAg
ICAgICAgICAgICAgICAgICAtLQotLSAgICAgICAgRW1tYW51ZWwgQnJpb3QsIEpvZWwgQnJvYmVj
a2VyIGFuZCBBcm5hdWQgQ2hhcmxldCAgICAgICAgICAtLQotLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
ICAgICAtLQotLSBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQ
dWJsaWMgICAgICAgICAgICAgICAtLQotLSBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgICAgICAtLQotLSB2ZXJzaW9uIDIgb2YgdGhl
IExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uICAtLQotLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAtLQotLSBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwgICAtLQotLSBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiAgICAtLQotLSBNRVJDSEFOVEFCSUxJ
VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVSAtLQot
LSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuICAgICAgICAgICAgICAg
ICAgICAgICAgICAtLQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgICAgICAgICAtLQotLSBMaWNlbnNlIGFs
b25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSAgICAgICAgICAgICAt
LQotLSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1
aXRlIDMzMCwgICAgICAtLQotLSBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSBBcyBhIHNw
ZWNpYWwgZXhjZXB0aW9uLCBpZiBvdGhlciBmaWxlcyBpbnN0YW50aWF0ZSBnZW5lcmljcyBmcm9t
ICAtLQotLSB0aGlzIHVuaXQsIG9yIHlvdSBsaW5rIHRoaXMgdW5pdCB3aXRoIG90aGVyIGZpbGVz
IHRvIHByb2R1Y2UgYW4gICAtLQotLSBleGVjdXRhYmxlLCB0aGlzICB1bml0ICBkb2VzIG5vdCAg
YnkgaXRzZWxmIGNhdXNlICB0aGUgcmVzdWx0aW5nICAtLQotLSBleGVjdXRhYmxlIHRvIGJlIGNv
dmVyZWQgYnkgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLiBUaGlzICAtLQotLSBleGNl
cHRpb24gZG9lcyBub3QgaG93ZXZlciBpbnZhbGlkYXRlIGFueSBvdGhlciByZWFzb25zIHdoeSB0
aGUgICAtLQotLSBleGVjdXRhYmxlIGZpbGUgIG1pZ2h0IGJlIGNvdmVyZWQgYnkgdGhlICBHTlUg
UHVibGljIExpY2Vuc2UuICAgICAtLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLS0gIDxkZXNjcmlwdGlvbj4K
LS0gIFRoaXMgaXMgdGhlIGJhc2UgcGFja2FnZSBmb3IgaGFuZGxpbmcgZm9udHMuCi0tICBHdGtB
ZGEga25vd3MgYWJvdXQgYml0bWFwIGFuZCB2ZWN0b3JpYWwgZm9udHMsIGFuZCBjYW4gZHJhdyBi
b3RoLgotLSAgVGhlIGxpc3Qgb2YgZm9udHMgYXZhaWxhYmxlIHRvIHlvdSBkZXBlbmRzIG9uIHdo
YXQgaXMgaW5zdGFsbGVkIG9uCi0tICB5b3VyIHN5c3RlbS4KLS0KLS0gIFRoZSBuYW1lIG9mIHRo
ZSBmb250IGlzIGluZGljYXRlZCBpbiB0aGUgc3RhbmRhcmQgWDExIGZhc2hpb24sIG5hbWVseToK
LS0gIChleGFtcGxlIGV4dHJhY3RlZCBmcm9tIHRoZSBYbGliIG1hbnVhbCk6Ci0tCi0tICAtYWRv
YmUtY291cmllci1ib2xkLW8tbm9ybWFsLS0xMC0xMDAtNzUtNzUtbS02MC1pc284ODU5LTEKLS0g
IHdoZXJlOgotLSAgICAtIGFkb2JlICAgICA6IGZvdW5kcnkKLS0gICAgLSBjb3VyaWVyICAgOiBm
b250IGZhbWlseQotLSAgICAtIGJvbGQgICAgICA6IHdlaWdodCAoZS5nLiBib2xkLCBtZWRpdW0p
Ci0tICAgIC0gbyAgICAgICAgIDogc2xhbnQgKGUuZy4gcm9tYW4sIGl0YWxpYywgb2JsaXF1ZSkK
LS0gICAgLSBub3JtYWwgICAgOiBzZXQgd2lkdGggKGUuZy4gbm9ybWFsLCBjb25kZW5zZWQsIG5h
cnJvdywgZG91YmxlKQotLSAgICAtIDEwICAgICAgICA6IHBpeGVscwotLSAgICAtIDEwMCAgICAg
ICA6IHBvaW50cyAoaW4gdGVudGhzIG9mIGEgcG9pbnQpCi0tICAgIC0gNzUgICAgICAgIDogaG9y
aXpvbnRhbCByZXNvbHV0aW9uIGluIGRwaQotLSAgICAtIDc1ICAgICAgICA6IHZlcnRpY2FsIHJl
c29sdXRpb24gaW4gZHBpCi0tICAgIC0gbSAgICAgICAgIDogc3BhY2luZyAoZS5nLiBtb25vc3Bh
Y2Ugb3IgcHJvcG9ydGlvbmFsKQotLSAgICAtIDYwICAgICAgICA6IGF2ZXJhZ2Ugd2lkdGggKGlu
IHRlbnRocyBvZiBhIHBpeGVsKQotLSAgICAtIGlzbzg4NTktMSA6IGNoYXJhY3RlciBzZXQKLS0K
LS0gIEFueSBvZiB0aGUgZmllbGRzIGNhbiBoYXZlIGEgJyonIGluc3RlYWQsIHNvIHRoYXQgdGhl
IHN5c3RlbSB3aWxsCi0tICBhdXRvbWF0aWNhbGx5IGZpbmQgYSBmb250IHRoYXQgbWF0Y2hlcyB0
aGUgcmVzdCBvZiB0aGUgc3RyaW5nLCBhbmQgd29uJ3QKLS0gIGNhcmUgYWJvdXQgdGhhdCBzcGVj
aWZpYyBmaWVsZC4KLS0KLS0gIEJ1dCB0aGUgZWFzaWVzdCB3YXkgdG8gc2VsZWN0IGEgZm9udCBp
cyBieSB1c2luZyBzb21lIGV4dGVybmFsIHByb2dyYW1zLAotLSAgZm9yIGluc3RhbmNlIHhmb250
c2VsLCB4bHNmb250LCBnZm9udHNlbCwgb3IgZXZlbiB0aGUgZm9udCBzZWxlY3Rpb24KLS0gIGRp
YWxvZyBleGFtcGxlIGluIHRoZSB0ZXN0Z3RrLyBkaXJlY3Rvcnkgb2YgdGhlIEd0a0FkYSBkaXN0
cmlidXRpb24uCi0tCi0tICBAcHhyZWZ7UGFja2FnZV9HdGsuRXh0cmEuUHNGb250fSBmb3IgYSBw
YWNrYWdlIHRoYXQgcHJvY2Vzc2VzIHBvc3RzY3JpcHQKLS0gIGZvbnRzLCB3aXRoIHRoZWlyIG1v
cmUgdXN1YWwgbmFtZXMsIGFuZCBjYW4gZWFzaWx5IGNvbnZlcnQgdGhlbSB0byBzdGFuZGFyZAot
LSAgR2RrX0ZvbnQgc3RydWN0dXJlcy4KLS0KLS0gIFNvbWUgb2YgdGhlIGZ1bmN0aW9ucyBiZWxv
dyBzaG91bGQgYmUgdXNlZCBvbmx5IGZvciB3aWRlLWNoYXJhY3RlciBzdHJpbmdzLgotLSAgVGhp
cyBpcyBuZWVkZWQgZm9yIGxhbmd1YWdlcyB3aXRoIG1vcmUgdGhhbiAyNTYgY2hhcmFjdGVycy4K
LS0KLS0gIFdpZGUgY2hhcmFjdGVyIHZhbHVlcyBiZXR3ZWVuIDAgYW5kIDEyNyBhcmUgYWx3YXlz
IGlkZW50aWNhbCBpbiBtZWFuaW5nIHRvCi0tICB0aGUgQVNDSUkgY2hhcmFjdGVyIGNvZGVzLgot
LSAgQW4gYWx0ZXJuYXRpdmUgdG8gd2lkZSBjaGFyYWN0ZXJzIGlzIG11bHRpLWJ5dGUgY2hhcmFj
dGVycywgd2hpY2ggZXh0ZW5kCi0tICBub3JtYWwgY2hhciBzdHJpbmdzIHRvIGNvcGUgd2l0aCBs
YXJnZXIgY2hhcmFjdGVyIHNldHMuIEFzIHRoZSBuYW1lCi0tICBzdWdnZXN0cywgbXVsdGktYnl0
ZSBjaGFyYWN0ZXJzIHVzZSBhIGRpZmZlcmVudCBudW1iZXIgb2YgYnl0ZXMgdG8gc3RvcmUKLS0g
IGRpZmZlcmVudCBjaGFyYWN0ZXIgY29kZXMuIEZvciBleGFtcGxlIGNvZGVzIDAtMTI3IChpLmUu
IHRoZSBBU0NJSSBjb2RlcykKLS0gIG9mdGVuIHVzZSBqdXN0IG9uZSBieXRlIG9mIG1lbW9yeSwg
d2hpbGUgb3RoZXIgY29kZXMgbWF5IHVzZSAyLCAzIG9yIGV2ZW4KLS0gIDQgYnl0ZXMuIE11bHRp
LWJ5dGUgY2hhcmFjdGVycyBoYXZlIHRoZSBhZHZhbnRhZ2UgdGhhdCB0aGV5IGNhbiBvZnRlbiBi
ZQotLSAgdXNlZCBpbiBhbiBhcHBsaWNhdGlvbiB3aXRoIGxpdHRsZSBjaGFuZ2UsIHNpbmNlIHN0
cmluZ3MgYXJlIHN0aWxsCi0tICByZXByZXNlbnRlZCBhcyBhcnJheXMgb2YgY2hhciB2YWx1ZXMu
IEhvd2V2ZXIgbXVsdGktYnl0ZSBzdHJpbmdzIGFyZSBtdWNoCi0tICBlYXNpZXIgdG8gbWFuaXB1
bGF0ZSBzaW5jZSB0aGUgY2hhcmFjdGVyIGFyZSBhbGwgb2YgdGhlIHNhbWUgc2l6ZS4KLS0KLS0g
IE9uIFVuaXggc3lzdGVtcywgdGhlIGV4dGVybmFsIHV0aWxpdHkgJ3hmZCcgY2FuIGJlIHVzZWQg
dG8gZGlzcGxheSBhbGwKLS0gIHRoZSBjaGFyYWN0ZXJzIGluIGEgZm9udC4KLS0KLS0gIDwvZGVz
Y3JpcHRpb24+Ci0tICA8Y192ZXJzaW9uPjEuMi43PC9jX3ZlcnNpb24+Ci0tICA8c2NyZWVuc2hv
dD5mb250PC9zY3JlZW5zaG90PgoKd2l0aCBHbGliOyB1c2UgR2xpYjsKd2l0aCBHZGsuVHlwZXM7
CgpwYWNrYWdlIEdkay5Gb250IGlzCgogICB0eXBlIEdka19Gb250IGlzIG5ldyBHZGsuQ19Qcm94
eTsKICAgLS0gIEEgZm9udCB1c2VkIHRvIGRyYXcgdGV4dC4KICAgLS0gIFRoaXMgY2FuIHJlcHJl
c2VudCBhIGJpdG1hcCBmb250LCBhIHNjYWxhYmxlICh2ZWN0b3JpYWwpIGZvbnQsIG9yCiAgIC0t
ICBhIGZvbnRzZXQuIEEgZm9udHNldCBpcyBhIGxpc3Qgb2YgY29tbWEtc2VwYXJhdGVkIGZvbnRz
LCB0aGF0IHBlcm1pdHMKICAgLS0gIEd0a0FkYSB0byBvYnRhaW4gdGhlIGZvbnRzIG5lZWRlZCBm
b3IgYSB2YXJpZXR5IG9mIGxvY2FsZXMgZnJvbSBhCiAgIC0tICBzaW5nbGUgbG9jYWxlLWluZGVw
ZW5kZW50IGJhc2UgZm9udCBuYW1lLiBUaGUgc2luZ2xlIGJhc2UgZm9udCBuYW1lCiAgIC0tICBz
aG91bGQgbmFtZSBhIGZhbWlseSBvZiBmb250cyB3aG9zZSBtZW1iZXJzIGFyZSBlbmNvZGVkIGlu
IHRoZSB2YXJpb3VzCiAgIC0tICBjaGFyc2V0cyBuZWVkZWQgYnkgdGhlIGxvY2FsZXMgb2YgaW50
ZXJlc3QuCiAgIC0tICBUaGUgYWxnb3JpdGhtIHVzZWQgdG8gc2VsZWN0IHRoZSBmb250IGlzIGRl
c2NyaWJlZCBpbiB0aGUgbWFudWFsIHBhZ2UKICAgLS0gIGZvciBYQ3JlYXRlRm9udFNldCgzWCku
CgogICBOdWxsX0ZvbnQgOiBjb25zdGFudCBHZGtfRm9udDsKCiAgIHByb2NlZHVyZSBMb2FkIChG
b250ICAgICAgOiAgICBvdXQgR2RrX0ZvbnQ7CiAgICAgICAgICAgICAgICAgICBGb250X05hbWUg
OiBpbiAgICAgU3RyaW5nKTsKICAgLS0gIExvYWQgYSBuZXcgZm9udCwgZ2l2ZW4gaXRzIG5hbWUu
CiAgIC0tICBUaGlzIGlzIHRoZSBmaXJzdCBzdGVwIGJlZm9yZSB1c2luZyBhIGZvbnQuCiAgIC0t
ICBUaGUgZm9udCBpcyBmaXJzdCBsb29rZWQgdXAgaW4gdGhlIGNhY2hlLCBhbmQgaWYgaXQgd2Fz
IGFscmVhZHkKICAgLS0gIGxvYWRlZCwgaXQgaXMgbm90IHJlbG9hZGVkIGFnYWluLiBUaHVzLCBp
dCBkb2VzIG5vdCBoYXJtIHRvIGNhbGwKICAgLS0gIHRoaXMgZnVuY3Rpb24gbXVsdGlwbGUgdGlt
ZXMgd2l0aCB0aGUgc2FtZSBGb250X05hbWUuCiAgIC0tICBOdWxsX0ZvbnQgaXMgcmV0dXJuZWQg
aWYgdGhlIGZvbnQgY291bGQgbm90IGJlIGxvYWRlZC4KCiAgIHByb2NlZHVyZSBGb250c2V0X0xv
YWQgKEZvbnQgICAgICAgICA6ICAgb3V0IEdka19Gb250OwogICAgICAgICAgICAgICAgICAgICAg
ICAgICBGb250c2V0X05hbWUgOiBpbiAgICBTdHJpbmcpOwogICAtLSAgTG9hZCBhIG5ldyBmb250
IHNldC4KICAgLS0gIEZvbnRzZXRfTmFtZSBpcyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIGZv
bnRzIHRoYXQgd2lsbCBiZSBsb2FkZWQKICAgLS0gIGFzIHBhcnQgb2YgdGhlIGZvbnRzZXQuCgog
ICBwcm9jZWR1cmUgUmVmIChGb250IDogaW4gR2RrX0ZvbnQpOwogICAtLSAgSW5jcmVtZW50IHRo
ZSByZWZlcmVuY2UgY291bnRlciBmb3IgdGhlIGZvbnQuCiAgIC0tICBZb3Ugc2hvdWxkIG5vdCBt
YWtlIGFueSBhc3N1bXB0aW9uIG9mIHRoZSBpbml0aWFsIHZhbHVlIG9mIHRoZSBmb250cwogICAt
LSAgcmV0dXJuZWQgYnkgTG9hZCBvciBGb250c2V0X0xvYWQsIHNpbmNlIHRoZXNlIGNhbiBiZSBl
eHRyYWN0ZWQgZnJvbSBhCiAgIC0tICBjYWNoZS4KCiAgIHByb2NlZHVyZSBVbnJlZiAoRm9udCA6
IGluIEdka19Gb250KTsKICAgLS0gIERlY3JlbWVudCB0aGUgcmVmZXJlbmNlIGNvdW50ZXIgZm9y
IHRoZSBmb250LgogICAtLSAgV2hlbiB0aGlzIGNvdW50ZXIgcmVhY2hlcyAwLCB0aGUgZm9udCBp
cyBkZWxldGVkIGZyb20gbWVtb3J5LgoKICAgZnVuY3Rpb24gSWQgKEZvbnQgOiBpbiBHZGtfRm9u
dCkgcmV0dXJuIEdpbnQ7CiAgIC0tICBSZXR1cm4gdGhlIFggZm9udCBpZCBmb3IgdGhlIGZvbnQu
CiAgIC0tICBUaGlzIElkIHdpbGwgb25seSBiZSBuZWVkZWQgaWYgeW91IHdhbnQgdG8gY2FsbCBk
aXJlY3RseSBYMTEgZnVuY3Rpb25zLAogICAtLSAgeW91IHdvbid0IG5lZWQgaXQgd2l0aCBHdGtB
ZGEuCgogICBmdW5jdGlvbiBFcXVhbCAoRm9udGEsIEZvbnRiIDogaW4gR2RrX0ZvbnQpIHJldHVy
biBCb29sZWFuOwogICAtLSAgQ29tcGFyZSB0d28gZm9udHMgb3IgdHdvIGZvbnRzZXRzIGZvciBl
cXVhbGl0eS4KICAgLS0gIFR3byBmb250cyBhcmUgZXF1YWwgaWYgdGhleSBoYXZlIHRoZSBzYW1l
IGZvbnQgSWQuCiAgIC0tICBUd28gZm9udHNldHMgYXJlIGVxdWFsIGlmIHRoZSBuYW1lIGdpdmVu
IHRvIEZvbnRzZXRfTG9hZCB3YXMgdGhlIHNhbWUuCgogICBmdW5jdGlvbiBHZXRfQXNjZW50IChG
b250IDogaW4gR2RrX0ZvbnQpIHJldHVybiBHaW50OwogICAtLSAgUmV0dXJuIHRoZSBtYXhpbWFs
IGFzY2VudCBmb3IgdGhlIGZvbnQuCiAgIC0tICBUaGlzIGlzIHRoZSBsb2dpY2FsIGV4dGVudCBh
Ym92ZSB0aGUgYmFzZWxpbmUgZm9yIHNwYWNpbmcgYmV0d2VlbiB0d28KICAgLS0gIGxpbmVzLgoK
ICAgZnVuY3Rpb24gR2V0X0Rlc2NlbnQgKEZvbnQgOiBpbiBHZGtfRm9udCkgcmV0dXJuIEdpbnQ7
CiAgIC0tICBSZXR1cm4gdGhlIG1heGltYWwgZGVzY2VudCBmb3IgdGhlIGZvbnQuCiAgIC0tICBU
aGlzIGlzIHRoZSBsb2dpY2FsIGV4dGVudCBiZWxvdyB0aGUgYmFzZWxpbmUgZm9yIHNwYWNpbmcg
YmV0d2VlbiB0d28KICAgLS0gIGxpbmVzLgoKICAgZnVuY3Rpb24gU3RyaW5nX1dpZHRoIChGb250
IDogaW4gR2RrX0ZvbnQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAgU3RyICA6IGluIFN0cmlu
ZykKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaW50OwogICAtLSAgUmV0dXJuIHRo
ZSB3aWR0aCBpbiBwaXhlbHMgdGhhdCBTdHIgd2lsbCBvY2N1cHkgaWYgZHJhd24gd2l0aCBGb250
LgogICAtLSAgVGhlIHZhbHVlIHJldHVybmVkIGlzIHRoZSBkaXN0YW5jZSBiZXR3ZWVuIHRoZSBv
cmlnaW4gb2YgdGhlIHRleHQgYW5kCiAgIC0tICB0aGUgcG9zaXRpb24gYXQgd2hpY2ggdGhlIG5l
eHQgc3RyaW5nIHNob3VsZCBiZSBkcmF3bi4KCiAgIGZ1bmN0aW9uIFRleHRfV2lkdGggKEZvbnQg
OiBpbiBHZGtfRm9udDsKICAgICAgICAgICAgICAgICAgICAgICAgVGV4dCA6IGluIFN0cmluZykK
ICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2ludDsKICAgLS0gIFRoaXMgaXMgdGhlIHNh
bWUgZnVuY3Rpb24gYXMgU3RyaW5nX1dpZHRoLgogICAtLSAgSW4gQywgdGhpcyBmdW5jdGlvbiBp
cyBpbnRlbmRlZCB0byBtZWFzdXJlIG9ubHkgdGhlIHdpZHRoIG9mIGEgcGFydAogICAtLSAgb2Yg
dGhlIHN0cmluZywgYnV0IHlvdSBjYW4gc2ltcGx5IHBhc3MgaXQgYSBzdWJzdHJpbmcgaW4gQWRh
LgoKICAgZnVuY3Rpb24gVGV4dF9XaWR0aCAoRm9udCA6IGluIEdka19Gb250OwogICAgICAgICAg
ICAgICAgICAgICAgICBUZXh0IDogaW4gR2RrLlR5cGVzLkdka19XU3RyaW5nKQogICAgICAgICAg
ICAgICAgICAgICAgIHJldHVybiBHaW50OwogICAtLSAgUmV0dXJuIHRoZSB3aWR0aCBpbiBwaXhl
bHMgdGhhdCBUZXh0IHdpbGwgb2NjdXB5IG9uIHRoZSBzY3JlZW4uCiAgIC0tICBUaGlzIGZ1bmN0
aW9uIHNob3VsZCBiZSB1c2VkIHdpdGggc3RyaW5ncyB0aGF0IGNvbnRhaW4gVW5pY29kZQogICAt
LSAgY2hhcmFjdGVycwoKICAgZnVuY3Rpb24gQ2hhcl9XaWR0aCAoRm9udCA6IGluIEdka19Gb250
OwogICAgICAgICAgICAgICAgICAgICAgICBDaGFyIDogaW4gQ2hhcmFjdGVyKQogICAgICAgICAg
ICAgICAgICAgICAgIHJldHVybiBHaW50OwogICAtLSAgUmV0dXJuIHRoZSB3aWR0aCBpbiBwaXhl
bHMgb2NjdXBpZWQgYnkgYSBzaW5nbGUgY2hhcmFjdGVyIG9uIHRoZSBzY3JlZW4uCiAgIC0tICBU
aGUgdmFsdWUgcmV0dXJuZWQgaXMgdGhlIGRpc3RhbmNlIGJldHdlZW4gQ2hhcidzIG9yaWdpbiBv
biB0aGUgc2NyZWVuCiAgIC0tICBhbmQgdGhlIG9yaWdpbiBvZiB0aGUgbmV4dCBjaGFyYWN0ZXIg
aW4gdGhlIHN0cmluZy4KCiAgIGZ1bmN0aW9uIENoYXJfV2lkdGggKEZvbnQgOiBpbiBHZGtfRm9u
dDsKICAgICAgICAgICAgICAgICAgICAgICAgQ2hhciA6IGluIEdkay5UeXBlcy5HZGtfV0NoYXIp
CiAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdpbnQ7CiAgIC0tICBSZXR1cm4gdGhlIHdp
ZHRoIGluIHBpeGVscyBvY2N1cGllZCBieSBhIHNpbmdsZSB3aWRlLWNoYXJhY3Rlci4KCiAgIGZ1
bmN0aW9uIFN0cmluZ19NZWFzdXJlIChGb250IDogaW4gR2RrX0ZvbnQ7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBTdHIgIDogaW4gU3RyaW5nKQogICAgICAgICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gR2ludDsKICAgLS0gIERldGVybWluZSB0aGUgZGlzdGFuY2UgZnJvbSB0aGUgb3Jp
Z2luIHRvIHRoZSByaWdodG1vc3QgcG9ydGlvbiBvZiBTdHIuCiAgIC0tICBUaGlzIGlzIG5vdCB0
aGUgY29ycmVjdCB2YWx1ZSBmb3IgZGV0ZXJtaW5pbmcgdGhlIG9yaWdpbiBvZiB0aGUgbmV4dAog
ICAtLSAgcG9ydGlvbiB3aGVuIGRyYXdpbmcgdGV4dCBpbiBtdWx0aXBsZSBwaWVjZXMuCiAgIC0t
ICBTZWUgU3RyaW5nX1dpZHRoIGluc3RlYWQuCgogICBmdW5jdGlvbiBUZXh0X01lYXN1cmUgKEZv
bnQgOiBpbiBHZGtfRm9udDsKICAgICAgICAgICAgICAgICAgICAgICAgICBUZXh0IDogaW4gU3Ry
aW5nKQogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdpbnQ7CiAgIC0tICBTYW1lIGZ1
bmN0aW9uIGEgU3RyaW5nX01lYXN1cmUuCiAgIC0tICBJbiBDLCB0aGlzIGZ1bmN0aW9uIGlzIGlu
dGVuZGVkIHRvIG1lYXN1cmUgb25seSB0aGUgd2lkdGggb2YgYSBwYXJ0IG9mCiAgIC0tICB0aGUg
c3RyaW5nLCBidXQgeW91IGNhbiBzaW1wbHkgcGFzcyBpdCBhIHN1YnN0cmluZyBpbiBBZGEuCiAg
IC0tICBUaGlzIGlzIGFsc28gY2FsbGVkIHRoZSByaWdodCBiZWFyaW5nIG9mIHRoZSBzdHJpbmcu
CgogICBmdW5jdGlvbiBDaGFyX01lYXN1cmUgKEZvbnQgOiBpbiBHZGtfRm9udDsKICAgICAgICAg
ICAgICAgICAgICAgICAgICBDaGFyIDogaW4gQ2hhcmFjdGVyKQogICAgICAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIEdpbnQ7CiAgIC0tICBSZXR1cm4gdGhlIHdpZHRoIGluIHBpeGVscyBvZiBD
aGFyLgogICAtLSAgQXMgb3Bwb3NlZCB0byBDaGFyX1dpZHRoLCB0aGUgdmFsdWUgcmV0dXJuZWQg
aXMgbm90IHRoZSBkaXN0YW5jZSBhdAogICAtLSAgd2hpY2ggdGhlIG5leHQgY2hhcmFjdGVyIHNo
b3VsZCBiZSBkcmF3bi4KICAgLS0gIFRoaXMgaXMgYWxzbyBjYWxsZWQgdGhlIHJpZ2h0IGJlYXJp
bmcgb2YgdGhlIGNoYXJhY3Rlci4KCiAgIHByb2NlZHVyZSBTdHJpbmdfRXh0ZW50cyAoRm9udCAg
ICAgOiBpbiAgICAgR2RrLkZvbnQuR2RrX0ZvbnQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgU3RyICAgICAgOiBpbiAgICAgU3RyaW5nOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
IExiZWFyaW5nIDogICAgb3V0IEdpbnQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmJl
YXJpbmcgOiAgICBvdXQgR2ludDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXaWR0aCAg
ICA6ICAgIG91dCBHaW50OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFzY2VudCAgIDog
ICAgb3V0IEdpbnQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVzY2VudCAgOiAgICBv
dXQgR2ludCk7CiAgIC0tICBSZXR1cm4gdGhlIG1ldHJpY3MgZm9yIGEgZ2l2ZW4gdGV4dC4KICAg
LS0gIFNlZSB0aGUgcGljdHVyZSBmb3IgbW9yZSBleHBsYW5hdGlvbnMgb24gYWxsIHRoZSBmaWVs
ZHMuCiAgIC0tICBMYmVhcmluZyA6IE9yaWdpbiB0byBsZWZ0IGVkZ2Ugb2YgY2hhcmFjdGVyLgog
ICAtLSAgUmJlYXJpbmcgOiBPcmlnaW4gdG8gcmlnaHQgZWRnZSBvZiBjaGFyYWN0ZXIuCiAgIC0t
ICBXaWR0aCAgICA6IEFkdmFuY2UgdG8gbmV4dCBjaGFyYWN0ZXIncyBvcmlnaW4uCiAgIC0tICBB
c2NlbnQgICA6IEJhc2VsaW5lIHRvIHRvcCBlZGdlIG9mIGNoYXJhY3Rlci4KICAgLS0gIERlc2Nl
bnQgIDogQmFzZWxpbmUgdG8gYm90dG9tIGVkZ2Ugb2YgY2hhcmFjdGVyLgoKICAgcHJvY2VkdXJl
IFRleHRfRXh0ZW50cyAoRm9udCAgICAgICAgOiBpbiAgICAgR2RrX0ZvbnQ7CiAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFRleHQgICAgICAgIDogaW4gICAgIFN0cmluZzsKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgTGJlYXJpbmcgICAgOiAgICBvdXQgR2ludDsKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgUmJlYXJpbmcgICAgOiAgICBvdXQgR2ludDsKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgV2lkdGggICAgICAgOiAgICBvdXQgR2ludDsKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgQXNjZW50ICAgICAgOiAgICBvdXQgR2ludDsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgRGVzY2VudCAgICAgOiAgICBvdXQgR2ludCk7CiAgIC0tICBSZXR1cm4gYWxsIHRoZSBtZXRy
aWNzIGZvciBhIGdpdmVuIHRleHQuCiAgIC0tICBTZWUgdGhlIHBpY3R1cmUgZm9yIG1vcmUgZXhw
bGFuYXRpb25zIG9uIGFsbCB0aGUgZmllbGRzLgogICAtLSAgaW4gQywgdGhpcyBmdW5jdGlvbiB3
b3VsZCBiZSB1c2VkIGZvciBwYXJ0IG9mIGEgc3RyaW5nLCB3aGljaCB5b3UgY2FuCiAgIC0tICBz
aW11bGF0ZSBpbiBBZGEgd2l0aCBhIHN1YnN0cmluZy4KCiAgIHByb2NlZHVyZSBUZXh0X0V4dGVu
dHMgKEZvbnQgICAgICAgIDogaW4gICAgIEdka19Gb250OwogICAgICAgICAgICAgICAgICAgICAg
ICAgICBUZXh0ICAgICAgICA6IGluICAgICBHZGsuVHlwZXMuR2RrX1dTdHJpbmc7CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgIExiZWFyaW5nICAgIDogICAgb3V0IEdpbnQ7CiAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFJiZWFyaW5nICAgIDogICAgb3V0IEdpbnQ7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFdpZHRoICAgICAgIDogICAgb3V0IEdpbnQ7CiAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEFzY2VudCAgICAgIDogICAgb3V0IEdpbnQ7CiAgICAgICAgICAgICAgICAgICAg
ICAgICAgIERlc2NlbnQgICAgIDogICAgb3V0IEdpbnQpOwogICAtLSAgUmV0dXJuIGFsbCB0aGUg
bWV0cmljcyBmb3IgYSBnaXZlbiB3aWRlLWNoYXJhY3RlciBzdHJpbmcuCiAgIC0tICBTZWUgdGhl
IHBpY3R1cmUgZm9yIG1vcmUgZXhwbGFuYXRpb25zIG9uIHRoZSByZXR1cm5lZCB2YWx1ZXMuCgog
ICBmdW5jdGlvbiBTdHJpbmdfSGVpZ2h0IChGb250IDogaW4gR2RrX0ZvbnQ7CiAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFN0ciAgOiBpbiBTdHJpbmcpCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIEdpbnQ7CiAgIC0tICBSZXR1cm4gdGhlIGhlaWdodCBpbiBwaXhlbHMgb2YgdGhl
IHN0cmluZy4KICAgLS0gIFRoaXMgaXMgdGhlIHRvdGFsIGhlaWdodCwgYW5kIHlvdSBjYW4gbm90
IGVhc2lseSB0ZWxsIGhvdyB0aGlzIGhlaWdodAogICAtLSAgaXMgc3BsaXQgYXJvdW5kIHRoZSBi
YXNlbGluZS4KCiAgIGZ1bmN0aW9uIFRleHRfSGVpZ2h0IChGb250IDogaW4gR2RrX0ZvbnQ7CiAg
ICAgICAgICAgICAgICAgICAgICAgICBTdHIgIDogaW4gU3RyaW5nKQogICAgICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gR2ludDsKICAgLS0gIFNhbWUgYXMgU3RyaW5nX0hlaWdodC4KICAgLS0g
IEluIEMsIHRoaXMgZnVuY3Rpb24gaXMgaW50ZW5kZWQgdG8gbWVhc3VyZSBvbmx5IHRoZSB3aWR0
aCBvZiBhIHBhcnQgb2YKICAgLS0gIHRoZSBzdHJpbmcsIGJ1dCB5b3UgY2FuIHNpbXBseSBwYXNz
IGl0IGEgc3Vic3RyaW5nIGluIEFkYS4KICAgLS0gIFRoaXMgaXMgYWxzbyBjYWxsZWQgdGhlIHJp
Z2h0IGJlYXJpbmcgb2YgdGhlIHN0cmluZy4KCiAgIGZ1bmN0aW9uIENoYXJfSGVpZ2h0IChGb250
IDogaW4gR2RrX0ZvbnQ7CiAgICAgICAgICAgICAgICAgICAgICAgICBDaGFyIDogaW4gQ2hhcmFj
dGVyKQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2ludDsKICAgLS0gIFJldHVybiB0
aGUgdG90YWwgaGVpZ2h0IGluIHBpeGVscyBvZiBhIHNpbmdsZSBjaGFyYWN0ZXIuCgoKcHJpdmF0
ZQogICBOdWxsX0ZvbnQgOiBjb25zdGFudCBHZGtfRm9udCA6PSBudWxsOwogICBwcmFnbWEgSW1w
b3J0IChDLCBDaGFyX0hlaWdodCwgImdka19jaGFyX2hlaWdodCIpOwogICBwcmFnbWEgSW1wb3J0
IChDLCBJZCwgImdka19mb250X2lkIik7CiAgIHByYWdtYSBJbXBvcnQgKEMsIFJlZiwgImdka19m
b250X3JlZiIpOwogICBwcmFnbWEgSW1wb3J0IChDLCBVbnJlZiwgImdka19mb250X3VucmVmIik7
CiAgIHByYWdtYSBJbXBvcnQgKEMsIEdldF9Bc2NlbnQsICJhZGFfZ2RrX2ZvbnRfZ2V0X2FzY2Vu
dCIpOwogICBwcmFnbWEgSW1wb3J0IChDLCBHZXRfRGVzY2VudCwgImFkYV9nZGtfZm9udF9nZXRf
ZGVzY2VudCIpOwplbmQgR2RrLkZvbnQ7CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZ25hdGJ1Zy9n
ZGstcmVnaW9uLmFkcwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAxMDA2NDQAMDAwMTc1MQAwMDAwMDAw
ADAwMDAwMDA3NTM0ADA3NTUxMTA3NjMyADAxNDA3MwAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAHNwYXoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAd2hlZWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQotLSAgICAgICAgICBHdGtBZGEgLSBBZGE5NSBiaW5kaW5nIGZvciB0aGUgR2ltcCBUb29s
a2l0ICAgICAgICAgICAgICAtLQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSAgICAgICAgICAgICAgICAgICAg
IENvcHlyaWdodCAoQykgMTk5OC0xOTk5ICAgICAgICAgICAgICAgICAgICAgICAtLQotLSAgICAg
ICAgRW1tYW51ZWwgQnJpb3QsIEpvZWwgQnJvYmVja2VyIGFuZCBBcm5hdWQgQ2hhcmxldCAgICAg
ICAgICAtLQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAtLQotLSBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yICAgICAtLQotLSBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgICAgICAgICAgICAgICAtLQotLSBM
aWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo
ZXIgICAgICAtLQotLSB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uICAtLQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSBUaGlzIGxpYnJhcnkg
aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgICAtLQot
LSBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy
YW50eSBvZiAgICAtLQotLSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVSAtLQotLSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv
ciBtb3JlIGRldGFpbHMuICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAt
LQotLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQ
dWJsaWMgICAgICAgICAtLQotLSBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBu
b3QsIHdyaXRlIHRvIHRoZSAgICAgICAgICAgICAtLQotLSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgICAgICAtLQotLSBCb3N0b24s
IE1BIDAyMTExLTEzMDcsIFVTQS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAtLQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAtLQotLSBBcyBhIHNwZWNpYWwgZXhjZXB0aW9uLCBpZiBvdGhlciBm
aWxlcyBpbnN0YW50aWF0ZSBnZW5lcmljcyBmcm9tICAtLQotLSB0aGlzIHVuaXQsIG9yIHlvdSBs
aW5rIHRoaXMgdW5pdCB3aXRoIG90aGVyIGZpbGVzIHRvIHByb2R1Y2UgYW4gICAtLQotLSBleGVj
dXRhYmxlLCB0aGlzICB1bml0ICBkb2VzIG5vdCAgYnkgaXRzZWxmIGNhdXNlICB0aGUgcmVzdWx0
aW5nICAtLQotLSBleGVjdXRhYmxlIHRvIGJlIGNvdmVyZWQgYnkgdGhlIEdOVSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlLiBUaGlzICAtLQotLSBleGNlcHRpb24gZG9lcyBub3QgaG93ZXZlciBpbnZh
bGlkYXRlIGFueSBvdGhlciByZWFzb25zIHdoeSB0aGUgICAtLQotLSBleGVjdXRhYmxlIGZpbGUg
IG1pZ2h0IGJlIGNvdmVyZWQgYnkgdGhlICBHTlUgUHVibGljIExpY2Vuc2UuICAgICAtLQotLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQoKd2l0aCBHbGliOyB1c2UgR2xpYjsKd2l0aCBHZGsuUmVjdGFuZ2xlOwp3aXRo
IEdkay5UeXBlczsKCnBhY2thZ2UgR2RrLlJlZ2lvbiBpcwoKICAgdHlwZSBHZGtfUmVnaW9uIGlz
IG5ldyBHZGsuQ19Qcm94eTsKICAgTnVsbF9SZWdpb24gOiBjb25zdGFudCBHZGtfUmVnaW9uOwoK
ICAgcHJvY2VkdXJlIEdka19OZXcgKFJlZ2lvbiA6IG91dCBHZGtfUmVnaW9uKTsKCiAgIHByb2Nl
ZHVyZSBEZXN0cm95IChSZWdpb24gOiBpbiBvdXQgR2RrX1JlZ2lvbik7CgogICBwcm9jZWR1cmUg
R2V0X0NsaXBib3gKICAgICAoUmVnaW9uICAgIDogaW4gICAgIEdka19SZWdpb247CiAgICAgIFJl
Y3RhbmdsZSA6ICAgIG91dCBHZGsuUmVjdGFuZ2xlLkdka19SZWN0YW5nbGUpOwoKICAgZnVuY3Rp
b24gRW1wdHkgKFJlZ2lvbiA6IGluIEdka19SZWdpb24pIHJldHVybiBCb29sZWFuOwoKICAgZnVu
Y3Rpb24gIj0iIChMZWZ0LCBSaWdodCA6IGluIEdka19SZWdpb24pIHJldHVybiBCb29sZWFuOwoK
ICAgZnVuY3Rpb24gUG9pbnRfSW4KICAgICAoUmVnaW9uIDogaW4gR2RrX1JlZ2lvbjsKICAgICAg
WCwgWSAgIDogaW4gSW50ZWdlcikgcmV0dXJuIEJvb2xlYW47CgogICBmdW5jdGlvbiBSZWN0X0lu
CiAgICAgKFJlZ2lvbiA6IGluIEdka19SZWdpb247CiAgICAgIFJlY3QgICA6IGluIFJlY3Rhbmds
ZS5HZGtfUmVjdGFuZ2xlKSByZXR1cm4gVHlwZXMuR2RrX092ZXJsYXBfVHlwZTsKCiAgIHByb2Nl
ZHVyZSBQb2x5Z29uCiAgICAgKFJlZ2lvbiA6ICAgIG91dCBHZGtfUmVnaW9uOwogICAgICBQb2lu
dHMgOiBpbiAgICAgR2RrLlR5cGVzLkdka19Qb2ludHNfQXJyYXk7CiAgICAgIEZpbGxfUnVsZSA6
IGluICAgICBUeXBlcy5HZGtfRmlsbF9SdWxlKTsKCiAgIHByb2NlZHVyZSBPZmZzZXQKICAgICAo
UmVnaW9uIDogaW4gR2RrX1JlZ2lvbjsKICAgICAgRHggICAgIDogaW4gR2ludDsKICAgICAgRHkg
ICAgIDogaW4gR2ludCk7CgogICBwcm9jZWR1cmUgU2hyaW5rCiAgICAgKFJlZ2lvbiA6IGluIEdk
a19SZWdpb247CiAgICAgIER4ICAgICA6IGluIEdpbnQ7CiAgICAgIER5ICAgICA6IGluIEdpbnQp
OwoKICAgcHJvY2VkdXJlIFVuaW9uX1dpdGhfUmVjdAogICAgIChSZXN1bHQgOiAgICBvdXQgR2Rr
X1JlZ2lvbjsKICAgICAgUmVnaW9uIDogaW4gICAgIEdka19SZWdpb247CiAgICAgIFJlY3QgICA6
IGluICAgICBSZWN0YW5nbGUuR2RrX1JlY3RhbmdsZSk7CgogICBwcm9jZWR1cmUgSW50ZXJzZWN0
CiAgICAgKFJlc3VsdCAgOiAgICBvdXQgR2RrX1JlZ2lvbjsKICAgICAgU291cmNlMSA6IGluICAg
ICBHZGtfUmVnaW9uOwogICAgICBTb3VyY2UyIDogaW4gICAgIEdka19SZWdpb24pOwoKICAgcHJv
Y2VkdXJlIFVuaW9uCiAgICAgKFJlc3VsdCAgOiAgICAgb3V0IEdka19SZWdpb247CiAgICAgIFNv
dXJjZTEgOiBpbiAgICAgIEdka19SZWdpb247CiAgICAgIFNvdXJjZTIgOiBpbiAgICAgIEdka19S
ZWdpb24pOwoKICAgcHJvY2VkdXJlIFN1YnN0cmFjdAogICAgIChSZXN1bHQgIDogICAgIG91dCBH
ZGtfUmVnaW9uOwogICAgICBTb3VyY2UxIDogaW4gICAgICBHZGtfUmVnaW9uOwogICAgICBTb3Vy
Y2UyIDogaW4gICAgICBHZGtfUmVnaW9uKTsKCiAgIHByb2NlZHVyZSBHZGtfWG9yCiAgICAgKFJl
c3VsdCAgOiAgICAgb3V0IEdka19SZWdpb247CiAgICAgIFNvdXJjZTEgOiBpbiAgICAgIEdka19S
ZWdpb247CiAgICAgIFNvdXJjZTIgOiBpbiAgICAgIEdka19SZWdpb24pOwoKcHJpdmF0ZQogICBO
dWxsX1JlZ2lvbiA6IGNvbnN0YW50IEdka19SZWdpb24gOj0gbnVsbDsKICAgcHJhZ21hIEltcG9y
dCAoQywgT2Zmc2V0LCAiZ2RrX3JlZ2lvbl9vZmZzZXQiKTsKICAgcHJhZ21hIEltcG9ydCAoQywg
U2hyaW5rLCAiZ2RrX3JlZ2lvbl9zaHJpbmsiKTsKZW5kIEdkay5SZWdpb247CgAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZ25hdGJ1Zy9nZGstcGl4bWFw
LmFkcwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAxMDA2NDQAMDAwMTc1MQAwMDAwMDAwADAwMDAwMDIx
MDcyADA3NTUxMTA3NjMyADAxNDA3NwAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAB1c3RhciAgAHNwYXoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAd2hlZWwA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotLSAg
ICAgICAgICBHdGtBZGEgLSBBZGE5NSBiaW5kaW5nIGZvciB0aGUgR2ltcCBUb29sa2l0ICAgICAg
ICAgICAgICAtLQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAtLQotLSAgICAgICAgICAgICAgICAgICAgIENvcHlyaWdo
dCAoQykgMTk5OC0yMDAwICAgICAgICAgICAgICAgICAgICAgICAtLQotLSAgICAgICAgRW1tYW51
ZWwgQnJpb3QsIEpvZWwgQnJvYmVja2VyIGFuZCBBcm5hdWQgQ2hhcmxldCAgICAgICAgICAtLQot
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAtLQotLSBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yICAgICAtLQotLSBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgICAgICAgICAgICAgICAtLQotLSBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgICAgICAt
LQotLSB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uICAtLQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSBUaGlzIGxpYnJhcnkgaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgICAtLQotLSBidXQgV0lU
SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiAg
ICAtLQotLSBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UuICBTZWUgdGhlIEdOVSAtLQotLSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl
dGFpbHMuICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgICAg
ICAgICAtLQotLSBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRl
IHRvIHRoZSAgICAgICAgICAgICAtLQotLSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4s
IDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgICAgICAtLQotLSBCb3N0b24sIE1BIDAyMTEx
LTEzMDcsIFVTQS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAtLQotLSBBcyBhIHNwZWNpYWwgZXhjZXB0aW9uLCBpZiBvdGhlciBmaWxlcyBpbnN0
YW50aWF0ZSBnZW5lcmljcyBmcm9tICAtLQotLSB0aGlzIHVuaXQsIG9yIHlvdSBsaW5rIHRoaXMg
dW5pdCB3aXRoIG90aGVyIGZpbGVzIHRvIHByb2R1Y2UgYW4gICAtLQotLSBleGVjdXRhYmxlLCB0
aGlzICB1bml0ICBkb2VzIG5vdCAgYnkgaXRzZWxmIGNhdXNlICB0aGUgcmVzdWx0aW5nICAtLQot
LSBleGVjdXRhYmxlIHRvIGJlIGNvdmVyZWQgYnkgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlLiBUaGlzICAtLQotLSBleGNlcHRpb24gZG9lcyBub3QgaG93ZXZlciBpbnZhbGlkYXRlIGFu
eSBvdGhlciByZWFzb25zIHdoeSB0aGUgICAtLQotLSBleGVjdXRhYmxlIGZpbGUgIG1pZ2h0IGJl
IGNvdmVyZWQgYnkgdGhlICBHTlUgUHVibGljIExpY2Vuc2UuICAgICAtLQotLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQoKLS0gIDxkZXNjcmlwdGlvbj4KLS0KLS0gIFBpeG1hcHMgYXJlIG9mZi1zY3JlZW4gZHJhd2Fi
bGVzLiBUaGV5IGNhbiBiZSBkcmF3biB1cG9uIHdpdGggdGhlIHN0YW5kYXJkCi0tICBkcmF3aW5n
IHByaW1pdGl2ZXMsIHRoZW4gY29waWVkIHRvIGFub3RoZXIgZHJhd2FibGUgKHN1Y2ggYXMgYSBH
ZGtfV2luZG93KQotLSAgd2l0aCBHZGsuUGl4bWFwLkRyYXcuIFRoZSBkZXB0aCBvZiBhIHBpeG1h
cCBpcyB0aGUgbnVtYmVyIG9mIGJpdHMgcGVyCi0tICBwaXhlbHMuIEJpdG1hcHMgYXJlIHNpbXBs
eSBwaXhtYXBzIHdpdGggYSBkZXB0aCBvZiAxLiAoVGhhdCBpcywgdGhleSBhcmUKLS0gIG1vbm9j
aHJvbWUgYml0bWFwcyAtIGVhY2ggcGl4ZWwgY2FuIGJlIGVpdGhlciBvbiBvciBvZmYpLgotLSAg
QHB4cmVme1BhY2thZ2VfR2RrLkJpdG1hcH0gZm9yIG1vcmUgZGV0YWlscyBvbiBiaXRtYXAgaGFu
ZGxpbmcuCi0tCi0tICA8L2Rlc2NyaXB0aW9uPgotLSAgPGNfdmVyc2lvbj4xLjIuNzwvY192ZXJz
aW9uPgoKd2l0aCBHbGliOyB1c2UgR2xpYjsKd2l0aCBHZGsuQml0bWFwOwp3aXRoIEdkay5Db2xv
cjsKd2l0aCBHZGsuV2luZG93Owp3aXRoIEd0a2FkYS5UeXBlczsKCnBhY2thZ2UgR2RrLlBpeG1h
cCBpcwoKICAgc3VidHlwZSBHZGtfUGl4bWFwIGlzIEdkay5HZGtfUGl4bWFwOwogICAtLSAgQSBz
ZXJ2ZXItc2lkZSBpbWFnZS4KICAgLS0gIFlvdSBjYW4gY3JlYXRlIGFuIGVtcHR5IHBpeG1hcCwg
b3IgbG9hZCBpZiBmcm9tIGV4dGVybmFsIGZpbGVzIGluCiAgIC0tICBiaXRtYXAgYW5kIHBpeG1h
cCBmb3JtYXQuIFNlZSBHZGsuUGl4YnVmIGlmIHlvdSBuZWVkIHRvIGxvYWQKICAgLS0gIGltYWdl
cyBpbiBvdGhlciBmb3JtYXRzLgoKICAgTnVsbF9QaXhtYXAgOiBjb25zdGFudCBHZGtfUGl4bWFw
OwoKICAgcHJvY2VkdXJlIEdka19OZXcgKFBpeG1hcCA6ICAgIG91dCBHZGtfUGl4bWFwOwogICAg
ICAgICAgICAgICAgICAgICAgV2luZG93IDogaW4gICAgIEdkay5XaW5kb3cuR2RrX1dpbmRvdzsK
ICAgICAgICAgICAgICAgICAgICAgIFdpZHRoICA6IGluICAgICBHaW50OwogICAgICAgICAgICAg
ICAgICAgICAgSGVpZ2h0IDogaW4gICAgIEdpbnQ7CiAgICAgICAgICAgICAgICAgICAgICBEZXB0
aCAgOiBpbiAgICAgR2ludCA6PSAtMSk7CiAgIC0tICBDcmVhdGUgYSBuZXcgcGl4bWFwIHdpdGgg
YSBnaXZlbiBzaXplLgogICAtLSAgV2luZG93IGlzIHVzZWQgdG8gZGV0ZXJtaW5lIGRlZmF1bHQg
dmFsdWVzIGZvciB0aGUgbmV3IHBpeG1hcC4KICAgLS0gIENhbiBiZSBldmVudHVhbGx5IG51bGwu
CiAgIC0tICBXaWR0aCBpcyB0aGUgd2lkdGggb2YgdGhlIG5ldyBwaXhtYXAgaW4gcGl4ZWxzLgog
ICAtLSAgSGVpZ2h0IGlzIHRoZSBoZWlnaHQgb2YgdGhlIG5ldyBwaXhtYXAgaW4gcGl4ZWxzLgog
ICAtLSAgRGVwdGggaXMgdGhlIGRlcHRoIChudW1iZXIgb2YgYml0cyBwZXIgcGl4ZWwpIG9mIHRo
ZSBuZXcgcGl4bWFwLgogICAtLSAgSWYgLTEsIGFuZCB3aW5kb3cgaXMgbm90IG51bGwsIHRoZSBk
ZXB0aCBvZiB0aGUgbmV3IHBpeG1hcCB3aWxsIGJlCiAgIC0tICBlcXVhbCB0byB0aGF0IG9mIHdp
bmRvdy4KICAgLS0gIEF1dG9tYXRpY2FsbHkgcmVmZXJlbmNlIHRoZSBwaXhtYXAgb25jZS4KCiAg
IHByb2NlZHVyZSBSZWYgKFBpeG1hcCA6IGluIEdka19QaXhtYXApOwogICAtLSAgQWRkIGEgcmVm
ZXJlbmNlIHRvIGEgcGl4bWFwLgoKICAgcHJvY2VkdXJlIFVucmVmIChQaXhtYXAgOiBpbiBHZGtf
UGl4bWFwKTsKICAgLS0gIFRoaXMgaXMgdGhlIHVzdWFsIHdheSB0byBkZXN0cm95IGEgcGl4bWFw
LiBUaGUgbWVtb3J5IGlzIGZyZWVkIHdoZW4KICAgLS0gIHRoZXJlIGlzIG5vIG1vcmUgcmVmZXJl
bmNlCgogICBwcm9jZWR1cmUgQ3JlYXRlX0Zyb21fRGF0YSAoUGl4bWFwIDogICAgb3V0IEdka19Q
aXhtYXA7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXaW5kb3cgOiBpbiAgICAgR2Rr
LldpbmRvdy5HZGtfV2luZG93OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGF0YSAg
IDogaW4gICAgIFN0cmluZzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdpZHRoICA6
IGluICAgICBHaW50OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSGVpZ2h0IDogaW4g
ICAgIEdpbnQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXB0aCAgOiBpbiAgICAg
R2ludDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZnICAgICA6IGluICAgICBDb2xv
ci5HZGtfQ29sb3I7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCZyAgICAgOiBpbiAg
ICAgQ29sb3IuR2RrX0NvbG9yKTsKICAgLS0gIENyZWF0ZSBhIHBpeG1hcCBmcm9tIGRhdGEgaW4g
WEJNIGZvcm1hdC4KICAgLS0gIFdpbmRvdyBpcyB1c2VkIHRvIGRldGVybWluZSBkZWZhdWx0IHZh
bHVlcyBmb3IgdGhlIG5ldyBiaXRtYXAsIGNhbiBiZQogICAtLSAgbnVsbCBpbiB3aGljaCBjYXNl
IHRoZSByb290IHdpbmRvdyBpcyB1c2VkLgogICAtLSAgRGF0YSBpcyB0aGUgWEJNIGRhdGEuCiAg
IC0tICBXaWR0aCBpcyB0aGUgd2lkdGggb2YgdGhlIG5ldyBiaXRtYXAgaW4gcGl4ZWxzLgogICAt
LSAgSGVpZ2h0IGlzIHRoZSBoZWlnaHQgb2YgdGhlIG5ldyBiaXRtYXAgaW4gcGl4ZWxzLgogICAt
LSAgRGVwdGggaXMgdGhlIGRlcHRoIChudW1iZXIgb2YgYml0cyBwZXIgcGl4ZWwpIG9mIHRoZSBu
ZXcgcGl4bWFwLgogICAtLSAgRmcgaXMgdGhlIGZvcmVncm91bmQgY29sb3IuCiAgIC0tICBCZyBp
cyB0aGUgYmFja2dyb3VuZCBjb2xvci4KCiAgIHByb2NlZHVyZSBDcmVhdGVfRnJvbV9YcG0gKFBp
eG1hcCAgICAgIDogICAgb3V0IEdka19QaXhtYXA7CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFdpbmRvdyAgICAgIDogaW4gICAgIEdkay5XaW5kb3cuR2RrX1dpbmRvdzsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgTWFzayAgICAgICAgOiBpbiBvdXQgR2RrLkJpdG1hcC5HZGtf
Qml0bWFwOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcmFuc3BhcmVudCA6IGluICAg
ICBHZGsuQ29sb3IuR2RrX0NvbG9yOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWxl
bmFtZSAgICA6IGluICAgICBTdHJpbmcpOwogICAtLSAgQ3JlYXRlIGEgcGl4bWFwIGZyb20gYSBY
UE0gZmlsZS4KICAgLS0gIFdpbmRvdyBpcyB1c2VkIHRvIGRldGVybWluZSBkZWZhdWx0IHZhbHVl
cyBmb3IgdGhlIG5ldyBwaXhtYXAuCiAgIC0tICBNYXNrIGlzIGEgcG9pbnRlciB0byBhIHBsYWNl
IHRvIHN0b3JlIGEgYml0bWFwIHJlcHJlc2VudGluZyB0aGUKICAgLS0gIHRyYW5zcGFyZW5jeSBt
YXNrIG9mIHRoZSBYUE0gZmlsZS4gQ2FuIGJlIG51bGwsIGluIHdoaWNoIGNhc2UKICAgLS0gIHRy
YW5zcGFyZW5jeSB3aWxsIGJlIGlnbm9yZWQuCiAgIC0tICBUcmFuc3BhcmVudCBpcyB0aGUgY29s
b3IgdG8gYmUgdXNlZCBmb3IgdGhlIHBpeGVscyB0aGF0IGFyZSB0cmFuc3BhcmVudAogICAtLSAg
aW4gdGhlIGlucHV0IGZpbGUuIENhbiBiZSBudWxsLCBpbiB3aGljaCBjYXNlIGEgZGVmYXVsdCBj
b2xvciB3aWxsIGJlCiAgIC0tICB1c2VkLgogICAtLSAgRmlsZW5hbWUgaXMgdGhlIGZpbGVuYW1l
IG9mIGEgZmlsZSBjb250YWluaW5nIFhQTSBkYXRhLgoKICAgcHJvY2VkdXJlIENyZWF0ZV9Gcm9t
X1hwbSAoUGl4bWFwICAgICAgOiAgICBvdXQgR2RrX1BpeG1hcDsKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgV2luZG93ICAgICAgOiBpbiAgICAgR2RrLldpbmRvdy5HZGtfV2luZG93Owog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb2xvcm1hcCAgICA6IGluICAgICBHZGsuQ29s
b3IuR2RrX0NvbG9ybWFwOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXNrICAgICAg
ICA6IGluIG91dCBHZGsuQml0bWFwLkdka19CaXRtYXA7CiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFRyYW5zcGFyZW50IDogaW4gICAgIEdkay5Db2xvci5HZGtfQ29sb3I7CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEZpbGVuYW1lICAgIDogaW4gICAgIFN0cmluZyk7CiAgIC0t
ICBDcmVhdGUgYSBwaXhtYXAgZnJvbSBhIFhQTSBmaWxlIHVzaW5nIGEgcGFydGljdWxhciBjb2xv
cm1hcC4KICAgLS0gIFdpbmRvdyBpcyB1c2VkIHRvIGRldGVybWluZSBkZWZhdWx0IHZhbHVlcyBm
b3IgdGhlIG5ldyBwaXhtYXAuIENhbiBiZQogICAtLSAgbnVsbCBpZiBjb2xvcm1hcCBpcyBnaXZl
bi4KICAgLS0gIENvbG9ybWFwIGlzIHRoZSBHZGtfQ29sb3JtYXAgdGhhdCB0aGUgbmV3IHBpeG1h
cCB3aWxsIHVzZS4gSWYgb21pdHRlZCwKICAgLS0gIHRoZSBjb2xvcm1hcCBmb3Igd2luZG93IHdp
bGwgYmUgdXNlZC4KICAgLS0gIE1hc2sgaXMgYSBwb2ludGVyIHRvIGEgcGxhY2UgdG8gc3RvcmUg
YSBiaXRtYXAgcmVwcmVzZW50aW5nIHRoZQogICAtLSAgdHJhbnNwYXJlbmN5IG1hc2sgb2YgdGhl
IFhQTSBmaWxlLiBDYW4gYmUgbnVsbCwgaW4gd2hpY2ggY2FzZQogICAtLSAgdHJhbnNwYXJlbmN5
IHdpbGwgYmUgaWdub3JlZC4KICAgLS0gIFRyYW5zcGFyZW50IGlzIHRoZSBjb2xvciB0byBiZSB1
c2VkIGZvciB0aGUgcGl4ZWxzIHRoYXQgYXJlIHRyYW5zcGFyZW50CiAgIC0tICBpbiB0aGUgaW5w
dXQgZmlsZS4gQ2FuIGJlIG51bGwsIGluIHdoaWNoIGNhc2UgYSBkZWZhdWx0IGNvbG9yIHdpbGwg
YmUKICAgLS0gIHVzZWQuCiAgIC0tICBGaWxlbmFtZSBpcyB0aGUgZmlsZW5hbWUgb2YgYSBmaWxl
IGNvbnRhaW5pbmcgWFBNIGRhdGEuCgogICBwcm9jZWR1cmUgQ3JlYXRlX0Zyb21fWHBtX0QKICAg
ICAoUGl4bWFwICAgICAgOiAgICBvdXQgR2RrX1BpeG1hcDsKICAgICAgV2luZG93ICAgICAgOiBp
biAgICAgR2RrLldpbmRvdy5HZGtfV2luZG93OwogICAgICBNYXNrICAgICAgICA6IGluIG91dCBH
ZGsuQml0bWFwLkdka19CaXRtYXA7CiAgICAgIFRyYW5zcGFyZW50IDogaW4gICAgIEdkay5Db2xv
ci5HZGtfQ29sb3I7CiAgICAgIERhdGEgICAgICAgIDogaW4gICAgIEd0a2FkYS5UeXBlcy5DaGFy
c19QdHJfQXJyYXkpOwogICAtLSAgQ3JlYXRlIGEgcGl4bWFwIGZyb20gZGF0YSBpbiBYUE0gZm9y
bWF0LgogICAtLSAgV2luZG93IGlzIHVzZWQgdG8gZGV0ZXJtaW5lIGRlZmF1bHQgdmFsdWVzIGZv
ciB0aGUgbmV3IHBpeG1hcC4KICAgLS0gIE1hc2sgaXMgYSBwb2ludGVyIHRvIGEgcGxhY2UgdG8g
c3RvcmUgYSBiaXRtYXAgcmVwcmVzZW50aW5nIHRoZQogICAtLSAgdHJhbnNwYXJlbmN5IG1hc2sg
b2YgdGhlIFhQTSBmaWxlLiBDYW4gYmUgbnVsbCwgaW4gd2hpY2ggY2FzZQogICAtLSAgdHJhbnNw
YXJlbmN5IHdpbGwgYmUgaWdub3JlZC4KICAgLS0gIFRyYW5zcGFyZW50IHdpbGwgYmUgdXNlZCBm
b3IgdGhlIHBpeGVscyB0aGF0IGFyZSB0cmFuc3BhcmVudCBpbiB0aGUKICAgLS0gIGlucHV0IGZp
bGUuIENhbiBiZSBudWxsIGluIHdoaWNoIGNhc2UgYSBkZWZhdWx0IGNvbG9yIHdpbGwgYmUgdXNl
ZC4KICAgLS0gIERhdGEgaXMgYSBwb2ludGVyIHRvIGEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIFhQ
TSBkYXRhLgoKICAgcHJvY2VkdXJlIENyZWF0ZV9Gcm9tX1hwbV9ECiAgICAgKFBpeG1hcCAgICAg
IDogICAgb3V0IEdka19QaXhtYXA7CiAgICAgIFdpbmRvdyAgICAgIDogaW4gICAgIEdkay5XaW5k
b3cuR2RrX1dpbmRvdzsKICAgICAgQ29sb3JtYXAgICAgOiBpbiAgICAgR2RrLkNvbG9yLkdka19D
b2xvcm1hcDsKICAgICAgTWFzayAgICAgICAgOiBpbiBvdXQgR2RrLkJpdG1hcC5HZGtfQml0bWFw
OwogICAgICBUcmFuc3BhcmVudCA6IGluICAgICBHZGsuQ29sb3IuR2RrX0NvbG9yOwogICAgICBE
YXRhICAgICAgICA6IGluICAgICBHdGthZGEuVHlwZXMuQ2hhcnNfUHRyX0FycmF5KTsKICAgLS0g
IENyZWF0ZSBhIHBpeG1hcCBmcm9tIGRhdGEgaW4gWFBNIGZvcm1hdCB1c2luZyBhIHBhcnRpY3Vs
YXIgY29sb3JtYXAuCiAgIC0tICBXaW5kb3cgaXMgdXNlZCB0byBkZXRlcm1pbmUgZGVmYXVsdCB2
YWx1ZXMgZm9yIHRoZSBuZXcgcGl4bWFwLgogICAtLSAgQ29sb3JtYXAgaXMgdGhlIEdka19Db2xv
cm1hcCB0aGF0IHRoZSBuZXcgcGl4bWFwIHdpbGwgYmUgdXNlLiBJZgogICAtLSAgb21pdHRlZCwg
dGhlIGNvbG9ybWFwIGZvciB3aW5kb3cgd2lsbCBiZSB1c2VkLgogICAtLSAgTWFzayBpcyBhIHBv
aW50ZXIgdG8gYSBwbGFjZSB0byBzdG9yZSBhIGJpdG1hcCByZXByZXNlbnRpbmcgdGhlCiAgIC0t
ICB0cmFuc3BhcmVuY3kgbWFzayBvZiB0aGUgWFBNIGZpbGUuIENhbiBiZSBudWxsLCBpbiB3aGlj
aCBjYXNlCiAgIC0tICB0cmFuc3BhcmVuY3kgd2lsbCBiZSBpZ25vcmVkLgogICAtLSAgVHJhbnNw
YXJlbnQgd2lsbCBiZSB1c2VkIGZvciB0aGUgcGl4ZWxzIHRoYXQgYXJlIHRyYW5zcGFyZW50IGlu
IHRoZQogICAtLSAgaW5wdXQgZmlsZS4gQ2FuIGJlIG51bGwgaW4gd2hpY2ggY2FzZSBhIGRlZmF1
bHQgY29sb3Igd2lsbCBiZSB1c2VkLgogICAtLSAgRGF0YSBpcyBhIHBvaW50ZXIgdG8gYSBzdHJp
bmcgY29udGFpbmluZyB0aGUgWFBNIGRhdGEuCgpwcml2YXRlCiAgIE51bGxfUGl4bWFwIDogY29u
c3RhbnQgR2RrX1BpeG1hcCA6PSBudWxsOwogICBwcmFnbWEgSW1wb3J0IChDLCBSZWYsICJnZGtf
cGl4bWFwX3JlZiIpOwogICBwcmFnbWEgSW1wb3J0IChDLCBVbnJlZiwgImdka19waXhtYXBfdW5y
ZWYiKTsKZW5kIEdkay5QaXhtYXA7CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAABnbmF0YnVnL2dsaWItZ3NsaXN0LmFkcwAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAMDEwMDY0NAAwMDAxNzUxADAwMDAwMDAAMDAwMDAwMTE3NTAAMDc1NTExMDc2MzIAMDE0
MjYwACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAA
c3BhegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3aGVlbAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0tICAgICAgICAgIEd0a0FkYSAtIEFk
YTk1IGJpbmRpbmcgZm9yIHRoZSBHaW1wIFRvb2xraXQgICAgICAgICAgICAgIC0tCi0tICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC0tCi0tICAgICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0IChDKSAxOTk4LTIwMDAgICAg
ICAgICAgICAgICAgICAgICAgIC0tCi0tICAgICAgICBFbW1hbnVlbCBCcmlvdCwgSm9lbCBCcm9i
ZWNrZXIgYW5kIEFybmF1ZCBDaGFybGV0ICAgICAgICAgIC0tCi0tICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IgICAgIC0tCi0tIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFs
IFB1YmxpYyAgICAgICAgICAgICAgIC0tCi0tIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciAgICAgIC0tCi0tIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4gIC0tCi0t
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC0tCi0tIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCAgIC0tCi0tIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mICAgIC0tCi0tIE1FUkNIQU5UQUJJ
TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VIC0t
Ci0tIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4gICAgICAgICAgICAg
ICAgICAgICAgICAgIC0tCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl
ZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyAgICAgICAgIC0tCi0tIExpY2Vuc2Ug
YWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlICAgICAgICAgICAg
IC0tCi0tIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0g
U3VpdGUgMzMwLCAgICAgIC0tCi0tIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tCi0tIEFzIGEg
c3BlY2lhbCBleGNlcHRpb24sIGlmIG90aGVyIGZpbGVzIGluc3RhbnRpYXRlIGdlbmVyaWNzIGZy
b20gIC0tCi0tIHRoaXMgdW5pdCwgb3IgeW91IGxpbmsgdGhpcyB1bml0IHdpdGggb3RoZXIgZmls
ZXMgdG8gcHJvZHVjZSBhbiAgIC0tCi0tIGV4ZWN1dGFibGUsIHRoaXMgIHVuaXQgIGRvZXMgbm90
ICBieSBpdHNlbGYgY2F1c2UgIHRoZSByZXN1bHRpbmcgIC0tCi0tIGV4ZWN1dGFibGUgdG8gYmUg
Y292ZXJlZCBieSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuIFRoaXMgIC0tCi0tIGV4
Y2VwdGlvbiBkb2VzIG5vdCBob3dldmVyIGludmFsaWRhdGUgYW55IG90aGVyIHJlYXNvbnMgd2h5
IHRoZSAgIC0tCi0tIGV4ZWN1dGFibGUgZmlsZSAgbWlnaHQgYmUgY292ZXJlZCBieSB0aGUgIEdO
VSBQdWJsaWMgTGljZW5zZS4gICAgIC0tCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotLSAgPGRlc2NyaXB0aW9u
PgotLQotLSAgVGhpcyBwYWNrYWdlcyBwcm92aWRlcyB0aGUgaW1wbGVtZW50YXRpb24gb2YgYSBn
ZW5lcmljIHNpbmdsZS1saW5rZWQKLS0gIGxpc3QuCi0tICBPbmUgaW5zdGFudGlhdGlvbiBpcyBm
b3VuZCBpbiBHdGsuV2lkZ2V0LldpZGdldF9TbGlzdCBmb3IgYSBsaXN0IG9mCi0tICB3aWRnZXRz
LgotLQotLSAgU2VlIHRoZSBkb2N1bWVudGF0aW9uIG9mIEdsaWIuR2xpc3QgZm9yIG1vcmUgaW5m
b3JtYXRpb24sIGl0IHByb3ZpZGVzCi0tICB0aGUgc2FtZSBBUEkgYXMgdGhpcyBwYWNrYWdlLgot
LSAgU2luZ2xlIGxpbmtlZCBsaXN0cyBhcmUgdHJhdmVyc2VkIHRoZSBzYW1lIHdheSBhcyBkb3Vi
bGUtbGlua2VkIGxpc3RzLAotLSAgZXZlbiB0aG91Z2ggbW9zdCBzdWJwcm9ncmFtcyBhcmUgbGVz
cyBlZmZpY2llbnQgdGhhbiB0aGVpcgotLSAgZG91YmxlLWxpbmtlZCBjb3VudGVycGFydHMuCi0t
Ci0tICA8L2Rlc2NyaXB0aW9uPgotLSAgPGNfdmVyc2lvbj4xLjIuNjwvY192ZXJzaW9uPgoKd2l0
aCBTeXN0ZW07CgpwYWNrYWdlIEdsaWIuR1NsaXN0IGlzCgogICAtLSAgPGRvY19pZ25vcmU+Cgog
ICBnZW5lcmljCiAgICAgIHR5cGUgR3BvaW50ZXIgKDw+KSBpcyBwcml2YXRlOwogICAgICB3aXRo
IGZ1bmN0aW9uIENvbnZlcnQgKFAgOiBHcG9pbnRlcikgcmV0dXJuIFN5c3RlbS5BZGRyZXNzIGlz
IDw+OwogICAgICB3aXRoIGZ1bmN0aW9uIENvbnZlcnQgKFMgOiBTeXN0ZW0uQWRkcmVzcykgcmV0
dXJuIEdwb2ludGVyIGlzIDw+OwogICBwYWNrYWdlIEdlbmVyaWNfU0xpc3QgaXMKCiAgICAgIHR5
cGUgR1NsaXN0IGlzIHByaXZhdGU7CiAgICAgIE51bGxfTGlzdCA6IGNvbnN0YW50IEdTbGlzdDsK
CiAgICAgIHByb2NlZHVyZSBBbGxvYyAoTGlzdCA6IG91dCBHU2xpc3QpOwogICAgICBwcm9jZWR1
cmUgQXBwZW5kIChMaXN0IDogaW4gb3V0IEdTbGlzdDsKICAgICAgICAgICAgICAgICAgICAgICAg
RGF0YSA6IGluIEdwb2ludGVyKTsKICAgICAgZnVuY3Rpb24gQ29uY2F0IChMaXN0MSA6IGluIEdT
bGlzdDsKICAgICAgICAgICAgICAgICAgICAgICBMaXN0MiA6IGluIEdTbGlzdCkKICAgICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gR1NsaXN0OwogICAgICBwcm9jZWR1cmUgSW5zZXJ0IChMaXN0
IDogaW4gb3V0IEdTbGlzdDsKICAgICAgICAgICAgICAgICAgICAgICAgRGF0YSA6IGluIEdwb2lu
dGVyOwogICAgICAgICAgICAgICAgICAgICAgICBQb3NpdGlvbiA6IGluIEdpbnQpOwogICAgICBm
dW5jdGlvbiBGaW5kIChMaXN0IDogaW4gR1NsaXN0OwogICAgICAgICAgICAgICAgICAgICBEYXRh
IDogaW4gR3BvaW50ZXIpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHU2xpc3Q7CiAgICAg
IHByb2NlZHVyZSBGcmVlIChMaXN0IDogaW4gb3V0IEdTbGlzdCk7CiAgICAgIGZ1bmN0aW9uIEdl
dF9EYXRhIChMaXN0IDogaW4gR1NsaXN0KQogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IEdwb2ludGVyOwogICAgICBmdW5jdGlvbiBJbmRleCAoTGlzdCA6IGluIEdTbGlzdDsKICAgICAg
ICAgICAgICAgICAgICAgIERhdGEgOiBpbiBHcG9pbnRlcikKICAgICAgICAgICAgICAgICAgICAg
IHJldHVybiBHaW50OwogICAgICBmdW5jdGlvbiBMYXN0IChMaXN0IDogaW4gR1NsaXN0KQogICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gR1NsaXN0OwogICAgICBmdW5jdGlvbiBMZW5ndGggKExp
c3QgOiBpbiBHU2xpc3QpCiAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEd1aW50OwogICAg
ICBwcm9jZWR1cmUgTGlzdF9SZXZlcnNlIChMaXN0IDogaW4gb3V0IEdTbGlzdCk7CiAgICAgIGZ1
bmN0aW9uIE5leHQgKExpc3QgOiBpbiBHU2xpc3QpCiAgICAgICAgICAgICAgICAgICAgIHJldHVy
biBHU2xpc3Q7CiAgICAgIGZ1bmN0aW9uIE50aCAoTGlzdCA6IGluIEdTbGlzdDsKICAgICAgICAg
ICAgICAgICAgICBOICAgIDogaW4gR3VpbnQpCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdT
bGlzdDsKICAgICAgZnVuY3Rpb24gTnRoX0RhdGEgKExpc3QgOiBpbiBHU2xpc3Q7CiAgICAgICAg
ICAgICAgICAgICAgICAgICBOIDogaW4gR3VpbnQpCiAgICAgICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gR3BvaW50ZXI7CiAgICAgIGZ1bmN0aW9uIFBvc2l0aW9uIChMaXN0IDogaW4gR1NsaXN0
OwogICAgICAgICAgICAgICAgICAgICAgICAgTGluayA6IGluIEdTbGlzdCkKICAgICAgICAgICAg
ICAgICAgICAgICAgIHJldHVybiBHaW50OwogICAgICBwcm9jZWR1cmUgUHJlcGVuZCAoTGlzdCA6
IGluIG91dCBHU2xpc3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICBEYXRhIDogaW4gR3BvaW50
ZXIpOwogICAgICBwcm9jZWR1cmUgUmVtb3ZlIChMaXN0IDogaW4gb3V0IEdTbGlzdDsKICAgICAg
ICAgICAgICAgICAgICAgICAgRGF0YSA6IGluIEdwb2ludGVyKTsKICAgICAgcHJvY2VkdXJlIFJl
bW92ZV9MaW5rIChMaXN0IDogaW4gb3V0IEdTbGlzdDsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBMaW5rIDogaW4gR1NsaXN0KTsKICAgICAgZnVuY3Rpb24gR2V0X09iamVjdCAoT2JqIDog
aW4gR1NsaXN0KQogICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gU3lzdGVtLkFkZHJl
c3M7CiAgICAgIHByYWdtYSBJbmxpbmUgKEdldF9PYmplY3QpOwogICAgICBwcm9jZWR1cmUgU2V0
X09iamVjdCAoT2JqICAgIDogaW4gb3V0IEdTbGlzdDsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFZhbHVlICA6IGluICAgICBTeXN0ZW0uQWRkcmVzcyk7CiAgICAgIHByYWdtYSBJbmxpbmUg
KFNldF9PYmplY3QpOwogICBwcml2YXRlCgogICAgICB0eXBlIEdTbGlzdCBpcwogICAgICAgICBy
ZWNvcmQKICAgICAgICAgICAgUHRyIDogU3lzdGVtLkFkZHJlc3MgOj0gU3lzdGVtLk51bGxfQWRk
cmVzczsKICAgICAgICAgZW5kIHJlY29yZDsKICAgICAgTnVsbF9MaXN0IDogY29uc3RhbnQgR1Ns
aXN0IDo9IChQdHIgPT4gU3lzdGVtLk51bGxfQWRkcmVzcyk7CiAgIGVuZCBHZW5lcmljX1NMaXN0
OwoKICAgLS0gIDwvZG9jX2lnbm9yZT4KCmVuZCBHbGliLkdTbGlzdDsKAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAZ25hdGJ1Zy9nbGliLWdsaXN0LmFkYgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAxMDA2
NDQAMDAwMTc1MQAwMDAwMDAwADAwMDAwMDMwMDUwADA3NTUxMTA3NjMyADAxNDA0NgAgMAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAHNwYXoAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAd2hlZWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotLSAgICAgICAgICBHdGtBZGEgLSBBZGE5NSBiaW5kaW5n
IGZvciB0aGUgR2ltcCBUb29sa2l0ICAgICAgICAgICAgICAtLQotLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSAg
ICAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAoQykgMTk5OC0yMDAwICAgICAgICAgICAgICAg
ICAgICAgICAtLQotLSAgICAgICAgRW1tYW51ZWwgQnJpb3QsIEpvZWwgQnJvYmVja2VyIGFuZCBB
cm5hdWQgQ2hhcmxldCAgICAgICAgICAtLQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yICAgICAtLQot
LSBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgICAg
ICAgICAgICAgICAtLQotLSBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uOyBlaXRoZXIgICAgICAtLQotLSB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2Us
IG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uICAtLQotLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAt
LQotLSBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs
IGJlIHVzZWZ1bCwgICAtLQotLSBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl
biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiAgICAtLQotLSBNRVJDSEFOVEFCSUxJVFkgb3IgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVSAtLQotLSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuICAgICAgICAgICAgICAgICAgICAgICAg
ICAtLQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAtLQotLSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m
IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgICAgICAgICAtLQotLSBMaWNlbnNlIGFsb25nIHdpdGgg
dGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSAgICAgICAgICAgICAtLQotLSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwg
ICAgICAtLQotLSBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAtLQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLQotLSBBcyBhIHNwZWNpYWwgZXhj
ZXB0aW9uLCBpZiBvdGhlciBmaWxlcyBpbnN0YW50aWF0ZSBnZW5lcmljcyBmcm9tICAtLQotLSB0
aGlzIHVuaXQsIG9yIHlvdSBsaW5rIHRoaXMgdW5pdCB3aXRoIG90aGVyIGZpbGVzIHRvIHByb2R1
Y2UgYW4gICAtLQotLSBleGVjdXRhYmxlLCB0aGlzICB1bml0ICBkb2VzIG5vdCAgYnkgaXRzZWxm
IGNhdXNlICB0aGUgcmVzdWx0aW5nICAtLQotLSBleGVjdXRhYmxlIHRvIGJlIGNvdmVyZWQgYnkg
dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLiBUaGlzICAtLQotLSBleGNlcHRpb24gZG9l
cyBub3QgaG93ZXZlciBpbnZhbGlkYXRlIGFueSBvdGhlciByZWFzb25zIHdoeSB0aGUgICAtLQot
LSBleGVjdXRhYmxlIGZpbGUgIG1pZ2h0IGJlIGNvdmVyZWQgYnkgdGhlICBHTlUgUHVibGljIExp
Y2Vuc2UuICAgICAtLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKcGFja2FnZSBib2R5IEdsaWIuR2xpc3QgaXMK
CiAgIHVzZSB0eXBlIFN5c3RlbS5BZGRyZXNzOwoKICAgcGFja2FnZSBib2R5IEdlbmVyaWNfTGlz
dCBpcwogICAgICAtLS0tLS0tLS0tLQogICAgICAtLSBBbGxvYyAtLQogICAgICAtLS0tLS0tLS0t
LQoKICAgICAgcHJvY2VkdXJlIEFsbG9jIChMaXN0IDogb3V0IEdsaXN0KSBpcwogICAgICAgICBm
dW5jdGlvbiBJbnRlcm5hbCByZXR1cm4gU3lzdGVtLkFkZHJlc3M7CiAgICAgICAgIHByYWdtYSBJ
bXBvcnQgKEMsIEludGVybmFsLCAiZ19saXN0X2FsbG9jIik7CiAgICAgIGJlZ2luCiAgICAgICAg
IFNldF9PYmplY3QgKExpc3QsIEludGVybmFsKTsKICAgICAgZW5kIEFsbG9jOwoKICAgICAgLS0t
LS0tLS0tLS0tCiAgICAgIC0tIEFwcGVuZCAtLQogICAgICAtLS0tLS0tLS0tLS0KCiAgICAgIHBy
b2NlZHVyZSBBcHBlbmQKICAgICAgICAoTGlzdCA6IGluIG91dCBHbGlzdDsKICAgICAgICAgRGF0
YSA6IGluIEdwb2ludGVyKQogICAgICBpcwogICAgICAgICBmdW5jdGlvbiBJbnRlcm5hbCAoTGlz
dCA6IFN5c3RlbS5BZGRyZXNzOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGF0YSA6IFN5
c3RlbS5BZGRyZXNzKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFN5c3RlbS5B
ZGRyZXNzOwogICAgICAgICBwcmFnbWEgSW1wb3J0IChDLCBJbnRlcm5hbCwgImdfbGlzdF9hcHBl
bmQiKTsKICAgICAgYmVnaW4KICAgICAgICAgU2V0X09iamVjdCAoTGlzdCwgSW50ZXJuYWwgKEdl
dF9PYmplY3QgKExpc3QpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29u
dmVydCAoRGF0YSkpKTsKICAgICAgZW5kIEFwcGVuZDsKCiAgICAgIC0tLS0tLS0tLS0tLQogICAg
ICAtLSBDb25jYXQgLS0KICAgICAgLS0tLS0tLS0tLS0tCgogICAgICBmdW5jdGlvbiBDb25jYXQK
ICAgICAgICAoTGlzdDEgOiBpbiBHbGlzdDsKICAgICAgICAgTGlzdDIgOiBpbiBHbGlzdCkKICAg
ICAgICAgcmV0dXJuIEdsaXN0CiAgICAgIGlzCiAgICAgICAgIGZ1bmN0aW9uIEludGVybmFsIChM
aXN0MSA6IFN5c3RlbS5BZGRyZXNzOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdDIg
OiBTeXN0ZW0uQWRkcmVzcykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBTeXN0
ZW0uQWRkcmVzczsKICAgICAgICAgcHJhZ21hIEltcG9ydCAoQywgSW50ZXJuYWwsICJnX2xpc3Rf
YXBwZW5kIik7CiAgICAgICAgIFRtcCA6IEdsaXN0OwogICAgICBiZWdpbgogICAgICAgICBTZXRf
T2JqZWN0IChUbXAsIEludGVybmFsIChHZXRfT2JqZWN0IChMaXN0MSksCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEdldF9PYmplY3QgKExpc3QyKSkpOwogICAgICAgICByZXR1
cm4gVG1wOwogICAgICBlbmQgQ29uY2F0OwoKICAgICAgLS0tLS0tLS0tLS0tCiAgICAgIC0tIElu
c2VydCAtLQogICAgICAtLS0tLS0tLS0tLS0KCiAgICAgIHByb2NlZHVyZSBJbnNlcnQKICAgICAg
ICAoTGlzdCAgICAgOiBpbiBvdXQgR2xpc3Q7CiAgICAgICAgIERhdGEgICAgIDogaW4gICAgIEdw
b2ludGVyOwogICAgICAgICBQb3NpdGlvbiA6IGluICAgICBHaW50KQogICAgICBpcwogICAgICAg
ICBmdW5jdGlvbiBJbnRlcm5hbCAoTGlzdCA6IFN5c3RlbS5BZGRyZXNzOwogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgRGF0YSA6IFN5c3RlbS5BZGRyZXNzOwogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgUG9zICA6IEdpbnQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4g
U3lzdGVtLkFkZHJlc3M7CiAgICAgICAgIHByYWdtYSBJbXBvcnQgKEMsIEludGVybmFsLCAiZ19s
aXN0X2luc2VydCIpOwogICAgICBiZWdpbgogICAgICAgICBTZXRfT2JqZWN0IChMaXN0LCBJbnRl
cm5hbCAoR2V0X09iamVjdCAoTGlzdCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBDb252ZXJ0IChEYXRhKSwgUG9zaXRpb24pKTsKICAgICAgZW5kIEluc2VydDsKCiAgICAg
IC0tLS0tLS0tLS0KICAgICAgLS0gRmluZCAtLQogICAgICAtLS0tLS0tLS0tCgogICAgICBmdW5j
dGlvbiBGaW5kCiAgICAgICAgKExpc3QgOiBpbiBHbGlzdDsKICAgICAgICAgRGF0YSA6IGluIEdw
b2ludGVyKQogICAgICAgICByZXR1cm4gR2xpc3QKICAgICAgaXMKICAgICAgICAgZnVuY3Rpb24g
SW50ZXJuYWwgKExpc3QgOiBTeXN0ZW0uQWRkcmVzczsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIERhdGEgOiBTeXN0ZW0uQWRkcmVzcykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJl
dHVybiBTeXN0ZW0uQWRkcmVzczsKICAgICAgICAgcHJhZ21hIEltcG9ydCAoQywgSW50ZXJuYWws
ICJnX2xpc3RfZmluZCIpOwogICAgICAgICBUbXAgOiBHbGlzdDsKICAgICAgYmVnaW4KICAgICAg
ICAgU2V0X09iamVjdCAoVG1wLCBJbnRlcm5hbCAoR2V0X09iamVjdCAoTGlzdCksCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnZlcnQgKERhdGEpKSk7CiAgICAgICAgIHJl
dHVybiBUbXA7CiAgICAgIGVuZCBGaW5kOwoKICAgICAgLS0tLS0tLS0tLS0KICAgICAgLS0gRmly
c3QgLS0KICAgICAgLS0tLS0tLS0tLS0KCiAgICAgIGZ1bmN0aW9uIEZpcnN0IChMaXN0IDogaW4g
R2xpc3QpCiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2xpc3QKICAgICAgaXMKICAgICAg
ICAgZnVuY3Rpb24gSW50ZXJuYWwgKExpc3QgOiBTeXN0ZW0uQWRkcmVzcykKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHJldHVybiBTeXN0ZW0uQWRkcmVzczsKICAgICAgICAgcHJhZ21hIElt
cG9ydCAoQywgSW50ZXJuYWwsICJnX2xpc3RfZmlyc3QiKTsKICAgICAgICAgVG1wIDogR2xpc3Q7
CiAgICAgIGJlZ2luCiAgICAgICAgIFNldF9PYmplY3QgKFRtcCwgSW50ZXJuYWwgKEdldF9PYmpl
Y3QgKExpc3QpKSk7CiAgICAgICAgIHJldHVybiBUbXA7CiAgICAgIGVuZCBGaXJzdDsKCiAgICAg
IC0tLS0tLS0tLS0KICAgICAgLS0gRnJlZSAtLQogICAgICAtLS0tLS0tLS0tCgogICAgICBwcm9j
ZWR1cmUgRnJlZSAoTGlzdCA6IGluIG91dCBHbGlzdCkgaXMKICAgICAgICAgcHJvY2VkdXJlIElu
dGVybmFsIChMaXN0IDogU3lzdGVtLkFkZHJlc3MpOwogICAgICAgICBwcmFnbWEgSW1wb3J0IChD
LCBJbnRlcm5hbCwgImdfbGlzdF9mcmVlIik7CiAgICAgIGJlZ2luCiAgICAgICAgIEludGVybmFs
IChHZXRfT2JqZWN0IChMaXN0KSk7CiAgICAgIGVuZCBGcmVlOwoKICAgICAgLS0tLS0tLS0tLS0t
LS0KICAgICAgLS0gR2V0X0RhdGEgLS0KICAgICAgLS0tLS0tLS0tLS0tLS0KCiAgICAgIGZ1bmN0
aW9uIEdldF9EYXRhIChMaXN0IDogaW4gR2xpc3QpIHJldHVybiBHcG9pbnRlciBpcwogICAgICAg
ICBmdW5jdGlvbiBJbnRlcm5hbCAoTGlzdCA6IGluIFN5c3RlbS5BZGRyZXNzKQogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIFN5c3RlbS5BZGRyZXNzOwogICAgICAgICBwcmFnbWEg
SW1wb3J0IChDLCBJbnRlcm5hbCwgImFkYV9saXN0X2dldF9kYXRhIik7CiAgICAgIGJlZ2luCiAg
ICAgICAgIHJldHVybiBDb252ZXJ0IChJbnRlcm5hbCAoR2V0X09iamVjdCAoTGlzdCkpKTsKICAg
ICAgZW5kIEdldF9EYXRhOwoKICAgICAgLS0tLS0tLS0tLS0tLS0KICAgICAgLS0gR2V0X0RhdGEg
LS0KICAgICAgLS0tLS0tLS0tLS0tLS0KCiAgICAgIGZ1bmN0aW9uIEdldF9EYXRhX0FkZHJlc3Mg
KExpc3QgOiBpbiBHbGlzdCkgcmV0dXJuIFN5c3RlbS5BZGRyZXNzIGlzCiAgICAgICAgIGZ1bmN0
aW9uIEludGVybmFsIChMaXN0IDogaW4gU3lzdGVtLkFkZHJlc3MpCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gU3lzdGVtLkFkZHJlc3M7CiAgICAgICAgIHByYWdtYSBJbXBvcnQg
KEMsIEludGVybmFsLCAiYWRhX2xpc3RfZ2V0X2RhdGEiKTsKICAgICAgYmVnaW4KICAgICAgICAg
cmV0dXJuIEludGVybmFsIChHZXRfT2JqZWN0IChMaXN0KSk7CiAgICAgIGVuZCBHZXRfRGF0YV9B
ZGRyZXNzOwoKICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAgLS0gIEdldF9HcG9pbnRl
ciAgLS0KICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiAgICAgIGZ1bmN0aW9uIEdldF9HcG9p
bnRlciAoTGlzdCA6IGluIEdsaXN0KSByZXR1cm4gR3BvaW50ZXIgaXMKICAgICAgYmVnaW4KICAg
ICAgICAgcmV0dXJuIENvbnZlcnQgKEdldF9PYmplY3QgKExpc3QpKTsKICAgICAgZW5kIEdldF9H
cG9pbnRlcjsKCiAgICAgIC0tLS0tLS0tLS0tLS0tLS0KICAgICAgLS0gR2V0X09iamVjdCAtLQog
ICAgICAtLS0tLS0tLS0tLS0tLS0tCgogICAgICBmdW5jdGlvbiBHZXRfT2JqZWN0IChPYmogOiBp
biBHbGlzdCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFN5c3RlbS5BZGRyZXNz
IGlzCiAgICAgIGJlZ2luCiAgICAgICAgIHJldHVybiBPYmouUHRyOwogICAgICBlbmQgR2V0X09i
amVjdDsKCiAgICAgIC0tLS0tLS0tLS0tCiAgICAgIC0tIEluZGV4IC0tCiAgICAgIC0tLS0tLS0t
LS0tCgogICAgICBmdW5jdGlvbiBJbmRleAogICAgICAgIChMaXN0IDogaW4gR2xpc3Q7CiAgICAg
ICAgIERhdGEgOiBpbiBHcG9pbnRlcikKICAgICAgICAgcmV0dXJuIEdpbnQKICAgICAgaXMKICAg
ICAgICAgZnVuY3Rpb24gSW50ZXJuYWwgKExpc3QgOiBTeXN0ZW0uQWRkcmVzczsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIERhdGEgOiBTeXN0ZW0uQWRkcmVzcykKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHJldHVybiBHaW50OwogICAgICAgICBwcmFnbWEgSW1wb3J0IChDLCBJbnRl
cm5hbCwgImdfbGlzdF9pbmRleCIpOwogICAgICBiZWdpbgogICAgICAgICByZXR1cm4gSW50ZXJu
YWwgKEdldF9PYmplY3QgKExpc3QpLAogICAgICAgICAgICAgICAgICAgICAgICAgIENvbnZlcnQg
KERhdGEpKTsKICAgICAgZW5kIEluZGV4OwoKICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAg
IC0tICBJc19DcmVhdGVkICAtLQogICAgICAtLS0tLS0tLS0tLS0tLS0tLS0KCiAgICAgIGZ1bmN0
aW9uIElzX0NyZWF0ZWQgKExpc3QgOiBpbiBHbGlzdCkgcmV0dXJuIEJvb2xlYW4gaXMKICAgICAg
YmVnaW4KICAgICAgICAgcmV0dXJuIEdldF9PYmplY3QgKExpc3QpIC89IFN5c3RlbS5OdWxsX0Fk
ZHJlc3M7CiAgICAgIGVuZCBJc19DcmVhdGVkOwoKICAgICAgLS0tLS0tLS0tLQogICAgICAtLSBM
YXN0IC0tCiAgICAgIC0tLS0tLS0tLS0KCiAgICAgIGZ1bmN0aW9uIExhc3QgKExpc3QgOiBpbiBH
bGlzdCkgcmV0dXJuIEdsaXN0IGlzCiAgICAgICAgIGZ1bmN0aW9uIEludGVybmFsIChMaXN0IDog
U3lzdGVtLkFkZHJlc3MpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gU3lzdGVt
LkFkZHJlc3M7CiAgICAgICAgIHByYWdtYSBJbXBvcnQgKEMsIEludGVybmFsLCAiZ19saXN0X2xh
c3QiKTsKICAgICAgICAgVG1wIDogR2xpc3Q7CiAgICAgIGJlZ2luCiAgICAgICAgIFNldF9PYmpl
Y3QgKFRtcCwgSW50ZXJuYWwgKEdldF9PYmplY3QgKExpc3QpKSk7CiAgICAgICAgIHJldHVybiBU
bXA7CiAgICAgIGVuZCBMYXN0OwoKICAgICAgLS0tLS0tLS0tLS0tCiAgICAgIC0tIExlbmd0aCAt
LQogICAgICAtLS0tLS0tLS0tLS0KCiAgICAgIGZ1bmN0aW9uIExlbmd0aCAoTGlzdCA6IGluIEds
aXN0KSByZXR1cm4gR3VpbnQgaXMKICAgICAgICAgZnVuY3Rpb24gSW50ZXJuYWwgKExpc3QgOiBT
eXN0ZW0uQWRkcmVzcykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHdWludDsK
ICAgICAgICAgcHJhZ21hIEltcG9ydCAoQywgSW50ZXJuYWwsICJnX2xpc3RfbGVuZ3RoIik7CiAg
ICAgIGJlZ2luCiAgICAgICAgIHJldHVybiBJbnRlcm5hbCAoR2V0X09iamVjdCAoTGlzdCkpOwog
ICAgICBlbmQgTGVuZ3RoOwoKICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgIC0tIExpc3Rf
UmV2ZXJzZSAtLQogICAgICAtLS0tLS0tLS0tLS0tLS0tLS0KCiAgICAgIHByb2NlZHVyZSBMaXN0
X1JldmVyc2UgKExpc3QgOiBpbiBvdXQgR2xpc3QpIGlzCiAgICAgICAgIGZ1bmN0aW9uIEludGVy
bmFsIChMaXN0IDogU3lzdGVtLkFkZHJlc3MpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gU3lzdGVtLkFkZHJlc3M7CiAgICAgICAgIHByYWdtYSBJbXBvcnQgKEMsIEludGVybmFs
LCAiZ19saXN0X3JldmVyc2UiKTsKICAgICAgYmVnaW4KICAgICAgICAgU2V0X09iamVjdCAoTGlz
dCwgSW50ZXJuYWwgKEdldF9PYmplY3QgKExpc3QpKSk7CiAgICAgIGVuZCBMaXN0X1JldmVyc2U7
CgogICAgICAtLS0tLS0tLS0tCiAgICAgIC0tIE5leHQgLS0KICAgICAgLS0tLS0tLS0tLQoKICAg
ICAgZnVuY3Rpb24gTmV4dCAoTGlzdCA6IGluIEdsaXN0KSByZXR1cm4gR2xpc3QgaXMKICAgICAg
ICAgZnVuY3Rpb24gSW50ZXJuYWwgKExpc3QgOiBTeXN0ZW0uQWRkcmVzcykKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHJldHVybiBTeXN0ZW0uQWRkcmVzczsKICAgICAgICAgcHJhZ21hIElt
cG9ydCAoQywgSW50ZXJuYWwsICJhZGFfbGlzdF9uZXh0Iik7CiAgICAgICAgIFRtcCA6IEdsaXN0
OwogICAgICBiZWdpbgogICAgICAgICBTZXRfT2JqZWN0IChUbXAsIEludGVybmFsIChHZXRfT2Jq
ZWN0IChMaXN0KSkpOwogICAgICAgICByZXR1cm4gVG1wOwogICAgICBlbmQgTmV4dDsKCiAgICAg
IC0tLS0tLS0tLQogICAgICAtLSBOdGggLS0KICAgICAgLS0tLS0tLS0tCgogICAgICBmdW5jdGlv
biBOdGgKICAgICAgICAoTGlzdCA6IGluIEdsaXN0OwogICAgICAgICBOICAgIDogaW4gR3VpbnQp
CiAgICAgICAgIHJldHVybiBHbGlzdAogICAgICBpcwogICAgICAgICBmdW5jdGlvbiBJbnRlcm5h
bCAoTGlzdCA6IFN5c3RlbS5BZGRyZXNzOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgTiAg
ICA6IEd1aW50KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFN5c3RlbS5BZGRy
ZXNzOwogICAgICAgICBwcmFnbWEgSW1wb3J0IChDLCBJbnRlcm5hbCwgImdfbGlzdF9udGgiKTsK
ICAgICAgICAgVG1wIDogR2xpc3Q7CiAgICAgIGJlZ2luCiAgICAgICAgIFNldF9PYmplY3QgKFRt
cCwgSW50ZXJuYWwgKEdldF9PYmplY3QgKExpc3QpLCBOKSk7CiAgICAgICAgIHJldHVybiBUbXA7
CiAgICAgIGVuZCBOdGg7CgogICAgICAtLS0tLS0tLS0tLS0tLQogICAgICAtLSBOdGhfRGF0YSAt
LQogICAgICAtLS0tLS0tLS0tLS0tLQoKICAgICAgZnVuY3Rpb24gTnRoX0RhdGEKICAgICAgICAo
TGlzdCA6IGluIEdsaXN0OwogICAgICAgICBOICAgIDogaW4gR3VpbnQpCiAgICAgICAgIHJldHVy
biBHcG9pbnRlcgogICAgICBpcwogICAgICAgICBmdW5jdGlvbiBJbnRlcm5hbCAoTGlzdCA6IFN5
c3RlbS5BZGRyZXNzOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgTiAgICA6IEd1aW50KQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFN5c3RlbS5BZGRyZXNzOwogICAgICAg
ICBwcmFnbWEgSW1wb3J0IChDLCBJbnRlcm5hbCwgImdfbGlzdF9udGhfZGF0YSIpOwogICAgICBi
ZWdpbgogICAgICAgICByZXR1cm4gQ29udmVydCAoSW50ZXJuYWwgKEdldF9PYmplY3QgKExpc3Qp
LCBOKSk7CiAgICAgIGVuZCBOdGhfRGF0YTsKCiAgICAgIC0tLS0tLS0tLS0tLS0tCiAgICAgIC0t
IFBvc2l0aW9uIC0tCiAgICAgIC0tLS0tLS0tLS0tLS0tCgogICAgICBmdW5jdGlvbiBQb3NpdGlv
bgogICAgICAgIChMaXN0IDogaW4gR2xpc3Q7CiAgICAgICAgIExpbmsgOiBpbiBHbGlzdCkKICAg
ICAgICAgcmV0dXJuIEdpbnQKICAgICAgaXMKICAgICAgICAgZnVuY3Rpb24gSW50ZXJuYWwgKExp
c3QgOiBTeXN0ZW0uQWRkcmVzczsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpbmsgOiBT
eXN0ZW0uQWRkcmVzcykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaW50Owog
ICAgICAgICBwcmFnbWEgSW1wb3J0IChDLCBJbnRlcm5hbCwgImdfbGlzdF9wb3NpdGlvbiIpOwog
ICAgICBiZWdpbgogICAgICAgICByZXR1cm4gSW50ZXJuYWwgKEdldF9PYmplY3QgKExpc3QpLCBH
ZXRfT2JqZWN0IChMaW5rKSk7CiAgICAgIGVuZCBQb3NpdGlvbjsKCiAgICAgIC0tLS0tLS0tLS0t
LS0KICAgICAgLS0gUHJlcGVuZCAtLQogICAgICAtLS0tLS0tLS0tLS0tCgogICAgICBwcm9jZWR1
cmUgUHJlcGVuZAogICAgICAgIChMaXN0IDogaW4gb3V0IEdsaXN0OwogICAgICAgICBEYXRhIDog
aW4gR3BvaW50ZXIpCiAgICAgIGlzCiAgICAgICAgIGZ1bmN0aW9uIEludGVybmFsIChMaXN0IDog
U3lzdGVtLkFkZHJlc3M7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEYXRhIDogU3lzdGVt
LkFkZHJlc3MpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gU3lzdGVtLkFkZHJl
c3M7CiAgICAgICAgIHByYWdtYSBJbXBvcnQgKEMsIEludGVybmFsLCAiZ19saXN0X3ByZXBlbmQi
KTsKICAgICAgYmVnaW4KICAgICAgICAgU2V0X09iamVjdCAoTGlzdCwgSW50ZXJuYWwgKEdldF9P
YmplY3QgKExpc3QpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29udmVy
dCAoRGF0YSkpKTsKICAgICAgZW5kIFByZXBlbmQ7CgogICAgICAtLS0tLS0tLS0tCiAgICAgIC0t
IFByZXYgLS0KICAgICAgLS0tLS0tLS0tLQoKICAgICAgZnVuY3Rpb24gUHJldiAoTGlzdCA6IGlu
IEdsaXN0KSByZXR1cm4gR2xpc3QgaXMKICAgICAgICAgZnVuY3Rpb24gSW50ZXJuYWwgKExpc3Qg
OiBTeXN0ZW0uQWRkcmVzcykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBTeXN0
ZW0uQWRkcmVzczsKICAgICAgICAgcHJhZ21hIEltcG9ydCAoQywgSW50ZXJuYWwsICJhZGFfbGlz
dF9wcmV2Iik7CiAgICAgICAgIFRtcCA6IEdsaXN0OwogICAgICBiZWdpbgogICAgICAgICBTZXRf
T2JqZWN0IChUbXAsIEludGVybmFsIChHZXRfT2JqZWN0IChMaXN0KSkpOwogICAgICAgICByZXR1
cm4gVG1wOwogICAgICBlbmQgUHJldjsKCiAgICAgIC0tLS0tLS0tLS0tLQogICAgICAtLSBSZW1v
dmUgLS0KICAgICAgLS0tLS0tLS0tLS0tCgogICAgICBwcm9jZWR1cmUgUmVtb3ZlCiAgICAgICAg
KExpc3QgOiBpbiBvdXQgR2xpc3Q7CiAgICAgICAgIERhdGEgOiBpbiBHcG9pbnRlcikKICAgICAg
aXMKICAgICAgICAgZnVuY3Rpb24gSW50ZXJuYWwgKExpc3QgOiBTeXN0ZW0uQWRkcmVzczsKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIERhdGEgOiBTeXN0ZW0uQWRkcmVzcykKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHJldHVybiBTeXN0ZW0uQWRkcmVzczsKICAgICAgICAgcHJhZ21h
IEltcG9ydCAoQywgSW50ZXJuYWwsICJnX2xpc3RfcmVtb3ZlIik7CiAgICAgIGJlZ2luCiAgICAg
ICAgIFNldF9PYmplY3QgKExpc3QsIEludGVybmFsIChHZXRfT2JqZWN0IChMaXN0KSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnZlcnQgKERhdGEpKSk7CiAgICAgIGVu
ZCBSZW1vdmU7CgogICAgICAtLS0tLS0tLS0tLS0tLS0tLQogICAgICAtLSBSZW1vdmVfTGluayAt
LQogICAgICAtLS0tLS0tLS0tLS0tLS0tLQoKICAgICAgcHJvY2VkdXJlIFJlbW92ZV9MaW5rCiAg
ICAgICAgKExpc3QgOiBpbiBvdXQgR2xpc3Q7CiAgICAgICAgIExpbmsgOiBpbiBHbGlzdCkKICAg
ICAgaXMKICAgICAgICAgZnVuY3Rpb24gSW50ZXJuYWwgKExpc3QgOiBTeXN0ZW0uQWRkcmVzczsK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpbmsgOiBTeXN0ZW0uQWRkcmVzcykKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBTeXN0ZW0uQWRkcmVzczsKICAgICAgICAgcHJh
Z21hIEltcG9ydCAoQywgSW50ZXJuYWwsICJnX2xpc3RfcmVtb3ZlX2xpbmsiKTsKICAgICAgYmVn
aW4KICAgICAgICAgU2V0X09iamVjdCAoTGlzdCwgSW50ZXJuYWwgKEdldF9PYmplY3QgKExpc3Qp
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2V0X09iamVjdCAoTGluaykp
KTsKICAgICAgZW5kIFJlbW92ZV9MaW5rOwoKICAgICAgLS0tLS0tLS0tLS0tLS0tLQogICAgICAt
LSBTZXRfT2JqZWN0IC0tCiAgICAgIC0tLS0tLS0tLS0tLS0tLS0KCiAgICAgIHByb2NlZHVyZSBT
ZXRfT2JqZWN0IChPYmogICA6IGluIG91dCBHbGlzdDsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFZhbHVlIDogaW4gICAgIFN5c3RlbS5BZGRyZXNzKSBpcwogICAgICBiZWdpbgogICAgICAg
ICBPYmouUHRyIDo9IFZhbHVlOwogICAgICBlbmQgU2V0X09iamVjdDsKCiAgIGVuZCBHZW5lcmlj
X0xpc3Q7CmVuZCBHbGliLkdsaXN0OwoKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGduYXRidWcvZ2xpYi1nc2xp
c3QuYWRiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMTAwNjQ0ADAwMDE3NTEAMDAwMDAwMAAwMDAwMDAy
NDcwMgAwNzU1MTEwNzYzMgAwMTQyNDAAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAdXN0YXIgIABzcGF6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHdoZWVs
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLS0g
ICAgICAgICAgR3RrQWRhIC0gQWRhOTUgYmluZGluZyBmb3IgdGhlIEdpbXAgVG9vbGtpdCAgICAg
ICAgICAgICAgLS0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gICAgICAgICAgICAgICAgICAgICBDb3B5cmln
aHQgKEMpIDE5OTgtMjAwMCAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gICAgICAgIEVtbWFu
dWVsIEJyaW90LCBKb2VsIEJyb2JlY2tlciBhbmQgQXJuYXVkIENoYXJsZXQgICAgICAgICAgLS0K
LS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLS0KLS0gVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vciAgICAgLS0KLS0gbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljICAgICAgICAgICAgICAgLS0KLS0gTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyICAgICAg
LS0KLS0gdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBs
YXRlciB2ZXJzaW9uLiAgLS0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gVGhpcyBsaWJyYXJ5IGlzIGRpc3Ry
aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsICAgLS0KLS0gYnV0IFdJ
VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2Yg
ICAgLS0KLS0gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFLiAgU2VlIHRoZSBHTlUgLS0KLS0gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk
ZXRhaWxzLiAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0gWW91
IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljICAg
ICAgICAgLS0KLS0gTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0
ZSB0byB0aGUgICAgICAgICAgICAgLS0KLS0gRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu
LCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsICAgICAgLS0KLS0gQm9zdG9uLCBNQSAwMjEx
MS0xMzA3LCBVU0EuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0KLS0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLS0KLS0gQXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiwgaWYgb3RoZXIgZmlsZXMgaW5z
dGFudGlhdGUgZ2VuZXJpY3MgZnJvbSAgLS0KLS0gdGhpcyB1bml0LCBvciB5b3UgbGluayB0aGlz
IHVuaXQgd2l0aCBvdGhlciBmaWxlcyB0byBwcm9kdWNlIGFuICAgLS0KLS0gZXhlY3V0YWJsZSwg
dGhpcyAgdW5pdCAgZG9lcyBub3QgIGJ5IGl0c2VsZiBjYXVzZSAgdGhlIHJlc3VsdGluZyAgLS0K
LS0gZXhlY3V0YWJsZSB0byBiZSBjb3ZlcmVkIGJ5IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZS4gVGhpcyAgLS0KLS0gZXhjZXB0aW9uIGRvZXMgbm90IGhvd2V2ZXIgaW52YWxpZGF0ZSBh
bnkgb3RoZXIgcmVhc29ucyB3aHkgdGhlICAgLS0KLS0gZXhlY3V0YWJsZSBmaWxlICBtaWdodCBi
ZSBjb3ZlcmVkIGJ5IHRoZSAgR05VIFB1YmxpYyBMaWNlbnNlLiAgICAgLS0KLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KCnBhY2thZ2UgYm9keSBHbGliLkdTbGlzdCBpcwoKICAgcGFja2FnZSBib2R5IEdlbmVyaWNf
U0xpc3QgaXMKICAgICAgLS0tLS0tLS0tLS0KICAgICAgLS0gQWxsb2MgLS0KICAgICAgLS0tLS0t
LS0tLS0KCiAgICAgIHByb2NlZHVyZSBBbGxvYyAoTGlzdCA6IG91dCBHU2xpc3QpIGlzCiAgICAg
ICAgIGZ1bmN0aW9uIEludGVybmFsIHJldHVybiBTeXN0ZW0uQWRkcmVzczsKICAgICAgICAgcHJh
Z21hIEltcG9ydCAoQywgSW50ZXJuYWwsICJnX3NsaXN0X2FsbG9jIik7CiAgICAgIGJlZ2luCiAg
ICAgICAgIFNldF9PYmplY3QgKExpc3QsIEludGVybmFsKTsKICAgICAgZW5kIEFsbG9jOwoKICAg
ICAgLS0tLS0tLS0tLS0tCiAgICAgIC0tIEFwcGVuZCAtLQogICAgICAtLS0tLS0tLS0tLS0KCiAg
ICAgIHByb2NlZHVyZSBBcHBlbmQKICAgICAgICAoTGlzdCA6IGluIG91dCBHU2xpc3Q7CiAgICAg
ICAgIERhdGEgOiBpbiBHcG9pbnRlcikKICAgICAgaXMKICAgICAgICAgZnVuY3Rpb24gSW50ZXJu
YWwgKExpc3QgOiBTeXN0ZW0uQWRkcmVzczsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIERh
dGEgOiBTeXN0ZW0uQWRkcmVzcykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBT
eXN0ZW0uQWRkcmVzczsKICAgICAgICAgcHJhZ21hIEltcG9ydCAoQywgSW50ZXJuYWwsICJnX3Ns
aXN0X2FwcGVuZCIpOwogICAgICBiZWdpbgogICAgICAgICBTZXRfT2JqZWN0IChMaXN0LCBJbnRl
cm5hbCAoR2V0X09iamVjdCAoTGlzdCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBDb252ZXJ0IChEYXRhKSkpOwogICAgICBlbmQgQXBwZW5kOwoKICAgICAgLS0tLS0tLS0t
LS0tCiAgICAgIC0tIENvbmNhdCAtLQogICAgICAtLS0tLS0tLS0tLS0KCiAgICAgIGZ1bmN0aW9u
IENvbmNhdAogICAgICAgIChMaXN0MSA6IGluIEdTbGlzdDsKICAgICAgICAgTGlzdDIgOiBpbiBH
U2xpc3QpCiAgICAgICAgIHJldHVybiBHU2xpc3QKICAgICAgaXMKICAgICAgICAgZnVuY3Rpb24g
SW50ZXJuYWwgKExpc3QxIDogU3lzdGVtLkFkZHJlc3M7CiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBMaXN0MiA6IFN5c3RlbS5BZGRyZXNzKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIFN5c3RlbS5BZGRyZXNzOwogICAgICAgICBwcmFnbWEgSW1wb3J0IChDLCBJbnRlcm5h
bCwgImdfc2xpc3RfYXBwZW5kIik7CiAgICAgICAgIFRtcCA6IEdTbGlzdDsKICAgICAgYmVnaW4K
ICAgICAgICAgU2V0X09iamVjdCAoVG1wLCBJbnRlcm5hbCAoR2V0X09iamVjdCAoTGlzdDEpLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHZXRfT2JqZWN0IChMaXN0MikpKTsK
ICAgICAgICAgcmV0dXJuIFRtcDsKICAgICAgZW5kIENvbmNhdDsKCiAgICAgIC0tLS0tLS0tLS0t
LS0tCiAgICAgIC0tIEdldF9EYXRhIC0tCiAgICAgIC0tLS0tLS0tLS0tLS0tCgogICAgICBmdW5j
dGlvbiBHZXRfRGF0YSAoTGlzdCA6IGluIEdTbGlzdCkKICAgICAgICAgICAgICAgICAgICAgICAg
IHJldHVybiBHcG9pbnRlcgogICAgICBpcwogICAgICAgICBmdW5jdGlvbiBJbnRlcm5hbCAoTGlz
dCA6IFN5c3RlbS5BZGRyZXNzKSByZXR1cm4gU3lzdGVtLkFkZHJlc3M7CiAgICAgICAgIHByYWdt
YSBJbXBvcnQgKEMsIEludGVybmFsLCAiYWRhX2dzbGlzdF9nZXRfZGF0YSIpOwogICAgICBiZWdp
bgogICAgICAgICByZXR1cm4gQ29udmVydCAoSW50ZXJuYWwgKEdldF9PYmplY3QgKExpc3QpKSk7
CiAgICAgIGVuZCBHZXRfRGF0YTsKCiAgICAgIC0tLS0tLS0tLS0tLQogICAgICAtLSBJbnNlcnQg
LS0KICAgICAgLS0tLS0tLS0tLS0tCgogICAgICBwcm9jZWR1cmUgSW5zZXJ0CiAgICAgICAgKExp
c3QgICAgIDogaW4gb3V0IEdTbGlzdDsKICAgICAgICAgRGF0YSAgICAgOiBpbiAgICAgR3BvaW50
ZXI7CiAgICAgICAgIFBvc2l0aW9uIDogaW4gICAgIEdpbnQpCiAgICAgIGlzCiAgICAgICAgIGZ1
bmN0aW9uIEludGVybmFsIChMaXN0IDogU3lzdGVtLkFkZHJlc3M7CiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBEYXRhIDogU3lzdGVtLkFkZHJlc3M7CiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBQb3MgIDogR2ludCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBTeXN0
ZW0uQWRkcmVzczsKICAgICAgICAgcHJhZ21hIEltcG9ydCAoQywgSW50ZXJuYWwsICJnX3NsaXN0
X2luc2VydCIpOwogICAgICBiZWdpbgogICAgICAgICBTZXRfT2JqZWN0IChMaXN0LCBJbnRlcm5h
bCAoR2V0X09iamVjdCAoTGlzdCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBDb252ZXJ0IChEYXRhKSwgUG9zaXRpb24pKTsKICAgICAgZW5kIEluc2VydDsKCiAgICAgIC0t
LS0tLS0tLS0KICAgICAgLS0gRmluZCAtLQogICAgICAtLS0tLS0tLS0tCgogICAgICBmdW5jdGlv
biBGaW5kCiAgICAgICAgKExpc3QgOiBpbiBHU2xpc3Q7CiAgICAgICAgIERhdGEgOiBpbiBHcG9p
bnRlcikKICAgICAgICAgcmV0dXJuIEdTbGlzdAogICAgICBpcwogICAgICAgICBmdW5jdGlvbiBJ
bnRlcm5hbCAoTGlzdCA6IFN5c3RlbS5BZGRyZXNzOwogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgRGF0YSA6IFN5c3RlbS5BZGRyZXNzKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0
dXJuIFN5c3RlbS5BZGRyZXNzOwogICAgICAgICBwcmFnbWEgSW1wb3J0IChDLCBJbnRlcm5hbCwg
Imdfc2xpc3RfZmluZCIpOwogICAgICAgICBUbXAgOiBHU2xpc3Q7CiAgICAgIGJlZ2luCiAgICAg
ICAgIFNldF9PYmplY3QgKFRtcCwgSW50ZXJuYWwgKEdldF9PYmplY3QgKExpc3QpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb252ZXJ0IChEYXRhKSkpOwogICAgICAgICBy
ZXR1cm4gVG1wOwogICAgICBlbmQgRmluZDsKCiAgICAgIC0tLS0tLS0tLS0KICAgICAgLS0gRnJl
ZSAtLQogICAgICAtLS0tLS0tLS0tCgogICAgICBwcm9jZWR1cmUgRnJlZSAoTGlzdCA6IGluIG91
dCBHU2xpc3QpIGlzCiAgICAgICAgIHByb2NlZHVyZSBJbnRlcm5hbCAoTGlzdCA6IFN5c3RlbS5B
ZGRyZXNzKTsKICAgICAgICAgcHJhZ21hIEltcG9ydCAoQywgSW50ZXJuYWwsICJnX3NsaXN0X2Zy
ZWUiKTsKICAgICAgYmVnaW4KICAgICAgICAgSW50ZXJuYWwgKEdldF9PYmplY3QgKExpc3QpKTsK
ICAgICAgZW5kIEZyZWU7CgogICAgICAtLS0tLS0tLS0tLS0tLS0tCiAgICAgIC0tIEdldF9PYmpl
Y3QgLS0KICAgICAgLS0tLS0tLS0tLS0tLS0tLQoKICAgICAgZnVuY3Rpb24gR2V0X09iamVjdCAo
T2JqIDogaW4gR1NsaXN0KQogICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gU3lzdGVt
LkFkZHJlc3MgaXMKICAgICAgYmVnaW4KICAgICAgICAgcmV0dXJuIE9iai5QdHI7CiAgICAgIGVu
ZCBHZXRfT2JqZWN0OwoKICAgICAgLS0tLS0tLS0tLS0KICAgICAgLS0gSW5kZXggLS0KICAgICAg
LS0tLS0tLS0tLS0KCiAgICAgIGZ1bmN0aW9uIEluZGV4CiAgICAgICAgKExpc3QgOiBpbiBHU2xp
c3Q7CiAgICAgICAgIERhdGEgOiBpbiBHcG9pbnRlcikKICAgICAgICAgcmV0dXJuIEdpbnQKICAg
ICAgaXMKICAgICAgICAgZnVuY3Rpb24gSW50ZXJuYWwgKExpc3QgOiBTeXN0ZW0uQWRkcmVzczsK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIERhdGEgOiBTeXN0ZW0uQWRkcmVzcykKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaW50OwogICAgICAgICBwcmFnbWEgSW1wb3J0
IChDLCBJbnRlcm5hbCwgImdfc2xpc3RfaW5kZXgiKTsKICAgICAgYmVnaW4KICAgICAgICAgcmV0
dXJuIEludGVybmFsIChHZXRfT2JqZWN0IChMaXN0KSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICBDb252ZXJ0IChEYXRhKSk7CiAgICAgIGVuZCBJbmRleDsKCiAgICAgIC0tLS0tLS0tLS0KICAg
ICAgLS0gTGFzdCAtLQogICAgICAtLS0tLS0tLS0tCgogICAgICBmdW5jdGlvbiBMYXN0IChMaXN0
IDogaW4gR1NsaXN0KSByZXR1cm4gR1NsaXN0IGlzCiAgICAgICAgIGZ1bmN0aW9uIEludGVybmFs
IChMaXN0IDogU3lzdGVtLkFkZHJlc3MpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1
cm4gU3lzdGVtLkFkZHJlc3M7CiAgICAgICAgIHByYWdtYSBJbXBvcnQgKEMsIEludGVybmFsLCAi
Z19zbGlzdF9sYXN0Iik7CiAgICAgICAgIFRtcCA6IEdTbGlzdDsKICAgICAgYmVnaW4KICAgICAg
ICAgU2V0X09iamVjdCAoVG1wLCBJbnRlcm5hbCAoR2V0X09iamVjdCAoTGlzdCkpKTsKICAgICAg
ICAgcmV0dXJuIFRtcDsKICAgICAgZW5kIExhc3Q7CgogICAgICAtLS0tLS0tLS0tLS0KICAgICAg
LS0gTGVuZ3RoIC0tCiAgICAgIC0tLS0tLS0tLS0tLQoKICAgICAgZnVuY3Rpb24gTGVuZ3RoIChM
aXN0IDogaW4gR1NsaXN0KSByZXR1cm4gR3VpbnQgaXMKICAgICAgICAgZnVuY3Rpb24gSW50ZXJu
YWwgKExpc3QgOiBTeXN0ZW0uQWRkcmVzcykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJl
dHVybiBHdWludDsKICAgICAgICAgcHJhZ21hIEltcG9ydCAoQywgSW50ZXJuYWwsICJnX3NsaXN0
X2xlbmd0aCIpOwogICAgICBiZWdpbgogICAgICAgICByZXR1cm4gSW50ZXJuYWwgKEdldF9PYmpl
Y3QgKExpc3QpKTsKICAgICAgZW5kIExlbmd0aDsKCiAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLQog
ICAgICAtLSBMaXN0X1JldmVyc2UgLS0KICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tCgogICAgICBw
cm9jZWR1cmUgTGlzdF9SZXZlcnNlIChMaXN0IDogaW4gb3V0IEdTbGlzdCkgaXMKICAgICAgICAg
ZnVuY3Rpb24gSW50ZXJuYWwgKExpc3QgOiBTeXN0ZW0uQWRkcmVzcykKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHJldHVybiBTeXN0ZW0uQWRkcmVzczsKICAgICAgICAgcHJhZ21hIEltcG9y
dCAoQywgSW50ZXJuYWwsICJnX3NsaXN0X3JldmVyc2UiKTsKICAgICAgYmVnaW4KICAgICAgICAg
U2V0X09iamVjdCAoTGlzdCwgSW50ZXJuYWwgKEdldF9PYmplY3QgKExpc3QpKSk7CiAgICAgIGVu
ZCBMaXN0X1JldmVyc2U7CgogICAgICAtLS0tLS0tLS0tCiAgICAgIC0tIE5leHQgLS0KICAgICAg
LS0tLS0tLS0tLQoKICAgICAgZnVuY3Rpb24gTmV4dCAoTGlzdCA6IGluIEdTbGlzdCkgcmV0dXJu
IEdTbGlzdCBpcwogICAgICAgICBmdW5jdGlvbiBJbnRlcm5hbCAoTGlzdCA6IFN5c3RlbS5BZGRy
ZXNzKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFN5c3RlbS5BZGRyZXNzOwog
ICAgICAgICBwcmFnbWEgSW1wb3J0IChDLCBJbnRlcm5hbCwgImFkYV9nc2xpc3RfbmV4dCIpOwog
ICAgICAgICBUbXAgOiBHU2xpc3Q7CiAgICAgIGJlZ2luCiAgICAgICAgIFNldF9PYmplY3QgKFRt
cCwgSW50ZXJuYWwgKEdldF9PYmplY3QgKExpc3QpKSk7CiAgICAgICAgIHJldHVybiBUbXA7CiAg
ICAgIGVuZCBOZXh0OwoKICAgICAgLS0tLS0tLS0tCiAgICAgIC0tIE50aCAtLQogICAgICAtLS0t
LS0tLS0KCiAgICAgIGZ1bmN0aW9uIE50aAogICAgICAgIChMaXN0IDogaW4gR1NsaXN0OwogICAg
ICAgICBOICAgIDogaW4gR3VpbnQpCiAgICAgICAgIHJldHVybiBHU2xpc3QKICAgICAgaXMKICAg
ICAgICAgZnVuY3Rpb24gSW50ZXJuYWwgKExpc3QgOiBTeXN0ZW0uQWRkcmVzczsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIE4gICAgOiBHdWludCkKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHJldHVybiBTeXN0ZW0uQWRkcmVzczsKICAgICAgICAgcHJhZ21hIEltcG9ydCAoQywgSW50
ZXJuYWwsICJnX3NsaXN0X250aCIpOwogICAgICAgICBUbXAgOiBHU2xpc3Q7CiAgICAgIGJlZ2lu
CiAgICAgICAgIFNldF9PYmplY3QgKFRtcCwgSW50ZXJuYWwgKEdldF9PYmplY3QgKExpc3QpLCBO
KSk7CiAgICAgICAgIHJldHVybiBUbXA7CiAgICAgIGVuZCBOdGg7CgogICAgICAtLS0tLS0tLS0t
LS0tLQogICAgICAtLSBOdGhfRGF0YSAtLQogICAgICAtLS0tLS0tLS0tLS0tLQoKICAgICAgZnVu
Y3Rpb24gTnRoX0RhdGEKICAgICAgICAoTGlzdCA6IGluIEdTbGlzdDsKICAgICAgICAgTiAgICA6
IGluIEd1aW50KQogICAgICAgICByZXR1cm4gR3BvaW50ZXIKICAgICAgaXMKICAgICAgICAgZnVu
Y3Rpb24gSW50ZXJuYWwgKExpc3QgOiBTeXN0ZW0uQWRkcmVzczsKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIE4gICAgOiBHdWludCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVy
biBTeXN0ZW0uQWRkcmVzczsKICAgICAgICAgcHJhZ21hIEltcG9ydCAoQywgSW50ZXJuYWwsICJn
X3NsaXN0X250aF9kYXRhIik7CiAgICAgIGJlZ2luCiAgICAgICAgIHJldHVybiBDb252ZXJ0IChJ
bnRlcm5hbCAoR2V0X09iamVjdCAoTGlzdCksIE4pKTsKICAgICAgZW5kIE50aF9EYXRhOwoKICAg
ICAgLS0tLS0tLS0tLS0tLS0KICAgICAgLS0gUG9zaXRpb24gLS0KICAgICAgLS0tLS0tLS0tLS0t
LS0KCiAgICAgIGZ1bmN0aW9uIFBvc2l0aW9uCiAgICAgICAgKExpc3QgOiBpbiBHU2xpc3Q7CiAg
ICAgICAgIExpbmsgOiBpbiBHU2xpc3QpCiAgICAgICAgIHJldHVybiBHaW50CiAgICAgIGlzCiAg
ICAgICAgIGZ1bmN0aW9uIEludGVybmFsIChMaXN0IDogU3lzdGVtLkFkZHJlc3M7CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBMaW5rIDogU3lzdGVtLkFkZHJlc3MpCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gR2ludDsKICAgICAgICAgcHJhZ21hIEltcG9ydCAoQywgSW50
ZXJuYWwsICJnX3NsaXN0X3Bvc2l0aW9uIik7CiAgICAgIGJlZ2luCiAgICAgICAgIHJldHVybiBJ
bnRlcm5hbCAoR2V0X09iamVjdCAoTGlzdCksIEdldF9PYmplY3QgKExpbmspKTsKICAgICAgZW5k
IFBvc2l0aW9uOwoKICAgICAgLS0tLS0tLS0tLS0tLQogICAgICAtLSBQcmVwZW5kIC0tCiAgICAg
IC0tLS0tLS0tLS0tLS0KCiAgICAgIHByb2NlZHVyZSBQcmVwZW5kCiAgICAgICAgKExpc3QgOiBp
biBvdXQgR1NsaXN0OwogICAgICAgICBEYXRhIDogaW4gR3BvaW50ZXIpCiAgICAgIGlzCiAgICAg
ICAgIGZ1bmN0aW9uIEludGVybmFsIChMaXN0IDogU3lzdGVtLkFkZHJlc3M7CiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBEYXRhIDogU3lzdGVtLkFkZHJlc3MpCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gU3lzdGVtLkFkZHJlc3M7CiAgICAgICAgIHByYWdtYSBJbXBvcnQg
KEMsIEludGVybmFsLCAiZ19zbGlzdF9wcmVwZW5kIik7CiAgICAgIGJlZ2luCiAgICAgICAgIFNl
dF9PYmplY3QgKExpc3QsIEludGVybmFsIChHZXRfT2JqZWN0IChMaXN0KSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIENvbnZlcnQgKERhdGEpKSk7CiAgICAgIGVuZCBQcmVw
ZW5kOwoKICAgICAgLS0tLS0tLS0tLS0tCiAgICAgIC0tIFJlbW92ZSAtLQogICAgICAtLS0tLS0t
LS0tLS0KCiAgICAgIHByb2NlZHVyZSBSZW1vdmUKICAgICAgICAoTGlzdCA6IGluIG91dCBHU2xp
c3Q7CiAgICAgICAgIERhdGEgOiBpbiBHcG9pbnRlcikKICAgICAgaXMKICAgICAgICAgZnVuY3Rp
b24gSW50ZXJuYWwgKExpc3QgOiBTeXN0ZW0uQWRkcmVzczsKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIERhdGEgOiBTeXN0ZW0uQWRkcmVzcykKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHJldHVybiBTeXN0ZW0uQWRkcmVzczsKICAgICAgICAgcHJhZ21hIEltcG9ydCAoQywgSW50ZXJu
YWwsICJnX3NsaXN0X3JlbW92ZSIpOwogICAgICBiZWdpbgogICAgICAgICBTZXRfT2JqZWN0IChM
aXN0LCBJbnRlcm5hbCAoR2V0X09iamVjdCAoTGlzdCksCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBDb252ZXJ0IChEYXRhKSkpOwogICAgICBlbmQgUmVtb3ZlOwoKICAgICAg
LS0tLS0tLS0tLS0tLS0tLS0KICAgICAgLS0gUmVtb3ZlX0xpbmsgLS0KICAgICAgLS0tLS0tLS0t
LS0tLS0tLS0KCiAgICAgIHByb2NlZHVyZSBSZW1vdmVfTGluawogICAgICAgIChMaXN0IDogaW4g
b3V0IEdTbGlzdDsKICAgICAgICAgTGluayA6IGluIEdTbGlzdCkKICAgICAgaXMKICAgICAgICAg
ZnVuY3Rpb24gSW50ZXJuYWwgKExpc3QgOiBTeXN0ZW0uQWRkcmVzczsKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIExpbmsgOiBTeXN0ZW0uQWRkcmVzcykKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHJldHVybiBTeXN0ZW0uQWRkcmVzczsKICAgICAgICAgcHJhZ21hIEltcG9ydCAoQywg
SW50ZXJuYWwsICJnX3NsaXN0X3JlbW92ZV9saW5rIik7CiAgICAgIGJlZ2luCiAgICAgICAgIFNl
dF9PYmplY3QgKExpc3QsIEludGVybmFsIChHZXRfT2JqZWN0IChMaXN0KSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEdldF9PYmplY3QgKExpbmspKSk7CiAgICAgIGVuZCBS
ZW1vdmVfTGluazsKCiAgICAgIC0tLS0tLS0tLS0tLS0tLS0KICAgICAgLS0gU2V0X09iamVjdCAt
LQogICAgICAtLS0tLS0tLS0tLS0tLS0tCgogICAgICBwcm9jZWR1cmUgU2V0X09iamVjdCAoT2Jq
ICAgOiBpbiBvdXQgR1NsaXN0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFsdWUgOiBp
biAgICAgU3lzdGVtLkFkZHJlc3MpIGlzCiAgICAgIGJlZ2luCiAgICAgICAgIE9iai5QdHIgOj0g
VmFsdWU7CiAgICAgIGVuZCBTZXRfT2JqZWN0OwoKICAgZW5kIEdlbmVyaWNfU0xpc3Q7CmVuZCBH
bGliLkdTbGlzdDsKCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: ada/8177: GNAT BUG DETECTED compiling GtkAda on FreeBSD 4.7 rc2
@ 2002-11-11  9:43 fw
  0 siblings, 0 replies; 2+ messages in thread
From: fw @ 2002-11-11  9:43 UTC (permalink / raw)
  To: gcc-bugs, gcc-prs, john, nobody

Synopsis: GNAT BUG DETECTED compiling GtkAda on FreeBSD 4.7 rc2

State-Changed-From-To: open->closed
State-Changed-By: fw
State-Changed-When: Mon Nov 11 09:43:06 2002
State-Changed-Why:
    duplicate of ada/5679

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=8177


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2002-11-11 17:43 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-10-09 13:16 ada/8177: GNAT BUG DETECTED compiling GtkAda on FreeBSD 4.7 rc2 john
2002-11-11  9:43 fw

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).