<?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>206278</bug_id>
          
          <creation_ts>2020-01-14 21:59:15 -0800</creation_ts>
          <short_desc>REGRESSION(r254480): &quot;It regressed JetStream2 and Speedometer2&quot; (Requested by saamyjoon on #webkit).</short_desc>
          <delta_ts>2020-01-14 22:03:24 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>206244</blocked>
    
    <blocked>202503</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1606796</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-14 21:59:15 -0800</bug_when>
    <thetext>https://trac.webkit.org/changeset/254480 broke the build:
&quot;It regressed JetStream2 and Speedometer2&quot; (Requested by saamyjoon 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>1606799</commentid>
    <comment_count>1</comment_count>
      <attachid>387755</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-14 21:59:26 -0800</bug_when>
    <thetext>Created attachment 387755
ROLLOUT of r254480

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 rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout 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>1606800</commentid>
    <comment_count>2</comment_count>
      <attachid>387755</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-14 22:02:55 -0800</bug_when>
    <thetext>Comment on attachment 387755
ROLLOUT of r254480

Clearing flags on attachment: 387755

Committed r254558: &lt;https://trac.webkit.org/changeset/254558&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606801</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-14 22:02:56 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606802</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-14 22:03:24 -0800</bug_when>
    <thetext>&lt;rdar://problem/58595467&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387755</attachid>
            <date>2020-01-14 21:59:26 -0800</date>
            <delta_ts>2020-01-14 22:02:55 -0800</delta_ts>
            <desc>ROLLOUT of r254480</desc>
            <filename>bug-206278-20200114215925.patch</filename>
            <type>text/plain</type>
            <size>47870</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0NTU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
ZTlhNmFjMzFhYjE1ZGI1MmU4MDgzZTljZjY1OTM2OTgyZTAzMWMyLi5kOTBmMGFmZjY2OTVmMDE0
NzcwODUzYTZmYjdhMDEwYmFjNmQ1MWUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNiBAQAorMjAyMC0wMS0xNCAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjI1NDQ4MCwgcjI1NDQ5
NiwgYW5kIHIyNTQ1MTcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMDYyNzgKKworICAgICAgICAiSXQgcmVncmVzc2VkIEpldFN0cmVhbTIgYW5kIFNw
ZWVkb21ldGVyMiIgKFJlcXVlc3RlZCBieQorICAgICAgICBzYWFteWpvb24gb24gI3dlYmtpdCku
CisKKyAgICAgICAgUmV2ZXJ0ZWQgY2hhbmdlc2V0czoKKworICAgICAgICAiVGhyb3cgYXdheSBi
YXNlbGluZSBjb2RlIGlmIHRoZXJlIGlzIGFuIG9wdGltaXplZAorICAgICAgICByZXBsYWNlbWVu
dCIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMjUw
MworICAgICAgICBodHRwczovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMjU0NDgwCisKKyAg
ICAgICAgIlVucmV2aWV3ZWQuIENoYW5nZSB1c2VMTEludD0wIHRvIGZvcmNlQmFzZWxpbmU9MSIK
KyAgICAgICAgaHR0cHM6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzI1NDQ5NgorCisgICAg
ICAgICJBZGQgYW4gb3B0aW9uIHRoYXQgZW5hYmxlcy9kaXNhYmxlcyB0aHJvd2luZyBhd2F5IGJh
c2VsaW5lCisgICAgICAgIEpJVCBjb2RlIgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MjQ0CisgICAgICAgIGh0dHBzOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8yNTQ1MTcKKwogMjAyMC0wMS0xNCAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWls
bGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggc2NhblNpZGVTdGF0ZSBhc3NlcnRpb24KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvRXhlY3V0aW9uVGltZUxp
bWl0VGVzdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3RzL0V4ZWN1dGlvblRp
bWVMaW1pdFRlc3QuY3BwCmluZGV4IGEyNjU5NWRkOTA3MDNlZmUxODBkYzk5YmFkM2E2OWI3MWNj
ZGE0NjkuLjZlNWI4MmY4YWQ0N2I2YTA5ZjVkZDliZjFkMzQ3NzgyOTRjOGM2YzYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvRXhlY3V0aW9uVGltZUxpbWl0VGVz
dC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy9FeGVjdXRpb25UaW1l
TGltaXRUZXN0LmNwcApAQCAtMTE5LDExICsxMTksMTEgQEAgc3RhdGljIHZvaWQgdGVzdFJlc2V0
QWZ0ZXJUaW1lb3V0KGJvb2wmIGZhaWxlZCkKIGludCB0ZXN0RXhlY3V0aW9uVGltZUxpbWl0KCkK
IHsKICAgICBzdGF0aWMgY29uc3QgVGllck9wdGlvbnMgdGllck9wdGlvbnNMaXN0W10gPSB7Ci0g
ICAgICAgIHsgIkxMSU5UIiwgICAgMF9tcywgICAiLS11c2VDb25jdXJyZW50SklUPWZhbHNlIC0t
dXNlSklUPWZhbHNlIiB9LAotICAgICAgICB7ICJCYXNlbGluZSIsIDBfbXMsICAgIi0tdXNlQ29u
Y3VycmVudEpJVD1mYWxzZSAtLXVzZUpJVD10cnVlIC0tdXNlREZHSklUPWZhbHNlIiB9LAotICAg
ICAgICB7ICJERkciLCAgICAgIDIwMF9tcywgICAiLS11c2VDb25jdXJyZW50SklUPWZhbHNlIC0t
dXNlSklUPXRydWUgLS11c2VERkdKSVQ9dHJ1ZSAtLXVzZUZUTEpJVD1mYWxzZSIgfSwKKyAgICAg
ICAgeyAiTExJTlQiLCAgICAwX21zLCAgICItLXVzZUNvbmN1cnJlbnRKSVQ9ZmFsc2UgLS11c2VM
TEludD10cnVlIC0tdXNlSklUPWZhbHNlIiB9LAorICAgICAgICB7ICJCYXNlbGluZSIsIDBfbXMs
ICAgIi0tdXNlQ29uY3VycmVudEpJVD1mYWxzZSAtLXVzZUxMSW50PXRydWUgLS11c2VKSVQ9dHJ1
ZSAtLXVzZURGR0pJVD1mYWxzZSIgfSwKKyAgICAgICAgeyAiREZHIiwgICAgICAyMDBfbXMsICAg
Ii0tdXNlQ29uY3VycmVudEpJVD1mYWxzZSAtLXVzZUxMSW50PXRydWUgLS11c2VKSVQ9dHJ1ZSAt
LXVzZURGR0pJVD10cnVlIC0tdXNlRlRMSklUPWZhbHNlIiB9LAogI2lmIEVOQUJMRShGVExfSklU
KQotICAgICAgICB7ICJGVEwiLCAgICAgIDUwMF9tcywgIi0tdXNlQ29uY3VycmVudEpJVD1mYWxz
ZSAtLXVzZUpJVD10cnVlIC0tdXNlREZHSklUPXRydWUgLS11c2VGVExKSVQ9dHJ1ZSIgfSwKKyAg
ICAgICAgeyAiRlRMIiwgICAgICA1MDBfbXMsICItLXVzZUNvbmN1cnJlbnRKSVQ9ZmFsc2UgLS11
c2VMTEludD10cnVlIC0tdXNlSklUPXRydWUgLS11c2VERkdKSVQ9dHJ1ZSAtLXVzZUZUTEpJVD10
cnVlIiB9LAogI2VuZGlmCiAgICAgfTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9BUEkvdGVzdHMvUGluZ1BvbmdTdGFja092ZXJmbG93VGVzdC5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQVBJL3Rlc3RzL1BpbmdQb25nU3RhY2tPdmVyZmxvd1Rlc3QuY3BwCmlu
ZGV4IGU5MDY4MTU0YmMzNDgxNzQ1N2EwOWJlMDNmZjI0MWUzYmU0MTc2MDYuLmZiZTQ2ODcyMDMy
Yjg2MTA5MDMzNDVmNjQ3ZWFkZGEzNGMwZDg5OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9BUEkvdGVzdHMvUGluZ1BvbmdTdGFja092ZXJmbG93VGVzdC5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy9QaW5nUG9uZ1N0YWNrT3ZlcmZsb3dUZXN0LmNw
cApAQCAtMTIyLDcgKzEyMiw3IEBAIGludCB0ZXN0UGluZ1BvbmdTdGFja092ZXJmbG93KCkKIAog
ICAgIGF1dG8gb3JpZ1NvZnRSZXNlcnZlZFpvbmVTaXplID0gT3B0aW9uczo6c29mdFJlc2VydmVk
Wm9uZVNpemUoKTsKICAgICBhdXRvIG9yaWdSZXNlcnZlZFpvbmVTaXplID0gT3B0aW9uczo6cmVz
ZXJ2ZWRab25lU2l6ZSgpOwotICAgIGF1dG8gb3JpZ0ZvcmNlQmFzZWxpbmUgPSBPcHRpb25zOjpm
b3JjZUJhc2VsaW5lKCk7CisgICAgYXV0byBvcmlnVXNlTExJbnQgPSBPcHRpb25zOjp1c2VMTElu
dCgpOwogICAgIGF1dG8gb3JpZ01heFBlclRocmVhZFN0YWNrVXNhZ2UgPSBPcHRpb25zOjptYXhQ
ZXJUaHJlYWRTdGFja1VzYWdlKCk7CiAKICAgICBPcHRpb25zOjpzb2Z0UmVzZXJ2ZWRab25lU2l6
ZSgpID0gMTI4ICogS0I7CkBAIC0xMzEsNyArMTMxLDcgQEAgaW50IHRlc3RQaW5nUG9uZ1N0YWNr
T3ZlcmZsb3coKQogICAgIC8vIE5vcm1hbGx5LCB3ZSB3YW50IHRvIGRpc2FibGUgdGhlIExMSU5U
IHRvIGZvcmNlIHRoZSB1c2Ugb2YgSklUdGVkIGNvZGUgd2hpY2ggaXMgbmVjZXNzYXJ5IGZvcgog
ICAgIC8vIHJlcHJvZHVjaW5nIHRoZSByZWdyZXNzaW9uIGluIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDg3NDkuIEhvd2V2ZXIsIHdlIG9ubHkKICAgICAvLyB3YW50
IHRvIGRvIHRoaXMgaWYgdGhlIExMSU5UIGlzbid0IHRoZSBvbmx5IGF2YWlsYWJsZSBleGVjdXRp
b24gZW5naW5lLgotICAgIE9wdGlvbnM6OmZvcmNlQmFzZWxpbmUoKSA9IHRydWU7CisgICAgT3B0
aW9uczo6dXNlTExJbnQoKSA9IGZhbHNlOwogI2VuZGlmCiAKICAgICBjb25zdCBjaGFyKiBzY3Jp
cHRTdHJpbmcgPQpAQCAtMTc4LDcgKzE3OCw3IEBAIGludCB0ZXN0UGluZ1BvbmdTdGFja092ZXJm
bG93KCkKIAogICAgIE9wdGlvbnM6OnNvZnRSZXNlcnZlZFpvbmVTaXplKCkgPSBvcmlnU29mdFJl
c2VydmVkWm9uZVNpemU7CiAgICAgT3B0aW9uczo6cmVzZXJ2ZWRab25lU2l6ZSgpID0gb3JpZ1Jl
c2VydmVkWm9uZVNpemU7Ci0gICAgT3B0aW9uczo6Zm9yY2VCYXNlbGluZSgpID0gb3JpZ0ZvcmNl
QmFzZWxpbmU7CisgICAgT3B0aW9uczo6dXNlTExJbnQoKSA9IG9yaWdVc2VMTEludDsKICAgICBP
cHRpb25zOjptYXhQZXJUaHJlYWRTdGFja1VzYWdlKCkgPSBvcmlnTWF4UGVyVGhyZWFkU3RhY2tV
c2FnZTsKIAogICAgIHJldHVybiBmYWlsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9Db2RlQmxvY2suY3BwCmluZGV4IDFmOTNhM2EzZjU1Y2M2MjE5MmM2NjQ3MWQyNTFjMDNm
ZjQ5NWY5MzYuLjc4ZWI0ZjdkMTgxMDUwMWRiOGMwZTAzMmE5OGZmNjc1YTRmNDk5OTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCkBAIC00NDIsOCAr
NDQyLDE0IEBAIGJvb2wgQ29kZUJsb2NrOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFNjcmlwdEV4
ZWN1dGFibGUqIG93bmVyRXhlY3V0YWJsZSwgVW5saW5rCiAgICAgICAgICAgICAgICAgY29uc3Qg
VW5saW5rZWRIYW5kbGVySW5mbyYgdW5saW5rZWRIYW5kbGVyID0gdW5saW5rZWRDb2RlQmxvY2st
PmV4Y2VwdGlvbkhhbmRsZXIoaSk7CiAgICAgICAgICAgICAgICAgSGFuZGxlckluZm8mIGhhbmRs
ZXIgPSBtX3JhcmVEYXRhLT5tX2V4Y2VwdGlvbkhhbmRsZXJzW2ldOwogI2lmIEVOQUJMRShKSVQp
Ci0gICAgICAgICAgICAgICAgYXV0byYgaW5zdHJ1Y3Rpb24gPSAqaW5zdHJ1Y3Rpb25zKCkuYXQo
dW5saW5rZWRIYW5kbGVyLnRhcmdldCkucHRyKCk7Ci0gICAgICAgICAgICAgICAgTWFjcm9Bc3Nl
bWJsZXJDb2RlUHRyPEJ5dGVjb2RlUHRyVGFnPiBjb2RlUHRyID0gTExJbnQ6OmdldENvZGVQdHI8
Qnl0ZWNvZGVQdHJUYWc+KGluc3RydWN0aW9uKTsKKyAgICAgICAgICAgICAgICBhdXRvIGluc3Ry
dWN0aW9uID0gaW5zdHJ1Y3Rpb25zKCkuYXQodW5saW5rZWRIYW5kbGVyLnRhcmdldCk7CisgICAg
ICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXJDb2RlUHRyPEJ5dGVjb2RlUHRyVGFnPiBjb2RlUHRy
OworICAgICAgICAgICAgICAgIGlmIChpbnN0cnVjdGlvbi0+aXNXaWRlMzIoKSkKKyAgICAgICAg
ICAgICAgICAgICAgY29kZVB0ciA9IExMSW50OjpnZXRXaWRlMzJDb2RlUHRyPEJ5dGVjb2RlUHRy
VGFnPihvcF9jYXRjaCk7CisgICAgICAgICAgICAgICAgZWxzZSBpZiAoaW5zdHJ1Y3Rpb24tPmlz
V2lkZTE2KCkpCisgICAgICAgICAgICAgICAgICAgIGNvZGVQdHIgPSBMTEludDo6Z2V0V2lkZTE2
Q29kZVB0cjxCeXRlY29kZVB0clRhZz4ob3BfY2F0Y2gpOworICAgICAgICAgICAgICAgIGVsc2UK
KyAgICAgICAgICAgICAgICAgICAgY29kZVB0ciA9IExMSW50OjpnZXRDb2RlUHRyPEJ5dGVjb2Rl
UHRyVGFnPihvcF9jYXRjaCk7CiAgICAgICAgICAgICAgICAgaGFuZGxlci5pbml0aWFsaXplKHVu
bGlua2VkSGFuZGxlciwgQ29kZUxvY2F0aW9uTGFiZWw8RXhjZXB0aW9uSGFuZGxlclB0clRhZz4o
Y29kZVB0ci5yZXRhZ2dlZDxFeGNlcHRpb25IYW5kbGVyUHRyVGFnPigpKSk7CiAjZWxzZQogICAg
ICAgICAgICAgICAgIGhhbmRsZXIuaW5pdGlhbGl6ZSh1bmxpbmtlZEhhbmRsZXIpOwpAQCAtMTM4
MiwzNiArMTM4OCw2IEBAIHZvaWQgQ29kZUJsb2NrOjpmaW5hbGl6ZVVuY29uZGl0aW9uYWxseShW
TSYgdm0pCiAgICAgVU5VU0VEX1BBUkFNKHZtKTsKIAogICAgIHVwZGF0ZUFsbFByZWRpY3Rpb25z
KCk7Ci0KLSNpZiBFTkFCTEUoSklUKQotICAgIC8vIElmIEJhc2VsaW5lSklUIGNvZGUgaXMgbm90
IGV4ZWN1dGluZywgYW5kIGFuIG9wdGltaXplZCByZXBsYWNlbWVudCBleGlzdHMsIHdlIGF0dGVt
cHQKLSAgICAvLyB0byBkaXNjYXJkIGJhc2VsaW5lIEpJVCBjb2RlIGFuZCByZWluc3RhbGwgTExJ
bnQgY29kZSB0byBzYXZlIEpJVCBtZW1vcnkuCi0gICAgaWYgKCFPcHRpb25zOjpmb3JjZUJhc2Vs
aW5lKCkgJiYgT3B0aW9uczo6ZW5hYmxlVGhyb3dpbmdBd2F5QmFzZWxpbmVDb2RlKCkgJiYgaml0
VHlwZSgpID09IEpJVFR5cGU6OkJhc2VsaW5lSklUICYmICFtX3ZtLT5oZWFwLmNvZGVCbG9ja1Nl
dCgpLmlzQ3VycmVudGx5RXhlY3V0aW5nKHRoaXMpKSB7Ci0gICAgICAgIGlmIChDb2RlQmxvY2sq
IG9wdGltaXplZENvZGVCbG9jayA9IG9wdGltaXplZFJlcGxhY2VtZW50KCkpIHsKLSAgICAgICAg
ICAgIGlmICghb3B0aW1pemVkQ29kZUJsb2NrLT5tX29zckV4aXRDb3VudGVyKSB7Ci0gICAgICAg
ICAgICAgICAgbV9qaXRDb2RlID0gbnVsbHB0cjsKLSAgICAgICAgICAgICAgICBMTEludDo6c2V0
RW50cnlwb2ludCh0aGlzKTsKLSAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChqaXRUeXBl
KCkgPT0gSklUVHlwZTo6SW50ZXJwcmV0ZXJUaHVuayk7Ci0KLSAgICAgICAgICAgICAgICBmb3Ig
KHNpemVfdCBpID0gMDsgaSA8IG1fdW5saW5rZWRDb2RlLT5udW1iZXJPZkV4Y2VwdGlvbkhhbmRs
ZXJzKCk7IGkrKykgewotICAgICAgICAgICAgICAgICAgICBjb25zdCBVbmxpbmtlZEhhbmRsZXJJ
bmZvJiB1bmxpbmtlZEhhbmRsZXIgPSBtX3VubGlua2VkQ29kZS0+ZXhjZXB0aW9uSGFuZGxlcihp
KTsKLSAgICAgICAgICAgICAgICAgICAgSGFuZGxlckluZm8mIGhhbmRsZXIgPSBtX3JhcmVEYXRh
LT5tX2V4Y2VwdGlvbkhhbmRsZXJzW2ldOwotICAgICAgICAgICAgICAgICAgICBhdXRvJiBpbnN0
cnVjdGlvbiA9ICppbnN0cnVjdGlvbnMoKS5hdCh1bmxpbmtlZEhhbmRsZXIudGFyZ2V0KS5wdHIo
KTsKLSAgICAgICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXJDb2RlUHRyPEJ5dGVjb2RlUHRy
VGFnPiBjb2RlUHRyID0gTExJbnQ6OmdldENvZGVQdHI8Qnl0ZWNvZGVQdHJUYWc+KGluc3RydWN0
aW9uKTsKLSAgICAgICAgICAgICAgICAgICAgaGFuZGxlci5pbml0aWFsaXplKHVubGlua2VkSGFu
ZGxlciwgQ29kZUxvY2F0aW9uTGFiZWw8RXhjZXB0aW9uSGFuZGxlclB0clRhZz4oY29kZVB0ci5y
ZXRhZ2dlZDxFeGNlcHRpb25IYW5kbGVyUHRyVGFnPigpKSk7Ci0gICAgICAgICAgICAgICAgfQot
Ci0gICAgICAgICAgICAgICAgdW5saW5rSW5jb21pbmdDYWxscygpOwotCi0gICAgICAgICAgICAg
ICAgLy8gSXQncyBzYWZlIHRvIGNsZWFyIHRoZXNlIG91dCBoZXJlIGJlY2F1c2UgaW4gZmluYWxp
emVVbmNvbmRpdGlvbmFsbHkgYWxsIGNvbXBpbGVyIHRocmVhZHMKLSAgICAgICAgICAgICAgICAv
LyBhcmUgc2FmZXBvaW50ZWQsIG1lYW5pbmcgdGhleSdyZSBydW5uaW5nIGVpdGhlciBiZWZvcmUg
b3IgYWZ0ZXIgYnl0ZWNvZGUgcGFyc2VyLCBhbmQgYnl0ZWNvZGUKLSAgICAgICAgICAgICAgICAv
LyBwYXJzZXIgaXMgdGhlIG9ubHkgZGF0YSBzdHJ1Y3R1cmUgcG9pbnRpbmcgaW50byB0aGUgdmFy
aW91cyAqaW5mb3MuCi0gICAgICAgICAgICAgICAgcmVzZXRKSVREYXRhKCk7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgIH0KLSAgICB9Ci0KLSNlbmRpZgogICAgIAogICAgIGlmIChKSVRDb2RlOjpj
b3VsZEJlSW50ZXJwcmV0ZWQoaml0VHlwZSgpKSkKICAgICAgICAgZmluYWxpemVMTEludElubGlu
ZUNhY2hlcygpOwpAQCAtMTUzOSw2ICsxNTE1LDE4IEBAIEpJVE5lZ0lDKiBDb2RlQmxvY2s6OmFk
ZEpJVE5lZ0lDKFVuYXJ5QXJpdGhQcm9maWxlKiBhcml0aFByb2ZpbGUpCiAgICAgcmV0dXJuIGVu
c3VyZUpJVERhdGEobG9ja2VyKS5tX25lZ0lDcy5hZGQoYXJpdGhQcm9maWxlKTsKIH0KIAorU3Ry
dWN0dXJlU3R1YkluZm8qIENvZGVCbG9jazo6ZmluZFN0dWJJbmZvKENvZGVPcmlnaW4gY29kZU9y
aWdpbikKK3sKKyAgICBDb25jdXJyZW50SlNMb2NrZXIgbG9ja2VyKG1fbG9jayk7CisgICAgaWYg
KGF1dG8qIGppdERhdGEgPSBtX2ppdERhdGEuZ2V0KCkpIHsKKyAgICAgICAgZm9yIChTdHJ1Y3R1
cmVTdHViSW5mbyogc3R1YkluZm8gOiBqaXREYXRhLT5tX3N0dWJJbmZvcykgeworICAgICAgICAg
ICAgaWYgKHN0dWJJbmZvLT5jb2RlT3JpZ2luID09IGNvZGVPcmlnaW4pCisgICAgICAgICAgICAg
ICAgcmV0dXJuIHN0dWJJbmZvOworICAgICAgICB9CisgICAgfQorICAgIHJldHVybiBudWxscHRy
OworfQorCiBCeVZhbEluZm8qIENvZGVCbG9jazo6YWRkQnlWYWxJbmZvKCkKIHsKICAgICBDb25j
dXJyZW50SlNMb2NrZXIgbG9ja2VyKG1fbG9jayk7CkBAIC0xNTUxLDYgKzE1MzksMTggQEAgQ2Fs
bExpbmtJbmZvKiBDb2RlQmxvY2s6OmFkZENhbGxMaW5rSW5mbygpCiAgICAgcmV0dXJuIGVuc3Vy
ZUpJVERhdGEobG9ja2VyKS5tX2NhbGxMaW5rSW5mb3MuYWRkKCk7CiB9CiAKK0NhbGxMaW5rSW5m
byogQ29kZUJsb2NrOjpnZXRDYWxsTGlua0luZm9Gb3JCeXRlY29kZUluZGV4KEJ5dGVjb2RlSW5k
ZXggaW5kZXgpCit7CisgICAgQ29uY3VycmVudEpTTG9ja2VyIGxvY2tlcihtX2xvY2spOworICAg
IGlmIChhdXRvKiBqaXREYXRhID0gbV9qaXREYXRhLmdldCgpKSB7CisgICAgICAgIGZvciAoQ2Fs
bExpbmtJbmZvKiBjYWxsTGlua0luZm8gOiBqaXREYXRhLT5tX2NhbGxMaW5rSW5mb3MpIHsKKyAg
ICAgICAgICAgIGlmIChjYWxsTGlua0luZm8tPmNvZGVPcmlnaW4oKSA9PSBDb2RlT3JpZ2luKGlu
ZGV4KSkKKyAgICAgICAgICAgICAgICByZXR1cm4gY2FsbExpbmtJbmZvOworICAgICAgICB9Cisg
ICAgfQorICAgIHJldHVybiBudWxscHRyOworfQorCiBSYXJlQ2FzZVByb2ZpbGUqIENvZGVCbG9j
azo6YWRkUmFyZUNhc2VQcm9maWxlKEJ5dGVjb2RlSW5kZXggYnl0ZWNvZGVJbmRleCkKIHsKICAg
ICBDb25jdXJyZW50SlNMb2NrZXIgbG9ja2VyKG1fbG9jayk7CkBAIC0xNTk4LDIyICsxNTk4LDEz
IEBAIHZvaWQgQ29kZUJsb2NrOjpyZXNldEpJVERhdGEoKQogICAgICAgICAvLyBXZSBjYW4gY2xl
YXIgdGhlc2UgYmVjYXVzZSBubyBvdGhlciB0aHJlYWQgd2lsbCBoYXZlIHJlZmVyZW5jZXMgdG8g
YW55IHN0dWIgaW5mb3MsIGNhbGwKICAgICAgICAgLy8gbGluayBpbmZvcywgb3IgYnkgdmFsIGlu
Zm9zIGlmIHdlIGRvbid0IGhhdmUgSklUIGNvZGUuIEF0dGVtcHRzIHRvIHF1ZXJ5IHRoZXNlIGRh
dGEKICAgICAgICAgLy8gc3RydWN0dXJlcyB1c2luZyB0aGUgY29uY3VycmVudCBBUEkgKGdldElD
U3RhdHVzTWFwIGFuZCBmcmllbmRzKSB3aWxsIHJldHVybiBub3RoaW5nIGlmIHdlCi0gICAgICAg
IC8vIGRvbid0IGhhdmUgSklUIGNvZGUuIFNvIGl0J3Mgc2FmZSB0byBjYWxsIHRoaXMgaWYgd2Ug
ZmFpbCBhIGJhc2VsaW5lIEpJVCBjb21waWxlLgotICAgICAgICAvLwotICAgICAgICAvLyBXZSBh
bHNvIGNhbGwgdGhpcyBmcm9tIGZpbmFsaXplVW5jb25kaXRpb25hbGx5IHdoZW4gd2UgZGVncmFk
ZSBmcm9tIGJhc2VsaW5lIEpJVCB0byBMTEludAotICAgICAgICAvLyBjb2RlLiBUaGlzIGlzIHNh
ZmUgdG8gZG8gc2luY2UgYWxsIGNvbXBpbGVyIHRocmVhZHMgYXJlIHNhZmVwb2ludGVkIGluIGZp
bmFsaXplVW5jb25kaXRpb25hbGx5LAotICAgICAgICAvLyB3aGljaCBtZWFucyB3ZSd2ZSBtYWRl
IGl0IHBhc3QgYnl0ZWNvZGUgcGFyc2luZy4gT25seSB0aGUgYnl0ZWNvZGUgcGFyc2VyIHdpbGwg
aG9sZCBvbnRvCi0gICAgICAgIC8vIHJlZmVyZW5jZXMgdG8gdGhlc2UgdmFyaW91cyAqaW5mb3Mg
dmlhIGl0cyB1c2Ugb2YgSUNTdGF0dXNNYXAuCi0KLSAgICAgICAgZm9yIChTdHJ1Y3R1cmVTdHVi
SW5mbyogc3R1YkluZm8gOiBqaXREYXRhLT5tX3N0dWJJbmZvcykgewotICAgICAgICAgICAgc3R1
YkluZm8tPmFib3V0VG9EaWUoKTsKLSAgICAgICAgICAgIHN0dWJJbmZvLT5kZXJlZigpOwotICAg
ICAgICB9Ci0KKyAgICAgICAgLy8gZG9uJ3QgaGF2ZSBKSVQgY29kZS4KKyAgICAgICAgaml0RGF0
YS0+bV9zdHViSW5mb3MuY2xlYXIoKTsKKyAgICAgICAgaml0RGF0YS0+bV9jYWxsTGlua0luZm9z
LmNsZWFyKCk7CisgICAgICAgIGppdERhdGEtPm1fYnlWYWxJbmZvcy5jbGVhcigpOwogICAgICAg
ICAvLyBXZSBjYW4gY2xlYXIgdGhpcyBiZWNhdXNlIHRoZSBERkcncyBxdWVyaWVzIHRvIHRoZXNl
IGRhdGEgc3RydWN0dXJlcyBhcmUgZ3VhcmRlZCBieSB3aGV0aGVyCiAgICAgICAgIC8vIHRoZXJl
IGlzIEpJVCBjb2RlLgotCi0gICAgICAgIG1faml0RGF0YSA9IG51bGxwdHI7CisgICAgICAgIGpp
dERhdGEtPm1fcmFyZUNhc2VQcm9maWxlcy5jbGVhcigpOwogICAgIH0KIH0KICNlbmRpZgpAQCAt
MTc0NSwyNCArMTczNiwxMCBAQCBDb2RlQmxvY2sqIENvZGVCbG9jazo6YmFzZWxpbmVWZXJzaW9u
KCkKIH0KIAogI2lmIEVOQUJMRShKSVQpCi1Db2RlQmxvY2sqIENvZGVCbG9jazo6b3B0aW1pemVk
UmVwbGFjZW1lbnQoSklUVHlwZSB0eXBlVG9SZXBsYWNlKQotewotICAgIENvZGVCbG9jayogcmVw
bGFjZW1lbnQgPSB0aGlzLT5yZXBsYWNlbWVudCgpOwotICAgIGlmICghcmVwbGFjZW1lbnQpCi0g
ICAgICAgIHJldHVybiBudWxscHRyOwotICAgIGlmIChKSVRDb2RlOjppc0hpZ2hlclRpZXIocmVw
bGFjZW1lbnQtPmppdFR5cGUoKSwgdHlwZVRvUmVwbGFjZSkpCi0gICAgICAgIHJldHVybiByZXBs
YWNlbWVudDsKLSAgICByZXR1cm4gbnVsbHB0cjsKLX0KLQotQ29kZUJsb2NrKiBDb2RlQmxvY2s6
Om9wdGltaXplZFJlcGxhY2VtZW50KCkKLXsKLSAgICByZXR1cm4gb3B0aW1pemVkUmVwbGFjZW1l
bnQoaml0VHlwZSgpKTsKLX0KLQogYm9vbCBDb2RlQmxvY2s6Omhhc09wdGltaXplZFJlcGxhY2Vt
ZW50KEpJVFR5cGUgdHlwZVRvUmVwbGFjZSkKIHsKLSAgICByZXR1cm4gISFvcHRpbWl6ZWRSZXBs
YWNlbWVudCh0eXBlVG9SZXBsYWNlKTsKKyAgICBDb2RlQmxvY2sqIHJlcGxhY2VtZW50ID0gdGhp
cy0+cmVwbGFjZW1lbnQoKTsKKyAgICByZXR1cm4gcmVwbGFjZW1lbnQgJiYgSklUQ29kZTo6aXNI
aWdoZXJUaWVyKHJlcGxhY2VtZW50LT5qaXRUeXBlKCksIHR5cGVUb1JlcGxhY2UpOwogfQogCiBi
b29sIENvZGVCbG9jazo6aGFzT3B0aW1pemVkUmVwbGFjZW1lbnQoKQpAQCAtMjgyNCw3ICsyODAx
LDcgQEAgYm9vbCBDb2RlQmxvY2s6OnNob3VsZE9wdGltaXplTm93KCkKIHZvaWQgQ29kZUJsb2Nr
Ojp0YWxseUZyZXF1ZW50RXhpdFNpdGVzKCkKIHsKICAgICBBU1NFUlQoSklUQ29kZTo6aXNPcHRp
bWl6aW5nSklUKGppdFR5cGUoKSkpOwotICAgIEFTU0VSVChKSVRDb2RlOjppc0Jhc2VsaW5lQ29k
ZShhbHRlcm5hdGl2ZSgpLT5qaXRUeXBlKCkpKTsKKyAgICBBU1NFUlQoYWx0ZXJuYXRpdmUoKS0+
aml0VHlwZSgpID09IEpJVFR5cGU6OkJhc2VsaW5lSklUKTsKICAgICAKICAgICBDb2RlQmxvY2sq
IHByb2ZpbGVkQmxvY2sgPSBhbHRlcm5hdGl2ZSgpOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCmluZGV4IDU0OWQ3MmYyZTQzZjNmYTJkMzk3OTg1MzIy
YWU5OTU4NGZmMTk3ZTAuLjY4ZmQwMWZkOTE0YzVlNDE5ZWI4ODM5Mjc5ZjU3YWY2MGM0ZDY2MGIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgKQEAgLTI1OCwx
MSArMjU4LDYgQEAgcHVibGljOgogCiAgICAgT3B0aW9uYWw8Qnl0ZWNvZGVJbmRleD4gYnl0ZWNv
ZGVJbmRleEZyb21DYWxsU2l0ZUluZGV4KENhbGxTaXRlSW5kZXgpOwogCi0gICAgLy8gQmVjYXVz
ZSB3ZSBtaWdodCB0aHJvdyBvdXQgYmFzZWxpbmUgSklUIGNvZGUgYW5kIGFsbCBpdHMgYmFzZWxp
bmUgSklUIGRhdGEgKG1faml0RGF0YSksCi0gICAgLy8geW91IG5lZWQgdG8gYmUgY2FyZWZ1bCBh
Ym91dCB0aGUgbGlmZXRpbWUgb2Ygd2hlbiB5b3UgdXNlIHRoZSByZXR1cm4gdmFsdWUgb2YgdGhp
cyBmdW5jdGlvbi4KLSAgICAvLyBUaGUgcmV0dXJuIHZhbHVlIG1heSBoYXZlIHJhdyBwb2ludGVy
cyBpbnRvIHRoaXMgZGF0YSBzdHJ1Y3R1cmUgdGhhdCBnZXRzIHRocm93biBhd2F5LgotICAgIC8v
IFNwZWNpZmljYWxseSwgeW91IG5lZWQgdG8gZW5zdXJlIHRoYXQgbm8gR0MgY2FuIGJlIGZpbmFs
aXplZCAodHlwaWNhbGx5IHRoYXQgbWVhbnMgbm8KLSAgICAvLyBhbGxvY2F0aW9ucykgYmV0d2Vl
biBjYWxsaW5nIHRoaXMgYW5kIHRoZSBsYXN0IHVzZSBvZiBpdC4KICAgICB2b2lkIGdldElDU3Rh
dHVzTWFwKGNvbnN0IENvbmN1cnJlbnRKU0xvY2tlciYsIElDU3RhdHVzTWFwJiByZXN1bHQpOwog
ICAgIHZvaWQgZ2V0SUNTdGF0dXNNYXAoSUNTdGF0dXNNYXAmIHJlc3VsdCk7CiAgICAgCkBAIC0y
ODIsMTAgKzI3Nyw2IEBAIHB1YmxpYzoKICAgICAgICAgU2VnbWVudGVkVmVjdG9yPFJhcmVDYXNl
UHJvZmlsZSwgOD4gbV9yYXJlQ2FzZVByb2ZpbGVzOwogICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8
UENUb0NvZGVPcmlnaW5NYXA+IG1fcGNUb0NvZGVPcmlnaW5NYXA7CiAgICAgICAgIHN0ZDo6dW5p
cXVlX3B0cjxSZWdpc3RlckF0T2Zmc2V0TGlzdD4gbV9jYWxsZWVTYXZlUmVnaXN0ZXJzOwotICAg
ICAgICAvLyBGSVhNRTogTm93IHRoYXQgd2UgdW5jb25kaXRpb25hbGx5IE9TUiBleGl0IHRvIHRo
ZSBMTEludCwgd2UgbWlnaHQgYmUgYWJsZSB0byBwcnVuZQotICAgICAgICAvLyB0aGUgbnVtYmVy
IG9mIGVudHJpZXMgd2UgaGF2ZSBpbiB0aGlzIHRvIGNvbnRhaW4gZW50cmllcyBvbmx5IGZvciBv
cGNvZGVzIHdlIHVzZQotICAgICAgICAvLyBpdCBmb3IuIFRvZGF5LCB0aGF0J3Mgb25seSBmb3Ig
bG9vcCBPU1IgZW50cnkuCi0gICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDYyMDcKICAgICAgICAgSklUQ29kZU1hcCBtX2ppdENvZGVNYXA7CiAgICAg
fTsKIApAQCAtMzE2LDkgKzMwNywxOCBAQCBwdWJsaWM6CiAKICAgICBTdHJ1Y3R1cmVTdHViSW5m
byogYWRkU3R1YkluZm8oQWNjZXNzVHlwZSk7CiAKKyAgICAvLyBPKG4pIG9wZXJhdGlvbi4gVXNl
IGdldFN0dWJJbmZvTWFwKCkgdW5sZXNzIHlvdSByZWFsbHkgb25seSBpbnRlbmQgdG8gZ2V0IG9u
ZQorICAgIC8vIHN0dWIgaW5mby4KKyAgICBTdHJ1Y3R1cmVTdHViSW5mbyogZmluZFN0dWJJbmZv
KENvZGVPcmlnaW4pOworCiAgICAgQnlWYWxJbmZvKiBhZGRCeVZhbEluZm8oKTsKIAogICAgIENh
bGxMaW5rSW5mbyogYWRkQ2FsbExpbmtJbmZvKCk7CisKKyAgICAvLyBUaGlzIGlzIGEgc2xvdyBm
dW5jdGlvbiBjYWxsIHVzZWQgcHJpbWFyaWx5IGZvciBjb21waWxpbmcgT1NSIGV4aXRzIGluIHRo
ZSBjYXNlCisgICAgLy8gdGhhdCB0aGVyZSBoYWQgYmVlbiBpbmxpbmluZy4gQ2hhbmNlcyBhcmUg
aWYgeW91IHdhbnQgdG8gdXNlIHRoaXMsIHlvdSdyZSByZWFsbHkKKyAgICAvLyBsb29raW5nIGZv
ciBhIENhbGxMaW5rSW5mb01hcCB0byBhbW9ydGl6ZSB0aGUgY29zdCBvZiBjYWxsaW5nIHRoaXMu
CisgICAgQ2FsbExpbmtJbmZvKiBnZXRDYWxsTGlua0luZm9Gb3JCeXRlY29kZUluZGV4KEJ5dGVj
b2RlSW5kZXgpOwogICAgIAogICAgIHZvaWQgc2V0SklUQ29kZU1hcChKSVRDb2RlTWFwJiYgaml0
Q29kZU1hcCkKICAgICB7CkBAIC00MTIsNiArNDEyLDcgQEAgcHVibGljOgogICAgIAogICAgIHZv
aWQgc2V0SklUQ29kZShSZWY8SklUQ29kZT4mJiBjb2RlKQogICAgIHsKKyAgICAgICAgQVNTRVJU
KGhlYXAoKS0+aXNEZWZlcnJlZCgpKTsKICAgICAgICAgaWYgKCFjb2RlLT5pc1NoYXJlZCgpKQog
ICAgICAgICAgICAgaGVhcCgpLT5yZXBvcnRFeHRyYU1lbW9yeUFsbG9jYXRlZChjb2RlLT5zaXpl
KCkpOwogCkBAIC00NDMsOCArNDQ0LDYgQEAgcHVibGljOgogICAgIERGRzo6Q2FwYWJpbGl0eUxl
dmVsIGNhcGFiaWxpdHlMZXZlbCgpOwogICAgIERGRzo6Q2FwYWJpbGl0eUxldmVsIGNhcGFiaWxp
dHlMZXZlbFN0YXRlKCkgeyByZXR1cm4gc3RhdGljX2Nhc3Q8REZHOjpDYXBhYmlsaXR5TGV2ZWw+
KG1fY2FwYWJpbGl0eUxldmVsU3RhdGUpOyB9CiAKLSAgICBDb2RlQmxvY2sqIG9wdGltaXplZFJl
cGxhY2VtZW50KEpJVFR5cGUgdHlwZVRvUmVwbGFjZSk7Ci0gICAgQ29kZUJsb2NrKiBvcHRpbWl6
ZWRSZXBsYWNlbWVudCgpOyAvLyB0aGUgdHlwZVRvUmVwbGFjZSBpcyBteSBKSVRUeXBlCiAgICAg
Ym9vbCBoYXNPcHRpbWl6ZWRSZXBsYWNlbWVudChKSVRUeXBlIHR5cGVUb1JlcGxhY2UpOwogICAg
IGJvb2wgaGFzT3B0aW1pemVkUmVwbGFjZW1lbnQoKTsgLy8gdGhlIHR5cGVUb1JlcGxhY2UgaXMg
bXkgSklUVHlwZQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0RyaXZlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RyaXZlci5jcHAK
aW5kZXggMWZkNTJjMzI2OGUwZWI5YjgxZTEzY2FhNzFhMTg4OGRlZjEyZGI3MS4uNDVmYmM0Mzlk
NTNiYTk1MGU3YThkODlhYzllYzE5NzJiYTA5MzliNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdEcml2ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHRHJpdmVyLmNwcApAQCAtODEsNyArODEsNyBAQCBzdGF0aWMgQ29tcGlsYXRpb25SZXN1
bHQgY29tcGlsZUltcGwoCiAgICAgCiAgICAgQVNTRVJUKGNvZGVCbG9jayk7CiAgICAgQVNTRVJU
KGNvZGVCbG9jay0+YWx0ZXJuYXRpdmUoKSk7Ci0gICAgQVNTRVJUKEpJVENvZGU6OmlzQmFzZWxp
bmVDb2RlKGNvZGVCbG9jay0+YWx0ZXJuYXRpdmUoKS0+aml0VHlwZSgpKSk7CisgICAgQVNTRVJU
KGNvZGVCbG9jay0+YWx0ZXJuYXRpdmUoKS0+aml0VHlwZSgpID09IEpJVFR5cGU6OkJhc2VsaW5l
SklUKTsKICAgICBBU1NFUlQoIXByb2ZpbGVkREZHQ29kZUJsb2NrIHx8IHByb2ZpbGVkREZHQ29k
ZUJsb2NrLT5qaXRUeXBlKCkgPT0gSklUVHlwZTo6REZHSklUKTsKICAgICAKICAgICBpZiAobG9n
Q29tcGlsYXRpb25DaGFuZ2VzKG1vZGUpKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXJDb21tb24uY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXJDb21tb24uY3BwCmluZGV4IDMwMThhMWI0YmQ5YThi
YjcyZTRmZDlkNGQwNDZkNjkxNWEzM2VhMGUuLjI3ZTJhYThkOThmNzdjMmNiZmRkMzdlMmFjZGM3
MmY0OGRjNWU5ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NS
RXhpdENvbXBpbGVyQ29tbW9uLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R09TUkV4aXRDb21waWxlckNvbW1vbi5jcHAKQEAgLTE0Miw1MyArMTQyLDg1IEBAIHZvaWQgaGFu
ZGxlRXhpdENvdW50cyhWTSYgdm0sIENDYWxsSGVscGVycyYgaml0LCBjb25zdCBPU1JFeGl0QmFz
ZSYgZXhpdCkKICAgICBkb25lQWRqdXN0aW5nLmxpbmsoJmppdCk7CiB9CiAKLXN0YXRpYyBNYWNy
b0Fzc2VtYmxlckNvZGVQdHI8SlNFbnRyeVB0clRhZz4gY2FsbGVyUmV0dXJuUEMoQ29kZUJsb2Nr
KiBiYXNlbGluZUNvZGVCbG9ja0ZvckNhbGxlciwgQnl0ZWNvZGVJbmRleCBjYWxsQnl0ZWNvZGVJ
bmRleCwgSW5saW5lQ2FsbEZyYW1lOjpLaW5kIHRydWVDYWxsZXJDYWxsS2luZCkKK01hY3JvQXNz
ZW1ibGVyQ29kZVB0cjxKU0VudHJ5UHRyVGFnPiBjYWxsZXJSZXR1cm5QQyhDb2RlQmxvY2sqIGJh
c2VsaW5lQ29kZUJsb2NrRm9yQ2FsbGVyLCBCeXRlY29kZUluZGV4IGNhbGxCeXRlY29kZUluZGV4
LCBJbmxpbmVDYWxsRnJhbWU6OktpbmQgdHJ1ZUNhbGxlckNhbGxLaW5kLCBib29sJiBjYWxsZXJJ
c0xMSW50KQogeworICAgIGNhbGxlcklzTExJbnQgPSBPcHRpb25zOjpmb3JjZU9TUkV4aXRUb0xM
SW50KCkgfHwgYmFzZWxpbmVDb2RlQmxvY2tGb3JDYWxsZXItPmppdFR5cGUoKSA9PSBKSVRUeXBl
OjpJbnRlcnByZXRlclRodW5rOworCiAgICAgaWYgKGNhbGxCeXRlY29kZUluZGV4LmNoZWNrcG9p
bnQoKSkKICAgICAgICAgcmV0dXJuIExMSW50OjpnZXRDb2RlUHRyPEpTRW50cnlQdHJUYWc+KGNo
ZWNrcG9pbnRfb3NyX2V4aXRfZnJvbV9pbmxpbmVkX2NhbGxfdHJhbXBvbGluZSk7CiAKICAgICBN
YWNyb0Fzc2VtYmxlckNvZGVQdHI8SlNFbnRyeVB0clRhZz4ganVtcFRhcmdldDsKIAotICAgIGNv
bnN0IEluc3RydWN0aW9uJiBjYWxsSW5zdHJ1Y3Rpb24gPSAqYmFzZWxpbmVDb2RlQmxvY2tGb3JD
YWxsZXItPmluc3RydWN0aW9ucygpLmF0KGNhbGxCeXRlY29kZUluZGV4KS5wdHIoKTsKKyAgICBp
ZiAoY2FsbGVySXNMTEludCkgeworICAgICAgICBjb25zdCBJbnN0cnVjdGlvbiYgY2FsbEluc3Ry
dWN0aW9uID0gKmJhc2VsaW5lQ29kZUJsb2NrRm9yQ2FsbGVyLT5pbnN0cnVjdGlvbnMoKS5hdChj
YWxsQnl0ZWNvZGVJbmRleCkucHRyKCk7CiAjZGVmaW5lIExMSU5UX1JFVFVSTl9MT0NBVElPTihu
YW1lKSAoY2FsbEluc3RydWN0aW9uLmlzV2lkZTE2KCkgPyBMTEludDo6Z2V0V2lkZTE2Q29kZVB0
cjxKU0VudHJ5UHRyVGFnPihuYW1lIyNfcmV0dXJuX2xvY2F0aW9uKSA6IChjYWxsSW5zdHJ1Y3Rp
b24uaXNXaWRlMzIoKSA/IExMSW50OjpnZXRXaWRlMzJDb2RlUHRyPEpTRW50cnlQdHJUYWc+KG5h
bWUjI19yZXR1cm5fbG9jYXRpb24pIDogTExJbnQ6OmdldENvZGVQdHI8SlNFbnRyeVB0clRhZz4o
bmFtZSMjX3JldHVybl9sb2NhdGlvbikpKQogCi0gICAgc3dpdGNoICh0cnVlQ2FsbGVyQ2FsbEtp
bmQpIHsKLSAgICBjYXNlIElubGluZUNhbGxGcmFtZTo6Q2FsbDoKLSAgICAgICAganVtcFRhcmdl
dCA9IExMSU5UX1JFVFVSTl9MT0NBVElPTihvcF9jYWxsKTsKLSAgICAgICAgYnJlYWs7Ci0gICAg
Y2FzZSBJbmxpbmVDYWxsRnJhbWU6OkNvbnN0cnVjdDoKLSAgICAgICAganVtcFRhcmdldCA9IExM
SU5UX1JFVFVSTl9MT0NBVElPTihvcF9jb25zdHJ1Y3QpOwotICAgICAgICBicmVhazsKLSAgICBj
YXNlIElubGluZUNhbGxGcmFtZTo6Q2FsbFZhcmFyZ3M6Ci0gICAgICAgIGp1bXBUYXJnZXQgPSBM
TElOVF9SRVRVUk5fTE9DQVRJT04ob3BfY2FsbF92YXJhcmdzX3Nsb3cpOwotICAgICAgICBicmVh
azsKLSAgICBjYXNlIElubGluZUNhbGxGcmFtZTo6Q29uc3RydWN0VmFyYXJnczoKLSAgICAgICAg
anVtcFRhcmdldCA9IExMSU5UX1JFVFVSTl9MT0NBVElPTihvcF9jb25zdHJ1Y3RfdmFyYXJnc19z
bG93KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBJbmxpbmVDYWxsRnJhbWU6OkdldHRlckNh
bGw6IHsKLSAgICAgICAgaWYgKGNhbGxJbnN0cnVjdGlvbi5vcGNvZGVJRCgpID09IG9wX2dldF9i
eV9pZCkKLSAgICAgICAgICAgIGp1bXBUYXJnZXQgPSBMTElOVF9SRVRVUk5fTE9DQVRJT04ob3Bf
Z2V0X2J5X2lkKTsKLSAgICAgICAgZWxzZSBpZiAoY2FsbEluc3RydWN0aW9uLm9wY29kZUlEKCkg
PT0gb3BfZ2V0X2J5X3ZhbCkKLSAgICAgICAgICAgIGp1bXBUYXJnZXQgPSBMTElOVF9SRVRVUk5f
TE9DQVRJT04ob3BfZ2V0X2J5X3ZhbCk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIFJFTEVB
U0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLSAgICBjYXNl
IElubGluZUNhbGxGcmFtZTo6U2V0dGVyQ2FsbDogewotICAgICAgICBpZiAoY2FsbEluc3RydWN0
aW9uLm9wY29kZUlEKCkgPT0gb3BfcHV0X2J5X2lkKQotICAgICAgICAgICAganVtcFRhcmdldCA9
IExMSU5UX1JFVFVSTl9MT0NBVElPTihvcF9wdXRfYnlfaWQpOwotICAgICAgICBlbHNlIGlmIChj
YWxsSW5zdHJ1Y3Rpb24ub3Bjb2RlSUQoKSA9PSBvcF9wdXRfYnlfdmFsKQotICAgICAgICAgICAg
anVtcFRhcmdldCA9IExMSU5UX1JFVFVSTl9MT0NBVElPTihvcF9wdXRfYnlfdmFsKTsKLSAgICAg
ICAgZWxzZQorICAgICAgICBzd2l0Y2ggKHRydWVDYWxsZXJDYWxsS2luZCkgeworICAgICAgICBj
YXNlIElubGluZUNhbGxGcmFtZTo6Q2FsbDoKKyAgICAgICAgICAgIGp1bXBUYXJnZXQgPSBMTElO
VF9SRVRVUk5fTE9DQVRJT04ob3BfY2FsbCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
Y2FzZSBJbmxpbmVDYWxsRnJhbWU6OkNvbnN0cnVjdDoKKyAgICAgICAgICAgIGp1bXBUYXJnZXQg
PSBMTElOVF9SRVRVUk5fTE9DQVRJT04ob3BfY29uc3RydWN0KTsKKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICBjYXNlIElubGluZUNhbGxGcmFtZTo6Q2FsbFZhcmFyZ3M6CisgICAgICAgICAg
ICBqdW1wVGFyZ2V0ID0gTExJTlRfUkVUVVJOX0xPQ0FUSU9OKG9wX2NhbGxfdmFyYXJnc19zbG93
KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIElubGluZUNhbGxGcmFtZTo6Q29u
c3RydWN0VmFyYXJnczoKKyAgICAgICAgICAgIGp1bXBUYXJnZXQgPSBMTElOVF9SRVRVUk5fTE9D
QVRJT04ob3BfY29uc3RydWN0X3ZhcmFyZ3Nfc2xvdyk7CisgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgY2FzZSBJbmxpbmVDYWxsRnJhbWU6OkdldHRlckNhbGw6IHsKKyAgICAgICAgICAgIGlm
IChjYWxsSW5zdHJ1Y3Rpb24ub3Bjb2RlSUQoKSA9PSBvcF9nZXRfYnlfaWQpCisgICAgICAgICAg
ICAgICAganVtcFRhcmdldCA9IExMSU5UX1JFVFVSTl9MT0NBVElPTihvcF9nZXRfYnlfaWQpOwor
ICAgICAgICAgICAgZWxzZSBpZiAoY2FsbEluc3RydWN0aW9uLm9wY29kZUlEKCkgPT0gb3BfZ2V0
X2J5X3ZhbCkKKyAgICAgICAgICAgICAgICBqdW1wVGFyZ2V0ID0gTExJTlRfUkVUVVJOX0xPQ0FU
SU9OKG9wX2dldF9ieV92YWwpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIFJF
TEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
fQorICAgICAgICBjYXNlIElubGluZUNhbGxGcmFtZTo6U2V0dGVyQ2FsbDogeworICAgICAgICAg
ICAgaWYgKGNhbGxJbnN0cnVjdGlvbi5vcGNvZGVJRCgpID09IG9wX3B1dF9ieV9pZCkKKyAgICAg
ICAgICAgICAgICBqdW1wVGFyZ2V0ID0gTExJTlRfUkVUVVJOX0xPQ0FUSU9OKG9wX3B1dF9ieV9p
ZCk7CisgICAgICAgICAgICBlbHNlIGlmIChjYWxsSW5zdHJ1Y3Rpb24ub3Bjb2RlSUQoKSA9PSBv
cF9wdXRfYnlfdmFsKQorICAgICAgICAgICAgICAgIGp1bXBUYXJnZXQgPSBMTElOVF9SRVRVUk5f
TE9DQVRJT04ob3BfcHV0X2J5X3ZhbCk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAg
ICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICB9CisgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgZGVmYXVsdDoKLSAgICAgICAg
UkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICB9CisgICAgICAgIH0KIAogI3VuZGVm
IExMSU5UX1JFVFVSTl9MT0NBVElPTgogCisgICAgfSBlbHNlIHsKKyAgICAgICAgc3dpdGNoICh0
cnVlQ2FsbGVyQ2FsbEtpbmQpIHsKKyAgICAgICAgY2FzZSBJbmxpbmVDYWxsRnJhbWU6OkNhbGw6
CisgICAgICAgIGNhc2UgSW5saW5lQ2FsbEZyYW1lOjpDb25zdHJ1Y3Q6CisgICAgICAgIGNhc2Ug
SW5saW5lQ2FsbEZyYW1lOjpDYWxsVmFyYXJnczoKKyAgICAgICAgY2FzZSBJbmxpbmVDYWxsRnJh
bWU6OkNvbnN0cnVjdFZhcmFyZ3M6IHsKKyAgICAgICAgICAgIENhbGxMaW5rSW5mbyogY2FsbExp
bmtJbmZvID0KKyAgICAgICAgICAgICAgICBiYXNlbGluZUNvZGVCbG9ja0ZvckNhbGxlci0+Z2V0
Q2FsbExpbmtJbmZvRm9yQnl0ZWNvZGVJbmRleChjYWxsQnl0ZWNvZGVJbmRleCk7CisgICAgICAg
ICAgICBSRUxFQVNFX0FTU0VSVChjYWxsTGlua0luZm8pOworCisgICAgICAgICAgICBqdW1wVGFy
Z2V0ID0gY2FsbExpbmtJbmZvLT5jYWxsUmV0dXJuTG9jYXRpb24oKS5yZXRhZ2dlZDxKU0VudHJ5
UHRyVGFnPigpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBjYXNl
IElubGluZUNhbGxGcmFtZTo6R2V0dGVyQ2FsbDoKKyAgICAgICAgY2FzZSBJbmxpbmVDYWxsRnJh
bWU6OlNldHRlckNhbGw6IHsKKyAgICAgICAgICAgIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5m
byA9CisgICAgICAgICAgICAgICAgYmFzZWxpbmVDb2RlQmxvY2tGb3JDYWxsZXItPmZpbmRTdHVi
SW5mbyhDb2RlT3JpZ2luKGNhbGxCeXRlY29kZUluZGV4KSk7CisgICAgICAgICAgICBSRUxFQVNF
X0FTU0VSVChzdHViSW5mbyk7CisKKyAgICAgICAgICAgIGp1bXBUYXJnZXQgPSBzdHViSW5mby0+
ZG9uZUxvY2F0aW9uLnJldGFnZ2VkPEpTRW50cnlQdHJUYWc+KCk7CisgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgfQorCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBSRUxFQVNFX0FT
U0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICB9CisgICAgfQorCiAgICAgcmV0dXJuIGp1bXBU
YXJnZXQ7CiB9CiAKQEAgLTIyMiw2ICsyNTQsOCBAQCB2b2lkIHJlaWZ5SW5saW5lZENhbGxGcmFt
ZXMoQ0NhbGxIZWxwZXJzJiBqaXQsIGNvbnN0IE9TUkV4aXRCYXNlJiBleGl0KQogICAgICAgICBD
b2RlT3JpZ2luKiB0cnVlQ2FsbGVyID0gaW5saW5lQ2FsbEZyYW1lLT5nZXRDYWxsZXJTa2lwcGlu
Z1RhaWxDYWxscygmdHJ1ZUNhbGxlckNhbGxLaW5kKTsKICAgICAgICAgR1BSUmVnIGNhbGxlckZy
YW1lR1BSID0gR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXI7CiAKKyAgICAgICAgYm9vbCBjYWxs
ZXJJc0xMSW50ID0gZmFsc2U7CisKICAgICAgICAgaWYgKCF0cnVlQ2FsbGVyKSB7CiAgICAgICAg
ICAgICBBU1NFUlQoaW5saW5lQ2FsbEZyYW1lLT5pc1RhaWwoKSk7CiAgICAgICAgICAgICBqaXQu
bG9hZFB0cihBc3NlbWJseUhlbHBlcnM6OkFkZHJlc3MoR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0
ZXIsIENhbGxGcmFtZTo6cmV0dXJuUENPZmZzZXQoKSksIEdQUkluZm86OnJlZ1QzKTsKQEAgLTIz
Nyw3ICsyNzEsNyBAQCB2b2lkIHJlaWZ5SW5saW5lZENhbGxGcmFtZXMoQ0NhbGxIZWxwZXJzJiBq
aXQsIGNvbnN0IE9TUkV4aXRCYXNlJiBleGl0KQogICAgICAgICB9IGVsc2UgewogICAgICAgICAg
ICAgQ29kZUJsb2NrKiBiYXNlbGluZUNvZGVCbG9ja0ZvckNhbGxlciA9IGppdC5iYXNlbGluZUNv
ZGVCbG9ja0ZvcigqdHJ1ZUNhbGxlcik7CiAgICAgICAgICAgICBhdXRvIGNhbGxCeXRlY29kZUlu
ZGV4ID0gdHJ1ZUNhbGxlci0+Ynl0ZWNvZGVJbmRleCgpOwotICAgICAgICAgICAgTWFjcm9Bc3Nl
bWJsZXJDb2RlUHRyPEpTRW50cnlQdHJUYWc+IGp1bXBUYXJnZXQgPSBjYWxsZXJSZXR1cm5QQyhi
YXNlbGluZUNvZGVCbG9ja0ZvckNhbGxlciwgY2FsbEJ5dGVjb2RlSW5kZXgsIHRydWVDYWxsZXJD
YWxsS2luZCk7CisgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlckNvZGVQdHI8SlNFbnRyeVB0clRh
Zz4ganVtcFRhcmdldCA9IGNhbGxlclJldHVyblBDKGJhc2VsaW5lQ29kZUJsb2NrRm9yQ2FsbGVy
LCBjYWxsQnl0ZWNvZGVJbmRleCwgdHJ1ZUNhbGxlckNhbGxLaW5kLCBjYWxsZXJJc0xMSW50KTsK
IAogICAgICAgICAgICAgaWYgKHRydWVDYWxsZXItPmlubGluZUNhbGxGcmFtZSgpKSB7CiAgICAg
ICAgICAgICAgICAgaml0LmFkZFB0cigKQEAgLTI2OCw4ICszMDIsNyBAQCB2b2lkIHJlaWZ5SW5s
aW5lZENhbGxGcmFtZXMoQ0NhbGxIZWxwZXJzJiBqaXQsIGNvbnN0IE9TUkV4aXRCYXNlJiBleGl0
KQogICAgICAgICAgICAgdHJ1ZUNhbGxlciA/IEFzc2VtYmx5SGVscGVyczo6VXNlRXhpc3RpbmdU
YWdSZWdpc3RlckNvbnRlbnRzIDogQXNzZW1ibHlIZWxwZXJzOjpDb3B5QmFzZWxpbmVDYWxsZWVT
YXZlZFJlZ2lzdGVyc0Zyb21CYXNlRnJhbWUsCiAgICAgICAgICAgICBHUFJJbmZvOjpyZWdUMik7
CiAKLSAgICAgICAgaWYgKHRydWVDYWxsZXIpIHsKLSAgICAgICAgICAgIC8vIFNldCB1cCBMTElu
dCByZWdpc3RlcnMgZm9yIG91ciBjYWxsZXIgaW4gb3VyIGNhbGxlZSBzYXZlcy4KKyAgICAgICAg
aWYgKGNhbGxlcklzTExJbnQpIHsKICAgICAgICAgICAgIENvZGVCbG9jayogYmFzZWxpbmVDb2Rl
QmxvY2tGb3JDYWxsZXIgPSBqaXQuYmFzZWxpbmVDb2RlQmxvY2tGb3IoKnRydWVDYWxsZXIpOwog
ICAgICAgICAgICAgaml0LnN0b3JlUHRyKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihiYXNl
bGluZUNvZGVCbG9ja0ZvckNhbGxlci0+bWV0YWRhdGFUYWJsZSgpKSwgY2FsbGVlU2F2ZVNsb3Qo
aW5saW5lQ2FsbEZyYW1lLCBiYXNlbGluZUNvZGVCbG9jaywgTExJbnQ6OlJlZ2lzdGVyczo6bWV0
YWRhdGFUYWJsZUdQUikpOwogI2lmIFVTRShKU1ZBTFVFNjQpCkBAIC0zNTUsMjYgKzM4OCw0NCBA
QCB2b2lkIGFkanVzdEFuZEp1bXBUb1RhcmdldChWTSYgdm0sIENDYWxsSGVscGVycyYgaml0LCBj
b25zdCBPU1JFeGl0QmFzZSYgZXhpdCkKICAgICBBU1NFUlQoY29kZUJsb2NrRm9yRXhpdCA9PSBj
b2RlQmxvY2tGb3JFeGl0LT5iYXNlbGluZVZlcnNpb24oKSk7CiAgICAgQVNTRVJUKEpJVENvZGU6
OmlzQmFzZWxpbmVDb2RlKGNvZGVCbG9ja0ZvckV4aXQtPmppdFR5cGUoKSkpOwogCi0gICAgYXV0
byBieXRlY29kZUluZGV4ID0gZXhpdC5tX2NvZGVPcmlnaW4uYnl0ZWNvZGVJbmRleCgpOwotICAg
IGNvbnN0IEluc3RydWN0aW9uJiBjdXJyZW50SW5zdHJ1Y3Rpb24gPSAqY29kZUJsb2NrRm9yRXhp
dC0+aW5zdHJ1Y3Rpb25zKCkuYXQoYnl0ZWNvZGVJbmRleCkucHRyKCk7Ci0gICAgTWFjcm9Bc3Nl
bWJsZXJDb2RlUHRyPEpTRW50cnlQdHJUYWc+IGRlc3RpbmF0aW9uOwotICAgIGlmIChieXRlY29k
ZUluZGV4LmNoZWNrcG9pbnQoKSkKLSAgICAgICAgZGVzdGluYXRpb24gPSBMTEludDo6Z2V0Q29k
ZVB0cjxKU0VudHJ5UHRyVGFnPihjaGVja3BvaW50X29zcl9leGl0X3RyYW1wb2xpbmUpOwotICAg
IGVsc2UgCi0gICAgICAgIGRlc3RpbmF0aW9uID0gTExJbnQ6OmdldENvZGVQdHI8SlNFbnRyeVB0
clRhZz4oY3VycmVudEluc3RydWN0aW9uKTsKLQotICAgIGlmIChleGl0LmlzRXhjZXB0aW9uSGFu
ZGxlcigpKSB7Ci0gICAgICAgIGppdC5tb3ZlKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cigm
Y3VycmVudEluc3RydWN0aW9uKSwgR1BSSW5mbzo6cmVnVDIpOwotICAgICAgICBqaXQuc3RvcmVQ
dHIoR1BSSW5mbzo6cmVnVDIsICZ2bS50YXJnZXRJbnRlcnByZXRlclBDRm9yVGhyb3cpOwotICAg
IH0KKyAgICB2b2lkKiBqdW1wVGFyZ2V0OworICAgIGJvb2wgZXhpdFRvTExJbnQgPSBPcHRpb25z
Ojpmb3JjZU9TUkV4aXRUb0xMSW50KCkgfHwgY29kZUJsb2NrRm9yRXhpdC0+aml0VHlwZSgpID09
IEpJVFR5cGU6OkludGVycHJldGVyVGh1bms7CisgICAgaWYgKGV4aXRUb0xMSW50KSB7CisgICAg
ICAgIGF1dG8gYnl0ZWNvZGVJbmRleCA9IGV4aXQubV9jb2RlT3JpZ2luLmJ5dGVjb2RlSW5kZXgo
KTsKKyAgICAgICAgY29uc3QgSW5zdHJ1Y3Rpb24mIGN1cnJlbnRJbnN0cnVjdGlvbiA9ICpjb2Rl
QmxvY2tGb3JFeGl0LT5pbnN0cnVjdGlvbnMoKS5hdChieXRlY29kZUluZGV4KS5wdHIoKTsKKyAg
ICAgICAgTWFjcm9Bc3NlbWJsZXJDb2RlUHRyPEpTRW50cnlQdHJUYWc+IGRlc3RpbmF0aW9uOwor
ICAgICAgICBpZiAoYnl0ZWNvZGVJbmRleC5jaGVja3BvaW50KCkpCisgICAgICAgICAgICBkZXN0
aW5hdGlvbiA9IExMSW50OjpnZXRDb2RlUHRyPEpTRW50cnlQdHJUYWc+KGNoZWNrcG9pbnRfb3Ny
X2V4aXRfdHJhbXBvbGluZSk7CisgICAgICAgIGVsc2UgCisgICAgICAgICAgICBkZXN0aW5hdGlv
biA9IExMSW50OjpnZXRDb2RlUHRyPEpTRW50cnlQdHJUYWc+KGN1cnJlbnRJbnN0cnVjdGlvbik7
CisKKyAgICAgICAgaWYgKGV4aXQuaXNFeGNlcHRpb25IYW5kbGVyKCkpIHsKKyAgICAgICAgICAg
IGppdC5tb3ZlKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cigmY3VycmVudEluc3RydWN0aW9u
KSwgR1BSSW5mbzo6cmVnVDIpOworICAgICAgICAgICAgaml0LnN0b3JlUHRyKEdQUkluZm86OnJl
Z1QyLCAmdm0udGFyZ2V0SW50ZXJwcmV0ZXJQQ0ZvclRocm93KTsKKyAgICAgICAgfQogCi0gICAg
aml0Lm1vdmUoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGNvZGVCbG9ja0ZvckV4aXQtPm1l
dGFkYXRhVGFibGUoKSksIExMSW50OjpSZWdpc3RlcnM6Om1ldGFkYXRhVGFibGVHUFIpOworICAg
ICAgICBqaXQubW92ZShDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoY29kZUJsb2NrRm9yRXhp
dC0+bWV0YWRhdGFUYWJsZSgpKSwgTExJbnQ6OlJlZ2lzdGVyczo6bWV0YWRhdGFUYWJsZUdQUik7
CiAjaWYgVVNFKEpTVkFMVUU2NCkKLSAgICBqaXQubW92ZShDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJ
bW1QdHIoY29kZUJsb2NrRm9yRXhpdC0+aW5zdHJ1Y3Rpb25zUmF3UG9pbnRlcigpKSwgTExJbnQ6
OlJlZ2lzdGVyczo6cGJHUFIpOwotICAgIGppdC5tb3ZlKENDYWxsSGVscGVyczo6VHJ1c3RlZElt
bTMyKGJ5dGVjb2RlSW5kZXgub2Zmc2V0KCkpLCBMTEludDo6UmVnaXN0ZXJzOjpwY0dQUik7Cisg
ICAgICAgIGppdC5tb3ZlKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihjb2RlQmxvY2tGb3JF
eGl0LT5pbnN0cnVjdGlvbnNSYXdQb2ludGVyKCkpLCBMTEludDo6UmVnaXN0ZXJzOjpwYkdQUik7
CisgICAgICAgIGppdC5tb3ZlKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKGJ5dGVjb2RlSW5k
ZXgub2Zmc2V0KCkpLCBMTEludDo6UmVnaXN0ZXJzOjpwY0dQUik7CiAjZWxzZQotICAgIGppdC5t
b3ZlKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cigmY3VycmVudEluc3RydWN0aW9uKSwgTExJ
bnQ6OlJlZ2lzdGVyczo6cGNHUFIpOworICAgICAgICBqaXQubW92ZShDQ2FsbEhlbHBlcnM6OlRy
dXN0ZWRJbW1QdHIoJmN1cnJlbnRJbnN0cnVjdGlvbiksIExMSW50OjpSZWdpc3RlcnM6OnBjR1BS
KTsKICNlbmRpZgorICAgICAgICBqdW1wVGFyZ2V0ID0gZGVzdGluYXRpb24ucmV0YWdnZWQ8T1NS
RXhpdFB0clRhZz4oKS5leGVjdXRhYmxlQWRkcmVzcygpOworICAgIH0gZWxzZSB7CisgICAgICAg
IEJ5dGVjb2RlSW5kZXggZXhpdEluZGV4ID0gZXhpdC5tX2NvZGVPcmlnaW4uYnl0ZWNvZGVJbmRl
eCgpOworICAgICAgICBNYWNyb0Fzc2VtYmxlckNvZGVQdHI8SlNFbnRyeVB0clRhZz4gZGVzdGlu
YXRpb247CisgICAgICAgIGlmIChleGl0SW5kZXguY2hlY2twb2ludCgpKQorICAgICAgICAgICAg
ZGVzdGluYXRpb24gPSBMTEludDo6Z2V0Q29kZVB0cjxKU0VudHJ5UHRyVGFnPihjaGVja3BvaW50
X29zcl9leGl0X3RyYW1wb2xpbmUpOworICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIEFTU0VS
VChjb2RlQmxvY2tGb3JFeGl0LT5ieXRlY29kZUluZGV4Rm9yRXhpdChleGl0SW5kZXgpID09IGV4
aXRJbmRleCk7CisgICAgICAgICAgICBkZXN0aW5hdGlvbiA9IGNvZGVCbG9ja0ZvckV4aXQtPmpp
dENvZGVNYXAoKS5maW5kKGV4aXRJbmRleCk7CisgICAgICAgIH0KKworICAgICAgICBBU1NFUlQo
ZGVzdGluYXRpb24pOworCisgICAgICAgIGp1bXBUYXJnZXQgPSBkZXN0aW5hdGlvbi5yZXRhZ2dl
ZDxPU1JFeGl0UHRyVGFnPigpLmV4ZWN1dGFibGVBZGRyZXNzKCk7CisgICAgfQogCiAgICAgaml0
LmFkZFB0cihBc3NlbWJseUhlbHBlcnM6OlRydXN0ZWRJbW0zMihKSVQ6OnN0YWNrUG9pbnRlck9m
ZnNldEZvcihjb2RlQmxvY2tGb3JFeGl0KSAqIHNpemVvZihSZWdpc3RlcikpLCBHUFJJbmZvOjpj
YWxsRnJhbWVSZWdpc3RlciwgQXNzZW1ibHlIZWxwZXJzOjpzdGFja1BvaW50ZXJSZWdpc3Rlcik7
CiAgICAgaWYgKGV4aXQuaXNFeGNlcHRpb25IYW5kbGVyKCkpIHsKQEAgLTM4Miw3ICs0MzMsNyBA
QCB2b2lkIGFkanVzdEFuZEp1bXBUb1RhcmdldChWTSYgdm0sIENDYWxsSGVscGVycyYgaml0LCBj
b25zdCBPU1JFeGl0QmFzZSYgZXhpdCkKICAgICAgICAgaml0LnN0b3JlUHRyKEdQUkluZm86OmNh
bGxGcmFtZVJlZ2lzdGVyLCB2bS5hZGRyZXNzT2ZDYWxsRnJhbWVGb3JDYXRjaCgpKTsKICAgICB9
CiAgICAgCi0gICAgaml0Lm1vdmUoQXNzZW1ibHlIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGRlc3Rp
bmF0aW9uLnJldGFnZ2VkPE9TUkV4aXRQdHJUYWc+KCkuZXhlY3V0YWJsZUFkZHJlc3MoKSksIEdQ
UkluZm86OnJlZ1QyKTsKKyAgICBqaXQubW92ZShBc3NlbWJseUhlbHBlcnM6OlRydXN0ZWRJbW1Q
dHIoanVtcFRhcmdldCksIEdQUkluZm86OnJlZ1QyKTsKICAgICBqaXQuZmFySnVtcChHUFJJbmZv
OjpyZWdUMiwgT1NSRXhpdFB0clRhZyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHT1NSRXhpdENvbXBpbGVyQ29tbW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxlckNvbW1vbi5oCmluZGV4IGRiYTBmZTMyMmJmODgx
Yzk1YzIyZGI4NTA2MTYyNDIwNGE2YWFjOTQuLjM5MTE0ZWE2NzcwMDJhOTgyZjJlYjgxZTdkMjhm
ODZmMjI4ZjZkMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NS
RXhpdENvbXBpbGVyQ29tbW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdP
U1JFeGl0Q29tcGlsZXJDb21tb24uaApAQCAtMzksNiArMzksNyBAQCBuYW1lc3BhY2UgSlNDIHsg
bmFtZXNwYWNlIERGRyB7CiB2b2lkIGhhbmRsZUV4aXRDb3VudHMoVk0mLCBDQ2FsbEhlbHBlcnMm
LCBjb25zdCBPU1JFeGl0QmFzZSYpOwogdm9pZCByZWlmeUlubGluZWRDYWxsRnJhbWVzKENDYWxs
SGVscGVycyYsIGNvbnN0IE9TUkV4aXRCYXNlJik7CiB2b2lkIGFkanVzdEFuZEp1bXBUb1Rhcmdl
dChWTSYsIENDYWxsSGVscGVycyYsIGNvbnN0IE9TUkV4aXRCYXNlJik7CitNYWNyb0Fzc2VtYmxl
ckNvZGVQdHI8SlNFbnRyeVB0clRhZz4gY2FsbGVyUmV0dXJuUEMoQ29kZUJsb2NrKiBiYXNlbGlu
ZUNvZGVCbG9ja0ZvckNhbGxlciwgQnl0ZWNvZGVJbmRleCBjYWxsQnl0ZWNvZGVJbmRleCwgSW5s
aW5lQ2FsbEZyYW1lOjpLaW5kIGNhbGxlcktpbmQsIGJvb2wmIGNhbGxlcklzTExJbnQpOwogQ0Nh
bGxIZWxwZXJzOjpBZGRyZXNzIGNhbGxlZVNhdmVTbG90KElubGluZUNhbGxGcmFtZSosIENvZGVC
bG9jayogYmFzZWxpbmVDb2RlQmxvY2ssIEdQUlJlZyBjYWxsZWVTYXZlKTsKIAogdGVtcGxhdGUg
PHR5cGVuYW1lIEpJVENvZGVUeXBlPgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2hlYXAvQ29kZUJsb2NrU2V0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0NvZGVC
bG9ja1NldC5jcHAKaW5kZXggOTFlYWNlZGIwOWY3ZGU0N2VkMzFlYzMxOTc2M2JjNjM3MTU1MjU3
Yy4uNDlmY2Q4NGY0YWQ5N2FhZTBhYWYzZjE5M2M4NmVhMDYxM2Y2ZDhiNyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvQ29kZUJsb2NrU2V0LmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaGVhcC9Db2RlQmxvY2tTZXQuY3BwCkBAIC01NSwxMSArNTUsNiBAQCB2
b2lkIENvZGVCbG9ja1NldDo6Y2xlYXJDdXJyZW50bHlFeGVjdXRpbmcoKQogICAgIG1fY3VycmVu
dGx5RXhlY3V0aW5nLmNsZWFyKCk7CiB9CiAKLWJvb2wgQ29kZUJsb2NrU2V0Ojppc0N1cnJlbnRs
eUV4ZWN1dGluZyhDb2RlQmxvY2sqIGNvZGVCbG9jaykKLXsKLSAgICByZXR1cm4gbV9jdXJyZW50
bHlFeGVjdXRpbmcuY29udGFpbnMoY29kZUJsb2NrKTsKLX0KLQogdm9pZCBDb2RlQmxvY2tTZXQ6
OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKIHsKICAgICBDb21tYVByaW50ZXIgY29tbWE7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9Db2RlQmxvY2tTZXQuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0NvZGVCbG9ja1NldC5oCmluZGV4IGIwZGNiNmNj
NzdjOWY5OWQzMDJjNzk5ZDk4ZTM5ZTk1M2U2YWY0MTkuLmM0YzU4Mjc0ZmNkMGViNzUyYmI2MTRm
NjBmNjgwOTMxZWRjNzljYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFw
L0NvZGVCbG9ja1NldC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0NvZGVCbG9j
a1NldC5oCkBAIC01NiwxMCArNTYsNiBAQCBwdWJsaWM6CiAgICAgYm9vbCBjb250YWlucyhjb25z
dCBBYnN0cmFjdExvY2tlciYsIHZvaWQqIGNhbmRpZGF0ZUNvZGVCbG9jayk7CiAgICAgTG9jayYg
Z2V0TG9jaygpIHsgcmV0dXJuIG1fbG9jazsgfQogCi0gICAgLy8gVGhpcyBpcyBleHBlY3RlZCB0
byBydW4gb25seSB3aGVuIHdlJ3JlIG5vdCBhZGRpbmcgdG8gdGhlIHNldCBmb3Igbm93LiBJZgot
ICAgIC8vIHRoaXMgbmVlZHMgdG8gcnVuIGNvbmN1cnJlbnRseSBpbiB0aGUgZnV0dXJlLCB3ZSds
bCBuZWVkIHRvIGxvY2sgYXJvdW5kIHRoaXMuCi0gICAgYm9vbCBpc0N1cnJlbnRseUV4ZWN1dGlu
ZyhDb2RlQmxvY2sqKTsKLQogICAgIC8vIFZpc2l0cyBlYWNoIENvZGVCbG9jayBpbiB0aGUgaGVh
cCB1bnRpbCB0aGUgdmlzaXRvciBmdW5jdGlvbiByZXR1cm5zIHRydWUKICAgICAvLyB0byBpbmRp
Y2F0ZSB0aGF0IGl0IGlzIGRvbmUgaXRlcmF0aW5nLCBvciB1bnRpbCBldmVyeSBDb2RlQmxvY2sg
aGFzIGJlZW4KICAgICAvLyB2aXNpdGVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2hlYXAvSGVhcC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcApp
bmRleCBlYjJiYTQxODAyZmJmNzI1NmVmYjQ5MDFhODFlZjg0YWVjZDMzYzBjLi40Mzk2MzA1MDdk
NjQzMDcwY2E3NGFhMDU5MTdiMzEzYzczOGQ5M2ZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaGVhcC9IZWFwLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9I
ZWFwLmNwcApAQCAtNjEzLDExICs2MTMsMTEgQEAgdm9pZCBIZWFwOjpmaW5hbGl6ZVVuY29uZGl0
aW9uYWxGaW5hbGl6ZXJzKCkKICAgICB2bSgpLmJ1aWx0aW5FeGVjdXRhYmxlcygpLT5maW5hbGl6
ZVVuY29uZGl0aW9uYWxseSgpOwogICAgIGZpbmFsaXplTWFya2VkVW5jb25kaXRpb25hbEZpbmFs
aXplcnM8RnVuY3Rpb25FeGVjdXRhYmxlPih2bSgpLmZ1bmN0aW9uRXhlY3V0YWJsZVNwYWNlLnNw
YWNlKTsKICAgICBmaW5hbGl6ZU1hcmtlZFVuY29uZGl0aW9uYWxGaW5hbGl6ZXJzPFN5bWJvbFRh
YmxlPih2bSgpLnN5bWJvbFRhYmxlU3BhY2UpOwotICAgIGZpbmFsaXplTWFya2VkVW5jb25kaXRp
b25hbEZpbmFsaXplcnM8RXhlY3V0YWJsZVRvQ29kZUJsb2NrRWRnZT4odm0oKS5leGVjdXRhYmxl
VG9Db2RlQmxvY2tFZGdlc1dpdGhGaW5hbGl6ZXJzKTsgLy8gV2UgcnVuIHRoaXMgYmVmb3JlIENv
ZGVCbG9jaydzIHVuY29uZGl0aW9uYWwgZmluYWxpemVyIHNpbmNlIENvZGVCbG9jayBsb29rcyBh
dCB0aGUgb3duZXIgZXhlY3V0YWJsZSdzIGluc3RhbGxlZCBDb2RlQmxvY2sgaW4gaXRzIGZpbmFs
aXplVW5jb25kaXRpb25hbGx5LgogICAgIHZtKCkuZm9yRWFjaENvZGVCbG9ja1NwYWNlKAogICAg
ICAgICBbJl0gKGF1dG8mIHNwYWNlKSB7CiAgICAgICAgICAgICB0aGlzLT5maW5hbGl6ZU1hcmtl
ZFVuY29uZGl0aW9uYWxGaW5hbGl6ZXJzPENvZGVCbG9jaz4oc3BhY2Uuc2V0KTsKICAgICAgICAg
fSk7CisgICAgZmluYWxpemVNYXJrZWRVbmNvbmRpdGlvbmFsRmluYWxpemVyczxFeGVjdXRhYmxl
VG9Db2RlQmxvY2tFZGdlPih2bSgpLmV4ZWN1dGFibGVUb0NvZGVCbG9ja0VkZ2VzV2l0aEZpbmFs
aXplcnMpOwogICAgIGZpbmFsaXplTWFya2VkVW5jb25kaXRpb25hbEZpbmFsaXplcnM8U3RydWN0
dXJlUmFyZURhdGE+KHZtKCkuc3RydWN0dXJlUmFyZURhdGFTcGFjZSk7CiAgICAgZmluYWxpemVN
YXJrZWRVbmNvbmRpdGlvbmFsRmluYWxpemVyczxVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZT4o
dm0oKS51bmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZVNwYWNlLnNldCk7CiAgICAgaWYgKHZtKCku
bV93ZWFrU2V0U3BhY2UpCkBAIC0xNTIyLDcgKzE1MjIsNyBAQCBORVZFUl9JTkxJTkUgYm9vbCBI
ZWFwOjpydW5FbmRQaGFzZShHQ0NvbmR1Y3RvciBjb25uKQogICAgIHBydW5lU3RhbGVFbnRyaWVz
RnJvbVdlYWtHQ01hcHMoKTsKICAgICBzd2VlcEFycmF5QnVmZmVycygpOwogICAgIHNuYXBzaG90
VW5zd2VwdCgpOwotICAgIGZpbmFsaXplVW5jb25kaXRpb25hbEZpbmFsaXplcnMoKTsgLy8gV2Ug
cmVseSBvbiB0aGVzZSB1bmNvbmRpdGlvbmFsIGZpbmFsaXplcnMgcnVubmluZyBiZWZvcmUgY2xl
YXJDdXJyZW50bHlFeGVjdXRpbmcgc2luY2UgQ29kZUJsb2NrJ3MgZmluYWxpemVyIHJlbGllcyBv
biBxdWVyeWluZyBjdXJyZW50bHkgZXhlY3V0aW5nLgorICAgIGZpbmFsaXplVW5jb25kaXRpb25h
bEZpbmFsaXplcnMoKTsKICAgICByZW1vdmVEZWFkQ29tcGlsZXJXb3JrbGlzdEVudHJpZXMoKTsK
ICAgICBub3RpZnlJbmNyZW1lbnRhbFN3ZWVwZXIoKTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCmluZGV4IDIzYzFkNmNiNmMzNGRiNDQ0
ZjkxNTVmNjQwMmU1ZjQ3Mzk4MWExMzMuLmYwYWU3MjU4MDA3MWQyYmY4YTAxMzJjYzYzMDE3ZmQy
OWRmZGRmYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNs
b3dQYXRocy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1Bh
dGhzLmNwcApAQCAtMTk5Myw5ICsxOTkzLDE5IEBAIHN0YXRpYyB2b2lkIGhhbmRsZVZhcmFyZ3ND
aGVja3BvaW50KFZNJiB2bSwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEpTR2xvYmFsT2JqZWN0CiBp
bmxpbmUgU2xvd1BhdGhSZXR1cm5UeXBlIGRpc3BhdGNoVG9OZXh0SW5zdHJ1Y3Rpb24oQ29kZUJs
b2NrKiBjb2RlQmxvY2ssIEluc3RydWN0aW9uU3RyZWFtOjpSZWYgcGMpCiB7CiAgICAgUkVMRUFT
RV9BU1NFUlQoIWNvZGVCbG9jay0+dm0oKS5leGNlcHRpb25Gb3JJbnNwZWN0aW9uKCkpOwotICAg
IGNvbnN0IEluc3RydWN0aW9uKiBuZXh0UEMgPSBwYy5uZXh0KCkucHRyKCk7Ci0gICAgYXV0byBu
ZXh0Qnl0ZWNvZGUgPSBMTEludDo6Z2V0Q29kZVB0cjxKU0VudHJ5UHRyVGFnPigqcGMubmV4dCgp
LnB0cigpKTsKLSAgICByZXR1cm4gZW5jb2RlUmVzdWx0KG5leHRQQywgbmV4dEJ5dGVjb2RlLmV4
ZWN1dGFibGVBZGRyZXNzKCkpOworICAgIGlmIChPcHRpb25zOjpmb3JjZU9TUkV4aXRUb0xMSW50
KCkgfHwgY29kZUJsb2NrLT5qaXRUeXBlKCkgPT0gSklUVHlwZTo6SW50ZXJwcmV0ZXJUaHVuaykg
eworICAgICAgICBjb25zdCBJbnN0cnVjdGlvbiogbmV4dFBDID0gcGMubmV4dCgpLnB0cigpOwor
ICAgICAgICBhdXRvIG5leHRCeXRlY29kZSA9IExMSW50OjpnZXRDb2RlUHRyPEpTRW50cnlQdHJU
YWc+KCpwYy5uZXh0KCkucHRyKCkpOworICAgICAgICByZXR1cm4gZW5jb2RlUmVzdWx0KG5leHRQ
QywgbmV4dEJ5dGVjb2RlLmV4ZWN1dGFibGVBZGRyZXNzKCkpOworICAgIH0KKworI2lmIEVOQUJM
RShKSVQpCisgICAgQVNTRVJUKGNvZGVCbG9jay0+aml0VHlwZSgpID09IEpJVFR5cGU6OkJhc2Vs
aW5lSklUKTsKKyAgICBCeXRlY29kZUluZGV4IG5leHRCeXRlY29kZUluZGV4ID0gcGMubmV4dCgp
LmluZGV4KCk7CisgICAgYXV0byBuZXh0Qnl0ZWNvZGUgPSBjb2RlQmxvY2stPmppdENvZGVNYXAo
KS5maW5kKG5leHRCeXRlY29kZUluZGV4KTsKKyAgICByZXR1cm4gZW5jb2RlUmVzdWx0KG51bGxw
dHIsIG5leHRCeXRlY29kZS5leGVjdXRhYmxlQWRkcmVzcygpKTsKKyNlbmRpZgorICAgIFJFTEVB
U0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKIGV4dGVybiAiQyIgU2xvd1BhdGhSZXR1cm5U
eXBlIHNsb3dfcGF0aF9jaGVja3BvaW50X29zcl9leGl0X2Zyb21faW5saW5lZF9jYWxsKENhbGxG
cmFtZSogY2FsbEZyYW1lLCBFbmNvZGVkSlNWYWx1ZSByZXN1bHQpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL09wdGlvbnMuY3BwCmluZGV4IGQ4OTBlODY5MDMyN2ZkYWI2YjliMzQyOWZj
Y2QzNmQyOGUxZDVjOTQuLjc0Y2NkZWIyNzk0Y2U1ZjRiYWE3NzE0MTAyMzg4MTVmODc2MzMwMGUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuY3BwCkBAIC0zODcsNyAr
Mzg3LDcgQEAgc3RhdGljIHZvaWQgcmVjb21wdXRlRGVwZW5kZW50T3B0aW9ucygpCiAgICAgT3B0
aW9uczo6dmFsaWRhdGVERkdFeGNlcHRpb25IYW5kbGluZygpID0gdHJ1ZTsKICNlbmRpZgogI2lm
ICFFTkFCTEUoSklUKQotICAgIE9wdGlvbnM6OmZvcmNlQmFzZWxpbmUoKSA9IGZhbHNlOworICAg
IE9wdGlvbnM6OnVzZUxMSW50KCkgPSB0cnVlOwogICAgIE9wdGlvbnM6OnVzZUpJVCgpID0gZmFs
c2U7CiAgICAgT3B0aW9uczo6dXNlQmFzZWxpbmVKSVQoKSA9IGZhbHNlOwogICAgIE9wdGlvbnM6
OnVzZURGR0pJVCgpID0gZmFsc2U7CkBAIC00MTksNyArNDE5LDcgQEAgc3RhdGljIHZvaWQgcmVj
b21wdXRlRGVwZW5kZW50T3B0aW9ucygpCiAgICAgfQogCiAgICAgaWYgKCFqaXRFbmFibGVkQnlE
ZWZhdWx0KCkgJiYgIU9wdGlvbnM6OnVzZUpJVCgpKQotICAgICAgICBPcHRpb25zOjpmb3JjZUJh
c2VsaW5lKCkgPSBmYWxzZTsKKyAgICAgICAgT3B0aW9uczo6dXNlTExJbnQoKSA9IHRydWU7CiAK
ICAgICBpZiAoIU9wdGlvbnM6OnVzZVdlYkFzc2VtYmx5KCkpCiAgICAgICAgIE9wdGlvbnM6OnVz
ZUZhc3RUTFNGb3JXYXNtQ29udGV4dCgpID0gZmFsc2U7CkBAIC01NDYsNiArNTQ2LDggQEAgdm9p
ZCBPcHRpb25zOjppbml0aWFsaXplKCkKICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKE9wdGlv
bnM6OmFkZHJlc3NPZk9wdGlvbkRlZmF1bHQodXNlS2VyblRDU01JRCkgPT0gICZPcHRpb25zOjp1
c2VLZXJuVENTTURlZmF1bHQoKSk7CiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChPcHRpb25z
OjphZGRyZXNzT2ZPcHRpb24oZ2NNYXhIZWFwU2l6ZUlEKSA9PSAgJk9wdGlvbnM6OmdjTWF4SGVh
cFNpemUoKSk7CiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChPcHRpb25zOjphZGRyZXNzT2ZP
cHRpb25EZWZhdWx0KGdjTWF4SGVhcFNpemVJRCkgPT0gICZPcHRpb25zOjpnY01heEhlYXBTaXpl
RGVmYXVsdCgpKTsKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKE9wdGlvbnM6OmFkZHJlc3NP
Zk9wdGlvbihmb3JjZU9TUkV4aXRUb0xMSW50SUQpID09ICAmT3B0aW9uczo6Zm9yY2VPU1JFeGl0
VG9MTEludCgpKTsKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKE9wdGlvbnM6OmFkZHJlc3NP
Zk9wdGlvbkRlZmF1bHQoZm9yY2VPU1JFeGl0VG9MTEludElEKSA9PSAgJk9wdGlvbnM6OmZvcmNl
T1NSRXhpdFRvTExJbnREZWZhdWx0KCkpOwogCiAjaWZuZGVmIE5ERUJVRwogICAgICAgICAgICAg
Q29uZmlnOjplbmFibGVSZXN0cmljdGVkT3B0aW9ucygpOwpAQCAtOTQzLDkgKzk0NSw5IEBAIHZv
aWQgT3B0aW9uczo6ZHVtcE9wdGlvbihTdHJpbmdCdWlsZGVyJiBidWlsZGVyLCBEdW1wTGV2ZWwg
bGV2ZWwsIE9wdGlvbnM6OklEIGlkCiB2b2lkIE9wdGlvbnM6OmVuc3VyZU9wdGlvbnNBcmVDb2hl
cmVudCgpCiB7CiAgICAgYm9vbCBjb2hlcmVudCA9IHRydWU7Ci0gICAgaWYgKGZvcmNlQmFzZWxp
bmUoKSAmJiAhdXNlSklUKCkpIHsKKyAgICBpZiAoISh1c2VMTEludCgpIHx8IHVzZUpJVCgpKSkg
ewogICAgICAgICBjb2hlcmVudCA9IGZhbHNlOwotICAgICAgICBkYXRhTG9nKCJJTkNPSEVSRU5U
IE9QVElPTlM6IGZvcmNlQmFzZWxpbmUgY2FuJ3QgYmUgdHJ1ZSBpZiB1c2VKSVQgaXMgZmFsc2Vc
biIpOworICAgICAgICBkYXRhTG9nKCJJTkNPSEVSRU5UIE9QVElPTlM6IGF0IGxlYXN0IG9uZSBv
ZiB1c2VMTEludCBvciB1c2VKSVQgbXVzdCBiZSB0cnVlXG4iKTsKICAgICB9CiAgICAgaWYgKCFj
b2hlcmVudCkKICAgICAgICAgQ1JBU0goKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL09wdGlvbnNMaXN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9PcHRpb25zTGlzdC5oCmluZGV4IDIyNTcxYzVhNWEwZjMyMjBhMDdjM2Q4YTAzNjA4MmE3Mzg2
NzBmZjQuLjQ2ZjA5MTY5YmI4YTY3MGVkM2UzYmFhYTU4ZjViZTgwNzAxZGI4M2UgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnNMaXN0LmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9uc0xpc3QuaApAQCAtODEsNyArODEsNyBA
QCBjb25zdGV4cHIgYm9vbCBlbmFibGVXZWJBc3NlbWJseVN0cmVhbWluZ0FwaSA9IGZhbHNlOwog
ICAgIHYoVW5zaWduZWQsIGR1bXBPcHRpb25zLCAwLCBOb3JtYWwsICJkdW1wcyBKU0Mgb3B0aW9u
cyAoMCA9IE5vbmUsIDEgPSBPdmVycmlkZGVuIG9ubHksIDIgPSBBbGwsIDMgPSBWZXJib3NlKSIp
IFwKICAgICB2KE9wdGlvblN0cmluZywgY29uZmlnRmlsZSwgbnVsbHB0ciwgTm9ybWFsLCAiZmls
ZSB0byBjb25maWd1cmUgSlNDIG9wdGlvbnMgYW5kIGxvZ2dpbmcgbG9jYXRpb24iKSBcCiAgICAg
XAotICAgIHYoQm9vbCwgZm9yY2VCYXNlbGluZSwgZmFsc2UsIE5vcm1hbCwgIklmIHRydWUsIHdl
J2xsIHN0YXJ0IHJ1bm5pbmcgY29kZSBpbiB0aGUgYmFzZWxpbmUgSklUIGFuZCBza2lwIHN0YXJ0
aW5nIGluIHRoZSBMTEludCIpIFwKKyAgICB2KEJvb2wsIHVzZUxMSW50LCAgdHJ1ZSwgTm9ybWFs
LCAiYWxsb3dzIHRoZSBMTElOVCB0byBiZSB1c2VkIGlmIHRydWUiKSBcCiAgICAgdihCb29sLCB1
c2VKSVQsIGppdEVuYWJsZWRCeURlZmF1bHQoKSwgTm9ybWFsLCAiYWxsb3dzIHRoZSBleGVjdXRh
YmxlIHBhZ2VzIHRvIGJlIGFsbG9jYXRlZCBmb3IgSklUIGFuZCB0aHVua3MgaWYgdHJ1ZSIpIFwK
ICAgICB2KEJvb2wsIHVzZUJhc2VsaW5lSklULCB0cnVlLCBOb3JtYWwsICJhbGxvd3MgdGhlIGJh
c2VsaW5lIEpJVCB0byBiZSB1c2VkIGlmIHRydWUiKSBcCiAgICAgdihCb29sLCB1c2VERkdKSVQs
IHRydWUsIE5vcm1hbCwgImFsbG93cyB0aGUgREZHIEpJVCB0byBiZSB1c2VkIGlmIHRydWUiKSBc
CkBAIC00OTQsOCArNDk0LDggQEAgY29uc3RleHByIGJvb2wgZW5hYmxlV2ViQXNzZW1ibHlTdHJl
YW1pbmdBcGkgPSBmYWxzZTsKICAgICB2KE9wdGlvblN0cmluZywgZHVtcEpJVE1lbW9yeVBhdGgs
IG51bGxwdHIsIFJlc3RyaWN0ZWQsIG51bGxwdHIpIFwKICAgICB2KERvdWJsZSwgZHVtcEpJVE1l
bW9yeUZsdXNoSW50ZXJ2YWwsIDEwLCBSZXN0cmljdGVkLCAiTWF4aW11bSB0aW1lIGluIGJldHdl
ZW4gZmx1c2hlcyBvZiB0aGUgSklUIG1lbW9yeSBkdW1wIGluIHNlY29uZHMuIikgXAogICAgIHYo
Qm9vbCwgdXNlVW5saW5rZWRDb2RlQmxvY2tKZXR0aXNvbmluZywgZmFsc2UsIE5vcm1hbCwgIklm
IHRydWUsIFVubGlua2VkQ29kZUJsb2NrIGNhbiBiZSBqZXR0aXNvbmVkLiIpIFwKKyAgICB2KEJv
b2wsIGZvcmNlT1NSRXhpdFRvTExJbnQsIGZhbHNlLCBOb3JtYWwsICJJZiB0cnVlLCB3ZSBhbHdh
eXMgZXhpdCB0byB0aGUgTExJbnQuIElmIGZhbHNlLCB3ZSBleGl0IHRvIHdoYXRldmVyIGlzIG1v
c3QgY29udmVuaWVudC4iKSBcCiAgICAgdihVbnNpZ25lZCwgZ2V0QnlWYWxJQ01heE51bWJlck9m
SWRlbnRpZmllcnMsIDQsIE5vcm1hbCwgIk51bWJlciBvZiBpZGVudGlmaWVycyB3ZSBzZWUgaW4g
dGhlIExMSW50IHRoYXQgY291bGQgY2F1c2UgdXMgdG8gYmFpbCBvbiBnZW5lcmF0aW5nIGFuIElD
IGZvciBnZXRfYnlfdmFsLiIpIFwKLSAgICB2KEJvb2wsIGVuYWJsZVRocm93aW5nQXdheUJhc2Vs
aW5lQ29kZSwgZmFsc2UsIE5vcm1hbCwgbnVsbHB0cikgXAogCiBlbnVtIE9wdGlvbkVxdWl2YWxl
bmNlIHsKICAgICBTYW1lT3B0aW9uLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU2NyaXB0RXhlY3V0YWJsZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TY3JpcHRFeGVjdXRhYmxlLmNwcAppbmRleCAxMjIzZTk0ZjRmZTA5ZTA5MWJjMjQ0Y2I0
YThlOWU3M2FhNzc0NjQ2Li5mZjg0MjAyNWQ1N2VjMDYyYmZjYTUwZWEwMWVkYjUzZTFkM2EyOGJi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TY3JpcHRFeGVjdXRh
YmxlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TY3JpcHRFeGVjdXRh
YmxlLmNwcApAQCAtNDI2LDEwICs0MjYsMTAgQEAgRXhjZXB0aW9uKiBTY3JpcHRFeGVjdXRhYmxl
OjpwcmVwYXJlRm9yRXhlY3V0aW9uSW1wbCgKICAgICBpZiAoT3B0aW9uczo6dmFsaWRhdGVCeXRl
Y29kZSgpKQogICAgICAgICBjb2RlQmxvY2stPnZhbGlkYXRlKCk7CiAgICAgCi0gICAgaWYgKE9w
dGlvbnM6OmZvcmNlQmFzZWxpbmUoKSkKLSAgICAgICAgc2V0dXBKSVQodm0sIGNvZGVCbG9jayk7
Ci0gICAgZWxzZQorICAgIGlmIChPcHRpb25zOjp1c2VMTEludCgpKQogICAgICAgICBzZXR1cExM
SW50KGNvZGVCbG9jayk7CisgICAgZWxzZQorICAgICAgICBzZXR1cEpJVCh2bSwgY29kZUJsb2Nr
KTsKICAgICAKICAgICBpbnN0YWxsQ29kZSh2bSwgY29kZUJsb2NrLCBjb2RlQmxvY2stPmNvZGVU
eXBlKCksIGNvZGVCbG9jay0+c3BlY2lhbGl6YXRpb25LaW5kKCkpOwogICAgIHJldHVybiBudWxs
cHRyOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4
IGU2N2NhNjQ4MTA1NzUxYjcwYmQ4Mzg0NWExMWVhNjNjZjdlNDQyNDIuLjczYWY4NWMzM2U1ZTVj
YWE3ZmVmMzQxMjRkYzZhOWFkMTk2ZmZmOWUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZwor
KysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAyMC0wMS0xNCAgQ29tbWl0
IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwg
cm9sbGluZyBvdXQgcjI1NDQ4MCwgcjI1NDQ5NiwgYW5kIHIyNTQ1MTcuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDYyNzgKKworICAgICAgICAiSXQg
cmVncmVzc2VkIEpldFN0cmVhbTIgYW5kIFNwZWVkb21ldGVyMiIgKFJlcXVlc3RlZCBieQorICAg
ICAgICBzYWFteWpvb24gb24gI3dlYmtpdCkuCisKKyAgICAgICAgUmV2ZXJ0ZWQgY2hhbmdlc2V0
czoKKworICAgICAgICAiVGhyb3cgYXdheSBiYXNlbGluZSBjb2RlIGlmIHRoZXJlIGlzIGFuIG9w
dGltaXplZAorICAgICAgICByZXBsYWNlbWVudCIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMjUwMworICAgICAgICBodHRwczovL3RyYWMud2Via2l0
Lm9yZy9jaGFuZ2VzZXQvMjU0NDgwCisKKyAgICAgICAgIlVucmV2aWV3ZWQuIENoYW5nZSB1c2VM
TEludD0wIHRvIGZvcmNlQmFzZWxpbmU9MSIKKyAgICAgICAgaHR0cHM6Ly90cmFjLndlYmtpdC5v
cmcvY2hhbmdlc2V0LzI1NDQ5NgorCisgICAgICAgICJBZGQgYW4gb3B0aW9uIHRoYXQgZW5hYmxl
cy9kaXNhYmxlcyB0aHJvd2luZyBhd2F5IGJhc2VsaW5lCisgICAgICAgIEpJVCBjb2RlIgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MjQ0CisgICAg
ICAgIGh0dHBzOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8yNTQ1MTcKKwogMjAyMC0wMS0x
NCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIGRvY3VtZW50LmNv
b2tpZSBzaG91bGQgbm90IGRvIGEgc3luYyBJUEMgdG8gdGhlIG5ldHdvcmsgcHJvY2VzcyBmb3Ig
aWZyYW1lcyB0aGF0IGRvIG5vdCBoYXZlIHN0b3JhZ2UgYWNjZXNzCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4tanNjLXN0
cmVzcy10ZXN0cwppbmRleCAzODA2Y2FkNzgwNjQ5ZTQwOWY3ZmIzOWE3NzM0YTA1MjhmZjBkOWI3
Li4wOWU0ZjE3YzI4YjAzZDczMWJjMDMyMjg4MjMwMDhhNGZiMjc3ZjExIDEwMDc1NQotLS0gYS9U
b29scy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3RzCisrKyBiL1Rvb2xzL1NjcmlwdHMvcnVu
LWpzYy1zdHJlc3MtdGVzdHMKQEAgLTQ5OCw2ICs0OTgsNyBAQCBOT19DSklUX09QVElPTlMgPSBb
Ii0tdXNlQ29uY3VycmVudEpJVD1mYWxzZSIsICItLXRocmVzaG9sZEZvckpJVEFmdGVyV2FybVVw
PTEwMAogQjNPMV9PUFRJT05TID0gWyItLWRlZmF1bHRCM09wdExldmVsPTEiXQogQjNPMF9PUFRJ
T05TID0gWyItLW1heERGR05vZGVzSW5CYXNpY0Jsb2NrRm9yUHJlY2lzZUFuYWx5c2lzPTEwMCIs
ICItLWRlZmF1bHRCM09wdExldmVsPTAiXQogRlRMX09QVElPTlMgPSBbIi0tdXNlRlRMSklUPXRy
dWUiXQorRk9SQ0VfTExJTlRfRVhJVF9PUFRJT05TID0gWyItLWZvcmNlT1NSRXhpdFRvTExJbnQ9
dHJ1ZSJdCiAKIHJlcXVpcmVfcmVsYXRpdmUgIndlYmtpdHJ1YnkvanNjLXN0cmVzcy10ZXN0LXdy
aXRlci0jeyR0ZXN0V3JpdGVyfSIKIApAQCAtNjU0LDcgKzY1NSw3IEBAIGVuZAogCiBkZWYgcnVu
Tm9MTEludCgqb3B0aW9uYWxUZXN0U3BlY2lmaWNPcHRpb25zKQogICAgIGlmICRqaXRUZXN0cwot
ICAgICAgICBydW4oIm5vLWxsaW50IiwgIi0tZm9yY2VCYXNlbGluZT10cnVlIiwgKm9wdGlvbmFs
VGVzdFNwZWNpZmljT3B0aW9ucykKKyAgICAgICAgcnVuKCJuby1sbGludCIsICItLXVzZUxMSW50
PWZhbHNlIiwgKm9wdGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykKICAgICBlbmQKIGVuZAogCkBA
IC03MDcsNyArNzA4LDcgQEAgZGVmIHJ1bkZUTE5vQ0pJVCgqb3B0aW9uYWxUZXN0U3BlY2lmaWNP
cHRpb25zKQogZW5kCiAKIGRlZiBydW5GVExOb0NKSVRCM08wKCpvcHRpb25hbFRlc3RTcGVjaWZp
Y09wdGlvbnMpCi0gICAgcnVuKCJmdGwtbm8tY2ppdC1iM28wIiwgIi0tdXNlQXJyYXlBbGxvY2F0
aW9uUHJvZmlsaW5nPWZhbHNlIiwgIi0tZm9yY2VQb2x5UHJvdG89dHJ1ZSIsICooRlRMX09QVElP
TlMgKyBOT19DSklUX09QVElPTlMgKyBCM08wX09QVElPTlMgKyBvcHRpb25hbFRlc3RTcGVjaWZp
Y09wdGlvbnMpKQorICAgIHJ1bigiZnRsLW5vLWNqaXQtYjNvMCIsICItLXVzZUFycmF5QWxsb2Nh
dGlvblByb2ZpbGluZz1mYWxzZSIsICItLWZvcmNlUG9seVByb3RvPXRydWUiLCAqKEZUTF9PUFRJ
T05TICsgTk9fQ0pJVF9PUFRJT05TICsgQjNPMF9PUFRJT05TICsgRk9SQ0VfTExJTlRfRVhJVF9P
UFRJT05TICsgb3B0aW9uYWxUZXN0U3BlY2lmaWNPcHRpb25zKSkKIGVuZAogCiBkZWYgcnVuRlRM
Tm9DSklUVmFsaWRhdGUoKm9wdGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykKQEAgLTcyNyw3ICs3
MjgsNyBAQCBkZWYgcnVuRlRMTm9DSklUT1NSVmFsaWRhdGlvbigqb3B0aW9uYWxUZXN0U3BlY2lm
aWNPcHRpb25zKQogZW5kCiAKIGRlZiBydW5ERkdFYWdlcigqb3B0aW9uYWxUZXN0U3BlY2lmaWNP
cHRpb25zKQotICAgIHJ1bigiZGZnLWVhZ2VyIiwgKihFQUdFUl9PUFRJT05TICsgQ09MTEVDVF9D
T05USU5VT1VTTFlfT1BUSU9OUyArIG9wdGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykpCisgICAg
cnVuKCJkZmctZWFnZXIiLCAqKEVBR0VSX09QVElPTlMgKyBDT0xMRUNUX0NPTlRJTlVPVVNMWV9P
UFRJT05TICsgRk9SQ0VfTExJTlRfRVhJVF9PUFRJT05TICsgb3B0aW9uYWxUZXN0U3BlY2lmaWNP
cHRpb25zKSkKIGVuZAogCiBkZWYgcnVuREZHRWFnZXJOb0NKSVRWYWxpZGF0ZSgqb3B0aW9uYWxU
ZXN0U3BlY2lmaWNPcHRpb25zKQpAQCAtNzQ0LDcgKzc0NSw3IEBAIGRlZiBydW5GVExFYWdlcldh
dGNoZG9nKCpvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpCiBlbmQKIAogZGVmIHJ1bkZUTEVh
Z2VyTm9DSklUVmFsaWRhdGUoKm9wdGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykKLSAgICBydW4o
ImZ0bC1lYWdlci1uby1jaml0IiwgIi0tdmFsaWRhdGVHcmFwaD10cnVlIiwgIi0tYWlyRm9yY2VJ
UkNBbGxvY2F0b3I9dHJ1ZSIsICooRlRMX09QVElPTlMgKyBOT19DSklUX09QVElPTlMgKyBFQUdF
Ul9PUFRJT05TICsgQ09MTEVDVF9DT05USU5VT1VTTFlfT1BUSU9OUyArIG9wdGlvbmFsVGVzdFNw
ZWNpZmljT3B0aW9ucykpCisgICAgcnVuKCJmdGwtZWFnZXItbm8tY2ppdCIsICItLXZhbGlkYXRl
R3JhcGg9dHJ1ZSIsICItLWFpckZvcmNlSVJDQWxsb2NhdG9yPXRydWUiLCAqKEZUTF9PUFRJT05T
ICsgTk9fQ0pJVF9PUFRJT05TICsgRUFHRVJfT1BUSU9OUyArIENPTExFQ1RfQ09OVElOVU9VU0xZ
X09QVElPTlMgKyBGT1JDRV9MTElOVF9FWElUX09QVElPTlMgKyBvcHRpb25hbFRlc3RTcGVjaWZp
Y09wdGlvbnMpKQogZW5kCiAKIGRlZiBydW5GVExFYWdlck5vQ0pJVEIzTzEoKm9wdGlvbmFsVGVz
dFNwZWNpZmljT3B0aW9ucykKQEAgLTEwNTksNyArMTA2MCw3IEBAIGRlZiBkZWZhdWx0UnVuTW9k
dWxlcyhub0xMSW50OiB0cnVlKQogICAgICAgICByZXR1cm4KICAgICBlbmQKIAotICAgIHJ1bigi
bm8tbGxpbnQtbW9kdWxlcyIsICItbSIsICItLWZvcmNlQmFzZWxpbmU9dHJ1ZSIpIGlmIG5vTExJ
bnQKKyAgICBydW4oIm5vLWxsaW50LW1vZHVsZXMiLCAiLW0iLCAiLS11c2VMTEludD1mYWxzZSIp
IGlmIG5vTExJbnQKICAgICBydW4oIm5vLWNqaXQtdmFsaWRhdGUtcGhhc2VzLW1vZHVsZXMiLCAi
LW0iLCAiLS12YWxpZGF0ZUJ5dGVjb2RlPXRydWUiLCAiLS12YWxpZGF0ZUdyYXBoQXRFYWNoUGhh
c2U9dHJ1ZSIsICpOT19DSklUX09QVElPTlMpCiAgICAgcnVuKCJkZmctZWFnZXItbW9kdWxlcyIs
ICItbSIsICpFQUdFUl9PUFRJT05TKQogICAgIHJ1bigiZGZnLWVhZ2VyLW5vLWNqaXQtdmFsaWRh
dGUtbW9kdWxlcyIsICItbSIsICItLXZhbGlkYXRlR3JhcGg9dHJ1ZSIsICooTk9fQ0pJVF9PUFRJ
T05TICsgRUFHRVJfT1BUSU9OUykpCkBAIC0xMjYwLDcgKzEyNjEsNyBAQCBkZWYgcnVuTGF5b3V0
VGVzdE5vRlRMCiBlbmQKIAogZGVmIHJ1bkxheW91dFRlc3ROb0xMSW50Ci0gICAgcnVuTGF5b3V0
VGVzdCgibm8tbGxpbnQiLCAiLS1mb3JjZUJhc2VsaW5lPXRydWUiKQorICAgIHJ1bkxheW91dFRl
c3QoIm5vLWxsaW50IiwgIi0tdXNlTExJbnQ9ZmFsc2UiKQogZW5kCiAKIGRlZiBydW5MYXlvdXRU
ZXN0Tm9DSklUCkBAIC0xNDI2LDcgKzE0MjcsNyBAQCBkZWYgcnVuTW96aWxsYVRlc3RMTEludCht
b2RlLCAqZXh0cmFGaWxlcykKIGVuZAogCiBkZWYgcnVuTW96aWxsYVRlc3RCYXNlbGluZUpJVCht
b2RlLCAqZXh0cmFGaWxlcykKLSAgICBydW5Nb3ppbGxhVGVzdCgiYmFzZWxpbmUiLCBtb2RlLCBl
eHRyYUZpbGVzLCAiLS1mb3JjZUJhc2VsaW5lPXRydWUiLCAiLS11c2VERkdKSVQ9ZmFsc2UiKQor
ICAgIHJ1bk1vemlsbGFUZXN0KCJiYXNlbGluZSIsIG1vZGUsIGV4dHJhRmlsZXMsICItLXVzZUxM
SW50PWZhbHNlIiwgIi0tdXNlREZHSklUPWZhbHNlIikKIGVuZAogCiBkZWYgcnVuTW96aWxsYVRl
c3RERkdFYWdlck5vQ0pJVFZhbGlkYXRlUGhhc2VzKG1vZGUsICpleHRyYUZpbGVzKQpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9KU1Rlc3RzL0NoYW5nZUxvZwppbmRleCA3MjI5MDdk
ZjZiZmU5NjgyOWZkZjNlNTlhYmQ4M2U1MDk5ZmNkYjJlLi5iMmE0ZTE0NjBiODgyMTljOGNmMDcw
YTA1NzhhZDRhMWM5YjYxZWFkIDEwMDY0NAotLS0gYS9KU1Rlc3RzL0NoYW5nZUxvZworKysgYi9K
U1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIwLTAxLTE0ICBDb21taXQgUXVl
dWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2VkLCByb2xs
aW5nIG91dCByMjU0NDgwLCByMjU0NDk2LCBhbmQgcjI1NDUxNy4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjI3OAorCisgICAgICAgICJJdCByZWdy
ZXNzZWQgSmV0U3RyZWFtMiBhbmQgU3BlZWRvbWV0ZXIyIiAoUmVxdWVzdGVkIGJ5CisgICAgICAg
IHNhYW15am9vbiBvbiAjd2Via2l0KS4KKworICAgICAgICBSZXZlcnRlZCBjaGFuZ2VzZXRzOgor
CisgICAgICAgICJUaHJvdyBhd2F5IGJhc2VsaW5lIGNvZGUgaWYgdGhlcmUgaXMgYW4gb3B0aW1p
emVkCisgICAgICAgIHJlcGxhY2VtZW50IgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjAyNTAzCisgICAgICAgIGh0dHBzOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8yNTQ0ODAKKworICAgICAgICAiVW5yZXZpZXdlZC4gQ2hhbmdlIHVzZUxMSW50
PTAgdG8gZm9yY2VCYXNlbGluZT0xIgorICAgICAgICBodHRwczovL3RyYWMud2Via2l0Lm9yZy9j
aGFuZ2VzZXQvMjU0NDk2CisKKyAgICAgICAgIkFkZCBhbiBvcHRpb24gdGhhdCBlbmFibGVzL2Rp
c2FibGVzIHRocm93aW5nIGF3YXkgYmFzZWxpbmUKKyAgICAgICAgSklUIGNvZGUiCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDYyNDQKKyAgICAgICAg
aHR0cHM6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzI1NDUxNworCiAyMDIwLTAxLTEzICBT
YWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIENo
YW5nZSB1c2VMTEludD0wIHRvIGZvcmNlQmFzZWxpbmU9MQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9z
dHJlc3MvZGZnLWNvbXBhcmUtZXEtdmlhLW5vblNwZWN1bGF0aXZlTm9uUGVlcGhvbGVDb21wYXJl
TnVsbE9yVW5kZWZpbmVkLmpzIGIvSlNUZXN0cy9zdHJlc3MvZGZnLWNvbXBhcmUtZXEtdmlhLW5v
blNwZWN1bGF0aXZlTm9uUGVlcGhvbGVDb21wYXJlTnVsbE9yVW5kZWZpbmVkLmpzCmluZGV4IDRj
NjA4ZjhlNDIzYmYyYjBmMTA5YWRmMTRkNWFlZjc4Zjk1MzlhMWIuLmQyMWIzN2U0OWUxN2M0OWYy
ZjE1YTNjODJkZDQzMmZkYTdmN2Y2MGIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvc3RyZXNzL2RmZy1j
b21wYXJlLWVxLXZpYS1ub25TcGVjdWxhdGl2ZU5vblBlZXBob2xlQ29tcGFyZU51bGxPclVuZGVm
aW5lZC5qcworKysgYi9KU1Rlc3RzL3N0cmVzcy9kZmctY29tcGFyZS1lcS12aWEtbm9uU3BlY3Vs
YXRpdmVOb25QZWVwaG9sZUNvbXBhcmVOdWxsT3JVbmRlZmluZWQuanMKQEAgLTEsNCArMSw0IEBA
Ci0vL0AgcnVuRGVmYXVsdCgiLS1jb2xsZWN0Q29udGludW91c2x5PXRydWUiLCAiLS1jb2xsZWN0
Q29udGludW91c2x5UGVyaW9kTVM9MC4xNSIsICItLWZvcmNlQmFzZWxpbmU9dHJ1ZSIsICItLXVz
ZUZUTEpJVD1mYWxzZSIsICItLWppdFBvbGljeVNjYWxlPTAiKQorLy9AIHJ1bkRlZmF1bHQoIi0t
Y29sbGVjdENvbnRpbnVvdXNseT10cnVlIiwgIi0tY29sbGVjdENvbnRpbnVvdXNseVBlcmlvZE1T
PTAuMTUiLCAiLS11c2VMTEludD1mYWxzZSIsICItLXVzZUZUTEpJVD1mYWxzZSIsICItLWppdFBv
bGljeVNjYWxlPTAiKQogCiAvLyBUaGlzIHRlc3QgZXhlcmNpc2VzIERGRzo6U3BlY3VsYXRpdmVK
SVQ6Om5vblNwZWN1bGF0aXZlTm9uUGVlcGhvbGVDb21wYXJlTnVsbE9yVW5kZWZpbmVkKCkuCiAK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL2dldHRlci1zZXR0ZXItaW5saW5pbmctc2hvdWxk
LWVtaXQtbW92aGludC5qcyBiL0pTVGVzdHMvc3RyZXNzL2dldHRlci1zZXR0ZXItaW5saW5pbmct
c2hvdWxkLWVtaXQtbW92aGludC5qcwppbmRleCBmYWVmY2Q4OGExNTI5ZDRlYTNlNTZhY2ViZWM4
YWEyN2Q1ZTA0YzliLi4yODg5NmY2YjQwNWUzMTcwYjAyMjQ0MjQ1MDljMzA0MWRkZTc2NTdmIDEw
MDY0NAotLS0gYS9KU1Rlc3RzL3N0cmVzcy9nZXR0ZXItc2V0dGVyLWlubGluaW5nLXNob3VsZC1l
bWl0LW1vdmhpbnQuanMKKysrIGIvSlNUZXN0cy9zdHJlc3MvZ2V0dGVyLXNldHRlci1pbmxpbmlu
Zy1zaG91bGQtZW1pdC1tb3ZoaW50LmpzCkBAIC0xLDQgKzEsNCBAQAotLy9AIHJ1bkRlZmF1bHQo
Ii0tdXNlUmFuZG9taXppbmdGdXp6ZXJBZ2VudD0xIiwgIi0tdXNlUG9seW1vcnBoaWNDYWxsSW5s
aW5pbmdGb3JOb25TdHViU3RhdHVzPTEiLCAiLS1zZWVkT2ZSYW5kb21pemluZ0Z1enplckFnZW50
PTI4OTY5MjI1MDUiLCAiLS1mb3JjZUJhc2VsaW5lPTEiLCAiLS11c2VDb25jdXJyZW50SklUPTAi
KQorLy9AIHJ1bkRlZmF1bHQoIi0tdXNlUmFuZG9taXppbmdGdXp6ZXJBZ2VudD0xIiwgIi0tdXNl
UG9seW1vcnBoaWNDYWxsSW5saW5pbmdGb3JOb25TdHViU3RhdHVzPTEiLCAiLS1zZWVkT2ZSYW5k
b21pemluZ0Z1enplckFnZW50PTI4OTY5MjI1MDUiLCAiLS11c2VMTEludD0wIiwgIi0tdXNlQ29u
Y3VycmVudEpJVD0wIikKIGZ1bmN0aW9uIGZvbyhvKSB7CiAgICAgby5mID0gMDsKICAgICByZXR1
cm4gby5mOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvbWFrZS1kaWN0aW9uYXJ5LXJlcGF0
Y2guanMgYi9KU1Rlc3RzL3N0cmVzcy9tYWtlLWRpY3Rpb25hcnktcmVwYXRjaC5qcwppbmRleCA1
ODQ0NzhkOTEyNTZhOWQ1NmUxMDNlMWExMTU1YjgxN2I1NDczYWVmLi45OTIyODM3MDhlMTYyNjRm
OTc3OWU4NmNhOWY2M2RkNjcxMmFkNDU5IDEwMDY0NAotLS0gYS9KU1Rlc3RzL3N0cmVzcy9tYWtl
LWRpY3Rpb25hcnktcmVwYXRjaC5qcworKysgYi9KU1Rlc3RzL3N0cmVzcy9tYWtlLWRpY3Rpb25h
cnktcmVwYXRjaC5qcwpAQCAtMSw0ICsxLDQgQEAKLS8vQCBpZiAkaml0VGVzdHMgdGhlbiBydW5O
b0NKSVQoIi0tdXNlREZHSklUPWZhbHNlIiwgIi0tZm9yY2VCYXNlbGluZT10cnVlIikgZWxzZSBz
a2lwIGVuZAorLy9AIGlmICRqaXRUZXN0cyB0aGVuIHJ1bk5vQ0pJVCgiLS11c2VERkdKSVQ9ZmFs
c2UiLCAiLS11c2VMTEludD1mYWxzZSIpIGVsc2Ugc2tpcCBlbmQKIAogZnVuY3Rpb24gZm9vKG8p
IHsKICAgICByZXR1cm4gby5mOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvbWVyZ2luZy1p
Yy12YXJpYW50cy1zaG91bGQtYmFpbC1pZi1zdHJ1Y3R1cmVzLW92ZXJsYXAuanMgYi9KU1Rlc3Rz
L3N0cmVzcy9tZXJnaW5nLWljLXZhcmlhbnRzLXNob3VsZC1iYWlsLWlmLXN0cnVjdHVyZXMtb3Zl
cmxhcC5qcwppbmRleCAzZGVlYjhhZTNjYTVhMTI5MjZkMTdkMTA2MGMyMDExZmRjMWVhNTI3Li40
M2U1YmM5NzExNzM2ZGI2MmMyZWU0MDdiNmMyYzAzMGE1Zjc0NzkxIDEwMDY0NAotLS0gYS9KU1Rl
c3RzL3N0cmVzcy9tZXJnaW5nLWljLXZhcmlhbnRzLXNob3VsZC1iYWlsLWlmLXN0cnVjdHVyZXMt
b3ZlcmxhcC5qcworKysgYi9KU1Rlc3RzL3N0cmVzcy9tZXJnaW5nLWljLXZhcmlhbnRzLXNob3Vs
ZC1iYWlsLWlmLXN0cnVjdHVyZXMtb3ZlcmxhcC5qcwpAQCAtMSw0ICsxLDQgQEAKLS8vQCBydW5E
ZWZhdWx0KCItLXZhbGlkYXRlR3JhcGhBdEVhY2hQaGFzZT0xIiwgIi0tZm9yY2VCYXNlbGluZT0x
IikKKy8vQCBydW5EZWZhdWx0KCItLXZhbGlkYXRlR3JhcGhBdEVhY2hQaGFzZT0xIiwgIi0tdXNl
TExJbnQ9MCIpCiAKIGxldCBpdGVtcyA9IFtdOwogZm9yIChsZXQgaSA9IDA7IGkgPCA4OyArK2kp
IHsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL3Byb3h5LWdldHRlci1zdGFjay1vdmVyZmxv
dy5qcyBiL0pTVGVzdHMvc3RyZXNzL3Byb3h5LWdldHRlci1zdGFjay1vdmVyZmxvdy5qcwppbmRl
eCBiMDUzY2I5YzE1MmFkNTQ3NjVmMzA2OTQ4NWFkNzZhNzI0OTdjYTIxLi42MzFmODcwZDc5YjUz
ZjVlNDY4NDgyM2VkOTM4YjY0ZDZhMWU2ZjRiIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3N0cmVzcy9w
cm94eS1nZXR0ZXItc3RhY2stb3ZlcmZsb3cuanMKKysrIGIvSlNUZXN0cy9zdHJlc3MvcHJveHkt
Z2V0dGVyLXN0YWNrLW92ZXJmbG93LmpzCkBAIC0xLDQgKzEsNCBAQAotLy9AIGlmICRqaXRUZXN0
cyB0aGVuIHJ1bkRlZmF1bHQoIi0tZm9yY2VCYXNlbGluZT0xIikgZWxzZSBza2lwIGVuZAorLy9A
IGlmICRqaXRUZXN0cyB0aGVuIHJ1bkRlZmF1bHQoIi0tdXNlTExJbnQ9MCIpIGVsc2Ugc2tpcCBl
bmQKIAogY29uc3QgbyA9IHt9OwogY29uc3QgaGFuZGxlciA9IHsKZGlmZiAtLWdpdCBhL0pTVGVz
dHMvc3RyZXNzL3JhY3ktZ2MtY2xlYW51cC1vZi1pZGVudGlmaWVyLWFmdGVyLW11dGF0b3Itc3Rv
cHMtcnVubmluZy5qcyBiL0pTVGVzdHMvc3RyZXNzL3JhY3ktZ2MtY2xlYW51cC1vZi1pZGVudGlm
aWVyLWFmdGVyLW11dGF0b3Itc3RvcHMtcnVubmluZy5qcwppbmRleCA5ZDI0NjlmN2ExZmQ5ZDcx
Njc0ZDdhNDkzYzE3NzZiMWM1OWVkMzBlLi44MzU1MmJjM2Y2ZmZkOWQ3NzMyY2JmZGQwYzk0MWY3
ZGEyYmEzMmQwIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3N0cmVzcy9yYWN5LWdjLWNsZWFudXAtb2Yt
aWRlbnRpZmllci1hZnRlci1tdXRhdG9yLXN0b3BzLXJ1bm5pbmcuanMKKysrIGIvSlNUZXN0cy9z
dHJlc3MvcmFjeS1nYy1jbGVhbnVwLW9mLWlkZW50aWZpZXItYWZ0ZXItbXV0YXRvci1zdG9wcy1y
dW5uaW5nLmpzCkBAIC0xLDQgKzEsNCBAQAotLy9AIHJ1bkRlZmF1bHQoIi0tbnVtYmVyT2ZHQ01h
cmtlcnM9MSIsICItLXVzZURGR0pJVD1mYWxzZSIsICItLWZvcmNlQmFzZWxpbmU9dHJ1ZSIpCisv
L0AgcnVuRGVmYXVsdCgiLS1udW1iZXJPZkdDTWFya2Vycz0xIiwgIi0tdXNlREZHSklUPWZhbHNl
IiwgIi0tdXNlTExJbnQ9ZmFsc2UiKQogCiBmdW5jdGlvbiBmb28oKSB7CiAgICAgZ2MoKTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL3JlZ3Jlc3MtMTkyNzE3LmpzIGIvSlNUZXN0cy9zdHJl
c3MvcmVncmVzcy0xOTI3MTcuanMKaW5kZXggMTQwN2Q4YzU0NzhmN2RmYzA5MzlmODdiYjcxOTRm
ZmQ4NzZmNDEwYy4uZjk0MWE4NTU0OWJlN2JhMTFmZGM1ZTAwMmUzOTIwYTUyZTRlMTAxMiAxMDA2
NDQKLS0tIGEvSlNUZXN0cy9zdHJlc3MvcmVncmVzcy0xOTI3MTcuanMKKysrIGIvSlNUZXN0cy9z
dHJlc3MvcmVncmVzcy0xOTI3MTcuanMKQEAgLTEsNSArMSw1IEBACiAvL0Agc2tpcCBpZiAkbWVt
b3J5TGltaXRlZCBvciAkYnVpbGRUeXBlID09ICJkZWJ1ZyIKLS8vQCBydW5EZWZhdWx0KCItLWZv
cmNlQmFzZWxpbmU9dHJ1ZSIsICItLWZvcmNlQ29kZUJsb2NrVG9KZXR0aXNvbkR1ZVRvT2xkQWdl
PXRydWUiLCAiLS1tYXhQZXJUaHJlYWRTdGFja1VzYWdlPTIwMDAwMCIsICItLWV4Y2VwdGlvblN0
YWNrVHJhY2VMaW1pdD0xIiwgIi0tZGVmYXVsdEVycm9yU3RhY2tUcmFjZUxpbWl0PTEiKQorLy9A
IHJ1bkRlZmF1bHQoIi0tdXNlTExJbnQ9ZmFsc2UiLCAiLS1mb3JjZUNvZGVCbG9ja1RvSmV0dGlz
b25EdWVUb09sZEFnZT10cnVlIiwgIi0tbWF4UGVyVGhyZWFkU3RhY2tVc2FnZT0yMDAwMDAiLCAi
LS1leGNlcHRpb25TdGFja1RyYWNlTGltaXQ9MSIsICItLWRlZmF1bHRFcnJvclN0YWNrVHJhY2VM
aW1pdD0xIikKIAogbGV0IGZvbyA9ICdsZXQgYSc7CiBmb3IgKGxldCBpID0gMDsgaSA8IDQwMDAw
MDsgaSsrKQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvcmV0cnktY2FjaGUtbGF0ZXIuanMg
Yi9KU1Rlc3RzL3N0cmVzcy9yZXRyeS1jYWNoZS1sYXRlci5qcwppbmRleCA1ZDNlODUzZmU2YTM0
Y2UxMjhjOWI2YjRlMThkZDYzYWRjZDNjYmI1Li4xZjRjZmRhZWRkMGI0ODk1ZWY0NGFlNmRkOTZi
MjE2ZGI4NDU4YjcwIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3N0cmVzcy9yZXRyeS1jYWNoZS1sYXRl
ci5qcworKysgYi9KU1Rlc3RzL3N0cmVzcy9yZXRyeS1jYWNoZS1sYXRlci5qcwpAQCAtMSw0ICsx
LDQgQEAKLS8vQCBydW5Ob0NKSVQoIi0tZm9yY2VCYXNlbGluZT10cnVlIiwgIi0tdXNlREZHSklU
PWZhbHNlIikKKy8vQCBydW5Ob0NKSVQoIi0tdXNlTExJbnQ9ZmFsc2UiLCAiLS11c2VERkdKSVQ9
ZmFsc2UiKQogCiBmdW5jdGlvbiBmb28obykgewogICAgIHJldHVybiBvLmk3Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>