<?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>270983</bug_id>
          
          <creation_ts>2024-03-14 10:19:26 -0700</creation_ts>
          <short_desc>REGRESSION(276090@main): Broke internal builds</short_desc>
          <delta_ts>2024-03-14 10:24:16 -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>269728</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>bkayes</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2021042</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2024-03-14 10:19:26 -0700</bug_when>
    <thetext>https://commits.webkit.org/276090@main introduced a regression:
Broke internal builds

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

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

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

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2021046</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2024-03-14 10:23:21 -0700</bug_when>
    <thetext>Committed 276102@main (9854e2932ee2): &lt;https://commits.webkit.org/276102@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 470365.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2021047</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2024-03-14 10:24:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/124624972&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>470365</attachid>
            <date>2024-03-14 10:19:33 -0700</date>
            <delta_ts>2024-03-14 10:23:22 -0700</delta_ts>
            <desc>REVERT of 276090@main</desc>
            <filename>bug-270983-20240314171932.patch</filename>
            <type>text/plain</type>
            <size>30946</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">RnJvbSBmMDlhY2Y4MGNkN2JhN2E3YzNkMjQ4ZjY0YjQxYzZmZWRmZDE4ZjI4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDb21taXQgUXVldWUgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3Jn
PgpEYXRlOiBUaHUsIDE0IE1hciAyMDI0IDE3OjE5OjMwICswMDAwClN1YmplY3Q6IFtQQVRDSF0g
VW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIDI3NjA5MEBtYWluLgogaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTI3MDk4MwoKQnJva2UgaW50ZXJuYWwgYnVpbGRzCgpSZXZlcnRl
ZCBjaGFuZ2VzZXQ6CgoibmV3IGV4Y2VwdGlvbiBoYW5kbGVyIGFkb3B0aW9uIgpodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjY5NzI4Cmh0dHBzOi8vY29tbWl0cy53ZWJr
aXQub3JnLzI3NjA5MEBtYWluCi0tLQogU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAgICAg
ICAgICAgICAgICAgIHwgIDE5ICstLQogLi4uL3J1bnRpbWUvSW5pdGlhbGl6ZVRocmVhZGluZy5j
cHAgICAgICAgICAgIHwgIDEwICstCiAuLi4vSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYWNoaW5l
Q29udGV4dC5oICAgfCAgMTYgLS0KIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNVHJh
cHMuY3BwICAgICB8ICAgMSAtCiAuLi4vd2FzbS9XYXNtRmF1bHRTaWduYWxIYW5kbGVyLmNwcCAg
ICAgICAgICAgfCAgMjMgLS0tCiAuLi4vd2FzbS9XYXNtRmF1bHRTaWduYWxIYW5kbGVyLmggICAg
ICAgICAgICAgfCAgIDkgKy0KIFNvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogICAgICB8ICAgMyAtCiBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUpTQ09ubHkuY21ha2UgICAg
ICAgICAgfCAgIDIgKy0KIFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtTWFjLmNtYWtlICAgICAgICAg
ICAgICB8ICAgMiArLQogU291cmNlL1dURi93dGYvUGxhdGZvcm1SZWdpc3RlcnMuY3BwICAgICAg
ICAgIHwgICA4IC0KIFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtUmVnaXN0ZXJzLmggICAgICAgICAg
ICB8ICAgNiAtCiBTb3VyY2UvV1RGL3d0Zi90aHJlYWRzL1NpZ25hbHMuY3BwICAgICAgICAgICAg
fCAxNTIgKysrKystLS0tLS0tLS0tLS0tCiBTb3VyY2UvV1RGL3d0Zi90aHJlYWRzL1NpZ25hbHMu
aCAgICAgICAgICAgICAgfCAgMjkgKy0tLQogU291cmNlL1dURi93dGYvd2luL1NpZ25hbHNXaW4u
Y3BwICAgICAgICAgICAgIHwgICA1IC0KIC4uLi9pb3MvY29tLmFwcGxlLldlYktpdC5XZWJDb250
ZW50LnNiLmluICAgICB8ICAxMSArLQogLi4uL1dlYlByb2Nlc3MvY29tLmFwcGxlLldlYlByb2Nl
c3Muc2IuaW4gICAgIHwgICA5IC0tCiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9TaWdu
YWxzLmNwcCAgICAgfCAgMTMgKy0KIDE3IGZpbGVzIGNoYW5nZWQsIDU0IGluc2VydGlvbnMoKyks
IDI2NCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNj
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCmluZGV4IGNjM2Y5YmE4MjNiNS4u
ZGUyOTEzOTQ5ZDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcApAQCAtMzQ5Niw5ICszNDk2LDcgQEAg
aW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2IFdURl9UWk9ORV9FWFRSQV9NQUlOX0FSR1Mp
CiAKICNpZiBPUyhVTklYKQogICAgIGlmIChnZXRlbnYoIkpTX1NIRUxMX1dBSVRfRk9SX1NJR1VT
UjJfVE9fRVhJVCIpKSB7Ci0gICAgICAgIHVpbnQzMl90IGtleSA9IDA7Ci0gICAgICAgIGludCBt
YXNrID0gMDsKLSAgICAgICAgaW5pdGlhbGl6ZVNpZ25hbEhhbmRsaW5nKGtleSwgbWFzayk7Cisg
ICAgICAgIGluaXRpYWxpemVTaWduYWxIYW5kbGluZygpOwogICAgICAgICBhZGRTaWduYWxIYW5k
bGVyKFNpZ25hbDo6VXNyLCBTaWduYWxIYW5kbGVyKFsmXSAoU2lnbmFsLCBTaWdJbmZvJiwgUGxh
dGZvcm1SZWdpc3RlcnMmKSB7CiAgICAgICAgICAgICBkYXRhTG9nTG4oIlNpZ25hbCBoYW5kbGVy
IGhpdCwgd2UgY2FuIGV4aXQgbm93LiIpOwogICAgICAgICAgICAgd2FpdFRvRXhpdC5zaWduYWwo
KTsKQEAgLTM5NzIsMTkgKzM5NzAsNyBAQCB2b2lkIENvbW1hbmRMaW5lOjpwYXJzZUFyZ3VtZW50
cyhpbnQgYXJnYywgY2hhcioqIGFyZ3YpCiAgICAgICAgIH0KICAgICAgICAgaWYgKCFzdHJjbXAo
YXJnLCAiLXMiKSkgewogI2lmIE9TKFVOSVgpCi0gICAgICAgICAgICB1aW50MzJfdCBrZXkgPSAw
OwotICAgICAgICAgICAgaW50IG1hc2sgPSAwOwotI2lmIEhBVkUoTUFDSF9FWENFUFRJT05TKQot
ICAgICAgICAgICAgbWFzayB8PSB0b01hY2hNYXNrKFNpZ25hbDo6SWxsZWdhbEluc3RydWN0aW9u
KTsKLSAgICAgICAgICAgIG1hc2sgfD0gdG9NYWNoTWFzayhTaWduYWw6OkFjY2Vzc0ZhdWx0KTsK
LSAgICAgICAgICAgIG1hc2sgfD0gdG9NYWNoTWFzayhTaWduYWw6OkZsb2F0aW5nUG9pbnQpOwot
ICAgICAgICAgICAgbWFzayB8PSB0b01hY2hNYXNrKFNpZ25hbDo6QnJlYWtwb2ludCk7Ci0jaWYg
IU9TKERBUldJTikKLSAgICAgICAgICAgIG1hc2sgfD0gdG9NYWNoTWFzayhTaWduYWw6OkFib3J0
KTsKLSNlbmRpZiAvLyAhT1MoREFSV0lOKQotI2VuZGlmIC8vIEhBVkUoTUFDSF9FWENFUFRJT05T
KQotCi0gICAgICAgICAgICBpbml0aWFsaXplU2lnbmFsSGFuZGxpbmcoa2V5LCBtYXNrKTsKKyAg
ICAgICAgICAgIGluaXRpYWxpemVTaWduYWxIYW5kbGluZygpOwogCiAgICAgICAgICAgICBTaWdu
YWxBY3Rpb24gKCpleGl0KShTaWduYWwsIFNpZ0luZm8mLCBQbGF0Zm9ybVJlZ2lzdGVycyYpID0g
W10gKFNpZ25hbCwgU2lnSW5mbyYsIFBsYXRmb3JtUmVnaXN0ZXJzJikgewogICAgICAgICAgICAg
ICAgIGRhdGFMb2dMbigiU2lnbmFsIGhhbmRsZXIgaGl0LiBFeGl0aW5nIHdpdGggc3RhdHVzIDAi
KTsKQEAgLTQwMDcsNyArMzk5Myw2IEBAIHZvaWQgQ29tbWFuZExpbmU6OnBhcnNlQXJndW1lbnRz
KGludCBhcmdjLCBjaGFyKiogYXJndikKICAgICAgICAgICAgIGFkZFNpZ25hbEhhbmRsZXIoU2ln
bmFsOjpBYm9ydCwgU2lnbmFsSGFuZGxlcihleGl0KSk7CiAgICAgICAgICAgICBhY3RpdmF0ZVNp
Z25hbEhhbmRsZXJzRm9yKFNpZ25hbDo6QWJvcnQpOwogI2VuZGlmCi0gICAgICAgICAgICBmaW5h
bGl6ZVNpZ25hbEhhbmRsZXJzKCk7CiAjZW5kaWYKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAg
ICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Jbml0aWFs
aXplVGhyZWFkaW5nLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0luaXRpYWxp
emVUaHJlYWRpbmcuY3BwCmluZGV4IDA2NmQwMzdhMGMxYS4uNWM2ODAxZDJlNWFiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Jbml0aWFsaXplVGhyZWFkaW5nLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Jbml0aWFsaXplVGhyZWFkaW5n
LmNwcApAQCAtMTM3LDE1ICsxMzcsNyBAQCB2b2lkIGluaXRpYWxpemUoKQogCiAgICAgICAgIGlm
IChXYXNtOjppc1N1cHBvcnRlZCgpIHx8ICFPcHRpb25zOjp1c2VQb2xsaW5nVHJhcHMoKSkgewog
ICAgICAgICAgICAgLy8gSlNMb2NrOjpsb2NrKCkgY2FuIGNhbGwgcmVnaXN0ZXJUaHJlYWRGb3JN
YWNoRXhjZXB0aW9uSGFuZGxpbmcoKSB3aGljaCBjcmFzaGVzIGlmIHRoaXMgaGFzIG5vdCBiZWVu
IGNhbGxlZCBmaXJzdC4KLSAgICAgICAgICAgIGludCBtYXNrID0gMDsKLSNpZiBDUFUoQVJNNjRF
KSAmJiBkZWZpbmVkKEVYQ0VQVElPTl9TVEFURV9JREVOVElUWV9QUk9URUNURUQpCi0gICAgICAg
ICAgICBKU0M6Oldhc206Ok1hY2hFeGNlcHRpb25TaWduaW5nS2V5IGtleWdlbjsKLSAgICAgICAg
ICAgIHVpbnQzMl90IHNpZ25pbmdLZXkgPSBrZXlnZW4ucmFuZG9tU2lnbmluZ0tleTsKLSAgICAg
ICAgICAgIG1hc2sgfD0gdG9NYWNoTWFzayhTaWduYWw6OkFjY2Vzc0ZhdWx0KTsKLSNlbHNlCi0g
ICAgICAgICAgICB1aW50MzJfdCBzaWduaW5nS2V5ID0gMDsKLSNlbmRpZiAvLyBkZWZpbmVkKEVY
Q0VQVElPTl9TVEFURV9JREVOVElUWV9QUk9URUNURUQpCi0gICAgICAgICAgICBpbml0aWFsaXpl
U2lnbmFsSGFuZGxpbmcoc2lnbmluZ0tleSwgbWFzayk7CisgICAgICAgICAgICBpbml0aWFsaXpl
U2lnbmFsSGFuZGxpbmcoKTsKIAogICAgICAgICAgICAgaWYgKCFPcHRpb25zOjp1c2VQb2xsaW5n
VHJhcHMoKSkKICAgICAgICAgICAgICAgICBWTVRyYXBzOjppbml0aWFsaXplU2lnbmFscygpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFjaGluZUNvbnRleHQu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hY2hpbmVDb250ZXh0LmgKaW5kZXgg
Y2MwODBjNGJmZjMxLi4zZmExODAyNmMxMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL01hY2hpbmVDb250ZXh0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvTWFjaGluZUNvbnRleHQuaApAQCAtNDQsNyArNDQsNiBAQCB0ZW1wbGF0ZTx0eXBl
bmFtZSBUID0gdm9pZCo+IFQgZnJhbWVQb2ludGVyKGNvbnN0IFBsYXRmb3JtUmVnaXN0ZXJzJik7
CiBpbmxpbmUgQ29kZVB0cjxQbGF0Zm9ybVJlZ2lzdGVyc0xSUHRyVGFnPiBsaW5rUmVnaXN0ZXIo
Y29uc3QgUGxhdGZvcm1SZWdpc3RlcnMmKTsKIGlubGluZSBzdGQ6Om9wdGlvbmFsPENvZGVQdHI8
UGxhdGZvcm1SZWdpc3RlcnNQQ1B0clRhZz4+IGluc3RydWN0aW9uUG9pbnRlcihjb25zdCBQbGF0
Zm9ybVJlZ2lzdGVycyYpOwogaW5saW5lIHZvaWQgc2V0SW5zdHJ1Y3Rpb25Qb2ludGVyKFBsYXRm
b3JtUmVnaXN0ZXJzJiwgQ29kZVB0cjxDRnVuY3Rpb25QdHJUYWc+KTsKLWlubGluZSB2b2lkIHNl
dEluc3RydWN0aW9uUG9pbnRlcihQbGF0Zm9ybVJlZ2lzdGVycyYsIHZvaWQgKik7CiAKIHRlbXBs
YXRlPHNpemVfdCBOPiB2b2lkKiYgYXJndW1lbnRQb2ludGVyKFBsYXRmb3JtUmVnaXN0ZXJzJik7
CiB0ZW1wbGF0ZTxzaXplX3QgTj4gdm9pZCogYXJndW1lbnRQb2ludGVyKGNvbnN0IFBsYXRmb3Jt
UmVnaXN0ZXJzJik7CkBAIC00NTgsMjcgKzQ1NywxMiBAQCBpbmxpbmUgdm9pZCBzZXRJbnN0cnVj
dGlvblBvaW50ZXIoUGxhdGZvcm1SZWdpc3RlcnMmIHJlZ3MsIENvZGVQdHI8Q0Z1bmN0aW9uUHRy
VAogewogI2lmIFVTRShQTEFURk9STV9SRUdJU1RFUlNfV0lUSF9QUk9GSUxFKQogICAgIFdURl9X
UklURV9QTEFURk9STV9SRUdJU1RFUlNfUENfV0lUSF9QUk9GSUxFKHJlZ3MsIHZhbHVlLnRhZ2dl
ZFB0cigpKTsKLSNlbGlmIFVTRShEQVJXSU5fUkVHSVNURVJfTUFDUk9TKSAmJiBkZWZpbmVkKEVY
Q0VQVElPTl9TVEFURV9JREVOVElUWV9QUk9URUNURUQpCi0gICAgX19kYXJ3aW5fYXJtX3RocmVh
ZF9zdGF0ZTY0X3NldF9wcmVzaWduZWRfcGNfZnB0cihyZWdzLCB2YWx1ZS50YWdnZWRQdHIoKSk7
CiAjZWxpZiBVU0UoREFSV0lOX1JFR0lTVEVSX01BQ1JPUykKICAgICBfX2Rhcndpbl9hcm1fdGhy
ZWFkX3N0YXRlNjRfc2V0X3BjX2ZwdHIocmVncywgdmFsdWUudGFnZ2VkUHRyKCkpOwogI2Vsc2UK
ICAgICBpbnN0cnVjdGlvblBvaW50ZXJJbXBsKHJlZ3MpID0gdmFsdWUudGFnZ2VkUHRyKCk7CiAj
ZW5kaWYKIH0KLQotaW5saW5lIHZvaWQgc2V0SW5zdHJ1Y3Rpb25Qb2ludGVyKFBsYXRmb3JtUmVn
aXN0ZXJzJiByZWdzLCB2b2lkKiB2YWx1ZSkKLXsKLSNpZiBVU0UoUExBVEZPUk1fUkVHSVNURVJT
X1dJVEhfUFJPRklMRSkKLSAgICBXVEZfV1JJVEVfUExBVEZPUk1fUkVHSVNURVJTX1BDX1dJVEhf
UFJPRklMRShyZWdzLCB2YWx1ZSk7Ci0jZWxpZiBVU0UoREFSV0lOX1JFR0lTVEVSX01BQ1JPUykg
JiYgZGVmaW5lZChFWENFUFRJT05fU1RBVEVfSURFTlRJVFlfUFJPVEVDVEVEKQotICAgIF9fZGFy
d2luX2FybV90aHJlYWRfc3RhdGU2NF9zZXRfcHJlc2lnbmVkX3BjX2ZwdHIocmVncywgdmFsdWUp
OwotI2VsaWYgVVNFKERBUldJTl9SRUdJU1RFUl9NQUNST1MpCi0gICAgX19kYXJ3aW5fYXJtX3Ro
cmVhZF9zdGF0ZTY0X3NldF9wY19mcHRyKHJlZ3MsIHZhbHVlKTsKLSNlbHNlCi0gICAgaW5zdHJ1
Y3Rpb25Qb2ludGVySW1wbChyZWdzKSA9IHZhbHVlOwotI2VuZGlmCi19CiAjZW5kaWYgLy8gT1Mo
V0lORE9XUykgfHwgSEFWRShNQUNISU5FX0NPTlRFWFQpCiAKIApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk1UcmFwcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9WTVRyYXBzLmNwcAppbmRleCA4MjA1ODRjZTI4MWIuLjhmMDFhMGI1ZWViOCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk1UcmFwcy5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk1UcmFwcy5jcHAKQEAgLTIwMSw3ICsy
MDEsNiBAQCBwdWJsaWM6CiAgICAgICAgICwgbV92bSh2bSkKICAgICB7CiAgICAgICAgIGFjdGl2
YXRlU2lnbmFsSGFuZGxlcnNGb3IoU2lnbmFsOjpBY2Nlc3NGYXVsdCk7Ci0gICAgICAgIGZpbmFs
aXplU2lnbmFsSGFuZGxlcnMoKTsKICAgICB9CiAKICAgICBzdGF0aWMgdm9pZCBpbml0aWFsaXpl
U2lnbmFscygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtRmF1
bHRTaWduYWxIYW5kbGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21GYXVs
dFNpZ25hbEhhbmRsZXIuY3BwCmluZGV4IDlhYjgzNTNiNWM4Mi4uNDU4YjE1ZDE3NmQyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtRmF1bHRTaWduYWxIYW5kbGVy
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtRmF1bHRTaWduYWxIYW5k
bGVyLmNwcApAQCAtMzgsMzAgKzM4LDEyIEBACiAjaW5jbHVkZSAiV2FzbUV4Y2VwdGlvblR5cGUu
aCIKICNpbmNsdWRlICJXYXNtTWVtb3J5LmgiCiAjaW5jbHVkZSAiV2FzbVRodW5rcy5oIgotI2lu
Y2x1ZGUgPHd0Zi9Db2RlUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL0NyeXB0b2dyYXBoaWNhbGx5UmFu
ZG9tTnVtYmVyLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvTG9j
ay5oPgogI2luY2x1ZGUgPHd0Zi90aHJlYWRzL1NpZ25hbHMuaD4KIAogbmFtZXNwYWNlIEpTQyB7
IG5hbWVzcGFjZSBXYXNtIHsKIAotdXNpbmcgV1RGOjpDb2RlUHRyOwotCi12b2lkKiBwcmVzaWdu
ZWRUcmFtcG9saW5lID0geyB9OwotCi0jaWYgQ1BVKEFSTTY0RSkgJiYgZGVmaW5lZChFWENFUFRJ
T05fU1RBVEVfSURFTlRJVFlfUFJPVEVDVEVEKQotTWFjaEV4Y2VwdGlvblNpZ25pbmdLZXk6Ok1h
Y2hFeGNlcHRpb25TaWduaW5nS2V5KCkKLXsKLSAgICAvLyBTaWduIHRoZSB0cmFtcG9saW5lIHBv
aW50ZXIgdXNpbmcgYSByYW5kb20gZGl2ZXJzaWZpZXIgYW5kIHN0YXNoIGl0IGF3YXkgYmVmb3Jl
IHdlYmNvbnRlbnQgaGFzIHN0YXJ0ZWQgc28gdGhhdAotICAgIC8vIGV2ZW4gYSBQQUMgc2lnbmlu
ZyBnYWRnZXQgY2Fubm90IGZha2UgdGhpcyByYW5kb20gZGl2ZXJzaWZpZXIKLSAgICByYW5kb21T
aWduaW5nS2V5ID0gV1RGOjpjcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlcjx1aW50MzJfdD4o
KSAmIF9fREFSV0lOX0FSTV9USFJFQURfU1RBVEU2NF9VU0VSX0RJVkVSU0lGSUVSX01BU0s7Ci0g
ICAgdWludDY0X3QgZGl2ZXJzaWZpZXIgPSBwdHJhdXRoX2JsZW5kX2Rpc2NyaW1pbmF0b3IoKHZv
aWQgKikodW5zaWduZWQgbG9uZylyYW5kb21TaWduaW5nS2V5LCBwdHJhdXRoX3N0cmluZ19kaXNj
cmltaW5hdG9yKCJwYyIpKTsKLSAgICBwcmVzaWduZWRUcmFtcG9saW5lID0gSlNDOjpMTEludDo6
Z2V0Q29kZVB0cjxDRnVuY3Rpb25QdHJUYWc+KHdhc21fdGhyb3dfZnJvbV9mYXVsdF9oYW5kbGVy
X3RyYW1wb2xpbmVfcmVnX2luc3RhbmNlKS51bnRhZ2dlZFB0cigpOwotICAgIHByZXNpZ25lZFRy
YW1wb2xpbmUgPSBwdHJhdXRoX3NpZ25fdW5hdXRoZW50aWNhdGVkKHByZXNpZ25lZFRyYW1wb2xp
bmUsIHB0cmF1dGhfa2V5X2Z1bmN0aW9uX3BvaW50ZXIsIGRpdmVyc2lmaWVyKTsKLX0KLSNlbmRp
ZiAvLyBDUFUoQVJNNjRFKSAmJiBkZWZpbmVkKEVYQ0VQVElPTl9TVEFURV9JREVOVElUWV9QUk9U
RUNURUQpCi0KIG5hbWVzcGFjZSB7CiBuYW1lc3BhY2UgV2FzbUZhdWx0U2lnbmFsSGFuZGxlcklu
dGVybmFsIHsKIHN0YXRpYyBjb25zdGV4cHIgYm9vbCB2ZXJib3NlID0gZmFsc2U7CkBAIC0xMTQs
MTEgKzk2LDcgQEAgc3RhdGljIFNpZ25hbEFjdGlvbiB0cmFwSGFuZGxlcihTaWduYWwgc2lnbmFs
LCBTaWdJbmZvJiBzaWdJbmZvLCBQbGF0Zm9ybVJlZ2lzdGUKICAgICAgICAgICAgIH07CiAKICAg
ICAgICAgICAgIGlmIChkaWRGYXVsdEluV2FzbShmYXVsdGluZ0luc3RydWN0aW9uKSkgewotI2lm
IGRlZmluZWQoRVhDRVBUSU9OX1NUQVRFX0lERU5USVRZX1BST1RFQ1RFRCkKLSAgICAgICAgICAg
ICAgICBNYWNoaW5lQ29udGV4dDo6c2V0SW5zdHJ1Y3Rpb25Qb2ludGVyKGNvbnRleHQsIHByZXNp
Z25lZFRyYW1wb2xpbmUpOwotI2Vsc2UKICAgICAgICAgICAgICAgICBNYWNoaW5lQ29udGV4dDo6
c2V0SW5zdHJ1Y3Rpb25Qb2ludGVyKGNvbnRleHQsIExMSW50OjpnZXRDb2RlUHRyPENGdW5jdGlv
blB0clRhZz4od2FzbV90aHJvd19mcm9tX2ZhdWx0X2hhbmRsZXJfdHJhbXBvbGluZV9yZWdfaW5z
dGFuY2UpKTsKLSNlbmRpZgogICAgICAgICAgICAgICAgIHJldHVybiBTaWduYWxBY3Rpb246Okhh
bmRsZWQ7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KQEAgLTEzNyw3ICsxMTUsNiBAQCB2b2lk
IGFjdGl2YXRlU2lnbmFsaW5nTWVtb3J5KCkKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAg
ICBhY3RpdmF0ZVNpZ25hbEhhbmRsZXJzRm9yKFNpZ25hbDo6QWNjZXNzRmF1bHQpOwotICAgICAg
ICBXVEY6OmZpbmFsaXplU2lnbmFsSGFuZGxlcnMoKTsKICAgICB9KTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUZhdWx0U2lnbmFsSGFuZGxlci5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUZhdWx0U2lnbmFsSGFuZGxlci5oCmluZGV4
IDQwY2Q3ZGI3NTlmMy4uMmI1Y2I5N2VjM2Y4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd2FzbS9XYXNtRmF1bHRTaWduYWxIYW5kbGVyLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3dhc20vV2FzbUZhdWx0U2lnbmFsSGFuZGxlci5oCkBAIC0yOCw2ICsyOCw3IEBACiBu
YW1lc3BhY2UgSlNDIHsKIAogbmFtZXNwYWNlIFdhc20geworCiAjaWYgRU5BQkxFKFdFQkFTU0VN
QkxZKQogdm9pZCBhY3RpdmF0ZVNpZ25hbGluZ01lbW9yeSgpOwogdm9pZCBwcmVwYXJlU2lnbmFs
aW5nTWVtb3J5KCk7CkBAIC0zNiwxMiArMzcsNCBAQCBpbmxpbmUgdm9pZCBhY3RpdmF0ZVNpZ25h
bGluZ01lbW9yeSgpIHsgfQogaW5saW5lIHZvaWQgcHJlcGFyZVNpZ25hbGluZ01lbW9yeSgpIHsg
fQogI2VuZGlmIC8vIEVOQUJMRShXRUJBU1NFTUJMWSkKIAotI2lmIENQVShBUk02NEUpICYmIGRl
ZmluZWQoRVhDRVBUSU9OX1NUQVRFX0lERU5USVRZX1BST1RFQ1RFRCkKLWNsYXNzIE1hY2hFeGNl
cHRpb25TaWduaW5nS2V5IHsKLXB1YmxpYzoKLSAgICB1aW50MzJfdCByYW5kb21TaWduaW5nS2V5
ID0geyB9OwotICAgIE1hY2hFeGNlcHRpb25TaWduaW5nS2V5KCk7Ci19OwotI2VuZGlmIC8vIENQ
VShBUk02NEUpICYmIGRlZmluZWQoRVhDRVBUSU9OX1NUQVRFX0lERU5USVRZX1BST1RFQ1RFRCkK
LQogfSB9IC8vIG5hbWVzcGFjZSBKU0M6Oldhc20KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RG
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IDAyODNhMzBhNDAyOC4uYmY1ODE1ODJlMTk0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9X
VEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQwNTgsNyArNDA1OCw2IEBACiAJ
CQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKIAkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJl
bmNlID0gNUQyNDdCNzAxNDY4OUM0NzAwRTc4Qjc2IC8qIERlYnVnUmVsZWFzZS54Y2NvbmZpZyAq
LzsKIAkJCWJ1aWxkU2V0dGluZ3MgPSB7Ci0JCQkJT1RIRVJfTUlHRkxBR1MgPSAiLURNQUNIX0VY
Q19TRVJWRVJfVEFTS0lEVE9LRU5fU1RBVEUiOwogCQkJfTsKIAkJCW5hbWUgPSBEZWJ1ZzsKIAkJ
fTsKQEAgLTQwNjYsNyArNDA2NSw2IEBACiAJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsK
IAkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gNUQyNDdCNzAxNDY4OUM0NzAwRTc4Qjc2
IC8qIERlYnVnUmVsZWFzZS54Y2NvbmZpZyAqLzsKIAkJCWJ1aWxkU2V0dGluZ3MgPSB7Ci0JCQkJ
T1RIRVJfTUlHRkxBR1MgPSAiLURNQUNIX0VYQ19TRVJWRVJfVEFTS0lEVE9LRU5fU1RBVEUiOwog
CQkJfTsKIAkJCW5hbWUgPSBSZWxlYXNlOwogCQl9OwpAQCAtNDA4OCw3ICs0MDg2LDYgQEAKIAkJ
CWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwogCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVu
Y2UgPSA1RDI0N0I2RTE0Njg5QzQ3MDBFNzhCNzYgLyogQmFzZS54Y2NvbmZpZyAqLzsKIAkJCWJ1
aWxkU2V0dGluZ3MgPSB7Ci0JCQkJT1RIRVJfTUlHRkxBR1MgPSAiLURNQUNIX0VYQ19TRVJWRVJf
VEFTS0lEVE9LRU5fU1RBVEUiOwogCQkJfTsKIAkJCW5hbWUgPSBQcm9kdWN0aW9uOwogCQl9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1KU0NPbmx5LmNtYWtlIGIvU291cmNl
L1dURi93dGYvUGxhdGZvcm1KU0NPbmx5LmNtYWtlCmluZGV4IDAwOGU2NTI3OTdiZi4uYmMwYWFk
YTFlNzQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUpTQ09ubHkuY21ha2UK
KysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1KU0NPbmx5LmNtYWtlCkBAIC04NCw3ICs4NCw3
IEBAIGVsc2VpZiAoQVBQTEUpCiAgICAgICAgICAgICAke1dURl9ERVJJVkVEX1NPVVJDRVNfRElS
fS9tYWNoX2V4Y1VzZXIuYwogICAgICAgICBNQUlOX0RFUEVOREVOQ1kgbWFjL01hY2hFeGNlcHRp
b25zLmRlZnMKICAgICAgICAgV09SS0lOR19ESVJFQ1RPUlkgJHtXVEZfREVSSVZFRF9TT1VSQ0VT
X0RJUn0KLSAgICAgICAgQ09NTUFORCBtaWcgLURNQUNIX0VYQ19TRVJWRVJfVEFTS0lEVE9LRU5f
U1RBVEUgLXNoZWFkZXIgTWFjaEV4Y2VwdGlvbnNTZXJ2ZXIuaCBNYWNoRXhjZXB0aW9ucy5kZWZz
CisgICAgICAgIENPTU1BTkQgbWlnIC1zaGVhZGVyIE1hY2hFeGNlcHRpb25zU2VydmVyLmggTWFj
aEV4Y2VwdGlvbnMuZGVmcwogICAgICAgICBWRVJCQVRJTSkKICAgICBsaXN0KEFQUEVORCBXVEZf
U09VUkNFUwogICAgICAgICBjb2NvYS9NZW1vcnlGb290cHJpbnRDb2NvYS5jcHAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtTWFjLmNtYWtlIGIvU291cmNlL1dURi93dGYvUGxh
dGZvcm1NYWMuY21ha2UKaW5kZXggODQzM2MwNmI0OTgyLi4xNGYwN2JkMDFmOWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtTWFjLmNtYWtlCisrKyBiL1NvdXJjZS9XVEYvd3Rm
L1BsYXRmb3JtTWFjLmNtYWtlCkBAIC0xMTcsNyArMTE3LDcgQEAgYWRkX2N1c3RvbV9jb21tYW5k
KAogICAgICAgICAke1dURl9ERVJJVkVEX1NPVVJDRVNfRElSfS9tYWNoX2V4Y1VzZXIuYwogICAg
IE1BSU5fREVQRU5ERU5DWSBtYWMvTWFjaEV4Y2VwdGlvbnMuZGVmcwogICAgIFdPUktJTkdfRElS
RUNUT1JZICR7V1RGX0RFUklWRURfU09VUkNFU19ESVJ9Ci0gICAgQ09NTUFORCBtaWcgLURNQUNI
X0VYQ19TRVJWRVJfVEFTS0lEVE9LRU5fU1RBVEUgLXNoZWFkZXIgTWFjaEV4Y2VwdGlvbnNTZXJ2
ZXIuaCBNYWNoRXhjZXB0aW9ucy5kZWZzCisgICAgQ09NTUFORCBtaWcgLXNoZWFkZXIgTWFjaEV4
Y2VwdGlvbnNTZXJ2ZXIuaCBNYWNoRXhjZXB0aW9ucy5kZWZzCiAgICAgVkVSQkFUSU0pCiBsaXN0
KEFQUEVORCBXVEZfU09VUkNFUwogICAgICR7V1RGX0RFUklWRURfU09VUkNFU19ESVJ9L21hY2hf
ZXhjU2VydmVyLmMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtUmVnaXN0ZXJz
LmNwcCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtUmVnaXN0ZXJzLmNwcAppbmRleCA4MTUyZDJi
MDA3NDguLjEzNjk0MTc5MDczOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1S
ZWdpc3RlcnMuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtUmVnaXN0ZXJzLmNwcApA
QCAtNTMsMTQgKzUzLDYgQEAgdm9pZCogdGhyZWFkU3RhdGVMUkludGVybmFsKFBsYXRmb3JtUmVn
aXN0ZXJzJiByZWdzKQogCiB2b2lkKiB0aHJlYWRTdGF0ZVBDSW50ZXJuYWwoUGxhdGZvcm1SZWdp
c3RlcnMmIHJlZ3MpCiB7Ci0jaWYgQ1BVKEFSTTY0RSkgJiYgZGVmaW5lZChFWENFUFRJT05fU1RB
VEVfSURFTlRJVFlfUFJPVEVDVEVEKQotICAgIC8vIElmIHVzZXJzcGFjZSBoYXMgbW9kaWZpZWQg
dGhlIFBDIGFuZCBzZXQgaXQgdG8gdGhlIHByZXNpZ25lZFRyYW1wb2xpbmUsCi0gICAgLy8gd2Ug
d2FudCB0byBhdm9pZCBhdXRoaW5nIHRoZSB2YWx1ZSBhcyBpdCBpcyB1c2luZyBhIGN1c3RvbSBw
dHJhdXRoIHNpZ25pbmcgc2NoZW1lLgotICAgIF9TVFJVQ1RfQVJNX1RIUkVBRF9TVEFURTY0KiB0
cyA9ICYocmVncyk7Ci0gICAgaWYgKCEodHMtPl9fb3BhcXVlX2ZsYWdzICYgX19EQVJXSU5fQVJN
X1RIUkVBRF9TVEFURTY0X0ZMQUdTX0tFUk5FTF9TSUdORURfUEMpKQotICAgICAgICByZXR1cm4g
bnVsbHB0cjsKLSNlbmRpZiAvLyBkZWZpbmVkKEVYQ0VQVElPTl9TVEFURV9JREVOVElUWV9QUk9U
RUNURUQpCi0KICAgICB2b2lkKiBjYW5kaWRhdGVQQyA9IGFybV90aHJlYWRfc3RhdGU2NF9nZXRf
cGNfZnB0cihyZWdzKTsKIAogI2lmIFVTRShVTlRBR0dFRF9USFJFQURfU1RBVEVfUFRSKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1SZWdpc3RlcnMuaCBiL1NvdXJjZS9XVEYv
d3RmL1BsYXRmb3JtUmVnaXN0ZXJzLmgKaW5kZXggODA4NWYwZmM2YWIyLi5iMDU5NGIyYzcwZGEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtUmVnaXN0ZXJzLmgKKysrIGIvU291
cmNlL1dURi93dGYvUGxhdGZvcm1SZWdpc3RlcnMuaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1
ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KIAogI2lmIE9TKERBUldJTikKLSNpbmNsdWRlIDxtYWNo
L2V4Y2VwdGlvbl90eXBlcy5oPgogI2luY2x1ZGUgPG1hY2gvdGhyZWFkX2FjdC5oPgogI2luY2x1
ZGUgPHNpZ25hbC5oPgogI2VsaWYgT1MoV0lORE9XUykKQEAgLTEzMSwxMyArMTMwLDggQEAgdXNp
bmcgV1RGOjp0aHJlYWRTdGF0ZVBDSW50ZXJuYWw7CiAjZGVmaW5lIFdURl9SRUFEX1BMQVRGT1JN
X1JFR0lTVEVSU19QQ19XSVRIX1BST0ZJTEUocmVncykgXAogICAgIHRocmVhZFN0YXRlUENJbnRl
cm5hbChjb25zdF9jYXN0PFBsYXRmb3JtUmVnaXN0ZXJzJj4ocmVncykpCiAKLSNpZiBkZWZpbmVk
KEVYQ0VQVElPTl9TVEFURV9JREVOVElUWV9QUk9URUNURUQpCi0jZGVmaW5lIFdURl9XUklURV9Q
TEFURk9STV9SRUdJU1RFUlNfUENfV0lUSF9QUk9GSUxFKHJlZ3MsIG5ld1BvaW50ZXIpIFwKLSAg
ICBhcm1fdGhyZWFkX3N0YXRlNjRfc2V0X3BjX3ByZXNpZ25lZF9mcHRyKHJlZ3MsIG5ld1BvaW50
ZXIpCi0jZWxzZSAvLyBkZWZpbmVkKEVYQ0VQVElPTl9TVEFURV9JREVOVElUWV9QUk9URUNURUQp
CiAjZGVmaW5lIFdURl9XUklURV9QTEFURk9STV9SRUdJU1RFUlNfUENfV0lUSF9QUk9GSUxFKHJl
Z3MsIG5ld1BvaW50ZXIpIFwKICAgICBhcm1fdGhyZWFkX3N0YXRlNjRfc2V0X3BjX2ZwdHIocmVn
cywgbmV3UG9pbnRlcikKLSNlbmRpZiAvLyBkZWZpbmVkKEVYQ0VQVElPTl9TVEFURV9JREVOVElU
WV9QUk9URUNURUQpCiAKICNkZWZpbmUgV1RGX1JFQURfTUFDSElORV9DT05URVhUX1NQX1dJVEhf
UFJPRklMRShtYWNoaW5lQ29udGV4dCkgXAogICAgIFdURl9SRUFEX1BMQVRGT1JNX1JFR0lTVEVS
U19TUF9XSVRIX1BST0ZJTEUobWFjaGluZUNvbnRleHQtPl9fc3MpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi90aHJlYWRzL1NpZ25hbHMuY3BwIGIvU291cmNlL1dURi93dGYvdGhyZWFkcy9T
aWduYWxzLmNwcAppbmRleCA5NDBjMDY1MWQwMzEuLjY4ZmM1ZjY0YzJmYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi93dGYvdGhyZWFkcy9TaWduYWxzLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi90
aHJlYWRzL1NpZ25hbHMuY3BwCkBAIC00MSwzMCArNDEsMjggQEAgZXh0ZXJuICJDIiB7CiAjaWYg
SEFWRShNQUNIX0VYQ0VQVElPTlMpCiAjaW5jbHVkZSA8ZGlzcGF0Y2gvZGlzcGF0Y2guaD4KICNp
bmNsdWRlIDxtYWNoL21hY2guaD4KLSNpbmNsdWRlIDxtYWNoL3BvcnQuaD4KLSNpbmNsdWRlIDxt
YWNoL3Rhc2suaD4KICNpbmNsdWRlIDxtYWNoL3RocmVhZF9hY3QuaD4KLSNpbmNsdWRlIDxtYWNo
L3RocmVhZF9zdGF0dXMuaD4KICNlbmRpZgogCiAjaWYgT1MoREFSV0lOKQogI2luY2x1ZGUgPG1h
Y2gvdm1fcGFyYW0uaD4KICNlbmRpZgogCi0jaW5jbHVkZSA8dW5pc3RkLmg+CiAjaW5jbHVkZSA8
d3RmL0F0b21pY3MuaD4KICNpbmNsdWRlIDx3dGYvRGF0YUxvZy5oPgogI2luY2x1ZGUgPHd0Zi9N
YXRoRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8
d3RmL1BsYXRmb3JtUmVnaXN0ZXJzLmg+Ci0jaW5jbHVkZSA8d3RmL1Njb3BlLmg+CiAjaW5jbHVk
ZSA8d3RmL1RocmVhZEdyb3VwLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgotI2luY2x1
ZGUgPHd0Zi9UcmFuc2xhdGVkUHJvY2Vzcy5oPgogI2luY2x1ZGUgPHd0Zi9XVEZDb25maWcuaD4K
IAogbmFtZXNwYWNlIFdURiB7CiAKKyNpZiBIQVZFKE1BQ0hfRVhDRVBUSU9OUykKK3N0YXRpYyBl
eGNlcHRpb25fbWFza190IHRvTWFjaE1hc2soU2lnbmFsKTsKKyNlbmRpZgorCiB2b2lkIFNpZ25h
bEhhbmRsZXJzOjphZGQoU2lnbmFsIHNpZ25hbCwgU2lnbmFsSGFuZGxlciYmIGhhbmRsZXIpCiB7
CiAgICAgQ29uZmlnOjpBc3NlcnROb3RGcm96ZW5TY29wZSBhc3NlcnRTY29wZTsKQEAgLTExMiw5
ICsxMTAsOCBAQCBpbmxpbmUgdm9pZCBTaWduYWxIYW5kbGVyczo6Zm9yRWFjaEhhbmRsZXIoU2ln
bmFsIHNpZ25hbCwgY29uc3QgRnVuYyYgZnVuYykgY29ucwogLy8gaHR0cDovL3d3dy5jcy5jbXUu
ZWR1L2Fmcy9jcy9wcm9qZWN0L21hY2gvcHVibGljL2RvYy91bnB1Ymxpc2hlZC9taWcucHMKIAog
c3RhdGljIGNvbnN0ZXhwciBzaXplX3QgbWF4TWVzc2FnZVNpemUgPSAxICogS0I7Ci11aW50MzJf
dCByYW5kb21TaWduaW5nS2V5ID0gMDsKIAotdm9pZCBpbml0TWFjaEV4Y2VwdGlvbkhhbmRsZXJU
aHJlYWQoYm9vbCBlbmFibGUsIHVpbnQzMl90IHNpZ25pbmdLZXksIGV4Y2VwdGlvbl9tYXNrX3Qg
bWFzaykKK3ZvaWQgaW5pdE1hY2hFeGNlcHRpb25IYW5kbGVyVGhyZWFkKGJvb2wgZW5hYmxlKQog
ewogICAgIHN0YXRpYyBzdGQ6Om9uY2VfZmxhZyBvbmNlOwogICAgIHN0ZDo6Y2FsbF9vbmNlKG9u
Y2UsIFs9XSB7CkBAIC0xMjcsMzcgKzEyNCwxOCBAQCB2b2lkIGluaXRNYWNoRXhjZXB0aW9uSGFu
ZGxlclRocmVhZChib29sIGVuYWJsZSwgdWludDMyX3Qgc2lnbmluZ0tleSwgZXhjZXB0aW9uXwog
ICAgICAgICBDb25maWc6OkFzc2VydE5vdEZyb3plblNjb3BlIGFzc2VydFNjb3BlOwogICAgICAg
ICBTaWduYWxIYW5kbGVycyYgaGFuZGxlcnMgPSBnX3d0ZkNvbmZpZy5zaWduYWxIYW5kbGVyczsK
IAotICAgICAgICB1aW50MTZfdCBmbGFncyA9IE1QT19JTlNFUlRfU0VORF9SSUdIVDsKLQotLy8g
VGhpcyBwcm92aXNpb25hbCBmbGFnIGNhbiBiZSByZW1vdmVkIG9uY2UgbWFjb3Mgc29ub21hIGlz
IG5vIGxvbmdlciBzdXBwb3J0ZWQKKyAgICAgICAgdWludDE2X3QgZmxhZ3MgPSAwOwogI2lmZGVm
IE1QT19QUk9WSVNJT05BTF9JRF9QUk9UX09QVE9VVAogICAgICAgICBmbGFncyB8PSBNUE9fUFJP
VklTSU9OQUxfSURfUFJPVF9PUFRPVVQ7CiAjZW5kaWYKLQotI2lmIGRlZmluZWQoRVhDRVBUSU9O
X1NUQVRFX0lERU5USVRZX1BST1RFQ1RFRCkKLSAgICAgICAgZmxhZ3MgfD0gTVBPX0VYQ0VQVElP
Tl9QT1JUOwotI2VuZGlmCiAgICAgICAgIG1hY2hfcG9ydF9vcHRpb25zX3Qgb3B0cyA9IHsKICAg
ICAgICAgICAgIC5mbGFncyA9IGZsYWdzCiAgICAgICAgIH07CiAKLQogICAgICAgICBrZXJuX3Jl
dHVybl90IGtyID0gbWFjaF9wb3J0X2NvbnN0cnVjdChtYWNoX3Rhc2tfc2VsZigpLCAmb3B0cywg
MCwgJmhhbmRsZXJzLmV4Y2VwdGlvblBvcnQpOwogICAgICAgICBSRUxFQVNFX0FTU0VSVChrciA9
PSBLRVJOX1NVQ0NFU1MpOwotCi0jaWYgZGVmaW5lZChFWENFUFRJT05fU1RBVEVfSURFTlRJVFlf
UFJPVEVDVEVEKQotICAgICAgICB1aW50NjRfdCBleGNlcHRpb25zQWxsb3dlZCA9IG1hc2s7Ci0g
ICAgICAgIHVpbnQ2NF90IGJlaGF2aW9yc0FsbG93ZWQgPSBFWENFUFRJT05fU1RBVEVfSURFTlRJ
VFlfUFJPVEVDVEVEIHwgTUFDSF9FWENFUFRJT05fQ09ERVM7Ci0gICAgICAgIHVpbnQ2NF90IGZs
YXZvcnNBbGxvd2VkID0gTUFDSElORV9USFJFQURfU1RBVEU7Ci0KLSAgICAgICAga3IgPSB0YXNr
X3JlZ2lzdGVyX2hhcmRlbmVkX2V4Y2VwdGlvbl9oYW5kbGVyKGN1cnJlbnRfdGFzaygpLAotICAg
ICAgICAgICAgc2lnbmluZ0tleSwgZXhjZXB0aW9uc0FsbG93ZWQsCi0gICAgICAgICAgICBiZWhh
dmlvcnNBbGxvd2VkLCBmbGF2b3JzQWxsb3dlZCwgaGFuZGxlcnMuZXhjZXB0aW9uUG9ydCk7Cisg
ICAgICAgIGtyID0gbWFjaF9wb3J0X2luc2VydF9yaWdodChtYWNoX3Rhc2tfc2VsZigpLCBoYW5k
bGVycy5leGNlcHRpb25Qb3J0LCBoYW5kbGVycy5leGNlcHRpb25Qb3J0LCBNQUNIX01TR19UWVBF
X01BS0VfU0VORCk7CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGtyID09IEtFUk5fU1VDQ0VTUyk7
Ci0jZWxzZQotICAgICAgICBVTlVTRURfUEFSQU0oc2lnbmluZ0tleSk7Ci0gICAgICAgIFVOVVNF
RF9QQVJBTShtYXNrKTsKLSNlbmRpZgogCiAgICAgICAgIGRpc3BhdGNoX3NvdXJjZV90IHNvdXJj
ZSA9IGRpc3BhdGNoX3NvdXJjZV9jcmVhdGUoCiAgICAgICAgICAgICBESVNQQVRDSF9TT1VSQ0Vf
VFlQRV9NQUNIX1JFQ1YsIGhhbmRsZXJzLmV4Y2VwdGlvblBvcnQsIDAsIERJU1BBVENIX1RBUkdF
VF9RVUVVRV9ERUZBVUxUKTsKQEAgLTE4OSw2ICsxNjcsMTggQEAgc3RhdGljIFNpZ25hbCBmcm9t
TWFjaEV4Y2VwdGlvbihleGNlcHRpb25fdHlwZV90IHR5cGUpCiAgICAgcmV0dXJuIFNpZ25hbDo6
VW5rbm93bjsKIH0KIAorc3RhdGljIGV4Y2VwdGlvbl9tYXNrX3QgdG9NYWNoTWFzayhTaWduYWwg
c2lnbmFsKQoreworICAgIHN3aXRjaCAoc2lnbmFsKSB7CisgICAgY2FzZSBTaWduYWw6OkFjY2Vz
c0ZhdWx0OiByZXR1cm4gRVhDX01BU0tfQkFEX0FDQ0VTUzsKKyAgICBjYXNlIFNpZ25hbDo6SWxs
ZWdhbEluc3RydWN0aW9uOiByZXR1cm4gRVhDX01BU0tfQkFEX0lOU1RSVUNUSU9OOworICAgIGNh
c2UgU2lnbmFsOjpGbG9hdGluZ1BvaW50OiByZXR1cm4gRVhDX01BU0tfQVJJVEhNRVRJQzsKKyAg
ICBjYXNlIFNpZ25hbDo6QnJlYWtwb2ludDogcmV0dXJuIEVYQ19NQVNLX0JSRUFLUE9JTlQ7Cisg
ICAgZGVmYXVsdDogYnJlYWs7CisgICAgfQorICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVE
KCk7Cit9CisKICNpZiBDUFUoQVJNNjRFKSAmJiBPUyhEQVJXSU4pCiBpbmxpbmUgcHRyYXV0aF9n
ZW5lcmljX3NpZ25hdHVyZV90IGhhc2hUaHJlYWRTdGF0ZShjb25zdCB0aHJlYWRfc3RhdGVfdCBz
b3VyY2UpCiB7CkBAIC0yMzIsNTMgKzIyMiw2IEBAIGtlcm5fcmV0dXJuX3QgY2F0Y2hfbWFjaF9l
eGNlcHRpb25fcmFpc2Vfc3RhdGVfaWRlbnRpdHkobWFjaF9wb3J0X3QsIG1hY2hfcG9ydF90CiAg
ICAgcmV0dXJuIEtFUk5fRkFJTFVSRTsKIH0KIAotc3RhdGljIGtlcm5fcmV0dXJuX3QgcnVuU2ln
bmFsSGFuZGxlcnMoU2lnbmFsICZzaWduYWwsIFBsYXRmb3JtUmVnaXN0ZXJzJiByZWdpc3RlcnMs
IGJvb2wgJmRpZEhhbmRsZSwgbWFjaF9tc2dfdHlwZV9udW1iZXJfdCBkYXRhQ291bnQsIG1hY2hf
ZXhjZXB0aW9uX2RhdGFfdCBleGNlcHRpb25EYXRhKQotewotICAgIFNpZ0luZm8gaW5mbzsKLSAg
ICBTaWduYWxIYW5kbGVycyYgaGFuZGxlcnMgPSBnX3d0ZkNvbmZpZy5zaWduYWxIYW5kbGVyczsK
LSAgICBpZiAoc2lnbmFsID09IFNpZ25hbDo6QWNjZXNzRmF1bHQpIHsKLSAgICAgICAgQVNTRVJU
X1VOVVNFRChkYXRhQ291bnQsIGRhdGFDb3VudCA9PSAyKTsKLSAgICAgICAgaW5mby5mYXVsdGlu
Z0FkZHJlc3MgPSByZWludGVycHJldF9jYXN0PHZvaWQqPihleGNlcHRpb25EYXRhWzFdKTsKLSNp
ZiBDUFUoQUREUkVTUzY0KQotICAgICAgICAvLyBJZiB0aGUgZmF1bHRpbmcgYWRkcmVzcyBpcyBv
dXQgb2YgdGhlIHJhbmdlIG9mIGFueSB2YWxpZCBtZW1vcnksIHdlIHdvdWxkCi0gICAgICAgIC8v
IG5vdCBoYXZlIGFueSByZWFzb24gdG8gaGFuZGxlIGl0LiBKdXN0IGxldCB0aGUgZGVmYXVsdCBo
YW5kbGVyIHRha2UgY2FyZSBvZiBpdC4KLSAgICAgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25l
ZCB2YWxpZEFkZHJlc3NCaXRzID0gT1NfQ09OU1RBTlQoRUZGRUNUSVZFX0FERFJFU1NfV0lEVEgp
OwotICAgICAgICBzdGF0aWMgY29uc3RleHByIHVpbnRwdHJfdCBpbnZhbGlkQWRkcmVzc01hc2sg
PSB+KCgxdWxsIDw8IHZhbGlkQWRkcmVzc0JpdHMpIC0gMSk7Ci0gICAgICAgIGlmIChiaXR3aXNl
X2Nhc3Q8dWludHB0cl90PihpbmZvLmZhdWx0aW5nQWRkcmVzcykgJiBpbnZhbGlkQWRkcmVzc01h
c2spCi0gICAgICAgICAgICByZXR1cm4gS0VSTl9GQUlMVVJFOwotI2VuZGlmCi0gICAgfQotCi0g
ICAgaGFuZGxlcnMuZm9yRWFjaEhhbmRsZXIoc2lnbmFsLCBbJl0gKGNvbnN0IFNpZ25hbEhhbmRs
ZXImIGhhbmRsZXIpIHsKLSAgICAgICAgU2lnbmFsQWN0aW9uIGhhbmRsZXJSZXN1bHQgPSBoYW5k
bGVyKHNpZ25hbCwgaW5mbywgcmVnaXN0ZXJzKTsKLSAgICAgICAgZGlkSGFuZGxlIHw9IGhhbmRs
ZXJSZXN1bHQgPT0gU2lnbmFsQWN0aW9uOjpIYW5kbGVkOwotICAgIH0pOwotICAgIHJldHVybiBL
RVJOX1NVQ0NFU1M7Ci19Ci0KLSNpZiBkZWZpbmVkKEVYQ0VQVElPTl9TVEFURV9JREVOVElUWV9Q
Uk9URUNURUQpCi0KLWtlcm5fcmV0dXJuX3QgY2F0Y2hfbWFjaF9leGNlcHRpb25fcmFpc2Vfc3Rh
dGVfaWRlbnRpdHlfcHJvdGVjdGVkKAotICAgIG1hY2hfcG9ydF90IGV4Y2VwdGlvblBvcnQsCi0g
ICAgdWludDY0X3QgdGhyZWFkSUQsCi0gICAgbWFjaF9wb3J0X3QgdGFza0lEVG9rZW4sCi0gICAg
ZXhjZXB0aW9uX3R5cGVfdCBleGNlcHRpb25UeXBlLAotICAgIG1hY2hfZXhjZXB0aW9uX2RhdGFf
dCBleGNlcHRpb25EYXRhLAotICAgIG1hY2hfbXNnX3R5cGVfbnVtYmVyX3QgZGF0YUNvdW50LAot
ICAgIGludCogc3RhdGVGbGF2b3IsCi0gICAgY29uc3QgdGhyZWFkX3N0YXRlX3QgaW5TdGF0ZSwK
LSAgICBtYWNoX21zZ190eXBlX251bWJlcl90IGluU3RhdGVDb3VudCwKLSAgICB0aHJlYWRfc3Rh
dGVfdCBvdXRTdGF0ZSwKLSAgICBtYWNoX21zZ190eXBlX251bWJlcl90KiBvdXRTdGF0ZUNvdW50
KQotewotICAgIFVOVVNFRF9QQVJBTSh0aHJlYWRJRCk7Ci0gICAgVU5VU0VEX1BBUkFNKHRhc2tJ
RFRva2VuKTsKLSAgICByZXR1cm4gY2F0Y2hfbWFjaF9leGNlcHRpb25fcmFpc2Vfc3RhdGUoZXhj
ZXB0aW9uUG9ydCwgZXhjZXB0aW9uVHlwZSwgZXhjZXB0aW9uRGF0YSwKLSAgICAgICAgZGF0YUNv
dW50LCBzdGF0ZUZsYXZvciwgaW5TdGF0ZSwgaW5TdGF0ZUNvdW50LCBvdXRTdGF0ZSwgb3V0U3Rh
dGVDb3VudCk7Ci19Ci0KLSNlbmRpZiAvLyBkZWZpbmVkKEVYQ0VQVElPTl9TVEFURV9JREVOVElU
WV9QUk9URUNURUQpCi0KIGtlcm5fcmV0dXJuX3QgY2F0Y2hfbWFjaF9leGNlcHRpb25fcmFpc2Vf
c3RhdGUoCiAgICAgbWFjaF9wb3J0X3QgcG9ydCwKICAgICBleGNlcHRpb25fdHlwZV90IGV4Y2Vw
dGlvblR5cGUsCkBAIC0zMjAsMTAgKzI2MywyNSBAQCBrZXJuX3JldHVybl90IGNhdGNoX21hY2hf
ZXhjZXB0aW9uX3JhaXNlX3N0YXRlKAogICAgIFBsYXRmb3JtUmVnaXN0ZXJzJiByZWdpc3RlcnMg
PSByZWludGVycHJldF9jYXN0PGFybV91bmlmaWVkX3RocmVhZF9zdGF0ZSo+KG91dFN0YXRlKS0+
dHNfMzI7CiAjZW5kaWYKIAorICAgIFNpZ0luZm8gaW5mbzsKKyAgICBpZiAoc2lnbmFsID09IFNp
Z25hbDo6QWNjZXNzRmF1bHQpIHsKKyAgICAgICAgQVNTRVJUX1VOVVNFRChkYXRhQ291bnQsIGRh
dGFDb3VudCA9PSAyKTsKKyAgICAgICAgaW5mby5mYXVsdGluZ0FkZHJlc3MgPSByZWludGVycHJl
dF9jYXN0PHZvaWQqPihleGNlcHRpb25EYXRhWzFdKTsKKyNpZiBDUFUoQUREUkVTUzY0KQorICAg
ICAgICAvLyBJZiB0aGUgZmF1bHRpbmcgYWRkcmVzcyBpcyBvdXQgb2YgdGhlIHJhbmdlIG9mIGFu
eSB2YWxpZCBtZW1vcnksIHdlIHdvdWxkCisgICAgICAgIC8vIG5vdCBoYXZlIGFueSByZWFzb24g
dG8gaGFuZGxlIGl0LiBKdXN0IGxldCB0aGUgZGVmYXVsdCBoYW5kbGVyIHRha2UgY2FyZSBvZiBp
dC4KKyAgICAgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCB2YWxpZEFkZHJlc3NCaXRzID0g
T1NfQ09OU1RBTlQoRUZGRUNUSVZFX0FERFJFU1NfV0lEVEgpOworICAgICAgICBzdGF0aWMgY29u
c3RleHByIHVpbnRwdHJfdCBpbnZhbGlkQWRkcmVzc01hc2sgPSB+KCgxdWxsIDw8IHZhbGlkQWRk
cmVzc0JpdHMpIC0gMSk7CisgICAgICAgIGlmIChiaXR3aXNlX2Nhc3Q8dWludHB0cl90PihpbmZv
LmZhdWx0aW5nQWRkcmVzcykgJiBpbnZhbGlkQWRkcmVzc01hc2spCisgICAgICAgICAgICByZXR1
cm4gS0VSTl9GQUlMVVJFOworI2VuZGlmCisgICAgfQorCiAgICAgYm9vbCBkaWRIYW5kbGUgPSBm
YWxzZTsKLSAgICBrZXJuX3JldHVybl90IGtyID0gcnVuU2lnbmFsSGFuZGxlcnMoc2lnbmFsLCBy
ZWdpc3RlcnMsIGRpZEhhbmRsZSwgZGF0YUNvdW50LCBleGNlcHRpb25EYXRhKTsKLSAgICBpZiAo
a3IgIT0gS0VSTl9TVUNDRVNTKQotICAgICAgICByZXR1cm4ga3I7CisgICAgaGFuZGxlcnMuZm9y
RWFjaEhhbmRsZXIoc2lnbmFsLCBbJl0gKGNvbnN0IFNpZ25hbEhhbmRsZXImIGhhbmRsZXIpIHsK
KyAgICAgICAgU2lnbmFsQWN0aW9uIGhhbmRsZXJSZXN1bHQgPSBoYW5kbGVyKHNpZ25hbCwgaW5m
bywgcmVnaXN0ZXJzKTsKKyAgICAgICAgZGlkSGFuZGxlIHw9IGhhbmRsZXJSZXN1bHQgPT0gU2ln
bmFsQWN0aW9uOjpIYW5kbGVkOworICAgIH0pOwogCiAgICAgaWYgKGRpZEhhbmRsZSkgewogI2lm
IENQVShBUk02NEUpICYmIE9TKERBUldJTikKQEAgLTM0OSwyNyArMzA3LDcgQEAgaW5saW5lIHZv
aWQgc2V0RXhjZXB0aW9uUG9ydHMoY29uc3QgQWJzdHJhY3RMb2NrZXImIHRocmVhZEdyb3VwTG9j
a2VyLCBUaHJlYWQmIHQKIHsKICAgICBVTlVTRURfUEFSQU0odGhyZWFkR3JvdXBMb2NrZXIpOwog
ICAgIFNpZ25hbEhhbmRsZXJzJiBoYW5kbGVycyA9IGdfd3RmQ29uZmlnLnNpZ25hbEhhbmRsZXJz
OwotCi0jaWYgZGVmaW5lZChFWENFUFRJT05fU1RBVEVfSURFTlRJVFlfUFJPVEVDVEVEKQotICAg
IGV4Y2VwdGlvbl9iZWhhdmlvcl90IG5ld0JlaGF2aW9yID0gTUFDSF9FWENFUFRJT05fQ09ERVM7
Ci0gICAgaWYgKFdURjo6aXNYODZCaW5hcnlSdW5uaW5nT25BUk0oKSkgewotICAgICAgICAvLyBJ
ZiB3ZSBhcmUgYSB0cmFuc2xhdGVkIHByb2Nlc3MgaW4gcm9zZXR0YSwgdXNlIHRoZSBvbGQgZXhj
ZXB0aW9uIHN0eWxlCi0gICAgICAgIG5ld0JlaGF2aW9yIHw9IEVYQ0VQVElPTl9TVEFURTsKLSAg
ICB9IGVsc2UgewotICAgICAgICAvLyBPdGhlcndpc2UgdXNlIHRoZSBuZXcgc3R5bGUKLSAgICAg
ICAgbmV3QmVoYXZpb3IgfD0gRVhDRVBUSU9OX1NUQVRFX0lERU5USVRZX1BST1RFQ1RFRDsKLSAg
ICAgICAga2Vybl9yZXR1cm5fdCByZXN1bHQgPSB0aHJlYWRfYWRvcHRfZXhjZXB0aW9uX2hhbmRs
ZXIodGhyZWFkLm1hY2hUaHJlYWQoKSwgaGFuZGxlcnMuZXhjZXB0aW9uUG9ydCwgaGFuZGxlcnMu
YWRkZWRFeGNlcHRpb25zICZhY3RpdmVFeGNlcHRpb25zLCBuZXdCZWhhdmlvciwgTUFDSElORV9U
SFJFQURfU1RBVEUpOwotICAgICAgICBpZiAocmVzdWx0ICE9IEtFUk5fU1VDQ0VTUykgewotICAg
ICAgICAgICAgZGF0YUxvZ0xuKCJ0aHJlYWQgYWRvcHQgZXhjZXB0aW9uIGhhbmRsZXIgZmFpbGVk
IGR1ZSB0byAiLCBtYWNoX2Vycm9yX3N0cmluZyhyZXN1bHQpKTsKLSAgICAgICAgICAgIENSQVNI
KCk7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSNlbHNlIC8vIGRlZmluZWQo
RVhDRVBUSU9OX1NUQVRFX0lERU5USVRZX1BST1RFQ1RFRCkKLSAgICBleGNlcHRpb25fYmVoYXZp
b3JfdCBuZXdCZWhhdmlvciA9IEVYQ0VQVElPTl9TVEFURSB8IE1BQ0hfRVhDRVBUSU9OX0NPREVT
OwotI2VuZGlmIC8vIGRlZmluZWQoRVhDRVBUSU9OX1NUQVRFX0lERU5USVRZX1BST1RFQ1RFRCkK
LQotICAgIGtlcm5fcmV0dXJuX3QgcmVzdWx0ID0gdGhyZWFkX3NldF9leGNlcHRpb25fcG9ydHMo
dGhyZWFkLm1hY2hUaHJlYWQoKSwgaGFuZGxlcnMuYWRkZWRFeGNlcHRpb25zICZhY3RpdmVFeGNl
cHRpb25zLCBoYW5kbGVycy5leGNlcHRpb25Qb3J0LCBuZXdCZWhhdmlvciwgTUFDSElORV9USFJF
QURfU1RBVEUpOworICAgIGtlcm5fcmV0dXJuX3QgcmVzdWx0ID0gdGhyZWFkX3NldF9leGNlcHRp
b25fcG9ydHModGhyZWFkLm1hY2hUaHJlYWQoKSwgaGFuZGxlcnMuYWRkZWRFeGNlcHRpb25zICYg
YWN0aXZlRXhjZXB0aW9ucywgaGFuZGxlcnMuZXhjZXB0aW9uUG9ydCwgRVhDRVBUSU9OX1NUQVRF
IHwgTUFDSF9FWENFUFRJT05fQ09ERVMsIE1BQ0hJTkVfVEhSRUFEX1NUQVRFKTsKICAgICBpZiAo
cmVzdWx0ICE9IEtFUk5fU1VDQ0VTUykgewogICAgICAgICBkYXRhTG9nTG4oInRocmVhZCBzZXQg
cG9ydCBmYWlsZWQgZHVlIHRvICIsIG1hY2hfZXJyb3Jfc3RyaW5nKHJlc3VsdCkpOwogICAgICAg
ICBDUkFTSCgpOwpAQCAtNDgwLDIwICs0MTgsMTAgQEAgdm9pZCBhY3RpdmF0ZVNpZ25hbEhhbmRs
ZXJzRm9yKFNpZ25hbCBzaWduYWwpCiAgICAgQVNTRVJUKHNpZ25hbCA8IFNpZ25hbDo6VW5rbm93
bik7CiAgICAgQVNTRVJUKCFoYW5kbGVycy51c2VNYWNoIHx8IHNpZ25hbCAhPSBTaWduYWw6OlVz
cik7CiAKLSAgICBpZiAoaGFuZGxlcnMudXNlTWFjaCkKLSAgICAgICAgYWN0aXZlRXhjZXB0aW9u
cyB8PSB0b01hY2hNYXNrKHNpZ25hbCk7Ci0jZW5kaWYKLX0KLQotCi12b2lkIGZpbmFsaXplU2ln
bmFsSGFuZGxlcnMoKQotewotI2lmIEhBVkUoTUFDSF9FWENFUFRJT05TKQotICAgIGNvbnN0IFNp
Z25hbEhhbmRsZXJzJiBoYW5kbGVycyA9IGdfd3RmQ29uZmlnLnNpZ25hbEhhbmRsZXJzOwotICAg
IFJFTEVBU0VfQVNTRVJUKGhhbmRsZXJzLmluaXRTdGF0ZSA+PSBTaWduYWxIYW5kbGVyczo6SW5p
dFN0YXRlOjpJbml0aWFsaXplZEhhbmRsZXJUaHJlYWQpOwotCiAgICAgTG9ja2VyIGxvY2tlciB7
IGFjdGl2ZVRocmVhZHMoKS5nZXRMb2NrKCkgfTsKICAgICBpZiAoaGFuZGxlcnMudXNlTWFjaCkg
eworICAgICAgICBhY3RpdmVFeGNlcHRpb25zIHw9IHRvTWFjaE1hc2soc2lnbmFsKTsKKwogICAg
ICAgICBmb3IgKGF1dG8mIHRocmVhZCA6IGFjdGl2ZVRocmVhZHMoKS50aHJlYWRzKGxvY2tlcikp
CiAgICAgICAgICAgICBzZXRFeGNlcHRpb25Qb3J0cyhsb2NrZXIsIHRocmVhZC5nZXQoKSk7CiAg
ICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvdGhyZWFkcy9TaWduYWxzLmggYi9Tb3Vy
Y2UvV1RGL3d0Zi90aHJlYWRzL1NpZ25hbHMuaAppbmRleCBmMzRlZDQ5N2IwODcuLjczNTc1OThl
MDQzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvdGhyZWFkcy9TaWduYWxzLmgKKysrIGIv
U291cmNlL1dURi93dGYvdGhyZWFkcy9TaWduYWxzLmgKQEAgLTEyNCwzNiArMTI0LDE4IEBAIHN0
cnVjdCBTaWduYWxIYW5kbGVycyB7CiAvLyBhbmQgb25jZSBjb21taXRlZCB0aGV5IGNhbid0IGJl
IHR1cm5lZCBvZmYuCiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBhZGRTaWduYWxIYW5kbGVyKFNp
Z25hbCwgU2lnbmFsSGFuZGxlciYmKTsKIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIGFjdGl2YXRl
U2lnbmFsSGFuZGxlcnNGb3IoU2lnbmFsKTsKLVdURl9FWFBPUlRfUFJJVkFURSB2b2lkIGZpbmFs
aXplU2lnbmFsSGFuZGxlcnMoKTsKLQotI2lmIE9TKFVOSVgpICYmIEhBVkUoTUFDSF9FWENFUFRJ
T05TKQotaW5saW5lIGV4Y2VwdGlvbl9tYXNrX3QgdG9NYWNoTWFzayhTaWduYWwgc2lnbmFsKQot
ewotICAgIHN3aXRjaCAoc2lnbmFsKSB7Ci0gICAgY2FzZSBTaWduYWw6OkFjY2Vzc0ZhdWx0OiBy
ZXR1cm4gRVhDX01BU0tfQkFEX0FDQ0VTUzsKLSAgICBjYXNlIFNpZ25hbDo6SWxsZWdhbEluc3Ry
dWN0aW9uOiByZXR1cm4gRVhDX01BU0tfQkFEX0lOU1RSVUNUSU9OOwotICAgIGNhc2UgU2lnbmFs
OjpGbG9hdGluZ1BvaW50OiByZXR1cm4gRVhDX01BU0tfQVJJVEhNRVRJQzsKLSAgICBjYXNlIFNp
Z25hbDo6QnJlYWtwb2ludDogcmV0dXJuIEVYQ19NQVNLX0JSRUFLUE9JTlQ7Ci0gICAgZGVmYXVs
dDogYnJlYWs7Ci0gICAgfQotICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci19Ci0j
ZW5kaWYgLy8gT1MoVU5JWCkgJiYgSEFWRShNQUNIX0VYQ0VQVElPTlMpCisKIAogI2lmIEhBVkUo
TUFDSF9FWENFUFRJT05TKQogY2xhc3MgVGhyZWFkOwogdm9pZCByZWdpc3RlclRocmVhZEZvck1h
Y2hFeGNlcHRpb25IYW5kbGluZyhUaHJlYWQmKTsKLVdURl9FWFBPUlRfUFJJVkFURSB2b2lkIGlu
aXRNYWNoRXhjZXB0aW9uSGFuZGxlclRocmVhZChib29sLCB1aW50MzJfdCwgZXhjZXB0aW9uX21h
c2tfdCk7Ci1pbmxpbmUgdm9pZCBpbml0aWFsaXplU2lnbmFsSGFuZGxpbmcodWludDMyX3Qgc2ln
bmluZ0tleSwgZXhjZXB0aW9uX21hc2tfdCBtYXNrKSB7IGluaXRNYWNoRXhjZXB0aW9uSGFuZGxl
clRocmVhZCh0cnVlLCBzaWduaW5nS2V5LCBtYXNrKTsgfQotaW5saW5lIHZvaWQgZGlzYWJsZVNp
Z25hbEhhbmRsaW5nKCkgeyBpbml0TWFjaEV4Y2VwdGlvbkhhbmRsZXJUaHJlYWQoZmFsc2UsIDAs
IDApOyB9CitXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBpbml0TWFjaEV4Y2VwdGlvbkhhbmRsZXJU
aHJlYWQoYm9vbCk7CitpbmxpbmUgdm9pZCBpbml0aWFsaXplU2lnbmFsSGFuZGxpbmcoKSB7IGlu
aXRNYWNoRXhjZXB0aW9uSGFuZGxlclRocmVhZCh0cnVlKTsgfQoraW5saW5lIHZvaWQgZGlzYWJs
ZVNpZ25hbEhhbmRsaW5nKCkgeyBpbml0TWFjaEV4Y2VwdGlvbkhhbmRsZXJUaHJlYWQoZmFsc2Up
OyB9CiAKIHZvaWQgaGFuZGxlU2lnbmFsc1dpdGhNYWNoKCk7CiAjZWxzZQotaW5saW5lIHZvaWQg
aW5pdGlhbGl6ZVNpZ25hbEhhbmRsaW5nKHVpbnQzMl90IHNpZ25pbmdLZXksIGludCBtYXNrKQot
ewotICAgIFVOVVNFRF9QQVJBTShzaWduaW5nS2V5KTsKLSAgICBVTlVTRURfUEFSQU0obWFzayk7
Ci19CitpbmxpbmUgdm9pZCBpbml0aWFsaXplU2lnbmFsSGFuZGxpbmcoKSB7IH0KIGlubGluZSB2
b2lkIGRpc2FibGVTaWduYWxIYW5kbGluZygpIHsgfQogI2VuZGlmIC8vIEhBVkUoTUFDSF9FWENF
UFRJT05TKQogCkBAIC0xNzAsNiArMTUyLDUgQEAgdXNpbmcgV1RGOjpTaWduYWxBY3Rpb247CiB1
c2luZyBXVEY6OlNpZ25hbEhhbmRsZXI7CiB1c2luZyBXVEY6OmFkZFNpZ25hbEhhbmRsZXI7CiB1
c2luZyBXVEY6OmFjdGl2YXRlU2lnbmFsSGFuZGxlcnNGb3I7Ci11c2luZyBXVEY6OmZpbmFsaXpl
U2lnbmFsSGFuZGxlcnM7CiB1c2luZyBXVEY6OmluaXRpYWxpemVTaWduYWxIYW5kbGluZzsKIHVz
aW5nIFdURjo6ZGlzYWJsZVNpZ25hbEhhbmRsaW5nOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93
dGYvd2luL1NpZ25hbHNXaW4uY3BwIGIvU291cmNlL1dURi93dGYvd2luL1NpZ25hbHNXaW4uY3Bw
CmluZGV4IGZhODQzNTdiMmQ2NC4uOTUzZTZiY2U5ZmU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RG
L3d0Zi93aW4vU2lnbmFsc1dpbi5jcHAKKysrIGIvU291cmNlL1dURi93dGYvd2luL1NpZ25hbHNX
aW4uY3BwCkBAIC0xNDksMTEgKzE0OSw2IEBAIHZvaWQgU2lnbmFsSGFuZGxlcnM6OmluaXRpYWxp
emUoKQogICAgIC8vIG5vb3AKIH0KIAotdm9pZCBmaW5hbGl6ZVNpZ25hbEhhbmRsZXJzKCkKLXsK
LSAgICAvLyBub29wCi19Ci0KIH0gLy8gbmFtZXNwYWNlIFdURgogCiAjZW5kaWYgLy8gT1MoV0lO
RE9XUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUmVzb3VyY2VzL1NhbmRib3hQcm9maWxl
cy9pb3MvY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50LnNiLmluIGIvU291cmNlL1dlYktpdC9S
ZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQu
c2IuaW4KaW5kZXggNjQ1NjNlMTJlZjA4Li5hNWE4ZjAxNjg1ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3MvY29tLmFwcGxlLldlYktpdC5X
ZWJDb250ZW50LnNiLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvUmVzb3VyY2VzL1NhbmRib3hQcm9m
aWxlcy9pb3MvY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50LnNiLmluCkBAIC0xNDY2LDIyICsx
NDY2LDEzIEBACiAjZW5kaWYKICNlbmRpZgogCi0jaWYgZGVmaW5lZChFWENFUFRJT05fU1RBVEVf
SURFTlRJVFlfUFJPVEVDVEVEKQotI2lmIEVOQUJMRShCTE9DS19TRVRfRVhDRVBUSU9OX1BPUlRT
KQotICAgICAgICAod2l0aC1maWx0ZXIgKHJlcXVpcmUtbm90ICh3ZWJjb250ZW50LXByb2Nlc3Mt
bGF1bmNoZWQpKQotICAgICAgICAgICAgKGFsbG93IG1hY2gtbWVzc2FnZS1zZW5kIChrZXJuZWwt
bWlnLXJvdXRpbmUgdGFza19yZWdpc3Rlcl9oYXJkZW5lZF9leGNlcHRpb25faGFuZGxlcikpKQot
I2VuZGlmIDs7IEVOQUJMRShCTE9DS19TRVRfRVhDRVBUSU9OX1BPUlRTKQotICAgICAgICAod2l0
aC1maWx0ZXIgKHJlcXVpcmUtbm90IChsb2NrZG93bi1tb2RlKSkKLSAgICAgICAgICAgIChhbGxv
dyBtYWNoLW1lc3NhZ2Utc2VuZCAoa2VybmVsLW1pZy1yb3V0aW5lIHRocmVhZF9hZG9wdF9leGNl
cHRpb25faGFuZGxlcikpKQotI2Vsc2UKICNpZiBFTkFCTEUoQkxPQ0tfU0VUX0VYQ0VQVElPTl9Q
T1JUUykKICAgICAgICAgKHdpdGgtZmlsdGVyIChyZXF1aXJlLW5vdCAod2ViY29udGVudC1wcm9j
ZXNzLWxhdW5jaGVkKSkKICAgICAgICAgICAgIChhbGxvdyBtYWNoLW1lc3NhZ2Utc2VuZCAoa2Vy
bmVsLW1pZy1yb3V0aW5lIHRocmVhZF9zZXRfZXhjZXB0aW9uX3BvcnRzKSkpCiAjZWxzZQogICAg
ICAgICAod2l0aC1maWx0ZXIgKHJlcXVpcmUtbm90IChsb2NrZG93bi1tb2RlKSkKICAgICAgICAg
ICAgIChhbGxvdyBtYWNoLW1lc3NhZ2Utc2VuZCAoa2VybmVsLW1pZy1yb3V0aW5lIHRocmVhZF9z
ZXRfZXhjZXB0aW9uX3BvcnRzKSkpCi0jZW5kaWYgOzsgRU5BQkxFKEJMT0NLX1NFVF9FWENFUFRJ
T05fUE9SVFMpCi0jZW5kaWYgOzsgZGVmaW5lZChFWENFUFRJT05fU1RBVEVfSURFTlRJVFlfUFJP
VEVDVEVEKQorI2VuZGlmCiAKICAgICAgICAgKHdpdGgtZmlsdGVyIChsb2NrZG93bi1tb2RlKQog
ICAgICAgICAgICAgKGRlbnkgbWFjaC1tZXNzYWdlLXNlbmQgKHdpdGggdGVsZW1ldHJ5KSAod2l0
aCBtZXNzYWdlICJMb2NrZG93biBtb2RlIikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbgppbmRleCAwYmFiYzBiNTMyNTUuLmM4YTcy
MmYzYTJkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvbS5hcHBsZS5X
ZWJQcm9jZXNzLnNiLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb20uYXBwbGUu
V2ViUHJvY2Vzcy5zYi5pbgpAQCAtMTgxNywxNCArMTgxNyw5IEBACiAKIChkZWZpbmUgKGtlcm5l
bC1taWctcm91dGluZXMtYmxvY2tlZC1pbi1sb2NrZG93bi1tb2RlLWF2b2lkLXRlbGVtZXRyeSkg
KGtlcm5lbC1taWctcm91dGluZQogICAgIHRocmVhZF9pbmZvCi0jaWYgZGVmaW5lZChFWENFUFRJ
T05fU1RBVEVfSURFTlRJVFlfUFJPVEVDVEVEKQotICAgIHRhc2tfcmVnaXN0ZXJfaGFyZGVuZWRf
ZXhjZXB0aW9uX2hhbmRsZXIKLSAgICB0aHJlYWRfYWRvcHRfZXhjZXB0aW9uX2hhbmRsZXIKLSNl
bHNlCiAjaWYgIUVOQUJMRShCTE9DS19TRVRfRVhDRVBUSU9OX1BPUlRTKQogICAgIHRocmVhZF9z
ZXRfZXhjZXB0aW9uX3BvcnRzCiAjZW5kaWYKLSNlbmRpZgogKSkKIAogKGlmIChhbmQgKGVxdWFs
PyAocGFyYW0gIkVOQUJMRV9TQU5EQk9YX01FU1NBR0VfRklMVEVSIikgIllFUyIpIChkZWZpbmVk
PyAnbWFjaC1rZXJuZWwtZW5kcG9pbnQpKQpAQCAtMTg0NCwxMSArMTgzOSw3IEBACiAjZW5kaWYK
ICNpZiBFTkFCTEUoQkxPQ0tfU0VUX0VYQ0VQVElPTl9QT1JUUykKICAgICAgICAgICAgICh3aXRo
LWZpbHRlciAocmVxdWlyZS1ub3QgKHdlYmNvbnRlbnQtcHJvY2Vzcy1sYXVuY2hlZCkpCi0jaWYg
ZGVmaW5lZChFWENFUFRJT05fU1RBVEVfSURFTlRJVFlfUFJPVEVDVEVEKQotICAgICAgICAgICAg
ICAgIChhbGxvdyBtYWNoLW1lc3NhZ2Utc2VuZCAoa2VybmVsLW1pZy1yb3V0aW5lIHRhc2tfcmVn
aXN0ZXJfaGFyZGVuZWRfZXhjZXB0aW9uX2hhbmRsZXIpKSkKLSNlbHNlCiAgICAgICAgICAgICAg
ICAgKGFsbG93IG1hY2gtbWVzc2FnZS1zZW5kIChrZXJuZWwtbWlnLXJvdXRpbmUgdGhyZWFkX3Nl
dF9leGNlcHRpb25fcG9ydHMpKSkKLSNlbmRpZgogI2VuZGlmCiAKICAgICAgICAgICAgIChhbGxv
dyBtYWNoLW1lc3NhZ2Utc2VuZCAoa2VybmVsLW1pZy1yb3V0aW5lcy1pbi11c2UpKQpkaWZmIC0t
Z2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvU2lnbmFscy5jcHAgYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9TaWduYWxzLmNwcAppbmRleCBlZjA5NmNhNDg1NWYuLjQz
NDVlZDIyNmIzYSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvU2ln
bmFscy5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvU2lnbmFscy5jcHAK
QEAgLTQ3LDkgKzQ3LDcgQEAgcHVibGljOgogVEVTVChTaWduYWxzLCBTaWduYWxzV29ya09uRXhp
dCkKIHsKICAgICBzdGF0aWMgYm9vbCBoYW5kbGVyUmFuID0gZmFsc2U7Ci0gICAgdWludDMyX3Qg
a2V5ID0gMDsKLSAgICBpbnQgbWFzayA9IDA7Ci0gICAgaW5pdGlhbGl6ZVNpZ25hbEhhbmRsaW5n
KGtleSwgbWFzayk7CisgICAgaW5pdGlhbGl6ZVNpZ25hbEhhbmRsaW5nKCk7CiAgICAgYWRkU2ln
bmFsSGFuZGxlcihTaWduYWw6OlVzciwgW10gKFNpZ25hbCBzaWduYWwsIFNpZ0luZm8mLCBQbGF0
Zm9ybVJlZ2lzdGVycyYpIC0+IFNpZ25hbEFjdGlvbiB7CiAgICAgICAgIFJFTEVBU0VfQVNTRVJU
KHNpZ25hbCA9PSBTaWduYWw6OlVzcik7CiAKQEAgLTU4LDcgKzU2LDYgQEAgVEVTVChTaWduYWxz
LCBTaWduYWxzV29ya09uRXhpdCkKICAgICAgICAgcmV0dXJuIFNpZ25hbEFjdGlvbjo6SGFuZGxl
ZDsKICAgICB9KTsKICAgICBhY3RpdmF0ZVNpZ25hbEhhbmRsZXJzRm9yKFNpZ25hbDo6VXNyKTsK
LSAgICBmaW5hbGl6ZVNpZ25hbEhhbmRsZXJzKCk7CiAKICAgICBBdG9taWM8Ym9vbD4gcmVjZWl2
ZXJTaG91bGRLZWVwUnVubmluZyh0cnVlKTsKICAgICBSZWY8VGhyZWFkPiByZWNlaXZlclRocmVh
ZCA9IChUaHJlYWQ6OmNyZWF0ZSgiVGhyZWFkTWVzc2FnZSByZWNlaXZlciIsCkBAIC04MiwxMiAr
NzksNyBAQCBURVNUKFNpZ25hbHMsIFNpZ25hbHNXb3JrT25FeGl0KQogVEVTVChTaWduYWxzLCBT
aWduYWxzQWNjZXNzRmF1bHQpCiB7CiAgICAgc3RhdGljIGJvb2wgaGFuZGxlclJhbiA9IGZhbHNl
OwotICAgIHVpbnQzMl90IGtleSA9IDA7Ci0gICAgaW50IG1hc2sgPSAwOwotI2lmIEhBVkUoTUFD
SF9FWENFUFRJT05TKQotICAgIG1hc2sgfD0gdG9NYWNoTWFzayhTaWduYWw6OkFjY2Vzc0ZhdWx0
KTsKLSNlbmRpZiAvLyBIQVZFKE1BQ0hfRVhDRVBUSU9OUykKLSAgICBpbml0aWFsaXplU2lnbmFs
SGFuZGxpbmcoa2V5LCBtYXNrKTsKKyAgICBpbml0aWFsaXplU2lnbmFsSGFuZGxpbmcoKTsKICAg
ICBhZGRTaWduYWxIYW5kbGVyKFNpZ25hbDo6QWNjZXNzRmF1bHQsIFtdIChTaWduYWwgc2lnbmFs
LCBTaWdJbmZvJiBzaWdJbmZvLCBQbGF0Zm9ybVJlZ2lzdGVycyYgY29udGV4dCkgLT4gU2lnbmFs
QWN0aW9uIHsKICAgICAgICAgUkVMRUFTRV9BU1NFUlQoc2lnbmFsID09IFNpZ25hbDo6QWNjZXNz
RmF1bHQpOwogCkBAIC0xMDUsNyArOTcsNiBAQCBURVNUKFNpZ25hbHMsIFNpZ25hbHNBY2Nlc3NG
YXVsdCkKICAgICAgICAgcmV0dXJuIFNpZ25hbEFjdGlvbjo6SGFuZGxlZDsKICAgICB9KTsKICAg
ICBhY3RpdmF0ZVNpZ25hbEhhbmRsZXJzRm9yKFNpZ25hbDo6QWNjZXNzRmF1bHQpOwotICAgIGZp
bmFsaXplU2lnbmFsSGFuZGxlcnMoKTsKIAogICAgIC8vIEFsbG9jYXRlIGEgcGFnZSBvZiBtZW1v
cnkKICAgICBjaGFyKiBwdHIgPSBiaXR3aXNlX2Nhc3Q8Y2hhcio+KEdpZ2FjYWdlOjp0cnlBbGxv
Y2F0ZVplcm9lZFZpcnR1YWxQYWdlcyhHaWdhY2FnZTo6UHJpbWl0aXZlLCA0MDk2KSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>