<?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>193423</bug_id>
          
          <creation_ts>2019-01-14 18:25:54 -0800</creation_ts>
          <short_desc>JSFunction::canUseAllocationProfile() should account for builtin functions with no own prototypes.</short_desc>
          <delta_ts>2019-01-16 10:12:02 -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>JavaScriptCore</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="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>fpizlo</cc>
    
    <cc>keith_miller</cc>
    
    <cc>msaboff</cc>
    
    <cc>rmorisset</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1494448</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-01-14 18:25:54 -0800</bug_when>
    <thetext>&lt;rdar://problem/46209355&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1494460</commentid>
    <comment_count>1</comment_count>
      <attachid>359116</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-01-14 18:49:03 -0800</bug_when>
    <thetext>Created attachment 359116
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1494463</commentid>
    <comment_count>2</comment_count>
      <attachid>359116</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-01-14 18:50:40 -0800</bug_when>
    <thetext>Comment on attachment 359116
proposed patch.

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

&gt; Source/JavaScriptCore/runtime/JSFunctionInlines.h:125
&gt; +        if (prototype.isCell()) {
&gt; +            JSCell* cell = prototype.asCell();
&gt; +            if (cell-&gt;isGetterSetter() || cell-&gt;isCustomGetterSetter() || cell-&gt;isProxy())
&gt; +                return false;
&gt; +        }

Not a fan of this. Can you do the structure lookup along w/ and inspect the bits that say if this is a getter/setter?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1494540</commentid>
    <comment_count>3</comment_count>
      <attachid>359137</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-01-14 22:24:17 -0800</bug_when>
    <thetext>Created attachment 359137
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1494755</commentid>
    <comment_count>4</comment_count>
      <attachid>359137</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-01-15 12:19:54 -0800</bug_when>
    <thetext>Comment on attachment 359137
proposed patch.

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

r=me

&gt; Source/JavaScriptCore/ChangeLog:10
&gt; +        because the majority of them has no prototype property.  The only exception to

s/has/have

&gt; Source/JavaScriptCore/runtime/JSFunctionInlines.h:120
&gt; +        if (!prototype || (attributes &amp; PropertyAttribute::AccessorOrCustomAccessorOrValue))

Can we add a test case for this? Like define a getter as the prototype of a random builtin function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1494956</commentid>
    <comment_count>5</comment_count>
      <attachid>359239</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-01-15 18:44:10 -0800</bug_when>
    <thetext>Created attachment 359239
patch for landing.

Thanks for the review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495102</commentid>
    <comment_count>6</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-01-16 10:12:02 -0800</bug_when>
    <thetext>Landed in r240040: &lt;http://trac.webkit.org/r240040&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>359116</attachid>
            <date>2019-01-14 18:49:03 -0800</date>
            <delta_ts>2019-01-14 22:24:17 -0800</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-193423.patch</filename>
            <type>text/plain</type>
            <size>5337</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMzk5NjgpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDEzIEBACisyMDE5LTAxLTE0ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNv
bT4KKworICAgICAgICBKU0Z1bmN0aW9uOjpjYW5Vc2VBbGxvY2F0aW9uUHJvZmlsZSgpIHNob3Vs
ZCBhY2NvdW50IGZvciBidWlsdGluIGZ1bmN0aW9ucyB3aXRoIG5vIG93biBwcm90b3R5cGVzLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzNDIzCisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NjIwOTM1NT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHN0cmVzcy9qc2Z1bmN0aW9uLWNhbm5vdC11c2Ut
YWxsb2NhdGlvbi1wcm9maWxlLXdpdGgtYnVpbHRpbi1mdW5jdGlvbnMtd2l0aC1uby1wcm90b3R5
cGUuanM6IEFkZGVkLgorCiAyMDE5LTAxLTE0ICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJA
YXBwbGUuY29tPgogCiAgICAgICAgIFNraXAgdHlwZS1jaGVjay1ob2lzdGluZy1waGFzZS1ob2lz
dC4uLiB3aXRoIG5vIGppdApJbmRleDogSlNUZXN0cy9zdHJlc3MvanNmdW5jdGlvbi1jYW5ub3Qt
dXNlLWFsbG9jYXRpb24tcHJvZmlsZS13aXRoLWJ1aWx0aW4tZnVuY3Rpb25zLXdpdGgtbm8tcHJv
dG90eXBlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL2pzZnVuY3Rpb24tY2Fubm90
LXVzZS1hbGxvY2F0aW9uLXByb2ZpbGUtd2l0aC1idWlsdGluLWZ1bmN0aW9ucy13aXRoLW5vLXBy
b3RvdHlwZS5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9qc2Z1bmN0aW9uLWNh
bm5vdC11c2UtYWxsb2NhdGlvbi1wcm9maWxlLXdpdGgtYnVpbHRpbi1mdW5jdGlvbnMtd2l0aC1u
by1wcm90b3R5cGUuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw5IEBACitPYmplY3QuZGVm
aW5lUHJvcGVydHkoRnVuY3Rpb24ucHJvdG90eXBlLCAncHJvdG90eXBlJywgeworICAgIGdldDog
ZnVuY3Rpb24gKCkgeworICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2hlbGxvJyk7CisgICAgfQor
fSk7CisKK25ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIG5ldyByZXNvbHZlKCk7Cit9KTsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjM5OTM2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBA
CisyMDE5LTAxLTE0ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBK
U0Z1bmN0aW9uOjpjYW5Vc2VBbGxvY2F0aW9uUHJvZmlsZSgpIHNob3VsZCBhY2NvdW50IGZvciBi
dWlsdGluIGZ1bmN0aW9ucyB3aXRoIG5vIG93biBwcm90b3R5cGVzLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzNDIzCisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS80NjIwOTM1NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBKU0Z1bmN0aW9uOjpjYW5Vc2VBbGxvY2F0aW9uUHJvZmlsZSgpIHNob3VsZCBy
ZXR1cm4gZmFsc2UgZm9yIG1vc3QgYnVpbHRpbnMKKyAgICAgICAgYmVjYXVzZSB0aGUgbWFqb3Jp
dHkgb2YgdGhlbSBoYXMgbm8gcHJvdG90eXBlIHByb3BlcnR5LiAgVGhlIG9ubHkgZXhjZXB0aW9u
IHRvCisgICAgICAgIHRoaXMgaXMgdGhlIGZldyBidWlsdGluIGZ1bmN0aW9ucyB0aGF0IGFyZSBl
eHBsaWNpdGx5IHVzZWQgYXMgY29uc3RydWN0b3JzLgorCisgICAgICAgIEZvciB0aGVzZSBidWls
dGluIGNvbnN0cnVjdG9ycywgSlNGdW5jdGlvbjo6Y2FuVXNlQWxsb2NhdGlvblByb2ZpbGUoKSBz
aG91bGQgYWxzbworICAgICAgICByZXR1cm4gZmFsc2UgaWYgdGhlIHByb3RvdHlwZSBwcm9wZXJ0
eSBpcyBhIGdldHRlciwgY3VzdG9tIGdldHRlciwgb3IgcHJveHkKKyAgICAgICAgYmVjYXVzZSBn
ZXR0aW5nIHRoZSBwcm90b3R5cGUgd291bGQgdGhlbiBiZSBlZmZlY3RmdWwuCisKKyAgICAgICAg
KiBkZmcvREZHT3BlcmF0aW9ucy5jcHA6CisgICAgICAgICogcnVudGltZS9Db21tb25TbG93UGF0
aHMuY3BwOgorICAgICAgICAoSlNDOjpTTE9XX1BBVEhfREVDTCk6CisgICAgICAgICogcnVudGlt
ZS9KU0Z1bmN0aW9uSW5saW5lcy5oOgorICAgICAgICAoSlNDOjpKU0Z1bmN0aW9uOjpjYW5Vc2VB
bGxvY2F0aW9uUHJvZmlsZSk6CisKIDIwMTktMDEtMTQgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21p
bGxlckBhcHBsZS5jb20+CiAKICAgICAgICAgSlNDIHNob3VsZCBoYXZlIGEgbW9kdWxlIGxvYWRl
ciBBUEkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNw
cAkocmV2aXNpb24gMjM5OTM2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVy
YXRpb25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAxLDcgKzMwMSw3IEBAIEpTQ2VsbCogSklU
X09QRVJBVElPTiBvcGVyYXRpb25DcmVhdGVUaGkKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9U
SFJPV19TQ09QRSh2bSk7CiAgICAgaWYgKGNvbnN0cnVjdG9yLT50eXBlKCkgPT0gSlNGdW5jdGlv
blR5cGUgJiYganNDYXN0PEpTRnVuY3Rpb24qPihjb25zdHJ1Y3RvciktPmNhblVzZUFsbG9jYXRp
b25Qcm9maWxlKCkpIHsKICAgICAgICAgYXV0byByYXJlRGF0YSA9IGpzQ2FzdDxKU0Z1bmN0aW9u
Kj4oY29uc3RydWN0b3IpLT5lbnN1cmVSYXJlRGF0YUFuZEFsbG9jYXRpb25Qcm9maWxlKGV4ZWMs
IGlubGluZUNhcGFjaXR5KTsKLSAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgbnVs
bHB0cik7CisgICAgICAgIHNjb3BlLnJlbGVhc2VBc3NlcnROb0V4Y2VwdGlvbigpOwogICAgICAg
ICBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSogYWxsb2NhdGlvblByb2ZpbGUgPSByYXJlRGF0YS0+
b2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKTsKICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUg
PSBhbGxvY2F0aW9uUHJvZmlsZS0+c3RydWN0dXJlKCk7CiAgICAgICAgIEpTT2JqZWN0KiByZXN1
bHQgPSBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVjLCBzdHJ1Y3R1cmUpOwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0aHMuY3BwCShyZXZp
c2lvbiAyMzk5MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93
UGF0aHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDMsNiArMjQzLDcgQEAgU0xPV19QQVRIX0RF
Q0woc2xvd19wYXRoX2NyZWF0ZV90aGlzKQogCiAgICAgICAgIHNpemVfdCBpbmxpbmVDYXBhY2l0
eSA9IGJ5dGVjb2RlLmlubGluZUNhcGFjaXR5OwogICAgICAgICBPYmplY3RBbGxvY2F0aW9uUHJv
ZmlsZSogYWxsb2NhdGlvblByb2ZpbGUgPSBjb25zdHJ1Y3Rvci0+ZW5zdXJlUmFyZURhdGFBbmRB
bGxvY2F0aW9uUHJvZmlsZShleGVjLCBpbmxpbmVDYXBhY2l0eSktPm9iamVjdEFsbG9jYXRpb25Q
cm9maWxlKCk7CisgICAgICAgIHRocm93U2NvcGUucmVsZWFzZUFzZXJ0Tm9FeGNlcHRpb24oKTsK
ICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBhbGxvY2F0aW9uUHJvZmlsZS0+c3RydWN0
dXJlKCk7CiAgICAgICAgIHJlc3VsdCA9IGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMsIHN0cnVj
dHVyZSk7CiAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc1BvbHlQcm90bygpKSB7CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmgJ
KHJldmlzaW9uIDIzOTkzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVu
Y3Rpb25JbmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTExMCw4ICsxMTAsMjAgQEAgaW5saW5l
IGJvb2wgSlNGdW5jdGlvbjo6aGFzUmVpZmllZE5hbWUoKQogCiBpbmxpbmUgYm9vbCBKU0Z1bmN0
aW9uOjpjYW5Vc2VBbGxvY2F0aW9uUHJvZmlsZSgpCiB7Ci0gICAgaWYgKGlzSG9zdEZ1bmN0aW9u
KCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoaXNIb3N0T3JCdWlsdGluRnVuY3Rp
b24oKSkgeworICAgICAgICBpZiAoaXNIb3N0RnVuY3Rpb24oKSkKKyAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKworICAgICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QoKS0+dm0oKTsKKyAgICAg
ICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBnZXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnBy
b3RvdHlwZSk7CisgICAgICAgIGlmICghcHJvdG90eXBlKQorICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgICAgICBpZiAocHJvdG90eXBlLmlzQ2VsbCgpKSB7CisgICAgICAgICAgICBKU0Nl
bGwqIGNlbGwgPSBwcm90b3R5cGUuYXNDZWxsKCk7CisgICAgICAgICAgICBpZiAoY2VsbC0+aXNH
ZXR0ZXJTZXR0ZXIoKSB8fCBjZWxsLT5pc0N1c3RvbUdldHRlclNldHRlcigpIHx8IGNlbGwtPmlz
UHJveHkoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICB9
CiAKICAgICAvLyBJZiB3ZSBkb24ndCBoYXZlIGEgcHJvdG90eXBlIHByb3BlcnR5LCB3ZSdyZSBu
b3QgZ3VhcmFudGVlZCBpdCdzCiAgICAgLy8gbm9uLWNvbmZpZ3VyYWJsZS4gRm9yIGV4YW1wbGUs
IHVzZXIgY29kZSBjYW4gZGVmaW5lIHRoZSBwcm90b3R5cGUK
</data>
<flag name="review"
          id="375920"
          type_id="1"
          status="-"
          setter="saam"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>359137</attachid>
            <date>2019-01-14 22:24:17 -0800</date>
            <delta_ts>2019-01-15 18:44:10 -0800</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-193423.patch</filename>
            <type>text/plain</type>
            <size>6970</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMzk5NzUpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE0IEBACisyMDE5LTAxLTE0ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNv
bT4KKworICAgICAgICBKU0Z1bmN0aW9uOjpjYW5Vc2VBbGxvY2F0aW9uUHJvZmlsZSgpIHNob3Vs
ZCBhY2NvdW50IGZvciBidWlsdGluIGZ1bmN0aW9ucyB3aXRoIG5vIG93biBwcm90b3R5cGVzLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzNDIzCisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NjIwOTM1NT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIG1pY3JvYmVuY2htYXJrcy9zaW5rYWJsZS1uZXct
b2JqZWN0LXdpdGgtYnVpbHRpbi1jb25zdHJ1Y3Rvci5qczogQWRkZWQuCisgICAgICAgICogc3Ry
ZXNzL2pzZnVuY3Rpb24tY2Fubm90LXVzZS1hbGxvY2F0aW9uLXByb2ZpbGUtd2l0aC1idWlsdGlu
LWZ1bmN0aW9ucy13aXRoLW5vLXByb3RvdHlwZS5qczogQWRkZWQuCisKIDIwMTktMDEtMTQgIEtl
aXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBhcHBsZS5jb20+CiAKICAgICAgICAgU2tpcCB0eXBl
LWNoZWNrLWhvaXN0aW5nLXBoYXNlLWhvaXN0Li4uIHdpdGggbm8gaml0CkluZGV4OiBKU1Rlc3Rz
L21pY3JvYmVuY2htYXJrcy9zaW5rYWJsZS1uZXctb2JqZWN0LXdpdGgtYnVpbHRpbi1jb25zdHJ1
Y3Rvci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9zaW5rYWJsZS1u
ZXctb2JqZWN0LXdpdGgtYnVpbHRpbi1jb25zdHJ1Y3Rvci5qcwkobm9uZXhpc3RlbnQpCisrKyBK
U1Rlc3RzL21pY3JvYmVuY2htYXJrcy9zaW5rYWJsZS1uZXctb2JqZWN0LXdpdGgtYnVpbHRpbi1j
b25zdHJ1Y3Rvci5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI4IEBACitmdW5jdGlvbiBz
dW1PZkFyaXRoU2VyaWVzKGxpbWl0KSB7CisgICAgcmV0dXJuIGxpbWl0ICogKGxpbWl0ICsgMSkg
LyAyOworfQorCit2YXIgbiA9IDEwMDAwMDAwOworCitmdW5jdGlvbiBiYXIoKSB7IH0KKworZnVu
Y3Rpb24gZm9vKGIpIHsKKyAgICB2YXIgcmVzdWx0ID0gMDsKKyAgICBmb3IgKHZhciBpID0gMDsg
aSA8IG47ICsraSkgeworICAgICAgICB2YXIgaXRlciA9IChbaSwgaSArIDFdKVtTeW1ib2wuaXRl
cmF0b3JdKCk7CisgICAgICAgIGlmIChiKSB7CisgICAgICAgICAgICBiYXIobywgcCk7CisgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgZm9yICh4IG9mIGl0ZXIpCisgICAg
ICAgICAgICByZXN1bHQgKz0geDsKKyAgICB9CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworbm9J
bmxpbmUoYmFyKTsKK25vSW5saW5lKGZvbyk7CisKK3ZhciByZXN1bHQgPSBmb28oZmFsc2UpOwor
aWYgKHJlc3VsdCAhPSBzdW1PZkFyaXRoU2VyaWVzKG4gLSAxKSArIHN1bU9mQXJpdGhTZXJpZXMo
bikpCisgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAiICsgcmVzdWx0OwpJbmRleDogSlNU
ZXN0cy9zdHJlc3MvanNmdW5jdGlvbi1jYW5ub3QtdXNlLWFsbG9jYXRpb24tcHJvZmlsZS13aXRo
LWJ1aWx0aW4tZnVuY3Rpb25zLXdpdGgtbm8tcHJvdG90eXBlLmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpT
VGVzdHMvc3RyZXNzL2pzZnVuY3Rpb24tY2Fubm90LXVzZS1hbGxvY2F0aW9uLXByb2ZpbGUtd2l0
aC1idWlsdGluLWZ1bmN0aW9ucy13aXRoLW5vLXByb3RvdHlwZS5qcwkobm9uZXhpc3RlbnQpCisr
KyBKU1Rlc3RzL3N0cmVzcy9qc2Z1bmN0aW9uLWNhbm5vdC11c2UtYWxsb2NhdGlvbi1wcm9maWxl
LXdpdGgtYnVpbHRpbi1mdW5jdGlvbnMtd2l0aC1uby1wcm90b3R5cGUuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSw5IEBACitPYmplY3QuZGVmaW5lUHJvcGVydHkoRnVuY3Rpb24ucHJvdG90
eXBlLCAncHJvdG90eXBlJywgeworICAgIGdldDogZnVuY3Rpb24gKCkgeworICAgICAgICB0aHJv
dyBuZXcgRXJyb3IoJ2hlbGxvJyk7CisgICAgfQorfSk7CisKK25ldyBQcm9taXNlKHJlc29sdmUg
PT4geworICAgIG5ldyByZXNvbHZlKCk7Cit9KTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxv
ZwkocmV2aXNpb24gMjM5OTM2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDE5LTAxLTE0ICBNYXJrIExhbSAgPG1h
cmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBKU0Z1bmN0aW9uOjpjYW5Vc2VBbGxvY2F0aW9u
UHJvZmlsZSgpIHNob3VsZCBhY2NvdW50IGZvciBidWlsdGluIGZ1bmN0aW9ucyB3aXRoIG5vIG93
biBwcm90b3R5cGVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTkzNDIzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NjIwOTM1NT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBKU0Z1bmN0aW9uOjpjYW5V
c2VBbGxvY2F0aW9uUHJvZmlsZSgpIHNob3VsZCByZXR1cm4gZmFsc2UgZm9yIG1vc3QgYnVpbHRp
bnMKKyAgICAgICAgYmVjYXVzZSB0aGUgbWFqb3JpdHkgb2YgdGhlbSBoYXMgbm8gcHJvdG90eXBl
IHByb3BlcnR5LiAgVGhlIG9ubHkgZXhjZXB0aW9uIHRvCisgICAgICAgIHRoaXMgaXMgdGhlIGZl
dyBidWlsdGluIGZ1bmN0aW9ucyB0aGF0IGFyZSBleHBsaWNpdGx5IHVzZWQgYXMgY29uc3RydWN0
b3JzLgorCisgICAgICAgIEZvciB0aGVzZSBidWlsdGluIGNvbnN0cnVjdG9ycywgSlNGdW5jdGlv
bjo6Y2FuVXNlQWxsb2NhdGlvblByb2ZpbGUoKSBzaG91bGQgYWxzbworICAgICAgICByZXR1cm4g
ZmFsc2UgaWYgdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBpcyBhIGdldHRlciBvciBjdXN0b20gZ2V0
dGVyIGJlY2F1c2UKKyAgICAgICAgZ2V0dGluZyB0aGUgcHJvdG90eXBlIHdvdWxkIHRoZW4gYmUg
ZWZmZWN0ZnVsLgorCisgICAgICAgICogZGZnL0RGR09wZXJhdGlvbnMuY3BwOgorICAgICAgICAq
IHJ1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcDoKKyAgICAgICAgKEpTQzo6U0xPV19QQVRIX0RF
Q0wpOgorICAgICAgICAqIHJ1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaDoKKyAgICAgICAgKEpT
Qzo6SlNGdW5jdGlvbjo6Y2FuVXNlQWxsb2NhdGlvblByb2ZpbGUpOgorICAgICAgICAqIHJ1bnRp
bWUvUHJvcGVydHlTbG90Lmg6CisKIDIwMTktMDEtMTQgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21p
bGxlckBhcHBsZS5jb20+CiAKICAgICAgICAgSlNDIHNob3VsZCBoYXZlIGEgbW9kdWxlIGxvYWRl
ciBBUEkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNw
cAkocmV2aXNpb24gMjM5OTM2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVy
YXRpb25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAxLDcgKzMwMSw3IEBAIEpTQ2VsbCogSklU
X09QRVJBVElPTiBvcGVyYXRpb25DcmVhdGVUaGkKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9U
SFJPV19TQ09QRSh2bSk7CiAgICAgaWYgKGNvbnN0cnVjdG9yLT50eXBlKCkgPT0gSlNGdW5jdGlv
blR5cGUgJiYganNDYXN0PEpTRnVuY3Rpb24qPihjb25zdHJ1Y3RvciktPmNhblVzZUFsbG9jYXRp
b25Qcm9maWxlKCkpIHsKICAgICAgICAgYXV0byByYXJlRGF0YSA9IGpzQ2FzdDxKU0Z1bmN0aW9u
Kj4oY29uc3RydWN0b3IpLT5lbnN1cmVSYXJlRGF0YUFuZEFsbG9jYXRpb25Qcm9maWxlKGV4ZWMs
IGlubGluZUNhcGFjaXR5KTsKLSAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgbnVs
bHB0cik7CisgICAgICAgIHNjb3BlLnJlbGVhc2VBc3NlcnROb0V4Y2VwdGlvbigpOwogICAgICAg
ICBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSogYWxsb2NhdGlvblByb2ZpbGUgPSByYXJlRGF0YS0+
b2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKTsKICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUg
PSBhbGxvY2F0aW9uUHJvZmlsZS0+c3RydWN0dXJlKCk7CiAgICAgICAgIEpTT2JqZWN0KiByZXN1
bHQgPSBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVjLCBzdHJ1Y3R1cmUpOwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0aHMuY3BwCShyZXZp
c2lvbiAyMzk5MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93
UGF0aHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDMsNiArMjQzLDcgQEAgU0xPV19QQVRIX0RF
Q0woc2xvd19wYXRoX2NyZWF0ZV90aGlzKQogCiAgICAgICAgIHNpemVfdCBpbmxpbmVDYXBhY2l0
eSA9IGJ5dGVjb2RlLmlubGluZUNhcGFjaXR5OwogICAgICAgICBPYmplY3RBbGxvY2F0aW9uUHJv
ZmlsZSogYWxsb2NhdGlvblByb2ZpbGUgPSBjb25zdHJ1Y3Rvci0+ZW5zdXJlUmFyZURhdGFBbmRB
bGxvY2F0aW9uUHJvZmlsZShleGVjLCBpbmxpbmVDYXBhY2l0eSktPm9iamVjdEFsbG9jYXRpb25Q
cm9maWxlKCk7CisgICAgICAgIHRocm93U2NvcGUucmVsZWFzZUFzc2VydE5vRXhjZXB0aW9uKCk7
CiAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gYWxsb2NhdGlvblByb2ZpbGUtPnN0cnVj
dHVyZSgpOwogICAgICAgICByZXN1bHQgPSBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVjLCBzdHJ1
Y3R1cmUpOwogICAgICAgICBpZiAoc3RydWN0dXJlLT5oYXNQb2x5UHJvdG8oKSkgewpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5o
CShyZXZpc2lvbiAyMzk5MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1
bmN0aW9uSW5saW5lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTAsOCArMTEwLDE2IEBAIGlubGlu
ZSBib29sIEpTRnVuY3Rpb246Omhhc1JlaWZpZWROYW1lKCkKIAogaW5saW5lIGJvb2wgSlNGdW5j
dGlvbjo6Y2FuVXNlQWxsb2NhdGlvblByb2ZpbGUoKQogewotICAgIGlmIChpc0hvc3RGdW5jdGlv
bigpKQotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKGlzSG9zdE9yQnVpbHRpbkZ1bmN0
aW9uKCkpIHsKKyAgICAgICAgaWYgKGlzSG9zdEZ1bmN0aW9uKCkpCisgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0KCktPnZtKCk7CisgICAg
ICAgIHVuc2lnbmVkIGF0dHJpYnV0ZXM7CisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gZ2V0
RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIGF0dHJpYnV0ZXMpOworICAg
ICAgICBpZiAoIXByb3RvdHlwZSB8fCAoYXR0cmlidXRlcyAmIFByb3BlcnR5QXR0cmlidXRlOjpB
Y2Nlc3Nvck9yQ3VzdG9tQWNjZXNzb3JPclZhbHVlKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICB9CiAKICAgICAvLyBJZiB3ZSBkb24ndCBoYXZlIGEgcHJvdG90eXBlIHByb3BlcnR5
LCB3ZSdyZSBub3QgZ3VhcmFudGVlZCBpdCdzCiAgICAgLy8gbm9uLWNvbmZpZ3VyYWJsZS4gRm9y
IGV4YW1wbGUsIHVzZXIgY29kZSBjYW4gZGVmaW5lIHRoZSBwcm90b3R5cGUKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5U2xvdC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5U2xvdC5oCShyZXZpc2lvbiAyMzk5
MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm9wZXJ0eVNsb3QuaAkod29y
a2luZyBjb3B5KQpAQCAtNDUsNiArNDUsNyBAQCBlbnVtIGNsYXNzIFByb3BlcnR5QXR0cmlidXRl
IDogdW5zaWduZWQgCiAgICAgQ3VzdG9tQWNjZXNzb3IgICAgPSAxIDw8IDUsCiAgICAgQ3VzdG9t
VmFsdWUgICAgICAgPSAxIDw8IDYsCiAgICAgQ3VzdG9tQWNjZXNzb3JPclZhbHVlID0gQ3VzdG9t
QWNjZXNzb3IgfCBDdXN0b21WYWx1ZSwKKyAgICBBY2Nlc3Nvck9yQ3VzdG9tQWNjZXNzb3JPclZh
bHVlID0gQWNjZXNzb3IgfCBDdXN0b21BY2Nlc3NvciB8IEN1c3RvbVZhbHVlLAogCiAgICAgLy8g
VGhpbmdzIHRoYXQgYXJlIHVzZWQgYnkgc3RhdGljIGhhc2h0YWJsZXMgYXJlIG5vdCBpbiB0aGUg
YXR0cmlidXRlcyBieXRlIGluIFByb3BlcnR5TWFwRW50cnkuCiAgICAgRnVuY3Rpb24gICAgICAg
ICAgPSAxIDw8IDgsICAvLyBwcm9wZXJ0eSBpcyBhIGZ1bmN0aW9uIC0gb25seSB1c2VkIGJ5IHN0
YXRpYyBoYXNodGFibGVzCg==
</data>
<flag name="review"
          id="375937"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>359239</attachid>
            <date>2019-01-15 18:44:10 -0800</date>
            <delta_ts>2019-01-15 18:44:10 -0800</delta_ts>
            <desc>patch for landing.</desc>
            <filename>bug-193423.patch</filename>
            <type>text/plain</type>
            <size>8946</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNDAwMjQpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE2IEBACisyMDE5LTAxLTE1ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNv
bT4KKworICAgICAgICBKU0Z1bmN0aW9uOjpjYW5Vc2VBbGxvY2F0aW9uUHJvZmlsZSgpIHNob3Vs
ZCBhY2NvdW50IGZvciBidWlsdGluIGZ1bmN0aW9ucyB3aXRoIG5vIG93biBwcm90b3R5cGVzLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzNDIzCisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NjIwOTM1NT4KKworICAgICAgICBSZXZpZXdlZCBieSBT
YWFtIEJhcmF0aS4KKworICAgICAgICAqIG1pY3JvYmVuY2htYXJrcy9zaW5rYWJsZS1uZXctb2Jq
ZWN0LXdpdGgtYnVpbHRpbi1jb25zdHJ1Y3Rvci5qczogQWRkZWQuCisgICAgICAgICogc3RyZXNz
L2NvbnN0cnVjdGluZy1idWlsdGluLWZ1bmN0aW9ucy13aXRoLWdldHRlci1wcm90b3R5cGUtc2hv
dWxkLW9ubHktY2FsbC1nZXR0ZXItb25jZS1wZXItbmV3LTEuanM6IEFkZGVkLgorICAgICAgICAq
IHN0cmVzcy9jb25zdHJ1Y3RpbmctYnVpbHRpbi1mdW5jdGlvbnMtd2l0aC1nZXR0ZXItcHJvdG90
eXBlLXNob3VsZC1vbmx5LWNhbGwtZ2V0dGVyLW9uY2UtcGVyLW5ldy0yLmpzOiBBZGRlZC4KKyAg
ICAgICAgKiBzdHJlc3MvanNmdW5jdGlvbi1jYW5ub3QtdXNlLWFsbG9jYXRpb24tcHJvZmlsZS13
aXRoLWJ1aWx0aW4tZnVuY3Rpb25zLXdpdGgtbm8tcHJvdG90eXBlLmpzOiBBZGRlZC4KKwogMjAx
OS0wMS0xNSAgWXVzdWtlIFN1enVraSAgPHl1c3VrZXN1enVraUBzbG93c3RhcnQub3JnPgogCiAg
ICAgICAgIFtKU0NdIFVzZSBLbm93blN0cmluZ1VzZSBmb3IgR2V0QnlWYWwoQXJyYXk6OlN0cmlu
Zykgc2luY2UgQUkgd291bGQgb2ZmZXIgd2lkZXIgdHlwZSBpbmZvcm1hdGlvbiBhbmQgb2ZmZXIg
bm9uLXN0cmluZyB0eXBlIGFmdGVyIHJlbW92aW5nIENoZWNrKFN0cmluZykKSW5kZXg6IEpTVGVz
dHMvbWljcm9iZW5jaG1hcmtzL3NpbmthYmxlLW5ldy1vYmplY3Qtd2l0aC1idWlsdGluLWNvbnN0
cnVjdG9yLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3NpbmthYmxl
LW5ldy1vYmplY3Qtd2l0aC1idWlsdGluLWNvbnN0cnVjdG9yLmpzCShub25leGlzdGVudCkKKysr
IEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3NpbmthYmxlLW5ldy1vYmplY3Qtd2l0aC1idWlsdGlu
LWNvbnN0cnVjdG9yLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjggQEAKK2Z1bmN0aW9u
IHN1bU9mQXJpdGhTZXJpZXMobGltaXQpIHsKKyAgICByZXR1cm4gbGltaXQgKiAobGltaXQgKyAx
KSAvIDI7Cit9CisKK3ZhciBuID0gMTAwMDAwMDA7CisKK2Z1bmN0aW9uIGJhcigpIHsgfQorCitm
dW5jdGlvbiBmb28oYikgeworICAgIHZhciByZXN1bHQgPSAwOworICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgbjsgKytpKSB7CisgICAgICAgIHZhciBpdGVyID0gKFtpLCBpICsgMV0pW1N5bWJvbC5p
dGVyYXRvcl0oKTsKKyAgICAgICAgaWYgKGIpIHsKKyAgICAgICAgICAgIGJhcihvLCBwKTsKKyAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICBmb3IgKHggb2YgaXRlcikKKyAg
ICAgICAgICAgIHJlc3VsdCArPSB4OworICAgIH0KKyAgICByZXR1cm4gcmVzdWx0OworfQorCitu
b0lubGluZShiYXIpOworbm9JbmxpbmUoZm9vKTsKKwordmFyIHJlc3VsdCA9IGZvbyhmYWxzZSk7
CitpZiAocmVzdWx0ICE9IHN1bU9mQXJpdGhTZXJpZXMobiAtIDEpICsgc3VtT2ZBcml0aFNlcmll
cyhuKSkKKyAgICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CkluZGV4OiBK
U1Rlc3RzL3N0cmVzcy9jb25zdHJ1Y3RpbmctYnVpbHRpbi1mdW5jdGlvbnMtd2l0aC1nZXR0ZXIt
cHJvdG90eXBlLXNob3VsZC1vbmx5LWNhbGwtZ2V0dGVyLW9uY2UtcGVyLW5ldy0xLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL2NvbnN0cnVjdGluZy1idWlsdGluLWZ1bmN0aW9ucy13
aXRoLWdldHRlci1wcm90b3R5cGUtc2hvdWxkLW9ubHktY2FsbC1nZXR0ZXItb25jZS1wZXItbmV3
LTEuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvY29uc3RydWN0aW5nLWJ1aWx0
aW4tZnVuY3Rpb25zLXdpdGgtZ2V0dGVyLXByb3RvdHlwZS1zaG91bGQtb25seS1jYWxsLWdldHRl
ci1vbmNlLXBlci1uZXctMS5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE1IEBACit2YXIg
aW52b2tlQ291bnQgPSAwOworCitPYmplY3QuZGVmaW5lUHJvcGVydHkoRnVuY3Rpb24ucHJvdG90
eXBlLCAncHJvdG90eXBlJywgeworICAgIGdldDogZnVuY3Rpb24gKCkgeworICAgICAgICBpbnZv
a2VDb3VudCsrOworICAgIH0KK30pOworCituZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICBm
b3IgKHZhciBpID0gMDsgaSA8IDEwMDAwOyArK2kpCisgICAgICAgIG5ldyByZXNvbHZlKCk7CisK
KyAgICBpZiAoaW52b2tlQ291bnQgIT0gMTAwMDApCisgICAgICAgICR2bS5jcmFzaCgpOworfSk7
CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9jb25zdHJ1Y3RpbmctYnVpbHRpbi1mdW5jdGlvbnMtd2l0
aC1nZXR0ZXItcHJvdG90eXBlLXNob3VsZC1vbmx5LWNhbGwtZ2V0dGVyLW9uY2UtcGVyLW5ldy0y
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL2NvbnN0cnVjdGluZy1idWlsdGluLWZ1
bmN0aW9ucy13aXRoLWdldHRlci1wcm90b3R5cGUtc2hvdWxkLW9ubHktY2FsbC1nZXR0ZXItb25j
ZS1wZXItbmV3LTIuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvY29uc3RydWN0
aW5nLWJ1aWx0aW4tZnVuY3Rpb25zLXdpdGgtZ2V0dGVyLXByb3RvdHlwZS1zaG91bGQtb25seS1j
YWxsLWdldHRlci1vbmNlLXBlci1uZXctMi5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE1
IEBACituZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICB2YXIgaW52b2tlQ291bnQgPSAwOwor
CisgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHJlc29sdmUsICdwcm90b3R5cGUnLCB7CisgICAg
ICAgIGdldDogZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgaW52b2tlQ291bnQrKzsKKyAgICAg
ICAgfQorICAgIH0pOworCisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDsgKytpKQorICAg
ICAgICBuZXcgcmVzb2x2ZSgpOworCisgICAgaWYgKGludm9rZUNvdW50ICE9IDEwMDAwKQorICAg
ICAgICAkdm0uY3Jhc2goKTsKK30pOwpJbmRleDogSlNUZXN0cy9zdHJlc3MvanNmdW5jdGlvbi1j
YW5ub3QtdXNlLWFsbG9jYXRpb24tcHJvZmlsZS13aXRoLWJ1aWx0aW4tZnVuY3Rpb25zLXdpdGgt
bm8tcHJvdG90eXBlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL2pzZnVuY3Rpb24t
Y2Fubm90LXVzZS1hbGxvY2F0aW9uLXByb2ZpbGUtd2l0aC1idWlsdGluLWZ1bmN0aW9ucy13aXRo
LW5vLXByb3RvdHlwZS5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9qc2Z1bmN0
aW9uLWNhbm5vdC11c2UtYWxsb2NhdGlvbi1wcm9maWxlLXdpdGgtYnVpbHRpbi1mdW5jdGlvbnMt
d2l0aC1uby1wcm90b3R5cGUuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw5IEBACitPYmpl
Y3QuZGVmaW5lUHJvcGVydHkoRnVuY3Rpb24ucHJvdG90eXBlLCAncHJvdG90eXBlJywgeworICAg
IGdldDogZnVuY3Rpb24gKCkgeworICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2hlbGxvJyk7Cisg
ICAgfQorfSk7CisKK25ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIG5ldyByZXNvbHZlKCk7
Cit9KTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjQwMDI0KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDI2IEBACisyMDE5LTAxLTE1ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAg
ICAgICBKU0Z1bmN0aW9uOjpjYW5Vc2VBbGxvY2F0aW9uUHJvZmlsZSgpIHNob3VsZCBhY2NvdW50
IGZvciBidWlsdGluIGZ1bmN0aW9ucyB3aXRoIG5vIG93biBwcm90b3R5cGVzLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzNDIzCisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS80NjIwOTM1NT4KKworICAgICAgICBSZXZpZXdlZCBieSBTYWFtIEJhcmF0
aS4KKworICAgICAgICBKU0Z1bmN0aW9uOjpjYW5Vc2VBbGxvY2F0aW9uUHJvZmlsZSgpIHNob3Vs
ZCByZXR1cm4gZmFsc2UgZm9yIG1vc3QgYnVpbHRpbnMKKyAgICAgICAgYmVjYXVzZSB0aGUgbWFq
b3JpdHkgb2YgdGhlbSBoYXZlIG5vIHByb3RvdHlwZSBwcm9wZXJ0eS4gIFRoZSBvbmx5IGV4Y2Vw
dGlvbiB0bworICAgICAgICB0aGlzIGlzIHRoZSBmZXcgYnVpbHRpbiBmdW5jdGlvbnMgdGhhdCBh
cmUgZXhwbGljaXRseSB1c2VkIGFzIGNvbnN0cnVjdG9ycy4KKworICAgICAgICBGb3IgdGhlc2Ug
YnVpbHRpbiBjb25zdHJ1Y3RvcnMsIEpTRnVuY3Rpb246OmNhblVzZUFsbG9jYXRpb25Qcm9maWxl
KCkgc2hvdWxkIGFsc28KKyAgICAgICAgcmV0dXJuIGZhbHNlIGlmIHRoZSBwcm90b3R5cGUgcHJv
cGVydHkgaXMgYSBnZXR0ZXIgb3IgY3VzdG9tIGdldHRlciBiZWNhdXNlCisgICAgICAgIGdldHRp
bmcgdGhlIHByb3RvdHlwZSB3b3VsZCB0aGVuIGJlIGVmZmVjdGZ1bC4KKworICAgICAgICAqIGRm
Zy9ERkdPcGVyYXRpb25zLmNwcDoKKyAgICAgICAgKiBydW50aW1lL0NvbW1vblNsb3dQYXRocy5j
cHA6CisgICAgICAgIChKU0M6OlNMT1dfUEFUSF9ERUNMKToKKyAgICAgICAgKiBydW50aW1lL0pT
RnVuY3Rpb25JbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkpTRnVuY3Rpb246OmNhblVzZUFsbG9j
YXRpb25Qcm9maWxlKToKKyAgICAgICAgKiBydW50aW1lL1Byb3BlcnR5U2xvdC5oOgorCiAyMDE5
LTAxLTE1ICBZdXN1a2UgU3V6dWtpICA8eXVzdWtlc3V6dWtpQHNsb3dzdGFydC5vcmc+CiAKICAg
ICAgICAgW0pTQ10gVXNlIEtub3duU3RyaW5nVXNlIGZvciBHZXRCeVZhbChBcnJheTo6U3RyaW5n
KSBzaW5jZSBBSSB3b3VsZCBvZmZlciB3aWRlciB0eXBlIGluZm9ybWF0aW9uIGFuZCBvZmZlciBu
b24tc3RyaW5nIHR5cGUgYWZ0ZXIgcmVtb3ZpbmcgQ2hlY2soU3RyaW5nKQpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCShyZXZpc2lvbiAyNDAwMjQp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zMDEsNyArMzAxLDcgQEAgSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
bkNyZWF0ZVRoaQogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKICAg
ICBpZiAoY29uc3RydWN0b3ItPnR5cGUoKSA9PSBKU0Z1bmN0aW9uVHlwZSAmJiBqc0Nhc3Q8SlNG
dW5jdGlvbio+KGNvbnN0cnVjdG9yKS0+Y2FuVXNlQWxsb2NhdGlvblByb2ZpbGUoKSkgewogICAg
ICAgICBhdXRvIHJhcmVEYXRhID0ganNDYXN0PEpTRnVuY3Rpb24qPihjb25zdHJ1Y3RvciktPmVu
c3VyZVJhcmVEYXRhQW5kQWxsb2NhdGlvblByb2ZpbGUoZXhlYywgaW5saW5lQ2FwYWNpdHkpOwot
ICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRyKTsKKyAgICAgICAgc2Nv
cGUucmVsZWFzZUFzc2VydE5vRXhjZXB0aW9uKCk7CiAgICAgICAgIE9iamVjdEFsbG9jYXRpb25Q
cm9maWxlKiBhbGxvY2F0aW9uUHJvZmlsZSA9IHJhcmVEYXRhLT5vYmplY3RBbGxvY2F0aW9uUHJv
ZmlsZSgpOwogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGFsbG9jYXRpb25Qcm9maWxl
LT5zdHJ1Y3R1cmUoKTsKICAgICAgICAgSlNPYmplY3QqIHJlc3VsdCA9IGNvbnN0cnVjdEVtcHR5
T2JqZWN0KGV4ZWMsIHN0cnVjdHVyZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Db21tb25TbG93UGF0aHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHAJKHJldmlzaW9uIDI0MDAyNCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI0Myw2ICsyNDMsNyBAQCBTTE9XX1BBVEhfREVDTChzbG93X3BhdGhfY3JlYXRl
X3RoaXMpCiAKICAgICAgICAgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0gYnl0ZWNvZGUuaW5saW5l
Q2FwYWNpdHk7CiAgICAgICAgIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlKiBhbGxvY2F0aW9uUHJv
ZmlsZSA9IGNvbnN0cnVjdG9yLT5lbnN1cmVSYXJlRGF0YUFuZEFsbG9jYXRpb25Qcm9maWxlKGV4
ZWMsIGlubGluZUNhcGFjaXR5KS0+b2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKTsKKyAgICAgICAg
dGhyb3dTY29wZS5yZWxlYXNlQXNzZXJ0Tm9FeGNlcHRpb24oKTsKICAgICAgICAgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUgPSBhbGxvY2F0aW9uUHJvZmlsZS0+c3RydWN0dXJlKCk7CiAgICAgICAgIHJl
c3VsdCA9IGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMsIHN0cnVjdHVyZSk7CiAgICAgICAgIGlm
IChzdHJ1Y3R1cmUtPmhhc1BvbHlQcm90bygpKSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmgJKHJldmlzaW9uIDI0MDAyNCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmgJKHdv
cmtpbmcgY29weSkKQEAgLTExMCw4ICsxMTAsMTYgQEAgaW5saW5lIGJvb2wgSlNGdW5jdGlvbjo6
aGFzUmVpZmllZE5hbWUoKQogCiBpbmxpbmUgYm9vbCBKU0Z1bmN0aW9uOjpjYW5Vc2VBbGxvY2F0
aW9uUHJvZmlsZSgpCiB7Ci0gICAgaWYgKGlzSG9zdEZ1bmN0aW9uKCkpCi0gICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICBpZiAoaXNIb3N0T3JCdWlsdGluRnVuY3Rpb24oKSkgeworICAgICAgICBp
ZiAoaXNIb3N0RnVuY3Rpb24oKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAg
ICBWTSYgdm0gPSBnbG9iYWxPYmplY3QoKS0+dm0oKTsKKyAgICAgICAgdW5zaWduZWQgYXR0cmli
dXRlczsKKyAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBnZXREaXJlY3Qodm0sIHZtLnByb3Bl
cnR5TmFtZXMtPnByb3RvdHlwZSwgYXR0cmlidXRlcyk7CisgICAgICAgIGlmICghcHJvdG90eXBl
IHx8IChhdHRyaWJ1dGVzICYgUHJvcGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29yT3JDdXN0b21BY2Nl
c3Nvck9yVmFsdWUpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KIAogICAgIC8v
IElmIHdlIGRvbid0IGhhdmUgYSBwcm90b3R5cGUgcHJvcGVydHksIHdlJ3JlIG5vdCBndWFyYW50
ZWVkIGl0J3MKICAgICAvLyBub24tY29uZmlndXJhYmxlLiBGb3IgZXhhbXBsZSwgdXNlciBjb2Rl
IGNhbiBkZWZpbmUgdGhlIHByb3RvdHlwZQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvUHJvcGVydHlTbG90LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvUHJvcGVydHlTbG90LmgJKHJldmlzaW9uIDI0MDAyNCkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5U2xvdC5oCSh3b3JraW5nIGNvcHkpCkBAIC00NSw2
ICs0NSw3IEBAIGVudW0gY2xhc3MgUHJvcGVydHlBdHRyaWJ1dGUgOiB1bnNpZ25lZCAKICAgICBD
dXN0b21BY2Nlc3NvciAgICA9IDEgPDwgNSwKICAgICBDdXN0b21WYWx1ZSAgICAgICA9IDEgPDwg
NiwKICAgICBDdXN0b21BY2Nlc3Nvck9yVmFsdWUgPSBDdXN0b21BY2Nlc3NvciB8IEN1c3RvbVZh
bHVlLAorICAgIEFjY2Vzc29yT3JDdXN0b21BY2Nlc3Nvck9yVmFsdWUgPSBBY2Nlc3NvciB8IEN1
c3RvbUFjY2Vzc29yIHwgQ3VzdG9tVmFsdWUsCiAKICAgICAvLyBUaGluZ3MgdGhhdCBhcmUgdXNl
ZCBieSBzdGF0aWMgaGFzaHRhYmxlcyBhcmUgbm90IGluIHRoZSBhdHRyaWJ1dGVzIGJ5dGUgaW4g
UHJvcGVydHlNYXBFbnRyeS4KICAgICBGdW5jdGlvbiAgICAgICAgICA9IDEgPDwgOCwgIC8vIHBy
b3BlcnR5IGlzIGEgZnVuY3Rpb24gLSBvbmx5IHVzZWQgYnkgc3RhdGljIGhhc2h0YWJsZXMK
</data>

          </attachment>
      

    </bug>

</bugzilla>