<?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>159358</bug_id>
          
          <creation_ts>2016-07-01 10:13:03 -0700</creation_ts>
          <short_desc>Web Inspector: Sending XHR with UTF8 encoded data shows garbled data in Resource sidebar</short_desc>
          <delta_ts>2016-07-05 17:57:28 -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>Web Inspector</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>159382</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Johan K. Jensen">jj</reporter>
          <assigned_to name="Johan K. Jensen">jj</assigned_to>
          <cc>bburg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>joepeck</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1207183</commentid>
    <comment_count>0</comment_count>
    <who name="Johan K. Jensen">jj</who>
    <bug_when>2016-07-01 10:13:03 -0700</bug_when>
    <thetext>Summary:
Sending an XHR with UTF8 encoded data shows garbled data in Resource sidebar of the Resource/Network tab.

Steps to reproduce:
1. Open a page and run:
    var request = new XMLHttpRequest();
    request.open(&quot;POST&quot;, &quot;/utf8&quot;, true);
    request.setRequestHeader(&quot;Content-Type&quot;, &quot;application/x-www-form-urlencoded&quot;);
    request.send(&quot;utf8=√&quot;);
2. Open the sidebar for the (possibly failed) request in the Network tab or Resources tab.
3. See in the &quot;Request Data&quot; section that &quot;utf8&quot; had the value &quot;âˆš&quot;
 =&gt; Expected &quot;√&quot; or &quot;%u221a&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207184</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-07-01 10:13:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/27133625&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207195</commentid>
    <comment_count>2</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-07-01 11:19:22 -0700</bug_when>
    <thetext>Looks like the bad data comes from the backend:

event: {
    &quot;method&quot;: &quot;Network.requestWillBeSent&quot;,
    &quot;params&quot;: {
        &quot;type&quot;: &quot;XHR&quot;,
        &quot;request&quot;: {
            &quot;url&quot;: &quot;https://bugs.webkit.org/utf8&quot;,
            &quot;method&quot;: &quot;POST&quot;,
            &quot;headers&quot;: {
                &quot;Content-Type&quot;: &quot;application/x-www-form-urlencoded&quot;,
                &quot;Referer&quot;: &quot;https://bugs.webkit.org/show_bug.cgi?id=159358&quot;,
                &quot;Origin&quot;: &quot;https://bugs.webkit.org&quot;,
                &quot;User-Agent&quot;: &quot;Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/602.1.37 (KHTML, like Gecko) Version/9.1.2 Safari/601.7.4&quot;
            },
            &quot;postData&quot;: &quot;utf8=âˆš&quot;
        },
        ...
    }
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207197</commentid>
    <comment_count>3</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-07-01 11:20:24 -0700</bug_when>
    <thetext>Which comes from: Source/WebCore/inspector/InspectorNetworkAgent.cpp

&gt; static Ref&lt;Inspector::Protocol::Network::Request&gt; buildObjectForResourceRequest(const ResourceRequest&amp; request)
&gt; {
&gt;     ...
&gt;     if (request.httpBody() &amp;&amp; !request.httpBody()-&gt;isEmpty())
&gt;         requestObject-&gt;setPostData(request.httpBody()-&gt;flattenToString());
&gt;     ...
&gt; }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207199</commentid>
    <comment_count>4</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-07-01 11:23:15 -0700</bug_when>
    <thetext>Seems very similar to:
&lt;https://chromium.googlesource.com/chromium/src/+/bcbb663864624ab38b36731eb2edc839a90f9e65%5E%21/#F2&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207341</commentid>
    <comment_count>5</comment_count>
      <attachid>282607</attachid>
    <who name="Johan K. Jensen">jj</who>
    <bug_when>2016-07-01 16:31:23 -0700</bug_when>
    <thetext>Created attachment 282607
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207343</commentid>
    <comment_count>6</comment_count>
      <attachid>282607</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-07-01 16:44:28 -0700</bug_when>
    <thetext>Comment on attachment 282607
Patch

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

Fantastic patch! r=me, but please put up another addressing the comments and I can cq+ it.

&gt; Source/WebCore/ChangeLog:8
&gt; +        Test: http/tests/inspector/network/xhr-request-data-encoded-correctly.html

We should link to the Chromium patch, given we looked at it.

Based on Chromium patch:
&lt;https://chromium.googlesource.com/chromium/src/+/bcbb663864624ab38b36731eb2edc839a90f9e65%5E%21/#F2&gt;

There should be examples of other such links in the ChangeLog.

&gt; LayoutTests/http/tests/inspector/network/xhr-request-data-encoded-correctly.html:18
&gt; +    InspectorTest.dumpActivityToSystemConsole = true;
&gt; +    InspectorBackend.dumpInspectorProtocolMessages = true;

Nit: Remove these lines, they are only for development. (Also, now you can use InspectorTest.debug()!)

&gt; LayoutTests/http/tests/inspector/network/xhr-request-data-encoded-correctly.html:28
&gt; +                InspectorTest.expectThat(resource.requestData === &quot;utf8=ð&quot;, &quot;Request data has expected content&quot;);

Style: We want our expectThat() and assert() sentences to end in a period.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207344</commentid>
    <comment_count>7</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-07-01 16:50:52 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Comment on attachment 282607 [details]
&gt; &gt; LayoutTests/http/tests/inspector/network/xhr-request-data-encoded-correctly.html:28
&gt; &gt; +                InspectorTest.expectThat(resource.requestData === &quot;utf8=ð&quot;, &quot;Request data has expected content&quot;);
&gt; 
&gt; Style: We want our expectThat() and assert() sentences to end in a period.

Not only that, but they should rephrase the assertion as an expectation that could pass or fail. Here, I would write &quot;Request data should have expected content.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207360</commentid>
    <comment_count>8</comment_count>
      <attachid>282611</attachid>
    <who name="Johan K. Jensen">jj</who>
    <bug_when>2016-07-01 17:20:57 -0700</bug_when>
    <thetext>Created attachment 282611
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207361</commentid>
    <comment_count>9</comment_count>
      <attachid>282611</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-07-01 17:23:12 -0700</bug_when>
    <thetext>Comment on attachment 282611
Patch

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

&gt; LayoutTests/http/tests/inspector/network/xhr-request-data-encoded-correctly-expected.txt:7
&gt; +PASS: Request data has expected content

This needs an update for the new phrasing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207363</commentid>
    <comment_count>10</comment_count>
      <attachid>282612</attachid>
    <who name="Johan K. Jensen">jj</who>
    <bug_when>2016-07-01 17:25:28 -0700</bug_when>
    <thetext>Created attachment 282612
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207364</commentid>
    <comment_count>11</comment_count>
      <attachid>282612</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-07-01 17:26:46 -0700</bug_when>
    <thetext>Comment on attachment 282612
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207379</commentid>
    <comment_count>12</comment_count>
      <attachid>282612</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-01 17:56:11 -0700</bug_when>
    <thetext>Comment on attachment 282612
Patch

Clearing flags on attachment: 282612

Committed r202766: &lt;http://trac.webkit.org/changeset/202766&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207380</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-01 17:56:15 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207406</commentid>
    <comment_count>14</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2016-07-01 19:14:49 -0700</bug_when>
    <thetext>This new test asserts every time. EWS was going to tell you that, please wait for its results next time.

Will roll out.

https://build.webkit.org/results/Apple%20El%20Capitan%20Debug%20WK2%20(Tests)/r202768%20(6283)/http/tests/inspector/network/xhr-request-data-encoded-correctly-crash-log.txt

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.JavaScriptCore      	0x00000001122f9857 WTFCrash + 39 (Assertions.cpp:317)
1   com.apple.WebCore             	0x0000000116039649 WebCore::NetworkResourcesData::ResourceData::setContent(WTF::String const&amp;, bool) + 89 (NetworkResourcesData.cpp:63)
2   com.apple.WebCore             	0x000000011603a554 WebCore::NetworkResourcesData::setResourceContent(WTF::String const&amp;, WTF::String const&amp;, bool) + 260 (NetworkResourcesData.cpp:197)
3   com.apple.WebCore             	0x0000000115620fc5 WebCore::InspectorNetworkAgent::didFinishXHRLoading(WebCore::ThreadableLoaderClient*, unsigned long, WTF::String const&amp;) + 101 (InspectorNetworkAgent.cpp:453)
4   com.apple.WebCore             	0x0000000115607a96 WebCore::InspectorInstrumentation::didFinishXHRLoadingImpl(WebCore::InstrumentingAgents&amp;, WebCore::ThreadableLoaderClient*, unsigned long, WTF::String const&amp;, WTF::String const&amp;, WTF::String const&amp;, unsigned int, unsigned int) + 150 (InspectorInstrumentation.cpp:644)
5   com.apple.WebCore             	0x0000000116d5a5b5 WebCore::InspectorInstrumentation::didFinishXHRLoading(WebCore::ScriptExecutionContext*, WebCore::ThreadableLoaderClient*, unsigned long, WTF::String const&amp;, WTF::String const&amp;, WTF::String const&amp;, unsigned int, unsigned int) + 117 (InspectorInstrumentation.h:923)
6   com.apple.WebCore             	0x0000000116d59120 WebCore::XMLHttpRequest::didFinishLoading(unsigned long, double) + 368 (XMLHttpRequest.cpp:1055)
...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207408</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-01 19:17:37 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 159382</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207972</commentid>
    <comment_count>16</comment_count>
      <attachid>282820</attachid>
    <who name="Johan K. Jensen">jj</who>
    <bug_when>2016-07-05 15:53:08 -0700</bug_when>
    <thetext>Created attachment 282820
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1208008</commentid>
    <comment_count>17</comment_count>
      <attachid>282820</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-07-05 17:36:00 -0700</bug_when>
    <thetext>Comment on attachment 282820
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1208014</commentid>
    <comment_count>18</comment_count>
      <attachid>282820</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-05 17:57:24 -0700</bug_when>
    <thetext>Comment on attachment 282820
Patch

Clearing flags on attachment: 282820

Committed r202843: &lt;http://trac.webkit.org/changeset/202843&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1208015</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-05 17:57:28 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>282607</attachid>
            <date>2016-07-01 16:31:23 -0700</date>
            <delta_ts>2016-07-01 17:20:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-159358-20160701163100.patch</filename>
            <type>text/plain</type>
            <size>5332</size>
            <attacher name="Johan K. Jensen">jj</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAyNTc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2RmNDVlY2U5YjgzOTA1
MDNlYWIzNzcxMjljYTA5ZGI2N2NiMTVmYS4uZThlODFiOGRmN2JiNGM3MzM2ZGE1ZDQ2ODBiYmZm
M2RiNjlhN2UwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE2LTA3LTAxICBKb2hh
biBLLiBKZW5zZW4gIDxqakBqb2hhbmplbnNlbi5kaz4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBTZW5kaW5nIFhIUiB3aXRoIFVURjggZW5jb2RlZCBkYXRhIHNob3dzIGdhcmJsZWQgZGF0YSBp
biBSZXNvdXJjZSBzaWRlYmFyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNTkzNTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUZXN0OiBodHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL3hoci1yZXF1ZXN0
LWRhdGEtZW5jb2RlZC1jb3JyZWN0bHkuaHRtbAorCisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3Rvck5ldHdvcmtBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpidWlsZE9iamVjdEZvclJl
c291cmNlUmVxdWVzdCk6CisKIDIwMTYtMDYtMjcgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBs
ZS5jb20+CiAKICAgICAgICAgQ3Jvc3MtZG9tYWluIHZpZGVvIGxvYWRzIGRvIG5vdCBwcm9tcHQg
Zm9yIGF1dGhvcml6YXRpb24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yTmV0d29ya0FnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JOZXR3b3JrQWdlbnQuY3BwCmluZGV4IDA2MmRlYzJlZWY1MGVjM2U0MTY0MzhjMzdjNDY2
ZTI1MmRmODRjMDYuLmM0NGJkNWQ1ZDA2ZGM2ZmMzNThlZmIwN2ZjYTQ1Y2QwOGJlNWE1NmUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JOZXR3b3JrQWdlbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JOZXR3b3JrQWdlbnQu
Y3BwCkBAIC0yMDUsOCArMjA1LDExIEBAIHN0YXRpYyBSZWY8SW5zcGVjdG9yOjpQcm90b2NvbDo6
TmV0d29yazo6UmVxdWVzdD4gYnVpbGRPYmplY3RGb3JSZXNvdXJjZVJlcXVlc3QoCiAgICAgICAg
IC5zZXRNZXRob2QocmVxdWVzdC5odHRwTWV0aG9kKCkpCiAgICAgICAgIC5zZXRIZWFkZXJzKGJ1
aWxkT2JqZWN0Rm9ySGVhZGVycyhyZXF1ZXN0Lmh0dHBIZWFkZXJGaWVsZHMoKSkpCiAgICAgICAg
IC5yZWxlYXNlKCk7Ci0gICAgaWYgKHJlcXVlc3QuaHR0cEJvZHkoKSAmJiAhcmVxdWVzdC5odHRw
Qm9keSgpLT5pc0VtcHR5KCkpCi0gICAgICAgIHJlcXVlc3RPYmplY3QtPnNldFBvc3REYXRhKHJl
cXVlc3QuaHR0cEJvZHkoKS0+ZmxhdHRlblRvU3RyaW5nKCkpOworICAgIGlmIChyZXF1ZXN0Lmh0
dHBCb2R5KCkgJiYgIXJlcXVlc3QuaHR0cEJvZHkoKS0+aXNFbXB0eSgpKSB7CisgICAgICAgIFZl
Y3RvcjxjaGFyPiBieXRlczsKKyAgICAgICAgcmVxdWVzdC5odHRwQm9keSgpLT5mbGF0dGVuKGJ5
dGVzKTsKKyAgICAgICAgcmVxdWVzdE9iamVjdC0+c2V0UG9zdERhdGEoU3RyaW5nOjpmcm9tVVRG
OFdpdGhMYXRpbjFGYWxsYmFjayhieXRlcy5kYXRhKCksIGJ5dGVzLnNpemUoKSkpOworICAgIH0K
ICAgICByZXR1cm4gcmVxdWVzdE9iamVjdDsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGY3M2QwMDEwNDNjOTAyM2Qz
NzdmZjEwODliNjljODc5ZmFiZDkzNTAuLjQzOGYzMmY0M2U5NTFjM2NkYTg5N2I2YzBiNzE5OTdj
NGE4YTU1MWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxNi0wNy0wMSAgSm9oYW4gSy4gSmVu
c2VuICA8ampAam9oYW5qZW5zZW4uZGs+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogU2VuZGlu
ZyBYSFIgd2l0aCBVVEY4IGVuY29kZWQgZGF0YSBzaG93cyBnYXJibGVkIGRhdGEgaW4gUmVzb3Vy
Y2Ugc2lkZWJhcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTU5MzU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL3hoci1yZXF1ZXN0LWRhdGEtZW5jb2Rl
ZC1jb3JyZWN0bHktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9y
L25ldHdvcmsveGhyLXJlcXVlc3QtZGF0YS1lbmNvZGVkLWNvcnJlY3RseS5odG1sOgorCiAyMDE2
LTA2LTI4ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIENyb3Nz
LWRvbWFpbiB2aWRlbyBsb2FkcyBkbyBub3QgcHJvbXB0IGZvciBhdXRob3JpemF0aW9uLgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay94aHItcmVx
dWVzdC1kYXRhLWVuY29kZWQtY29ycmVjdGx5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsveGhyLXJlcXVlc3QtZGF0YS1lbmNvZGVkLWNvcnJl
Y3RseS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDI0ZjAwZGYxNWZhYjMwNjM2YThmNDQ0YWVj
MDQxZjlhZWM0YWViZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL25ldHdvcmsveGhyLXJlcXVlc3QtZGF0YS1lbmNvZGVkLWNvcnJlY3RseS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitUZXN0cyBYSFIgbmV0d29yayByZXNvdXJjZSBwYXls
b2FkIGlzIHNob3duIHdpdGggY29ycmVjdCBlbmNvZGluZy4KKworCis9PSBSdW5uaW5nIHRlc3Qg
c3VpdGU6IFhIUldpdGhSZXF1ZXN0RGF0YUVuY29kaW5nCistLSBSdW5uaW5nIHRlc3QgY2FzZTog
WEhSV2l0aFJlcXVlc3REYXRhSXNFbmNvZGVkQ29ycmVjdGx5CitQQVNTOiBSZXNvdXJjZSBzaG91
bGQgYmUgY3JlYXRlZC4KK1BBU1M6IFJlcXVlc3QgZGF0YSBoYXMgZXhwZWN0ZWQgY29udGVudAor
UEFTUzogUmVzb3VyY2UgbG9hZCBzaG91bGQgZmluaXNoLgorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL3hoci1yZXF1ZXN0LWRhdGEtZW5jb2Rl
ZC1jb3JyZWN0bHkuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdv
cmsveGhyLXJlcXVlc3QtZGF0YS1lbmNvZGVkLWNvcnJlY3RseS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEw
NDVkOWU5NThmYTcxZjE1MTE3MTVkNDg1Y2IwYTJmOWM4MDEwZWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL3hoci1yZXF1ZXN0LWRh
dGEtZW5jb2RlZC1jb3JyZWN0bHkuaHRtbApAQCAtMCwwICsxLDQ0IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5j
dGlvbiBjcmVhdGVYSFJSZXNvdXJjZSgpIHsKKyAgICB2YXIgcmVxdWVzdCA9IG5ldyBYTUxIdHRw
UmVxdWVzdCgpOworICAgIHJlcXVlc3Qub3BlbigiUE9TVCIsICJyZXNvdXJjZXMvIiwgdHJ1ZSk7
CisgICAgcmVxdWVzdC5zZW5kKCJ1dGY4PfCfkY0iKTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7
CisgICAgbGV0IHN1aXRlID0gSW5zcGVjdG9yVGVzdC5jcmVhdGVBc3luY1N1aXRlKCJYSFJXaXRo
UmVxdWVzdERhdGFFbmNvZGluZyIpOworCisgICAgSW5zcGVjdG9yVGVzdC5kdW1wQWN0aXZpdHlU
b1N5c3RlbUNvbnNvbGUgPSB0cnVlOworICAgIEluc3BlY3RvckJhY2tlbmQuZHVtcEluc3BlY3Rv
clByb3RvY29sTWVzc2FnZXMgPSB0cnVlOworIAorICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAg
ICAgICAgbmFtZTogIlhIUldpdGhSZXF1ZXN0RGF0YUlzRW5jb2RlZENvcnJlY3RseSIsCisgICAg
ICAgIGRlc2NyaXB0aW9uOiAiWEhSIHdpdGggcmVxdWVzdCBkYXRhIGlzIGVuY29kZWQgY29ycmVj
dGx5LiIsCisgICAgICAgIHRlc3Q6IChyZXNvbHZlLCByZWplY3QpID0+IHsKKyAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImNyZWF0ZVhIUlJlc291cmNlKCkiKTsKKyAg
ICAgICAgICAgIFdlYkluc3BlY3Rvci5GcmFtZS5zaW5nbGVGaXJlRXZlbnRMaXN0ZW5lcihXZWJJ
bnNwZWN0b3IuRnJhbWUuRXZlbnQuUmVzb3VyY2VXYXNBZGRlZCwgKGV2ZW50KSA9PiB7CisgICAg
ICAgICAgICAgICAgbGV0IHJlc291cmNlID0gZXZlbnQuZGF0YS5yZXNvdXJjZTsKKyAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQocmVzb3VyY2UgaW5zdGFuY2VvZiBXZWJJ
bnNwZWN0b3IuUmVzb3VyY2UsICJSZXNvdXJjZSBzaG91bGQgYmUgY3JlYXRlZC4iKTsKKyAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQocmVzb3VyY2UucmVxdWVzdERhdGEg
PT09ICJ1dGY4PfCfkY0iLCAiUmVxdWVzdCBkYXRhIGhhcyBleHBlY3RlZCBjb250ZW50Iik7Cisg
ICAgICAgICAgICAgICAgcmVzb3VyY2Uuc2luZ2xlRmlyZUV2ZW50TGlzdGVuZXIoV2ViSW5zcGVj
dG9yLlJlc291cmNlLkV2ZW50LkxvYWRpbmdEaWRGaW5pc2gsIChldmVudCkgPT4geworICAgICAg
ICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnBhc3MoIlJlc291cmNlIGxvYWQgc2hvdWxkIGZp
bmlzaC4iKTsKKyAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0KKyAgICB9KTsKKyAgICAKKyAgICBzdWl0
ZS5ydW5UZXN0Q2FzZXNBbmRGaW5pc2goKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkg
b25sb2FkPSJydW5UZXN0KCkiPgorICAgIDxwPlRlc3RzIFhIUiBuZXR3b3JrIHJlc291cmNlIHBh
eWxvYWQgaXMgc2hvd24gd2l0aCBjb3JyZWN0IGVuY29kaW5nLjwvcD4KKzwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>282611</attachid>
            <date>2016-07-01 17:20:57 -0700</date>
            <delta_ts>2016-07-01 17:25:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-159358-20160701172033.patch</filename>
            <type>text/plain</type>
            <size>5372</size>
            <attacher name="Johan K. Jensen">jj</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAyNTc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2RmNDVlY2U5YjgzOTA1
MDNlYWIzNzcxMjljYTA5ZGI2N2NiMTVmYS4uYzJlODE5MDNiOGI1Mjg1ZDBlM2E1ZWIzMjYzN2Nj
MDMwY2JmNTkwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE2LTA3LTAxICBKb2hh
biBLLiBKZW5zZW4gIDxqakBqb2hhbmplbnNlbi5kaz4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBTZW5kaW5nIFhIUiB3aXRoIFVURjggZW5jb2RlZCBkYXRhIHNob3dzIGdhcmJsZWQgZGF0YSBp
biBSZXNvdXJjZSBzaWRlYmFyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNTkzNTgKKworICAgICAgICBSZXZpZXdlZCBieSBKb3NlcGggUGVjb3Jhcm8u
CisKKyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay94aHItcmVxdWVz
dC1kYXRhLWVuY29kZWQtY29ycmVjdGx5Lmh0bWwKKworICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3JOZXR3b3JrQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YnVpbGRPYmplY3RGb3JS
ZXNvdXJjZVJlcXVlc3QpOgorCiAyMDE2LTA2LTI3ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBw
bGUuY29tPgogCiAgICAgICAgIENyb3NzLWRvbWFpbiB2aWRlbyBsb2FkcyBkbyBub3QgcHJvbXB0
IGZvciBhdXRob3JpemF0aW9uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3Rvck5ldHdvcmtBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yTmV0d29ya0FnZW50LmNwcAppbmRleCAwNjJkZWMyZWVmNTBlYzNlNDE2NDM4YzM3YzQ2
NmUyNTJkZjg0YzA2Li5jNDRiZDVkNWQwNmRjNmZjMzU4ZWZiMDdmY2E0NWNkMDhiZTVhNTZlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTmV0d29ya0FnZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTmV0d29ya0FnZW50
LmNwcApAQCAtMjA1LDggKzIwNSwxMSBAQCBzdGF0aWMgUmVmPEluc3BlY3Rvcjo6UHJvdG9jb2w6
Ok5ldHdvcms6OlJlcXVlc3Q+IGJ1aWxkT2JqZWN0Rm9yUmVzb3VyY2VSZXF1ZXN0KAogICAgICAg
ICAuc2V0TWV0aG9kKHJlcXVlc3QuaHR0cE1ldGhvZCgpKQogICAgICAgICAuc2V0SGVhZGVycyhi
dWlsZE9iamVjdEZvckhlYWRlcnMocmVxdWVzdC5odHRwSGVhZGVyRmllbGRzKCkpKQogICAgICAg
ICAucmVsZWFzZSgpOwotICAgIGlmIChyZXF1ZXN0Lmh0dHBCb2R5KCkgJiYgIXJlcXVlc3QuaHR0
cEJvZHkoKS0+aXNFbXB0eSgpKQotICAgICAgICByZXF1ZXN0T2JqZWN0LT5zZXRQb3N0RGF0YShy
ZXF1ZXN0Lmh0dHBCb2R5KCktPmZsYXR0ZW5Ub1N0cmluZygpKTsKKyAgICBpZiAocmVxdWVzdC5o
dHRwQm9keSgpICYmICFyZXF1ZXN0Lmh0dHBCb2R5KCktPmlzRW1wdHkoKSkgeworICAgICAgICBW
ZWN0b3I8Y2hhcj4gYnl0ZXM7CisgICAgICAgIHJlcXVlc3QuaHR0cEJvZHkoKS0+ZmxhdHRlbihi
eXRlcyk7CisgICAgICAgIHJlcXVlc3RPYmplY3QtPnNldFBvc3REYXRhKFN0cmluZzo6ZnJvbVVU
RjhXaXRoTGF0aW4xRmFsbGJhY2soYnl0ZXMuZGF0YSgpLCBieXRlcy5zaXplKCkpKTsKKyAgICB9
CiAgICAgcmV0dXJuIHJlcXVlc3RPYmplY3Q7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmNzNkMDAxMDQzYzkwMjNk
Mzc3ZmYxMDg5YjY5Yzg3OWZhYmQ5MzUwLi41YWRhZjk1MjYxZDkwZjg0ZTBjZjkwYWNhODFlZjVj
NTdhNWUwMTNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTYtMDctMDEgIEpvaGFuIEsuIEpl
bnNlbiAgPGpqQGpvaGFuamVuc2VuLmRrPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFNlbmRp
bmcgWEhSIHdpdGggVVRGOCBlbmNvZGVkIGRhdGEgc2hvd3MgZ2FyYmxlZCBkYXRhIGluIFJlc291
cmNlIHNpZGViYXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE1OTM1OAorCisgICAgICAgIFJldmlld2VkIGJ5IEpvc2VwaCBQZWNvcmFyby4KKworICAg
ICAgICBCYXNlZCBvbiBDaHJvbWl1bSBwYXRjaDoKKyAgICAgICAgPGh0dHBzOi8vY2hyb21pdW0u
Z29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMvKy9iY2JiNjYzODY0NjI0YWIzOGIzNjczMWVi
MmVkYzgzOWE5MGY5ZTY1JTVFJTIxLyNGMj4KKworICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVj
dG9yL25ldHdvcmsveGhyLXJlcXVlc3QtZGF0YS1lbmNvZGVkLWNvcnJlY3RseS1leHBlY3RlZC50
eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay94aHItcmVxdWVzdC1k
YXRhLWVuY29kZWQtY29ycmVjdGx5Lmh0bWw6CisKIDIwMTYtMDYtMjggIEplciBOb2JsZSAgPGpl
ci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgQ3Jvc3MtZG9tYWluIHZpZGVvIGxvYWRzIGRv
IG5vdCBwcm9tcHQgZm9yIGF1dGhvcml6YXRpb24uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL3hoci1yZXF1ZXN0LWRhdGEtZW5jb2RlZC1jb3Jy
ZWN0bHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0
d29yay94aHItcmVxdWVzdC1kYXRhLWVuY29kZWQtY29ycmVjdGx5LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5kMjRmMDBkZjE1ZmFiMzA2MzZhOGY0NDRhZWMwNDFmOWFlYzRhZWJlCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay94aHIt
cmVxdWVzdC1kYXRhLWVuY29kZWQtY29ycmVjdGx5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkg
QEAKK1Rlc3RzIFhIUiBuZXR3b3JrIHJlc291cmNlIHBheWxvYWQgaXMgc2hvd24gd2l0aCBjb3Jy
ZWN0IGVuY29kaW5nLgorCisKKz09IFJ1bm5pbmcgdGVzdCBzdWl0ZTogWEhSV2l0aFJlcXVlc3RE
YXRhRW5jb2RpbmcKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBYSFJXaXRoUmVxdWVzdERhdGFJc0Vu
Y29kZWRDb3JyZWN0bHkKK1BBU1M6IFJlc291cmNlIHNob3VsZCBiZSBjcmVhdGVkLgorUEFTUzog
UmVxdWVzdCBkYXRhIGhhcyBleHBlY3RlZCBjb250ZW50CitQQVNTOiBSZXNvdXJjZSBsb2FkIHNo
b3VsZCBmaW5pc2guCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL25ldHdvcmsveGhyLXJlcXVlc3QtZGF0YS1lbmNvZGVkLWNvcnJlY3RseS5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay94aHItcmVxdWVzdC1kYXRhLWVu
Y29kZWQtY29ycmVjdGx5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2FhY2Y3NjQ4MzRkYmRjN2I5NmVlYzI1
MzgwYjM3ZTM2ZmQwYTFlZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL25ldHdvcmsveGhyLXJlcXVlc3QtZGF0YS1lbmNvZGVkLWNvcnJlY3RseS5o
dG1sCkBAIC0wLDAgKzEsNDEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvaW5zcGVjdG9y
LXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIGNyZWF0ZVhIUlJlc291cmNl
KCkgeworICAgIHZhciByZXF1ZXN0ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CisgICAgcmVxdWVz
dC5vcGVuKCJQT1NUIiwgInJlc291cmNlcy8iLCB0cnVlKTsKKyAgICByZXF1ZXN0LnNlbmQoInV0
Zjg98J+RjSIpOworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBsZXQgc3VpdGUgPSBJbnNw
ZWN0b3JUZXN0LmNyZWF0ZUFzeW5jU3VpdGUoIlhIUldpdGhSZXF1ZXN0RGF0YUVuY29kaW5nIik7
CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJYSFJXaXRoUmVxdWVz
dERhdGFJc0VuY29kZWRDb3JyZWN0bHkiLAorICAgICAgICBkZXNjcmlwdGlvbjogIlhIUiB3aXRo
IHJlcXVlc3QgZGF0YSBpcyBlbmNvZGVkIGNvcnJlY3RseS4iLAorICAgICAgICB0ZXN0OiAocmVz
b2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Q
YWdlKCJjcmVhdGVYSFJSZXNvdXJjZSgpIik7CisgICAgICAgICAgICBXZWJJbnNwZWN0b3IuRnJh
bWUuc2luZ2xlRmlyZUV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkZyYW1lLkV2ZW50LlJlc291
cmNlV2FzQWRkZWQsIChldmVudCkgPT4geworICAgICAgICAgICAgICAgIGxldCByZXNvdXJjZSA9
IGV2ZW50LmRhdGEucmVzb3VyY2U7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBl
Y3RUaGF0KHJlc291cmNlIGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLlJlc291cmNlLCAiUmVzb3Vy
Y2Ugc2hvdWxkIGJlIGNyZWF0ZWQuIik7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5l
eHBlY3RUaGF0KHJlc291cmNlLnJlcXVlc3REYXRhID09PSAidXRmOD3wn5GNIiwgIlJlcXVlc3Qg
ZGF0YSBzaG91bGQgaGF2ZSBleHBlY3RlZCBjb250ZW50LiIpOworICAgICAgICAgICAgICAgIHJl
c291cmNlLnNpbmdsZUZpcmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5SZXNvdXJjZS5FdmVu
dC5Mb2FkaW5nRGlkRmluaXNoLCAoZXZlbnQpID0+IHsKKyAgICAgICAgICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5wYXNzKCJSZXNvdXJjZSBsb2FkIHNob3VsZCBmaW5pc2guIik7CisgICAgICAg
ICAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0pOworICAgICAgICB9CisgICAgfSk7CisgICAgCisgICAgc3VpdGUucnVuVGVzdENhc2VzQW5k
RmluaXNoKCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgp
Ij4KKyAgICA8cD5UZXN0cyBYSFIgbmV0d29yayByZXNvdXJjZSBwYXlsb2FkIGlzIHNob3duIHdp
dGggY29ycmVjdCBlbmNvZGluZy48L3A+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>282612</attachid>
            <date>2016-07-01 17:25:28 -0700</date>
            <delta_ts>2016-07-05 15:53:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-159358-20160701172505.patch</filename>
            <type>text/plain</type>
            <size>5381</size>
            <attacher name="Johan K. Jensen">jj</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAyNTc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2RmNDVlY2U5YjgzOTA1
MDNlYWIzNzcxMjljYTA5ZGI2N2NiMTVmYS4uYzJlODE5MDNiOGI1Mjg1ZDBlM2E1ZWIzMjYzN2Nj
MDMwY2JmNTkwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE2LTA3LTAxICBKb2hh
biBLLiBKZW5zZW4gIDxqakBqb2hhbmplbnNlbi5kaz4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBTZW5kaW5nIFhIUiB3aXRoIFVURjggZW5jb2RlZCBkYXRhIHNob3dzIGdhcmJsZWQgZGF0YSBp
biBSZXNvdXJjZSBzaWRlYmFyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNTkzNTgKKworICAgICAgICBSZXZpZXdlZCBieSBKb3NlcGggUGVjb3Jhcm8u
CisKKyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay94aHItcmVxdWVz
dC1kYXRhLWVuY29kZWQtY29ycmVjdGx5Lmh0bWwKKworICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3JOZXR3b3JrQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YnVpbGRPYmplY3RGb3JS
ZXNvdXJjZVJlcXVlc3QpOgorCiAyMDE2LTA2LTI3ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBw
bGUuY29tPgogCiAgICAgICAgIENyb3NzLWRvbWFpbiB2aWRlbyBsb2FkcyBkbyBub3QgcHJvbXB0
IGZvciBhdXRob3JpemF0aW9uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3Rvck5ldHdvcmtBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yTmV0d29ya0FnZW50LmNwcAppbmRleCAwNjJkZWMyZWVmNTBlYzNlNDE2NDM4YzM3YzQ2
NmUyNTJkZjg0YzA2Li5jNDRiZDVkNWQwNmRjNmZjMzU4ZWZiMDdmY2E0NWNkMDhiZTVhNTZlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTmV0d29ya0FnZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTmV0d29ya0FnZW50
LmNwcApAQCAtMjA1LDggKzIwNSwxMSBAQCBzdGF0aWMgUmVmPEluc3BlY3Rvcjo6UHJvdG9jb2w6
Ok5ldHdvcms6OlJlcXVlc3Q+IGJ1aWxkT2JqZWN0Rm9yUmVzb3VyY2VSZXF1ZXN0KAogICAgICAg
ICAuc2V0TWV0aG9kKHJlcXVlc3QuaHR0cE1ldGhvZCgpKQogICAgICAgICAuc2V0SGVhZGVycyhi
dWlsZE9iamVjdEZvckhlYWRlcnMocmVxdWVzdC5odHRwSGVhZGVyRmllbGRzKCkpKQogICAgICAg
ICAucmVsZWFzZSgpOwotICAgIGlmIChyZXF1ZXN0Lmh0dHBCb2R5KCkgJiYgIXJlcXVlc3QuaHR0
cEJvZHkoKS0+aXNFbXB0eSgpKQotICAgICAgICByZXF1ZXN0T2JqZWN0LT5zZXRQb3N0RGF0YShy
ZXF1ZXN0Lmh0dHBCb2R5KCktPmZsYXR0ZW5Ub1N0cmluZygpKTsKKyAgICBpZiAocmVxdWVzdC5o
dHRwQm9keSgpICYmICFyZXF1ZXN0Lmh0dHBCb2R5KCktPmlzRW1wdHkoKSkgeworICAgICAgICBW
ZWN0b3I8Y2hhcj4gYnl0ZXM7CisgICAgICAgIHJlcXVlc3QuaHR0cEJvZHkoKS0+ZmxhdHRlbihi
eXRlcyk7CisgICAgICAgIHJlcXVlc3RPYmplY3QtPnNldFBvc3REYXRhKFN0cmluZzo6ZnJvbVVU
RjhXaXRoTGF0aW4xRmFsbGJhY2soYnl0ZXMuZGF0YSgpLCBieXRlcy5zaXplKCkpKTsKKyAgICB9
CiAgICAgcmV0dXJuIHJlcXVlc3RPYmplY3Q7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmNzNkMDAxMDQzYzkwMjNk
Mzc3ZmYxMDg5YjY5Yzg3OWZhYmQ5MzUwLi41YWRhZjk1MjYxZDkwZjg0ZTBjZjkwYWNhODFlZjVj
NTdhNWUwMTNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTYtMDctMDEgIEpvaGFuIEsuIEpl
bnNlbiAgPGpqQGpvaGFuamVuc2VuLmRrPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFNlbmRp
bmcgWEhSIHdpdGggVVRGOCBlbmNvZGVkIGRhdGEgc2hvd3MgZ2FyYmxlZCBkYXRhIGluIFJlc291
cmNlIHNpZGViYXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE1OTM1OAorCisgICAgICAgIFJldmlld2VkIGJ5IEpvc2VwaCBQZWNvcmFyby4KKworICAg
ICAgICBCYXNlZCBvbiBDaHJvbWl1bSBwYXRjaDoKKyAgICAgICAgPGh0dHBzOi8vY2hyb21pdW0u
Z29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMvKy9iY2JiNjYzODY0NjI0YWIzOGIzNjczMWVi
MmVkYzgzOWE5MGY5ZTY1JTVFJTIxLyNGMj4KKworICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVj
dG9yL25ldHdvcmsveGhyLXJlcXVlc3QtZGF0YS1lbmNvZGVkLWNvcnJlY3RseS1leHBlY3RlZC50
eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay94aHItcmVxdWVzdC1k
YXRhLWVuY29kZWQtY29ycmVjdGx5Lmh0bWw6CisKIDIwMTYtMDYtMjggIEplciBOb2JsZSAgPGpl
ci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgQ3Jvc3MtZG9tYWluIHZpZGVvIGxvYWRzIGRv
IG5vdCBwcm9tcHQgZm9yIGF1dGhvcml6YXRpb24uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL3hoci1yZXF1ZXN0LWRhdGEtZW5jb2RlZC1jb3Jy
ZWN0bHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0
d29yay94aHItcmVxdWVzdC1kYXRhLWVuY29kZWQtY29ycmVjdGx5LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41OWM0Mjk5NmYzZDJmODVmZjcyNWViYjFmZWMwZDg0MjczOTk2NWExCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay94aHIt
cmVxdWVzdC1kYXRhLWVuY29kZWQtY29ycmVjdGx5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkg
QEAKK1Rlc3RzIFhIUiBuZXR3b3JrIHJlc291cmNlIHBheWxvYWQgaXMgc2hvd24gd2l0aCBjb3Jy
ZWN0IGVuY29kaW5nLgorCisKKz09IFJ1bm5pbmcgdGVzdCBzdWl0ZTogWEhSV2l0aFJlcXVlc3RE
YXRhRW5jb2RpbmcKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBYSFJXaXRoUmVxdWVzdERhdGFJc0Vu
Y29kZWRDb3JyZWN0bHkKK1BBU1M6IFJlc291cmNlIHNob3VsZCBiZSBjcmVhdGVkLgorUEFTUzog
UmVxdWVzdCBkYXRhIHNob3VsZCBoYXZlIGV4cGVjdGVkIGNvbnRlbnQuCitQQVNTOiBSZXNvdXJj
ZSBsb2FkIHNob3VsZCBmaW5pc2guCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL25ldHdvcmsveGhyLXJlcXVlc3QtZGF0YS1lbmNvZGVkLWNvcnJlY3RseS5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay94aHItcmVxdWVz
dC1kYXRhLWVuY29kZWQtY29ycmVjdGx5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2FhY2Y3NjQ4MzRkYmRj
N2I5NmVlYzI1MzgwYjM3ZTM2ZmQwYTFlZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsveGhyLXJlcXVlc3QtZGF0YS1lbmNvZGVkLWNv
cnJlY3RseS5odG1sCkBAIC0wLDAgKzEsNDEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
aW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIGNyZWF0ZVhI
UlJlc291cmNlKCkgeworICAgIHZhciByZXF1ZXN0ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7Cisg
ICAgcmVxdWVzdC5vcGVuKCJQT1NUIiwgInJlc291cmNlcy8iLCB0cnVlKTsKKyAgICByZXF1ZXN0
LnNlbmQoInV0Zjg98J+RjSIpOworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBsZXQgc3Vp
dGUgPSBJbnNwZWN0b3JUZXN0LmNyZWF0ZUFzeW5jU3VpdGUoIlhIUldpdGhSZXF1ZXN0RGF0YUVu
Y29kaW5nIik7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJYSFJX
aXRoUmVxdWVzdERhdGFJc0VuY29kZWRDb3JyZWN0bHkiLAorICAgICAgICBkZXNjcmlwdGlvbjog
IlhIUiB3aXRoIHJlcXVlc3QgZGF0YSBpcyBlbmNvZGVkIGNvcnJlY3RseS4iLAorICAgICAgICB0
ZXN0OiAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2
YWx1YXRlSW5QYWdlKCJjcmVhdGVYSFJSZXNvdXJjZSgpIik7CisgICAgICAgICAgICBXZWJJbnNw
ZWN0b3IuRnJhbWUuc2luZ2xlRmlyZUV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkZyYW1lLkV2
ZW50LlJlc291cmNlV2FzQWRkZWQsIChldmVudCkgPT4geworICAgICAgICAgICAgICAgIGxldCBy
ZXNvdXJjZSA9IGV2ZW50LmRhdGEucmVzb3VyY2U7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5leHBlY3RUaGF0KHJlc291cmNlIGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLlJlc291cmNl
LCAiUmVzb3VyY2Ugc2hvdWxkIGJlIGNyZWF0ZWQuIik7CisgICAgICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5leHBlY3RUaGF0KHJlc291cmNlLnJlcXVlc3REYXRhID09PSAidXRmOD3wn5GNIiwg
IlJlcXVlc3QgZGF0YSBzaG91bGQgaGF2ZSBleHBlY3RlZCBjb250ZW50LiIpOworICAgICAgICAg
ICAgICAgIHJlc291cmNlLnNpbmdsZUZpcmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5SZXNv
dXJjZS5FdmVudC5Mb2FkaW5nRGlkRmluaXNoLCAoZXZlbnQpID0+IHsKKyAgICAgICAgICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5wYXNzKCJSZXNvdXJjZSBsb2FkIHNob3VsZCBmaW5pc2guIik7
CisgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0pOworICAgICAgICB9CisgICAgfSk7CisgICAgCisgICAgc3VpdGUucnVuVGVz
dENhc2VzQW5kRmluaXNoKCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0i
cnVuVGVzdCgpIj4KKyAgICA8cD5UZXN0cyBYSFIgbmV0d29yayByZXNvdXJjZSBwYXlsb2FkIGlz
IHNob3duIHdpdGggY29ycmVjdCBlbmNvZGluZy48L3A+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>282820</attachid>
            <date>2016-07-05 15:53:08 -0700</date>
            <delta_ts>2016-07-05 17:57:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-159358-20160705155237.patch</filename>
            <type>text/plain</type>
            <size>6270</size>
            <attacher name="Johan K. Jensen">jj</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAyNTc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2RmNDVlY2U5YjgzOTA1
MDNlYWIzNzcxMjljYTA5ZGI2N2NiMTVmYS4uOGI3MGVhMmVhYTVmOTEwOGY3NTE4MTU1NzE5ZDYy
ODNjNzY5ZmU2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE2LTA3LTA1ICBKb2hh
biBLLiBKZW5zZW4gIDxqakBqb2hhbmplbnNlbi5kaz4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBTZW5kaW5nIFhIUiB3aXRoIFVURjggZW5jb2RlZCBkYXRhIHNob3dzIGdhcmJsZWQgZGF0YSBp
biBSZXNvdXJjZSBzaWRlYmFyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNTkzNTgKKworICAgICAgICBSZXZpZXdlZCBieSBKb3NlcGggUGVjb3Jhcm8u
CisKKyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay94aHItcmVxdWVz
dC1kYXRhLWVuY29kZWQtY29ycmVjdGx5Lmh0bWwKKworICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3JOZXR3b3JrQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YnVpbGRPYmplY3RGb3JS
ZXNvdXJjZVJlcXVlc3QpOgorICAgICAgICAqIGluc3BlY3Rvci9OZXR3b3JrUmVzb3VyY2VzRGF0
YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrUmVzb3VyY2VzRGF0YTo6c2V0UmVzb3Vy
Y2VDb250ZW50KToKKwogMjAxNi0wNi0yNyAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNv
bT4KIAogICAgICAgICBDcm9zcy1kb21haW4gdmlkZW8gbG9hZHMgZG8gbm90IHByb21wdCBmb3Ig
YXV0aG9yaXphdGlvbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JOZXR3b3JrQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ck5ldHdvcmtBZ2VudC5jcHAKaW5kZXggMDYyZGVjMmVlZjUwZWMzZTQxNjQzOGMzN2M0NjZlMjUy
ZGY4NGMwNi4uYzQ0YmQ1ZDVkMDZkYzZmYzM1OGVmYjA3ZmNhNDVjZDA4YmU1YTU2ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck5ldHdvcmtBZ2VudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck5ldHdvcmtBZ2VudC5jcHAK
QEAgLTIwNSw4ICsyMDUsMTEgQEAgc3RhdGljIFJlZjxJbnNwZWN0b3I6OlByb3RvY29sOjpOZXR3
b3JrOjpSZXF1ZXN0PiBidWlsZE9iamVjdEZvclJlc291cmNlUmVxdWVzdCgKICAgICAgICAgLnNl
dE1ldGhvZChyZXF1ZXN0Lmh0dHBNZXRob2QoKSkKICAgICAgICAgLnNldEhlYWRlcnMoYnVpbGRP
YmplY3RGb3JIZWFkZXJzKHJlcXVlc3QuaHR0cEhlYWRlckZpZWxkcygpKSkKICAgICAgICAgLnJl
bGVhc2UoKTsKLSAgICBpZiAocmVxdWVzdC5odHRwQm9keSgpICYmICFyZXF1ZXN0Lmh0dHBCb2R5
KCktPmlzRW1wdHkoKSkKLSAgICAgICAgcmVxdWVzdE9iamVjdC0+c2V0UG9zdERhdGEocmVxdWVz
dC5odHRwQm9keSgpLT5mbGF0dGVuVG9TdHJpbmcoKSk7CisgICAgaWYgKHJlcXVlc3QuaHR0cEJv
ZHkoKSAmJiAhcmVxdWVzdC5odHRwQm9keSgpLT5pc0VtcHR5KCkpIHsKKyAgICAgICAgVmVjdG9y
PGNoYXI+IGJ5dGVzOworICAgICAgICByZXF1ZXN0Lmh0dHBCb2R5KCktPmZsYXR0ZW4oYnl0ZXMp
OworICAgICAgICByZXF1ZXN0T2JqZWN0LT5zZXRQb3N0RGF0YShTdHJpbmc6OmZyb21VVEY4V2l0
aExhdGluMUZhbGxiYWNrKGJ5dGVzLmRhdGEoKSwgYnl0ZXMuc2l6ZSgpKSk7CisgICAgfQogICAg
IHJldHVybiByZXF1ZXN0T2JqZWN0OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0RhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL05ldHdvcmtSZXNvdXJjZXNEYXRhLmNwcAppbmRleCA1Yzg5M2E4YjAzZThmODU1NDI5MDNk
OTNlNzMyMWNlMDBiZGVmYjZjLi43YmExODA1MDBhYmVmNDhmOGRiMDM5Mzk1NTNiYzlkMjBhMmUx
MzJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvTmV0d29ya1Jlc291cmNl
c0RhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9OZXR3b3JrUmVzb3VyY2Vz
RGF0YS5jcHAKQEAgLTE5MCw3ICsxOTAsNyBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZXNEYXRhOjpz
ZXRSZXNvdXJjZUNvbnRlbnQoY29uc3QgU3RyaW5nJiByZXF1ZXN0SWQsIGNvbnN0IFN0cgogICAg
ICAgICByZXR1cm47CiAgICAgaWYgKGVuc3VyZUZyZWVTcGFjZShkYXRhTGVuZ3RoKSAmJiAhcmVz
b3VyY2VEYXRhLT5pc0NvbnRlbnRFdmljdGVkKCkpIHsKICAgICAgICAgLy8gV2UgY2FuIG5vdCBi
ZSBzdXJlIHRoYXQgd2UgZGlkbid0IHRyeSB0byBzYXZlIHRoaXMgcmVxdWVzdCBkYXRhIHdoaWxl
IGl0IHdhcyBsb2FkaW5nLCBzbyByZW1vdmUgaXQsIGlmIGFueS4KLSAgICAgICAgaWYgKHJlc291
cmNlRGF0YS0+aGFzQ29udGVudCgpKQorICAgICAgICBpZiAocmVzb3VyY2VEYXRhLT5oYXNDb250
ZW50KCkgfHwgcmVzb3VyY2VEYXRhLT5oYXNEYXRhKCkpCiAgICAgICAgICAgICBtX2NvbnRlbnRT
aXplIC09IHJlc291cmNlRGF0YS0+cmVtb3ZlQ29udGVudCgpOwogICAgICAgICBtX3JlcXVlc3RJ
ZHNEZXF1ZS5hcHBlbmQocmVxdWVzdElkKTsKICAgICAgICAgcmVzb3VyY2VEYXRhLT5zZXRDb250
ZW50KGNvbnRlbnQsIGJhc2U2NEVuY29kZWQpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGY3M2QwMDEwNDNjOTAyM2QzNzdm
ZjEwODliNjljODc5ZmFiZDkzNTAuLmQwMTY4ZDU5MGZlMDFkOGQyMWI4Y2EyYWNkODAwMmE5MDlk
Yzc2OWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxNi0wNy0wNSAgSm9oYW4gSy4gSmVuc2Vu
ICA8ampAam9oYW5qZW5zZW4uZGs+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogU2VuZGluZyBY
SFIgd2l0aCBVVEY4IGVuY29kZWQgZGF0YSBzaG93cyBnYXJibGVkIGRhdGEgaW4gUmVzb3VyY2Ug
c2lkZWJhcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTU5MzU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSm9zZXBoIFBlY29yYXJvLgorCisgICAgICAg
ICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay94aHItcmVxdWVzdC1kYXRhLWVuY29kZWQt
Y29ycmVjdGx5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvbmV0d29yay94aHItcmVxdWVzdC1kYXRhLWVuY29kZWQtY29ycmVjdGx5Lmh0bWw6IEFk
ZGVkLgorCiAyMDE2LTA2LTI4ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAg
ICAgICAgIENyb3NzLWRvbWFpbiB2aWRlbyBsb2FkcyBkbyBub3QgcHJvbXB0IGZvciBhdXRob3Jp
emF0aW9uLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0
d29yay94aHItcmVxdWVzdC1kYXRhLWVuY29kZWQtY29ycmVjdGx5LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsveGhyLXJlcXVlc3QtZGF0YS1l
bmNvZGVkLWNvcnJlY3RseS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTljNDI5OTZmM2QyZjg1
ZmY3MjVlYmIxZmVjMGQ4NDI3Mzk5NjVhMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsveGhyLXJlcXVlc3QtZGF0YS1lbmNvZGVkLWNv
cnJlY3RseS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitUZXN0cyBYSFIgbmV0d29yayBy
ZXNvdXJjZSBwYXlsb2FkIGlzIHNob3duIHdpdGggY29ycmVjdCBlbmNvZGluZy4KKworCis9PSBS
dW5uaW5nIHRlc3Qgc3VpdGU6IFhIUldpdGhSZXF1ZXN0RGF0YUVuY29kaW5nCistLSBSdW5uaW5n
IHRlc3QgY2FzZTogWEhSV2l0aFJlcXVlc3REYXRhSXNFbmNvZGVkQ29ycmVjdGx5CitQQVNTOiBS
ZXNvdXJjZSBzaG91bGQgYmUgY3JlYXRlZC4KK1BBU1M6IFJlcXVlc3QgZGF0YSBzaG91bGQgaGF2
ZSBleHBlY3RlZCBjb250ZW50LgorUEFTUzogUmVzb3VyY2UgbG9hZCBzaG91bGQgZmluaXNoLgor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL3ho
ci1yZXF1ZXN0LWRhdGEtZW5jb2RlZC1jb3JyZWN0bHkuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL25ldHdvcmsveGhyLXJlcXVlc3QtZGF0YS1lbmNvZGVkLWNvcnJlY3Rs
eS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdhYWNmNzY0ODM0ZGJkYzdiOTZlZWMyNTM4MGIzN2UzNmZkMGEx
ZWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9u
ZXR3b3JrL3hoci1yZXF1ZXN0LWRhdGEtZW5jb2RlZC1jb3JyZWN0bHkuaHRtbApAQCAtMCwwICsx
LDQxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1
dGYtOCI+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2luc3BlY3Rvci10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBjcmVhdGVYSFJSZXNvdXJjZSgpIHsKKyAgICB2YXIg
cmVxdWVzdCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOworICAgIHJlcXVlc3Qub3BlbigiUE9TVCIs
ICJyZXNvdXJjZXMvIiwgdHJ1ZSk7CisgICAgcmVxdWVzdC5zZW5kKCJ1dGY4PfCfkY0iKTsKK30K
KworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgbGV0IHN1aXRlID0gSW5zcGVjdG9yVGVzdC5jcmVh
dGVBc3luY1N1aXRlKCJYSFJXaXRoUmVxdWVzdERhdGFFbmNvZGluZyIpOworCisgICAgc3VpdGUu
YWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAiWEhSV2l0aFJlcXVlc3REYXRhSXNFbmNvZGVk
Q29ycmVjdGx5IiwKKyAgICAgICAgZGVzY3JpcHRpb246ICJYSFIgd2l0aCByZXF1ZXN0IGRhdGEg
aXMgZW5jb2RlZCBjb3JyZWN0bHkuIiwKKyAgICAgICAgdGVzdDogKHJlc29sdmUsIHJlamVjdCkg
PT4geworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiY3JlYXRlWEhS
UmVzb3VyY2UoKSIpOworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLkZyYW1lLnNpbmdsZUZpcmVF
dmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5GcmFtZS5FdmVudC5SZXNvdXJjZVdhc0FkZGVkLCAo
ZXZlbnQpID0+IHsKKyAgICAgICAgICAgICAgICBsZXQgcmVzb3VyY2UgPSBldmVudC5kYXRhLnJl
c291cmNlOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdChyZXNvdXJj
ZSBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5SZXNvdXJjZSwgIlJlc291cmNlIHNob3VsZCBiZSBj
cmVhdGVkLiIpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdChyZXNv
dXJjZS5yZXF1ZXN0RGF0YSA9PT0gInV0Zjg98J+RjSIsICJSZXF1ZXN0IGRhdGEgc2hvdWxkIGhh
dmUgZXhwZWN0ZWQgY29udGVudC4iKTsKKyAgICAgICAgICAgICAgICByZXNvdXJjZS5zaW5nbGVG
aXJlRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuUmVzb3VyY2UuRXZlbnQuTG9hZGluZ0RpZEZp
bmlzaCwgKGV2ZW50KSA9PiB7CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QucGFz
cygiUmVzb3VyY2UgbG9hZCBzaG91bGQgZmluaXNoLiIpOworICAgICAgICAgICAgICAgICAgICBy
ZXNvbHZlKCk7CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAg
fQorICAgIH0pOworICAgIAorICAgIHN1aXRlLnJ1blRlc3RDYXNlc0FuZEZpbmlzaCgpOworfQor
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CisgICAgPHA+VGVz
dHMgWEhSIG5ldHdvcmsgcmVzb3VyY2UgcGF5bG9hZCBpcyBzaG93biB3aXRoIGNvcnJlY3QgZW5j
b2RpbmcuPC9wPgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
      

    </bug>

</bugzilla>