<?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>176479</bug_id>
          
          <creation_ts>2017-09-06 16:13:45 -0700</creation_ts>
          <short_desc>Fetch&apos;s Response.statusText is unexpectedly the full http status line for HTTP/2 responses</short_desc>
          <delta_ts>2023-03-07 14:24:56 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>253533</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <cc>achristensen</cc>
    
    <cc>ap</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>joepeck</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1346133</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-09-06 16:13:45 -0700</bug_when>
    <thetext>Fetch&apos;s Response.statusText is unexpectedly the full http status line for HTTP/2 responses

* Steps to reproduce
1. Inspect &quot;http://www.google.com&quot;
2. fetch(&quot;/&quot;).then(console.log)
3. Expand the resulting Response
  =&gt; statusText is &quot;HTTP/2.0 200&quot;, expected &quot;&quot; or &quot;OK&quot;

* Notes

HTTP/2 doesn&apos;t really have a status message, just a status code.
https://tools.ietf.org/html/rfc7540#section-8.1.2.4
&gt; 8.1.2.4.  Response Pseudo-Header Fields
&gt; 
&gt;    For HTTP/2 responses, a single &quot;:status&quot; pseudo-header field is
&gt;    defined that carries the HTTP status code field (see [RFC7231],
&gt;    Section 6).  This pseudo-header field MUST be included in all
&gt;    responses; otherwise, the response is malformed (Section 8.1.2.6).
&gt; 
&gt;    HTTP/2 does not define a way to carry the version or reason phrase
&gt;    that is included in an HTTP/1.1 status line.

Spec is ambiguous:
https://github.com/whatwg/fetch/issues/599

Lets start by moving to empty string.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1346154</commentid>
    <comment_count>1</comment_count>
      <attachid>320079</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-09-06 16:51:30 -0700</bug_when>
    <thetext>Created attachment 320079
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1346156</commentid>
    <comment_count>2</comment_count>
      <attachid>320079</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-09-06 16:52:50 -0700</bug_when>
    <thetext>Comment on attachment 320079
[PATCH] Proposed Fix

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

&gt; Source/WebCore/platform/network/HTTPParsers.cpp:486
&gt;      size_t spacePos = view.find(&apos; &apos;);

I considered making this:

    view.find(&apos; &apos;, strlen(&quot;HTTP&quot;))

since we expect this to always start with &quot;HTTP... ### ...&quot;. But I left it alone since who knows what the future holds. And it isn&apos;t exactly related to what this bug is fixing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1346187</commentid>
    <comment_count>3</comment_count>
      <attachid>320079</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-09-06 18:06:05 -0700</bug_when>
    <thetext>Comment on attachment 320079
[PATCH] Proposed Fix

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        No test. HTTP/2 test server is not yet available.

Are you sure WPT can&apos;t do this? It can send pretty much arbitrary responses.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1346193</commentid>
    <comment_count>4</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-09-06 18:37:44 -0700</bug_when>
    <thetext>&gt; &gt; Source/WebCore/ChangeLog:8
&gt; &gt; +        No test. HTTP/2 test server is not yet available.
&gt; 
&gt; Are you sure WPT can&apos;t do this? It can send pretty much arbitrary responses.

I spent some time looking both on the web and in tests and did not find a way.

The closest I came to something promising was:
https://github.com/w3c/web-platform-tests/pull/5102/files/7dcde16821ed2bec7ee05e401bf0d3327c08bcf4#diff-d2596ee33b586549641da55dbd43e131

Which points out that HTTP/2 and HTTP/1.1 are wire-incompatible. So while WPT can send an arbitrary responses that claim to be HTTP/2 that may not be good enough.

I ended up filing:
&lt;https://webkit.org/b/176483&gt; Provide an HTTP/2 LayoutTest server

---

However, you did just help me realize that I probably don&apos;t need HTTP/2. In the case this change is addressing, we just need to test that we correctly handle the data we get from CFNetwork (CFHTTPMessageCopyResponseStatusLine) for a response without a status message.

HTTP/2 just always causes this to happen because there is no status message. However I should be able to send an HTTP/1.1 response that has no status message, and verify that we fallback to an empty string instead of the full status line.

I&apos;ll do that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1346204</commentid>
    <comment_count>5</comment_count>
      <attachid>320092</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-09-06 19:12:28 -0700</bug_when>
    <thetext>Created attachment 320092
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1346216</commentid>
    <comment_count>6</comment_count>
      <attachid>320092</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-09-06 20:33:07 -0700</bug_when>
    <thetext>Comment on attachment 320092
[PATCH] Proposed Fix

Is this how other browsers actually behave, or do they generate a synthetic status for backward compatibility?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1346218</commentid>
    <comment_count>7</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-09-06 20:35:01 -0700</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #6)
&gt; Comment on attachment 320092 [details]
&gt; [PATCH] Proposed Fix
&gt; 
&gt; Is this how other browsers actually behave, or do they generate a synthetic
&gt; status for backward compatibility?

See: https://github.com/whatwg/fetch/issues/599

This behavior makes us match Chrome. Firefox seems to synthesize the default text for common status codes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1346222</commentid>
    <comment_count>8</comment_count>
      <attachid>320092</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-09-06 21:05:28 -0700</bug_when>
    <thetext>Comment on attachment 320092
[PATCH] Proposed Fix

Clearing flags on attachment: 320092

Committed r221716: &lt;http://trac.webkit.org/changeset/221716&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1346223</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-09-06 21:05:30 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1346224</commentid>
    <comment_count>10</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-09-06 21:17:50 -0700</bug_when>
    <thetext>(In reply to Sam Weinig from comment #3)
&gt; Comment on attachment 320079 [details]
&gt; [PATCH] Proposed Fix
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=320079&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:8
&gt; &gt; +        No test. HTTP/2 test server is not yet available.
&gt; 
&gt; Are you sure WPT can&apos;t do this? It can send pretty much arbitrary responses.

There is a GitHub issue for that but no work towards it AFAIK.
Doing it through Apache in the short term sounds feasible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1346310</commentid>
    <comment_count>11</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2017-09-07 08:30:18 -0700</bug_when>
    <thetext>This change caused assertion failures on macOS Debug WK2:

ASSERTION FAILED: m_isConstructed
/Volumes/Data/slave/sierra-debug/build/WebKitBuild/Debug/usr/local/include/wtf/NeverDestroyed.h(119) : PointerType WTF::LazyNeverDestroyed&lt;WTF::AtomicString&gt;::storagePointer() const [T = WTF::AtomicString]
1   0x12196f8ad WTFCrash
2   0x11349cab6 WTF::LazyNeverDestroyed&lt;WTF::AtomicString&gt;::storagePointer() const
3   0x11349ca65 WTF::LazyNeverDestroyed&lt;WTF::AtomicString&gt;::get()
4   0x113625860 WTF::emptyAtom()
5   0x114312357 WebCore::extractReasonPhraseFromHTTPStatusLine(WTF::String const&amp;)
6   0x115ae32f4 WebCore::extractHTTPStatusText(__CFHTTPMessage*)
7   0x115ae2efb WebCore::ResourceResponse::platformLazyInit(WebCore::ResourceResponseBase::InitLevel)
8   0x115adf79b WebCore::ResourceResponseBase::lazyInit(WebCore::ResourceResponseBase::InitLevel) const
9   0x10ec032f8 void WebCore::ResourceResponseBase::encode&lt;IPC::Encoder&gt;(IPC::Encoder&amp;) const
10  0x10ec032a8 IPC::ArgumentCoder&lt;WebCore::ResourceResponse&gt;::encode(IPC::Encoder&amp;, WebCore::ResourceResponse const&amp;)
11  0x10ec03275 std::__1::enable_if&lt;!(std::is_enum&lt;std::__1::remove_const&lt;std::__1::remove_reference&lt;WebCore::ResourceResponse const&amp;&gt;::type&gt;::type&gt;::value), void&gt;::type IPC::Encoder::encode&lt;WebCore::ResourceResponse const&amp;&gt;(WebCore::ResourceResponse const&amp;&amp;&amp;)
12  0x10ec02da7 IPC::Encoder&amp; IPC::Encoder::operator&lt;&lt;&lt;WebCore::ResourceResponse const&amp;&gt;(WebCore::ResourceResponse const&amp;&amp;&amp;)
13  0x10ef39d64 IPC::TupleCoder&lt;1ul, WebCore::ResourceRequest const&amp;, WebCore::ResourceResponse const&amp;&gt;::encode(IPC::Encoder&amp;, std::__1::tuple&lt;WebCore::ResourceRequest const&amp;, WebCore::ResourceResponse const&amp;&gt; const&amp;)
14  0x10ef39d21 IPC::TupleCoder&lt;2ul, WebCore::ResourceRequest const&amp;, WebCore::ResourceResponse const&amp;&gt;::encode(IPC::Encoder&amp;, std::__1::tuple&lt;WebCore::ResourceRequest const&amp;, WebCore::ResourceResponse const&amp;&gt; const&amp;)
15  0x10ef39ccd IPC::ArgumentCoder&lt;std::__1::tuple&lt;WebCore::ResourceRequest const&amp;, WebCore::ResourceResponse const&amp;&gt; &gt;::encode(IPC::Encoder&amp;, std::__1::tuple&lt;WebCore::ResourceRequest const&amp;, WebCore::ResourceResponse const&amp;&gt; const&amp;)
16  0x10ef39c95 std::__1::enable_if&lt;!(std::is_enum&lt;std::__1::remove_const&lt;std::__1::remove_reference&lt;std::__1::tuple&lt;WebCore::ResourceRequest const&amp;, WebCore::ResourceResponse const&amp;&gt; const&amp;&gt;::type&gt;::type&gt;::value), void&gt;::type IPC::Encoder::encode&lt;std::__1::tuple&lt;WebCore::ResourceRequest const&amp;, WebCore::ResourceResponse const&amp;&gt; const&amp;&gt;(std::__1::tuple&lt;WebCore::ResourceRequest const&amp;, WebCore::ResourceResponse const&amp;&gt; const&amp;&amp;&amp;)
17  0x10ef39899 bool IPC::MessageSender::send&lt;Messages::WebResourceLoader::WillSendRequest&gt;(Messages::WebResourceLoader::WillSendRequest const&amp;, unsigned long long, WTF::OptionSet&lt;IPC::SendOption&gt;)
18  0x10ef338c3 bool IPC::MessageSender::send&lt;Messages::WebResourceLoader::WillSendRequest&gt;(Messages::WebResourceLoader::WillSendRequest const&amp;)
19  0x10ef33471 WebKit::NetworkResourceLoader::willSendRedirectedRequest(WebCore::ResourceRequest&amp;&amp;, WebCore::ResourceRequest&amp;&amp;, WebCore::ResourceResponse&amp;&amp;)
20  0x10eedf9ff WebKit::NetworkLoad::sharedWillSendRedirectedRequest(WebCore::ResourceRequest&amp;&amp;, WebCore::ResourceResponse&amp;&amp;)
21  0x10eedff75 WebKit::NetworkLoad::willPerformHTTPRedirection(WebCore::ResourceResponse&amp;&amp;, WebCore::ResourceRequest&amp;&amp;, WTF::CompletionHandler&lt;void (WebCore::ResourceRequest const&amp;)&gt;&amp;&amp;)
22  0x10eed783a WebKit::NetworkDataTaskCocoa::willPerformHTTPRedirection(WebCore::ResourceResponse&amp;&amp;, WebCore::ResourceRequest&amp;&amp;, WTF::CompletionHandler&lt;void (WebCore::ResourceRequest const&amp;)&gt;&amp;&amp;)
23  0x10ef617c4 -[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]
24  0x7fffc683c92d __86-[NSURLSession delegate_task:willPerformHTTPRedirection:newRequest:completionHandler:]_block_invoke
25  0x7fffc8f581a9 __NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK__
26  0x7fffc8f57e8c -[NSBlockOperation main]
27  0x7fffc8f565b4 -[__NSOperationInternal _start:]
28  0x7fffc8f5246b __NSOQSchedule_f
29  0x7fffdd2078fc _dispatch_client_callout
30  0x7fffdd214aac _dispatch_main_queue_callback_4CF
31  0x7fffc7544d69 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__

https://build.webkit.org/builders/Apple%20Sierra%20Debug%20WK2%20%28Tests%29/builds/2914</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1346313</commentid>
    <comment_count>12</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2017-09-07 08:42:51 -0700</bug_when>
    <thetext>Reverted r221716 for reason:

This change caused assertion failures on macOS Debug WK2.

Committed r221732: &lt;http://trac.webkit.org/changeset/221732&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1347001</commentid>
    <comment_count>13</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-09-08 16:53:37 -0700</bug_when>
    <thetext>(In reply to Ryan Haddad from comment #11)
&gt; This change caused assertion failures on macOS Debug WK2:
&gt; 
&gt; ASSERTION FAILED: m_isConstructed

This is because we are using one of the global AtomicStrings (emptyAtom) and those must be initialized with AtomicString::init. These assertions were all in the NetworkProcess, which apparently was never initializing atomic strings.

Two solutions come to mind:

1. Don&apos;t use `emptyAtom()` and instead just normal AtomicString construction for the empty string. For example returning `emptyString()` here will get converted to an AtomicString without using the emptyAtom static.

2. Initialize AtomicStrings at some point in the NetworkProcess.

After talking to a few folks I think (2) is the better solution. If anyone comes along and uses the AtomicString statics (nullAtom, emptyAtom, etc) in the NetworkProcess they would need atomic strings to be initialized or they will encounter the exact same issue I encountered.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1347002</commentid>
    <comment_count>14</comment_count>
      <attachid>320316</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-09-08 16:54:18 -0700</bug_when>
    <thetext>Created attachment 320316
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1347013</commentid>
    <comment_count>15</comment_count>
      <attachid>320316</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-09-08 17:33:47 -0700</bug_when>
    <thetext>Comment on attachment 320316
[PATCH] Proposed Fix

Clearing flags on attachment: 320316

Committed r221804: &lt;http://trac.webkit.org/changeset/221804&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1347014</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-09-08 17:33:49 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1353560</commentid>
    <comment_count>17</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-09-27 12:38:37 -0700</bug_when>
    <thetext>&lt;rdar://problem/34693670&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>320079</attachid>
            <date>2017-09-06 16:51:30 -0700</date>
            <delta_ts>2017-09-06 19:12:28 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>h2-1.patch</filename>
            <type>text/plain</type>
            <size>1940</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA3ZjYwNjMxODJiZi4uN2U0YzJlY2EyYzAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwyMSBAQAogMjAxNy0wOS0wNiAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUu
Y29tPgogCisgICAgICAgIEZldGNoJ3MgUmVzcG9uc2Uuc3RhdHVzVGV4dCBpcyB1bmV4cGVjdGVk
bHkgdGhlIGZ1bGwgaHR0cCBzdGF0dXMgbGluZSBmb3IgSFRUUC8yIHJlc3BvbnNlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc2NDc5CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gdGVzdC4gSFRUUC8y
IHRlc3Qgc2VydmVyIGlzIG5vdCB5ZXQgYXZhaWxhYmxlLgorCisgICAgICAgIEhUVFAvMiBkb2Vz
bid0IGluY2x1ZGUgYSBzdGF0dXMgcmVhc29uIHBocmFzZS4gU28gdGhlICJzdGF0dXMgbGluZSIK
KyAgICAgICAgZW5kcyB1cCBqdXN0IGJlaW5nIHRoZSB2ZXJzaW9uIGFuZCBzdGF0dXMgY29kZS4g
RmFsbGJhY2sgdG8gdGhlIGVtcHR5CisgICAgICAgIHN0cmluZyBpbnN0ZWFkIG9mIHRoZSBmdWxs
IGxpbmUuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0hUVFBQYXJzZXJzLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OmV4dHJhY3RSZWFzb25QaHJhc2VGcm9tSFRUUFN0YXR1c0xpbmUpOgor
CisyMDE3LTA5LTA2ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKICAg
ICAgICAgV2ViS2l0IHNob3VsZCBjbGFpbSB0aGF0IGl0IGNhbiBzaG93IHJlc3BvbnNlcyBhIGJy
b2FkZXIgcmFuZ2Ugb2YgSlNPTiBNSU1FVHlwZXMKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NjI1MgogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzQy
MTI4ODU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0hUVFBQ
YXJzZXJzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvSFRUUFBhcnNlcnMu
Y3BwCmluZGV4IDY0YWU5NzJkZmNmLi45NTRmZDMzNmZlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9IVFRQUGFyc2Vycy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9IVFRQUGFyc2Vycy5jcHAKQEAgLTQ3OCwxMiArNDc4LDE4IEBA
IENvbnRlbnRUeXBlT3B0aW9uc0Rpc3Bvc2l0aW9uIHBhcnNlQ29udGVudFR5cGVPcHRpb25zSGVh
ZGVyKGNvbnN0IFN0cmluZyYgaGVhZGVyCiAgICAgcmV0dXJuIENvbnRlbnRUeXBlT3B0aW9uc05v
bmU7CiB9CiAKKy8vIEZvciBleGFtcGxlOiAiSFRUUC8xLjEgMjAwIE9LIiA9PiAiT0siLgorLy8g
Tm90ZSB0aGF0IEhUVFAvMiBkb2VzIG5vdCBpbmNsdWRlIGEgcmVhc29uIHBocmFzZSwgc28gd2Ug
cmV0dXJuIHRoZSBlbXB0eSBhdG9tLgogQXRvbWljU3RyaW5nIGV4dHJhY3RSZWFzb25QaHJhc2VG
cm9tSFRUUFN0YXR1c0xpbmUoY29uc3QgU3RyaW5nJiBzdGF0dXNMaW5lKQogewogICAgIFN0cmlu
Z1ZpZXcgdmlldyA9IHN0YXR1c0xpbmU7CiAgICAgc2l6ZV90IHNwYWNlUG9zID0gdmlldy5maW5k
KCcgJyk7CisKICAgICAvLyBSZW1vdmUgc3RhdHVzIGNvZGUgZnJvbSB0aGUgc3RhdHVzIGxpbmUu
CiAgICAgc3BhY2VQb3MgPSB2aWV3LmZpbmQoJyAnLCBzcGFjZVBvcyArIDEpOworICAgIGlmIChz
cGFjZVBvcyA9PSBub3RGb3VuZCkKKyAgICAgICAgcmV0dXJuIGVtcHR5QXRvbSgpOworCiAgICAg
cmV0dXJuIHZpZXcuc3Vic3RyaW5nKHNwYWNlUG9zICsgMSkudG9BdG9taWNTdHJpbmcoKTsKIH0K
IAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>320092</attachid>
            <date>2017-09-06 19:12:28 -0700</date>
            <delta_ts>2017-09-08 16:54:18 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>status-2.patch</filename>
            <type>text/plain</type>
            <size>6195</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjNmE3ZTI0YzI5My4uMDJlY2MxYjU4OTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAor
MjAxNy0wOS0wNiAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAg
ICAgIEZldGNoJ3MgUmVzcG9uc2Uuc3RhdHVzVGV4dCBpcyB1bmV4cGVjdGVkbHkgdGhlIGZ1bGwg
aHR0cCBzdGF0dXMgbGluZSBmb3IgSFRUUC8yIHJlc3BvbnNlcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc2NDc5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3dwdC9mZXRjaC9yZXNvdXJjZXMv
c3RhdHVzLWdhcmJhZ2UuYXNpczogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvZmV0Y2gvcmVz
b3VyY2VzL3N0YXR1cy1ub3JtYWwudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC9mZXRj
aC9yZXNvdXJjZXMvc3RhdHVzLXdpdGgtbWVzc2FnZS5hc2lzOiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3dwdC9mZXRjaC9yZXNvdXJjZXMvc3RhdHVzLXdpdGhvdXQtbWVzc2FnZS5hc2lzOiBBZGRl
ZC4KKyAgICAgICAgVmFyaW91cyB0ZXh0IEhUVFAgcmVzcG9uc2VzIHdpdGggZGlmZmVyZW50IHN0
YXR1cyBsaW5lcy4KKworICAgICAgICAqIGh0dHAvd3B0L2ZldGNoL3Jlc3BvbnNlLXN0YXR1cy10
ZXh0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvZmV0Y2gvcmVzcG9u
c2Utc3RhdHVzLXRleHQuaHRtbDogQWRkZWQuCisgICAgICAgIFRlc3QgdGhlIEZldGNoIFJlc3Bv
bnNlJ3Mgc3RhdHVzIC8gc3RhdHVzVGV4dCBmb3IgZGlmZmVyZW50IEhUVFAgc3RhdHVzIGxpbmVz
LgorICAgICAgICBUaGUgc3RhdHVzIHdpdGhvdXQgYSBtZXNzYWdlIGlzIHNpbWlsaWFyIHRvIEhU
VFAvMiBiZWNhdXNlIEhUVFAvMiBvbmx5CisgICAgICAgIGhhcyBhIDpzdGF0dXMgcHNldWRvLWhl
YWRlciBhbmQgbGFja3MgYSByZWFzb24gcGhyYXNlLgorCiAyMDE3LTA5LTA1ICBNYXR0IExld2lz
ICA8amxld2lzM0BhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQg
cjIyMTYwMy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2ZldGNoL3Jlc291cmNl
cy9zdGF0dXMtZ2FyYmFnZS5hc2lzIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvZmV0Y2gvcmVzb3Vy
Y2VzL3N0YXR1cy1nYXJiYWdlLmFzaXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAuLjAwNzBmNzQ4YjVmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93
cHQvZmV0Y2gvcmVzb3VyY2VzL3N0YXR1cy1nYXJiYWdlLmFzaXMKQEAgLTAsMCArMSBAQAorQUxQ
SEEgQkVUQQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvZmV0Y2gvcmVzb3VyY2Vz
L3N0YXR1cy1ub3JtYWwudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvZmV0Y2gvcmVzb3VyY2Vz
L3N0YXR1cy1ub3JtYWwudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
Li5mM2I4NjhkYTRhZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2Zl
dGNoL3Jlc291cmNlcy9zdGF0dXMtbm9ybWFsLnR4dApAQCAtMCwwICsxIEBACitJbnRlbnRpb25h
bGx5IGVtcHR5LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvZmV0Y2gvcmVzb3Vy
Y2VzL3N0YXR1cy13aXRoLW1lc3NhZ2UuYXNpcyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2ZldGNo
L3Jlc291cmNlcy9zdGF0dXMtd2l0aC1tZXNzYWdlLmFzaXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAuLmIzNDc4MWY1MzA1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC93cHQvZmV0Y2gvcmVzb3VyY2VzL3N0YXR1cy13aXRoLW1lc3NhZ2UuYXNpcwpA
QCAtMCwwICsxIEBACitIVFRQLzEuMSAyMDAgQWxwaGEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvd3B0L2ZldGNoL3Jlc291cmNlcy9zdGF0dXMtd2l0aG91dC1tZXNzYWdlLmFzaXMgYi9M
YXlvdXRUZXN0cy9odHRwL3dwdC9mZXRjaC9yZXNvdXJjZXMvc3RhdHVzLXdpdGhvdXQtbWVzc2Fn
ZS5hc2lzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4xMmJmMGI5YzA2
MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2ZldGNoL3Jlc291cmNl
cy9zdGF0dXMtd2l0aG91dC1tZXNzYWdlLmFzaXMKQEAgLTAsMCArMSBAQAorSFRUUC8xLjEgMjAw
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9mZXRjaC9yZXNwb25zZS1zdGF0dXMt
dGV4dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9mZXRjaC9yZXNwb25zZS1z
dGF0dXMtdGV4dC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAuLjU2NGM4M2JiNGE2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93
cHQvZmV0Y2gvcmVzcG9uc2Utc3RhdHVzLXRleHQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBA
QAorCitQQVNTIE5vcm1hbCBzdGF0dXMgdGV4dC4gCitQQVNTIEFibm9ybWFsIHN0YXR1cyB0ZXh0
LiAKK1BBU1MgRW1wdHkgc3RhdHVzIHRleHQuIAorUEFTUyBHYXJiYWdlIHN0YXR1cyBsaW5lLiAK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvZmV0Y2gvcmVzcG9uc2Utc3RhdHVz
LXRleHQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2ZldGNoL3Jlc3BvbnNlLXN0YXR1cy10
ZXh0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmM3YjgzNTAw
NDVkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvZmV0Y2gvcmVzcG9u
c2Utc3RhdHVzLXRleHQuaHRtbApAQCAtMCwwICsxLDM4IEBACis8IWRvY3R5cGUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+CisgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgPHRpdGxlPlJlc3BvbnNl
IHN0YXR1cyBhbmQgc3RhdHVzVGV4dCBnaXZlbiB2YXJpb3VzIEhUVFAgcmVzcG9uc2Ugc3RhdHVz
IGxpbmVzLjwvdGl0bGU+CisgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKyAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorcHJvbWlzZV90ZXN0KHRl
c3QgPT4geworICAgIHJldHVybiBmZXRjaCgicmVzb3VyY2VzL3N0YXR1cy1ub3JtYWwudHh0Iiku
dGhlbigocmVzcG9uc2UpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhyZXNwb25zZS5zdGF0
dXMsIDIwMCk7CisgICAgICAgIGFzc2VydF9lcXVhbHMocmVzcG9uc2Uuc3RhdHVzVGV4dCwgIk9L
Iik7CisgICAgfSk7Cit9LCAiTm9ybWFsIHN0YXR1cyB0ZXh0LiIpOworCitwcm9taXNlX3Rlc3Qo
dGVzdCA9PiB7CisgICAgcmV0dXJuIGZldGNoKCJyZXNvdXJjZXMvc3RhdHVzLXdpdGgtbWVzc2Fn
ZS5hc2lzIikudGhlbigocmVzcG9uc2UpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhyZXNw
b25zZS5zdGF0dXMsIDIwMCk7CisgICAgICAgIGFzc2VydF9lcXVhbHMocmVzcG9uc2Uuc3RhdHVz
VGV4dCwgIkFscGhhIik7CisgICAgfSk7Cit9LCAiQWJub3JtYWwgc3RhdHVzIHRleHQuIik7CisK
K3Byb21pc2VfdGVzdCh0ZXN0ID0+IHsKKyAgICByZXR1cm4gZmV0Y2goInJlc291cmNlcy9zdGF0
dXMtd2l0aG91dC1tZXNzYWdlLmFzaXMiKS50aGVuKChyZXNwb25zZSkgPT4geworICAgICAgICBh
c3NlcnRfZXF1YWxzKHJlc3BvbnNlLnN0YXR1cywgMjAwKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFs
cyhyZXNwb25zZS5zdGF0dXNUZXh0LCAiIik7CisgICAgfSk7Cit9LCAiRW1wdHkgc3RhdHVzIHRl
eHQuIik7CisKK3Byb21pc2VfdGVzdCh0ZXN0ID0+IHsKKyAgICBsZXQgcHJvbWlzZSA9IGZldGNo
KCJyZXNvdXJjZXMvc3RhdHVzLWdhcmJhZ2UuYXNpcyIpOworICAgIHJldHVybiBwcm9taXNlX3Jl
amVjdHModGVzdCwgbmV3IFR5cGVFcnJvcigpLCBwcm9taXNlKTsKK30sICJHYXJiYWdlIHN0YXR1
cyBsaW5lLiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2Y2
MDYzMTgyYmYuLjlmZmQ0ZmNiZjc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjEgQEAKIDIwMTct
MDktMDYgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAorICAgICAgICBG
ZXRjaCdzIFJlc3BvbnNlLnN0YXR1c1RleHQgaXMgdW5leHBlY3RlZGx5IHRoZSBmdWxsIGh0dHAg
c3RhdHVzIGxpbmUgZm9yIEhUVFAvMiByZXNwb25zZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NjQ3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGh0dHAvd3B0L2ZldGNoL3Jlc3BvbnNlLXN0
YXR1cy10ZXh0Lmh0bWwKKworICAgICAgICBIVFRQLzIgZG9lc24ndCBpbmNsdWRlIGEgc3RhdHVz
IHJlYXNvbiBwaHJhc2UuIFNvIHRoZSAic3RhdHVzIGxpbmUiCisgICAgICAgIGVuZHMgdXAganVz
dCBiZWluZyB0aGUgdmVyc2lvbiBhbmQgc3RhdHVzIGNvZGUuIEZhbGxiYWNrIHRvIHRoZSBlbXB0
eQorICAgICAgICBzdHJpbmcgaW5zdGVhZCBvZiB0aGUgZnVsbCBsaW5lLgorCisgICAgICAgICog
cGxhdGZvcm0vbmV0d29yay9IVFRQUGFyc2Vycy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpleHRy
YWN0UmVhc29uUGhyYXNlRnJvbUhUVFBTdGF0dXNMaW5lKToKKworMjAxNy0wOS0wNiAgSm9zZXBo
IFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCiAgICAgICAgIFdlYktpdCBzaG91bGQg
Y2xhaW0gdGhhdCBpdCBjYW4gc2hvdyByZXNwb25zZXMgYSBicm9hZGVyIHJhbmdlIG9mIEpTT04g
TUlNRVR5cGVzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNzYyNTIKICAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM0MjEyODg1PgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9IVFRQUGFyc2Vycy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0hUVFBQYXJzZXJzLmNwcAppbmRleCA2NGFlOTcyZGZj
Zi4uOTU0ZmQzMzZmZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvSFRUUFBhcnNlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
SFRUUFBhcnNlcnMuY3BwCkBAIC00NzgsMTIgKzQ3OCwxOCBAQCBDb250ZW50VHlwZU9wdGlvbnNE
aXNwb3NpdGlvbiBwYXJzZUNvbnRlbnRUeXBlT3B0aW9uc0hlYWRlcihjb25zdCBTdHJpbmcmIGhl
YWRlcgogICAgIHJldHVybiBDb250ZW50VHlwZU9wdGlvbnNOb25lOwogfQogCisvLyBGb3IgZXhh
bXBsZTogIkhUVFAvMS4xIDIwMCBPSyIgPT4gIk9LIi4KKy8vIE5vdGUgdGhhdCBIVFRQLzIgZG9l
cyBub3QgaW5jbHVkZSBhIHJlYXNvbiBwaHJhc2UsIHNvIHdlIHJldHVybiB0aGUgZW1wdHkgYXRv
bS4KIEF0b21pY1N0cmluZyBleHRyYWN0UmVhc29uUGhyYXNlRnJvbUhUVFBTdGF0dXNMaW5lKGNv
bnN0IFN0cmluZyYgc3RhdHVzTGluZSkKIHsKICAgICBTdHJpbmdWaWV3IHZpZXcgPSBzdGF0dXNM
aW5lOwogICAgIHNpemVfdCBzcGFjZVBvcyA9IHZpZXcuZmluZCgnICcpOworCiAgICAgLy8gUmVt
b3ZlIHN0YXR1cyBjb2RlIGZyb20gdGhlIHN0YXR1cyBsaW5lLgogICAgIHNwYWNlUG9zID0gdmll
dy5maW5kKCcgJywgc3BhY2VQb3MgKyAxKTsKKyAgICBpZiAoc3BhY2VQb3MgPT0gbm90Rm91bmQp
CisgICAgICAgIHJldHVybiBlbXB0eUF0b20oKTsKKwogICAgIHJldHVybiB2aWV3LnN1YnN0cmlu
ZyhzcGFjZVBvcyArIDEpLnRvQXRvbWljU3RyaW5nKCk7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>320316</attachid>
            <date>2017-09-08 16:54:18 -0700</date>
            <delta_ts>2017-09-08 17:33:47 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>statusText-2.patch</filename>
            <type>text/plain</type>
            <size>7652</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmZGNhNTQ1YWI5OS4uYmRiZjQ3MWM5MjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAor
MjAxNy0wOS0wOCAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAg
ICAgIEZldGNoJ3MgUmVzcG9uc2Uuc3RhdHVzVGV4dCBpcyB1bmV4cGVjdGVkbHkgdGhlIGZ1bGwg
aHR0cCBzdGF0dXMgbGluZSBmb3IgSFRUUC8yIHJlc3BvbnNlcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc2NDc5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3dwdC9mZXRjaC9yZXNvdXJjZXMv
c3RhdHVzLWdhcmJhZ2UuYXNpczogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvZmV0Y2gvcmVz
b3VyY2VzL3N0YXR1cy1ub3JtYWwudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC9mZXRj
aC9yZXNvdXJjZXMvc3RhdHVzLXdpdGgtbWVzc2FnZS5hc2lzOiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3dwdC9mZXRjaC9yZXNvdXJjZXMvc3RhdHVzLXdpdGhvdXQtbWVzc2FnZS5hc2lzOiBBZGRl
ZC4KKyAgICAgICAgVmFyaW91cyB0ZXh0IEhUVFAgcmVzcG9uc2VzIHdpdGggZGlmZmVyZW50IHN0
YXR1cyBsaW5lcy4KKworICAgICAgICAqIGh0dHAvd3B0L2ZldGNoL3Jlc3BvbnNlLXN0YXR1cy10
ZXh0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvZmV0Y2gvcmVzcG9u
c2Utc3RhdHVzLXRleHQuaHRtbDogQWRkZWQuCisgICAgICAgIFRlc3QgdGhlIEZldGNoIFJlc3Bv
bnNlJ3Mgc3RhdHVzIC8gc3RhdHVzVGV4dCBmb3IgZGlmZmVyZW50IEhUVFAgc3RhdHVzIGxpbmVz
LgorICAgICAgICBUaGUgc3RhdHVzIHdpdGhvdXQgYSBtZXNzYWdlIGlzIHNpbWlsaWFyIHRvIEhU
VFAvMiBiZWNhdXNlIEhUVFAvMiBvbmx5CisgICAgICAgIGhhcyBhIDpzdGF0dXMgcHNldWRvLWhl
YWRlciBhbmQgbGFja3MgYSByZWFzb24gcGhyYXNlLgorCiAyMDE3LTA5LTA4ICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBNYXJrIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3J0LWluaXRpYXRvclR5cGUtZWxlbWVu
dC5odG1sIGFzIHNsb3cuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9mZXRjaC9y
ZXNvdXJjZXMvc3RhdHVzLWdhcmJhZ2UuYXNpcyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2ZldGNo
L3Jlc291cmNlcy9zdGF0dXMtZ2FyYmFnZS5hc2lzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwLi4wMDcwZjc0OGI1ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvd3B0L2ZldGNoL3Jlc291cmNlcy9zdGF0dXMtZ2FyYmFnZS5hc2lzCkBAIC0wLDAgKzEg
QEAKK0FMUEhBIEJFVEEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2ZldGNoL3Jl
c291cmNlcy9zdGF0dXMtbm9ybWFsLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2ZldGNoL3Jl
c291cmNlcy9zdGF0dXMtbm9ybWFsLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMC4uZjNiODY4ZGE0YWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3dwdC9mZXRjaC9yZXNvdXJjZXMvc3RhdHVzLW5vcm1hbC50eHQKQEAgLTAsMCArMSBAQAorSW50
ZW50aW9uYWxseSBlbXB0eS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2ZldGNo
L3Jlc291cmNlcy9zdGF0dXMtd2l0aC1tZXNzYWdlLmFzaXMgYi9MYXlvdXRUZXN0cy9odHRwL3dw
dC9mZXRjaC9yZXNvdXJjZXMvc3RhdHVzLXdpdGgtbWVzc2FnZS5hc2lzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5iMzQ3ODFmNTMwNQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvd3B0L2ZldGNoL3Jlc291cmNlcy9zdGF0dXMtd2l0aC1tZXNzYWdl
LmFzaXMKQEAgLTAsMCArMSBAQAorSFRUUC8xLjEgMjAwIEFscGhhCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3dwdC9mZXRjaC9yZXNvdXJjZXMvc3RhdHVzLXdpdGhvdXQtbWVzc2FnZS5h
c2lzIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvZmV0Y2gvcmVzb3VyY2VzL3N0YXR1cy13aXRob3V0
LW1lc3NhZ2UuYXNpcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMTJi
ZjBiOWMwNjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9mZXRjaC9y
ZXNvdXJjZXMvc3RhdHVzLXdpdGhvdXQtbWVzc2FnZS5hc2lzCkBAIC0wLDAgKzEgQEAKK0hUVFAv
MS4xIDIwMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvZmV0Y2gvcmVzcG9uc2Ut
c3RhdHVzLXRleHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvZmV0Y2gvcmVz
cG9uc2Utc3RhdHVzLXRleHQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwLi41NjRjODNiYjRhNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvd3B0L2ZldGNoL3Jlc3BvbnNlLXN0YXR1cy10ZXh0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDYgQEAKKworUEFTUyBOb3JtYWwgc3RhdHVzIHRleHQuIAorUEFTUyBBYm5vcm1hbCBzdGF0
dXMgdGV4dC4gCitQQVNTIEVtcHR5IHN0YXR1cyB0ZXh0LiAKK1BBU1MgR2FyYmFnZSBzdGF0dXMg
bGluZS4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2ZldGNoL3Jlc3BvbnNl
LXN0YXR1cy10ZXh0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9mZXRjaC9yZXNwb25zZS1z
dGF0dXMtdGV4dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5j
N2I4MzUwMDQ1ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2ZldGNo
L3Jlc3BvbnNlLXN0YXR1cy10ZXh0Lmh0bWwKQEAgLTAsMCArMSwzOCBAQAorPCFkb2N0eXBlIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgIDx0aXRsZT5S
ZXNwb25zZSBzdGF0dXMgYW5kIHN0YXR1c1RleHQgZ2l2ZW4gdmFyaW91cyBIVFRQIHJlc3BvbnNl
IHN0YXR1cyBsaW5lcy48L3RpdGxlPgorICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+CisgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK3Byb21pc2Vf
dGVzdCh0ZXN0ID0+IHsKKyAgICByZXR1cm4gZmV0Y2goInJlc291cmNlcy9zdGF0dXMtbm9ybWFs
LnR4dCIpLnRoZW4oKHJlc3BvbnNlKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMocmVzcG9u
c2Uuc3RhdHVzLCAyMDApOworICAgICAgICBhc3NlcnRfZXF1YWxzKHJlc3BvbnNlLnN0YXR1c1Rl
eHQsICJPSyIpOworICAgIH0pOworfSwgIk5vcm1hbCBzdGF0dXMgdGV4dC4iKTsKKworcHJvbWlz
ZV90ZXN0KHRlc3QgPT4geworICAgIHJldHVybiBmZXRjaCgicmVzb3VyY2VzL3N0YXR1cy13aXRo
LW1lc3NhZ2UuYXNpcyIpLnRoZW4oKHJlc3BvbnNlKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVh
bHMocmVzcG9uc2Uuc3RhdHVzLCAyMDApOworICAgICAgICBhc3NlcnRfZXF1YWxzKHJlc3BvbnNl
LnN0YXR1c1RleHQsICJBbHBoYSIpOworICAgIH0pOworfSwgIkFibm9ybWFsIHN0YXR1cyB0ZXh0
LiIpOworCitwcm9taXNlX3Rlc3QodGVzdCA9PiB7CisgICAgcmV0dXJuIGZldGNoKCJyZXNvdXJj
ZXMvc3RhdHVzLXdpdGhvdXQtbWVzc2FnZS5hc2lzIikudGhlbigocmVzcG9uc2UpID0+IHsKKyAg
ICAgICAgYXNzZXJ0X2VxdWFscyhyZXNwb25zZS5zdGF0dXMsIDIwMCk7CisgICAgICAgIGFzc2Vy
dF9lcXVhbHMocmVzcG9uc2Uuc3RhdHVzVGV4dCwgIiIpOworICAgIH0pOworfSwgIkVtcHR5IHN0
YXR1cyB0ZXh0LiIpOworCitwcm9taXNlX3Rlc3QodGVzdCA9PiB7CisgICAgbGV0IHByb21pc2Ug
PSBmZXRjaCgicmVzb3VyY2VzL3N0YXR1cy1nYXJiYWdlLmFzaXMiKTsKKyAgICByZXR1cm4gcHJv
bWlzZV9yZWplY3RzKHRlc3QsIG5ldyBUeXBlRXJyb3IoKSwgcHJvbWlzZSk7Cit9LCAiR2FyYmFn
ZSBzdGF0dXMgbGluZS4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IDZiYjVhODE2ZjNmLi4xZDc5YTZlNjdhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBA
CisyMDE3LTA5LTA4ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAg
ICAgICAgRmV0Y2gncyBSZXNwb25zZS5zdGF0dXNUZXh0IGlzIHVuZXhwZWN0ZWRseSB0aGUgZnVs
bCBodHRwIHN0YXR1cyBsaW5lIGZvciBIVFRQLzIgcmVzcG9uc2VzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzY0NzkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBodHRwL3dwdC9mZXRjaC9yZXNw
b25zZS1zdGF0dXMtdGV4dC5odG1sCisKKyAgICAgICAgSFRUUC8yIGRvZXNuJ3QgaW5jbHVkZSBh
IHN0YXR1cyByZWFzb24gcGhyYXNlLiBTbyB0aGUgInN0YXR1cyBsaW5lIgorICAgICAgICBlbmRz
IHVwIGp1c3QgYmVpbmcgdGhlIHZlcnNpb24gYW5kIHN0YXR1cyBjb2RlLiBGYWxsYmFjayB0byB0
aGUgZW1wdHkKKyAgICAgICAgc3RyaW5nIGluc3RlYWQgb2YgdGhlIGZ1bGwgbGluZS4KKworICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvSFRUUFBhcnNlcnMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6ZXh0cmFjdFJlYXNvblBocmFzZUZyb21IVFRQU3RhdHVzTGluZSk6CisKIDIwMTctMDktMDgg
IENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2
aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMjE3NzMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL0hUVFBQYXJzZXJzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvSFRUUFBhcnNlcnMuY3BwCmluZGV4IDVkYzAzNWRmZjVjLi45NWI1ZTg2NWUxMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9IVFRQUGFyc2Vycy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9IVFRQUGFyc2Vycy5jcHAK
QEAgLTQ3OCwxMiArNDc4LDE4IEBAIENvbnRlbnRUeXBlT3B0aW9uc0Rpc3Bvc2l0aW9uIHBhcnNl
Q29udGVudFR5cGVPcHRpb25zSGVhZGVyKGNvbnN0IFN0cmluZyYgaGVhZGVyCiAgICAgcmV0dXJu
IENvbnRlbnRUeXBlT3B0aW9uc05vbmU7CiB9CiAKKy8vIEZvciBleGFtcGxlOiAiSFRUUC8xLjEg
MjAwIE9LIiA9PiAiT0siLgorLy8gTm90ZSB0aGF0IEhUVFAvMiBkb2VzIG5vdCBpbmNsdWRlIGEg
cmVhc29uIHBocmFzZSwgc28gd2UgcmV0dXJuIHRoZSBlbXB0eSBhdG9tLgogQXRvbWljU3RyaW5n
IGV4dHJhY3RSZWFzb25QaHJhc2VGcm9tSFRUUFN0YXR1c0xpbmUoY29uc3QgU3RyaW5nJiBzdGF0
dXNMaW5lKQogewogICAgIFN0cmluZ1ZpZXcgdmlldyA9IHN0YXR1c0xpbmU7CiAgICAgc2l6ZV90
IHNwYWNlUG9zID0gdmlldy5maW5kKCcgJyk7CisKICAgICAvLyBSZW1vdmUgc3RhdHVzIGNvZGUg
ZnJvbSB0aGUgc3RhdHVzIGxpbmUuCiAgICAgc3BhY2VQb3MgPSB2aWV3LmZpbmQoJyAnLCBzcGFj
ZVBvcyArIDEpOworICAgIGlmIChzcGFjZVBvcyA9PSBub3RGb3VuZCkKKyAgICAgICAgcmV0dXJu
IGVtcHR5QXRvbSgpOworCiAgICAgcmV0dXJuIHZpZXcuc3Vic3RyaW5nKHNwYWNlUG9zICsgMSku
dG9BdG9taWNTdHJpbmcoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBkMGUzZmNkZWJmMy4uZDhlOWE0MTgw
ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTctMDktMDggIEpvc2VwaCBQZWNvcmFy
byAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBGZXRjaCdzIFJlc3BvbnNlLnN0YXR1
c1RleHQgaXMgdW5leHBlY3RlZGx5IHRoZSBmdWxsIGh0dHAgc3RhdHVzIGxpbmUgZm9yIEhUVFAv
MiByZXNwb25zZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE3NjQ3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0
OjpOZXR3b3JrUHJvY2Vzczo6aW5pdGlhbGl6ZU5ldHdvcmtQcm9jZXNzKToKKyAgICAgICAgSW5p
dGlhbGl6ZSBBdG9taWNTdHJpbmcgc3RhdGljcyBsaWtlIGVtcHR5QXRvbSgpLgorCiAyMDE3LTA5
LTA4ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBV
bnJldmlld2VkLCByb2xsaW5nIG91dCByMjIxNzczLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAppbmRleCBmZDc5OTVhZGIwOS4uMGVjNWZlYjk3
MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nl
c3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mu
Y3BwCkBAIC02Niw2ICs2Niw3IEBACiAjaW5jbHVkZSA8cGFsL1Nlc3Npb25JRC5oPgogI2luY2x1
ZGUgPHd0Zi9PcHRpb25TZXQuaD4KICNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgorI2luY2x1ZGUg
PHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4K
IAogI2lmIEVOQUJMRShTRUNfSVRFTV9TSElNKQpAQCAtMjA3LDYgKzIwOCw3IEBAIHZvaWQgTmV0
d29ya1Byb2Nlc3M6OmluaXRpYWxpemVOZXR3b3JrUHJvY2VzcyhOZXR3b3JrUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycyYmCiAgICAgcGxhdGZvcm1Jbml0aWFsaXplTmV0d29ya1Byb2Nlc3MocGFy
YW1ldGVycyk7CiAKICAgICBXVEY6OlRocmVhZDo6c2V0Q3VycmVudFRocmVhZElzVXNlckluaXRp
YXRlZCgpOworICAgIEF0b21pY1N0cmluZzo6aW5pdCgpOwogCiAgICAgbV9zdXBwcmVzc01lbW9y
eVByZXNzdXJlSGFuZGxlciA9IHBhcmFtZXRlcnMuc2hvdWxkU3VwcHJlc3NNZW1vcnlQcmVzc3Vy
ZUhhbmRsZXI7CiAgICAgbV9sb2FkVGhyb3R0bGVMYXRlbmN5ID0gcGFyYW1ldGVycy5sb2FkVGhy
b3R0bGVMYXRlbmN5Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>