<?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>167751</bug_id>
          
          <creation_ts>2017-02-02 13:18:09 -0800</creation_ts>
          <short_desc>REGRESSION(r211571): This change caused API test WebKit1.MemoryPressureHandler to fail with an assertion. (Requested by ryanhaddad on #webkit).</short_desc>
          <delta_ts>2017-02-02 13:25:41 -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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>167491</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>kling</cc>
    
    <cc>koivisto</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1272603</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-02 13:18:09 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/211571 broke the build:
This change caused API test WebKit1.MemoryPressureHandler to fail with an assertion. (Requested by ryanhaddad 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>1272606</commentid>
    <comment_count>1</comment_count>
      <attachid>300440</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-02 13:18:26 -0800</bug_when>
    <thetext>Created attachment 300440
ROLLOUT of r211571

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>1272610</commentid>
    <comment_count>2</comment_count>
      <attachid>300440</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-02 13:25:38 -0800</bug_when>
    <thetext>Comment on attachment 300440
ROLLOUT of r211571

Clearing flags on attachment: 300440

Committed r211589: &lt;http://trac.webkit.org/changeset/211589&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1272611</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-02 13:25:41 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>300440</attachid>
            <date>2017-02-02 13:18:26 -0800</date>
            <delta_ts>2017-02-02 13:25:38 -0800</delta_ts>
            <desc>ROLLOUT of r211571</desc>
            <filename>bug-167751-20170202161612.patch</filename>
            <type>text/plain</type>
            <size>32796</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExNTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
MjcyNzI1N2MxY2NmN2I4YzI0NjM5ZTljMDQ3OGE3NTg4YjQxOGZhLi4wMWNjZTU2ZjZhNjM1ODk5
NWYxMDBjYzFkNWJlZWJhM2UzMWUxYzlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMSBAQAorMjAxNy0wMi0wMiAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIxMTU3MSBhbmQgcjIx
MTU4Mi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2
Nzc1MQorCisgICAgICAgIFRoaXMgY2hhbmdlIGNhdXNlZCBBUEkgdGVzdCBXZWJLaXQxLk1lbW9y
eVByZXNzdXJlSGFuZGxlciB0bworICAgICAgICBmYWlsIHdpdGggYW4gYXNzZXJ0aW9uLiAoUmVx
dWVzdGVkIGJ5IHJ5YW5oYWRkYWQgb24gI3dlYmtpdCkuCisKKyAgICAgICAgUmV2ZXJ0ZWQgY2hh
bmdlc2V0czoKKworICAgICAgICAiW01hY10gSW4tcHJvY2VzcyBtZW1vcnkgcHJlc3N1cmUgbW9u
aXRvciBmb3IgV2ViQ29udGVudAorICAgICAgICBwcm9jZXNzZXMuIgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3NDkxCisgICAgICAgIGh0dHA6Ly90
cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzIxMTU3MQorCisgICAgICAgICJVbnJldmlld2VkIGF0
dGVtcHQgdG8gZml4IHRoZSBXaW5kb3dzIGJ1aWxkIGFmdGVyIHIyMTE1NzEuIgorICAgICAgICBo
dHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8yMTE1ODIKKwogMjAxNy0wMi0wMiAgQW5k
cmVhcyBLbGluZyAgPGFrbGluZ0BhcHBsZS5jb20+CiAKICAgICAgICAgW01hY10gSW4tcHJvY2Vz
cyBtZW1vcnkgcHJlc3N1cmUgbW9uaXRvciBmb3IgV2ViQ29udGVudCBwcm9jZXNzZXMuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4
IDg1NzlmZTJkYjhhMWMyYzdiNGY3NzEyMTRmYjliYWUxMDhmYzM1MzMuLmRhODI1MTY3ZjM3NWI3
NzQ5YTZjMGE5ZDhmZWYyMGVkMTk1YmZmZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTctMDIt
MDIgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgorCisgICAgICAgIFVu
cmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMTE1NzEgYW5kIHIyMTE1ODIuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjc3NTEKKworICAgICAgICBUaGlz
IGNoYW5nZSBjYXVzZWQgQVBJIHRlc3QgV2ViS2l0MS5NZW1vcnlQcmVzc3VyZUhhbmRsZXIgdG8K
KyAgICAgICAgZmFpbCB3aXRoIGFuIGFzc2VydGlvbi4gKFJlcXVlc3RlZCBieSByeWFuaGFkZGFk
IG9uICN3ZWJraXQpLgorCisgICAgICAgIFJldmVydGVkIGNoYW5nZXNldHM6CisKKyAgICAgICAg
IltNYWNdIEluLXByb2Nlc3MgbWVtb3J5IHByZXNzdXJlIG1vbml0b3IgZm9yIFdlYkNvbnRlbnQK
KyAgICAgICAgcHJvY2Vzc2VzLiIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE2NzQ5MQorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5n
ZXNldC8yMTE1NzEKKworICAgICAgICAiVW5yZXZpZXdlZCBhdHRlbXB0IHRvIGZpeCB0aGUgV2lu
ZG93cyBidWlsZCBhZnRlciByMjExNTcxLiIKKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9y
Zy9jaGFuZ2VzZXQvMjExNTgyCisKIDIwMTctMDItMDIgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdA
YXBwbGUuY29tPgogCiAgICAgICAgIFtNYWNdIEluLXByb2Nlc3MgbWVtb3J5IHByZXNzdXJlIG1v
bml0b3IgZm9yIFdlYkNvbnRlbnQgcHJvY2Vzc2VzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGUxYzk4NzExODZj
NGM1ZTJhMTExNTA5Nzg0NTU1Mjg2ZWE2ZDUzNDUuLmM3ZTU3MWEwMTc2MjI4NDQzYmViM2JlNGRm
MjBmNTc3YWNiMmVmOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxNy0wMi0wMiAg
Q29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVW5yZXZp
ZXdlZCwgcm9sbGluZyBvdXQgcjIxMTU3MSBhbmQgcjIxMTU4Mi4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2Nzc1MQorCisgICAgICAgIFRoaXMgY2hh
bmdlIGNhdXNlZCBBUEkgdGVzdCBXZWJLaXQxLk1lbW9yeVByZXNzdXJlSGFuZGxlciB0bworICAg
ICAgICBmYWlsIHdpdGggYW4gYXNzZXJ0aW9uLiAoUmVxdWVzdGVkIGJ5IHJ5YW5oYWRkYWQgb24g
I3dlYmtpdCkuCisKKyAgICAgICAgUmV2ZXJ0ZWQgY2hhbmdlc2V0czoKKworICAgICAgICAiW01h
Y10gSW4tcHJvY2VzcyBtZW1vcnkgcHJlc3N1cmUgbW9uaXRvciBmb3IgV2ViQ29udGVudAorICAg
ICAgICBwcm9jZXNzZXMuIgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTY3NDkxCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0
LzIxMTU3MQorCisgICAgICAgICJVbnJldmlld2VkIGF0dGVtcHQgdG8gZml4IHRoZSBXaW5kb3dz
IGJ1aWxkIGFmdGVyIHIyMTE1NzEuIgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2No
YW5nZXNldC8yMTE1ODIKKwogMjAxNy0wMi0wMiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgYXR0ZW1wdCB0byBmaXggdGhlIFdpbmRvd3MgYnVp
bGQgYWZ0ZXIgcjIxMTU3MS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBlOTIwODYzZmQ0YWJmNGM3NTlkOGQwNTQx
MTNhNTgxMDM3MzEwNGU5Li4yZGZhNTQwOTAxMTc0MmIzMWYwNjkwOWQ0NGVkZDVkZTM1YWRjYWMz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTctMDItMDIgIENvbW1pdCBRdWV1ZSAg
PGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcg
b3V0IHIyMTE1NzEgYW5kIHIyMTE1ODIuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNjc3NTEKKworICAgICAgICBUaGlzIGNoYW5nZSBjYXVzZWQgQVBJ
IHRlc3QgV2ViS2l0MS5NZW1vcnlQcmVzc3VyZUhhbmRsZXIgdG8KKyAgICAgICAgZmFpbCB3aXRo
IGFuIGFzc2VydGlvbi4gKFJlcXVlc3RlZCBieSByeWFuaGFkZGFkIG9uICN3ZWJraXQpLgorCisg
ICAgICAgIFJldmVydGVkIGNoYW5nZXNldHM6CisKKyAgICAgICAgIltNYWNdIEluLXByb2Nlc3Mg
bWVtb3J5IHByZXNzdXJlIG1vbml0b3IgZm9yIFdlYkNvbnRlbnQKKyAgICAgICAgcHJvY2Vzc2Vz
LiIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzQ5
MQorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8yMTE1NzEKKworICAg
ICAgICAiVW5yZXZpZXdlZCBhdHRlbXB0IHRvIGZpeCB0aGUgV2luZG93cyBidWlsZCBhZnRlciBy
MjExNTcxLiIKKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMjExNTgy
CisKIDIwMTctMDItMDIgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAg
ICBUaGUgTWFrZSBGcmFtZXdvcmtzIFN5bWJvbGljIExpbmsgYnVpbGQgcGhhc2UgY2FuIGVuZCB1
cCBjcmVhdGluZyBhIHN5bWxpbmsgaW5zaWRlIHRoZSBGcmFtZXdvcmtzIHN1YmRpcmVjdG9yeQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcAppbmRleCAwYTk0Nzc2NjkxYTU3MWJmZThjNjNk
YmI5YjllMDg5M2Q0OTExYWQxLi4yMjhiZmVjMjAyODRjNDAyMjQ4ZGZiYTUxODkyNzFkODVlZGJi
YTUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcApAQCAtMTcyNiw2ICsxNzI2LDEx
IEBAIHZvaWQgSGVhcDo6bm90aWZ5SW5jcmVtZW50YWxTd2VlcGVyKCkKICAgICBtX3N3ZWVwZXIt
PnN0YXJ0U3dlZXBpbmcoKTsKIH0KIAorTkVWRVJfSU5MSU5FIHZvaWQgSGVhcDo6ZGlkRXhjZWVk
TWF4TGl2ZVNpemUoKQoreworICAgIENSQVNIKCk7Cit9CisKIHZvaWQgSGVhcDo6dXBkYXRlQWxs
b2NhdGlvbkxpbWl0cygpCiB7CiAgICAgc3RhdGljIGNvbnN0IGJvb2wgdmVyYm9zZSA9IGZhbHNl
OwpAQCAtMTc1Nyw2ICsxNzYyLDkgQEAgdm9pZCBIZWFwOjp1cGRhdGVBbGxvY2F0aW9uTGltaXRz
KCkKIAogICAgIGlmICh2ZXJib3NlKQogICAgICAgICBkYXRhTG9nKCJleHRyYU1lbW9yeVNpemUo
KSA9ICIsIGV4dHJhTWVtb3J5U2l6ZSgpLCAiLCBjdXJyZW50SGVhcFNpemUgPSAiLCBjdXJyZW50
SGVhcFNpemUsICJcbiIpOworCisgICAgaWYgKG1fbWF4TGl2ZVNpemUgJiYgY3VycmVudEhlYXBT
aXplID4gbV9tYXhMaXZlU2l6ZSkKKyAgICAgICAgZGlkRXhjZWVkTWF4TGl2ZVNpemUoKTsKICAg
ICAKICAgICBpZiAoT3B0aW9uczo6Z2NNYXhIZWFwU2l6ZSgpICYmIGN1cnJlbnRIZWFwU2l6ZSA+
IE9wdGlvbnM6OmdjTWF4SGVhcFNpemUoKSkKICAgICAgICAgSGVhcFN0YXRpc3RpY3M6OmV4aXRX
aXRoRmFpbHVyZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVh
cC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5oCmluZGV4IGIzOGIyOGQ4ZjBh
MmE4MjNjYmU5ZmY1MDBlMmI5MTdjZTRmNzAwZTguLjIwNzVmNjllMDFhZTgxZjhkM2Y0NzZmMmI3
Yzc2OTk1NDdmMjZmMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hl
YXAuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmgKQEAgLTEzMiw2ICsx
MzIsOSBAQCBwdWJsaWM6CiAKICAgICBWTSogdm0oKSBjb25zdDsKIAorICAgIC8vIFNldCBhIGhh
cmQgbGltaXQgd2hlcmUgSlNDIHdpbGwgY3Jhc2ggaWYgbGl2ZSBoZWFwIHNpemUgZXhjZWVkcyBp
dC4KKyAgICB2b2lkIHNldE1heExpdmVTaXplKHNpemVfdCBzaXplKSB7IG1fbWF4TGl2ZVNpemUg
PSBzaXplOyB9CisKICAgICBNYXJrZWRTcGFjZSYgb2JqZWN0U3BhY2UoKSB7IHJldHVybiBtX29i
amVjdFNwYWNlOyB9CiAgICAgTWFjaGluZVRocmVhZHMmIG1hY2hpbmVUaHJlYWRzKCkgeyByZXR1
cm4gbV9tYWNoaW5lVGhyZWFkczsgfQogCkBAIC02MDAsNiArNjAzLDkgQEAgcHJpdmF0ZToKICAg
ICBzaXplX3QgbV9ibG9ja0J5dGVzQWxsb2NhdGVkIHsgMCB9OwogICAgIHNpemVfdCBtX2V4dGVy
bmFsTWVtb3J5U2l6ZSB7IDAgfTsKICNlbmRpZgorCisgICAgTk9fUkVUVVJOX0RVRV9UT19DUkFT
SCB2b2lkIGRpZEV4Y2VlZE1heExpdmVTaXplKCk7CisgICAgc2l6ZV90IG1fbWF4TGl2ZVNpemUg
eyAwIH07CiAgICAgCiAgICAgc3RkOjp1bmlxdWVfcHRyPE11dGF0b3JTY2hlZHVsZXI+IG1fc2No
ZWR1bGVyOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggZTQyZTBhNWU5OTNkZDNjODE5MjkyMzBkNTE2Mjc2YjlmMDE1YzAzOS4uZmRkODcwMTczOWUw
MTc4NjY1YjVjNThmOTM4NzcwOGNhMTE2ZjNkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9XVEYu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCkBAIC0zMzcsOCArMzM3LDYgQEAKIAkJQThBNDc0ODcxNTFBODI1QjAw
NDEyM0ZGIC8qIFdURlRocmVhZERhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEE4QTQ3MzdCMTUxQTgyNUIwMDQxMjNGRiAvKiBXVEZUaHJlYWREYXRh
LmggKi87IH07CiAJCUE4QTQ3NDhDMTUxQTgyNjQwMDQxMjNGRiAvKiBjb25maWcuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4QTQ3NDhCMTUxQTgyNjQw
MDQxMjNGRiAvKiBjb25maWcuaCAqLzsgfTsKIAkJQUQ3QzQzNEIxREQyQTRBNzAwMjY4ODhCIC8q
IEV4cGVjdGVkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBRDdDNDM0QTFERDJBNEE3MDAyNjg4OEIgLyogRXhwZWN0ZWQuaCAqLzsgfTsKLQkJQURGMkNF
NjYxRTM5RjEwNjAwNjg4OURCIC8qIE1lbW9yeUZvb3RwcmludC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQURGMkNFNjQxRTM5RjEwNjAwNjg4OURCIC8q
IE1lbW9yeUZvb3RwcmludC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07Ci0JCUFERjJDRTY3MUUzOUYxMDYwMDY4ODlEQiAvKiBNZW1vcnlGb290cHJpbnQu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQURGMkNF
NjUxRTM5RjEwNjAwNjg4OURCIC8qIE1lbW9yeUZvb3RwcmludC5jcHAgKi87IH07CiAJCUIzOEZE
N0JEMTY4OTUzRTgwMDY1Qzk2OSAvKiBGZWF0dXJlRGVmaW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjM4RkQ3QkMxNjg5NTNFODAwNjVDOTY5IC8q
IEZlYXR1cmVEZWZpbmVzLmggKi87IH07CiAJCUM0RjhBOTM3MTlDNjVFQjQwMEIyQjE1RCAvKiBT
dG9wd2F0Y2guaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEM0RjhBOTM2MTlDNjVFQjQwMEIyQjE1RCAvKiBTdG9wd2F0Y2guaCAqLzsgfTsKIAkJQzhCMEUx
QTFFMDFBNDg2RUI5NUUwRDExIC8qIEluZGV4U2V0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTM3RTFEN0RCRDg0QUMzOEZBRTREMzQgLyogSW5kZXhT
ZXQuaCAqLzsgfTsKQEAgLTcyMSw4ICs3MTksNiBAQAogCQlBOEE0NzM3QjE1MUE4MjVCMDA0MTIz
RkYgLyogV1RGVGhyZWFkRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
VEZUaHJlYWREYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE4QTQ3NDhCMTUx
QTgyNjQwMDQxMjNGRiAvKiBjb25maWcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gY29uZmlnLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFEN0M0MzRBMUREMkE0
QTcwMDI2ODg4QiAvKiBFeHBlY3RlZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBFeHBlY3RlZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlBREYyQ0U2NDFFMzlG
MTA2MDA2ODg5REIgLyogTWVtb3J5Rm9vdHByaW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IE1lbW9yeUZvb3RwcmludC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQlBREYyQ0U2NTFFMzlGMTA2MDA2ODg5REIgLyogTWVtb3J5Rm9vdHByaW50LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lbW9yeUZvb3RwcmludC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIzOEZEN0JDMTY4OTUzRTgwMDY1Qzk2OSAvKiBGZWF0
dXJlRGVmaW5lcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGZWF0dXJlRGVm
aW5lcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDNEY4QTkzNjE5QzY1RUI0MDBC
MkIxNUQgLyogU3RvcHdhdGNoLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0
b3B3YXRjaC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDU0OTdBQTE1ODU3RDAz
MDBCNUJDMzAgLyogTWVkaWFUaW1lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IE1lZGlhVGltZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMDA5
LDggKzEwMDUsNiBAQAogCQkJCUE4QTQ3MkNCMTUxQTgyNUIwMDQxMjNGRiAvKiBNRDUuaCAqLywK
IAkJCQlDRDU0OTdBQTE1ODU3RDAzMDBCNUJDMzAgLyogTWVkaWFUaW1lLmNwcCAqLywKIAkJCQlD
RDU0OTdBQjE1ODU3RDAzMDBCNUJDMzAgLyogTWVkaWFUaW1lLmggKi8sCi0JCQkJQURGMkNFNjQx
RTM5RjEwNjAwNjg4OURCIC8qIE1lbW9yeUZvb3RwcmludC5oICovLAotCQkJCUFERjJDRTY1MUUz
OUYxMDYwMDY4ODlEQiAvKiBNZW1vcnlGb290cHJpbnQuY3BwICovLAogCQkJCUE4QTQ3MkNDMTUx
QTgyNUIwMDQxMjNGRiAvKiBNZXNzYWdlUXVldWUuaCAqLywKIAkJCQlBOEE0NzJDRDE1MUE4MjVC
MDA0MTIzRkYgLyogTWV0YUFsbG9jYXRvci5jcHAgKi8sCiAJCQkJQThBNDcyQ0UxNTFBODI1QjAw
NDEyM0ZGIC8qIE1ldGFBbGxvY2F0b3IuaCAqLywKQEAgLTE1MDAsNyArMTQ5NCw2IEBACiAJCQkJ
QThBNDc0MUMxNTFBODI1QjAwNDEyM0ZGIC8qIFJlZlB0ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QThBNDc0MUUxNTFBODI1QjAwNDEyM0ZGIC8qIFJldGFpblB0ci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMkNERUQwRjQxODExNUM4NTAwNERCQTcwIC8qIFJ1bkxvb3AuaCBpbiBIZWFkZXJzICovLAot
CQkJCUFERjJDRTY2MUUzOUYxMDYwMDY4ODlEQiAvKiBNZW1vcnlGb290cHJpbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTE0Njk0MTkyMTZFQUFGNkQwMDI0RTE0NiAvKiBSdW5Mb29wVGltZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCUE1MDk4QjAwMUMxNjlFMDcwMDA4Nzc5NyAvKiBTYW5kYm94U1BJ
LmggaW4gSGVhZGVycyAqLywKIAkJCQkxNEYzQjBGNzE1RTQ1RTQ2MDAyMTAwNjkgLyogU2F0dXJh
dGVkQXJpdGhtZXRpYy5oIGluIEhlYWRlcnMgKi8sCkBAIC0xNzA4LDcgKzE3MDEsNiBAQAogCQkJ
CTFBQ0FERDg0MTg4NDQ4MDEwMEQ4QjcxRCAvKiBEZXByZWNhdGVkU3ltYm9sc1VzZWRCeVNhZmFy
aS5tbSBpbiBTb3VyY2VzICovLAogCQkJCUE4QTQ3M0FFMTUxQTgyNUIwMDQxMjNGRiAvKiBkaXkt
ZnAuY2MgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzNCMDE1MUE4MjVCMDA0MTIzRkYgLyogZG91
YmxlLWNvbnZlcnNpb24uY2MgaW4gU291cmNlcyAqLywKLQkJCQlBREYyQ0U2NzFFMzlGMTA2MDA2
ODg5REIgLyogTWVtb3J5Rm9vdHByaW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4QTQ3M0JB
MTUxQTgyNUIwMDQxMjNGRiAvKiBkdG9hLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4QTQ3M0Iz
MTUxQTgyNUIwMDQxMjNGRiAvKiBmYXN0LWR0b2EuY2MgaW4gU291cmNlcyAqLywKIAkJCQkwRjdD
NUZCNjFEODg1Q0YyMDA0NEY1RTIgLyogRmFzdEJpdFZlY3Rvci5jcHAgaW4gU291cmNlcyAqLywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dURi93
dGYvQ01ha2VMaXN0cy50eHQKaW5kZXggODFhZjkxMjc2MTA2YjgxMjg5MTdkYjhjNzljZjI1NGIy
ZTRkOGNmMC4uNThjMTE2YmRkMTFjMmY0ZmJmMGI5YTRjNTgwYTFjYTMyNzVjZWQwNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dURi93dGYv
Q01ha2VMaXN0cy50eHQKQEAgLTY0LDcgKzY0LDYgQEAgc2V0KFdURl9IRUFERVJTCiAgICAgTWFs
bG9jUHRyLmgKICAgICBNYXRoRXh0cmFzLmgKICAgICBNZWRpYVRpbWUuaAotICAgIE1lbW9yeUZv
b3RwcmludC5oCiAgICAgTWVzc2FnZVF1ZXVlLmgKICAgICBNZXRhQWxsb2NhdG9yLmgKICAgICBN
ZXRhQWxsb2NhdG9ySGFuZGxlLmgKQEAgLTIwNSw3ICsyMDQsNiBAQCBzZXQoV1RGX1NPVVJDRVMK
ICAgICBNRDUuY3BwCiAgICAgTWFpblRocmVhZC5jcHAKICAgICBNZWRpYVRpbWUuY3BwCi0gICAg
TWVtb3J5Rm9vdHByaW50LmNwcAogICAgIE1ldGFBbGxvY2F0b3IuY3BwCiAgICAgTW9ub3Rvbmlj
VGltZS5jcHAKICAgICBOdW1iZXJPZkNvcmVzLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93
dGYvTWVtb3J5Rm9vdHByaW50LmNwcCBiL1NvdXJjZS9XVEYvd3RmL01lbW9yeUZvb3RwcmludC5j
cHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRjYzBkZTYxMWIxYmEwZDliYmFmOWQw
YzRhNGVjYWViOGI5ZDBiNjcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL1dURi93dGYvTWVtb3J5Rm9vdHByaW50LmNwcAorKysgL2Rldi9udWxs
CkBAIC0xLDUwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBB
bGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBh
cmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
Ci0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
LSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiTWVtb3J5Rm9vdHByaW50Lmgi
Ci0KLSNpZiBQTEFURk9STShDT0NPQSkKLSNpbmNsdWRlIDxtYWNoL21hY2guaD4KLSNpbmNsdWRl
IDxtYWNoL3Rhc2tfaW5mby5oPgotI2VuZGlmCi0KLW5hbWVzcGFjZSBXVEYgewotCi1zdGQ6Om9w
dGlvbmFsPHNpemVfdD4gbWVtb3J5Rm9vdHByaW50KCkKLXsKLSNpZiBQTEFURk9STShDT0NPQSkK
LSAgICB0YXNrX3ZtX2luZm9fZGF0YV90IHZtSW5mbzsKLSAgICBtYWNoX21zZ190eXBlX251bWJl
cl90IGNvdW50ID0gVEFTS19WTV9JTkZPX0NPVU5UOwotICAgIGtlcm5fcmV0dXJuX3QgcmVzdWx0
ID0gdGFza19pbmZvKG1hY2hfdGFza19zZWxmKCksIFRBU0tfVk1fSU5GTywgKHRhc2tfaW5mb190
KSAmdm1JbmZvLCAmY291bnQpOwotICAgIGlmIChyZXN1bHQgIT0gS0VSTl9TVUNDRVNTKQotICAg
ICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxzaXplX3Q+
KHZtSW5mby5waHlzX2Zvb3RwcmludCk7Ci0jZWxzZQotICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7
Ci0jZW5kaWYKLX0KLQotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvTWVtb3J5Rm9vdHBy
aW50LmggYi9Tb3VyY2UvV1RGL3d0Zi9NZW1vcnlGb290cHJpbnQuaApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggN2I4ZWNhOGU5NzFlOTY0NDIyNDJiZDk2MzVkYzE1Y2YyYzJiMmNiNS4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV1RG
L3d0Zi9NZW1vcnlGb290cHJpbnQuaAorKysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLS8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
ICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgotCi1u
YW1lc3BhY2UgV1RGIHsKLQotV1RGX0VYUE9SVF9QUklWQVRFIHN0ZDo6b3B0aW9uYWw8c2l6ZV90
PiBtZW1vcnlGb290cHJpbnQoKTsKLQotfQotCi11c2luZyBXVEY6Om1lbW9yeUZvb3RwcmludDsK
LQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ29tbW9uVk0uY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ29tbW9uVk0uY3BwCmluZGV4IDBkNWE0YTYwNmVm
NzliNjllNDc0M2QwZjdmNDExYTdkM2QxM2E2MzQuLmIxYjA2YWEwNzQwYzBmMmZlNzZmOGIzMWNm
ZDg1YTk2ZWExNWZiOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0Nv
bW1vblZNLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Db21tb25WTS5jcHAK
QEAgLTQ2LDYgKzQ2LDEwIEBAIFZNJiBjb21tb25WTVNsb3coKQogICAgIAogICAgIFNjcmlwdENv
bnRyb2xsZXI6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKICAgICBnX2NvbW1vblZNT3JOdWxsID0g
JlZNOjpjcmVhdGVMZWFrZWQoTGFyZ2VIZWFwKS5sZWFrUmVmKCk7CisjaWYgQ1BVKFg4Nl82NCkg
fHwgQ1BVKEFSTTY0KQorICAgIHN0YXRpYyBjb25zdCBzaXplX3QgbWF4R0NIZWFwU2l6ZSA9IDQg
KiBHQjsKKyAgICBnX2NvbW1vblZNT3JOdWxsLT5oZWFwLnNldE1heExpdmVTaXplKG1heEdDSGVh
cFNpemUpOworI2VuZGlmCiAgICAgZ19jb21tb25WTU9yTnVsbC0+aGVhcC5hY3F1aXJlQWNjZXNz
KCk7IC8vIEF0IGFueSB0aW1lLCB3ZSBtYXkgZG8gdGhpbmdzIHRoYXQgYWZmZWN0IHRoZSBHQy4K
ICNpZiAhUExBVEZPUk0oSU9TKQogICAgIGdfY29tbW9uVk1Pck51bGwtPnNldEV4Y2x1c2l2ZVRo
cmVhZChzdGQ6OnRoaXNfdGhyZWFkOjpnZXRfaWQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1l
TG9hZGVyLmNwcAppbmRleCA0YTA4Mjc5YzgyOTAyYTMwNDJlM2Y1YjA0NDA4ZmEwN2VmMzg5Njc1
Li5iMjE5NGNjNGJmYmRkZDc4NmQ2Yzk5ZGExMTEwMDY3ZDdkNWRjN2E3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTE3NDIsNyArMTc0Miw3IEBAIHZvaWQgRnJhbWVM
b2FkZXI6OnNldFN0YXRlKEZyYW1lU3RhdGUgbmV3U3RhdGUpCiAgICAgICAgIGlmIChtX2RvY3Vt
ZW50TG9hZGVyKQogICAgICAgICAgICAgbV9kb2N1bWVudExvYWRlci0+c3RvcFJlY29yZGluZ1Jl
c3BvbnNlcygpOwogICAgICAgICBpZiAobV9mcmFtZS5pc01haW5GcmFtZSgpICYmIG9sZFN0YXRl
ICE9IG5ld1N0YXRlKQotICAgICAgICAgICAgc3RhdGljX2Nhc3Q8TWFpbkZyYW1lJj4obV9mcmFt
ZSkuZGlkQ29tcGxldGVMb2FkKCk7CisgICAgICAgICAgICBzdGF0aWNfY2FzdDxNYWluRnJhbWUm
PihtX2ZyYW1lKS5wZXJmb3JtYW5jZUxvZ2dpbmcoKS5kaWRSZWFjaFBvaW50T2ZJbnRlcmVzdChQ
ZXJmb3JtYW5jZUxvZ2dpbmc6Ok1haW5GcmFtZUxvYWRDb21wbGV0ZWQpOwogICAgIH0KIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9NYWluRnJhbWUuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9NYWluRnJhbWUuY3BwCmluZGV4IDhiNmJlMzEzMmE1ODQxYTBmYTVlMDg0ODIz
OWQ4Nzk5MWZlMjgzYTAuLmExN2JlM2JiNTNhODkyZjViZTYyZDRjNGQ3NzI0ZTBhZDRjZmQ0Y2Ug
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWFpbkZyYW1lLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL01haW5GcmFtZS5jcHAKQEAgLTk1LDEyICs5NSw2IEBAIHZvaWQgTWFp
bkZyYW1lOjpkcm9wQ2hpbGRyZW4oKQogICAgICAgICB0cmVlKCkucmVtb3ZlQ2hpbGQoKmNoaWxk
KTsKIH0KIAotdm9pZCBNYWluRnJhbWU6OmRpZENvbXBsZXRlTG9hZCgpCi17Ci0gICAgbV90aW1l
T2ZMYXN0Q29tcGxldGVkTG9hZCA9IE1vbm90b25pY1RpbWU6Om5vdygpOwotICAgIHBlcmZvcm1h
bmNlTG9nZ2luZygpLmRpZFJlYWNoUG9pbnRPZkludGVyZXN0KFBlcmZvcm1hbmNlTG9nZ2luZzo6
TWFpbkZyYW1lTG9hZENvbXBsZXRlZCk7Ci19Ci0KICNpZiBQTEFURk9STShNQUMpCiBTY3JvbGxM
YXRjaGluZ1N0YXRlKiBNYWluRnJhbWU6OmxhdGNoaW5nU3RhdGUoKQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9NYWluRnJhbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWFp
bkZyYW1lLmgKaW5kZXggMzY5ZGRiYWVkMzZjZjA4NGRkMTI5NDQwNGNhZDA2Y2JjNjM5MTExNS4u
M2UwODhmMGJiZDQ4MjkyNTUxOGFlZDgyNTI0Y2E1MjZhNWVjNTI2MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9NYWluRnJhbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01h
aW5GcmFtZS5oCkBAIC02OSw5ICs2OSw2IEBAIHB1YmxpYzoKIAogICAgIFBlcmZvcm1hbmNlTG9n
Z2luZyYgcGVyZm9ybWFuY2VMb2dnaW5nKCkgY29uc3QgeyByZXR1cm4gKm1fcGVyZm9ybWFuY2VM
b2dnaW5nOyB9CiAKLSAgICB2b2lkIGRpZENvbXBsZXRlTG9hZCgpOwotICAgIE1vbm90b25pY1Rp
bWUgdGltZU9mTGFzdENvbXBsZXRlZExvYWQoKSBjb25zdCB7IHJldHVybiBtX3RpbWVPZkxhc3RD
b21wbGV0ZWRMb2FkOyB9Ci0KIHByaXZhdGU6CiAgICAgTWFpbkZyYW1lKFBhZ2UmLCBQYWdlQ29u
ZmlndXJhdGlvbiYpOwogCkBAIC05NCw4ICs5MSw2IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogICAg
IHN0ZDo6dW5pcXVlX3B0cjxQZXJmb3JtYW5jZUxvZ2dpbmc+IG1fcGVyZm9ybWFuY2VMb2dnaW5n
OwotCi0gICAgTW9ub3RvbmljVGltZSBtX3RpbWVPZkxhc3RDb21wbGV0ZWRMb2FkOwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9N
ZW1vcnlSZWxlYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWVtb3J5UmVsZWFzZS5jcHAK
aW5kZXggMzY2MTJhODFhNzM4NTYyYmU4MjQ2MGU0MWExM2Y2YmQ5MzJkZDMxZi4uZDY0NDQ0Y2Yw
ZGFiMTU5ZDUxZTU2ZTk2MGM4M2YxMTllNTk4MTllYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9NZW1vcnlSZWxlYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lbW9y
eVJlbGVhc2UuY3BwCkBAIC0yOSwxNSArMjksMTIgQEAKICNpbmNsdWRlICJDU1NWYWx1ZVBvb2wu
aCIKICNpbmNsdWRlICJDaHJvbWUuaCIKICNpbmNsdWRlICJDaHJvbWVDbGllbnQuaCIKLSNpbmNs
dWRlICJDb21tb25WTS5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRm9udENh
Y2hlLmgiCiAjaW5jbHVkZSAiR0NDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxl
bWVudC5oIgogI2luY2x1ZGUgIklubGluZVN0eWxlU2hlZXRPd25lci5oIgogI2luY2x1ZGUgIklu
c3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgotI2luY2x1ZGUgIkxvZ2dpbmcuaCIKLSNpbmNsdWRl
ICJNYWluRnJhbWUuaCIKICNpbmNsdWRlICJNZW1vcnlDYWNoZS5oIgogI2luY2x1ZGUgIlBhZ2Uu
aCIKICNpbmNsdWRlICJQYWdlQ2FjaGUuaCIKQEAgLTQ4LDEwICs0NSw2IEBACiAjaW5jbHVkZSAi
V29ya2VyVGhyZWFkLmgiCiAjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KIAotI2lmIFBMQVRG
T1JNKENPQ09BKQotI2luY2x1ZGUgIlJlc291cmNlVXNhZ2VUaHJlYWQuaCIKLSNlbmRpZgotCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyB2b2lkIHJlbGVhc2VOb25jcml0aWNhbE1lbW9y
eSgpCkBAIC0xMzUsODggKzEyOCw2IEBAIHZvaWQgcmVsZWFzZU1lbW9yeShDcml0aWNhbCBjcml0
aWNhbCwgU3luY2hyb25vdXMgc3luY2hyb25vdXMpCiAjZW5kaWYKIH0KIAotI2lmICFSRUxFQVNF
X0xPR19ESVNBQkxFRAotc3RhdGljIHVuc2lnbmVkIHBhZ2VDb3VudCgpCi17Ci0gICAgdW5zaWdu
ZWQgY291bnQgPSAwOwotICAgIFBhZ2U6OmZvckVhY2hQYWdlKFsmXSAoUGFnZSYgcGFnZSkgewot
ICAgICAgICBpZiAoIXBhZ2UuaXNVdGlsaXR5UGFnZSgpKQotICAgICAgICAgICAgKytjb3VudDsK
LSAgICB9KTsKLSAgICByZXR1cm4gY291bnQ7Ci19Ci0jZW5kaWYKLQotdm9pZCBsb2dNZW1vcnlT
dGF0aXN0aWNzQXRUaW1lT2ZEZWF0aCgpCi17Ci0jaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECi0j
aWYgUExBVEZPUk0oQ09DT0EpCi0gICAgYXV0byBwYWdlU2l6ZSA9IHZtUGFnZVNpemUoKTsKLSAg
ICBhdXRvIHBhZ2VzID0gcGFnZXNQZXJWTVRhZygpOwotCi0gICAgUkVMRUFTRV9MT0coTWVtb3J5
UHJlc3N1cmUsICJEaXJ0eSBtZW1vcnkgcGVyIFZNIHRhZyBhdCB0aW1lIG9mIGRlYXRoOiIpOwot
ICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCAyNTY7ICsraSkgewotICAgICAgICBzaXplX3Qg
ZGlydHkgPSBwYWdlc1tpXS5kaXJ0eSAqIHBhZ2VTaXplOwotICAgICAgICBpZiAoIWRpcnR5KQot
ICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIFN0cmluZyB0YWdOYW1lID0gZGlzcGxheU5h
bWVGb3JWTVRhZyhpKTsKLSAgICAgICAgaWYgKCF0YWdOYW1lKQotICAgICAgICAgICAgdGFnTmFt
ZSA9IFN0cmluZzo6Zm9ybWF0KCJUYWcgJXUiLCBpKTsKLSAgICAgICAgUkVMRUFTRV9MT0coTWVt
b3J5UHJlc3N1cmUsICIlMTZzOiAlbHUgTUIiLCB0YWdOYW1lLmxhdGluMSgpLmRhdGEoKSwgZGly
dHkgLyBNQik7Ci0gICAgfQotI2VuZGlmCi0KLSAgICBhdXRvJiB2bSA9IGNvbW1vblZNKCk7Ci0g
ICAgUkVMRUFTRV9MT0coTWVtb3J5UHJlc3N1cmUsICJNZW1vcnkgdXNhZ2Ugc3RhdGlzdGljcyBh
dCB0aW1lIG9mIGRlYXRoOiIpOwotICAgIFJFTEVBU0VfTE9HKE1lbW9yeVByZXNzdXJlLCAiR0Mg
aGVhcCBzaXplOiAlenUiLCB2bS5oZWFwLnNpemUoKSk7Ci0gICAgUkVMRUFTRV9MT0coTWVtb3J5
UHJlc3N1cmUsICJHQyBoZWFwIGV4dHJhIG1lbW9yeSBzaXplOiAlenUiLCB2bS5oZWFwLmV4dHJh
TWVtb3J5U2l6ZSgpKTsKLSNpZiBFTkFCTEUoUkVTT1VSQ0VfVVNBR0UpCi0gICAgUkVMRUFTRV9M
T0coTWVtb3J5UHJlc3N1cmUsICJHQyBoZWFwIGV4dGVybmFsIG1lbW9yeTogJXp1Iiwgdm0uaGVh
cC5leHRlcm5hbE1lbW9yeVNpemUoKSk7Ci0jZW5kaWYKLSAgICBSRUxFQVNFX0xPRyhNZW1vcnlQ
cmVzc3VyZSwgIkdsb2JhbCBvYmplY3QgY291bnQ6ICV6dSIsIHZtLmhlYXAuZ2xvYmFsT2JqZWN0
Q291bnQoKSk7Ci0KLSAgICBSRUxFQVNFX0xPRyhNZW1vcnlQcmVzc3VyZSwgIlBhZ2UgY291bnQ6
ICV1IiwgcGFnZUNvdW50KCkpOwotICAgIFJFTEVBU0VfTE9HKE1lbW9yeVByZXNzdXJlLCAiRG9j
dW1lbnQgY291bnQ6ICV1IiwgRG9jdW1lbnQ6OmFsbERvY3VtZW50cygpLnNpemUoKSk7Ci0gICAg
UkVMRUFTRV9MT0coTWVtb3J5UHJlc3N1cmUsICJMaXZlIEphdmFTY3JpcHQgb2JqZWN0czoiKTsK
LSAgICBmb3IgKGF1dG8mIGl0IDogKnZtLmhlYXAub2JqZWN0VHlwZUNvdW50cygpKQotICAgICAg
ICBSRUxFQVNFX0xPRyhNZW1vcnlQcmVzc3VyZSwgIiAgJXM6ICVkIiwgaXQua2V5LCBpdC52YWx1
ZSk7Ci0jZW5kaWYKLX0KLQotdm9pZCBkaWRFeGNlZWRNZW1vcnlMaW1pdEFuZEZhaWxlZFRvUmVj
b3ZlcigpCi17Ci0gICAgUkVMRUFTRV9MT0coTWVtb3J5UHJlc3N1cmUsICJDcmFzaGluZyBub24t
dmlzaWJsZSBwcm9jZXNzIGR1ZSB0byBleGNlc3NpdmUgbWVtb3J5IHVzYWdlICsgaW5hYmlsaXR5
IHRvIGZyZWUgdXAgbWVtb3J5IGJlbG93IHBhbmljIHRocmVzaG9sZC4iKTsKLSAgICBsb2dNZW1v
cnlTdGF0aXN0aWNzQXRUaW1lT2ZEZWF0aCgpOwotICAgIENSQVNIKCk7Ci19Ci0KLWJvb2wgcHJv
Y2Vzc0lzRWxpZ2libGVGb3JNZW1vcnlLaWxsKCkKLXsKLSAgICBib29sIGhhc1Zpc2libGVQYWdl
cyA9IGZhbHNlOwotICAgIGJvb2wgaGFzQXVkaWJsZVBhZ2VzID0gZmFsc2U7Ci0gICAgYm9vbCBo
YXNNYWluRnJhbWVOYXZpZ2F0ZWRJblRoZUxhc3RIb3VyID0gZmFsc2U7Ci0KLSAgICBhdXRvIG5v
dyA9IE1vbm90b25pY1RpbWU6Om5vdygpOwotICAgIFBhZ2U6OmZvckVhY2hQYWdlKFsmXSAoUGFn
ZSYgcGFnZSkgewotICAgICAgICBpZiAocGFnZS5pc1V0aWxpdHlQYWdlKCkpCi0gICAgICAgICAg
ICByZXR1cm47Ci0gICAgICAgIGlmIChwYWdlLmlzVmlzaWJsZSgpKQotICAgICAgICAgICAgaGFz
VmlzaWJsZVBhZ2VzID0gdHJ1ZTsKLSAgICAgICAgaWYgKHBhZ2UuYWN0aXZpdHlTdGF0ZSgpICYg
QWN0aXZpdHlTdGF0ZTo6SXNBdWRpYmxlKQotICAgICAgICAgICAgaGFzQXVkaWJsZVBhZ2VzID0g
dHJ1ZTsKLSAgICAgICAgaWYgKGF1dG8gdGltZU9mTGFzdENvbXBsZXRlZExvYWQgPSBwYWdlLm1h
aW5GcmFtZSgpLnRpbWVPZkxhc3RDb21wbGV0ZWRMb2FkKCkpIHsKLSAgICAgICAgICAgIGlmIChu
b3cgLSB0aW1lT2ZMYXN0Q29tcGxldGVkTG9hZCA8PSBTZWNvbmRzOjpmcm9tTWludXRlcyg2MCkp
Ci0gICAgICAgICAgICAgICAgaGFzTWFpbkZyYW1lTmF2aWdhdGVkSW5UaGVMYXN0SG91ciA9IHRy
dWU7Ci0gICAgICAgIH0KLSAgICB9KTsKLQotICAgIGJvb2wgZWxpZ2libGUgPSAhaGFzVmlzaWJs
ZVBhZ2VzICYmICFoYXNBdWRpYmxlUGFnZXMgJiYgIWhhc01haW5GcmFtZU5hdmlnYXRlZEluVGhl
TGFzdEhvdXI7Ci0gICAgaWYgKCFlbGlnaWJsZSkKLSAgICAgICAgUkVMRUFTRV9MT0coTWVtb3J5
UHJlc3N1cmUsICJQcm9jZXNzIG5vdCBlbGlnaWJsZSBmb3IgcGFuaWMgbWVtb3J5IGtpbGwuIFJl
YXNvbnM6IGhhc1Zpc2libGVQYWdlcz0ldSwgaGFzQXVkaWJsZVBhZ2VzPSV1LCBoYXNNYWluRnJh
bWVOYXZpZ2F0ZWRJblRoZUxhc3RIb3VyPSV1IiwgaGFzVmlzaWJsZVBhZ2VzLCBoYXNBdWRpYmxl
UGFnZXMsIGhhc01haW5GcmFtZU5hdmlnYXRlZEluVGhlTGFzdEhvdXIpOwotCi0gICAgcmV0dXJu
IGVsaWdpYmxlOwotfQotCiAjaWYgIVBMQVRGT1JNKENPQ09BKQogdm9pZCBwbGF0Zm9ybVJlbGVh
c2VNZW1vcnkoQ3JpdGljYWwpIHsgfQogdm9pZCBqZXR0aXNvbkV4cGVuc2l2ZU9iamVjdHNPblRv
cExldmVsTmF2aWdhdGlvbigpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9N
ZW1vcnlSZWxlYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lbW9yeVJlbGVhc2UuaAppbmRl
eCBjZDQxMGExMmM5OTc5NDFmZWViZWRkZDBmOGM0NDVkZmFiNDk3YjEyLi4xZDk5MzcyY2FmMmU3
YTc2MjhkNTRkYmJkMTczOGVmMjdlYTJhMmU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL01lbW9yeVJlbGVhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lbW9yeVJlbGVh
c2UuaApAQCAtMzMsOCArMzMsNSBAQCBXRUJDT1JFX0VYUE9SVCB2b2lkIHJlbGVhc2VNZW1vcnko
Q3JpdGljYWwsIFN5bmNocm9ub3VzKTsKIHZvaWQgcGxhdGZvcm1SZWxlYXNlTWVtb3J5KENyaXRp
Y2FsKTsKIHZvaWQgamV0dGlzb25FeHBlbnNpdmVPYmplY3RzT25Ub3BMZXZlbE5hdmlnYXRpb24o
KTsKIFdFQkNPUkVfRVhQT1JUIHZvaWQgcmVnaXN0ZXJNZW1vcnlSZWxlYXNlTm90aWZ5Q2FsbGJh
Y2tzKCk7Ci1XRUJDT1JFX0VYUE9SVCB2b2lkIGxvZ01lbW9yeVN0YXRpc3RpY3NBdFRpbWVPZkRl
YXRoKCk7Ci1XRUJDT1JFX0VYUE9SVCBOT19SRVRVUk5fRFVFX1RPX0NSQVNIIHZvaWQgZGlkRXhj
ZWVkTWVtb3J5TGltaXRBbmRGYWlsZWRUb1JlY292ZXIoKTsKLVdFQkNPUkVfRVhQT1JUIGJvb2wg
cHJvY2Vzc0lzRWxpZ2libGVGb3JNZW1vcnlLaWxsKCk7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzb3VyY2VVc2FnZVRocmVhZC5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9SZXNvdXJjZVVzYWdlVGhyZWFkLmgKaW5kZXggMThhMWU2
NzU0M2QyMjA5YzE3OTU3NDczNjYyMmE3OGIzODRiYjhmYy4uZDk3MWY1ZWE4MzliZTk2NmI1M2Yz
NzUzZGRhZmEyMDQ5OTI0NmFkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9SZXNv
dXJjZVVzYWdlVGhyZWFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9SZXNvdXJjZVVzYWdl
VGhyZWFkLmgKQEAgLTgwLDcgKzgwLDYgQEAgc3RydWN0IFRhZ0luZm8gewogfTsKIAogY29uc3Qg
Y2hhciogZGlzcGxheU5hbWVGb3JWTVRhZyh1bnNpZ25lZCk7Ci1zaXplX3Qgdm1QYWdlU2l6ZSgp
Owogc3RkOjphcnJheTxUYWdJbmZvLCAyNTY+IHBhZ2VzUGVyVk1UYWcoKTsKIHZvaWQgbG9nRm9v
dHByaW50Q29tcGFyaXNvbihjb25zdCBzdGQ6OmFycmF5PFRhZ0luZm8sIDI1Nj4mLCBjb25zdCBz
dGQ6OmFycmF5PFRhZ0luZm8sIDI1Nj4mKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9jb2NvYS9SZXNvdXJjZVVzYWdlVGhyZWFkQ29jb2EubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL2NvY29hL1Jlc291cmNlVXNhZ2VUaHJlYWRDb2NvYS5tbQppbmRleCAwNjRhNjFh
Y2NlYzE1ZTIxMjM4ZmM2OWZhM2JlOTBmOTc0OTkzOWJlLi42OTEzNmFkZjRmNzI5OGVmNmY4NWI2
MTMzNmYxODliOGNhZDI2NjgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NvY29h
L1Jlc291cmNlVXNhZ2VUaHJlYWRDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2Nv
Y29hL1Jlc291cmNlVXNhZ2VUaHJlYWRDb2NvYS5tbQpAQCAtMzcsNyArMzcsNyBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLXNpemVfdCB2bVBhZ2VTaXplKCkKK3N0YXRpYyBzaXplX3Qgdm1Q
YWdlU2l6ZSgpCiB7CiAjaWYgUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxMDAwMDAKICAgICByZXR1cm4gdm1fa2VybmVsX3BhZ2Vfc2l6ZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lbW9yeVByZXNzdXJlSGFuZGxlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuY3BwCmlu
ZGV4IDMwNTE1ZWU1Y2FkMzQxNmQ1NDg3NWE1Y2ZhY2ZjNDg4NTQ5MjNhOWIuLmI5YWMwZTU5MDBk
YmZmOTA5NmU3YjExZjgxZjBjNmE5YTk3NTQ3YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL01lbW9yeVByZXNzdXJlSGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTEtMjAxNyBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTEsIDIwMTQgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2Vy
dmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNyw3ICsyNyw2IEBACiAj
aW5jbHVkZSAiTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmgiCiAKICNpbmNsdWRlICJMb2dnaW5nLmgi
Ci0jaW5jbHVkZSA8d3RmL01lbW9yeUZvb3RwcmludC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKQEAgLTQwLDEyMyArMzksMTIgQEAgTWVtb3J5UHJlc3N1cmVIYW5kbGVyJiBNZW1vcnlQcmVz
c3VyZUhhbmRsZXI6OnNpbmdsZXRvbigpCiB9CiAKIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6TWVt
b3J5UHJlc3N1cmVIYW5kbGVyKCkKLSAgICA6IG1fbWVhc3VyZW1lbnRUaW1lcihSdW5Mb29wOjpt
YWluKCksIHRoaXMsICZNZW1vcnlQcmVzc3VyZUhhbmRsZXI6Om1lYXN1cmVtZW50VGltZXJGaXJl
ZCkKICNpZiBPUyhMSU5VWCkKLSAgICAsIG1faG9sZE9mZlRpbWVyKFJ1bkxvb3A6Om1haW4oKSwg
dGhpcywgJk1lbW9yeVByZXNzdXJlSGFuZGxlcjo6aG9sZE9mZlRpbWVyRmlyZWQpCisgICAgOiBt
X2hvbGRPZmZUaW1lcihSdW5Mb29wOjptYWluKCksIHRoaXMsICZNZW1vcnlQcmVzc3VyZUhhbmRs
ZXI6OmhvbGRPZmZUaW1lckZpcmVkKQogI2VuZGlmCiB7CiB9CiAKLXZvaWQgTWVtb3J5UHJlc3N1
cmVIYW5kbGVyOjpzZXRTaG91bGRVc2VQZXJpb2RpY01lbW9yeU1vbml0b3IoYm9vbCB1c2UpCi17
Ci0gICAgaWYgKHVzZSkKLSAgICAgICAgbV9tZWFzdXJlbWVudFRpbWVyLnN0YXJ0UmVwZWF0aW5n
KDMwKTsKLSAgICBlbHNlCi0gICAgICAgIG1fbWVhc3VyZW1lbnRUaW1lci5zdG9wKCk7Ci19Ci0K
LSNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKLXN0YXRpYyBjb25zdCBjaGFyKiB0b1N0cmluZyhN
ZW1vcnlVc2FnZVBvbGljeSBwb2xpY3kpCi17Ci0gICAgc3dpdGNoIChwb2xpY3kpIHsKLSAgICBj
YXNlIE1lbW9yeVVzYWdlUG9saWN5OjpVbnJlc3RyaWN0ZWQ6IHJldHVybiAiVW5yZXN0cmljdGVk
IjsKLSAgICBjYXNlIE1lbW9yeVVzYWdlUG9saWN5OjpDb25zZXJ2YXRpdmU6IHJldHVybiAiQ29u
c2VydmF0aXZlIjsKLSAgICBjYXNlIE1lbW9yeVVzYWdlUG9saWN5OjpTdHJpY3Q6IHJldHVybiAi
U3RyaWN0IjsKLSAgICBjYXNlIE1lbW9yeVVzYWdlUG9saWN5OjpQYW5pYzogcmV0dXJuICJQYW5p
YyI7Ci0gICAgfQotfQotI2VuZGlmCi0KLXN0YXRpYyBpbmxpbmUgc2l6ZV90IHRocmVzaG9sZEZv
clBvbGljeShNZW1vcnlVc2FnZVBvbGljeSBwb2xpY3kpCi17Ci0gICAgc3dpdGNoIChwb2xpY3kp
IHsKLSAgICBjYXNlIE1lbW9yeVVzYWdlUG9saWN5OjpDb25zZXJ2YXRpdmU6Ci0gICAgICAgIHJl
dHVybiAxICogR0I7Ci0gICAgY2FzZSBNZW1vcnlVc2FnZVBvbGljeTo6U3RyaWN0OgotICAgICAg
ICByZXR1cm4gMiAqIEdCOwotICAgIGNhc2UgTWVtb3J5VXNhZ2VQb2xpY3k6OlBhbmljOgotI2lm
IENQVShYODZfNjQpIHx8IENQVShBUk02NCkKLSAgICAgICAgcmV0dXJuIDQgKiBHQjsKLSNlbHNl
Ci0gICAgICAgIHJldHVybiAzICogR0I7Ci0jZW5kaWYKLSAgICBjYXNlIE1lbW9yeVVzYWdlUG9s
aWN5OjpVbnJlc3RyaWN0ZWQ6Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7Ci0gICAgICAgIHJldHVybiAwOwotICAgIH0KLX0KLQotc3RhdGljIGlubGluZSBNZW1v
cnlVc2FnZVBvbGljeSBwb2xpY3lGb3JGb290cHJpbnQoc2l6ZV90IGZvb3RwcmludCkKLXsKLSAg
ICBpZiAoZm9vdHByaW50ID49IHRocmVzaG9sZEZvclBvbGljeShNZW1vcnlVc2FnZVBvbGljeTo6
UGFuaWMpKQotICAgICAgICByZXR1cm4gTWVtb3J5VXNhZ2VQb2xpY3k6OlBhbmljOwotICAgIGlm
IChmb290cHJpbnQgPj0gdGhyZXNob2xkRm9yUG9saWN5KE1lbW9yeVVzYWdlUG9saWN5OjpTdHJp
Y3QpKQotICAgICAgICByZXR1cm4gTWVtb3J5VXNhZ2VQb2xpY3k6OlN0cmljdDsKLSAgICBpZiAo
Zm9vdHByaW50ID49IHRocmVzaG9sZEZvclBvbGljeShNZW1vcnlVc2FnZVBvbGljeTo6Q29uc2Vy
dmF0aXZlKSkKLSAgICAgICAgcmV0dXJuIE1lbW9yeVVzYWdlUG9saWN5OjpDb25zZXJ2YXRpdmU7
Ci0gICAgcmV0dXJuIE1lbW9yeVVzYWdlUG9saWN5OjpVbnJlc3RyaWN0ZWQ7Ci19Ci0KLXZvaWQg
TWVtb3J5UHJlc3N1cmVIYW5kbGVyOjptZWFzdXJlbWVudFRpbWVyRmlyZWQoKQotewotICAgIGF1
dG8gZm9vdHByaW50ID0gbWVtb3J5Rm9vdHByaW50KCk7Ci0gICAgaWYgKCFmb290cHJpbnQpCi0g
ICAgICAgIHJldHVybjsKLQotICAgIFJFTEVBU0VfTE9HKE1lbW9yeVByZXNzdXJlLCAiQ3VycmVu
dCBtZW1vcnkgZm9vdHByaW50OiAlbHUgTUIiLCBmb290cHJpbnQudmFsdWUoKSAvIE1CKTsKLQot
ICAgIGF1dG8gbmV3UG9saWN5ID0gcG9saWN5Rm9yRm9vdHByaW50KGZvb3RwcmludC52YWx1ZSgp
KTsKLSAgICBpZiAobmV3UG9saWN5ID09IG1fbWVtb3J5VXNhZ2VQb2xpY3kpIHsKLSAgICAgICAg
aWYgKG1fbWVtb3J5VXNhZ2VQb2xpY3kgIT0gTWVtb3J5VXNhZ2VQb2xpY3k6OlBhbmljKQotICAg
ICAgICAgICAgcmV0dXJuOwotICAgICAgICBSRUxFQVNFX0xPRyhNZW1vcnlQcmVzc3VyZSwgIk1l
bW9yeSB1c2FnZSBzdGlsbCBhYm92ZSBwYW5pYyB0aHJlc2hvbGQiKTsKLSAgICB9IGVsc2UKLSAg
ICAgICAgUkVMRUFTRV9MT0coTWVtb3J5UHJlc3N1cmUsICJNZW1vcnkgdXNhZ2UgcG9saWN5IGNo
YW5nZWQ6ICVzIC0+ICVzIiwgdG9TdHJpbmcobV9tZW1vcnlVc2FnZVBvbGljeSksIHRvU3RyaW5n
KG5ld1BvbGljeSkpOwotCi0gICAgbV9tZW1vcnlVc2FnZVBvbGljeSA9IG5ld1BvbGljeTsKLQot
ICAgIGlmIChuZXdQb2xpY3kgPT0gTWVtb3J5VXNhZ2VQb2xpY3k6OlVucmVzdHJpY3RlZCkKLSAg
ICAgICAgcmV0dXJuOwotCi0gICAgaWYgKG5ld1BvbGljeSA9PSBNZW1vcnlVc2FnZVBvbGljeTo6
Q29uc2VydmF0aXZlKSB7Ci0gICAgICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhpcyBwb2xpY3kg
YnkgY2hvb3Npbmcgd2hpY2ggY2FjaGVzIHNob3VsZCByZXNwZWN0IGl0LCBhbmQgaG9va2luZyB0
aGVtIHVwLiAKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmIChuZXdQb2xpY3kgPT0g
TWVtb3J5VXNhZ2VQb2xpY3k6OlN0cmljdCkgewotICAgICAgICBSRUxFQVNFX0xPRyhNZW1vcnlQ
cmVzc3VyZSwgIkF0dGVtcHRpbmcgdG8gcmVkdWNlIG1lbW9yeSBmb290cHJpbnQgYnkgZnJlZWlu
ZyBsZXNzIGltcG9ydGFudCBvYmplY3RzLiIpOwotICAgICAgICByZWxlYXNlTWVtb3J5KENyaXRp
Y2FsOjpObywgU3luY2hyb25vdXM6Ok5vKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAg
IFJFTEVBU0VfQVNTRVJUKG5ld1BvbGljeSA9PSBNZW1vcnlVc2FnZVBvbGljeTo6UGFuaWMpOwot
Ci0gICAgUkVMRUFTRV9MT0coTWVtb3J5UHJlc3N1cmUsICJBdHRlbXB0aW5nIHRvIHJlZHVjZSBt
ZW1vcnkgZm9vdHByaW50IGJ5IGZyZWVpbmcgbW9yZSBpbXBvcnRhbnQgb2JqZWN0cy4iKTsKLSAg
ICBpZiAobV9wcm9jZXNzSXNFbGlnaWJsZUZvck1lbW9yeUtpbGxDYWxsYmFjaykgewotICAgICAg
ICBpZiAoIW1fcHJvY2Vzc0lzRWxpZ2libGVGb3JNZW1vcnlLaWxsQ2FsbGJhY2soKSkgewotICAg
ICAgICAgICAgcmVsZWFzZU1lbW9yeShDcml0aWNhbDo6WWVzLCBTeW5jaHJvbm91czo6Tm8pOwot
ICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgcmVsZWFzZU1lbW9y
eShDcml0aWNhbDo6WWVzLCBTeW5jaHJvbm91czo6WWVzKTsKLQotICAgIC8vIFJlbWVhc3VyZSBm
b290cHJpbnQgdG8gc2VlIGhvdyB3ZWxsIHRoZSBwcmVzc3VyZSBoYW5kbGVyIGRpZC4KLSAgICBm
b290cHJpbnQgPSBtZW1vcnlGb290cHJpbnQoKTsKLSAgICBSRUxFQVNFX0FTU0VSVChmb290cHJp
bnQpOwotCi0gICAgUkVMRUFTRV9MT0coTWVtb3J5UHJlc3N1cmUsICJOZXcgbWVtb3J5IGZvb3Rw
cmludDogJWx1IE1CIiwgZm9vdHByaW50LnZhbHVlKCkgLyBNQik7Ci0gICAgaWYgKGZvb3Rwcmlu
dC52YWx1ZSgpIDwgdGhyZXNob2xkRm9yUG9saWN5KE1lbW9yeVVzYWdlUG9saWN5OjpQYW5pYykp
IHsKLSAgICAgICAgbV9tZW1vcnlVc2FnZVBvbGljeSA9IHBvbGljeUZvckZvb3RwcmludChmb290
cHJpbnQudmFsdWUoKSk7Ci0gICAgICAgIFJFTEVBU0VfTE9HKE1lbW9yeVByZXNzdXJlLCAiUHJl
c3N1cmUgcmVkdWNlZCBiZWxvdyBwYW5pYyB0aHJlc2hvbGQuIE5ldyBtZW1vcnkgdXNhZ2UgcG9s
aWN5OiAlcyIsIHRvU3RyaW5nKG1fbWVtb3J5VXNhZ2VQb2xpY3kpKTsKLSAgICAgICAgcmV0dXJu
OwotICAgIH0KLQotICAgIGlmIChtX21lbW9yeUtpbGxDYWxsYmFjaykKLSAgICAgICAgbV9tZW1v
cnlLaWxsQ2FsbGJhY2soKTsKLX0KLQogdm9pZCBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OmJlZ2lu
U2ltdWxhdGVkTWVtb3J5UHJlc3N1cmUoKQogewogICAgIG1faXNTaW11bGF0aW5nTWVtb3J5UHJl
c3N1cmUgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVtb3J5
UHJlc3N1cmVIYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZW1vcnlQcmVzc3Vy
ZUhhbmRsZXIuaAppbmRleCBmM2RmNTQxM2ZlZjRkMDgwYzA3YmNjMjdiNGU0YmEzZGFmZDc4MDk1
Li42MDFhNDFlZGFlODk0MTMwMGZlY2YwYjQwZWU5M2M3NzNlZGUzZDc5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuaApAQCAtMzQsMTYgKzM0
LDE2IEBACiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0
cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KLSNpbmNsdWRlIDx3dGYvUnVuTG9v
cC5oPgogCiAjaWYgUExBVEZPUk0oSU9TKQogI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVk
ZSA8d3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaD4KLSNlbmRpZgotCisjZWxpZiBPUyhMSU5VWCkK
KyNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgogI2lmIFVTRShHTElCKQogI2luY2x1ZGUgPHd0Zi9n
bGliL0dSZWZQdHIuaD4KICNlbmRpZgorI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApA
QCAtNTUsMTMgKzU1LDYgQEAgZW51bSBNZW1vcnlQcmVzc3VyZVJlYXNvbiB7CiB9OwogI2VuZGlm
CiAKLWVudW0gY2xhc3MgTWVtb3J5VXNhZ2VQb2xpY3kgewotICAgIFVucmVzdHJpY3RlZCwgLy8g
QWxsb2NhdGUgYXMgbXVjaCBhcyB5b3Ugd2FudAotICAgIENvbnNlcnZhdGl2ZSwgLy8gTWF5YmUg
eW91IGRvbid0IGNhY2hlIGV2ZXJ5IHNpbmdsZSB0aGluZwotICAgIFN0cmljdCwgLy8gVGltZSB0
byBzdGFydCBwaW5jaGluZyBwZW5uaWVzIGZvciByZWFsCi0gICAgUGFuaWMsIC8vIE9IIEdPRCBX
RSdSRSBTSU5LSU5HLCBUSFJPVyBFVkVSWVRISU5HIE9WRVJCT0FSRAotfTsKLQogZW51bSBjbGFz
cyBDcml0aWNhbCB7IE5vLCBZZXMgfTsKIGVudW0gY2xhc3MgU3luY2hyb25vdXMgeyBObywgWWVz
IH07CiAKQEAgLTc1LDI0ICs2OCwxMiBAQCBwdWJsaWM6CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2
b2lkIGluc3RhbGwoKTsKIAotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0U2hvdWxkVXNlUGVy
aW9kaWNNZW1vcnlNb25pdG9yKGJvb2wpOwotCi0gICAgdm9pZCBzZXRNZW1vcnlLaWxsQ2FsbGJh
Y2soV1RGOjpGdW5jdGlvbjx2b2lkKCk+IGZ1bmN0aW9uKSB7IG1fbWVtb3J5S2lsbENhbGxiYWNr
ID0gV1RGTW92ZShmdW5jdGlvbik7IH0KLSAgICB2b2lkIHNldFByb2Nlc3NJc0VsaWdpYmxlRm9y
TWVtb3J5S2lsbENhbGxiYWNrKFdURjo6RnVuY3Rpb248Ym9vbCgpPiBmdW5jdGlvbikgeyBtX3By
b2Nlc3NJc0VsaWdpYmxlRm9yTWVtb3J5S2lsbENhbGxiYWNrID0gV1RGTW92ZShmdW5jdGlvbik7
IH0KLQogICAgIHZvaWQgc2V0TG93TWVtb3J5SGFuZGxlcihMb3dNZW1vcnlIYW5kbGVyJiYgaGFu
ZGxlcikKICAgICB7CiAgICAgICAgIG1fbG93TWVtb3J5SGFuZGxlciA9IFdURk1vdmUoaGFuZGxl
cik7CiAgICAgfQogCi0gICAgYm9vbCBpc1VuZGVyTWVtb3J5UHJlc3N1cmUoKSBjb25zdAotICAg
IHsKLSAgICAgICAgcmV0dXJuIG1fdW5kZXJNZW1vcnlQcmVzc3VyZQotI2lmIFBMQVRGT1JNKE1B
QykKLSAgICAgICAgICAgIHx8IG1fbWVtb3J5VXNhZ2VQb2xpY3kgPj0gTWVtb3J5VXNhZ2VQb2xp
Y3k6OlN0cmljdAotI2VuZGlmCi0gICAgICAgICAgICB8fCBtX2lzU2ltdWxhdGluZ01lbW9yeVBy
ZXNzdXJlOwotICAgIH0KKyAgICBib29sIGlzVW5kZXJNZW1vcnlQcmVzc3VyZSgpIGNvbnN0IHsg
cmV0dXJuIG1fdW5kZXJNZW1vcnlQcmVzc3VyZSB8fCBtX2lzU2ltdWxhdGluZ01lbW9yeVByZXNz
dXJlOyB9CiAgICAgdm9pZCBzZXRVbmRlck1lbW9yeVByZXNzdXJlKGJvb2wgYikgeyBtX3VuZGVy
TWVtb3J5UHJlc3N1cmUgPSBiOyB9CiAKICNpZiBQTEFURk9STShJT1MpCkBAIC0xNjgsOSArMTQ5
LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIHJlc3BvbmRUb01lbW9yeVByZXNzdXJlKENyaXRpY2Fs
LCBTeW5jaHJvbm91cyA9IFN5bmNocm9ub3VzOjpObyk7CiAgICAgdm9pZCBwbGF0Zm9ybVJlbGVh
c2VNZW1vcnkoQ3JpdGljYWwpOwogCi0gICAgTk9fUkVUVVJOX0RVRV9UT19DUkFTSCB2b2lkIGRp
ZEV4Y2VlZE1lbW9yeUxpbWl0QW5kRmFpbGVkVG9SZWNvdmVyKCk7Ci0gICAgdm9pZCBtZWFzdXJl
bWVudFRpbWVyRmlyZWQoKTsKLQogI2lmIE9TKExJTlVYKQogICAgIGNsYXNzIEV2ZW50RkRQb2xs
ZXIgewogICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFdmVudEZEUG9sbGVyKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CkBAIC0xOTIsMTYgKzE3MCwxMiBAQCBwcml2YXRlOgogI2VuZGlm
CiAKICAgICBib29sIG1faW5zdGFsbGVkIHsgZmFsc2UgfTsKKyAgICB0aW1lX3QgbV9sYXN0UmVz
cG9uZFRpbWUgeyAwIH07CiAgICAgTG93TWVtb3J5SGFuZGxlciBtX2xvd01lbW9yeUhhbmRsZXI7
CiAKICAgICBzdGQ6OmF0b21pYzxib29sPiBtX3VuZGVyTWVtb3J5UHJlc3N1cmU7CiAgICAgYm9v
bCBtX2lzU2ltdWxhdGluZ01lbW9yeVByZXNzdXJlIHsgZmFsc2UgfTsKIAotICAgIFJ1bkxvb3A6
OlRpbWVyPE1lbW9yeVByZXNzdXJlSGFuZGxlcj4gbV9tZWFzdXJlbWVudFRpbWVyOwotICAgIE1l
bW9yeVVzYWdlUG9saWN5IG1fbWVtb3J5VXNhZ2VQb2xpY3kgeyBNZW1vcnlVc2FnZVBvbGljeTo6
VW5yZXN0cmljdGVkIH07Ci0gICAgV1RGOjpGdW5jdGlvbjx2b2lkKCk+IG1fbWVtb3J5S2lsbENh
bGxiYWNrOwotICAgIFdURjo6RnVuY3Rpb248Ym9vbCgpPiBtX3Byb2Nlc3NJc0VsaWdpYmxlRm9y
TWVtb3J5S2lsbENhbGxiYWNrOwotCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIC8vIEZJWE1FOiBD
YW4gd2Ugc2hhcmUgbW9yZSBvZiB0aGlzIHdpdGggT3BlblNvdXJjZT8KICAgICB1aW50MzJfdCBt
X21lbW9yeVByZXNzdXJlUmVhc29uIHsgTWVtb3J5UHJlc3N1cmVSZWFzb25Ob25lIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAppbmRleCA1MWI0NTlkNmY1NDFlNjAz
YTY5MWQ0ZjQ5ZDMwZDlkMTRiN2ZiMDgwLi45YWRkNzA2MzI0YjM4YzRlZDA4ZDJiYmFmNGJkNGZj
NmMwMjVmMWI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nl
c3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAg
LTI2MSwxNSArMjYxLDYgQEAgdm9pZCBXZWJQcm9jZXNzOjppbml0aWFsaXplV2ViUHJvY2VzcyhX
ZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKICAgICAgICAgbWVtb3J5
UHJlc3N1cmVIYW5kbGVyLnNldExvd01lbW9yeUhhbmRsZXIoW10gKENyaXRpY2FsIGNyaXRpY2Fs
LCBTeW5jaHJvbm91cyBzeW5jaHJvbm91cykgewogICAgICAgICAgICAgV2ViQ29yZTo6cmVsZWFz
ZU1lbW9yeShjcml0aWNhbCwgc3luY2hyb25vdXMpOwogICAgICAgICB9KTsKLSNpZiBQTEFURk9S
TShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMDEyMDAKLSAgICAg
ICAgbWVtb3J5UHJlc3N1cmVIYW5kbGVyLnNldFNob3VsZFVzZVBlcmlvZGljTWVtb3J5TW9uaXRv
cih0cnVlKTsKLSAgICAgICAgbWVtb3J5UHJlc3N1cmVIYW5kbGVyLnNldE1lbW9yeUtpbGxDYWxs
YmFjayhbXSAoKSB7Ci0gICAgICAgICAgICBXZWJDb3JlOjpkaWRFeGNlZWRNZW1vcnlMaW1pdEFu
ZEZhaWxlZFRvUmVjb3ZlcigpOwotICAgICAgICB9KTsKLSAgICAgICAgbWVtb3J5UHJlc3N1cmVI
YW5kbGVyLnNldFByb2Nlc3NJc0VsaWdpYmxlRm9yTWVtb3J5S2lsbENhbGxiYWNrKFtdICgpIHsK
LSAgICAgICAgICAgIHJldHVybiBXZWJDb3JlOjpwcm9jZXNzSXNFbGlnaWJsZUZvck1lbW9yeUtp
bGwoKTsKLSAgICAgICAgfSk7Ci0jZW5kaWYKICAgICAgICAgbWVtb3J5UHJlc3N1cmVIYW5kbGVy
Lmluc3RhbGwoKTsKICAgICB9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>