<?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>179859</bug_id>
          
          <creation_ts>2017-11-18 05:36:45 -0800</creation_ts>
          <short_desc>[WTF] Remove CPU(HPPA) in StackBounds by using runtime stack direction test</short_desc>
          <delta_ts>2017-11-18 06:11:34 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>jfbastien</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1373531</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-11-18 05:36:45 -0800</bug_when>
    <thetext>[WTF] Remove CPU(HPPA) in StackBounds by using runtime stack direction test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1373532</commentid>
    <comment_count>1</comment_count>
      <attachid>327309</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-11-18 05:39:59 -0800</bug_when>
    <thetext>Created attachment 327309
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1373533</commentid>
    <comment_count>2</comment_count>
      <attachid>327309</attachid>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2017-11-18 05:50:27 -0800</bug_when>
    <thetext>Comment on attachment 327309
Patch

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

&gt; Source/WTF/wtf/StackBounds.cpp:61
&gt; +        result = testStackDirection(nullptr);

I don’t think nullptr is valid here.

&gt; Source/WTF/wtf/StackBounds.cpp:65
&gt; +

Seems like we can hardcode direction for known cpus here so they constant food away.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1373534</commentid>
    <comment_count>3</comment_count>
      <attachid>327309</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-11-18 05:52:47 -0800</bug_when>
    <thetext>Comment on attachment 327309
Patch

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

&gt;&gt; Source/WTF/wtf/StackBounds.cpp:61
&gt;&gt; +        result = testStackDirection(nullptr);
&gt; 
&gt; I don’t think nullptr is valid here.

I&apos;ll split this function to offer stack pointer to this function.

&gt;&gt; Source/WTF/wtf/StackBounds.cpp:65
&gt;&gt; +
&gt; 
&gt; Seems like we can hardcode direction for known cpus here so they constant food away.

I&apos;ll do this for major CPUs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1373536</commentid>
    <comment_count>4</comment_count>
      <attachid>327310</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-11-18 06:02:55 -0800</bug_when>
    <thetext>Created attachment 327310
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1373537</commentid>
    <comment_count>5</comment_count>
      <attachid>327310</attachid>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2017-11-18 06:05:31 -0800</bug_when>
    <thetext>Comment on attachment 327310
Patch

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

r=me with bugfix

&gt; Source/WTF/wtf/StackBounds.cpp:72
&gt; +        result = testStackDirection(nullptr);

That won’t compile with nullptr :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1373538</commentid>
    <comment_count>6</comment_count>
      <attachid>327311</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-11-18 06:05:52 -0800</bug_when>
    <thetext>Created attachment 327311
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1373539</commentid>
    <comment_count>7</comment_count>
      <attachid>327310</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-11-18 06:06:37 -0800</bug_when>
    <thetext>Comment on attachment 327310
Patch

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

&gt;&gt; Source/WTF/wtf/StackBounds.cpp:72
&gt;&gt; +        result = testStackDirection(nullptr);
&gt; 
&gt; That won’t compile with nullptr :)

Oops. Thanks. Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1373540</commentid>
    <comment_count>8</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-11-18 06:10:05 -0800</bug_when>
    <thetext>Committed r225015: &lt;https://trac.webkit.org/changeset/225015&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1373541</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-11-18 06:11:34 -0800</bug_when>
    <thetext>&lt;rdar://problem/35631948&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>327309</attachid>
            <date>2017-11-18 05:39:59 -0800</date>
            <delta_ts>2017-11-18 06:02:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179859-20171118223958.patch</filename>
            <type>text/plain</type>
            <size>5708</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1MDE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGUwNzNmZGJhOGQyOGZhOWNkYjA2MTkw
ZmI4MDNmZmM1M2ZkNTBlMTUuLjQ1MzhhYzIyMjhmOWI2MDgwMGU4ODI5ZThjOGU1M2E3MDRmY2U4
MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTctMTEtMTggIFl1c3VrZSBTdXp1a2kgIDx1dGF0
YW5lLnRlYUBnbWFpbC5jb20+CisKKyAgICAgICAgW1dURl0gUmVtb3ZlIENQVShIUFBBKSBpbiBT
dGFja0JvdW5kcyBieSB1c2luZyBydW50aW1lIHN0YWNrIGRpcmVjdGlvbiB0ZXN0CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk4NTkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDdXJyZW50bHksIHdlIGtu
b3cgdGhhdCBDUFUoSFBQQSkncyBzdGFjayBkaXJlY3Rpb24gaXMgdXB3YXJkISBCdXQgbGlzdGlu
ZworICAgICAgICBDUFUgYXJjaGl0ZWN0dXJlcyBoZXJlIGlzIG5vdCBhIHNjYWxhYmxlIHdheS4K
KworICAgICAgICBJbnN0ZWFkLCB3ZSB1c2UgcnVudGltZSBzdGFjayBkaXJlY3Rpb24gdGVzdC4g
QnkgZG9pbmcgc28sIHdlIGNhbiBoYW5kbGUKKyAgICAgICAgc3VjaCBhIHN0cmFuZ2UgYXJjaGl0
ZWN0dXJlIHdpdGhvdXQgbGlzdGluZyB0aGUgQ1BVIHRvIFBsYXRmb3JtLmguIFRoaXMgcGF2ZXMK
KyAgICAgICAgdGhlIHdheSB0byBkcm9wcGluZyBtYW55IENQVXMgaW4gUGxhdGZvcm0uaCBieSBy
ZXBsYWNpbmcgdGhlbSB3aXRoIENQVShVTktOT1dOKVsxXS4KKworICAgICAgICBXZSBhbHNvIGZp
eCBTdGFja0JvdW5kczo6aXNHcm93aW5nRG93bndhcmQoKS4KKworICAgICAgICBbMV06IGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzkyNDMKKworICAgICAgICAqIHd0
Zi9TdGFja0JvdW5kcy5jcHA6CisgICAgICAgIChXVEY6OnRlc3RTdGFja0RpcmVjdGlvbik6Cisg
ICAgICAgIChXVEY6OlN0YWNrQm91bmRzOjpzdGFja0RpcmVjdGlvbik6CisgICAgICAgIChXVEY6
OlN0YWNrQm91bmRzOjpuZXdUaHJlYWRTdGFja0JvdW5kcyk6CisgICAgICAgIChXVEY6OlN0YWNr
Qm91bmRzOjpjdXJyZW50VGhyZWFkU3RhY2tCb3VuZHNJbnRlcm5hbCk6CisgICAgICAgICogd3Rm
L1N0YWNrQm91bmRzLmg6CisgICAgICAgIChXVEY6OlN0YWNrQm91bmRzOjppc0dyb3dpbmdEb3du
d2FyZCBjb25zdCk6CisKIDIwMTctMTEtMTcgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KIAogICAgICAgICBVc2UgYSBzdHJvbmdseSB0eXBlZCBpZGVudGlmaWVyIGZvciBTV1NlcnZl
cjo6Q29ubmVjdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvU3RhY2tCb3VuZHMuY3Bw
IGIvU291cmNlL1dURi93dGYvU3RhY2tCb3VuZHMuY3BwCmluZGV4IGFmYjA4OGFiM2RhMmVmMmVl
YzAxMzAxNDMyYzY0ZjczMjA3ZTAwYWQuLjAzYWYzYWRiMWMwNTJhNzkxYmNmZWE4ZTc3ZmIzMGJh
NGY3Y2I3NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1N0YWNrQm91bmRzLmNwcAorKysg
Yi9Tb3VyY2UvV1RGL3d0Zi9TdGFja0JvdW5kcy5jcHAKQEAgLTIwLDYgKzIwLDggQEAKIAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlN0YWNrQm91bmRzLmgiCisjaW5jbHVkZSA8bXV0
ZXg+CisjaW5jbHVkZSA8d3RmL05vVGFpbENhbGxzLmg+CiAKICNpZiBPUyhEQVJXSU4pCiAKQEAg
LTQyLDEwICs0NCwzMCBAQAogCiBuYW1lc3BhY2UgV1RGIHsKIAorc3RhdGljIE5FVkVSX0lOTElO
RSBOT1RfVEFJTF9DQUxMRUQgU3RhY2tCb3VuZHM6OlN0YWNrRGlyZWN0aW9uIHRlc3RTdGFja0Rp
cmVjdGlvbih2b2xhdGlsZSBjb25zdCBpbnQqIHBvaW50ZXIpCit7CisgICAgTk9fVEFJTF9DQUxM
UygpOworICAgIHZvbGF0aWxlIGludCBzdGFja1ZhbHVlID0gNDI7CisgICAgaWYgKCFwb2ludGVy
KQorICAgICAgICByZXR1cm4gdGVzdFN0YWNrRGlyZWN0aW9uKCZzdGFja1ZhbHVlKTsKKyAgICBy
ZXR1cm4gKHBvaW50ZXIgPCAmc3RhY2tWYWx1ZSkgPyBTdGFja0JvdW5kczo6U3RhY2tEaXJlY3Rp
b246OlVwd2FyZCA6IFN0YWNrQm91bmRzOjpTdGFja0RpcmVjdGlvbjo6RG93bndhcmQ7Cit9CisK
K1N0YWNrQm91bmRzOjpTdGFja0RpcmVjdGlvbiBTdGFja0JvdW5kczo6c3RhY2tEaXJlY3Rpb24o
KQoreworICAgIHN0YXRpYyBTdGFja0JvdW5kczo6U3RhY2tEaXJlY3Rpb24gcmVzdWx0ID0gU3Rh
Y2tCb3VuZHM6OlN0YWNrRGlyZWN0aW9uOjpEb3dud2FyZDsKKyAgICBzdGF0aWMgc3RkOjpvbmNl
X2ZsYWcgb25jZUtleTsKKyAgICBzdGQ6OmNhbGxfb25jZShvbmNlS2V5LCBbXSB7CisgICAgICAg
IHJlc3VsdCA9IHRlc3RTdGFja0RpcmVjdGlvbihudWxscHRyKTsKKyAgICB9KTsKKyAgICByZXR1
cm4gcmVzdWx0OworfQorCiAjaWYgT1MoREFSV0lOKQogCiBTdGFja0JvdW5kcyBTdGFja0JvdW5k
czo6bmV3VGhyZWFkU3RhY2tCb3VuZHMoUGxhdGZvcm1UaHJlYWRIYW5kbGUgdGhyZWFkKQogewor
ICAgIEFTU0VSVChzdGFja0RpcmVjdGlvbigpID09IFN0YWNrRGlyZWN0aW9uOjpEb3dud2FyZCk7
CiAgICAgdm9pZCogb3JpZ2luID0gcHRocmVhZF9nZXRfc3RhY2thZGRyX25wKHRocmVhZCk7CiAg
ICAgcmxpbV90IHNpemUgPSBwdGhyZWFkX2dldF9zdGFja3NpemVfbnAodGhyZWFkKTsKICAgICB2
b2lkKiBib3VuZCA9IHN0YXRpY19jYXN0PGNoYXIqPihvcmlnaW4pIC0gc2l6ZTsKQEAgLTU0LDYg
Kzc2LDcgQEAgU3RhY2tCb3VuZHMgU3RhY2tCb3VuZHM6Om5ld1RocmVhZFN0YWNrQm91bmRzKFBs
YXRmb3JtVGhyZWFkSGFuZGxlIHRocmVhZCkKIAogU3RhY2tCb3VuZHMgU3RhY2tCb3VuZHM6OmN1
cnJlbnRUaHJlYWRTdGFja0JvdW5kc0ludGVybmFsKCkKIHsKKyAgICBBU1NFUlQoc3RhY2tEaXJl
Y3Rpb24oKSA9PSBTdGFja0RpcmVjdGlvbjo6RG93bndhcmQpOwogICAgIGlmIChwdGhyZWFkX21h
aW5fbnAoKSkgewogICAgICAgICAvLyBGSVhNRTogPHJkYXI6Ly9wcm9ibGVtLzEzNzQxMjA0Pgog
ICAgICAgICAvLyBwdGhyZWFkX2dldF9zaXplIGxpZXMgdG8gdXMgd2hlbiB3ZSdyZSB0aGUgbWFp
biB0aHJlYWQsIHVzZSBnZXRfcmxpbWl0IGluc3RlYWQKQEAgLTc2LDExICs5OSwxMSBAQCBTdGFj
a0JvdW5kcyBTdGFja0JvdW5kczo6bmV3VGhyZWFkU3RhY2tCb3VuZHMoUGxhdGZvcm1UaHJlYWRI
YW5kbGUgdGhyZWFkKQogICAgIHN0YWNrX3Qgc3RhY2s7CiAgICAgcHRocmVhZF9zdGFja3NlZ19u
cCh0aHJlYWQsICZzdGFjayk7CiAgICAgdm9pZCogb3JpZ2luID0gc3RhY2suc3Nfc3A7Ci0jaWYg
Q1BVKEhQUEEpCi0gICAgdm9pZCogYm91bmQgPSBzdGF0aWNfY2FzdDxjaGFyKj4ob3JpZ2luKSAr
IHN0YWNrLnNzX3NpemU7Ci0jZWxzZQotICAgIHZvaWQqIGJvdW5kID0gc3RhdGljX2Nhc3Q8Y2hh
cio+KG9yaWdpbikgLSBzdGFjay5zc19zaXplOwotI2VuZGlmCisgICAgdm9pZCogYm91bmQgPSBu
dWxscHRyOworICAgIGlmIChzdGFja0RpcmVjdGlvbigpID09IFN0YWNrRGlyZWN0aW9uOjpVcHdh
cmQpCisgICAgICAgIGJvdW5kID0gc3RhdGljX2Nhc3Q8Y2hhcio+KG9yaWdpbikgKyBzdGFjay5z
c19zaXplOworICAgIGVsc2UKKyAgICAgICAgYm91bmQgPSBzdGF0aWNfY2FzdDxjaGFyKj4ob3Jp
Z2luKSAtIHN0YWNrLnNzX3NpemU7CiAgICAgcmV0dXJuIFN0YWNrQm91bmRzIHsgb3JpZ2luLCBi
b3VuZCB9OwogfQogCkBAIC0xMDUsNiArMTI4LDEwIEBAIFN0YWNrQm91bmRzIFN0YWNrQm91bmRz
OjpuZXdUaHJlYWRTdGFja0JvdW5kcyhQbGF0Zm9ybVRocmVhZEhhbmRsZSB0aHJlYWQpCiAgICAg
QVNTRVJUKGJvdW5kKTsKICAgICBwdGhyZWFkX2F0dHJfZGVzdHJveSgmc2F0dHIpOwogICAgIHZv
aWQqIG9yaWdpbiA9IHN0YXRpY19jYXN0PGNoYXIqPihib3VuZCkgKyBzdGFja1NpemU7CisgICAg
Ly8gcHRocmVhZF9hdHRyX2dldHN0YWNrJ3MgYm91bmQgaXMgdGhlIGxvd2VzdCBhY2Nlc3NpYmxl
IHBvaW50ZXIgb2YgdGhlIHN0YWNrLgorICAgIC8vIElmIHN0YWNrIGdyb3dzIHVwLCBvcmlnaW4g
YW5kIGJvdW5kIGluIHRoaXMgY29kZSBzaG91bGQgYmUgc3dhcHBlZC4KKyAgICBpZiAoc3RhY2tE
aXJlY3Rpb24oKSA9PSBTdGFja0RpcmVjdGlvbjo6VXB3YXJkKQorICAgICAgICBzdGQ6OnN3YXAo
b3JpZ2luLCBib3VuZCk7CiAgICAgcmV0dXJuIFN0YWNrQm91bmRzIHsgb3JpZ2luLCBib3VuZCB9
OwogfQogCkBAIC0xMTksNiArMTQ2LDcgQEAgU3RhY2tCb3VuZHMgU3RhY2tCb3VuZHM6OmN1cnJl
bnRUaHJlYWRTdGFja0JvdW5kc0ludGVybmFsKCkKIAogU3RhY2tCb3VuZHMgU3RhY2tCb3VuZHM6
OmN1cnJlbnRUaHJlYWRTdGFja0JvdW5kc0ludGVybmFsKCkKIHsKKyAgICBBU1NFUlQoc3RhY2tE
aXJlY3Rpb24oKSA9PSBTdGFja0RpcmVjdGlvbjo6RG93bndhcmQpOwogICAgIE1FTU9SWV9CQVNJ
Q19JTkZPUk1BVElPTiBzdGFja09yaWdpbiA9IHsgMCB9OwogICAgIFZpcnR1YWxRdWVyeSgmc3Rh
Y2tPcmlnaW4sICZzdGFja09yaWdpbiwgc2l6ZW9mKHN0YWNrT3JpZ2luKSk7CiAgICAgLy8gc3Rh
Y2tPcmlnaW4uQWxsb2NhdGlvbkJhc2UgcG9pbnRzIHRvIHRoZSByZXNlcnZlZCBzdGFjayBtZW1v
cnkgYmFzZSBhZGRyZXNzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvU3RhY2tCb3VuZHMu
aCBiL1NvdXJjZS9XVEYvd3RmL1N0YWNrQm91bmRzLmgKaW5kZXggNTIzNGNkMjhkOTJlYjhjOTEw
MmY3ZTcxNjNhZTZkZTAxZDk2ZGY5OC4uZDJmMGM3YjJlYWUyYTU1YzU2MTk1ZTFkYmFiZmViMDgw
NGVhNmUwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvU3RhY2tCb3VuZHMuaAorKysgYi9T
b3VyY2UvV1RGL3d0Zi9TdGFja0JvdW5kcy5oCkBAIC00MSw2ICs0MSw4IEBAIGNsYXNzIFN0YWNr
Qm91bmRzIHsKICAgICBjb25zdCBzdGF0aWMgc2l6ZV90IHNfZGVmYXVsdEF2YWlsYWJpbGl0eURl
bHRhID0gNjQgKiAxMDI0OwogCiBwdWJsaWM6CisgICAgZW51bSBjbGFzcyBTdGFja0RpcmVjdGlv
biB7IFVwd2FyZCwgRG93bndhcmQgfTsKKwogICAgIHN0YXRpYyBjb25zdGV4cHIgU3RhY2tCb3Vu
ZHMgZW1wdHlCb3VuZHMoKSB7IHJldHVybiBTdGFja0JvdW5kcygpOyB9CiAKICNpZiBIQVZFKFNU
QUNLX0JPVU5EU19GT1JfTkVXX1RIUkVBRCkKQEAgLTEyMSw3ICsxMjMsNyBAQCBjbGFzcyBTdGFj
a0JvdW5kcyB7CiAgICAgYm9vbCBpc0dyb3dpbmdEb3dud2FyZCgpIGNvbnN0CiAgICAgewogICAg
ICAgICBBU1NFUlQobV9vcmlnaW4gJiYgbV9ib3VuZCk7Ci0gICAgICAgIHJldHVybiB0cnVlOwor
ICAgICAgICByZXR1cm4gbV9ib3VuZCA8PSBtX29yaWdpbjsKICAgICB9CiAKIHByaXZhdGU6CkBA
IC0xMzcsNiArMTM5LDggQEAgY2xhc3MgU3RhY2tCb3VuZHMgewogICAgIHsKICAgICB9CiAKKyAg
ICBXVEZfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFN0YWNrRGlyZWN0aW9uIHN0YWNrRGlyZWN0aW9u
KCk7CisKICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFN0YWNrQm91bmRzIGN1cnJlbnRU
aHJlYWRTdGFja0JvdW5kc0ludGVybmFsKCk7CiAKICAgICB2b2lkIGNoZWNrQ29uc2lzdGVuY3ko
KSBjb25zdAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>327310</attachid>
            <date>2017-11-18 06:02:55 -0800</date>
            <delta_ts>2017-11-18 06:05:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179859-20171118230254.patch</filename>
            <type>text/plain</type>
            <size>6070</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1MDE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGUwNzNmZGJhOGQyOGZhOWNkYjA2MTkw
ZmI4MDNmZmM1M2ZkNTBlMTUuLjg0MzhiMWM1ODM4NWYyNWFhYmRiY2Y4NWJkY2RhNjVkZTliY2Ni
ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTctMTEtMTggIFl1c3VrZSBTdXp1a2kgIDx1dGF0
YW5lLnRlYUBnbWFpbC5jb20+CisKKyAgICAgICAgW1dURl0gUmVtb3ZlIENQVShIUFBBKSBpbiBT
dGFja0JvdW5kcyBieSB1c2luZyBydW50aW1lIHN0YWNrIGRpcmVjdGlvbiB0ZXN0CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk4NTkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDdXJyZW50bHksIHdlIGtu
b3cgdGhhdCBDUFUoSFBQQSkncyBzdGFjayBkaXJlY3Rpb24gaXMgdXB3YXJkISBCdXQgbGlzdGlu
ZworICAgICAgICBDUFUgYXJjaGl0ZWN0dXJlcyBoZXJlIGlzIG5vdCBhIHNjYWxhYmxlIHdheS4K
KworICAgICAgICBJbnN0ZWFkLCB3ZSB1c2UgcnVudGltZSBzdGFjayBkaXJlY3Rpb24gdGVzdC4g
QnkgZG9pbmcgc28sIHdlIGNhbiBoYW5kbGUKKyAgICAgICAgc3VjaCBhIHN0cmFuZ2UgYXJjaGl0
ZWN0dXJlIHdpdGhvdXQgbGlzdGluZyB0aGUgQ1BVIHRvIFBsYXRmb3JtLmguIFRoaXMgcGF2ZXMK
KyAgICAgICAgdGhlIHdheSB0byBkcm9wcGluZyBtYW55IENQVXMgaW4gUGxhdGZvcm0uaCBieSBy
ZXBsYWNpbmcgdGhlbSB3aXRoIENQVShVTktOT1dOKVsxXS4KKworICAgICAgICBXZSBhbHNvIGZp
eCBTdGFja0JvdW5kczo6aXNHcm93aW5nRG93bndhcmQoKS4KKworICAgICAgICBbMV06IGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzkyNDMKKworICAgICAgICAqIHd0
Zi9TdGFja0JvdW5kcy5jcHA6CisgICAgICAgIChXVEY6OlN0YWNrQm91bmRzOjpzdGFja0RpcmVj
dGlvbik6CisgICAgICAgIChXVEY6OnRlc3RTdGFja0RpcmVjdGlvbjIpOgorICAgICAgICAoV1RG
Ojp0ZXN0U3RhY2tEaXJlY3Rpb24pOgorICAgICAgICAoV1RGOjpTdGFja0JvdW5kczo6bmV3VGhy
ZWFkU3RhY2tCb3VuZHMpOgorICAgICAgICAoV1RGOjpTdGFja0JvdW5kczo6Y3VycmVudFRocmVh
ZFN0YWNrQm91bmRzSW50ZXJuYWwpOgorICAgICAgICAqIHd0Zi9TdGFja0JvdW5kcy5oOgorICAg
ICAgICAoV1RGOjpTdGFja0JvdW5kczo6aXNHcm93aW5nRG93bndhcmQgY29uc3QpOgorCiAyMDE3
LTExLTE3ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIGEg
c3Ryb25nbHkgdHlwZWQgaWRlbnRpZmllciBmb3IgU1dTZXJ2ZXI6OkNvbm5lY3Rpb24KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XVEYvd3RmL1N0YWNrQm91bmRzLmNwcCBiL1NvdXJjZS9XVEYvd3RmL1N0
YWNrQm91bmRzLmNwcAppbmRleCBhZmIwODhhYjNkYTJlZjJlZWMwMTMwMTQzMmM2NGY3MzIwN2Uw
MGFkLi5lMGI0YmZjNTIxZDIxNWVhMmIzYWYyZDc4YTc5OTkxNzQwMDQzM2E0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL3d0Zi9TdGFja0JvdW5kcy5jcHAKKysrIGIvU291cmNlL1dURi93dGYvU3Rh
Y2tCb3VuZHMuY3BwCkBAIC0yMCw2ICsyMCw4IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKICNp
bmNsdWRlICJTdGFja0JvdW5kcy5oIgorI2luY2x1ZGUgPG11dGV4PgorI2luY2x1ZGUgPHd0Zi9O
b1RhaWxDYWxscy5oPgogCiAjaWYgT1MoREFSV0lOKQogCkBAIC00MiwxMCArNDQsNDIgQEAKIAog
bmFtZXNwYWNlIFdURiB7CiAKKyNpZiBDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUoQVJN
KSB8fCBDUFUoQVJNNjQpIHx8IENQVShNSVBTKQorQUxXQVlTX0lOTElORSBTdGFja0JvdW5kczo6
U3RhY2tEaXJlY3Rpb24gU3RhY2tCb3VuZHM6OnN0YWNrRGlyZWN0aW9uKCkKK3sKKyAgICByZXR1
cm4gU3RhY2tEaXJlY3Rpb246OkRvd253YXJkOworfQorI2Vsc2UKK3N0YXRpYyBORVZFUl9JTkxJ
TkUgTk9UX1RBSUxfQ0FMTEVEIFN0YWNrQm91bmRzOjpTdGFja0RpcmVjdGlvbiB0ZXN0U3RhY2tE
aXJlY3Rpb24yKHZvbGF0aWxlIGNvbnN0IGludCogcG9pbnRlcikKK3sKKyAgICBOT19UQUlMX0NB
TExTKCk7CisgICAgdm9sYXRpbGUgaW50IHN0YWNrVmFsdWUgPSA0MjsKKyAgICByZXR1cm4gKHBv
aW50ZXIgPCAmc3RhY2tWYWx1ZSkgPyBTdGFja0JvdW5kczo6U3RhY2tEaXJlY3Rpb246OlVwd2Fy
ZCA6IFN0YWNrQm91bmRzOjpTdGFja0RpcmVjdGlvbjo6RG93bndhcmQ7Cit9CisKK3N0YXRpYyBO
RVZFUl9JTkxJTkUgTk9UX1RBSUxfQ0FMTEVEIFN0YWNrQm91bmRzOjpTdGFja0RpcmVjdGlvbiB0
ZXN0U3RhY2tEaXJlY3Rpb24oKQoreworICAgIE5PX1RBSUxfQ0FMTFMoKTsKKyAgICB2b2xhdGls
ZSBpbnQgc3RhY2tWYWx1ZSA9IDQyOworICAgIHJldHVybiB0ZXN0U3RhY2tEaXJlY3Rpb24yKCZz
dGFja1ZhbHVlKTsKK30KKworTkVWRVJfSU5MSU5FIFN0YWNrQm91bmRzOjpTdGFja0RpcmVjdGlv
biBTdGFja0JvdW5kczo6c3RhY2tEaXJlY3Rpb24oKQoreworICAgIHN0YXRpYyBTdGFja0JvdW5k
czo6U3RhY2tEaXJlY3Rpb24gcmVzdWx0ID0gU3RhY2tCb3VuZHM6OlN0YWNrRGlyZWN0aW9uOjpE
b3dud2FyZDsKKyAgICBzdGF0aWMgc3RkOjpvbmNlX2ZsYWcgb25jZUtleTsKKyAgICBzdGQ6OmNh
bGxfb25jZShvbmNlS2V5LCBbXSB7CisgICAgICAgIHJlc3VsdCA9IHRlc3RTdGFja0RpcmVjdGlv
bihudWxscHRyKTsKKyAgICB9KTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorI2VuZGlmCisKICNp
ZiBPUyhEQVJXSU4pCiAKIFN0YWNrQm91bmRzIFN0YWNrQm91bmRzOjpuZXdUaHJlYWRTdGFja0Jv
dW5kcyhQbGF0Zm9ybVRocmVhZEhhbmRsZSB0aHJlYWQpCiB7CisgICAgQVNTRVJUKHN0YWNrRGly
ZWN0aW9uKCkgPT0gU3RhY2tEaXJlY3Rpb246OkRvd253YXJkKTsKICAgICB2b2lkKiBvcmlnaW4g
PSBwdGhyZWFkX2dldF9zdGFja2FkZHJfbnAodGhyZWFkKTsKICAgICBybGltX3Qgc2l6ZSA9IHB0
aHJlYWRfZ2V0X3N0YWNrc2l6ZV9ucCh0aHJlYWQpOwogICAgIHZvaWQqIGJvdW5kID0gc3RhdGlj
X2Nhc3Q8Y2hhcio+KG9yaWdpbikgLSBzaXplOwpAQCAtNTQsNiArODgsNyBAQCBTdGFja0JvdW5k
cyBTdGFja0JvdW5kczo6bmV3VGhyZWFkU3RhY2tCb3VuZHMoUGxhdGZvcm1UaHJlYWRIYW5kbGUg
dGhyZWFkKQogCiBTdGFja0JvdW5kcyBTdGFja0JvdW5kczo6Y3VycmVudFRocmVhZFN0YWNrQm91
bmRzSW50ZXJuYWwoKQogeworICAgIEFTU0VSVChzdGFja0RpcmVjdGlvbigpID09IFN0YWNrRGly
ZWN0aW9uOjpEb3dud2FyZCk7CiAgICAgaWYgKHB0aHJlYWRfbWFpbl9ucCgpKSB7CiAgICAgICAg
IC8vIEZJWE1FOiA8cmRhcjovL3Byb2JsZW0vMTM3NDEyMDQ+CiAgICAgICAgIC8vIHB0aHJlYWRf
Z2V0X3NpemUgbGllcyB0byB1cyB3aGVuIHdlJ3JlIHRoZSBtYWluIHRocmVhZCwgdXNlIGdldF9y
bGltaXQgaW5zdGVhZApAQCAtNzYsMTEgKzExMSwxMSBAQCBTdGFja0JvdW5kcyBTdGFja0JvdW5k
czo6bmV3VGhyZWFkU3RhY2tCb3VuZHMoUGxhdGZvcm1UaHJlYWRIYW5kbGUgdGhyZWFkKQogICAg
IHN0YWNrX3Qgc3RhY2s7CiAgICAgcHRocmVhZF9zdGFja3NlZ19ucCh0aHJlYWQsICZzdGFjayk7
CiAgICAgdm9pZCogb3JpZ2luID0gc3RhY2suc3Nfc3A7Ci0jaWYgQ1BVKEhQUEEpCi0gICAgdm9p
ZCogYm91bmQgPSBzdGF0aWNfY2FzdDxjaGFyKj4ob3JpZ2luKSArIHN0YWNrLnNzX3NpemU7Ci0j
ZWxzZQotICAgIHZvaWQqIGJvdW5kID0gc3RhdGljX2Nhc3Q8Y2hhcio+KG9yaWdpbikgLSBzdGFj
ay5zc19zaXplOwotI2VuZGlmCisgICAgdm9pZCogYm91bmQgPSBudWxscHRyOworICAgIGlmIChz
dGFja0RpcmVjdGlvbigpID09IFN0YWNrRGlyZWN0aW9uOjpVcHdhcmQpCisgICAgICAgIGJvdW5k
ID0gc3RhdGljX2Nhc3Q8Y2hhcio+KG9yaWdpbikgKyBzdGFjay5zc19zaXplOworICAgIGVsc2UK
KyAgICAgICAgYm91bmQgPSBzdGF0aWNfY2FzdDxjaGFyKj4ob3JpZ2luKSAtIHN0YWNrLnNzX3Np
emU7CiAgICAgcmV0dXJuIFN0YWNrQm91bmRzIHsgb3JpZ2luLCBib3VuZCB9OwogfQogCkBAIC0x
MDUsNiArMTQwLDEwIEBAIFN0YWNrQm91bmRzIFN0YWNrQm91bmRzOjpuZXdUaHJlYWRTdGFja0Jv
dW5kcyhQbGF0Zm9ybVRocmVhZEhhbmRsZSB0aHJlYWQpCiAgICAgQVNTRVJUKGJvdW5kKTsKICAg
ICBwdGhyZWFkX2F0dHJfZGVzdHJveSgmc2F0dHIpOwogICAgIHZvaWQqIG9yaWdpbiA9IHN0YXRp
Y19jYXN0PGNoYXIqPihib3VuZCkgKyBzdGFja1NpemU7CisgICAgLy8gcHRocmVhZF9hdHRyX2dl
dHN0YWNrJ3MgYm91bmQgaXMgdGhlIGxvd2VzdCBhY2Nlc3NpYmxlIHBvaW50ZXIgb2YgdGhlIHN0
YWNrLgorICAgIC8vIElmIHN0YWNrIGdyb3dzIHVwLCBvcmlnaW4gYW5kIGJvdW5kIGluIHRoaXMg
Y29kZSBzaG91bGQgYmUgc3dhcHBlZC4KKyAgICBpZiAoc3RhY2tEaXJlY3Rpb24oKSA9PSBTdGFj
a0RpcmVjdGlvbjo6VXB3YXJkKQorICAgICAgICBzdGQ6OnN3YXAob3JpZ2luLCBib3VuZCk7CiAg
ICAgcmV0dXJuIFN0YWNrQm91bmRzIHsgb3JpZ2luLCBib3VuZCB9OwogfQogCkBAIC0xMTksNiAr
MTU4LDcgQEAgU3RhY2tCb3VuZHMgU3RhY2tCb3VuZHM6OmN1cnJlbnRUaHJlYWRTdGFja0JvdW5k
c0ludGVybmFsKCkKIAogU3RhY2tCb3VuZHMgU3RhY2tCb3VuZHM6OmN1cnJlbnRUaHJlYWRTdGFj
a0JvdW5kc0ludGVybmFsKCkKIHsKKyAgICBBU1NFUlQoc3RhY2tEaXJlY3Rpb24oKSA9PSBTdGFj
a0RpcmVjdGlvbjo6RG93bndhcmQpOwogICAgIE1FTU9SWV9CQVNJQ19JTkZPUk1BVElPTiBzdGFj
a09yaWdpbiA9IHsgMCB9OwogICAgIFZpcnR1YWxRdWVyeSgmc3RhY2tPcmlnaW4sICZzdGFja09y
aWdpbiwgc2l6ZW9mKHN0YWNrT3JpZ2luKSk7CiAgICAgLy8gc3RhY2tPcmlnaW4uQWxsb2NhdGlv
bkJhc2UgcG9pbnRzIHRvIHRoZSByZXNlcnZlZCBzdGFjayBtZW1vcnkgYmFzZSBhZGRyZXNzLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvU3RhY2tCb3VuZHMuaCBiL1NvdXJjZS9XVEYvd3Rm
L1N0YWNrQm91bmRzLmgKaW5kZXggNTIzNGNkMjhkOTJlYjhjOTEwMmY3ZTcxNjNhZTZkZTAxZDk2
ZGY5OC4uMTNmNmJlNjI5NjM4NGMzY2Q5Y2ZhMThiNzllNmJkNjE1MTFhZjI4MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dURi93dGYvU3RhY2tCb3VuZHMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9TdGFj
a0JvdW5kcy5oCkBAIC00MSw2ICs0MSw4IEBAIGNsYXNzIFN0YWNrQm91bmRzIHsKICAgICBjb25z
dCBzdGF0aWMgc2l6ZV90IHNfZGVmYXVsdEF2YWlsYWJpbGl0eURlbHRhID0gNjQgKiAxMDI0Owog
CiBwdWJsaWM6CisgICAgZW51bSBjbGFzcyBTdGFja0RpcmVjdGlvbiB7IFVwd2FyZCwgRG93bndh
cmQgfTsKKwogICAgIHN0YXRpYyBjb25zdGV4cHIgU3RhY2tCb3VuZHMgZW1wdHlCb3VuZHMoKSB7
IHJldHVybiBTdGFja0JvdW5kcygpOyB9CiAKICNpZiBIQVZFKFNUQUNLX0JPVU5EU19GT1JfTkVX
X1RIUkVBRCkKQEAgLTEyMSw3ICsxMjMsNyBAQCBjbGFzcyBTdGFja0JvdW5kcyB7CiAgICAgYm9v
bCBpc0dyb3dpbmdEb3dud2FyZCgpIGNvbnN0CiAgICAgewogICAgICAgICBBU1NFUlQobV9vcmln
aW4gJiYgbV9ib3VuZCk7Ci0gICAgICAgIHJldHVybiB0cnVlOworICAgICAgICByZXR1cm4gbV9i
b3VuZCA8PSBtX29yaWdpbjsKICAgICB9CiAKIHByaXZhdGU6CkBAIC0xMzcsNiArMTM5LDggQEAg
Y2xhc3MgU3RhY2tCb3VuZHMgewogICAgIHsKICAgICB9CiAKKyAgICBzdGF0aWMgU3RhY2tEaXJl
Y3Rpb24gc3RhY2tEaXJlY3Rpb24oKTsKKwogICAgIFdURl9FWFBPUlRfUFJJVkFURSBzdGF0aWMg
U3RhY2tCb3VuZHMgY3VycmVudFRocmVhZFN0YWNrQm91bmRzSW50ZXJuYWwoKTsKIAogICAgIHZv
aWQgY2hlY2tDb25zaXN0ZW5jeSgpIGNvbnN0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>327311</attachid>
            <date>2017-11-18 06:05:52 -0800</date>
            <delta_ts>2017-11-18 06:07:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179859-20171118230551.patch</filename>
            <type>text/plain</type>
            <size>6074</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1MDE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGUwNzNmZGJhOGQyOGZhOWNkYjA2MTkw
ZmI4MDNmZmM1M2ZkNTBlMTUuLjg0MzhiMWM1ODM4NWYyNWFhYmRiY2Y4NWJkY2RhNjVkZTliY2Ni
ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTctMTEtMTggIFl1c3VrZSBTdXp1a2kgIDx1dGF0
YW5lLnRlYUBnbWFpbC5jb20+CisKKyAgICAgICAgW1dURl0gUmVtb3ZlIENQVShIUFBBKSBpbiBT
dGFja0JvdW5kcyBieSB1c2luZyBydW50aW1lIHN0YWNrIGRpcmVjdGlvbiB0ZXN0CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk4NTkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDdXJyZW50bHksIHdlIGtu
b3cgdGhhdCBDUFUoSFBQQSkncyBzdGFjayBkaXJlY3Rpb24gaXMgdXB3YXJkISBCdXQgbGlzdGlu
ZworICAgICAgICBDUFUgYXJjaGl0ZWN0dXJlcyBoZXJlIGlzIG5vdCBhIHNjYWxhYmxlIHdheS4K
KworICAgICAgICBJbnN0ZWFkLCB3ZSB1c2UgcnVudGltZSBzdGFjayBkaXJlY3Rpb24gdGVzdC4g
QnkgZG9pbmcgc28sIHdlIGNhbiBoYW5kbGUKKyAgICAgICAgc3VjaCBhIHN0cmFuZ2UgYXJjaGl0
ZWN0dXJlIHdpdGhvdXQgbGlzdGluZyB0aGUgQ1BVIHRvIFBsYXRmb3JtLmguIFRoaXMgcGF2ZXMK
KyAgICAgICAgdGhlIHdheSB0byBkcm9wcGluZyBtYW55IENQVXMgaW4gUGxhdGZvcm0uaCBieSBy
ZXBsYWNpbmcgdGhlbSB3aXRoIENQVShVTktOT1dOKVsxXS4KKworICAgICAgICBXZSBhbHNvIGZp
eCBTdGFja0JvdW5kczo6aXNHcm93aW5nRG93bndhcmQoKS4KKworICAgICAgICBbMV06IGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzkyNDMKKworICAgICAgICAqIHd0
Zi9TdGFja0JvdW5kcy5jcHA6CisgICAgICAgIChXVEY6OlN0YWNrQm91bmRzOjpzdGFja0RpcmVj
dGlvbik6CisgICAgICAgIChXVEY6OnRlc3RTdGFja0RpcmVjdGlvbjIpOgorICAgICAgICAoV1RG
Ojp0ZXN0U3RhY2tEaXJlY3Rpb24pOgorICAgICAgICAoV1RGOjpTdGFja0JvdW5kczo6bmV3VGhy
ZWFkU3RhY2tCb3VuZHMpOgorICAgICAgICAoV1RGOjpTdGFja0JvdW5kczo6Y3VycmVudFRocmVh
ZFN0YWNrQm91bmRzSW50ZXJuYWwpOgorICAgICAgICAqIHd0Zi9TdGFja0JvdW5kcy5oOgorICAg
ICAgICAoV1RGOjpTdGFja0JvdW5kczo6aXNHcm93aW5nRG93bndhcmQgY29uc3QpOgorCiAyMDE3
LTExLTE3ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIGEg
c3Ryb25nbHkgdHlwZWQgaWRlbnRpZmllciBmb3IgU1dTZXJ2ZXI6OkNvbm5lY3Rpb24KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XVEYvd3RmL1N0YWNrQm91bmRzLmNwcCBiL1NvdXJjZS9XVEYvd3RmL1N0
YWNrQm91bmRzLmNwcAppbmRleCBhZmIwODhhYjNkYTJlZjJlZWMwMTMwMTQzMmM2NGY3MzIwN2Uw
MGFkLi42ZDAzODk3MTgxYzg1YmJhMmRiMTU2ZDY0NTc5YzIyM2QwYTVjMGRmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL3d0Zi9TdGFja0JvdW5kcy5jcHAKKysrIGIvU291cmNlL1dURi93dGYvU3Rh
Y2tCb3VuZHMuY3BwCkBAIC0yMCw2ICsyMCw4IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKICNp
bmNsdWRlICJTdGFja0JvdW5kcy5oIgorI2luY2x1ZGUgPG11dGV4PgorI2luY2x1ZGUgPHd0Zi9O
b1RhaWxDYWxscy5oPgogCiAjaWYgT1MoREFSV0lOKQogCkBAIC00MiwxMCArNDQsNDIgQEAKIAog
bmFtZXNwYWNlIFdURiB7CiAKKyNpZiBDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUoQVJN
KSB8fCBDUFUoQVJNNjQpIHx8IENQVShNSVBTKQorQUxXQVlTX0lOTElORSBTdGFja0JvdW5kczo6
U3RhY2tEaXJlY3Rpb24gU3RhY2tCb3VuZHM6OnN0YWNrRGlyZWN0aW9uKCkKK3sKKyAgICByZXR1
cm4gU3RhY2tEaXJlY3Rpb246OkRvd253YXJkOworfQorI2Vsc2UKK3N0YXRpYyBORVZFUl9JTkxJ
TkUgTk9UX1RBSUxfQ0FMTEVEIFN0YWNrQm91bmRzOjpTdGFja0RpcmVjdGlvbiB0ZXN0U3RhY2tE
aXJlY3Rpb24yKHZvbGF0aWxlIGNvbnN0IGludCogcG9pbnRlcikKK3sKKyAgICB2b2xhdGlsZSBp
bnQgc3RhY2tWYWx1ZSA9IDQyOworICAgIHJldHVybiAocG9pbnRlciA8ICZzdGFja1ZhbHVlKSA/
IFN0YWNrQm91bmRzOjpTdGFja0RpcmVjdGlvbjo6VXB3YXJkIDogU3RhY2tCb3VuZHM6OlN0YWNr
RGlyZWN0aW9uOjpEb3dud2FyZDsKK30KKworc3RhdGljIE5FVkVSX0lOTElORSBOT1RfVEFJTF9D
QUxMRUQgU3RhY2tCb3VuZHM6OlN0YWNrRGlyZWN0aW9uIHRlc3RTdGFja0RpcmVjdGlvbigpCit7
CisgICAgTk9fVEFJTF9DQUxMUygpOworICAgIHZvbGF0aWxlIGludCBzdGFja1ZhbHVlID0gNDI7
CisgICAgcmV0dXJuIHRlc3RTdGFja0RpcmVjdGlvbjIoJnN0YWNrVmFsdWUpOworfQorCitORVZF
Ul9JTkxJTkUgU3RhY2tCb3VuZHM6OlN0YWNrRGlyZWN0aW9uIFN0YWNrQm91bmRzOjpzdGFja0Rp
cmVjdGlvbigpCit7CisgICAgc3RhdGljIFN0YWNrQm91bmRzOjpTdGFja0RpcmVjdGlvbiByZXN1
bHQgPSBTdGFja0JvdW5kczo6U3RhY2tEaXJlY3Rpb246OkRvd253YXJkOworICAgIHN0YXRpYyBz
dGQ6Om9uY2VfZmxhZyBvbmNlS2V5OworICAgIHN0ZDo6Y2FsbF9vbmNlKG9uY2VLZXksIFtdIHsK
KyAgICAgICAgTk9fVEFJTF9DQUxMUygpOworICAgICAgICByZXN1bHQgPSB0ZXN0U3RhY2tEaXJl
Y3Rpb24obnVsbHB0cik7CisgICAgfSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKyNlbmRpZgor
CiAjaWYgT1MoREFSV0lOKQogCiBTdGFja0JvdW5kcyBTdGFja0JvdW5kczo6bmV3VGhyZWFkU3Rh
Y2tCb3VuZHMoUGxhdGZvcm1UaHJlYWRIYW5kbGUgdGhyZWFkKQogeworICAgIEFTU0VSVChzdGFj
a0RpcmVjdGlvbigpID09IFN0YWNrRGlyZWN0aW9uOjpEb3dud2FyZCk7CiAgICAgdm9pZCogb3Jp
Z2luID0gcHRocmVhZF9nZXRfc3RhY2thZGRyX25wKHRocmVhZCk7CiAgICAgcmxpbV90IHNpemUg
PSBwdGhyZWFkX2dldF9zdGFja3NpemVfbnAodGhyZWFkKTsKICAgICB2b2lkKiBib3VuZCA9IHN0
YXRpY19jYXN0PGNoYXIqPihvcmlnaW4pIC0gc2l6ZTsKQEAgLTU0LDYgKzg4LDcgQEAgU3RhY2tC
b3VuZHMgU3RhY2tCb3VuZHM6Om5ld1RocmVhZFN0YWNrQm91bmRzKFBsYXRmb3JtVGhyZWFkSGFu
ZGxlIHRocmVhZCkKIAogU3RhY2tCb3VuZHMgU3RhY2tCb3VuZHM6OmN1cnJlbnRUaHJlYWRTdGFj
a0JvdW5kc0ludGVybmFsKCkKIHsKKyAgICBBU1NFUlQoc3RhY2tEaXJlY3Rpb24oKSA9PSBTdGFj
a0RpcmVjdGlvbjo6RG93bndhcmQpOwogICAgIGlmIChwdGhyZWFkX21haW5fbnAoKSkgewogICAg
ICAgICAvLyBGSVhNRTogPHJkYXI6Ly9wcm9ibGVtLzEzNzQxMjA0PgogICAgICAgICAvLyBwdGhy
ZWFkX2dldF9zaXplIGxpZXMgdG8gdXMgd2hlbiB3ZSdyZSB0aGUgbWFpbiB0aHJlYWQsIHVzZSBn
ZXRfcmxpbWl0IGluc3RlYWQKQEAgLTc2LDExICsxMTEsMTEgQEAgU3RhY2tCb3VuZHMgU3RhY2tC
b3VuZHM6Om5ld1RocmVhZFN0YWNrQm91bmRzKFBsYXRmb3JtVGhyZWFkSGFuZGxlIHRocmVhZCkK
ICAgICBzdGFja190IHN0YWNrOwogICAgIHB0aHJlYWRfc3RhY2tzZWdfbnAodGhyZWFkLCAmc3Rh
Y2spOwogICAgIHZvaWQqIG9yaWdpbiA9IHN0YWNrLnNzX3NwOwotI2lmIENQVShIUFBBKQotICAg
IHZvaWQqIGJvdW5kID0gc3RhdGljX2Nhc3Q8Y2hhcio+KG9yaWdpbikgKyBzdGFjay5zc19zaXpl
OwotI2Vsc2UKLSAgICB2b2lkKiBib3VuZCA9IHN0YXRpY19jYXN0PGNoYXIqPihvcmlnaW4pIC0g
c3RhY2suc3Nfc2l6ZTsKLSNlbmRpZgorICAgIHZvaWQqIGJvdW5kID0gbnVsbHB0cjsKKyAgICBp
ZiAoc3RhY2tEaXJlY3Rpb24oKSA9PSBTdGFja0RpcmVjdGlvbjo6VXB3YXJkKQorICAgICAgICBi
b3VuZCA9IHN0YXRpY19jYXN0PGNoYXIqPihvcmlnaW4pICsgc3RhY2suc3Nfc2l6ZTsKKyAgICBl
bHNlCisgICAgICAgIGJvdW5kID0gc3RhdGljX2Nhc3Q8Y2hhcio+KG9yaWdpbikgLSBzdGFjay5z
c19zaXplOwogICAgIHJldHVybiBTdGFja0JvdW5kcyB7IG9yaWdpbiwgYm91bmQgfTsKIH0KIApA
QCAtMTA1LDYgKzE0MCwxMCBAQCBTdGFja0JvdW5kcyBTdGFja0JvdW5kczo6bmV3VGhyZWFkU3Rh
Y2tCb3VuZHMoUGxhdGZvcm1UaHJlYWRIYW5kbGUgdGhyZWFkKQogICAgIEFTU0VSVChib3VuZCk7
CiAgICAgcHRocmVhZF9hdHRyX2Rlc3Ryb3koJnNhdHRyKTsKICAgICB2b2lkKiBvcmlnaW4gPSBz
dGF0aWNfY2FzdDxjaGFyKj4oYm91bmQpICsgc3RhY2tTaXplOworICAgIC8vIHB0aHJlYWRfYXR0
cl9nZXRzdGFjaydzIGJvdW5kIGlzIHRoZSBsb3dlc3QgYWNjZXNzaWJsZSBwb2ludGVyIG9mIHRo
ZSBzdGFjay4KKyAgICAvLyBJZiBzdGFjayBncm93cyB1cCwgb3JpZ2luIGFuZCBib3VuZCBpbiB0
aGlzIGNvZGUgc2hvdWxkIGJlIHN3YXBwZWQuCisgICAgaWYgKHN0YWNrRGlyZWN0aW9uKCkgPT0g
U3RhY2tEaXJlY3Rpb246OlVwd2FyZCkKKyAgICAgICAgc3RkOjpzd2FwKG9yaWdpbiwgYm91bmQp
OwogICAgIHJldHVybiBTdGFja0JvdW5kcyB7IG9yaWdpbiwgYm91bmQgfTsKIH0KIApAQCAtMTE5
LDYgKzE1OCw3IEBAIFN0YWNrQm91bmRzIFN0YWNrQm91bmRzOjpjdXJyZW50VGhyZWFkU3RhY2tC
b3VuZHNJbnRlcm5hbCgpCiAKIFN0YWNrQm91bmRzIFN0YWNrQm91bmRzOjpjdXJyZW50VGhyZWFk
U3RhY2tCb3VuZHNJbnRlcm5hbCgpCiB7CisgICAgQVNTRVJUKHN0YWNrRGlyZWN0aW9uKCkgPT0g
U3RhY2tEaXJlY3Rpb246OkRvd253YXJkKTsKICAgICBNRU1PUllfQkFTSUNfSU5GT1JNQVRJT04g
c3RhY2tPcmlnaW4gPSB7IDAgfTsKICAgICBWaXJ0dWFsUXVlcnkoJnN0YWNrT3JpZ2luLCAmc3Rh
Y2tPcmlnaW4sIHNpemVvZihzdGFja09yaWdpbikpOwogICAgIC8vIHN0YWNrT3JpZ2luLkFsbG9j
YXRpb25CYXNlIHBvaW50cyB0byB0aGUgcmVzZXJ2ZWQgc3RhY2sgbWVtb3J5IGJhc2UgYWRkcmVz
cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1N0YWNrQm91bmRzLmggYi9Tb3VyY2UvV1RG
L3d0Zi9TdGFja0JvdW5kcy5oCmluZGV4IDUyMzRjZDI4ZDkyZWI4YzkxMDJmN2U3MTYzYWU2ZGUw
MWQ5NmRmOTguLjEzZjZiZTYyOTYzODRjM2NkOWNmYTE4Yjc5ZTZiZDYxNTExYWYyODIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1N0YWNrQm91bmRzLmgKKysrIGIvU291cmNlL1dURi93dGYv
U3RhY2tCb3VuZHMuaApAQCAtNDEsNiArNDEsOCBAQCBjbGFzcyBTdGFja0JvdW5kcyB7CiAgICAg
Y29uc3Qgc3RhdGljIHNpemVfdCBzX2RlZmF1bHRBdmFpbGFiaWxpdHlEZWx0YSA9IDY0ICogMTAy
NDsKIAogcHVibGljOgorICAgIGVudW0gY2xhc3MgU3RhY2tEaXJlY3Rpb24geyBVcHdhcmQsIERv
d253YXJkIH07CisKICAgICBzdGF0aWMgY29uc3RleHByIFN0YWNrQm91bmRzIGVtcHR5Qm91bmRz
KCkgeyByZXR1cm4gU3RhY2tCb3VuZHMoKTsgfQogCiAjaWYgSEFWRShTVEFDS19CT1VORFNfRk9S
X05FV19USFJFQUQpCkBAIC0xMjEsNyArMTIzLDcgQEAgY2xhc3MgU3RhY2tCb3VuZHMgewogICAg
IGJvb2wgaXNHcm93aW5nRG93bndhcmQoKSBjb25zdAogICAgIHsKICAgICAgICAgQVNTRVJUKG1f
b3JpZ2luICYmIG1fYm91bmQpOwotICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgcmV0dXJu
IG1fYm91bmQgPD0gbV9vcmlnaW47CiAgICAgfQogCiBwcml2YXRlOgpAQCAtMTM3LDYgKzEzOSw4
IEBAIGNsYXNzIFN0YWNrQm91bmRzIHsKICAgICB7CiAgICAgfQogCisgICAgc3RhdGljIFN0YWNr
RGlyZWN0aW9uIHN0YWNrRGlyZWN0aW9uKCk7CisKICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgc3Rh
dGljIFN0YWNrQm91bmRzIGN1cnJlbnRUaHJlYWRTdGFja0JvdW5kc0ludGVybmFsKCk7CiAKICAg
ICB2b2lkIGNoZWNrQ29uc2lzdGVuY3koKSBjb25zdAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>