<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>224059</bug_id>
          
          <creation_ts>2021-04-01 11:22:39 -0700</creation_ts>
          <short_desc>REGRESSION(r275267): [GTK][WPE] 12 new crashes on service-workers layout tests</short_desc>
          <delta_ts>2021-04-01 14:00:42 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Service Workers</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=223808</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Alberto Lopez Perez">clopez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>benjamin</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zdobersek</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1746115</commentid>
    <comment_count>0</comment_count>
      <attachid>424915</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2021-04-01 11:22:39 -0700</bug_when>
    <thetext>Created attachment 424915
full crash log with threads for GTK debug for test imported/w3c/web-platform-tests/service-workers/service-worker/claim-not-using-registration.https.html

It seems r275267 has caused a regression and now this 11 tests crash on GTK and WPE:

Regressions: Unexpected crashes (11)
  imported/w3c/web-platform-tests/service-workers/service-worker/claim-affect-other-registration.https.html [ Crash ]
  imported/w3c/web-platform-tests/service-workers/service-worker/claim-not-using-registration.https.html [ Crash ]
  imported/w3c/web-platform-tests/service-workers/service-worker/claim-using-registration.https.html [ Crash ]
  imported/w3c/web-platform-tests/service-workers/service-worker/controller-with-no-fetch-event-handler.https.html [ Crash ]
  imported/w3c/web-platform-tests/service-workers/service-worker/registration-schedule-job.https.html [ Crash ]
  imported/w3c/web-platform-tests/service-workers/service-worker/registration-script.https.html [ Crash ]
  imported/w3c/web-platform-tests/service-workers/service-worker/registration-updateviacache.https.html [ Crash ]
  imported/w3c/web-platform-tests/service-workers/service-worker/skip-waiting-installed.https.html [ Crash ]
  imported/w3c/web-platform-tests/service-workers/service-worker/update-import-scripts.https.html [ Crash ]
  imported/w3c/web-platform-tests/service-workers/service-worker/update-recovery.https.html [ Crash ]
  imported/w3c/web-platform-tests/service-workers/service-worker/update-result.https.html [ Crash ]


The crash log is this (for the thread crashing):

Thread 1 (Thread 0x7fd6a97fa700 (LWP 2300)):
#0  g_logv (log_domain=0x7fd7060d9998 &quot;GLib-GIO&quot;, log_level=G_LOG_LEVEL_CRITICAL, format=&lt;optimized out&gt;, args=&lt;optimized out&gt;) at ../glib/gmessages.c:1413
#1  0x00007fd705e45973 in g_log (log_domain=log_domain@entry=0x7fd7060d9998 &quot;GLib-GIO&quot;, log_level=log_level@entry=G_LOG_LEVEL_CRITICAL, format=format@entry=0x7fd705e9dad0 &quot;%s: assertion &apos;%s&apos; failed&quot;) at ../glib/gmessages.c:1451
#2  0x00007fd705e4619d in g_return_if_fail_warning (log_domain=log_domain@entry=0x7fd7060d9998 &quot;GLib-GIO&quot;, pretty_function=pretty_function@entry=0x7fd7060e8920 &lt;__func__.31&gt; &quot;g_output_stream_write_all&quot;, expression=expression@entry=0x7fd7060db607 &quot;buffer != NULL&quot;) at ../glib/gmessages.c:2883
#3  0x00007fd706019aba in g_output_stream_write_all (stream=0x7fd68c02e170 [GLocalFileOutputStream], buffer=0x0, count=0, bytes_written=0x7fd6a97f6240, cancellable=0x0, error=0x0) at ../gio/goutputstream.c:296
#4  0x00007fd709f15429 in WTF::FileSystemImpl::writeToFile(_GFileIOStream*, char const*, int) (handle=0x7fd68c001a00, data=0x0, length=0) at ../../Source/WTF/wtf/glib/FileSystemGlib.cpp:411
#5  0x00007fd711bcf74b in operator()(uint8_t const*, size_t) const (__closure=0x7fd702f9dae8, data=0x0, size=0) at ../../Source/WebCore/workers/service/server/SWScriptStorage.cpp:102
#6  0x00007fd711be366b in WTF::Detail::CallableWrapper&lt;WebCore::SWScriptStorage::store(const WebCore::ServiceWorkerRegistrationKey&amp;, const WTF::URL&amp;, const WebCore::SharedBuffer&amp;)::&lt;lambda(const uint8_t*, size_t)&gt;, bool, unsigned char const*, long unsigned int&gt;::call(const unsigned char *, unsigned long) (this=0x7fd702f9dae0, in#0=0x0, in#1=0) at WTF/Headers/wtf/Function.h:52
#7  0x00007fd70dc8e65a in WTF::Function&lt;bool (unsigned char const*, unsigned long)&gt;::operator()(unsigned char const*, unsigned long) const (this=0x7fd6a97f63c0, in#0=0x0, in#1=0) at WTF/Headers/wtf/Function.h:83
#8  0x00007fd711bcf70a in operator()(const WTF::Function&lt;bool(unsigned char const*, long unsigned int)&gt; &amp;) const (__closure=0x7fd6a97f63a8, writeData=...) at ../../Source/WebCore/workers/service/server/SWScriptStorage.cpp:92
#9  0x00007fd711bcf930 in WebCore::SWScriptStorage::store(WebCore::ServiceWorkerRegistrationKey const&amp;, WTF::URL const&amp;, WebCore::SharedBuffer const&amp;) (this=0x7fd702f9d980, registrationKey=..., scriptURL=..., script=...) at ../../Source/WebCore/workers/service/server/SWScriptStorage.cpp:101
#10 0x00007fd711bccfb3 in WebCore::RegistrationDatabase::doPushChanges(WTF::Vector&lt;WebCore::ServiceWorkerContextData, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc&gt; const&amp;, WTF::Vector&lt;WebCore::ServiceWorkerRegistrationKey, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc&gt; const&amp;) (this=0x7fd702ff70c0, updatedRegistrations=..., removedRegistrations=...) at ../../Source/WebCore/workers/service/server/RegistrationDatabase.cpp:468
#11 0x00007fd711bcbe91 in operator()() (__closure=0x7fd702f10d78) at ../../Source/WebCore/workers/service/server/RegistrationDatabase.cpp:370
#12 0x00007fd711be3710 in WTF::Detail::CallableWrapper&lt;WebCore::RegistrationDatabase::schedulePushChanges(WTF::Vector&lt;WebCore::ServiceWorkerContextData&gt;&amp;&amp;, WTF::Vector&lt;WebCore::ServiceWorkerRegistrationKey&gt;&amp;&amp;, WebCore::RegistrationDatabase::ShouldRetry, WTF::CompletionHandler&lt;void()&gt;&amp;&amp;)::&lt;lambda()&gt;, void&gt;::call(void) (this=0x7fd702f10d70) at WTF/Headers/wtf/Function.h:52
#13 0x00007fd70d36097b in WTF::Function&lt;void ()&gt;::operator()() const (this=0x7fd6a83fa4a8) at WTF/Headers/wtf/Function.h:83
#14 0x00007fd711bcab5a in operator()() (__closure=0x7fd6a83fa4a0) at ../../Source/WebCore/workers/service/server/RegistrationDatabase.cpp:188
#15 0x00007fd711be3790 in WTF::Detail::CallableWrapper&lt;WebCore::RegistrationDatabase::postTaskToWorkQueue(WTF::Function&lt;void()&gt;&amp;&amp;)::&lt;lambda()&gt;, void&gt;::call(void) (this=0x7fd6a83fa498) at WTF/Headers/wtf/Function.h:52
#16 0x00007fd708eed2b1 in WTF::Function&lt;void ()&gt;::operator()() const (this=0x7fd6a83fa4c0) at WTF/Headers/wtf/Function.h:83
#17 0x00007fd709f10aac in operator()() const (__closure=0x7fd6a83fa4b8) at ../../Source/WTF/wtf/generic/WorkQueueGeneric.cpp:71
#18 0x00007fd709f1296a in WTF::Detail::CallableWrapper&lt;WTF::WorkQueue::dispatch(WTF::Function&lt;void()&gt;&amp;&amp;)::&lt;lambda()&gt;, void&gt;::call(void) (this=0x7fd6a83fa4b0) at ../../Source/WTF/wtf/Function.h:52
#19 0x00007fd708eed2b1 in WTF::Function&lt;void ()&gt;::operator()() const (this=0x7fd6a97f9940) at WTF/Headers/wtf/Function.h:83
#20 0x00007fd709e76805 in WTF::RunLoop::performWork() (this=0x7fd702f9c000) at ../../Source/WTF/wtf/RunLoop.cpp:133
#21 0x00007fd709f183fa in operator()(gpointer) const (__closure=0x0, userData=0x7fd702f9c000) at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:80
#22 0x00007fd709f1841e in _FUN(gpointer) () at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:82
#23 0x00007fd709f1838d in operator()(GSource*, GSourceFunc, gpointer) const (__closure=0x0, source=0x7fd68c003a50, callback=0x7fd709f18401 &lt;_FUN(gpointer)&gt;, userData=0x7fd702f9c000) at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:53
#24 0x00007fd709f183db in _FUN(GSource*, GSourceFunc, gpointer) () at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:56
#25 0x00007fd705e3ddbf in g_main_dispatch (context=0x7fd68c000b60) at ../glib/gmain.c:3337
#26 g_main_context_dispatch (context=0x7fd68c000b60) at ../glib/gmain.c:4055
#27 0x00007fd705e3e168 in g_main_context_iterate (context=0x7fd68c000b60, block=block@entry=1, dispatch=dispatch@entry=1, self=&lt;optimized out&gt;) at ../glib/gmain.c:4131
#28 0x00007fd705e3e483 in g_main_loop_run (loop=0x7fd68c003a30) at ../glib/gmain.c:4329
#29 0x00007fd709f18998 in WTF::RunLoop::run() () at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:108
#30 0x00007fd709f108f2 in operator()() const (__closure=0x7fd702ff65a8) at ../../Source/WTF/wtf/generic/WorkQueueGeneric.cpp:51
#31 0x00007fd709f129aa in WTF::Detail::CallableWrapper&lt;WTF::WorkQueue::platformInitialize(char const*, WTF::WorkQueue::Type, WTF::WorkQueue::QOS)::&lt;lambda()&gt;, void&gt;::call(void) (this=0x7fd702ff65a0) at ../../Source/WTF/wtf/Function.h:52
#32 0x00007fd708eed2b1 in WTF::Function&lt;void ()&gt;::operator()() const (this=0x7fd6a97f9c30) at WTF/Headers/wtf/Function.h:83
#33 0x00007fd709e7c47f in WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*) (newThreadContext=0x7fd702ff4690) at ../../Source/WTF/wtf/Threading.cpp:181
#34 0x00007fd709f2398d in WTF::wtfThreadEntryPoint(void*) (context=0x7fd702ff4690) at ../../Source/WTF/wtf/posix/ThreadingPOSIX.cpp:241
#35 0x00007fd705dcc4d2 in start_thread (arg=&lt;optimized out&gt;) at pthread_create.c:477
#36 0x00007fd7058ba323 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

I&apos;m attaching the full crash log with threads</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746119</commentid>
    <comment_count>1</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2021-04-01 11:28:20 -0700</bug_when>
    <thetext>And it have made also crash the test http/wpt/service-workers/clone-opaque-being-loaded-response.html (same backtrace)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746120</commentid>
    <comment_count>2</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-04-01 11:30:22 -0700</bug_when>
    <thetext>Sadly, the issue is not obvious to me. I don&apos;t see what&apos;s different about the glib port here, expect that it is using a different version of FileSystem::writeToFile(). I will likely need help from someone able to run the glib port to debug this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746127</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-04-01 11:47:46 -0700</bug_when>
    <thetext>I think this means the buffer that is being passed to g_output_stream_write_all() is nullptr, which I guess is possible if the bufferSize is 0.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746131</commentid>
    <comment_count>4</comment_count>
      <attachid>424919</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-04-01 11:52:20 -0700</bug_when>
    <thetext>Created attachment 424919
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746132</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-04-01 11:53:14 -0700</bug_when>
    <thetext>I have not been able to validate my fix but I *think* this is what the glib port implementation of fileSystem::writeToFile() did not like.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746134</commentid>
    <comment_count>6</comment_count>
      <attachid>424919</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-04-01 11:54:05 -0700</bug_when>
    <thetext>Comment on attachment 424919
Patch

Have another idea.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746139</commentid>
    <comment_count>7</comment_count>
      <attachid>424921</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-04-01 11:57:52 -0700</bug_when>
    <thetext>Created attachment 424921
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746225</commentid>
    <comment_count>8</comment_count>
      <attachid>424921</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2021-04-01 13:39:18 -0700</bug_when>
    <thetext>Comment on attachment 424921
Patch

Tested! It fixes the issue! thanks :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746226</commentid>
    <comment_count>9</comment_count>
      <attachid>424921</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-04-01 13:40:51 -0700</bug_when>
    <thetext>Comment on attachment 424921
Patch

Great, thanks for validating the fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746256</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-01 13:59:20 -0700</bug_when>
    <thetext>Committed r275379: &lt;https://commits.webkit.org/r275379&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 424921.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746257</commentid>
    <comment_count>11</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-04-01 14:00:42 -0700</bug_when>
    <thetext>&lt;rdar://problem/76120318&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>424915</attachid>
            <date>2021-04-01 11:22:39 -0700</date>
            <delta_ts>2021-04-01 11:22:39 -0700</delta_ts>
            <desc>full crash log with threads for GTK debug for test imported/w3c/web-platform-tests/service-workers/service-worker/claim-not-using-registration.https.html</desc>
            <filename>claim-not-using-registration.https-crash-log.txt</filename>
            <type>text/plain</type>
            <size>36699</size>
            <attacher name="Carlos Alberto Lopez Perez">clopez</attacher>
            
              <data encoding="base64">Y3Jhc2ggbG9nIGZvciBXZWJLaXROZXR3b3JrUHJvY2VzcyAocGlkIDIyNzEpOgoKRVJST1I6IFRo
ZSBnZGIgcHJvY2VzcyBleGl0ZWQgd2l0aCBub24temVybyByZXR1cm4gY29kZSBOb25lCgpbTmV3
IExXUCAyMzAwXQpbTmV3IExXUCAyMjcxXQpbTmV3IExXUCAyMjkwXQpbTmV3IExXUCAyMjg5XQpb
TmV3IExXUCAyMjg4XQpbTmV3IExXUCAyMjk0XQpbTmV3IExXUCAyMjkyXQpbTmV3IExXUCAyMjk4
XQpbTmV3IExXUCAyMjk1XQpbTmV3IExXUCAyMjkzXQpbTmV3IExXUCAyMjk2XQpbTmV3IExXUCAy
Mjk3XQpbTmV3IExXUCAyMzI0XQpbTmV3IExXUCAyNzY2XQpbTmV3IExXUCAyMzAxXQpbTmV3IExX
UCAyMjk5XQpbVGhyZWFkIGRlYnVnZ2luZyB1c2luZyBsaWJ0aHJlYWRfZGIgZW5hYmxlZF0KVXNp
bmcgaG9zdCBsaWJ0aHJlYWRfZGIgbGlicmFyeSAiL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9s
aWJ0aHJlYWRfZGIuc28uMSIuCkNvcmUgd2FzIGdlbmVyYXRlZCBieSBgL2FwcC93ZWJraXQvV2Vi
S2l0QnVpbGQvRGVidWcvYmluL1dlYktpdE5ldHdvcmtQcm9jZXNzIDUgMTAnLgpQcm9ncmFtIHRl
cm1pbmF0ZWQgd2l0aCBzaWduYWwgU0lHVFJBUCwgVHJhY2UvYnJlYWtwb2ludCB0cmFwLgojMCAg
Z19sb2d2IChsb2dfZG9tYWluPTB4N2ZkNzA2MGQ5OTk4ICJHTGliLUdJTyIsIGxvZ19sZXZlbD1H
X0xPR19MRVZFTF9DUklUSUNBTCwgZm9ybWF0PTxvcHRpbWl6ZWQgb3V0PiwgYXJncz08b3B0aW1p
emVkIG91dD4pIGF0IC4uL2dsaWIvZ21lc3NhZ2VzLmM6MTQxMwoxNDEzCQkgIGdfcHJpdmF0ZV9z
ZXQgKCZnX2xvZ19kZXB0aCwgR1VJTlRfVE9fUE9JTlRFUiAoZGVwdGgpKTsKW0N1cnJlbnQgdGhy
ZWFkIGlzIDEgKFRocmVhZCAweDdmZDZhOTdmYTcwMCAoTFdQIDIzMDApKV0KClRocmVhZCAxNiAo
VGhyZWFkIDB4N2ZkNmE5ZmZiNzAwIChMV1AgMjI5OSkpOgojMCAgZnV0ZXhfd2FpdF9jYW5jZWxh
YmxlIChwcml2YXRlPTAsIGV4cGVjdGVkPTAsIGZ1dGV4X3dvcmQ9MHg3ZmQ3MDJmYWMwNjQpIGF0
IC4uL3N5c2RlcHMvbnB0bC9mdXRleC1pbnRlcm5hbC5oOjE4Mwp3YXJuaW5nOiAoSW50ZXJuYWwg
ZXJyb3I6IHBjIDB4N2ZkNzA5ZTM1ZDdjIGluIHJlYWQgaW4gQ1UsIGJ1dCBub3QgaW4gc3ltdGFi
LikKd2FybmluZzogKEludGVybmFsIGVycm9yOiBwYyAweDdmZDcwOWUzNWQ3YyBpbiByZWFkIGlu
IENVLCBidXQgbm90IGluIHN5bXRhYi4pCndhcm5pbmc6IChJbnRlcm5hbCBlcnJvcjogcGMgMHg3
ZmQ3MDllMzVkNjIgaW4gcmVhZCBpbiBDVSwgYnV0IG5vdCBpbiBzeW10YWIuKQp3YXJuaW5nOiAo
SW50ZXJuYWwgZXJyb3I6IHBjIDB4N2ZkNzA5ZTM1ZDdjIGluIHJlYWQgaW4gQ1UsIGJ1dCBub3Qg
aW4gc3ltdGFiLikKIzEgIF9fcHRocmVhZF9jb25kX3dhaXRfY29tbW9uIChhYnN0aW1lPTB4MCwg
Y2xvY2tpZD0wLCBtdXRleD0weDdmZDcwMmZhYzAxMCwgY29uZD0weDdmZDcwMmZhYzAzOCkgYXQg
cHRocmVhZF9jb25kX3dhaXQuYzo1MDgKd2FybmluZzogKEludGVybmFsIGVycm9yOiBwYyAweDdm
ZDcwOWUzNWQ3YyBpbiByZWFkIGluIENVLCBidXQgbm90IGluIHN5bXRhYi4pCiMyICBfX3B0aHJl
YWRfY29uZF93YWl0IChjb25kPTB4N2ZkNzAyZmFjMDM4LCBtdXRleD0weDdmZDcwMmZhYzAxMCkg
YXQgcHRocmVhZF9jb25kX3dhaXQuYzo2MzgKIzMgIDB4MDAwMDdmZDcwOWYyNDZiNCBpbiBXVEY6
OlRocmVhZENvbmRpdGlvbjo6d2FpdChXVEY6Ok11dGV4JikgKHRoaXM9MHg3ZmQ3MDJmYWMwMzgs
IG11dGV4PS4uLikgYXQgLi4vLi4vU291cmNlL1dURi93dGYvcG9zaXgvVGhyZWFkaW5nUE9TSVgu
Y3BwOjU4MgojNCAgMHgwMDAwN2ZkNzA5ZjI0Nzc1IGluIFdURjo6VGhyZWFkQ29uZGl0aW9uOjp0
aW1lZFdhaXQoV1RGOjpNdXRleCYsIFdURjo6V2FsbFRpbWUpICh0aGlzPTB4N2ZkNzAyZmFjMDM4
LCBtdXRleD0uLi4sIGFic29sdXRlVGltZT0uLi4pIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL3Bv
c2l4L1RocmVhZGluZ1BPU0lYLmNwcDo1OTIKIzUgIDB4MDAwMDdmZDcwOWU2YzQwNiBpbiBXVEY6
OlBhcmtpbmdMb3Q6OnBhcmtDb25kaXRpb25hbGx5SW1wbCh2b2lkIGNvbnN0KiwgV1RGOjpTY29w
ZWRMYW1iZGE8Ym9vbCAoKT4gY29uc3QmLCBXVEY6OlNjb3BlZExhbWJkYTx2b2lkICgpPiBjb25z
dCYsIFdURjo6VGltZVdpdGhEeW5hbWljQ2xvY2tUeXBlIGNvbnN0JikgKGFkZHJlc3M9MHg3ZmQ3
MDJmYjUwMzksIHZhbGlkYXRpb249Li4uLCBiZWZvcmVTbGVlcD0uLi4sIHRpbWVvdXQ9Li4uKSBh
dCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9QYXJraW5nTG90LmNwcDo1OTUKIzYgIDB4MDAwMDdmZDcw
OTA4MTIzMyBpbiBXVEY6OlBhcmtpbmdMb3Q6OnBhcmtDb25kaXRpb25hbGx5PFdURjo6Q29uZGl0
aW9uOjp3YWl0VW50aWw8V1RGOjpMb2NrPihXVEY6OkxvY2smLCBXVEY6OlRpbWVXaXRoRHluYW1p
Y0Nsb2NrVHlwZSBjb25zdCYpOjp7bGFtYmRhKCkjMX0sIFdURjo6Q29uZGl0aW9uOjp3YWl0VW50
aWw8V1RGOjpMb2NrPihXVEY6OkxvY2smLCBXVEY6OlRpbWVXaXRoRHluYW1pY0Nsb2NrVHlwZSBj
b25zdCYpOjp7bGFtYmRhKCkjMn0+KHZvaWQgY29uc3QqLCBXVEY6OkNvbmRpdGlvbjo6d2FpdFVu
dGlsPFdURjo6TG9jaz4oV1RGOjpMb2NrJiwgV1RGOjpUaW1lV2l0aER5bmFtaWNDbG9ja1R5cGUg
Y29uc3QmKTo6e2xhbWJkYSgpIzF9IGNvbnN0JiwgV1RGOjpDb25kaXRpb246OndhaXRVbnRpbDxX
VEY6OkxvY2s+KFdURjo6TG9jayYsIFdURjo6VGltZVdpdGhEeW5hbWljQ2xvY2tUeXBlIGNvbnN0
Jik6OntsYW1iZGEoKSMyfSBjb25zdCYsIFdURjo6VGltZVdpdGhEeW5hbWljQ2xvY2tUeXBlIGNv
bnN0JikgKGFkZHJlc3M9MHg3ZmQ3MDJmYjUwMzksIHZhbGlkYXRpb249Li4uLCBiZWZvcmVTbGVl
cD0uLi4sIHRpbWVvdXQ9Li4uKSBhdCBXVEYvSGVhZGVycy93dGYvUGFya2luZ0xvdC5oOjgyCiM3
ICAweDAwMDA3ZmQ3MDkwN2RmYjEgaW4gV1RGOjpDb25kaXRpb246OndhaXRVbnRpbDxXVEY6Okxv
Y2s+KFdURjo6TG9jayYsIFdURjo6VGltZVdpdGhEeW5hbWljQ2xvY2tUeXBlIGNvbnN0JikgKHRo
aXM9MHg3ZmQ3MDJmYjUwMzksIGxvY2s9Li4uLCB0aW1lb3V0PS4uLikgYXQgV1RGL0hlYWRlcnMv
d3RmL0NvbmRpdGlvbi5oOjc2CiM4ICAweDAwMDA3ZmQ3MDkwN2E0YjMgaW4gV1RGOjpDb25kaXRp
b246OndhaXQ8V1RGOjpMb2NrPihXVEY6OkxvY2smKSAodGhpcz0weDdmZDcwMmZiNTAzOSwgbG9j
az0uLi4pIGF0IFdURi9IZWFkZXJzL3d0Zi9Db25kaXRpb24uaDoxMjIKd2FybmluZzogKEludGVy
bmFsIGVycm9yOiBwYyAweDdmZDcwOWUzNWQ3YyBpbiByZWFkIGluIENVLCBidXQgbm90IGluIHN5
bXRhYi4pCiM5ICAweDAwMDA3ZmQ3MDllMzc3YzUgaW4gV1RGOjpDcm9zc1RocmVhZFF1ZXVlPFdU
Rjo6Q3Jvc3NUaHJlYWRUYXNrPjo6d2FpdEZvck1lc3NhZ2UoKSAodGhpcz0weDdmZDcwMmZiNTAx
MCkgYXQgLi4vLi4vU291cmNlL1dURi93dGYvQ3Jvc3NUaHJlYWRRdWV1ZS5oOjgxCndhcm5pbmc6
IChJbnRlcm5hbCBlcnJvcjogcGMgMHg3ZmQ3MDllMzVkN2MgaW4gcmVhZCBpbiBDVSwgYnV0IG5v
dCBpbiBzeW10YWIuKQojMTAgMHgwMDAwN2ZkNzA5ZTM2MWIxIGluIFdURjo6Q3Jvc3NUaHJlYWRU
YXNrSGFuZGxlcjo6dGFza1J1bkxvb3AoKSAod2FybmluZzogKEludGVybmFsIGVycm9yOiBwYyAw
eDdmZDcwOWUzNWQ3YyBpbiByZWFkIGluIENVLCBidXQgbm90IGluIHN5bXRhYi4pCnRoaXM9MHg3
ZmQ3MDJmYjUwMDApIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL0Nyb3NzVGhyZWFkVGFza0hhbmRs
ZXIuY3BwOjgwCndhcm5pbmc6IChJbnRlcm5hbCBlcnJvcjogcGMgMHg3ZmQ3MDllMzVkN2MgaW4g
cmVhZCBpbiBDVSwgYnV0IG5vdCBpbiBzeW10YWIuKQp3YXJuaW5nOiAoSW50ZXJuYWwgZXJyb3I6
IHBjIDB4N2ZkNzA5ZTM1ZDdjIGluIHJlYWQgaW4gQ1UsIGJ1dCBub3QgaW4gc3ltdGFiLikKIzEx
IDB4MDAwMDdmZDcwOWUzNWQ3ZCBpbiB3YXJuaW5nOiAoSW50ZXJuYWwgZXJyb3I6IHBjIDB4N2Zk
NzA5ZTM1ZDdjIGluIHJlYWQgaW4gQ1UsIGJ1dCBub3QgaW4gc3ltdGFiLikKb3BlcmF0b3IoKSgp
IGNvbnN0d2FybmluZzogKEludGVybmFsIGVycm9yOiBwYyAweDdmZDcwOWUzNWQ3YyBpbiByZWFk
IGluIENVLCBidXQgbm90IGluIHN5bXRhYi4pCndhcm5pbmc6IChJbnRlcm5hbCBlcnJvcjogcGMg
MHg3ZmQ3MDllMzVkN2MgaW4gcmVhZCBpbiBDVSwgYnV0IG5vdCBpbiBzeW10YWIuKQogKHdhcm5p
bmc6IChJbnRlcm5hbCBlcnJvcjogcGMgMHg3ZmQ3MDllMzVkN2MgaW4gcmVhZCBpbiBDVSwgYnV0
IG5vdCBpbiBzeW10YWIuKQpfX2Nsb3N1cmU9MHg3ZmQ3MDJmZmEzNTgpd2FybmluZzogKEludGVy
bmFsIGVycm9yOiBwYyAweDdmZDcwOWUzNWQ3YyBpbiByZWFkIGluIENVLCBidXQgbm90IGluIHN5
bXRhYi4pCiBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9Dcm9zc1RocmVhZFRhc2tIYW5kbGVyLmNw
cHdhcm5pbmc6IChJbnRlcm5hbCBlcnJvcjogcGMgMHg3ZmQ3MDllMzVkN2MgaW4gcmVhZCBpbiBD
VSwgYnV0IG5vdCBpbiBzeW10YWIuKQp3YXJuaW5nOiAoSW50ZXJuYWwgZXJyb3I6IHBjIDB4N2Zk
NzA5ZTM1ZDdjIGluIHJlYWQgaW4gQ1UsIGJ1dCBub3QgaW4gc3ltdGFiLikKOjM5CiMxMiAweDAw
MDA3ZmQ3MDllMzcxMWEgaW4gV1RGOjpEZXRhaWw6OkNhbGxhYmxlV3JhcHBlcjxXVEY6OkNyb3Nz
VGhyZWFkVGFza0hhbmRsZXI6OkNyb3NzVGhyZWFkVGFza0hhbmRsZXIoY2hhciBjb25zdCosIFdU
Rjo6Q3Jvc3NUaHJlYWRUYXNrSGFuZGxlcjo6QXV0b2RyYWluZWRQb29sRm9yUnVuTG9vcCk6Ojxs
YW1iZGEoKT4sIHZvaWQ+OjpjYWxsKHZvaWQpICh0aGlzPTB4N2ZkNzAyZmZhMzUwKSBhdCAuLi8u
Li9Tb3VyY2UvV1RGL3d0Zi9GdW5jdGlvbi5oOjUyCiMxMyAweDAwMDA3ZmQ3MDhlZWQyYjEgaW4g
V1RGOjpGdW5jdGlvbjx2b2lkICgpPjo6b3BlcmF0b3IoKSgpIGNvbnN0ICh0aGlzPTB4N2ZkNmE5
ZmZhYzMwKSBhdCBXVEYvSGVhZGVycy93dGYvRnVuY3Rpb24uaDo4MwojMTQgMHgwMDAwN2ZkNzA5
ZTdjNDdmIGluIFdURjo6VGhyZWFkOjplbnRyeVBvaW50KFdURjo6VGhyZWFkOjpOZXdUaHJlYWRD
b250ZXh0KikgKG5ld1RocmVhZENvbnRleHQ9MHg3ZmQ3MDJmZjQ1ZjApIGF0IC4uLy4uL1NvdXJj
ZS9XVEYvd3RmL1RocmVhZGluZy5jcHA6MTgxCiMxNSAweDAwMDA3ZmQ3MDlmMjM5OGQgaW4gV1RG
Ojp3dGZUaHJlYWRFbnRyeVBvaW50KHZvaWQqKSAoY29udGV4dD0weDdmZDcwMmZmNDVmMCkgYXQg
Li4vLi4vU291cmNlL1dURi93dGYvcG9zaXgvVGhyZWFkaW5nUE9TSVguY3BwOjI0MQojMTYgMHgw
MDAwN2ZkNzA1ZGNjNGQyIGluIHN0YXJ0X3RocmVhZCAoYXJnPTxvcHRpbWl6ZWQgb3V0PikgYXQg
cHRocmVhZF9jcmVhdGUuYzo0NzcKIzE3IDB4MDAwMDdmZDcwNThiYTMyMyBpbiBjbG9uZSAoKSBh
dCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvY2xvbmUuUzo5NQoKVGhyZWFkIDE1
IChUaHJlYWQgMHg3ZmQ2YThmZjk3MDAgKExXUCAyMzAxKSk6CiMwICAweDAwMDA3ZmQ3MDU4YWY1
M2YgaW4gX19HSV9fX3BvbGwgKGZkcz0weDdmZDY5MDAwNDE3MCwgbmZkcz0xLCB0aW1lb3V0PS0x
KSBhdCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb2xsLmM6MjkKIzEgIDB4MDAwMDdmZDcw
NWUzZTBmZSBpbiBnX21haW5fY29udGV4dF9wb2xsIChwcmlvcml0eT08b3B0aW1pemVkIG91dD4s
IG5fZmRzPTEsIGZkcz0weDdmZDY5MDAwNDE3MCwgdGltZW91dD08b3B0aW1pemVkIG91dD4sIGNv
bnRleHQ9MHg3ZmQ2OTAwMDBiNjApIGF0IC4uL2dsaWIvZ21haW4uYzo0NDM0CiMyICBnX21haW5f
Y29udGV4dF9pdGVyYXRlIChjb250ZXh0PTB4N2ZkNjkwMDAwYjYwLCBibG9jaz1ibG9ja0BlbnRy
eT0xLCBkaXNwYXRjaD1kaXNwYXRjaEBlbnRyeT0xLCBzZWxmPTxvcHRpbWl6ZWQgb3V0PikgYXQg
Li4vZ2xpYi9nbWFpbi5jOjQxMjYKIzMgIDB4MDAwMDdmZDcwNWUzZTQ4MyBpbiBnX21haW5fbG9v
cF9ydW4gKGxvb3A9MHg3ZmQ2OTAwMDM0MDApIGF0IC4uL2dsaWIvZ21haW4uYzo0MzI5CiM0ICAw
eDAwMDA3ZmQ3MDlmMTg5OTggaW4gV1RGOjpSdW5Mb29wOjpydW4oKSAoKSBhdCAuLi8uLi9Tb3Vy
Y2UvV1RGL3d0Zi9nbGliL1J1bkxvb3BHTGliLmNwcDoxMDgKIzUgIDB4MDAwMDdmZDcwOWYxMDhm
MiBpbiBvcGVyYXRvcigpKCkgY29uc3QgKF9fY2xvc3VyZT0weDdmZDcwMmZmNjZlMCkgYXQgLi4v
Li4vU291cmNlL1dURi93dGYvZ2VuZXJpYy9Xb3JrUXVldWVHZW5lcmljLmNwcDo1MQojNiAgMHgw
MDAwN2ZkNzA5ZjEyOWFhIGluIFdURjo6RGV0YWlsOjpDYWxsYWJsZVdyYXBwZXI8V1RGOjpXb3Jr
UXVldWU6OnBsYXRmb3JtSW5pdGlhbGl6ZShjaGFyIGNvbnN0KiwgV1RGOjpXb3JrUXVldWU6OlR5
cGUsIFdURjo6V29ya1F1ZXVlOjpRT1MpOjo8bGFtYmRhKCk+LCB2b2lkPjo6Y2FsbCh2b2lkKSAo
dGhpcz0weDdmZDcwMmZmNjZkOCkgYXQgLi4vLi4vU291cmNlL1dURi93dGYvRnVuY3Rpb24uaDo1
MgojNyAgMHgwMDAwN2ZkNzA4ZWVkMmIxIGluIFdURjo6RnVuY3Rpb248dm9pZCAoKT46Om9wZXJh
dG9yKCkoKSBjb25zdCAodGhpcz0weDdmZDZhOGZmOGMzMCkgYXQgV1RGL0hlYWRlcnMvd3RmL0Z1
bmN0aW9uLmg6ODMKIzggIDB4MDAwMDdmZDcwOWU3YzQ3ZiBpbiBXVEY6OlRocmVhZDo6ZW50cnlQ
b2ludChXVEY6OlRocmVhZDo6TmV3VGhyZWFkQ29udGV4dCopIChuZXdUaHJlYWRDb250ZXh0PTB4
N2ZkNzAyZmY0NzMwKSBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuY3BwOjE4MQoj
OSAgMHgwMDAwN2ZkNzA5ZjIzOThkIGluIFdURjo6d3RmVGhyZWFkRW50cnlQb2ludCh2b2lkKikg
KGNvbnRleHQ9MHg3ZmQ3MDJmZjQ3MzApIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL3Bvc2l4L1Ro
cmVhZGluZ1BPU0lYLmNwcDoyNDEKIzEwIDB4MDAwMDdmZDcwNWRjYzRkMiBpbiBzdGFydF90aHJl
YWQgKGFyZz08b3B0aW1pemVkIG91dD4pIGF0IHB0aHJlYWRfY3JlYXRlLmM6NDc3CiMxMSAweDAw
MDA3ZmQ3MDU4YmEzMjMgaW4gY2xvbmUgKCkgYXQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgv
eDg2XzY0L2Nsb25lLlM6OTUKClRocmVhZCAxNCAoVGhyZWFkIDB4N2ZkNjhiN2ZlNzAwIChMV1Ag
Mjc2NikpOgojMCAgc3lzY2FsbCAoKSBhdCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZf
NjQvc3lzY2FsbC5TOjM4CiMxICAweDAwMDA3ZmQ3MDVlOTI0YjYgaW4gZ19jb25kX3dhaXRfdW50
aWwgKGNvbmQ9Y29uZEBlbnRyeT0weDU1ODM0YTAwMGQ3OCwgbXV0ZXg9bXV0ZXhAZW50cnk9MHg1
NTgzNGEwMDBkNzAsIGVuZF90aW1lPWVuZF90aW1lQGVudHJ5PTY0MTg3OTk4MzQzNTEpIGF0IC4u
L2dsaWIvZ3RocmVhZC1wb3NpeC5jOjE2MTIKIzIgIDB4MDAwMDdmZDcwNWUwYzU5MSBpbiBnX2Fz
eW5jX3F1ZXVlX3BvcF9pbnRlcm5fdW5sb2NrZWQgKHF1ZXVlPTB4NTU4MzRhMDAwZDcwLCB3YWl0
PTEsIGVuZF90aW1lPTY0MTg3OTk4MzQzNTEpIGF0IC4uL2dsaWIvZ2FzeW5jcXVldWUuYzo0MjIK
IzMgIDB4MDAwMDdmZDcwNWU2OGZmYSBpbiBnX3RocmVhZF9wb29sX3dhaXRfZm9yX25ld190YXNr
IChwb29sPTxvcHRpbWl6ZWQgb3V0PikgYXQgLi4vZ2xpYi9ndGhyZWFkcG9vbC5jOjI3OAojNCAg
Z190aHJlYWRfcG9vbF90aHJlYWRfcHJveHkgKGRhdGE9PG9wdGltaXplZCBvdXQ+KSBhdCAuLi9n
bGliL2d0aHJlYWRwb29sLmM6MzQzCiM1ICAweDAwMDA3ZmQ3MDVlNjg1YTEgaW4gZ190aHJlYWRf
cHJveHkgKGRhdGE9MHg3ZmQ2OWMwMDIxZTApIGF0IC4uL2dsaWIvZ3RocmVhZC5jOjgyNgojNiAg
MHgwMDAwN2ZkNzA1ZGNjNGQyIGluIHN0YXJ0X3RocmVhZCAoYXJnPTxvcHRpbWl6ZWQgb3V0Pikg
YXQgcHRocmVhZF9jcmVhdGUuYzo0NzcKIzcgIDB4MDAwMDdmZDcwNThiYTMyMyBpbiBjbG9uZSAo
KSBhdCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvY2xvbmUuUzo5NQoKVGhyZWFk
IDEzIChUaHJlYWQgMHg3ZmQ2OGJmZmY3MDAgKExXUCAyMzI0KSk6CiMwICAweDAwMDA3ZmQ3MDU4
YWY1M2YgaW4gX19HSV9fX3BvbGwgKGZkcz0weDdmZDY4NDAwNGJkMCwgbmZkcz0yLCB0aW1lb3V0
PS0xKSBhdCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb2xsLmM6MjkKIzEgIDB4MDAwMDdm
ZDcwNWUzZTBmZSBpbiBnX21haW5fY29udGV4dF9wb2xsIChwcmlvcml0eT08b3B0aW1pemVkIG91
dD4sIG5fZmRzPTIsIGZkcz0weDdmZDY4NDAwNGJkMCwgdGltZW91dD08b3B0aW1pemVkIG91dD4s
IGNvbnRleHQ9MHg3ZmQ2ODQwMDBiNjApIGF0IC4uL2dsaWIvZ21haW4uYzo0NDM0CiMyICBnX21h
aW5fY29udGV4dF9pdGVyYXRlIChjb250ZXh0PTB4N2ZkNjg0MDAwYjYwLCBibG9jaz1ibG9ja0Bl
bnRyeT0xLCBkaXNwYXRjaD1kaXNwYXRjaEBlbnRyeT0xLCBzZWxmPTxvcHRpbWl6ZWQgb3V0Pikg
YXQgLi4vZ2xpYi9nbWFpbi5jOjQxMjYKIzMgIDB4MDAwMDdmZDcwNWUzZTQ4MyBpbiBnX21haW5f
bG9vcF9ydW4gKGxvb3A9MHg3ZmQ2ODQwMDNhMzApIGF0IC4uL2dsaWIvZ21haW4uYzo0MzI5CiM0
ICAweDAwMDA3ZmQ3MDlmMTg5OTggaW4gV1RGOjpSdW5Mb29wOjpydW4oKSAoKSBhdCAuLi8uLi9T
b3VyY2UvV1RGL3d0Zi9nbGliL1J1bkxvb3BHTGliLmNwcDoxMDgKIzUgIDB4MDAwMDdmZDcwOWYx
MDhmMiBpbiBvcGVyYXRvcigpKCkgY29uc3QgKF9fY2xvc3VyZT0weDdmZDcwMmZmNmI3OCkgYXQg
Li4vLi4vU291cmNlL1dURi93dGYvZ2VuZXJpYy9Xb3JrUXVldWVHZW5lcmljLmNwcDo1MQojNiAg
MHgwMDAwN2ZkNzA5ZjEyOWFhIGluIFdURjo6RGV0YWlsOjpDYWxsYWJsZVdyYXBwZXI8V1RGOjpX
b3JrUXVldWU6OnBsYXRmb3JtSW5pdGlhbGl6ZShjaGFyIGNvbnN0KiwgV1RGOjpXb3JrUXVldWU6
OlR5cGUsIFdURjo6V29ya1F1ZXVlOjpRT1MpOjo8bGFtYmRhKCk+LCB2b2lkPjo6Y2FsbCh2b2lk
KSAodGhpcz0weDdmZDcwMmZmNmI3MCkgYXQgLi4vLi4vU291cmNlL1dURi93dGYvRnVuY3Rpb24u
aDo1MgojNyAgMHgwMDAwN2ZkNzA4ZWVkMmIxIGluIFdURjo6RnVuY3Rpb248dm9pZCAoKT46Om9w
ZXJhdG9yKCkoKSBjb25zdCAodGhpcz0weDdmZDY4YmZmZWMzMCkgYXQgV1RGL0hlYWRlcnMvd3Rm
L0Z1bmN0aW9uLmg6ODMKIzggIDB4MDAwMDdmZDcwOWU3YzQ3ZiBpbiBXVEY6OlRocmVhZDo6ZW50
cnlQb2ludChXVEY6OlRocmVhZDo6TmV3VGhyZWFkQ29udGV4dCopIChuZXdUaHJlYWRDb250ZXh0
PTB4N2ZkNzAyZmY0NzgwKSBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuY3BwOjE4
MQojOSAgMHgwMDAwN2ZkNzA5ZjIzOThkIGluIFdURjo6d3RmVGhyZWFkRW50cnlQb2ludCh2b2lk
KikgKGNvbnRleHQ9MHg3ZmQ3MDJmZjQ3ODApIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL3Bvc2l4
L1RocmVhZGluZ1BPU0lYLmNwcDoyNDEKIzEwIDB4MDAwMDdmZDcwNWRjYzRkMiBpbiBzdGFydF90
aHJlYWQgKGFyZz08b3B0aW1pemVkIG91dD4pIGF0IHB0aHJlYWRfY3JlYXRlLmM6NDc3CiMxMSAw
eDAwMDA3ZmQ3MDU4YmEzMjMgaW4gY2xvbmUgKCkgYXQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGlu
dXgveDg2XzY0L2Nsb25lLlM6OTUKClRocmVhZCAxMiAoVGhyZWFkIDB4N2ZkNmFhZmZkNzAwIChM
V1AgMjI5NykpOgojMCAgc3lzY2FsbCAoKSBhdCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94
ODZfNjQvc3lzY2FsbC5TOjM4CiMxICAweDAwMDA3ZmQ3MDVlOTI0YjYgaW4gZ19jb25kX3dhaXRf
dW50aWwgKGNvbmQ9Y29uZEBlbnRyeT0weDU1ODM0YTAwMGQ3OCwgbXV0ZXg9bXV0ZXhAZW50cnk9
MHg1NTgzNGEwMDBkNzAsIGVuZF90aW1lPWVuZF90aW1lQGVudHJ5PTY0MTg3OTk4MzU2NDcpIGF0
IC4uL2dsaWIvZ3RocmVhZC1wb3NpeC5jOjE2MTIKIzIgIDB4MDAwMDdmZDcwNWUwYzU5MSBpbiBn
X2FzeW5jX3F1ZXVlX3BvcF9pbnRlcm5fdW5sb2NrZWQgKHF1ZXVlPTB4NTU4MzRhMDAwZDcwLCB3
YWl0PTEsIGVuZF90aW1lPTY0MTg3OTk4MzU2NDcpIGF0IC4uL2dsaWIvZ2FzeW5jcXVldWUuYzo0
MjIKIzMgIDB4MDAwMDdmZDcwNWU2OGZmYSBpbiBnX3RocmVhZF9wb29sX3dhaXRfZm9yX25ld190
YXNrIChwb29sPTxvcHRpbWl6ZWQgb3V0PikgYXQgLi4vZ2xpYi9ndGhyZWFkcG9vbC5jOjI3OAoj
NCAgZ190aHJlYWRfcG9vbF90aHJlYWRfcHJveHkgKGRhdGE9PG9wdGltaXplZCBvdXQ+KSBhdCAu
Li9nbGliL2d0aHJlYWRwb29sLmM6MzQzCiM1ICAweDAwMDA3ZmQ3MDVlNjg1YTEgaW4gZ190aHJl
YWRfcHJveHkgKGRhdGE9MHg3ZmQ2OWMwMDIyYTApIGF0IC4uL2dsaWIvZ3RocmVhZC5jOjgyNgoj
NiAgMHgwMDAwN2ZkNzA1ZGNjNGQyIGluIHN0YXJ0X3RocmVhZCAoYXJnPTxvcHRpbWl6ZWQgb3V0
PikgYXQgcHRocmVhZF9jcmVhdGUuYzo0NzcKIzcgIDB4MDAwMDdmZDcwNThiYTMyMyBpbiBjbG9u
ZSAoKSBhdCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvY2xvbmUuUzo5NQoKVGhy
ZWFkIDExIChUaHJlYWQgMHg3ZmQ2YWI3ZmU3MDAgKExXUCAyMjk2KSk6CiMwICAweDAwMDA3ZmQ3
MDU4YWY1M2YgaW4gX19HSV9fX3BvbGwgKGZkcz0weDdmZDY5YzAwNGJkMCwgbmZkcz0xLCB0aW1l
b3V0PS0xKSBhdCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb2xsLmM6MjkKIzEgIDB4MDAw
MDdmZDcwNWUzZTBmZSBpbiBnX21haW5fY29udGV4dF9wb2xsIChwcmlvcml0eT08b3B0aW1pemVk
IG91dD4sIG5fZmRzPTEsIGZkcz0weDdmZDY5YzAwNGJkMCwgdGltZW91dD08b3B0aW1pemVkIG91
dD4sIGNvbnRleHQ9MHg3ZmQ2OWMwMDBiNjApIGF0IC4uL2dsaWIvZ21haW4uYzo0NDM0CiMyICBn
X21haW5fY29udGV4dF9pdGVyYXRlIChjb250ZXh0PTB4N2ZkNjljMDAwYjYwLCBibG9jaz1ibG9j
a0BlbnRyeT0xLCBkaXNwYXRjaD1kaXNwYXRjaEBlbnRyeT0xLCBzZWxmPTxvcHRpbWl6ZWQgb3V0
PikgYXQgLi4vZ2xpYi9nbWFpbi5jOjQxMjYKIzMgIDB4MDAwMDdmZDcwNWUzZTQ4MyBpbiBnX21h
aW5fbG9vcF9ydW4gKGxvb3A9MHg3ZmQ2OWMwMDNlNjApIGF0IC4uL2dsaWIvZ21haW4uYzo0MzI5
CiM0ICAweDAwMDA3ZmQ3MDlmMTg5OTggaW4gV1RGOjpSdW5Mb29wOjpydW4oKSAoKSBhdCAuLi8u
Li9Tb3VyY2UvV1RGL3d0Zi9nbGliL1J1bkxvb3BHTGliLmNwcDoxMDgKIzUgIDB4MDAwMDdmZDcw
OWYxMDhmMiBpbiBvcGVyYXRvcigpKCkgY29uc3QgKF9fY2xvc3VyZT0weDdmZDcwMmZmNjJjMCkg
YXQgLi4vLi4vU291cmNlL1dURi93dGYvZ2VuZXJpYy9Xb3JrUXVldWVHZW5lcmljLmNwcDo1MQoj
NiAgMHgwMDAwN2ZkNzA5ZjEyOWFhIGluIFdURjo6RGV0YWlsOjpDYWxsYWJsZVdyYXBwZXI8V1RG
OjpXb3JrUXVldWU6OnBsYXRmb3JtSW5pdGlhbGl6ZShjaGFyIGNvbnN0KiwgV1RGOjpXb3JrUXVl
dWU6OlR5cGUsIFdURjo6V29ya1F1ZXVlOjpRT1MpOjo8bGFtYmRhKCk+LCB2b2lkPjo6Y2FsbCh2
b2lkKSAodGhpcz0weDdmZDcwMmZmNjJiOCkgYXQgLi4vLi4vU291cmNlL1dURi93dGYvRnVuY3Rp
b24uaDo1MgojNyAgMHgwMDAwN2ZkNzA4ZWVkMmIxIGluIFdURjo6RnVuY3Rpb248dm9pZCAoKT46
Om9wZXJhdG9yKCkoKSBjb25zdCAodGhpcz0weDdmZDZhYjdmZGMzMCkgYXQgV1RGL0hlYWRlcnMv
d3RmL0Z1bmN0aW9uLmg6ODMKIzggIDB4MDAwMDdmZDcwOWU3YzQ3ZiBpbiBXVEY6OlRocmVhZDo6
ZW50cnlQb2ludChXVEY6OlRocmVhZDo6TmV3VGhyZWFkQ29udGV4dCopIChuZXdUaHJlYWRDb250
ZXh0PTB4N2ZkNzAyZmY0NTAwKSBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuY3Bw
OjE4MQojOSAgMHgwMDAwN2ZkNzA5ZjIzOThkIGluIFdURjo6d3RmVGhyZWFkRW50cnlQb2ludCh2
b2lkKikgKGNvbnRleHQ9MHg3ZmQ3MDJmZjQ1MDApIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL3Bv
c2l4L1RocmVhZGluZ1BPU0lYLmNwcDoyNDEKIzEwIDB4MDAwMDdmZDcwNWRjYzRkMiBpbiBzdGFy
dF90aHJlYWQgKGFyZz08b3B0aW1pemVkIG91dD4pIGF0IHB0aHJlYWRfY3JlYXRlLmM6NDc3CiMx
MSAweDAwMDA3ZmQ3MDU4YmEzMjMgaW4gY2xvbmUgKCkgYXQgLi4vc3lzZGVwcy91bml4L3N5c3Yv
bGludXgveDg2XzY0L2Nsb25lLlM6OTUKClRocmVhZCAxMCAoVGhyZWFkIDB4N2ZkNmMxNGZjNzAw
IChMV1AgMjI5MykpOgojMCAgMHgwMDAwN2ZkNzA1OGFmNTNmIGluIF9fR0lfX19wb2xsIChmZHM9
MHg3ZmQ2YWMwMDNmNDAsIG5mZHM9MiwgdGltZW91dD0tMSkgYXQgLi4vc3lzZGVwcy91bml4L3N5
c3YvbGludXgvcG9sbC5jOjI5CiMxICAweDAwMDA3ZmQ3MDVlM2UwZmUgaW4gZ19tYWluX2NvbnRl
eHRfcG9sbCAocHJpb3JpdHk9PG9wdGltaXplZCBvdXQ+LCBuX2Zkcz0yLCBmZHM9MHg3ZmQ2YWMw
MDNmNDAsIHRpbWVvdXQ9PG9wdGltaXplZCBvdXQ+LCBjb250ZXh0PTB4N2ZkNmFjMDAwYjYwKSBh
dCAuLi9nbGliL2dtYWluLmM6NDQzNAojMiAgZ19tYWluX2NvbnRleHRfaXRlcmF0ZSAoY29udGV4
dD0weDdmZDZhYzAwMGI2MCwgYmxvY2s9YmxvY2tAZW50cnk9MSwgZGlzcGF0Y2g9ZGlzcGF0Y2hA
ZW50cnk9MSwgc2VsZj08b3B0aW1pemVkIG91dD4pIGF0IC4uL2dsaWIvZ21haW4uYzo0MTI2CiMz
ICAweDAwMDA3ZmQ3MDVlM2U0ODMgaW4gZ19tYWluX2xvb3BfcnVuIChsb29wPTB4N2ZkNmFjMDAz
ZTYwKSBhdCAuLi9nbGliL2dtYWluLmM6NDMyOQojNCAgMHgwMDAwN2ZkNzA5ZjE4OTk4IGluIFdU
Rjo6UnVuTG9vcDo6cnVuKCkgKCkgYXQgLi4vLi4vU291cmNlL1dURi93dGYvZ2xpYi9SdW5Mb29w
R0xpYi5jcHA6MTA4CiM1ICAweDAwMDA3ZmQ3MDlmMTA4ZjIgaW4gb3BlcmF0b3IoKSgpIGNvbnN0
IChfX2Nsb3N1cmU9MHg3ZmQ3MDJmZjYxYjgpIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL2dlbmVy
aWMvV29ya1F1ZXVlR2VuZXJpYy5jcHA6NTEKIzYgIDB4MDAwMDdmZDcwOWYxMjlhYSBpbiBXVEY6
OkRldGFpbDo6Q2FsbGFibGVXcmFwcGVyPFdURjo6V29ya1F1ZXVlOjpwbGF0Zm9ybUluaXRpYWxp
emUoY2hhciBjb25zdCosIFdURjo6V29ya1F1ZXVlOjpUeXBlLCBXVEY6OldvcmtRdWV1ZTo6UU9T
KTo6PGxhbWJkYSgpPiwgdm9pZD46OmNhbGwodm9pZCkgKHRoaXM9MHg3ZmQ3MDJmZjYxYjApIGF0
IC4uLy4uL1NvdXJjZS9XVEYvd3RmL0Z1bmN0aW9uLmg6NTIKIzcgIDB4MDAwMDdmZDcwOGVlZDJi
MSBpbiBXVEY6OkZ1bmN0aW9uPHZvaWQgKCk+OjpvcGVyYXRvcigpKCkgY29uc3QgKHRoaXM9MHg3
ZmQ2YzE0ZmJjMzApIGF0IFdURi9IZWFkZXJzL3d0Zi9GdW5jdGlvbi5oOjgzCiM4ICAweDAwMDA3
ZmQ3MDllN2M0N2YgaW4gV1RGOjpUaHJlYWQ6OmVudHJ5UG9pbnQoV1RGOjpUaHJlYWQ6Ok5ld1Ro
cmVhZENvbnRleHQqKSAobmV3VGhyZWFkQ29udGV4dD0weDdmZDcwMmZmNDBhMCkgYXQgLi4vLi4v
U291cmNlL1dURi93dGYvVGhyZWFkaW5nLmNwcDoxODEKIzkgIDB4MDAwMDdmZDcwOWYyMzk4ZCBp
biBXVEY6Ond0ZlRocmVhZEVudHJ5UG9pbnQodm9pZCopIChjb250ZXh0PTB4N2ZkNzAyZmY0MGEw
KSBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9wb3NpeC9UaHJlYWRpbmdQT1NJWC5jcHA6MjQxCiMx
MCAweDAwMDA3ZmQ3MDVkY2M0ZDIgaW4gc3RhcnRfdGhyZWFkIChhcmc9PG9wdGltaXplZCBvdXQ+
KSBhdCBwdGhyZWFkX2NyZWF0ZS5jOjQ3NwojMTEgMHgwMDAwN2ZkNzA1OGJhMzIzIGluIGNsb25l
ICgpIGF0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9jbG9uZS5TOjk1CgpUaHJl
YWQgOSAoVGhyZWFkIDB4N2ZkNmFiZmZmNzAwIChMV1AgMjI5NSkpOgojMCAgMHgwMDAwN2ZkNzA1
OGFmNTNmIGluIF9fR0lfX19wb2xsIChmZHM9MHg3ZmQ2YTQwMDUwMDAsIG5mZHM9MSwgdGltZW91
dD0tMSkgYXQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG9sbC5jOjI5CiMxICAweDAwMDA3
ZmQ3MDVlM2UwZmUgaW4gZ19tYWluX2NvbnRleHRfcG9sbCAocHJpb3JpdHk9PG9wdGltaXplZCBv
dXQ+LCBuX2Zkcz0xLCBmZHM9MHg3ZmQ2YTQwMDUwMDAsIHRpbWVvdXQ9PG9wdGltaXplZCBvdXQ+
LCBjb250ZXh0PTB4N2ZkNmE0MDAwYjYwKSBhdCAuLi9nbGliL2dtYWluLmM6NDQzNAojMiAgZ19t
YWluX2NvbnRleHRfaXRlcmF0ZSAoY29udGV4dD0weDdmZDZhNDAwMGI2MCwgYmxvY2s9YmxvY2tA
ZW50cnk9MSwgZGlzcGF0Y2g9ZGlzcGF0Y2hAZW50cnk9MSwgc2VsZj08b3B0aW1pemVkIG91dD4p
IGF0IC4uL2dsaWIvZ21haW4uYzo0MTI2CiMzICAweDAwMDA3ZmQ3MDVlM2U0ODMgaW4gZ19tYWlu
X2xvb3BfcnVuIChsb29wPTB4N2ZkNmE0MDAzZTYwKSBhdCAuLi9nbGliL2dtYWluLmM6NDMyOQoj
NCAgMHgwMDAwN2ZkNzA5ZjE4OTk4IGluIFdURjo6UnVuTG9vcDo6cnVuKCkgKCkgYXQgLi4vLi4v
U291cmNlL1dURi93dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHA6MTA4CiM1ICAweDAwMDA3ZmQ3MDlm
MTA4ZjIgaW4gb3BlcmF0b3IoKSgpIGNvbnN0IChfX2Nsb3N1cmU9MHg3ZmQ3MDJmZjYyOTApIGF0
IC4uLy4uL1NvdXJjZS9XVEYvd3RmL2dlbmVyaWMvV29ya1F1ZXVlR2VuZXJpYy5jcHA6NTEKIzYg
IDB4MDAwMDdmZDcwOWYxMjlhYSBpbiBXVEY6OkRldGFpbDo6Q2FsbGFibGVXcmFwcGVyPFdURjo6
V29ya1F1ZXVlOjpwbGF0Zm9ybUluaXRpYWxpemUoY2hhciBjb25zdCosIFdURjo6V29ya1F1ZXVl
OjpUeXBlLCBXVEY6OldvcmtRdWV1ZTo6UU9TKTo6PGxhbWJkYSgpPiwgdm9pZD46OmNhbGwodm9p
ZCkgKHRoaXM9MHg3ZmQ3MDJmZjYyODgpIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL0Z1bmN0aW9u
Lmg6NTIKIzcgIDB4MDAwMDdmZDcwOGVlZDJiMSBpbiBXVEY6OkZ1bmN0aW9uPHZvaWQgKCk+Ojpv
cGVyYXRvcigpKCkgY29uc3QgKHRoaXM9MHg3ZmQ2YWJmZmVjMzApIGF0IFdURi9IZWFkZXJzL3d0
Zi9GdW5jdGlvbi5oOjgzCiM4ICAweDAwMDA3ZmQ3MDllN2M0N2YgaW4gV1RGOjpUaHJlYWQ6OmVu
dHJ5UG9pbnQoV1RGOjpUaHJlYWQ6Ok5ld1RocmVhZENvbnRleHQqKSAobmV3VGhyZWFkQ29udGV4
dD0weDdmZDcwMmZmNDRiMCkgYXQgLi4vLi4vU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmNwcDox
ODEKIzkgIDB4MDAwMDdmZDcwOWYyMzk4ZCBpbiBXVEY6Ond0ZlRocmVhZEVudHJ5UG9pbnQodm9p
ZCopIChjb250ZXh0PTB4N2ZkNzAyZmY0NGIwKSBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9wb3Np
eC9UaHJlYWRpbmdQT1NJWC5jcHA6MjQxCiMxMCAweDAwMDA3ZmQ3MDVkY2M0ZDIgaW4gc3RhcnRf
dGhyZWFkIChhcmc9PG9wdGltaXplZCBvdXQ+KSBhdCBwdGhyZWFkX2NyZWF0ZS5jOjQ3NwojMTEg
MHgwMDAwN2ZkNzA1OGJhMzIzIGluIGNsb25lICgpIGF0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xp
bnV4L3g4Nl82NC9jbG9uZS5TOjk1CgpUaHJlYWQgOCAoVGhyZWFkIDB4N2ZkNmFhN2ZjNzAwIChM
V1AgMjI5OCkpOgojMCAgMHgwMDAwN2ZkNzA1OGFmNTNmIGluIF9fR0lfX19wb2xsIChmZHM9MHg3
ZmQ2OTQwMDJmMzAsIG5mZHM9MSwgdGltZW91dD0tMSkgYXQgLi4vc3lzZGVwcy91bml4L3N5c3Yv
bGludXgvcG9sbC5jOjI5CiMxICAweDAwMDA3ZmQ3MDVlM2UwZmUgaW4gZ19tYWluX2NvbnRleHRf
cG9sbCAocHJpb3JpdHk9PG9wdGltaXplZCBvdXQ+LCBuX2Zkcz0xLCBmZHM9MHg3ZmQ2OTQwMDJm
MzAsIHRpbWVvdXQ9PG9wdGltaXplZCBvdXQ+LCBjb250ZXh0PTB4N2ZkNjk0MDAwYjYwKSBhdCAu
Li9nbGliL2dtYWluLmM6NDQzNAojMiAgZ19tYWluX2NvbnRleHRfaXRlcmF0ZSAoY29udGV4dD0w
eDdmZDY5NDAwMGI2MCwgYmxvY2s9YmxvY2tAZW50cnk9MSwgZGlzcGF0Y2g9ZGlzcGF0Y2hAZW50
cnk9MSwgc2VsZj08b3B0aW1pemVkIG91dD4pIGF0IC4uL2dsaWIvZ21haW4uYzo0MTI2CiMzICAw
eDAwMDA3ZmQ3MDVlM2U0ODMgaW4gZ19tYWluX2xvb3BfcnVuIChsb29wPTB4N2ZkNjk0MDAyZTAw
KSBhdCAuLi9nbGliL2dtYWluLmM6NDMyOQojNCAgMHgwMDAwN2ZkNzA5ZjE4OTk4IGluIFdURjo6
UnVuTG9vcDo6cnVuKCkgKCkgYXQgLi4vLi4vU291cmNlL1dURi93dGYvZ2xpYi9SdW5Mb29wR0xp
Yi5jcHA6MTA4CiM1ICAweDAwMDA3ZmQ3MDlmMTA4ZjIgaW4gb3BlcmF0b3IoKSgpIGNvbnN0IChf
X2Nsb3N1cmU9MHg3ZmQ3MDJmZjYzOTgpIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL2dlbmVyaWMv
V29ya1F1ZXVlR2VuZXJpYy5jcHA6NTEKIzYgIDB4MDAwMDdmZDcwOWYxMjlhYSBpbiBXVEY6OkRl
dGFpbDo6Q2FsbGFibGVXcmFwcGVyPFdURjo6V29ya1F1ZXVlOjpwbGF0Zm9ybUluaXRpYWxpemUo
Y2hhciBjb25zdCosIFdURjo6V29ya1F1ZXVlOjpUeXBlLCBXVEY6OldvcmtRdWV1ZTo6UU9TKTo6
PGxhbWJkYSgpPiwgdm9pZD46OmNhbGwodm9pZCkgKHRoaXM9MHg3ZmQ3MDJmZjYzOTApIGF0IC4u
Ly4uL1NvdXJjZS9XVEYvd3RmL0Z1bmN0aW9uLmg6NTIKIzcgIDB4MDAwMDdmZDcwOGVlZDJiMSBp
biBXVEY6OkZ1bmN0aW9uPHZvaWQgKCk+OjpvcGVyYXRvcigpKCkgY29uc3QgKHRoaXM9MHg3ZmQ2
YWE3ZmJjMzApIGF0IFdURi9IZWFkZXJzL3d0Zi9GdW5jdGlvbi5oOjgzCiM4ICAweDAwMDA3ZmQ3
MDllN2M0N2YgaW4gV1RGOjpUaHJlYWQ6OmVudHJ5UG9pbnQoV1RGOjpUaHJlYWQ6Ok5ld1RocmVh
ZENvbnRleHQqKSAobmV3VGhyZWFkQ29udGV4dD0weDdmZDcwMmZmNDVhMCkgYXQgLi4vLi4vU291
cmNlL1dURi93dGYvVGhyZWFkaW5nLmNwcDoxODEKIzkgIDB4MDAwMDdmZDcwOWYyMzk4ZCBpbiBX
VEY6Ond0ZlRocmVhZEVudHJ5UG9pbnQodm9pZCopIChjb250ZXh0PTB4N2ZkNzAyZmY0NWEwKSBh
dCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9wb3NpeC9UaHJlYWRpbmdQT1NJWC5jcHA6MjQxCiMxMCAw
eDAwMDA3ZmQ3MDVkY2M0ZDIgaW4gc3RhcnRfdGhyZWFkIChhcmc9PG9wdGltaXplZCBvdXQ+KSBh
dCBwdGhyZWFkX2NyZWF0ZS5jOjQ3NwojMTEgMHgwMDAwN2ZkNzA1OGJhMzIzIGluIGNsb25lICgp
IGF0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9jbG9uZS5TOjk1CgpUaHJlYWQg
NyAoVGhyZWFkIDB4N2ZkNmMxY2ZkNzAwIChMV1AgMjI5MikpOgojMCAgMHgwMDAwN2ZkNzA1OGFm
NTNmIGluIF9fR0lfX19wb2xsIChmZHM9MHg1NTgzNGEwNDQ0YzAsIG5mZHM9MSwgdGltZW91dD0t
MSkgYXQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG9sbC5jOjI5CiMxICAweDAwMDA3ZmQ3
MDVlM2UwZmUgaW4gZ19tYWluX2NvbnRleHRfcG9sbCAocHJpb3JpdHk9PG9wdGltaXplZCBvdXQ+
LCBuX2Zkcz0xLCBmZHM9MHg1NTgzNGEwNDQ0YzAsIHRpbWVvdXQ9PG9wdGltaXplZCBvdXQ+LCBj
b250ZXh0PTB4NTU4MzRhMDQxN2IwKSBhdCAuLi9nbGliL2dtYWluLmM6NDQzNAojMiAgZ19tYWlu
X2NvbnRleHRfaXRlcmF0ZSAoY29udGV4dD0weDU1ODM0YTA0MTdiMCwgYmxvY2s9YmxvY2tAZW50
cnk9MSwgZGlzcGF0Y2g9ZGlzcGF0Y2hAZW50cnk9MSwgc2VsZj08b3B0aW1pemVkIG91dD4pIGF0
IC4uL2dsaWIvZ21haW4uYzo0MTI2CiMzICAweDAwMDA3ZmQ3MDVlM2U0ODMgaW4gZ19tYWluX2xv
b3BfcnVuIChsb29wPTB4NTU4MzRhMDQxOGEwKSBhdCAuLi9nbGliL2dtYWluLmM6NDMyOQojNCAg
MHgwMDAwN2ZkNzA2MGE4MTBhIGluIGdkYnVzX3NoYXJlZF90aHJlYWRfZnVuYyAodXNlcl9kYXRh
PTB4NTU4MzRhMDQxNzgwKSBhdCAuLi9naW8vZ2RidXNwcml2YXRlLmM6MjgwCiM1ICAweDAwMDA3
ZmQ3MDVlNjg1YTEgaW4gZ190aHJlYWRfcHJveHkgKGRhdGE9MHg1NTgzNGEwMDA4NjApIGF0IC4u
L2dsaWIvZ3RocmVhZC5jOjgyNgojNiAgMHgwMDAwN2ZkNzA1ZGNjNGQyIGluIHN0YXJ0X3RocmVh
ZCAoYXJnPTxvcHRpbWl6ZWQgb3V0PikgYXQgcHRocmVhZF9jcmVhdGUuYzo0NzcKIzcgIDB4MDAw
MDdmZDcwNThiYTMyMyBpbiBjbG9uZSAoKSBhdCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94
ODZfNjQvY2xvbmUuUzo5NQoKVGhyZWFkIDYgKFRocmVhZCAweDdmZDZjMGNmYjcwMCAoTFdQIDIy
OTQpKToKIzAgIDB4MDAwMDdmZDcwNThhZjUzZiBpbiBfX0dJX19fcG9sbCAoZmRzPTB4N2ZkNmIw
MDAzMmUwLCBuZmRzPTEsIHRpbWVvdXQ9LTEpIGF0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4
L3BvbGwuYzoyOQojMSAgMHgwMDAwN2ZkNzA1ZTNlMGZlIGluIGdfbWFpbl9jb250ZXh0X3BvbGwg
KHByaW9yaXR5PTxvcHRpbWl6ZWQgb3V0Piwgbl9mZHM9MSwgZmRzPTB4N2ZkNmIwMDAzMmUwLCB0
aW1lb3V0PTxvcHRpbWl6ZWQgb3V0PiwgY29udGV4dD0weDdmZDZiMDAwMGI2MCkgYXQgLi4vZ2xp
Yi9nbWFpbi5jOjQ0MzQKIzIgIGdfbWFpbl9jb250ZXh0X2l0ZXJhdGUgKGNvbnRleHQ9MHg3ZmQ2
YjAwMDBiNjAsIGJsb2NrPWJsb2NrQGVudHJ5PTEsIGRpc3BhdGNoPWRpc3BhdGNoQGVudHJ5PTEs
IHNlbGY9PG9wdGltaXplZCBvdXQ+KSBhdCAuLi9nbGliL2dtYWluLmM6NDEyNgojMyAgMHgwMDAw
N2ZkNzA1ZTNlNDgzIGluIGdfbWFpbl9sb29wX3J1biAobG9vcD0weDdmZDZiMDAwMzIwMCkgYXQg
Li4vZ2xpYi9nbWFpbi5jOjQzMjkKIzQgIDB4MDAwMDdmZDcwOWYxODk5OCBpbiBXVEY6OlJ1bkxv
b3A6OnJ1bigpICgpIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL2dsaWIvUnVuTG9vcEdMaWIuY3Bw
OjEwOAojNSAgMHgwMDAwN2ZkNzA5ZjEwOGYyIGluIG9wZXJhdG9yKCkoKSBjb25zdCAoX19jbG9z
dXJlPTB4N2ZkNzAyZmY2MjYwKSBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9nZW5lcmljL1dvcmtR
dWV1ZUdlbmVyaWMuY3BwOjUxCiM2ICAweDAwMDA3ZmQ3MDlmMTI5YWEgaW4gV1RGOjpEZXRhaWw6
OkNhbGxhYmxlV3JhcHBlcjxXVEY6OldvcmtRdWV1ZTo6cGxhdGZvcm1Jbml0aWFsaXplKGNoYXIg
Y29uc3QqLCBXVEY6OldvcmtRdWV1ZTo6VHlwZSwgV1RGOjpXb3JrUXVldWU6OlFPUyk6OjxsYW1i
ZGEoKT4sIHZvaWQ+OjpjYWxsKHZvaWQpICh0aGlzPTB4N2ZkNzAyZmY2MjU4KSBhdCAuLi8uLi9T
b3VyY2UvV1RGL3d0Zi9GdW5jdGlvbi5oOjUyCiM3ICAweDAwMDA3ZmQ3MDhlZWQyYjEgaW4gV1RG
OjpGdW5jdGlvbjx2b2lkICgpPjo6b3BlcmF0b3IoKSgpIGNvbnN0ICh0aGlzPTB4N2ZkNmMwY2Zh
YzMwKSBhdCBXVEYvSGVhZGVycy93dGYvRnVuY3Rpb24uaDo4MwojOCAgMHgwMDAwN2ZkNzA5ZTdj
NDdmIGluIFdURjo6VGhyZWFkOjplbnRyeVBvaW50KFdURjo6VGhyZWFkOjpOZXdUaHJlYWRDb250
ZXh0KikgKG5ld1RocmVhZENvbnRleHQ9MHg3ZmQ3MDJmZjQ0NjApIGF0IC4uLy4uL1NvdXJjZS9X
VEYvd3RmL1RocmVhZGluZy5jcHA6MTgxCiM5ICAweDAwMDA3ZmQ3MDlmMjM5OGQgaW4gV1RGOjp3
dGZUaHJlYWRFbnRyeVBvaW50KHZvaWQqKSAoY29udGV4dD0weDdmZDcwMmZmNDQ2MCkgYXQgLi4v
Li4vU291cmNlL1dURi93dGYvcG9zaXgvVGhyZWFkaW5nUE9TSVguY3BwOjI0MQojMTAgMHgwMDAw
N2ZkNzA1ZGNjNGQyIGluIHN0YXJ0X3RocmVhZCAoYXJnPTxvcHRpbWl6ZWQgb3V0PikgYXQgcHRo
cmVhZF9jcmVhdGUuYzo0NzcKIzExIDB4MDAwMDdmZDcwNThiYTMyMyBpbiBjbG9uZSAoKSBhdCAu
Li9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvY2xvbmUuUzo5NQoKVGhyZWFkIDUgKFRo
cmVhZCAweDdmZDcwMzg4ZTcwMCAoTFdQIDIyODgpKToKIzAgIGZ1dGV4X2Fic3RpbWVkX3dhaXRf
Y2FuY2VsYWJsZSAocHJpdmF0ZT0wLCBhYnN0aW1lPTB4N2ZkNzAzODhkOTgwLCBjbG9ja2lkPTU5
MzAwMDE2LCBleHBlY3RlZD0wLCBmdXRleF93b3JkPTB4N2ZkNzBiNmEwZGE4IDxibWFsbG9jOjpT
dGF0aWNQZXJQcm9jZXNzU3RvcmFnZVRyYWl0czxibWFsbG9jOjpTY2F2ZW5nZXI+OjpTdG9yYWdl
OjpzX21lbW9yeSs3Mj4pIGF0IC4uL3N5c2RlcHMvbnB0bC9mdXRleC1pbnRlcm5hbC5oOjMyMAoj
MSAgX19wdGhyZWFkX2NvbmRfd2FpdF9jb21tb24gKGFic3RpbWU9MHg3ZmQ3MDM4OGQ5ODAsIGNs
b2NraWQ9NTkzMDAwMTYsIG11dGV4PTB4NTU4MzQ5ZmY4NjEwLCBjb25kPTB4N2ZkNzBiNmEwZDgw
IDxibWFsbG9jOjpTdGF0aWNQZXJQcm9jZXNzU3RvcmFnZVRyYWl0czxibWFsbG9jOjpTY2F2ZW5n
ZXI+OjpTdG9yYWdlOjpzX21lbW9yeSszMj4pIGF0IHB0aHJlYWRfY29uZF93YWl0LmM6NTIwCiMy
ICBfX3B0aHJlYWRfY29uZF9jbG9ja3dhaXQgKGFic3RpbWU9MHg3ZmQ3MDM4OGQ5ODAsIGNsb2Nr
aWQ9NTkzMDAwMTYsIG11dGV4PTB4NTU4MzQ5ZmY4NjEwLCBjb25kPTB4N2ZkNzBiNmEwZDgwIDxi
bWFsbG9jOjpTdGF0aWNQZXJQcm9jZXNzU3RvcmFnZVRyYWl0czxibWFsbG9jOjpTY2F2ZW5nZXI+
OjpTdG9yYWdlOjpzX21lbW9yeSszMj4pIGF0IHB0aHJlYWRfY29uZF93YWl0LmM6Njc3CiMzICBf
X3B0aHJlYWRfY29uZF9jbG9ja3dhaXQgKGNvbmQ9MHg3ZmQ3MGI2YTBkODAgPGJtYWxsb2M6OlN0
YXRpY1BlclByb2Nlc3NTdG9yYWdlVHJhaXRzPGJtYWxsb2M6OlNjYXZlbmdlcj46OlN0b3JhZ2U6
OnNfbWVtb3J5KzMyPiwgbXV0ZXg9MHg1NTgzNDlmZjg2MTAsIGNsb2NraWQ9NTkzMDAwMTYsIGFi
c3RpbWU9MHg3ZmQ3MDM4OGQ5ODApIGF0IHB0aHJlYWRfY29uZF93YWl0LmM6NjY1CiM0ICAweDAw
MDA3ZmQ3MDlmNDE0MjcgaW4gc3RkOjpjb25kaXRpb25fdmFyaWFibGU6Ol9fd2FpdF91bnRpbF9p
bXBsPHN0ZDo6Y2hyb25vOjpkdXJhdGlvbjxsb25nLCBzdGQ6OnJhdGlvPDFsLCAxMDAwMDAwMDAw
bD4gPiA+KHN0ZDo6dW5pcXVlX2xvY2s8c3RkOjptdXRleD4mLCBzdGQ6OmNocm9ubzo6dGltZV9w
b2ludDxzdGQ6OmNocm9ubzo6X1YyOjpzdGVhZHlfY2xvY2ssIHN0ZDo6Y2hyb25vOjpkdXJhdGlv
bjxsb25nLCBzdGQ6OnJhdGlvPDFsLCAxMDAwMDAwMDAwbD4gPiA+IGNvbnN0JikgKHRoaXM9MHg3
ZmQ3MGI2YTBkODAgPGJtYWxsb2M6OlN0YXRpY1BlclByb2Nlc3NTdG9yYWdlVHJhaXRzPGJtYWxs
b2M6OlNjYXZlbmdlcj46OlN0b3JhZ2U6OnNfbWVtb3J5KzMyPiwgX19sb2NrPS4uLiwgX19hdGlt
ZT0uLi4pIGF0IC91c3IvaW5jbHVkZS9jKysvMTAuMi4wL2NvbmRpdGlvbl92YXJpYWJsZToyMDkK
IzUgIDB4MDAwMDdmZDcwOWY0MGM1NyBpbiBzdGQ6OmNvbmRpdGlvbl92YXJpYWJsZTo6d2FpdF91
bnRpbDxzdGQ6OmNocm9ubzo6ZHVyYXRpb248bG9uZywgc3RkOjpyYXRpbzwxbCwgMTAwMDAwMDAw
MGw+ID4gPihzdGQ6OnVuaXF1ZV9sb2NrPHN0ZDo6bXV0ZXg+Jiwgc3RkOjpjaHJvbm86OnRpbWVf
cG9pbnQ8c3RkOjpjaHJvbm86Ol9WMjo6c3RlYWR5X2Nsb2NrLCBzdGQ6OmNocm9ubzo6ZHVyYXRp
b248bG9uZywgc3RkOjpyYXRpbzwxbCwgMTAwMDAwMDAwMGw+ID4gPiBjb25zdCYpICh0aGlzPTB4
N2ZkNzBiNmEwZDgwIDxibWFsbG9jOjpTdGF0aWNQZXJQcm9jZXNzU3RvcmFnZVRyYWl0czxibWFs
bG9jOjpTY2F2ZW5nZXI+OjpTdG9yYWdlOjpzX21lbW9yeSszMj4sIF9fbG9jaz0uLi4sIF9fYXRp
bWU9Li4uKSBhdCAvdXNyL2luY2x1ZGUvYysrLzEwLjIuMC9jb25kaXRpb25fdmFyaWFibGU6MTE5
CiM2ICAweDAwMDA3ZmQ3MDlmNDA3MzUgaW4gc3RkOjpfVjI6OmNvbmRpdGlvbl92YXJpYWJsZV9h
bnk6OndhaXRfdW50aWw8c3RkOjp1bmlxdWVfbG9jazxibWFsbG9jOjpNdXRleD4sIHN0ZDo6Y2hy
b25vOjpfVjI6OnN0ZWFkeV9jbG9jaywgc3RkOjpjaHJvbm86OmR1cmF0aW9uPGxvbmcsIHN0ZDo6
cmF0aW88MWwsIDEwMDAwMDAwMDBsPiA+ID4oc3RkOjp1bmlxdWVfbG9jazxibWFsbG9jOjpNdXRl
eD4mLCBzdGQ6OmNocm9ubzo6dGltZV9wb2ludDxzdGQ6OmNocm9ubzo6X1YyOjpzdGVhZHlfY2xv
Y2ssIHN0ZDo6Y2hyb25vOjpkdXJhdGlvbjxsb25nLCBzdGQ6OnJhdGlvPDFsLCAxMDAwMDAwMDAw
bD4gPiA+IGNvbnN0JikgKHRoaXM9MHg3ZmQ3MGI2YTBkODAgPGJtYWxsb2M6OlN0YXRpY1BlclBy
b2Nlc3NTdG9yYWdlVHJhaXRzPGJtYWxsb2M6OlNjYXZlbmdlcj46OlN0b3JhZ2U6OnNfbWVtb3J5
KzMyPiwgX19sb2NrPS4uLiwgX19hdGltZT0uLi4pIGF0IC91c3IvaW5jbHVkZS9jKysvMTAuMi4w
L2NvbmRpdGlvbl92YXJpYWJsZTozNDQKIzcgIDB4MDAwMDdmZDcwOWYzZWY4NCBpbiBzdGQ6Ol9W
Mjo6Y29uZGl0aW9uX3ZhcmlhYmxlX2FueTo6d2FpdF91bnRpbDxzdGQ6OnVuaXF1ZV9sb2NrPGJt
YWxsb2M6Ok11dGV4Piwgc3RkOjpjaHJvbm86Ol9WMjo6c3RlYWR5X2Nsb2NrLCBzdGQ6OmNocm9u
bzo6ZHVyYXRpb248bG9uZyBpbnQsIHN0ZDo6cmF0aW88MSwgMTAwMDAwMDAwMD4gPiwgYm1hbGxv
Yzo6U2NhdmVuZ2VyOjp0aHJlYWRSdW5Mb29wKCk6OjxsYW1iZGEoKT4gPihzdGQ6OnVuaXF1ZV9s
b2NrPGJtYWxsb2M6Ok11dGV4PiAmLCBjb25zdCBzdGQ6OmNocm9ubzo6dGltZV9wb2ludDxzdGQ6
OmNocm9ubzo6X1YyOjpzdGVhZHlfY2xvY2ssIHN0ZDo6Y2hyb25vOjpkdXJhdGlvbjxsb25nLCBz
dGQ6OnJhdGlvPDEsIDEwMDAwMDAwMDA+ID4gPiAmLCBzdHJ1Y3Qgey4uLn0pICh0aGlzPTB4N2Zk
NzBiNmEwZDgwIDxibWFsbG9jOjpTdGF0aWNQZXJQcm9jZXNzU3RvcmFnZVRyYWl0czxibWFsbG9j
OjpTY2F2ZW5nZXI+OjpTdG9yYWdlOjpzX21lbW9yeSszMj4sIF9fbG9jaz0uLi4sIF9fYXRpbWU9
Li4uLCBfX3A9Li4uKSBhdCAvdXNyL2luY2x1ZGUvYysrLzEwLjIuMC9jb25kaXRpb25fdmFyaWFi
bGU6MzU1CiM4ICAweDAwMDA3ZmQ3MDlmM2VmMWEgaW4gc3RkOjpfVjI6OmNvbmRpdGlvbl92YXJp
YWJsZV9hbnk6OndhaXRfZm9yPHN0ZDo6dW5pcXVlX2xvY2s8Ym1hbGxvYzo6TXV0ZXg+LCBsb25n
IGludCwgc3RkOjpyYXRpbzwxLCAxMDAwPiwgYm1hbGxvYzo6U2NhdmVuZ2VyOjp0aHJlYWRSdW5M
b29wKCk6OjxsYW1iZGEoKT4gPihzdGQ6OnVuaXF1ZV9sb2NrPGJtYWxsb2M6Ok11dGV4PiAmLCBj
b25zdCBzdGQ6OmNocm9ubzo6ZHVyYXRpb248bG9uZywgc3RkOjpyYXRpbzwxLCAxMDAwPiA+ICYs
IHN0cnVjdCB7Li4ufSkgKHRoaXM9MHg3ZmQ3MGI2YTBkODAgPGJtYWxsb2M6OlN0YXRpY1BlclBy
b2Nlc3NTdG9yYWdlVHJhaXRzPGJtYWxsb2M6OlNjYXZlbmdlcj46OlN0b3JhZ2U6OnNfbWVtb3J5
KzMyPiwgX19sb2NrPS4uLiwgX19ydGltZT0uLi4sIF9fcD0uLi4pIGF0IC91c3IvaW5jbHVkZS9j
KysvMTAuMi4wL2NvbmRpdGlvbl92YXJpYWJsZTozNzAKIzkgIDB4MDAwMDdmZDcwOWYzZWJjOCBp
biBibWFsbG9jOjpTY2F2ZW5nZXI6OnRocmVhZFJ1bkxvb3AoKSAodGhpcz0weDdmZDcwYjZhMGQ2
MCA8Ym1hbGxvYzo6U3RhdGljUGVyUHJvY2Vzc1N0b3JhZ2VUcmFpdHM8Ym1hbGxvYzo6U2NhdmVu
Z2VyPjo6U3RvcmFnZTo6c19tZW1vcnk+KSBhdCAuLi8uLi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9j
L1NjYXZlbmdlci5jcHA6NDIxCiMxMCAweDAwMDA3ZmQ3MDlmM2VhYTIgaW4gYm1hbGxvYzo6U2Nh
dmVuZ2VyOjp0aHJlYWRFbnRyeVBvaW50KGJtYWxsb2M6OlNjYXZlbmdlciopIChzY2F2ZW5nZXI9
MHg3ZmQ3MGI2YTBkNjAgPGJtYWxsb2M6OlN0YXRpY1BlclByb2Nlc3NTdG9yYWdlVHJhaXRzPGJt
YWxsb2M6OlNjYXZlbmdlcj46OlN0b3JhZ2U6OnNfbWVtb3J5PikgYXQgLi4vLi4vU291cmNlL2Jt
YWxsb2MvYm1hbGxvYy9TY2F2ZW5nZXIuY3BwOjM5NQojMTEgMHgwMDAwN2ZkNzA5ZjQyMTRlIGlu
IHN0ZDo6X19pbnZva2VfaW1wbDx2b2lkLCB2b2lkICgqKShibWFsbG9jOjpTY2F2ZW5nZXIqKSwg
Ym1hbGxvYzo6U2NhdmVuZ2VyKj4oc3RkOjpfX2ludm9rZV9vdGhlciwgdm9pZCAoKiYmKShibWFs
bG9jOjpTY2F2ZW5nZXIqKSwgYm1hbGxvYzo6U2NhdmVuZ2VyKiYmKSAoX19mPUAweDU1ODM0OWZm
ODY1MDogMHg3ZmQ3MDlmM2VhOGEgPGJtYWxsb2M6OlNjYXZlbmdlcjo6dGhyZWFkRW50cnlQb2lu
dChibWFsbG9jOjpTY2F2ZW5nZXIqKT4pIGF0IC91c3IvaW5jbHVkZS9jKysvMTAuMi4wL2JpdHMv
aW52b2tlLmg6NjAKIzEyIDB4MDAwMDdmZDcwOWY0MjBjMyBpbiBzdGQ6Ol9faW52b2tlPHZvaWQg
KCopKGJtYWxsb2M6OlNjYXZlbmdlciopLCBibWFsbG9jOjpTY2F2ZW5nZXIqPih2b2lkICgqJiYp
KGJtYWxsb2M6OlNjYXZlbmdlciopLCBibWFsbG9jOjpTY2F2ZW5nZXIqJiYpIChfX2ZuPUAweDU1
ODM0OWZmODY1MDogMHg3ZmQ3MDlmM2VhOGEgPGJtYWxsb2M6OlNjYXZlbmdlcjo6dGhyZWFkRW50
cnlQb2ludChibWFsbG9jOjpTY2F2ZW5nZXIqKT4pIGF0IC91c3IvaW5jbHVkZS9jKysvMTAuMi4w
L2JpdHMvaW52b2tlLmg6OTUKIzEzIDB4MDAwMDdmZDcwOWY0MjAzMyBpbiBzdGQ6OnRocmVhZDo6
X0ludm9rZXI8c3RkOjp0dXBsZTx2b2lkICgqKShibWFsbG9jOjpTY2F2ZW5nZXIqKSwgYm1hbGxv
Yzo6U2NhdmVuZ2VyKj4gPjo6X01faW52b2tlPDB1bCwgMXVsPihzdGQ6Ol9JbmRleF90dXBsZTww
dWwsIDF1bD4pICh0aGlzPTB4NTU4MzQ5ZmY4NjQ4KSBhdCAvdXNyL2luY2x1ZGUvYysrLzEwLjIu
MC90aHJlYWQ6MjY0CiMxNCAweDAwMDA3ZmQ3MDlmNDFmZWMgaW4gc3RkOjp0aHJlYWQ6Ol9JbnZv
a2VyPHN0ZDo6dHVwbGU8dm9pZCAoKikoYm1hbGxvYzo6U2NhdmVuZ2VyKiksIGJtYWxsb2M6OlNj
YXZlbmdlcio+ID46Om9wZXJhdG9yKCkoKSAodGhpcz0weDU1ODM0OWZmODY0OCkgYXQgL3Vzci9p
bmNsdWRlL2MrKy8xMC4yLjAvdGhyZWFkOjI3MQojMTUgMHgwMDAwN2ZkNzA5ZjQxZmQwIGluIHN0
ZDo6dGhyZWFkOjpfU3RhdGVfaW1wbDxzdGQ6OnRocmVhZDo6X0ludm9rZXI8c3RkOjp0dXBsZTx2
b2lkICgqKShibWFsbG9jOjpTY2F2ZW5nZXIqKSwgYm1hbGxvYzo6U2NhdmVuZ2VyKj4gPiA+Ojpf
TV9ydW4oKSAodGhpcz0weDU1ODM0OWZmODY0MCkgYXQgL3Vzci9pbmNsdWRlL2MrKy8xMC4yLjAv
dGhyZWFkOjIxNQojMTYgMHgwMDAwN2ZkNzA1YmQxYTc0IGluIHN0ZDo6ZXhlY3V0ZV9uYXRpdmVf
dGhyZWFkX3JvdXRpbmUodm9pZCopIChfX3A9MHg1NTgzNDlmZjg2NDApIGF0IC4uLy4uLy4uLy4u
Ly4uL2xpYnN0ZGMrKy12My9zcmMvYysrMTEvdGhyZWFkLmNjOjgwCiMxNyAweDAwMDA3ZmQ3MDVk
Y2M0ZDIgaW4gc3RhcnRfdGhyZWFkIChhcmc9PG9wdGltaXplZCBvdXQ+KSBhdCBwdGhyZWFkX2Ny
ZWF0ZS5jOjQ3NwojMTggMHgwMDAwN2ZkNzA1OGJhMzIzIGluIGNsb25lICgpIGF0IC4uL3N5c2Rl
cHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9jbG9uZS5TOjk1CgpUaHJlYWQgNCAoVGhyZWFkIDB4
N2ZkNmMyY2ZmNzAwIChMV1AgMjI4OSkpOgojMCAgMHgwMDAwN2ZkNzA1OGFmNTNmIGluIF9fR0lf
X19wb2xsIChmZHM9MHg3ZmQ2YmMwMDUwMjAsIG5mZHM9MSwgdGltZW91dD0tMSkgYXQgLi4vc3lz
ZGVwcy91bml4L3N5c3YvbGludXgvcG9sbC5jOjI5CiMxICAweDAwMDA3ZmQ3MDVlM2UwZmUgaW4g
Z19tYWluX2NvbnRleHRfcG9sbCAocHJpb3JpdHk9PG9wdGltaXplZCBvdXQ+LCBuX2Zkcz0xLCBm
ZHM9MHg3ZmQ2YmMwMDUwMjAsIHRpbWVvdXQ9PG9wdGltaXplZCBvdXQ+LCBjb250ZXh0PTB4N2Zk
NmJjMDAwYjYwKSBhdCAuLi9nbGliL2dtYWluLmM6NDQzNAojMiAgZ19tYWluX2NvbnRleHRfaXRl
cmF0ZSAoY29udGV4dD0weDdmZDZiYzAwMGI2MCwgYmxvY2s9YmxvY2tAZW50cnk9MSwgZGlzcGF0
Y2g9ZGlzcGF0Y2hAZW50cnk9MSwgc2VsZj08b3B0aW1pemVkIG91dD4pIGF0IC4uL2dsaWIvZ21h
aW4uYzo0MTI2CiMzICAweDAwMDA3ZmQ3MDVlM2U0ODMgaW4gZ19tYWluX2xvb3BfcnVuIChsb29w
PTB4N2ZkNmJjMDAzZTYwKSBhdCAuLi9nbGliL2dtYWluLmM6NDMyOQojNCAgMHgwMDAwN2ZkNzA5
ZjE4OTk4IGluIFdURjo6UnVuTG9vcDo6cnVuKCkgKCkgYXQgLi4vLi4vU291cmNlL1dURi93dGYv
Z2xpYi9SdW5Mb29wR0xpYi5jcHA6MTA4CiM1ICAweDAwMDA3ZmQ3MDlmMTA4ZjIgaW4gb3BlcmF0
b3IoKSgpIGNvbnN0IChfX2Nsb3N1cmU9MHg3ZmQ3MDJmZjYxMTApIGF0IC4uLy4uL1NvdXJjZS9X
VEYvd3RmL2dlbmVyaWMvV29ya1F1ZXVlR2VuZXJpYy5jcHA6NTEKIzYgIDB4MDAwMDdmZDcwOWYx
MjlhYSBpbiBXVEY6OkRldGFpbDo6Q2FsbGFibGVXcmFwcGVyPFdURjo6V29ya1F1ZXVlOjpwbGF0
Zm9ybUluaXRpYWxpemUoY2hhciBjb25zdCosIFdURjo6V29ya1F1ZXVlOjpUeXBlLCBXVEY6Oldv
cmtRdWV1ZTo6UU9TKTo6PGxhbWJkYSgpPiwgdm9pZD46OmNhbGwodm9pZCkgKHRoaXM9MHg3ZmQ3
MDJmZjYxMDgpIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL0Z1bmN0aW9uLmg6NTIKIzcgIDB4MDAw
MDdmZDcwOGVlZDJiMSBpbiBXVEY6OkZ1bmN0aW9uPHZvaWQgKCk+OjpvcGVyYXRvcigpKCkgY29u
c3QgKHRoaXM9MHg3ZmQ2YzJjZmVjMzApIGF0IFdURi9IZWFkZXJzL3d0Zi9GdW5jdGlvbi5oOjgz
CiM4ICAweDAwMDA3ZmQ3MDllN2M0N2YgaW4gV1RGOjpUaHJlYWQ6OmVudHJ5UG9pbnQoV1RGOjpU
aHJlYWQ6Ok5ld1RocmVhZENvbnRleHQqKSAobmV3VGhyZWFkQ29udGV4dD0weDdmZDcwMmZmNDAw
MCkgYXQgLi4vLi4vU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmNwcDoxODEKIzkgIDB4MDAwMDdm
ZDcwOWYyMzk4ZCBpbiBXVEY6Ond0ZlRocmVhZEVudHJ5UG9pbnQodm9pZCopIChjb250ZXh0PTB4
N2ZkNzAyZmY0MDAwKSBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9wb3NpeC9UaHJlYWRpbmdQT1NJ
WC5jcHA6MjQxCiMxMCAweDAwMDA3ZmQ3MDVkY2M0ZDIgaW4gc3RhcnRfdGhyZWFkIChhcmc9PG9w
dGltaXplZCBvdXQ+KSBhdCBwdGhyZWFkX2NyZWF0ZS5jOjQ3NwojMTEgMHgwMDAwN2ZkNzA1OGJh
MzIzIGluIGNsb25lICgpIGF0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9jbG9u
ZS5TOjk1CgpUaHJlYWQgMyAoVGhyZWFkIDB4N2ZkNmMyNGZlNzAwIChMV1AgMjI5MCkpOgojMCAg
MHgwMDAwN2ZkNzA1OGFmNTNmIGluIF9fR0lfX19wb2xsIChmZHM9MHg1NTgzNGEwMDc0ZjAsIG5m
ZHM9MiwgdGltZW91dD0tMSkgYXQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG9sbC5jOjI5
CiMxICAweDAwMDA3ZmQ3MDVlM2UwZmUgaW4gZ19tYWluX2NvbnRleHRfcG9sbCAocHJpb3JpdHk9
PG9wdGltaXplZCBvdXQ+LCBuX2Zkcz0yLCBmZHM9MHg1NTgzNGEwMDc0ZjAsIHRpbWVvdXQ9PG9w
dGltaXplZCBvdXQ+LCBjb250ZXh0PTB4NTU4MzRhMDA5NTkwKSBhdCAuLi9nbGliL2dtYWluLmM6
NDQzNAojMiAgZ19tYWluX2NvbnRleHRfaXRlcmF0ZSAoY29udGV4dD1jb250ZXh0QGVudHJ5PTB4
NTU4MzRhMDA5NTkwLCBibG9jaz1ibG9ja0BlbnRyeT0xLCBkaXNwYXRjaD1kaXNwYXRjaEBlbnRy
eT0xLCBzZWxmPTxvcHRpbWl6ZWQgb3V0PikgYXQgLi4vZ2xpYi9nbWFpbi5jOjQxMjYKIzMgIDB4
MDAwMDdmZDcwNWUzZTIzMyBpbiBnX21haW5fY29udGV4dF9pdGVyYXRpb24gKGNvbnRleHQ9MHg1
NTgzNGEwMDk1OTAsIG1heV9ibG9jaz1tYXlfYmxvY2tAZW50cnk9MSkgYXQgLi4vZ2xpYi9nbWFp
bi5jOjQxOTYKIzQgIDB4MDAwMDdmZDcwNWUzZTI4MSBpbiBnbGliX3dvcmtlcl9tYWluIChkYXRh
PTxvcHRpbWl6ZWQgb3V0PikgYXQgLi4vZ2xpYi9nbWFpbi5jOjYwODkKIzUgIDB4MDAwMDdmZDcw
NWU2ODVhMSBpbiBnX3RocmVhZF9wcm94eSAoZGF0YT0weDU1ODM0YTAwMDAwMCkgYXQgLi4vZ2xp
Yi9ndGhyZWFkLmM6ODI2CiM2ICAweDAwMDA3ZmQ3MDVkY2M0ZDIgaW4gc3RhcnRfdGhyZWFkIChh
cmc9PG9wdGltaXplZCBvdXQ+KSBhdCBwdGhyZWFkX2NyZWF0ZS5jOjQ3NwojNyAgMHgwMDAwN2Zk
NzA1OGJhMzIzIGluIGNsb25lICgpIGF0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82
NC9jbG9uZS5TOjk1CgpUaHJlYWQgMiAoVGhyZWFkIDB4N2ZkNzAzODkxOWMwIChMV1AgMjI3MSkp
OgojMCAgMHgwMDAwN2ZkNzA1OGFmNTNmIGluIF9fR0lfX19wb2xsIChmZHM9MHg3ZmQ2ODAwMDIw
ODAsIG5mZHM9MiwgdGltZW91dD0yODA0KSBhdCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9w
b2xsLmM6MjkKIzEgIDB4MDAwMDdmZDcwNWUzZTBmZSBpbiBnX21haW5fY29udGV4dF9wb2xsIChw
cmlvcml0eT08b3B0aW1pemVkIG91dD4sIG5fZmRzPTIsIGZkcz0weDdmZDY4MDAwMjA4MCwgdGlt
ZW91dD08b3B0aW1pemVkIG91dD4sIGNvbnRleHQ9MHg1NTgzNDlmZjkxODApIGF0IC4uL2dsaWIv
Z21haW4uYzo0NDM0CiMyICBnX21haW5fY29udGV4dF9pdGVyYXRlIChjb250ZXh0PTB4NTU4MzQ5
ZmY5MTgwLCBibG9jaz1ibG9ja0BlbnRyeT0xLCBkaXNwYXRjaD1kaXNwYXRjaEBlbnRyeT0xLCBz
ZWxmPTxvcHRpbWl6ZWQgb3V0PikgYXQgLi4vZ2xpYi9nbWFpbi5jOjQxMjYKIzMgIDB4MDAwMDdm
ZDcwNWUzZTQ4MyBpbiBnX21haW5fbG9vcF9ydW4gKGxvb3A9MHg1NTgzNDlmZmEzMzApIGF0IC4u
L2dsaWIvZ21haW4uYzo0MzI5CiM0ICAweDAwMDA3ZmQ3MDlmMTg5OTggaW4gV1RGOjpSdW5Mb29w
OjpydW4oKSAoKSBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9nbGliL1J1bkxvb3BHTGliLmNwcDox
MDgKIzUgIDB4MDAwMDdmZDcwZGNkOTMxMSBpbiBXZWJLaXQ6OkF1eGlsaWFyeVByb2Nlc3NNYWlu
QmFzZTxXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzLCBmYWxzZT46OnJ1bihpbnQsIGNoYXIqKikgKHRo
aXM9MHg3ZmZmMTkwM2M3ZDAsIGFyZ2M9MywgYXJndj0weDdmZmYxOTAzYzk3OCkgYXQgLi4vLi4v
U291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzc01haW4uaDo3MAojNiAgMHgwMDAw
N2ZkNzBkY2Q2NWYyIGluIFdlYktpdDo6QXV4aWxpYXJ5UHJvY2Vzc01haW48V2ViS2l0OjpOZXR3
b3JrUHJvY2Vzc01haW5Tb3VwPihpbnQsIGNoYXIqKikgKGFyZ2M9MywgYXJndj0weDdmZmYxOTAz
Yzk3OCkgYXQgLi4vLi4vU291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzc01haW4u
aDo5NgojNyAgMHgwMDAwN2ZkNzBkY2M2YTg1IGluIFdlYktpdDo6TmV0d29ya1Byb2Nlc3NNYWlu
KGludCwgY2hhcioqKSAoYXJnYz0zLCBhcmd2PTB4N2ZmZjE5MDNjOTc4KSBhdCAuLi8uLi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya1Byb2Nlc3NNYWluU291cC5jcHA6
NjEKIzggIDB4MDAwMDU1ODM0OTczMzk1OSBpbiBtYWluKGludCwgY2hhcioqKSAoYXJnYz0zLCBh
cmd2PTB4N2ZmZjE5MDNjOTc4KSBhdCAuLi8uLi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L0VudHJ5UG9pbnQvdW5peC9OZXR3b3JrUHJvY2Vzc01haW4uY3BwOjMxCgpUaHJlYWQgMSAoVGhy
ZWFkIDB4N2ZkNmE5N2ZhNzAwIChMV1AgMjMwMCkpOgojMCAgZ19sb2d2IChsb2dfZG9tYWluPTB4
N2ZkNzA2MGQ5OTk4ICJHTGliLUdJTyIsIGxvZ19sZXZlbD1HX0xPR19MRVZFTF9DUklUSUNBTCwg
Zm9ybWF0PTxvcHRpbWl6ZWQgb3V0PiwgYXJncz08b3B0aW1pemVkIG91dD4pIGF0IC4uL2dsaWIv
Z21lc3NhZ2VzLmM6MTQxMwojMSAgMHgwMDAwN2ZkNzA1ZTQ1OTczIGluIGdfbG9nIChsb2dfZG9t
YWluPWxvZ19kb21haW5AZW50cnk9MHg3ZmQ3MDYwZDk5OTggIkdMaWItR0lPIiwgbG9nX2xldmVs
PWxvZ19sZXZlbEBlbnRyeT1HX0xPR19MRVZFTF9DUklUSUNBTCwgZm9ybWF0PWZvcm1hdEBlbnRy
eT0weDdmZDcwNWU5ZGFkMCAiJXM6IGFzc2VydGlvbiAnJXMnIGZhaWxlZCIpIGF0IC4uL2dsaWIv
Z21lc3NhZ2VzLmM6MTQ1MQojMiAgMHgwMDAwN2ZkNzA1ZTQ2MTlkIGluIGdfcmV0dXJuX2lmX2Zh
aWxfd2FybmluZyAobG9nX2RvbWFpbj1sb2dfZG9tYWluQGVudHJ5PTB4N2ZkNzA2MGQ5OTk4ICJH
TGliLUdJTyIsIHByZXR0eV9mdW5jdGlvbj1wcmV0dHlfZnVuY3Rpb25AZW50cnk9MHg3ZmQ3MDYw
ZTg5MjAgPF9fZnVuY19fLjMxPiAiZ19vdXRwdXRfc3RyZWFtX3dyaXRlX2FsbCIsIGV4cHJlc3Np
b249ZXhwcmVzc2lvbkBlbnRyeT0weDdmZDcwNjBkYjYwNyAiYnVmZmVyICE9IE5VTEwiKSBhdCAu
Li9nbGliL2dtZXNzYWdlcy5jOjI4ODMKIzMgIDB4MDAwMDdmZDcwNjAxOWFiYSBpbiBnX291dHB1
dF9zdHJlYW1fd3JpdGVfYWxsIChzdHJlYW09MHg3ZmQ2OGMwMmUxNzAgW0dMb2NhbEZpbGVPdXRw
dXRTdHJlYW1dLCBidWZmZXI9MHgwLCBjb3VudD0wLCBieXRlc193cml0dGVuPTB4N2ZkNmE5N2Y2
MjQwLCBjYW5jZWxsYWJsZT0weDAsIGVycm9yPTB4MCkgYXQgLi4vZ2lvL2dvdXRwdXRzdHJlYW0u
YzoyOTYKIzQgIDB4MDAwMDdmZDcwOWYxNTQyOSBpbiBXVEY6OkZpbGVTeXN0ZW1JbXBsOjp3cml0
ZVRvRmlsZShfR0ZpbGVJT1N0cmVhbSosIGNoYXIgY29uc3QqLCBpbnQpIChoYW5kbGU9MHg3ZmQ2
OGMwMDFhMDAsIGRhdGE9MHgwLCBsZW5ndGg9MCkgYXQgLi4vLi4vU291cmNlL1dURi93dGYvZ2xp
Yi9GaWxlU3lzdGVtR2xpYi5jcHA6NDExCiM1ICAweDAwMDA3ZmQ3MTFiY2Y3NGIgaW4gb3BlcmF0
b3IoKSh1aW50OF90IGNvbnN0Kiwgc2l6ZV90KSBjb25zdCAoX19jbG9zdXJlPTB4N2ZkNzAyZjlk
YWU4LCBkYXRhPTB4MCwgc2l6ZT0wKSBhdCAuLi8uLi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2Uvc2VydmVyL1NXU2NyaXB0U3RvcmFnZS5jcHA6MTAyCiM2ICAweDAwMDA3ZmQ3MTFiZTM2
NmIgaW4gV1RGOjpEZXRhaWw6OkNhbGxhYmxlV3JhcHBlcjxXZWJDb3JlOjpTV1NjcmlwdFN0b3Jh
Z2U6OnN0b3JlKGNvbnN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmLCBj
b25zdCBXVEY6OlVSTCYsIGNvbnN0IFdlYkNvcmU6OlNoYXJlZEJ1ZmZlciYpOjo8bGFtYmRhKGNv
bnN0IHVpbnQ4X3QqLCBzaXplX3QpPiwgYm9vbCwgdW5zaWduZWQgY2hhciBjb25zdCosIGxvbmcg
dW5zaWduZWQgaW50Pjo6Y2FsbChjb25zdCB1bnNpZ25lZCBjaGFyICosIHVuc2lnbmVkIGxvbmcp
ICh0aGlzPTB4N2ZkNzAyZjlkYWUwLCBpbiMwPTB4MCwgaW4jMT0wKSBhdCBXVEYvSGVhZGVycy93
dGYvRnVuY3Rpb24uaDo1MgojNyAgMHgwMDAwN2ZkNzBkYzhlNjVhIGluIFdURjo6RnVuY3Rpb248
Ym9vbCAodW5zaWduZWQgY2hhciBjb25zdCosIHVuc2lnbmVkIGxvbmcpPjo6b3BlcmF0b3IoKSh1
bnNpZ25lZCBjaGFyIGNvbnN0KiwgdW5zaWduZWQgbG9uZykgY29uc3QgKHRoaXM9MHg3ZmQ2YTk3
ZjYzYzAsIGluIzA9MHgwLCBpbiMxPTApIGF0IFdURi9IZWFkZXJzL3d0Zi9GdW5jdGlvbi5oOjgz
CiM4ICAweDAwMDA3ZmQ3MTFiY2Y3MGEgaW4gb3BlcmF0b3IoKShjb25zdCBXVEY6OkZ1bmN0aW9u
PGJvb2wodW5zaWduZWQgY2hhciBjb25zdCosIGxvbmcgdW5zaWduZWQgaW50KT4gJikgY29uc3Qg
KF9fY2xvc3VyZT0weDdmZDZhOTdmNjNhOCwgd3JpdGVEYXRhPS4uLikgYXQgLi4vLi4vU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NjcmlwdFN0b3JhZ2UuY3BwOjkyCiM5
ICAweDAwMDA3ZmQ3MTFiY2Y5MzAgaW4gV2ViQ29yZTo6U1dTY3JpcHRTdG9yYWdlOjpzdG9yZShX
ZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5IGNvbnN0JiwgV1RGOjpVUkwgY29u
c3QmLCBXZWJDb3JlOjpTaGFyZWRCdWZmZXIgY29uc3QmKSAodGhpcz0weDdmZDcwMmY5ZDk4MCwg
cmVnaXN0cmF0aW9uS2V5PS4uLiwgc2NyaXB0VVJMPS4uLiwgc2NyaXB0PS4uLikgYXQgLi4vLi4v
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NjcmlwdFN0b3JhZ2UuY3Bw
OjEwMQojMTAgMHgwMDAwN2ZkNzExYmNjZmIzIGluIFdlYkNvcmU6OlJlZ2lzdHJhdGlvbkRhdGFi
YXNlOjpkb1B1c2hDaGFuZ2VzKFdURjo6VmVjdG9yPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDb250
ZXh0RGF0YSwgMHVsLCBXVEY6OkNyYXNoT25PdmVyZmxvdywgMTZ1bCwgV1RGOjpGYXN0TWFsbG9j
PiBjb25zdCYsIFdURjo6VmVjdG9yPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25L
ZXksIDB1bCwgV1RGOjpDcmFzaE9uT3ZlcmZsb3csIDE2dWwsIFdURjo6RmFzdE1hbGxvYz4gY29u
c3QmKSAodGhpcz0weDdmZDcwMmZmNzBjMCwgdXBkYXRlZFJlZ2lzdHJhdGlvbnM9Li4uLCByZW1v
dmVkUmVnaXN0cmF0aW9ucz0uLi4pIGF0IC4uLy4uL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9zZXJ2ZXIvUmVnaXN0cmF0aW9uRGF0YWJhc2UuY3BwOjQ2OAojMTEgMHgwMDAwN2ZkNzEx
YmNiZTkxIGluIG9wZXJhdG9yKCkoKSAoX19jbG9zdXJlPTB4N2ZkNzAyZjEwZDc4KSBhdCAuLi8u
Li9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1JlZ2lzdHJhdGlvbkRhdGFi
YXNlLmNwcDozNzAKIzEyIDB4MDAwMDdmZDcxMWJlMzcxMCBpbiBXVEY6OkRldGFpbDo6Q2FsbGFi
bGVXcmFwcGVyPFdlYkNvcmU6OlJlZ2lzdHJhdGlvbkRhdGFiYXNlOjpzY2hlZHVsZVB1c2hDaGFu
Z2VzKFdURjo6VmVjdG9yPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YT4mJiwgV1RG
OjpWZWN0b3I8V2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleT4mJiwgV2ViQ29y
ZTo6UmVnaXN0cmF0aW9uRGF0YWJhc2U6OlNob3VsZFJldHJ5LCBXVEY6OkNvbXBsZXRpb25IYW5k
bGVyPHZvaWQoKT4mJik6OjxsYW1iZGEoKT4sIHZvaWQ+OjpjYWxsKHZvaWQpICh0aGlzPTB4N2Zk
NzAyZjEwZDcwKSBhdCBXVEYvSGVhZGVycy93dGYvRnVuY3Rpb24uaDo1MgojMTMgMHgwMDAwN2Zk
NzBkMzYwOTdiIGluIFdURjo6RnVuY3Rpb248dm9pZCAoKT46Om9wZXJhdG9yKCkoKSBjb25zdCAo
dGhpcz0weDdmZDZhODNmYTRhOCkgYXQgV1RGL0hlYWRlcnMvd3RmL0Z1bmN0aW9uLmg6ODMKIzE0
IDB4MDAwMDdmZDcxMWJjYWI1YSBpbiBvcGVyYXRvcigpKCkgKF9fY2xvc3VyZT0weDdmZDZhODNm
YTRhMCkgYXQgLi4vLi4vU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdp
c3RyYXRpb25EYXRhYmFzZS5jcHA6MTg4CiMxNSAweDAwMDA3ZmQ3MTFiZTM3OTAgaW4gV1RGOjpE
ZXRhaWw6OkNhbGxhYmxlV3JhcHBlcjxXZWJDb3JlOjpSZWdpc3RyYXRpb25EYXRhYmFzZTo6cG9z
dFRhc2tUb1dvcmtRdWV1ZShXVEY6OkZ1bmN0aW9uPHZvaWQoKT4mJik6OjxsYW1iZGEoKT4sIHZv
aWQ+OjpjYWxsKHZvaWQpICh0aGlzPTB4N2ZkNmE4M2ZhNDk4KSBhdCBXVEYvSGVhZGVycy93dGYv
RnVuY3Rpb24uaDo1MgojMTYgMHgwMDAwN2ZkNzA4ZWVkMmIxIGluIFdURjo6RnVuY3Rpb248dm9p
ZCAoKT46Om9wZXJhdG9yKCkoKSBjb25zdCAodGhpcz0weDdmZDZhODNmYTRjMCkgYXQgV1RGL0hl
YWRlcnMvd3RmL0Z1bmN0aW9uLmg6ODMKIzE3IDB4MDAwMDdmZDcwOWYxMGFhYyBpbiBvcGVyYXRv
cigpKCkgY29uc3QgKF9fY2xvc3VyZT0weDdmZDZhODNmYTRiOCkgYXQgLi4vLi4vU291cmNlL1dU
Ri93dGYvZ2VuZXJpYy9Xb3JrUXVldWVHZW5lcmljLmNwcDo3MQojMTggMHgwMDAwN2ZkNzA5ZjEy
OTZhIGluIFdURjo6RGV0YWlsOjpDYWxsYWJsZVdyYXBwZXI8V1RGOjpXb3JrUXVldWU6OmRpc3Bh
dGNoKFdURjo6RnVuY3Rpb248dm9pZCgpPiYmKTo6PGxhbWJkYSgpPiwgdm9pZD46OmNhbGwodm9p
ZCkgKHRoaXM9MHg3ZmQ2YTgzZmE0YjApIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL0Z1bmN0aW9u
Lmg6NTIKIzE5IDB4MDAwMDdmZDcwOGVlZDJiMSBpbiBXVEY6OkZ1bmN0aW9uPHZvaWQgKCk+Ojpv
cGVyYXRvcigpKCkgY29uc3QgKHRoaXM9MHg3ZmQ2YTk3Zjk5NDApIGF0IFdURi9IZWFkZXJzL3d0
Zi9GdW5jdGlvbi5oOjgzCiMyMCAweDAwMDA3ZmQ3MDllNzY4MDUgaW4gV1RGOjpSdW5Mb29wOjpw
ZXJmb3JtV29yaygpICh0aGlzPTB4N2ZkNzAyZjljMDAwKSBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0
Zi9SdW5Mb29wLmNwcDoxMzMKIzIxIDB4MDAwMDdmZDcwOWYxODNmYSBpbiBvcGVyYXRvcigpKGdw
b2ludGVyKSBjb25zdCAoX19jbG9zdXJlPTB4MCwgdXNlckRhdGE9MHg3ZmQ3MDJmOWMwMDApIGF0
IC4uLy4uL1NvdXJjZS9XVEYvd3RmL2dsaWIvUnVuTG9vcEdMaWIuY3BwOjgwCiMyMiAweDAwMDA3
ZmQ3MDlmMTg0MWUgaW4gX0ZVTihncG9pbnRlcikgKCkgYXQgLi4vLi4vU291cmNlL1dURi93dGYv
Z2xpYi9SdW5Mb29wR0xpYi5jcHA6ODIKIzIzIDB4MDAwMDdmZDcwOWYxODM4ZCBpbiBvcGVyYXRv
cigpKEdTb3VyY2UqLCBHU291cmNlRnVuYywgZ3BvaW50ZXIpIGNvbnN0IChfX2Nsb3N1cmU9MHgw
LCBzb3VyY2U9MHg3ZmQ2OGMwMDNhNTAsIGNhbGxiYWNrPTB4N2ZkNzA5ZjE4NDAxIDxfRlVOKGdw
b2ludGVyKT4sIHVzZXJEYXRhPTB4N2ZkNzAyZjljMDAwKSBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0
Zi9nbGliL1J1bkxvb3BHTGliLmNwcDo1MwojMjQgMHgwMDAwN2ZkNzA5ZjE4M2RiIGluIF9GVU4o
R1NvdXJjZSosIEdTb3VyY2VGdW5jLCBncG9pbnRlcikgKCkgYXQgLi4vLi4vU291cmNlL1dURi93
dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHA6NTYKIzI1IDB4MDAwMDdmZDcwNWUzZGRiZiBpbiBnX21h
aW5fZGlzcGF0Y2ggKGNvbnRleHQ9MHg3ZmQ2OGMwMDBiNjApIGF0IC4uL2dsaWIvZ21haW4uYzoz
MzM3CiMyNiBnX21haW5fY29udGV4dF9kaXNwYXRjaCAoY29udGV4dD0weDdmZDY4YzAwMGI2MCkg
YXQgLi4vZ2xpYi9nbWFpbi5jOjQwNTUKIzI3IDB4MDAwMDdmZDcwNWUzZTE2OCBpbiBnX21haW5f
Y29udGV4dF9pdGVyYXRlIChjb250ZXh0PTB4N2ZkNjhjMDAwYjYwLCBibG9jaz1ibG9ja0BlbnRy
eT0xLCBkaXNwYXRjaD1kaXNwYXRjaEBlbnRyeT0xLCBzZWxmPTxvcHRpbWl6ZWQgb3V0PikgYXQg
Li4vZ2xpYi9nbWFpbi5jOjQxMzEKIzI4IDB4MDAwMDdmZDcwNWUzZTQ4MyBpbiBnX21haW5fbG9v
cF9ydW4gKGxvb3A9MHg3ZmQ2OGMwMDNhMzApIGF0IC4uL2dsaWIvZ21haW4uYzo0MzI5CiMyOSAw
eDAwMDA3ZmQ3MDlmMTg5OTggaW4gV1RGOjpSdW5Mb29wOjpydW4oKSAoKSBhdCAuLi8uLi9Tb3Vy
Y2UvV1RGL3d0Zi9nbGliL1J1bkxvb3BHTGliLmNwcDoxMDgKIzMwIDB4MDAwMDdmZDcwOWYxMDhm
MiBpbiBvcGVyYXRvcigpKCkgY29uc3QgKF9fY2xvc3VyZT0weDdmZDcwMmZmNjVhOCkgYXQgLi4v
Li4vU291cmNlL1dURi93dGYvZ2VuZXJpYy9Xb3JrUXVldWVHZW5lcmljLmNwcDo1MQojMzEgMHgw
MDAwN2ZkNzA5ZjEyOWFhIGluIFdURjo6RGV0YWlsOjpDYWxsYWJsZVdyYXBwZXI8V1RGOjpXb3Jr
UXVldWU6OnBsYXRmb3JtSW5pdGlhbGl6ZShjaGFyIGNvbnN0KiwgV1RGOjpXb3JrUXVldWU6OlR5
cGUsIFdURjo6V29ya1F1ZXVlOjpRT1MpOjo8bGFtYmRhKCk+LCB2b2lkPjo6Y2FsbCh2b2lkKSAo
dGhpcz0weDdmZDcwMmZmNjVhMCkgYXQgLi4vLi4vU291cmNlL1dURi93dGYvRnVuY3Rpb24uaDo1
MgojMzIgMHgwMDAwN2ZkNzA4ZWVkMmIxIGluIFdURjo6RnVuY3Rpb248dm9pZCAoKT46Om9wZXJh
dG9yKCkoKSBjb25zdCAodGhpcz0weDdmZDZhOTdmOWMzMCkgYXQgV1RGL0hlYWRlcnMvd3RmL0Z1
bmN0aW9uLmg6ODMKIzMzIDB4MDAwMDdmZDcwOWU3YzQ3ZiBpbiBXVEY6OlRocmVhZDo6ZW50cnlQ
b2ludChXVEY6OlRocmVhZDo6TmV3VGhyZWFkQ29udGV4dCopIChuZXdUaHJlYWRDb250ZXh0PTB4
N2ZkNzAyZmY0NjkwKSBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuY3BwOjE4MQoj
MzQgMHgwMDAwN2ZkNzA5ZjIzOThkIGluIFdURjo6d3RmVGhyZWFkRW50cnlQb2ludCh2b2lkKikg
KGNvbnRleHQ9MHg3ZmQ3MDJmZjQ2OTApIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL3Bvc2l4L1Ro
cmVhZGluZ1BPU0lYLmNwcDoyNDEKIzM1IDB4MDAwMDdmZDcwNWRjYzRkMiBpbiBzdGFydF90aHJl
YWQgKGFyZz08b3B0aW1pemVkIG91dD4pIGF0IHB0aHJlYWRfY3JlYXRlLmM6NDc3CiMzNiAweDAw
MDA3ZmQ3MDU4YmEzMjMgaW4gY2xvbmUgKCkgYXQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgv
eDg2XzY0L2Nsb25lLlM6OTUKClNUREVSUjogClNUREVSUjogd2FybmluZzogdGhlIGRlYnVnIGlu
Zm9ybWF0aW9uIGZvdW5kIGluICIvdXNyL2xpYi9kZWJ1Zy8vdXNyL2xpYi94ODZfNjQtbGludXgt
Z251L2xpYmljdWRhdGEuc28uNjcuMS5kZWJ1ZyIgZG9lcyBub3QgbWF0Y2ggIi91c3IvbGliL3g4
Nl82NC1saW51eC1nbnUvbGliaWN1ZGF0YS5zby42NyIgKENSQyBtaXNtYXRjaCkuClNUREVSUjog
ClNUREVSUjogClNUREVSUjogd2FybmluZzogdGhlIGRlYnVnIGluZm9ybWF0aW9uIGZvdW5kIGlu
ICIvdXNyL2xpYi9kZWJ1Zy8vdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2xpYmljdWRhdGEuc28u
NjcuMS5kZWJ1ZyIgZG9lcyBub3QgbWF0Y2ggIi91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvbGli
aWN1ZGF0YS5zby42NyIgKENSQyBtaXNtYXRjaCkuClNUREVSUjogClNUREVSUjogClNUREVSUjog
d2FybmluZzogdGhlIGRlYnVnIGluZm9ybWF0aW9uIGZvdW5kIGluICIvdXNyL2xpYi9kZWJ1Zy8v
dXNyL2xpYi94ODZfNjQtbGludXgtZ251L2xpYlgxMS14Y2Iuc28uMS4wLjAuZGVidWciIGRvZXMg
bm90IG1hdGNoICIvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L2xpYlgxMS14Y2Iuc28uMSIgKENS
QyBtaXNtYXRjaCkuClNUREVSUjogClNUREVSUjogClNUREVSUjogd2FybmluZzogdGhlIGRlYnVn
IGluZm9ybWF0aW9uIGZvdW5kIGluICIvdXNyL2xpYi9kZWJ1Zy8vdXNyL2xpYi94ODZfNjQtbGlu
dXgtZ251L2xpYlgxMS14Y2Iuc28uMS4wLjAuZGVidWciIGRvZXMgbm90IG1hdGNoICIvdXNyL2xp
Yi94ODZfNjQtbGludXgtZ251L2xpYlgxMS14Y2Iuc28uMSIgKENSQyBtaXNtYXRjaCkuClNUREVS
UjogClNUREVSUjogClNUREVSUjogKHByb2Nlc3M6MjI3MSk6IEdMaWItR0lPLUNSSVRJQ0FMICoq
OiAwOTo0OToxNy44NjY6IGdfb3V0cHV0X3N0cmVhbV93cml0ZV9hbGw6IGFzc2VydGlvbiAnYnVm
ZmVyICE9IE5VTEwnIGZhaWxlZApTVERFUlI6IExFQUs6IDEgV2ViUGFnZVByb3h5
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424919</attachid>
            <date>2021-04-01 11:52:20 -0700</date>
            <delta_ts>2021-04-01 11:54:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224059-20210401115219.patch</filename>
            <type>text/plain</type>
            <size>2000</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1MzY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzkyYWQwYTg2ODdmZjZk
YmZjODViNWE2MTlkMjIzNWNlOTQ1ODgwMC4uOTEyOWFkNWVhYzljY2VkYzQxYWZiZjlmMzNkODcz
ZDA0YzE2ZTBhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTA0LTAxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTihyMjc1MjY3
KTogW0dUS11bV1BFXSAxMiBuZXcgY3Jhc2hlcyBvbiBzZXJ2aWNlLXdvcmtlcnMgbGF5b3V0IHRl
c3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQw
NTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtl
IHN1cmUgU1dTY3JpcHRTdG9yYWdlOjpzdG9yZSgpIG5ldmVyIGNhbGxzIEZpbGVTeXN0ZW06Ondy
aXRlVG9GaWxlKCkgd2l0aCBhCisgICAgICAgIG51bGxwdHIgKHdoZW4gdGhlIHNpemUgaXMgMCkg
YXMgdGhlIGdsaWIgaW1wbGVtZW50YXRpb24gZG9lcyBub3Qgc2VlbSB0byBzdXBwb3J0CisgICAg
ICAgIHRoaXMuCisKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2NyaXB0U3Rv
cmFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTV1NjcmlwdFN0b3JhZ2U6OnN0b3JlKToKKwog
MjAyMS0wNC0wMSAgQ2hyaXMgTG9yZCAgPGNsb3JkQGlnYWxpYS5jb20+CiAKICAgICAgICAgTWFr
ZSBGb250Q2FjaGUgY29uc3RydWN0YWJsZSBhbmQgc2FmZSB0byB1c2Ugb2ZmIHRoZSBtYWluIHRo
cmVhZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9T
V1NjcmlwdFN0b3JhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZl
ci9TV1NjcmlwdFN0b3JhZ2UuY3BwCmluZGV4IDQ0YTM1ODZhMTY3YTI3NzFmMWZlMmYxMzQ5NzM3
NjM3MDU2M2I2ZGMuLmZkYmNlMzI5OGQ4YjUyN2E1YTgxZTk4ZTFmNTU3ZGM0MmE2OWM2NTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTY3JpcHRT
dG9yYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NX
U2NyaXB0U3RvcmFnZS5jcHAKQEAgLTg4LDggKzg4LDEwIEBAIFJlZlB0cjxTaGFyZWRCdWZmZXI+
IFNXU2NyaXB0U3RvcmFnZTo6c3RvcmUoY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktl
eSYKICAgICBGaWxlU3lzdGVtOjptYWtlQWxsRGlyZWN0b3JpZXMoRmlsZVN5c3RlbTo6ZGlyZWN0
b3J5TmFtZShzY3JpcHRQYXRoKSk7CiAKICAgICBhdXRvIGl0ZXJhdGVPdmVyQnVmZmVyQW5kV3Jp
dGVEYXRhID0gWyZdKGNvbnN0IEZ1bmN0aW9uPGJvb2woY29uc3QgdWludDhfdCosIHNpemVfdCk+
JiB3cml0ZURhdGEpIHsKLSAgICAgICAgZm9yIChhdXRvIGl0ID0gc2NyaXB0LmJlZ2luKCk7IGl0
ICE9IHNjcmlwdC5lbmQoKTsgKytpdCkKLSAgICAgICAgICAgIHdyaXRlRGF0YShyZWludGVycHJl
dF9jYXN0PGNvbnN0IHVpbnQ4X3QqPihpdC0+c2VnbWVudC0+ZGF0YSgpKSwgaXQtPnNlZ21lbnQt
PnNpemUoKSk7CisgICAgICAgIGZvciAoYXV0byBpdCA9IHNjcmlwdC5iZWdpbigpOyBpdCAhPSBz
Y3JpcHQuZW5kKCk7ICsraXQpIHsKKyAgICAgICAgICAgIGlmIChpdC0+c2VnbWVudC0+c2l6ZSgp
KQorICAgICAgICAgICAgICAgIHdyaXRlRGF0YShyZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4
X3QqPihpdC0+c2VnbWVudC0+ZGF0YSgpKSwgaXQtPnNlZ21lbnQtPnNpemUoKSk7CisgICAgICAg
IH0KICAgICB9OwogCiAgICAgaWYgKCFzaG91bGRVc2VGaWxlTWFwcGluZyhzY3JpcHQuc2l6ZSgp
KSkgewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424921</attachid>
            <date>2021-04-01 11:57:52 -0700</date>
            <delta_ts>2021-04-01 13:59:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224059-20210401115751.patch</filename>
            <type>text/plain</type>
            <size>1619</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1MzY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDdhZTYzNjk4ZDg1YjBlMTIyNjc1Yzgy
ODQ1ODc0NWE1YzVmNTY5Y2QuLjNkYzRjYTQwZTAwZjhlMTY2YTg5NmNhNDEzYmEzZTcxZGI2YWE3
ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDQtMDEgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKHIyNzUyNjcpOiBbR1RLXVtXUEVdIDEy
IG5ldyBjcmFzaGVzIG9uIHNlcnZpY2Utd29ya2VycyBsYXlvdXQgdGVzdHMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDA1OQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEhhdmUgdGhlIGdsaWIgaW1wbGVt
ZW50YXRpb24gb2YgRmlsZVN5c3RlbTo6d3JpdGVUb0ZpbGUoKSByZXR1cm4gZWFybHkgd2hlbiB0
aGUgc2l6ZSB0bworICAgICAgICB3cml0ZSBpcyAwLCBpbnN0ZWFkIG9mIGNhbGxpbmcgZ19vdXRw
dXRfc3RyZWFtX3dyaXRlX2FsbCgpLiBJdCBhcHBlYXJzIHRoYXQgcGFzc2luZyBhCisgICAgICAg
IE5VTEwgYnVmZmVyIHRvIGdfb3V0cHV0X3N0cmVhbV93cml0ZV9hbGwoKSBjcmFzaGVzLCBldmVu
IGlmIHNpemUgaXMgMC4KKworICAgICAgICAqIHd0Zi9nbGliL0ZpbGVTeXN0ZW1HbGliLmNwcDoK
KyAgICAgICAgKFdURjo6RmlsZVN5c3RlbUltcGw6OndyaXRlVG9GaWxlKToKKwogMjAyMS0wMy0z
MSAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CiAKICAgICAgICAgRWFzZSBleHBlcmlt
ZW50YXRpb24gYnkgZW5hYmxpbmcgPG1vZGVsPiBpZiBTRVBBUkFURURfTU9ERUwgaXMgYmVpbmcg
dXNlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvZ2xpYi9GaWxlU3lzdGVtR2xpYi5jcHAg
Yi9Tb3VyY2UvV1RGL3d0Zi9nbGliL0ZpbGVTeXN0ZW1HbGliLmNwcAppbmRleCBiYzYzZTgxZTQ2
ODVkODJmNGNmOGEwYTMxM2RmYzg5MzQyZjA3MmFhLi42ODdmYTEwYzI2NzUzNmMwNThlNzkyNGRi
ZWNiOTNhNzEyNDhmODkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9nbGliL0ZpbGVTeXN0
ZW1HbGliLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9nbGliL0ZpbGVTeXN0ZW1HbGliLmNwcApA
QCAtNDA3LDYgKzQwNyw5IEBAIGJvb2wgdHJ1bmNhdGVGaWxlKFBsYXRmb3JtRmlsZUhhbmRsZSBo
YW5kbGUsIGxvbmcgbG9uZyBvZmZzZXQpCiAKIGludCB3cml0ZVRvRmlsZShQbGF0Zm9ybUZpbGVI
YW5kbGUgaGFuZGxlLCBjb25zdCBjaGFyKiBkYXRhLCBpbnQgbGVuZ3RoKQogeworICAgIGlmICgh
bGVuZ3RoKQorICAgICAgICByZXR1cm4gMDsKKwogICAgIGdzaXplIGJ5dGVzV3JpdHRlbjsKICAg
ICBnX291dHB1dF9zdHJlYW1fd3JpdGVfYWxsKGdfaW9fc3RyZWFtX2dldF9vdXRwdXRfc3RyZWFt
KEdfSU9fU1RSRUFNKGhhbmRsZSkpLAogICAgICAgICBkYXRhLCBsZW5ndGgsICZieXRlc1dyaXR0
ZW4sIG51bGxwdHIsIG51bGxwdHIpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>