<?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>162933</bug_id>
          
          <creation_ts>2016-10-04 13:29:06 -0700</creation_ts>
          <short_desc>REGRESSION(r203289): Assertion in MathOperator::stretchTo() on Wikipedia Page</short_desc>
          <delta_ts>2016-11-02 12:50:25 -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>MathML</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>https://en.wikipedia.org/wiki/Levenshtein_distance</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Frédéric Wang Nélar">fred.wang</assigned_to>
          <cc>alex</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbarton</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1236334</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-10-04 13:29:06 -0700</bug_when>
    <thetext>Visit the Wikipedia page for Levenshtein Distance in a debug build of WebKit:

    https://en.wikipedia.org/wiki/Levenshtein_distance

This triggers the following assertion:

    void MathOperator::stretchTo(const RenderStyle&amp; style, LayoutUnit targetSize)
    {
        ASSERT(m_operatorType == Type::VerticalOperator || m_operatorType == Type::HorizontalOperator);
        calculateStretchyData(style, false, targetSize);
        if (m_stretchType == StretchType::GlyphAssembly) {

The assertion fires because we are attempting to apply the &apos;stretchTo&apos; operation on a &quot;NormalOperator&quot; type.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236335</commentid>
    <comment_count>1</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-10-04 13:30:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/28570590&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236549</commentid>
    <comment_count>2</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-10-04 23:43:06 -0700</bug_when>
    <thetext>Are you able to isolate the MathML fragment that triggers the assertion?

As I see, RenderMathMLOperator::updateMathOperator() sets the type to NormalOperator if !shouldAllowStretching() i.e. we don&apos;t have !(textContent() &amp;&amp; (hasOperatorFlag(MathMLOperatorDictionary::Stretchy) || isLargeOperatorInDisplayStyle()))

On the other hand, MathOperator::stretchTo are called from the RenderMathMLOperator::stretchTo functions that explicitly checks hasOperatorFlag(MathMLOperatorDictionary::Stretchy). Is is possible that textContent() is empty? Or that RenderMathMLOperator::updateMathOperator() has not been called in time?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1246581</commentid>
    <comment_count>3</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-10-31 13:57:41 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Are you able to isolate the MathML fragment that triggers the assertion?

I don&apos;t have a reduced test case.

&gt; ... Is is possible that
&gt; textContent() is empty? Or that RenderMathMLOperator::updateMathOperator()
&gt; has not been called in time?

&apos;textContent&apos; is not empty. The &apos;operatorChar&apos; member is set to &quot;{&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1246582</commentid>
    <comment_count>4</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-10-31 14:00:49 -0700</bug_when>
    <thetext>(In reply to comment #3)

Wait! I take it all back. I was not hitting the crash when I inspected those values.

It appears that the RenderMathMLOperator object has an operatorChar of &quot;&quot;, so yes -- it does seem to be empty.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1246586</commentid>
    <comment_count>5</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-10-31 14:08:47 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; 
&gt; Wait! I take it all back. I was not hitting the crash when I inspected those
&gt; values.
&gt; 
&gt; It appears that the RenderMathMLOperator object has an operatorChar of &quot;&quot;,
&gt; so yes -- it does seem to be empty.

OK, in that case we only need to avoid the (two IIRC?) calls to RenderMathMLOperator::stretchTo when the textContent == 0 (and maybe add assert in RenderMathMLOperator::stretchTo too).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1246707</commentid>
    <comment_count>6</comment_count>
      <attachid>293495</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-10-31 16:52:20 -0700</bug_when>
    <thetext>Created attachment 293495
Test Case showing the null image

Reduced test case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1246708</commentid>
    <comment_count>7</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-10-31 16:53:16 -0700</bug_when>
    <thetext>The assertion gets hit with the attached test case, specifically with this line:

     &lt;mo fence=&quot;true&quot; stretchy=&quot;true&quot;&gt;&lt;/mo&gt;

Looks like we need to account for the possibility that content may be generated with an empty element of this kind.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1246849</commentid>
    <comment_count>8</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-11-01 01:05:01 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; The assertion gets hit with the attached test case, specifically with this
&gt; line:
&gt; 
&gt;      &lt;mo fence=&quot;true&quot; stretchy=&quot;true&quot;&gt;&lt;/mo&gt;
&gt; 
&gt; Looks like we need to account for the possibility that content may be
&gt; generated with an empty element of this kind.

Yes, I think it will be considered vertical + stretchy. fence=&quot;true&quot; should not be needed to trigger the assert.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1246853</commentid>
    <comment_count>9</comment_count>
      <attachid>293537</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-11-01 01:25:41 -0700</bug_when>
    <thetext>Created attachment 293537
Patch

@Brent: This is a quick untested patch. Maybe a stronger solution is just to introduce

bool RenderMathMLOperator::isStretchy()
{
  return textContent() &amp;&amp; element().hasProperty(MathMLOperatorDictionary::Stretchy);
}

and then replace each call to RenderMathMLOperator::hasProperty(MathMLOperatorDictionary::Stretchy) in the RenderMathML* classes with a call to RenderMathMLOperator::isStretchy().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1246929</commentid>
    <comment_count>10</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-11-01 10:51:31 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; Created attachment 293537 [details]
&gt; Patch
&gt; 
&gt; @Brent: This is a quick untested patch. Maybe a stronger solution is just to
&gt; introduce
&gt; 
&gt; bool RenderMathMLOperator::isStretchy()
&gt; {
&gt;   return textContent() &amp;&amp;
&gt; element().hasProperty(MathMLOperatorDictionary::Stretchy);
&gt; }
&gt; 
&gt; and then replace each call to
&gt; RenderMathMLOperator::hasProperty(MathMLOperatorDictionary::Stretchy) in the
&gt; RenderMathML* classes with a call to RenderMathMLOperator::isStretchy().

Could we just use &quot;shouldAllowStretching()&quot;? It is very similar:

bool RenderMathMLOperator::shouldAllowStretching() const
{
    return textContent() &amp;&amp; (hasOperatorFlag(MathMLOperatorDictionary::Stretchy) || isLargeOperatorInDisplayStyle());
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1246972</commentid>
    <comment_count>11</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-11-01 12:30:07 -0700</bug_when>
    <thetext>I confirmed that Frédéric&apos;s patch works. We can generate a final patch once he confirms whether the existing shouldAllowStretching is suitable, or if we must use the new &apos;isStretchy()&apos; method.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1246976</commentid>
    <comment_count>12</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-11-01 12:35:48 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Could we just use &quot;shouldAllowStretching()&quot;? It is very similar:
&gt; 
&gt; bool RenderMathMLOperator::shouldAllowStretching() const
&gt; {
&gt;     return textContent() &amp;&amp;
&gt; (hasOperatorFlag(MathMLOperatorDictionary::Stretchy) ||
&gt; isLargeOperatorInDisplayStyle());
&gt; }

I don&apos;t think so, stretchTo must only be called with stretchy operators. If we include large operators in displaystyle (e.g. &lt;math display=&quot;block&quot;&gt;&lt;mo&gt;&amp;Sum&lt;/mo&gt;&lt;/math&gt;) then I suspect you can also hit an ASSERT in RenderMathMLOperator because hasOperatorFlag(MathMLOperatorDictionary::Stretchy) is not satisfied.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1246983</commentid>
    <comment_count>13</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-11-01 12:51:14 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Could we just use &quot;shouldAllowStretching()&quot;?

Incidentally, I suspect this method is just a legacy of old code that was kept after the refactoring. I believe that now we can just expand it inside RenderMathMLOperator::updateMathOperator() by doing something like:

if (isStretchy())
    type = isVertical() ? MathOperator::Type::VerticalOperator : MathOperator::Type::HorizontalOperator;
else if (textContent() &amp;&amp; isLargeOperatorInDisplayStyle())
    type = MathOperator::Type::DisplayOperator;
else  
    type = MathOperator::Type::NormalOperator;

and then the condition in RenderMathMLOperator::useMathOperator() will just become

m_mathOperator.type() != MathOperator::Type::NormalOperator || textContent() == minusSign

where we add the accessor MathOperator::type() { return m_operatorType; }

We can even include the textContent() check inside isLargeOperatorInDisplayStyle and discard the case &lt;math display=&quot;block&quot;&gt;&lt;mo largeop=&quot;true&quot;&gt;&lt;/mo&gt;&lt;/math&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1246991</commentid>
    <comment_count>14</comment_count>
      <attachid>293573</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-11-01 13:01:54 -0700</bug_when>
    <thetext>Created attachment 293573
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1246998</commentid>
    <comment_count>15</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-11-01 13:06:08 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; (In reply to comment #10)
&gt; &gt; Could we just use &quot;shouldAllowStretching()&quot;?
&gt; 
&gt; Incidentally, I suspect this method is just a legacy of old code that was
&gt; kept after the refactoring. I believe that now we can just expand it inside
&gt; RenderMathMLOperator::updateMathOperator() by doing something like:
&gt; 
&gt; if (isStretchy())
&gt;     type = isVertical() ? MathOperator::Type::VerticalOperator :
&gt; MathOperator::Type::HorizontalOperator;
&gt; else if (textContent() &amp;&amp; isLargeOperatorInDisplayStyle())
&gt;     type = MathOperator::Type::DisplayOperator;
&gt; else  
&gt;     type = MathOperator::Type::NormalOperator;
&gt; 
&gt; and then the condition in RenderMathMLOperator::useMathOperator() will just
&gt; become
&gt; 
&gt; m_mathOperator.type() != MathOperator::Type::NormalOperator || textContent()
&gt; == minusSign
&gt; 
&gt; where we add the accessor MathOperator::type() { return m_operatorType; }
&gt; 
&gt; We can even include the textContent() check inside
&gt; isLargeOperatorInDisplayStyle and discard the case &lt;math display=&quot;block&quot;&gt;&lt;mo
&gt; largeop=&quot;true&quot;&gt;&lt;/mo&gt;&lt;/math&gt;.

Seems like a nice idea for a future refactoring! :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1247259</commentid>
    <comment_count>16</comment_count>
      <attachid>293573</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-11-02 02:19:53 -0700</bug_when>
    <thetext>Comment on attachment 293573
Patch

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

lgtm, but I&apos;m not a reviewer.

&gt; Source/WebCore/ChangeLog:11
&gt; +        We shouldn&apos;t be trying to apply stretch operations on an empty MathML element. Create a

I think it&apos;s actually any operator that is not made of a single character. For example the assert probably happens with &lt;mo stretchy=&quot;true&quot;&gt;++&lt;mo&gt; too.

&gt; LayoutTests/mathml/empty-mo.html:8
&gt; +    &lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;

Maybe you can reduce this test case to &lt;math&gt;&lt;mo stretchy=&quot;true&quot;&gt;&lt;/mo&gt;&lt;/math&gt; ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1247261</commentid>
    <comment_count>17</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-11-02 02:24:43 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; Seems like a nice idea for a future refactoring! :-)

I opened bug 164313</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1247284</commentid>
    <comment_count>18</comment_count>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2016-11-02 05:16:32 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; Comment on attachment 293573 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=293573&amp;action=review
&gt; 
&gt; lgtm, but I&apos;m not a reviewer.
&gt;

lgtm too.

&gt; &gt; Source/WebCore/ChangeLog:11
&gt; &gt; +        We shouldn&apos;t be trying to apply stretch operations on an empty MathML element. Create a
&gt; 
&gt; I think it&apos;s actually any operator that is not made of a single character.
&gt; For example the assert probably happens with &lt;mo stretchy=&quot;true&quot;&gt;++&lt;mo&gt; too.
&gt; 

Can we add also this case (++) to the test, and check if the textContent() part of the condition is doing what we want for that case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1247420</commentid>
    <comment_count>19</comment_count>
      <attachid>293573</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-11-02 12:11:16 -0700</bug_when>
    <thetext>Comment on attachment 293573
Patch

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

&gt;&gt;&gt; Source/WebCore/ChangeLog:11
&gt;&gt;&gt; +        We shouldn&apos;t be trying to apply stretch operations on an empty MathML element. Create a
&gt;&gt; 
&gt;&gt; I think it&apos;s actually any operator that is not made of a single character. For example the assert probably happens with &lt;mo stretchy=&quot;true&quot;&gt;++&lt;mo&gt; too.
&gt; 
&gt; Can we add also this case (++) to the test, and check if the textContent() part of the condition is doing what we want for that case.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1247421</commentid>
    <comment_count>20</comment_count>
      <attachid>293684</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-11-02 12:11:23 -0700</bug_when>
    <thetext>Created attachment 293684
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1247422</commentid>
    <comment_count>21</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-11-02 12:12:26 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; Comment on attachment 293573 [details]

&gt; Maybe you can reduce this test case to &lt;math&gt;&lt;mo
&gt; stretchy=&quot;true&quot;&gt;&lt;/mo&gt;&lt;/math&gt; ?

Yes, this did work.

I&apos;ve revised the test cases as you suggested.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1247434</commentid>
    <comment_count>22</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-11-02 12:50:13 -0700</bug_when>
    <thetext>Committed r208296: &lt;http://trac.webkit.org/changeset/208296&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>293495</attachid>
            <date>2016-10-31 16:52:20 -0700</date>
            <delta_ts>2016-10-31 16:52:20 -0700</delta_ts>
            <desc>Test Case showing the null image</desc>
            <filename>empty_mo.html</filename>
            <type>text/html</type>
            <size>1014</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGJvZHk+Cgk8ZGl2PgogICAgPG1hdGgg
eG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0aC9NYXRoTUwiPgogICAgICAgIDxzZW1h
bnRpY3M+CiAgICAgICAgICAgIDxtcm93PgogICAgICAgICAgICAgICAgPG1zdHlsZSBkaXNwbGF5
c3R5bGU9InRydWUiIHNjcmlwdGxldmVsPSIwIj4KICAgICAgICAgICAgICAgICAgICA8bXNwYWNl
IHdpZHRoPSIyZW0iPjwvbXNwYWNlPgogICAgICAgICAgICAgICAgICAgIDxtc3ViPgogICAgICAg
ICAgICAgICAgICAgICAgPG1pPnRlc3Q8L21pPgogICAgICAgICAgICAgICAgICAgICAgPG1yb3c+
CiAgICAgICAgICAgICAgICAgICAgICAgIDxtaT5hPC9taT4KICAgICAgICAgICAgICAgICAgICAg
IDwvbXJvdz4KICAgICAgICAgICAgICAgICAgICA8L21zdWI+CiAgICAgICAgICAgICAgICAgICAg
PG1pPmk8L21pPgogICAgICAgICAgICAgICAgICAgIDxtbz49PC9tbz4KICAgICAgICAgICAgICAg
ICAgICA8bXJvdz4KICAgICAgICAgICAgICAgICAgICAgICAgPG1vPns8L21vPgogICAgICAgICAg
ICAgICAgICAgICAgICA8bXRhYmxlPgogICAgICAgICAgICAgICAgICAgICAgICAgIDxtdHI+CiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA8bXRkPgogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICA8bW8+bWluPC9tbz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbXRkPgogICAg
ICAgICAgICAgICAgICAgICAgICAgIDwvbXRyPgogICAgICAgICAgICAgICAgICAgICAgICA8L210
YWJsZT4KICAgICAgICAgICAgICAgICAgICAgICAgPG1vIGZlbmNlPSJ0cnVlIiBzdHJldGNoeT0i
dHJ1ZSI+PC9tbz4KICAgICAgICAgICAgICAgICAgICA8L21yb3c+CiAgICAgICAgICAgICAgICAg
IDwvbXN0eWxlPgogICAgICAgICAgICAgICAgPC9tcm93PgogICAgICAgICAgICA8L3NlbWFudGlj
cz4KICAgICAgICA8L21hdGg+CiAgICA8L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>293537</attachid>
            <date>2016-11-01 01:25:41 -0700</date>
            <delta_ts>2016-11-01 13:01:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>162933.patch</filename>
            <type>text/plain</type>
            <size>885</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1M
Um93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MUm93
LmNwcAppbmRleCA0N2M2MzlhLi45MjYxMGVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFJvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxSb3cuY3BwCkBAIC0xMDksNyArMTA5LDcgQEAg
dm9pZCBSZW5kZXJNYXRoTUxSb3c6OmxheW91dFJvd0l0ZW1zKExheW91dFVuaXQmIGFzY2VudCwg
TGF5b3V0VW5pdCYgZGVzY2VudCkKIAogICAgICAgICBpZiAoaXM8UmVuZGVyTWF0aE1MQmxvY2s+
KGNoaWxkKSkgewogICAgICAgICAgICAgYXV0byByZW5kZXJPcGVyYXRvciA9IGRvd25jYXN0PFJl
bmRlck1hdGhNTEJsb2NrPihjaGlsZCktPnVuZW1iZWxsaXNoZWRPcGVyYXRvcigpOwotICAgICAg
ICAgICAgaWYgKHJlbmRlck9wZXJhdG9yICYmIHJlbmRlck9wZXJhdG9yLT5oYXNPcGVyYXRvckZs
YWcoTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5OjpTdHJldGNoeSkgJiYgcmVuZGVyT3BlcmF0b3It
PmlzVmVydGljYWwoKSkKKyAgICAgICAgICAgIGlmIChyZW5kZXJPcGVyYXRvciAmJiByZW5kZXJP
cGVyYXRvci0+dGV4dENvbnRlbnQoKSAmJiByZW5kZXJPcGVyYXRvci0+aGFzT3BlcmF0b3JGbGFn
KE1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeTo6U3RyZXRjaHkpICYmIHJlbmRlck9wZXJhdG9yLT5p
c1ZlcnRpY2FsKCkpCiAgICAgICAgICAgICAgICAgcmVuZGVyT3BlcmF0b3ItPnN0cmV0Y2hUbyhh
c2NlbnQsIGRlc2NlbnQpOwogICAgICAgICB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>293573</attachid>
            <date>2016-11-01 13:01:54 -0700</date>
            <delta_ts>2016-11-02 12:11:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-162933-20161101125756.patch</filename>
            <type>text/plain</type>
            <size>8792</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwODIzNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDE2LTExLTAxICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04ocjIwMzI4
OSk6QXNzZXJ0aW9uIGluIE1hdGhPcGVyYXRvcjo6c3RyZXRjaFRvKCkgb24gV2lraXBlZGlhIFBh
Z2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2Mjkz
MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjg1NzA1OTA+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQSBkZWJ1ZyBhc3NlcnRpb24gaXMgdHJpZ2dl
cmVkIHdoZW4gYW4gZW1wdHkgPG1vPiB0YWcgaXMgdXNlZCB3aXRoIGEgInN0cmV0Y2h5IiBmbGFn
LgorCisgICAgICAgIFdlIHNob3VsZG4ndCBiZSB0cnlpbmcgdG8gYXBwbHkgc3RyZXRjaCBvcGVy
YXRpb25zIG9uIGFuIGVtcHR5IE1hdGhNTCBlbGVtZW50LiBDcmVhdGUgYQorICAgICAgICBoZWxw
ZXIgZnVuY3Rpb24gKGlzU3RyZXRjaHkpIHRvIGVuY2Fwc3VsYXRlIHRoZSBmYWN0IHRoYXQgb25s
eSBub24tZW1wdHkgZWxlbWVudHMgd2l0aAorICAgICAgICB0aGUgJ01hdGhNTE9wZXJhdG9yRGlj
dGlvbmFyeTo6U3RyZXRjaHknIG9wZXJhdG9yIGZsYWcgc2hvdWxkIGhhdmUgc3RyZXRjaGluZyBh
cHBsaWVkLgorCisgICAgICAgIFRlc3Q6IG1hdGhtbC9lbXB0eS1tby5odG1sCisKKyAgICAgICAg
KiByZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTE9wZXJhdG9yLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlck1hdGhNTE9wZXJhdG9yOjpzdHJldGNoVG8pOiBSZXZpc2UgYXNzZXJ0aW9u
IHRvIHVzZSBuZXcgJ2lzU3RyZXRjaHknIHByZWRpY2F0ZS4KKyAgICAgICAgKiByZW5kZXJpbmcv
bWF0aG1sL1JlbmRlck1hdGhNTE9wZXJhdG9yLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJN
YXRoTUxPcGVyYXRvcjo6aXNTdHJldGNoeSk6IEFkZGVkLgorICAgICAgICAqIHJlbmRlcmluZy9t
YXRobWwvUmVuZGVyTWF0aE1MUm93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhN
TFJvdzo6Y29tcHV0ZUxpbmVWZXJ0aWNhbFN0cmV0Y2gpOiBVc2UgbmV3ICdpc1N0cmV0Y2h5JyBw
cmVkaWNhdGUuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXRoTUxSb3c6OmxheW91dFJvd0l0
ZW1zKTogRGl0dG8uCisgICAgICAgICogcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxVbmRl
ck92ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0aE1MVW5kZXJPdmVyOjpjb21w
dXRlT3BlcmF0b3JzSG9yaXpvbnRhbFN0cmV0Y2gpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlck1hdGhNTFVuZGVyT3Zlcjo6dmVydGljYWxQYXJhbWV0ZXJzKTogRGl0dG8uCisKIDIw
MTYtMTAtMzEgIEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgogCiAg
ICAgICAgIFJlbmFtZSBWaWV3U3RhdGUgdG8gQWN0aXZpdHlTdGF0ZQpJbmRleDogU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRvci5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRv
ci5jcHAJKHJldmlzaW9uIDIwODIyNCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRo
bWwvUmVuZGVyTWF0aE1MT3BlcmF0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTcsNyArMTE3
LDcgQEAgYm9vbCBSZW5kZXJNYXRoTUxPcGVyYXRvcjo6aXNWZXJ0aWNhbCgpIAogCiB2b2lkIFJl
bmRlck1hdGhNTE9wZXJhdG9yOjpzdHJldGNoVG8oTGF5b3V0VW5pdCBoZWlnaHRBYm92ZUJhc2Vs
aW5lLCBMYXlvdXRVbml0IGRlcHRoQmVsb3dCYXNlbGluZSkKIHsKLSAgICBBU1NFUlQoaGFzT3Bl
cmF0b3JGbGFnKE1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeTo6U3RyZXRjaHkpKTsKKyAgICBBU1NF
UlQoaXNTdHJldGNoeSgpKTsKICAgICBBU1NFUlQoaXNWZXJ0aWNhbCgpKTsKIAogICAgIGlmICgh
aXNWZXJ0aWNhbCgpIHx8IChoZWlnaHRBYm92ZUJhc2VsaW5lID09IG1fc3RyZXRjaEhlaWdodEFi
b3ZlQmFzZWxpbmUgJiYgZGVwdGhCZWxvd0Jhc2VsaW5lID09IG1fc3RyZXRjaERlcHRoQmVsb3dC
YXNlbGluZSkpCkBAIC0xNTcsNyArMTU3LDcgQEAgdm9pZCBSZW5kZXJNYXRoTUxPcGVyYXRvcjo6
c3RyZXRjaFRvKExheQogCiB2b2lkIFJlbmRlck1hdGhNTE9wZXJhdG9yOjpzdHJldGNoVG8oTGF5
b3V0VW5pdCB3aWR0aCkKIHsKLSAgICBBU1NFUlQoaGFzT3BlcmF0b3JGbGFnKE1hdGhNTE9wZXJh
dG9yRGljdGlvbmFyeTo6U3RyZXRjaHkpKTsKKyAgICBBU1NFUlQoaXNTdHJldGNoeSgpKTsKICAg
ICBBU1NFUlQoIWlzVmVydGljYWwoKSk7CiAKICAgICBpZiAoaXNWZXJ0aWNhbCgpIHx8IG1fc3Ry
ZXRjaFdpZHRoID09IHdpZHRoKQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGht
bC9SZW5kZXJNYXRoTUxPcGVyYXRvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MT3BlcmF0b3IuaAkocmV2aXNpb24gMjA4MjI0KQor
KysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRvci5o
CSh3b3JraW5nIGNvcHkpCkBAIC01Niw2ICs1Niw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHVwZGF0
ZVRva2VuQ29udGVudCgpIGZpbmFsOwogICAgIHZvaWQgdXBkYXRlRnJvbUVsZW1lbnQoKSBmaW5h
bDsKICAgICB2aXJ0dWFsIFVDaGFyMzIgdGV4dENvbnRlbnQoKSBjb25zdDsKKyAgICBib29sIGlz
U3RyZXRjaHkoKSBjb25zdCB7IHJldHVybiB0ZXh0Q29udGVudCgpICYmIGhhc09wZXJhdG9yRmxh
ZyhNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnk6OlN0cmV0Y2h5KTsgfQogCiBwcm90ZWN0ZWQ6CiAg
ICAgdmlydHVhbCB2b2lkIHVwZGF0ZU1hdGhPcGVyYXRvcigpOwpJbmRleDogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxSb3cuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MUm93LmNwcAkocmV2aXNp
b24gMjA4MjI0KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRo
TUxSb3cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02Myw3ICs2Myw3IEBAIHZvaWQgUmVuZGVyTWF0
aE1MUm93Ojpjb21wdXRlTGluZVZlcnRpY2EKICAgICBmb3IgKGF1dG8qIGNoaWxkID0gZmlyc3RD
aGlsZEJveCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmdCb3goKSkgewogICAg
ICAgICBpZiAoaXM8UmVuZGVyTWF0aE1MQmxvY2s+KGNoaWxkKSkgewogICAgICAgICAgICAgYXV0
byogcmVuZGVyT3BlcmF0b3IgPSBkb3duY2FzdDxSZW5kZXJNYXRoTUxCbG9jaz4oY2hpbGQpLT51
bmVtYmVsbGlzaGVkT3BlcmF0b3IoKTsKLSAgICAgICAgICAgIGlmIChyZW5kZXJPcGVyYXRvciAm
JiByZW5kZXJPcGVyYXRvci0+aGFzT3BlcmF0b3JGbGFnKE1hdGhNTE9wZXJhdG9yRGljdGlvbmFy
eTo6U3RyZXRjaHkpKQorICAgICAgICAgICAgaWYgKHJlbmRlck9wZXJhdG9yICYmIHJlbmRlck9w
ZXJhdG9yLT5pc1N0cmV0Y2h5KCkpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAg
IH0KIApAQCAtMTA5LDcgKzEwOSw3IEBAIHZvaWQgUmVuZGVyTWF0aE1MUm93OjpsYXlvdXRSb3dJ
dGVtcyhMYXkKIAogICAgICAgICBpZiAoaXM8UmVuZGVyTWF0aE1MQmxvY2s+KGNoaWxkKSkgewog
ICAgICAgICAgICAgYXV0byByZW5kZXJPcGVyYXRvciA9IGRvd25jYXN0PFJlbmRlck1hdGhNTEJs
b2NrPihjaGlsZCktPnVuZW1iZWxsaXNoZWRPcGVyYXRvcigpOwotICAgICAgICAgICAgaWYgKHJl
bmRlck9wZXJhdG9yICYmIHJlbmRlck9wZXJhdG9yLT5oYXNPcGVyYXRvckZsYWcoTWF0aE1MT3Bl
cmF0b3JEaWN0aW9uYXJ5OjpTdHJldGNoeSkgJiYgcmVuZGVyT3BlcmF0b3ItPmlzVmVydGljYWwo
KSkKKyAgICAgICAgICAgIGlmIChyZW5kZXJPcGVyYXRvciAmJiByZW5kZXJPcGVyYXRvci0+aXNT
dHJldGNoeSgpICYmIHJlbmRlck9wZXJhdG9yLT5pc1ZlcnRpY2FsKCkpCiAgICAgICAgICAgICAg
ICAgcmVuZGVyT3BlcmF0b3ItPnN0cmV0Y2hUbyhhc2NlbnQsIGRlc2NlbnQpOwogICAgICAgICB9
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MVW5k
ZXJPdmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1s
L1JlbmRlck1hdGhNTFVuZGVyT3Zlci5jcHAJKHJldmlzaW9uIDIwODIyNCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MVW5kZXJPdmVyLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNTYsNyArNTYsNyBAQCB2b2lkIFJlbmRlck1hdGhNTFVuZGVyT3Zlcjo6Y29t
cHV0ZU9wZXJhCiAgICAgICAgIGlmIChjaGlsZC0+bmVlZHNMYXlvdXQoKSkgewogICAgICAgICAg
ICAgaWYgKGlzPFJlbmRlck1hdGhNTEJsb2NrPihjaGlsZCkpIHsKICAgICAgICAgICAgICAgICBp
ZiAoYXV0byByZW5kZXJPcGVyYXRvciA9IGRvd25jYXN0PFJlbmRlck1hdGhNTEJsb2NrPigqY2hp
bGQpLnVuZW1iZWxsaXNoZWRPcGVyYXRvcigpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChy
ZW5kZXJPcGVyYXRvci0+aGFzT3BlcmF0b3JGbGFnKE1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeTo6
U3RyZXRjaHkpICYmICFyZW5kZXJPcGVyYXRvci0+aXNWZXJ0aWNhbCgpKSB7CisgICAgICAgICAg
ICAgICAgICAgIGlmIChyZW5kZXJPcGVyYXRvci0+aXNTdHJldGNoeSgpICYmICFyZW5kZXJPcGVy
YXRvci0+aXNWZXJ0aWNhbCgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXJPcGVy
YXRvci0+cmVzZXRTdHJldGNoU2l6ZSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVy
T3BlcmF0b3JzLmFwcGVuZChyZW5kZXJPcGVyYXRvcik7CiAgICAgICAgICAgICAgICAgICAgIH0K
QEAgLTIxNyw3ICsyMTcsNyBAQCBSZW5kZXJNYXRoTUxVbmRlck92ZXI6OlZlcnRpY2FsUGFyYW1l
dGVyCiAgICAgICAgICAgICAgICAgcGFyYW1ldGVycy51c2VVbmRlck92ZXJCYXJGYWxsQmFjayA9
IGZhbHNlOwogICAgICAgICAgICAgICAgIHJldHVybiBwYXJhbWV0ZXJzOwogICAgICAgICAgICAg
fQotICAgICAgICAgICAgaWYgKGJhc2VPcGVyYXRvci0+aGFzT3BlcmF0b3JGbGFnKE1hdGhNTE9w
ZXJhdG9yRGljdGlvbmFyeTo6U3RyZXRjaHkpICYmICFiYXNlT3BlcmF0b3ItPmlzVmVydGljYWwo
KSkgeworICAgICAgICAgICAgaWYgKGJhc2VPcGVyYXRvci0+aXNTdHJldGNoeSgpICYmICFiYXNl
T3BlcmF0b3ItPmlzVmVydGljYWwoKSkgewogICAgICAgICAgICAgICAgIC8vIFRoZSBiYXNlIGlz
IGEgaG9yaXpvbnRhbCBzdHJldGNoeSBvcGVyYXRvciwgc28gd2UgcmVhZCBTdHJldGNoU3RhY2sg
Y29uc3RhbnRzIGZyb20gdGhlIE1BVEggdGFibGUuCiAgICAgICAgICAgICAgICAgcGFyYW1ldGVy
cy51bmRlckdhcE1pbiA9IG1hdGhEYXRhLT5nZXRNYXRoQ29uc3RhbnQocHJpbWFyeUZvbnQsIE9w
ZW5UeXBlTWF0aERhdGE6OlN0cmV0Y2hTdGFja0dhcEJlbG93TWluKTsKICAgICAgICAgICAgICAg
ICBwYXJhbWV0ZXJzLm92ZXJHYXBNaW4gPSBtYXRoRGF0YS0+Z2V0TWF0aENvbnN0YW50KHByaW1h
cnlGb250LCBPcGVuVHlwZU1hdGhEYXRhOjpTdHJldGNoU3RhY2tHYXBBYm92ZU1pbik7CkluZGV4
OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCShyZXZpc2lvbiAyMDgyMjQpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAxNi0xMS0wMSAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxn
aGFtQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKHIyMDMyODkpOkFzc2VydGlvbiBp
biBNYXRoT3BlcmF0b3I6OnN0cmV0Y2hUbygpIG9uIFdpa2lwZWRpYSBQYWdlCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjI5MzMKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzI4NTcwNTkwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogbWF0aG1sL2VtcHR5LW1vLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogbWF0aG1sL2VtcHR5LW1vLmh0bWw6IEFkZGVkLgorCiAyMDE2LTExLTAxICBSeW9z
dWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEFk
ZCB0aGUgc3VwcG9ydCBmb3IgY3VzdG9tIGVsZW1lbnRzCkluZGV4OiBMYXlvdXRUZXN0cy9tYXRo
bWwvZW1wdHktbW8tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL21hdGht
bC9lbXB0eS1tby1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvbWF0
aG1sL2VtcHR5LW1vLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE1IEBA
CitUZXN0IHBhc3NlcyBpZiBpdCBkb2VzIG5vdCBkZWJ1ZyBhc3NlcnQuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKK3Rlc3QKK2EKK2kKKz0KK3sKK21pbgorCkluZGV4OiBMYXlvdXRUZXN0cy9t
YXRobWwvZW1wdHktbW8uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tYXRobWwvZW1w
dHktbW8uaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9tYXRobWwvZW1wdHktbW8u
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorCTxkaXY+CisgICAgPG1hdGggeG1sbnM9Imh0dHA6
Ly93d3cudzMub3JnLzE5OTgvTWF0aC9NYXRoTUwiPgorICAgICAgICA8c2VtYW50aWNzPgorICAg
ICAgICAgICAgPG1yb3c+CisgICAgICAgICAgICAgICAgPG1zdHlsZSBkaXNwbGF5c3R5bGU9InRy
dWUiIHNjcmlwdGxldmVsPSIwIj4KKyAgICAgICAgICAgICAgICAgICAgPG1zcGFjZSB3aWR0aD0i
MmVtIj48L21zcGFjZT4KKyAgICAgICAgICAgICAgICAgICAgPG1zdWI+CisgICAgICAgICAgICAg
ICAgICAgICAgPG1pPnRlc3Q8L21pPgorICAgICAgICAgICAgICAgICAgICAgIDxtcm93PgorICAg
ICAgICAgICAgICAgICAgICAgICAgPG1pPmE8L21pPgorICAgICAgICAgICAgICAgICAgICAgIDwv
bXJvdz4KKyAgICAgICAgICAgICAgICAgICAgPC9tc3ViPgorICAgICAgICAgICAgICAgICAgICA8
bWk+aTwvbWk+CisgICAgICAgICAgICAgICAgICAgIDxtbz49PC9tbz4KKyAgICAgICAgICAgICAg
ICAgICAgPG1yb3c+CisgICAgICAgICAgICAgICAgICAgICAgICA8bW8+ezwvbW8+CisgICAgICAg
ICAgICAgICAgICAgICAgICA8bXRhYmxlPgorICAgICAgICAgICAgICAgICAgICAgICAgICA8bXRy
PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtdGQ+CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA8bW8+bWluPC9tbz4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L210
ZD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tdHI+CisgICAgICAgICAgICAgICAgICAg
ICAgICA8L210YWJsZT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxtbyBmZW5jZT0idHJ1ZSIg
c3RyZXRjaHk9InRydWUiPjwvbW8+CisgICAgICAgICAgICAgICAgICAgIDwvbXJvdz4KKyAgICAg
ICAgICAgICAgICAgIDwvbXN0eWxlPgorICAgICAgICAgICAgICAgIDwvbXJvdz4KKyAgICAgICAg
ICAgIDwvc2VtYW50aWNzPgorICAgICAgICA8L21hdGg+CisgICAgPC9kaXY+CisgICAgPHNjcmlw
dD4KKyAgICAgIGRlc2NyaXB0aW9uKCJUZXN0IHBhc3NlcyBpZiBpdCBkb2VzIG5vdCBkZWJ1ZyBh
c3NlcnQuIik7CisgICAgPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>293684</attachid>
            <date>2016-11-02 12:11:23 -0700</date>
            <delta_ts>2016-11-02 12:15:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-162933-20161102120724.patch</filename>
            <type>text/plain</type>
            <size>8135</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwODI5MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDE2LTExLTAyICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04ocjIwMzI4
OSk6QXNzZXJ0aW9uIGluIE1hdGhPcGVyYXRvcjo6c3RyZXRjaFRvKCkgb24gV2lraXBlZGlhIFBh
Z2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2Mjkz
MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjg1NzA1OTA+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQSBkZWJ1ZyBhc3NlcnRpb24gaXMgdHJpZ2dl
cmVkIHdoZW4gYW4gZW1wdHkgPG1vPiB0YWcgaXMgdXNlZCB3aXRoIGEgInN0cmV0Y2h5IiBmbGFn
LgorCisgICAgICAgIFdlIHNob3VsZG4ndCBiZSB0cnlpbmcgdG8gYXBwbHkgc3RyZXRjaCBvcGVy
YXRpb25zIG9uIGFuIGVtcHR5IE1hdGhNTCBlbGVtZW50LiBDcmVhdGUgYQorICAgICAgICBoZWxw
ZXIgZnVuY3Rpb24gKGlzU3RyZXRjaHkpIHRvIGVuY2Fwc3VsYXRlIHRoZSBmYWN0IHRoYXQgb25s
eSBub24tZW1wdHkgZWxlbWVudHMgd2l0aAorICAgICAgICB0aGUgJ01hdGhNTE9wZXJhdG9yRGlj
dGlvbmFyeTo6U3RyZXRjaHknIG9wZXJhdG9yIGZsYWcgc2hvdWxkIGhhdmUgc3RyZXRjaGluZyBh
cHBsaWVkLgorCisgICAgICAgIFRlc3Q6IG1hdGhtbC9lbXB0eS1tby5odG1sCisKKyAgICAgICAg
KiByZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTE9wZXJhdG9yLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlck1hdGhNTE9wZXJhdG9yOjpzdHJldGNoVG8pOiBSZXZpc2UgYXNzZXJ0aW9u
IHRvIHVzZSBuZXcgJ2lzU3RyZXRjaHknIHByZWRpY2F0ZS4KKyAgICAgICAgKiByZW5kZXJpbmcv
bWF0aG1sL1JlbmRlck1hdGhNTE9wZXJhdG9yLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJN
YXRoTUxPcGVyYXRvcjo6aXNTdHJldGNoeSk6IEFkZGVkLgorICAgICAgICAqIHJlbmRlcmluZy9t
YXRobWwvUmVuZGVyTWF0aE1MUm93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhN
TFJvdzo6Y29tcHV0ZUxpbmVWZXJ0aWNhbFN0cmV0Y2gpOiBVc2UgbmV3ICdpc1N0cmV0Y2h5JyBw
cmVkaWNhdGUuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXRoTUxSb3c6OmxheW91dFJvd0l0
ZW1zKTogRGl0dG8uCisgICAgICAgICogcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxVbmRl
ck92ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0aE1MVW5kZXJPdmVyOjpjb21w
dXRlT3BlcmF0b3JzSG9yaXpvbnRhbFN0cmV0Y2gpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlck1hdGhNTFVuZGVyT3Zlcjo6dmVydGljYWxQYXJhbWV0ZXJzKTogRGl0dG8uCisKIDIw
MTYtMTEtMDIgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAgICAg
V2ViS2l0IG51bGxwdHIgZGVyZWZlcmVuY2UgQXJjaGl2ZSBTdWJmcmFtZQpJbmRleDogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRvci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVy
YXRvci5jcHAJKHJldmlzaW9uIDIwODI5MikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9t
YXRobWwvUmVuZGVyTWF0aE1MT3BlcmF0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTcsNyAr
MTE3LDcgQEAgYm9vbCBSZW5kZXJNYXRoTUxPcGVyYXRvcjo6aXNWZXJ0aWNhbCgpIAogCiB2b2lk
IFJlbmRlck1hdGhNTE9wZXJhdG9yOjpzdHJldGNoVG8oTGF5b3V0VW5pdCBoZWlnaHRBYm92ZUJh
c2VsaW5lLCBMYXlvdXRVbml0IGRlcHRoQmVsb3dCYXNlbGluZSkKIHsKLSAgICBBU1NFUlQoaGFz
T3BlcmF0b3JGbGFnKE1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeTo6U3RyZXRjaHkpKTsKKyAgICBB
U1NFUlQoaXNTdHJldGNoeSgpKTsKICAgICBBU1NFUlQoaXNWZXJ0aWNhbCgpKTsKIAogICAgIGlm
ICghaXNWZXJ0aWNhbCgpIHx8IChoZWlnaHRBYm92ZUJhc2VsaW5lID09IG1fc3RyZXRjaEhlaWdo
dEFib3ZlQmFzZWxpbmUgJiYgZGVwdGhCZWxvd0Jhc2VsaW5lID09IG1fc3RyZXRjaERlcHRoQmVs
b3dCYXNlbGluZSkpCkBAIC0xNTcsNyArMTU3LDcgQEAgdm9pZCBSZW5kZXJNYXRoTUxPcGVyYXRv
cjo6c3RyZXRjaFRvKExheQogCiB2b2lkIFJlbmRlck1hdGhNTE9wZXJhdG9yOjpzdHJldGNoVG8o
TGF5b3V0VW5pdCB3aWR0aCkKIHsKLSAgICBBU1NFUlQoaGFzT3BlcmF0b3JGbGFnKE1hdGhNTE9w
ZXJhdG9yRGljdGlvbmFyeTo6U3RyZXRjaHkpKTsKKyAgICBBU1NFUlQoaXNTdHJldGNoeSgpKTsK
ICAgICBBU1NFUlQoIWlzVmVydGljYWwoKSk7CiAKICAgICBpZiAoaXNWZXJ0aWNhbCgpIHx8IG1f
c3RyZXRjaFdpZHRoID09IHdpZHRoKQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21h
dGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MT3BlcmF0b3IuaAkocmV2aXNpb24gMjA4Mjky
KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRv
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC01Niw2ICs1Niw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHVw
ZGF0ZVRva2VuQ29udGVudCgpIGZpbmFsOwogICAgIHZvaWQgdXBkYXRlRnJvbUVsZW1lbnQoKSBm
aW5hbDsKICAgICB2aXJ0dWFsIFVDaGFyMzIgdGV4dENvbnRlbnQoKSBjb25zdDsKKyAgICBib29s
IGlzU3RyZXRjaHkoKSBjb25zdCB7IHJldHVybiB0ZXh0Q29udGVudCgpICYmIGhhc09wZXJhdG9y
RmxhZyhNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnk6OlN0cmV0Y2h5KTsgfQogCiBwcm90ZWN0ZWQ6
CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZU1hdGhPcGVyYXRvcigpOwpJbmRleDogU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxSb3cuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MUm93LmNwcAkocmV2
aXNpb24gMjA4MjkyKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJN
YXRoTUxSb3cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02Myw3ICs2Myw3IEBAIHZvaWQgUmVuZGVy
TWF0aE1MUm93Ojpjb21wdXRlTGluZVZlcnRpY2EKICAgICBmb3IgKGF1dG8qIGNoaWxkID0gZmly
c3RDaGlsZEJveCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmdCb3goKSkgewog
ICAgICAgICBpZiAoaXM8UmVuZGVyTWF0aE1MQmxvY2s+KGNoaWxkKSkgewogICAgICAgICAgICAg
YXV0byogcmVuZGVyT3BlcmF0b3IgPSBkb3duY2FzdDxSZW5kZXJNYXRoTUxCbG9jaz4oY2hpbGQp
LT51bmVtYmVsbGlzaGVkT3BlcmF0b3IoKTsKLSAgICAgICAgICAgIGlmIChyZW5kZXJPcGVyYXRv
ciAmJiByZW5kZXJPcGVyYXRvci0+aGFzT3BlcmF0b3JGbGFnKE1hdGhNTE9wZXJhdG9yRGljdGlv
bmFyeTo6U3RyZXRjaHkpKQorICAgICAgICAgICAgaWYgKHJlbmRlck9wZXJhdG9yICYmIHJlbmRl
ck9wZXJhdG9yLT5pc1N0cmV0Y2h5KCkpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAg
ICAgIH0KIApAQCAtMTA5LDcgKzEwOSw3IEBAIHZvaWQgUmVuZGVyTWF0aE1MUm93OjpsYXlvdXRS
b3dJdGVtcyhMYXkKIAogICAgICAgICBpZiAoaXM8UmVuZGVyTWF0aE1MQmxvY2s+KGNoaWxkKSkg
ewogICAgICAgICAgICAgYXV0byByZW5kZXJPcGVyYXRvciA9IGRvd25jYXN0PFJlbmRlck1hdGhN
TEJsb2NrPihjaGlsZCktPnVuZW1iZWxsaXNoZWRPcGVyYXRvcigpOwotICAgICAgICAgICAgaWYg
KHJlbmRlck9wZXJhdG9yICYmIHJlbmRlck9wZXJhdG9yLT5oYXNPcGVyYXRvckZsYWcoTWF0aE1M
T3BlcmF0b3JEaWN0aW9uYXJ5OjpTdHJldGNoeSkgJiYgcmVuZGVyT3BlcmF0b3ItPmlzVmVydGlj
YWwoKSkKKyAgICAgICAgICAgIGlmIChyZW5kZXJPcGVyYXRvciAmJiByZW5kZXJPcGVyYXRvci0+
aXNTdHJldGNoeSgpICYmIHJlbmRlck9wZXJhdG9yLT5pc1ZlcnRpY2FsKCkpCiAgICAgICAgICAg
ICAgICAgcmVuZGVyT3BlcmF0b3ItPnN0cmV0Y2hUbyhhc2NlbnQsIGRlc2NlbnQpOwogICAgICAg
ICB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1M
VW5kZXJPdmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0
aG1sL1JlbmRlck1hdGhNTFVuZGVyT3Zlci5jcHAJKHJldmlzaW9uIDIwODI5MikKKysrIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MVW5kZXJPdmVyLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNTYsNyArNTYsNyBAQCB2b2lkIFJlbmRlck1hdGhNTFVuZGVyT3Zlcjo6
Y29tcHV0ZU9wZXJhCiAgICAgICAgIGlmIChjaGlsZC0+bmVlZHNMYXlvdXQoKSkgewogICAgICAg
ICAgICAgaWYgKGlzPFJlbmRlck1hdGhNTEJsb2NrPihjaGlsZCkpIHsKICAgICAgICAgICAgICAg
ICBpZiAoYXV0byByZW5kZXJPcGVyYXRvciA9IGRvd25jYXN0PFJlbmRlck1hdGhNTEJsb2NrPigq
Y2hpbGQpLnVuZW1iZWxsaXNoZWRPcGVyYXRvcigpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlm
IChyZW5kZXJPcGVyYXRvci0+aGFzT3BlcmF0b3JGbGFnKE1hdGhNTE9wZXJhdG9yRGljdGlvbmFy
eTo6U3RyZXRjaHkpICYmICFyZW5kZXJPcGVyYXRvci0+aXNWZXJ0aWNhbCgpKSB7CisgICAgICAg
ICAgICAgICAgICAgIGlmIChyZW5kZXJPcGVyYXRvci0+aXNTdHJldGNoeSgpICYmICFyZW5kZXJP
cGVyYXRvci0+aXNWZXJ0aWNhbCgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXJP
cGVyYXRvci0+cmVzZXRTdHJldGNoU2l6ZSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgcmVu
ZGVyT3BlcmF0b3JzLmFwcGVuZChyZW5kZXJPcGVyYXRvcik7CiAgICAgICAgICAgICAgICAgICAg
IH0KQEAgLTIxNyw3ICsyMTcsNyBAQCBSZW5kZXJNYXRoTUxVbmRlck92ZXI6OlZlcnRpY2FsUGFy
YW1ldGVyCiAgICAgICAgICAgICAgICAgcGFyYW1ldGVycy51c2VVbmRlck92ZXJCYXJGYWxsQmFj
ayA9IGZhbHNlOwogICAgICAgICAgICAgICAgIHJldHVybiBwYXJhbWV0ZXJzOwogICAgICAgICAg
ICAgfQotICAgICAgICAgICAgaWYgKGJhc2VPcGVyYXRvci0+aGFzT3BlcmF0b3JGbGFnKE1hdGhN
TE9wZXJhdG9yRGljdGlvbmFyeTo6U3RyZXRjaHkpICYmICFiYXNlT3BlcmF0b3ItPmlzVmVydGlj
YWwoKSkgeworICAgICAgICAgICAgaWYgKGJhc2VPcGVyYXRvci0+aXNTdHJldGNoeSgpICYmICFi
YXNlT3BlcmF0b3ItPmlzVmVydGljYWwoKSkgewogICAgICAgICAgICAgICAgIC8vIFRoZSBiYXNl
IGlzIGEgaG9yaXpvbnRhbCBzdHJldGNoeSBvcGVyYXRvciwgc28gd2UgcmVhZCBTdHJldGNoU3Rh
Y2sgY29uc3RhbnRzIGZyb20gdGhlIE1BVEggdGFibGUuCiAgICAgICAgICAgICAgICAgcGFyYW1l
dGVycy51bmRlckdhcE1pbiA9IG1hdGhEYXRhLT5nZXRNYXRoQ29uc3RhbnQocHJpbWFyeUZvbnQs
IE9wZW5UeXBlTWF0aERhdGE6OlN0cmV0Y2hTdGFja0dhcEJlbG93TWluKTsKICAgICAgICAgICAg
ICAgICBwYXJhbWV0ZXJzLm92ZXJHYXBNaW4gPSBtYXRoRGF0YS0+Z2V0TWF0aENvbnN0YW50KHBy
aW1hcnlGb250LCBPcGVuVHlwZU1hdGhEYXRhOjpTdHJldGNoU3RhY2tHYXBBYm92ZU1pbik7Cklu
ZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMDgyOTIpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAxNi0xMS0wMiAgQnJlbnQgRnVsZ2hhbSAgPGJm
dWxnaGFtQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKHIyMDMyODkpOkFzc2VydGlv
biBpbiBNYXRoT3BlcmF0b3I6OnN0cmV0Y2hUbygpIG9uIFdpa2lwZWRpYSBQYWdlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjI5MzMKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzI4NTcwNTkwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogbWF0aG1sL2VtcHR5LW1vLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogbWF0aG1sL2VtcHR5LW1vLmh0bWw6IEFkZGVkLgorCiAyMDE2LTExLTAyICBC
cmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYktpdCBudWxs
cHRyIGRlcmVmZXJlbmNlIEFyY2hpdmUgU3ViZnJhbWUKSW5kZXg6IExheW91dFRlc3RzL21hdGht
bC9lbXB0eS1tby1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvbWF0aG1s
L2VtcHR5LW1vLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9tYXRo
bWwvZW1wdHktbW8tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTQgQEAK
K1Rlc3QgcGFzc2VzIGlmIGl0IGRvZXMgbm90IGRlYnVnIGFzc2VydC4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorVGVzdCAxOiBFbXB0eSA8bW8+IHRhZzoKKworVGVzdCAyOiBNdWx0aS1jaGFy
YWN0ZXIgPG1vPiB0YWc6CisKKysrCisKSW5kZXg6IExheW91dFRlc3RzL21hdGhtbC9lbXB0eS1t
by5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL21hdGhtbC9lbXB0eS1tby5odG1sCShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL21hdGhtbC9lbXB0eS1tby5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMjMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KyAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
IDxzY3JpcHQ+CisgICAgICBkZXNjcmlwdGlvbigiVGVzdCBwYXNzZXMgaWYgaXQgZG9lcyBub3Qg
ZGVidWcgYXNzZXJ0LiIpOworICAgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisJPGRpdj4K
KyAgICAgICAgPHA+VGVzdCAxOiBFbXB0eSAmbHQ7bW8mZ3Q7IHRhZzo8L3A+CisgICAgICAgIDxt
YXRoPgorICAgICAgICAgICAgPG1vIHN0cmV0Y2h5PSJ0cnVlIj48L21vPgorICAgICAgICA8L21h
dGg+CisgICAgPC9kaXY+CisJPGRpdj4KKyAgICAgICAgPHA+VGVzdCAyOiBNdWx0aS1jaGFyYWN0
ZXIgJmx0O21vJmd0OyB0YWc6PC9wPgorICAgICAgICA8bWF0aD4KKyAgICAgICAgICAgIDxtbyBz
dHJldGNoeT0idHJ1ZSI+Kys8L21vPgorICAgICAgICA8L21hdGg+CisgICAgPC9kaXY+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>
<flag name="review"
          id="316529"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>