<?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>149576</bug_id>
          
          <creation_ts>2015-09-25 16:01:05 -0700</creation_ts>
          <short_desc>[ES6] Add ScriptElement::determineScriptType</short_desc>
          <delta_ts>2016-08-05 23:29:55 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>148897</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>achristensen</cc>
    
    <cc>ap</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ggaren</cc>
    
    <cc>kangil.han</cc>
    
    <cc>rniwa</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1128811</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-09-25 16:01:05 -0700</bug_when>
    <thetext>[ES6] Add isModuleType function to ScriptElements</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128812</commentid>
    <comment_count>1</comment_count>
      <attachid>261951</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-09-25 16:04:21 -0700</bug_when>
    <thetext>Created attachment 261951
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128860</commentid>
    <comment_count>2</comment_count>
      <attachid>261951</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-09-25 23:52:55 -0700</bug_when>
    <thetext>Comment on attachment 261951
Patch

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

&gt; Source/WebCore/dom/ScriptElement.cpp:165
&gt; +    else if (type == &quot;module&quot;)

Where is this type value specified?  I can&apos;t find any mentioning of the &quot;module&quot; type in
https://html.spec.whatwg.org/multipage/scripting.html#attr-script-type
or
https://html.spec.whatwg.org/multipage/infrastructure.html#valid-mime-type

Also, shouldn&apos;t this check for the type of the element given SVGScriptElement doesn&apos;t support modules?

&gt; Source/WebCore/html/HTMLScriptElement.cpp:171
&gt; +bool HTMLScriptElement::isModuleType() const
&gt; +{
&gt; +#if ENABLE(ES6_MODULES)
&gt; +    return fastGetAttribute(typeAttr).string() == &quot;module&quot;;
&gt; +#else
&gt; +    return false;
&gt; +#endif
&gt; +}

I think it&apos;s better to put this in ScriptElement so that checks for &quot;module&quot; type appears next to each other.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128862</commentid>
    <comment_count>3</comment_count>
      <attachid>261951</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-09-26 00:42:22 -0700</bug_when>
    <thetext>Comment on attachment 261951
Patch

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

Thank you for your comment!

&gt;&gt; Source/WebCore/dom/ScriptElement.cpp:165
&gt;&gt; +    else if (type == &quot;module&quot;)
&gt; 
&gt; Where is this type value specified?  I can&apos;t find any mentioning of the &quot;module&quot; type in
&gt; https://html.spec.whatwg.org/multipage/scripting.html#attr-script-type
&gt; or
&gt; https://html.spec.whatwg.org/multipage/infrastructure.html#valid-mime-type
&gt; 
&gt; Also, shouldn&apos;t this check for the type of the element given SVGScriptElement doesn&apos;t support modules?

This is why the module tag is behind the compile time flag.
Currently, there is consensus, but not specified yet.

https://github.com/whatwg/loader/blob/master/roadmap.md#stage-0-basic-static-loading
https://github.com/whatwg/loader/issues/83#issuecomment-143219400
https://github.com/dherman/module-tag/blob/master/explainer.md
https://esdiscuss.org/topic/any-news-about-the-module-element

And oops, I&apos;ve missed it. After thinking about it, I think enabling &quot;module&quot; for svg script element seems more consistent.
So, I&apos;ll drop the SVGScriptElement&apos;s change. Put all &quot;module&quot; related changes into ScriptElement.

&gt;&gt; Source/WebCore/html/HTMLScriptElement.cpp:171
&gt;&gt; +}
&gt; 
&gt; I think it&apos;s better to put this in ScriptElement so that checks for &quot;module&quot; type appears next to each other.

Looks very nice to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128865</commentid>
    <comment_count>4</comment_count>
      <attachid>261966</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-09-26 01:01:20 -0700</bug_when>
    <thetext>Created attachment 261966
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128866</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-09-26 01:13:19 -0700</bug_when>
    <thetext>Okay, why don&apos;t we wait until those discussion settle?  We can implement the other parts of the module loading without this, right?  e.g. @import inside a script element.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128867</commentid>
    <comment_count>6</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-09-26 01:21:41 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Okay, why don&apos;t we wait until those discussion settle?  We can implement the
&gt; other parts of the module loading without this, right?  e.g. @import inside
&gt; a script element.

Pending this patch is OK to me :-)
I&apos;ll do the other parts first, like https://bugs.webkit.org/show_bug.cgi?id=149574.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217821</commentid>
    <comment_count>7</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-08-05 00:05:40 -0700</bug_when>
    <thetext>Let&apos;s reboot this.
The description about type=&quot;module&quot; is explicitly specified in the whatwg living standard!

https://html.spec.whatwg.org/multipage/webappapis.html#integration-with-the-javascript-module-system</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217836</commentid>
    <comment_count>8</comment_count>
      <attachid>285410</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-08-05 01:53:40 -0700</bug_when>
    <thetext>Created attachment 285410
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217839</commentid>
    <comment_count>9</comment_count>
      <attachid>285412</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-08-05 02:07:18 -0700</bug_when>
    <thetext>Created attachment 285412
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217843</commentid>
    <comment_count>10</comment_count>
      <attachid>285413</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-08-05 02:25:17 -0700</bug_when>
    <thetext>Created attachment 285413
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217847</commentid>
    <comment_count>11</comment_count>
      <attachid>285415</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-08-05 02:37:15 -0700</bug_when>
    <thetext>Created attachment 285415
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217997</commentid>
    <comment_count>12</comment_count>
      <attachid>285415</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-08-05 11:47:47 -0700</bug_when>
    <thetext>Comment on attachment 285415
Patch

LGTM but I&apos;ll let other WebCore reviewers give the official review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218203</commentid>
    <comment_count>13</comment_count>
      <attachid>285415</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-08-05 23:09:03 -0700</bug_when>
    <thetext>Comment on attachment 285415
Patch

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218215</commentid>
    <comment_count>14</comment_count>
      <attachid>285415</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-05 23:29:47 -0700</bug_when>
    <thetext>Comment on attachment 285415
Patch

Clearing flags on attachment: 285415

Committed r204221: &lt;http://trac.webkit.org/changeset/204221&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218216</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-05 23:29:55 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261951</attachid>
            <date>2015-09-25 16:04:21 -0700</date>
            <delta_ts>2015-09-26 01:01:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149576-20150925160402.patch</filename>
            <type>text/plain</type>
            <size>5259</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwMTkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmZhZTUzNWI4ZDczMGYz
OTgxYWE1MDBkNTljZjZiZGI4MmE1NjczYS4uZDY5ZTE3YjU5MDk3YmY0Y2Q2YTZlMjg5N2E2Zjhk
MWRjZTQzOGUxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE1LTA5LTI1ICBZdXN1
a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgorCisgICAgICAgIFtFUzZdIEFkZCBp
c01vZHVsZVR5cGUgZnVuY3Rpb24gdG8gU2NyaXB0RWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTU3NgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGluZyBpc01vZHVsZVR5cGUoKSBmdW5j
dGlvbiB0byBTY3JpcHRFbGVtZW50cy4KKyAgICAgICAgQW5kIHN1cHBvcnQgIm1vZHVsZSIgdHlw
ZSBpbiBTY3JpcHRFbGVtZW50LgorICAgICAgICBCdXQgdGhpcyBwYXRjaCBkb2VzIG5vdCBjb250
YWluIGFueSBtb2R1bGUgdGFnIHN1cHBvcnQgY29kZS4KKyAgICAgICAgVGhpcyB3aWxsIGJlIGlt
cGxlbWVudGVkIGluIHRoZSBzdWJzZXF1ZW50IHBhdGNoLgorICAgICAgICBpc01vZHVsZVR5cGUo
KSByZXR1cm5zIHRydWUgaWYgdGhlIGdpdmVuIHNjcmlwdCBlbGVtZW50IGlzIHRoZSBtb2R1bGUg
dGFnLgorICAgICAgICBPbmx5IHdoZW4gRU5BQkxFKEVTNl9NT0RVTEVTKSBhcmUgZW5hYmxlZCwg
dGhpcyBmdW5jdGlvbiByZXR1cm5zIHRydWUuCisKKyAgICAgICAgKiBkb20vU2NyaXB0RWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFbGVtZW50Ojppc1NjcmlwdFR5cGVTdXBw
b3J0ZWQpOgorICAgICAgICAqIGRvbS9TY3JpcHRFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9I
VE1MU2NyaXB0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU2NyaXB0RWxlbWVu
dDo6aXNNb2R1bGVUeXBlKToKKyAgICAgICAgKiBodG1sL0hUTUxTY3JpcHRFbGVtZW50Lmg6Cisg
ICAgICAgICogc3ZnL1NWR1NjcmlwdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
U2NyaXB0RWxlbWVudDo6aXNNb2R1bGVUeXBlKToKKyAgICAgICAgKiBzdmcvU1ZHU2NyaXB0RWxl
bWVudC5oOgorCiAyMDE1LTA5LTIzICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbCBvdXQgcjE5MDA4NSBhcyBpdCBzZWVtcyB0byBjYXVz
ZSBjcmFzaGVzIGluIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVs
ZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwCmluZGV4IDY2
YmJlY2UxZDM1ZTFhNDc2M2JmOWViZWJmMGYwYzEyY2RiZWYxZDcuLmU2NDJmZmQ3Y2VhOGQ0ZGRl
MDAxMmYxOThiNDVkNTQ0MDg3ZWNiNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9T
Y3JpcHRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5j
cHAKQEAgLTE2MSw2ICsxNjEsMTAgQEAgYm9vbCBTY3JpcHRFbGVtZW50Ojppc1NjcmlwdFR5cGVT
dXBwb3J0ZWQoTGVnYWN5VHlwZVN1cHBvcnQgc3VwcG9ydExlZ2FjeVR5cGVzKQogICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CiAgICAgfSBlbHNlIGlmIChNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBv
cnRlZEphdmFTY3JpcHRNSU1FVHlwZSh0eXBlLnN0cmlwV2hpdGVTcGFjZSgpLmxvd2VyKCkpIHx8
IChzdXBwb3J0TGVnYWN5VHlwZXMgPT0gQWxsb3dMZWdhY3lUeXBlSW5UeXBlQXR0cmlidXRlICYm
IGlzTGVnYWN5U3VwcG9ydGVkSmF2YVNjcmlwdExhbmd1YWdlKHR5cGUpKSkKICAgICAgICAgcmV0
dXJuIHRydWU7CisjaWYgRU5BQkxFKEVTNl9NT0RVTEVTKQorICAgIGVsc2UgaWYgKHR5cGUgPT0g
Im1vZHVsZSIpCisgICAgICAgIHJldHVybiB0cnVlOworI2VuZGlmCiAgICAgcmV0dXJuIGZhbHNl
OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5oIGIv
U291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuaAppbmRleCBiN2U3M2QwZGVlODNkMzI0
ZTg3MmY3YmM0YzFiOTMzZGM5NmMxMTJhLi44MTczYzQ0OTc3NmQ4YTIyOGFkNTZjN2Y0OGVkMjgw
NWNiYjdjZjQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmgKQEAgLTkzLDYgKzkzLDcg
QEAgY2xhc3MgU2NyaXB0RWxlbWVudCA6IHByaXZhdGUgQ2FjaGVkUmVzb3VyY2VDbGllbnQgewog
ICAgIHZpcnR1YWwgYm9vbCBhc3luY0F0dHJpYnV0ZVZhbHVlKCkgY29uc3QgPSAwOwogICAgIHZp
cnR1YWwgYm9vbCBkZWZlckF0dHJpYnV0ZVZhbHVlKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwg
Ym9vbCBoYXNTb3VyY2VBdHRyaWJ1dGUoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBib29sIGlz
TW9kdWxlVHlwZSgpIGNvbnN0ID0gMDsKIAogICAgIEVsZW1lbnQmIG1fZWxlbWVudDsKICAgICBD
YWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRTY3JpcHQ+IG1fY2FjaGVkU2NyaXB0OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2NyaXB0RWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxTY3JpcHRFbGVtZW50LmNwcAppbmRleCBlMTNhNWNkZGNjYTJjYjNi
NzU2YThkM2E1N2UyM2Y4MGE5YjQzZTQ4Li5kMTVlYjcxYmUzZjZiY2ZiMTA3ODJmOTc0ODc1YjQw
MGJjMGQ3MTZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTY3JpcHRFbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTY3JpcHRFbGVtZW50LmNwcApA
QCAtMTYxLDYgKzE2MSwxNSBAQCBib29sIEhUTUxTY3JpcHRFbGVtZW50OjpoYXNTb3VyY2VBdHRy
aWJ1dGUoKSBjb25zdAogICAgIHJldHVybiBmYXN0SGFzQXR0cmlidXRlKHNyY0F0dHIpOwogfQog
Citib29sIEhUTUxTY3JpcHRFbGVtZW50Ojppc01vZHVsZVR5cGUoKSBjb25zdAoreworI2lmIEVO
QUJMRShFUzZfTU9EVUxFUykKKyAgICByZXR1cm4gZmFzdEdldEF0dHJpYnV0ZSh0eXBlQXR0ciku
c3RyaW5nKCkgPT0gIm1vZHVsZSI7CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgor
fQorCiB2b2lkIEhUTUxTY3JpcHRFbGVtZW50OjpkaXNwYXRjaExvYWRFdmVudCgpCiB7CiAgICAg
QVNTRVJUKCFoYXZlRmlyZWRMb2FkRXZlbnQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxTY3JpcHRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTY3Jp
cHRFbGVtZW50LmgKaW5kZXggMzEyYzY2MjZlOGI4MzE0ZTg1ZTJkZjY4N2RiZjA5ZjJiMmZlMzdi
Mi4uMWRmZDhjOGI3M2U4NzJhYmNkNWViNGIzNDJlNzkyZDMzNTAzZTc5ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2NyaXB0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFNjcmlwdEVsZW1lbnQuaApAQCAtNjIsNiArNjIsNyBAQCBjbGFzcyBIVE1M
U2NyaXB0RWxlbWVudCBmaW5hbCA6IHB1YmxpYyBIVE1MRWxlbWVudCwgcHVibGljIFNjcmlwdEVs
ZW1lbnQgewogICAgIHZpcnR1YWwgYm9vbCBhc3luY0F0dHJpYnV0ZVZhbHVlKCkgY29uc3Qgb3Zl
cnJpZGU7CiAgICAgdmlydHVhbCBib29sIGRlZmVyQXR0cmlidXRlVmFsdWUoKSBjb25zdCBvdmVy
cmlkZTsKICAgICB2aXJ0dWFsIGJvb2wgaGFzU291cmNlQXR0cmlidXRlKCkgY29uc3Qgb3ZlcnJp
ZGU7CisgICAgdmlydHVhbCBib29sIGlzTW9kdWxlVHlwZSgpIGNvbnN0IG92ZXJyaWRlOwogCiAg
ICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoTG9hZEV2ZW50KCkgb3ZlcnJpZGU7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTY3JpcHRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdTY3JpcHRFbGVtZW50LmNwcAppbmRleCA4YWRmY2ZhNDEwYWJlNDdlMzMyNGFl
NWI4ZDkyNDNmNTY2NjQ1ZDk1Li5iYTVmMDZmNDRiNmIxMTdmY2JiNjIzMzUzOGUyZTE0Y2Q3Zjhl
NjlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU2NyaXB0RWxlbWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NjcmlwdEVsZW1lbnQuY3BwCkBAIC0xNTEsNiAr
MTUxLDExIEBAIGJvb2wgU1ZHU2NyaXB0RWxlbWVudDo6ZGVmZXJBdHRyaWJ1dGVWYWx1ZSgpIGNv
bnN0CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitib29sIFNWR1NjcmlwdEVsZW1lbnQ6OmlzTW9k
dWxlVHlwZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCiBib29sIFNWR1Njcmlw
dEVsZW1lbnQ6Omhhc1NvdXJjZUF0dHJpYnV0ZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGhhc0F0
dHJpYnV0ZShYTGlua05hbWVzOjpocmVmQXR0cik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHU2NyaXB0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NjcmlwdEVs
ZW1lbnQuaAppbmRleCA1MzVlNDJlNmYwNjQ2ZDgwMTA0MTkwOTNjNjIyOTI0YjM4M2Q3MTAxLi44
YWZkZTMxMTI1ZTVkZDQ5OGRiODJhNGUwOTgzYWIwNzRlMGRjYzY2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHU2NyaXB0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdTY3JpcHRFbGVtZW50LmgKQEAgLTYyLDYgKzYyLDcgQEAgY2xhc3MgU1ZHU2NyaXB0RWxl
bWVudCBmaW5hbCA6IHB1YmxpYyBTVkdFbGVtZW50CiAgICAgdmlydHVhbCBib29sIGFzeW5jQXR0
cmlidXRlVmFsdWUoKSBjb25zdCBvdmVycmlkZTsKICAgICB2aXJ0dWFsIGJvb2wgZGVmZXJBdHRy
aWJ1dGVWYWx1ZSgpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgYm9vbCBoYXNTb3VyY2VB
dHRyaWJ1dGUoKSBjb25zdCBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIGJvb2wgaXNNb2R1bGVUeXBl
KCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hMb2FkRXZlbnQo
KSBvdmVycmlkZSB7IFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ6OmRpc3BhdGNoTG9hZEV2
ZW50KHRoaXMpOyB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261966</attachid>
            <date>2015-09-26 01:01:20 -0700</date>
            <delta_ts>2016-08-05 01:53:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149576-20150926170059.patch</filename>
            <type>text/plain</type>
            <size>3149</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwMjY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTcwOGE5ZTE1ZWFiMThm
ZDM4N2ZlOTE4YjAzODk2N2RjMjhiYjJhOC4uY2U2NDJkOWNjY2M0ZDAwNTNiZmIwYjE2MThjMTEw
ZmNiYWYwODM2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE1LTA5LTI2ICBZdXN1
a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgorCisgICAgICAgIFtFUzZdIEFkZCBp
c01vZHVsZVR5cGUgZnVuY3Rpb24gdG8gU2NyaXB0RWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTU3NgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGluZyBpc01vZHVsZVR5cGUoKSBmdW5j
dGlvbiB0byBTY3JpcHRFbGVtZW50cy4KKyAgICAgICAgQW5kIHN1cHBvcnQgIm1vZHVsZSIgdHlw
ZSBpbiBTY3JpcHRFbGVtZW50LgorICAgICAgICBCdXQgdGhpcyBwYXRjaCBkb2VzIG5vdCBjb250
YWluIGFueSBtb2R1bGUgdGFnIHN1cHBvcnQgY29kZS4KKyAgICAgICAgVGhpcyB3aWxsIGJlIGlt
cGxlbWVudGVkIGluIHRoZSBzdWJzZXF1ZW50IHBhdGNoLgorICAgICAgICBpc01vZHVsZVR5cGUo
KSByZXR1cm5zIHRydWUgaWYgdGhlIGdpdmVuIHNjcmlwdCBlbGVtZW50IGlzIHRoZSBtb2R1bGUg
dGFnLgorICAgICAgICBPbmx5IHdoZW4gRU5BQkxFKEVTNl9NT0RVTEVTKSBhcmUgZW5hYmxlZCwg
dGhpcyBmdW5jdGlvbiByZXR1cm5zIHRydWUuCisKKyAgICAgICAgU2luY2UgdGhlcmUgaXMgb25s
eSBjb25zZW5zdXMgYWJvdXQgPHNjcmlwdCB0eXBlPSJtb2R1bGUiPiB0YWcsCisgICAgICAgIHRo
ZSBpbXBsZW1lbnRhdGlvbiBpcyBiZWhpbmQgdGhlIGNvbXBpbGUgdGltZSBmbGFnLgorCisgICAg
ICAgICogZG9tL1NjcmlwdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RWxl
bWVudDo6aXNNb2R1bGVUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEVsZW1lbnQ6Omlz
U2NyaXB0VHlwZVN1cHBvcnRlZCk6CisgICAgICAgICogZG9tL1NjcmlwdEVsZW1lbnQuaDoKKwog
MjAxNS0wOS0yNSAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAg
ICAgICBDbGVhbiB1cCB1c2VyIG1lZGlhIHJlcXVlc3QgaW50ZXJuYWwgQVBJCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vU2NyaXB0RWxlbWVudC5jcHAKaW5kZXggNjZiYmVjZTFkMzVlMWE0NzYzYmY5ZWJlYmYwZjBj
MTJjZGJlZjFkNy4uNGEyZjU2NzJlNjc5YTg0YmQ2OGZkMjBjZjI2ODMzMDMyNDQ4ZjZkNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcApAQCAtMTQ1LDYgKzE0NSwxNSBAQCB2b2lk
IFNjcmlwdEVsZW1lbnQ6OmRpc3BhdGNoRXJyb3JFdmVudCgpCiAgICAgbV9lbGVtZW50LmRpc3Bh
dGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuZXJyb3JFdmVudCwgZmFsc2UsIGZh
bHNlKSk7CiB9CiAKK2Jvb2wgU2NyaXB0RWxlbWVudDo6aXNNb2R1bGVUeXBlKCkgY29uc3QKK3sK
KyNpZiBFTkFCTEUoRVM2X01PRFVMRVMpCisgICAgcmV0dXJuIHR5cGVBdHRyaWJ1dGVWYWx1ZSgp
ID09ICJtb2R1bGUiOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKwogYm9v
bCBTY3JpcHRFbGVtZW50Ojppc1NjcmlwdFR5cGVTdXBwb3J0ZWQoTGVnYWN5VHlwZVN1cHBvcnQg
c3VwcG9ydExlZ2FjeVR5cGVzKSBjb25zdAogewogICAgIC8vIEZJWE1FOiBpc0xlZ2FjeVN1cHBv
cnRlZEphdmFTY3JpcHRMYW5ndWFnZSgpIGlzIG5vdCB2YWxpZCBIVE1MNS4gSXQgaXMgdXNlZCBo
ZXJlIHRvIG1haW50YWluIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHdpdGggZXhpc3RpbmcgbGF5
b3V0IHRlc3RzLiBUaGUgc3BlY2lmaWMgdmlvbGF0aW9ucyBhcmU6CkBAIC0xNjEsNiArMTcwLDEw
IEBAIGJvb2wgU2NyaXB0RWxlbWVudDo6aXNTY3JpcHRUeXBlU3VwcG9ydGVkKExlZ2FjeVR5cGVT
dXBwb3J0IHN1cHBvcnRMZWdhY3lUeXBlcykKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAg
IH0gZWxzZSBpZiAoTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRKYXZhU2NyaXB0TUlNRVR5
cGUodHlwZS5zdHJpcFdoaXRlU3BhY2UoKS5sb3dlcigpKSB8fCAoc3VwcG9ydExlZ2FjeVR5cGVz
ID09IEFsbG93TGVnYWN5VHlwZUluVHlwZUF0dHJpYnV0ZSAmJiBpc0xlZ2FjeVN1cHBvcnRlZEph
dmFTY3JpcHRMYW5ndWFnZSh0eXBlKSkpCiAgICAgICAgIHJldHVybiB0cnVlOworI2lmIEVOQUJM
RShFUzZfTU9EVUxFUykKKyAgICBlbHNlIGlmICh0eXBlID09ICJtb2R1bGUiKQorICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKyNlbmRpZgogICAgIHJldHVybiBmYWxzZTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9T
Y3JpcHRFbGVtZW50LmgKaW5kZXggYjdlNzNkMGRlZTgzZDMyNGU4NzJmN2JjNGMxYjkzM2RjOTZj
MTEyYS4uMzU1ZDNjYWU2NjIyMzAzODgwOTBhOGIxNjQ2YzM4YTIwMjM1MWZmMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2NyaXB0RWxlbWVudC5oCkBAIC03OCw2ICs3OCw3IEBAIGNsYXNzIFNjcmlwdEVsZW1l
bnQgOiBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsKIHByaXZhdGU6CiAgICAgYm9vbCBp
Z25vcmVzTG9hZFJlcXVlc3QoKSBjb25zdDsKICAgICBib29sIGlzU2NyaXB0Rm9yRXZlbnRTdXBw
b3J0ZWQoKSBjb25zdDsKKyAgICBib29sIGlzTW9kdWxlVHlwZSgpIGNvbnN0OwogCiAgICAgYm9v
bCByZXF1ZXN0U2NyaXB0KGNvbnN0IFN0cmluZyYgc291cmNlVXJsKTsKICAgICB2b2lkIHN0b3BM
b2FkUmVxdWVzdCgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>285410</attachid>
            <date>2016-08-05 01:53:40 -0700</date>
            <delta_ts>2016-08-05 02:07:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149576-20160805175213.patch</filename>
            <type>text/plain</type>
            <size>3614</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA0MTY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWZmMTkwZjJhNTlhZjIx
MGNhMDc1NDE4MDk1M2U5NGRmY2ZiZjVkZC4uZTlmOTVjNTM0ZGIwYzNlODYwYjRmNWNiZTBjNWFi
Y2YyNTBiN2YzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE2LTA4LTA1ICBZdXN1
a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgorCisgICAgICAgIFtFUzZdIEFkZCBp
c01vZHVsZVR5cGUgZnVuY3Rpb24gdG8gU2NyaXB0RWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTU3NgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGluZyBpc01vZHVsZVR5cGUoKSBmdW5j
dGlvbiB0byBTY3JpcHRFbGVtZW50cy4KKyAgICAgICAgQW5kIHN1cHBvcnQgIm1vZHVsZSIgdHlw
ZSBpbiBTY3JpcHRFbGVtZW50WzEsIDJdLgorICAgICAgICBCdXQgdGhpcyBwYXRjaCBkb2VzIG5v
dCBjb250YWluIGFueSBtb2R1bGUgdGFnIHN1cHBvcnQgY29kZS4KKyAgICAgICAgVGhpcyB3aWxs
IGJlIGltcGxlbWVudGVkIGluIHRoZSBzdWJzZXF1ZW50IHBhdGNoLgorICAgICAgICBpc01vZHVs
ZVR5cGUoKSByZXR1cm5zIHRydWUgaWYgdGhlIGdpdmVuIHNjcmlwdCBlbGVtZW50IGlzIHRoZSBt
b2R1bGUgdGFnLgorICAgICAgICBPbmx5IHdoZW4gRU5BQkxFKEVTNl9NT0RVTEVTKSBhcmUgZW5h
YmxlZCwgdGhpcyBmdW5jdGlvbiByZXR1cm5zIHRydWUuCisKKyAgICAgICAgWzFdOiBodHRwczov
L2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS93ZWJhcHBhcGlzLmh0bWwjaW50ZWdyYXRp
b24td2l0aC10aGUtamF2YXNjcmlwdC1tb2R1bGUtc3lzdGVtCisgICAgICAgIFsyXTogaHR0cHM6
Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc2NyaXB0aW5nLmh0bWwjYXR0ci1zY3Jp
cHQtdHlwZQorCisgICAgICAgICogZG9tL1NjcmlwdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6aXNNb2R1bGVTY3JpcHRUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEVsZW1l
bnQ6OmlzTW9kdWxlVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFbGVtZW50Ojppc1Nj
cmlwdFR5cGVTdXBwb3J0ZWQpOgorICAgICAgICAqIGRvbS9TY3JpcHRFbGVtZW50Lmg6CisKIDIw
MTYtMDgtMDUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFtG
ZXRjaCBBUEldIEFjdGl2YXRlIENTUCBjaGVja3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TY3JpcHRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50
LmNwcAppbmRleCA2OWRkYjM1NTE1ZjcyZGJmOWE5MTIxOTAwNWJjNzZkYjIwZjhhOGM5Li5jOGEz
OTU5NWMzMDY2MzBiYTAxYTU1ZDk2ZTczNzU2YTZmYzJmN2EzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1Nj
cmlwdEVsZW1lbnQuY3BwCkBAIC0xNDAsMTEgKzE0MCwyNyBAQCBzdGF0aWMgYm9vbCBpc0xlZ2Fj
eVN1cHBvcnRlZEphdmFTY3JpcHRMYW5ndWFnZShjb25zdCBTdHJpbmcmIGxhbmd1YWdlKQogICAg
IHJldHVybiBsYW5ndWFnZXMuZ2V0KCkuY29udGFpbnMobGFuZ3VhZ2UpOwogfQogCitzdGF0aWMg
Ym9vbCBpc01vZHVsZVNjcmlwdFR5cGUoY29uc3QgU3RyaW5nJiB0eXBlKQoreworICAgIC8vIGh0
dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3NjcmlwdGluZy5odG1sI2F0dHIt
c2NyaXB0LXR5cGUKKyAgICAvLyBTZXR0aW5nIHRoZSBhdHRyaWJ1dGUgdG8gYW4gQVNDSUkgY2Fz
ZS1pbnNlbnNpdGl2ZSBtYXRjaCBmb3IgdGhlIHN0cmluZyAibW9kdWxlIiBtZWFucyB0aGF0IHRo
ZSBzY3JpcHQgaXMgYSBtb2R1bGUgc2NyaXB0LgorICAgIHJldHVybiBlcXVhbElnbm9yaW5nQVND
SUlDYXNlKHR5cGUsICJtb2R1bGUiKTsKK30KKwogdm9pZCBTY3JpcHRFbGVtZW50OjpkaXNwYXRj
aEVycm9yRXZlbnQoKQogewogICAgIG1fZWxlbWVudC5kaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVh
dGUoZXZlbnROYW1lcygpLmVycm9yRXZlbnQsIGZhbHNlLCBmYWxzZSkpOwogfQogCitib29sIFNj
cmlwdEVsZW1lbnQ6OmlzTW9kdWxlVHlwZSgpIGNvbnN0Cit7CisjaWYgRU5BQkxFKEVTNl9NT0RV
TEVTKQorICAgIHJldHVybiBpc01vZHVsZVNjcmlwdFR5cGUodHlwZUF0dHJpYnV0ZVZhbHVlKCkp
OworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKwogYm9vbCBTY3JpcHRFbGVt
ZW50Ojppc1NjcmlwdFR5cGVTdXBwb3J0ZWQoTGVnYWN5VHlwZVN1cHBvcnQgc3VwcG9ydExlZ2Fj
eVR5cGVzKSBjb25zdAogewogICAgIC8vIEZJWE1FOiBpc0xlZ2FjeVN1cHBvcnRlZEphdmFTY3Jp
cHRMYW5ndWFnZSgpIGlzIG5vdCB2YWxpZCBIVE1MNS4gSXQgaXMgdXNlZCBoZXJlIHRvIG1haW50
YWluIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHdpdGggZXhpc3RpbmcgbGF5b3V0IHRlc3RzLiBU
aGUgc3BlY2lmaWMgdmlvbGF0aW9ucyBhcmU6CkBAIC0xNjUsNiArMTgxLDEwIEBAIGJvb2wgU2Ny
aXB0RWxlbWVudDo6aXNTY3JpcHRUeXBlU3VwcG9ydGVkKExlZ2FjeVR5cGVTdXBwb3J0IHN1cHBv
cnRMZWdhY3lUeXBlcykKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgaWYgKHN1cHBvcnRMZWdh
Y3lUeXBlcyA9PSBBbGxvd0xlZ2FjeVR5cGVJblR5cGVBdHRyaWJ1dGUgJiYgaXNMZWdhY3lTdXBw
b3J0ZWRKYXZhU2NyaXB0TGFuZ3VhZ2UodHlwZSkpCiAgICAgICAgIHJldHVybiB0cnVlOworI2lm
IEVOQUJMRShFUzZfTU9EVUxFUykKKyAgICBpZiAoaXNNb2R1bGVTY3JpcHRUeXBlKHR5cGUpKQor
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyNlbmRpZgogICAgIHJldHVybiBmYWxzZTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9TY3JpcHRFbGVtZW50LmgKaW5kZXggNjQ4MzE3ZTExZWNmYmZhNzIwZThiYTQ1Njk1
ODZkOWU3NmE1ZmUyNS4uNDQxZDk4ZDBhYTMyMGQ0MDlkMzUwMTRiZDAyNTc4OWFjOGJjZWRhYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5oCkBAIC03OSw2ICs3OSw3IEBAIGNsYXNzIFNj
cmlwdEVsZW1lbnQgOiBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsKIHByaXZhdGU6CiAg
ICAgYm9vbCBpZ25vcmVzTG9hZFJlcXVlc3QoKSBjb25zdDsKICAgICBib29sIGlzU2NyaXB0Rm9y
RXZlbnRTdXBwb3J0ZWQoKSBjb25zdDsKKyAgICBib29sIGlzTW9kdWxlVHlwZSgpIGNvbnN0Owog
CiAgICAgYm9vbCByZXF1ZXN0U2NyaXB0KGNvbnN0IFN0cmluZyYgc291cmNlVXJsKTsKICAgICB2
b2lkIHN0b3BMb2FkUmVxdWVzdCgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>285412</attachid>
            <date>2016-08-05 02:07:18 -0700</date>
            <delta_ts>2016-08-05 02:25:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149576-20160805180551.patch</filename>
            <type>text/plain</type>
            <size>3621</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA0MTY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWZmMTkwZjJhNTlhZjIx
MGNhMDc1NDE4MDk1M2U5NGRmY2ZiZjVkZC4uZTlmOTVjNTM0ZGIwYzNlODYwYjRmNWNiZTBjNWFi
Y2YyNTBiN2YzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE2LTA4LTA1ICBZdXN1
a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgorCisgICAgICAgIFtFUzZdIEFkZCBp
c01vZHVsZVR5cGUgZnVuY3Rpb24gdG8gU2NyaXB0RWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTU3NgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGluZyBpc01vZHVsZVR5cGUoKSBmdW5j
dGlvbiB0byBTY3JpcHRFbGVtZW50cy4KKyAgICAgICAgQW5kIHN1cHBvcnQgIm1vZHVsZSIgdHlw
ZSBpbiBTY3JpcHRFbGVtZW50WzEsIDJdLgorICAgICAgICBCdXQgdGhpcyBwYXRjaCBkb2VzIG5v
dCBjb250YWluIGFueSBtb2R1bGUgdGFnIHN1cHBvcnQgY29kZS4KKyAgICAgICAgVGhpcyB3aWxs
IGJlIGltcGxlbWVudGVkIGluIHRoZSBzdWJzZXF1ZW50IHBhdGNoLgorICAgICAgICBpc01vZHVs
ZVR5cGUoKSByZXR1cm5zIHRydWUgaWYgdGhlIGdpdmVuIHNjcmlwdCBlbGVtZW50IGlzIHRoZSBt
b2R1bGUgdGFnLgorICAgICAgICBPbmx5IHdoZW4gRU5BQkxFKEVTNl9NT0RVTEVTKSBhcmUgZW5h
YmxlZCwgdGhpcyBmdW5jdGlvbiByZXR1cm5zIHRydWUuCisKKyAgICAgICAgWzFdOiBodHRwczov
L2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS93ZWJhcHBhcGlzLmh0bWwjaW50ZWdyYXRp
b24td2l0aC10aGUtamF2YXNjcmlwdC1tb2R1bGUtc3lzdGVtCisgICAgICAgIFsyXTogaHR0cHM6
Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc2NyaXB0aW5nLmh0bWwjYXR0ci1zY3Jp
cHQtdHlwZQorCisgICAgICAgICogZG9tL1NjcmlwdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6aXNNb2R1bGVTY3JpcHRUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEVsZW1l
bnQ6OmlzTW9kdWxlVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFbGVtZW50Ojppc1Nj
cmlwdFR5cGVTdXBwb3J0ZWQpOgorICAgICAgICAqIGRvbS9TY3JpcHRFbGVtZW50Lmg6CisKIDIw
MTYtMDgtMDUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFtG
ZXRjaCBBUEldIEFjdGl2YXRlIENTUCBjaGVja3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TY3JpcHRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50
LmNwcAppbmRleCA2OWRkYjM1NTE1ZjcyZGJmOWE5MTIxOTAwNWJjNzZkYjIwZjhhOGM5Li41YWUz
MmVkNWJlMzA2OTEyNjIxZTQxMWM5NDY1MDVkZGViYzNkMmZmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1Nj
cmlwdEVsZW1lbnQuY3BwCkBAIC0xNDAsMTEgKzE0MCwyNyBAQCBzdGF0aWMgYm9vbCBpc0xlZ2Fj
eVN1cHBvcnRlZEphdmFTY3JpcHRMYW5ndWFnZShjb25zdCBTdHJpbmcmIGxhbmd1YWdlKQogICAg
IHJldHVybiBsYW5ndWFnZXMuZ2V0KCkuY29udGFpbnMobGFuZ3VhZ2UpOwogfQogCitzdGF0aWMg
Ym9vbCBpc01vZHVsZVNjcmlwdFR5cGUoY29uc3QgU3RyaW5nJiB0eXBlKQoreworICAgIC8vIGh0
dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3NjcmlwdGluZy5odG1sI2F0dHIt
c2NyaXB0LXR5cGUKKyAgICAvLyBTZXR0aW5nIHRoZSBhdHRyaWJ1dGUgdG8gYW4gQVNDSUkgY2Fz
ZS1pbnNlbnNpdGl2ZSBtYXRjaCBmb3IgdGhlIHN0cmluZyAibW9kdWxlIiBtZWFucyB0aGF0IHRo
ZSBzY3JpcHQgaXMgYSBtb2R1bGUgc2NyaXB0LgorICAgIHJldHVybiBlcXVhbExldHRlcnNJZ25v
cmluZ0FTQ0lJQ2FzZSh0eXBlLCAibW9kdWxlIik7Cit9CisKIHZvaWQgU2NyaXB0RWxlbWVudDo6
ZGlzcGF0Y2hFcnJvckV2ZW50KCkKIHsKICAgICBtX2VsZW1lbnQuZGlzcGF0Y2hFdmVudChFdmVu
dDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5lcnJvckV2ZW50LCBmYWxzZSwgZmFsc2UpKTsKIH0KIAor
Ym9vbCBTY3JpcHRFbGVtZW50Ojppc01vZHVsZVR5cGUoKSBjb25zdAoreworI2lmIEVOQUJMRShF
UzZfTU9EVUxFUykKKyAgICByZXR1cm4gaXNNb2R1bGVTY3JpcHRUeXBlKHR5cGVBdHRyaWJ1dGVW
YWx1ZSgpKTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKIGJvb2wgU2Ny
aXB0RWxlbWVudDo6aXNTY3JpcHRUeXBlU3VwcG9ydGVkKExlZ2FjeVR5cGVTdXBwb3J0IHN1cHBv
cnRMZWdhY3lUeXBlcykgY29uc3QKIHsKICAgICAvLyBGSVhNRTogaXNMZWdhY3lTdXBwb3J0ZWRK
YXZhU2NyaXB0TGFuZ3VhZ2UoKSBpcyBub3QgdmFsaWQgSFRNTDUuIEl0IGlzIHVzZWQgaGVyZSB0
byBtYWludGFpbiBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB3aXRoIGV4aXN0aW5nIGxheW91dCB0
ZXN0cy4gVGhlIHNwZWNpZmljIHZpb2xhdGlvbnMgYXJlOgpAQCAtMTY1LDYgKzE4MSwxMCBAQCBi
b29sIFNjcmlwdEVsZW1lbnQ6OmlzU2NyaXB0VHlwZVN1cHBvcnRlZChMZWdhY3lUeXBlU3VwcG9y
dCBzdXBwb3J0TGVnYWN5VHlwZXMpCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIGlmIChzdXBw
b3J0TGVnYWN5VHlwZXMgPT0gQWxsb3dMZWdhY3lUeXBlSW5UeXBlQXR0cmlidXRlICYmIGlzTGVn
YWN5U3VwcG9ydGVkSmF2YVNjcmlwdExhbmd1YWdlKHR5cGUpKQogICAgICAgICByZXR1cm4gdHJ1
ZTsKKyNpZiBFTkFCTEUoRVM2X01PRFVMRVMpCisgICAgaWYgKGlzTW9kdWxlU2NyaXB0VHlwZSh0
eXBlKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisjZW5kaWYKICAgICByZXR1cm4gZmFsc2U7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5oCmluZGV4IDY0ODMxN2UxMWVjZmJmYTcyMGU4
YmE0NTY5NTg2ZDllNzZhNWZlMjUuLjQ0MWQ5OGQwYWEzMjBkNDA5ZDM1MDE0YmQwMjU3ODlhYzhi
Y2VkYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuaApAQCAtNzksNiArNzksNyBAQCBj
bGFzcyBTY3JpcHRFbGVtZW50IDogcHJpdmF0ZSBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CiBwcml2
YXRlOgogICAgIGJvb2wgaWdub3Jlc0xvYWRSZXF1ZXN0KCkgY29uc3Q7CiAgICAgYm9vbCBpc1Nj
cmlwdEZvckV2ZW50U3VwcG9ydGVkKCkgY29uc3Q7CisgICAgYm9vbCBpc01vZHVsZVR5cGUoKSBj
b25zdDsKIAogICAgIGJvb2wgcmVxdWVzdFNjcmlwdChjb25zdCBTdHJpbmcmIHNvdXJjZVVybCk7
CiAgICAgdm9pZCBzdG9wTG9hZFJlcXVlc3QoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>285413</attachid>
            <date>2016-08-05 02:25:17 -0700</date>
            <delta_ts>2016-08-05 02:37:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149576-20160805182350.patch</filename>
            <type>text/plain</type>
            <size>5187</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA0MTY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWZmMTkwZjJhNTlhZjIx
MGNhMDc1NDE4MDk1M2U5NGRmY2ZiZjVkZC4uZTUxMzg5MGFiY2U4NTgxNmU5MjVjZTA4N2IwMjU0
N2MxODZlNzY1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE2LTA4LTA1ICBZdXN1
a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgorCisgICAgICAgIFtFUzZdIEFkZCBp
c01vZHVsZVR5cGUgZnVuY3Rpb24gdG8gU2NyaXB0RWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTU3NgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGluZyBpc01vZHVsZVR5cGUoKSBmdW5j
dGlvbiB0byBTY3JpcHRFbGVtZW50cy4KKyAgICAgICAgQW5kIHN1cHBvcnQgIm1vZHVsZSIgdHlw
ZSBpbiBTY3JpcHRFbGVtZW50WzEsIDJdLgorICAgICAgICBCdXQgdGhpcyBwYXRjaCBkb2VzIG5v
dCBjb250YWluIGFueSBtb2R1bGUgdGFnIHN1cHBvcnQgY29kZS4KKyAgICAgICAgVGhpcyB3aWxs
IGJlIGltcGxlbWVudGVkIGluIHRoZSBzdWJzZXF1ZW50IHBhdGNoLgorICAgICAgICBpc01vZHVs
ZVR5cGUoKSByZXR1cm5zIHRydWUgaWYgdGhlIGdpdmVuIHNjcmlwdCBlbGVtZW50IGlzIHRoZSBt
b2R1bGUgdGFnLgorICAgICAgICBPbmx5IHdoZW4gRU5BQkxFKEVTNl9NT0RVTEVTKSBhcmUgZW5h
YmxlZCwgdGhpcyBmdW5jdGlvbiByZXR1cm5zIHRydWUuCisKKyAgICAgICAgWzFdOiBodHRwczov
L2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS93ZWJhcHBhcGlzLmh0bWwjaW50ZWdyYXRp
b24td2l0aC10aGUtamF2YXNjcmlwdC1tb2R1bGUtc3lzdGVtCisgICAgICAgIFsyXTogaHR0cHM6
Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc2NyaXB0aW5nLmh0bWwjYXR0ci1zY3Jp
cHQtdHlwZQorCisgICAgICAgICogZG9tL1NjcmlwdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U2NyaXB0RWxlbWVudDo6aXNTY3JpcHRUeXBlU3VwcG9ydGVkKToKKyAgICAgICAgKFdl
YkNvcmU6OlNjcmlwdEVsZW1lbnQ6OnByZXBhcmVTY3JpcHQpOgorICAgICAgICAqIGRvbS9TY3Jp
cHRFbGVtZW50Lmg6CisKIDIwMTYtMDgtMDUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFtGZXRjaCBBUEldIEFjdGl2YXRlIENTUCBjaGVja3MKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TY3JpcHRFbGVtZW50LmNwcAppbmRleCA2OWRkYjM1NTE1ZjcyZGJmOWE5MTIxOTAwNWJj
NzZkYjIwZjhhOGM5Li5iYmE1NTFjZjhhYmE4NmRjNTc2ZmQ3ZjRiOWJhMjQ1MzQ3NjU4YjNlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwCkBAIC0xNDUsNyArMTQ1LDcgQEAgdm9p
ZCBTY3JpcHRFbGVtZW50OjpkaXNwYXRjaEVycm9yRXZlbnQoKQogICAgIG1fZWxlbWVudC5kaXNw
YXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmVycm9yRXZlbnQsIGZhbHNlLCBm
YWxzZSkpOwogfQogCi1ib29sIFNjcmlwdEVsZW1lbnQ6OmlzU2NyaXB0VHlwZVN1cHBvcnRlZChM
ZWdhY3lUeXBlU3VwcG9ydCBzdXBwb3J0TGVnYWN5VHlwZXMpIGNvbnN0CitPcHRpb25hbDxTY3Jp
cHRUeXBlPiBTY3JpcHRFbGVtZW50Ojppc1NjcmlwdFR5cGVTdXBwb3J0ZWQoTGVnYWN5VHlwZVN1
cHBvcnQgc3VwcG9ydExlZ2FjeVR5cGVzKSBjb25zdAogewogICAgIC8vIEZJWE1FOiBpc0xlZ2Fj
eVN1cHBvcnRlZEphdmFTY3JpcHRMYW5ndWFnZSgpIGlzIG5vdCB2YWxpZCBIVE1MNS4gSXQgaXMg
dXNlZCBoZXJlIHRvIG1haW50YWluIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHdpdGggZXhpc3Rp
bmcgbGF5b3V0IHRlc3RzLiBUaGUgc3BlY2lmaWMgdmlvbGF0aW9ucyBhcmU6CiAgICAgLy8gLSBB
bGxvd2luZyB0eXBlPWphdmFzY3JpcHQuIHR5cGU9IHNob3VsZCBvbmx5IHN1cHBvcnQgTUlNRSB0
eXBlcywgc3VjaCBhcyB0ZXh0L2phdmFzY3JpcHQuCkBAIC0xNTQsMTggKzE1NCwyNCBAQCBib29s
IFNjcmlwdEVsZW1lbnQ6OmlzU2NyaXB0VHlwZVN1cHBvcnRlZChMZWdhY3lUeXBlU3VwcG9ydCBz
dXBwb3J0TGVnYWN5VHlwZXMpCiAgICAgU3RyaW5nIGxhbmd1YWdlID0gbGFuZ3VhZ2VBdHRyaWJ1
dGVWYWx1ZSgpOwogICAgIGlmICh0eXBlLmlzRW1wdHkoKSkgewogICAgICAgICBpZiAobGFuZ3Vh
Z2UuaXNFbXB0eSgpKQotICAgICAgICAgICAgcmV0dXJuIHRydWU7IC8vIEFzc3VtZSB0ZXh0L2ph
dmFzY3JpcHQuCisgICAgICAgICAgICByZXR1cm4gU2NyaXB0VHlwZTo6Q2xhc3NpYzsgLy8gQXNz
dW1lIHRleHQvamF2YXNjcmlwdC4KICAgICAgICAgaWYgKE1JTUVUeXBlUmVnaXN0cnk6OmlzU3Vw
cG9ydGVkSmF2YVNjcmlwdE1JTUVUeXBlKCJ0ZXh0LyIgKyBsYW5ndWFnZSkpCi0gICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIHJldHVybiBTY3JpcHRUeXBlOjpDbGFzc2ljOwog
ICAgICAgICBpZiAoaXNMZWdhY3lTdXBwb3J0ZWRKYXZhU2NyaXB0TGFuZ3VhZ2UobGFuZ3VhZ2Up
KQotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAg
ICAgICAgIHJldHVybiBTY3JpcHRUeXBlOjpDbGFzc2ljOworICAgICAgICByZXR1cm4gTnVsbG9w
dDsKICAgICB9CiAgICAgaWYgKE1JTUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkSmF2YVNjcmlw
dE1JTUVUeXBlKHR5cGUuc3RyaXBXaGl0ZVNwYWNlKCkpKQotICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICAgICAgcmV0dXJuIFNjcmlwdFR5cGU6OkNsYXNzaWM7CiAgICAgaWYgKHN1cHBvcnRMZWdh
Y3lUeXBlcyA9PSBBbGxvd0xlZ2FjeVR5cGVJblR5cGVBdHRyaWJ1dGUgJiYgaXNMZWdhY3lTdXBw
b3J0ZWRKYXZhU2NyaXB0TGFuZ3VhZ2UodHlwZSkpCi0gICAgICAgIHJldHVybiB0cnVlOwotICAg
IHJldHVybiBmYWxzZTsKKyAgICAgICAgcmV0dXJuIFNjcmlwdFR5cGU6OkNsYXNzaWM7CisjaWYg
RU5BQkxFKEVTNl9NT0RVTEVTKQorICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcv
bXVsdGlwYWdlL3NjcmlwdGluZy5odG1sI2F0dHItc2NyaXB0LXR5cGUKKyAgICAvLyBTZXR0aW5n
IHRoZSBhdHRyaWJ1dGUgdG8gYW4gQVNDSUkgY2FzZS1pbnNlbnNpdGl2ZSBtYXRjaCBmb3IgdGhl
IHN0cmluZyAibW9kdWxlIiBtZWFucyB0aGF0IHRoZSBzY3JpcHQgaXMgYSBtb2R1bGUgc2NyaXB0
LgorICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZSh0eXBlLCAibW9kdWxlIikp
CisgICAgICAgIHJldHVybiBTY3JpcHRUeXBlOjpNb2R1bGU7CisjZW5kaWYKKyAgICByZXR1cm4g
TnVsbG9wdDsKIH0KIAogLy8gaHR0cDovL2Rldi53My5vcmcvaHRtbDUvc3BlYy9PdmVydmlldy5o
dG1sI3ByZXBhcmUtYS1zY3JpcHQKQEAgLTE5MSw3ICsxOTcsMTAgQEAgYm9vbCBTY3JpcHRFbGVt
ZW50OjpwcmVwYXJlU2NyaXB0KGNvbnN0IFRleHRQb3NpdGlvbiYgc2NyaXB0U3RhcnRQb3NpdGlv
biwgTGVnYWMKICAgICBpZiAoIW1fZWxlbWVudC5pbkRvY3VtZW50KCkpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKIAotICAgIGlmICghaXNTY3JpcHRUeXBlU3VwcG9ydGVkKHN1cHBvcnRMZWdhY3lU
eXBlcykpCisgICAgU2NyaXB0VHlwZSBzY3JpcHRUeXBlID0gU2NyaXB0VHlwZTo6Q2xhc3NpYzsK
KyAgICBpZiAoT3B0aW9uYWw8U2NyaXB0VHlwZT4gc2NyaXB0VHlwZU9wdGlvbmFsID0gaXNTY3Jp
cHRUeXBlU3VwcG9ydGVkKHN1cHBvcnRMZWdhY3lUeXBlcykpCisgICAgICAgIHNjcmlwdFR5cGUg
PSBzY3JpcHRUeXBlT3B0aW9uYWwudmFsdWUoKTsKKyAgICBlbHNlCiAgICAgICAgIHJldHVybiBm
YWxzZTsKIAogICAgIGlmICh3YXNQYXJzZXJJbnNlcnRlZCkgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRF
bGVtZW50LmgKaW5kZXggNjQ4MzE3ZTExZWNmYmZhNzIwZThiYTQ1Njk1ODZkOWU3NmE1ZmUyNS4u
N2I3ODAwOWIwODgzMzY4ZmUzM2E5NjJkMGY4YTRiNzgxYzYxYjkwZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
U2NyaXB0RWxlbWVudC5oCkBAIC01Myw3ICs1Myw2IEBAIGNsYXNzIFNjcmlwdEVsZW1lbnQgOiBw
cml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsKICAgICAvLyBYTUwgcGFyc2VyIGNhbGxzIHRo
ZXNlCiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoTG9hZEV2ZW50KCkgPSAwOwogICAgIHZvaWQg
ZGlzcGF0Y2hFcnJvckV2ZW50KCk7Ci0gICAgYm9vbCBpc1NjcmlwdFR5cGVTdXBwb3J0ZWQoTGVn
YWN5VHlwZVN1cHBvcnQpIGNvbnN0OwogCiAgICAgYm9vbCBoYXZlRmlyZWRMb2FkRXZlbnQoKSBj
b25zdCB7IHJldHVybiBtX2hhdmVGaXJlZExvYWQ7IH0KICAgICBib29sIHdpbGxCZVBhcnNlckV4
ZWN1dGVkKCkgY29uc3QgeyByZXR1cm4gbV93aWxsQmVQYXJzZXJFeGVjdXRlZDsgfQpAQCAtNzcs
NiArNzYsOSBAQCBjbGFzcyBTY3JpcHRFbGVtZW50IDogcHJpdmF0ZSBDYWNoZWRSZXNvdXJjZUNs
aWVudCB7CiAgICAgdm9pZCBoYW5kbGVBc3luY0F0dHJpYnV0ZSgpOwogCiBwcml2YXRlOgorICAg
IC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3NjcmlwdGluZy5odG1s
I2NvbmNlcHQtc2NyaXB0LXR5cGUKKyAgICBlbnVtIGNsYXNzIFNjcmlwdFR5cGUgeyBDbGFzc2lj
LCBNb2R1bGUgfTsKKyAgICBPcHRpb25hbDxTY3JpcHRUeXBlPiBpc1NjcmlwdFR5cGVTdXBwb3J0
ZWQoTGVnYWN5VHlwZVN1cHBvcnQpIGNvbnN0OwogICAgIGJvb2wgaWdub3Jlc0xvYWRSZXF1ZXN0
KCkgY29uc3Q7CiAgICAgYm9vbCBpc1NjcmlwdEZvckV2ZW50U3VwcG9ydGVkKCkgY29uc3Q7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>285415</attachid>
            <date>2016-08-05 02:37:15 -0700</date>
            <delta_ts>2016-08-05 23:29:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149576-20160805183548.patch</filename>
            <type>text/plain</type>
            <size>5047</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA0MTY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWZmMTkwZjJhNTlhZjIx
MGNhMDc1NDE4MDk1M2U5NGRmY2ZiZjVkZC4uNWI2ODEwOGFmYjhlYjc3NTg3YjQxNzZjMDM0MzVk
Y2JkYTMzMzdjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE2LTA4LTA1ICBZdXN1
a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgorCisgICAgICAgIFtFUzZdIEFkZCBT
Y3JpcHRFbGVtZW50OjpkZXRlcm1pbmVTY3JpcHRUeXBlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDk1NzYKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2UgU2NyaXB0RWxlbWVudDo6aXNTY3JpcHRU
eXBlU3VwcG9ydGVkIHRvIFNjcmlwdEVsZW1lbnQ6OmRldGVybWluZVNjcmlwdFR5cGUuCisgICAg
ICAgIEFuZCBpbnRyb2R1Y2UgU2NyaXB0VHlwZSwgd2hpY2ggaXMgZWl0aGVyICJjbGFzc2ljIiBv
ciAibW9kdWxlIi4KKyAgICAgICAgQW5kIHN1cHBvcnQgIm1vZHVsZSIgdHlwZSBpbiBTY3JpcHRF
bGVtZW50WzEsIDJdLgorICAgICAgICBCdXQgdGhpcyBwYXRjaCBkb2VzIG5vdCBjb250YWluIGFu
eSBtb2R1bGUgdGFnIHN1cHBvcnQgY29kZS4KKyAgICAgICAgVGhpcyB3aWxsIGJlIGltcGxlbWVu
dGVkIGluIHRoZSBzdWJzZXF1ZW50IHBhdGNoLgorCisgICAgICAgIFsxXTogaHR0cHM6Ly9odG1s
LnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvd2ViYXBwYXBpcy5odG1sI2ludGVncmF0aW9uLXdp
dGgtdGhlLWphdmFzY3JpcHQtbW9kdWxlLXN5c3RlbQorICAgICAgICBbMl06IGh0dHBzOi8vaHRt
bC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3NjcmlwdGluZy5odG1sI2F0dHItc2NyaXB0LXR5
cGUKKworICAgICAgICAqIGRvbS9TY3JpcHRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNjcmlwdEVsZW1lbnQ6OmRldGVybWluZVNjcmlwdFR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6
U2NyaXB0RWxlbWVudDo6cHJlcGFyZVNjcmlwdCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRF
bGVtZW50Ojppc1NjcmlwdFR5cGVTdXBwb3J0ZWQpOiBEZWxldGVkLgorICAgICAgICAqIGRvbS9T
Y3JpcHRFbGVtZW50Lmg6CisKIDIwMTYtMDgtMDUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBw
bGUuY29tPgogCiAgICAgICAgIFtGZXRjaCBBUEldIEFjdGl2YXRlIENTUCBjaGVja3MKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcAppbmRleCA2OWRkYjM1NTE1ZjcyZGJmOWE5MTIxOTAw
NWJjNzZkYjIwZjhhOGM5Li5mMTg3MTExNWIzMjhhNmYxMjYzMDkzNmU4NWViMDlhYjdhMWYzNTdj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwCkBAIC0xNDUsNyArMTQ1LDcgQEAg
dm9pZCBTY3JpcHRFbGVtZW50OjpkaXNwYXRjaEVycm9yRXZlbnQoKQogICAgIG1fZWxlbWVudC5k
aXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmVycm9yRXZlbnQsIGZhbHNl
LCBmYWxzZSkpOwogfQogCi1ib29sIFNjcmlwdEVsZW1lbnQ6OmlzU2NyaXB0VHlwZVN1cHBvcnRl
ZChMZWdhY3lUeXBlU3VwcG9ydCBzdXBwb3J0TGVnYWN5VHlwZXMpIGNvbnN0CitPcHRpb25hbDxT
Y3JpcHRFbGVtZW50OjpTY3JpcHRUeXBlPiBTY3JpcHRFbGVtZW50OjpkZXRlcm1pbmVTY3JpcHRU
eXBlKExlZ2FjeVR5cGVTdXBwb3J0IHN1cHBvcnRMZWdhY3lUeXBlcykgY29uc3QKIHsKICAgICAv
LyBGSVhNRTogaXNMZWdhY3lTdXBwb3J0ZWRKYXZhU2NyaXB0TGFuZ3VhZ2UoKSBpcyBub3QgdmFs
aWQgSFRNTDUuIEl0IGlzIHVzZWQgaGVyZSB0byBtYWludGFpbiBiYWNrd2FyZHMgY29tcGF0aWJp
bGl0eSB3aXRoIGV4aXN0aW5nIGxheW91dCB0ZXN0cy4gVGhlIHNwZWNpZmljIHZpb2xhdGlvbnMg
YXJlOgogICAgIC8vIC0gQWxsb3dpbmcgdHlwZT1qYXZhc2NyaXB0LiB0eXBlPSBzaG91bGQgb25s
eSBzdXBwb3J0IE1JTUUgdHlwZXMsIHN1Y2ggYXMgdGV4dC9qYXZhc2NyaXB0LgpAQCAtMTU0LDE4
ICsxNTQsMjQgQEAgYm9vbCBTY3JpcHRFbGVtZW50Ojppc1NjcmlwdFR5cGVTdXBwb3J0ZWQoTGVn
YWN5VHlwZVN1cHBvcnQgc3VwcG9ydExlZ2FjeVR5cGVzKQogICAgIFN0cmluZyBsYW5ndWFnZSA9
IGxhbmd1YWdlQXR0cmlidXRlVmFsdWUoKTsKICAgICBpZiAodHlwZS5pc0VtcHR5KCkpIHsKICAg
ICAgICAgaWYgKGxhbmd1YWdlLmlzRW1wdHkoKSkKLSAgICAgICAgICAgIHJldHVybiB0cnVlOyAv
LyBBc3N1bWUgdGV4dC9qYXZhc2NyaXB0LgorICAgICAgICAgICAgcmV0dXJuIFNjcmlwdFR5cGU6
OkNsYXNzaWM7IC8vIEFzc3VtZSB0ZXh0L2phdmFzY3JpcHQuCiAgICAgICAgIGlmIChNSU1FVHlw
ZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZEphdmFTY3JpcHRNSU1FVHlwZSgidGV4dC8iICsgbGFuZ3Vh
Z2UpKQotICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICByZXR1cm4gU2NyaXB0
VHlwZTo6Q2xhc3NpYzsKICAgICAgICAgaWYgKGlzTGVnYWN5U3VwcG9ydGVkSmF2YVNjcmlwdExh
bmd1YWdlKGxhbmd1YWdlKSkKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgICAgICAgICByZXR1cm4gU2NyaXB0VHlwZTo6Q2xhc3NpYzsKKyAgICAg
ICAgcmV0dXJuIE51bGxvcHQ7CiAgICAgfQogICAgIGlmIChNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1
cHBvcnRlZEphdmFTY3JpcHRNSU1FVHlwZSh0eXBlLnN0cmlwV2hpdGVTcGFjZSgpKSkKLSAgICAg
ICAgcmV0dXJuIHRydWU7CisgICAgICAgIHJldHVybiBTY3JpcHRUeXBlOjpDbGFzc2ljOwogICAg
IGlmIChzdXBwb3J0TGVnYWN5VHlwZXMgPT0gQWxsb3dMZWdhY3lUeXBlSW5UeXBlQXR0cmlidXRl
ICYmIGlzTGVnYWN5U3VwcG9ydGVkSmF2YVNjcmlwdExhbmd1YWdlKHR5cGUpKQotICAgICAgICBy
ZXR1cm4gdHJ1ZTsKLSAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiBTY3JpcHRUeXBl
OjpDbGFzc2ljOworI2lmIEVOQUJMRShFUzZfTU9EVUxFUykKKyAgICAvLyBodHRwczovL2h0bWwu
c3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zY3JpcHRpbmcuaHRtbCNhdHRyLXNjcmlwdC10eXBl
CisgICAgLy8gU2V0dGluZyB0aGUgYXR0cmlidXRlIHRvIGFuIEFTQ0lJIGNhc2UtaW5zZW5zaXRp
dmUgbWF0Y2ggZm9yIHRoZSBzdHJpbmcgIm1vZHVsZSIgbWVhbnMgdGhhdCB0aGUgc2NyaXB0IGlz
IGEgbW9kdWxlIHNjcmlwdC4KKyAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uo
dHlwZSwgIm1vZHVsZSIpKQorICAgICAgICByZXR1cm4gU2NyaXB0VHlwZTo6TW9kdWxlOworI2Vu
ZGlmCisgICAgcmV0dXJuIE51bGxvcHQ7CiB9CiAKIC8vIGh0dHA6Ly9kZXYudzMub3JnL2h0bWw1
L3NwZWMvT3ZlcnZpZXcuaHRtbCNwcmVwYXJlLWEtc2NyaXB0CkBAIC0xOTEsNyArMTk3LDcgQEAg
Ym9vbCBTY3JpcHRFbGVtZW50OjpwcmVwYXJlU2NyaXB0KGNvbnN0IFRleHRQb3NpdGlvbiYgc2Ny
aXB0U3RhcnRQb3NpdGlvbiwgTGVnYWMKICAgICBpZiAoIW1fZWxlbWVudC5pbkRvY3VtZW50KCkp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmICghaXNTY3JpcHRUeXBlU3VwcG9ydGVk
KHN1cHBvcnRMZWdhY3lUeXBlcykpCisgICAgaWYgKCFkZXRlcm1pbmVTY3JpcHRUeXBlKHN1cHBv
cnRMZWdhY3lUeXBlcykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGlmICh3YXNQYXJz
ZXJJbnNlcnRlZCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmgKaW5kZXggNjQ4MzE3ZTEx
ZWNmYmZhNzIwZThiYTQ1Njk1ODZkOWU3NmE1ZmUyNS4uNGU3OTQ5MTIwOWIwYjQ3OGVmNTcyNzYx
NDI0ZGFkYTQxNWNjMDI4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVs
ZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5oCkBAIC01Myw3
ICs1Myw2IEBAIGNsYXNzIFNjcmlwdEVsZW1lbnQgOiBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xp
ZW50IHsKICAgICAvLyBYTUwgcGFyc2VyIGNhbGxzIHRoZXNlCiAgICAgdmlydHVhbCB2b2lkIGRp
c3BhdGNoTG9hZEV2ZW50KCkgPSAwOwogICAgIHZvaWQgZGlzcGF0Y2hFcnJvckV2ZW50KCk7Ci0g
ICAgYm9vbCBpc1NjcmlwdFR5cGVTdXBwb3J0ZWQoTGVnYWN5VHlwZVN1cHBvcnQpIGNvbnN0Owog
CiAgICAgYm9vbCBoYXZlRmlyZWRMb2FkRXZlbnQoKSBjb25zdCB7IHJldHVybiBtX2hhdmVGaXJl
ZExvYWQ7IH0KICAgICBib29sIHdpbGxCZVBhcnNlckV4ZWN1dGVkKCkgY29uc3QgeyByZXR1cm4g
bV93aWxsQmVQYXJzZXJFeGVjdXRlZDsgfQpAQCAtNzcsNiArNzYsOSBAQCBjbGFzcyBTY3JpcHRF
bGVtZW50IDogcHJpdmF0ZSBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CiAgICAgdm9pZCBoYW5kbGVB
c3luY0F0dHJpYnV0ZSgpOwogCiBwcml2YXRlOgorICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndo
YXR3Zy5vcmcvbXVsdGlwYWdlL3NjcmlwdGluZy5odG1sI2NvbmNlcHQtc2NyaXB0LXR5cGUKKyAg
ICBlbnVtIGNsYXNzIFNjcmlwdFR5cGUgeyBDbGFzc2ljLCBNb2R1bGUgfTsKKyAgICBPcHRpb25h
bDxTY3JpcHRUeXBlPiBkZXRlcm1pbmVTY3JpcHRUeXBlKExlZ2FjeVR5cGVTdXBwb3J0KSBjb25z
dDsKICAgICBib29sIGlnbm9yZXNMb2FkUmVxdWVzdCgpIGNvbnN0OwogICAgIGJvb2wgaXNTY3Jp
cHRGb3JFdmVudFN1cHBvcnRlZCgpIGNvbnN0OwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>