<?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>208922</bug_id>
          
          <creation_ts>2020-03-11 09:46:39 -0700</creation_ts>
          <short_desc>REGRESSION(r258263): it is breaking internal builds (Requested by youenn on #webkit).</short_desc>
          <delta_ts>2020-03-11 09:51:18 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>208714</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>jer.noble</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1628691</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-11 09:46:39 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/258263 broke the build:
it is breaking internal builds (Requested by youenn on #webkit).

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1628693</commentid>
    <comment_count>1</comment_count>
      <attachid>393256</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-11 09:46:47 -0700</bug_when>
    <thetext>Created attachment 393256
REVERT of r258263

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

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

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1628696</commentid>
    <comment_count>2</comment_count>
      <attachid>393256</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-11 09:50:15 -0700</bug_when>
    <thetext>Comment on attachment 393256
REVERT of r258263

Clearing flags on attachment: 393256

Committed r258266: &lt;https://trac.webkit.org/changeset/258266&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1628697</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-11 09:50:17 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1628698</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-03-11 09:51:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/60327283&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393256</attachid>
            <date>2020-03-11 09:46:47 -0700</date>
            <delta_ts>2020-03-11 09:50:15 -0700</delta_ts>
            <desc>REVERT of r258263</desc>
            <filename>bug-208922-20200311094646.patch</filename>
            <type>text/plain</type>
            <size>34242</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4MjYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjQ5NGIwODUyYWVmNDlm
ODAxYTYwNzFmMTgyNzc0MDU3ZDg5YmVkOC4uNTBhNTg4ZmZkODliYTEwMjZhYjhlMWUzMzZkMmM0
NmJlZjA0Y2NiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTAzLTExICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2Vk
LCByZXZlcnRpbmcgcjI1ODI2My4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwODkyMgorCisgICAgICAgIGl0IGlzIGJyZWFraW5nIGludGVybmFsIGJ1
aWxkcyAoUmVxdWVzdGVkIGJ5IHlvdWVubiBvbgorICAgICAgICAjd2Via2l0KS4KKworICAgICAg
ICBSZXZlcnRlZCBjaGFuZ2VzZXQ6CisKKyAgICAgICAgIk1vdmUgQXVkaW9TZXNzaW9uIGludGVy
cnVwdGlvbiBsaXN0ZW5lciBjb2RlIHRvIEF1ZGlvU2Vzc2lvbiIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODcxNAorICAgICAgICBodHRwczovL3Ry
YWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMjU4MjYzCisKIDIwMjAtMDMtMTEgIHlvdWVubiBmYWJs
ZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUgQXVkaW9TZXNzaW9uIGludGVy
cnVwdGlvbiBsaXN0ZW5lciBjb2RlIHRvIEF1ZGlvU2Vzc2lvbgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA3MzgyZTY0
ZGEzY2ViYjI4YjkxMGFkMjFmZWE3ZDMyNDhhNjJmNmQ3Li42YTQyY2I0MzY2MmNjZThlZWRmYmZi
OWM1Y2E1YzNhMmZiOTk0ZmE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTAzLTEx
ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJl
dmlld2VkLCByZXZlcnRpbmcgcjI1ODI2My4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIwODkyMgorCisgICAgICAgIGl0IGlzIGJyZWFraW5nIGludGVy
bmFsIGJ1aWxkcyAoUmVxdWVzdGVkIGJ5IHlvdWVubiBvbgorICAgICAgICAjd2Via2l0KS4KKwor
ICAgICAgICBSZXZlcnRlZCBjaGFuZ2VzZXQ6CisKKyAgICAgICAgIk1vdmUgQXVkaW9TZXNzaW9u
IGludGVycnVwdGlvbiBsaXN0ZW5lciBjb2RlIHRvIEF1ZGlvU2Vzc2lvbiIKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODcxNAorICAgICAgICBodHRw
czovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMjU4MjYzCisKIDIwMjAtMDMtMTEgIHlvdWVu
biBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUgQXVkaW9TZXNzaW9u
IGludGVycnVwdGlvbiBsaXN0ZW5lciBjb2RlIHRvIEF1ZGlvU2Vzc2lvbgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9TZXNzaW9uLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvU2Vzc2lvbi5jcHAKaW5kZXggM2I3Y2VlODQyMjBl
NDU2OGUxZTQ2OWVkMGVhNzA2MzFiNjM4MGVlYy4uZjM1ZmVhYmZlOTY3MTIwOGQ0YTMwYjg2Mjc5
MGI1MTNjYmVlZTc5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
QXVkaW9TZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRp
b1Nlc3Npb24uY3BwCkBAIC02MywyNCArNjMsNiBAQCBib29sIEF1ZGlvU2Vzc2lvbjo6dHJ5VG9T
ZXRBY3RpdmUoYm9vbCBhY3RpdmUpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLSNpZiAhUExBVEZP
Uk0oSU9TKQotdm9pZCBBdWRpb1Nlc3Npb246OmFkZEludGVycnVwdGlvbk9ic2VydmVyKEludGVy
cnVwdGlvbk9ic2VydmVyJikKLXsKLX0KLQotdm9pZCBBdWRpb1Nlc3Npb246OnJlbW92ZUludGVy
cnVwdGlvbk9ic2VydmVyKEludGVycnVwdGlvbk9ic2VydmVyJikKLXsKLX0KLQotdm9pZCBBdWRp
b1Nlc3Npb246OmJlZ2luSW50ZXJydXB0aW9uKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpJbnRlcnJ1
cHRpb25UeXBlKQotewotfQotCi12b2lkIEF1ZGlvU2Vzc2lvbjo6ZW5kSW50ZXJydXB0aW9uKFBs
YXRmb3JtTWVkaWFTZXNzaW9uOjpFbmRJbnRlcnJ1cHRpb25GbGFncykKLXsKLX0KLSNlbmRpZgot
CiAjaWYgIVBMQVRGT1JNKENPQ09BKQogY2xhc3MgQXVkaW9TZXNzaW9uUHJpdmF0ZSB7CiAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9BdWRpb1Nlc3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L0F1ZGlvU2Vzc2lvbi5oCmluZGV4IGZiZDhmOTk4M2FhMWQwYjdkMzY5YzgyZjY2YTNmMmU1NTY2
MzU5ZDcuLmZhNDIxMmZkMDU5YWNhNjRhYzZjZDY5NzkxMjM0ZjlhMjY2M2NhZjkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvU2Vzc2lvbi5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvU2Vzc2lvbi5oCkBAIC0yNywxMiArMjcs
MTEgQEAKIAogI2lmIFVTRShBVURJT19TRVNTSU9OKQogCi0jaW5jbHVkZSAiUGxhdGZvcm1NZWRp
YVNlc3Npb24uaCIKICNpbmNsdWRlIDxtZW1vcnk+CisjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4K
ICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvVW5pcXVlUmVmLmg+Ci0jaW5jbHVkZSA8d3RmL1dlYWtIYXNo
U2V0Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTk0LDE5ICs5Myw2IEBAIHB1YmxpYzoKICAgICB2b2lkIGFkZE11dGVkU3RhdGVP
YnNlcnZlcihNdXRlZFN0YXRlT2JzZXJ2ZXIqKTsKICAgICB2b2lkIHJlbW92ZU11dGVkU3RhdGVP
YnNlcnZlcihNdXRlZFN0YXRlT2JzZXJ2ZXIqKTsKIAotICAgIGNsYXNzIEludGVycnVwdGlvbk9i
c2VydmVyIDogcHVibGljIENhbk1ha2VXZWFrUHRyPEludGVycnVwdGlvbk9ic2VydmVyPiB7Ci0g
ICAgcHVibGljOgotICAgICAgICB2aXJ0dWFsIH5JbnRlcnJ1cHRpb25PYnNlcnZlcigpID0gZGVm
YXVsdDsKLQotICAgICAgICAvLyBGSVhNRTogUmVtb3ZlIHVzZSBvZiBJbnRlcnJ1cHRpb25UeXBl
IGFuZCBFbmRJbnRlcnJ1cHRpb25GbGFncyBpbiB0aGlzIGludGVyZmFjZS4KLSAgICAgICAgdmly
dHVhbCB2b2lkIGJlZ2luQXVkaW9TZXNzaW9uSW50ZXJydXB0aW9uKFBsYXRmb3JtTWVkaWFTZXNz
aW9uOjpJbnRlcnJ1cHRpb25UeXBlKSA9IDA7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBlbmRBdWRp
b1Nlc3Npb25JbnRlcnJ1cHRpb24oUGxhdGZvcm1NZWRpYVNlc3Npb246OkVuZEludGVycnVwdGlv
bkZsYWdzKSA9IDA7Ci0gICAgfTsKLSAgICB2b2lkIGFkZEludGVycnVwdGlvbk9ic2VydmVyKElu
dGVycnVwdGlvbk9ic2VydmVyJik7Ci0gICAgdm9pZCByZW1vdmVJbnRlcnJ1cHRpb25PYnNlcnZl
cihJbnRlcnJ1cHRpb25PYnNlcnZlciYpOwotICAgIHZvaWQgYmVnaW5JbnRlcnJ1cHRpb24oUGxh
dGZvcm1NZWRpYVNlc3Npb246OkludGVycnVwdGlvblR5cGUpOwotICAgIHZvaWQgZW5kSW50ZXJy
dXB0aW9uKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpFbmRJbnRlcnJ1cHRpb25GbGFncyk7Ci0KICAg
ICB2aXJ0dWFsIGJvb2wgaXNNdXRlZCgpIGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVN
dXRlZFN0YXRlQ2hhbmdlKCk7CiAKQEAgLTEyMCw5ICsxMDYsNiBAQCBwcm90ZWN0ZWQ6CiAKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8QXVkaW9TZXNzaW9uUHJpdmF0ZT4gbV9wcml2YXRlOwogICAgIEhh
c2hTZXQ8TXV0ZWRTdGF0ZU9ic2VydmVyKj4gbV9vYnNlcnZlcnM7Ci0jaWYgUExBVEZPUk0oSU9T
KQotICAgIFdlYWtIYXNoU2V0PEludGVycnVwdGlvbk9ic2VydmVyPiBtX2ludGVycnVwdGlvbk9i
c2VydmVyczsKLSNlbmRpZgogICAgIGJvb2wgbV9hY3RpdmUgeyBmYWxzZSB9OyAvLyBVc2VkIG9u
bHkgZm9yIHRlc3RpbmcuCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9pb3MvQXVkaW9TZXNzaW9uSU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vaW9zL0F1ZGlvU2Vzc2lvbklPUy5tbQppbmRleCA4ZDlkNDllODQ4NjY3YzZiYzU5MGVi
MzgzOWZhMWIyMmE1YjdhNmU5Li44M2QyNDAwYTFkMGFhNjM4OWMzZGY4OTM2NzEwYTM1ODlhNDQ1
ODg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvQXVkaW9T
ZXNzaW9uSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9BdWRp
b1Nlc3Npb25JT1MubW0KQEAgLTMyLDcxICszMiwxMSBAQAogI2ltcG9ydCA8QVZGb3VuZGF0aW9u
L0FWQXVkaW9TZXNzaW9uLmg+CiAjaW1wb3J0IDxvYmpjL3J1bnRpbWUuaD4KICNpbXBvcnQgPHBh
bC9zcGkvY29jb2EvQVZGb3VuZGF0aW9uU1BJLmg+Ci0jaW1wb3J0IDx3dGYvQmxvY2tPYmpDRXhj
ZXB0aW9ucy5oPgogI2ltcG9ydCA8d3RmL09TT2JqZWN0UHRyLmg+CiAjaW1wb3J0IDx3dGYvUmV0
YWluUHRyLmg+CiAKICNpbXBvcnQgPHBhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5oPgog
Ci1AaW50ZXJmYWNlIFdlYkludGVycnVwdGlvbk9ic2VydmVySGVscGVyIDogTlNPYmplY3Qgewot
ICAgIFdlYkNvcmU6OkF1ZGlvU2Vzc2lvbiogX2NhbGxiYWNrOwotfQotCi0tIChpZClpbml0V2l0
aENhbGxiYWNrOihXZWJDb3JlOjpBdWRpb1Nlc3Npb24qKWNhbGxiYWNrOwotLSAodm9pZCljbGVh
ckNhbGxiYWNrOwotLSAodm9pZClpbnRlcnJ1cHRpb246KE5TTm90aWZpY2F0aW9uICopbm90aWZp
Y2F0aW9uOwotQGVuZAotCi1AaW1wbGVtZW50YXRpb24gV2ViSW50ZXJydXB0aW9uT2JzZXJ2ZXJI
ZWxwZXIKLQotLSAoaWQpaW5pdFdpdGhDYWxsYmFjazooV2ViQ29yZTo6QXVkaW9TZXNzaW9uKilj
YWxsYmFjawotewotICAgIGlmICghKHNlbGYgPSBbc3VwZXIgaW5pdF0pKQotICAgICAgICByZXR1
cm4gbmlsOwotCi0gICAgX2NhbGxiYWNrID0gY2FsbGJhY2s7Ci0KLSAgICBOU05vdGlmaWNhdGlv
bkNlbnRlciAqY2VudGVyID0gW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdOwot
ICAgIFtjZW50ZXIgYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoaW50ZXJydXB0
aW9uOikgbmFtZTpBVkF1ZGlvU2Vzc2lvbkludGVycnVwdGlvbk5vdGlmaWNhdGlvbiBvYmplY3Q6
W1BBTDo6Z2V0QVZBdWRpb1Nlc3Npb25DbGFzcygpIHNoYXJlZEluc3RhbmNlXV07Ci0KLSAgICBy
ZXR1cm4gc2VsZjsKLX0KLQotLSAodm9pZClkZWFsbG9jCi17Ci0gICAgW1tOU05vdGlmaWNhdGlv
bkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNlcnZlcjpzZWxmXTsKLSAgICBbc3VwZXIg
ZGVhbGxvY107Ci19Ci0KLS0gKHZvaWQpY2xlYXJDYWxsYmFjawotewotICAgIF9jYWxsYmFjayA9
IG5pbDsKLX0KLQotLSAodm9pZClpbnRlcnJ1cHRpb246KE5TTm90aWZpY2F0aW9uICopbm90aWZp
Y2F0aW9uCi17Ci0gICAgaWYgKCFfY2FsbGJhY2spCi0gICAgICAgIHJldHVybjsKLQotICAgIE5T
VUludGVnZXIgdHlwZSA9IFtbW25vdGlmaWNhdGlvbiB1c2VySW5mb10gb2JqZWN0Rm9yS2V5OkFW
QXVkaW9TZXNzaW9uSW50ZXJydXB0aW9uVHlwZUtleV0gdW5zaWduZWRJbnRlZ2VyVmFsdWVdOwot
ICAgIFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpFbmRJbnRlcnJ1cHRpb25GbGFncyBm
bGFncyA9IFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpOb0ZsYWdzOwotCi0gICAgaWYg
KHR5cGUgPT0gQVZBdWRpb1Nlc3Npb25JbnRlcnJ1cHRpb25UeXBlRW5kZWQgJiYgW1tbbm90aWZp
Y2F0aW9uIHVzZXJJbmZvXSBvYmplY3RGb3JLZXk6QVZBdWRpb1Nlc3Npb25JbnRlcnJ1cHRpb25P
cHRpb25LZXldIHVuc2lnbmVkSW50ZWdlclZhbHVlXSA9PSBBVkF1ZGlvU2Vzc2lvbkludGVycnVw
dGlvbk9wdGlvblNob3VsZFJlc3VtZSkKLSAgICAgICAgZmxhZ3MgPSBXZWJDb3JlOjpQbGF0Zm9y
bU1lZGlhU2Vzc2lvbjo6TWF5UmVzdW1lUGxheWluZzsKLQotICAgIGNhbGxPbldlYlRocmVhZE9y
RGlzcGF0Y2hBc3luY09uTWFpblRocmVhZChbcHJvdGVjdGVkU2VsZiA9IHJldGFpblB0cihzZWxm
KSwgdHlwZSwgZmxhZ3NdKCkgbXV0YWJsZSB7Ci0gICAgICAgIGF1dG8qIGNhbGxiYWNrID0gcHJv
dGVjdGVkU2VsZi0+X2NhbGxiYWNrOwotICAgICAgICBpZiAoIWNhbGxiYWNrKQotICAgICAgICAg
ICAgcmV0dXJuOwotCi0gICAgICAgIGlmICh0eXBlID09IEFWQXVkaW9TZXNzaW9uSW50ZXJydXB0
aW9uVHlwZUJlZ2FuKQotICAgICAgICAgICAgY2FsbGJhY2stPmJlZ2luSW50ZXJydXB0aW9uKFdl
YkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpTeXN0ZW1JbnRlcnJ1cHRpb24pOwotICAgICAg
ICBlbHNlCi0gICAgICAgICAgICBjYWxsYmFjay0+ZW5kSW50ZXJydXB0aW9uKGZsYWdzKTsKLSAg
ICB9KTsKLX0KLUBlbmQKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAjaWYgIUxPR19ESVNBQkxF
RApAQCAtMTIxLDI1ICs2MSwxNCBAQCBzdGF0aWMgY29uc3QgY2hhciogY2F0ZWdvcnlOYW1lKEF1
ZGlvU2Vzc2lvbjo6Q2F0ZWdvcnlUeXBlIGNhdGVnb3J5KQogY2xhc3MgQXVkaW9TZXNzaW9uUHJp
dmF0ZSB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgZXhwbGlj
aXQgQXVkaW9TZXNzaW9uUHJpdmF0ZShBdWRpb1Nlc3Npb24qKTsKLSAgICB+QXVkaW9TZXNzaW9u
UHJpdmF0ZSgpOwotCisgICAgQXVkaW9TZXNzaW9uUHJpdmF0ZShBdWRpb1Nlc3Npb24qKTsKICAg
ICBBdWRpb1Nlc3Npb246OkNhdGVnb3J5VHlwZSBtX2NhdGVnb3J5T3ZlcnJpZGU7CiAgICAgT1NP
YmplY3RQdHI8ZGlzcGF0Y2hfcXVldWVfdD4gbV9kaXNwYXRjaFF1ZXVlOwotICAgIFJldGFpblB0
cjxXZWJJbnRlcnJ1cHRpb25PYnNlcnZlckhlbHBlcj4gbV9pbnRlcnJ1cHRpb25PYnNlcnZlckhl
bHBlcjsKIH07CiAKLUF1ZGlvU2Vzc2lvblByaXZhdGU6OkF1ZGlvU2Vzc2lvblByaXZhdGUoQXVk
aW9TZXNzaW9uKiBzZXNzaW9uKQorQXVkaW9TZXNzaW9uUHJpdmF0ZTo6QXVkaW9TZXNzaW9uUHJp
dmF0ZShBdWRpb1Nlc3Npb24qKQogICAgIDogbV9jYXRlZ29yeU92ZXJyaWRlKEF1ZGlvU2Vzc2lv
bjo6Tm9uZSkKIHsKLSAgICBCRUdJTl9CTE9DS19PQkpDX0VYQ0VQVElPTlMKLSAgICBtX2ludGVy
cnVwdGlvbk9ic2VydmVySGVscGVyID0gYWRvcHROUyhbW1dlYkludGVycnVwdGlvbk9ic2VydmVy
SGVscGVyIGFsbG9jXSBpbml0V2l0aENhbGxiYWNrOnNlc3Npb25dKTsKLSAgICBFTkRfQkxPQ0tf
T0JKQ19FWENFUFRJT05TCi19Ci0KLUF1ZGlvU2Vzc2lvblByaXZhdGU6On5BdWRpb1Nlc3Npb25Q
cml2YXRlKCkKLXsKLSAgICBbbV9pbnRlcnJ1cHRpb25PYnNlcnZlckhlbHBlciBjbGVhckNhbGxi
YWNrXTsKIH0KIAogQXVkaW9TZXNzaW9uOjpBdWRpb1Nlc3Npb24oKQpAQCAtMzIzLDI4ICsyNTIs
NiBAQCB2b2lkIEF1ZGlvU2Vzc2lvbjo6aGFuZGxlTXV0ZWRTdGF0ZUNoYW5nZSgpCiB7CiB9CiAK
LXZvaWQgQXVkaW9TZXNzaW9uOjphZGRJbnRlcnJ1cHRpb25PYnNlcnZlcihJbnRlcnJ1cHRpb25P
YnNlcnZlciYgb2JzZXJ2ZXIpCi17Ci0gICAgbV9pbnRlcnJ1cHRpb25PYnNlcnZlcnMuYWRkKG9i
c2VydmVyKTsKLX0KLQotdm9pZCBBdWRpb1Nlc3Npb246OnJlbW92ZUludGVycnVwdGlvbk9ic2Vy
dmVyKEludGVycnVwdGlvbk9ic2VydmVyJiBvYnNlcnZlcikKLXsKLSAgICBtX2ludGVycnVwdGlv
bk9ic2VydmVycy5yZW1vdmUob2JzZXJ2ZXIpOwotfQotCi12b2lkIEF1ZGlvU2Vzc2lvbjo6YmVn
aW5JbnRlcnJ1cHRpb24oUGxhdGZvcm1NZWRpYVNlc3Npb246OkludGVycnVwdGlvblR5cGUgdHlw
ZSkKLXsKLSAgICBmb3IgKGF1dG8mIG9ic2VydmVyIDogbV9pbnRlcnJ1cHRpb25PYnNlcnZlcnMp
Ci0gICAgICAgIG9ic2VydmVyLmJlZ2luQXVkaW9TZXNzaW9uSW50ZXJydXB0aW9uKHR5cGUpOwot
fQotCi12b2lkIEF1ZGlvU2Vzc2lvbjo6ZW5kSW50ZXJydXB0aW9uKFBsYXRmb3JtTWVkaWFTZXNz
aW9uOjpFbmRJbnRlcnJ1cHRpb25GbGFncyBmbGFncykKLXsKLSAgICBmb3IgKGF1dG8mIG9ic2Vy
dmVyIDogbV9pbnRlcnJ1cHRpb25PYnNlcnZlcnMpCi0gICAgICAgIG9ic2VydmVyLmVuZEF1ZGlv
U2Vzc2lvbkludGVycnVwdGlvbihmbGFncyk7Ci19Ci0KIH0KIAogI2VuZGlmIC8vIFVTRShBVURJ
T19TRVNTSU9OKSAmJiBQTEFURk9STShJT1NfRkFNSUxZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbkhlbHBlcklPUy5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbkhlbHBlcklPUy5oCmluZGV4
IDFhNzUyY2Y3NzhkZmYxZmJkMzE5MTQzNGE4MThlYTUzOGExMjE0YjcuLjYzNzJlZDBhZWFiZDky
OTQ1NmVhZTFlNDQ3MDU3NThjYjBmOTJmMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25IZWxwZXJJT1MuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvTWVkaWFTZXNzaW9uSGVscGVySU9TLmgKQEAgLTM3LDYg
KzM3LDEwIEBAIGNsYXNzIE1lZGlhU2Vzc2lvbkhlbHBlckNsaWVudCA6IHB1YmxpYyBDYW5NYWtl
V2Vha1B0cjxNZWRpYVNlc3Npb25IZWxwZXJDbGllbnQ+CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+
TWVkaWFTZXNzaW9uSGVscGVyQ2xpZW50KCkgPSBkZWZhdWx0OwogCisgICAgZW51bSBjbGFzcyBJ
bnRlcnJ1cHRpb25UeXBlIDogYm9vbCB7IEJlZ2luLCBFbmQgfTsKKyAgICBlbnVtIGNsYXNzIFNo
b3VsZFJlc3VtZSA6IGJvb2wgeyBObywgWWVzIH07CisgICAgdmlydHVhbCB2b2lkIHJlY2VpdmVk
SW50ZXJydXB0aW9uKEludGVycnVwdGlvblR5cGUsIFNob3VsZFJlc3VtZSkgPSAwOworCiAgICAg
ZW51bSBjbGFzcyBTdXNwZW5kZWRVbmRlckxvY2sgOiBib29sIHsgTm8sIFllcyB9OwogICAgIHZp
cnR1YWwgdm9pZCBhcHBsaWNhdGlvbldpbGxFbnRlckZvcmVncm91bmQoU3VzcGVuZGVkVW5kZXJM
b2NrKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGFwcGxpY2F0aW9uRGlkRW50ZXJCYWNrZ3JvdW5k
KFN1c3BlbmRlZFVuZGVyTG9jaykgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbkhlbHBlcklPUy5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25IZWxwZXJJT1MubW0KaW5kZXggOTZlZGY1
ZTk2Y2M2MTZiZDg3NjgxZTQ4NWE5ZDkyODAzOGViNWEzNi4uNGU5ZWYwNzRhNWIzYmE3NWRkMjVl
NjdjZDBlMmQxNzIwYWQyZWEyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vaW9zL01lZGlhU2Vzc2lvbkhlbHBlcklPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9pb3MvTWVkaWFTZXNzaW9uSGVscGVySU9TLm1tCkBAIC03OSw2ICs3OSw3
IEBAIGNsYXNzIE1lZGlhU2Vzc2lvbkhlbHBlcmlPUzsKIC0gKGlkKWluaXRXaXRoQ2FsbGJhY2s6
KE1lZGlhU2Vzc2lvbkhlbHBlcmlPUyopY2FsbGJhY2s7CiAKIC0gKHZvaWQpY2xlYXJDYWxsYmFj
azsKKy0gKHZvaWQpaW50ZXJydXB0aW9uOihOU05vdGlmaWNhdGlvbiAqKW5vdGlmaWNhdGlvbjsK
IC0gKHZvaWQpYXBwbGljYXRpb25XaWxsRW50ZXJGb3JlZ3JvdW5kOihOU05vdGlmaWNhdGlvbiAq
KW5vdGlmaWNhdGlvbjsKIC0gKHZvaWQpYXBwbGljYXRpb25XaWxsUmVzaWduQWN0aXZlOihOU05v
dGlmaWNhdGlvbiAqKW5vdGlmaWNhdGlvbjsKIC0gKHZvaWQpYXBwbGljYXRpb25EaWRFbnRlckJh
Y2tncm91bmQ6KE5TTm90aWZpY2F0aW9uICopbm90aWZpY2F0aW9uOwpAQCAtOTcsNiArOTgsNyBA
QCBwdWJsaWM6CiAgICAgfk1lZGlhU2Vzc2lvbkhlbHBlcmlPUygpOwogCiAgICAgdm9pZCBleHRl
cm5hbE91dHB1dERldmljZUF2YWlsYWJsZURpZENoYW5nZSgpOworICAgIHZvaWQgcmVjZWl2ZWRJ
bnRlcnJ1cHRpb24oTWVkaWFTZXNzaW9uSGVscGVyQ2xpZW50OjpJbnRlcnJ1cHRpb25UeXBlLCBN
ZWRpYVNlc3Npb25IZWxwZXJDbGllbnQ6OlNob3VsZFJlc3VtZSk7CiAgICAgdm9pZCBhcHBsaWNh
dGlvbldpbGxFbnRlckZvcmVncm91bmQoTWVkaWFTZXNzaW9uSGVscGVyQ2xpZW50OjpTdXNwZW5k
ZWRVbmRlckxvY2spOwogICAgIHZvaWQgYXBwbGljYXRpb25EaWRFbnRlckJhY2tncm91bmQoTWVk
aWFTZXNzaW9uSGVscGVyQ2xpZW50OjpTdXNwZW5kZWRVbmRlckxvY2spOwogICAgIHZvaWQgYXBw
bGljYXRpb25XaWxsQmVjb21lSW5hY3RpdmUoKTsKQEAgLTExMCw4ICsxMTIsMTAgQEAgcHVibGlj
OgogCiBwcml2YXRlOgogICAgIHVzaW5nIEhhc0F2YWlsYWJsZVRhcmdldHMgPSBNZWRpYVNlc3Np
b25IZWxwZXJDbGllbnQ6Okhhc0F2YWlsYWJsZVRhcmdldHM7CisgICAgdXNpbmcgSW50ZXJydXB0
aW9uVHlwZSA9IE1lZGlhU2Vzc2lvbkhlbHBlckNsaWVudDo6SW50ZXJydXB0aW9uVHlwZTsKICAg
ICB1c2luZyBQbGF5aW5nVG9BdXRvbW90aXZlSGVhZFVuaXQgPSBNZWRpYVNlc3Npb25IZWxwZXJD
bGllbnQ6OlBsYXlpbmdUb0F1dG9tb3RpdmVIZWFkVW5pdDsKICAgICB1c2luZyBTaG91bGRQYXVz
ZSA9IE1lZGlhU2Vzc2lvbkhlbHBlckNsaWVudDo6U2hvdWxkUGF1c2U7CisgICAgdXNpbmcgU2hv
dWxkUmVzdW1lID0gTWVkaWFTZXNzaW9uSGVscGVyQ2xpZW50OjpTaG91bGRSZXN1bWU7CiAgICAg
dXNpbmcgU3VwcG9ydHNBaXJQbGF5VmlkZW8gPSBNZWRpYVNlc3Npb25IZWxwZXJDbGllbnQ6OlN1
cHBvcnRzQWlyUGxheVZpZGVvOwogICAgIHVzaW5nIFN1c3BlbmRlZFVuZGVyTG9jayA9IE1lZGlh
U2Vzc2lvbkhlbHBlckNsaWVudDo6U3VzcGVuZGVkVW5kZXJMb2NrOwogCkBAIC0yNzQsNiArMjc4
LDEyIEBAIHZvaWQgTWVkaWFTZXNzaW9uSGVscGVyaU9TOjphY3RpdmVWaWRlb1JvdXRlRGlkQ2hh
bmdlKE9wdGlvbmFsPGJvb2w+JiYgc3VwcG9ydHNBCiB9CiAjZW5kaWYKIAordm9pZCBNZWRpYVNl
c3Npb25IZWxwZXJpT1M6OnJlY2VpdmVkSW50ZXJydXB0aW9uKE1lZGlhU2Vzc2lvbkhlbHBlckNs
aWVudDo6SW50ZXJydXB0aW9uVHlwZSB0eXBlLCBNZWRpYVNlc3Npb25IZWxwZXJDbGllbnQ6OlNo
b3VsZFJlc3VtZSBzaG91bGRSZXN1bWUpCit7CisgICAgZm9yIChhdXRvJiBjbGllbnQgOiBtX2Ns
aWVudHMpCisgICAgICAgIGNsaWVudC5yZWNlaXZlZEludGVycnVwdGlvbih0eXBlLCBzaG91bGRS
ZXN1bWUpOworfQorCiB2b2lkIE1lZGlhU2Vzc2lvbkhlbHBlcmlPUzo6YXBwbGljYXRpb25EaWRC
ZWNvbWVBY3RpdmUoKQogewogICAgIGZvciAoYXV0byYgY2xpZW50IDogbV9jbGllbnRzKQpAQCAt
MzIwLDYgKzMzMCw4IEBAIHZvaWQgTWVkaWFTZXNzaW9uSGVscGVyaU9TOjpleHRlcm5hbE91dHB1
dERldmljZUF2YWlsYWJsZURpZENoYW5nZSgpCiAgICAgX2NhbGxiYWNrID0gY2FsbGJhY2s7CiAK
ICAgICBOU05vdGlmaWNhdGlvbkNlbnRlciAqY2VudGVyID0gW05TTm90aWZpY2F0aW9uQ2VudGVy
IGRlZmF1bHRDZW50ZXJdOworICAgIFtjZW50ZXIgYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpA
c2VsZWN0b3IoaW50ZXJydXB0aW9uOikgbmFtZTpBVkF1ZGlvU2Vzc2lvbkludGVycnVwdGlvbk5v
dGlmaWNhdGlvbiBvYmplY3Q6W1BBTDo6Z2V0QVZBdWRpb1Nlc3Npb25DbGFzcygpIHNoYXJlZElu
c3RhbmNlXV07CisKICAgICBbY2VudGVyIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVj
dG9yKGFwcGxpY2F0aW9uV2lsbEVudGVyRm9yZWdyb3VuZDopIG5hbWU6UEFMOjpnZXRfVUlLaXRf
VUlBcHBsaWNhdGlvbldpbGxFbnRlckZvcmVncm91bmROb3RpZmljYXRpb24oKSBvYmplY3Q6bmls
XTsKICAgICBbY2VudGVyIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKGFwcGxp
Y2F0aW9uV2lsbEVudGVyRm9yZWdyb3VuZDopIG5hbWU6V2ViVUlBcHBsaWNhdGlvbldpbGxFbnRl
ckZvcmVncm91bmROb3RpZmljYXRpb24gb2JqZWN0Om5pbF07CiAgICAgW2NlbnRlciBhZGRPYnNl
cnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3RvcihhcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZTop
IG5hbWU6UEFMOjpnZXRfVUlLaXRfVUlBcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZU5vdGlmaWNh
dGlvbigpIG9iamVjdDpuaWxdOwpAQCAtNDMzLDYgKzQ0NSwyNiBAQCB2b2lkIE1lZGlhU2Vzc2lv
bkhlbHBlcmlPUzo6ZXh0ZXJuYWxPdXRwdXREZXZpY2VBdmFpbGFibGVEaWRDaGFuZ2UoKQogfQog
I2VuZGlmIC8vICFQTEFURk9STShXQVRDSE9TKQogCistICh2b2lkKWludGVycnVwdGlvbjooTlNO
b3RpZmljYXRpb24gKilub3RpZmljYXRpb24KK3sKKyAgICB1c2luZyBJbnRlcnJ1cHRpb25UeXBl
ID0gTWVkaWFTZXNzaW9uSGVscGVyQ2xpZW50OjpJbnRlcnJ1cHRpb25UeXBlOworICAgIHVzaW5n
IFNob3VsZFJlc3VtZSA9IE1lZGlhU2Vzc2lvbkhlbHBlckNsaWVudDo6U2hvdWxkUmVzdW1lOwor
CisgICAgTlNVSW50ZWdlciB0eXBlID0gW1tbbm90aWZpY2F0aW9uIHVzZXJJbmZvXSBvYmplY3RG
b3JLZXk6QVZBdWRpb1Nlc3Npb25JbnRlcnJ1cHRpb25UeXBlS2V5XSB1bnNpZ25lZEludGVnZXJW
YWx1ZV07CisgICAgSW50ZXJydXB0aW9uVHlwZSBpbnRlcnJ1cHRpb25UeXBlID0gKHR5cGUgPT0g
QVZBdWRpb1Nlc3Npb25JbnRlcnJ1cHRpb25UeXBlRW5kZWQgPyBJbnRlcnJ1cHRpb25UeXBlOjpF
bmQgOiBJbnRlcnJ1cHRpb25UeXBlOjpCZWdpbik7CisgICAgU2hvdWxkUmVzdW1lIHNob3VsZFJl
c3VtZSA9IFNob3VsZFJlc3VtZTo6Tm87CisKKyAgICBMT0coTWVkaWEsICItW1dlYk1lZGlhU2Vz
c2lvbkhlbHBlciBpbnRlcnJ1cHRpb25dIC0gdHlwZSA9ICVpIiwgKGludCl0eXBlKTsKKworICAg
IGlmIChpbnRlcnJ1cHRpb25UeXBlID09IEludGVycnVwdGlvblR5cGU6OkVuZCAmJiBbW1tub3Rp
ZmljYXRpb24gdXNlckluZm9dIG9iamVjdEZvcktleTpBVkF1ZGlvU2Vzc2lvbkludGVycnVwdGlv
bk9wdGlvbktleV0gdW5zaWduZWRJbnRlZ2VyVmFsdWVdID09IEFWQXVkaW9TZXNzaW9uSW50ZXJy
dXB0aW9uT3B0aW9uU2hvdWxkUmVzdW1lKQorICAgICAgICBzaG91bGRSZXN1bWUgPSBTaG91bGRS
ZXN1bWU6OlllczsKKworICAgIGNhbGxPbldlYlRocmVhZE9yRGlzcGF0Y2hBc3luY09uTWFpblRo
cmVhZChbcHJvdGVjdGVkU2VsZiA9IHJldGFpblB0cihzZWxmKSwgaW50ZXJydXB0aW9uVHlwZSwg
c2hvdWxkUmVzdW1lXSgpIG11dGFibGUgeworICAgICAgICBpZiAoYXV0byogY2FsbGJhY2sgPSBw
cm90ZWN0ZWRTZWxmLT5fY2FsbGJhY2spCisgICAgICAgICAgICBjYWxsYmFjay0+cmVjZWl2ZWRJ
bnRlcnJ1cHRpb24oaW50ZXJydXB0aW9uVHlwZSwgc2hvdWxkUmVzdW1lKTsKKyAgICB9KTsKK30K
KwogLSAodm9pZClhcHBsaWNhdGlvbldpbGxFbnRlckZvcmVncm91bmQ6KE5TTm90aWZpY2F0aW9u
ICopbm90aWZpY2F0aW9uCiB7CiAgICAgdXNpbmcgU3VzcGVuZGVkVW5kZXJMb2NrID0gTWVkaWFT
ZXNzaW9uSGVscGVyQ2xpZW50OjpTdXNwZW5kZWRVbmRlckxvY2s7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvTWVkaWFTZXNzaW9uTWFuYWdlcklPUy5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL01lZGlhU2Vzc2lvbk1hbmFnZXJJT1Mu
aAppbmRleCAwZjc3ZWJhNmQ5NzhjNjU2YWFlMjA5YmU5MzMxOTZjZjEwNmMzODdhLi40ZGM4ZmYz
YzEzMmFjNTU5OGIyMzljYzRkMjIzZTYxYTNkMDA0MzA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvTWVkaWFTZXNzaW9uTWFuYWdlcklPUy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25NYW5hZ2VySU9TLmgK
QEAgLTI3LDcgKzI3LDYgQEAKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAKLSNpbmNsdWRl
ICJBdWRpb1Nlc3Npb24uaCIKICNpbmNsdWRlICJNZWRpYVNlc3Npb25IZWxwZXJJT1MuaCIKICNp
bmNsdWRlICJNZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EuaCIKICNpbmNsdWRlIDx3dGYvUmV0YWlu
UHRyLmg+CkBAIC00NSwxNyArNDQsMTMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBN
ZWRpYVNlc3Npb25NYW5hZ2VyaU9TCiAgICAgOiBwdWJsaWMgTWVkaWFTZXNzaW9uTWFuYWdlckNv
Y29hCi0gICAgLCBwdWJsaWMgTWVkaWFTZXNzaW9uSGVscGVyQ2xpZW50Ci0gICAgLCBwdWJsaWMg
QXVkaW9TZXNzaW9uOjpJbnRlcnJ1cHRpb25PYnNlcnZlciB7CisgICAgLCBwdWJsaWMgTWVkaWFT
ZXNzaW9uSGVscGVyQ2xpZW50IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5NZWRpYVNlc3Npb25N
YW5hZ2VyaU9TKCk7CiAKICAgICBib29sIGhhc1dpcmVsZXNzVGFyZ2V0c0F2YWlsYWJsZSgpIG92
ZXJyaWRlOwogICAgIHN0YXRpYyBXRUJDT1JFX0VYUE9SVCB2b2lkIHByb3ZpZGVQcmVzZW50aW5n
QXBwbGljYXRpb25QSUQoKTsKIAotICAgIHVzaW5nIFdlYWtWYWx1ZVR5cGUgPSBNZWRpYVNlc3Np
b25IZWxwZXJDbGllbnQ6OldlYWtWYWx1ZVR5cGU7Ci0gICAgdXNpbmcgTWVkaWFTZXNzaW9uSGVs
cGVyQ2xpZW50Ojp3ZWFrUHRyRmFjdG9yeTsKLQogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3Mg
UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOwogCkBAIC02NywxMSArNjIsOCBAQCBwcml2YXRl
OgogICAgIHZvaWQgcHJvdmlkZVByZXNlbnRpbmdBcHBsaWNhdGlvblBJRElmTmVjZXNzYXJ5KCkg
ZmluYWw7CiAgICAgdm9pZCBzZXNzaW9uV2lsbEVuZFBsYXliYWNrKFBsYXRmb3JtTWVkaWFTZXNz
aW9uJiwgRGVsYXlDYWxsaW5nVXBkYXRlTm93UGxheWluZykgZmluYWw7CiAKLSAgICAvLyBBdWRp
b1Nlc3Npb246OkludGVycnVwdGlvbk9ic2VydmVyCi0gICAgdm9pZCBiZWdpbkF1ZGlvU2Vzc2lv
bkludGVycnVwdGlvbihQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6SW50ZXJydXB0aW9uVHlwZSB0eXBl
KSBmaW5hbCB7IGJlZ2luSW50ZXJydXB0aW9uKHR5cGUpOyB9Ci0gICAgdm9pZCBlbmRBdWRpb1Nl
c3Npb25JbnRlcnJ1cHRpb24oUGxhdGZvcm1NZWRpYVNlc3Npb246OkVuZEludGVycnVwdGlvbkZs
YWdzIGZsYWdzKSBmaW5hbCB7IGVuZEludGVycnVwdGlvbihmbGFncyk7IH0KLQogICAgIC8vIE1l
ZGlhU2Vzc2lvbkhlbHBlckNsaWVudAorICAgIHZvaWQgcmVjZWl2ZWRJbnRlcnJ1cHRpb24oSW50
ZXJydXB0aW9uVHlwZSwgU2hvdWxkUmVzdW1lKSBmaW5hbDsKICAgICB2b2lkIGFwcGxpY2F0aW9u
V2lsbEVudGVyRm9yZWdyb3VuZChTdXNwZW5kZWRVbmRlckxvY2spIGZpbmFsOwogICAgIHZvaWQg
YXBwbGljYXRpb25EaWRFbnRlckJhY2tncm91bmQoU3VzcGVuZGVkVW5kZXJMb2NrKSBmaW5hbDsK
ICAgICB2b2lkIGFwcGxpY2F0aW9uV2lsbEJlY29tZUluYWN0aXZlKCkgZmluYWw7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvTWVkaWFTZXNzaW9uTWFuYWdl
cklPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25N
YW5hZ2VySU9TLm1tCmluZGV4IDZjMTYxODNiYTM3YzM0YTg4MGY3MWQxMTllYjA4ZjU1ZTVjNjI1
OTkuLjgwZTViNzAwNDdlZmE5MWJmN2I3MjYxNzcyNjI2NWY1ODEzY2MzNDYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25NYW5hZ2VySU9T
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9NZWRpYVNlc3Npb25N
YW5hZ2VySU9TLm1tCkBAIC01MSw3ICs1MSw2IEBAIHN0ZDo6dW5pcXVlX3B0cjxQbGF0Zm9ybU1l
ZGlhU2Vzc2lvbk1hbmFnZXI+IFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y3JlYXRlCiBN
ZWRpYVNlc3Npb25NYW5hZ2VyaU9TOjpNZWRpYVNlc3Npb25NYW5hZ2VyaU9TKCkKICAgICA6IE1l
ZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYSgpCiB7Ci0gICAgQXVkaW9TZXNzaW9uOjpzaGFyZWRTZXNz
aW9uKCkuYWRkSW50ZXJydXB0aW9uT2JzZXJ2ZXIoKnRoaXMpOwogfQogCiBNZWRpYVNlc3Npb25N
YW5hZ2VyaU9TOjp+TWVkaWFTZXNzaW9uTWFuYWdlcmlPUygpCkBAIC01OSw3ICs1OCw2IEBAIE1l
ZGlhU2Vzc2lvbk1hbmFnZXJpT1M6On5NZWRpYVNlc3Npb25NYW5hZ2VyaU9TKCkKICAgICBpZiAo
bV9pc01vbml0b3JpbmdXaXJlbGVzc1JvdXRlcykKICAgICAgICAgTWVkaWFTZXNzaW9uSGVscGVy
OjpzaGFyZWRIZWxwZXIoKS5zdG9wTW9uaXRvcmluZ1dpcmVsZXNzUm91dGVzKCk7CiAgICAgTWVk
aWFTZXNzaW9uSGVscGVyOjpzaGFyZWRIZWxwZXIoKS5yZW1vdmVDbGllbnQoKnRoaXMpOwotICAg
IEF1ZGlvU2Vzc2lvbjo6c2hhcmVkU2Vzc2lvbigpLnJlbW92ZUludGVycnVwdGlvbk9ic2VydmVy
KCp0aGlzKTsKIH0KIAogdm9pZCBNZWRpYVNlc3Npb25NYW5hZ2VyaU9TOjpyZXNldFJlc3RyaWN0
aW9ucygpCkBAIC0xNjgsNiArMTY2LDE5IEBAIHZvaWQgTWVkaWFTZXNzaW9uTWFuYWdlcmlPUzo6
YWN0aXZlVmlkZW9Sb3V0ZURpZENoYW5nZShTdXBwb3J0c0FpclBsYXlWaWRlbyBzdXBwCiAgICAg
bm93UGxheWluZ1Nlc3Npb24tPnNldFBsYXliYWNrVGFyZ2V0KFdURk1vdmUocGxheWJhY2tUYXJn
ZXQpKTsKIH0KIAordm9pZCBNZWRpYVNlc3Npb25NYW5hZ2VyaU9TOjpyZWNlaXZlZEludGVycnVw
dGlvbihJbnRlcnJ1cHRpb25UeXBlIHR5cGUsIFNob3VsZFJlc3VtZSBzaG91bGRSZXN1bWUpCit7
CisgICAgaWYgKHdpbGxJZ25vcmVTeXN0ZW1JbnRlcnJ1cHRpb25zKCkpCisgICAgICAgIHJldHVy
bjsKKworICAgIGF1dG8gZmxhZ3MgPSBzaG91bGRSZXN1bWUgPT0gU2hvdWxkUmVzdW1lOjpZZXMg
PyBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6TWF5UmVzdW1lUGxheWluZyA6IFBsYXRmb3JtTWVkaWFT
ZXNzaW9uOjpOb0ZsYWdzOworCisgICAgaWYgKHR5cGUgPT0gSW50ZXJydXB0aW9uVHlwZTo6QmVn
aW4pCisgICAgICAgIGJlZ2luSW50ZXJydXB0aW9uKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpTeXN0
ZW1JbnRlcnJ1cHRpb24pOworICAgIGVsc2UKKyAgICAgICAgZW5kSW50ZXJydXB0aW9uKGZsYWdz
KTsKK30KKwogdm9pZCBNZWRpYVNlc3Npb25NYW5hZ2VyaU9TOjphcHBsaWNhdGlvbldpbGxFbnRl
ckZvcmVncm91bmQoU3VzcGVuZGVkVW5kZXJMb2NrIGlzU3VzcGVuZGVkVW5kZXJMb2NrKQogewog
ICAgIGlmICh3aWxsSWdub3JlU3lzdGVtSW50ZXJydXB0aW9ucygpKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCmluZGV4
IDdiZTQ3OWFlN2UwMDZlMTE1YjIyZmM3NDk4ZDJjNWYzMmZmZmU0MDAuLjRhYWJmN2QzYjAzYjc3
ZDdiZWE3ZDQ3ZGFjM2E3OGRjMThhMDA2YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKQEAgLTE1Niw3ICsxNTYs
NyBAQCB2b2lkIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpZENsb3NlKElQQzo6Q29ubmVj
dGlvbiYpCiB7CiAjaWYgVVNFKEFVRElPX1NFU1NJT04pCiAgICAgaWYgKG1fYXVkaW9TZXNzaW9u
UHJveHkpIHsKLSAgICAgICAgZ3B1UHJvY2VzcygpLmF1ZGlvU2Vzc2lvbk1hbmFnZXIoKS5yZW1v
dmVQcm94eSgqbV9hdWRpb1Nlc3Npb25Qcm94eSk7CisgICAgICAgIGdwdVByb2Nlc3MoKS5hdWRp
b1Nlc3Npb25NYW5hZ2VyKCkucmVtb3ZlUHJveHkod2ViUHJvY2Vzc0lkZW50aWZpZXIoKSk7CiAg
ICAgICAgIG1fYXVkaW9TZXNzaW9uUHJveHkgPSBudWxscHRyOwogICAgIH0KICNlbmRpZgpAQCAt
MjYzLDcgKzI2Myw3IEBAIFJlbW90ZUF1ZGlvU2Vzc2lvblByb3h5JiBHUFVDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzOjphdWRpb1Nlc3Npb25Qcm94eSgpCiB7CiAgICAgaWYgKCFtX2F1ZGlvU2Vzc2lv
blByb3h5KSB7CiAgICAgICAgIG1fYXVkaW9TZXNzaW9uUHJveHkgPSBSZW1vdGVBdWRpb1Nlc3Np
b25Qcm94eTo6Y3JlYXRlKCp0aGlzKS5tb3ZlVG9VbmlxdWVQdHIoKTsKLSAgICAgICAgZ3B1UHJv
Y2VzcygpLmF1ZGlvU2Vzc2lvbk1hbmFnZXIoKS5hZGRQcm94eSgqbV9hdWRpb1Nlc3Npb25Qcm94
eSk7CisgICAgICAgIGdwdVByb2Nlc3MoKS5hdWRpb1Nlc3Npb25NYW5hZ2VyKCkuYWRkUHJveHko
bWFrZVdlYWtQdHIobV9hdWRpb1Nlc3Npb25Qcm94eS5nZXQoKSkpOwogICAgIH0KICAgICByZXR1
cm4gKm1fYXVkaW9TZXNzaW9uUHJveHk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9TZXNzaW9uUHJveHkuY3BwIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1ZGlvU2Vzc2lvblByb3h5LmNwcAppbmRleCAxZTRk
N2Y4NDc5Mzg3NWYwODE5MzI3YmE5YjFlZDY3ZWNiY2ZiMGRjLi44NjQ1OGE1MTg3YzFiYWQ1ZDM1
OWFkODRkYzEzZDQ4NTE0MDI0Nzk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlQXVkaW9TZXNzaW9uUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVBdWRpb1Nlc3Npb25Qcm94eS5jcHAKQEAgLTc1LDE4ICs3
NSwxOCBAQCB2b2lkIFJlbW90ZUF1ZGlvU2Vzc2lvblByb3h5OjpzZXRDYXRlZ29yeShXZWJDb3Jl
OjpBdWRpb1Nlc3Npb246OkNhdGVnb3J5VHlwZSBjYQogewogICAgIG1fY2F0ZWdvcnkgPSBjYXRl
Z29yeTsKICAgICBtX3JvdXRlU2hhcmluZ1BvbGljeSA9IHBvbGljeTsKLSAgICBhdWRpb1Nlc3Np
b25NYW5hZ2VyKCkuc2V0Q2F0ZWdvcnlGb3JQcm9jZXNzKCp0aGlzLCBjYXRlZ29yeSwgcG9saWN5
KTsKKyAgICBhdWRpb1Nlc3Npb25NYW5hZ2VyKCkuc2V0Q2F0ZWdvcnlGb3JQcm9jZXNzKG1fZ3B1
Q29ubmVjdGlvbi53ZWJQcm9jZXNzSWRlbnRpZmllcigpLCBjYXRlZ29yeSwgcG9saWN5KTsKIH0K
IAogdm9pZCBSZW1vdGVBdWRpb1Nlc3Npb25Qcm94eTo6c2V0UHJlZmVycmVkQnVmZmVyU2l6ZSh1
aW50NjRfdCBzaXplKQogewogICAgIG1fcHJlZmVycmVkQnVmZmVyU2l6ZSA9IHNpemU7Ci0gICAg
YXVkaW9TZXNzaW9uTWFuYWdlcigpLnNldFByZWZlcnJlZEJ1ZmZlclNpemVGb3JQcm9jZXNzKCp0
aGlzLCBzaXplKTsKKyAgICBhdWRpb1Nlc3Npb25NYW5hZ2VyKCkuc2V0UHJlZmVycmVkQnVmZmVy
U2l6ZUZvclByb2Nlc3MobV9ncHVDb25uZWN0aW9uLndlYlByb2Nlc3NJZGVudGlmaWVyKCksIHNp
emUpOwogfQogCiB2b2lkIFJlbW90ZUF1ZGlvU2Vzc2lvblByb3h5Ojp0cnlUb1NldEFjdGl2ZShi
b29sIGFjdGl2ZSwgU2V0QWN0aXZlQ29tcGxldGlvbiYmIGNvbXBsZXRpb24pCiB7Ci0gICAgbV9h
Y3RpdmUgPSBhdWRpb1Nlc3Npb25NYW5hZ2VyKCkudHJ5VG9TZXRBY3RpdmVGb3JQcm9jZXNzKCp0
aGlzLCBhY3RpdmUpOworICAgIG1fYWN0aXZlID0gYXVkaW9TZXNzaW9uTWFuYWdlcigpLnRyeVRv
U2V0QWN0aXZlRm9yUHJvY2VzcyhtX2dwdUNvbm5lY3Rpb24ud2ViUHJvY2Vzc0lkZW50aWZpZXIo
KSwgYWN0aXZlKTsKICAgICBjb21wbGV0aW9uKG1fYWN0aXZlKTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1ZGlvU2Vzc2lvblByb3h5TWFu
YWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9TZXNz
aW9uUHJveHlNYW5hZ2VyLmNwcAppbmRleCA3ZmI2MzUzZTkzNDcyZmIxYTRjMjc3N2FmYzA2MWIy
Yjk1NTQ3M2YwLi5iMTZiNGVmMjExZjJhMzgzMDcwNTRjNTEyNjFiNzE2MWZjN2QwOGRiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9TZXNzaW9u
UHJveHlNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlQXVkaW9TZXNzaW9uUHJveHlNYW5hZ2VyLmNwcApAQCAtMjgsOCArMjgsNiBAQAogCiAjaWYg
RU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBVU0UoQVVESU9fU0VTU0lPTikKIAotI2luY2x1ZGUgIkdQ
VVByb2Nlc3MuaCIKLSNpbmNsdWRlICJHUFVQcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2VzLmgiCiAj
aW5jbHVkZSAiUmVtb3RlQXVkaW9TZXNzaW9uUHJveHkuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0F1
ZGlvU2Vzc2lvbi5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoQ291bnRlZFNldC5oPgpAQCAtNDYsMzYg
KzQ0LDQ2IEBAIHN0YXRpYyBib29sIGNhdGVnb3J5Q2FuTWl4V2l0aE90aGVycyhBdWRpb1Nlc3Np
b246OkNhdGVnb3J5VHlwZSBjYXRlZ29yeSkKIFJlbW90ZUF1ZGlvU2Vzc2lvblByb3h5TWFuYWdl
cjo6UmVtb3RlQXVkaW9TZXNzaW9uUHJveHlNYW5hZ2VyKCkKICAgICA6IG1fc2Vzc2lvbihBdWRp
b1Nlc3Npb246OmNyZWF0ZSgpKQogewotICAgIG1fc2Vzc2lvbi0+YWRkSW50ZXJydXB0aW9uT2Jz
ZXJ2ZXIoKnRoaXMpOwogfQogCi1SZW1vdGVBdWRpb1Nlc3Npb25Qcm94eU1hbmFnZXI6On5SZW1v
dGVBdWRpb1Nlc3Npb25Qcm94eU1hbmFnZXIoKQorUmVtb3RlQXVkaW9TZXNzaW9uUHJveHlNYW5h
Z2VyOjp+UmVtb3RlQXVkaW9TZXNzaW9uUHJveHlNYW5hZ2VyKCkgPSBkZWZhdWx0OworCit2b2lk
IFJlbW90ZUF1ZGlvU2Vzc2lvblByb3h5TWFuYWdlcjo6YWRkUHJveHkoV2Vha1B0cjxSZW1vdGVB
dWRpb1Nlc3Npb25Qcm94eT4mJiBwcm94eSkKIHsKLSAgICBtX3Nlc3Npb24tPnJlbW92ZUludGVy
cnVwdGlvbk9ic2VydmVyKCp0aGlzKTsKKyAgICBhdXRvIGlkID0gcHJveHktPnByb2Nlc3NJZGVu
dGlmaWVyKCk7CisgICAgQVNTRVJUKCFtX3Byb3hpZXMuY29udGFpbnMoaWQpKTsKKyAgICBtX3By
b3hpZXMuc2V0KGlkLCBXVEZNb3ZlKHByb3h5KSk7CiB9CiAKLXZvaWQgUmVtb3RlQXVkaW9TZXNz
aW9uUHJveHlNYW5hZ2VyOjphZGRQcm94eShSZW1vdGVBdWRpb1Nlc3Npb25Qcm94eSYgcHJveHkp
Cit2b2lkIFJlbW90ZUF1ZGlvU2Vzc2lvblByb3h5TWFuYWdlcjo6cmVtb3ZlUHJveHkoY29uc3Qg
UHJvY2Vzc0lkZW50aWZpZXImIGlkKQogewotICAgIEFTU0VSVCghbV9wcm94aWVzLmNvbnRhaW5z
KHByb3h5KSk7Ci0gICAgbV9wcm94aWVzLmFkZChwcm94eSk7CisgICAgQVNTRVJUKG1fcHJveGll
cy5jb250YWlucyhpZCkpOworICAgIG1fcHJveGllcy5yZW1vdmUoaWQpOwogfQogCi12b2lkIFJl
bW90ZUF1ZGlvU2Vzc2lvblByb3h5TWFuYWdlcjo6cmVtb3ZlUHJveHkoUmVtb3RlQXVkaW9TZXNz
aW9uUHJveHkmIHByb3h5KQorUmVtb3RlQXVkaW9TZXNzaW9uUHJveHkqIFJlbW90ZUF1ZGlvU2Vz
c2lvblByb3h5TWFuYWdlcjo6Z2V0UHJveHkoY29uc3QgUHJvY2Vzc0lkZW50aWZpZXImIGlkKQog
ewotICAgIEFTU0VSVChtX3Byb3hpZXMuY29udGFpbnMocHJveHkpKTsKLSAgICBtX3Byb3hpZXMu
cmVtb3ZlKHByb3h5KTsKKyAgICBhdXRvIHJlc3VsdHMgPSBtX3Byb3hpZXMuZmluZChpZCk7Cisg
ICAgaWYgKHJlc3VsdHMgIT0gbV9wcm94aWVzLmVuZCgpKQorICAgICAgICByZXR1cm4gcmVzdWx0
cy0+dmFsdWUuZ2V0KCk7CisgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKLXZvaWQgUmVtb3RlQXVk
aW9TZXNzaW9uUHJveHlNYW5hZ2VyOjpzZXRDYXRlZ29yeUZvclByb2Nlc3MoUmVtb3RlQXVkaW9T
ZXNzaW9uUHJveHkmIHByb3h5LCBBdWRpb1Nlc3Npb246OkNhdGVnb3J5VHlwZSBjYXRlZ29yeSwg
Um91dGVTaGFyaW5nUG9saWN5IHBvbGljeSkKK3ZvaWQgUmVtb3RlQXVkaW9TZXNzaW9uUHJveHlN
YW5hZ2VyOjpzZXRDYXRlZ29yeUZvclByb2Nlc3MoY29uc3QgUHJvY2Vzc0lkZW50aWZpZXImIGlk
LCBBdWRpb1Nlc3Npb246OkNhdGVnb3J5VHlwZSBjYXRlZ29yeSwgUm91dGVTaGFyaW5nUG9saWN5
IHBvbGljeSkKIHsKLSAgICBpZiAocHJveHkuY2F0ZWdvcnkoKSA9PSBjYXRlZ29yeSAmJiBwcm94
eS5yb3V0ZVNoYXJpbmdQb2xpY3koKSA9PSBwb2xpY3kpCisgICAgQVNTRVJUKG1fcHJveGllcy5j
b250YWlucyhpZCkpOworICAgIGF1dG8gcHJveHkgPSBnZXRQcm94eShpZCk7CisgICAgaWYgKCFw
cm94eSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKHByb3h5LT5jYXRlZ29yeSgpID09IGNh
dGVnb3J5ICYmIHByb3h5LT5yb3V0ZVNoYXJpbmdQb2xpY3koKSA9PSBwb2xpY3kpCiAgICAgICAg
IHJldHVybjsKIAogICAgIEhhc2hDb3VudGVkU2V0PEF1ZGlvU2Vzc2lvbjo6Q2F0ZWdvcnlUeXBl
LCBXVEY6OkludEhhc2g8QXVkaW9TZXNzaW9uOjpDYXRlZ29yeVR5cGU+LCBXVEY6OlN0cm9uZ0Vu
dW1IYXNoVHJhaXRzPEF1ZGlvU2Vzc2lvbjo6Q2F0ZWdvcnlUeXBlPj4gY2F0ZWdvcnlDb3VudHM7
CiAgICAgSGFzaENvdW50ZWRTZXQ8Um91dGVTaGFyaW5nUG9saWN5LCBXVEY6OkludEhhc2g8Um91
dGVTaGFyaW5nUG9saWN5PiwgV1RGOjpTdHJvbmdFbnVtSGFzaFRyYWl0czxSb3V0ZVNoYXJpbmdQ
b2xpY3k+PiBwb2xpY3lDb3VudHM7Ci0gICAgZm9yIChhdXRvJiBvdGhlclByb3h5IDogbV9wcm94
aWVzKSB7Ci0gICAgICAgIGNhdGVnb3J5Q291bnRzLmFkZChvdGhlclByb3h5LmNhdGVnb3J5KCkp
OwotICAgICAgICBwb2xpY3lDb3VudHMuYWRkKG90aGVyUHJveHkucm91dGVTaGFyaW5nUG9saWN5
KCkpOworICAgIGZvciAoYXV0byYgb3RoZXJQcm94eSA6IG1fcHJveGllcy52YWx1ZXMoKSkgewor
ICAgICAgICBjYXRlZ29yeUNvdW50cy5hZGQob3RoZXJQcm94eS0+Y2F0ZWdvcnkoKSk7CisgICAg
ICAgIHBvbGljeUNvdW50cy5hZGQob3RoZXJQcm94eS0+cm91dGVTaGFyaW5nUG9saWN5KCkpOwog
ICAgIH0KIAogICAgIGlmIChjYXRlZ29yeUNvdW50cy5jb250YWlucyhBdWRpb1Nlc3Npb246OlBs
YXlBbmRSZWNvcmQpKQpAQCAtMTA1LDIzICsxMTMsMzAgQEAgdm9pZCBSZW1vdGVBdWRpb1Nlc3Np
b25Qcm94eU1hbmFnZXI6OnNldENhdGVnb3J5Rm9yUHJvY2VzcyhSZW1vdGVBdWRpb1Nlc3Npb25Q
cm8KICAgICBtX3Nlc3Npb24tPnNldENhdGVnb3J5KGNhdGVnb3J5LCBwb2xpY3kpOwogfQogCi12
b2lkIFJlbW90ZUF1ZGlvU2Vzc2lvblByb3h5TWFuYWdlcjo6c2V0UHJlZmVycmVkQnVmZmVyU2l6
ZUZvclByb2Nlc3MoUmVtb3RlQXVkaW9TZXNzaW9uUHJveHkmIHByb3h5LCBzaXplX3QgcHJlZmVy
cmVkQnVmZmVyU2l6ZSkKK3ZvaWQgUmVtb3RlQXVkaW9TZXNzaW9uUHJveHlNYW5hZ2VyOjpzZXRQ
cmVmZXJyZWRCdWZmZXJTaXplRm9yUHJvY2Vzcyhjb25zdCBQcm9jZXNzSWRlbnRpZmllciYgaWQs
IHNpemVfdCBwcmVmZXJyZWRCdWZmZXJTaXplKQogewotICAgIGZvciAoYXV0byYgb3RoZXJQcm94
eSA6IG1fcHJveGllcykgewotICAgICAgICBpZiAob3RoZXJQcm94eS5wcmVmZXJyZWRCdWZmZXJT
aXplKCkgPCBwcmVmZXJyZWRCdWZmZXJTaXplKQotICAgICAgICAgICAgcHJlZmVycmVkQnVmZmVy
U2l6ZSA9IG90aGVyUHJveHkucHJlZmVycmVkQnVmZmVyU2l6ZSgpOworICAgIGZvciAoYXV0byYg
b3RoZXJQcm94eSA6IG1fcHJveGllcy52YWx1ZXMoKSkgeworICAgICAgICBpZiAoIW90aGVyUHJv
eHkpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgaWYgKG90aGVyUHJveHktPnByZWZl
cnJlZEJ1ZmZlclNpemUoKSA8IHByZWZlcnJlZEJ1ZmZlclNpemUpCisgICAgICAgICAgICBwcmVm
ZXJyZWRCdWZmZXJTaXplID0gb3RoZXJQcm94eS0+cHJlZmVycmVkQnVmZmVyU2l6ZSgpOwogICAg
IH0KIAogICAgIG1fc2Vzc2lvbi0+c2V0UHJlZmVycmVkQnVmZmVyU2l6ZShwcmVmZXJyZWRCdWZm
ZXJTaXplKTsKIH0KIAotYm9vbCBSZW1vdGVBdWRpb1Nlc3Npb25Qcm94eU1hbmFnZXI6OnRyeVRv
U2V0QWN0aXZlRm9yUHJvY2VzcyhSZW1vdGVBdWRpb1Nlc3Npb25Qcm94eSYgcHJveHksIGJvb2wg
YWN0aXZlKQorYm9vbCBSZW1vdGVBdWRpb1Nlc3Npb25Qcm94eU1hbmFnZXI6OnRyeVRvU2V0QWN0
aXZlRm9yUHJvY2Vzcyhjb25zdCBQcm9jZXNzSWRlbnRpZmllciYgaWQsIGJvb2wgYWN0aXZlKQog
ewotICAgIEFTU0VSVChtX3Byb3hpZXMuY29udGFpbnMocHJveHkpKTsKKyAgICBBU1NFUlQobV9w
cm94aWVzLmNvbnRhaW5zKGlkKSk7CisgICAgYXV0byBwcm94eSA9IGdldFByb3h5KGlkKTsKKyAg
ICBpZiAoIXByb3h5KQorICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBzaXplX3QgYWN0aXZl
UHJveHlDb3VudCB7IDAgfTsKLSAgICBmb3IgKGF1dG8mIG90aGVyUHJveHkgOiBtX3Byb3hpZXMp
IHsKLSAgICAgICAgaWYgKG90aGVyUHJveHkuaXNBY3RpdmUoKSkKKyAgICBmb3IgKGF1dG8mIG90
aGVyUHJveHkgOiBtX3Byb3hpZXMudmFsdWVzKCkpIHsKKyAgICAgICAgaWYgKCFvdGhlclByb3h5
KQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIGlmIChvdGhlclByb3h5LT5pc0FjdGl2
ZSgpKQogICAgICAgICAgICAgKythY3RpdmVQcm94eUNvdW50OwogICAgIH0KIApAQCAtMTQ3LDIx
ICsxNjIsMjMgQEAgYm9vbCBSZW1vdGVBdWRpb1Nlc3Npb25Qcm94eU1hbmFnZXI6OnRyeVRvU2V0
QWN0aXZlRm9yUHJvY2VzcyhSZW1vdGVBdWRpb1Nlc3Npb24KICAgICAvLyBJZiB0aGlzIHByb3h5
IGlzIEFtYmllbnQsIGFuZCB0aGUgc2Vzc2lvbiBpcyBhbHJlYWR5IGFjdGl2ZSwgdGhpcwogICAg
IC8vIHByb3h5IHdpbGwgbWl4IHdpdGggdGhlIGFjdGl2ZSBwcm94aWVzLiBOby1vcCwgYW5kIHJl
dHVybiBhY3RpdmF0aW9uCiAgICAgLy8gd2FzIHN1Y2Vzc2Z1bC4KLSAgICBpZiAoY2F0ZWdvcnlD
YW5NaXhXaXRoT3RoZXJzKHByb3h5LmNhdGVnb3J5KCkpKQorICAgIGlmIChjYXRlZ29yeUNhbk1p
eFdpdGhPdGhlcnMocHJveHktPmNhdGVnb3J5KCkpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAog
I2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgLy8gT3RoZXJ3aXNlLCB0aGlzIHByb3h5IHdh
bnRzIHRvIGJlY29tZSBhY3RpdmUsIGJ1dCB0aGVyZSBhcmUgb3RoZXIKICAgICAvLyBwcm94aWVz
IHdobyBhcmUgYWxyZWFkeSBhY3RpdmUuIFdhbGsgb3ZlciB0aGUgcHJveGllcywgYW5kIGludGVy
cnVwdAotICAgIC8vIHRob3NlIHByb3hpZXMgd2hvc2UgY2F0ZWdvcmllcyBpbmRpY2F0ZSB0aGV5
IGNhbm5vdCBtaXggd2l0aCBvdGhlcnMuCi0gICAgZm9yIChhdXRvJiBvdGhlclByb3h5IDogbV9w
cm94aWVzKSB7Ci0gICAgICAgIGlmICghb3RoZXJQcm94eS5pc0FjdGl2ZSgpKQorICAgIC8vIHRo
b3NlIHByb3hpZXMgd2hvc2UgY2F0ZW9ncmllcyBpbmRpY2F0ZSB0aGV5IGNhbm5vdCBtaXggd2l0
aCBvdGhlcnMuCisgICAgZm9yIChhdXRvJiBvdGhlclByb3h5IDogbV9wcm94aWVzLnZhbHVlcygp
KSB7CisgICAgICAgIGlmICghb3RoZXJQcm94eSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAg
ICAgICBpZiAoIW90aGVyUHJveHktPmlzQWN0aXZlKCkpCiAgICAgICAgICAgICBjb250aW51ZTsK
IAotICAgICAgICBpZiAoY2F0ZWdvcnlDYW5NaXhXaXRoT3RoZXJzKG90aGVyUHJveHkuY2F0ZWdv
cnkoKSkpCisgICAgICAgIGlmIChjYXRlZ29yeUNhbk1peFdpdGhPdGhlcnMob3RoZXJQcm94eS0+
Y2F0ZWdvcnkoKSkpCiAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICBvdGhlclByb3h5
LmJlZ2luSW50ZXJydXB0aW9uKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpJbnRlcnJ1cHRpb25UeXBl
OjpTeXN0ZW1JbnRlcnJ1cHRpb24pOworICAgICAgICBvdGhlclByb3h5LT5iZWdpbkludGVycnVw
dGlvbihQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6SW50ZXJydXB0aW9uVHlwZTo6U3lzdGVtSW50ZXJy
dXB0aW9uKTsKICAgICB9CiAjZW5kaWYKIApAQCAtMTY5LDIyICsxODYsNiBAQCBib29sIFJlbW90
ZUF1ZGlvU2Vzc2lvblByb3h5TWFuYWdlcjo6dHJ5VG9TZXRBY3RpdmVGb3JQcm9jZXNzKFJlbW90
ZUF1ZGlvU2Vzc2lvbgogCiB9CiAKLXZvaWQgUmVtb3RlQXVkaW9TZXNzaW9uUHJveHlNYW5hZ2Vy
OjpiZWdpbkF1ZGlvU2Vzc2lvbkludGVycnVwdGlvbihQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6SW50
ZXJydXB0aW9uVHlwZSB0eXBlKQotewotICAgIGZvciAoYXV0byYgcHJveHkgOiBtX3Byb3hpZXMp
IHsKLSAgICAgICAgaWYgKHByb3h5LmlzQWN0aXZlKCkpCi0gICAgICAgICAgICBwcm94eS5iZWdp
bkludGVycnVwdGlvbih0eXBlKTsKLSAgICB9Ci19Ci0KLXZvaWQgUmVtb3RlQXVkaW9TZXNzaW9u
UHJveHlNYW5hZ2VyOjplbmRBdWRpb1Nlc3Npb25JbnRlcnJ1cHRpb24oUGxhdGZvcm1NZWRpYVNl
c3Npb246OkVuZEludGVycnVwdGlvbkZsYWdzIGZsYWdzKQotewotICAgIGZvciAoYXV0byYgcHJv
eHkgOiBtX3Byb3hpZXMpIHsKLSAgICAgICAgaWYgKHByb3h5LmlzQWN0aXZlKCkpCi0gICAgICAg
ICAgICBwcm94eS5lbmRJbnRlcnJ1cHRpb24oZmxhZ3MpOwotICAgIH0KLX0KLQogfQogCiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVBdWRp
b1Nlc3Npb25Qcm94eU1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVBdWRpb1Nlc3Npb25Qcm94eU1hbmFnZXIuaAppbmRleCAwZDlhMGUzMWRiZWVhNzU5ZDQ4
MWQwNDc3OWQ2ZGE3NGUxYWZjYWU5Li5iMDA0NTU3MTJmNWE4NjAxOTk5MzIzNzU3M2UzOWMyODRj
OGY2YzIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
QXVkaW9TZXNzaW9uUHJveHlNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L21lZGlhL1JlbW90ZUF1ZGlvU2Vzc2lvblByb3h5TWFuYWdlci5oCkBAIC0yOSwzNiArMjksMzIg
QEAKIAogI2luY2x1ZGUgPFdlYkNvcmUvQXVkaW9TZXNzaW9uLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9Qcm9jZXNzSWRlbnRpZmllci5oPgotI2luY2x1ZGUgPHd0Zi9XZWFrSGFzaFNldC5oPgogCiBu
YW1lc3BhY2UgV2ViS2l0IHsKIAotY2xhc3MgR1BVUHJvY2VzczsKIGNsYXNzIFJlbW90ZUF1ZGlv
U2Vzc2lvblByb3h5OwogCiBjbGFzcyBSZW1vdGVBdWRpb1Nlc3Npb25Qcm94eU1hbmFnZXIKLSAg
ICA6IHB1YmxpYyBXZWJDb3JlOjpBdWRpb1Nlc3Npb246OkludGVycnVwdGlvbk9ic2VydmVyIHsK
KyAgICA6IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxSZW1vdGVBdWRpb1Nlc3Npb25Qcm94eU1hbmFn
ZXI+IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBSZW1vdGVB
dWRpb1Nlc3Npb25Qcm94eU1hbmFnZXIoKTsKICAgICB+UmVtb3RlQXVkaW9TZXNzaW9uUHJveHlN
YW5hZ2VyKCk7CiAKLSAgICB2b2lkIGFkZFByb3h5KFJlbW90ZUF1ZGlvU2Vzc2lvblByb3h5Jik7
Ci0gICAgdm9pZCByZW1vdmVQcm94eShSZW1vdGVBdWRpb1Nlc3Npb25Qcm94eSYpOworICAgIHZv
aWQgYWRkUHJveHkoV2Vha1B0cjxSZW1vdGVBdWRpb1Nlc3Npb25Qcm94eT4mJik7CisgICAgdm9p
ZCByZW1vdmVQcm94eShjb25zdCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciYpOworICAgIFJl
bW90ZUF1ZGlvU2Vzc2lvblByb3h5KiBnZXRQcm94eShjb25zdCBXZWJDb3JlOjpQcm9jZXNzSWRl
bnRpZmllciYpOwogCi0gICAgdm9pZCBzZXRDYXRlZ29yeUZvclByb2Nlc3MoUmVtb3RlQXVkaW9T
ZXNzaW9uUHJveHkmLCBXZWJDb3JlOjpBdWRpb1Nlc3Npb246OkNhdGVnb3J5VHlwZSwgV2ViQ29y
ZTo6Um91dGVTaGFyaW5nUG9saWN5KTsKLSAgICB2b2lkIHNldFByZWZlcnJlZEJ1ZmZlclNpemVG
b3JQcm9jZXNzKFJlbW90ZUF1ZGlvU2Vzc2lvblByb3h5Jiwgc2l6ZV90KTsKKyAgICB2b2lkIHNl
dENhdGVnb3J5Rm9yUHJvY2Vzcyhjb25zdCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciYsIFdl
YkNvcmU6OkF1ZGlvU2Vzc2lvbjo6Q2F0ZWdvcnlUeXBlLCBXZWJDb3JlOjpSb3V0ZVNoYXJpbmdQ
b2xpY3kpOworICAgIHZvaWQgc2V0UHJlZmVycmVkQnVmZmVyU2l6ZUZvclByb2Nlc3MoY29uc3Qg
V2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXImLCBzaXplX3QpOwogCi0gICAgYm9vbCB0cnlUb1Nl
dEFjdGl2ZUZvclByb2Nlc3MoUmVtb3RlQXVkaW9TZXNzaW9uUHJveHkmLCBib29sKTsKKyAgICBi
b29sIHRyeVRvU2V0QWN0aXZlRm9yUHJvY2Vzcyhjb25zdCBXZWJDb3JlOjpQcm9jZXNzSWRlbnRp
ZmllciYsIGJvb2wpOwogCiAgICAgY29uc3QgV2ViQ29yZTo6QXVkaW9TZXNzaW9uJiBzZXNzaW9u
KCkgY29uc3QgeyByZXR1cm4gbV9zZXNzaW9uOyB9CiAKIHByaXZhdGU6Ci0gICAgdm9pZCBiZWdp
bkF1ZGlvU2Vzc2lvbkludGVycnVwdGlvbihXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6
SW50ZXJydXB0aW9uVHlwZSkgZmluYWw7Ci0gICAgdm9pZCBlbmRBdWRpb1Nlc3Npb25JbnRlcnJ1
cHRpb24oV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OkVuZEludGVycnVwdGlvbkZsYWdz
KSBmaW5hbDsKLQogICAgIFVuaXF1ZVJlZjxXZWJDb3JlOjpBdWRpb1Nlc3Npb24+IG1fc2Vzc2lv
bjsKLSAgICBXZWFrSGFzaFNldDxSZW1vdGVBdWRpb1Nlc3Npb25Qcm94eT4gbV9wcm94aWVzOwor
ICAgIEhhc2hNYXA8V2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIsIFdlYWtQdHI8UmVtb3RlQXVk
aW9TZXNzaW9uUHJveHk+PiBtX3Byb3hpZXM7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvaW9zL1JlbW90ZU1lZGlhU2Vzc2lvbkhlbHBlclByb3h5
LmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9pb3MvUmVtb3RlTWVkaWFTZXNz
aW9uSGVscGVyUHJveHkuY3BwCmluZGV4IDAyZTJmYzYyNTBjYWExZmI3YTVmM2EwYTQzMzM5NzVm
ZWI5NzU0YjYuLjZlNjBiNDRlZTNkMWJiNjUzZGNjYjE4MzkxZjVkZTM4ZTNhM2Q5NDcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9pb3MvUmVtb3RlTWVkaWFTZXNz
aW9uSGVscGVyUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9p
b3MvUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyUHJveHkuY3BwCkBAIC03NCw2ICs3NCwxMSBAQCB2
b2lkIFJlbW90ZU1lZGlhU2Vzc2lvbkhlbHBlclByb3h5Ojpwcm92aWRlUHJlc2VudGluZ0FwcGxp
Y2F0aW9uUElEKGludCBwaWQpCiAgICAgTWVkaWFTZXNzaW9uSGVscGVyOjpzaGFyZWRIZWxwZXIo
KS5wcm92aWRlUHJlc2VudGluZ0FwcGxpY2F0aW9uUElEKHBpZCk7CiB9CiAKK3ZvaWQgUmVtb3Rl
TWVkaWFTZXNzaW9uSGVscGVyUHJveHk6OnJlY2VpdmVkSW50ZXJydXB0aW9uKEludGVycnVwdGlv
blR5cGUgdHlwZSwgU2hvdWxkUmVzdW1lIHNob3VsZFJlc3VtZSkKK3sKKyAgICBtX2dwdUNvbm5l
Y3Rpb24uY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OlJlbW90ZU1lZGlhU2Vzc2lvbkhlbHBl
cjo6UmVjZWl2ZWRJbnRlcnJ1cHRpb24odHlwZSwgc2hvdWxkUmVzdW1lKSwgeyB9KTsKK30KKwog
dm9pZCBSZW1vdGVNZWRpYVNlc3Npb25IZWxwZXJQcm94eTo6YXBwbGljYXRpb25XaWxsRW50ZXJG
b3JlZ3JvdW5kKFN1c3BlbmRlZFVuZGVyTG9jayBzdXNwZW5kZWRVbmRlckxvY2spCiB7CiAgICAg
bV9ncHVDb25uZWN0aW9uLmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVNl
c3Npb25IZWxwZXI6OkFwcGxpY2F0aW9uV2lsbEVudGVyRm9yZWdyb3VuZChzdXNwZW5kZWRVbmRl
ckxvY2spLCB7IH0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlh
L2lvcy9SZW1vdGVNZWRpYVNlc3Npb25IZWxwZXJQcm94eS5oIGIvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL21lZGlhL2lvcy9SZW1vdGVNZWRpYVNlc3Npb25IZWxwZXJQcm94eS5oCmluZGV4IDZl
MzE5ZjAxYWFiY2I0NjQ4ZTg1Y2FiN2VhNzE3ZmI5YTUxZDFjOWIuLjRhYjUwZjBiMDk2ZTg4ZWJm
ZmY3ODY0YTg1Mzk3ZGEzMjBmMjExYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9tZWRpYS9pb3MvUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyUHJveHkuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvaW9zL1JlbW90ZU1lZGlhU2Vzc2lvbkhlbHBlclBy
b3h5LmgKQEAgLTUyLDYgKzUyLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHByb3ZpZGVQcmVzZW50
aW5nQXBwbGljYXRpb25QSUQoaW50KTsKIAogICAgIC8vIE1lZGlhU2Vzc2lvbkhlbHBlckNsaWVu
dAorICAgIHZvaWQgcmVjZWl2ZWRJbnRlcnJ1cHRpb24oSW50ZXJydXB0aW9uVHlwZSwgU2hvdWxk
UmVzdW1lKSBmaW5hbDsKICAgICB2b2lkIGFwcGxpY2F0aW9uV2lsbEVudGVyRm9yZWdyb3VuZChT
dXNwZW5kZWRVbmRlckxvY2spIGZpbmFsOwogICAgIHZvaWQgYXBwbGljYXRpb25EaWRFbnRlckJh
Y2tncm91bmQoU3VzcGVuZGVkVW5kZXJMb2NrKSBmaW5hbDsKICAgICB2b2lkIGFwcGxpY2F0aW9u
V2lsbEJlY29tZUluYWN0aXZlKCkgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL21lZGlhL2lvcy9SZW1vdGVNZWRpYVNlc3Npb25IZWxwZXIuY3BwIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9pb3MvUmVtb3RlTWVkaWFTZXNzaW9uSGVs
cGVyLmNwcAppbmRleCA2YTk4ZWY4ZjU2NDM0YjdhM2ZlMDM3ZDY3OGZhYWQzYWY2NjI5OTEyLi5m
ZWY0ZDc1ZjI5ODA4MDM0ZjFhNDljYmM5YTVjMjlkNTUxOTE4NTlkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL2lvcy9SZW1vdGVNZWRpYVNlc3Npb25IZWxw
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvaW9zL1JlbW90
ZU1lZGlhU2Vzc2lvbkhlbHBlci5jcHAKQEAgLTc2LDYgKzc2LDEyIEBAIHZvaWQgUmVtb3RlTWVk
aWFTZXNzaW9uSGVscGVyOjpwcm92aWRlUHJlc2VudGluZ0FwcGxpY2F0aW9uUElEKGludCBwaWQp
CiAgICAgY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OlJlbW90ZU1lZGlhU2Vzc2lvbkhlbHBl
clByb3h5OjpQcm92aWRlUHJlc2VudGluZ0FwcGxpY2F0aW9uUElEKHBpZCksIHsgfSk7CiB9CiAK
K3ZvaWQgUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyOjpyZWNlaXZlZEludGVycnVwdGlvbihJbnRl
cnJ1cHRpb25UeXBlIHR5cGUsIFNob3VsZFJlc3VtZSBzaG91bGRSZXN1bWUpCit7CisgICAgZm9y
IChhdXRvJiBjbGllbnQgOiBtX2NsaWVudHMpCisgICAgICAgIGNsaWVudC5yZWNlaXZlZEludGVy
cnVwdGlvbih0eXBlLCBzaG91bGRSZXN1bWUpOworfQorCiB2b2lkIFJlbW90ZU1lZGlhU2Vzc2lv
bkhlbHBlcjo6YXBwbGljYXRpb25XaWxsRW50ZXJGb3JlZ3JvdW5kKFN1c3BlbmRlZFVuZGVyTG9j
ayBzdXNwZW5kZWRVbmRlckxvY2spCiB7CiAgICAgZm9yIChhdXRvJiBjbGllbnQgOiBtX2NsaWVu
dHMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL2lvcy9S
ZW1vdGVNZWRpYVNlc3Npb25IZWxwZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvaW9zL1JlbW90ZU1lZGlhU2Vzc2lvbkhlbHBlci5oCmluZGV4IDMzYjY2ZmU2OTJlMzFm
MDUwYWNhY2M5ZGMyNmExMTRkNWI2MTgyZTAuLmNkMGYwOThkODRlNzc4MjgwZTVjMmY0NDRhZDVj
MGRkMTBiY2E4NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvaW9zL1JlbW90ZU1lZGlhU2Vzc2lvbkhlbHBlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvbWVkaWEvaW9zL1JlbW90ZU1lZGlhU2Vzc2lvbkhlbHBlci5oCkBAIC00NCw4
ICs0NCwxMCBAQCBwdWJsaWM6CiAgICAgSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uKCk7CiAK
ICAgICB1c2luZyBIYXNBdmFpbGFibGVUYXJnZXRzID0gV2ViQ29yZTo6TWVkaWFTZXNzaW9uSGVs
cGVyQ2xpZW50OjpIYXNBdmFpbGFibGVUYXJnZXRzOworICAgIHVzaW5nIEludGVycnVwdGlvblR5
cGUgPSBXZWJDb3JlOjpNZWRpYVNlc3Npb25IZWxwZXJDbGllbnQ6OkludGVycnVwdGlvblR5cGU7
CiAgICAgdXNpbmcgUGxheWluZ1RvQXV0b21vdGl2ZUhlYWRVbml0ID0gV2ViQ29yZTo6TWVkaWFT
ZXNzaW9uSGVscGVyQ2xpZW50OjpQbGF5aW5nVG9BdXRvbW90aXZlSGVhZFVuaXQ7CiAgICAgdXNp
bmcgU2hvdWxkUGF1c2UgPSBXZWJDb3JlOjpNZWRpYVNlc3Npb25IZWxwZXJDbGllbnQ6OlNob3Vs
ZFBhdXNlOworICAgIHVzaW5nIFNob3VsZFJlc3VtZSA9IFdlYkNvcmU6Ok1lZGlhU2Vzc2lvbkhl
bHBlckNsaWVudDo6U2hvdWxkUmVzdW1lOwogICAgIHVzaW5nIFN1cHBvcnRzQWlyUGxheVZpZGVv
ID0gV2ViQ29yZTo6TWVkaWFTZXNzaW9uSGVscGVyQ2xpZW50OjpTdXBwb3J0c0FpclBsYXlWaWRl
bzsKICAgICB1c2luZyBTdXNwZW5kZWRVbmRlckxvY2sgPSBXZWJDb3JlOjpNZWRpYVNlc3Npb25I
ZWxwZXJDbGllbnQ6OlN1c3BlbmRlZFVuZGVyTG9jazsKIApAQCAtNTksNiArNjEsNyBAQCBwcml2
YXRlOgogICAgIHZvaWQgcHJvdmlkZVByZXNlbnRpbmdBcHBsaWNhdGlvblBJRChpbnQpIGZpbmFs
OwogCiAgICAgLy8gTWVzc2FnZXMKKyAgICB2b2lkIHJlY2VpdmVkSW50ZXJydXB0aW9uKEludGVy
cnVwdGlvblR5cGUsIFNob3VsZFJlc3VtZSk7CiAgICAgdm9pZCBhcHBsaWNhdGlvbldpbGxFbnRl
ckZvcmVncm91bmQoU3VzcGVuZGVkVW5kZXJMb2NrKTsKICAgICB2b2lkIGFwcGxpY2F0aW9uRGlk
RW50ZXJCYWNrZ3JvdW5kKFN1c3BlbmRlZFVuZGVyTG9jayk7CiAgICAgdm9pZCBhcHBsaWNhdGlv
bldpbGxCZWNvbWVJbmFjdGl2ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9tZWRpYS9pb3MvUmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyLm1lc3NhZ2VzLmluIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9pb3MvUmVtb3RlTWVkaWFTZXNzaW9u
SGVscGVyLm1lc3NhZ2VzLmluCmluZGV4IDliN2Q1Y2RhODgzMjJjMjI2MjA5NDk4YjM5N2QwMDA3
NmVhMWJiYTUuLjhlM2M1N2NkZjk2MzU5YzhmMzc4YjU5MTA0NjdhODI3MWM4MWRkMTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvaW9zL1JlbW90ZU1lZGlh
U2Vzc2lvbkhlbHBlci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL21lZGlhL2lvcy9SZW1vdGVNZWRpYVNlc3Npb25IZWxwZXIubWVzc2FnZXMuaW4KQEAgLTI0
LDYgKzI0LDcgQEAKICNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIFBMQVRGT1JNKElPU19GQU1J
TFkpCiAKIG1lc3NhZ2VzIC0+IFJlbW90ZU1lZGlhU2Vzc2lvbkhlbHBlciBOb3RSZWZDb3VudGVk
IHsKKyAgICBSZWNlaXZlZEludGVycnVwdGlvbihlbnVtOmJvb2wgV2ViS2l0OjpSZW1vdGVNZWRp
YVNlc3Npb25IZWxwZXI6OkludGVycnVwdGlvblR5cGUgdHlwZSwgZW51bTpib29sIFdlYktpdDo6
UmVtb3RlTWVkaWFTZXNzaW9uSGVscGVyOjpTaG91bGRSZXN1bWUgc2hvdWxkUmVzdW1lKQogICAg
IEFwcGxpY2F0aW9uV2lsbEVudGVyRm9yZWdyb3VuZChlbnVtOmJvb2wgV2ViS2l0OjpSZW1vdGVN
ZWRpYVNlc3Npb25IZWxwZXI6OlN1c3BlbmRlZFVuZGVyTG9jayBzdXNwZW5kZWRVbmRlckxvY2sp
CiAgICAgQXBwbGljYXRpb25EaWRFbnRlckJhY2tncm91bmQoZW51bTpib29sIFdlYktpdDo6UmVt
b3RlTWVkaWFTZXNzaW9uSGVscGVyOjpTdXNwZW5kZWRVbmRlckxvY2sgc3VzcGVuZGVkVW5kZXJM
b2NrKQogICAgIEFwcGxpY2F0aW9uV2lsbEJlY29tZUluYWN0aXZlKCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>