<?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>234565</bug_id>
          
          <creation_ts>2021-12-21 09:09:58 -0800</creation_ts>
          <short_desc>PCM tests crashing with &apos;unlink&apos; errors</short_desc>
          <delta_ts>2021-12-22 14:25:08 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kate Cheney">katherine_cheney</reporter>
          <assigned_to name="Kate Cheney">katherine_cheney</assigned_to>
          <cc>achristensen</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wilander</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1826018</commentid>
    <comment_count>0</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-12-21 09:09:58 -0800</bug_when>
    <thetext>PCM tests are crashing in various places with file unlink errors, which usually occur when trying to delete a database that is still open.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826019</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-21 09:10:18 -0800</bug_when>
    <thetext>&lt;rdar://problem/86771766&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826021</commentid>
    <comment_count>2</comment_count>
      <attachid>447723</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-12-21 09:20:28 -0800</bug_when>
    <thetext>Created attachment 447723
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826064</commentid>
    <comment_count>3</comment_count>
      <attachid>447737</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-12-21 11:26:11 -0800</bug_when>
    <thetext>Created attachment 447737
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826121</commentid>
    <comment_count>4</comment_count>
      <attachid>447737</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-12-21 14:44:12 -0800</bug_when>
    <thetext>Comment on attachment 447737
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=447737&amp;action=review

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/PrivateClickMeasurement.mm:323
&gt; +        EXPECT_FALSE([defaultFileManager fileExistsAtPath:itpRoot]);

This isn&apos;t necessary.  If we exited the while loop, we know it is false.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826380</commentid>
    <comment_count>5</comment_count>
      <attachid>447828</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-12-22 13:23:36 -0800</bug_when>
    <thetext>Created attachment 447828
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826399</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-22 14:25:06 -0800</bug_when>
    <thetext>Committed r287371 (245512@main): &lt;https://commits.webkit.org/245512@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 447828.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447723</attachid>
            <date>2021-12-21 09:20:28 -0800</date>
            <delta_ts>2021-12-21 11:26:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234565-20211221122027.patch</filename>
            <type>text/plain</type>
            <size>32510</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3Mjc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGM3MDIzYTMzN2Y0NTYzNjk0
MjhkZjc3NTNmODNhZjk2OWI4YTk4Y2YuLmU4ODIzOTk5NWE0M2ZiZTVkZDc1Nzg0ZThjNTQ0YmZl
YWVlMGQ1MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDkgQEAKKzIwMjEtMTItMjEgIEthdGUgQ2hl
bmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgUENNIHRlc3RzIGNy
YXNoaW5nIHdpdGggJ3VubGluaycgZXJyb3JzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ1NjUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg2Nzcx
NzY2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENs
b3NlIFBDTSBhbmQgSVRQIGRhdGFiYXNlcyBiZWZvcmUgZGVsZXRpbmcgdGhlaXIgZGF0YWJhc2Ug
ZmlsZXMgaW4KKyAgICAgICAgQVBJIHRlc3RpbmcuIFRoaXMgYWRkcyAyIG5ldyBTUElzIG9uIFdL
V2Vic2l0ZURhdGFTdG9yZSB0byBjbG9zZSB0aGUKKyAgICAgICAgcmVzcGVjdGl2ZSBkYXRhYmFz
ZXMuIEl0IGFsc28gYWRkcmVzc2VzIHRoZSByZW5hbWluZyBGSVhNRSBmb3IKKyAgICAgICAgTmV0
d29ya1Byb2Nlc3M6OnNpbXVsYXRlUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTZXNzaW9uUmVzdGFy
dC4KKworICAgICAgICBObyBuZXcgdGVzdHMuIFRoaXMgd2lsbCBmaXggZXhpc3RpbmcgY3Jhc2hp
bmcgUENNIEFQSSB0ZXN0cy4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9j
ZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OmNsb3NlSVRQRGF0YWJh
c2UpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6Y2xvc2VQQ01EYXRhYmFzZSk6
CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpzaW11bGF0ZVByaXZhdGVDbGlja01l
YXN1cmVtZW50U2Vzc2lvblJlc3RhcnQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vz
czo6c2ltdWxhdGVSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU2Vzc2lvblJlc3RhcnQpOiBEZWxldGVk
LgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6CisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3Jr
U2Vzc2lvbjo6ZGVzdHJveVByaXZhdGVDbGlja01lYXN1cmVtZW50U3RvcmUpOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrU2Vzc2lvbjo6c2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBcHBCdW5k
bGVJREZvclRlc3RpbmcpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrU2Vzc2lvbjo6cmVjcmVh
dGVQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFN0b3JlKTogUmVuYW1lZC4KKyAgICAgICAgUmVuYW1l
ZCB0byBiZSBtb3JlIGFjY3VyYXRlLiBUaGlzIGZ1bmN0aW9uIG9ubHkgZGVsZXRlcyB0aGUgZGF0
YWJhc2UsCisgICAgICAgIHRoZW4gdGhlIGNhbGwgaW4gdGhlIGNvbXBsZXRpb24gaGFuZGxlciBy
ZWNyZWF0ZXMgaXQuIFRoaXMgYWxzbyBtYWtlcworICAgICAgICBpdCBtb3JlIGNsZWFyIHdoZW4g
d2UgcmV1c2UgaXQgdG8gY2xvc2UgdGhlIGRhdGFiYXNlLgorCisgICAgICAgICogTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Nlc3Npb24uaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdl
LmNwcDoKKyAgICAgICAgKFdLUGFnZVNpbXVsYXRlUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTZXNz
aW9uUmVzdGFydCk6CisgICAgICAgIChXS1BhZ2VTaW11bGF0ZVJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NTZXNzaW9uUmVzdGFydCk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dL
UGFnZVByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURh
dGFTdG9yZS5tbToKKyAgICAgICAgKC1bV0tXZWJzaXRlRGF0YVN0b3JlIF9jbG9zZURhdGFiYXNl
czpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZVBy
aXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZVByb3h5OjpzaW11bGF0ZVByaXZhdGVDbGlja01lYXN1cmVtZW50U2Vz
c2lvblJlc3RhcnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnNpbXVsYXRlUmVz
b3VyY2VMb2FkU3RhdGlzdGljc1Nlc3Npb25SZXN0YXJ0KTogRGVsZXRlZC4KKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYnNpdGVEYXRh
L1dlYnNpdGVEYXRhU3RvcmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3Jl
OjpjbG9zZURhdGFiYXNlcyk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNp
dGVEYXRhU3RvcmUuaDoKKwogMjAyMS0xMi0yMCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVo
QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc29tZSBtaXNzaW5nIEFQSSBhdmFpbGFiaWxpdHkg
bWFjcm9zIGFyb3VuZCBzb21lIFdlYlhSIFNQSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAppbmRleCA5MzZiNDIzY2VkN2NiOGI2MjUzYWFlYWYz
MDZjMWRhZGE4OWRjN2JkLi4yNmJkMTA3MTk5NGIzZjgyN2JkN2Q1OTc0NTM5YWYxNDljMTYyMmNh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNw
cApAQCAtMTk4OCw2ICsxOTg4LDE3IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6OnJlZ2lzdHJhYmxl
RG9tYWluc1dpdGhXZWJzaXRlRGF0YShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsCiAgICAgICAg
IH0pOwogICAgIH0KIH0KKwordm9pZCBOZXR3b3JrUHJvY2Vzczo6Y2xvc2VJVFBEYXRhYmFzZShQ
QUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21w
bGV0aW9uSGFuZGxlcikKK3sKKyAgICBpZiAoYXV0byogc2Vzc2lvbiA9IG5ldHdvcmtTZXNzaW9u
KHNlc3Npb25JRCkpIHsKKyAgICAgICAgc2Vzc2lvbi0+ZGVzdHJveVJlc291cmNlTG9hZFN0YXRp
c3RpY3MoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKK30KKwogI2VuZGlmIC8vIEVOQUJMRShJTlRF
TExJR0VOVF9UUkFDS0lOR19QUkVWRU5USU9OKQogCiB2b2lkIE5ldHdvcmtQcm9jZXNzOjpkb3du
bG9hZFJlcXVlc3QoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBEb3dubG9hZElEIGRvd25sb2Fk
SUQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgc3RkOjpvcHRpb25hbDxOYXZpZ2F0
aW5nVG9BcHBCb3VuZERvbWFpbj4gaXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiwgY29uc3Qg
U3RyaW5nJiBzdWdnZXN0ZWRGaWxlbmFtZSkKQEAgLTI0NDQsMTQgKzI0NTUsMjMgQEAgdm9pZCBO
ZXR3b3JrUHJvY2Vzczo6c2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRPdmVycmlkZVRpbWVyRm9y
VGVzdGluZyhQQUw6OlNlc3MKICAgICBjb21wbGV0aW9uSGFuZGxlcigpOwogfQogCi12b2lkIE5l
dHdvcmtQcm9jZXNzOjpzaW11bGF0ZVJlc291cmNlTG9hZFN0YXRpc3RpY3NTZXNzaW9uUmVzdGFy
dChQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBj
b21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgTmV0d29ya1Byb2Nlc3M6OmNsb3NlUENNRGF0YWJhc2Uo
UEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29t
cGxldGlvbkhhbmRsZXIpCit7CisgICAgaWYgKGF1dG8qIHNlc3Npb24gPSBuZXR3b3JrU2Vzc2lv
bihzZXNzaW9uSUQpKSB7CisgICAgICAgIHNlc3Npb24tPmRlc3Ryb3lQcml2YXRlQ2xpY2tNZWFz
dXJlbWVudFN0b3JlKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7Cit9CisKK3ZvaWQgTmV0d29ya1By
b2Nlc3M6OnNpbXVsYXRlUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTZXNzaW9uUmVzdGFydChQQUw6
OlNlc3Npb25JRCBzZXNzaW9uSUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0
aW9uSGFuZGxlcikKIHsKICAgICBpZiAoIWFsbG93c1ByaXZhdGVDbGlja01lYXN1cmVtZW50VGVz
dEZ1bmN0aW9uYWxpdHkoKSkKICAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKCk7CiAK
LSAgICAvLyBGSVhNRTogUmVuYW1lIHRoaXMgdG8gc2ltdWxhdGVQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudFNlc3Npb25SZXN0YXJ0LgogICAgIGlmIChhdXRvKiBzZXNzaW9uID0gbmV0d29ya1Nlc3Np
b24oc2Vzc2lvbklEKSkgewotICAgICAgICBzZXNzaW9uLT5yZWNyZWF0ZVByaXZhdGVDbGlja01l
YXN1cmVtZW50U3RvcmUoW3Nlc3Npb24gPSBXZWFrUHRyIHsgKnNlc3Npb24gfSwgY29tcGxldGlv
bkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0gKCkgbXV0YWJsZSB7CisgICAg
ICAgIHNlc3Npb24tPmRlc3Ryb3lQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFN0b3JlKFtzZXNzaW9u
ID0gV2Vha1B0ciB7ICpzZXNzaW9uIH0sIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21w
bGV0aW9uSGFuZGxlcildICgpIG11dGFibGUgewogICAgICAgICAgICAgaWYgKHNlc3Npb24pCiAg
ICAgICAgICAgICAgICAgc2Vzc2lvbi0+ZmlyZVByaXZhdGVDbGlja01lYXN1cmVtZW50VGltZXJJ
bW1lZGlhdGVseUZvclRlc3RpbmcoKTsKICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
LmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKaW5kZXgg
MDk0OGQ0MmEwMGZmYzJkZGExYWU5MTkyYmJlNmI4ODg2YTc1NTBhZi4uNzg3NzkyN2ExN2M1NTk2
ZWIwM2JkNGFjZjRkNThlNDE4YWM4YmEyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3MuaApAQCAtMjYwLDYgKzI2MCw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIHNldENyb3NzU2l0ZUxvYWRXaXRoTGlua0RlY29yYXRpb25Gb3JUZXN0aW5nKFBBTDo6U2Vz
c2lvbklELCBjb25zdCBSZWdpc3RyYWJsZURvbWFpbiYgZnJvbURvbWFpbiwgY29uc3QgUmVnaXN0
cmFibGVEb21haW4mIHRvRG9tYWluLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAg
IHZvaWQgcmVzZXRDcm9zc1NpdGVMb2Fkc1dpdGhMaW5rRGVjb3JhdGlvbkZvclRlc3RpbmcoUEFM
OjpTZXNzaW9uSUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBoYXNJ
c29sYXRlZFNlc3Npb24oUEFMOjpTZXNzaW9uSUQsIGNvbnN0IFdlYkNvcmU6OlJlZ2lzdHJhYmxl
RG9tYWluJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJikgY29uc3Q7CisgICAgdm9p
ZCBjbG9zZUlUUERhdGFiYXNlKFBBTDo6U2Vzc2lvbklELCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KCk+JiYpOwogI2lmIEVOQUJMRShBUFBfQk9VTkRfRE9NQUlOUykKICAgICB2b2lkIHNldEFwcEJv
dW5kRG9tYWluc0ZvclJlc291cmNlTG9hZFN0YXRpc3RpY3MoUEFMOjpTZXNzaW9uSUQsIEhhc2hT
ZXQ8V2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4+JiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
KT4mJik7CiAjZW5kaWYKQEAgLTMxNyw3ICszMTgsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudE92ZXJyaWRlVGltZXJGb3JUZXN0aW5nKFBBTDo6U2Vzc2lv
bklELCBib29sIHZhbHVlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQg
bWFya0F0dHJpYnV0ZWRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudHNBc0V4cGlyZWRGb3JUZXN0aW5n
KFBBTDo6U2Vzc2lvbklELCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQg
c2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRFcGhlbWVyYWxNZWFzdXJlbWVudEZvclRlc3Rpbmco
UEFMOjpTZXNzaW9uSUQsIGJvb2wgdmFsdWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7
Ci0gICAgdm9pZCBzaW11bGF0ZVJlc291cmNlTG9hZFN0YXRpc3RpY3NTZXNzaW9uUmVzdGFydChQ
QUw6OlNlc3Npb25JRCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKKyAgICB2b2lkIHNp
bXVsYXRlUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTZXNzaW9uUmVzdGFydChQQUw6OlNlc3Npb25J
RCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKKyAgICB2b2lkIGNsb3NlUENNRGF0YWJh
c2UoUEFMOjpTZXNzaW9uSUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9p
ZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRva2VuUHVibGljS2V5VVJMRm9yVGVzdGluZyhQ
QUw6OlNlc3Npb25JRCwgVVJMJiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAg
dm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRva2VuU2lnbmF0dXJlVVJMRm9yVGVzdGlu
ZyhQQUw6OlNlc3Npb25JRCwgVVJMJiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAg
ICAgdm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMc0Zv
clRlc3RpbmcoUEFMOjpTZXNzaW9uSUQsIFVSTCYmIHNvdXJjZVVSTCwgVVJMJiYgZGVzdGluYXRp
b25VUkwsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCBi
ZWY0M2EwMDVjNzE3YzhhODQyMWVlNmZlMDUxNjg3MDMwYTc1MzAzLi42MzdlMTU5ZjE4NjM5M2Jl
YzVjYzA1YWI1YmQ1NzgwYmU4YzZmY2U0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTEzNSw2ICsxMzUs
NyBAQCBtZXNzYWdlcyAtPiBOZXR3b3JrUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAgUmVz
ZXRDcm9zc1NpdGVMb2Fkc1dpdGhMaW5rRGVjb3JhdGlvbkZvclRlc3RpbmcoUEFMOjpTZXNzaW9u
SUQgc2Vzc2lvbklEKSAtPiAoKSBBc3luYwogICAgIERlbGV0ZUNvb2tpZXNGb3JUZXN0aW5nKFBB
TDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4gZG9tYWlu
LCBib29sIGluY2x1ZGVIdHRwT25seUNvb2tpZXMpIC0+ICgpIEFzeW5jCiAgICAgSGFzSXNvbGF0
ZWRTZXNzaW9uKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgV2ViQ29yZTo6UmVnaXN0cmFibGVE
b21haW4gZG9tYWluKSAtPiAoYm9vbCBoYXNJc29sYXRlZFNlc3Npb24pIEFzeW5jCisgICAgQ2xv
c2VJVFBEYXRhYmFzZShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpIC0+ICgpIEFzeW5jCiAjaWYg
RU5BQkxFKEFQUF9CT1VORF9ET01BSU5TKQogICAgIFNldEFwcEJvdW5kRG9tYWluc0ZvclJlc291
cmNlTG9hZFN0YXRpc3RpY3MoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBIYXNoU2V0PFdlYkNv
cmU6OlJlZ2lzdHJhYmxlRG9tYWluPiBhcHBCb3VuZERvbWFpbnMpIC0+ICgpIEFzeW5jCiAjZW5k
aWYKQEAgLTE2NCwxMyArMTY1LDE0IEBAIG1lc3NhZ2VzIC0+IE5ldHdvcmtQcm9jZXNzIExlZ2Fj
eVJlY2VpdmVyIHsKICAgICBTZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE92ZXJyaWRlVGltZXJG
b3JUZXN0aW5nKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgYm9vbCB2YWx1ZSkgLT4gKCkgQXN5
bmMKICAgICBNYXJrQXR0cmlidXRlZFByaXZhdGVDbGlja01lYXN1cmVtZW50c0FzRXhwaXJlZEZv
clRlc3RpbmcoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKSAtPiAoKSBBc3luYwogICAgIFNldFBy
aXZhdGVDbGlja01lYXN1cmVtZW50RXBoZW1lcmFsTWVhc3VyZW1lbnRGb3JUZXN0aW5nKFBBTDo6
U2Vzc2lvbklEIHNlc3Npb25JRCwgYm9vbCB2YWx1ZSkgLT4gKCkgQXN5bmMKLSAgICBTaW11bGF0
ZVJlc291cmNlTG9hZFN0YXRpc3RpY3NTZXNzaW9uUmVzdGFydChQQUw6OlNlc3Npb25JRCBzZXNz
aW9uSUQpIC0+ICgpIEFzeW5jCisgICAgU2ltdWxhdGVQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFNl
c3Npb25SZXN0YXJ0KFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkgLT4gKCkgQXN5bmMKICAgICBT
ZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRva2VuUHVibGljS2V5VVJMRm9yVGVzdGluZyhQQUw6
OlNlc3Npb25JRCBzZXNzaW9uSUQsIFVSTCB1cmwpIC0+ICgpIEFzeW5jCiAgICAgU2V0UHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnRUb2tlblNpZ25hdHVyZVVSTEZvclRlc3RpbmcoUEFMOjpTZXNzaW9u
SUQgc2Vzc2lvbklELCBVUkwgdXJsKSAtPiAoKSBBc3luYwogICAgIFNldFByaXZhdGVDbGlja01l
YXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxzRm9yVGVzdGluZyhQQUw6OlNlc3Npb25JRCBz
ZXNzaW9uSUQsIFVSTCBzb3VyY2VVUkwsIFVSTCBkZXN0aW5hdGlvblVSTCkgLT4gKCkgQXN5bmMK
ICAgICBNYXJrUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRzQXNFeHBpcmVkRm9yVGVzdGluZyhQQUw6
OlNlc3Npb25JRCBzZXNzaW9uSUQpIC0+ICgpIEFzeW5jCiAgICAgU2V0UENNRnJhdWRQcmV2ZW50
aW9uVmFsdWVzRm9yVGVzdGluZyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIFN0cmluZyBzZWNy
ZXRUb2tlbiwgU3RyaW5nIHVubGlua2FibGVUb2tlbiwgU3RyaW5nIHNpZ25hdHVyZSwgU3RyaW5n
IGtleUlEKSAtPiAoKSBBc3luYwogICAgIFNldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXBwQnVu
ZGxlSURGb3JUZXN0aW5nKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgU3RyaW5nIGFwcEJ1bmRs
ZUlERm9yVGVzdGluZykgLT4gKCkgQXN5bmMKKyAgICBDbG9zZVBDTURhdGFiYXNlKFBBTDo6U2Vz
c2lvbklEIHNlc3Npb25JRCkgLT4gKCkgQXN5bmMKIAogICAgIFNldFNlcnZpY2VXb3JrZXJGZXRj
aFRpbWVvdXRGb3JUZXN0aW5nKFNlY29uZHMgc2Vjb25kcykgLT4gKCkgU3luY2hyb25vdXMKICAg
ICBSZXNldFNlcnZpY2VXb3JrZXJGZXRjaFRpbWVvdXRGb3JUZXN0aW5nKCkgLT4gKCkgU3luY2hy
b25vdXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nl
c3Npb24uY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5j
cHAKaW5kZXggNTliMTY3YTc3M2U4MWY1YzRhZmU4NTBlMWRmNDM1NmIxZjk2NmViYS4uODc5MWU3
MjkyN2VkM2UxZDg1Y2M2YWI5Yzk4NzE0YzRjODQ1NDQ2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5jcHAKQEAgLTIxMSw3ICsyMTEsNyBAQCB2
b2lkIE5ldHdvcmtTZXNzaW9uOjppbnZhbGlkYXRlQW5kQ2FuY2VsKCkKICNlbmRpZgogfQogCi12
b2lkIE5ldHdvcmtTZXNzaW9uOjpyZWNyZWF0ZVByaXZhdGVDbGlja01lYXN1cmVtZW50U3RvcmUo
Q29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBOZXR3
b3JrU2Vzc2lvbjo6ZGVzdHJveVByaXZhdGVDbGlja01lYXN1cmVtZW50U3RvcmUoQ29tcGxldGlv
bkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIHByaXZhdGVDbGlj
a01lYXN1cmVtZW50KCkuZGVzdHJveVN0b3JlRm9yVGVzdGluZyhXVEZNb3ZlKGNvbXBsZXRpb25I
YW5kbGVyKSk7CiB9CkBAIC00NjcsOCArNDY3LDYgQEAgdm9pZCBOZXR3b3JrU2Vzc2lvbjo6c2V0
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBcHBCdW5kbGVJREZvclRlc3RpbmcoU3RyaW5nJiYgYXAK
IHsKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBhdXRvIGFwcEJ1bmRsZUlEID0gV2ViQ29yZTo6
YXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKCk7Ci0gICAgaWYgKCFpc1J1bm5pbmdUZXN0KGFw
cEJ1bmRsZUlEKSkKLSAgICAgICAgV1RGTG9nQWx3YXlzKCJpc1J1bm5pbmdUZXN0KCkgcmV0dXJu
ZWQgZmFsc2UuIGFwcEJ1bmRsZUlEIGlzICVzLiIsIGFwcEJ1bmRsZUlELmlzRW1wdHkoKSA/ICJl
bXB0eSIgOiBhcHBCdW5kbGVJRC51dGY4KCkuZGF0YSgpKTsKICAgICBSRUxFQVNFX0FTU0VSVChp
c1J1bm5pbmdUZXN0KFdlYkNvcmU6OmFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcigpKSk7CiAj
ZW5kaWYKICAgICBwcml2YXRlQ2xpY2tNZWFzdXJlbWVudCgpLnNldFByaXZhdGVDbGlja01lYXN1
cmVtZW50QXBwQnVuZGxlSURGb3JUZXN0aW5nKFdURk1vdmUoYXBwQnVuZGxlSURGb3JUZXN0aW5n
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNz
aW9uLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmgKaW5k
ZXggMzZiNTNiMWE0MGRhMTlkZjdjMjRjMjQ5OGQ5MmMwYTYyOWQ2Y2RmYy4uYzJkZTFkYzUzNTYy
YzkwMjZlODhiMWVjOGUyYzk5YzVmZGQ0ZGZlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Nlc3Npb24uaApAQCAtMTE0LDcgKzExNCw3IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHJlZ2lzdGVyTmV0d29ya0RhdGFUYXNrKE5ldHdvcmtEYXRhVGFzayYpOwogICAgIHZv
aWQgdW5yZWdpc3Rlck5ldHdvcmtEYXRhVGFzayhOZXR3b3JrRGF0YVRhc2smKTsKIAotICAgIHZv
aWQgcmVjcmVhdGVQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFN0b3JlKENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoKT4mJik7CisgICAgdm9pZCBkZXN0cm95UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTdG9y
ZShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogCiAjaWYgRU5BQkxFKElOVEVMTElHRU5U
X1RSQUNLSU5HX1BSRVZFTlRJT04pCiAgICAgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3Jl
KiByZXNvdXJjZUxvYWRTdGF0aXN0aWNzKCkgY29uc3QgeyByZXR1cm4gbV9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzLmdldCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQy9XS1BhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNw
cAppbmRleCBiZmQ1ZjMwMTEzYmJiNjg4YjcwMzA1ZDk4NjJiMjExYWIyYWUwNzMzLi41YjJiMmIx
NDhjMmEzZDhiYmU5YzM2YmU0NzhjNzRjMzZmZjRkYjdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9DL1dLUGFnZS5jcHAKQEAgLTMwNjgsMTAgKzMwNjgsMTAgQEAgdm9pZCBXS1BhZ2VT
ZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEVwaGVtZXJhbE1lYXN1cmVtZW50Rm9yVGVzdGluZyhX
S1BhZ2VSZWYgcGEKICAgICB9KTsKIH0KIAotdm9pZCBXS1BhZ2VTaW11bGF0ZVJlc291cmNlTG9h
ZFN0YXRpc3RpY3NTZXNzaW9uUmVzdGFydChXS1BhZ2VSZWYgcGFnZVJlZiwgV0tQYWdlU2ltdWxh
dGVSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU2Vzc2lvblJlc3RhcnRGdW5jdGlvbiBjYWxsYmFjaywg
dm9pZCogY2FsbGJhY2tDb250ZXh0KQordm9pZCBXS1BhZ2VTaW11bGF0ZVByaXZhdGVDbGlja01l
YXN1cmVtZW50U2Vzc2lvblJlc3RhcnQoV0tQYWdlUmVmIHBhZ2VSZWYsIFdLUGFnZVNpbXVsYXRl
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTZXNzaW9uUmVzdGFydEZ1bmN0aW9uIGNhbGxiYWNrLCB2
b2lkKiBjYWxsYmFja0NvbnRleHQpCiB7CiAgICAgQ1JBU0hfSUZfU1VTUEVOREVEOwotICAgIHRv
SW1wbChwYWdlUmVmKS0+c2ltdWxhdGVSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU2Vzc2lvblJlc3Rh
cnQoW2NhbGxiYWNrQ29udGV4dCwgY2FsbGJhY2tdICgpIHsKKyAgICB0b0ltcGwocGFnZVJlZikt
PnNpbXVsYXRlUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTZXNzaW9uUmVzdGFydChbY2FsbGJhY2tD
b250ZXh0LCBjYWxsYmFja10gKCkgewogICAgICAgICBjYWxsYmFjayhjYWxsYmFja0NvbnRleHQp
OwogICAgIH0pOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Mv
V0tQYWdlUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlUHJp
dmF0ZS5oCmluZGV4IDc1MzhlYzAyNmNkOWRhODI4ZWU2ODMwNGYwYWVjYjkyODRhZGFhMmEuLmUy
ZWMyZWQxNGZiNTM3OWUzZWRmOWZjNmNkZWE1ZDE1ZDBjZWYyYmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQcml2YXRlLmgKQEAgLTE4MCw4ICsxODAsOCBAQCB0
eXBlZGVmIHZvaWQgKCpXS1BhZ2VNYXJrQXR0cmlidXRlZFByaXZhdGVDbGlja01lYXN1cmVtZW50
c0FzRXhwaXJlZEZvclRlc3RpbmdGdQogV0tfRVhQT1JUIHZvaWQgV0tQYWdlTWFya0F0dHJpYnV0
ZWRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudHNBc0V4cGlyZWRGb3JUZXN0aW5nKFdLUGFnZVJlZiBw
YWdlLCBXS1BhZ2VNYXJrQXR0cmlidXRlZFByaXZhdGVDbGlja01lYXN1cmVtZW50c0FzRXhwaXJl
ZEZvclRlc3RpbmdGdW5jdGlvbiBjYWxsYmFjaywgdm9pZCogY2FsbGJhY2tDb250ZXh0KTsKIHR5
cGVkZWYgdm9pZCAoKldLUGFnZVNldFByaXZhdGVDbGlja01lYXN1cmVtZW50RXBoZW1lcmFsTWVh
c3VyZW1lbnRGb3JUZXN0aW5nRnVuY3Rpb24pKHZvaWQqIGZ1bmN0aW9uQ29udGV4dCk7CiBXS19F
WFBPUlQgdm9pZCBXS1BhZ2VTZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEVwaGVtZXJhbE1lYXN1
cmVtZW50Rm9yVGVzdGluZyhXS1BhZ2VSZWYgcGFnZSwgYm9vbCB2YWx1ZSwgV0tQYWdlU2V0UHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnRFcGhlbWVyYWxNZWFzdXJlbWVudEZvclRlc3RpbmdGdW5jdGlv
biBjYWxsYmFjaywgdm9pZCogY2FsbGJhY2tDb250ZXh0KTsKLXR5cGVkZWYgdm9pZCAoKldLUGFn
ZVNpbXVsYXRlUmVzb3VyY2VMb2FkU3RhdGlzdGljc1Nlc3Npb25SZXN0YXJ0RnVuY3Rpb24pKHZv
aWQqIGZ1bmN0aW9uQ29udGV4dCk7Ci1XS19FWFBPUlQgdm9pZCBXS1BhZ2VTaW11bGF0ZVJlc291
cmNlTG9hZFN0YXRpc3RpY3NTZXNzaW9uUmVzdGFydChXS1BhZ2VSZWYgcGFnZSwgV0tQYWdlU2lt
dWxhdGVSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU2Vzc2lvblJlc3RhcnRGdW5jdGlvbiBjYWxsYmFj
aywgdm9pZCogY2FsbGJhY2tDb250ZXh0KTsKK3R5cGVkZWYgdm9pZCAoKldLUGFnZVNpbXVsYXRl
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTZXNzaW9uUmVzdGFydEZ1bmN0aW9uKSh2b2lkKiBmdW5j
dGlvbkNvbnRleHQpOworV0tfRVhQT1JUIHZvaWQgV0tQYWdlU2ltdWxhdGVQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudFNlc3Npb25SZXN0YXJ0KFdLUGFnZVJlZiBwYWdlLCBXS1BhZ2VTaW11bGF0ZVBy
aXZhdGVDbGlja01lYXN1cmVtZW50U2Vzc2lvblJlc3RhcnRGdW5jdGlvbiBjYWxsYmFjaywgdm9p
ZCogY2FsbGJhY2tDb250ZXh0KTsKIHR5cGVkZWYgdm9pZCAoKldLUGFnZVNldFByaXZhdGVDbGlj
a01lYXN1cmVtZW50VG9rZW5QdWJsaWNLZXlVUkxGb3JUZXN0aW5nRnVuY3Rpb24pKHZvaWQqIGZ1
bmN0aW9uQ29udGV4dCk7CiBXS19FWFBPUlQgdm9pZCBXS1BhZ2VTZXRQcml2YXRlQ2xpY2tNZWFz
dXJlbWVudFRva2VuUHVibGljS2V5VVJMRm9yVGVzdGluZyhXS1BhZ2VSZWYgcGFnZSwgV0tVUkxS
ZWYgdXJsU3RyaW5nLCBXS1BhZ2VTZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRva2VuUHVibGlj
S2V5VVJMRm9yVGVzdGluZ0Z1bmN0aW9uIGNhbGxiYWNrLCB2b2lkKiBjYWxsYmFja0NvbnRleHQp
OwogdHlwZWRlZiB2b2lkICgqV0tQYWdlU2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRUb2tlblNp
Z25hdHVyZVVSTEZvclRlc3RpbmdGdW5jdGlvbikodm9pZCogZnVuY3Rpb25Db250ZXh0KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRh
U3RvcmUubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0
YVN0b3JlLm1tCmluZGV4IDYyOTY5MDc5ZDlkNTdhNzgzMDc4ODIzNWRkOTE0ODdkM2RiNzIxNWUu
LmY2NTZkMjYxNjU1YjczZWJhMDRiNTBhYWE5ODkyZmFhZTVmMzE4NTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmUubW0KKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZS5t
bQpAQCAtNTM1LDYgKzUzNSwxMyBAQCAtICh2b2lkKV9jbGVhclJlc291cmNlTG9hZFN0YXRpc3Rp
Y3M6KHZvaWQgKF4pKHZvaWQpKWNvbXBsZXRpb25IYW5kbGVyCiAjZW5kaWYKIH0KIAorLSAodm9p
ZClfY2xvc2VEYXRhYmFzZXM6KHZvaWQgKF4pKHZvaWQpKWNvbXBsZXRpb25IYW5kbGVyCit7Cisg
ICAgX3dlYnNpdGVEYXRhU3RvcmUtPmNsb3NlRGF0YWJhc2VzKFtjb21wbGV0aW9uSGFuZGxlciA9
IG1ha2VCbG9ja1B0cihjb21wbGV0aW9uSGFuZGxlcildKCkgeworICAgICAgICBjb21wbGV0aW9u
SGFuZGxlcigpOworICAgIH0pOworfQorCiAtICh2b2lkKV9nZXRSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzRGF0YVN1bW1hcnk6KHZvaWQgKF4pKE5TQXJyYXk8X1dLUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c1RoaXJkUGFydHkgKj4gKikpY29tcGxldGlvbkhhbmRsZXIKIHsKICNpZiBFTkFCTEUoSU5URUxM
SUdFTlRfVFJBQ0tJTkdfUFJFVkVOVElPTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmVQcml2YXRlLmggYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlUHJpdmF0ZS5oCmluZGV4
IDExZjA2ZjI0NGMwODY2MjAzNzU0NWIyNzM5YjZhMjE4NGQ1M2Q3YzIuLjMxYTg1NDA3NDE0ZDRh
NzNlOThiYzQxMWU2MTdmZjhjNDhjZDE4NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmVQcml2YXRlLmgKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZVByaXZhdGUuaApA
QCAtNzQsNiArNzQsNyBAQCB0eXBlZGVmIE5TX09QVElPTlMoTlNVSW50ZWdlciwgX1dLV2Vic2l0
ZURhdGFTdG9yZUZldGNoT3B0aW9ucykgewogLSAodm9pZClfZ2V0UmVzb3VyY2VMb2FkU3RhdGlz
dGljc0RhdGFTdW1tYXJ5Oih2b2lkICheKShOU0FycmF5PF9XS1Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NUaGlyZFBhcnR5ICo+ICopKWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFj
b3MoMTAuMTUuNCksIGlvcygxMy40KSk7CiAtICh2b2lkKV9jbGVhclByZXZhbGVudERvbWFpbjoo
TlNVUkwgKilkb21haW4gY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKHZvaWQpKWNvbXBsZXRp
b25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTAuMTUuNCksIGlvcygxMy40KSk7CiAt
ICh2b2lkKV9jbGVhclJlc291cmNlTG9hZFN0YXRpc3RpY3M6KHZvaWQgKF4pKHZvaWQpKWNvbXBs
ZXRpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTAuMTUuNCksIGlvcygxMy40KSk7
CistICh2b2lkKV9jbG9zZURhdGFiYXNlczoodm9pZCAoXikodm9pZCkpY29tcGxldGlvbkhhbmRs
ZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsK
IC0gKHZvaWQpX2lzUmVsYXRpb25zaGlwT25seUluRGF0YWJhc2VPbmNlOihOU1VSTCAqKWZpcnN0
UGFydHlVUkwgdGhpcmRQYXJ0eTooTlNVUkwgKil0aGlyZFBhcnR5VVJMIGNvbXBsZXRpb25IYW5k
bGVyOih2b2lkICheKShCT09MKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1h
Y29zKDEyLjApLCBpb3MoMTUuMCkpOwogLSAodm9pZClfaXNSZWdpc3RlcmVkQXNTdWJyZXNvdXJj
ZVVuZGVyRmlyc3RQYXJ0eTooTlNVUkwgKilmaXJzdFBhcnR5VVJMIHRoaXJkUGFydHk6KE5TVVJM
ICopdGhpcmRQYXJ0eVVSTCBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoQk9PTCkpY29tcGxl
dGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xNS40KSwgaW9zKDEzLjQpKTsK
IC0gKHZvaWQpX3NldFRoaXJkUGFydHlDb29raWVCbG9ja2luZ01vZGU6KEJPT0wpZW5hYmxlZCBv
bmx5T25TaXRlc1dpdGhvdXRVc2VySW50ZXJhY3Rpb246KEJPT0wpb25seU9uU2l0ZXNXaXRob3V0
VXNlckludGVyYWN0aW9uIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKSh2b2lkKSljb21wbGV0
aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zKDExLjApLCBpb3MoMTQuMCkpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggYmI2ZTZhYTYwOTk3YTBm
N2Y0YjUwNzE1YzVmNjAxNTZiZjI4YjE5Yi4uYmE0Y2UwNzc3NDkwOGQxYWFiYjQzZWU5ZWNjMDVk
N2I5ZWU1ZTMzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBA
IC0xMDQ4NSw5ICsxMDQ4NSw5IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzZXRQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudEVwaGVtZXJhbE1lYXN1cmVtZW50Rm9yVGVzdGluZyhib29sCiAgICAgd2Vic2l0
ZURhdGFTdG9yZSgpLm5ldHdvcmtQcm9jZXNzKCkuc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2Vz
OjpOZXR3b3JrUHJvY2Vzczo6U2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRFcGhlbWVyYWxNZWFz
dXJlbWVudEZvclRlc3RpbmcobV93ZWJzaXRlRGF0YVN0b3JlLT5zZXNzaW9uSUQoKSwgdmFsdWUp
LCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiB9CiAKLXZvaWQgV2ViUGFnZVByb3h5Ojpz
aW11bGF0ZVJlc291cmNlTG9hZFN0YXRpc3RpY3NTZXNzaW9uUmVzdGFydChDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCit2b2lkIFdlYlBhZ2VQcm94eTo6c2lt
dWxhdGVQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFNlc3Npb25SZXN0YXJ0KENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICB3ZWJzaXRlRGF0YVN0b3Jl
KCkubmV0d29ya1Byb2Nlc3MoKS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6Ok5ldHdvcmtQ
cm9jZXNzOjpTaW11bGF0ZVJlc291cmNlTG9hZFN0YXRpc3RpY3NTZXNzaW9uUmVzdGFydChtX3dl
YnNpdGVEYXRhU3RvcmUtPnNlc3Npb25JRCgpKSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikp
OworICAgIHdlYnNpdGVEYXRhU3RvcmUoKS5uZXR3b3JrUHJvY2VzcygpLnNlbmRXaXRoQXN5bmNS
ZXBseShNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3M6OlNpbXVsYXRlUHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnRTZXNzaW9uUmVzdGFydChtX3dlYnNpdGVEYXRhU3RvcmUtPnNlc3Npb25JRCgpKSwgV1RG
TW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogfQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6c2V0UHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnRUb2tlblB1YmxpY0tleVVSTEZvclRlc3RpbmcoY29uc3QgVVJM
JiB1cmwsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggNzk5OTcwZGVkNmE0MjI2YjZh
M2Y4ZDNhM2QzNzk4NWNmNGEwMmEzMS4uNzNmNDEzYmQwZTAxYWJhZjM0MjJjMzMxNWEyNDg3MDky
ZGVlMzU5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTE4MDcs
NyArMTgwNyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFByaXZhdGVDbGlja01lYXN1cmVtZW50
T3ZlcnJpZGVUaW1lckZvclRlc3RpbmcoYm9vbCB2YWx1ZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZCgpPiYmKTsKICAgICB2b2lkIG1hcmtBdHRyaWJ1dGVkUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRz
QXNFeHBpcmVkRm9yVGVzdGluZyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZv
aWQgc2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRFcGhlbWVyYWxNZWFzdXJlbWVudEZvclRlc3Rp
bmcoYm9vbCB2YWx1ZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKLSAgICB2b2lkIHNp
bXVsYXRlUmVzb3VyY2VMb2FkU3RhdGlzdGljc1Nlc3Npb25SZXN0YXJ0KENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoKT4mJik7CisgICAgdm9pZCBzaW11bGF0ZVByaXZhdGVDbGlja01lYXN1cmVtZW50
U2Vzc2lvblJlc3RhcnQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHNl
dFByaXZhdGVDbGlja01lYXN1cmVtZW50VG9rZW5QdWJsaWNLZXlVUkxGb3JUZXN0aW5nKGNvbnN0
IFVSTCYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBzZXRQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudFRva2VuU2lnbmF0dXJlVVJMRm9yVGVzdGluZyhjb25zdCBVUkwmLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgc2V0UHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5nKGNvbnN0IFVSTCYgc291cmNl
VVJMLCBjb25zdCBVUkwmIGRlc3RpbmF0aW9uVVJMLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+
JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vi
c2l0ZURhdGFTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9X
ZWJzaXRlRGF0YVN0b3JlLmNwcAppbmRleCAyNTZiODg3NDAzZGFmNjVkNGJhMWJlNWExOGY0NWVl
ZGVjYjc4N2Q2Li40YjU3NDkxZTAzMzc3Mjk4OTIzNThhYTdhNzcyZWU5ZGFmMjNiZTE2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0
b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRl
RGF0YVN0b3JlLmNwcApAQCAtMTcyMyw2ICsxNzIzLDE3IEBAIHZvaWQgV2Vic2l0ZURhdGFTdG9y
ZTo6c2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnREZWJ1Z01vZGUoYm9vbCBlbmFibGVkKQogICAg
IG5ldHdvcmtQcm9jZXNzKCkuc2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnREZWJ1Z01vZGUoc2Vz
c2lvbklEKCksIGVuYWJsZWQpOwogfQogCit2b2lkIFdlYnNpdGVEYXRhU3RvcmU6OmNsb3NlRGF0
YWJhc2VzKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3sK
KyAgICBhdXRvIGNhbGxiYWNrQWdncmVnYXRvciA9IENhbGxiYWNrQWdncmVnYXRvcjo6Y3JlYXRl
KFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKKworICAgIG5ldHdvcmtQcm9jZXNzKCkuc2Vu
ZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6Q2xvc2VQQ01EYXRhYmFz
ZShtX3Nlc3Npb25JRCksIFtjYWxsYmFja0FnZ3JlZ2F0b3JdIHsgfSk7CisKKyNpZiBFTkFCTEUo
SU5URUxMSUdFTlRfVFJBQ0tJTkdfUFJFVkVOVElPTikKKyAgICBuZXR3b3JrUHJvY2VzcygpLnNl
bmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3M6OkNsb3NlSVRQRGF0YWJh
c2UobV9zZXNzaW9uSUQpLCBbY2FsbGJhY2tBZ2dyZWdhdG9yXSB7IH0pOworI2VuZGlmCit9CisK
ICNpZiBFTkFCTEUoSU5URUxMSUdFTlRfVFJBQ0tJTkdfUFJFVkVOVElPTikKIHZvaWQgV2Vic2l0
ZURhdGFTdG9yZTo6bG9nVGVzdGluZ0V2ZW50KGNvbnN0IFN0cmluZyYgZXZlbnQpCiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0
b3JlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0
b3JlLmgKaW5kZXggMTQ3YTBiOWJhNzhkODcxYjdhNzZhNzQ5YTcyNDE3NTVmM2Q3NzQ0ZC4uN2M1
NDAxNmY4YTViMDYxZWQxODFhYzg4ODg3M2UzOWQzNzhlZDQ1NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaApAQCAt
MjM3LDYgKzIzNyw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzSXRwU3RhdGVFeHBsaWNpdGx5U2V0
KCkgY29uc3QgeyByZXR1cm4gbV9pc0l0cFN0YXRlRXhwbGljaXRseVNldDsgfQogICAgIHZvaWQg
dXNlRXhwbGljaXRJVFBTdGF0ZSgpIHsgbV9pc0l0cFN0YXRlRXhwbGljaXRseVNldCA9IHRydWU7
IH0KICNlbmRpZgorICAgIHZvaWQgY2xvc2VEYXRhYmFzZXMoQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZCgpPiYmKTsKICAgICB2b2lkIHN5bmNMb2NhbFN0b3JhZ2UoQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZCgpPiYmKTsKICAgICB2b2lkIHNldENhY2hlTWF4QWdlQ2FwRm9yUHJldmFsZW50UmVzb3VyY2Vz
KFNlY29uZHMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCByZXNldENh
Y2hlTWF4QWdlQ2FwRm9yUHJldmFsZW50UmVzb3VyY2VzKENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
KT4mJik7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5k
ZXggY2I0YzgyNmZiOGM0MDE2YmNmYjgwOTJmODZkMjU3NDMzNjdlZDQ2ZS4uMTY0NGU1OTRhNzli
YmNmMDU0YTI1MGUxNmY2MzNmYjE1YWFmN2VlNSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9n
CisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIxLTEyLTIxICBLYXRl
IENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgorCisgICAgICAgIFBDTSB0ZXN0
cyBjcmFzaGluZyB3aXRoICd1bmxpbmsnIGVycm9ycworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0NTY1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84
Njc3MTc2Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnQubW06CisgICAgICAgIChjbGVhblVwKToKKyAgICAgICAgQ2xvc2UgdGhlIGRhdGFiYXNlcyBi
ZWZvcmUgcmVtb3ZpbmcgdGhlIGZpbGVzLgorCisgICAgICAgIChURVNUKToKKyAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsOgor
ICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHA6
CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6OnNpbXVsYXRlUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnRTZXNzaW9uUmVzdGFydCk6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6OnNpbXVsYXRlUmVz
b3VyY2VMb2FkU3RhdGlzdGljc1Nlc3Npb25SZXN0YXJ0KTogRGVsZXRlZC4KKyAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaDoKKyAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdENv
bnRyb2xsZXI6OnNpbXVsYXRlUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTZXNzaW9uUmVzdGFydCk6
CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpzaW11bGF0ZVJlc291cmNlTG9hZFN0YXRp
c3RpY3NTZXNzaW9uUmVzdGFydCk6IERlbGV0ZWQuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5l
ci9UZXN0Q29udHJvbGxlci5oOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdEludm9j
YXRpb24uY3BwOgorICAgICAgICAoV1RSOjpUZXN0SW52b2NhdGlvbjo6ZGlkUmVjZWl2ZVN5bmNo
cm9ub3VzTWVzc2FnZUZyb21JbmplY3RlZEJ1bmRsZSk6CisgICAgICAgIFJlbmFtZS4KKwogMjAy
MS0xMS0wMyAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hlbmV5QGFwcGxlLmNvbT4KIAogICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyMTY2CmRpZmYg
LS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1ByaXZhdGVDbGlj
a01lYXN1cmVtZW50Lm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Q
cml2YXRlQ2xpY2tNZWFzdXJlbWVudC5tbQppbmRleCA1MmFiNWM0YjcxNDdjZmZjMjE4ZDlhM2Ey
YTU1MzEwNzc5MzllMzI5Li5hYTkwOGRmMDIxNWRjZThlOTMxNzI5ZGFhNzg0MTkzMWRiZWI1MWIy
IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1ByaXZh
dGVDbGlja01lYXN1cmVtZW50Lm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Q29jb2EvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQubW0KQEAgLTMxMSwxNCArMzExLDE5IEBA
IHN0YXRpYyBOU1N0cmluZyAqZW1wdHlQY21EQlBhdGgoKQogICAgIHJldHVybiBmaWxlVVJMLnBh
dGg7CiB9CiAKLXN0YXRpYyB2b2lkIGNsZWFuVXAoKQorc3RhdGljIHZvaWQgY2xlYW5VcChSZXRh
aW5QdHI8V0tXZWJWaWV3PiB3ZWJWaWV3KQogewotICAgIE5TRmlsZU1hbmFnZXIgKmRlZmF1bHRG
aWxlTWFuYWdlciA9IE5TRmlsZU1hbmFnZXIuZGVmYXVsdE1hbmFnZXI7Ci0gICAgTlNTdHJpbmcg
Kml0cFJvb3QgPSBXS1dlYnNpdGVEYXRhU3RvcmUuZGVmYXVsdERhdGFTdG9yZS5fY29uZmlndXJh
dGlvbi5fcmVzb3VyY2VMb2FkU3RhdGlzdGljc0RpcmVjdG9yeS5wYXRoOwotICAgIFtkZWZhdWx0
RmlsZU1hbmFnZXIgcmVtb3ZlSXRlbUF0UGF0aDppdHBSb290IGVycm9yOm5pbF07Ci0gICAgd2hp
bGUgKFtkZWZhdWx0RmlsZU1hbmFnZXIgZmlsZUV4aXN0c0F0UGF0aDppdHBSb290XSkKLSAgICAg
ICAgdXNsZWVwKDEwMDAwKTsKLSAgICBFWFBFQ1RfRkFMU0UoW2RlZmF1bHRGaWxlTWFuYWdlciBm
aWxlRXhpc3RzQXRQYXRoOml0cFJvb3RdKTsKKyAgICBzdGF0aWMgYm9vbCBpc0RvbmUgPSBmYWxz
ZTsKKyAgICBbW3dlYlZpZXcuZ2V0KCkgY29uZmlndXJhdGlvbl0ud2Vic2l0ZURhdGFTdG9yZSBf
Y2xvc2VEYXRhYmFzZXM6XnsKKyAgICAgICAgTlNGaWxlTWFuYWdlciAqZGVmYXVsdEZpbGVNYW5h
Z2VyID0gTlNGaWxlTWFuYWdlci5kZWZhdWx0TWFuYWdlcjsKKyAgICAgICAgTlNTdHJpbmcgKml0
cFJvb3QgPSBXS1dlYnNpdGVEYXRhU3RvcmUuZGVmYXVsdERhdGFTdG9yZS5fY29uZmlndXJhdGlv
bi5fcmVzb3VyY2VMb2FkU3RhdGlzdGljc0RpcmVjdG9yeS5wYXRoOworICAgICAgICBbZGVmYXVs
dEZpbGVNYW5hZ2VyIHJlbW92ZUl0ZW1BdFBhdGg6aXRwUm9vdCBlcnJvcjpuaWxdOworICAgICAg
ICB3aGlsZSAoW2RlZmF1bHRGaWxlTWFuYWdlciBmaWxlRXhpc3RzQXRQYXRoOml0cFJvb3RdKQor
ICAgICAgICAgICAgdXNsZWVwKDEwMDAwKTsKKyAgICAgICAgRVhQRUNUX0ZBTFNFKFtkZWZhdWx0
RmlsZU1hbmFnZXIgZmlsZUV4aXN0c0F0UGF0aDppdHBSb290XSk7CisgICAgICAgIGlzRG9uZSA9
IHRydWU7CisgICAgfV07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZpc0RvbmUpOwog
fQogCiBzdGF0aWMgdm9pZCBjcmVhdGVBbmRQb3B1bGF0ZU9ic2VydmVkRG9tYWluVGFibGUoV2Vi
Q29yZTo6U1FMaXRlRGF0YWJhc2UmIGRhdGFiYXNlKQpAQCAtMzg0LDcgKzM4OSw3IEBAIFRFU1Qo
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsIE1pZ3JhdGVGcm9tUmVzb3VyY2VMb2FkU3RhdGlzdGlj
czEpCiAgICAgc2V0VXBGcm9tUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlKGFkZFVuYXR0
cmlidXRlZFBDTXYxLCBhZGRBdHRyaWJ1dGVkUENNdjEpOwogICAgIGF1dG8gd2ViVmlldyA9IHdl
YlZpZXdXaXRoUmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWRJbk5ldHdvcmtQcm9jZXNzKCk7
CiAgICAgcG9sbFVudGlsUENNSXNNaWdyYXRlZCh3ZWJWaWV3LmdldCgpLCBNaWdyYXRpbmdGcm9t
UmVzb3VyY2VMb2FkU3RhdGlzdGljczo6WWVzLCBVc2luZ0Rlc3RpbmF0aW9uVG9rZW46Ok5vKTsK
LSAgICBjbGVhblVwKCk7CisgICAgY2xlYW5VcCh3ZWJWaWV3KTsKIH0KIAogVEVTVChQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudCwgTWlncmF0ZUZyb21SZXNvdXJjZUxvYWRTdGF0aXN0aWNzMikKQEAg
LTM5Miw3ICszOTcsNyBAQCBURVNUKFByaXZhdGVDbGlja01lYXN1cmVtZW50LCBNaWdyYXRlRnJv
bVJlc291cmNlTG9hZFN0YXRpc3RpY3MyKQogICAgIHNldFVwRnJvbVJlc291cmNlTG9hZFN0YXRp
c3RpY3NEYXRhYmFzZShhZGRVbmF0dHJpYnV0ZWRQQ012MiwgYWRkQXR0cmlidXRlZFBDTXYyKTsK
ICAgICBhdXRvIHdlYlZpZXcgPSB3ZWJWaWV3V2l0aFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFi
bGVkSW5OZXR3b3JrUHJvY2VzcygpOwogICAgIHBvbGxVbnRpbFBDTUlzTWlncmF0ZWQod2ViVmll
dy5nZXQoKSwgTWlncmF0aW5nRnJvbVJlc291cmNlTG9hZFN0YXRpc3RpY3M6OlllcywgVXNpbmdE
ZXN0aW5hdGlvblRva2VuOjpObyk7Ci0gICAgY2xlYW5VcCgpOworICAgIGNsZWFuVXAod2ViVmll
dyk7CiB9CiAKIFRFU1QoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsIE1pZ3JhdGVGcm9tUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljczMpCkBAIC00MDAsNyArNDA1LDcgQEAgVEVTVChQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudCwgTWlncmF0ZUZyb21SZXNvdXJjZUxvYWRTdGF0aXN0aWNzMykKICAgICBzZXRV
cEZyb21SZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2UoYWRkVW5hdHRyaWJ1dGVkUENNdjMs
IGFkZEF0dHJpYnV0ZWRQQ012Myk7CiAgICAgYXV0byB3ZWJWaWV3ID0gd2ViVmlld1dpdGhSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZEluTmV0d29ya1Byb2Nlc3MoKTsKICAgICBwb2xsVW50
aWxQQ01Jc01pZ3JhdGVkKHdlYlZpZXcuZ2V0KCksIE1pZ3JhdGluZ0Zyb21SZXNvdXJjZUxvYWRT
dGF0aXN0aWNzOjpZZXMsIFVzaW5nRGVzdGluYXRpb25Ub2tlbjo6Tm8pOwotICAgIGNsZWFuVXAo
KTsKKyAgICBjbGVhblVwKHdlYlZpZXcpOwogfQogCiBURVNUKFByaXZhdGVDbGlja01lYXN1cmVt
ZW50LCBNaWdyYXRlRnJvbVBDTTEpCkBAIC00MDgsNyArNDEzLDcgQEAgVEVTVChQcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudCwgTWlncmF0ZUZyb21QQ00xKQogICAgIHNldFVwRnJvbVBDTURhdGFiYXNl
KGFkZFVuYXR0cmlidXRlZFBDTXY0LCBhZGRBdHRyaWJ1dGVkUENNdjQpOwogICAgIGF1dG8gd2Vi
VmlldyA9IHdlYlZpZXdXaXRoUmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWRJbk5ldHdvcmtQ
cm9jZXNzKCk7CiAgICAgcG9sbFVudGlsUENNSXNNaWdyYXRlZCh3ZWJWaWV3LmdldCgpLCBNaWdy
YXRpbmdGcm9tUmVzb3VyY2VMb2FkU3RhdGlzdGljczo6Tm8sIFVzaW5nRGVzdGluYXRpb25Ub2tl
bjo6Tm8pOwotICAgIGNsZWFuVXAoKTsKKyAgICBjbGVhblVwKHdlYlZpZXcpOwogfQogCiBURVNU
KFByaXZhdGVDbGlja01lYXN1cmVtZW50LCBNaWdyYXRlV2l0aERlc3RpbmF0aW9uVG9rZW4pCkBA
IC00MTYsNSArNDIxLDUgQEAgVEVTVChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgTWlncmF0ZVdp
dGhEZXN0aW5hdGlvblRva2VuKQogICAgIHNldFVwRnJvbVBDTURhdGFiYXNlKGFkZFVuYXR0cmli
dXRlZFBDTXY0LCBhZGRBdHRyaWJ1dGVkUENNdjUpOwogICAgIGF1dG8gd2ViVmlldyA9IHdlYlZp
ZXdXaXRoUmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWRJbk5ldHdvcmtQcm9jZXNzKCk7CiAg
ICAgcG9sbFVudGlsUENNSXNNaWdyYXRlZCh3ZWJWaWV3LmdldCgpLCBNaWdyYXRpbmdGcm9tUmVz
b3VyY2VMb2FkU3RhdGlzdGljczo6Tm8sIFVzaW5nRGVzdGluYXRpb25Ub2tlbjo6WWVzKTsKLSAg
ICBjbGVhblVwKCk7CisgICAgY2xlYW5VcCh3ZWJWaWV3KTsKIH0KZGlmZiAtLWdpdCBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwg
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5u
ZXIuaWRsCmluZGV4IDVmODUyOTkyMDYzNzMxZTBjMjEyOGIyMGJiZWY2ZmI3NzBkZWNiOTUuLjhk
ZTY4MWIyMjI0MTA5MDgxYTQ5N2UxNDE0ZmYwYjU5ZjY3OTc0ZGEgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwK
KysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0
UnVubmVyLmlkbApAQCAtNDEyLDcgKzQxMiw3IEBAIGludGVyZmFjZSBUZXN0UnVubmVyIHsKICAg
ICB1bmRlZmluZWQgc2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRPdmVycmlkZVRpbWVyRm9yVGVz
dGluZyhib29sZWFuIHZhbHVlKTsKICAgICB1bmRlZmluZWQgbWFya0F0dHJpYnV0ZWRQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudHNBc0V4cGlyZWRGb3JUZXN0aW5nKCk7CiAgICAgdW5kZWZpbmVkIHNl
dFByaXZhdGVDbGlja01lYXN1cmVtZW50RXBoZW1lcmFsTWVhc3VyZW1lbnRGb3JUZXN0aW5nKGJv
b2xlYW4gdmFsdWUpOwotICAgIHVuZGVmaW5lZCBzaW11bGF0ZVJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NTZXNzaW9uUmVzdGFydCgpOworICAgIHVuZGVmaW5lZCBzaW11bGF0ZVByaXZhdGVDbGlja01l
YXN1cmVtZW50U2Vzc2lvblJlc3RhcnQoKTsKICAgICB1bmRlZmluZWQgc2V0UHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnRUb2tlblB1YmxpY0tleVVSTEZvclRlc3RpbmcoRE9NU3RyaW5nIHVybCk7CiAg
ICAgdW5kZWZpbmVkIHNldFByaXZhdGVDbGlja01lYXN1cmVtZW50VG9rZW5TaWduYXR1cmVVUkxG
b3JUZXN0aW5nKERPTVN0cmluZyB1cmwpOwogICAgIHVuZGVmaW5lZCBzZXRQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3RpbmcoRE9NU3RyaW5nIHNvdXJj
ZVVSTFN0cmluZywgRE9NU3RyaW5nIGRlc3RpbmF0aW9uVVJMU3RyaW5nKTsKZGlmZiAtLWdpdCBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAgYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCmluZGV4
IGEzMjgwZGYxNmNkNDRmNmQwOTgwMDhlNjE5MmE0YzExMzA0YWUyMmEuLjY3ZDU2MmEwYTQyZGVm
ZGRkZjE5NWU2OTgzNTY4ODM0ODJhMzc0OTIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcApAQCAtMjA4NCw5ICsyMDg0LDkg
QEAgdm9pZCBUZXN0UnVubmVyOjpzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEVwaGVtZXJhbE1l
YXN1cmVtZW50Rm9yVGVzdGluZyhib29sIHYKICAgICBwb3N0U3luY2hyb25vdXNQYWdlTWVzc2Fn
ZSgiU2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRFcGhlbWVyYWxNZWFzdXJlbWVudEZvclRlc3Rp
bmciLCB2YWx1ZSk7CiB9CiAKLXZvaWQgVGVzdFJ1bm5lcjo6c2ltdWxhdGVSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzU2Vzc2lvblJlc3RhcnQoKQordm9pZCBUZXN0UnVubmVyOjpzaW11bGF0ZVByaXZh
dGVDbGlja01lYXN1cmVtZW50U2Vzc2lvblJlc3RhcnQoKQogewotICAgIHBvc3RTeW5jaHJvbm91
c1BhZ2VNZXNzYWdlKCJTaW11bGF0ZVJlc291cmNlTG9hZFN0YXRpc3RpY3NTZXNzaW9uUmVzdGFy
dCIpOworICAgIHBvc3RTeW5jaHJvbm91c1BhZ2VNZXNzYWdlKCJTaW11bGF0ZVByaXZhdGVDbGlj
a01lYXN1cmVtZW50U2Vzc2lvblJlc3RhcnQiKTsKIH0KIAogdm9pZCBUZXN0UnVubmVyOjpzZXRQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudFRva2VuUHVibGljS2V5VVJMRm9yVGVzdGluZyhKU1N0cmlu
Z1JlZiB1cmxTdHJpbmcpCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL1Rlc3RSdW5uZXIuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvVGVzdFJ1bm5lci5oCmluZGV4IDVjNmE5NmNhZTAxZjU5MjU1NDViOGYwNjBlYWZkZjJk
NmJlMWJmMjUuLjJiNzhjMWRhOTZiMThhM2I1ZWExYTQ3ZTBiZTVhNTcxMmZjOTk0ZDUgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5o
CisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5o
CkBAIC01MzUsNyArNTM1LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0UHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnRFcGhlbWVyYWxNZWFzdXJlbWVudEZvclRlc3RpbmcoYm9vbCB2YWx1ZSk7CiAgICAg
dm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEZyYXVkUHJldmVudGlvblZhbHVlc0ZvclRl
c3RpbmcoSlNTdHJpbmdSZWYgdW5saW5rYWJsZVRva2VuLCBKU1N0cmluZ1JlZiBzZWNyZXRUb2tl
biwgSlNTdHJpbmdSZWYgc2lnbmF0dXJlLCBKU1N0cmluZ1JlZiBrZXlJRCk7CiAgICAgdm9pZCBz
ZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEFwcEJ1bmRsZUlERm9yVGVzdGluZyhKU1N0cmluZ1Jl
Zik7Ci0gICAgdm9pZCBzaW11bGF0ZVJlc291cmNlTG9hZFN0YXRpc3RpY3NTZXNzaW9uUmVzdGFy
dCgpOworICAgIHZvaWQgc2ltdWxhdGVQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFNlc3Npb25SZXN0
YXJ0KCk7CiAKICAgICB2b2lkIHNldElzU3BlZWNoUmVjb2duaXRpb25QZXJtaXNzaW9uR3JhbnRl
ZChib29sKTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJv
bGxlci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAppbmRl
eCBhYTFkNWJkZTE0YmViMzdlZTU0ZTkyYmY1ZTI5NTM3ZWY5ZWE1NjY1Li45ZDk1Y2QzOGJhYjE5
OTYyNjkwMDhhMzVhOWFlNTM4YjM4YmUyZGVkIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rl
c3RDb250cm9sbGVyLmNwcApAQCAtMzc4MCwxMCArMzc4MCwxMCBAQCB2b2lkIFRlc3RDb250cm9s
bGVyOjpzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEVwaGVtZXJhbE1lYXN1cmVtZW50Rm9yVGVz
dGluZyhibwogICAgIHJ1blVudGlsKGNhbGxiYWNrQ29udGV4dC5kb25lLCBub1RpbWVvdXQpOwog
fQogCi12b2lkIFRlc3RDb250cm9sbGVyOjpzaW11bGF0ZVJlc291cmNlTG9hZFN0YXRpc3RpY3NT
ZXNzaW9uUmVzdGFydCgpCit2b2lkIFRlc3RDb250cm9sbGVyOjpzaW11bGF0ZVByaXZhdGVDbGlj
a01lYXN1cmVtZW50U2Vzc2lvblJlc3RhcnQoKQogewogICAgIFByaXZhdGVDbGlja01lYXN1cmVt
ZW50Vm9pZENhbGxiYWNrQ29udGV4dCBjYWxsYmFja0NvbnRleHQoKnRoaXMpOwotICAgIFdLUGFn
ZVNpbXVsYXRlUmVzb3VyY2VMb2FkU3RhdGlzdGljc1Nlc3Npb25SZXN0YXJ0KG1fbWFpbldlYlZp
ZXctPnBhZ2UoKSwgcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRWb2lkQ2FsbGJhY2ssICZjYWxsYmFj
a0NvbnRleHQpOworICAgIFdLUGFnZVNpbXVsYXRlUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTZXNz
aW9uUmVzdGFydChtX21haW5XZWJWaWV3LT5wYWdlKCksIHByaXZhdGVDbGlja01lYXN1cmVtZW50
Vm9pZENhbGxiYWNrLCAmY2FsbGJhY2tDb250ZXh0KTsKICAgICBydW5VbnRpbChjYWxsYmFja0Nv
bnRleHQuZG9uZSwgbm9UaW1lb3V0KTsKIH0KIApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9UZXN0Q29udHJvbGxlci5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29u
dHJvbGxlci5oCmluZGV4IDQwM2VkYzIzZTg1MGExNDg0YzYxMmQ1OWQ0ZGJkYjA5OTFhMmMxN2Iu
LjUyMDg4N2NmMmUwYWQxNTc2Y2NlZTZjYzk2ZDg1MTM3NGVmNzkxOTMgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaAorKysgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgKQEAgLTM1MCw3ICszNTAsNyBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE92ZXJyaWRlVGltZXJGb3JUZXN0aW5n
KGJvb2wgdmFsdWUpOwogICAgIHZvaWQgbWFya0F0dHJpYnV0ZWRQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudHNBc0V4cGlyZWRGb3JUZXN0aW5nKCk7CiAgICAgdm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFz
dXJlbWVudEVwaGVtZXJhbE1lYXN1cmVtZW50Rm9yVGVzdGluZyhib29sIHZhbHVlKTsKLSAgICB2
b2lkIHNpbXVsYXRlUmVzb3VyY2VMb2FkU3RhdGlzdGljc1Nlc3Npb25SZXN0YXJ0KCk7CisgICAg
dm9pZCBzaW11bGF0ZVByaXZhdGVDbGlja01lYXN1cmVtZW50U2Vzc2lvblJlc3RhcnQoKTsKICAg
ICB2b2lkIHNldFByaXZhdGVDbGlja01lYXN1cmVtZW50VG9rZW5QdWJsaWNLZXlVUkxGb3JUZXN0
aW5nKFdLVVJMUmVmKTsKICAgICB2b2lkIHNldFByaXZhdGVDbGlja01lYXN1cmVtZW50VG9rZW5T
aWduYXR1cmVVUkxGb3JUZXN0aW5nKFdLVVJMUmVmKTsKICAgICB2b2lkIHNldFByaXZhdGVDbGlj
a01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxzRm9yVGVzdGluZyhXS1VSTFJlZiBzb3Vy
Y2VVUkwsIFdLVVJMUmVmIGRlc3RpbmF0aW9uVVJMKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9U
ZXN0SW52b2NhdGlvbi5jcHAKaW5kZXggNzJmYTgyYmJjMDEwMjk2ZjA0ZDEzMGVjOWJjNmE0MzU3
Y2JkMGU5My4uYmFmMTFjN2Q4Mjg2MGQ1ZjQzYzRlMjNlZGM2ZGE2ZWY1OWEzY2Q4ZCAxMDA2NDQK
LS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAKKysrIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAKQEAgLTEzODcsOCArMTM4Nyw4
IEBAIFdLUmV0YWluUHRyPFdLVHlwZVJlZj4gVGVzdEludm9jYXRpb246OmRpZFJlY2VpdmVTeW5j
aHJvbm91c01lc3NhZ2VGcm9tSW5qZWN0ZWRCCiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAg
IH0KICAgICAKLSAgICBpZiAoV0tTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhtZXNzYWdlTmFt
ZSwgIlNpbXVsYXRlUmVzb3VyY2VMb2FkU3RhdGlzdGljc1Nlc3Npb25SZXN0YXJ0IikpIHsKLSAg
ICAgICAgVGVzdENvbnRyb2xsZXI6OnNpbmdsZXRvbigpLnNpbXVsYXRlUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1Nlc3Npb25SZXN0YXJ0KCk7CisgICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRGOENT
dHJpbmcobWVzc2FnZU5hbWUsICJTaW11bGF0ZVByaXZhdGVDbGlja01lYXN1cmVtZW50U2Vzc2lv
blJlc3RhcnQiKSkgeworICAgICAgICBUZXN0Q29udHJvbGxlcjo6c2luZ2xldG9uKCkuc2ltdWxh
dGVQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFNlc3Npb25SZXN0YXJ0KCk7CiAgICAgICAgIHJldHVy
biBudWxscHRyOwogICAgIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447737</attachid>
            <date>2021-12-21 11:26:11 -0800</date>
            <delta_ts>2021-12-22 13:23:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234565-20211221142610.patch</filename>
            <type>text/plain</type>
            <size>35538</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3Mjc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGM3MDIzYTMzN2Y0NTYzNjk0
MjhkZjc3NTNmODNhZjk2OWI4YTk4Y2YuLmU4ODIzOTk5NWE0M2ZiZTVkZDc1Nzg0ZThjNTQ0YmZl
YWVlMGQ1MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDkgQEAKKzIwMjEtMTItMjEgIEthdGUgQ2hl
bmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgUENNIHRlc3RzIGNy
YXNoaW5nIHdpdGggJ3VubGluaycgZXJyb3JzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ1NjUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg2Nzcx
NzY2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENs
b3NlIFBDTSBhbmQgSVRQIGRhdGFiYXNlcyBiZWZvcmUgZGVsZXRpbmcgdGhlaXIgZGF0YWJhc2Ug
ZmlsZXMgaW4KKyAgICAgICAgQVBJIHRlc3RpbmcuIFRoaXMgYWRkcyAyIG5ldyBTUElzIG9uIFdL
V2Vic2l0ZURhdGFTdG9yZSB0byBjbG9zZSB0aGUKKyAgICAgICAgcmVzcGVjdGl2ZSBkYXRhYmFz
ZXMuIEl0IGFsc28gYWRkcmVzc2VzIHRoZSByZW5hbWluZyBGSVhNRSBmb3IKKyAgICAgICAgTmV0
d29ya1Byb2Nlc3M6OnNpbXVsYXRlUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTZXNzaW9uUmVzdGFy
dC4KKworICAgICAgICBObyBuZXcgdGVzdHMuIFRoaXMgd2lsbCBmaXggZXhpc3RpbmcgY3Jhc2hp
bmcgUENNIEFQSSB0ZXN0cy4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9j
ZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OmNsb3NlSVRQRGF0YWJh
c2UpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6Y2xvc2VQQ01EYXRhYmFzZSk6
CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpzaW11bGF0ZVByaXZhdGVDbGlja01l
YXN1cmVtZW50U2Vzc2lvblJlc3RhcnQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vz
czo6c2ltdWxhdGVSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU2Vzc2lvblJlc3RhcnQpOiBEZWxldGVk
LgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6CisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3Jr
U2Vzc2lvbjo6ZGVzdHJveVByaXZhdGVDbGlja01lYXN1cmVtZW50U3RvcmUpOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrU2Vzc2lvbjo6c2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBcHBCdW5k
bGVJREZvclRlc3RpbmcpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrU2Vzc2lvbjo6cmVjcmVh
dGVQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFN0b3JlKTogUmVuYW1lZC4KKyAgICAgICAgUmVuYW1l
ZCB0byBiZSBtb3JlIGFjY3VyYXRlLiBUaGlzIGZ1bmN0aW9uIG9ubHkgZGVsZXRlcyB0aGUgZGF0
YWJhc2UsCisgICAgICAgIHRoZW4gdGhlIGNhbGwgaW4gdGhlIGNvbXBsZXRpb24gaGFuZGxlciBy
ZWNyZWF0ZXMgaXQuIFRoaXMgYWxzbyBtYWtlcworICAgICAgICBpdCBtb3JlIGNsZWFyIHdoZW4g
d2UgcmV1c2UgaXQgdG8gY2xvc2UgdGhlIGRhdGFiYXNlLgorCisgICAgICAgICogTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Nlc3Npb24uaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdl
LmNwcDoKKyAgICAgICAgKFdLUGFnZVNpbXVsYXRlUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTZXNz
aW9uUmVzdGFydCk6CisgICAgICAgIChXS1BhZ2VTaW11bGF0ZVJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NTZXNzaW9uUmVzdGFydCk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dL
UGFnZVByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURh
dGFTdG9yZS5tbToKKyAgICAgICAgKC1bV0tXZWJzaXRlRGF0YVN0b3JlIF9jbG9zZURhdGFiYXNl
czpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZVBy
aXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZVByb3h5OjpzaW11bGF0ZVByaXZhdGVDbGlja01lYXN1cmVtZW50U2Vz
c2lvblJlc3RhcnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnNpbXVsYXRlUmVz
b3VyY2VMb2FkU3RhdGlzdGljc1Nlc3Npb25SZXN0YXJ0KTogRGVsZXRlZC4KKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYnNpdGVEYXRh
L1dlYnNpdGVEYXRhU3RvcmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3Jl
OjpjbG9zZURhdGFiYXNlcyk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNp
dGVEYXRhU3RvcmUuaDoKKwogMjAyMS0xMi0yMCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVo
QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc29tZSBtaXNzaW5nIEFQSSBhdmFpbGFiaWxpdHkg
bWFjcm9zIGFyb3VuZCBzb21lIFdlYlhSIFNQSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAppbmRleCA5MzZiNDIzY2VkN2NiOGI2MjUzYWFlYWYz
MDZjMWRhZGE4OWRjN2JkLi4yNmJkMTA3MTk5NGIzZjgyN2JkN2Q1OTc0NTM5YWYxNDljMTYyMmNh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNw
cApAQCAtMTk4OCw2ICsxOTg4LDE3IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6OnJlZ2lzdHJhYmxl
RG9tYWluc1dpdGhXZWJzaXRlRGF0YShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsCiAgICAgICAg
IH0pOwogICAgIH0KIH0KKwordm9pZCBOZXR3b3JrUHJvY2Vzczo6Y2xvc2VJVFBEYXRhYmFzZShQ
QUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21w
bGV0aW9uSGFuZGxlcikKK3sKKyAgICBpZiAoYXV0byogc2Vzc2lvbiA9IG5ldHdvcmtTZXNzaW9u
KHNlc3Npb25JRCkpIHsKKyAgICAgICAgc2Vzc2lvbi0+ZGVzdHJveVJlc291cmNlTG9hZFN0YXRp
c3RpY3MoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKK30KKwogI2VuZGlmIC8vIEVOQUJMRShJTlRF
TExJR0VOVF9UUkFDS0lOR19QUkVWRU5USU9OKQogCiB2b2lkIE5ldHdvcmtQcm9jZXNzOjpkb3du
bG9hZFJlcXVlc3QoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBEb3dubG9hZElEIGRvd25sb2Fk
SUQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgc3RkOjpvcHRpb25hbDxOYXZpZ2F0
aW5nVG9BcHBCb3VuZERvbWFpbj4gaXNOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbiwgY29uc3Qg
U3RyaW5nJiBzdWdnZXN0ZWRGaWxlbmFtZSkKQEAgLTI0NDQsMTQgKzI0NTUsMjMgQEAgdm9pZCBO
ZXR3b3JrUHJvY2Vzczo6c2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRPdmVycmlkZVRpbWVyRm9y
VGVzdGluZyhQQUw6OlNlc3MKICAgICBjb21wbGV0aW9uSGFuZGxlcigpOwogfQogCi12b2lkIE5l
dHdvcmtQcm9jZXNzOjpzaW11bGF0ZVJlc291cmNlTG9hZFN0YXRpc3RpY3NTZXNzaW9uUmVzdGFy
dChQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBj
b21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgTmV0d29ya1Byb2Nlc3M6OmNsb3NlUENNRGF0YWJhc2Uo
UEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29t
cGxldGlvbkhhbmRsZXIpCit7CisgICAgaWYgKGF1dG8qIHNlc3Npb24gPSBuZXR3b3JrU2Vzc2lv
bihzZXNzaW9uSUQpKSB7CisgICAgICAgIHNlc3Npb24tPmRlc3Ryb3lQcml2YXRlQ2xpY2tNZWFz
dXJlbWVudFN0b3JlKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7Cit9CisKK3ZvaWQgTmV0d29ya1By
b2Nlc3M6OnNpbXVsYXRlUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTZXNzaW9uUmVzdGFydChQQUw6
OlNlc3Npb25JRCBzZXNzaW9uSUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0
aW9uSGFuZGxlcikKIHsKICAgICBpZiAoIWFsbG93c1ByaXZhdGVDbGlja01lYXN1cmVtZW50VGVz
dEZ1bmN0aW9uYWxpdHkoKSkKICAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKCk7CiAK
LSAgICAvLyBGSVhNRTogUmVuYW1lIHRoaXMgdG8gc2ltdWxhdGVQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudFNlc3Npb25SZXN0YXJ0LgogICAgIGlmIChhdXRvKiBzZXNzaW9uID0gbmV0d29ya1Nlc3Np
b24oc2Vzc2lvbklEKSkgewotICAgICAgICBzZXNzaW9uLT5yZWNyZWF0ZVByaXZhdGVDbGlja01l
YXN1cmVtZW50U3RvcmUoW3Nlc3Npb24gPSBXZWFrUHRyIHsgKnNlc3Npb24gfSwgY29tcGxldGlv
bkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0gKCkgbXV0YWJsZSB7CisgICAg
ICAgIHNlc3Npb24tPmRlc3Ryb3lQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFN0b3JlKFtzZXNzaW9u
ID0gV2Vha1B0ciB7ICpzZXNzaW9uIH0sIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21w
bGV0aW9uSGFuZGxlcildICgpIG11dGFibGUgewogICAgICAgICAgICAgaWYgKHNlc3Npb24pCiAg
ICAgICAgICAgICAgICAgc2Vzc2lvbi0+ZmlyZVByaXZhdGVDbGlja01lYXN1cmVtZW50VGltZXJJ
bW1lZGlhdGVseUZvclRlc3RpbmcoKTsKICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
LmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKaW5kZXgg
MDk0OGQ0MmEwMGZmYzJkZGExYWU5MTkyYmJlNmI4ODg2YTc1NTBhZi4uNzg3NzkyN2ExN2M1NTk2
ZWIwM2JkNGFjZjRkNThlNDE4YWM4YmEyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3MuaApAQCAtMjYwLDYgKzI2MCw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIHNldENyb3NzU2l0ZUxvYWRXaXRoTGlua0RlY29yYXRpb25Gb3JUZXN0aW5nKFBBTDo6U2Vz
c2lvbklELCBjb25zdCBSZWdpc3RyYWJsZURvbWFpbiYgZnJvbURvbWFpbiwgY29uc3QgUmVnaXN0
cmFibGVEb21haW4mIHRvRG9tYWluLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAg
IHZvaWQgcmVzZXRDcm9zc1NpdGVMb2Fkc1dpdGhMaW5rRGVjb3JhdGlvbkZvclRlc3RpbmcoUEFM
OjpTZXNzaW9uSUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBoYXNJ
c29sYXRlZFNlc3Npb24oUEFMOjpTZXNzaW9uSUQsIGNvbnN0IFdlYkNvcmU6OlJlZ2lzdHJhYmxl
RG9tYWluJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJikgY29uc3Q7CisgICAgdm9p
ZCBjbG9zZUlUUERhdGFiYXNlKFBBTDo6U2Vzc2lvbklELCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KCk+JiYpOwogI2lmIEVOQUJMRShBUFBfQk9VTkRfRE9NQUlOUykKICAgICB2b2lkIHNldEFwcEJv
dW5kRG9tYWluc0ZvclJlc291cmNlTG9hZFN0YXRpc3RpY3MoUEFMOjpTZXNzaW9uSUQsIEhhc2hT
ZXQ8V2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4+JiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
KT4mJik7CiAjZW5kaWYKQEAgLTMxNyw3ICszMTgsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudE92ZXJyaWRlVGltZXJGb3JUZXN0aW5nKFBBTDo6U2Vzc2lv
bklELCBib29sIHZhbHVlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQg
bWFya0F0dHJpYnV0ZWRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudHNBc0V4cGlyZWRGb3JUZXN0aW5n
KFBBTDo6U2Vzc2lvbklELCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQg
c2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRFcGhlbWVyYWxNZWFzdXJlbWVudEZvclRlc3Rpbmco
UEFMOjpTZXNzaW9uSUQsIGJvb2wgdmFsdWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7
Ci0gICAgdm9pZCBzaW11bGF0ZVJlc291cmNlTG9hZFN0YXRpc3RpY3NTZXNzaW9uUmVzdGFydChQ
QUw6OlNlc3Npb25JRCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKKyAgICB2b2lkIHNp
bXVsYXRlUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTZXNzaW9uUmVzdGFydChQQUw6OlNlc3Npb25J
RCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKKyAgICB2b2lkIGNsb3NlUENNRGF0YWJh
c2UoUEFMOjpTZXNzaW9uSUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9p
ZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRva2VuUHVibGljS2V5VVJMRm9yVGVzdGluZyhQ
QUw6OlNlc3Npb25JRCwgVVJMJiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAg
dm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRva2VuU2lnbmF0dXJlVVJMRm9yVGVzdGlu
ZyhQQUw6OlNlc3Npb25JRCwgVVJMJiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAg
ICAgdm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMc0Zv
clRlc3RpbmcoUEFMOjpTZXNzaW9uSUQsIFVSTCYmIHNvdXJjZVVSTCwgVVJMJiYgZGVzdGluYXRp
b25VUkwsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCBi
ZWY0M2EwMDVjNzE3YzhhODQyMWVlNmZlMDUxNjg3MDMwYTc1MzAzLi42MzdlMTU5ZjE4NjM5M2Jl
YzVjYzA1YWI1YmQ1NzgwYmU4YzZmY2U0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTEzNSw2ICsxMzUs
NyBAQCBtZXNzYWdlcyAtPiBOZXR3b3JrUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAgUmVz
ZXRDcm9zc1NpdGVMb2Fkc1dpdGhMaW5rRGVjb3JhdGlvbkZvclRlc3RpbmcoUEFMOjpTZXNzaW9u
SUQgc2Vzc2lvbklEKSAtPiAoKSBBc3luYwogICAgIERlbGV0ZUNvb2tpZXNGb3JUZXN0aW5nKFBB
TDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4gZG9tYWlu
LCBib29sIGluY2x1ZGVIdHRwT25seUNvb2tpZXMpIC0+ICgpIEFzeW5jCiAgICAgSGFzSXNvbGF0
ZWRTZXNzaW9uKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgV2ViQ29yZTo6UmVnaXN0cmFibGVE
b21haW4gZG9tYWluKSAtPiAoYm9vbCBoYXNJc29sYXRlZFNlc3Npb24pIEFzeW5jCisgICAgQ2xv
c2VJVFBEYXRhYmFzZShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpIC0+ICgpIEFzeW5jCiAjaWYg
RU5BQkxFKEFQUF9CT1VORF9ET01BSU5TKQogICAgIFNldEFwcEJvdW5kRG9tYWluc0ZvclJlc291
cmNlTG9hZFN0YXRpc3RpY3MoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBIYXNoU2V0PFdlYkNv
cmU6OlJlZ2lzdHJhYmxlRG9tYWluPiBhcHBCb3VuZERvbWFpbnMpIC0+ICgpIEFzeW5jCiAjZW5k
aWYKQEAgLTE2NCwxMyArMTY1LDE0IEBAIG1lc3NhZ2VzIC0+IE5ldHdvcmtQcm9jZXNzIExlZ2Fj
eVJlY2VpdmVyIHsKICAgICBTZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE92ZXJyaWRlVGltZXJG
b3JUZXN0aW5nKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgYm9vbCB2YWx1ZSkgLT4gKCkgQXN5
bmMKICAgICBNYXJrQXR0cmlidXRlZFByaXZhdGVDbGlja01lYXN1cmVtZW50c0FzRXhwaXJlZEZv
clRlc3RpbmcoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKSAtPiAoKSBBc3luYwogICAgIFNldFBy
aXZhdGVDbGlja01lYXN1cmVtZW50RXBoZW1lcmFsTWVhc3VyZW1lbnRGb3JUZXN0aW5nKFBBTDo6
U2Vzc2lvbklEIHNlc3Npb25JRCwgYm9vbCB2YWx1ZSkgLT4gKCkgQXN5bmMKLSAgICBTaW11bGF0
ZVJlc291cmNlTG9hZFN0YXRpc3RpY3NTZXNzaW9uUmVzdGFydChQQUw6OlNlc3Npb25JRCBzZXNz
aW9uSUQpIC0+ICgpIEFzeW5jCisgICAgU2ltdWxhdGVQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFNl
c3Npb25SZXN0YXJ0KFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkgLT4gKCkgQXN5bmMKICAgICBT
ZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRva2VuUHVibGljS2V5VVJMRm9yVGVzdGluZyhQQUw6
OlNlc3Npb25JRCBzZXNzaW9uSUQsIFVSTCB1cmwpIC0+ICgpIEFzeW5jCiAgICAgU2V0UHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnRUb2tlblNpZ25hdHVyZVVSTEZvclRlc3RpbmcoUEFMOjpTZXNzaW9u
SUQgc2Vzc2lvbklELCBVUkwgdXJsKSAtPiAoKSBBc3luYwogICAgIFNldFByaXZhdGVDbGlja01l
YXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxzRm9yVGVzdGluZyhQQUw6OlNlc3Npb25JRCBz
ZXNzaW9uSUQsIFVSTCBzb3VyY2VVUkwsIFVSTCBkZXN0aW5hdGlvblVSTCkgLT4gKCkgQXN5bmMK
ICAgICBNYXJrUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRzQXNFeHBpcmVkRm9yVGVzdGluZyhQQUw6
OlNlc3Npb25JRCBzZXNzaW9uSUQpIC0+ICgpIEFzeW5jCiAgICAgU2V0UENNRnJhdWRQcmV2ZW50
aW9uVmFsdWVzRm9yVGVzdGluZyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIFN0cmluZyBzZWNy
ZXRUb2tlbiwgU3RyaW5nIHVubGlua2FibGVUb2tlbiwgU3RyaW5nIHNpZ25hdHVyZSwgU3RyaW5n
IGtleUlEKSAtPiAoKSBBc3luYwogICAgIFNldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXBwQnVu
ZGxlSURGb3JUZXN0aW5nKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgU3RyaW5nIGFwcEJ1bmRs
ZUlERm9yVGVzdGluZykgLT4gKCkgQXN5bmMKKyAgICBDbG9zZVBDTURhdGFiYXNlKFBBTDo6U2Vz
c2lvbklEIHNlc3Npb25JRCkgLT4gKCkgQXN5bmMKIAogICAgIFNldFNlcnZpY2VXb3JrZXJGZXRj
aFRpbWVvdXRGb3JUZXN0aW5nKFNlY29uZHMgc2Vjb25kcykgLT4gKCkgU3luY2hyb25vdXMKICAg
ICBSZXNldFNlcnZpY2VXb3JrZXJGZXRjaFRpbWVvdXRGb3JUZXN0aW5nKCkgLT4gKCkgU3luY2hy
b25vdXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nl
c3Npb24uY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5j
cHAKaW5kZXggNTliMTY3YTc3M2U4MWY1YzRhZmU4NTBlMWRmNDM1NmIxZjk2NmViYS4uODc5MWU3
MjkyN2VkM2UxZDg1Y2M2YWI5Yzk4NzE0YzRjODQ1NDQ2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5jcHAKQEAgLTIxMSw3ICsyMTEsNyBAQCB2
b2lkIE5ldHdvcmtTZXNzaW9uOjppbnZhbGlkYXRlQW5kQ2FuY2VsKCkKICNlbmRpZgogfQogCi12
b2lkIE5ldHdvcmtTZXNzaW9uOjpyZWNyZWF0ZVByaXZhdGVDbGlja01lYXN1cmVtZW50U3RvcmUo
Q29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBOZXR3
b3JrU2Vzc2lvbjo6ZGVzdHJveVByaXZhdGVDbGlja01lYXN1cmVtZW50U3RvcmUoQ29tcGxldGlv
bkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIHByaXZhdGVDbGlj
a01lYXN1cmVtZW50KCkuZGVzdHJveVN0b3JlRm9yVGVzdGluZyhXVEZNb3ZlKGNvbXBsZXRpb25I
YW5kbGVyKSk7CiB9CkBAIC00NjcsOCArNDY3LDYgQEAgdm9pZCBOZXR3b3JrU2Vzc2lvbjo6c2V0
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBcHBCdW5kbGVJREZvclRlc3RpbmcoU3RyaW5nJiYgYXAK
IHsKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBhdXRvIGFwcEJ1bmRsZUlEID0gV2ViQ29yZTo6
YXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKCk7Ci0gICAgaWYgKCFpc1J1bm5pbmdUZXN0KGFw
cEJ1bmRsZUlEKSkKLSAgICAgICAgV1RGTG9nQWx3YXlzKCJpc1J1bm5pbmdUZXN0KCkgcmV0dXJu
ZWQgZmFsc2UuIGFwcEJ1bmRsZUlEIGlzICVzLiIsIGFwcEJ1bmRsZUlELmlzRW1wdHkoKSA/ICJl
bXB0eSIgOiBhcHBCdW5kbGVJRC51dGY4KCkuZGF0YSgpKTsKICAgICBSRUxFQVNFX0FTU0VSVChp
c1J1bm5pbmdUZXN0KFdlYkNvcmU6OmFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcigpKSk7CiAj
ZW5kaWYKICAgICBwcml2YXRlQ2xpY2tNZWFzdXJlbWVudCgpLnNldFByaXZhdGVDbGlja01lYXN1
cmVtZW50QXBwQnVuZGxlSURGb3JUZXN0aW5nKFdURk1vdmUoYXBwQnVuZGxlSURGb3JUZXN0aW5n
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNz
aW9uLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmgKaW5k
ZXggMzZiNTNiMWE0MGRhMTlkZjdjMjRjMjQ5OGQ5MmMwYTYyOWQ2Y2RmYy4uYzJkZTFkYzUzNTYy
YzkwMjZlODhiMWVjOGUyYzk5YzVmZGQ0ZGZlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Nlc3Npb24uaApAQCAtMTE0LDcgKzExNCw3IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHJlZ2lzdGVyTmV0d29ya0RhdGFUYXNrKE5ldHdvcmtEYXRhVGFzayYpOwogICAgIHZv
aWQgdW5yZWdpc3Rlck5ldHdvcmtEYXRhVGFzayhOZXR3b3JrRGF0YVRhc2smKTsKIAotICAgIHZv
aWQgcmVjcmVhdGVQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFN0b3JlKENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoKT4mJik7CisgICAgdm9pZCBkZXN0cm95UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTdG9y
ZShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogCiAjaWYgRU5BQkxFKElOVEVMTElHRU5U
X1RSQUNLSU5HX1BSRVZFTlRJT04pCiAgICAgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3Jl
KiByZXNvdXJjZUxvYWRTdGF0aXN0aWNzKCkgY29uc3QgeyByZXR1cm4gbV9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzLmdldCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQy9XS1BhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNw
cAppbmRleCBiZmQ1ZjMwMTEzYmJiNjg4YjcwMzA1ZDk4NjJiMjExYWIyYWUwNzMzLi41YjJiMmIx
NDhjMmEzZDhiYmU5YzM2YmU0NzhjNzRjMzZmZjRkYjdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9DL1dLUGFnZS5jcHAKQEAgLTMwNjgsMTAgKzMwNjgsMTAgQEAgdm9pZCBXS1BhZ2VT
ZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEVwaGVtZXJhbE1lYXN1cmVtZW50Rm9yVGVzdGluZyhX
S1BhZ2VSZWYgcGEKICAgICB9KTsKIH0KIAotdm9pZCBXS1BhZ2VTaW11bGF0ZVJlc291cmNlTG9h
ZFN0YXRpc3RpY3NTZXNzaW9uUmVzdGFydChXS1BhZ2VSZWYgcGFnZVJlZiwgV0tQYWdlU2ltdWxh
dGVSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU2Vzc2lvblJlc3RhcnRGdW5jdGlvbiBjYWxsYmFjaywg
dm9pZCogY2FsbGJhY2tDb250ZXh0KQordm9pZCBXS1BhZ2VTaW11bGF0ZVByaXZhdGVDbGlja01l
YXN1cmVtZW50U2Vzc2lvblJlc3RhcnQoV0tQYWdlUmVmIHBhZ2VSZWYsIFdLUGFnZVNpbXVsYXRl
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTZXNzaW9uUmVzdGFydEZ1bmN0aW9uIGNhbGxiYWNrLCB2
b2lkKiBjYWxsYmFja0NvbnRleHQpCiB7CiAgICAgQ1JBU0hfSUZfU1VTUEVOREVEOwotICAgIHRv
SW1wbChwYWdlUmVmKS0+c2ltdWxhdGVSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU2Vzc2lvblJlc3Rh
cnQoW2NhbGxiYWNrQ29udGV4dCwgY2FsbGJhY2tdICgpIHsKKyAgICB0b0ltcGwocGFnZVJlZikt
PnNpbXVsYXRlUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTZXNzaW9uUmVzdGFydChbY2FsbGJhY2tD
b250ZXh0LCBjYWxsYmFja10gKCkgewogICAgICAgICBjYWxsYmFjayhjYWxsYmFja0NvbnRleHQp
OwogICAgIH0pOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Mv
V0tQYWdlUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlUHJp
dmF0ZS5oCmluZGV4IDc1MzhlYzAyNmNkOWRhODI4ZWU2ODMwNGYwYWVjYjkyODRhZGFhMmEuLmUy
ZWMyZWQxNGZiNTM3OWUzZWRmOWZjNmNkZWE1ZDE1ZDBjZWYyYmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQcml2YXRlLmgKQEAgLTE4MCw4ICsxODAsOCBAQCB0
eXBlZGVmIHZvaWQgKCpXS1BhZ2VNYXJrQXR0cmlidXRlZFByaXZhdGVDbGlja01lYXN1cmVtZW50
c0FzRXhwaXJlZEZvclRlc3RpbmdGdQogV0tfRVhQT1JUIHZvaWQgV0tQYWdlTWFya0F0dHJpYnV0
ZWRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudHNBc0V4cGlyZWRGb3JUZXN0aW5nKFdLUGFnZVJlZiBw
YWdlLCBXS1BhZ2VNYXJrQXR0cmlidXRlZFByaXZhdGVDbGlja01lYXN1cmVtZW50c0FzRXhwaXJl
ZEZvclRlc3RpbmdGdW5jdGlvbiBjYWxsYmFjaywgdm9pZCogY2FsbGJhY2tDb250ZXh0KTsKIHR5
cGVkZWYgdm9pZCAoKldLUGFnZVNldFByaXZhdGVDbGlja01lYXN1cmVtZW50RXBoZW1lcmFsTWVh
c3VyZW1lbnRGb3JUZXN0aW5nRnVuY3Rpb24pKHZvaWQqIGZ1bmN0aW9uQ29udGV4dCk7CiBXS19F
WFBPUlQgdm9pZCBXS1BhZ2VTZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEVwaGVtZXJhbE1lYXN1
cmVtZW50Rm9yVGVzdGluZyhXS1BhZ2VSZWYgcGFnZSwgYm9vbCB2YWx1ZSwgV0tQYWdlU2V0UHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnRFcGhlbWVyYWxNZWFzdXJlbWVudEZvclRlc3RpbmdGdW5jdGlv
biBjYWxsYmFjaywgdm9pZCogY2FsbGJhY2tDb250ZXh0KTsKLXR5cGVkZWYgdm9pZCAoKldLUGFn
ZVNpbXVsYXRlUmVzb3VyY2VMb2FkU3RhdGlzdGljc1Nlc3Npb25SZXN0YXJ0RnVuY3Rpb24pKHZv
aWQqIGZ1bmN0aW9uQ29udGV4dCk7Ci1XS19FWFBPUlQgdm9pZCBXS1BhZ2VTaW11bGF0ZVJlc291
cmNlTG9hZFN0YXRpc3RpY3NTZXNzaW9uUmVzdGFydChXS1BhZ2VSZWYgcGFnZSwgV0tQYWdlU2lt
dWxhdGVSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU2Vzc2lvblJlc3RhcnRGdW5jdGlvbiBjYWxsYmFj
aywgdm9pZCogY2FsbGJhY2tDb250ZXh0KTsKK3R5cGVkZWYgdm9pZCAoKldLUGFnZVNpbXVsYXRl
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTZXNzaW9uUmVzdGFydEZ1bmN0aW9uKSh2b2lkKiBmdW5j
dGlvbkNvbnRleHQpOworV0tfRVhQT1JUIHZvaWQgV0tQYWdlU2ltdWxhdGVQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudFNlc3Npb25SZXN0YXJ0KFdLUGFnZVJlZiBwYWdlLCBXS1BhZ2VTaW11bGF0ZVBy
aXZhdGVDbGlja01lYXN1cmVtZW50U2Vzc2lvblJlc3RhcnRGdW5jdGlvbiBjYWxsYmFjaywgdm9p
ZCogY2FsbGJhY2tDb250ZXh0KTsKIHR5cGVkZWYgdm9pZCAoKldLUGFnZVNldFByaXZhdGVDbGlj
a01lYXN1cmVtZW50VG9rZW5QdWJsaWNLZXlVUkxGb3JUZXN0aW5nRnVuY3Rpb24pKHZvaWQqIGZ1
bmN0aW9uQ29udGV4dCk7CiBXS19FWFBPUlQgdm9pZCBXS1BhZ2VTZXRQcml2YXRlQ2xpY2tNZWFz
dXJlbWVudFRva2VuUHVibGljS2V5VVJMRm9yVGVzdGluZyhXS1BhZ2VSZWYgcGFnZSwgV0tVUkxS
ZWYgdXJsU3RyaW5nLCBXS1BhZ2VTZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRva2VuUHVibGlj
S2V5VVJMRm9yVGVzdGluZ0Z1bmN0aW9uIGNhbGxiYWNrLCB2b2lkKiBjYWxsYmFja0NvbnRleHQp
OwogdHlwZWRlZiB2b2lkICgqV0tQYWdlU2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRUb2tlblNp
Z25hdHVyZVVSTEZvclRlc3RpbmdGdW5jdGlvbikodm9pZCogZnVuY3Rpb25Db250ZXh0KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRh
U3RvcmUubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0
YVN0b3JlLm1tCmluZGV4IDYyOTY5MDc5ZDlkNTdhNzgzMDc4ODIzNWRkOTE0ODdkM2RiNzIxNWUu
LmY2NTZkMjYxNjU1YjczZWJhMDRiNTBhYWE5ODkyZmFhZTVmMzE4NTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmUubW0KKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZS5t
bQpAQCAtNTM1LDYgKzUzNSwxMyBAQCAtICh2b2lkKV9jbGVhclJlc291cmNlTG9hZFN0YXRpc3Rp
Y3M6KHZvaWQgKF4pKHZvaWQpKWNvbXBsZXRpb25IYW5kbGVyCiAjZW5kaWYKIH0KIAorLSAodm9p
ZClfY2xvc2VEYXRhYmFzZXM6KHZvaWQgKF4pKHZvaWQpKWNvbXBsZXRpb25IYW5kbGVyCit7Cisg
ICAgX3dlYnNpdGVEYXRhU3RvcmUtPmNsb3NlRGF0YWJhc2VzKFtjb21wbGV0aW9uSGFuZGxlciA9
IG1ha2VCbG9ja1B0cihjb21wbGV0aW9uSGFuZGxlcildKCkgeworICAgICAgICBjb21wbGV0aW9u
SGFuZGxlcigpOworICAgIH0pOworfQorCiAtICh2b2lkKV9nZXRSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzRGF0YVN1bW1hcnk6KHZvaWQgKF4pKE5TQXJyYXk8X1dLUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c1RoaXJkUGFydHkgKj4gKikpY29tcGxldGlvbkhhbmRsZXIKIHsKICNpZiBFTkFCTEUoSU5URUxM
SUdFTlRfVFJBQ0tJTkdfUFJFVkVOVElPTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmVQcml2YXRlLmggYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlUHJpdmF0ZS5oCmluZGV4
IDExZjA2ZjI0NGMwODY2MjAzNzU0NWIyNzM5YjZhMjE4NGQ1M2Q3YzIuLjMxYTg1NDA3NDE0ZDRh
NzNlOThiYzQxMWU2MTdmZjhjNDhjZDE4NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmVQcml2YXRlLmgKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZVByaXZhdGUuaApA
QCAtNzQsNiArNzQsNyBAQCB0eXBlZGVmIE5TX09QVElPTlMoTlNVSW50ZWdlciwgX1dLV2Vic2l0
ZURhdGFTdG9yZUZldGNoT3B0aW9ucykgewogLSAodm9pZClfZ2V0UmVzb3VyY2VMb2FkU3RhdGlz
dGljc0RhdGFTdW1tYXJ5Oih2b2lkICheKShOU0FycmF5PF9XS1Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NUaGlyZFBhcnR5ICo+ICopKWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFj
b3MoMTAuMTUuNCksIGlvcygxMy40KSk7CiAtICh2b2lkKV9jbGVhclByZXZhbGVudERvbWFpbjoo
TlNVUkwgKilkb21haW4gY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKHZvaWQpKWNvbXBsZXRp
b25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTAuMTUuNCksIGlvcygxMy40KSk7CiAt
ICh2b2lkKV9jbGVhclJlc291cmNlTG9hZFN0YXRpc3RpY3M6KHZvaWQgKF4pKHZvaWQpKWNvbXBs
ZXRpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTAuMTUuNCksIGlvcygxMy40KSk7
CistICh2b2lkKV9jbG9zZURhdGFiYXNlczoodm9pZCAoXikodm9pZCkpY29tcGxldGlvbkhhbmRs
ZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsK
IC0gKHZvaWQpX2lzUmVsYXRpb25zaGlwT25seUluRGF0YWJhc2VPbmNlOihOU1VSTCAqKWZpcnN0
UGFydHlVUkwgdGhpcmRQYXJ0eTooTlNVUkwgKil0aGlyZFBhcnR5VVJMIGNvbXBsZXRpb25IYW5k
bGVyOih2b2lkICheKShCT09MKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1h
Y29zKDEyLjApLCBpb3MoMTUuMCkpOwogLSAodm9pZClfaXNSZWdpc3RlcmVkQXNTdWJyZXNvdXJj
ZVVuZGVyRmlyc3RQYXJ0eTooTlNVUkwgKilmaXJzdFBhcnR5VVJMIHRoaXJkUGFydHk6KE5TVVJM
ICopdGhpcmRQYXJ0eVVSTCBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoQk9PTCkpY29tcGxl
dGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xNS40KSwgaW9zKDEzLjQpKTsK
IC0gKHZvaWQpX3NldFRoaXJkUGFydHlDb29raWVCbG9ja2luZ01vZGU6KEJPT0wpZW5hYmxlZCBv
bmx5T25TaXRlc1dpdGhvdXRVc2VySW50ZXJhY3Rpb246KEJPT0wpb25seU9uU2l0ZXNXaXRob3V0
VXNlckludGVyYWN0aW9uIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKSh2b2lkKSljb21wbGV0
aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zKDExLjApLCBpb3MoMTQuMCkpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggYmI2ZTZhYTYwOTk3YTBm
N2Y0YjUwNzE1YzVmNjAxNTZiZjI4YjE5Yi4uYmE0Y2UwNzc3NDkwOGQxYWFiYjQzZWU5ZWNjMDVk
N2I5ZWU1ZTMzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBA
IC0xMDQ4NSw5ICsxMDQ4NSw5IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzZXRQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudEVwaGVtZXJhbE1lYXN1cmVtZW50Rm9yVGVzdGluZyhib29sCiAgICAgd2Vic2l0
ZURhdGFTdG9yZSgpLm5ldHdvcmtQcm9jZXNzKCkuc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2Vz
OjpOZXR3b3JrUHJvY2Vzczo6U2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRFcGhlbWVyYWxNZWFz
dXJlbWVudEZvclRlc3RpbmcobV93ZWJzaXRlRGF0YVN0b3JlLT5zZXNzaW9uSUQoKSwgdmFsdWUp
LCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiB9CiAKLXZvaWQgV2ViUGFnZVByb3h5Ojpz
aW11bGF0ZVJlc291cmNlTG9hZFN0YXRpc3RpY3NTZXNzaW9uUmVzdGFydChDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCit2b2lkIFdlYlBhZ2VQcm94eTo6c2lt
dWxhdGVQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFNlc3Npb25SZXN0YXJ0KENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICB3ZWJzaXRlRGF0YVN0b3Jl
KCkubmV0d29ya1Byb2Nlc3MoKS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6Ok5ldHdvcmtQ
cm9jZXNzOjpTaW11bGF0ZVJlc291cmNlTG9hZFN0YXRpc3RpY3NTZXNzaW9uUmVzdGFydChtX3dl
YnNpdGVEYXRhU3RvcmUtPnNlc3Npb25JRCgpKSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikp
OworICAgIHdlYnNpdGVEYXRhU3RvcmUoKS5uZXR3b3JrUHJvY2VzcygpLnNlbmRXaXRoQXN5bmNS
ZXBseShNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3M6OlNpbXVsYXRlUHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnRTZXNzaW9uUmVzdGFydChtX3dlYnNpdGVEYXRhU3RvcmUtPnNlc3Npb25JRCgpKSwgV1RG
TW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogfQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6c2V0UHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnRUb2tlblB1YmxpY0tleVVSTEZvclRlc3RpbmcoY29uc3QgVVJM
JiB1cmwsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggNzk5OTcwZGVkNmE0MjI2YjZh
M2Y4ZDNhM2QzNzk4NWNmNGEwMmEzMS4uNzNmNDEzYmQwZTAxYWJhZjM0MjJjMzMxNWEyNDg3MDky
ZGVlMzU5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTE4MDcs
NyArMTgwNyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFByaXZhdGVDbGlja01lYXN1cmVtZW50
T3ZlcnJpZGVUaW1lckZvclRlc3RpbmcoYm9vbCB2YWx1ZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZCgpPiYmKTsKICAgICB2b2lkIG1hcmtBdHRyaWJ1dGVkUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRz
QXNFeHBpcmVkRm9yVGVzdGluZyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZv
aWQgc2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRFcGhlbWVyYWxNZWFzdXJlbWVudEZvclRlc3Rp
bmcoYm9vbCB2YWx1ZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKLSAgICB2b2lkIHNp
bXVsYXRlUmVzb3VyY2VMb2FkU3RhdGlzdGljc1Nlc3Npb25SZXN0YXJ0KENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoKT4mJik7CisgICAgdm9pZCBzaW11bGF0ZVByaXZhdGVDbGlja01lYXN1cmVtZW50
U2Vzc2lvblJlc3RhcnQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHNl
dFByaXZhdGVDbGlja01lYXN1cmVtZW50VG9rZW5QdWJsaWNLZXlVUkxGb3JUZXN0aW5nKGNvbnN0
IFVSTCYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBzZXRQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudFRva2VuU2lnbmF0dXJlVVJMRm9yVGVzdGluZyhjb25zdCBVUkwmLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQgc2V0UHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5nKGNvbnN0IFVSTCYgc291cmNl
VVJMLCBjb25zdCBVUkwmIGRlc3RpbmF0aW9uVVJMLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+
JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vi
c2l0ZURhdGFTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9X
ZWJzaXRlRGF0YVN0b3JlLmNwcAppbmRleCAyNTZiODg3NDAzZGFmNjVkNGJhMWJlNWExOGY0NWVl
ZGVjYjc4N2Q2Li40YjU3NDkxZTAzMzc3Mjk4OTIzNThhYTdhNzcyZWU5ZGFmMjNiZTE2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0
b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRl
RGF0YVN0b3JlLmNwcApAQCAtMTcyMyw2ICsxNzIzLDE3IEBAIHZvaWQgV2Vic2l0ZURhdGFTdG9y
ZTo6c2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnREZWJ1Z01vZGUoYm9vbCBlbmFibGVkKQogICAg
IG5ldHdvcmtQcm9jZXNzKCkuc2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnREZWJ1Z01vZGUoc2Vz
c2lvbklEKCksIGVuYWJsZWQpOwogfQogCit2b2lkIFdlYnNpdGVEYXRhU3RvcmU6OmNsb3NlRGF0
YWJhc2VzKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3sK
KyAgICBhdXRvIGNhbGxiYWNrQWdncmVnYXRvciA9IENhbGxiYWNrQWdncmVnYXRvcjo6Y3JlYXRl
KFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKKworICAgIG5ldHdvcmtQcm9jZXNzKCkuc2Vu
ZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6Q2xvc2VQQ01EYXRhYmFz
ZShtX3Nlc3Npb25JRCksIFtjYWxsYmFja0FnZ3JlZ2F0b3JdIHsgfSk7CisKKyNpZiBFTkFCTEUo
SU5URUxMSUdFTlRfVFJBQ0tJTkdfUFJFVkVOVElPTikKKyAgICBuZXR3b3JrUHJvY2VzcygpLnNl
bmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3M6OkNsb3NlSVRQRGF0YWJh
c2UobV9zZXNzaW9uSUQpLCBbY2FsbGJhY2tBZ2dyZWdhdG9yXSB7IH0pOworI2VuZGlmCit9CisK
ICNpZiBFTkFCTEUoSU5URUxMSUdFTlRfVFJBQ0tJTkdfUFJFVkVOVElPTikKIHZvaWQgV2Vic2l0
ZURhdGFTdG9yZTo6bG9nVGVzdGluZ0V2ZW50KGNvbnN0IFN0cmluZyYgZXZlbnQpCiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0
b3JlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0
b3JlLmgKaW5kZXggMTQ3YTBiOWJhNzhkODcxYjdhNzZhNzQ5YTcyNDE3NTVmM2Q3NzQ0ZC4uN2M1
NDAxNmY4YTViMDYxZWQxODFhYzg4ODg3M2UzOWQzNzhlZDQ1NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaApAQCAt
MjM3LDYgKzIzNyw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzSXRwU3RhdGVFeHBsaWNpdGx5U2V0
KCkgY29uc3QgeyByZXR1cm4gbV9pc0l0cFN0YXRlRXhwbGljaXRseVNldDsgfQogICAgIHZvaWQg
dXNlRXhwbGljaXRJVFBTdGF0ZSgpIHsgbV9pc0l0cFN0YXRlRXhwbGljaXRseVNldCA9IHRydWU7
IH0KICNlbmRpZgorICAgIHZvaWQgY2xvc2VEYXRhYmFzZXMoQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZCgpPiYmKTsKICAgICB2b2lkIHN5bmNMb2NhbFN0b3JhZ2UoQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZCgpPiYmKTsKICAgICB2b2lkIHNldENhY2hlTWF4QWdlQ2FwRm9yUHJldmFsZW50UmVzb3VyY2Vz
KFNlY29uZHMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCByZXNldENh
Y2hlTWF4QWdlQ2FwRm9yUHJldmFsZW50UmVzb3VyY2VzKENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
KT4mJik7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5k
ZXggY2I0YzgyNmZiOGM0MDE2YmNmYjgwOTJmODZkMjU3NDMzNjdlZDQ2ZS4uMTY0NGU1OTRhNzli
YmNmMDU0YTI1MGUxNmY2MzNmYjE1YWFmN2VlNSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9n
CisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIxLTEyLTIxICBLYXRl
IENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgorCisgICAgICAgIFBDTSB0ZXN0
cyBjcmFzaGluZyB3aXRoICd1bmxpbmsnIGVycm9ycworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0NTY1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84
Njc3MTc2Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnQubW06CisgICAgICAgIChjbGVhblVwKToKKyAgICAgICAgQ2xvc2UgdGhlIGRhdGFiYXNlcyBi
ZWZvcmUgcmVtb3ZpbmcgdGhlIGZpbGVzLgorCisgICAgICAgIChURVNUKToKKyAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsOgor
ICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHA6
CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6OnNpbXVsYXRlUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnRTZXNzaW9uUmVzdGFydCk6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6OnNpbXVsYXRlUmVz
b3VyY2VMb2FkU3RhdGlzdGljc1Nlc3Npb25SZXN0YXJ0KTogRGVsZXRlZC4KKyAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaDoKKyAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdENv
bnRyb2xsZXI6OnNpbXVsYXRlUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTZXNzaW9uUmVzdGFydCk6
CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpzaW11bGF0ZVJlc291cmNlTG9hZFN0YXRp
c3RpY3NTZXNzaW9uUmVzdGFydCk6IERlbGV0ZWQuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5l
ci9UZXN0Q29udHJvbGxlci5oOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdEludm9j
YXRpb24uY3BwOgorICAgICAgICAoV1RSOjpUZXN0SW52b2NhdGlvbjo6ZGlkUmVjZWl2ZVN5bmNo
cm9ub3VzTWVzc2FnZUZyb21JbmplY3RlZEJ1bmRsZSk6CisgICAgICAgIFJlbmFtZS4KKwogMjAy
MS0xMS0wMyAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hlbmV5QGFwcGxlLmNvbT4KIAogICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyMTY2CmRpZmYg
LS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1ByaXZhdGVDbGlj
a01lYXN1cmVtZW50Lm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Q
cml2YXRlQ2xpY2tNZWFzdXJlbWVudC5tbQppbmRleCA1MmFiNWM0YjcxNDdjZmZjMjE4ZDlhM2Ey
YTU1MzEwNzc5MzllMzI5Li5hYTkwOGRmMDIxNWRjZThlOTMxNzI5ZGFhNzg0MTkzMWRiZWI1MWIy
IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1ByaXZh
dGVDbGlja01lYXN1cmVtZW50Lm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Q29jb2EvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQubW0KQEAgLTMxMSwxNCArMzExLDE5IEBA
IHN0YXRpYyBOU1N0cmluZyAqZW1wdHlQY21EQlBhdGgoKQogICAgIHJldHVybiBmaWxlVVJMLnBh
dGg7CiB9CiAKLXN0YXRpYyB2b2lkIGNsZWFuVXAoKQorc3RhdGljIHZvaWQgY2xlYW5VcChSZXRh
aW5QdHI8V0tXZWJWaWV3PiB3ZWJWaWV3KQogewotICAgIE5TRmlsZU1hbmFnZXIgKmRlZmF1bHRG
aWxlTWFuYWdlciA9IE5TRmlsZU1hbmFnZXIuZGVmYXVsdE1hbmFnZXI7Ci0gICAgTlNTdHJpbmcg
Kml0cFJvb3QgPSBXS1dlYnNpdGVEYXRhU3RvcmUuZGVmYXVsdERhdGFTdG9yZS5fY29uZmlndXJh
dGlvbi5fcmVzb3VyY2VMb2FkU3RhdGlzdGljc0RpcmVjdG9yeS5wYXRoOwotICAgIFtkZWZhdWx0
RmlsZU1hbmFnZXIgcmVtb3ZlSXRlbUF0UGF0aDppdHBSb290IGVycm9yOm5pbF07Ci0gICAgd2hp
bGUgKFtkZWZhdWx0RmlsZU1hbmFnZXIgZmlsZUV4aXN0c0F0UGF0aDppdHBSb290XSkKLSAgICAg
ICAgdXNsZWVwKDEwMDAwKTsKLSAgICBFWFBFQ1RfRkFMU0UoW2RlZmF1bHRGaWxlTWFuYWdlciBm
aWxlRXhpc3RzQXRQYXRoOml0cFJvb3RdKTsKKyAgICBzdGF0aWMgYm9vbCBpc0RvbmUgPSBmYWxz
ZTsKKyAgICBbW3dlYlZpZXcuZ2V0KCkgY29uZmlndXJhdGlvbl0ud2Vic2l0ZURhdGFTdG9yZSBf
Y2xvc2VEYXRhYmFzZXM6XnsKKyAgICAgICAgTlNGaWxlTWFuYWdlciAqZGVmYXVsdEZpbGVNYW5h
Z2VyID0gTlNGaWxlTWFuYWdlci5kZWZhdWx0TWFuYWdlcjsKKyAgICAgICAgTlNTdHJpbmcgKml0
cFJvb3QgPSBXS1dlYnNpdGVEYXRhU3RvcmUuZGVmYXVsdERhdGFTdG9yZS5fY29uZmlndXJhdGlv
bi5fcmVzb3VyY2VMb2FkU3RhdGlzdGljc0RpcmVjdG9yeS5wYXRoOworICAgICAgICBbZGVmYXVs
dEZpbGVNYW5hZ2VyIHJlbW92ZUl0ZW1BdFBhdGg6aXRwUm9vdCBlcnJvcjpuaWxdOworICAgICAg
ICB3aGlsZSAoW2RlZmF1bHRGaWxlTWFuYWdlciBmaWxlRXhpc3RzQXRQYXRoOml0cFJvb3RdKQor
ICAgICAgICAgICAgdXNsZWVwKDEwMDAwKTsKKyAgICAgICAgRVhQRUNUX0ZBTFNFKFtkZWZhdWx0
RmlsZU1hbmFnZXIgZmlsZUV4aXN0c0F0UGF0aDppdHBSb290XSk7CisgICAgICAgIGlzRG9uZSA9
IHRydWU7CisgICAgfV07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZpc0RvbmUpOwog
fQogCiBzdGF0aWMgdm9pZCBjcmVhdGVBbmRQb3B1bGF0ZU9ic2VydmVkRG9tYWluVGFibGUoV2Vi
Q29yZTo6U1FMaXRlRGF0YWJhc2UmIGRhdGFiYXNlKQpAQCAtMzg0LDcgKzM4OSw3IEBAIFRFU1Qo
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsIE1pZ3JhdGVGcm9tUmVzb3VyY2VMb2FkU3RhdGlzdGlj
czEpCiAgICAgc2V0VXBGcm9tUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlKGFkZFVuYXR0
cmlidXRlZFBDTXYxLCBhZGRBdHRyaWJ1dGVkUENNdjEpOwogICAgIGF1dG8gd2ViVmlldyA9IHdl
YlZpZXdXaXRoUmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWRJbk5ldHdvcmtQcm9jZXNzKCk7
CiAgICAgcG9sbFVudGlsUENNSXNNaWdyYXRlZCh3ZWJWaWV3LmdldCgpLCBNaWdyYXRpbmdGcm9t
UmVzb3VyY2VMb2FkU3RhdGlzdGljczo6WWVzLCBVc2luZ0Rlc3RpbmF0aW9uVG9rZW46Ok5vKTsK
LSAgICBjbGVhblVwKCk7CisgICAgY2xlYW5VcCh3ZWJWaWV3KTsKIH0KIAogVEVTVChQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudCwgTWlncmF0ZUZyb21SZXNvdXJjZUxvYWRTdGF0aXN0aWNzMikKQEAg
LTM5Miw3ICszOTcsNyBAQCBURVNUKFByaXZhdGVDbGlja01lYXN1cmVtZW50LCBNaWdyYXRlRnJv
bVJlc291cmNlTG9hZFN0YXRpc3RpY3MyKQogICAgIHNldFVwRnJvbVJlc291cmNlTG9hZFN0YXRp
c3RpY3NEYXRhYmFzZShhZGRVbmF0dHJpYnV0ZWRQQ012MiwgYWRkQXR0cmlidXRlZFBDTXYyKTsK
ICAgICBhdXRvIHdlYlZpZXcgPSB3ZWJWaWV3V2l0aFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFi
bGVkSW5OZXR3b3JrUHJvY2VzcygpOwogICAgIHBvbGxVbnRpbFBDTUlzTWlncmF0ZWQod2ViVmll
dy5nZXQoKSwgTWlncmF0aW5nRnJvbVJlc291cmNlTG9hZFN0YXRpc3RpY3M6OlllcywgVXNpbmdE
ZXN0aW5hdGlvblRva2VuOjpObyk7Ci0gICAgY2xlYW5VcCgpOworICAgIGNsZWFuVXAod2ViVmll
dyk7CiB9CiAKIFRFU1QoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsIE1pZ3JhdGVGcm9tUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljczMpCkBAIC00MDAsNyArNDA1LDcgQEAgVEVTVChQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudCwgTWlncmF0ZUZyb21SZXNvdXJjZUxvYWRTdGF0aXN0aWNzMykKICAgICBzZXRV
cEZyb21SZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2UoYWRkVW5hdHRyaWJ1dGVkUENNdjMs
IGFkZEF0dHJpYnV0ZWRQQ012Myk7CiAgICAgYXV0byB3ZWJWaWV3ID0gd2ViVmlld1dpdGhSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxlZEluTmV0d29ya1Byb2Nlc3MoKTsKICAgICBwb2xsVW50
aWxQQ01Jc01pZ3JhdGVkKHdlYlZpZXcuZ2V0KCksIE1pZ3JhdGluZ0Zyb21SZXNvdXJjZUxvYWRT
dGF0aXN0aWNzOjpZZXMsIFVzaW5nRGVzdGluYXRpb25Ub2tlbjo6Tm8pOwotICAgIGNsZWFuVXAo
KTsKKyAgICBjbGVhblVwKHdlYlZpZXcpOwogfQogCiBURVNUKFByaXZhdGVDbGlja01lYXN1cmVt
ZW50LCBNaWdyYXRlRnJvbVBDTTEpCkBAIC00MDgsNyArNDEzLDcgQEAgVEVTVChQcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudCwgTWlncmF0ZUZyb21QQ00xKQogICAgIHNldFVwRnJvbVBDTURhdGFiYXNl
KGFkZFVuYXR0cmlidXRlZFBDTXY0LCBhZGRBdHRyaWJ1dGVkUENNdjQpOwogICAgIGF1dG8gd2Vi
VmlldyA9IHdlYlZpZXdXaXRoUmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWRJbk5ldHdvcmtQ
cm9jZXNzKCk7CiAgICAgcG9sbFVudGlsUENNSXNNaWdyYXRlZCh3ZWJWaWV3LmdldCgpLCBNaWdy
YXRpbmdGcm9tUmVzb3VyY2VMb2FkU3RhdGlzdGljczo6Tm8sIFVzaW5nRGVzdGluYXRpb25Ub2tl
bjo6Tm8pOwotICAgIGNsZWFuVXAoKTsKKyAgICBjbGVhblVwKHdlYlZpZXcpOwogfQogCiBURVNU
KFByaXZhdGVDbGlja01lYXN1cmVtZW50LCBNaWdyYXRlV2l0aERlc3RpbmF0aW9uVG9rZW4pCkBA
IC00MTYsNSArNDIxLDUgQEAgVEVTVChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgTWlncmF0ZVdp
dGhEZXN0aW5hdGlvblRva2VuKQogICAgIHNldFVwRnJvbVBDTURhdGFiYXNlKGFkZFVuYXR0cmli
dXRlZFBDTXY0LCBhZGRBdHRyaWJ1dGVkUENNdjUpOwogICAgIGF1dG8gd2ViVmlldyA9IHdlYlZp
ZXdXaXRoUmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWRJbk5ldHdvcmtQcm9jZXNzKCk7CiAg
ICAgcG9sbFVudGlsUENNSXNNaWdyYXRlZCh3ZWJWaWV3LmdldCgpLCBNaWdyYXRpbmdGcm9tUmVz
b3VyY2VMb2FkU3RhdGlzdGljczo6Tm8sIFVzaW5nRGVzdGluYXRpb25Ub2tlbjo6WWVzKTsKLSAg
ICBjbGVhblVwKCk7CisgICAgY2xlYW5VcCh3ZWJWaWV3KTsKIH0KZGlmZiAtLWdpdCBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwg
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5u
ZXIuaWRsCmluZGV4IDVmODUyOTkyMDYzNzMxZTBjMjEyOGIyMGJiZWY2ZmI3NzBkZWNiOTUuLjhk
ZTY4MWIyMjI0MTA5MDgxYTQ5N2UxNDE0ZmYwYjU5ZjY3OTc0ZGEgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwK
KysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0
UnVubmVyLmlkbApAQCAtNDEyLDcgKzQxMiw3IEBAIGludGVyZmFjZSBUZXN0UnVubmVyIHsKICAg
ICB1bmRlZmluZWQgc2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRPdmVycmlkZVRpbWVyRm9yVGVz
dGluZyhib29sZWFuIHZhbHVlKTsKICAgICB1bmRlZmluZWQgbWFya0F0dHJpYnV0ZWRQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudHNBc0V4cGlyZWRGb3JUZXN0aW5nKCk7CiAgICAgdW5kZWZpbmVkIHNl
dFByaXZhdGVDbGlja01lYXN1cmVtZW50RXBoZW1lcmFsTWVhc3VyZW1lbnRGb3JUZXN0aW5nKGJv
b2xlYW4gdmFsdWUpOwotICAgIHVuZGVmaW5lZCBzaW11bGF0ZVJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NTZXNzaW9uUmVzdGFydCgpOworICAgIHVuZGVmaW5lZCBzaW11bGF0ZVByaXZhdGVDbGlja01l
YXN1cmVtZW50U2Vzc2lvblJlc3RhcnQoKTsKICAgICB1bmRlZmluZWQgc2V0UHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnRUb2tlblB1YmxpY0tleVVSTEZvclRlc3RpbmcoRE9NU3RyaW5nIHVybCk7CiAg
ICAgdW5kZWZpbmVkIHNldFByaXZhdGVDbGlja01lYXN1cmVtZW50VG9rZW5TaWduYXR1cmVVUkxG
b3JUZXN0aW5nKERPTVN0cmluZyB1cmwpOwogICAgIHVuZGVmaW5lZCBzZXRQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3RpbmcoRE9NU3RyaW5nIHNvdXJj
ZVVSTFN0cmluZywgRE9NU3RyaW5nIGRlc3RpbmF0aW9uVVJMU3RyaW5nKTsKZGlmZiAtLWdpdCBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAgYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCmluZGV4
IGEzMjgwZGYxNmNkNDRmNmQwOTgwMDhlNjE5MmE0YzExMzA0YWUyMmEuLjY3ZDU2MmEwYTQyZGVm
ZGRkZjE5NWU2OTgzNTY4ODM0ODJhMzc0OTIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcApAQCAtMjA4NCw5ICsyMDg0LDkg
QEAgdm9pZCBUZXN0UnVubmVyOjpzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEVwaGVtZXJhbE1l
YXN1cmVtZW50Rm9yVGVzdGluZyhib29sIHYKICAgICBwb3N0U3luY2hyb25vdXNQYWdlTWVzc2Fn
ZSgiU2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRFcGhlbWVyYWxNZWFzdXJlbWVudEZvclRlc3Rp
bmciLCB2YWx1ZSk7CiB9CiAKLXZvaWQgVGVzdFJ1bm5lcjo6c2ltdWxhdGVSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzU2Vzc2lvblJlc3RhcnQoKQordm9pZCBUZXN0UnVubmVyOjpzaW11bGF0ZVByaXZh
dGVDbGlja01lYXN1cmVtZW50U2Vzc2lvblJlc3RhcnQoKQogewotICAgIHBvc3RTeW5jaHJvbm91
c1BhZ2VNZXNzYWdlKCJTaW11bGF0ZVJlc291cmNlTG9hZFN0YXRpc3RpY3NTZXNzaW9uUmVzdGFy
dCIpOworICAgIHBvc3RTeW5jaHJvbm91c1BhZ2VNZXNzYWdlKCJTaW11bGF0ZVByaXZhdGVDbGlj
a01lYXN1cmVtZW50U2Vzc2lvblJlc3RhcnQiKTsKIH0KIAogdm9pZCBUZXN0UnVubmVyOjpzZXRQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudFRva2VuUHVibGljS2V5VVJMRm9yVGVzdGluZyhKU1N0cmlu
Z1JlZiB1cmxTdHJpbmcpCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL1Rlc3RSdW5uZXIuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvVGVzdFJ1bm5lci5oCmluZGV4IDVjNmE5NmNhZTAxZjU5MjU1NDViOGYwNjBlYWZkZjJk
NmJlMWJmMjUuLjJiNzhjMWRhOTZiMThhM2I1ZWExYTQ3ZTBiZTVhNTcxMmZjOTk0ZDUgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5o
CisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5o
CkBAIC01MzUsNyArNTM1LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0UHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnRFcGhlbWVyYWxNZWFzdXJlbWVudEZvclRlc3RpbmcoYm9vbCB2YWx1ZSk7CiAgICAg
dm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEZyYXVkUHJldmVudGlvblZhbHVlc0ZvclRl
c3RpbmcoSlNTdHJpbmdSZWYgdW5saW5rYWJsZVRva2VuLCBKU1N0cmluZ1JlZiBzZWNyZXRUb2tl
biwgSlNTdHJpbmdSZWYgc2lnbmF0dXJlLCBKU1N0cmluZ1JlZiBrZXlJRCk7CiAgICAgdm9pZCBz
ZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEFwcEJ1bmRsZUlERm9yVGVzdGluZyhKU1N0cmluZ1Jl
Zik7Ci0gICAgdm9pZCBzaW11bGF0ZVJlc291cmNlTG9hZFN0YXRpc3RpY3NTZXNzaW9uUmVzdGFy
dCgpOworICAgIHZvaWQgc2ltdWxhdGVQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFNlc3Npb25SZXN0
YXJ0KCk7CiAKICAgICB2b2lkIHNldElzU3BlZWNoUmVjb2duaXRpb25QZXJtaXNzaW9uR3JhbnRl
ZChib29sKTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJv
bGxlci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAppbmRl
eCBhYTFkNWJkZTE0YmViMzdlZTU0ZTkyYmY1ZTI5NTM3ZWY5ZWE1NjY1Li45ZDk1Y2QzOGJhYjE5
OTYyNjkwMDhhMzVhOWFlNTM4YjM4YmUyZGVkIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rl
c3RDb250cm9sbGVyLmNwcApAQCAtMzc4MCwxMCArMzc4MCwxMCBAQCB2b2lkIFRlc3RDb250cm9s
bGVyOjpzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEVwaGVtZXJhbE1lYXN1cmVtZW50Rm9yVGVz
dGluZyhibwogICAgIHJ1blVudGlsKGNhbGxiYWNrQ29udGV4dC5kb25lLCBub1RpbWVvdXQpOwog
fQogCi12b2lkIFRlc3RDb250cm9sbGVyOjpzaW11bGF0ZVJlc291cmNlTG9hZFN0YXRpc3RpY3NT
ZXNzaW9uUmVzdGFydCgpCit2b2lkIFRlc3RDb250cm9sbGVyOjpzaW11bGF0ZVByaXZhdGVDbGlj
a01lYXN1cmVtZW50U2Vzc2lvblJlc3RhcnQoKQogewogICAgIFByaXZhdGVDbGlja01lYXN1cmVt
ZW50Vm9pZENhbGxiYWNrQ29udGV4dCBjYWxsYmFja0NvbnRleHQoKnRoaXMpOwotICAgIFdLUGFn
ZVNpbXVsYXRlUmVzb3VyY2VMb2FkU3RhdGlzdGljc1Nlc3Npb25SZXN0YXJ0KG1fbWFpbldlYlZp
ZXctPnBhZ2UoKSwgcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRWb2lkQ2FsbGJhY2ssICZjYWxsYmFj
a0NvbnRleHQpOworICAgIFdLUGFnZVNpbXVsYXRlUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTZXNz
aW9uUmVzdGFydChtX21haW5XZWJWaWV3LT5wYWdlKCksIHByaXZhdGVDbGlja01lYXN1cmVtZW50
Vm9pZENhbGxiYWNrLCAmY2FsbGJhY2tDb250ZXh0KTsKICAgICBydW5VbnRpbChjYWxsYmFja0Nv
bnRleHQuZG9uZSwgbm9UaW1lb3V0KTsKIH0KIApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9UZXN0Q29udHJvbGxlci5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29u
dHJvbGxlci5oCmluZGV4IDQwM2VkYzIzZTg1MGExNDg0YzYxMmQ1OWQ0ZGJkYjA5OTFhMmMxN2Iu
LjUyMDg4N2NmMmUwYWQxNTc2Y2NlZTZjYzk2ZDg1MTM3NGVmNzkxOTMgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaAorKysgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgKQEAgLTM1MCw3ICszNTAsNyBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE92ZXJyaWRlVGltZXJGb3JUZXN0aW5n
KGJvb2wgdmFsdWUpOwogICAgIHZvaWQgbWFya0F0dHJpYnV0ZWRQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudHNBc0V4cGlyZWRGb3JUZXN0aW5nKCk7CiAgICAgdm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFz
dXJlbWVudEVwaGVtZXJhbE1lYXN1cmVtZW50Rm9yVGVzdGluZyhib29sIHZhbHVlKTsKLSAgICB2
b2lkIHNpbXVsYXRlUmVzb3VyY2VMb2FkU3RhdGlzdGljc1Nlc3Npb25SZXN0YXJ0KCk7CisgICAg
dm9pZCBzaW11bGF0ZVByaXZhdGVDbGlja01lYXN1cmVtZW50U2Vzc2lvblJlc3RhcnQoKTsKICAg
ICB2b2lkIHNldFByaXZhdGVDbGlja01lYXN1cmVtZW50VG9rZW5QdWJsaWNLZXlVUkxGb3JUZXN0
aW5nKFdLVVJMUmVmKTsKICAgICB2b2lkIHNldFByaXZhdGVDbGlja01lYXN1cmVtZW50VG9rZW5T
aWduYXR1cmVVUkxGb3JUZXN0aW5nKFdLVVJMUmVmKTsKICAgICB2b2lkIHNldFByaXZhdGVDbGlj
a01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxzRm9yVGVzdGluZyhXS1VSTFJlZiBzb3Vy
Y2VVUkwsIFdLVVJMUmVmIGRlc3RpbmF0aW9uVVJMKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9U
ZXN0SW52b2NhdGlvbi5jcHAKaW5kZXggNzJmYTgyYmJjMDEwMjk2ZjA0ZDEzMGVjOWJjNmE0MzU3
Y2JkMGU5My4uYmFmMTFjN2Q4Mjg2MGQ1ZjQzYzRlMjNlZGM2ZGE2ZWY1OWEzY2Q4ZCAxMDA2NDQK
LS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAKKysrIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAKQEAgLTEzODcsOCArMTM4Nyw4
IEBAIFdLUmV0YWluUHRyPFdLVHlwZVJlZj4gVGVzdEludm9jYXRpb246OmRpZFJlY2VpdmVTeW5j
aHJvbm91c01lc3NhZ2VGcm9tSW5qZWN0ZWRCCiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAg
IH0KICAgICAKLSAgICBpZiAoV0tTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhtZXNzYWdlTmFt
ZSwgIlNpbXVsYXRlUmVzb3VyY2VMb2FkU3RhdGlzdGljc1Nlc3Npb25SZXN0YXJ0IikpIHsKLSAg
ICAgICAgVGVzdENvbnRyb2xsZXI6OnNpbmdsZXRvbigpLnNpbXVsYXRlUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1Nlc3Npb25SZXN0YXJ0KCk7CisgICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRGOENT
dHJpbmcobWVzc2FnZU5hbWUsICJTaW11bGF0ZVByaXZhdGVDbGlja01lYXN1cmVtZW50U2Vzc2lv
blJlc3RhcnQiKSkgeworICAgICAgICBUZXN0Q29udHJvbGxlcjo6c2luZ2xldG9uKCkuc2ltdWxh
dGVQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFNlc3Npb25SZXN0YXJ0KCk7CiAgICAgICAgIHJldHVy
biBudWxscHRyOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGNiNjQ0NjMxMWZlMzE4NjgxM2Q3NDQ5MDg5ZmU4
OGU0MWMzYmMzZjMuLjgxYjEzOTc0NDE3MDgxNWNjNWI2Njc0ODRmNDhkOGI3ZDk1ZDI3NGUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0xMi0yMSAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVf
Y2hlbmV5QGFwcGxlLmNvbT4KKworICAgICAgICBQQ00gdGVzdHMgY3Jhc2hpbmcgd2l0aCAndW5s
aW5rJyBlcnJvcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzNDU2NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODY3NzE3NjY+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3ByaXZh
dGVDbGlja01lYXN1cmVtZW50L2V4cGlyZWQtYWQtY2xpY2stZ2V0cy1yZW1vdmVkLW9uLXNlc3Np
b24tc3RhcnQuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVt
ZW50L2V4cGlyZWQtYXR0cmlidXRpb24tcmVwb3J0LWdldHMtc2VudC1vbi1zZXNzaW9uLXN0YXJ0
Lmh0bWw6CisKIDIwMjEtMTItMjAgIFBhdHJpY2sgR3JpZmZpcyAgPHBncmlmZmlzQGlnYWxpYS5j
b20+CiAKICAgICAgICAgQ1NQOiBBbHdheXMgdXNlIFVURi04IGVuY29kZWQgY29udGVudCB3aGVu
IGNoZWNraW5nIGhhc2hlcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2
YXRlQ2xpY2tNZWFzdXJlbWVudC9leHBpcmVkLWFkLWNsaWNrLWdldHMtcmVtb3ZlZC1vbi1zZXNz
aW9uLXN0YXJ0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1
cmVtZW50L2V4cGlyZWQtYWQtY2xpY2stZ2V0cy1yZW1vdmVkLW9uLXNlc3Npb24tc3RhcnQuaHRt
bAppbmRleCBjMzVhODRmY2E2MWE2NzRlYzhjMzU4NmE3M2Q3NjdkNDRlMzUxOGI0Li45Y2JkYjg5
NTlkNTE4YTE2Y2RiOWViZGRlYmZiMDRhYTU2YThkNTliIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L2V4cGlyZWQtYWQtY2xpY2stZ2V0
cy1yZW1vdmVkLW9uLXNlc3Npb24tc3RhcnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L2V4cGlyZWQtYWQtY2xpY2stZ2V0cy1yZW1vdmVk
LW9uLXNlc3Npb24tc3RhcnQuaHRtbApAQCAtNjIsNyArNjIsNyBAQAogICAgICAgICAgICAgICAg
IGFjdGl2YXRlRWxlbWVudCgidGFyZ2V0TGluayIpOwogICAgICAgICAgICAgfSBlbHNlIGlmICh3
aW5kb3cubG9jYXRpb24uc2VhcmNoID09PSAiP3N0ZXBUd28iKSB7CiAgICAgICAgICAgICAgICAg
d2luZG93LnRlc3RSdW5uZXIubWFya1ByaXZhdGVDbGlja01lYXN1cmVtZW50c0FzRXhwaXJlZEZv
clRlc3RpbmcoKTsKLSAgICAgICAgICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci5zaW11bGF0ZVJl
c291cmNlTG9hZFN0YXRpc3RpY3NTZXNzaW9uUmVzdGFydCgpOworICAgICAgICAgICAgICAgIHdp
bmRvdy50ZXN0UnVubmVyLnNpbXVsYXRlUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTZXNzaW9uUmVz
dGFydCgpOwogICAgICAgICAgICAgICAgIGNvbnZlcnQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcFByaXZhdGVDbGlja01lYXN1cmVtZW50KCk7CiAgICAg
ICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInRhcmdldExpbmsiKSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3ByaXZhdGVDbGlja01lYXN1cmVtZW50L2V4cGlyZWQtYXR0cmlidXRpb24tcmVwb3J0LWdl
dHMtc2VudC1vbi1zZXNzaW9uLXN0YXJ0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3By
aXZhdGVDbGlja01lYXN1cmVtZW50L2V4cGlyZWQtYXR0cmlidXRpb24tcmVwb3J0LWdldHMtc2Vu
dC1vbi1zZXNzaW9uLXN0YXJ0Lmh0bWwKaW5kZXggNmYxYjY1OGZlZGQzOWNmMmRmZDRmYzQ4MzVk
ZDUxMDI4NmU2MDBlZi4uMDM0NWU0Y2JjMWUxNTI4MzE4ZjUzN2YwMjExYjcwYTQzMzEwNjRlZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dC9leHBpcmVkLWF0dHJpYnV0aW9uLXJlcG9ydC1nZXRzLXNlbnQtb24tc2Vzc2lvbi1zdGFydC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQv
ZXhwaXJlZC1hdHRyaWJ1dGlvbi1yZXBvcnQtZ2V0cy1zZW50LW9uLXNlc3Npb24tc3RhcnQuaHRt
bApAQCAtNDcsNyArNDcsNyBAQAogICAgICAgICAvLyBNYXJrIHRoaXMgYXR0cmlidXRpb24gYXMg
cGFzdC1kdWUgZm9yIHJlcG9ydGluZywgYW5kIHNpbXVsYXRlIGEgc2Vzc2lvbiByZXN0YXJ0IHRv
CiAgICAgICAgIC8vIG1ha2Ugc3VyZSB0aGUgYXR0cmlidXRpb24gZ2V0cyBzZW50IGltbWVkaWF0
ZWx5LgogICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci5tYXJrQXR0cmlidXRlZFByaXZhdGVDbGlj
a01lYXN1cmVtZW50c0FzRXhwaXJlZEZvclRlc3RpbmcoKTsKLSAgICAgICAgdGVzdFJ1bm5lci5z
aW11bGF0ZVJlc291cmNlTG9hZFN0YXRpc3RpY3NTZXNzaW9uUmVzdGFydCgpOworICAgICAgICB0
ZXN0UnVubmVyLnNpbXVsYXRlUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTZXNzaW9uUmVzdGFydCgp
OwogICAgICAgICB0ZXN0UnVubmVyLmR1bXBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCgpOwogICAg
ICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0
YXJnZXRMaW5rIikpOwogICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJwaXhlbCIpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447828</attachid>
            <date>2021-12-22 13:23:36 -0800</date>
            <delta_ts>2021-12-22 14:25:07 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-234565-20211222162334.patch</filename>
            <type>text/plain</type>
            <size>35506</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3Mjc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGM3MDIzYTMzN2Y0NTYzNjk0
MjhkZjc3NTNmODNhZjk2OWI4YTk4Y2YuLmUwY2YyMmQ5NWFkNmIxNjIzNWIzMzBjZmQ3NTVmNGMy
YTJhN2M4MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDkgQEAKKzIwMjEtMTItMjEgIEthdGUgQ2hl
bmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgUENNIHRlc3RzIGNy
YXNoaW5nIHdpdGggJ3VubGluaycgZXJyb3JzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ1NjUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg2Nzcx
NzY2PgorCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXggQ2hyaXN0ZW5zZW4uCisKKyAgICAgICAg
Q2xvc2UgUENNIGFuZCBJVFAgZGF0YWJhc2VzIGJlZm9yZSBkZWxldGluZyB0aGVpciBkYXRhYmFz
ZSBmaWxlcyBpbgorICAgICAgICBBUEkgdGVzdGluZy4gVGhpcyBhZGRzIDIgbmV3IFNQSXMgb24g
V0tXZWJzaXRlRGF0YVN0b3JlIHRvIGNsb3NlIHRoZQorICAgICAgICByZXNwZWN0aXZlIGRhdGFi
YXNlcy4gSXQgYWxzbyBhZGRyZXNzZXMgdGhlIHJlbmFtaW5nIEZJWE1FIGZvcgorICAgICAgICBO
ZXR3b3JrUHJvY2Vzczo6c2ltdWxhdGVQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFNlc3Npb25SZXN0
YXJ0LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gVGhpcyB3aWxsIGZpeCBleGlzdGluZyBjcmFz
aGluZyBQQ00gQVBJIHRlc3RzLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6Y2xvc2VJVFBEYXRh
YmFzZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpjbG9zZVBDTURhdGFiYXNl
KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OnNpbXVsYXRlUHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnRTZXNzaW9uUmVzdGFydCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9j
ZXNzOjpzaW11bGF0ZVJlc291cmNlTG9hZFN0YXRpc3RpY3NTZXNzaW9uUmVzdGFydCk6IERlbGV0
ZWQuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaDoKKyAgICAgICAg
KiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdv
cmtTZXNzaW9uOjpkZXN0cm95UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTdG9yZSk6CisgICAgICAg
IChXZWJLaXQ6Ok5ldHdvcmtTZXNzaW9uOjpzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEFwcEJ1
bmRsZUlERm9yVGVzdGluZyk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtTZXNzaW9uOjpyZWNy
ZWF0ZVByaXZhdGVDbGlja01lYXN1cmVtZW50U3RvcmUpOiBSZW5hbWVkLgorICAgICAgICBSZW5h
bWVkIHRvIGJlIG1vcmUgYWNjdXJhdGUuIFRoaXMgZnVuY3Rpb24gb25seSBkZWxldGVzIHRoZSBk
YXRhYmFzZSwKKyAgICAgICAgdGhlbiB0aGUgY2FsbCBpbiB0aGUgY29tcGxldGlvbiBoYW5kbGVy
IHJlY3JlYXRlcyBpdC4gVGhpcyBhbHNvIG1ha2VzCisgICAgICAgIGl0IG1vcmUgY2xlYXIgd2hl
biB3ZSByZXVzZSBpdCB0byBjbG9zZSB0aGUgZGF0YWJhc2UuCisKKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1Bh
Z2UuY3BwOgorICAgICAgICAoV0tQYWdlU2ltdWxhdGVQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFNl
c3Npb25SZXN0YXJ0KToKKyAgICAgICAgKFdLUGFnZVNpbXVsYXRlUmVzb3VyY2VMb2FkU3RhdGlz
dGljc1Nlc3Npb25SZXN0YXJ0KTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Mv
V0tQYWdlUHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRl
RGF0YVN0b3JlLm1tOgorICAgICAgICAoLVtXS1dlYnNpdGVEYXRhU3RvcmUgX2Nsb3NlRGF0YWJh
c2VzOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3Jl
UHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnNpbXVsYXRlUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRT
ZXNzaW9uUmVzdGFydCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6c2ltdWxhdGVS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzU2Vzc2lvblJlc3RhcnQpOiBEZWxldGVkLgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURh
dGEvV2Vic2l0ZURhdGFTdG9yZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRhU3Rv
cmU6OmNsb3NlRGF0YWJhc2VzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vi
c2l0ZURhdGFTdG9yZS5oOgorCiAyMDIxLTEyLTIwICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNp
ZWhAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBzb21lIG1pc3NpbmcgQVBJIGF2YWlsYWJpbGl0
eSBtYWNyb3MgYXJvdW5kIHNvbWUgV2ViWFIgU1BJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCmluZGV4IDkzNmI0MjNjZWQ3Y2I4YjYyNTNhYWVh
ZjMwNmMxZGFkYTg5ZGM3YmQuLjI2YmQxMDcxOTk0YjNmODI3YmQ3ZDU5NzQ1MzlhZjE0OWMxNjIy
Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nl
c3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mu
Y3BwCkBAIC0xOTg4LDYgKzE5ODgsMTcgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzczo6cmVnaXN0cmFi
bGVEb21haW5zV2l0aFdlYnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwKICAgICAg
ICAgfSk7CiAgICAgfQogfQorCit2b2lkIE5ldHdvcmtQcm9jZXNzOjpjbG9zZUlUUERhdGFiYXNl
KFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNv
bXBsZXRpb25IYW5kbGVyKQoreworICAgIGlmIChhdXRvKiBzZXNzaW9uID0gbmV0d29ya1Nlc3Np
b24oc2Vzc2lvbklEKSkgeworICAgICAgICBzZXNzaW9uLT5kZXN0cm95UmVzb3VyY2VMb2FkU3Rh
dGlzdGljcyhXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKKyAgICBjb21wbGV0aW9uSGFuZGxlcigpOworfQorCiAjZW5kaWYgLy8gRU5BQkxFKElO
VEVMTElHRU5UX1RSQUNLSU5HX1BSRVZFTlRJT04pCiAKIHZvaWQgTmV0d29ya1Byb2Nlc3M6OmRv
d25sb2FkUmVxdWVzdChQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIERvd25sb2FkSUQgZG93bmxv
YWRJRCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBzdGQ6Om9wdGlvbmFsPE5hdmln
YXRpbmdUb0FwcEJvdW5kRG9tYWluPiBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluLCBjb25z
dCBTdHJpbmcmIHN1Z2dlc3RlZEZpbGVuYW1lKQpAQCAtMjQ0NCwxNCArMjQ1NSwyMyBAQCB2b2lk
IE5ldHdvcmtQcm9jZXNzOjpzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE92ZXJyaWRlVGltZXJG
b3JUZXN0aW5nKFBBTDo6U2VzcwogICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiB9CiAKLXZvaWQg
TmV0d29ya1Byb2Nlc3M6OnNpbXVsYXRlUmVzb3VyY2VMb2FkU3RhdGlzdGljc1Nlc3Npb25SZXN0
YXJ0KFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYm
IGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBOZXR3b3JrUHJvY2Vzczo6Y2xvc2VQQ01EYXRhYmFz
ZShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBj
b21wbGV0aW9uSGFuZGxlcikKK3sKKyAgICBpZiAoYXV0byogc2Vzc2lvbiA9IG5ldHdvcmtTZXNz
aW9uKHNlc3Npb25JRCkpIHsKKyAgICAgICAgc2Vzc2lvbi0+ZGVzdHJveVByaXZhdGVDbGlja01l
YXN1cmVtZW50U3RvcmUoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOworICAgICAgICByZXR1
cm47CisgICAgfQorCisgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKK30KKwordm9pZCBOZXR3b3Jr
UHJvY2Vzczo6c2ltdWxhdGVQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFNlc3Npb25SZXN0YXJ0KFBB
TDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBs
ZXRpb25IYW5kbGVyKQogewogICAgIGlmICghYWxsb3dzUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRU
ZXN0RnVuY3Rpb25hbGl0eSgpKQogICAgICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoKTsK
IAotICAgIC8vIEZJWE1FOiBSZW5hbWUgdGhpcyB0byBzaW11bGF0ZVByaXZhdGVDbGlja01lYXN1
cmVtZW50U2Vzc2lvblJlc3RhcnQuCiAgICAgaWYgKGF1dG8qIHNlc3Npb24gPSBuZXR3b3JrU2Vz
c2lvbihzZXNzaW9uSUQpKSB7Ci0gICAgICAgIHNlc3Npb24tPnJlY3JlYXRlUHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnRTdG9yZShbc2Vzc2lvbiA9IFdlYWtQdHIgeyAqc2Vzc2lvbiB9LCBjb21wbGV0
aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSAoKSBtdXRhYmxlIHsKKyAg
ICAgICAgc2Vzc2lvbi0+ZGVzdHJveVByaXZhdGVDbGlja01lYXN1cmVtZW50U3RvcmUoW3Nlc3Np
b24gPSBXZWFrUHRyIHsgKnNlc3Npb24gfSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNv
bXBsZXRpb25IYW5kbGVyKV0gKCkgbXV0YWJsZSB7CiAgICAgICAgICAgICBpZiAoc2Vzc2lvbikK
ICAgICAgICAgICAgICAgICBzZXNzaW9uLT5maXJlUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRUaW1l
ckltbWVkaWF0ZWx5Rm9yVGVzdGluZygpOwogICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nl
c3MuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAppbmRl
eCAwOTQ4ZDQyYTAwZmZjMmRkYTFhZTkxOTJiYmU2Yjg4ODZhNzU1MGFmLi43ODc3OTI3YTE3YzU1
OTZlYjAzYmQ0YWNmNGQ1OGU0MThhYzhiYTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCkBAIC0yNjAsNiArMjYwLDcgQEAgcHVibGljOgogICAg
IHZvaWQgc2V0Q3Jvc3NTaXRlTG9hZFdpdGhMaW5rRGVjb3JhdGlvbkZvclRlc3RpbmcoUEFMOjpT
ZXNzaW9uSUQsIGNvbnN0IFJlZ2lzdHJhYmxlRG9tYWluJiBmcm9tRG9tYWluLCBjb25zdCBSZWdp
c3RyYWJsZURvbWFpbiYgdG9Eb21haW4sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAg
ICAgdm9pZCByZXNldENyb3NzU2l0ZUxvYWRzV2l0aExpbmtEZWNvcmF0aW9uRm9yVGVzdGluZyhQ
QUw6OlNlc3Npb25JRCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIGhh
c0lzb2xhdGVkU2Vzc2lvbihQQUw6OlNlc3Npb25JRCwgY29uc3QgV2ViQ29yZTo6UmVnaXN0cmFi
bGVEb21haW4mLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKSBjb25zdDsKKyAgICB2
b2lkIGNsb3NlSVRQRGF0YWJhc2UoUEFMOjpTZXNzaW9uSUQsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoKT4mJik7CiAjaWYgRU5BQkxFKEFQUF9CT1VORF9ET01BSU5TKQogICAgIHZvaWQgc2V0QXBw
Qm91bmREb21haW5zRm9yUmVzb3VyY2VMb2FkU3RhdGlzdGljcyhQQUw6OlNlc3Npb25JRCwgSGFz
aFNldDxXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbj4mJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZCgpPiYmKTsKICNlbmRpZgpAQCAtMzE3LDcgKzMxOCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHNl
dFByaXZhdGVDbGlja01lYXN1cmVtZW50T3ZlcnJpZGVUaW1lckZvclRlc3RpbmcoUEFMOjpTZXNz
aW9uSUQsIGJvb2wgdmFsdWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9p
ZCBtYXJrQXR0cmlidXRlZFByaXZhdGVDbGlja01lYXN1cmVtZW50c0FzRXhwaXJlZEZvclRlc3Rp
bmcoUEFMOjpTZXNzaW9uSUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9p
ZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEVwaGVtZXJhbE1lYXN1cmVtZW50Rm9yVGVzdGlu
ZyhQQUw6OlNlc3Npb25JRCwgYm9vbCB2YWx1ZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYm
KTsKLSAgICB2b2lkIHNpbXVsYXRlUmVzb3VyY2VMb2FkU3RhdGlzdGljc1Nlc3Npb25SZXN0YXJ0
KFBBTDo6U2Vzc2lvbklELCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOworICAgIHZvaWQg
c2ltdWxhdGVQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFNlc3Npb25SZXN0YXJ0KFBBTDo6U2Vzc2lv
bklELCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOworICAgIHZvaWQgY2xvc2VQQ01EYXRh
YmFzZShQQUw6OlNlc3Npb25JRCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2
b2lkIHNldFByaXZhdGVDbGlja01lYXN1cmVtZW50VG9rZW5QdWJsaWNLZXlVUkxGb3JUZXN0aW5n
KFBBTDo6U2Vzc2lvbklELCBVUkwmJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAg
ICB2b2lkIHNldFByaXZhdGVDbGlja01lYXN1cmVtZW50VG9rZW5TaWduYXR1cmVVUkxGb3JUZXN0
aW5nKFBBTDo6U2Vzc2lvbklELCBVUkwmJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsK
ICAgICB2b2lkIHNldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxz
Rm9yVGVzdGluZyhQQUw6OlNlc3Npb25JRCwgVVJMJiYgc291cmNlVVJMLCBVUkwmJiBkZXN0aW5h
dGlvblVSTCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4
IGJlZjQzYTAwNWM3MTdjOGE4NDIxZWU2ZmUwNTE2ODcwMzBhNzUzMDMuLjYzN2UxNTlmMTg2Mzkz
YmVjNWNjMDVhYjViZDU3ODBiZThjNmZjZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtMTM1LDYgKzEz
NSw3IEBAIG1lc3NhZ2VzIC0+IE5ldHdvcmtQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsKICAgICBS
ZXNldENyb3NzU2l0ZUxvYWRzV2l0aExpbmtEZWNvcmF0aW9uRm9yVGVzdGluZyhQQUw6OlNlc3Np
b25JRCBzZXNzaW9uSUQpIC0+ICgpIEFzeW5jCiAgICAgRGVsZXRlQ29va2llc0ZvclRlc3Rpbmco
UEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiBkb21h
aW4sIGJvb2wgaW5jbHVkZUh0dHBPbmx5Q29va2llcykgLT4gKCkgQXN5bmMKICAgICBIYXNJc29s
YXRlZFNlc3Npb24oUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBXZWJDb3JlOjpSZWdpc3RyYWJs
ZURvbWFpbiBkb21haW4pIC0+IChib29sIGhhc0lzb2xhdGVkU2Vzc2lvbikgQXN5bmMKKyAgICBD
bG9zZUlUUERhdGFiYXNlKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkgLT4gKCkgQXN5bmMKICNp
ZiBFTkFCTEUoQVBQX0JPVU5EX0RPTUFJTlMpCiAgICAgU2V0QXBwQm91bmREb21haW5zRm9yUmVz
b3VyY2VMb2FkU3RhdGlzdGljcyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIEhhc2hTZXQ8V2Vi
Q29yZTo6UmVnaXN0cmFibGVEb21haW4+IGFwcEJvdW5kRG9tYWlucykgLT4gKCkgQXN5bmMKICNl
bmRpZgpAQCAtMTY0LDEzICsxNjUsMTQgQEAgbWVzc2FnZXMgLT4gTmV0d29ya1Byb2Nlc3MgTGVn
YWN5UmVjZWl2ZXIgewogICAgIFNldFByaXZhdGVDbGlja01lYXN1cmVtZW50T3ZlcnJpZGVUaW1l
ckZvclRlc3RpbmcoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBib29sIHZhbHVlKSAtPiAoKSBB
c3luYwogICAgIE1hcmtBdHRyaWJ1dGVkUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRzQXNFeHBpcmVk
Rm9yVGVzdGluZyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpIC0+ICgpIEFzeW5jCiAgICAgU2V0
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRFcGhlbWVyYWxNZWFzdXJlbWVudEZvclRlc3RpbmcoUEFM
OjpTZXNzaW9uSUQgc2Vzc2lvbklELCBib29sIHZhbHVlKSAtPiAoKSBBc3luYwotICAgIFNpbXVs
YXRlUmVzb3VyY2VMb2FkU3RhdGlzdGljc1Nlc3Npb25SZXN0YXJ0KFBBTDo6U2Vzc2lvbklEIHNl
c3Npb25JRCkgLT4gKCkgQXN5bmMKKyAgICBTaW11bGF0ZVByaXZhdGVDbGlja01lYXN1cmVtZW50
U2Vzc2lvblJlc3RhcnQoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKSAtPiAoKSBBc3luYwogICAg
IFNldFByaXZhdGVDbGlja01lYXN1cmVtZW50VG9rZW5QdWJsaWNLZXlVUkxGb3JUZXN0aW5nKFBB
TDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgVVJMIHVybCkgLT4gKCkgQXN5bmMKICAgICBTZXRQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudFRva2VuU2lnbmF0dXJlVVJMRm9yVGVzdGluZyhQQUw6OlNlc3Np
b25JRCBzZXNzaW9uSUQsIFVSTCB1cmwpIC0+ICgpIEFzeW5jCiAgICAgU2V0UHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTHNGb3JUZXN0aW5nKFBBTDo6U2Vzc2lvbklE
IHNlc3Npb25JRCwgVVJMIHNvdXJjZVVSTCwgVVJMIGRlc3RpbmF0aW9uVVJMKSAtPiAoKSBBc3lu
YwogICAgIE1hcmtQcml2YXRlQ2xpY2tNZWFzdXJlbWVudHNBc0V4cGlyZWRGb3JUZXN0aW5nKFBB
TDo6U2Vzc2lvbklEIHNlc3Npb25JRCkgLT4gKCkgQXN5bmMKICAgICBTZXRQQ01GcmF1ZFByZXZl
bnRpb25WYWx1ZXNGb3JUZXN0aW5nKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgU3RyaW5nIHNl
Y3JldFRva2VuLCBTdHJpbmcgdW5saW5rYWJsZVRva2VuLCBTdHJpbmcgc2lnbmF0dXJlLCBTdHJp
bmcga2V5SUQpIC0+ICgpIEFzeW5jCiAgICAgU2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBcHBC
dW5kbGVJREZvclRlc3RpbmcoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBTdHJpbmcgYXBwQnVu
ZGxlSURGb3JUZXN0aW5nKSAtPiAoKSBBc3luYworICAgIENsb3NlUENNRGF0YWJhc2UoUEFMOjpT
ZXNzaW9uSUQgc2Vzc2lvbklEKSAtPiAoKSBBc3luYwogCiAgICAgU2V0U2VydmljZVdvcmtlckZl
dGNoVGltZW91dEZvclRlc3RpbmcoU2Vjb25kcyBzZWNvbmRzKSAtPiAoKSBTeW5jaHJvbm91cwog
ICAgIFJlc2V0U2VydmljZVdvcmtlckZldGNoVGltZW91dEZvclRlc3RpbmcoKSAtPiAoKSBTeW5j
aHJvbm91cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9u
LmNwcAppbmRleCA1OWIxNjdhNzczZTgxZjVjNGFmZTg1MGUxZGY0MzU2YjFmOTY2ZWJhLi44Nzkx
ZTcyOTI3ZWQzZTFkODVjYzZhYjljOTg3MTRjNGM4NDU0NDY1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmNwcApAQCAtMjExLDcgKzIxMSw3IEBA
IHZvaWQgTmV0d29ya1Nlc3Npb246OmludmFsaWRhdGVBbmRDYW5jZWwoKQogI2VuZGlmCiB9CiAK
LXZvaWQgTmV0d29ya1Nlc3Npb246OnJlY3JlYXRlUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTdG9y
ZShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCit2b2lkIE5l
dHdvcmtTZXNzaW9uOjpkZXN0cm95UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTdG9yZShDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgcHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQoKS5kZXN0cm95U3RvcmVGb3JUZXN0aW5nKFdURk1vdmUoY29tcGxldGlv
bkhhbmRsZXIpKTsKIH0KQEAgLTQ2Nyw4ICs0NjcsNiBAQCB2b2lkIE5ldHdvcmtTZXNzaW9uOjpz
ZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEFwcEJ1bmRsZUlERm9yVGVzdGluZyhTdHJpbmcmJiBh
cAogewogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIGF1dG8gYXBwQnVuZGxlSUQgPSBXZWJDb3Jl
OjphcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIoKTsKLSAgICBpZiAoIWlzUnVubmluZ1Rlc3Qo
YXBwQnVuZGxlSUQpKQotICAgICAgICBXVEZMb2dBbHdheXMoImlzUnVubmluZ1Rlc3QoKSByZXR1
cm5lZCBmYWxzZS4gYXBwQnVuZGxlSUQgaXMgJXMuIiwgYXBwQnVuZGxlSUQuaXNFbXB0eSgpID8g
ImVtcHR5IiA6IGFwcEJ1bmRsZUlELnV0ZjgoKS5kYXRhKCkpOwogICAgIFJFTEVBU0VfQVNTRVJU
KGlzUnVubmluZ1Rlc3QoV2ViQ29yZTo6YXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKCkpKTsK
ICNlbmRpZgogICAgIHByaXZhdGVDbGlja01lYXN1cmVtZW50KCkuc2V0UHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnRBcHBCdW5kbGVJREZvclRlc3RpbmcoV1RGTW92ZShhcHBCdW5kbGVJREZvclRlc3Rp
bmcpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nl
c3Npb24uaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Nlc3Npb24uaApp
bmRleCAzNmI1M2IxYTQwZGExOWRmN2MyNGMyNDk4ZDkyYzBhNjI5ZDZjZGZjLi5jMmRlMWRjNTM1
NjJjOTAyNmU4OGIxZWM4ZTJjOTljNWZkZDRkZmVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5oCkBAIC0xMTQsNyArMTE0LDcgQEAgcHVibGljOgog
ICAgIHZvaWQgcmVnaXN0ZXJOZXR3b3JrRGF0YVRhc2soTmV0d29ya0RhdGFUYXNrJik7CiAgICAg
dm9pZCB1bnJlZ2lzdGVyTmV0d29ya0RhdGFUYXNrKE5ldHdvcmtEYXRhVGFzayYpOwogCi0gICAg
dm9pZCByZWNyZWF0ZVByaXZhdGVDbGlja01lYXN1cmVtZW50U3RvcmUoQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZCgpPiYmKTsKKyAgICB2b2lkIGRlc3Ryb3lQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFN0
b3JlKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAKICNpZiBFTkFCTEUoSU5URUxMSUdF
TlRfVFJBQ0tJTkdfUFJFVkVOVElPTikKICAgICBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3Rv
cmUqIHJlc291cmNlTG9hZFN0YXRpc3RpY3MoKSBjb25zdCB7IHJldHVybiBtX3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MuZ2V0KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9DL1dLUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2Uu
Y3BwCmluZGV4IGJmZDVmMzAxMTNiYmI2ODhiNzAzMDVkOTg2MmIyMTFhYjJhZTA3MzMuLjViMmIy
YjE0OGMyYTNkOGJiZTljMzZiZTQ3OGM3NGMzNmZmNGRiN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0MvV0tQYWdlLmNwcApAQCAtMzA2OCwxMCArMzA2OCwxMCBAQCB2b2lkIFdLUGFn
ZVNldFByaXZhdGVDbGlja01lYXN1cmVtZW50RXBoZW1lcmFsTWVhc3VyZW1lbnRGb3JUZXN0aW5n
KFdLUGFnZVJlZiBwYQogICAgIH0pOwogfQogCi12b2lkIFdLUGFnZVNpbXVsYXRlUmVzb3VyY2VM
b2FkU3RhdGlzdGljc1Nlc3Npb25SZXN0YXJ0KFdLUGFnZVJlZiBwYWdlUmVmLCBXS1BhZ2VTaW11
bGF0ZVJlc291cmNlTG9hZFN0YXRpc3RpY3NTZXNzaW9uUmVzdGFydEZ1bmN0aW9uIGNhbGxiYWNr
LCB2b2lkKiBjYWxsYmFja0NvbnRleHQpCit2b2lkIFdLUGFnZVNpbXVsYXRlUHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnRTZXNzaW9uUmVzdGFydChXS1BhZ2VSZWYgcGFnZVJlZiwgV0tQYWdlU2ltdWxh
dGVQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFNlc3Npb25SZXN0YXJ0RnVuY3Rpb24gY2FsbGJhY2ss
IHZvaWQqIGNhbGxiYWNrQ29udGV4dCkKIHsKICAgICBDUkFTSF9JRl9TVVNQRU5ERUQ7Ci0gICAg
dG9JbXBsKHBhZ2VSZWYpLT5zaW11bGF0ZVJlc291cmNlTG9hZFN0YXRpc3RpY3NTZXNzaW9uUmVz
dGFydChbY2FsbGJhY2tDb250ZXh0LCBjYWxsYmFja10gKCkgeworICAgIHRvSW1wbChwYWdlUmVm
KS0+c2ltdWxhdGVQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFNlc3Npb25SZXN0YXJ0KFtjYWxsYmFj
a0NvbnRleHQsIGNhbGxiYWNrXSAoKSB7CiAgICAgICAgIGNhbGxiYWNrKGNhbGxiYWNrQ29udGV4
dCk7CiAgICAgfSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Qy9XS1BhZ2VQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQ
cml2YXRlLmgKaW5kZXggNzUzOGVjMDI2Y2Q5ZGE4MjhlZTY4MzA0ZjBhZWNiOTI4NGFkYWEyYS4u
ZTJlYzJlZDE0ZmI1Mzc5ZTNlZGY5ZmM2Y2RlYTVkMTVkMGNlZjJiZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVByaXZhdGUuaApAQCAtMTgwLDggKzE4MCw4IEBA
IHR5cGVkZWYgdm9pZCAoKldLUGFnZU1hcmtBdHRyaWJ1dGVkUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnRzQXNFeHBpcmVkRm9yVGVzdGluZ0Z1CiBXS19FWFBPUlQgdm9pZCBXS1BhZ2VNYXJrQXR0cmli
dXRlZFByaXZhdGVDbGlja01lYXN1cmVtZW50c0FzRXhwaXJlZEZvclRlc3RpbmcoV0tQYWdlUmVm
IHBhZ2UsIFdLUGFnZU1hcmtBdHRyaWJ1dGVkUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRzQXNFeHBp
cmVkRm9yVGVzdGluZ0Z1bmN0aW9uIGNhbGxiYWNrLCB2b2lkKiBjYWxsYmFja0NvbnRleHQpOwog
dHlwZWRlZiB2b2lkICgqV0tQYWdlU2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRFcGhlbWVyYWxN
ZWFzdXJlbWVudEZvclRlc3RpbmdGdW5jdGlvbikodm9pZCogZnVuY3Rpb25Db250ZXh0KTsKIFdL
X0VYUE9SVCB2b2lkIFdLUGFnZVNldFByaXZhdGVDbGlja01lYXN1cmVtZW50RXBoZW1lcmFsTWVh
c3VyZW1lbnRGb3JUZXN0aW5nKFdLUGFnZVJlZiBwYWdlLCBib29sIHZhbHVlLCBXS1BhZ2VTZXRQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudEVwaGVtZXJhbE1lYXN1cmVtZW50Rm9yVGVzdGluZ0Z1bmN0
aW9uIGNhbGxiYWNrLCB2b2lkKiBjYWxsYmFja0NvbnRleHQpOwotdHlwZWRlZiB2b2lkICgqV0tQ
YWdlU2ltdWxhdGVSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU2Vzc2lvblJlc3RhcnRGdW5jdGlvbiko
dm9pZCogZnVuY3Rpb25Db250ZXh0KTsKLVdLX0VYUE9SVCB2b2lkIFdLUGFnZVNpbXVsYXRlUmVz
b3VyY2VMb2FkU3RhdGlzdGljc1Nlc3Npb25SZXN0YXJ0KFdLUGFnZVJlZiBwYWdlLCBXS1BhZ2VT
aW11bGF0ZVJlc291cmNlTG9hZFN0YXRpc3RpY3NTZXNzaW9uUmVzdGFydEZ1bmN0aW9uIGNhbGxi
YWNrLCB2b2lkKiBjYWxsYmFja0NvbnRleHQpOwordHlwZWRlZiB2b2lkICgqV0tQYWdlU2ltdWxh
dGVQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFNlc3Npb25SZXN0YXJ0RnVuY3Rpb24pKHZvaWQqIGZ1
bmN0aW9uQ29udGV4dCk7CitXS19FWFBPUlQgdm9pZCBXS1BhZ2VTaW11bGF0ZVByaXZhdGVDbGlj
a01lYXN1cmVtZW50U2Vzc2lvblJlc3RhcnQoV0tQYWdlUmVmIHBhZ2UsIFdLUGFnZVNpbXVsYXRl
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTZXNzaW9uUmVzdGFydEZ1bmN0aW9uIGNhbGxiYWNrLCB2
b2lkKiBjYWxsYmFja0NvbnRleHQpOwogdHlwZWRlZiB2b2lkICgqV0tQYWdlU2V0UHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnRUb2tlblB1YmxpY0tleVVSTEZvclRlc3RpbmdGdW5jdGlvbikodm9pZCog
ZnVuY3Rpb25Db250ZXh0KTsKIFdLX0VYUE9SVCB2b2lkIFdLUGFnZVNldFByaXZhdGVDbGlja01l
YXN1cmVtZW50VG9rZW5QdWJsaWNLZXlVUkxGb3JUZXN0aW5nKFdLUGFnZVJlZiBwYWdlLCBXS1VS
TFJlZiB1cmxTdHJpbmcsIFdLUGFnZVNldFByaXZhdGVDbGlja01lYXN1cmVtZW50VG9rZW5QdWJs
aWNLZXlVUkxGb3JUZXN0aW5nRnVuY3Rpb24gY2FsbGJhY2ssIHZvaWQqIGNhbGxiYWNrQ29udGV4
dCk7CiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VTZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRva2Vu
U2lnbmF0dXJlVVJMRm9yVGVzdGluZ0Z1bmN0aW9uKSh2b2lkKiBmdW5jdGlvbkNvbnRleHQpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURh
dGFTdG9yZS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVE
YXRhU3RvcmUubW0KaW5kZXggNjI5NjkwNzlkOWQ1N2E3ODMwNzg4MjM1ZGQ5MTQ4N2QzZGI3MjE1
ZS4uZjY1NmQyNjE2NTViNzNlYmEwNGI1MGFhYTk4OTJmYWFlNWYzMTg1OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZS5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3Jl
Lm1tCkBAIC01MzUsNiArNTM1LDEzIEBAIC0gKHZvaWQpX2NsZWFyUmVzb3VyY2VMb2FkU3RhdGlz
dGljczoodm9pZCAoXikodm9pZCkpY29tcGxldGlvbkhhbmRsZXIKICNlbmRpZgogfQogCistICh2
b2lkKV9jbG9zZURhdGFiYXNlczoodm9pZCAoXikodm9pZCkpY29tcGxldGlvbkhhbmRsZXIKK3sK
KyAgICBfd2Vic2l0ZURhdGFTdG9yZS0+Y2xvc2VEYXRhYmFzZXMoW2NvbXBsZXRpb25IYW5kbGVy
ID0gbWFrZUJsb2NrUHRyKGNvbXBsZXRpb25IYW5kbGVyKV0oKSB7CisgICAgICAgIGNvbXBsZXRp
b25IYW5kbGVyKCk7CisgICAgfSk7Cit9CisKIC0gKHZvaWQpX2dldFJlc291cmNlTG9hZFN0YXRp
c3RpY3NEYXRhU3VtbWFyeToodm9pZCAoXikoTlNBcnJheTxfV0tSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzVGhpcmRQYXJ0eSAqPiAqKSljb21wbGV0aW9uSGFuZGxlcgogewogI2lmIEVOQUJMRShJTlRF
TExJR0VOVF9UUkFDS0lOR19QUkVWRU5USU9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZVByaXZhdGUuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmVQcml2YXRlLmgKaW5k
ZXggMTFmMDZmMjQ0YzA4NjYyMDM3NTQ1YjI3MzliNmEyMTg0ZDUzZDdjMi4uMzFhODU0MDc0MTRk
NGE3M2U5OGJjNDExZTYxN2ZmOGM0OGNkMTg2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZVByaXZhdGUuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlUHJpdmF0ZS5o
CkBAIC03NCw2ICs3NCw3IEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRlZ2VyLCBfV0tXZWJz
aXRlRGF0YVN0b3JlRmV0Y2hPcHRpb25zKSB7CiAtICh2b2lkKV9nZXRSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzRGF0YVN1bW1hcnk6KHZvaWQgKF4pKE5TQXJyYXk8X1dLUmVzb3VyY2VMb2FkU3RhdGlz
dGljc1RoaXJkUGFydHkgKj4gKikpY29tcGxldGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRSht
YWNvcygxMC4xNS40KSwgaW9zKDEzLjQpKTsKIC0gKHZvaWQpX2NsZWFyUHJldmFsZW50RG9tYWlu
OihOU1VSTCAqKWRvbWFpbiBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikodm9pZCkpY29tcGxl
dGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xNS40KSwgaW9zKDEzLjQpKTsK
IC0gKHZvaWQpX2NsZWFyUmVzb3VyY2VMb2FkU3RhdGlzdGljczoodm9pZCAoXikodm9pZCkpY29t
cGxldGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xNS40KSwgaW9zKDEzLjQp
KTsKKy0gKHZvaWQpX2Nsb3NlRGF0YWJhc2VzOih2b2lkICheKSh2b2lkKSljb21wbGV0aW9uSGFu
ZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkp
OwogLSAodm9pZClfaXNSZWxhdGlvbnNoaXBPbmx5SW5EYXRhYmFzZU9uY2U6KE5TVVJMICopZmly
c3RQYXJ0eVVSTCB0aGlyZFBhcnR5OihOU1VSTCAqKXRoaXJkUGFydHlVUkwgY29tcGxldGlvbkhh
bmRsZXI6KHZvaWQgKF4pKEJPT0wpKWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3MoMTIuMCksIGlvcygxNS4wKSk7CiAtICh2b2lkKV9pc1JlZ2lzdGVyZWRBc1N1YnJlc291
cmNlVW5kZXJGaXJzdFBhcnR5OihOU1VSTCAqKWZpcnN0UGFydHlVUkwgdGhpcmRQYXJ0eTooTlNV
UkwgKil0aGlyZFBhcnR5VVJMIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShCT09MKSljb21w
bGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjE1LjQpLCBpb3MoMTMuNCkp
OwogLSAodm9pZClfc2V0VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nTW9kZTooQk9PTCllbmFibGVk
IG9ubHlPblNpdGVzV2l0aG91dFVzZXJJbnRlcmFjdGlvbjooQk9PTClvbmx5T25TaXRlc1dpdGhv
dXRVc2VySW50ZXJhY3Rpb24gY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKHZvaWQpKWNvbXBs
ZXRpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTEuMCksIGlvcygxNC4wKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBiYjZlNmFhNjA5OTdh
MGY3ZjRiNTA3MTVjNWY2MDE1NmJmMjhiMTliLi5iYTRjZTA3Nzc0OTA4ZDFhYWJiNDNlZTllY2Mw
NWQ3YjllZTVlMzM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAK
QEAgLTEwNDg1LDkgKzEwNDg1LDkgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnNldFByaXZhdGVDbGlj
a01lYXN1cmVtZW50RXBoZW1lcmFsTWVhc3VyZW1lbnRGb3JUZXN0aW5nKGJvb2wKICAgICB3ZWJz
aXRlRGF0YVN0b3JlKCkubmV0d29ya1Byb2Nlc3MoKS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2Fn
ZXM6Ok5ldHdvcmtQcm9jZXNzOjpTZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEVwaGVtZXJhbE1l
YXN1cmVtZW50Rm9yVGVzdGluZyhtX3dlYnNpdGVEYXRhU3RvcmUtPnNlc3Npb25JRCgpLCB2YWx1
ZSksIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIH0KIAotdm9pZCBXZWJQYWdlUHJveHk6
OnNpbXVsYXRlUmVzb3VyY2VMb2FkU3RhdGlzdGljc1Nlc3Npb25SZXN0YXJ0KENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgV2ViUGFnZVByb3h5Ojpz
aW11bGF0ZVByaXZhdGVDbGlja01lYXN1cmVtZW50U2Vzc2lvblJlc3RhcnQoQ29tcGxldGlvbkhh
bmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIHdlYnNpdGVEYXRhU3Rv
cmUoKS5uZXR3b3JrUHJvY2VzcygpLnNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6TmV0d29y
a1Byb2Nlc3M6OlNpbXVsYXRlUmVzb3VyY2VMb2FkU3RhdGlzdGljc1Nlc3Npb25SZXN0YXJ0KG1f
d2Vic2l0ZURhdGFTdG9yZS0+c2Vzc2lvbklEKCkpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVy
KSk7CisgICAgd2Vic2l0ZURhdGFTdG9yZSgpLm5ldHdvcmtQcm9jZXNzKCkuc2VuZFdpdGhBc3lu
Y1JlcGx5KE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6U2ltdWxhdGVQcml2YXRlQ2xpY2tNZWFz
dXJlbWVudFNlc3Npb25SZXN0YXJ0KG1fd2Vic2l0ZURhdGFTdG9yZS0+c2Vzc2lvbklEKCkpLCBX
VEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiB9CiAKIHZvaWQgV2ViUGFnZVByb3h5OjpzZXRQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudFRva2VuUHVibGljS2V5VVJMRm9yVGVzdGluZyhjb25zdCBV
UkwmIHVybCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCA3OTk5NzBkZWQ2YTQyMjZi
NmEzZjhkM2EzZDM3OTg1Y2Y0YTAyYTMxLi43M2Y0MTNiZDBlMDFhYmFmMzQyMmMzMzE1YTI0ODcw
OTJkZWUzNTk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMTgw
Nyw3ICsxODA3LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnRPdmVycmlkZVRpbWVyRm9yVGVzdGluZyhib29sIHZhbHVlLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKCk+JiYpOwogICAgIHZvaWQgbWFya0F0dHJpYnV0ZWRQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dHNBc0V4cGlyZWRGb3JUZXN0aW5nKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAg
dm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEVwaGVtZXJhbE1lYXN1cmVtZW50Rm9yVGVz
dGluZyhib29sIHZhbHVlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwotICAgIHZvaWQg
c2ltdWxhdGVSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU2Vzc2lvblJlc3RhcnQoQ29tcGxldGlvbkhh
bmRsZXI8dm9pZCgpPiYmKTsKKyAgICB2b2lkIHNpbXVsYXRlUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnRTZXNzaW9uUmVzdGFydChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogICAgIHZvaWQg
c2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRUb2tlblB1YmxpY0tleVVSTEZvclRlc3RpbmcoY29u
c3QgVVJMJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHNldFByaXZh
dGVDbGlja01lYXN1cmVtZW50VG9rZW5TaWduYXR1cmVVUkxGb3JUZXN0aW5nKGNvbnN0IFVSTCYs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBzZXRQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudEF0dHJpYnV0aW9uUmVwb3J0VVJMc0ZvclRlc3RpbmcoY29uc3QgVVJMJiBzb3Vy
Y2VVUkwsIGNvbnN0IFVSTCYgZGVzdGluYXRpb25VUkwsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
KT4mJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9X
ZWJzaXRlRGF0YVN0b3JlLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRh
L1dlYnNpdGVEYXRhU3RvcmUuY3BwCmluZGV4IDI1NmI4ODc0MDNkYWY2NWQ0YmExYmU1YTE4ZjQ1
ZWVkZWNiNzg3ZDYuLjRiNTc0OTFlMDMzNzcyOTg5MjM1OGFhN2E3NzJlZTlkYWYyM2JlMTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRh
U3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNp
dGVEYXRhU3RvcmUuY3BwCkBAIC0xNzIzLDYgKzE3MjMsMTcgQEAgdm9pZCBXZWJzaXRlRGF0YVN0
b3JlOjpzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudERlYnVnTW9kZShib29sIGVuYWJsZWQpCiAg
ICAgbmV0d29ya1Byb2Nlc3MoKS5zZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudERlYnVnTW9kZShz
ZXNzaW9uSUQoKSwgZW5hYmxlZCk7CiB9CiAKK3ZvaWQgV2Vic2l0ZURhdGFTdG9yZTo6Y2xvc2VE
YXRhYmFzZXMoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQor
eworICAgIGF1dG8gY2FsbGJhY2tBZ2dyZWdhdG9yID0gQ2FsbGJhY2tBZ2dyZWdhdG9yOjpjcmVh
dGUoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOworCisgICAgbmV0d29ya1Byb2Nlc3MoKS5z
ZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpDbG9zZVBDTURhdGFi
YXNlKG1fc2Vzc2lvbklEKSwgW2NhbGxiYWNrQWdncmVnYXRvcl0geyB9KTsKKworI2lmIEVOQUJM
RShJTlRFTExJR0VOVF9UUkFDS0lOR19QUkVWRU5USU9OKQorICAgIG5ldHdvcmtQcm9jZXNzKCku
c2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6Q2xvc2VJVFBEYXRh
YmFzZShtX3Nlc3Npb25JRCksIFtjYWxsYmFja0FnZ3JlZ2F0b3JdIHsgfSk7CisjZW5kaWYKK30K
KwogI2lmIEVOQUJMRShJTlRFTExJR0VOVF9UUkFDS0lOR19QUkVWRU5USU9OKQogdm9pZCBXZWJz
aXRlRGF0YVN0b3JlOjpsb2dUZXN0aW5nRXZlbnQoY29uc3QgU3RyaW5nJiBldmVudCkKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRh
U3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRh
U3RvcmUuaAppbmRleCAxNDdhMGI5YmE3OGQ4NzFiN2E3NmE3NDlhNzI0MTc1NWYzZDc3NDRkLi43
YzU0MDE2ZjhhNWIwNjFlZDE4MWFjODg4ODczZTM5ZDM3OGVkNDU3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oCkBA
IC0yMzcsNiArMjM3LDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNJdHBTdGF0ZUV4cGxpY2l0bHlT
ZXQoKSBjb25zdCB7IHJldHVybiBtX2lzSXRwU3RhdGVFeHBsaWNpdGx5U2V0OyB9CiAgICAgdm9p
ZCB1c2VFeHBsaWNpdElUUFN0YXRlKCkgeyBtX2lzSXRwU3RhdGVFeHBsaWNpdGx5U2V0ID0gdHJ1
ZTsgfQogI2VuZGlmCisgICAgdm9pZCBjbG9zZURhdGFiYXNlcyhDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKCk+JiYpOwogICAgIHZvaWQgc3luY0xvY2FsU3RvcmFnZShDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKCk+JiYpOwogICAgIHZvaWQgc2V0Q2FjaGVNYXhBZ2VDYXBGb3JQcmV2YWxlbnRSZXNvdXJj
ZXMoU2Vjb25kcywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHJlc2V0
Q2FjaGVNYXhBZ2VDYXBGb3JQcmV2YWxlbnRSZXNvdXJjZXMoQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZCgpPiYmKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwpp
bmRleCAzYzI2YTcyYjE5ZmJiMGI3YWQ4MWExOGUxMTMzMzY4OTE4ODdhOGUzLi44NzY0NzBkN2Q1
OWNhMjZhNGUxMzkyNTc4ZDg2OWIyZDI1ZjE2ZDA3IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VM
b2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMjEtMTItMjEgIEth
dGUgQ2hlbmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgUENNIHRl
c3RzIGNyYXNoaW5nIHdpdGggJ3VubGluaycgZXJyb3JzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ1NjUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
Lzg2NzcxNzY2PgorCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXggQ2hyaXN0ZW5zZW4uCisKKyAg
ICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1ByaXZhdGVDbGlja01lYXN1
cmVtZW50Lm1tOgorICAgICAgICAoY2xlYW5VcCk6CisgICAgICAgIENsb3NlIHRoZSBkYXRhYmFz
ZXMgYmVmb3JlIHJlbW92aW5nIHRoZSBmaWxlcy4KKworICAgICAgICAoVEVTVCk6CisgICAgICAg
ICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlk
bDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIu
Y3BwOgorICAgICAgICAoV1RSOjpUZXN0UnVubmVyOjpzaW11bGF0ZVByaXZhdGVDbGlja01lYXN1
cmVtZW50U2Vzc2lvblJlc3RhcnQpOgorICAgICAgICAoV1RSOjpUZXN0UnVubmVyOjpzaW11bGF0
ZVJlc291cmNlTG9hZFN0YXRpc3RpY3NTZXNzaW9uUmVzdGFydCk6IERlbGV0ZWQuCisgICAgICAg
ICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmg6CisgICAgICAg
ICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXVFI6OlRl
c3RDb250cm9sbGVyOjpzaW11bGF0ZVByaXZhdGVDbGlja01lYXN1cmVtZW50U2Vzc2lvblJlc3Rh
cnQpOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6c2ltdWxhdGVSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzU2Vzc2lvblJlc3RhcnQpOiBEZWxldGVkLgorICAgICAgICAqIFdlYktpdFRlc3RS
dW5uZXIvVGVzdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RJ
bnZvY2F0aW9uLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdEludm9jYXRpb246OmRpZFJlY2VpdmVT
eW5jaHJvbm91c01lc3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGUpOgorICAgICAgICBSZW5hbWUuCisK
IDIwMjEtMTItMjAgIEogUGFzY29lICA8al9wYXNjb2VAYXBwbGUuY29tPgogCiAgICAgICAgIFtX
ZWJBdXRobl0gQWRkIG9wdGlvbiB0byBjaGFuZ2UgcmVxdWVzdFdlYkF1dGhlbnRpY2F0aW9uTm9H
ZXN0dXJlIGRlbGVnYXRlIGZvciBhcGkgdGVzdHMuCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1ByaXZhdGVDbGlja01lYXN1cmVtZW50Lm1tIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dC5tbQppbmRleCA1MmFiNWM0YjcxNDdjZmZjMjE4ZDlhM2EyYTU1MzEwNzc5MzllMzI5Li5lYTAx
MTBjNWY1NGMwYTU0MDIyMGUxNzY3YTZkZTEzNzhmM2MyY2MwIDEwMDY0NAotLS0gYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1ByaXZhdGVDbGlja01lYXN1cmVtZW50Lm1t
CisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQubW0KQEAgLTMxMSwxNCArMzExLDE4IEBAIHN0YXRpYyBOU1N0cmluZyAqZW1w
dHlQY21EQlBhdGgoKQogICAgIHJldHVybiBmaWxlVVJMLnBhdGg7CiB9CiAKLXN0YXRpYyB2b2lk
IGNsZWFuVXAoKQorc3RhdGljIHZvaWQgY2xlYW5VcChSZXRhaW5QdHI8V0tXZWJWaWV3PiB3ZWJW
aWV3KQogewotICAgIE5TRmlsZU1hbmFnZXIgKmRlZmF1bHRGaWxlTWFuYWdlciA9IE5TRmlsZU1h
bmFnZXIuZGVmYXVsdE1hbmFnZXI7Ci0gICAgTlNTdHJpbmcgKml0cFJvb3QgPSBXS1dlYnNpdGVE
YXRhU3RvcmUuZGVmYXVsdERhdGFTdG9yZS5fY29uZmlndXJhdGlvbi5fcmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0RpcmVjdG9yeS5wYXRoOwotICAgIFtkZWZhdWx0RmlsZU1hbmFnZXIgcmVtb3ZlSXRl
bUF0UGF0aDppdHBSb290IGVycm9yOm5pbF07Ci0gICAgd2hpbGUgKFtkZWZhdWx0RmlsZU1hbmFn
ZXIgZmlsZUV4aXN0c0F0UGF0aDppdHBSb290XSkKLSAgICAgICAgdXNsZWVwKDEwMDAwKTsKLSAg
ICBFWFBFQ1RfRkFMU0UoW2RlZmF1bHRGaWxlTWFuYWdlciBmaWxlRXhpc3RzQXRQYXRoOml0cFJv
b3RdKTsKKyAgICBzdGF0aWMgYm9vbCBpc0RvbmUgPSBmYWxzZTsKKyAgICBbW3dlYlZpZXcuZ2V0
KCkgY29uZmlndXJhdGlvbl0ud2Vic2l0ZURhdGFTdG9yZSBfY2xvc2VEYXRhYmFzZXM6XnsKKyAg
ICAgICAgTlNGaWxlTWFuYWdlciAqZGVmYXVsdEZpbGVNYW5hZ2VyID0gTlNGaWxlTWFuYWdlci5k
ZWZhdWx0TWFuYWdlcjsKKyAgICAgICAgTlNTdHJpbmcgKml0cFJvb3QgPSBXS1dlYnNpdGVEYXRh
U3RvcmUuZGVmYXVsdERhdGFTdG9yZS5fY29uZmlndXJhdGlvbi5fcmVzb3VyY2VMb2FkU3RhdGlz
dGljc0RpcmVjdG9yeS5wYXRoOworICAgICAgICBbZGVmYXVsdEZpbGVNYW5hZ2VyIHJlbW92ZUl0
ZW1BdFBhdGg6aXRwUm9vdCBlcnJvcjpuaWxdOworICAgICAgICB3aGlsZSAoW2RlZmF1bHRGaWxl
TWFuYWdlciBmaWxlRXhpc3RzQXRQYXRoOml0cFJvb3RdKQorICAgICAgICAgICAgdXNsZWVwKDEw
MDAwKTsKKyAgICAgICAgaXNEb25lID0gdHJ1ZTsKKyAgICB9XTsKKyAgICBUZXN0V2ViS2l0QVBJ
OjpVdGlsOjpydW4oJmlzRG9uZSk7CiB9CiAKIHN0YXRpYyB2b2lkIGNyZWF0ZUFuZFBvcHVsYXRl
T2JzZXJ2ZWREb21haW5UYWJsZShXZWJDb3JlOjpTUUxpdGVEYXRhYmFzZSYgZGF0YWJhc2UpCkBA
IC0zODQsNyArMzg4LDcgQEAgVEVTVChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgTWlncmF0ZUZy
b21SZXNvdXJjZUxvYWRTdGF0aXN0aWNzMSkKICAgICBzZXRVcEZyb21SZXNvdXJjZUxvYWRTdGF0
aXN0aWNzRGF0YWJhc2UoYWRkVW5hdHRyaWJ1dGVkUENNdjEsIGFkZEF0dHJpYnV0ZWRQQ012MSk7
CiAgICAgYXV0byB3ZWJWaWV3ID0gd2ViVmlld1dpdGhSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5h
YmxlZEluTmV0d29ya1Byb2Nlc3MoKTsKICAgICBwb2xsVW50aWxQQ01Jc01pZ3JhdGVkKHdlYlZp
ZXcuZ2V0KCksIE1pZ3JhdGluZ0Zyb21SZXNvdXJjZUxvYWRTdGF0aXN0aWNzOjpZZXMsIFVzaW5n
RGVzdGluYXRpb25Ub2tlbjo6Tm8pOwotICAgIGNsZWFuVXAoKTsKKyAgICBjbGVhblVwKHdlYlZp
ZXcpOwogfQogCiBURVNUKFByaXZhdGVDbGlja01lYXN1cmVtZW50LCBNaWdyYXRlRnJvbVJlc291
cmNlTG9hZFN0YXRpc3RpY3MyKQpAQCAtMzkyLDcgKzM5Niw3IEBAIFRFU1QoUHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQsIE1pZ3JhdGVGcm9tUmVzb3VyY2VMb2FkU3RhdGlzdGljczIpCiAgICAgc2V0
VXBGcm9tUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlKGFkZFVuYXR0cmlidXRlZFBDTXYy
LCBhZGRBdHRyaWJ1dGVkUENNdjIpOwogICAgIGF1dG8gd2ViVmlldyA9IHdlYlZpZXdXaXRoUmVz
b3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWRJbk5ldHdvcmtQcm9jZXNzKCk7CiAgICAgcG9sbFVu
dGlsUENNSXNNaWdyYXRlZCh3ZWJWaWV3LmdldCgpLCBNaWdyYXRpbmdGcm9tUmVzb3VyY2VMb2Fk
U3RhdGlzdGljczo6WWVzLCBVc2luZ0Rlc3RpbmF0aW9uVG9rZW46Ok5vKTsKLSAgICBjbGVhblVw
KCk7CisgICAgY2xlYW5VcCh3ZWJWaWV3KTsKIH0KIAogVEVTVChQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudCwgTWlncmF0ZUZyb21SZXNvdXJjZUxvYWRTdGF0aXN0aWNzMykKQEAgLTQwMCw3ICs0MDQs
NyBAQCBURVNUKFByaXZhdGVDbGlja01lYXN1cmVtZW50LCBNaWdyYXRlRnJvbVJlc291cmNlTG9h
ZFN0YXRpc3RpY3MzKQogICAgIHNldFVwRnJvbVJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFz
ZShhZGRVbmF0dHJpYnV0ZWRQQ012MywgYWRkQXR0cmlidXRlZFBDTXYzKTsKICAgICBhdXRvIHdl
YlZpZXcgPSB3ZWJWaWV3V2l0aFJlc291cmNlTG9hZFN0YXRpc3RpY3NFbmFibGVkSW5OZXR3b3Jr
UHJvY2VzcygpOwogICAgIHBvbGxVbnRpbFBDTUlzTWlncmF0ZWQod2ViVmlldy5nZXQoKSwgTWln
cmF0aW5nRnJvbVJlc291cmNlTG9hZFN0YXRpc3RpY3M6OlllcywgVXNpbmdEZXN0aW5hdGlvblRv
a2VuOjpObyk7Ci0gICAgY2xlYW5VcCgpOworICAgIGNsZWFuVXAod2ViVmlldyk7CiB9CiAKIFRF
U1QoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsIE1pZ3JhdGVGcm9tUENNMSkKQEAgLTQwOCw3ICs0
MTIsNyBAQCBURVNUKFByaXZhdGVDbGlja01lYXN1cmVtZW50LCBNaWdyYXRlRnJvbVBDTTEpCiAg
ICAgc2V0VXBGcm9tUENNRGF0YWJhc2UoYWRkVW5hdHRyaWJ1dGVkUENNdjQsIGFkZEF0dHJpYnV0
ZWRQQ012NCk7CiAgICAgYXV0byB3ZWJWaWV3ID0gd2ViVmlld1dpdGhSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzRW5hYmxlZEluTmV0d29ya1Byb2Nlc3MoKTsKICAgICBwb2xsVW50aWxQQ01Jc01pZ3Jh
dGVkKHdlYlZpZXcuZ2V0KCksIE1pZ3JhdGluZ0Zyb21SZXNvdXJjZUxvYWRTdGF0aXN0aWNzOjpO
bywgVXNpbmdEZXN0aW5hdGlvblRva2VuOjpObyk7Ci0gICAgY2xlYW5VcCgpOworICAgIGNsZWFu
VXAod2ViVmlldyk7CiB9CiAKIFRFU1QoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsIE1pZ3JhdGVX
aXRoRGVzdGluYXRpb25Ub2tlbikKQEAgLTQxNiw1ICs0MjAsNSBAQCBURVNUKFByaXZhdGVDbGlj
a01lYXN1cmVtZW50LCBNaWdyYXRlV2l0aERlc3RpbmF0aW9uVG9rZW4pCiAgICAgc2V0VXBGcm9t
UENNRGF0YWJhc2UoYWRkVW5hdHRyaWJ1dGVkUENNdjQsIGFkZEF0dHJpYnV0ZWRQQ012NSk7CiAg
ICAgYXV0byB3ZWJWaWV3ID0gd2ViVmlld1dpdGhSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5hYmxl
ZEluTmV0d29ya1Byb2Nlc3MoKTsKICAgICBwb2xsVW50aWxQQ01Jc01pZ3JhdGVkKHdlYlZpZXcu
Z2V0KCksIE1pZ3JhdGluZ0Zyb21SZXNvdXJjZUxvYWRTdGF0aXN0aWNzOjpObywgVXNpbmdEZXN0
aW5hdGlvblRva2VuOjpZZXMpOwotICAgIGNsZWFuVXAoKTsKKyAgICBjbGVhblVwKHdlYlZpZXcp
OwogfQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9C
aW5kaW5ncy9UZXN0UnVubmVyLmlkbCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwKaW5kZXggNWY4NTI5OTIwNjM3MzFlMGMyMTI4
YjIwYmJlZjZmYjc3MGRlY2I5NS4uOGRlNjgxYjIyMjQxMDkwODFhNDk3ZTE0MTRmZjBiNTlmNjc5
NzRkYSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9C
aW5kaW5ncy9UZXN0UnVubmVyLmlkbAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCkBAIC00MTIsNyArNDEyLDcgQEAgaW50
ZXJmYWNlIFRlc3RSdW5uZXIgewogICAgIHVuZGVmaW5lZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudE92ZXJyaWRlVGltZXJGb3JUZXN0aW5nKGJvb2xlYW4gdmFsdWUpOwogICAgIHVuZGVmaW5l
ZCBtYXJrQXR0cmlidXRlZFByaXZhdGVDbGlja01lYXN1cmVtZW50c0FzRXhwaXJlZEZvclRlc3Rp
bmcoKTsKICAgICB1bmRlZmluZWQgc2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRFcGhlbWVyYWxN
ZWFzdXJlbWVudEZvclRlc3RpbmcoYm9vbGVhbiB2YWx1ZSk7Ci0gICAgdW5kZWZpbmVkIHNpbXVs
YXRlUmVzb3VyY2VMb2FkU3RhdGlzdGljc1Nlc3Npb25SZXN0YXJ0KCk7CisgICAgdW5kZWZpbmVk
IHNpbXVsYXRlUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTZXNzaW9uUmVzdGFydCgpOwogICAgIHVu
ZGVmaW5lZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudFRva2VuUHVibGljS2V5VVJMRm9yVGVz
dGluZyhET01TdHJpbmcgdXJsKTsKICAgICB1bmRlZmluZWQgc2V0UHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnRUb2tlblNpZ25hdHVyZVVSTEZvclRlc3RpbmcoRE9NU3RyaW5nIHVybCk7CiAgICAgdW5k
ZWZpbmVkIHNldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25SZXBvcnRVUkxzRm9y
VGVzdGluZyhET01TdHJpbmcgc291cmNlVVJMU3RyaW5nLCBET01TdHJpbmcgZGVzdGluYXRpb25V
UkxTdHJpbmcpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9UZXN0UnVubmVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvVGVzdFJ1bm5lci5jcHAKaW5kZXggYTMyODBkZjE2Y2Q0NGY2ZDA5ODAwOGU2MTkyYTRjMTEz
MDRhZTIyYS4uNjdkNTYyYTBhNDJkZWZkZGRmMTk1ZTY5ODM1Njg4MzQ4MmEzNzQ5MiAxMDA2NDQK
LS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNw
cAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIu
Y3BwCkBAIC0yMDg0LDkgKzIwODQsOSBAQCB2b2lkIFRlc3RSdW5uZXI6OnNldFByaXZhdGVDbGlj
a01lYXN1cmVtZW50RXBoZW1lcmFsTWVhc3VyZW1lbnRGb3JUZXN0aW5nKGJvb2wgdgogICAgIHBv
c3RTeW5jaHJvbm91c1BhZ2VNZXNzYWdlKCJTZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEVwaGVt
ZXJhbE1lYXN1cmVtZW50Rm9yVGVzdGluZyIsIHZhbHVlKTsKIH0KIAotdm9pZCBUZXN0UnVubmVy
OjpzaW11bGF0ZVJlc291cmNlTG9hZFN0YXRpc3RpY3NTZXNzaW9uUmVzdGFydCgpCit2b2lkIFRl
c3RSdW5uZXI6OnNpbXVsYXRlUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTZXNzaW9uUmVzdGFydCgp
CiB7Ci0gICAgcG9zdFN5bmNocm9ub3VzUGFnZU1lc3NhZ2UoIlNpbXVsYXRlUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1Nlc3Npb25SZXN0YXJ0Iik7CisgICAgcG9zdFN5bmNocm9ub3VzUGFnZU1lc3Nh
Z2UoIlNpbXVsYXRlUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTZXNzaW9uUmVzdGFydCIpOwogfQog
CiB2b2lkIFRlc3RSdW5uZXI6OnNldFByaXZhdGVDbGlja01lYXN1cmVtZW50VG9rZW5QdWJsaWNL
ZXlVUkxGb3JUZXN0aW5nKEpTU3RyaW5nUmVmIHVybFN0cmluZykKZGlmZiAtLWdpdCBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKaW5kZXggNWM2YTk2Y2Fl
MDFmNTkyNTU0NWI4ZjA2MGVhZmRmMmQ2YmUxYmYyNS4uMmI3OGMxZGE5NmIxOGEzYjVlYTFhNDdl
MGJlNWE1NzEyZmM5OTRkNSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKQEAgLTUzNSw3ICs1MzUsNyBAQCBwdWJsaWM6CiAgICAg
dm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEVwaGVtZXJhbE1lYXN1cmVtZW50Rm9yVGVz
dGluZyhib29sIHZhbHVlKTsKICAgICB2b2lkIHNldFByaXZhdGVDbGlja01lYXN1cmVtZW50RnJh
dWRQcmV2ZW50aW9uVmFsdWVzRm9yVGVzdGluZyhKU1N0cmluZ1JlZiB1bmxpbmthYmxlVG9rZW4s
IEpTU3RyaW5nUmVmIHNlY3JldFRva2VuLCBKU1N0cmluZ1JlZiBzaWduYXR1cmUsIEpTU3RyaW5n
UmVmIGtleUlEKTsKICAgICB2b2lkIHNldFByaXZhdGVDbGlja01lYXN1cmVtZW50QXBwQnVuZGxl
SURGb3JUZXN0aW5nKEpTU3RyaW5nUmVmKTsKLSAgICB2b2lkIHNpbXVsYXRlUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1Nlc3Npb25SZXN0YXJ0KCk7CisgICAgdm9pZCBzaW11bGF0ZVByaXZhdGVDbGlj
a01lYXN1cmVtZW50U2Vzc2lvblJlc3RhcnQoKTsKIAogICAgIHZvaWQgc2V0SXNTcGVlY2hSZWNv
Z25pdGlvblBlcm1pc3Npb25HcmFudGVkKGJvb2wpOwogCmRpZmYgLS1naXQgYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
VGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IGFhMWQ1YmRlMTRiZWIzN2VlNTRlOTJiZjVlMjk1Mzdl
ZjllYTU2NjUuLjlkOTVjZDM4YmFiMTk5NjI2OTAwOGEzNWE5YWU1MzhiMzhiZTJkZWQgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCisrKyBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCkBAIC0zNzgwLDEwICszNzgw
LDEwIEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OnNldFByaXZhdGVDbGlja01lYXN1cmVtZW50RXBo
ZW1lcmFsTWVhc3VyZW1lbnRGb3JUZXN0aW5nKGJvCiAgICAgcnVuVW50aWwoY2FsbGJhY2tDb250
ZXh0LmRvbmUsIG5vVGltZW91dCk7CiB9CiAKLXZvaWQgVGVzdENvbnRyb2xsZXI6OnNpbXVsYXRl
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1Nlc3Npb25SZXN0YXJ0KCkKK3ZvaWQgVGVzdENvbnRyb2xs
ZXI6OnNpbXVsYXRlUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRTZXNzaW9uUmVzdGFydCgpCiB7CiAg
ICAgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRWb2lkQ2FsbGJhY2tDb250ZXh0IGNhbGxiYWNrQ29u
dGV4dCgqdGhpcyk7Ci0gICAgV0tQYWdlU2ltdWxhdGVSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU2Vz
c2lvblJlc3RhcnQobV9tYWluV2ViVmlldy0+cGFnZSgpLCBwcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dFZvaWRDYWxsYmFjaywgJmNhbGxiYWNrQ29udGV4dCk7CisgICAgV0tQYWdlU2ltdWxhdGVQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudFNlc3Npb25SZXN0YXJ0KG1fbWFpbldlYlZpZXctPnBhZ2UoKSwg
cHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRWb2lkQ2FsbGJhY2ssICZjYWxsYmFja0NvbnRleHQpOwog
ICAgIHJ1blVudGlsKGNhbGxiYWNrQ29udGV4dC5kb25lLCBub1RpbWVvdXQpOwogfQogCmRpZmYg
LS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmggYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgKaW5kZXggNDAzZWRjMjNlODUwYTE0ODRj
NjEyZDU5ZDRkYmRiMDk5MWEyYzE3Yi4uNTIwODg3Y2YyZTBhZDE1NzZjY2VlNmNjOTZkODUxMzc0
ZWY3OTE5MyAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxl
ci5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaApAQCAtMzUw
LDcgKzM1MCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFByaXZhdGVDbGlja01lYXN1cmVtZW50
T3ZlcnJpZGVUaW1lckZvclRlc3RpbmcoYm9vbCB2YWx1ZSk7CiAgICAgdm9pZCBtYXJrQXR0cmli
dXRlZFByaXZhdGVDbGlja01lYXN1cmVtZW50c0FzRXhwaXJlZEZvclRlc3RpbmcoKTsKICAgICB2
b2lkIHNldFByaXZhdGVDbGlja01lYXN1cmVtZW50RXBoZW1lcmFsTWVhc3VyZW1lbnRGb3JUZXN0
aW5nKGJvb2wgdmFsdWUpOwotICAgIHZvaWQgc2ltdWxhdGVSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
U2Vzc2lvblJlc3RhcnQoKTsKKyAgICB2b2lkIHNpbXVsYXRlUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnRTZXNzaW9uUmVzdGFydCgpOwogICAgIHZvaWQgc2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRU
b2tlblB1YmxpY0tleVVSTEZvclRlc3RpbmcoV0tVUkxSZWYpOwogICAgIHZvaWQgc2V0UHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnRUb2tlblNpZ25hdHVyZVVSTEZvclRlc3RpbmcoV0tVUkxSZWYpOwog
ICAgIHZvaWQgc2V0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvblJlcG9ydFVSTHNG
b3JUZXN0aW5nKFdLVVJMUmVmIHNvdXJjZVVSTCwgV0tVUkxSZWYgZGVzdGluYXRpb25VUkwpOwpk
aWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAgYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcAppbmRleCA3MmZhODJiYmMw
MTAyOTZmMDRkMTMwZWM5YmM2YTQzNTdjYmQwZTkzLi5iYWYxMWM3ZDgyODYwZDVmNDNjNGUyM2Vk
YzZkYTZlZjU5YTNjZDhkIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJ
bnZvY2F0aW9uLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9u
LmNwcApAQCAtMTM4Nyw4ICsxMzg3LDggQEAgV0tSZXRhaW5QdHI8V0tUeXBlUmVmPiBUZXN0SW52
b2NhdGlvbjo6ZGlkUmVjZWl2ZVN5bmNocm9ub3VzTWVzc2FnZUZyb21JbmplY3RlZEIKICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogICAgIAotICAgIGlmIChXS1N0cmluZ0lzRXF1YWxU
b1VURjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAiU2ltdWxhdGVSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
U2Vzc2lvblJlc3RhcnQiKSkgewotICAgICAgICBUZXN0Q29udHJvbGxlcjo6c2luZ2xldG9uKCku
c2ltdWxhdGVSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU2Vzc2lvblJlc3RhcnQoKTsKKyAgICBpZiAo
V0tTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhtZXNzYWdlTmFtZSwgIlNpbXVsYXRlUHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnRTZXNzaW9uUmVzdGFydCIpKSB7CisgICAgICAgIFRlc3RDb250cm9s
bGVyOjpzaW5nbGV0b24oKS5zaW11bGF0ZVByaXZhdGVDbGlja01lYXN1cmVtZW50U2Vzc2lvblJl
c3RhcnQoKTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggY2I2NDQ2
MzExZmUzMTg2ODEzZDc0NDkwODlmZTg4ZTQxYzNiYzNmMy4uZGM0NDllOTViMzk0NjlkMTM3NGEw
YzQ3Njk1ZGViM2NlYTZhNWY4MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTEyLTIxICBL
YXRlIENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgorCisgICAgICAgIFBDTSB0
ZXN0cyBjcmFzaGluZyB3aXRoICd1bmxpbmsnIGVycm9ycworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0NTY1CisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS84Njc3MTc2Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisg
ICAgICAgICogaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9leHBpcmVkLWFkLWNs
aWNrLWdldHMtcmVtb3ZlZC1vbi1zZXNzaW9uLXN0YXJ0Lmh0bWw6CisgICAgICAgICogaHR0cC90
ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9leHBpcmVkLWF0dHJpYnV0aW9uLXJlcG9ydC1n
ZXRzLXNlbnQtb24tc2Vzc2lvbi1zdGFydC5odG1sOgorCiAyMDIxLTEyLTIwICBQYXRyaWNrIEdy
aWZmaXMgIDxwZ3JpZmZpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIENTUDogQWx3YXlzIHVzZSBV
VEYtOCBlbmNvZGVkIGNvbnRlbnQgd2hlbiBjaGVja2luZyBoYXNoZXMKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvZXhwaXJlZC1hZC1j
bGljay1nZXRzLXJlbW92ZWQtb24tc2Vzc2lvbi1zdGFydC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9leHBpcmVkLWFkLWNsaWNrLWdldHMtcmVt
b3ZlZC1vbi1zZXNzaW9uLXN0YXJ0Lmh0bWwKaW5kZXggYzM1YTg0ZmNhNjFhNjc0ZWM4YzM1ODZh
NzNkNzY3ZDQ0ZTM1MThiNC4uOWNiZGI4OTU5ZDUxOGExNmNkYjllYmRkZWJmYjA0YWE1NmE4ZDU5
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJl
bWVudC9leHBpcmVkLWFkLWNsaWNrLWdldHMtcmVtb3ZlZC1vbi1zZXNzaW9uLXN0YXJ0Lmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9leHBp
cmVkLWFkLWNsaWNrLWdldHMtcmVtb3ZlZC1vbi1zZXNzaW9uLXN0YXJ0Lmh0bWwKQEAgLTYyLDcg
KzYyLDcgQEAKICAgICAgICAgICAgICAgICBhY3RpdmF0ZUVsZW1lbnQoInRhcmdldExpbmsiKTsK
ICAgICAgICAgICAgIH0gZWxzZSBpZiAod2luZG93LmxvY2F0aW9uLnNlYXJjaCA9PT0gIj9zdGVw
VHdvIikgewogICAgICAgICAgICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLm1hcmtQcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudHNBc0V4cGlyZWRGb3JUZXN0aW5nKCk7Ci0gICAgICAgICAgICAgICAgd2lu
ZG93LnRlc3RSdW5uZXIuc2ltdWxhdGVSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU2Vzc2lvblJlc3Rh
cnQoKTsKKyAgICAgICAgICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci5zaW11bGF0ZVByaXZhdGVD
bGlja01lYXN1cmVtZW50U2Vzc2lvblJlc3RhcnQoKTsKICAgICAgICAgICAgICAgICBjb252ZXJ0
KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudCgpOwogICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJl
bW92ZUNoaWxkKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXRMaW5rIikpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9leHBp
cmVkLWF0dHJpYnV0aW9uLXJlcG9ydC1nZXRzLXNlbnQtb24tc2Vzc2lvbi1zdGFydC5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9leHBpcmVkLWF0
dHJpYnV0aW9uLXJlcG9ydC1nZXRzLXNlbnQtb24tc2Vzc2lvbi1zdGFydC5odG1sCmluZGV4IDZm
MWI2NThmZWRkMzljZjJkZmQ0ZmM0ODM1ZGQ1MTAyODZlNjAwZWYuLjAzNDVlNGNiYzFlMTUyODMx
OGY1MzdmMDIxMWI3MGE0MzMxMDY0ZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvZXhwaXJlZC1hdHRyaWJ1dGlvbi1yZXBvcnQtZ2V0
cy1zZW50LW9uLXNlc3Npb24tc3RhcnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3ByaXZhdGVDbGlja01lYXN1cmVtZW50L2V4cGlyZWQtYXR0cmlidXRpb24tcmVwb3J0LWdldHMt
c2VudC1vbi1zZXNzaW9uLXN0YXJ0Lmh0bWwKQEAgLTQ3LDcgKzQ3LDcgQEAKICAgICAgICAgLy8g
TWFyayB0aGlzIGF0dHJpYnV0aW9uIGFzIHBhc3QtZHVlIGZvciByZXBvcnRpbmcsIGFuZCBzaW11
bGF0ZSBhIHNlc3Npb24gcmVzdGFydCB0bwogICAgICAgICAvLyBtYWtlIHN1cmUgdGhlIGF0dHJp
YnV0aW9uIGdldHMgc2VudCBpbW1lZGlhdGVseS4KICAgICAgICAgd2luZG93LnRlc3RSdW5uZXIu
bWFya0F0dHJpYnV0ZWRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudHNBc0V4cGlyZWRGb3JUZXN0aW5n
KCk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2ltdWxhdGVSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU2Vz
c2lvblJlc3RhcnQoKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zaW11bGF0ZVByaXZhdGVDbGlja01l
YXN1cmVtZW50U2Vzc2lvblJlc3RhcnQoKTsKICAgICAgICAgdGVzdFJ1bm5lci5kdW1wUHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQoKTsKICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0TGluayIpKTsKICAgICAgICAgZG9jdW1lbnQu
Ym9keS5yZW1vdmVDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGl4ZWwiKSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>