<?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>159210</bug_id>
          
          <creation_ts>2016-06-28 05:00:29 -0700</creation_ts>
          <short_desc>Empty Content-Type header sent when uploading a file using XMLHttpRequest and type-less Blob</short_desc>
          <delta_ts>2020-06-09 02:04:53 -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>XML</component>
          <version>Safari 9</version>
          <rep_platform>iPhone / iPad</rep_platform>
          <op_sys>OS X 10.11</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>211999</dup_id>
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=99983</see_also>
          <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="Greg B">Russiandevil</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>alexander.shalamov</cc>
    
    <cc>ap</cc>
    
    <cc>darin</cc>
    
    <cc>rbuis</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1206004</commentid>
    <comment_count>0</comment_count>
    <who name="Greg B">Russiandevil</who>
    <bug_when>2016-06-28 05:00:29 -0700</bug_when>
    <thetext>In my Javascript application I upload files to Amazon S3 bucket using XMLHttpRequests using type-less blobs
e.g. var myTypeLessBlob = new window.Blob([some Uint8Array of data]). 

The reason I&apos;m not specifying a Content-Type (instead of using, say, application/octet-stream or binary/octet-stream, 
which is what this data is technically) is because I need to support a legacy (cannot modify the code of) version of 
Java application which fetches these uploaded documents later, and S3 expects the Content-Type header value that was 
specified during upload to be the same during download later - and the legacy app doesn&apos;t specify Content-Type during
its uploads or downloads.

Anywho, this type-less blob approach for upload and subsequent download seems to work fine for me in Chrome, Firefox, IE11, 
Microsoft Edge. That is, the Content-Type header does not get sent in a PUT request to the server and later on when I download
the document it&apos;s the Amazon S3 that tells me that its in fact binary/octet-stream in its response header.

However when using Safari, I noticed that for some reason the Content-Type header gets sent as an empty string
during upload - which results in the same behaviour during the subsequent download, which causes issues when I
try to download my Safari-uploaded file in those other browsers.

Is there some reason Safari/Webkit is behaving differently to other browsers in this regard?

cheers,
Greg</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1206012</commentid>
    <comment_count>1</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-06-28 06:03:44 -0700</bug_when>
    <thetext>SO, XMLHttpRequest implementation sets explicitly an empty string content type in case of a blob without mime type.
According the source code, it says that it is mandated by the file API spec.
I am wondering whether that still holds and what is the rationale here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1206014</commentid>
    <comment_count>2</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-06-28 06:09:47 -0700</bug_when>
    <thetext>According to https://xhr.spec.whatwg.org/#the-send()-method and https://fetch.spec.whatwg.org/#concept-bodyinit-extract, no Content-Type header should actually be sent in the case of a type-less blob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1206015</commentid>
    <comment_count>3</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-06-28 06:21:46 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; According to https://xhr.spec.whatwg.org/#the-send()-method and
&gt; https://fetch.spec.whatwg.org/#concept-bodyinit-extract, no Content-Type
&gt; header should actually be sent in the case of a type-less blob.

http://www.w3.org/TR/XMLHttpRequest/#the-send()-method also agrees with not sending an empty-string CT header in that case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207762</commentid>
    <comment_count>4</comment_count>
      <attachid>282753</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-07-05 00:10:00 -0700</bug_when>
    <thetext>Created attachment 282753
Test patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207763</commentid>
    <comment_count>5</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-07-05 00:15:14 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Created attachment 282753 [details]
&gt; Test patch

The following patch solves the issue for soup-based ports.
It makes things worse for Mac-based ports as a &quot;Content-Type: application/x-www-form-urlencoded&quot; is added when none is provided. It might be the underlying HTTP library that does so when requested to upload some content.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207863</commentid>
    <comment_count>6</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-07-05 09:32:25 -0700</bug_when>
    <thetext>Greg, it might be the case that using PUT in lieu of POST might not cause that issue.
I am not sure whether that would work for your case, but just in case...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215512</commentid>
    <comment_count>7</comment_count>
    <who name="Greg B">Russiandevil</who>
    <bug_when>2016-07-29 00:51:20 -0700</bug_when>
    <thetext>Hi Youenn, can you please clarify what you mean by soup-based/Mac-based?
Personally I&apos;m mostly after this behaviour corrected in Safari browser. Also, how do we get someone to review your patch and where to from here? In regards to your last comment, I was already using PUT request when I noticed the initial issue that I reported.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215546</commentid>
    <comment_count>8</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-07-29 06:35:54 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Hi Youenn, can you please clarify what you mean by soup-based/Mac-based?
&gt; Personally I&apos;m mostly after this behaviour corrected in Safari browser.
&gt; Also, how do we get someone to review your patch and where to from here? In
&gt; regards to your last comment, I was already using PUT request when I noticed
&gt; the initial issue that I reported.

The proposed patch calls for a change in the HTTP library below WebKit for Mac ports, hence Safari. Once updated, it will be time to review and hopefully land this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243622</commentid>
    <comment_count>9</comment_count>
      <attachid>292587</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-10-24 00:02:23 -0700</bug_when>
    <thetext>Created attachment 292587
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243625</commentid>
    <comment_count>10</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-10-24 00:15:20 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Greg, it might be the case that using PUT in lieu of POST might not cause
&gt; that issue.
&gt; I am not sure whether that would work for your case, but just in case...

OK, PUT with the above patch should work for you.
POST needs additional care at a layer below.

Latest patch tries to ship the change for PUT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243626</commentid>
    <comment_count>11</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-10-24 00:15:37 -0700</bug_when>
    <thetext>rdar://problem/27173554</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243751</commentid>
    <comment_count>12</comment_count>
      <attachid>292587</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-10-24 10:16:17 -0700</bug_when>
    <thetext>Comment on attachment 292587
Patch

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

&gt; Source/WebCore/xml/XMLHttpRequest.cpp:574
&gt; +            else if (m_method == &quot;POST&quot;) {
&gt; +                // See rdar://problem/27173554. CFNetwork will put a default Content-Type value if we do no set it, but only for POST.

Why would we have cross-platform code to work around a CFNetwork-specific bug?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243895</commentid>
    <comment_count>13</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-10-24 14:46:50 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; Comment on attachment 292587 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=292587&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/xml/XMLHttpRequest.cpp:574
&gt; &gt; +            else if (m_method == &quot;POST&quot;) {
&gt; &gt; +                // See rdar://problem/27173554. CFNetwork will put a default Content-Type value if we do no set it, but only for POST.
&gt; 
&gt; Why would we have cross-platform code to work around a CFNetwork-specific
&gt; bug?

Agreed. I thought it was ok to progressively make the correct behavior accross all methods.
We can also improve this patch to fix it permanently in XHR and temporarily in CFNetwork binding code. This may be indeed nicer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1244098</commentid>
    <comment_count>14</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-10-24 22:06:42 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; I thought it was ok to progressively make the correct behavior
&gt; accross all methods.

Sorry, I don’t understand what that means.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1244143</commentid>
    <comment_count>15</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-10-25 00:45:26 -0700</bug_when>
    <thetext>There are different options:

- Option 1
Wait for CF Network to get fixed so that we can fully align with XHR spec and have no content-type set in all cases.
- Option 2
Align XHR to the spec for the methods that do not exhibit the CF network issue.
Status quo for the POST method.
- Option 3
Align XHR to the spec for all methods.
When CFNetwork gets updated, POST content-type will be fixed.
- Option 4
Align XHR to the spec for all methods.
Update CF network binding code to keep the status quo for the POST method.

I initially chose option 1, but option 2 allows to ship some improvements beneficial for all ports and many users even though CFNetwork does not ship the fix.

Option 3 is ok for a new API like fetch API, but for XHR, this does not seem right in terms of compatibility.

Option 4 would probably be nicer but we would need to apply this trick at the CF network platform code for XHR requests only (It is not appealing to apply this trick for fetch API requests).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1462492</commentid>
    <comment_count>16</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2018-09-23 00:08:39 -0700</bug_when>
    <thetext>*** Bug 189886 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1660261</commentid>
    <comment_count>17</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-06-08 10:57:26 -0700</bug_when>
    <thetext>This seems like a duplicate of https://bugs.webkit.org/show_bug.cgi?id=211999, which is up for review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1660634</commentid>
    <comment_count>18</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-06-09 02:04:53 -0700</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of bug 211999 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>282753</attachid>
            <date>2016-07-05 00:10:00 -0700</date>
            <delta_ts>2016-10-24 00:02:16 -0700</delta_ts>
            <desc>Test patch</desc>
            <filename>bug-159210-20160705090929.patch</filename>
            <type>text/plain</type>
            <size>6072</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAyODEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2Y2Nzc4MTljMGY4NzUx
MTliYjdhYTNmMGY4NzRiYTEyNDM1MjRkMy4uOTQxNDU0MjZhNDg3OWNkMWQyODk0ODI1MGFmYTRl
MTdhY2RiZmExYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE2LTA3LTA1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uZkBnbWFpbC5jb20+CisKKyAgICAgICAgRW1wdHkgQ29udGVudC1U
eXBlIGhlYWRlciBzZW50IHdoZW4gdXBsb2FkaW5nIGEgZmlsZSB1c2luZyBYTUxIdHRwUmVxdWVz
dCBhbmQgdHlwZS1sZXNzIEJsb2IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE1OTIxMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRlc3Q6IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvWE1MSHR0
cFJlcXVlc3Qvc2VuZC1ibG9iLXdpdGgtbm8tbWltZS10eXBlLmh0bWwKKworICAgICAgICAqIHht
bC9YTUxIdHRwUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6
c2VuZCk6IFJlbW92aW5nIHNldHRpbmcgb2YgdGhlIENvbnRlbnQtVHlwZSBoZWFkZXIuCisKIDIw
MTYtMDctMDQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFtDb29yZGluYXRlZCBHcmFwaGljc10gTW9kZXJuaXplIGFuZCBjbGVhbnVwIENvbXBv
c2l0aW5nQ29vcmRpbmF0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRw
UmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCmluZGV4
IDhkZjhjZTU0NWRiYzVkMmY5ZmMzMjhiNTQ5ZjM1YjUyNjc0Mjk2MjAuLjMwYTVjZWFmZWE3OGJh
NjYyYTRiZWExYjExNDljMjRjNTBiNDBlZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3ht
bC9YTUxIdHRwUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1
ZXN0LmNwcApAQCAtNjEwLDEwICs2MTAsNiBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpzZW5kKEJs
b2IqIGJvZHksIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgICAgICAgICAgY29uc3QgU3RyaW5nJiBi
bG9iVHlwZSA9IGJvZHktPnR5cGUoKTsKICAgICAgICAgICAgIGlmICghYmxvYlR5cGUuaXNFbXB0
eSgpICYmIGlzVmFsaWRDb250ZW50VHlwZShibG9iVHlwZSkpCiAgICAgICAgICAgICAgICAgbV9y
ZXF1ZXN0SGVhZGVycy5zZXQoSFRUUEhlYWRlck5hbWU6OkNvbnRlbnRUeXBlLCBibG9iVHlwZSk7
Ci0gICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICAvLyBGcm9tIEZpbGVBUEkgc3Bl
Yywgd2hlbmV2ZXIgbWVkaWEgdHlwZSBjYW5ub3QgYmUgZGV0ZXJtaW5lZCwgZW1wdHkgc3RyaW5n
IG11c3QgYmUgcmV0dXJuZWQuCi0gICAgICAgICAgICAgICAgbV9yZXF1ZXN0SGVhZGVycy5zZXQo
SFRUUEhlYWRlck5hbWU6OkNvbnRlbnRUeXBlLCBlbXB0eVN0cmluZygpKTsKLSAgICAgICAgICAg
IH0KICAgICAgICAgfQogCiAgICAgICAgIG1fcmVxdWVzdEVudGl0eUJvZHkgPSBGb3JtRGF0YTo6
Y3JlYXRlKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAyMTM4NmU0MDM2MjQx
NzdiYzk2ZjY2MzhjZGYyNWU3Nzk3Yzg1MDIzLi4yZGYxMmNkZTU5YjNiNTYyN2JlNzhiYzZmYzI1
YTIzYTUxMjZhMTVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
MyBAQAorMjAxNi0wNy0wNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubmZAZ21haWwuY29tPgorCisg
ICAgICAgIEVtcHR5IENvbnRlbnQtVHlwZSBoZWFkZXIgc2VudCB3aGVuIHVwbG9hZGluZyBhIGZp
bGUgdXNpbmcgWE1MSHR0cFJlcXVlc3QgYW5kIHR5cGUtbGVzcyBCbG9iCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTkyMTAKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9Y
TUxIdHRwUmVxdWVzdC9zZW5kLWJsb2Itd2l0aC1uby1taW1lLXR5cGUtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvWE1MSHR0cFJlcXVlc3Qvc2VuZC1i
bG9iLXdpdGgtbm8tbWltZS10eXBlLmh0bWw6IEFkZGVkLgorCiAyMDE2LTA2LTMwICBZb3Vlbm4g
RmFibGV0ICA8eW91ZW5uZkBnbWFpbC5jb20+CiAKICAgICAgICAgTGF5b3V0VGVzdHMgaW50ZXJt
aXR0ZW50bHkgZmFpbGluZyB0byBydW4gZHVlIHRvIGlzc3VlcyBzdGFydGluZyBXZWIgUGxhdGZv
cm0gVGVzdCBzZXJ2ZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvWE1MSHR0cFJlcXVlc3Qvc2VuZC1ibG9iLXdpdGgtbm8tbWltZS10eXBl
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvWE1MSHR0cFJlcXVlc3Qvc2VuZC1ibG9iLXdpdGgtbm8tbWltZS10eXBlLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41ZDkyMDAxYWI2ZWU3YjYxYmQ5ZDJiZWE0M2IzMmJlNWFjOGQ3N2JkCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9YTUxIdHRwUmVxdWVzdC9zZW5kLWJsb2Itd2l0aC1uby1taW1lLXR5cGUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNiBAQAorCitQQVNTIFN5bmNocm9ub3VzIGJsb2IgbG9hZGluZyB3aXRo
IG5vIG1pbWUgdHlwZSAKK1BBU1MgQXN5bmNocm9ub3VzIGJsb2IgbG9hZGluZyB3aXRoIG5vIG1p
bWUgdHlwZSAKK1BBU1MgU3luY2hyb25vdXMgYmxvYiBsb2FkaW5nIHdpdGggaW52YWxpZCBtaW1l
IHR5cGUgCitQQVNTIEFzeW5jaHJvbm91cyBibG9iIGxvYWRpbmcgd2l0aCBpbnZhbGlkIG1pbWUg
dHlwZSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9YTUxIdHRwUmVxdWVzdC9zZW5kLWJsb2Itd2l0aC1uby1taW1lLXR5cGUuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvWE1MSHR0cFJlcXVl
c3Qvc2VuZC1ibG9iLXdpdGgtbm8tbWltZS10eXBlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOThmZWY2NTky
MzhmYjJkOTE1OWY0ODg3ZTIwYTQxZWQ5NzE2MGQ2YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvWE1MSHR0cFJlcXVlc3Qvc2Vu
ZC1ibG9iLXdpdGgtbm8tbWltZS10eXBlLmh0bWwKQEAgLTAsMCArMSw1MSBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6
Ly94aHIuc3BlYy53aGF0d2cub3JnLyN0aGUtc2VuZCgpLW1ldGhvZCIgZGF0YS10ZXN0ZWQtYXNz
ZXJ0YXRpb25zPSJmb2xsb3dpbmc6Om9sWzFdL2xpWzRdIGZvbGxvd2luZzo6b2xbMV0vbGlbNF0v
ZGxbMV0vZGRbMl0vcFszXSIvPgorICAgIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly94
aHIuc3BlYy53aGF0d2cub3JnLyN0aGUtc3RhdHVzLWF0dHJpYnV0ZSIgIGRhdGEtdGVzdGVkLWFz
c2VydGF0aW9ucz0iZm9sbG93aW5nOjpvbFsxXS9saVszXSIvPgorICAgIDxsaW5rIHJlbD0iaGVs
cCIgaHJlZj0iaHR0cHM6Ly94aHIuc3BlYy53aGF0d2cub3JnLyN0aGUtcmVzcG9uc2V0eXBlLWF0
dHJpYnV0ZSIgIGRhdGEtdGVzdGVkLWFzc2VydGF0aW9ucz0iZm9sbG93aW5nOjpvbFsxXS9saVs0
XSIvPgorICAgIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly94aHIuc3BlYy53aGF0d2cu
b3JnLyN0aGUtcmVzcG9uc2UtYXR0cmlidXRlIiAgZGF0YS10ZXN0ZWQtYXNzZXJ0YXRpb25zPSJm
b2xsb3dpbmc6OmFbY29udGFpbnMoQGhyZWYsJyNibG9iLXJlc3BvbnNlLWVudGl0eS1ib2R5Jyld
Ly4uIi8+CisKKyAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorICAgIDx0aXRsZT5YTUxIdHRwUmVxdWVzdDogVGhlIHNlbmQoKSBtZXRob2Q6
IEJsb2IgZGF0YSB3aXRoIG5vIG1pbWUgdHlwZTwvdGl0bGU+Cis8L2hlYWQ+CisKKzxib2R5Pgor
ICAgIDxkaXYgaWQ9ImxvZyI+PC9kaXY+CisKKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCI+CisgICAgICAgIHZhciBibG9iVGVzdHMgPSBbCisgICAgICAgICAgICBbIm5vIG1pbWUg
dHlwZSIsIG5ldyBCbG9iKFsiZGF0YSJdKV0sCisgICAgICAgICAgICBbImludmFsaWQgbWltZSB0
eXBlIiwgbmV3IEJsb2IoWyJkYXRhIl0sIHt0eXBlOiAiSW52YWxpZCBcclxuIG1pbWUgXHJcbiB0
eXBlIn0pXQorICAgICAgICBdOworCisgICAgICAgIGJsb2JUZXN0cy5mb3JFYWNoKGZ1bmN0aW9u
KGl0ZW0peworICAgICAgICAgICAgdGVzdChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICB2
YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CisgICAgICAgICAgICAgICAgeGhyLm9wZW4o
IlBPU1QiLCAiLi9yZXNvdXJjZXMvY29udGVudC5weSIsIGZhbHNlKTsKKyAgICAgICAgICAgICAg
ICB4aHIuc2VuZChpdGVtWzFdKTsKKworICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoeGhy
LmdldFJlc3BvbnNlSGVhZGVyKCJYLVJlcXVlc3QtQ29udGVudC1MZW5ndGgiKSwgIjQiKTsKKyAg
ICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHhoci5nZXRSZXNwb25zZUhlYWRlcigiWC1SZXF1
ZXN0LUNvbnRlbnQtVHlwZSIpLCAiTk8iKTsKKyAgICAgICAgICAgIH0sICJTeW5jaHJvbm91cyBi
bG9iIGxvYWRpbmcgd2l0aCAiICsgaXRlbVswXSk7CisKKyAgICAgICAgICAgIHZhciBhdGVzdCA9
IGFzeW5jX3Rlc3QoIkFzeW5jaHJvbm91cyBibG9iIGxvYWRpbmcgd2l0aCAiICsgaXRlbVswXSk7
CisgICAgICAgICAgICBhdGVzdC5zdGVwKGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgIHZh
ciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKKyAgICAgICAgICAgICAgICB4aHIub25yZWFk
eXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICh4aHIu
cmVhZHlTdGF0ZSA9PSA0KSB7CisgICAgICAgICAgICAgICAgICAgICAgICBhdGVzdC5zdGVwKGZ1
bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoeGhy
LmdldFJlc3BvbnNlSGVhZGVyKCJYLVJlcXVlc3QtQ29udGVudC1MZW5ndGgiKSwgIjQiKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHhoci5nZXRSZXNwb25zZUhl
YWRlcigiWC1SZXF1ZXN0LUNvbnRlbnQtVHlwZSIpLCAiTk8iKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgICAgICAgICAgICAgYXRlc3QuZG9uZSgpOworICAgICAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHhoci5v
cGVuKCJQT1NUIiwgIi4vcmVzb3VyY2VzL2NvbnRlbnQucHkiLCB0cnVlKTsKKyAgICAgICAgICAg
ICAgICB4aHIuc2VuZChpdGVtWzFdKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9KTsKKyAg
ICA8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>292587</attachid>
            <date>2016-10-24 00:02:23 -0700</date>
            <delta_ts>2018-01-27 07:36:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-159210-20161024085838.patch</filename>
            <type>text/plain</type>
            <size>6520</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA3NzM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGJjNWNkNWJmMGE1MTA0
M2YyOTQ0NzJlYTM2NTkzNjk3ODcyZTZhNC4uYjA3NWNkNTdjZDA5NDgzZGU3MTc4MTM5ZjE3MmNh
ZmMxOTQ1YTQ3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE2LTEwLTIzICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uZkBnbWFpbC5jb20+CisKKyAgICAgICAgRW1wdHkgQ29udGVudC1U
eXBlIGhlYWRlciBzZW50IHdoZW4gdXBsb2FkaW5nIGEgZmlsZSB1c2luZyBYTUxIdHRwUmVxdWVz
dCBhbmQgdHlwZS1sZXNzIEJsb2IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE1OTIxMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRlc3Q6IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvWE1MSHR0
cFJlcXVlc3Qvc2VuZC1ibG9iLXdpdGgtbm8tbWltZS10eXBlLmh0bWwKKworICAgICAgICAqIHht
bC9YTUxIdHRwUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6
c2VuZCk6IFJlbW92aW5nIHNldHRpbmcgb2YgdGhlIENvbnRlbnQtVHlwZSBoZWFkZXIgZm9yIG1l
dGhvZHMgZGlmZmVyZW50IFBPU1QuCisKIDIwMTYtMTAtMjIgIFNhbSBXZWluaWcgIDxzYW1Ad2Vi
a2l0Lm9yZz4KIAogICAgICAgICBbV2ViSURMXSBBZGQgSURMVHlwZSBiYXNlZCB0b0pTIGNvbnZl
cnNpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCmluZGV4IGRmZTE1ZjUzMDIx
Y2M5ODIwMGM0MzlkYjI4NjRiYTIwYTBmZDFjMjQuLjUwMGY2NDE4ZDczMzJmMjQ2Y2M5YTZiZGY0
ODcyYzAwYzFmNTg0ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVx
dWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcApAQCAt
NTcwLDggKzU3MCw4IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFhNTEh0dHBSZXF1ZXN0OjpzZW5kKEJs
b2ImIGJvZHkpCiAgICAgICAgICAgICBjb25zdCBTdHJpbmcmIGJsb2JUeXBlID0gYm9keS50eXBl
KCk7CiAgICAgICAgICAgICBpZiAoIWJsb2JUeXBlLmlzRW1wdHkoKSAmJiBpc1ZhbGlkQ29udGVu
dFR5cGUoYmxvYlR5cGUpKQogICAgICAgICAgICAgICAgIG1fcmVxdWVzdEhlYWRlcnMuc2V0KEhU
VFBIZWFkZXJOYW1lOjpDb250ZW50VHlwZSwgYmxvYlR5cGUpOwotICAgICAgICAgICAgZWxzZSB7
Ci0gICAgICAgICAgICAgICAgLy8gRnJvbSBGaWxlQVBJIHNwZWMsIHdoZW5ldmVyIG1lZGlhIHR5
cGUgY2Fubm90IGJlIGRldGVybWluZWQsIGVtcHR5IHN0cmluZyBtdXN0IGJlIHJldHVybmVkLgor
ICAgICAgICAgICAgZWxzZSBpZiAobV9tZXRob2QgPT0gIlBPU1QiKSB7CisgICAgICAgICAgICAg
ICAgLy8gU2VlIHJkYXI6Ly9wcm9ibGVtLzI3MTczNTU0LiBDRk5ldHdvcmsgd2lsbCBwdXQgYSBk
ZWZhdWx0IENvbnRlbnQtVHlwZSB2YWx1ZSBpZiB3ZSBkbyBubyBzZXQgaXQsIGJ1dCBvbmx5IGZv
ciBQT1NULgogICAgICAgICAgICAgICAgIG1fcmVxdWVzdEhlYWRlcnMuc2V0KEhUVFBIZWFkZXJO
YW1lOjpDb250ZW50VHlwZSwgZW1wdHlTdHJpbmcoKSk7CiAgICAgICAgICAgICB9CiAgICAgICAg
IH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDVhMjg0YmVlMWNkMGMzYWY2Yzdi
NmRmODQ3MWQ5NDZmYTY3MTJkOTguLmYxYTUwM2ZhYTZhYzM5NjgwNTUxY2FlY2RiMDJmNTFhMDBi
ZTU3YjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisy
MDE2LTEwLTIzICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uZkBnbWFpbC5jb20+CisKKyAgICAgICAg
RW1wdHkgQ29udGVudC1UeXBlIGhlYWRlciBzZW50IHdoZW4gdXBsb2FkaW5nIGEgZmlsZSB1c2lu
ZyBYTUxIdHRwUmVxdWVzdCBhbmQgdHlwZS1sZXNzIEJsb2IKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1OTIxMAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL1hNTEh0dHBS
ZXF1ZXN0L3NlbmQtYmxvYi13aXRoLW5vLW1pbWUtdHlwZS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9YTUxIdHRwUmVxdWVzdC9zZW5kLWJsb2Itd2l0
aC1uby1taW1lLXR5cGUuaHRtbDogQWRkZWQuCisKIDIwMTYtMTAtMjIgIFJ5b3N1a2UgTml3YSAg
PHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVXBncmFkaW5nIGN1c3RvbSBlbGVtZW50IHNo
b3VsZCBlbnF1ZXVlIGF0dHJpYnV0ZUNoYW5nZWQgYW5kIGNvbm5lY3RlZCBjYWxsYmFja3MKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvWE1M
SHR0cFJlcXVlc3Qvc2VuZC1ibG9iLXdpdGgtbm8tbWltZS10eXBlLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvWE1MSHR0cFJlcXVlc3Qv
c2VuZC1ibG9iLXdpdGgtbm8tbWltZS10eXBlLWV4cGVjdGVkLnR4dAppbmRleCAyNGRhMzgwNzQw
MDc0NTdiN2U4YzAxNzQzYjBkNDZjOGIzNGJiYTBkLi4zYmE1ZDVmZTllZTQ2ZjU5YjA1YTQ3ZjY4
MzdiNjljNzZlMWMyNThiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL1hNTEh0dHBSZXF1ZXN0L3NlbmQtYmxvYi13aXRoLW5vLW1pbWUtdHlw
ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9YTUxIdHRwUmVxdWVzdC9zZW5kLWJsb2Itd2l0aC1uby1taW1lLXR5cGUtZXhwZWN0
ZWQudHh0CkBAIC0xLDYgKzEsMTAgQEAKIAotRkFJTCBTeW5jaHJvbm91cyBibG9iIGxvYWRpbmcg
d2l0aCBubyBtaW1lIHR5cGUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIk5PIiBidXQgZ290ICIi
Ci1GQUlMIEFzeW5jaHJvbm91cyBibG9iIGxvYWRpbmcgd2l0aCBubyBtaW1lIHR5cGUgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgIk5PIiBidXQgZ290ICIiCi1GQUlMIFN5bmNocm9ub3VzIGJsb2Ig
bG9hZGluZyB3aXRoIGludmFsaWQgbWltZSB0eXBlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJO
TyIgYnV0IGdvdCAiIgotRkFJTCBBc3luY2hyb25vdXMgYmxvYiBsb2FkaW5nIHdpdGggaW52YWxp
ZCBtaW1lIHR5cGUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIk5PIiBidXQgZ290ICIiCitGQUlM
IFN5bmNocm9ub3VzIGJsb2IgbG9hZGluZyB3aXRoIG5vIG1pbWUgdHlwZSBbUE9TVF0gYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgIk5PIiBidXQgZ290ICIiCitGQUlMIEFzeW5jaHJvbm91cyBibG9i
IGxvYWRpbmcgd2l0aCBubyBtaW1lIHR5cGUgW1BPU1RdIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICJOTyIgYnV0IGdvdCAiIgorUEFTUyBTeW5jaHJvbm91cyBibG9iIGxvYWRpbmcgd2l0aCBubyBt
aW1lIHR5cGUgW1BVVF0gCitQQVNTIEFzeW5jaHJvbm91cyBibG9iIGxvYWRpbmcgd2l0aCBubyBt
aW1lIHR5cGUgW1BVVF0gCitGQUlMIFN5bmNocm9ub3VzIGJsb2IgbG9hZGluZyB3aXRoIGludmFs
aWQgbWltZSB0eXBlIFtQT1NUXSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiTk8iIGJ1dCBnb3Qg
IiIKK0ZBSUwgQXN5bmNocm9ub3VzIGJsb2IgbG9hZGluZyB3aXRoIGludmFsaWQgbWltZSB0eXBl
IFtQT1NUXSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiTk8iIGJ1dCBnb3QgIiIKK1BBU1MgU3lu
Y2hyb25vdXMgYmxvYiBsb2FkaW5nIHdpdGggaW52YWxpZCBtaW1lIHR5cGUgW1BVVF0gCitQQVNT
IEFzeW5jaHJvbm91cyBibG9iIGxvYWRpbmcgd2l0aCBpbnZhbGlkIG1pbWUgdHlwZSBbUFVUXSAK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9YTUxIdHRwUmVxdWVzdC9zZW5kLWJsb2Itd2l0aC1uby1taW1lLXR5cGUuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvWE1MSHR0cFJlcXVlc3Qvc2Vu
ZC1ibG9iLXdpdGgtbm8tbWltZS10eXBlLmh0bWwKaW5kZXggOThmZWY2NTkyMzhmYjJkOTE1OWY0
ODg3ZTIwYTQxZWQ5NzE2MGQ2Yy4uZTdhYjk4OWZkYzY2M2FlMzE1Mzc1ODFiZWY2MGViZTllZmU2
MzA4NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9YTUxIdHRwUmVxdWVzdC9zZW5kLWJsb2Itd2l0aC1uby1taW1lLXR5cGUuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1hNTEh0dHBSZXF1
ZXN0L3NlbmQtYmxvYi13aXRoLW5vLW1pbWUtdHlwZS5odG1sCkBAIC0yMCwxNyArMjAsMTkgQEAK
ICAgICAgICAgICAgIFsiaW52YWxpZCBtaW1lIHR5cGUiLCBuZXcgQmxvYihbImRhdGEiXSwge3R5
cGU6ICJJbnZhbGlkIFxyXG4gbWltZSBcclxuIHR5cGUifSldCiAgICAgICAgIF07CiAKLSAgICAg
ICAgYmxvYlRlc3RzLmZvckVhY2goZnVuY3Rpb24oaXRlbSl7CisgICAgICAgIGZ1bmN0aW9uIGRv
U3luY1Rlc3QodGVzdEl0ZW0sIG1ldGhvZCkgewogICAgICAgICAgICAgdGVzdChmdW5jdGlvbigp
IHsKICAgICAgICAgICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7Ci0gICAg
ICAgICAgICAgICAgeGhyLm9wZW4oIlBPU1QiLCAiLi9yZXNvdXJjZXMvY29udGVudC5weSIsIGZh
bHNlKTsKLSAgICAgICAgICAgICAgICB4aHIuc2VuZChpdGVtWzFdKTsKKyAgICAgICAgICAgICAg
ICB4aHIub3BlbihtZXRob2QsICIuL3Jlc291cmNlcy9jb250ZW50LnB5IiwgZmFsc2UpOworICAg
ICAgICAgICAgICAgIHhoci5zZW5kKHRlc3RJdGVtWzFdKTsKIAogICAgICAgICAgICAgICAgIGFz
c2VydF9lcXVhbHMoeGhyLmdldFJlc3BvbnNlSGVhZGVyKCJYLVJlcXVlc3QtQ29udGVudC1MZW5n
dGgiKSwgIjQiKTsKICAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHhoci5nZXRSZXNwb25z
ZUhlYWRlcigiWC1SZXF1ZXN0LUNvbnRlbnQtVHlwZSIpLCAiTk8iKTsKLSAgICAgICAgICAgIH0s
ICJTeW5jaHJvbm91cyBibG9iIGxvYWRpbmcgd2l0aCAiICsgaXRlbVswXSk7CisgICAgICAgICAg
ICB9LCAiU3luY2hyb25vdXMgYmxvYiBsb2FkaW5nIHdpdGggIiArIHRlc3RJdGVtWzBdICsgIiBb
IiArIG1ldGhvZCArICJdIik7CisgICAgICAgIH0KIAotICAgICAgICAgICAgdmFyIGF0ZXN0ID0g
YXN5bmNfdGVzdCgiQXN5bmNocm9ub3VzIGJsb2IgbG9hZGluZyB3aXRoICIgKyBpdGVtWzBdKTsK
KyAgICAgICAgZnVuY3Rpb24gZG9Bc3luY1Rlc3QodGVzdEl0ZW0sIG1ldGhvZCkgeworICAgICAg
ICAgICAgdmFyIGF0ZXN0ID0gYXN5bmNfdGVzdCgiQXN5bmNocm9ub3VzIGJsb2IgbG9hZGluZyB3
aXRoICIgKyB0ZXN0SXRlbVswXSArICIgWyIgKyBtZXRob2QgKyAiXSIpOwogICAgICAgICAgICAg
YXRlc3Quc3RlcChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICB2YXIgeGhyID0gbmV3IFhN
TEh0dHBSZXF1ZXN0KCk7CiAgICAgICAgICAgICAgICAgeGhyLm9ucmVhZHlzdGF0ZWNoYW5nZSA9
IGZ1bmN0aW9uKCkgewpAQCAtNDIsOSArNDQsMTcgQEAKICAgICAgICAgICAgICAgICAgICAgICAg
IGF0ZXN0LmRvbmUoKTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgICAgICB4aHIub3BlbigiUE9TVCIsICIuL3Jlc291cmNlcy9jb250ZW50LnB5
IiwgdHJ1ZSk7Ci0gICAgICAgICAgICAgICAgeGhyLnNlbmQoaXRlbVsxXSk7CisgICAgICAgICAg
ICAgICAgeGhyLm9wZW4obWV0aG9kLCAiLi9yZXNvdXJjZXMvY29udGVudC5weSIsIHRydWUpOwor
ICAgICAgICAgICAgICAgIHhoci5zZW5kKHRlc3RJdGVtWzFdKTsKICAgICAgICAgICAgIH0pOwor
ICAgICAgICB9CisKKyAgICAgICAgYmxvYlRlc3RzLmZvckVhY2goZnVuY3Rpb24oaXRlbSl7Cisg
ICAgICAgICAgICBkb1N5bmNUZXN0KGl0ZW0sICJQT1NUIik7CisgICAgICAgICAgICBkb0FzeW5j
VGVzdChpdGVtLCAiUE9TVCIpOworCisgICAgICAgICAgICBkb1N5bmNUZXN0KGl0ZW0sICJQVVQi
KTsKKyAgICAgICAgICAgIGRvQXN5bmNUZXN0KGl0ZW0sICJQVVQiKTsKICAgICAgICAgfSk7CiAg
ICAgPC9zY3JpcHQ+CiA8L2JvZHk+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>