<?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>132241</bug_id>
          
          <creation_ts>2014-04-27 20:01:04 -0700</creation_ts>
          <short_desc>REGRESSION (r159345): The hover state for links in the top navigation of Yahoo.com doesn&apos;t work</short_desc>
          <delta_ts>2014-05-21 11:24:08 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1004469</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-04-27 20:01:04 -0700</bug_when>
    <thetext>REGRESSON (r159344): The hover state for links in the top navigation of Yahoo.com doesn&apos;t work</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1004470</commentid>
    <comment_count>1</comment_count>
      <attachid>230274</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-04-27 20:09:04 -0700</bug_when>
    <thetext>Created attachment 230274
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1004471</commentid>
    <comment_count>2</comment_count>
      <attachid>230275</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-04-27 20:16:30 -0700</bug_when>
    <thetext>Created attachment 230275
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1004476</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-04-27 20:33:49 -0700</bug_when>
    <thetext>I’ll fix the title of the bug in the patch before landing it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1004483</commentid>
    <comment_count>4</comment_count>
      <attachid>230275</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-04-27 21:16:31 -0700</bug_when>
    <thetext>Comment on attachment 230275
Patch

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

r=me. perf.webkit.org will tell us if out-of-lining simpleLineLayout() really matters.

&gt; Source/WebCore/ChangeLog:3
&gt; +        REGRESSION (r159344): The hover state for links in the top navigation of Yahoo.com doesn&apos;t work

This should be r159345.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1004484</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-04-27 21:19:37 -0700</bug_when>
    <thetext>Committed r167870: &lt;http://trac.webkit.org/changeset/167870&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1008253</commentid>
    <comment_count>6</comment_count>
      <attachid>230275</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-05-10 05:00:46 -0700</bug_when>
    <thetext>Comment on attachment 230275
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        REGRESSION (r159344): The hover state for links in the top navigation of Yahoo.com doesn&apos;t work
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=132241
&gt; +        rdar://problem/16501924
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        Test: fast/text/simple-lines-hover-underline.html

This ChangeLog entry does not explain how this change fixes the bug.

&gt; Source/WebCore/rendering/RenderBlockFlow.cpp:3360
&gt; +const SimpleLineLayout::Layout* RenderBlockFlow::simpleLineLayout() const
&gt; +{
&gt; +    if (m_lineLayoutPath == UndeterminedPath)
&gt; +        const_cast&lt;RenderBlockFlow&amp;&gt;(*this).m_lineLayoutPath = SimpleLineLayout::canUseFor(*this) ? SimpleLinesPath : LineBoxesPath;
&gt; +
&gt; +    if (m_lineLayoutPath == SimpleLinesPath)
&gt; +        return m_simpleLineLayout.get();
&gt; +
&gt; +    const_cast&lt;RenderBlockFlow&amp;&gt;(*this).createLineBoxes();
&gt; +    return nullptr;
&gt; +}

This is pretty terrible. Why all the const breakage? Why not use mutable? Why does this have side effect of creating lineboxes but not simple lines?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1008264</commentid>
    <comment_count>7</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-05-10 10:51:56 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; This ChangeLog entry does not explain how this change fixes the bug.

Sorry about that.

What this fixes is that m_lineLayoutPath is set to UndeterminedPath, but the code continues to use the simple line layout until and unless RenderBlockFlow::layoutInlineChildren is called. I don’t understand all the details thoroughly. I’d be happy if you could find a better fix.

&gt; This is pretty terrible. Why all the const breakage? Why not use mutable? Why does this have side effect of creating lineboxes but not simple lines?

I’d be fine with it if you roll this out and fix the problem another way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1010805</commentid>
    <comment_count>8</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-05-21 11:24:08 -0700</bug_when>
    <thetext>https://bugs.webkit.org/show_bug.cgi?id=133155 reverts and fixes this by layout invalidation.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230274</attachid>
            <date>2014-04-27 20:09:04 -0700</date>
            <delta_ts>2014-04-27 20:16:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132241-20140427200845.patch</filename>
            <type>text/plain</type>
            <size>10164</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY3ODY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODU1MzlhODcwNDhmMDIy
ODhhMzRlZTMyOGU4N2I3YzJmODQ0MTcxZS4uMDEzMjFmNGI4ZDhjNTdlMmJjOTUwNmI0ZWIwOTQ1
ODEyNDQzZWRkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE0LTA0LTI3ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMTU5MzQ0
KTogVGhlIGhvdmVyIHN0YXRlIGZvciBsaW5rcyBpbiB0aGUgdG9wIG5hdmlnYXRpb24gb2YgWWFo
b28uY29tIGRvZXNuJ3Qgd29yaworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTMyMjQxCisgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzE2NTAxOTI0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFzdC90
ZXh0L3NpbXBsZS1saW5lcy1ob3Zlci11bmRlcmxpbmUuaHRtbAorCisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckJsb2NrRmxvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zs
b3c6OmhpdFRlc3RJbmxpbmVDaGlsZHJlbik6IFVzZSBzaW1wbGVMaW5lTGF5b3V0IGZ1bmN0aW9u
IHJhdGhlciB0aGFuCisgICAgICAgIGdldHRpbmcgYXQgdGhlIGRhdGEgbWVtYmVyIGRpcmVjdGx5
LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjpmaXJzdExpbmVCYXNlbGluZSk6
IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjppbmxpbmVCbG9ja0Jh
c2VsaW5lKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6OmxpbmVD
b3VudCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjpwYWludElu
bGluZUNoaWxkcmVuKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6
Omhhc0xpbmVzKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6OnNp
bXBsZUxpbmVMYXlvdXQpOiBBZGRlZCBsb2dpYyB0byBkZXRlcm1pbmUgd2hpY2ggcGF0aCB0byB1
c2UgaWYKKyAgICAgICAgbV9saW5lTGF5b3V0UGF0aCBpcyB1bmRldGVybWluZWQsIGFuZCBjYWxs
IGNyZWF0ZUxpbmVCb3hlcyBpZiBpdCdzIG5vdCBzaW1wbGUuCisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJCbG9ja0Zsb3c6OmVuc3VyZUxpbmVCb3hlcyk6IEZhY3RvcmVkIG91dCBtb3N0IG9mIHRo
ZSBjb2RlIGludG8gYSBuZXcKKyAgICAgICAgY3JlYXRlTGluZUJveGVzIGZ1bmN0aW9uLgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjpjcmVhdGVMaW5lQm94ZXMpOiBEaXR0by4K
KworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaDogTWFkZSBzaW1wbGVMaW5l
TGF5b3V0IGZ1bmN0aW9uIG5vIGxvbmdlciBhbiBpbmxpbmUuCisgICAgICAgIEFkZGVkIGEgcHJp
dmF0ZSBjcmVhdGVMaW5lQm94ZXMgZnVuY3Rpb24uCisKIDIwMTQtMDQtMjcgIFByYXZlZW4gUiBK
YWRoYXYgIDxwcmF2ZWVuLmpAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgW01lZGlhU3RyZWFtXSAu
ZW5kZWQgc2hvdWxkbid0IGJlIHBhcnQgb2YgTWVkaWFTdHJlYW0gSURMCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCmluZGV4IDRlNjM3YmY0OTZjNjZkOWY4
ODhkNDFkODc1YWZhMWJlYjU4MjE2YmQuLjQ3NjFkYmEwNDBkYTU1ZGE5Y2M0MDQwNjNjYjhkMzg1
YWU5N2U3ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
a0Zsb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cu
Y3BwCkBAIC0yNjk1LDggKzI2OTUsOCBAQCBib29sIFJlbmRlckJsb2NrRmxvdzo6aGl0VGVzdElu
bGluZUNoaWxkcmVuKGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiByZXF1ZXN0LCBIaXRUZQogewogICAg
IEFTU0VSVChjaGlsZHJlbklubGluZSgpKTsKIAotICAgIGlmIChtX3NpbXBsZUxpbmVMYXlvdXQp
Ci0gICAgICAgIHJldHVybiBTaW1wbGVMaW5lTGF5b3V0OjpoaXRUZXN0RmxvdygqdGhpcywgKm1f
c2ltcGxlTGluZUxheW91dCwgcmVxdWVzdCwgcmVzdWx0LCBsb2NhdGlvbkluQ29udGFpbmVyLCBh
Y2N1bXVsYXRlZE9mZnNldCwgaGl0VGVzdEFjdGlvbik7CisgICAgaWYgKGF1dG8gc2ltcGxlTGlu
ZUxheW91dCA9IHRoaXMtPnNpbXBsZUxpbmVMYXlvdXQoKSkKKyAgICAgICAgcmV0dXJuIFNpbXBs
ZUxpbmVMYXlvdXQ6OmhpdFRlc3RGbG93KCp0aGlzLCAqc2ltcGxlTGluZUxheW91dCwgcmVxdWVz
dCwgcmVzdWx0LCBsb2NhdGlvbkluQ29udGFpbmVyLCBhY2N1bXVsYXRlZE9mZnNldCwgaGl0VGVz
dEFjdGlvbik7CiAKICAgICByZXR1cm4gbV9saW5lQm94ZXMuaGl0VGVzdCh0aGlzLCByZXF1ZXN0
LCByZXN1bHQsIGxvY2F0aW9uSW5Db250YWluZXIsIGFjY3VtdWxhdGVkT2Zmc2V0LCBoaXRUZXN0
QWN0aW9uKTsKIH0KQEAgLTI4MDIsOCArMjgwMiw4IEBAIGludCBSZW5kZXJCbG9ja0Zsb3c6OmZp
cnN0TGluZUJhc2VsaW5lKCkgY29uc3QKICAgICBpZiAoIWhhc0xpbmVzKCkpCiAgICAgICAgIHJl
dHVybiAtMTsKIAotICAgIGlmIChtX3NpbXBsZUxpbmVMYXlvdXQpCi0gICAgICAgIHJldHVybiBT
aW1wbGVMaW5lTGF5b3V0Ojpjb21wdXRlRmxvd0ZpcnN0TGluZUJhc2VsaW5lKCp0aGlzLCAqbV9z
aW1wbGVMaW5lTGF5b3V0KTsKKyAgICBpZiAoYXV0byBzaW1wbGVMaW5lTGF5b3V0ID0gdGhpcy0+
c2ltcGxlTGluZUxheW91dCgpKQorICAgICAgICByZXR1cm4gU2ltcGxlTGluZUxheW91dDo6Y29t
cHV0ZUZsb3dGaXJzdExpbmVCYXNlbGluZSgqdGhpcywgKnNpbXBsZUxpbmVMYXlvdXQpOwogCiAg
ICAgQVNTRVJUKGZpcnN0Um9vdEJveCgpKTsKICAgICByZXR1cm4gZmlyc3RSb290Qm94KCktPmxv
Z2ljYWxUb3AoKSArIGZpcnN0TGluZVN0eWxlKCkuZm9udE1ldHJpY3MoKS5hc2NlbnQoZmlyc3RS
b290Qm94KCktPmJhc2VsaW5lVHlwZSgpKTsKQEAgLTI4MjYsOCArMjgyNiw4IEBAIGludCBSZW5k
ZXJCbG9ja0Zsb3c6OmlubGluZUJsb2NrQmFzZWxpbmUoTGluZURpcmVjdGlvbk1vZGUgbGluZURp
cmVjdGlvbikgY29uc3QKICAgICAgICAgICAgICArIChsaW5lRGlyZWN0aW9uID09IEhvcml6b250
YWxMaW5lID8gYm9yZGVyVG9wKCkgKyBwYWRkaW5nVG9wKCkgOiBib3JkZXJSaWdodCgpICsgcGFk
ZGluZ1JpZ2h0KCkpOwogICAgIH0KIAotICAgIGlmIChtX3NpbXBsZUxpbmVMYXlvdXQpCi0gICAg
ICAgIHJldHVybiBTaW1wbGVMaW5lTGF5b3V0Ojpjb21wdXRlRmxvd0xhc3RMaW5lQmFzZWxpbmUo
KnRoaXMsICptX3NpbXBsZUxpbmVMYXlvdXQpOworICAgIGlmIChhdXRvIHNpbXBsZUxpbmVMYXlv
dXQgPSB0aGlzLT5zaW1wbGVMaW5lTGF5b3V0KCkpCisgICAgICAgIHJldHVybiBTaW1wbGVMaW5l
TGF5b3V0Ojpjb21wdXRlRmxvd0xhc3RMaW5lQmFzZWxpbmUoKnRoaXMsICpzaW1wbGVMaW5lTGF5
b3V0KTsKIAogICAgIGJvb2wgaXNGaXJzdExpbmUgPSBsYXN0Um9vdEJveCgpID09IGZpcnN0Um9v
dEJveCgpOwogICAgIGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSA9IGlzRmlyc3RMaW5lID8gZmly
c3RMaW5lU3R5bGUoKSA6IHRoaXMtPnN0eWxlKCk7CkBAIC0yOTgzLDkgKzI5ODMsOSBAQCBpbnQg
UmVuZGVyQmxvY2tGbG93OjpsaW5lQ291bnQoY29uc3QgUm9vdElubGluZUJveCogc3RvcFJvb3RJ
bmxpbmVCb3gsIGJvb2wqIGZvdQogICAgIGludCBjb3VudCA9IDA7CiAKICAgICBpZiAoY2hpbGRy
ZW5JbmxpbmUoKSkgewotICAgICAgICBpZiAobV9zaW1wbGVMaW5lTGF5b3V0KSB7CisgICAgICAg
IGlmIChhdXRvIHNpbXBsZUxpbmVMYXlvdXQgPSB0aGlzLT5zaW1wbGVMaW5lTGF5b3V0KCkpIHsK
ICAgICAgICAgICAgIEFTU0VSVCghc3RvcFJvb3RJbmxpbmVCb3gpOwotICAgICAgICAgICAgcmV0
dXJuIG1fc2ltcGxlTGluZUxheW91dC0+bGluZUNvdW50KCk7CisgICAgICAgICAgICByZXR1cm4g
c2ltcGxlTGluZUxheW91dC0+bGluZUNvdW50KCk7CiAgICAgICAgIH0KICAgICAgICAgZm9yIChh
dXRvIGJveCA9IGZpcnN0Um9vdEJveCgpOyBib3g7IGJveCA9IGJveC0+bmV4dFJvb3RCb3goKSkg
ewogICAgICAgICAgICAgY291bnQrKzsKQEAgLTMyMTIsOCArMzIxMiw4IEBAIHZvaWQgUmVuZGVy
QmxvY2tGbG93OjpwYWludElubGluZUNoaWxkcmVuKFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25z
dCBMYXlvdXRQb2luCiB7CiAgICAgQVNTRVJUKGNoaWxkcmVuSW5saW5lKCkpOwogCi0gICAgaWYg
KG1fc2ltcGxlTGluZUxheW91dCkgewotICAgICAgICBTaW1wbGVMaW5lTGF5b3V0OjpwYWludEZs
b3coKnRoaXMsICptX3NpbXBsZUxpbmVMYXlvdXQsIHBhaW50SW5mbywgcGFpbnRPZmZzZXQpOwor
ICAgIGlmIChhdXRvIHNpbXBsZUxpbmVMYXlvdXQgPSB0aGlzLT5zaW1wbGVMaW5lTGF5b3V0KCkp
IHsKKyAgICAgICAgU2ltcGxlTGluZUxheW91dDo6cGFpbnRGbG93KCp0aGlzLCAqc2ltcGxlTGlu
ZUxheW91dCwgcGFpbnRJbmZvLCBwYWludE9mZnNldCk7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAgICAgbV9saW5lQm94ZXMucGFpbnQodGhpcywgcGFpbnRJbmZvLCBwYWludE9mZnNldCk7CkBA
IC0zMzE5LDggKzMzMTksOCBAQCBib29sIFJlbmRlckJsb2NrRmxvdzo6aGFzTGluZXMoKSBjb25z
dAogewogICAgIEFTU0VSVChjaGlsZHJlbklubGluZSgpKTsKIAotICAgIGlmIChtX3NpbXBsZUxp
bmVMYXlvdXQpCi0gICAgICAgIHJldHVybiBtX3NpbXBsZUxpbmVMYXlvdXQtPmxpbmVDb3VudCgp
OworICAgIGlmIChhdXRvIHNpbXBsZUxpbmVMYXlvdXQgPSB0aGlzLT5zaW1wbGVMaW5lTGF5b3V0
KCkpCisgICAgICAgIHJldHVybiBzaW1wbGVMaW5lTGF5b3V0LT5saW5lQ291bnQoKTsKIAogICAg
IHJldHVybiBsaW5lQm94ZXMoKS5maXJzdExpbmVCb3goKTsKIH0KQEAgLTMzNDcsOSArMzM0Nywy
NyBAQCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6ZGVsZXRlTGluZUJveGVzQmVmb3JlU2ltcGxlTGlu
ZUxheW91dCgpCiAgICAgdG9SZW5kZXJUZXh0KGZpcnN0Q2hpbGQoKSktPmRlbGV0ZUxpbmVCb3hl
c0JlZm9yZVNpbXBsZUxpbmVMYXlvdXQoKTsKIH0KIAorY29uc3QgU2ltcGxlTGluZUxheW91dDo6
TGF5b3V0KiBSZW5kZXJCbG9ja0Zsb3c6OnNpbXBsZUxpbmVMYXlvdXQoKSBjb25zdAoreworICAg
IGlmIChtX2xpbmVMYXlvdXRQYXRoID09IFVuZGV0ZXJtaW5lZFBhdGgpCisgICAgICAgIGNvbnN0
X2Nhc3Q8UmVuZGVyQmxvY2tGbG93Jj4oKnRoaXMpLm1fbGluZUxheW91dFBhdGggPSBTaW1wbGVM
aW5lTGF5b3V0OjpjYW5Vc2VGb3IoKnRoaXMpOworCisgICAgaWYgKG1fbGluZUxheW91dFBhdGgg
PT0gU2ltcGxlTGluZXNQYXRoKQorICAgICAgICByZXR1cm4gbV9zaW1wbGVMaW5lTGF5b3V0Lmdl
dCgpOworCisgICAgY29uc3RfY2FzdDxSZW5kZXJCbG9ja0Zsb3cmPigqdGhpcykuY3JlYXRlTGlu
ZUJveGVzKCk7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKIHZvaWQgUmVuZGVyQmxvY2tGbG93
OjplbnN1cmVMaW5lQm94ZXMoKQogewogICAgIG1fbGluZUxheW91dFBhdGggPSBGb3JjZUxpbmVC
b3hlc1BhdGg7CisgICAgY3JlYXRlTGluZUJveGVzKCk7Cit9CisKK3ZvaWQgUmVuZGVyQmxvY2tG
bG93OjpjcmVhdGVMaW5lQm94ZXMoKQoreworICAgIEFTU0VSVChtX2xpbmVMYXlvdXRQYXRoID09
IExpbmVCb3hlc1BhdGggfHwgbV9saW5lTGF5b3V0UGF0aCA9PSBGb3JjZUxpbmVCb3hlc1BhdGgp
OwogCiAgICAgaWYgKCFtX3NpbXBsZUxpbmVMYXlvdXQpCiAgICAgICAgIHJldHVybjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaAppbmRleCBhOWViM2IwZWM1ODEw
ZDk1MTJmZWQwNmRjNmNmMWY4MjFjNjY2YmU3Li5jYmMwNmVmNmRkYzViYzkwOWFlYTlmYTU1NThk
NjNiZGYxZjA0MmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2tGbG93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxv
dy5oCkBAIC0zNTcsNyArMzU3LDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBjb250YWluc05vblpl
cm9CaWRpTGV2ZWwoKSBjb25zdDsKIAotICAgIGNvbnN0IFNpbXBsZUxpbmVMYXlvdXQ6OkxheW91
dCogc2ltcGxlTGluZUxheW91dCgpIGNvbnN0IHsgcmV0dXJuIG1fc2ltcGxlTGluZUxheW91dC5n
ZXQoKTsgfQorICAgIGNvbnN0IFNpbXBsZUxpbmVMYXlvdXQ6OkxheW91dCogc2ltcGxlTGluZUxh
eW91dCgpIGNvbnN0OwogICAgIHZvaWQgZGVsZXRlTGluZUJveGVzQmVmb3JlU2ltcGxlTGluZUxh
eW91dCgpOwogICAgIHZvaWQgZW5zdXJlTGluZUJveGVzKCk7CiAKQEAgLTUxMyw2ICs1MTMsOCBA
QCBwcml2YXRlOgogICAgIHZpcnR1YWwgVmlzaWJsZVBvc2l0aW9uIHBvc2l0aW9uRm9yUG9pbnRX
aXRoSW5saW5lQ2hpbGRyZW4oY29uc3QgTGF5b3V0UG9pbnQmIHBvaW50SW5Mb2dpY2FsQ29udGVu
dHMsIGNvbnN0IFJlbmRlclJlZ2lvbiopIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBhZGRG
b2N1c1JpbmdSZWN0c0ZvcklubGluZUNoaWxkcmVuKFZlY3RvcjxJbnRSZWN0PiYgcmVjdHMsIGNv
bnN0IExheW91dFBvaW50JiBhZGRpdGlvbmFsT2Zmc2V0LCBjb25zdCBSZW5kZXJMYXllck1vZGVs
T2JqZWN0Kikgb3ZlcnJpZGU7CiAKKyAgICB2b2lkIGNyZWF0ZUxpbmVCb3hlcygpOworCiAvLyBG
SVhNRS1CTE9DS0ZMT1c6IFRoZXNlIG1ldGhvZHMgaGF2ZSBpbXBsZW1lbnRhdGlvbnMgaW4KIC8v
IFJlbmRlckJsb2NrTGluZUxheW91dC4gVGhleSBzaG91bGQgYmUgbW92ZWQgdG8gdGhlIHByb3Bl
ciBoZWFkZXIgb25jZSB0aGUKIC8vIGxpbmUgbGF5b3V0IGNvZGUgaXMgc2VwYXJhdGVkIGZyb20g
UmVuZGVyQmxvY2sgYW5kIFJlbmRlckJsb2NrRmxvdy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkOTJiYzQ1NzQ2MThlMzli
ZjQ3MzU2M2Q0YzJiMjllMzA3NWJlZmU1Li41NDg0YTg2ZjdkNjQzMmY5ZDliZDA5ZWRjYWFjMTg3
NDcyMGFkODIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTQtMDQtMjcgIERhcmluIEFkbGVy
ICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04gKHIxNTkzNDQpOiBUaGUg
aG92ZXIgc3RhdGUgZm9yIGxpbmtzIGluIHRoZSB0b3AgbmF2aWdhdGlvbiBvZiBZYWhvby5jb20g
ZG9lc24ndCB3b3JrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMzIyNDEKKyAgICAgICAgcmRhcjovL3Byb2JsZW0vMTY1MDE5MjQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvdGV4dC9zaW1wbGUt
bGluZXMtaG92ZXItdW5kZXJsaW5lLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvdGV4dC9zaW1wbGUtbGluZXMtaG92ZXItdW5kZXJsaW5lLmh0bWw6IEFkZGVkLgorCisgICAg
ICAgICogZmFzdC90ZXh0L3NpbXBsZS1saW5lcy1ob3Zlci5odG1sOiBSZW1vdmVkIGFuIHVubmVl
ZGVkIHN0eWxlIGVsZW1lbnQgd2l0aCBhIHN0eWxlIHJ1bGUgdGhhdAorICAgICAgICBkb2VzIG5v
dGhpbmcuCisKIDIwMTQtMDQtMjcgIFByYXZlZW4gUiBKYWRoYXYgIDxwcmF2ZWVuLmpAc2Ftc3Vu
Zy5jb20+CiAKICAgICAgICAgW01lZGlhU3RyZWFtXSAuZW5kZWQgc2hvdWxkbid0IGJlIHBhcnQg
b2YgTWVkaWFTdHJlYW0gSURMCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc2lt
cGxlLWxpbmVzLWhvdmVyLXVuZGVybGluZS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0L3NpbXBsZS1saW5lcy1ob3Zlci11bmRlcmxpbmUtZXhwZWN0ZWQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi45ODY4ZGRmNzg3ODk2MTMwNTFhNzk2ZWViYWQ2YmQyNmYxNTNiMmY5Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NpbXBsZS1saW5lcy1ob3Zlci11bmRlcmxp
bmUtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDQgQEAKKzxzdHlsZT4KK2EgeyBkaXNwbGF5Omlu
bGluZS1ibG9jazsgdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSB9Cis8L3N0eWxlPgorPHA+PGEg
aWQ9InRhcmdldCIgaHJlZj0iYWJvdXQ6YmxhbmsiPlRoaXMgdGV4dCBzaG91bGQgYmUgdW5kZXJs
aW5lZCB3aGVuIHdlIGhvdmVyIG92ZXIgaXQuPC9hPjwvcD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC9zaW1wbGUtbGluZXMtaG92ZXItdW5kZXJsaW5lLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L3RleHQvc2ltcGxlLWxpbmVzLWhvdmVyLXVuZGVybGluZS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmE5Njk2MjM3NzUzNDhkYTBhOWEwYTM3YmFkN2YwMWZmNzg4NGU3NzkKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc2ltcGxlLWxpbmVzLWhvdmVyLXVuZGVybGlu
ZS5odG1sCkBAIC0wLDAgKzEsMjMgQEAKKzxzdHlsZT4KK2EgeyBkaXNwbGF5OmlubGluZS1ibG9j
azsgdGV4dC1kZWNvcmF0aW9uOm5vbmUgfQorYTpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjp1bmRl
cmxpbmUgfQorPC9zdHlsZT4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICB2YXIg
dGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpOworICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAg
aWYgKHdpbmRvdy5ldmVudFNlbmRlcikKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8o
dGFyZ2V0Lm9mZnNldExlZnQgKyAxMCwgdGFyZ2V0Lm9mZnNldFRvcCArIDEwKTsKK30KK2Z1bmN0
aW9uIGRvbmUoKQoreworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXBhaW50VHJpZ2dl
ciIpLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisgICAgZG9jdW1lbnQub2Zmc2V0TGVmdDsKKyAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgp
OworfQorPC9zY3JpcHQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+Cis8cCBpZD0idGFyZ2V0Ij48
YSBocmVmPSJhYm91dDpibGFuayIgb25tb3VzZWVudGVyPSJkb25lKCkiPlRoaXMgdGV4dCBzaG91
bGQgYmUgdW5kZXJsaW5lZCB3aGVuIHdlIGhvdmVyIG92ZXIgaXQuPC9hPjxhIGlkPSJyZXBhaW50
VHJpZ2dlciI+IEFuZCB0aGlzIHRleHQgd2lsbCBiZSByZW1vdmVkIGF1dG9tYXRpY2FsbHkuPC9h
PjwvcD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zaW1wbGUtbGluZXMtaG92
ZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zaW1wbGUtbGluZXMtaG92ZXIuaHRtbApp
bmRleCA1OWUzODcxMDVhNzYxMDIwYzllNzBjYTUxZjdkZjFkZTdkMTA1MTQxLi5jOGU2OWFmNWIx
NjU2MDFiNGIyZmNjYTU2Zjg4OTViZjZlMGEzZDdlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L3RleHQvc2ltcGxlLWxpbmVzLWhvdmVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90
ZXh0L3NpbXBsZS1saW5lcy1ob3Zlci5odG1sCkBAIC0xLDYgKzEsMyBAQAotPHN0eWxlPgotI3Rh
cmdldCB7IH0KLTwvc3R5bGU+CiA8c2NyaXB0PgogZnVuY3Rpb24gdGVzdCgpIHsKICAgICBpZiAo
d2luZG93LmludGVybmFscykK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230275</attachid>
            <date>2014-04-27 20:16:30 -0700</date>
            <delta_ts>2014-05-10 05:00:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132241-20140427201612.patch</filename>
            <type>text/plain</type>
            <size>10198</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY3ODY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODU1MzlhODcwNDhmMDIy
ODhhMzRlZTMyOGU4N2I3YzJmODQ0MTcxZS4uMDEzMjFmNGI4ZDhjNTdlMmJjOTUwNmI0ZWIwOTQ1
ODEyNDQzZWRkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE0LTA0LTI3ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMTU5MzQ0
KTogVGhlIGhvdmVyIHN0YXRlIGZvciBsaW5rcyBpbiB0aGUgdG9wIG5hdmlnYXRpb24gb2YgWWFo
b28uY29tIGRvZXNuJ3Qgd29yaworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTMyMjQxCisgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzE2NTAxOTI0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFzdC90
ZXh0L3NpbXBsZS1saW5lcy1ob3Zlci11bmRlcmxpbmUuaHRtbAorCisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckJsb2NrRmxvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zs
b3c6OmhpdFRlc3RJbmxpbmVDaGlsZHJlbik6IFVzZSBzaW1wbGVMaW5lTGF5b3V0IGZ1bmN0aW9u
IHJhdGhlciB0aGFuCisgICAgICAgIGdldHRpbmcgYXQgdGhlIGRhdGEgbWVtYmVyIGRpcmVjdGx5
LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjpmaXJzdExpbmVCYXNlbGluZSk6
IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjppbmxpbmVCbG9ja0Jh
c2VsaW5lKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6OmxpbmVD
b3VudCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjpwYWludElu
bGluZUNoaWxkcmVuKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6
Omhhc0xpbmVzKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6OnNp
bXBsZUxpbmVMYXlvdXQpOiBBZGRlZCBsb2dpYyB0byBkZXRlcm1pbmUgd2hpY2ggcGF0aCB0byB1
c2UgaWYKKyAgICAgICAgbV9saW5lTGF5b3V0UGF0aCBpcyB1bmRldGVybWluZWQsIGFuZCBjYWxs
IGNyZWF0ZUxpbmVCb3hlcyBpZiBpdCdzIG5vdCBzaW1wbGUuCisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJCbG9ja0Zsb3c6OmVuc3VyZUxpbmVCb3hlcyk6IEZhY3RvcmVkIG91dCBtb3N0IG9mIHRo
ZSBjb2RlIGludG8gYSBuZXcKKyAgICAgICAgY3JlYXRlTGluZUJveGVzIGZ1bmN0aW9uLgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjpjcmVhdGVMaW5lQm94ZXMpOiBEaXR0by4K
KworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaDogTWFkZSBzaW1wbGVMaW5l
TGF5b3V0IGZ1bmN0aW9uIG5vIGxvbmdlciBhbiBpbmxpbmUuCisgICAgICAgIEFkZGVkIGEgcHJp
dmF0ZSBjcmVhdGVMaW5lQm94ZXMgZnVuY3Rpb24uCisKIDIwMTQtMDQtMjcgIFByYXZlZW4gUiBK
YWRoYXYgIDxwcmF2ZWVuLmpAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgW01lZGlhU3RyZWFtXSAu
ZW5kZWQgc2hvdWxkbid0IGJlIHBhcnQgb2YgTWVkaWFTdHJlYW0gSURMCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCmluZGV4IDRlNjM3YmY0OTZjNjZkOWY4
ODhkNDFkODc1YWZhMWJlYjU4MjE2YmQuLmRkNTU2NWFlMDQzODA5OTljNmQ4NTU1ODIwYWFiNzk0
ZThjYjFkMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
a0Zsb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cu
Y3BwCkBAIC0yNjk1LDggKzI2OTUsOCBAQCBib29sIFJlbmRlckJsb2NrRmxvdzo6aGl0VGVzdElu
bGluZUNoaWxkcmVuKGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiByZXF1ZXN0LCBIaXRUZQogewogICAg
IEFTU0VSVChjaGlsZHJlbklubGluZSgpKTsKIAotICAgIGlmIChtX3NpbXBsZUxpbmVMYXlvdXQp
Ci0gICAgICAgIHJldHVybiBTaW1wbGVMaW5lTGF5b3V0OjpoaXRUZXN0RmxvdygqdGhpcywgKm1f
c2ltcGxlTGluZUxheW91dCwgcmVxdWVzdCwgcmVzdWx0LCBsb2NhdGlvbkluQ29udGFpbmVyLCBh
Y2N1bXVsYXRlZE9mZnNldCwgaGl0VGVzdEFjdGlvbik7CisgICAgaWYgKGF1dG8gc2ltcGxlTGlu
ZUxheW91dCA9IHRoaXMtPnNpbXBsZUxpbmVMYXlvdXQoKSkKKyAgICAgICAgcmV0dXJuIFNpbXBs
ZUxpbmVMYXlvdXQ6OmhpdFRlc3RGbG93KCp0aGlzLCAqc2ltcGxlTGluZUxheW91dCwgcmVxdWVz
dCwgcmVzdWx0LCBsb2NhdGlvbkluQ29udGFpbmVyLCBhY2N1bXVsYXRlZE9mZnNldCwgaGl0VGVz
dEFjdGlvbik7CiAKICAgICByZXR1cm4gbV9saW5lQm94ZXMuaGl0VGVzdCh0aGlzLCByZXF1ZXN0
LCByZXN1bHQsIGxvY2F0aW9uSW5Db250YWluZXIsIGFjY3VtdWxhdGVkT2Zmc2V0LCBoaXRUZXN0
QWN0aW9uKTsKIH0KQEAgLTI4MDIsOCArMjgwMiw4IEBAIGludCBSZW5kZXJCbG9ja0Zsb3c6OmZp
cnN0TGluZUJhc2VsaW5lKCkgY29uc3QKICAgICBpZiAoIWhhc0xpbmVzKCkpCiAgICAgICAgIHJl
dHVybiAtMTsKIAotICAgIGlmIChtX3NpbXBsZUxpbmVMYXlvdXQpCi0gICAgICAgIHJldHVybiBT
aW1wbGVMaW5lTGF5b3V0Ojpjb21wdXRlRmxvd0ZpcnN0TGluZUJhc2VsaW5lKCp0aGlzLCAqbV9z
aW1wbGVMaW5lTGF5b3V0KTsKKyAgICBpZiAoYXV0byBzaW1wbGVMaW5lTGF5b3V0ID0gdGhpcy0+
c2ltcGxlTGluZUxheW91dCgpKQorICAgICAgICByZXR1cm4gU2ltcGxlTGluZUxheW91dDo6Y29t
cHV0ZUZsb3dGaXJzdExpbmVCYXNlbGluZSgqdGhpcywgKnNpbXBsZUxpbmVMYXlvdXQpOwogCiAg
ICAgQVNTRVJUKGZpcnN0Um9vdEJveCgpKTsKICAgICByZXR1cm4gZmlyc3RSb290Qm94KCktPmxv
Z2ljYWxUb3AoKSArIGZpcnN0TGluZVN0eWxlKCkuZm9udE1ldHJpY3MoKS5hc2NlbnQoZmlyc3RS
b290Qm94KCktPmJhc2VsaW5lVHlwZSgpKTsKQEAgLTI4MjYsOCArMjgyNiw4IEBAIGludCBSZW5k
ZXJCbG9ja0Zsb3c6OmlubGluZUJsb2NrQmFzZWxpbmUoTGluZURpcmVjdGlvbk1vZGUgbGluZURp
cmVjdGlvbikgY29uc3QKICAgICAgICAgICAgICArIChsaW5lRGlyZWN0aW9uID09IEhvcml6b250
YWxMaW5lID8gYm9yZGVyVG9wKCkgKyBwYWRkaW5nVG9wKCkgOiBib3JkZXJSaWdodCgpICsgcGFk
ZGluZ1JpZ2h0KCkpOwogICAgIH0KIAotICAgIGlmIChtX3NpbXBsZUxpbmVMYXlvdXQpCi0gICAg
ICAgIHJldHVybiBTaW1wbGVMaW5lTGF5b3V0Ojpjb21wdXRlRmxvd0xhc3RMaW5lQmFzZWxpbmUo
KnRoaXMsICptX3NpbXBsZUxpbmVMYXlvdXQpOworICAgIGlmIChhdXRvIHNpbXBsZUxpbmVMYXlv
dXQgPSB0aGlzLT5zaW1wbGVMaW5lTGF5b3V0KCkpCisgICAgICAgIHJldHVybiBTaW1wbGVMaW5l
TGF5b3V0Ojpjb21wdXRlRmxvd0xhc3RMaW5lQmFzZWxpbmUoKnRoaXMsICpzaW1wbGVMaW5lTGF5
b3V0KTsKIAogICAgIGJvb2wgaXNGaXJzdExpbmUgPSBsYXN0Um9vdEJveCgpID09IGZpcnN0Um9v
dEJveCgpOwogICAgIGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSA9IGlzRmlyc3RMaW5lID8gZmly
c3RMaW5lU3R5bGUoKSA6IHRoaXMtPnN0eWxlKCk7CkBAIC0yOTgzLDkgKzI5ODMsOSBAQCBpbnQg
UmVuZGVyQmxvY2tGbG93OjpsaW5lQ291bnQoY29uc3QgUm9vdElubGluZUJveCogc3RvcFJvb3RJ
bmxpbmVCb3gsIGJvb2wqIGZvdQogICAgIGludCBjb3VudCA9IDA7CiAKICAgICBpZiAoY2hpbGRy
ZW5JbmxpbmUoKSkgewotICAgICAgICBpZiAobV9zaW1wbGVMaW5lTGF5b3V0KSB7CisgICAgICAg
IGlmIChhdXRvIHNpbXBsZUxpbmVMYXlvdXQgPSB0aGlzLT5zaW1wbGVMaW5lTGF5b3V0KCkpIHsK
ICAgICAgICAgICAgIEFTU0VSVCghc3RvcFJvb3RJbmxpbmVCb3gpOwotICAgICAgICAgICAgcmV0
dXJuIG1fc2ltcGxlTGluZUxheW91dC0+bGluZUNvdW50KCk7CisgICAgICAgICAgICByZXR1cm4g
c2ltcGxlTGluZUxheW91dC0+bGluZUNvdW50KCk7CiAgICAgICAgIH0KICAgICAgICAgZm9yIChh
dXRvIGJveCA9IGZpcnN0Um9vdEJveCgpOyBib3g7IGJveCA9IGJveC0+bmV4dFJvb3RCb3goKSkg
ewogICAgICAgICAgICAgY291bnQrKzsKQEAgLTMyMTIsOCArMzIxMiw4IEBAIHZvaWQgUmVuZGVy
QmxvY2tGbG93OjpwYWludElubGluZUNoaWxkcmVuKFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25z
dCBMYXlvdXRQb2luCiB7CiAgICAgQVNTRVJUKGNoaWxkcmVuSW5saW5lKCkpOwogCi0gICAgaWYg
KG1fc2ltcGxlTGluZUxheW91dCkgewotICAgICAgICBTaW1wbGVMaW5lTGF5b3V0OjpwYWludEZs
b3coKnRoaXMsICptX3NpbXBsZUxpbmVMYXlvdXQsIHBhaW50SW5mbywgcGFpbnRPZmZzZXQpOwor
ICAgIGlmIChhdXRvIHNpbXBsZUxpbmVMYXlvdXQgPSB0aGlzLT5zaW1wbGVMaW5lTGF5b3V0KCkp
IHsKKyAgICAgICAgU2ltcGxlTGluZUxheW91dDo6cGFpbnRGbG93KCp0aGlzLCAqc2ltcGxlTGlu
ZUxheW91dCwgcGFpbnRJbmZvLCBwYWludE9mZnNldCk7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAgICAgbV9saW5lQm94ZXMucGFpbnQodGhpcywgcGFpbnRJbmZvLCBwYWludE9mZnNldCk7CkBA
IC0zMzE5LDggKzMzMTksOCBAQCBib29sIFJlbmRlckJsb2NrRmxvdzo6aGFzTGluZXMoKSBjb25z
dAogewogICAgIEFTU0VSVChjaGlsZHJlbklubGluZSgpKTsKIAotICAgIGlmIChtX3NpbXBsZUxp
bmVMYXlvdXQpCi0gICAgICAgIHJldHVybiBtX3NpbXBsZUxpbmVMYXlvdXQtPmxpbmVDb3VudCgp
OworICAgIGlmIChhdXRvIHNpbXBsZUxpbmVMYXlvdXQgPSB0aGlzLT5zaW1wbGVMaW5lTGF5b3V0
KCkpCisgICAgICAgIHJldHVybiBzaW1wbGVMaW5lTGF5b3V0LT5saW5lQ291bnQoKTsKIAogICAg
IHJldHVybiBsaW5lQm94ZXMoKS5maXJzdExpbmVCb3goKTsKIH0KQEAgLTMzNDcsOSArMzM0Nywy
NyBAQCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6ZGVsZXRlTGluZUJveGVzQmVmb3JlU2ltcGxlTGlu
ZUxheW91dCgpCiAgICAgdG9SZW5kZXJUZXh0KGZpcnN0Q2hpbGQoKSktPmRlbGV0ZUxpbmVCb3hl
c0JlZm9yZVNpbXBsZUxpbmVMYXlvdXQoKTsKIH0KIAorY29uc3QgU2ltcGxlTGluZUxheW91dDo6
TGF5b3V0KiBSZW5kZXJCbG9ja0Zsb3c6OnNpbXBsZUxpbmVMYXlvdXQoKSBjb25zdAoreworICAg
IGlmIChtX2xpbmVMYXlvdXRQYXRoID09IFVuZGV0ZXJtaW5lZFBhdGgpCisgICAgICAgIGNvbnN0
X2Nhc3Q8UmVuZGVyQmxvY2tGbG93Jj4oKnRoaXMpLm1fbGluZUxheW91dFBhdGggPSBTaW1wbGVM
aW5lTGF5b3V0OjpjYW5Vc2VGb3IoKnRoaXMpID8gU2ltcGxlTGluZXNQYXRoIDogTGluZUJveGVz
UGF0aDsKKworICAgIGlmIChtX2xpbmVMYXlvdXRQYXRoID09IFNpbXBsZUxpbmVzUGF0aCkKKyAg
ICAgICAgcmV0dXJuIG1fc2ltcGxlTGluZUxheW91dC5nZXQoKTsKKworICAgIGNvbnN0X2Nhc3Q8
UmVuZGVyQmxvY2tGbG93Jj4oKnRoaXMpLmNyZWF0ZUxpbmVCb3hlcygpOworICAgIHJldHVybiBu
dWxscHRyOworfQorCiB2b2lkIFJlbmRlckJsb2NrRmxvdzo6ZW5zdXJlTGluZUJveGVzKCkKIHsK
ICAgICBtX2xpbmVMYXlvdXRQYXRoID0gRm9yY2VMaW5lQm94ZXNQYXRoOworICAgIGNyZWF0ZUxp
bmVCb3hlcygpOworfQorCit2b2lkIFJlbmRlckJsb2NrRmxvdzo6Y3JlYXRlTGluZUJveGVzKCkK
K3sKKyAgICBBU1NFUlQobV9saW5lTGF5b3V0UGF0aCA9PSBMaW5lQm94ZXNQYXRoIHx8IG1fbGlu
ZUxheW91dFBhdGggPT0gRm9yY2VMaW5lQm94ZXNQYXRoKTsKIAogICAgIGlmICghbV9zaW1wbGVM
aW5lTGF5b3V0KQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQmxvY2tGbG93LmgKaW5kZXggYTllYjNiMGVjNTgxMGQ5NTEyZmVkMDZkYzZjZjFmODIxYzY2
NmJlNy4uY2JjMDZlZjZkZGM1YmM5MDlhZWE5ZmE1NTU4ZDYzYmRmMWYwNDJlMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaApAQCAtMzU3LDcgKzM1Nyw3IEBA
IHB1YmxpYzoKIAogICAgIGJvb2wgY29udGFpbnNOb25aZXJvQmlkaUxldmVsKCkgY29uc3Q7CiAK
LSAgICBjb25zdCBTaW1wbGVMaW5lTGF5b3V0OjpMYXlvdXQqIHNpbXBsZUxpbmVMYXlvdXQoKSBj
b25zdCB7IHJldHVybiBtX3NpbXBsZUxpbmVMYXlvdXQuZ2V0KCk7IH0KKyAgICBjb25zdCBTaW1w
bGVMaW5lTGF5b3V0OjpMYXlvdXQqIHNpbXBsZUxpbmVMYXlvdXQoKSBjb25zdDsKICAgICB2b2lk
IGRlbGV0ZUxpbmVCb3hlc0JlZm9yZVNpbXBsZUxpbmVMYXlvdXQoKTsKICAgICB2b2lkIGVuc3Vy
ZUxpbmVCb3hlcygpOwogCkBAIC01MTMsNiArNTEzLDggQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFs
IFZpc2libGVQb3NpdGlvbiBwb3NpdGlvbkZvclBvaW50V2l0aElubGluZUNoaWxkcmVuKGNvbnN0
IExheW91dFBvaW50JiBwb2ludEluTG9naWNhbENvbnRlbnRzLCBjb25zdCBSZW5kZXJSZWdpb24q
KSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgYWRkRm9jdXNSaW5nUmVjdHNGb3JJbmxpbmVD
aGlsZHJlbihWZWN0b3I8SW50UmVjdD4mIHJlY3RzLCBjb25zdCBMYXlvdXRQb2ludCYgYWRkaXRp
b25hbE9mZnNldCwgY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCopIG92ZXJyaWRlOwogCisg
ICAgdm9pZCBjcmVhdGVMaW5lQm94ZXMoKTsKKwogLy8gRklYTUUtQkxPQ0tGTE9XOiBUaGVzZSBt
ZXRob2RzIGhhdmUgaW1wbGVtZW50YXRpb25zIGluCiAvLyBSZW5kZXJCbG9ja0xpbmVMYXlvdXQu
IFRoZXkgc2hvdWxkIGJlIG1vdmVkIHRvIHRoZSBwcm9wZXIgaGVhZGVyIG9uY2UgdGhlCiAvLyBs
aW5lIGxheW91dCBjb2RlIGlzIHNlcGFyYXRlZCBmcm9tIFJlbmRlckJsb2NrIGFuZCBSZW5kZXJC
bG9ja0Zsb3cuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggZDkyYmM0NTc0NjE4ZTM5YmY0NzM1NjNkNGMyYjI5ZTMwNzViZWZl
NS4uNTQ4NGE4NmY3ZDY0MzJmOWQ5YmQwOWVkY2FhYzE4NzQ3MjBhZDgyMyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE3IEBACisyMDE0LTA0LTI3ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKwor
ICAgICAgICBSRUdSRVNTSU9OIChyMTU5MzQ0KTogVGhlIGhvdmVyIHN0YXRlIGZvciBsaW5rcyBp
biB0aGUgdG9wIG5hdmlnYXRpb24gb2YgWWFob28uY29tIGRvZXNuJ3Qgd29yaworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMyMjQxCisgICAgICAgIHJk
YXI6Ly9wcm9ibGVtLzE2NTAxOTI0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBmYXN0L3RleHQvc2ltcGxlLWxpbmVzLWhvdmVyLXVuZGVybGluZS1l
eHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvc2ltcGxlLWxpbmVzLWhv
dmVyLXVuZGVybGluZS5odG1sOiBBZGRlZC4KKworICAgICAgICAqIGZhc3QvdGV4dC9zaW1wbGUt
bGluZXMtaG92ZXIuaHRtbDogUmVtb3ZlZCBhbiB1bm5lZWRlZCBzdHlsZSBlbGVtZW50IHdpdGgg
YSBzdHlsZSBydWxlIHRoYXQKKyAgICAgICAgZG9lcyBub3RoaW5nLgorCiAyMDE0LTA0LTI3ICBQ
cmF2ZWVuIFIgSmFkaGF2ICA8cHJhdmVlbi5qQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtNZWRp
YVN0cmVhbV0gLmVuZGVkIHNob3VsZG4ndCBiZSBwYXJ0IG9mIE1lZGlhU3RyZWFtIElETApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NpbXBsZS1saW5lcy1ob3Zlci11bmRlcmxp
bmUtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zaW1wbGUtbGluZXMtaG92
ZXItdW5kZXJsaW5lLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTg2OGRkZjc4Nzg5NjEzMDUx
YTc5NmVlYmFkNmJkMjZmMTUzYjJmOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvdGV4dC9zaW1wbGUtbGluZXMtaG92ZXItdW5kZXJsaW5lLWV4cGVjdGVkLmh0bWwKQEAgLTAs
MCArMSw0IEBACis8c3R5bGU+CithIHsgZGlzcGxheTppbmxpbmUtYmxvY2s7IHRleHQtZGVjb3Jh
dGlvbjp1bmRlcmxpbmUgfQorPC9zdHlsZT4KKzxwPjxhIGlkPSJ0YXJnZXQiIGhyZWY9ImFib3V0
OmJsYW5rIj5UaGlzIHRleHQgc2hvdWxkIGJlIHVuZGVybGluZWQgd2hlbiB3ZSBob3ZlciBvdmVy
IGl0LjwvYT48L3A+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc2ltcGxlLWxp
bmVzLWhvdmVyLXVuZGVybGluZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NpbXBsZS1s
aW5lcy1ob3Zlci11bmRlcmxpbmUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hOTY5NjIzNzc1MzQ4ZGEwYTlh
MGEzN2JhZDdmMDFmZjc4ODRlNzc5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0L3NpbXBsZS1saW5lcy1ob3Zlci11bmRlcmxpbmUuaHRtbApAQCAtMCwwICsxLDIzIEBA
Cis8c3R5bGU+CithIHsgZGlzcGxheTppbmxpbmUtYmxvY2s7IHRleHQtZGVjb3JhdGlvbjpub25l
IH0KK2E6aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lIH0KKzwvc3R5bGU+Cis8c2Ny
aXB0PgorZnVuY3Rpb24gdGVzdCgpCit7CisgICAgdmFyIHRhcmdldCA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJ0YXJnZXQiKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIp
CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHRhcmdldC5vZmZzZXRMZWZ0ICsgMTAs
IHRhcmdldC5vZmZzZXRUb3AgKyAxMCk7Cit9CitmdW5jdGlvbiBkb25lKCkKK3sKKyAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicmVwYWludFRyaWdnZXIiKS5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworICAgIGRvY3VtZW50Lm9mZnNldExlZnQ7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKK30KKzwvc2NyaXB0PgorPGJvZHkg
b25sb2FkPSJ0ZXN0KCkiPgorPHAgaWQ9InRhcmdldCI+PGEgaHJlZj0iYWJvdXQ6YmxhbmsiIG9u
bW91c2VlbnRlcj0iZG9uZSgpIj5UaGlzIHRleHQgc2hvdWxkIGJlIHVuZGVybGluZWQgd2hlbiB3
ZSBob3ZlciBvdmVyIGl0LjwvYT48YSBpZD0icmVwYWludFRyaWdnZXIiPiBBbmQgdGhpcyB0ZXh0
IHdpbGwgYmUgcmVtb3ZlZCBhdXRvbWF0aWNhbGx5LjwvYT48L3A+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L3RleHQvc2ltcGxlLWxpbmVzLWhvdmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L3RleHQvc2ltcGxlLWxpbmVzLWhvdmVyLmh0bWwKaW5kZXggNTllMzg3MTA1YTc2MTAyMGM5
ZTcwY2E1MWY3ZGYxZGU3ZDEwNTE0MS4uYzhlNjlhZjViMTY1NjAxYjRiMmZjY2E1NmY4ODk1YmY2
ZTBhM2Q3ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NpbXBsZS1saW5lcy1o
b3Zlci5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zaW1wbGUtbGluZXMtaG92ZXIu
aHRtbApAQCAtMSw2ICsxLDMgQEAKLTxzdHlsZT4KLSN0YXJnZXQgeyB9Ci08L3N0eWxlPgogPHNj
cmlwdD4KIGZ1bmN0aW9uIHRlc3QoKSB7CiAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCg==
</data>
<flag name="review"
          id="254660"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>