<?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>148286</bug_id>
          
          <creation_ts>2015-08-20 20:37:10 -0700</creation_ts>
          <short_desc>DFG should have a KnownBooleanUse for cases where we are required to know that the child is a boolean and it&apos;s not OK to speculate</short_desc>
          <delta_ts>2015-08-20 21:00:02 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>Other</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>145204</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>basile_clement</cc>
    
    <cc>benjamin</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenb</cc>
    
    <cc>mmirman</cc>
    
    <cc>msaboff</cc>
    
    <cc>nrotem</cc>
    
    <cc>oliver</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1119631</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-08-20 20:37:10 -0700</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1119633</commentid>
    <comment_count>1</comment_count>
      <attachid>259581</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-08-20 20:38:52 -0700</bug_when>
    <thetext>Created attachment 259581
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1119635</commentid>
    <comment_count>2</comment_count>
      <attachid>259581</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2015-08-20 20:47:52 -0700</bug_when>
    <thetext>Comment on attachment 259581
the patch

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

&gt; Source/JavaScriptCore/dfg/DFGSafeToExecute.h:79
&gt; +            if (m_state.forNode(edge).m_type &amp; ~BooleanUse)

Fishy. Is that BooleanUse right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1119638</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-08-20 20:56:11 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 259581 [details]
&gt; the patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=259581&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/dfg/DFGSafeToExecute.h:79
&gt; &gt; +            if (m_state.forNode(edge).m_type &amp; ~BooleanUse)
&gt; 
&gt; Fishy. Is that BooleanUse right?

Yeah. :-)  Fixed locally.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1119639</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-08-20 21:00:02 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/188747</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>259581</attachid>
            <date>2015-08-20 20:38:52 -0700</date>
            <delta_ts>2015-08-20 20:47:52 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>13138</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTg4NzI4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQxIEBA
CisyMDE1LTA4LTIwICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
REZHIHNob3VsZCBoYXZlIGEgS25vd25Cb29sZWFuVXNlIGZvciBjYXNlcyB3aGVyZSB3ZSBhcmUg
cmVxdWlyZWQgdG8ga25vdyB0aGF0IHRoZSBjaGlsZCBpcyBhIGJvb2xlYW4gYW5kIGl0J3Mgbm90
IE9LIHRvIHNwZWN1bGF0ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTQ4Mjg2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGhpcyBlbmFibGVzIHVzIHRvIGVuc3VyZSB0aGF0IHRoZSBCcmFuY2ggb3IgTG9n
aWNhbE5vdCBhZnRlciBhbiBlZmZlY3RmdWwgQ29tcGFyZVhZWiBjYW4KKyAgICAgICAgYmUgbWFy
a2VkIGFzICFtYXlFeGl0KCkuIEkgbmVlZCB0aGF0IGZvciBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTQ1MjA0LgorCisgICAgICAgICogZGZnL0RGR0ZpeHVwUGhhc2Uu
Y3BwOgorICAgICAgICAoSlNDOjpERkc6OkZpeHVwUGhhc2U6OmZpeHVwTm9kZSk6CisgICAgICAg
IChKU0M6OkRGRzo6Rml4dXBQaGFzZTo6b2JzZXJ2ZVVzZUtpbmRPbk5vZGUpOgorICAgICAgICAq
IGRmZy9ERkdTYWZlVG9FeGVjdXRlLmg6CisgICAgICAgIChKU0M6OkRGRzo6U2FmZVRvRXhlY3V0
ZUVkZ2U6Om9wZXJhdG9yKCkpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6
CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OnNwZWN1bGF0ZSk6CisgICAgICAg
ICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmg6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRl
Qm9vbGVhbk9wZXJhbmQ6OlNwZWN1bGF0ZUJvb2xlYW5PcGVyYW5kKToKKyAgICAgICAgKiBkZmcv
REZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRp
dmVKSVQ6OmZpbGxTcGVjdWxhdGVCb29sZWFuKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZUxvZ2ljYWxOb3QpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0
aXZlSklUOjplbWl0QnJhbmNoKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5j
cHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmZpbGxTcGVjdWxhdGVCb29s
ZWFuKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUxvZ2ljYWxO
b3QpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjplbWl0QnJhbmNoKToKKyAg
ICAgICAgKiBkZmcvREZHVXNlS2luZC5jcHA6CisgICAgICAgIChXVEY6OnByaW50SW50ZXJuYWwp
OgorICAgICAgICAqIGRmZy9ERkdVc2VLaW5kLmg6CisgICAgICAgIChKU0M6OkRGRzo6dHlwZUZp
bHRlckZvcik6CisgICAgICAgIChKU0M6OkRGRzo6c2hvdWxkTm90SGF2ZVR5cGVDaGVjayk6Cisg
ICAgICAgICogZnRsL0ZUTENhcGFiaWxpdGllcy5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6Y2Fu
Q29tcGlsZSk6CisgICAgICAgICogZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcDoKKyAgICAgICAg
KEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9MTFZNOjpib29saWZ5KToKKyAgICAgICAgKEpTQzo6
RlRMOjpERkc6Okxvd2VyREZHVG9MTFZNOjpsb3dCb29sZWFuKToKKwogMjAxNS0wOC0yMCAgRmls
aXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIE92ZXJmbG93IGNoZWNrIGVs
aW1pbmF0aW9uIGZhaWxzIGZvciBhIHNpbXBsZSB0ZXN0IGNhc2UKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAkocmV2aXNpb24gMTg4NzI4KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzU2LDkgKzM1NiwxOSBAQCBwcml2YXRlOgogICAgICAgICB9CiAgICAgICAgICAgICAK
ICAgICAgICAgY2FzZSBMb2dpY2FsTm90OiB7Ci0gICAgICAgICAgICBpZiAobm9kZS0+Y2hpbGQx
KCktPnNob3VsZFNwZWN1bGF0ZUJvb2xlYW4oKSkKLSAgICAgICAgICAgICAgICBmaXhFZGdlPEJv
b2xlYW5Vc2U+KG5vZGUtPmNoaWxkMSgpKTsKLSAgICAgICAgICAgIGVsc2UgaWYgKG5vZGUtPmNo
aWxkMSgpLT5zaG91bGRTcGVjdWxhdGVPYmplY3RPck90aGVyKCkpCisgICAgICAgICAgICBpZiAo
bm9kZS0+Y2hpbGQxKCktPnNob3VsZFNwZWN1bGF0ZUJvb2xlYW4oKSkgeworICAgICAgICAgICAg
ICAgIGlmIChub2RlLT5jaGlsZDEoKS0+cmVzdWx0KCkgPT0gTm9kZVJlc3VsdEJvb2xlYW4pIHsK
KyAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgaW4gY2FzZSB3ZSBoYXZl
IGEgYnl0ZWNvZGUgaW5zdHJ1Y3Rpb24gaW1wbGVtZW50ZWQgYnk6CisgICAgICAgICAgICAgICAg
ICAgIC8vCisgICAgICAgICAgICAgICAgICAgIC8vIGE6IENvbXBhcmVFcSguLi4pCisgICAgICAg
ICAgICAgICAgICAgIC8vIGI6IExvZ2ljYWxOb3QoQGEpCisgICAgICAgICAgICAgICAgICAgIC8v
CisgICAgICAgICAgICAgICAgICAgIC8vIEluIHRoYXQgY2FzZSwgQ29tcGFyZUVxIG1pZ2h0IGhh
dmUgYSBzaWRlLWVmZmVjdC4gVGhlbiwgd2UgbmVlZCB0byBtYWtlCisgICAgICAgICAgICAgICAg
ICAgIC8vIHN1cmUgdGhhdCB3ZSBrbm93IHRoYXQgQnJhbmNoIGRvZXMgbm90IGV4aXQuCisgICAg
ICAgICAgICAgICAgICAgIGZpeEVkZ2U8S25vd25Cb29sZWFuVXNlPihub2RlLT5jaGlsZDEoKSk7
CisgICAgICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgICAgIGZpeEVkZ2U8Qm9v
bGVhblVzZT4obm9kZS0+Y2hpbGQxKCkpOworICAgICAgICAgICAgfSBlbHNlIGlmIChub2RlLT5j
aGlsZDEoKS0+c2hvdWxkU3BlY3VsYXRlT2JqZWN0T3JPdGhlcigpKQogICAgICAgICAgICAgICAg
IGZpeEVkZ2U8T2JqZWN0T3JPdGhlclVzZT4obm9kZS0+Y2hpbGQxKCkpOwogICAgICAgICAgICAg
ZWxzZSBpZiAobm9kZS0+Y2hpbGQxKCktPnNob3VsZFNwZWN1bGF0ZUludDMyT3JCb29sZWFuKCkp
CiAgICAgICAgICAgICAgICAgZml4SW50T3JCb29sZWFuRWRnZShub2RlLT5jaGlsZDEoKSk7CkBA
IC04MTksOSArODI5LDE5IEBAIHByaXZhdGU6CiAgICAgICAgIH0KICAgICAgICAgICAgIAogICAg
ICAgICBjYXNlIEJyYW5jaDogewotICAgICAgICAgICAgaWYgKG5vZGUtPmNoaWxkMSgpLT5zaG91
bGRTcGVjdWxhdGVCb29sZWFuKCkpCi0gICAgICAgICAgICAgICAgZml4RWRnZTxCb29sZWFuVXNl
Pihub2RlLT5jaGlsZDEoKSk7Ci0gICAgICAgICAgICBlbHNlIGlmIChub2RlLT5jaGlsZDEoKS0+
c2hvdWxkU3BlY3VsYXRlT2JqZWN0T3JPdGhlcigpKQorICAgICAgICAgICAgaWYgKG5vZGUtPmNo
aWxkMSgpLT5zaG91bGRTcGVjdWxhdGVCb29sZWFuKCkpIHsKKyAgICAgICAgICAgICAgICBpZiAo
bm9kZS0+Y2hpbGQxKCktPnJlc3VsdCgpID09IE5vZGVSZXN1bHRCb29sZWFuKSB7CisgICAgICAg
ICAgICAgICAgICAgIC8vIFRoaXMgaXMgbmVjZXNzYXJ5IGluIGNhc2Ugd2UgaGF2ZSBhIGJ5dGVj
b2RlIGluc3RydWN0aW9uIGltcGxlbWVudGVkIGJ5OgorICAgICAgICAgICAgICAgICAgICAvLwor
ICAgICAgICAgICAgICAgICAgICAvLyBhOiBDb21wYXJlRXEoLi4uKQorICAgICAgICAgICAgICAg
ICAgICAvLyBiOiBCcmFuY2goQGEpCisgICAgICAgICAgICAgICAgICAgIC8vCisgICAgICAgICAg
ICAgICAgICAgIC8vIEluIHRoYXQgY2FzZSwgQ29tcGFyZUVxIG1pZ2h0IGhhdmUgYSBzaWRlLWVm
ZmVjdC4gVGhlbiwgd2UgbmVlZCB0byBtYWtlCisgICAgICAgICAgICAgICAgICAgIC8vIHN1cmUg
dGhhdCB3ZSBrbm93IHRoYXQgQnJhbmNoIGRvZXMgbm90IGV4aXQuCisgICAgICAgICAgICAgICAg
ICAgIGZpeEVkZ2U8S25vd25Cb29sZWFuVXNlPihub2RlLT5jaGlsZDEoKSk7CisgICAgICAgICAg
ICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgICAgIGZpeEVkZ2U8Qm9vbGVhblVzZT4obm9k
ZS0+Y2hpbGQxKCkpOworICAgICAgICAgICAgfSBlbHNlIGlmIChub2RlLT5jaGlsZDEoKS0+c2hv
dWxkU3BlY3VsYXRlT2JqZWN0T3JPdGhlcigpKQogICAgICAgICAgICAgICAgIGZpeEVkZ2U8T2Jq
ZWN0T3JPdGhlclVzZT4obm9kZS0+Y2hpbGQxKCkpOwogICAgICAgICAgICAgZWxzZSBpZiAobm9k
ZS0+Y2hpbGQxKCktPnNob3VsZFNwZWN1bGF0ZUludDMyT3JCb29sZWFuKCkpCiAgICAgICAgICAg
ICAgICAgZml4SW50T3JCb29sZWFuRWRnZShub2RlLT5jaGlsZDEoKSk7CkBAIC0xNzc3LDYgKzE3
OTcsNyBAQCBwcml2YXRlOgogICAgICAgICBWYXJpYWJsZUFjY2Vzc0RhdGEqIHZhcmlhYmxlID0g
bm9kZS0+dmFyaWFibGVBY2Nlc3NEYXRhKCk7CiAgICAgICAgIHN3aXRjaCAodXNlS2luZCkgewog
ICAgICAgICBjYXNlIEludDMyVXNlOgorICAgICAgICBjYXNlIEtub3duSW50MzJVc2U6CiAgICAg
ICAgICAgICBpZiAoYWx3YXlzVW5ib3hTaW1wbGVQcmltaXRpdmVzKCkKICAgICAgICAgICAgICAg
ICB8fCBpc0ludDMyU3BlY3VsYXRpb24odmFyaWFibGUtPnByZWRpY3Rpb24oKSkpCiAgICAgICAg
ICAgICAgICAgbV9wcm9maXRhYmlsaXR5Q2hhbmdlZCB8PSB2YXJpYWJsZS0+bWVyZ2VJc1Byb2Zp
dGFibGVUb1VuYm94KHRydWUpOwpAQCAtMTc4OSw2ICsxODEwLDcgQEAgcHJpdmF0ZToKICAgICAg
ICAgICAgICAgICBtX3Byb2ZpdGFiaWxpdHlDaGFuZ2VkIHw9IHZhcmlhYmxlLT5tZXJnZUlzUHJv
Zml0YWJsZVRvVW5ib3godHJ1ZSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBC
b29sZWFuVXNlOgorICAgICAgICBjYXNlIEtub3duQm9vbGVhblVzZToKICAgICAgICAgICAgIGlm
IChhbHdheXNVbmJveFNpbXBsZVByaW1pdGl2ZXMoKQogICAgICAgICAgICAgICAgIHx8IGlzQm9v
bGVhblNwZWN1bGF0aW9uKHZhcmlhYmxlLT5wcmVkaWN0aW9uKCkpKQogICAgICAgICAgICAgICAg
IG1fcHJvZml0YWJpbGl0eUNoYW5nZWQgfD0gdmFyaWFibGUtPm1lcmdlSXNQcm9maXRhYmxlVG9V
bmJveCh0cnVlKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhl
Y3V0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRv
RXhlY3V0ZS5oCShyZXZpc2lvbiAxODg3MjgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1NhZmVUb0V4ZWN1dGUuaAkod29ya2luZyBjb3B5KQpAQCAtNzQsNiArNzQsMTEgQEAgcHVi
bGljOgogICAgICAgICAgICAgaWYgKG1fc3RhdGUuZm9yTm9kZShlZGdlKS5tX3R5cGUgJiB+U3Bl
Y0ludDMyKQogICAgICAgICAgICAgICAgIG1fcmVzdWx0ID0gZmFsc2U7CiAgICAgICAgICAgICBy
ZXR1cm47CisKKyAgICAgICAgY2FzZSBLbm93bkJvb2xlYW5Vc2U6CisgICAgICAgICAgICBpZiAo
bV9zdGF0ZS5mb3JOb2RlKGVkZ2UpLm1fdHlwZSAmIH5Cb29sZWFuVXNlKQorICAgICAgICAgICAg
ICAgIG1fcmVzdWx0ID0gZmFsc2U7CisgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAK
ICAgICAgICAgY2FzZSBLbm93bkNlbGxVc2U6CiAgICAgICAgICAgICBpZiAobV9zdGF0ZS5mb3JO
b2RlKGVkZ2UpLm1fdHlwZSAmIH5TcGVjQ2VsbCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAkocmV2aXNpb24gMTg4
NzI4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTAzMyw2ICsxMDMzLDcgQEAgR1BSUmVnIFNwZWN1bGF0
aXZlSklUOjpmaWxsU3BlY3VsYXRlQm9vbAogewogICAgIEFic3RyYWN0VmFsdWUmIHZhbHVlID0g
bV9zdGF0ZS5mb3JOb2RlKGVkZ2UpOwogICAgIFNwZWN1bGF0ZWRUeXBlIHR5cGUgPSB2YWx1ZS5t
X3R5cGU7CisgICAgQVNTRVJUKGVkZ2UudXNlS2luZCgpICE9IEtub3duQm9vbGVhblVzZSB8fCAh
KHZhbHVlLm1fdHlwZSAmIH5TcGVjQm9vbGVhbikpOwogCiAgICAgbV9pbnRlcnByZXRlci5maWx0
ZXIodmFsdWUsIFNwZWNCb29sZWFuKTsKICAgICBpZiAodmFsdWUuaXNDbGVhcigpKSB7CkBAIC0x
NDYzLDcgKzE0NjQsOCBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlT2JqZWN0T3JPdGhl
CiB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlTG9naWNhbE5vdChOb2RlKiBub2RlKQogewog
ICAgIHN3aXRjaCAobm9kZS0+Y2hpbGQxKCkudXNlS2luZCgpKSB7Ci0gICAgY2FzZSBCb29sZWFu
VXNlOiB7CisgICAgY2FzZSBCb29sZWFuVXNlOgorICAgIGNhc2UgS25vd25Cb29sZWFuVXNlOiB7
CiAgICAgICAgIFNwZWN1bGF0ZUJvb2xlYW5PcGVyYW5kIHZhbHVlKHRoaXMsIG5vZGUtPmNoaWxk
MSgpKTsKICAgICAgICAgR1BSVGVtcG9yYXJ5IHJlc3VsdCh0aGlzLCBSZXVzZSwgdmFsdWUpOwog
ICAgICAgICBtX2ppdC54b3IzMihUcnVzdGVkSW1tMzIoMSksIHZhbHVlLmdwcigpLCByZXN1bHQu
Z3ByKCkpOwpAQCAtMTU4Miw3ICsxNTg0LDggQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6ZW1pdEJy
YW5jaChOb2RlKiBubwogICAgIEJhc2ljQmxvY2sqIG5vdFRha2VuID0gbm9kZS0+YnJhbmNoRGF0
YSgpLT5ub3RUYWtlbi5ibG9jazsKIAogICAgIHN3aXRjaCAobm9kZS0+Y2hpbGQxKCkudXNlS2lu
ZCgpKSB7Ci0gICAgY2FzZSBCb29sZWFuVXNlOiB7CisgICAgY2FzZSBCb29sZWFuVXNlOgorICAg
IGNhc2UgS25vd25Cb29sZWFuVXNlOiB7CiAgICAgICAgIFNwZWN1bGF0ZUJvb2xlYW5PcGVyYW5k
IHZhbHVlKHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OlJl
c3VsdENvbmRpdGlvbiBjb25kaXRpb24gPSBNYWNyb0Fzc2VtYmxlcjo6Tm9uWmVybzsKIApJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQu
Y3BwCShyZXZpc2lvbiAxODg3MjgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklUNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTM5LDYgKzExMzksNyBAQCBH
UFJSZWcgU3BlY3VsYXRpdmVKSVQ6OmZpbGxTcGVjdWxhdGVCb29sCiB7CiAgICAgQWJzdHJhY3RW
YWx1ZSYgdmFsdWUgPSBtX3N0YXRlLmZvck5vZGUoZWRnZSk7CiAgICAgU3BlY3VsYXRlZFR5cGUg
dHlwZSA9IHZhbHVlLm1fdHlwZTsKKyAgICBBU1NFUlQoZWRnZS51c2VLaW5kKCkgIT0gS25vd25C
b29sZWFuVXNlIHx8ICEodmFsdWUubV90eXBlICYgflNwZWNCb29sZWFuKSk7CiAKICAgICBtX2lu
dGVycHJldGVyLmZpbHRlcih2YWx1ZSwgU3BlY0Jvb2xlYW4pOwogICAgIGlmICh2YWx1ZS5pc0Ns
ZWFyKCkpIHsKQEAgLTE2MTcsNyArMTYxOCw4IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBp
bGVMb2dpY2FsTm90KE4KICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICAKLSAgICBjYXNlIEJv
b2xlYW5Vc2U6IHsKKyAgICBjYXNlIEJvb2xlYW5Vc2U6CisgICAgY2FzZSBLbm93bkJvb2xlYW5V
c2U6IHsKICAgICAgICAgaWYgKCFuZWVkc1R5cGVDaGVjayhub2RlLT5jaGlsZDEoKSwgU3BlY0Jv
b2xlYW4pKSB7CiAgICAgICAgICAgICBTcGVjdWxhdGVCb29sZWFuT3BlcmFuZCB2YWx1ZSh0aGlz
LCBub2RlLT5jaGlsZDEoKSk7CiAgICAgICAgICAgICBHUFJUZW1wb3JhcnkgcmVzdWx0KHRoaXMs
IFJldXNlLCB2YWx1ZSk7CkBAIC0xNzY5LDExICsxNzcxLDEyIEBAIHZvaWQgU3BlY3VsYXRpdmVK
SVQ6OmVtaXRCcmFuY2goTm9kZSogbm8KICAgICB9CiAKICAgICBjYXNlIFVudHlwZWRVc2U6Ci0g
ICAgY2FzZSBCb29sZWFuVXNlOiB7CisgICAgY2FzZSBCb29sZWFuVXNlOgorICAgIGNhc2UgS25v
d25Cb29sZWFuVXNlOiB7CiAgICAgICAgIEpTVmFsdWVPcGVyYW5kIHZhbHVlKHRoaXMsIG5vZGUt
PmNoaWxkMSgpLCBNYW51YWxPcGVyYW5kU3BlY3VsYXRpb24pOwogICAgICAgICBHUFJSZWcgdmFs
dWVHUFIgPSB2YWx1ZS5ncHIoKTsKICAgICAgICAgCi0gICAgICAgIGlmIChub2RlLT5jaGlsZDEo
KS51c2VLaW5kKCkgPT0gQm9vbGVhblVzZSkgeworICAgICAgICBpZiAobm9kZS0+Y2hpbGQxKCku
dXNlS2luZCgpID09IEJvb2xlYW5Vc2UgfHwgbm9kZS0+Y2hpbGQxKCkudXNlS2luZCgpID09IEtu
b3duQm9vbGVhblVzZSkgewogICAgICAgICAgICAgaWYgKCFuZWVkc1R5cGVDaGVjayhub2RlLT5j
aGlsZDEoKSwgU3BlY0Jvb2xlYW4pKSB7CiAgICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6
OlJlc3VsdENvbmRpdGlvbiBjb25kaXRpb24gPSBNYWNyb0Fzc2VtYmxlcjo6Tm9uWmVybzsKICAg
ICAgICAgICAgICAgICAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3Vs
YXRpdmVKSVQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
U3BlY3VsYXRpdmVKSVQuY3BwCShyZXZpc2lvbiAxODg3MjgpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTkwOCw2
ICs1OTA4LDkgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6c3BlY3VsYXRlKE5vZGUqLCBFZAogICAg
IGNhc2UgQm9vbGVhblVzZToKICAgICAgICAgc3BlY3VsYXRlQm9vbGVhbihlZGdlKTsKICAgICAg
ICAgYnJlYWs7CisgICAgY2FzZSBLbm93bkJvb2xlYW5Vc2U6CisgICAgICAgIEFTU0VSVCghbmVl
ZHNUeXBlQ2hlY2soZWRnZSwgU3BlY0Jvb2xlYW4pKTsKKyAgICAgICAgYnJlYWs7CiAgICAgY2Fz
ZSBDZWxsVXNlOgogICAgICAgICBzcGVjdWxhdGVDZWxsKGVkZ2UpOwogICAgICAgICBicmVhazsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgJ
KHJldmlzaW9uIDE4ODcyOCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3Vs
YXRpdmVKSVQuaAkod29ya2luZyBjb3B5KQpAQCAtMzI0NSw3ICszMjQ1LDcgQEAgcHVibGljOgog
ICAgICAgICAsIG1fZ3ByT3JJbnZhbGlkKEludmFsaWRHUFJSZWcpCiAgICAgewogICAgICAgICBB
U1NFUlQobV9qaXQpOwotICAgICAgICBBU1NFUlRfVU5VU0VEKG1vZGUsIG1vZGUgPT0gTWFudWFs
T3BlcmFuZFNwZWN1bGF0aW9uIHx8IGVkZ2UudXNlS2luZCgpID09IEJvb2xlYW5Vc2UpOworICAg
ICAgICBBU1NFUlRfVU5VU0VEKG1vZGUsIG1vZGUgPT0gTWFudWFsT3BlcmFuZFNwZWN1bGF0aW9u
IHx8IGVkZ2UudXNlS2luZCgpID09IEJvb2xlYW5Vc2UgfHwgZWRnZS51c2VLaW5kKCkgPT0gS25v
d25Cb29sZWFuVXNlKTsKICAgICAgICAgaWYgKGppdC0+aXNGaWxsZWQobm9kZSgpKSkKICAgICAg
ICAgICAgIGdwcigpOwogICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
VXNlS2luZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdV
c2VLaW5kLmNwcAkocmV2aXNpb24gMTg4NzI4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdVc2VLaW5kLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzAsNiArNzAsOSBAQCB2b2lkIHBy
aW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgVXNlCiAgICAgY2FzZSBCb29sZWFuVXNlOgog
ICAgICAgICBvdXQucHJpbnQoIkJvb2xlYW4iKTsKICAgICAgICAgcmV0dXJuOworICAgIGNhc2Ug
S25vd25Cb29sZWFuVXNlOgorICAgICAgICBvdXQucHJpbnQoIktub3duQm9vbGVhbiIpOworICAg
ICAgICByZXR1cm47CiAgICAgY2FzZSBDZWxsVXNlOgogICAgICAgICBvdXQucHJpbnQoIkNlbGwi
KTsKICAgICAgICAgcmV0dXJuOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdV
c2VLaW5kLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdVc2VL
aW5kLmgJKHJldmlzaW9uIDE4ODcyOCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
VXNlS2luZC5oCSh3b3JraW5nIGNvcHkpCkBAIC00OCw2ICs0OCw3IEBAIGVudW0gVXNlS2luZCB7
CiAgICAgTnVtYmVyVXNlLAogICAgIFJlYWxOdW1iZXJVc2UsCiAgICAgQm9vbGVhblVzZSwKKyAg
ICBLbm93bkJvb2xlYW5Vc2UsCiAgICAgQ2VsbFVzZSwKICAgICBLbm93bkNlbGxVc2UsCiAgICAg
T2JqZWN0VXNlLApAQCAtMTAxLDYgKzEwMiw3IEBAIGlubGluZSBTcGVjdWxhdGVkVHlwZSB0eXBl
RmlsdGVyRm9yKFVzZUsKICAgICBjYXNlIERvdWJsZVJlcE1hY2hpbmVJbnRVc2U6CiAgICAgICAg
IHJldHVybiBTcGVjSW50NTJBc0RvdWJsZTsKICAgICBjYXNlIEJvb2xlYW5Vc2U6CisgICAgY2Fz
ZSBLbm93bkJvb2xlYW5Vc2U6CiAgICAgICAgIHJldHVybiBTcGVjQm9vbGVhbjsKICAgICBjYXNl
IENlbGxVc2U6CiAgICAgY2FzZSBLbm93bkNlbGxVc2U6CkBAIC0xNDUsNiArMTQ3LDcgQEAgaW5s
aW5lIGJvb2wgc2hvdWxkTm90SGF2ZVR5cGVDaGVjayhVc2VLaQogICAgIGNhc2UgS25vd25JbnQz
MlVzZToKICAgICBjYXNlIEtub3duQ2VsbFVzZToKICAgICBjYXNlIEtub3duU3RyaW5nVXNlOgor
ICAgIGNhc2UgS25vd25Cb29sZWFuVXNlOgogICAgIGNhc2UgSW50NTJSZXBVc2U6CiAgICAgY2Fz
ZSBEb3VibGVSZXBVc2U6CiAgICAgICAgIHJldHVybiB0cnVlOwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcAkocmV2aXNpb24gMTg4NzI4KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00MTIsNiArNDEyLDcgQEAgQ2FwYWJpbGl0eUxldmVsIGNhbkNvbXBpbGUoR3Jh
cGgmIGdyYXBoKQogICAgICAgICAgICAgICAgIGNhc2UgRG91YmxlUmVwVXNlOgogICAgICAgICAg
ICAgICAgIGNhc2UgRG91YmxlUmVwUmVhbFVzZToKICAgICAgICAgICAgICAgICBjYXNlIEJvb2xl
YW5Vc2U6CisgICAgICAgICAgICAgICAgY2FzZSBLbm93bkJvb2xlYW5Vc2U6CiAgICAgICAgICAg
ICAgICAgY2FzZSBDZWxsVXNlOgogICAgICAgICAgICAgICAgIGNhc2UgS25vd25DZWxsVXNlOgog
ICAgICAgICAgICAgICAgIGNhc2UgT2JqZWN0VXNlOgpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAJKHJldmlzaW9uIDE4ODcyOCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC02MTMwLDYgKzYxMzAsNyBAQCBwcml2YXRlOgogICAgIHsKICAgICAgICAgc3dp
dGNoIChlZGdlLnVzZUtpbmQoKSkgewogICAgICAgICBjYXNlIEJvb2xlYW5Vc2U6CisgICAgICAg
IGNhc2UgS25vd25Cb29sZWFuVXNlOgogICAgICAgICAgICAgcmV0dXJuIGxvd0Jvb2xlYW4oZWRn
ZSk7CiAgICAgICAgIGNhc2UgSW50MzJVc2U6CiAgICAgICAgICAgICByZXR1cm4gbV9vdXQubm90
WmVybzMyKGxvd0ludDMyKGVkZ2UpKTsKQEAgLTcxMjAsNyArNzEyMSw3IEBAIHByaXZhdGU6CiAg
ICAgCiAgICAgTFZhbHVlIGxvd0Jvb2xlYW4oRWRnZSBlZGdlLCBPcGVyYW5kU3BlY3VsYXRpb25N
b2RlIG1vZGUgPSBBdXRvbWF0aWNPcGVyYW5kU3BlY3VsYXRpb24pCiAgICAgewotICAgICAgICBB
U1NFUlRfVU5VU0VEKG1vZGUsIG1vZGUgPT0gTWFudWFsT3BlcmFuZFNwZWN1bGF0aW9uIHx8IGVk
Z2UudXNlS2luZCgpID09IEJvb2xlYW5Vc2UpOworICAgICAgICBBU1NFUlRfVU5VU0VEKG1vZGUs
IG1vZGUgPT0gTWFudWFsT3BlcmFuZFNwZWN1bGF0aW9uIHx8IGVkZ2UudXNlS2luZCgpID09IEJv
b2xlYW5Vc2UgfHwgZWRnZS51c2VLaW5kKCkgPT0gS25vd25Cb29sZWFuVXNlKTsKICAgICAgICAg
CiAgICAgICAgIGlmIChlZGdlLT5oYXNDb25zdGFudCgpKSB7CiAgICAgICAgICAgICBKU1ZhbHVl
IHZhbHVlID0gZWRnZS0+YXNKU1ZhbHVlKCk7Cg==
</data>
<flag name="review"
          id="284777"
          type_id="1"
          status="+"
          setter="benjamin"
    />
          </attachment>
      

    </bug>

</bugzilla>