<?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>297626</bug_id>
          
          <creation_ts>2025-08-19 16:41:19 -0700</creation_ts>
          <short_desc>REGRESSION(298921@main): Broke all of the builds</short_desc>
          <delta_ts>2025-08-19 17:06:29 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <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>
          
          <blocked>296710</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>i_gower</cc>
    
    <cc>jenner</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2137563</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2025-08-19 16:41:19 -0700</bug_when>
    <thetext>https://commits.webkit.org/298921@main introduced a regression:
Broke all of the builds

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2137565</commentid>
    <comment_count>1</comment_count>
      <attachid>476460</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2025-08-19 16:41:27 -0700</bug_when>
    <thetext>Created attachment 476460
REVERT of 298921@main

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the revert will be successful.  This process takes approximately 15 minutes.

If you would like to land the revert faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2137567</commentid>
    <comment_count>2</comment_count>
    <who name="Robert Jenner">jenner</who>
    <bug_when>2025-08-19 16:44:01 -0700</bug_when>
    <thetext>&lt;rdar://problem/158724012&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>476460</attachid>
            <date>2025-08-19 16:41:27 -0700</date>
            <delta_ts>2025-08-19 16:57:52 -0700</delta_ts>
            <desc>REVERT of 298921@main</desc>
            <filename>bug-297626-20250819234127.patch</filename>
            <type>text/plain</type>
            <size>65728</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">RnJvbSBkYTM2ZmU4OTc5YjU0MGZiZGFjYjJhNGNlMDNhMDAzNDBkNDJmOTQ5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDb21taXQgUXVldWUgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3Jn
PgpEYXRlOiBUdWUsIDE5IEF1ZyAyMDI1IDIzOjQxOjI0ICswMDAwClN1YmplY3Q6IFtQQVRDSF0g
VW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIDI5ODkyMUBtYWluLgogaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTI5NzYyNgoKQnJva2UgYWxsIG9mIHRoZSBidWlsZHMKClJldmVy
dGVkIGNoYW5nZXNldDoKCiJFeHRlbmQgRmV0Y2ggdG8gYWNjZXB0IGxvY2FsIGNvbm5lY3Rpb25z
IgpodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjk2NzEwCmh0dHBzOi8v
Y29tbWl0cy53ZWJraXQub3JnLzI5ODkyMUBtYWluCi0tLQogLi4uL1ByZWZlcmVuY2VzL1VuaWZp
ZWRXZWJQcmVmZXJlbmNlcy55YW1sICAgIHwgICAxIC0KIFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UgICAgICAgICAgICB8ICAgMiArLQogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9m
ZXRjaC9GZXRjaFJlcXVlc3QuY3BwIHwgIDQ2ICstLQogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9m
ZXRjaC9GZXRjaFJlcXVlc3QuaCAgIHwgICA0ICstCiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zl
dGNoL0ZldGNoUmVxdWVzdC5pZGwgfCAgIDIgKy0KIC4uLi9XZWJDb3JlL01vZHVsZXMvZmV0Y2gv
RmV0Y2hSZXF1ZXN0SW5pdC5oICB8ICAgNSArLQogLi4uL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1
ZXN0SW5pdC5pZGwgICAgICAgIHwgICAyICstCiAuLi4vV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0lQ
QWRkcmVzc1NwYWNlLmNwcCAgfCAxNDMgLS0tLS0tLS0tCiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2ZldGNoL0lQQWRkcmVzc1NwYWNlLmggfCAgIDUgLQogLi4uL21lZGlhc2Vzc2lvbi9NZWRpYVNl
c3Npb25Db29yZGluYXRvci5jcHAgIHwgICAxIC0KIC4uLi9tZWRpYXN0cmVhbS9NZWRpYVN0cmVh
bVRyYWNrUHJvY2Vzc29yLmNwcCB8ICAgMSAtCiAuLi4vbGlid2VicnRjL0xpYldlYlJUQ1J0cFNl
bmRlckJhY2tlbmQuaCAgICAgfCAgIDQgLQogLi4uL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
RXZlbnQuY3BwICAgICAgIHwgICAxIC0KIC4uLi9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9Xcml0
YWJsZVN0cmVhbS5oICB8ICAgMSAtCiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1
ZGlvTm9kZS5oICAgfCAgIDEgLQogLi4uL01vZHVsZXMvd2ViYXV0aG4vUHVibGljS2V5Q3JlZGVu
dGlhbC5jcHAgIHwgICAxIC0KIC4uLi9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFJlc3VsdFNldFJv
d0xpc3QuaCB8ICAgMyArLQogU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgICAgICAgICAgICAg
ICAgICAgIHwgICAxIC0KIC4uLi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiB8ICAgMiAtCiBTb3VyY2UvV2ViQ29yZS9kb20vU2VjdXJpdHlDb250ZXh0LmNwcCAgICAg
ICAgfCAgIDQgKy0KIFNvdXJjZS9XZWJDb3JlL2RvbS9TZWN1cml0eUNvbnRleHQuaCAgICAgICAg
ICB8ICAgNSAtCiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlci5jcHAgICAgICAgICAg
fCAgIDIgLQogU291cmNlL1dlYkNvcmUvbG9hZGVyL1BvbGljeUNvbnRhaW5lci5oICAgICAgIHwg
ICA2ICstCiAuLi4vcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcCAgfCAg
IDEgLQogLi4uL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oICAgIHwgICA5
ICstCiAuLi4vcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAgfCAgMTIg
Ky0KIC4uLi9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmggICB8ICAxMyAr
LQogLi4uL1dlYkNvcmVBcmd1bWVudENvZGVycy5zZXJpYWxpemF0aW9uLmluICAgIHwgICA0IC0K
IC4uLi9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogICB8ICAgNCAtCiAu
Li4vVGVzdHMvV2ViQ29yZS9JUEFkZHJlc3NTcGFjZVRlc3RzLmNwcCAgICAgfCAyOTAgLS0tLS0t
LS0tLS0tLS0tLS0tCiBMYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zICAgICAgICAgICAgICAg
ICAgfCAgIDEgLQogLi4uL2ludmFsaWQtdXJsLW5ldHdvcmstZGF0YS10YXNrLWNyYXNoLmh0bWwg
IHwgICAzICstCiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3RhdGlvbnMgICAg
fCAgIDEgKwogMzMgZmlsZXMgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygrKSwgNTU5IGRlbGV0aW9u
cygtKQogZGVsZXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvSVBB
ZGRyZXNzU3BhY2UuY3BwCiBkZWxldGUgbW9kZSAxMDA2NDQgVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJDb3JlL0lQQWRkcmVzc1NwYWNlVGVzdHMuY3BwCgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1VuaWZpZWRXZWJQcmVmZXJlbmNlcy55YW1sIGIvU291
cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1VuaWZpZWRXZWJQcmVmZXJlbmNlcy55YW1sCmlu
ZGV4IGRlNDg0NWFmNmI4ZS4uZTllYzMwZTM1ZDY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1Nj
cmlwdHMvUHJlZmVyZW5jZXMvVW5pZmllZFdlYlByZWZlcmVuY2VzLnlhbWwKKysrIGIvU291cmNl
L1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1VuaWZpZWRXZWJQcmVmZXJlbmNlcy55YW1sCkBAIC00
NDQwLDcgKzQ0NDAsNiBAQCBMb2NhbEZpbGVDb250ZW50U25pZmZpbmdFbmFibGVkOgogTG9jYWxO
ZXR3b3JrQWNjZXNzRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBzdGF0dXM6IHVuc3RhYmxlCi0g
IGNhdGVnb3J5OiBuZXR3b3JraW5nCiAgIGh1bWFuUmVhZGFibGVOYW1lOiAiTG9jYWwgTmV0d29y
ayBBY2Nlc3MiCiAgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBMb2NhbCBOZXR3
b3JrIEFjY2VzcyIKICAgd2ViS2l0TGVnYWN5UHJlZmVyZW5jZUtleTogV2ViS2l0TG9jYWxOZXR3
b3JrQWNjZXNzRW5hYmxlZFByZWZlcmVuY2VLZXkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
CmluZGV4IDI2NGZjZGU4YTQ0My4uNzcwYjMzNWFlYTJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKQEAgLTM1Miw3ICszNTIsNiBAQCBKU19CSU5ESU5HX0lETFMgOj0gXAogICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3RNb2RlLmlkbCBcCiAgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdFJlZGlyZWN0LmlkbCBcCiAgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaWRsIFwKLSAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvZmV0Y2gvSVBBZGRyZXNzU3BhY2UuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMv
ZmV0Y2gvUmVxdWVzdFByaW9yaXR5LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2ZldGNo
L1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUrRmV0Y2guaWRsIFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvZmlsZXN5c3RlbS9GaWxlU3lzdGVtRGlyZWN0b3J5SGFuZGxlLmlkbCBcCkBAIC00MDAs
NiArMzk5LDcgQEAgSlNfQklORElOR19JRExTIDo9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMv
aW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uTW9kZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxl
cy9pbmRleGVkZGIvSURCVmVyc2lvbkNoYW5nZUV2ZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9N
b2R1bGVzL2luZGV4ZWRkYi9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlK0luZGV4ZWREYXRhYmFz
ZS5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9mZXRjaC9JUEFkZHJlc3NTcGFjZS5pZGwg
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9BdWRpb0NvbmZpZ3Vy
YXRpb24uaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFjYXBhYmlsaXRpZXMvQ29s
b3JHYW11dC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYWNhcGFiaWxpdGllcy9I
ZHJNZXRhZGF0YVR5cGUuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZmV0Y2gvRmV0Y2hSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0
Y2hSZXF1ZXN0LmNwcAppbmRleCAwZjBkNTY3YjE0MGQuLjRlOGZmNGZlODQ1OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmNwcApAQCAtMTM1LDIxICsx
MzUsNiBAQCBzdGF0aWMgYm9vbCBtZXRob2RDYW5IYXZlQm9keShjb25zdCBSZXNvdXJjZVJlcXVl
c3QmIHJlcXVlc3QpCiAgICAgcmV0dXJuIHJlcXVlc3QuaHR0cE1ldGhvZCgpICE9ICJHRVQiX3Mg
JiYgcmVxdWVzdC5odHRwTWV0aG9kKCkgIT0gIkhFQUQiX3M7CiB9CiAKLXN0YXRpYyBJUEFkZHJl
c3NTcGFjZSB1cGRhdGVUYXJnZXRBZGRyZXNzU3BhY2VJZk5lZWRlZChJUEFkZHJlc3NTcGFjZSBj
dXJyZW50QWRkcmVzc1NwYWNlLCBjb25zdCBVUkwmIHVybCkKLXsKLSAgICBhdXRvIGhvc3QgPSB1
cmwuaG9zdCgpOwotICAgIGlmIChob3N0LmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuIGN1cnJl
bnRBZGRyZXNzU3BhY2U7Ci0KLSAgICBpZiAoV2ViQ29yZTo6aXNMb2NhbElQQWRkcmVzc1NwYWNl
KHVybCkpCi0gICAgICAgIHJldHVybiBJUEFkZHJlc3NTcGFjZTo6TG9jYWw7Ci0KLSAgICBpZiAo
aG9zdC5lbmRzV2l0aElnbm9yaW5nQVNDSUlDYXNlKCIubG9jYWwiX3MpKQotICAgICAgICByZXR1
cm4gSVBBZGRyZXNzU3BhY2U6OkxvY2FsOwotCi0gICAgcmV0dXJuIGN1cnJlbnRBZGRyZXNzU3Bh
Y2U7Ci19Ci0KIGlubGluZSBGZXRjaFJlcXVlc3Q6OkZldGNoUmVxdWVzdChTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiBjb250ZXh0LCBzdGQ6Om9wdGlvbmFsPEZldGNoQm9keT4mJiBib2R5LCBSZWY8
RmV0Y2hIZWFkZXJzPiYmIGhlYWRlcnMsIFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIEZldGNo
T3B0aW9ucyYmIG9wdGlvbnMsIFN0cmluZyYmIHJlZmVycmVyKQogICAgIDogRmV0Y2hCb2R5T3du
ZXIoJmNvbnRleHQsIFdURk1vdmUoYm9keSksIFdURk1vdmUoaGVhZGVycykpCiAgICAgLCBtX3Jl
cXVlc3QoV1RGTW92ZShyZXF1ZXN0KSkKQEAgLTIwNyw5ICsxOTIsNiBAQCBFeGNlcHRpb25Pcjx2
b2lkPiBGZXRjaFJlcXVlc3Q6OmluaXRpYWxpemVXaXRoKGNvbnN0IFN0cmluZyYgdXJsLCBJbml0
JiYgaW5pdCkKICAgICBtX3JlcXVlc3RVUkwgPSB7IG1fcmVxdWVzdC51cmwoKSwgY29udGV4dC0+
dG9wT3JpZ2luKCkuZGF0YSgpIH07CiAgICAgbV9yZXF1ZXN0LnNldEluaXRpYXRvcklkZW50aWZp
ZXIoY29udGV4dC0+cmVzb3VyY2VSZXF1ZXN0SWRlbnRpZmllcigpKTsKIAotICAgIGlmIChSZWZQ
dHIgZG9jdW1lbnQgPSBkeW5hbWljRG93bmNhc3Q8RG9jdW1lbnQ+KHNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKSk7IGRvY3VtZW50ICYmIGRvY3VtZW50LT5zZXR0aW5ncygpLmxvY2FsTmV0d29ya0Fj
Y2Vzc0VuYWJsZWQoKSkKLSAgICAgICAgbV90YXJnZXRBZGRyZXNzU3BhY2UgPSB1cGRhdGVUYXJn
ZXRBZGRyZXNzU3BhY2VJZk5lZWRlZChtX3RhcmdldEFkZHJlc3NTcGFjZSwgbV9yZXF1ZXN0LnVy
bCgpKTsKLQogICAgIGF1dG8gb3B0aW9uc1Jlc3VsdCA9IGluaXRpYWxpemVPcHRpb25zKGluaXQp
OwogICAgIGlmIChvcHRpb25zUmVzdWx0Lmhhc0V4Y2VwdGlvbigpKQogICAgICAgICByZXR1cm4g
b3B0aW9uc1Jlc3VsdC5yZWxlYXNlRXhjZXB0aW9uKCk7CkBAIC0yNzQsMjEgKzI1Niw2IEBAIEV4
Y2VwdGlvbk9yPHZvaWQ+IEZldGNoUmVxdWVzdDo6aW5pdGlhbGl6ZVdpdGgoRmV0Y2hSZXF1ZXN0
JiBpbnB1dCwgSW5pdCYmIGluaXQpCiAgICAgICAgIG1fbmF2aWdhdGlvblByZWxvYWRJZGVudGlm
aWVyID0gaW5wdXQubV9uYXZpZ2F0aW9uUHJlbG9hZElkZW50aWZpZXI7CiAgICAgfQogCi0gICAg
aWYgKFJlZlB0ciBleGVjdXRpb25Db250ZXh0ID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKSB7
Ci0gICAgICAgIGlmIChSZWZQdHIgZG9jdW1lbnQgPSBkeW5hbWljRG93bmNhc3Q8RG9jdW1lbnQ+
KCpleGVjdXRpb25Db250ZXh0KTsgZG9jdW1lbnQgJiYgZG9jdW1lbnQtPnNldHRpbmdzKCkubG9j
YWxOZXR3b3JrQWNjZXNzRW5hYmxlZCgpKSB7Ci0gICAgICAgICAgICBzd2l0Y2ggKGluaXQudGFy
Z2V0QWRkcmVzc1NwYWNlKSB7Ci0gICAgICAgICAgICBjYXNlIElQQWRkcmVzc1NwYWNlOjpQdWJs
aWM6Ci0gICAgICAgICAgICAgICAgbV90YXJnZXRBZGRyZXNzU3BhY2UgPSBJUEFkZHJlc3NTcGFj
ZTo6UHVibGljOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSBJUEFk
ZHJlc3NTcGFjZTo6TG9jYWw6Ci0gICAgICAgICAgICAgICAgbV90YXJnZXRBZGRyZXNzU3BhY2Ug
PSBJUEFkZHJlc3NTcGFjZTo6TG9jYWw7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
ICAgICB9Ci0KLSAgICAgICAgICAgIG1fdGFyZ2V0QWRkcmVzc1NwYWNlID0gdXBkYXRlVGFyZ2V0
QWRkcmVzc1NwYWNlSWZOZWVkZWQobV90YXJnZXRBZGRyZXNzU3BhY2UsIG1fcmVxdWVzdC51cmwo
KSk7Ci0gICAgICAgIH0KLSAgICB9Ci0KICAgICBhdXRvIHNldEJvZHlSZXN1bHQgPSBpbml0LmJv
ZHkgPyBzZXRCb2R5KFdURk1vdmUoKmluaXQuYm9keSkpIDogc2V0Qm9keShpbnB1dCk7CiAgICAg
aWYgKHNldEJvZHlSZXN1bHQuaGFzRXhjZXB0aW9uKCkpCiAgICAgICAgIHJldHVybiBzZXRCb2R5
UmVzdWx0OwpAQCAtMzc4LDExICszNDUsNiBAQCBSZXNvdXJjZVJlcXVlc3QgRmV0Y2hSZXF1ZXN0
OjpyZXNvdXJjZVJlcXVlc3QoKSBjb25zdAogICAgIGlmICghaXNCb2R5TnVsbCgpKQogICAgICAg
ICByZXF1ZXN0LnNldEhUVFBCb2R5KGJvZHkoKS5ib2R5QXNGb3JtRGF0YSgpKTsKIAotICAgIGlm
IChSZWZQdHIgY29udGV4dCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkgewotICAgICAgICBp
ZiAoUmVmUHRyIGRvY3VtZW50ID0gZHluYW1pY0Rvd25jYXN0PERvY3VtZW50PigqY29udGV4dCk7
IGRvY3VtZW50ICYmIGRvY3VtZW50LT5zZXR0aW5ncygpLmxvY2FsTmV0d29ya0FjY2Vzc0VuYWJs
ZWQoKSkKLSAgICAgICAgICAgIHJlcXVlc3Quc2V0VGFyZ2V0QWRkcmVzc1NwYWNlKG1fdGFyZ2V0
QWRkcmVzc1NwYWNlKTsKLSAgICB9Ci0KICAgICByZXR1cm4gcmVxdWVzdDsKIH0KIApAQCAtMzkw
LDE2ICszNTIsMTIgQEAgRXhjZXB0aW9uT3I8UmVmPEZldGNoUmVxdWVzdD4+IEZldGNoUmVxdWVz
dDo6Y2xvbmUoKQogewogICAgIGlmIChpc0Rpc3R1cmJlZE9yTG9ja2VkKCkpCiAgICAgICAgIHJl
dHVybiBFeGNlcHRpb24geyBFeGNlcHRpb25Db2RlOjpUeXBlRXJyb3IsICJCb2R5IGlzIGRpc3R1
cmJlZCBvciBsb2NrZWQiX3MgfTsKLSAgICBSZWZQdHIgY29udGV4dCA9IHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKTsKLSAgICBpZiAoIWNvbnRleHQpCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24g
eyBFeGNlcHRpb25Db2RlOjpJbnZhbGlkU3RhdGVFcnJvciwgIkNhbm5vdCBjbG9uZSBGZXRjaFJl
cXVlc3Qgd2l0aG91dCBhIHZhbGlkIHNjcmlwdCBleGVjdXRpb24gY29udGV4dCJfcyB9OwotICAg
IGF1dG8gY2xvbmUgPSBhZG9wdFJlZigqbmV3IEZldGNoUmVxdWVzdCgqY29udGV4dCwgc3RkOjpu
dWxsb3B0LCBGZXRjaEhlYWRlcnM6OmNyZWF0ZShtX2hlYWRlcnMuZ2V0KCkpLCBSZXNvdXJjZVJl
cXVlc3QgeyBtX3JlcXVlc3QgfSwgRmV0Y2hPcHRpb25zIHsgbV9vcHRpb25zIH0sIFN0cmluZyB7
IG1fcmVmZXJyZXIgfSkpOworCisgICAgYXV0byBjbG9uZSA9IGFkb3B0UmVmKCpuZXcgRmV0Y2hS
ZXF1ZXN0KCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIHN0ZDo6bnVsbG9wdCwgRmV0Y2hIZWFk
ZXJzOjpjcmVhdGUobV9oZWFkZXJzLmdldCgpKSwgUmVzb3VyY2VSZXF1ZXN0IHsgbV9yZXF1ZXN0
IH0sIEZldGNoT3B0aW9ucyB7IG1fb3B0aW9ucyB9LCBTdHJpbmcgeyBtX3JlZmVycmVyIH0pKTsK
ICAgICBjbG9uZS0+c3VzcGVuZElmTmVlZGVkKCk7CiAgICAgY2xvbmUtPmNsb25lQm9keSgqdGhp
cyk7CiAgICAgY2xvbmUtPnNldE5hdmlnYXRpb25QcmVsb2FkSWRlbnRpZmllcihtX25hdmlnYXRp
b25QcmVsb2FkSWRlbnRpZmllcik7CiAgICAgY2xvbmUtPm1fZW5hYmxlQ29udGVudEV4dGVuc2lv
bnNDaGVjayA9IG1fZW5hYmxlQ29udGVudEV4dGVuc2lvbnNDaGVjazsKLSAgICBpZiAoUmVmUHRy
IGRvY3VtZW50ID0gZHluYW1pY0Rvd25jYXN0PERvY3VtZW50PigqY29udGV4dCk7IGRvY3VtZW50
ICYmIGRvY3VtZW50LT5zZXR0aW5ncygpLmxvY2FsTmV0d29ya0FjY2Vzc0VuYWJsZWQoKSkKLSAg
ICAgICAgY2xvbmUtPm1fdGFyZ2V0QWRkcmVzc1NwYWNlID0gbV90YXJnZXRBZGRyZXNzU3BhY2U7
CiAgICAgY2xvbmUtPm1fc2lnbmFsLT5zaWduYWxGb2xsb3cobV9zaWduYWwpOwogICAgIHJldHVy
biBjbG9uZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0
Y2hSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5o
CmluZGV4IDNjODRiNzM2NjVhOS4uZGQ2NDY5YTI3NGYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmgKQEAgLTkwLDcgKzkwLDcgQEAgcHVibGljOgogCiAg
ICAgUmVxdWVzdFByaW9yaXR5IHByaW9yaXR5KCkgY29uc3QgeyByZXR1cm4gbV9wcmlvcml0eTsg
fQogCi0gICAgSVBBZGRyZXNzU3BhY2UgdGFyZ2V0QWRkcmVzc1NwYWNlKCkgY29uc3QgeyByZXR1
cm4gbV90YXJnZXRBZGRyZXNzU3BhY2U7IH0KKyAgICBjb25zdCBzdGQ6Om9wdGlvbmFsPElQQWRk
cmVzc1NwYWNlPiYgdGFyZ2V0QWRkcmVzc1NwYWNlKCkgY29uc3QgeyByZXR1cm4gbV90YXJnZXRB
ZGRyZXNzU3BhY2U7IH0KIAogICAgIGJvb2wgc2hvdWxkRW5hYmxlQ29udGVudEV4dGVuc2lvbnND
aGVjaygpIGNvbnN0IHsgcmV0dXJuIG1fZW5hYmxlQ29udGVudEV4dGVuc2lvbnNDaGVjazsgfQog
ICAgIHZvaWQgZGlzYWJsZUNvbnRlbnRFeHRlbnNpb25zQ2hlY2soKSB7IG1fZW5hYmxlQ29udGVu
dEV4dGVuc2lvbnNDaGVjayA9IGZhbHNlOyB9CkBAIC0xMTQsNyArMTE0LDcgQEAgcHJpdmF0ZToK
ICAgICBjb25zdCBSZWY8QWJvcnRTaWduYWw+IG1fc2lnbmFsOwogICAgIE1hcmthYmxlPEZldGNo
SWRlbnRpZmllcj4gbV9uYXZpZ2F0aW9uUHJlbG9hZElkZW50aWZpZXI7CiAgICAgYm9vbCBtX2Vu
YWJsZUNvbnRlbnRFeHRlbnNpb25zQ2hlY2sgeyB0cnVlIH07Ci0gICAgSVBBZGRyZXNzU3BhY2Ug
bV90YXJnZXRBZGRyZXNzU3BhY2U7CisgICAgc3RkOjpvcHRpb25hbDxJUEFkZHJlc3NTcGFjZT4g
bV90YXJnZXRBZGRyZXNzU3BhY2U7CiB9OwogCiBXZWJDb3JlT3BhcXVlUm9vdCByb290KEZldGNo
UmVxdWVzdCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRj
aFJlcXVlc3QuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3Qu
aWRsCmluZGV4IGQwY2E4Mjk4YjVmNC4uNjllYTcxY2VlNDYxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaWRsCkBAIC01NSw3ICs1NSw3IEBAIHR5cGVk
ZWYgKEZldGNoUmVxdWVzdCBvciBVU1ZTdHJpbmcpIFJlcXVlc3RJbmZvOwogICAgIC8vIEZJWE1F
OiBJbXBsZW1lbnQgJ2lzSGlzdG9yeU5hdmlnYXRpb24nLgogICAgIC8vIHJlYWRvbmx5IGF0dHJp
YnV0ZSBib29sZWFuIGlzSGlzdG9yeU5hdmlnYXRpb247CiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IEFib3J0U2lnbmFsIHNpZ25hbDsKLSAgICBbRW5hYmxlZEJ5U2V0dGluZz1Mb2NhbE5ldHdvcmtB
Y2Nlc3NFbmFibGVkXSByZWFkb25seSBhdHRyaWJ1dGUgSVBBZGRyZXNzU3BhY2UgdGFyZ2V0QWRk
cmVzc1NwYWNlOworICAgIFtFbmFibGVkQnlTZXR0aW5nPUxvY2FsTmV0d29ya0FjY2Vzc0VuYWJs
ZWRdIHJlYWRvbmx5IGF0dHJpYnV0ZSBJUEFkZHJlc3NTcGFjZT8gdGFyZ2V0QWRkcmVzc1NwYWNl
OwogCiAgICAgW05ld09iamVjdF0gRmV0Y2hSZXF1ZXN0IGNsb25lKCk7CiB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3RJbml0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdEluaXQuaAppbmRleCA4NmFmYjky
M2M3MzIuLmNlMTAxY2U2NjI5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9m
ZXRjaC9GZXRjaFJlcXVlc3RJbml0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9GZXRjaFJlcXVlc3RJbml0LmgKQEAgLTUxLDggKzUxLDkgQEAgc3RydWN0IEZldGNoUmVxdWVz
dEluaXQgewogICAgIEpTQzo6SlNWYWx1ZSBzaWduYWw7CiAgICAgc3RkOjpvcHRpb25hbDxSZXF1
ZXN0UHJpb3JpdHk+IHByaW9yaXR5OwogICAgIEpTQzo6SlNWYWx1ZSB3aW5kb3c7Ci0gICAgSVBB
ZGRyZXNzU3BhY2UgdGFyZ2V0QWRkcmVzc1NwYWNlIHsgSVBBZGRyZXNzU3BhY2U6OlB1YmxpYyB9
OwotICAgIGJvb2wgaGFzTWVtYmVycygpIGNvbnN0IHsgcmV0dXJuICFtZXRob2QuaXNFbXB0eSgp
IHx8IGhlYWRlcnMgfHwgYm9keSB8fCAhcmVmZXJyZXIuaXNFbXB0eSgpIHx8IHJlZmVycmVyUG9s
aWN5IHx8IG1vZGUgfHwgY3JlZGVudGlhbHMgfHwgY2FjaGUgfHwgcmVkaXJlY3QgfHwgIWludGVn
cml0eS5pc0VtcHR5KCkgfHwga2VlcGFsaXZlIHx8ICF3aW5kb3cuaXNVbmRlZmluZWQoKSB8fCAh
c2lnbmFsLmlzVW5kZWZpbmVkKCkgfHwgdGFyZ2V0QWRkcmVzc1NwYWNlICE9IElQQWRkcmVzc1Nw
YWNlOjpQdWJsaWM7IH0KKyAgICBzdGQ6Om9wdGlvbmFsPElQQWRkcmVzc1NwYWNlPiB0YXJnZXRB
ZGRyZXNzU3BhY2U7CisKKyAgICBib29sIGhhc01lbWJlcnMoKSBjb25zdCB7IHJldHVybiAhbWV0
aG9kLmlzRW1wdHkoKSB8fCBoZWFkZXJzIHx8IGJvZHkgfHwgIXJlZmVycmVyLmlzRW1wdHkoKSB8
fCByZWZlcnJlclBvbGljeSB8fCBtb2RlIHx8IGNyZWRlbnRpYWxzIHx8IGNhY2hlIHx8IHJlZGly
ZWN0IHx8ICFpbnRlZ3JpdHkuaXNFbXB0eSgpIHx8IGtlZXBhbGl2ZSB8fCAhd2luZG93LmlzVW5k
ZWZpbmVkKCkgfHwgIXNpZ25hbC5pc1VuZGVmaW5lZCgpIHx8IHRhcmdldEFkZHJlc3NTcGFjZTsg
fQogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRj
aFJlcXVlc3RJbml0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1
ZXN0SW5pdC5pZGwKaW5kZXggMWM5ZjAzOThjYWQ0Li5hMzQ2ZWJiOThkZWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0SW5pdC5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3RJbml0LmlkbApAQCAtNDMs
NSArNDMsNSBAQCBkaWN0aW9uYXJ5IEZldGNoUmVxdWVzdEluaXQgewogICAgIGFueSBzaWduYWw7
CiAgICAgUmVxdWVzdFByaW9yaXR5IHByaW9yaXR5OwogICAgIGFueSB3aW5kb3c7IC8vIGNhbiBv
bmx5IGJlIHNldCB0byBudWxsCi0gICAgSVBBZGRyZXNzU3BhY2UgdGFyZ2V0QWRkcmVzc1NwYWNl
OworICAgIFtFbmFibGVkQnlTZXR0aW5nPUxvY2FsTmV0d29ya0FjY2Vzc0VuYWJsZWRdIElQQWRk
cmVzc1NwYWNlIHRhcmdldEFkZHJlc3NTcGFjZTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL0lQQWRkcmVzc1NwYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZmV0Y2gvSVBBZGRyZXNzU3BhY2UuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBmMjYxNWI4NDZiYjQuLjAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL0lQQWRkcmVzc1NwYWNlLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDE0MyArMCww
IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDI1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIklQQWRkcmVz
c1NwYWNlLmgiCi0KLSNpbmNsdWRlIDxhcnJheT4KLSNpbmNsdWRlIDxjc3RkaW8+Ci0jaW5jbHVk
ZSA8d3RmL1VSTC5oPgotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KLSNpbmNsdWRlIDx3dGYvdGV4
dC9NYWtlU3RyaW5nLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nVG9JbnRlZ2VyQ29udmVy
c2lvbi5oPgotI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ1ZpZXcuaD4KLQotbmFtZXNwYWNlIFdl
YkNvcmUgewotCi1JUEFkZHJlc3NTcGFjZSBkZXRlcm1pbmVJUEFkZHJlc3NTcGFjZShjb25zdCBV
UkwmIHVybCkKLXsKLSAgICAvLyBEZWZpbmVkIGluIGh0dHBzOi8vd2ljZy5naXRodWIuaW8vbG9j
YWwtbmV0d29yay1hY2Nlc3MvI2lwLWFkZHJlc3Mtc3BhY2Utc2VjdGlvbgotICAgIFN0cmluZyBo
b3N0ID0gdXJsLmhvc3QoKS50b1N0cmluZygpOwotICAgIGhvc3QgPSBtYWtlU3RyaW5nQnlSZXBs
YWNpbmdBbGwoaG9zdCwgJ1snLCAiIl9zKTsKLSAgICBob3N0ID0gbWFrZVN0cmluZ0J5UmVwbGFj
aW5nQWxsKGhvc3QsICddJywgIiJfcyk7Ci0KLSAgICBpZiAoIVVSTDo6aG9zdElzSVBBZGRyZXNz
KGhvc3QpKQotICAgICAgICByZXR1cm4gSVBBZGRyZXNzU3BhY2U6OlB1YmxpYzsKLQotICAgIC8v
IEhhbmRsZSBJUHY2IGFkZHJlc3NlcyAoY2hlY2sgZm9yIGNvbG9uIHRvIGRpc3Rpbmd1aXNoIGZy
b20gSVB2NCkKLSAgICBpZiAoaG9zdC5jb250YWlucygnOicpKSB7Ci0gICAgICAgIC8vIDo6MS8x
MjggLSBJUHY2IExvY2FsIC0gbG9vcGJhY2sKLSAgICAgICAgaWYgKGhvc3QgPT0gIjo6MSIpCi0g
ICAgICAgICAgICByZXR1cm4gSVBBZGRyZXNzU3BhY2U6OkxvY2FsOwotCi0gICAgICAgIC8vIGZj
MDA6Oi83IC0gVW5pcXVlIExvb3BiYWNrIC0gbG9jYWwKLSAgICAgICAgaWYgKGhvc3Quc3RhcnRz
V2l0aCgiZmMiX3MpIHx8IGhvc3Quc3RhcnRzV2l0aCgiZmQiX3MpKQotICAgICAgICAgICAgcmV0
dXJuIElQQWRkcmVzc1NwYWNlOjpMb2NhbDsKLQotICAgICAgICAvLyBmZTgwOjovMTAgLSBMaW5r
LUxvb3BiYWNrIFVuaWNhc3QgLSBsb2NhbAotICAgICAgICBpZiAoaG9zdC5zdGFydHNXaXRoKCJm
ZTgiX3MpIHx8IGhvc3Quc3RhcnRzV2l0aCgiZmU5Il9zKSB8fCBob3N0LnN0YXJ0c1dpdGgoImZl
YSJfcykgfHwgaG9zdC5zdGFydHNXaXRoKCJmZWIiX3MpKQotICAgICAgICAgICAgcmV0dXJuIElQ
QWRkcmVzc1NwYWNlOjpMb2NhbDsKLSAgICAgICAgLy8gOjpmZmZmOiAtIElQdjQgTWFwcGVkIElQ
djYgQWRkcmVzc2VzIC0gZm9ybWF0IGZvciBwYXJzaW5nIGJ5IElQdjQgQWxnb3JpdGhtLgotICAg
ICAgICBpZiAoaG9zdC5zdGFydHNXaXRoKCI6OmZmZmY6Il9zKSkgewotICAgICAgICAgICAgaG9z
dCA9IGhvc3Quc3Vic3RyaW5nKDcpOwotICAgICAgICAgICAgaWYgKCFob3N0LmNvbnRhaW5zKCcu
JykpIHsKLSAgICAgICAgICAgICAgICAvLyBQYXJzZSBoZXggcmVwcmVzZW50YXRpb24gbGlrZSAi
YzBhODoxMDEiIC0+ICIxOTIuMTY4LjEuMSIKLSAgICAgICAgICAgICAgICBWZWN0b3I8U3RyaW5n
PiBoYWx2ZXMgPSBob3N0LnNwbGl0KCc6Jyk7Ci0gICAgICAgICAgICAgICAgaWYgKGhhbHZlcy5z
aXplKCkgIT0gMikKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIElQQWRkcmVzc1NwYWNlOjpQ
dWJsaWM7Ci0KLSAgICAgICAgICAgICAgICBhdXRvIHZhbHVlMSA9IHBhcnNlSW50ZWdlcjx1aW50
MTZfdD4oaGFsdmVzWzBdLCAxNik7Ci0gICAgICAgICAgICAgICAgYXV0byB2YWx1ZTIgPSBwYXJz
ZUludGVnZXI8dWludDE2X3Q+KGhhbHZlc1sxXSwgMTYpOwotCi0gICAgICAgICAgICAgICAgaWYg
KCF2YWx1ZTEuaGFzX3ZhbHVlKCkgfHwgIXZhbHVlMi5oYXNfdmFsdWUoKSkKLSAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIElQQWRkcmVzc1NwYWNlOjpQdWJsaWM7Ci0KLSAgICAgICAgICAgICAg
ICAvLyBDb252ZXJ0IDE2LWJpdCBoZXggdmFsdWVzIHRvIGRvdHRlZCBkZWNpbWFsIElQdjQgZm9y
bWF0Ci0gICAgICAgICAgICAgICAgdWludDE2X3QgdmFsMSA9ICp2YWx1ZTE7Ci0gICAgICAgICAg
ICAgICAgdWludDE2X3QgdmFsMiA9ICp2YWx1ZTI7Ci0KLSAgICAgICAgICAgICAgICBob3N0ID0g
bWFrZVN0cmluZygKLSAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHZh
bDEgPj4gOCksICcuJywKLSAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+
KHZhbDEgJiAweEZGKSwgJy4nLAotICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDx1bnNp
Z25lZD4odmFsMiA+PiA4KSwgJy4nLAotICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDx1
bnNpZ25lZD4odmFsMiAmIDB4RkYpCi0gICAgICAgICAgICAgICAgKTsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgfQotICAgIH0KLSAgICBpZiAoaG9zdC5jb250YWlucygnLicpKSB7Ci0gICAgICAg
IFZlY3RvcjxTdHJpbmc+IG9jdGV0cyA9IGhvc3Quc3BsaXQoJy4nKTsKLSAgICAgICAgaWYgKG9j
dGV0cy5zaXplKCkgIT0gNCkKLSAgICAgICAgICAgIHJldHVybiBJUEFkZHJlc3NTcGFjZTo6UHVi
bGljOwotCi0gICAgICAgIHN0ZDo6YXJyYXk8dWludDhfdCwgND4gcGFydHM7Ci0gICAgICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgNDsgaSsrKSB7Ci0gICAgICAgICAgICBhdXRvIHZhbHVlID0g
cGFyc2VJbnRlZ2VyPHVpbnQ4X3Q+KG9jdGV0c1tpXSk7Ci0gICAgICAgICAgICBpZiAoIXZhbHVl
KQotICAgICAgICAgICAgICAgIHJldHVybiBJUEFkZHJlc3NTcGFjZTo6UHVibGljOwotICAgICAg
ICAgICAgcGFydHNbaV0gPSAqdmFsdWU7Ci0gICAgICAgIH0KLQotICAgICAgICAvLyBDaGVjayBJ
UHY0IGFkZHJlc3MgYmxvY2tzIGFjY29yZGluZyB0byBzcGVjIHRhYmxlOgotCi0gICAgICAgIC8v
IDEyNy4wLjAuMC84IC0gSVB2NCBMb29wYmFjayAtIGxvb3BiYWNrCi0gICAgICAgIGlmIChwYXJ0
c1swXSA9PSAxMjcpCi0gICAgICAgICAgICByZXR1cm4gSVBBZGRyZXNzU3BhY2U6OkxvY2FsOwot
Ci0gICAgICAgIC8vIDEwLjAuMC4wLzggLSBMb2NhbCBVc2UgLSBsb2NhbAotICAgICAgICBpZiAo
cGFydHNbMF0gPT0gMTApCi0gICAgICAgICAgICByZXR1cm4gSVBBZGRyZXNzU3BhY2U6OkxvY2Fs
OwotCi0gICAgICAgIC8vIDEwMC42NC4wLjAvMTAgLSBDYXJyaWVyLUdyYWRlIE5BVCAtIGxvY2Fs
Ci0gICAgICAgIGlmIChwYXJ0c1swXSA9PSAxMDAgJiYgKHBhcnRzWzFdICYgMHhDMCkgPT0gNjQp
Ci0gICAgICAgICAgICByZXR1cm4gSVBBZGRyZXNzU3BhY2U6OkxvY2FsOwotCi0gICAgICAgIC8v
IDE3Mi4xNi4wLjAvMTIgLSBMb2NhbCBVc2UgLSBsb2NhbAotICAgICAgICBpZiAocGFydHNbMF0g
PT0gMTcyICYmIChwYXJ0c1sxXSAmIDB4RjApID09IDE2KQotICAgICAgICAgICAgcmV0dXJuIElQ
QWRkcmVzc1NwYWNlOjpMb2NhbDsKLQotICAgICAgICAvLyAxOTIuMTY4LjAuMC8xNiAtIExvY2Fs
IFVzZSAtIGxvY2FsCi0gICAgICAgIGlmIChwYXJ0c1swXSA9PSAxOTIgJiYgcGFydHNbMV0gPT0g
MTY4KQotICAgICAgICAgICAgcmV0dXJuIElQQWRkcmVzc1NwYWNlOjpMb2NhbDsKLQotICAgICAg
ICAvLyAxOTguMTguMC4wLzE1IC0gQmVuY2htYXJraW5nIC0gbG9jYWwKLSAgICAgICAgaWYgKHBh
cnRzWzBdID09IDE5OCAmJiAocGFydHNbMV0gJiAweEZFKSA9PSAxOCkKLSAgICAgICAgICAgIHJl
dHVybiBJUEFkZHJlc3NTcGFjZTo6TG9jYWw7Ci0KLSAgICAgICAgLy8gMTY5LjI1NC4wLjAvMTYg
LSBMaW5rIExvY2FsIC0gbG9jYWwKLSAgICAgICAgaWYgKHBhcnRzWzBdID09IDE2OSAmJiBwYXJ0
c1sxXSA9PSAyNTQpCi0gICAgICAgICAgICByZXR1cm4gSVBBZGRyZXNzU3BhY2U6OkxvY2FsOwot
Ci0gICAgICAgIHJldHVybiBJUEFkZHJlc3NTcGFjZTo6UHVibGljOwotICAgIH0KLSAgICByZXR1
cm4gSVBBZGRyZXNzU3BhY2U6OlB1YmxpYzsKLX0KLQotYm9vbCBpc0xvY2FsSVBBZGRyZXNzU3Bh
Y2UoY29uc3QgVVJMJiB1cmwpCi17Ci0gICAgcmV0dXJuIGRldGVybWluZUlQQWRkcmVzc1NwYWNl
KHVybCkgPT0gSVBBZGRyZXNzU3BhY2U6OkxvY2FsOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0lQQWRkcmVzc1Nw
YWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0lQQWRkcmVzc1NwYWNlLmgKaW5k
ZXggZjZmZjBhYWE2MzkxLi40NGQxZDVlNDc2NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZmV0Y2gvSVBBZGRyZXNzU3BhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL0lQQWRkcmVzc1NwYWNlLmgKQEAgLTMyLDkgKzMyLDQgQEAgZW51bSBjbGFzcyBJ
UEFkZHJlc3NTcGFjZSA6IGJvb2wgewogICAgIExvY2FsCiB9OwogCi1XRUJDT1JFX0VYUE9SVCBJ
UEFkZHJlc3NTcGFjZSBkZXRlcm1pbmVJUEFkZHJlc3NTcGFjZShjb25zdCBXVEY6OlVSTCYpOwot
Ci1XRUJDT1JFX0VYUE9SVCBib29sIGlzTG9jYWxJUEFkZHJlc3NTcGFjZShJUEFkZHJlc3NTcGFj
ZSk7Ci1XRUJDT1JFX0VYUE9SVCBib29sIGlzTG9jYWxJUEFkZHJlc3NTcGFjZShjb25zdCBXVEY6
OlVSTCYpOwotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb25Db29yZGluYXRvci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb25Db29yZGluYXRv
ci5jcHAKaW5kZXggMzlkNmZlYjNjOWVjLi43ZDUyMDBmOTM4MGYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb25D
b29yZGluYXRvci5jcHAKQEAgLTI5LDcgKzI5LDYgQEAKICNpZiBFTkFCTEUoTUVESUFfU0VTU0lP
Tl9DT09SRElOQVRPUikKIAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCi0jaW5jbHVkZSAiRXZlbnQu
aCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXRJbmxpbmVz
LmgiCiAjaW5jbHVkZSAiSlNET01FeGNlcHRpb24uaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFja1Byb2Nlc3Nvci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2tQcm9jZXNz
b3IuY3BwCmluZGV4IGNjMGIyMDczZWEwZS4uNGJlNTUxYTJhNDY0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2tQcm9jZXNzb3Iu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1U
cmFja1Byb2Nlc3Nvci5jcHAKQEAgLTI5LDcgKzI5LDYgQEAKIAogI2luY2x1ZGUgIkNTU1N0eWxl
SW1hZ2VWYWx1ZS5oIgogI2luY2x1ZGUgIkNvbnRleHREZXN0cnVjdGlvbk9ic2VydmVySW5saW5l
cy5oIgotI2luY2x1ZGUgIkRvY3VtZW50SW5saW5lcy5oIgogI2luY2x1ZGUgIkhUTUxDYW52YXNF
bGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTEltYWdlRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxW
aWRlb0VsZW1lbnQuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFNlbmRlckJhY2tlbmQuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFNlbmRlckJhY2tl
bmQuaAppbmRleCBmOWVkNDkwNDMyZDMuLjE4NDJmN2Y5ZGI0YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVy
QmFja2VuZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2Vi
cnRjL0xpYldlYlJUQ1J0cFNlbmRlckJhY2tlbmQuaApAQCAtMzIsMTAgKzMyLDYgQEAKICNpbmNs
dWRlICJSVENSdHBTZW5kZXJCYWNrZW5kLmgiCiAjaW5jbHVkZSAiUmVhbHRpbWVPdXRnb2luZ0F1
ZGlvU291cmNlLmgiCiAjaW5jbHVkZSAiUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlLmgiCi1X
VEZfSUdOT1JFX1dBUk5JTkdTX0lOX1RISVJEX1BBUlRZX0NPREVfQkVHSU4KLSNpbmNsdWRlIDx3
ZWJydGMvYXBpL3J0cF9zZW5kZXJfaW50ZXJmYWNlLmg+Ci0jaW5jbHVkZSA8d2VicnRjL2FwaS9z
Y29wZWRfcmVmcHRyLmg+Ci1XVEZfSUdOT1JFX1dBUk5JTkdTX0lOX1RISVJEX1BBUlRZX0NPREVf
RU5ECiAjaW5jbHVkZSA8d3RmL1Rab25lTWFsbG9jLmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIu
aD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvbkV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb25FdmVudC5jcHAKaW5kZXggZWM4Y2VjNDM5MTQzLi42NzYwNWU2MmY2YTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb25FdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbkV2ZW50LmNwcApAQCAtMjgsNyArMjgsNiBAQAogCiAjaWYgRU5BQkxFKE5P
VElGSUNBVElPTl9FVkVOVCkKIAotI2luY2x1ZGUgIkV2ZW50VGFyZ2V0SW5saW5lcy5oIgogI2lu
Y2x1ZGUgPHd0Zi9UWm9uZU1hbGxvY0lubGluZXMuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1dyaXRhYmxlU3RyZWFt
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvV3JpdGFibGVTdHJlYW0uaAppbmRl
eCBhNjFjYmM2NGFhMTMuLjY3YjljZDViN2Q1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9zdHJlYW1zL1dyaXRhYmxlU3RyZWFtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9zdHJlYW1zL1dyaXRhYmxlU3RyZWFtLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNwcmFnbWEg
b25jZQogCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU3Ryb25nLmg+Ci0jaW5jbHVkZSA8V2Vi
Q29yZS9FeGNlcHRpb25Pci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSlNET01HbG9iYWxPYmplY3Qu
aD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZEFuZENhbk1ha2VXZWFrUHRyLmg+CiAjaW5jbHVk
ZSA8d3RmL1dlYWtQdHIuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vQXVkaW9Ob2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlv
Tm9kZS5oCmluZGV4IDVkNDA4YzVkNjBhOC4uMjY4NDE1ZTdlOTAzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Ob2RlLmgKQEAgLTI4LDcgKzI4LDYgQEAKICNpbmNs
dWRlICJDaGFubmVsQ291bnRNb2RlLmgiCiAjaW5jbHVkZSAiQ2hhbm5lbEludGVycHJldGF0aW9u
LmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKLSNpbmNsdWRlICJFeGNlcHRpb25Pci5oIgog
I2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0xvZ2dlckhlbHBlci5oPgog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNy
ZWRlbnRpYWwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlD
cmVkZW50aWFsLmNwcAppbmRleCBiMjg4YjgzMDQ2MGIuLmQxZDQ5ZGNkZDg3NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdXRobi9QdWJsaWNLZXlDcmVkZW50aWFsLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1dGhuL1B1YmxpY0tleUNyZWRlbnRp
YWwuY3BwCkBAIC0zNiw3ICszNiw2IEBACiAjaW5jbHVkZSAiQnVmZmVyU291cmNlLmgiCiAjaW5j
bHVkZSAiQ3VycmVudFVzZXJEZXRhaWxzT3B0aW9ucy5oIgogI2luY2x1ZGUgIkRvY3VtZW50Lmgi
Ci0jaW5jbHVkZSAiRG9jdW1lbnRJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNBdXRoZW50aWNhdG9y
QXR0YWNobWVudC5oIgogI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVk
ZSAiSlNQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmgiCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFJlc3VsdFNldFJvd0xpc3QuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMUmVzdWx0U2V0Um93TGlzdC5o
CmluZGV4IGJmZjVmZjRlMGRjOS4uMmFkYmEwODNiN2IwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFJlc3VsdFNldFJvd0xpc3QuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFJlc3VsdFNldFJvd0xpc3QuaApAQCAt
MjgsMTEgKzI4LDEyIEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAiRXhjZXB0aW9uT3Iu
aCIKICNpbmNsdWRlICJTUUxWYWx1ZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3RlbXBs
YXRlPHR5cGVuYW1lPiBjbGFzcyBFeGNlcHRpb25PcjsKKwogY2xhc3MgU1FMUmVzdWx0U2V0Um93
TGlzdCA6IHB1YmxpYyBSZWZDb3VudGVkPFNRTFJlc3VsdFNldFJvd0xpc3Q+IHsKIHB1YmxpYzoK
ICAgICBzdGF0aWMgUmVmPFNRTFJlc3VsdFNldFJvd0xpc3Q+IGNyZWF0ZSgpIHsgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgU1FMUmVzdWx0U2V0Um93TGlzdCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggMjQw
ZmU3MTNmN2JmLi4wZTllYTk2ZmIwNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJj
ZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0xMzYsNyArMTM2LDYg
QEAgTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAKIE1vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1
ZXN0LmNwcAogTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmNwcAogTW9kdWxlcy9mZXRjaC9G
b3JtRGF0YUNvbnN1bWVyLmNwcAotTW9kdWxlcy9mZXRjaC9JUEFkZHJlc3NTcGFjZS5jcHAKIE1v
ZHVsZXMvZmV0Y2gvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUZldGNoLmNwcAogTW9kdWxlcy9m
aWxlc3lzdGVtL0ZpbGVTeXN0ZW1EaXJlY3RvcnlIYW5kbGUuY3BwCiBNb2R1bGVzL2ZpbGVzeXN0
ZW0vRmlsZVN5c3RlbUZpbGVIYW5kbGUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZGVmYjFjMTczMzg0Li5iNWViNGI4MTg3
MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTEwMTYwLDcgKzEwMTYwLDYgQEAKIAkJM0JCNkI4MEYyMkE3RDMxMTAwM0EyQTY5
IC8qIFRhYlNpemUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGFiU2l6ZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzQzI0NEZFNEEzNzVBQzYzM0Y4OEJFNkYg
LyogUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBSZW5kZXJMYXllck1vZGVsT2JqZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTNDMjQ0RkU1QTM3NUFDNjMzRjg4QkU2RiAvKiBSZW5kZXJMYXllck1vZGVsT2JqZWN0LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlckxheWVyTW9kZWxP
YmplY3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkzQzZBNTk1RjJFNEU1RDUz
MDBBOTA4Q0MgLyogSVBBZGRyZXNzU3BhY2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSVBBZGRy
ZXNzU3BhY2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzQzhEMjRFRDJFMjVD
RjFBMDBEMkE5MjkgLyogSVBBZGRyZXNzU3BhY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSVBBZGRyZXNz
U3BhY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJM0NFN0M2NzAyRTI3MDI3ODAw
NUNERkQ4IC8qIElQQWRkcmVzc1NwYWNlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBJUEFkZHJlc3NTcGFjZS5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTNEMEY4MEM1MkJDQTAxNEQwMDZDODAyMyAvKiBJ
bWFnZUJ1ZmZlclBpeGVsRm9ybWF0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEltYWdlQnVmZmVyUGl4ZWxG
b3JtYXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI1OTgwLDcgKzI1OTc5LDYg
QEAKIAkJCQk0MTY0MkIxOTI5QTUxNkNGMDBGOEFFMEQgLyogRmV0Y2hSZXNwb25zZUJvZHlMb2Fk
ZXIuaCAqLywKIAkJCQk0MTAyRUUxMDI3ODMwRTYzMDBENkJFNzQgLyogRm9ybURhdGFDb25zdW1l
ci5jcHAgKi8sCiAJCQkJNDEwMkVFMEUyNzgzMEU2MzAwRDZCRTc0IC8qIEZvcm1EYXRhQ29uc3Vt
ZXIuaCAqLywKLQkJCQkzQzZBNTk1RjJFNEU1RDUzMDBBOTA4Q0MgLyogSVBBZGRyZXNzU3BhY2Uu
Y3BwICovLAogCQkJCTNDOEQyNEVEMkUyNUNGMUEwMEQyQTkyOSAvKiBJUEFkZHJlc3NTcGFjZS5o
ICovLAogCQkJCTNDRTdDNjcwMkUyNzAyNzgwMDVDREZEOCAvKiBJUEFkZHJlc3NTcGFjZS5pZGwg
Ki8sCiAJCQkJNDRDRjUwOTgyOTlCOTA2RjAwMzhEMjg0IC8qIFJlcXVlc3RQcmlvcml0eS5oICov
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NlY3VyaXR5Q29udGV4dC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vU2VjdXJpdHlDb250ZXh0LmNwcAppbmRleCA4NDcxNWIxZjViZTAu
LjczOGY2MTcwM2VkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NlY3VyaXR5Q29u
dGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NlY3VyaXR5Q29udGV4dC5jcHAKQEAg
LTIxMSw4ICsyMTEsNyBAQCBQb2xpY3lDb250YWluZXIgU2VjdXJpdHlDb250ZXh0Ojpwb2xpY3lD
b250YWluZXIoKSBjb25zdAogICAgICAgICBtX2NvbnRlbnRTZWN1cml0eVBvbGljeS0+cmVzcG9u
c2VIZWFkZXJzKCksCiAgICAgICAgIGNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3koKSwKICAgICAg
ICAgY3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3koKSwKLSAgICAgICAgcmVmZXJyZXJQb2xpY3koKSwK
LSAgICAgICAgaXBBZGRyZXNzU3BhY2UoKQorICAgICAgICByZWZlcnJlclBvbGljeSgpCiAgICAg
fTsKIH0KIApAQCAtMjI1LDcgKzIyNCw2IEBAIHZvaWQgU2VjdXJpdHlDb250ZXh0Ojppbmhlcml0
UG9saWN5Q29udGFpbmVyRnJvbShjb25zdCBQb2xpY3lDb250YWluZXImIHBvbGljeUNvCiAgICAg
c2V0Q3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kocG9saWN5Q29udGFpbmVyLmNyb3NzT3JpZ2luT3Bl
bmVyUG9saWN5KTsKICAgICBzZXRDcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5KHBvbGljeUNvbnRh
aW5lci5jcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5KTsKICAgICBzZXRSZWZlcnJlclBvbGljeShw
b2xpY3lDb250YWluZXIucmVmZXJyZXJQb2xpY3kpOwotICAgIHNldElQQWRkcmVzc1NwYWNlKHBv
bGljeUNvbnRhaW5lci5pcEFkZHJlc3NTcGFjZSk7CiB9CiAKIENoZWNrZWRQdHI8Q29udGVudFNl
Y3VyaXR5UG9saWN5PiBTZWN1cml0eUNvbnRleHQ6OmNoZWNrZWRDb250ZW50U2VjdXJpdHlQb2xp
Y3koKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NlY3VyaXR5Q29udGV4dC5oIGIv
U291cmNlL1dlYkNvcmUvZG9tL1NlY3VyaXR5Q29udGV4dC5oCmluZGV4IGFkOTIyMjNmNDM1Yi4u
MDVmN2I5NDAyOThiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2VjdXJpdHlDb250
ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NlY3VyaXR5Q29udGV4dC5oCkBAIC0yOSw3
ICsyOSw2IEBACiAKICNpbmNsdWRlIDxXZWJDb3JlL0Nyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3ku
aD4KICNpbmNsdWRlIDxXZWJDb3JlL0Nyb3NzT3JpZ2luT3BlbmVyUG9saWN5Lmg+Ci0jaW5jbHVk
ZSA8V2ViQ29yZS9JUEFkZHJlc3NTcGFjZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVmZXJyZXJQ
b2xpY3kuaD4KICNpbmNsdWRlIDxtZW1vcnk+CiAjaW5jbHVkZSA8d3RmL0NoZWNrZWRQdHIuaD4K
QEAgLTk1LDkgKzk0LDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgUmVmZXJyZXJQb2xpY3kgcmVm
ZXJyZXJQb2xpY3koKSBjb25zdCB7IHJldHVybiBtX3JlZmVycmVyUG9saWN5OyB9CiAgICAgdm9p
ZCBzZXRSZWZlcnJlclBvbGljeShSZWZlcnJlclBvbGljeSk7CiAKLSAgICBJUEFkZHJlc3NTcGFj
ZSBpcEFkZHJlc3NTcGFjZSgpIGNvbnN0IHsgcmV0dXJuIG1faXBBZGRyZXNzU3BhY2U7IH0KLSAg
ICB2b2lkIHNldElQQWRkcmVzc1NwYWNlKElQQWRkcmVzc1NwYWNlIGlwQWRkcmVzc1NwYWNlKSB7
IG1faXBBZGRyZXNzU3BhY2UgPSBpcEFkZHJlc3NTcGFjZTsgfQotCiAgICAgV0VCQ09SRV9FWFBP
UlQgUG9saWN5Q29udGFpbmVyIHBvbGljeUNvbnRhaW5lcigpIGNvbnN0OwogICAgIHZpcnR1YWwg
dm9pZCBpbmhlcml0UG9saWN5Q29udGFpbmVyRnJvbShjb25zdCBQb2xpY3lDb250YWluZXImKTsK
IApAQCAtMTQ2LDcgKzE0Miw2IEBAIHByaXZhdGU6CiAgICAgU2FuZGJveEZsYWdzIG1fY3JlYXRp
b25TYW5kYm94RmxhZ3M7CiAgICAgU2FuZGJveEZsYWdzIG1fc2FuZGJveEZsYWdzOwogICAgIFJl
ZmVycmVyUG9saWN5IG1fcmVmZXJyZXJQb2xpY3kgeyBSZWZlcnJlclBvbGljeTo6RGVmYXVsdCB9
OwotICAgIElQQWRkcmVzc1NwYWNlIG1faXBBZGRyZXNzU3BhY2UgeyBJUEFkZHJlc3NTcGFjZTo6
UHVibGljIH07CiAgICAgYm9vbCBtX2hhdmVJbml0aWFsaXplZFNlY3VyaXR5T3JpZ2luIHsgZmFs
c2UgfTsKICAgICBib29sIG1fZ2VvbG9jYXRpb25BY2Nlc3NlZCB7IGZhbHNlIH07CiAgICAgYm9v
bCBtX3NlY3VyZUNvb2tpZXNBY2Nlc3NlZCB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlu
a0xvYWRlci5jcHAKaW5kZXggYmM0OTljMjhhODBhLi5hMzdjNzc4MjQ4ZTYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9MaW5rTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvTGlua0xvYWRlci5jcHAKQEAgLTQwLDEzICs0MCwxMSBAQAogI2luY2x1ZGUgIkNv
bnRhaW5lck5vZGUuaCIKICNpbmNsdWRlICJDcm9zc09yaWdpbkFjY2Vzc0NvbnRyb2wuaCIKICNp
bmNsdWRlICJEZWZhdWx0UmVzb3VyY2VMb2FkUHJpb3JpdHkuaCIKLSNpbmNsdWRlICJEb2N1bWVu
dExvYWRlci5oIgogI2luY2x1ZGUgIkRvY3VtZW50SW5saW5lcy5oIgogI2luY2x1ZGUgIkRvY3Vt
ZW50TG9hZGVyLmgiCiAjaW5jbHVkZSAiRmV0Y2hSZXF1ZXN0RGVzdGluYXRpb24uaCIKICNpbmNs
dWRlICJGcmFtZUxvYWRlci5oIgogI2luY2x1ZGUgIkhUTUxTcmNzZXRQYXJzZXIuaCIKLSNpbmNs
dWRlIDxKYXZhU2NyaXB0Q29yZS9Db25zb2xlVHlwZXMuaD4KICNpbmNsdWRlICJKU0ZldGNoUmVx
dWVzdERlc3RpbmF0aW9uLmgiCiAjaW5jbHVkZSAiTGlua0hlYWRlci5oIgogI2luY2x1ZGUgIkxp
bmtQcmVsb2FkUmVzb3VyY2VDbGllbnRzLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvUG9saWN5Q29udGFpbmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUG9saWN5Q29u
dGFpbmVyLmgKaW5kZXggYWRhNmEzYmNiMWU0Li5kMWRlNmYzNzYwMTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Qb2xpY3lDb250YWluZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvUG9saWN5Q29udGFpbmVyLmgKQEAgLTI4LDcgKzI4LDYgQEAKICNpbmNsdWRlIDxX
ZWJDb3JlL0NvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeS5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
Q3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL0lQQWRkcmVzc1Nw
YWNlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZWZlcnJlclBvbGljeS5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CkBAIC00MCwxMiArMzksMTEgQEAgc3RydWN0IFBvbGljeUNvbnRhaW5lciB7CiAg
ICAgQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeSBjcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5Owog
ICAgIENyb3NzT3JpZ2luT3BlbmVyUG9saWN5IGNyb3NzT3JpZ2luT3BlbmVyUG9saWN5OwogICAg
IFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5ID0gUmVmZXJyZXJQb2xpY3k6OkRlZmF1bHQ7
Ci0gICAgSVBBZGRyZXNzU3BhY2UgaXBBZGRyZXNzU3BhY2UgPSBJUEFkZHJlc3NTcGFjZTo6UHVi
bGljOwogCiAgICAgZnJpZW5kIGJvb2wgb3BlcmF0b3I9PShjb25zdCBQb2xpY3lDb250YWluZXIm
LCBjb25zdCBQb2xpY3lDb250YWluZXImKSA9IGRlZmF1bHQ7CiAKLSAgICBQb2xpY3lDb250YWlu
ZXIgaXNvbGF0ZWRDb3B5KCkgY29uc3QgJiB7IHJldHVybiB7IGNvbnRlbnRTZWN1cml0eVBvbGlj
eVJlc3BvbnNlSGVhZGVycy5pc29sYXRlZENvcHkoKSwgY3Jvc3NPcmlnaW5FbWJlZGRlclBvbGlj
eS5pc29sYXRlZENvcHkoKSwgY3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3kuaXNvbGF0ZWRDb3B5KCks
IHJlZmVycmVyUG9saWN5LCBpcEFkZHJlc3NTcGFjZSB9OyB9Ci0gICAgUG9saWN5Q29udGFpbmVy
IGlzb2xhdGVkQ29weSgpICYmIHsgcmV0dXJuIHsgV1RGTW92ZShjb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnMpLmlzb2xhdGVkQ29weSgpLCBXVEZNb3ZlKGNyb3NzT3JpZ2luRW1i
ZWRkZXJQb2xpY3kpLmlzb2xhdGVkQ29weSgpLCBXVEZNb3ZlKGNyb3NzT3JpZ2luT3BlbmVyUG9s
aWN5KS5pc29sYXRlZENvcHkoKSwgcmVmZXJyZXJQb2xpY3ksIGlwQWRkcmVzc1NwYWNlIH07IH0K
KyAgICBQb2xpY3lDb250YWluZXIgaXNvbGF0ZWRDb3B5KCkgY29uc3QgJiB7IHJldHVybiB7IGNv
bnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5pc29sYXRlZENvcHkoKSwgY3Jvc3NP
cmlnaW5FbWJlZGRlclBvbGljeS5pc29sYXRlZENvcHkoKSwgY3Jvc3NPcmlnaW5PcGVuZXJQb2xp
Y3kuaXNvbGF0ZWRDb3B5KCksIHJlZmVycmVyUG9saWN5IH07IH0KKyAgICBQb2xpY3lDb250YWlu
ZXIgaXNvbGF0ZWRDb3B5KCkgJiYgeyByZXR1cm4geyBXVEZNb3ZlKGNvbnRlbnRTZWN1cml0eVBv
bGljeVJlc3BvbnNlSGVhZGVycykuaXNvbGF0ZWRDb3B5KCksIFdURk1vdmUoY3Jvc3NPcmlnaW5F
bWJlZGRlclBvbGljeSkuaXNvbGF0ZWRDb3B5KCksIFdURk1vdmUoY3Jvc3NPcmlnaW5PcGVuZXJQ
b2xpY3kpLmlzb2xhdGVkQ29weSgpLCByZWZlcnJlclBvbGljeSB9OyB9CiB9OwogCiBXRUJDT1JF
X0VYUE9SVCB2b2lkIGFkZFBvbGljeUNvbnRhaW5lckhlYWRlcnMoUmVzb3VyY2VSZXNwb25zZSYs
IGNvbnN0IFBvbGljeUNvbnRhaW5lciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAKaW5kZXggNzQxODNiMGUwYzFi
Li41OWRkMjNjMTIwNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5j
bHVkZSAiSFRUUEhlYWRlck5hbWVzLmgiCiAjaW5jbHVkZSAiSFRUUFN0YXR1c0NvZGVzLmgiCi0j
aW5jbHVkZSAiSVBBZGRyZXNzU3BhY2UuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVk
ZSAiUHVibGljU3VmZml4U3RvcmUuaCIKICNpbmNsdWRlICJSZWdpc3RyYWJsZURvbWFpbi5oIgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVl
c3RCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVz
dEJhc2UuaAppbmRleCA0NTRlYzU5NmQwMjQuLjkzZThkZTZjMTMyNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKQEAg
LTM4LDggKzM4LDYgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1lbnVtIGNsYXNzIElQQWRk
cmVzc1NwYWNlIDogYm9vbDsKLQogZW51bSBjbGFzcyBSZXNvdXJjZVJlcXVlc3RDYWNoZVBvbGlj
eSA6IHVpbnQ4X3QgewogICAgIFVzZVByb3RvY29sQ2FjaGVQb2xpY3ksIC8vIG5vcm1hbCBsb2Fk
LCBlcXVpdmFsZW50IHRvIGZldGNoICJkZWZhdWx0IiBjYWNoZSBtb2RlLgogICAgIFJlbG9hZEln
bm9yaW5nQ2FjaGVEYXRhLCAvLyByZWxvYWQsIGVxdWl2YWxlbnQgdG8gZmV0Y2ggInJlbG9hZCJj
YWNoZSBtb2RlLgpAQCAtNzAsNyArNjgsNyBAQCBwdWJsaWM6CiAgICAgc3RydWN0IFJlcXVlc3RE
YXRhIHsKICAgICAgICAgUmVxdWVzdERhdGEoKSB7IH0KIAotICAgICAgICBSZXF1ZXN0RGF0YShV
UkwmJiB1cmwsIFVSTCYmIGZpcnN0UGFydHlGb3JDb29raWVzLCBkb3VibGUgdGltZW91dEludGVy
dmFsLCBTdHJpbmcmJiBodHRwTWV0aG9kLCBIVFRQSGVhZGVyTWFwJiYgaHR0cEhlYWRlckZpZWxk
cywgVmVjdG9yPFN0cmluZz4mJiByZXNwb25zZUNvbnRlbnREaXNwb3NpdGlvbkVuY29kaW5nRmFs
bGJhY2tBcnJheSwgUmVzb3VyY2VSZXF1ZXN0Q2FjaGVQb2xpY3kgY2FjaGVQb2xpY3ksIFNhbWVT
aXRlRGlzcG9zaXRpb24gc2FtZVNpdGVEaXNwb3NpdGlvbiwgUmVzb3VyY2VMb2FkUHJpb3JpdHkg
cHJpb3JpdHksIFJlc291cmNlUmVxdWVzdFJlcXVlc3RlciByZXF1ZXN0ZXIsIGJvb2wgYWxsb3dD
b29raWVzLCBib29sIGlzVG9wU2l0ZSwgYm9vbCBpc0FwcEluaXRpYXRlZCA9IHRydWUsIGJvb2wg
cHJpdmFjeVByb3h5RmFpbENsb3NlZEZvclVucmVhY2hhYmxlTm9uTWFpbkhvc3RzID0gZmFsc2Us
IGJvb2wgdXNlQWR2YW5jZWRQcml2YWN5UHJvdGVjdGlvbnMgPSBmYWxzZSwgYm9vbCBkaWRGaWx0
ZXJMaW5rRGVjb3JhdGlvbiA9IGZhbHNlLCBib29sIGlzUHJpdmF0ZVRva2VuVXNhZ2VCeVRoaXJk
UGFydHlBbGxvd2VkID0gZmFsc2UsIGJvb2wgd2FzU2NoZW1lT3B0aW1pc3RpY2FsbHlVcGdyYWRl
ZCA9IGZhbHNlLCBJUEFkZHJlc3NTcGFjZSB0YXJnZXRBZGRyZXNzU3BhY2UgPSBJUEFkZHJlc3NT
cGFjZTo6UHVibGljKQorICAgICAgICBSZXF1ZXN0RGF0YShVUkwmJiB1cmwsIFVSTCYmIGZpcnN0
UGFydHlGb3JDb29raWVzLCBkb3VibGUgdGltZW91dEludGVydmFsLCBTdHJpbmcmJiBodHRwTWV0
aG9kLCBIVFRQSGVhZGVyTWFwJiYgaHR0cEhlYWRlckZpZWxkcywgVmVjdG9yPFN0cmluZz4mJiBy
ZXNwb25zZUNvbnRlbnREaXNwb3NpdGlvbkVuY29kaW5nRmFsbGJhY2tBcnJheSwgUmVzb3VyY2VS
ZXF1ZXN0Q2FjaGVQb2xpY3kgY2FjaGVQb2xpY3ksIFNhbWVTaXRlRGlzcG9zaXRpb24gc2FtZVNp
dGVEaXNwb3NpdGlvbiwgUmVzb3VyY2VMb2FkUHJpb3JpdHkgcHJpb3JpdHksIFJlc291cmNlUmVx
dWVzdFJlcXVlc3RlciByZXF1ZXN0ZXIsIGJvb2wgYWxsb3dDb29raWVzLCBib29sIGlzVG9wU2l0
ZSwgYm9vbCBpc0FwcEluaXRpYXRlZCA9IHRydWUsIGJvb2wgcHJpdmFjeVByb3h5RmFpbENsb3Nl
ZEZvclVucmVhY2hhYmxlTm9uTWFpbkhvc3RzID0gZmFsc2UsIGJvb2wgdXNlQWR2YW5jZWRQcml2
YWN5UHJvdGVjdGlvbnMgPSBmYWxzZSwgYm9vbCBkaWRGaWx0ZXJMaW5rRGVjb3JhdGlvbiA9IGZh
bHNlLCBib29sIGlzUHJpdmF0ZVRva2VuVXNhZ2VCeVRoaXJkUGFydHlBbGxvd2VkID0gZmFsc2Us
IGJvb2wgd2FzU2NoZW1lT3B0aW1pc3RpY2FsbHlVcGdyYWRlZCA9IGZhbHNlKQogICAgICAgICAg
ICAgOiBtX3VybChXVEZNb3ZlKHVybCkpCiAgICAgICAgICAgICAsIG1fZmlyc3RQYXJ0eUZvckNv
b2tpZXMoV1RGTW92ZShmaXJzdFBhcnR5Rm9yQ29va2llcykpCiAgICAgICAgICAgICAsIG1fdGlt
ZW91dEludGVydmFsKHRpbWVvdXRJbnRlcnZhbCkKQEAgLTg5LDcgKzg3LDYgQEAgcHVibGljOgog
ICAgICAgICAgICAgLCBtX2RpZEZpbHRlckxpbmtEZWNvcmF0aW9uKGRpZEZpbHRlckxpbmtEZWNv
cmF0aW9uKQogICAgICAgICAgICAgLCBtX2lzUHJpdmF0ZVRva2VuVXNhZ2VCeVRoaXJkUGFydHlB
bGxvd2VkKGlzUHJpdmF0ZVRva2VuVXNhZ2VCeVRoaXJkUGFydHlBbGxvd2VkKQogICAgICAgICAg
ICAgLCBtX3dhc1NjaGVtZU9wdGltaXN0aWNhbGx5VXBncmFkZWQod2FzU2NoZW1lT3B0aW1pc3Rp
Y2FsbHlVcGdyYWRlZCkKLSAgICAgICAgICAgICwgbV90YXJnZXRBZGRyZXNzU3BhY2UodGFyZ2V0
QWRkcmVzc1NwYWNlKQogICAgICAgICB7CiAgICAgICAgIH0KIApAQCAtMTE3LDcgKzExNCw2IEBA
IHB1YmxpYzoKICAgICAgICAgYm9vbCBtX2RpZEZpbHRlckxpbmtEZWNvcmF0aW9uIDogMSB7IGZh
bHNlIH07CiAgICAgICAgIGJvb2wgbV9pc1ByaXZhdGVUb2tlblVzYWdlQnlUaGlyZFBhcnR5QWxs
b3dlZCA6IDEgeyBmYWxzZSB9OwogICAgICAgICBib29sIG1fd2FzU2NoZW1lT3B0aW1pc3RpY2Fs
bHlVcGdyYWRlZCA6IDEgeyBmYWxzZSB9OwotICAgICAgICBJUEFkZHJlc3NTcGFjZSBtX3Rhcmdl
dEFkZHJlc3NTcGFjZSB7IElQQWRkcmVzc1NwYWNlOjpQdWJsaWMgfTsKICAgICB9OwogCiAgICAg
UmVzb3VyY2VSZXF1ZXN0QmFzZShSZXF1ZXN0RGF0YSYmIHJlcXVlc3REYXRhKQpAQCAtMjUxLDkg
KzI0Nyw2IEBAIHB1YmxpYzoKICAgICBSZXNvdXJjZVJlcXVlc3RSZXF1ZXN0ZXIgcmVxdWVzdGVy
KCkgY29uc3QgeyByZXR1cm4gbV9yZXF1ZXN0RGF0YS5tX3JlcXVlc3RlcjsgfQogICAgIHZvaWQg
c2V0UmVxdWVzdGVyKFJlc291cmNlUmVxdWVzdFJlcXVlc3RlciByZXF1ZXN0ZXIpIHsgbV9yZXF1
ZXN0RGF0YS5tX3JlcXVlc3RlciA9IHJlcXVlc3RlcjsgfQogICAgIAotICAgIElQQWRkcmVzc1Nw
YWNlIHRhcmdldEFkZHJlc3NTcGFjZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVxdWVzdERhdGEubV90
YXJnZXRBZGRyZXNzU3BhY2U7IH0KLSAgICB2b2lkIHNldFRhcmdldEFkZHJlc3NTcGFjZShJUEFk
ZHJlc3NTcGFjZSB0YXJnZXRBZGRyZXNzU3BhY2UpIHsgbV9yZXF1ZXN0RGF0YS5tX3RhcmdldEFk
ZHJlc3NTcGFjZSA9IHRhcmdldEFkZHJlc3NTcGFjZTsgfQotCiAgICAgLy8gV2hvIGluaXRpYXRl
ZCB0aGUgcmVxdWVzdCBzbyB0aGUgSW5zcGVjdG9yIGNhbiBhc3NvY2lhdGUgaXQgd2l0aCBhIGNv
bnRleHQuIEUuZy4gYSBXZWIgV29ya2VyLgogICAgIFN0cmluZyBpbml0aWF0b3JJZGVudGlmaWVy
KCkgY29uc3QgeyByZXR1cm4gbV9pbml0aWF0b3JJZGVudGlmaWVyOyB9CiAgICAgdm9pZCBzZXRJ
bml0aWF0b3JJZGVudGlmaWVyKGNvbnN0IFN0cmluZyYgaWRlbnRpZmllcikgeyBtX2luaXRpYXRv
cklkZW50aWZpZXIgPSBpZGVudGlmaWVyOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuY3BwCmluZGV4IGZmNGIwYWE1
MWIxMC4uYjViOTViMzc3YTRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcApAQCAtMzEsNyArMzEsNiBAQAog
I2luY2x1ZGUgIkRhdGFVUkxEZWNvZGVyLmgiCiAjaW5jbHVkZSAiSFRUUEhlYWRlck5hbWVzLmgi
CiAjaW5jbHVkZSAiSFRUUFBhcnNlcnMuaCIKLSNpbmNsdWRlICJJUEFkZHJlc3NTcGFjZS5oIgog
I2luY2x1ZGUgIk1JTUVUeXBlUmVnaXN0cnkuaCIKICNpbmNsdWRlICJQYXJzZWRDb250ZW50UmFu
Z2UuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCkBAIC05MSw3ICs5MCw2IEBAIFJl
c291cmNlUmVzcG9uc2VCYXNlOjpSZXNvdXJjZVJlc3BvbnNlQmFzZShzdGQ6Om9wdGlvbmFsPFJl
c291cmNlUmVzcG9uc2VEYXRhPiYmCiAgICAgLCBtX3RhaW50aW5nKGRhdGEgPyBkYXRhLT50YWlu
dGluZyA6IFRhaW50aW5nOjpCYXNpYykKICAgICAsIG1fc291cmNlKGRhdGEgPyBkYXRhLT5zb3Vy
Y2UgOiBTb3VyY2U6OlVua25vd24pCiAgICAgLCBtX3R5cGUoZGF0YSA/IGRhdGEtPnR5cGUgOiBU
eXBlOjpEZWZhdWx0KQotICAgICwgbV9pcEFkZHJlc3NTcGFjZShkYXRhID8gZGF0YS0+aXBBZGRy
ZXNzU3BhY2UgOiBJUEFkZHJlc3NTcGFjZTo6UHVibGljKQogewogfQogCkBAIC0xMTgsNyArMTE2
LDYgQEAgUmVzb3VyY2VSZXNwb25zZURhdGEgUmVzb3VyY2VSZXNwb25zZURhdGE6Omlzb2xhdGVk
Q29weSgpIGNvbnN0CiAgICAgcmVzdWx0LmlzUmFuZ2VSZXF1ZXN0ZWQgPSBpc1JhbmdlUmVxdWVz
dGVkOwogICAgIGlmIChjZXJ0aWZpY2F0ZUluZm8pCiAgICAgICAgIHJlc3VsdC5jZXJ0aWZpY2F0
ZUluZm8gPSBjZXJ0aWZpY2F0ZUluZm8tPmlzb2xhdGVkQ29weSgpOwotICAgIHJlc3VsdC5pcEFk
ZHJlc3NTcGFjZSA9IGlwQWRkcmVzc1NwYWNlOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKQEAg
LTE0Niw3ICsxNDMsNiBAQCBSZXNvdXJjZVJlc3BvbnNlRGF0YSBSZXNvdXJjZVJlc3BvbnNlQmFz
ZTo6Y3Jvc3NUaHJlYWREYXRhKCkgY29uc3QKICAgICBkYXRhLmlzUmFuZ2VSZXF1ZXN0ZWQgPSBt
X2lzUmFuZ2VSZXF1ZXN0ZWQ7CiAgICAgaWYgKG1fY2VydGlmaWNhdGVJbmZvKQogICAgICAgICBk
YXRhLmNlcnRpZmljYXRlSW5mbyA9IG1fY2VydGlmaWNhdGVJbmZvLT5pc29sYXRlZENvcHkoKTsK
LSAgICBkYXRhLmlwQWRkcmVzc1NwYWNlID0gbV9pcEFkZHJlc3NTcGFjZTsKIAogICAgIHJldHVy
biBkYXRhOwogfQpAQCAtMTc4LDcgKzE3NCw3IEBAIFJlc291cmNlUmVzcG9uc2UgUmVzb3VyY2VS
ZXNwb25zZUJhc2U6OmZyb21Dcm9zc1RocmVhZERhdGEoQ3Jvc3NUaHJlYWREYXRhJiYgZGF0CiAg
ICAgcmVzcG9uc2UubV9wcm94eU5hbWUgPSBXVEZNb3ZlKGRhdGEucHJveHlOYW1lKTsKICAgICBy
ZXNwb25zZS5tX2lzUmFuZ2VSZXF1ZXN0ZWQgPSBkYXRhLmlzUmFuZ2VSZXF1ZXN0ZWQ7CiAgICAg
cmVzcG9uc2UubV9jZXJ0aWZpY2F0ZUluZm8gPSBXVEZNb3ZlKGRhdGEuY2VydGlmaWNhdGVJbmZv
KTsKLSAgICByZXNwb25zZS5tX2lwQWRkcmVzc1NwYWNlID0gZGF0YS5pcEFkZHJlc3NTcGFjZTsK
KwogICAgIHJldHVybiByZXNwb25zZTsKIH0KIApAQCAtOTE3LDggKzkxMyw3IEBAIHN0ZDo6b3B0
aW9uYWw8UmVzb3VyY2VSZXNwb25zZURhdGE+IFJlc291cmNlUmVzcG9uc2VCYXNlOjpnZXRSZXNw
b25zZURhdGEoKSBjb25zCiAgICAgICAgIG1fd2FzUHJpdmF0ZVJlbGF5ZWQsCiAgICAgICAgIFN0
cmluZyB7IG1fcHJveHlOYW1lIH0sCiAgICAgICAgIG1faXNSYW5nZVJlcXVlc3RlZCwKLSAgICAg
ICAgbV9jZXJ0aWZpY2F0ZUluZm8sCi0gICAgICAgIG1faXBBZGRyZXNzU3BhY2UKKyAgICAgICAg
bV9jZXJ0aWZpY2F0ZUluZm8KICAgICB9IH07CiB9CiAKQEAgLTEwNTIsOCArMTA0Nyw3IEBAIHN0
ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZURhdGE+IENvZGVyPFdlYkNvcmU6
OlJlc291cmNlUmVzcG9uc2VEYXRhCiAgICAgICAgICp3YXNQcml2YXRlUmVsYXllZCwKICAgICAg
ICAgV1RGTW92ZSgqcHJveHlOYW1lKSwKICAgICAgICAgKmlzUmFuZ2VSZXF1ZXN0ZWQsCi0gICAg
ICAgIFdURk1vdmUoKmNlcnRpZmljYXRlSW5mbyksCi0gICAgICAgIFdlYkNvcmU6OklQQWRkcmVz
c1NwYWNlOjpQdWJsaWMKKyAgICAgICAgV1RGTW92ZSgqY2VydGlmaWNhdGVJbmZvKQogICAgIH07
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3Vy
Y2VSZXNwb25zZUJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3Vy
Y2VSZXNwb25zZUJhc2UuaAppbmRleCBjZTM1ZTRjMjA2ZmYuLjVmMmM0ZjBmMTkwZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFz
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25z
ZUJhc2UuaApAQCAtMjksNyArMjksNiBAQAogI2luY2x1ZGUgPFdlYkNvcmUvQ2FjaGVWYWxpZGF0
aW9uLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL0hUVFBIZWFkZXJNYXAuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL0lQQWRkcmVzc1NwYWNl
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9OZXR3b3JrTG9hZE1ldHJpY3MuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL1BhcnNlZENvbnRlbnRSYW5nZS5oPgogI2luY2x1ZGUgPHNwYW4+CkBAIC02MSw5ICs2
MCw2IEBAIGVudW0gY2xhc3MgV2FzUHJpdmF0ZVJlbGF5ZWQgOiBib29sIHsgTm8sIFllcyB9Owog
c3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBiaXRXaWR0aE9mV2FzUHJpdmF0ZVJlbGF5ZWQgPSAx
Owogc3RhdGljX2Fzc2VydChzdGF0aWNfY2FzdDx1bnNpZ25lZD4oV2FzUHJpdmF0ZVJlbGF5ZWQ6
OlllcykgPD0gKCgxVSA8PCBiaXRXaWR0aE9mV2FzUHJpdmF0ZVJlbGF5ZWQpIC0gMSkpOwogCi1z
dGF0aWMgY29uc3RleHByIHVuc2lnbmVkIGJpdFdpZHRoT2ZJUEFkZHJlc3NTcGFjZSA9IDE7Ci1z
dGF0aWNfYXNzZXJ0KHN0YXRpY19jYXN0PHVuc2lnbmVkPihJUEFkZHJlc3NTcGFjZTo6TG9jYWwp
IDw9ICgoMVUgPDwgYml0V2lkdGhPZklQQWRkcmVzc1NwYWNlKSAtIDEpKTsKLQogZW51bSBjbGFz
cyBSZXNvdXJjZVJlc3BvbnNlQmFzZVR5cGUgOiB1aW50OF90IHsgQmFzaWMsIENvcnMsIERlZmF1
bHQsIEVycm9yLCBPcGFxdWUsIE9wYXF1ZXJlZGlyZWN0IH07CiBlbnVtIGNsYXNzIFJlc291cmNl
UmVzcG9uc2VCYXNlVGFpbnRpbmcgOiB1aW50OF90IHsgQmFzaWMsIENvcnMsIE9wYXF1ZSwgT3Bh
cXVlcmVkaXJlY3QgfTsKIGVudW0gY2xhc3MgUmVzb3VyY2VSZXNwb25zZVNvdXJjZSA6IHVpbnQ4
X3QgeyBVbmtub3duLCBOZXR3b3JrLCBEaXNrQ2FjaGUsIERpc2tDYWNoZUFmdGVyVmFsaWRhdGlv
biwgTWVtb3J5Q2FjaGUsIE1lbW9yeUNhY2hlQWZ0ZXJWYWxpZGF0aW9uLCBTZXJ2aWNlV29ya2Vy
LCBBcHBsaWNhdGlvbkNhY2hlLCBET01DYWNoZSwgSW5zcGVjdG9yT3ZlcnJpZGUgfTsKQEAgLTE1
Myw5ICsxNDksNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRQcm94eU5hbWUoU3RyaW5nJiYgcHJv
eHlOYW1lKSB7IG1fcHJveHlOYW1lID0gV1RGTW92ZShwcm94eU5hbWUpOyB9CiAgICAgY29uc3Qg
U3RyaW5nJiBwcm94eU5hbWUoKSBjb25zdCB7IHJldHVybiBtX3Byb3h5TmFtZTsgfQogCi0gICAg
SVBBZGRyZXNzU3BhY2UgaXBBZGRyZXNzU3BhY2UoKSB7IHJldHVybiBtX2lwQWRkcmVzc1NwYWNl
OyB9Ci0gICAgdm9pZCBzZXRJUEFkZHJlc3NTcGFjZShJUEFkZHJlc3NTcGFjZSBpcEFkZHJlc3NT
cGFjZSkgeyBtX2lwQWRkcmVzc1NwYWNlID0gaXBBZGRyZXNzU3BhY2U7IH0KLQogICAgIC8vIFRo
ZXNlIGZ1bmN0aW9ucyByZXR1cm4gcGFyc2VkIHZhbHVlcyBvZiB0aGUgY29ycmVzcG9uZGluZyBy
ZXNwb25zZSBoZWFkZXJzLgogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgY2FjaGVDb250cm9sQ29u
dGFpbnNOb0NhY2hlKCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBjYWNoZUNvbnRy
b2xDb250YWluc05vU3RvcmUoKSBjb25zdDsKQEAgLTI5Niw4ICsyODksNiBAQCBwcml2YXRlOgog
ICAgIFRhaW50aW5nIG1fdGFpbnRpbmcgOiBiaXRXaWR0aE9mVGFpbnRpbmcgeyBUYWludGluZzo6
QmFzaWMgfTsKICAgICBTb3VyY2UgbV9zb3VyY2UgOiBiaXRXaWR0aE9mU291cmNlIHsgU291cmNl
OjpVbmtub3duIH07CiAgICAgVHlwZSBtX3R5cGUgOiBiaXRXaWR0aE9mVHlwZSB7IFR5cGU6OkRl
ZmF1bHQgfTsKLSAgICBJUEFkZHJlc3NTcGFjZSBtX2lwQWRkcmVzc1NwYWNlIDogYml0V2lkdGhP
ZklQQWRkcmVzc1NwYWNlIHsgSVBBZGRyZXNzU3BhY2U6OlB1YmxpYyB9OwotCiB9OwogCiBzdHJ1
Y3QgUmVzb3VyY2VSZXNwb25zZURhdGEgewpAQCAtMzA2LDcgKzI5Nyw3IEBAIHN0cnVjdCBSZXNv
dXJjZVJlc3BvbnNlRGF0YSB7CiAgICAgUmVzb3VyY2VSZXNwb25zZURhdGEoKSA9IGRlZmF1bHQ7
CiAgICAgUmVzb3VyY2VSZXNwb25zZURhdGEoUmVzb3VyY2VSZXNwb25zZURhdGEmJikgPSBkZWZh
dWx0OwogICAgIFJlc291cmNlUmVzcG9uc2VEYXRhJiBvcGVyYXRvcj0oUmVzb3VyY2VSZXNwb25z
ZURhdGEmJikgPSBkZWZhdWx0OwotICAgIFJlc291cmNlUmVzcG9uc2VEYXRhKFVSTCYmIHVybCwg
U3RyaW5nJiYgbWltZVR5cGUsIGxvbmcgbG9uZyBleHBlY3RlZENvbnRlbnRMZW5ndGgsIFN0cmlu
ZyYmIHRleHRFbmNvZGluZ05hbWUsIGludCBodHRwU3RhdHVzQ29kZSwgU3RyaW5nJiYgaHR0cFN0
YXR1c1RleHQsIFN0cmluZyYmIGh0dHBWZXJzaW9uLCBIVFRQSGVhZGVyTWFwJiYgaHR0cEhlYWRl
ckZpZWxkcywgc3RkOjpvcHRpb25hbDxOZXR3b3JrTG9hZE1ldHJpY3M+JiYgbmV0d29ya0xvYWRN
ZXRyaWNzLCBSZXNvdXJjZVJlc3BvbnNlU291cmNlIHNvdXJjZSwgUmVzb3VyY2VSZXNwb25zZUJh
c2VUeXBlIHR5cGUsIFJlc291cmNlUmVzcG9uc2VCYXNlVGFpbnRpbmcgdGFpbnRpbmcsIGJvb2wg
aXNSZWRpcmVjdGVkLCBVc2VkTGVnYWN5VExTIHVzZWRMZWdhY3lUTFMsIFdhc1ByaXZhdGVSZWxh
eWVkIHdhc1ByaXZhdGVSZWxheWVkLCBTdHJpbmcmJiBwcm94eU5hbWUsIGJvb2wgaXNSYW5nZVJl
cXVlc3RlZCwgc3RkOjpvcHRpb25hbDxDZXJ0aWZpY2F0ZUluZm8+IGNlcnRpZmljYXRlSW5mbywg
SVBBZGRyZXNzU3BhY2UgaXBBZGRyZXNzU3BhY2UpCisgICAgUmVzb3VyY2VSZXNwb25zZURhdGEo
VVJMJiYgdXJsLCBTdHJpbmcmJiBtaW1lVHlwZSwgbG9uZyBsb25nIGV4cGVjdGVkQ29udGVudExl
bmd0aCwgU3RyaW5nJiYgdGV4dEVuY29kaW5nTmFtZSwgaW50IGh0dHBTdGF0dXNDb2RlLCBTdHJp
bmcmJiBodHRwU3RhdHVzVGV4dCwgU3RyaW5nJiYgaHR0cFZlcnNpb24sIEhUVFBIZWFkZXJNYXAm
JiBodHRwSGVhZGVyRmllbGRzLCBzdGQ6Om9wdGlvbmFsPE5ldHdvcmtMb2FkTWV0cmljcz4mJiBu
ZXR3b3JrTG9hZE1ldHJpY3MsIFJlc291cmNlUmVzcG9uc2VTb3VyY2Ugc291cmNlLCBSZXNvdXJj
ZVJlc3BvbnNlQmFzZVR5cGUgdHlwZSwgUmVzb3VyY2VSZXNwb25zZUJhc2VUYWludGluZyB0YWlu
dGluZywgYm9vbCBpc1JlZGlyZWN0ZWQsIFVzZWRMZWdhY3lUTFMgdXNlZExlZ2FjeVRMUywgV2Fz
UHJpdmF0ZVJlbGF5ZWQgd2FzUHJpdmF0ZVJlbGF5ZWQsIFN0cmluZyYmIHByb3h5TmFtZSwgYm9v
bCBpc1JhbmdlUmVxdWVzdGVkLCBzdGQ6Om9wdGlvbmFsPENlcnRpZmljYXRlSW5mbz4gY2VydGlm
aWNhdGVJbmZvKQogICAgICAgICA6IHVybChXVEZNb3ZlKHVybCkpCiAgICAgICAgICwgbWltZVR5
cGUoV1RGTW92ZShtaW1lVHlwZSkpCiAgICAgICAgICwgZXhwZWN0ZWRDb250ZW50TGVuZ3RoKGV4
cGVjdGVkQ29udGVudExlbmd0aCkKQEAgLTMyNSw3ICszMTYsNiBAQCBzdHJ1Y3QgUmVzb3VyY2VS
ZXNwb25zZURhdGEgewogICAgICAgICAsIHByb3h5TmFtZShXVEZNb3ZlKHByb3h5TmFtZSkpCiAg
ICAgICAgICwgaXNSYW5nZVJlcXVlc3RlZChpc1JhbmdlUmVxdWVzdGVkKQogICAgICAgICAsIGNl
cnRpZmljYXRlSW5mbyhjZXJ0aWZpY2F0ZUluZm8pCi0gICAgICAgICwgaXBBZGRyZXNzU3BhY2Uo
aXBBZGRyZXNzU3BhY2UpCiAgICAgewogICAgIH0KIApAQCAtMzQ5LDcgKzMzOSw2IEBAIHN0cnVj
dCBSZXNvdXJjZVJlc3BvbnNlRGF0YSB7CiAgICAgU3RyaW5nIHByb3h5TmFtZTsKICAgICBib29s
IGlzUmFuZ2VSZXF1ZXN0ZWQ7CiAgICAgc3RkOjpvcHRpb25hbDxDZXJ0aWZpY2F0ZUluZm8+IGNl
cnRpZmljYXRlSW5mbzsKLSAgICBJUEFkZHJlc3NTcGFjZSBpcEFkZHJlc3NTcGFjZTsKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYkNvcmVBcmd1bWVudENvZGVycy5zZXJpYWxpemF0aW9uLmluIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLnNlcmlhbGl6YXRpb24uaW4KaW5kZXggMDQxOWMx
MDkzMTZjLi4yMTNlNTQwMjZhMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YkNvcmVBcmd1bWVudENvZGVycy5zZXJpYWxpemF0aW9uLmluCisrKyBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5zZXJpYWxpemF0aW9uLmluCkBAIC0xNjcsOCAr
MTY3LDYgQEAgZW51bSBjbGFzcyBXZWJDb3JlOjpJREJUcmFuc2FjdGlvbk1vZGUgOiB1aW50OF90
IHsKICAgICBWZXJzaW9uY2hhbmdlCiB9OwogCi1lbnVtIGNsYXNzIFdlYkNvcmU6OklQQWRkcmVz
c1NwYWNlIDogYm9vbDsKLQogI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQogaGVhZGVyOiA8V2Vi
Q29yZS9NZWRpYVNlc3Npb25BY3Rpb24uaD4KIGVudW0gY2xhc3MgV2ViQ29yZTo6TWVkaWFTZXNz
aW9uQWN0aW9uIDogdWludDhfdCB7CkBAIC0yMTE2LDcgKzIxMTQsNiBAQCBoZWFkZXI6IDxXZWJD
b3JlL1Jlc291cmNlUmVxdWVzdC5oPgogICAgIFtCaXRGaWVsZF0gYm9vbCBtX2RpZEZpbHRlckxp
bmtEZWNvcmF0aW9uOwogICAgIFtCaXRGaWVsZF0gYm9vbCBtX2lzUHJpdmF0ZVRva2VuVXNhZ2VC
eVRoaXJkUGFydHlBbGxvd2VkOwogICAgIFtCaXRGaWVsZF0gYm9vbCBtX3dhc1NjaGVtZU9wdGlt
aXN0aWNhbGx5VXBncmFkZWQ7Ci0gICAgV2ViQ29yZTo6SVBBZGRyZXNzU3BhY2UgbV90YXJnZXRB
ZGRyZXNzU3BhY2U7CiB9OwogCiAjaWYgVVNFKFNPVVApCkBAIC0zNzIxLDcgKzM3MTgsNiBAQCBl
bnVtIGNsYXNzIFdlYkNvcmU6Oldhc1ByaXZhdGVSZWxheWVkIDogYm9vbDsKICAgICBTdHJpbmcg
cHJveHlOYW1lOwogICAgIGJvb2wgaXNSYW5nZVJlcXVlc3RlZDsKICAgICBzdGQ6Om9wdGlvbmFs
PFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbz4gY2VydGlmaWNhdGVJbmZvOwotICAgIFdlYkNvcmU6
OklQQWRkcmVzc1NwYWNlIGlwQWRkcmVzc1NwYWNlOwogfTsKIAogI2lmIFBMQVRGT1JNKENPQ09B
KQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAxNDE0ZmJhNjZiYzguLjhmOTk0YjNhNjgzMiAx
MDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE3Nyw3ICsxNzcsNiBAQAogCQkzQUREODk4ODI5
OUYxOTJGMDA1RENFNEUgLyogTWV0YWxHZW5lcmF0aW9uVGVzdHMuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gM0FERDg5N0UyOTlGMTQwMDAwNURDRTRF
IC8qIE1ldGFsR2VuZXJhdGlvblRlc3RzLmNwcCAqLzsgfTsKIAkJM0FGNEEwOTUyRDlERUUwQjAw
QjNGRjVFIC8qIGljb24tc3ZnLTE2LnRpZmYgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gM0FGNEEwOTMyRDlERUUwQjAwQjNGRjVFIC8qIGljb24t
c3ZnLTE2LnRpZmYgKi87IH07CiAJCTNBRjRBMDk2MkQ5REVFMEIwMEIzRkY1RSAvKiBpY29uLXN2
Zy0yNTYudGlmZiBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAzQUY0QTA5NDJEOURFRTBCMDBCM0ZGNUUgLyogaWNvbi1zdmctMjU2LnRpZmYgKi87
IH07Ci0JCTNDRjY3NkY0MkU0RUQxN0QwMEQ5ODhFQyAvKiBJUEFkZHJlc3NTcGFjZVRlc3RzLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDNDRjY3NkVD
MkU0RUQxNzAwMEQ5ODhFQyAvKiBJUEFkZHJlc3NTcGFjZVRlc3RzLmNwcCAqLzsgfTsKIAkJNDEw
MkVFMTcyNzg0NUVENTAwRDZCRTc0IC8qIFNlcnZpY2VXb3JrZXJSb3V0aW5lcy5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTAyRUUxNjI3ODQ1RUQ1
MDBENkJFNzQgLyogU2VydmljZVdvcmtlclJvdXRpbmVzLmNwcCAqLzsgfTsKIAkJNDExMjA0Q0Uy
RDNBQUQ4RTAwOUE4NTU0IC8qIFNoYXJlZFZpZGVvRnJhbWUubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTEyMDRDRDJEM0FBRDhFMDA5QTg1NTQgLyog
U2hhcmVkVmlkZW9GcmFtZS5tbSAqLzsgfTsKIAkJNDExMjIzQzcyNjAzNUZCRjAwQjBBMEI2IC8q
IFdlYlJUQy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxMTIyM0M2MjYwMzVGQkUwMEIwQTBCNiAvKiBXZWJSVEMubW0gKi87IH07CkBAIC0yNzg2LDcg
KzI3ODUsNiBAQAogCQkzQUVBNTVCMjJDQjA4OTcyMDBBOUVDQUEgLyogV0tQcmVmZXJlbmNlcy5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLUHJlZmVyZW5jZXMubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTNBRjRBMDkzMkQ5REVFMEIwMEIzRkY1RSAvKiBpY29uLXN2Zy0xNi50
aWZmICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gaW1h
Z2UudGlmZjsgcGF0aCA9ICJpY29uLXN2Zy0xNi50aWZmIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJM0FGNEEwOTQyRDlERUUwQjAwQjNGRjVFIC8qIGljb24tc3ZnLTI1Ni50aWZmICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gaW1hZ2UudGlm
ZjsgcGF0aCA9ICJpY29uLXN2Zy0yNTYudGlmZiI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0JCTNDRjY3NkVDMkU0RUQxNzAwMEQ5ODhFQyAvKiBJUEFkZHJlc3NTcGFjZVRlc3RzLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IElQQWRkcmVzc1NwYWNlVGVzdHMuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkzRjFCNTI2ODFEM0Q3MTI5MDA4RDYwQzQgLyogRnVsbHNjcmVlbkxh
eW91dENvbnN0cmFpbnRzLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gRnVsbHNjcmVlbkxheW91dENvbnN0cmFpbnRzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkzRkJEMUI0OTFEMzlEMURCMDBFNkQ2RkEgLyogRnVsbHNjcmVlbkxheW91dENvbnN0
cmFpbnRzLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSBGdWxsc2NyZWVuTGF5b3V0
Q29uc3RyYWludHMuaHRtbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJM0ZDQzRGRTQx
RUM0RTg1MjAwNzZFMzdDIC8qIFBpY3R1cmVJblBpY3R1cmVEZWxlZ2F0ZS5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFBpY3R1cmVJblBpY3R1cmVEZWxlZ2F0ZS5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTUxODYsNyArNTE4NCw2IEBACiAJCQkJ
N0E5MDlBNzMxRDg3NzQ3NTAwN0UxMEY4IC8qIEludFBvaW50VGVzdHMuY3BwICovLAogCQkJCTdB
OTA5QTc0MUQ4Nzc0NzUwMDdFMTBGOCAvKiBJbnRSZWN0VGVzdHMuY3BwICovLAogCQkJCTdBOTA5
QTc1MUQ4Nzc0NzUwMDdFMTBGOCAvKiBJbnRTaXplVGVzdHMuY3BwICovLAotCQkJCTNDRjY3NkVD
MkU0RUQxNzAwMEQ5ODhFQyAvKiBJUEFkZHJlc3NTcGFjZVRlc3RzLmNwcCAqLywKIAkJCQlGNEI4
QTVDMDI4RjhCNTRGMDBFM0Y1NEYgLyogSVBBZGRyZXNzVGVzdHMuY3BwICovLAogCQkJCUNENUZG
NDk2MjE2MkUyN0UwMDRCRDg2RiAvKiBJU09Cb3guY3BwICovLAogCQkJCTI3OEUzRTE4MjNDRDgy
RkEwMDVBNkI4MCAvKiBLZXllZENvZGluZy5jcHAgKi8sCkBAIC03NzcxLDcgKzc3NjgsNiBAQAog
CQkJCTdBOTA5QTgzMUQ4Nzc0ODAwMDdFMTBGOCAvKiBJbnRTaXplVGVzdHMuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQ0RFNEU0RTUyQjdFNzg3OTAwQjNBRTM1IC8qIEluV2luZG93RnVsbHNjcmVl
bi5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdCQjYyQUJFMjlCQjRCQUEwMDIyOENENiAvKiBJT1N1
cmZhY2VUZXN0cy5tbSBpbiBTb3VyY2VzICovLAotCQkJCTNDRjY3NkY0MkU0RUQxN0QwMEQ5ODhF
QyAvKiBJUEFkZHJlc3NTcGFjZVRlc3RzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUY0QjhBNUMx
MjhGOEI1NEYwMEUzRjU0RiAvKiBJUEFkZHJlc3NUZXN0cy5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk1QzBCRjg5MzFERDU5OUJEMDBCMDAzMjggLyogSXNOYXZpZ2F0aW9uQWN0aW9uVHJ1c3RlZC5t
bSBpbiBTb3VyY2VzICovLAogCQkJCUNENUZGNDlGMjE2MkU5NDMwMDRCRDg2RiAvKiBJU09Cb3gu
Y3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYkNvcmUvSVBBZGRyZXNzU3BhY2VUZXN0cy5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYkNvcmUvSVBBZGRyZXNzU3BhY2VUZXN0cy5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGVlYTcyYTkxODAxNC4uMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViQ29yZS9JUEFkZHJlc3NTcGFjZVRlc3RzLmNwcAorKysgL2Rldi9udWxs
CkBAIC0xLDI5MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDI1IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0j
aW5jbHVkZSA8V2ViQ29yZS9JUEFkZHJlc3NTcGFjZS5oPgotI2luY2x1ZGUgPHd0Zi9VUkwuaD4K
LQotbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgewotCi0vLyBUZXN0IElQdjQgbG9vcGJhY2sgYWRk
cmVzc2VzICgxMjcuMC4wLjAvOCkKLVRFU1QoSVBBZGRyZXNzU3BhY2UsIElQdjRMb29wYmFjaykK
LXsKLSAgICBFWFBFQ1RfRVEoV2ViQ29yZTo6ZGV0ZXJtaW5lSVBBZGRyZXNzU3BhY2UoVVJMKCJo
dHRwOi8vMTI3LjAuMC4xLyJfcykpLCBXZWJDb3JlOjpJUEFkZHJlc3NTcGFjZTo6TG9jYWwpOwot
ICAgIEVYUEVDVF9FUShXZWJDb3JlOjpkZXRlcm1pbmVJUEFkZHJlc3NTcGFjZShVUkwoImh0dHA6
Ly8xMjcuMC4wLjIvIl9zKSksIFdlYkNvcmU6OklQQWRkcmVzc1NwYWNlOjpMb2NhbCk7Ci0gICAg
RVhQRUNUX0VRKFdlYkNvcmU6OmRldGVybWluZUlQQWRkcmVzc1NwYWNlKFVSTCgiaHR0cDovLzEy
Ny4yNTUuMjU1LjI1NS8iX3MpKSwgV2ViQ29yZTo6SVBBZGRyZXNzU3BhY2U6OkxvY2FsKTsKLSAg
ICBFWFBFQ1RfRVEoV2ViQ29yZTo6ZGV0ZXJtaW5lSVBBZGRyZXNzU3BhY2UoVVJMKCJodHRwczov
LzEyNy4xLjIuMzo4MDgwLyJfcykpLCBXZWJDb3JlOjpJUEFkZHJlc3NTcGFjZTo6TG9jYWwpOwot
fQotCi0vLyBUZXN0IElQdjQgcHJpdmF0ZSBhZGRyZXNzIHJhbmdlcwotVEVTVChJUEFkZHJlc3NT
cGFjZSwgSVB2NFByaXZhdGVBZGRyZXNzZXMpCi17Ci0gICAgLy8gMTAuMC4wLjAvOCAtIExvY2Fs
IFVzZQotICAgIEVYUEVDVF9FUShXZWJDb3JlOjpkZXRlcm1pbmVJUEFkZHJlc3NTcGFjZShVUkwo
Imh0dHA6Ly8xMC4wLjAuMS8iX3MpKSwgV2ViQ29yZTo6SVBBZGRyZXNzU3BhY2U6OkxvY2FsKTsK
LSAgICBFWFBFQ1RfRVEoV2ViQ29yZTo6ZGV0ZXJtaW5lSVBBZGRyZXNzU3BhY2UoVVJMKCJodHRw
Oi8vMTAuMjU1LjI1NS4yNTUvIl9zKSksIFdlYkNvcmU6OklQQWRkcmVzc1NwYWNlOjpMb2NhbCk7
Ci0gICAgRVhQRUNUX0VRKFdlYkNvcmU6OmRldGVybWluZUlQQWRkcmVzc1NwYWNlKFVSTCgiaHR0
cHM6Ly8xMC4xOTIuMTY4LjE6NDQzLyJfcykpLCBXZWJDb3JlOjpJUEFkZHJlc3NTcGFjZTo6TG9j
YWwpOwotCi0gICAgLy8gMTcyLjE2LjAuMC8xMiAtIExvY2FsIFVzZQotICAgIEVYUEVDVF9FUShX
ZWJDb3JlOjpkZXRlcm1pbmVJUEFkZHJlc3NTcGFjZShVUkwoImh0dHA6Ly8xNzIuMTYuMC4xLyJf
cykpLCBXZWJDb3JlOjpJUEFkZHJlc3NTcGFjZTo6TG9jYWwpOwotICAgIEVYUEVDVF9FUShXZWJD
b3JlOjpkZXRlcm1pbmVJUEFkZHJlc3NTcGFjZShVUkwoImh0dHA6Ly8xNzIuMzEuMjU1LjI1NS8i
X3MpKSwgV2ViQ29yZTo6SVBBZGRyZXNzU3BhY2U6OkxvY2FsKTsKLSAgICBFWFBFQ1RfRVEoV2Vi
Q29yZTo6ZGV0ZXJtaW5lSVBBZGRyZXNzU3BhY2UoVVJMKCJodHRwczovLzE3Mi4yMC4xLjI6ODQ0
My8iX3MpKSwgV2ViQ29yZTo6SVBBZGRyZXNzU3BhY2U6OkxvY2FsKTsKLQotICAgIC8vIEVkZ2Ug
Y2FzZXMgLSBzaG91bGQgTk9UIGJlIGxvY2FsCi0gICAgRVhQRUNUX0VRKFdlYkNvcmU6OmRldGVy
bWluZUlQQWRkcmVzc1NwYWNlKFVSTCgiaHR0cDovLzE3Mi4xNS4yNTUuMjU1LyJfcykpLCBXZWJD
b3JlOjpJUEFkZHJlc3NTcGFjZTo6UHVibGljKTsKLSAgICBFWFBFQ1RfRVEoV2ViQ29yZTo6ZGV0
ZXJtaW5lSVBBZGRyZXNzU3BhY2UoVVJMKCJodHRwOi8vMTcyLjMyLjAuMS8iX3MpKSwgV2ViQ29y
ZTo6SVBBZGRyZXNzU3BhY2U6OlB1YmxpYyk7Ci0KLSAgICAvLyAxOTIuMTY4LjAuMC8xNiAtIExv
Y2FsIFVzZQotICAgIEVYUEVDVF9FUShXZWJDb3JlOjpkZXRlcm1pbmVJUEFkZHJlc3NTcGFjZShV
UkwoImh0dHA6Ly8xOTIuMTY4LjAuMS8iX3MpKSwgV2ViQ29yZTo6SVBBZGRyZXNzU3BhY2U6Okxv
Y2FsKTsKLSAgICBFWFBFQ1RfRVEoV2ViQ29yZTo6ZGV0ZXJtaW5lSVBBZGRyZXNzU3BhY2UoVVJM
KCJodHRwOi8vMTkyLjE2OC4yNTUuMjU1LyJfcykpLCBXZWJDb3JlOjpJUEFkZHJlc3NTcGFjZTo6
TG9jYWwpOwotICAgIEVYUEVDVF9FUShXZWJDb3JlOjpkZXRlcm1pbmVJUEFkZHJlc3NTcGFjZShV
UkwoImh0dHBzOi8vMTkyLjE2OC4xLjEwMDo4MDgwLyJfcykpLCBXZWJDb3JlOjpJUEFkZHJlc3NT
cGFjZTo6TG9jYWwpOwotCi0gICAgLy8gRWRnZSBjYXNlcyAtIHNob3VsZCBOT1QgYmUgbG9jYWwK
LSAgICBFWFBFQ1RfRVEoV2ViQ29yZTo6ZGV0ZXJtaW5lSVBBZGRyZXNzU3BhY2UoVVJMKCJodHRw
Oi8vMTkyLjE2Ny4yNTUuMjU1LyJfcykpLCBXZWJDb3JlOjpJUEFkZHJlc3NTcGFjZTo6UHVibGlj
KTsKLSAgICBFWFBFQ1RfRVEoV2ViQ29yZTo6ZGV0ZXJtaW5lSVBBZGRyZXNzU3BhY2UoVVJMKCJo
dHRwOi8vMTkyLjE2OS4wLjEvIl9zKSksIFdlYkNvcmU6OklQQWRkcmVzc1NwYWNlOjpQdWJsaWMp
OwotfQotCi0vLyBUZXN0IENhcnJpZXItR3JhZGUgTkFUIGFkZHJlc3NlcyAoMTAwLjY0LjAuMC8x
MCkKLVRFU1QoSVBBZGRyZXNzU3BhY2UsIElQdjRDYXJyaWVyR3JhZGVOQVQpCi17Ci0gICAgRVhQ
RUNUX0VRKFdlYkNvcmU6OmRldGVybWluZUlQQWRkcmVzc1NwYWNlKFVSTCgiaHR0cDovLzEwMC42
NC4wLjEvIl9zKSksIFdlYkNvcmU6OklQQWRkcmVzc1NwYWNlOjpMb2NhbCk7Ci0gICAgRVhQRUNU
X0VRKFdlYkNvcmU6OmRldGVybWluZUlQQWRkcmVzc1NwYWNlKFVSTCgiaHR0cDovLzEwMC4xMjcu
MjU1LjI1NS8iX3MpKSwgV2ViQ29yZTo6SVBBZGRyZXNzU3BhY2U6OkxvY2FsKTsKLSAgICBFWFBF
Q1RfRVEoV2ViQ29yZTo6ZGV0ZXJtaW5lSVBBZGRyZXNzU3BhY2UoVVJMKCJodHRwczovLzEwMC4x
MDAuMTAwLjEwMDo0NDMvIl9zKSksIFdlYkNvcmU6OklQQWRkcmVzc1NwYWNlOjpMb2NhbCk7Ci0K
LSAgICAvLyBFZGdlIGNhc2VzIC0gc2hvdWxkIE5PVCBiZSBsb2NhbAotICAgIEVYUEVDVF9FUShX
ZWJDb3JlOjpkZXRlcm1pbmVJUEFkZHJlc3NTcGFjZShVUkwoImh0dHA6Ly8xMDAuNjMuMjU1LjI1
NS8iX3MpKSwgV2ViQ29yZTo6SVBBZGRyZXNzU3BhY2U6OlB1YmxpYyk7Ci0gICAgRVhQRUNUX0VR
KFdlYkNvcmU6OmRldGVybWluZUlQQWRkcmVzc1NwYWNlKFVSTCgiaHR0cDovLzEwMC4xMjguMC4x
LyJfcykpLCBXZWJDb3JlOjpJUEFkZHJlc3NTcGFjZTo6UHVibGljKTsKLX0KLQotLy8gVGVzdCBM
aW5rIExvY2FsIGFkZHJlc3NlcyAoMTY5LjI1NC4wLjAvMTYpCi1URVNUKElQQWRkcmVzc1NwYWNl
LCBJUHY0TGlua0xvY2FsKQotewotICAgIEVYUEVDVF9FUShXZWJDb3JlOjpkZXRlcm1pbmVJUEFk
ZHJlc3NTcGFjZShVUkwoImh0dHA6Ly8xNjkuMjU0LjAuMS8iX3MpKSwgV2ViQ29yZTo6SVBBZGRy
ZXNzU3BhY2U6OkxvY2FsKTsKLSAgICBFWFBFQ1RfRVEoV2ViQ29yZTo6ZGV0ZXJtaW5lSVBBZGRy
ZXNzU3BhY2UoVVJMKCJodHRwOi8vMTY5LjI1NC4yNTUuMjU1LyJfcykpLCBXZWJDb3JlOjpJUEFk
ZHJlc3NTcGFjZTo6TG9jYWwpOwotICAgIEVYUEVDVF9FUShXZWJDb3JlOjpkZXRlcm1pbmVJUEFk
ZHJlc3NTcGFjZShVUkwoImh0dHBzOi8vMTY5LjI1NC4xLjE6ODA4MC8iX3MpKSwgV2ViQ29yZTo6
SVBBZGRyZXNzU3BhY2U6OkxvY2FsKTsKLQotICAgIC8vIEVkZ2UgY2FzZXMgLSBzaG91bGQgTk9U
IGJlIGxvY2FsCi0gICAgRVhQRUNUX0VRKFdlYkNvcmU6OmRldGVybWluZUlQQWRkcmVzc1NwYWNl
KFVSTCgiaHR0cDovLzE2OS4yNTMuMjU1LjI1NS8iX3MpKSwgV2ViQ29yZTo6SVBBZGRyZXNzU3Bh
Y2U6OlB1YmxpYyk7Ci0gICAgRVhQRUNUX0VRKFdlYkNvcmU6OmRldGVybWluZUlQQWRkcmVzc1Nw
YWNlKFVSTCgiaHR0cDovLzE2OS4yNTUuMC4xLyJfcykpLCBXZWJDb3JlOjpJUEFkZHJlc3NTcGFj
ZTo6UHVibGljKTsKLX0KLQotLy8gVGVzdCBCZW5jaG1hcmtpbmcgYWRkcmVzc2VzICgxOTguMTgu
MC4wLzE1KQotVEVTVChJUEFkZHJlc3NTcGFjZSwgSVB2NEJlbmNobWFya2luZykKLXsKLSAgICBF
WFBFQ1RfRVEoV2ViQ29yZTo6ZGV0ZXJtaW5lSVBBZGRyZXNzU3BhY2UoVVJMKCJodHRwOi8vMTk4
LjE4LjAuMS8iX3MpKSwgV2ViQ29yZTo6SVBBZGRyZXNzU3BhY2U6OkxvY2FsKTsKLSAgICBFWFBF
Q1RfRVEoV2ViQ29yZTo6ZGV0ZXJtaW5lSVBBZGRyZXNzU3BhY2UoVVJMKCJodHRwOi8vMTk4LjE5
LjI1NS4yNTUvIl9zKSksIFdlYkNvcmU6OklQQWRkcmVzc1NwYWNlOjpMb2NhbCk7Ci0gICAgRVhQ
RUNUX0VRKFdlYkNvcmU6OmRldGVybWluZUlQQWRkcmVzc1NwYWNlKFVSTCgiaHR0cHM6Ly8xOTgu
MTguMTAwLjUwOjQ0My8iX3MpKSwgV2ViQ29yZTo6SVBBZGRyZXNzU3BhY2U6OkxvY2FsKTsKLQot
ICAgIC8vIEVkZ2UgY2FzZXMgLSBzaG91bGQgTk9UIGJlIGxvY2FsCi0gICAgRVhQRUNUX0VRKFdl
YkNvcmU6OmRldGVybWluZUlQQWRkcmVzc1NwYWNlKFVSTCgiaHR0cDovLzE5OC4xNy4yNTUuMjU1
LyJfcykpLCBXZWJDb3JlOjpJUEFkZHJlc3NTcGFjZTo6UHVibGljKTsKLSAgICBFWFBFQ1RfRVEo
V2ViQ29yZTo6ZGV0ZXJtaW5lSVBBZGRyZXNzU3BhY2UoVVJMKCJodHRwOi8vMTk4LjIwLjAuMS8i
X3MpKSwgV2ViQ29yZTo6SVBBZGRyZXNzU3BhY2U6OlB1YmxpYyk7Ci19Ci0KLS8vIFRlc3QgSVB2
NCBwdWJsaWMgYWRkcmVzc2VzCi1URVNUKElQQWRkcmVzc1NwYWNlLCBJUHY0UHVibGljQWRkcmVz
c2VzKQotewotICAgIEVYUEVDVF9FUShXZWJDb3JlOjpkZXRlcm1pbmVJUEFkZHJlc3NTcGFjZShV
UkwoImh0dHA6Ly84LjguOC44LyJfcykpLCBXZWJDb3JlOjpJUEFkZHJlc3NTcGFjZTo6UHVibGlj
KTsKLSAgICBFWFBFQ1RfRVEoV2ViQ29yZTo6ZGV0ZXJtaW5lSVBBZGRyZXNzU3BhY2UoVVJMKCJo
dHRwOi8vMS4xLjEuMS8iX3MpKSwgV2ViQ29yZTo6SVBBZGRyZXNzU3BhY2U6OlB1YmxpYyk7Ci0g
ICAgRVhQRUNUX0VRKFdlYkNvcmU6OmRldGVybWluZUlQQWRkcmVzc1NwYWNlKFVSTCgiaHR0cHM6
Ly8xNzIuNjQuMC4xOjQ0My8iX3MpKSwgV2ViQ29yZTo6SVBBZGRyZXNzU3BhY2U6OlB1YmxpYyk7
Ci0gICAgRVhQRUNUX0VRKFdlYkNvcmU6OmRldGVybWluZUlQQWRkcmVzc1NwYWNlKFVSTCgiaHR0
cDovLzIwOC42Ny4yMjIuMjIyLyJfcykpLCBXZWJDb3JlOjpJUEFkZHJlc3NTcGFjZTo6UHVibGlj
KTsKLSAgICBFWFBFQ1RfRVEoV2ViQ29yZTo6ZGV0ZXJtaW5lSVBBZGRyZXNzU3BhY2UoVVJMKCJo
dHRwczovLzY0LjIzMy4xNjAuMDo0NDMvIl9zKSksIFdlYkNvcmU6OklQQWRkcmVzc1NwYWNlOjpQ
dWJsaWMpOwotfQotCi0vLyBUZXN0IElQdjYgbG9vcGJhY2sgKDo6MS8xMjgpCi1URVNUKElQQWRk
cmVzc1NwYWNlLCBJUHY2TG9vcGJhY2spCi17Ci0gICAgRVhQRUNUX0VRKFdlYkNvcmU6OmRldGVy
bWluZUlQQWRkcmVzc1NwYWNlKFVSTCgiaHR0cDovL1s6OjFdLyJfcykpLCBXZWJDb3JlOjpJUEFk
ZHJlc3NTcGFjZTo6TG9jYWwpOwotICAgIEVYUEVDVF9FUShXZWJDb3JlOjpkZXRlcm1pbmVJUEFk
ZHJlc3NTcGFjZShVUkwoImh0dHBzOi8vWzo6MV06ODA4MC8iX3MpKSwgV2ViQ29yZTo6SVBBZGRy
ZXNzU3BhY2U6OkxvY2FsKTsKLX0KLQotLy8gVGVzdCBJUHY2IFVuaXF1ZSBMb2NhbCBhZGRyZXNz
ZXMgKGZjMDA6Oi83KQotVEVTVChJUEFkZHJlc3NTcGFjZSwgSVB2NlVuaXF1ZUxvY2FsKQotewot
ICAgIEVYUEVDVF9FUShXZWJDb3JlOjpkZXRlcm1pbmVJUEFkZHJlc3NTcGFjZShVUkwoImh0dHA6
Ly9bZmMwMDo6MV0vIl9zKSksIFdlYkNvcmU6OklQQWRkcmVzc1NwYWNlOjpMb2NhbCk7Ci0gICAg
RVhQRUNUX0VRKFdlYkNvcmU6OmRldGVybWluZUlQQWRkcmVzc1NwYWNlKFVSTCgiaHR0cDovL1tm
ZDAwOjoxXS8iX3MpKSwgV2ViQ29yZTo6SVBBZGRyZXNzU3BhY2U6OkxvY2FsKTsKLSAgICBFWFBF
Q1RfRVEoV2ViQ29yZTo6ZGV0ZXJtaW5lSVBBZGRyZXNzU3BhY2UoVVJMKCJodHRwczovL1tmY2Zm
OmZmZmY6ZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZmZmOmZmZmZdOjQ0My8iX3MpKSwgV2ViQ29yZTo6
SVBBZGRyZXNzU3BhY2U6OkxvY2FsKTsKLSAgICBFWFBFQ1RfRVEoV2ViQ29yZTo6ZGV0ZXJtaW5l
SVBBZGRyZXNzU3BhY2UoVVJMKCJodHRwczovL1tmZGZmOmZmZmY6ZmZmZjpmZmZmOmZmZmY6ZmZm
ZjpmZmZmOmZmZmZdOjgwODAvIl9zKSksIFdlYkNvcmU6OklQQWRkcmVzc1NwYWNlOjpMb2NhbCk7
Ci0KLSAgICAvLyBFZGdlIGNhc2VzIC0gc2hvdWxkIE5PVCBiZSBsb2NhbAotICAgIEVYUEVDVF9F
UShXZWJDb3JlOjpkZXRlcm1pbmVJUEFkZHJlc3NTcGFjZShVUkwoImh0dHA6Ly9bZmJmZjo6MV0v
Il9zKSksIFdlYkNvcmU6OklQQWRkcmVzc1NwYWNlOjpQdWJsaWMpOwotICAgIEVYUEVDVF9FUShX
ZWJDb3JlOjpkZXRlcm1pbmVJUEFkZHJlc3NTcGFjZShVUkwoImh0dHA6Ly9bZmUwMDo6MV0vIl9z
KSksIFdlYkNvcmU6OklQQWRkcmVzc1NwYWNlOjpQdWJsaWMpOwotfQotCi0vLyBUZXN0IElQdjYg
TGluay1Mb2NhbCBhZGRyZXNzZXMgKGZlODA6Oi8xMCkKLVRFU1QoSVBBZGRyZXNzU3BhY2UsIElQ
djZMaW5rTG9jYWwpCi17Ci0gICAgRVhQRUNUX0VRKFdlYkNvcmU6OmRldGVybWluZUlQQWRkcmVz
c1NwYWNlKFVSTCgiaHR0cDovL1tmZTgwOjoxXS8iX3MpKSwgV2ViQ29yZTo6SVBBZGRyZXNzU3Bh
Y2U6OkxvY2FsKTsKLSAgICBFWFBFQ1RfRVEoV2ViQ29yZTo6ZGV0ZXJtaW5lSVBBZGRyZXNzU3Bh
Y2UoVVJMKCJodHRwOi8vW2ZlOTA6OjFdLyJfcykpLCBXZWJDb3JlOjpJUEFkZHJlc3NTcGFjZTo6
TG9jYWwpOwotICAgIEVYUEVDVF9FUShXZWJDb3JlOjpkZXRlcm1pbmVJUEFkZHJlc3NTcGFjZShV
UkwoImh0dHA6Ly9bZmVhMDo6MV0vIl9zKSksIFdlYkNvcmU6OklQQWRkcmVzc1NwYWNlOjpMb2Nh
bCk7Ci0gICAgRVhQRUNUX0VRKFdlYkNvcmU6OmRldGVybWluZUlQQWRkcmVzc1NwYWNlKFVSTCgi
aHR0cDovL1tmZWIwOjoxXS8iX3MpKSwgV2ViQ29yZTo6SVBBZGRyZXNzU3BhY2U6OkxvY2FsKTsK
LSAgICBFWFBFQ1RfRVEoV2ViQ29yZTo6ZGV0ZXJtaW5lSVBBZGRyZXNzU3BhY2UoVVJMKCJodHRw
czovL1tmZWJmOmZmZmY6ZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZmZmOmZmZmZdOjgwODAvIl9zKSks
IFdlYkNvcmU6OklQQWRkcmVzc1NwYWNlOjpMb2NhbCk7Ci0KLSAgICAvLyBFZGdlIGNhc2VzIC0g
c2hvdWxkIE5PVCBiZSBsb2NhbAotICAgIEVYUEVDVF9FUShXZWJDb3JlOjpkZXRlcm1pbmVJUEFk
ZHJlc3NTcGFjZShVUkwoImh0dHA6Ly9bZmU3Zjo6MV0vIl9zKSksIFdlYkNvcmU6OklQQWRkcmVz
c1NwYWNlOjpQdWJsaWMpOwotICAgIEVYUEVDVF9FUShXZWJDb3JlOjpkZXRlcm1pbmVJUEFkZHJl
c3NTcGFjZShVUkwoImh0dHA6Ly9bZmVjMDo6MV0vIl9zKSksIFdlYkNvcmU6OklQQWRkcmVzc1Nw
YWNlOjpQdWJsaWMpOwotfQotCi0vLyBUZXN0IElQdjQtTWFwcGVkIElQdjYgYWRkcmVzc2VzICg6
OmZmZmY6MDowLzk2KSB3aXRoIGRvdHRlZCBkZWNpbWFsIG5vdGF0aW9uCi1URVNUKElQQWRkcmVz
c1NwYWNlLCBJUHY2TWFwcGVkSVB2NERvdHRlZERlY2ltYWwpCi17Ci0gICAgLy8gTG9jYWwgSVB2
NCBhZGRyZXNzZXMgbWFwcGVkIHRvIElQdjYKLSAgICBFWFBFQ1RfRVEoV2ViQ29yZTo6ZGV0ZXJt
aW5lSVBBZGRyZXNzU3BhY2UoVVJMKCJodHRwOi8vWzo6ZmZmZjoxMjcuMC4wLjFdLyJfcykpLCBX
ZWJDb3JlOjpJUEFkZHJlc3NTcGFjZTo6TG9jYWwpOwotICAgIEVYUEVDVF9FUShXZWJDb3JlOjpk
ZXRlcm1pbmVJUEFkZHJlc3NTcGFjZShVUkwoImh0dHA6Ly9bOjpmZmZmOjEwLjAuMC4xXS8iX3Mp
KSwgV2ViQ29yZTo6SVBBZGRyZXNzU3BhY2U6OkxvY2FsKTsKLSAgICBFWFBFQ1RfRVEoV2ViQ29y
ZTo6ZGV0ZXJtaW5lSVBBZGRyZXNzU3BhY2UoVVJMKCJodHRwOi8vWzo6ZmZmZjoxOTIuMTY4LjEu
MV0vIl9zKSksIFdlYkNvcmU6OklQQWRkcmVzc1NwYWNlOjpMb2NhbCk7Ci0gICAgRVhQRUNUX0VR
KFdlYkNvcmU6OmRldGVybWluZUlQQWRkcmVzc1NwYWNlKFVSTCgiaHR0cHM6Ly9bOjpmZmZmOjE3
Mi4xNi4wLjFdOjQ0My8iX3MpKSwgV2ViQ29yZTo6SVBBZGRyZXNzU3BhY2U6OkxvY2FsKTsKLQot
ICAgIC8vIFB1YmxpYyBJUHY0IGFkZHJlc3NlcyBtYXBwZWQgdG8gSVB2NgotICAgIEVYUEVDVF9F
UShXZWJDb3JlOjpkZXRlcm1pbmVJUEFkZHJlc3NTcGFjZShVUkwoImh0dHA6Ly9bOjpmZmZmOjgu
OC44LjhdLyJfcykpLCBXZWJDb3JlOjpJUEFkZHJlc3NTcGFjZTo6UHVibGljKTsKLSAgICBFWFBF
Q1RfRVEoV2ViQ29yZTo6ZGV0ZXJtaW5lSVBBZGRyZXNzU3BhY2UoVVJMKCJodHRwczovL1s6OmZm
ZmY6MS4xLjEuMV06ODA4MC8iX3MpKSwgV2ViQ29yZTo6SVBBZGRyZXNzU3BhY2U6OlB1YmxpYyk7
Ci19Ci0KLS8vIFRlc3QgSVB2NC1NYXBwZWQgSVB2NiBhZGRyZXNzZXMgd2l0aCBoZXggbm90YXRp
b24KLVRFU1QoSVBBZGRyZXNzU3BhY2UsIElQdjZNYXBwZWRJUHY0SGV4Tm90YXRpb24pCi17Ci0g
ICAgLy8gMTI3LjAuMC4xID0gMHg3ZjAwMDAwMSAtPiBjMGE4OjEwMSByZXByZXNlbnRzIDE5Mi4x
NjguMS4xCi0gICAgRVhQRUNUX0VRKFdlYkNvcmU6OmRldGVybWluZUlQQWRkcmVzc1NwYWNlKFVS
TCgiaHR0cDovL1s6OmZmZmY6YzBhODoxMDFdLyJfcykpLCBXZWJDb3JlOjpJUEFkZHJlc3NTcGFj
ZTo6TG9jYWwpOwotCi0gICAgLy8gMTAuMC4wLjEgPSAweDBhMDAwMDAxCi0gICAgRVhQRUNUX0VR
KFdlYkNvcmU6OmRldGVybWluZUlQQWRkcmVzc1NwYWNlKFVSTCgiaHR0cDovL1s6OmZmZmY6YTAw
OjFdLyJfcykpLCBXZWJDb3JlOjpJUEFkZHJlc3NTcGFjZTo6TG9jYWwpOwotCi0gICAgLy8gOC44
LjguOCA9IDB4MDgwODA4MDgKLSAgICBFWFBFQ1RfRVEoV2ViQ29yZTo6ZGV0ZXJtaW5lSVBBZGRy
ZXNzU3BhY2UoVVJMKCJodHRwOi8vWzo6ZmZmZjo4MDg6ODA4XS8iX3MpKSwgV2ViQ29yZTo6SVBB
ZGRyZXNzU3BhY2U6OlB1YmxpYyk7Ci0KLSAgICAvLyAxNzIuMTYuMC4xID0gMHhhYzEwMDAwMQot
ICAgIEVYUEVDVF9FUShXZWJDb3JlOjpkZXRlcm1pbmVJUEFkZHJlc3NTcGFjZShVUkwoImh0dHBz
Oi8vWzo6ZmZmZjphYzEwOjFdOjQ0My8iX3MpKSwgV2ViQ29yZTo6SVBBZGRyZXNzU3BhY2U6Okxv
Y2FsKTsKLX0KLQotLy8gVGVzdCBJUHY2IHB1YmxpYyBhZGRyZXNzZXMKLVRFU1QoSVBBZGRyZXNz
U3BhY2UsIElQdjZQdWJsaWNBZGRyZXNzZXMpCi17Ci0gICAgRVhQRUNUX0VRKFdlYkNvcmU6OmRl
dGVybWluZUlQQWRkcmVzc1NwYWNlKFVSTCgiaHR0cDovL1syMDAxOjQ4NjA6NDg2MDo6ODg4OF0v
Il9zKSksIFdlYkNvcmU6OklQQWRkcmVzc1NwYWNlOjpQdWJsaWMpOwotICAgIEVYUEVDVF9FUShX
ZWJDb3JlOjpkZXRlcm1pbmVJUEFkZHJlc3NTcGFjZShVUkwoImh0dHA6Ly9bMjYwNjo0NzAwOjQ3
MDA6OjExMTFdLyJfcykpLCBXZWJDb3JlOjpJUEFkZHJlc3NTcGFjZTo6UHVibGljKTsKLSAgICBF
WFBFQ1RfRVEoV2ViQ29yZTo6ZGV0ZXJtaW5lSVBBZGRyZXNzU3BhY2UoVVJMKCJodHRwczovL1sy
MDAxOmRiODo6MV06NDQzLyJfcykpLCBXZWJDb3JlOjpJUEFkZHJlc3NTcGFjZTo6UHVibGljKTsK
LSAgICBFWFBFQ1RfRVEoV2ViQ29yZTo6ZGV0ZXJtaW5lSVBBZGRyZXNzU3BhY2UoVVJMKCJodHRw
Oi8vWzo6Ml0vIl9zKSksIFdlYkNvcmU6OklQQWRkcmVzc1NwYWNlOjpQdWJsaWMpOwotfQotCi0v
LyBUZXN0IG5vbi1JUCBhZGRyZXNzZXMgKGhvc3RuYW1lcykKLVRFU1QoSVBBZGRyZXNzU3BhY2Us
IEhvc3RuYW1lQWRkcmVzc2VzKQotewotICAgIEVYUEVDVF9FUShXZWJDb3JlOjpkZXRlcm1pbmVJ
UEFkZHJlc3NTcGFjZShVUkwoImh0dHA6Ly9leGFtcGxlLmNvbS8iX3MpKSwgV2ViQ29yZTo6SVBB
ZGRyZXNzU3BhY2U6OlB1YmxpYyk7Ci0gICAgRVhQRUNUX0VRKFdlYkNvcmU6OmRldGVybWluZUlQ
QWRkcmVzc1NwYWNlKFVSTCgiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8iX3MpKSwgV2ViQ29yZTo6
SVBBZGRyZXNzU3BhY2U6OlB1YmxpYyk7Ci0gICAgRVhQRUNUX0VRKFdlYkNvcmU6OmRldGVybWlu
ZUlQQWRkcmVzc1NwYWNlKFVSTCgiaHR0cDovL2xvY2FsaG9zdC8iX3MpKSwgV2ViQ29yZTo6SVBB
ZGRyZXNzU3BhY2U6OlB1YmxpYyk7Ci0gICAgRVhQRUNUX0VRKFdlYkNvcmU6OmRldGVybWluZUlQ
QWRkcmVzc1NwYWNlKFVSTCgiaHR0cHM6Ly9pbnRlcm5hbC5jb21wYW55LmxvY2FsOjgwODAvIl9z
KSksIFdlYkNvcmU6OklQQWRkcmVzc1NwYWNlOjpQdWJsaWMpOwotICAgIEVYUEVDVF9FUShXZWJD
b3JlOjpkZXRlcm1pbmVJUEFkZHJlc3NTcGFjZShVUkwoImZ0cDovL2Z0cC5leGFtcGxlLm9yZy8i
X3MpKSwgV2ViQ29yZTo6SVBBZGRyZXNzU3BhY2U6OlB1YmxpYyk7Ci19Ci0KLS8vIFRlc3QgZWRn
ZSBjYXNlcyBhbmQgbWFsZm9ybWVkIGFkZHJlc3NlcwotVEVTVChJUEFkZHJlc3NTcGFjZSwgRWRn
ZUNhc2VzQW5kTWFsZm9ybWVkKQotewotICAgIC8vIEVtcHR5IG9yIGludmFsaWQgVVJMcwotICAg
IEVYUEVDVF9FUShXZWJDb3JlOjpkZXRlcm1pbmVJUEFkZHJlc3NTcGFjZShVUkwoIiJfcykpLCBX
ZWJDb3JlOjpJUEFkZHJlc3NTcGFjZTo6UHVibGljKTsKLSAgICBFWFBFQ1RfRVEoV2ViQ29yZTo6
ZGV0ZXJtaW5lSVBBZGRyZXNzU3BhY2UoVVJMKCJodHRwOi8vIl9zKSksIFdlYkNvcmU6OklQQWRk
cmVzc1NwYWNlOjpQdWJsaWMpOwotCi0gICAgLy8gVVJMcyB3aXRob3V0IGhvc3RzCi0gICAgRVhQ
RUNUX0VRKFdlYkNvcmU6OmRldGVybWluZUlQQWRkcmVzc1NwYWNlKFVSTCgiZmlsZTovLy9wYXRo
L3RvL2ZpbGUiX3MpKSwgV2ViQ29yZTo6SVBBZGRyZXNzU3BhY2U6OlB1YmxpYyk7Ci0gICAgRVhQ
RUNUX0VRKFdlYkNvcmU6OmRldGVybWluZUlQQWRkcmVzc1NwYWNlKFVSTCgiZGF0YTp0ZXh0L3Bs
YWluLGhlbGxvIl9zKSksIFdlYkNvcmU6OklQQWRkcmVzc1NwYWNlOjpQdWJsaWMpOwotCi0gICAg
Ly8gTWFsZm9ybWVkIElQIGFkZHJlc3NlcwotICAgIEVYUEVDVF9FUShXZWJDb3JlOjpkZXRlcm1p
bmVJUEFkZHJlc3NTcGFjZShVUkwoImh0dHA6Ly8yNTYuMjU2LjI1Ni4yNTYvIl9zKSksIFdlYkNv
cmU6OklQQWRkcmVzc1NwYWNlOjpQdWJsaWMpOwotICAgIEVYUEVDVF9FUShXZWJDb3JlOjpkZXRl
cm1pbmVJUEFkZHJlc3NTcGFjZShVUkwoImh0dHA6Ly8xOTIuMTY4LjEuMS4xLyJfcykpLCBXZWJD
b3JlOjpJUEFkZHJlc3NTcGFjZTo6UHVibGljKTsKLSAgICBFWFBFQ1RfRVEoV2ViQ29yZTo6ZGV0
ZXJtaW5lSVBBZGRyZXNzU3BhY2UoVVJMKCJodHRwOi8vW2ludmFsaWQ6OmlwdjY6OmFkZHJlc3Nd
LyJfcykpLCBXZWJDb3JlOjpJUEFkZHJlc3NTcGFjZTo6UHVibGljKTsKLQotICAgIC8vIElQdjYg
YWRkcmVzc2VzIHdpdGhvdXQgYnJhY2tldHMgKHNob3VsZCBiZSB0cmVhdGVkIGFzIGhvc3RuYW1l
cykKLSAgICBFWFBFQ1RfRVEoV2ViQ29yZTo6ZGV0ZXJtaW5lSVBBZGRyZXNzU3BhY2UoVVJMKCJo
dHRwOi8vOjoxLyJfcykpLCBXZWJDb3JlOjpJUEFkZHJlc3NTcGFjZTo6UHVibGljKTsKLSAgICBF
WFBFQ1RfRVEoV2ViQ29yZTo6ZGV0ZXJtaW5lSVBBZGRyZXNzU3BhY2UoVVJMKCJodHRwOi8vMjAw
MTpkYjg6OjEvIl9zKSksIFdlYkNvcmU6OklQQWRkcmVzc1NwYWNlOjpQdWJsaWMpOwotfQotCi0v
LyBUZXN0IHRoZSB1dGlsaXR5IGZ1bmN0aW9ucwotVEVTVChJUEFkZHJlc3NTcGFjZSwgVXRpbGl0
eUZ1bmN0aW9ucykKLXsKLSAgICAvLyBUZXN0IGlzTG9jYWxJUEFkZHJlc3NTcGFjZShjb25zdCBV
UkwmKQotICAgIEVYUEVDVF9UUlVFKFdlYkNvcmU6OmlzTG9jYWxJUEFkZHJlc3NTcGFjZShVUkwo
Imh0dHA6Ly8xMjcuMC4wLjEvIl9zKSkpOwotICAgIEVYUEVDVF9UUlVFKFdlYkNvcmU6OmlzTG9j
YWxJUEFkZHJlc3NTcGFjZShVUkwoImh0dHA6Ly8xOTIuMTY4LjEuMS8iX3MpKSk7Ci0gICAgRVhQ
RUNUX1RSVUUoV2ViQ29yZTo6aXNMb2NhbElQQWRkcmVzc1NwYWNlKFVSTCgiaHR0cDovL1s6OjFd
LyJfcykpKTsKLSAgICBFWFBFQ1RfVFJVRShXZWJDb3JlOjppc0xvY2FsSVBBZGRyZXNzU3BhY2Uo
VVJMKCJodHRwOi8vW2ZjMDA6OjFdLyJfcykpKTsKLQotICAgIEVYUEVDVF9GQUxTRShXZWJDb3Jl
Ojppc0xvY2FsSVBBZGRyZXNzU3BhY2UoVVJMKCJodHRwOi8vOC44LjguOC8iX3MpKSk7Ci0gICAg
RVhQRUNUX0ZBTFNFKFdlYkNvcmU6OmlzTG9jYWxJUEFkZHJlc3NTcGFjZShVUkwoImh0dHBzOi8v
d3d3LmV4YW1wbGUuY29tLyJfcykpKTsKLSAgICBFWFBFQ1RfRkFMU0UoV2ViQ29yZTo6aXNMb2Nh
bElQQWRkcmVzc1NwYWNlKFVSTCgiaHR0cDovL1syMDAxOmRiODo6MV0vIl9zKSkpOwotfQotCi0v
LyBUZXN0IGRpZmZlcmVudCBVUkwgc2NoZW1lcwotVEVTVChJUEFkZHJlc3NTcGFjZSwgRGlmZmVy
ZW50VVJMU2NoZW1lcykKLXsKLSAgICAvLyBIVFRQIGFuZCBIVFRQUwotICAgIEVYUEVDVF9FUShX
ZWJDb3JlOjpkZXRlcm1pbmVJUEFkZHJlc3NTcGFjZShVUkwoImh0dHA6Ly8xOTIuMTY4LjEuMS8i
X3MpKSwgV2ViQ29yZTo6SVBBZGRyZXNzU3BhY2U6OkxvY2FsKTsKLSAgICBFWFBFQ1RfRVEoV2Vi
Q29yZTo6ZGV0ZXJtaW5lSVBBZGRyZXNzU3BhY2UoVVJMKCJodHRwczovLzE5Mi4xNjguMS4xLyJf
cykpLCBXZWJDb3JlOjpJUEFkZHJlc3NTcGFjZTo6TG9jYWwpOwotCi0gICAgLy8gT3RoZXIgc2No
ZW1lcwotICAgIEVYUEVDVF9FUShXZWJDb3JlOjpkZXRlcm1pbmVJUEFkZHJlc3NTcGFjZShVUkwo
ImZ0cDovLzE5Mi4xNjguMS4xLyJfcykpLCBXZWJDb3JlOjpJUEFkZHJlc3NTcGFjZTo6TG9jYWwp
OwotICAgIEVYUEVDVF9FUShXZWJDb3JlOjpkZXRlcm1pbmVJUEFkZHJlc3NTcGFjZShVUkwoIndz
Oi8vMTkyLjE2OC4xLjEvIl9zKSksIFdlYkNvcmU6OklQQWRkcmVzc1NwYWNlOjpMb2NhbCk7Ci0g
ICAgRVhQRUNUX0VRKFdlYkNvcmU6OmRldGVybWluZUlQQWRkcmVzc1NwYWNlKFVSTCgid3NzOi8v
MTkyLjE2OC4xLjEvIl9zKSksIFdlYkNvcmU6OklQQWRkcmVzc1NwYWNlOjpMb2NhbCk7Ci0KLSAg
ICAvLyBDdXN0b20gc2NoZW1lcwotICAgIEVYUEVDVF9FUShXZWJDb3JlOjpkZXRlcm1pbmVJUEFk
ZHJlc3NTcGFjZShVUkwoImN1c3RvbTovLzE5Mi4xNjguMS4xLyJfcykpLCBXZWJDb3JlOjpJUEFk
ZHJlc3NTcGFjZTo6TG9jYWwpOwotCi0gICAgLy8gUHVibGljIGFkZHJlc3NlcyB3aXRoIGRpZmZl
cmVudCBzY2hlbWVzCi0gICAgRVhQRUNUX0VRKFdlYkNvcmU6OmRldGVybWluZUlQQWRkcmVzc1Nw
YWNlKFVSTCgiaHR0cDovLzguOC44LjgvIl9zKSksIFdlYkNvcmU6OklQQWRkcmVzc1NwYWNlOjpQ
dWJsaWMpOwotICAgIEVYUEVDVF9FUShXZWJDb3JlOjpkZXRlcm1pbmVJUEFkZHJlc3NTcGFjZShV
UkwoImZ0cDovLzguOC44LjgvIl9zKSksIFdlYkNvcmU6OklQQWRkcmVzc1NwYWNlOjpQdWJsaWMp
OwotfQotCi0vLyBUZXN0IFVSTHMgd2l0aCBwb3J0cwotVEVTVChJUEFkZHJlc3NTcGFjZSwgVVJM
c1dpdGhQb3J0cykKLXsKLSAgICAvLyBMb2NhbCBhZGRyZXNzZXMgd2l0aCB2YXJpb3VzIHBvcnRz
Ci0gICAgRVhQRUNUX0VRKFdlYkNvcmU6OmRldGVybWluZUlQQWRkcmVzc1NwYWNlKFVSTCgiaHR0
cDovLzEyNy4wLjAuMTo4MDgwLyJfcykpLCBXZWJDb3JlOjpJUEFkZHJlc3NTcGFjZTo6TG9jYWwp
OwotICAgIEVYUEVDVF9FUShXZWJDb3JlOjpkZXRlcm1pbmVJUEFkZHJlc3NTcGFjZShVUkwoImh0
dHBzOi8vMTkyLjE2OC4xLjE6NDQzLyJfcykpLCBXZWJDb3JlOjpJUEFkZHJlc3NTcGFjZTo6TG9j
YWwpOwotICAgIEVYUEVDVF9FUShXZWJDb3JlOjpkZXRlcm1pbmVJUEFkZHJlc3NTcGFjZShVUkwo
Imh0dHA6Ly9bOjoxXTozMDAwLyJfcykpLCBXZWJDb3JlOjpJUEFkZHJlc3NTcGFjZTo6TG9jYWwp
OwotICAgIEVYUEVDVF9FUShXZWJDb3JlOjpkZXRlcm1pbmVJUEFkZHJlc3NTcGFjZShVUkwoImh0
dHBzOi8vW2ZjMDA6OjFdOjg0NDMvIl9zKSksIFdlYkNvcmU6OklQQWRkcmVzc1NwYWNlOjpMb2Nh
bCk7Ci0KLSAgICAvLyBQdWJsaWMgYWRkcmVzc2VzIHdpdGggcG9ydHMKLSAgICBFWFBFQ1RfRVEo
V2ViQ29yZTo6ZGV0ZXJtaW5lSVBBZGRyZXNzU3BhY2UoVVJMKCJodHRwOi8vOC44LjguODo1My8i
X3MpKSwgV2ViQ29yZTo6SVBBZGRyZXNzU3BhY2U6OlB1YmxpYyk7Ci0gICAgRVhQRUNUX0VRKFdl
YkNvcmU6OmRldGVybWluZUlQQWRkcmVzc1NwYWNlKFVSTCgiaHR0cHM6Ly9bMjAwMTo0ODYwOjQ4
NjA6Ojg4ODhdOjQ0My8iX3MpKSwgV2ViQ29yZTo6SVBBZGRyZXNzU3BhY2U6OlB1YmxpYyk7Ci19
Ci0KLS8vIFRlc3QgY29tcHJlaGVuc2l2ZSBJUHY0IGJvdW5kYXJ5IGNvbmRpdGlvbnMKLVRFU1Qo
SVBBZGRyZXNzU3BhY2UsIElQdjRCb3VuZGFyeUNvbmRpdGlvbnMpCi17Ci0gICAgLy8gVGVzdCBl
eGFjdCBib3VuZGFyaWVzIGZvciAxNzIuMTYuMC4wLzEyCi0gICAgRVhQRUNUX0VRKFdlYkNvcmU6
OmRldGVybWluZUlQQWRkcmVzc1NwYWNlKFVSTCgiaHR0cDovLzE3Mi4xNi4wLjAvIl9zKSksIFdl
YkNvcmU6OklQQWRkcmVzc1NwYWNlOjpMb2NhbCk7Ci0gICAgRVhQRUNUX0VRKFdlYkNvcmU6OmRl
dGVybWluZUlQQWRkcmVzc1NwYWNlKFVSTCgiaHR0cDovLzE3Mi4zMS4yNTUuMjU1LyJfcykpLCBX
ZWJDb3JlOjpJUEFkZHJlc3NTcGFjZTo6TG9jYWwpOwotICAgIEVYUEVDVF9FUShXZWJDb3JlOjpk
ZXRlcm1pbmVJUEFkZHJlc3NTcGFjZShVUkwoImh0dHA6Ly8xNzIuMTUuMjU1LjI1NS8iX3MpKSwg
V2ViQ29yZTo6SVBBZGRyZXNzU3BhY2U6OlB1YmxpYyk7Ci0gICAgRVhQRUNUX0VRKFdlYkNvcmU6
OmRldGVybWluZUlQQWRkcmVzc1NwYWNlKFVSTCgiaHR0cDovLzE3Mi4zMi4wLjAvIl9zKSksIFdl
YkNvcmU6OklQQWRkcmVzc1NwYWNlOjpQdWJsaWMpOwotCi0gICAgLy8gVGVzdCBleGFjdCBib3Vu
ZGFyaWVzIGZvciAxMDAuNjQuMC4wLzEwCi0gICAgRVhQRUNUX0VRKFdlYkNvcmU6OmRldGVybWlu
ZUlQQWRkcmVzc1NwYWNlKFVSTCgiaHR0cDovLzEwMC42NC4wLjAvIl9zKSksIFdlYkNvcmU6OklQ
QWRkcmVzc1NwYWNlOjpMb2NhbCk7Ci0gICAgRVhQRUNUX0VRKFdlYkNvcmU6OmRldGVybWluZUlQ
QWRkcmVzc1NwYWNlKFVSTCgiaHR0cDovLzEwMC4xMjcuMjU1LjI1NS8iX3MpKSwgV2ViQ29yZTo6
SVBBZGRyZXNzU3BhY2U6OkxvY2FsKTsKLSAgICBFWFBFQ1RfRVEoV2ViQ29yZTo6ZGV0ZXJtaW5l
SVBBZGRyZXNzU3BhY2UoVVJMKCJodHRwOi8vMTAwLjYzLjI1NS4yNTUvIl9zKSksIFdlYkNvcmU6
OklQQWRkcmVzc1NwYWNlOjpQdWJsaWMpOwotICAgIEVYUEVDVF9FUShXZWJDb3JlOjpkZXRlcm1p
bmVJUEFkZHJlc3NTcGFjZShVUkwoImh0dHA6Ly8xMDAuMTI4LjAuMC8iX3MpKSwgV2ViQ29yZTo6
SVBBZGRyZXNzU3BhY2U6OlB1YmxpYyk7Ci0KLSAgICAvLyBUZXN0IGV4YWN0IGJvdW5kYXJpZXMg
Zm9yIDE5OC4xOC4wLjAvMTUKLSAgICBFWFBFQ1RfRVEoV2ViQ29yZTo6ZGV0ZXJtaW5lSVBBZGRy
ZXNzU3BhY2UoVVJMKCJodHRwOi8vMTk4LjE4LjAuMC8iX3MpKSwgV2ViQ29yZTo6SVBBZGRyZXNz
U3BhY2U6OkxvY2FsKTsKLSAgICBFWFBFQ1RfRVEoV2ViQ29yZTo6ZGV0ZXJtaW5lSVBBZGRyZXNz
U3BhY2UoVVJMKCJodHRwOi8vMTk4LjE5LjI1NS4yNTUvIl9zKSksIFdlYkNvcmU6OklQQWRkcmVz
c1NwYWNlOjpMb2NhbCk7Ci0gICAgRVhQRUNUX0VRKFdlYkNvcmU6OmRldGVybWluZUlQQWRkcmVz
c1NwYWNlKFVSTCgiaHR0cDovLzE5OC4xNy4yNTUuMjU1LyJfcykpLCBXZWJDb3JlOjpJUEFkZHJl
c3NTcGFjZTo6UHVibGljKTsKLSAgICBFWFBFQ1RfRVEoV2ViQ29yZTo6ZGV0ZXJtaW5lSVBBZGRy
ZXNzU3BhY2UoVVJMKCJodHRwOi8vMTk4LjIwLjAuMC8iX3MpKSwgV2ViQ29yZTo6SVBBZGRyZXNz
U3BhY2U6OlB1YmxpYyk7Ci19Ci0KLX0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4
cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMWMyM2M4ZGYx
MzdjLi4yZDQyMDgzNTQ4YTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlv
bnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTQyMSw3ICsxNDIxLDYg
QEAgd2Via2l0Lm9yZy9iLzI0NzI4MyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL21ldGFkYXRhL2dlbmVyYXRlZC9jc3MKICMgRmV0Y2ggZmVhdHVyZXMgdGhhdCBhcmUgbm90
IGltcGxlbWVudGVkLgogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9jb3Ji
IFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3NlYy1tZXRh
ZGF0YSBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9wcml2
YXRlLW5ldHdvcmstYWNjZXNzL21peGVkLWNvbnRlbnQtZmV0Y2gudGVudGF0aXZlLmh0dHBzLndp
bmRvdy5odG1sIFsgU2tpcCBdCiAKICMgVGhlc2UgZmV0Y2ggdGVzdHMgdGltZSBvdXQgb24gcG9y
dHMgd2l0aG91dCB3ZWItcGxhdGZvcm0udGVzdCBkb21haW4gd29ya2luZyAobm90IGdsaWIpLgog
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcmVxdWVzdC9kZXN0aW5h
dGlvbi9mZXRjaC1kZXN0aW5hdGlvbi5odHRwcy5odG1sIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pcGMvaW52YWxpZC11cmwtbmV0d29yay1kYXRhLXRhc2stY3Jhc2guaHRtbCBi
L0xheW91dFRlc3RzL2lwYy9pbnZhbGlkLXVybC1uZXR3b3JrLWRhdGEtdGFzay1jcmFzaC5odG1s
CmluZGV4IDY5OWZlZjFjOTE1Yy4uN2RjYWIzOGNlMDU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pcGMvaW52YWxpZC11cmwtbmV0d29yay1kYXRhLXRhc2stY3Jhc2guaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pcGMvaW52YWxpZC11cmwtbmV0d29yay1kYXRhLXRhc2stY3Jhc2guaHRtbApAQCAt
NDIsOCArNDIsNyBAQCBzZXRUaW1lb3V0KGFzeW5jICgpID0+IHsKICAgICAgICAgICAgICAgICAg
ICAgbV91c2VBZHZhbmNlZFByaXZhY3lQcm90ZWN0aW9uczogdHJ1ZSwKICAgICAgICAgICAgICAg
ICAgICAgbV9kaWRGaWx0ZXJMaW5rRGVjb3JhdGlvbjogdHJ1ZSwKICAgICAgICAgICAgICAgICAg
ICAgbV9pc1ByaXZhdGVUb2tlblVzYWdlQnlUaGlyZFBhcnR5QWxsb3dlZDogdHJ1ZSwKLSAgICAg
ICAgICAgICAgICAgICAgbV93YXNTY2hlbWVPcHRpbWlzdGljYWxseVVwZ3JhZGVkOiBmYWxzZSwK
LSAgICAgICAgICAgICAgICAgICAgbV90YXJnZXRBZGRyZXNzU3BhY2U6IDAKKyAgICAgICAgICAg
ICAgICAgICAgbV93YXNTY2hlbWVPcHRpbWlzdGljYWxseVVwZ3JhZGVkOiBmYWxzZQogICAgICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICBjYWNoZVBhcnRpdGlvbjog
JycsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3RhdGlv
bnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNGY0
NGVlMTJkZDI3Li45MGJmNDJiZTZkZjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2dsaWIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL1Rl
c3RFeHBlY3RhdGlvbnMKQEAgLTIxMzYsNiArMjEzNiw3IEBAIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZmV0Y2gvcHJpdmF0ZS1uZXR3b3JrLWFjY2Vzcy94aHIuaHR0cHMud2luZG93
Lmh0CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3ByaXZhdGUtbmV0d29y
ay1hY2Nlc3MvaWZyYW1lLnRlbnRhdGl2ZS5odHRwcy53aW5kb3cuaHRtbCBbIER1bXBKU0NvbnNv
bGVMb2dJblN0ZEVyciBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3By
aXZhdGUtbmV0d29yay1hY2Nlc3MveGhyLndpbmRvdy5odG1sIFsgRHVtcEpTQ29uc29sZUxvZ0lu
U3RkRXJyIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvcHJpdmF0ZS1u
ZXR3b3JrLWFjY2Vzcy9uZXN0ZWQtd29ya2VyLmh0dHBzLndpbmRvdy5odG1sIFsgRHVtcEpTQ29u
c29sZUxvZ0luU3RkRXJyIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
cHJpdmF0ZS1uZXR3b3JrLWFjY2Vzcy9taXhlZC1jb250ZW50LWZldGNoLnRlbnRhdGl2ZS5odHRw
cy53aW5kb3cuaHRtbCBbIER1bXBKU0NvbnNvbGVMb2dJblN0ZEVyciBdCiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL3ByaXZhdGUtbmV0d29yay1hY2Nlc3MvcHJlZmxpZ2h0
LWNhY2hlLmh0dHBzLndpbmRvdy5odG1sIFsgRHVtcEpTQ29uc29sZUxvZ0luU3RkRXJyIF0KIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvcHJpdmF0ZS1uZXR3b3JrLWFjY2Vz
cy93b3JrZXItZmV0Y2gud2luZG93Lmh0bWwgWyBEdW1wSlNDb25zb2xlTG9nSW5TdGRFcnIgXQog
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9wcml2YXRlLW5ldHdvcmstYWNj
ZXNzL3dvcmtlci1mZXRjaC5odHRwcy53aW5kb3cuaHRtbCBbIER1bXBKU0NvbnNvbGVMb2dJblN0
ZEVyciBdCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>