<?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>86885</bug_id>
          
          <creation_ts>2012-05-18 12:49:29 -0700</creation_ts>
          <short_desc>CSS 2.1 failure: border-conflict-element-021a</short_desc>
          <delta_ts>2012-06-05 08:37:46 -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>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.gtalbot.org/BrowserBugsSection/css21testsuite/border-conflict-element-021a.html</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Robert Hogan">robert</reporter>
          <assigned_to name="Arpita Bahuguna">arpitabahuguna</assigned_to>
          <cc>arpitabahuguna</cc>
    
    <cc>darin</cc>
    
    <cc>eric</cc>
    
    <cc>gustavo</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>philn</cc>
    
    <cc>pravind.2k4</cc>
    
    <cc>robert</cc>
    
    <cc>vijayan.bits</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>627944</commentid>
    <comment_count>0</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2012-05-18 12:49:29 -0700</bug_when>
    <thetext>&quot;When two adjacent table row groups (thead, tbody, tfoot) have the same border-width and the same border-style in a &apos;border-collapse: collapse&apos; table, then the color of the border from the topmost table row group wins: so, a thead wins over a tbody which wins over tfoot.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627946</commentid>
    <comment_count>1</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2012-05-18 12:51:09 -0700</bug_when>
    <thetext>Hi Arpita,

You&apos;ve shown some interest in border-collapsing so if you want to take this please assign it to yourself so we know you&apos;re working on it! Otherwise I&apos;ll have a look myself later..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628393</commentid>
    <comment_count>2</comment_count>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-05-19 04:11:38 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Hi Arpita,
&gt; 
&gt; You&apos;ve shown some interest in border-collapsing so if you want to take this please assign it to yourself so we know you&apos;re working on it! Otherwise I&apos;ll have a look myself later..

Sure Robert.. will definitely work on this issue but am afraid I don&apos;t have &quot;editbugs&quot; bit set for my ID to assign this issue to myself. Would appreciate if you could assign this issue to me. Even otherwise I shall look into this bug and try to come up with a patch as soon as possible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>631451</commentid>
    <comment_count>3</comment_count>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-05-23 03:15:46 -0700</bug_when>
    <thetext>This issue is not as much to do with the collapsed before border (with a section above) being computed incorrectly than to do with the sequence in which the collapsed borders are painted.

As is visible, the before border for body does have the blue color (head&apos;s or the previous row group&apos;s after border given precedence), it&apos;s only at the corners wherein the diff occurs which is due to the left and the right borders being drawn after the top and bottom borders thereby causing the overlap. 

The reason why this same does not occur with the tbody and tfoot is because in the test page tfoot has been specified before tbody and thus is drawn before tbody. If in the test page the tfoot were to be moved after the tbody, same issue would arise between these two row-groups as well.

Keeping the order in which the collapsed borders paint over each other in the same cell intact probably we need to look at the order in which the row-groups/sections are painted; starting from the bottom to the top??</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632605</commentid>
    <comment_count>4</comment_count>
      <attachid>143781</attachid>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-05-24 04:18:49 -0700</bug_when>
    <thetext>Created attachment 143781
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632606</commentid>
    <comment_count>5</comment_count>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-05-24 04:23:01 -0700</bug_when>
    <thetext>Uploaded patch as per the aforementioned comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632908</commentid>
    <comment_count>6</comment_count>
      <attachid>143781</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2012-05-24 10:19:40 -0700</bug_when>
    <thetext>Comment on attachment 143781
Patch

Very nice. Looks good to me. You should ping jchaffraix as he is a reviewer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633185</commentid>
    <comment_count>7</comment_count>
      <attachid>143781</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-05-24 13:54:44 -0700</bug_when>
    <thetext>Comment on attachment 143781
Patch

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

Nice change, some comments.

&gt; Source/WebCore/rendering/RenderTable.cpp:595
&gt; +            for (RenderObject* child = lastChild(); child; child = child-&gt;previousSibling())

While this change is good, I would really love for us to iterate directly over RenderTableSection here. You would need to add the following function though:

RenderTableSection* lastSection() const;

and the iterate using sectionAbove().

&gt; LayoutTests/fast/table/border-collapsing/adjacent-row-groups-expected.html:2
&gt; +&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01//EN&quot; &quot;http://www.w3.org/TR/html4/strict.dtd&quot;&gt;

Please, let&apos;s use the HTML5 doctype:

&lt;!DOCTYPE html&gt;

&gt; LayoutTests/fast/table/border-collapsing/adjacent-row-groups-expected.html:7
&gt; +&lt;title&gt;Bugzilla Bug: 86885. CSS Test: Border conflict resolution - adjacent table row groups with same border-style and border-width. Expected result.&lt;/title&gt;

Just remove the title (see below why).

&gt; LayoutTests/fast/table/border-collapsing/adjacent-row-groups-expected.html:20
&gt; +&lt;p&gt;When two adjacent table row groups (thead, tbody, tfoot) have the same border-width and the same border-style in a &apos;border-collapse: collapse&apos; table, then the color of the border from the topmost table row group wins: so, a thead wins over a tbody which wins over tfoot.&lt;/p&gt;
&gt; +  

The long explanation is nice but the following more basic information are useful and should also be present (in the output as this is a ref-test, not in a non-dumped &lt;title&gt; tag):
* bug id, bonus point for having a clickable form.
* bug title
* what are the condition for the test to pass.

&gt; LayoutTests/fast/table/border-collapsing/adjacent-row-groups-expected.html:23
&gt; +
&gt; +    

Please remove those unneeded empty lines (not repeated).

Also let&apos;s add the missing section.

&gt; LayoutTests/fast/table/border-collapsing/adjacent-row-groups-expected.html:25
&gt; +            &lt;td class=&quot;t1&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;

Nit: You don&apos;t strictly need any text here and could just specify the size of your cells in CSS:

td {
   width: 100px;
   height: 100px;
}

(text has several issues in test cases that makes me avoid it as much as I can)

&gt; LayoutTests/fast/table/border-collapsing/adjacent-row-groups.html:16
&gt; +    thead {border-color: blue;}
&gt; +    tbody {border-color: yellow;}
&gt; +    tfoot {border-color: orange;}

A good reading on test case is the trac page about that: http://trac.webkit.org/wiki/Writing%20Layout%20Tests%20for%20DumpRenderTree#Generaltips

I usually prefer a red / green test: everything that shouldn&apos;t be shown should be red and everything that should be shown should be green. Here it would give the following rules:

thead, tbody, tfoot {
    border: 1px solid green;
    border-top: 1px solid red;
}
thead {
    border-top: 1px solid green;
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635154</commentid>
    <comment_count>8</comment_count>
      <attachid>144341</attachid>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-05-28 05:52:12 -0700</bug_when>
    <thetext>Created attachment 144341
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635193</commentid>
    <comment_count>9</comment_count>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-05-28 07:06:34 -0700</bug_when>
    <thetext>(In reply to comment #7)
Thanks for the review Julien. Apologize for the delay in uploading the patch though.
Have incorporated most of the changes suggested by you in this patch.
Just a few variances:

&gt; (From update of attachment 143781 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=143781&amp;action=review
&gt; 
&gt; Nice change, some comments.
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderTable.cpp:595
&gt; &gt; +            for (RenderObject* child = lastChild(); child; child = child-&gt;previousSibling())
&gt; 
&gt; While this change is good, I would really love for us to iterate directly over RenderTableSection here. You would need to add the following function though:
&gt; 
&gt; RenderTableSection* lastSection() const;
&gt; 
&gt; and the iterate using sectionAbove().
&gt; 
&gt; &gt; LayoutTests/fast/table/border-collapsing/adjacent-row-groups-expected.html:2
&gt; &gt; +&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01//EN&quot; &quot;http://www.w3.org/TR/html4/strict.dtd&quot;&gt;
&gt; 
&gt; Please, let&apos;s use the HTML5 doctype:
&gt; 
&gt; &lt;!DOCTYPE html&gt;
&gt; 
&gt; &gt; LayoutTests/fast/table/border-collapsing/adjacent-row-groups-expected.html:7
&gt; &gt; +&lt;title&gt;Bugzilla Bug: 86885. CSS Test: Border conflict resolution - adjacent table row groups with same border-style and border-width. Expected result.&lt;/title&gt;
&gt; 
&gt; Just remove the title (see below why).
&gt; 
&gt; &gt; LayoutTests/fast/table/border-collapsing/adjacent-row-groups-expected.html:20
&gt; &gt; +&lt;p&gt;When two adjacent table row groups (thead, tbody, tfoot) have the same border-width and the same border-style in a &apos;border-collapse: collapse&apos; table, then the color of the border from the topmost table row group wins: so, a thead wins over a tbody which wins over tfoot.&lt;/p&gt;
&gt; &gt; +  
&gt; 
&gt; The long explanation is nice but the following more basic information are useful and should also be present (in the output as this is a ref-test, not in a non-dumped &lt;title&gt; tag):
&gt; * bug id, bonus point for having a clickable form.
&gt; * bug title
&gt; * what are the condition for the test to pass.
&gt; 
&gt; &gt; LayoutTests/fast/table/border-collapsing/adjacent-row-groups-expected.html:23
&gt; &gt; +
&gt; &gt; +    
&gt; 
&gt; Please remove those unneeded empty lines (not repeated).

Have incorporated the aforementioned changes.
&gt; 
&gt; Also let&apos;s add the missing section.
&gt; 
If I add the sections i.e. thead etc. to the expected testcase then it starts behaving in the exact same way as the actual test case. Since my expected testcase should show the desired result even without the fix, have desisted from adding the sections to the expected page.

&gt; &gt; LayoutTests/fast/table/border-collapsing/adjacent-row-groups-expected.html:25
&gt; &gt; +            &lt;td class=&quot;t1&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;
&gt; 
&gt; Nit: You don&apos;t strictly need any text here and could just specify the size of your cells in CSS:
&gt; 
&gt; td {
&gt;    width: 100px;
&gt;    height: 100px;
&gt; }
&gt; 
&gt; (text has several issues in test cases that makes me avoid it as much as I can)
&gt; 
&gt; &gt; LayoutTests/fast/table/border-collapsing/adjacent-row-groups.html:16
&gt; &gt; +    thead {border-color: blue;}
&gt; &gt; +    tbody {border-color: yellow;}
&gt; &gt; +    tfoot {border-color: orange;}
&gt; 
&gt; A good reading on test case is the trac page about that: http://trac.webkit.org/wiki/Writing%20Layout%20Tests%20for%20DumpRenderTree#Generaltips
&gt; 
&gt; I usually prefer a red / green test: everything that shouldn&apos;t be shown should be red and everything that should be shown should be green. Here it would give the following rules:
&gt; 
&gt; thead, tbody, tfoot {
&gt;     border: 1px solid green;
&gt;     border-top: 1px solid red;
&gt; }

Setting the border-top as red does not have any effect as the &quot;before&quot; border of the section above gets higher priority thereby painting all the borders in green color.

&gt; thead {
&gt;     border-top: 1px solid green;
&gt; }
Since the actual differing regions are the overlapping corners of the borders alone it was difficult to obtain the desired output (i.e. only to have the corners paint in red). Have thus made the border-color of the middle section red which brings out the difference in the corners. Between the tbody and thead sections the red border-color of the tbody section overlaps the green of thead and between the tfoot and the tbody sections the green border-color of the tfoot overlaps the red of tbody.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636349</commentid>
    <comment_count>10</comment_count>
      <attachid>144341</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-05-29 12:53:07 -0700</bug_when>
    <thetext>Comment on attachment 144341
Patch

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

I want to say r=me but I am troubled by the naming.

&gt; Source/WebCore/rendering/RenderTable.cpp:595
&gt; +            for (RenderTableSection* section = lastSection(); section; section = sectionAbove(section)) {

The mix of names here, lastSection with sectionAbove, seems wrong. The new function should be named bottomSection if it works with sectionAbove, or lastSection if it works with sectionBefore.

&gt; Source/WebCore/rendering/RenderTable.cpp:1117
&gt; +    if (m_firstBody) {

Is the null check of m_firstBody an important optimization?

&gt; Source/WebCore/rendering/RenderTable.cpp:1120
&gt; +        for (RenderObject* section = lastChild(); section; section = section-&gt;previousSibling())
&gt; +            if (section-&gt;isTableSection() &amp;&amp; section != m_head)
&gt; +                return toRenderTableSection(section);

In WebKit coding style, this for statement should have braces.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636371</commentid>
    <comment_count>11</comment_count>
      <attachid>144341</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-05-29 13:13:37 -0700</bug_when>
    <thetext>Comment on attachment 144341
Patch

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

r- due to the multiple headers / footers issue.

&gt; Source/WebCore/ChangeLog:3
&gt; +        CSS 2.1 failure: border-conflict-element-021a

Btw, I would expect to see this test added or unskipped as part of this change.

&gt; Source/WebCore/rendering/RenderTable.cpp:597
&gt; +                static_cast&lt;RenderObject*&gt;(section)-&gt;paint(info, childPoint);

No static_cast please, if you can&apos;t call paint because paint() is private, you should make it public (don&apos;t forget to annotate the function with OVERRIDE as you move it).

&gt; Source/WebCore/rendering/RenderTable.cpp:1122
&gt; +    if (m_foot)
&gt; +        return m_foot;
&gt; +    if (m_firstBody) {
&gt; +        for (RenderObject* section = lastChild(); section; section = section-&gt;previousSibling())
&gt; +            if (section-&gt;isTableSection() &amp;&amp; section != m_head)
&gt; +                return toRenderTableSection(section);
&gt; +    }
&gt; +    return m_head;

m_foot, m_firstBody, m_head are the top (ie first) sections of this type. We allow several footers and headers to be inserted in our tree so this means this function will be totally broken in this case.

The fact that it is making no test fail means that our testing is lacking and should be improved.

&gt; LayoutTests/fast/table/border-collapsing/adjacent-row-groups-expected.html:12
&gt; +  .red { border-color: red; }

As said, I would rather reserve &apos;red&apos; for failures. In this case, use another color as this makes the output confusing for someone unfamiliar with the test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637116</commentid>
    <comment_count>12</comment_count>
      <attachid>144782</attachid>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-05-30 04:58:55 -0700</bug_when>
    <thetext>Created attachment 144782
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637119</commentid>
    <comment_count>13</comment_count>
      <attachid>144782</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-05-30 05:09:14 -0700</bug_when>
    <thetext>Comment on attachment 144782
Patch

Attachment 144782 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12841970</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637125</commentid>
    <comment_count>14</comment_count>
      <attachid>144785</attachid>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-05-30 05:21:54 -0700</bug_when>
    <thetext>Created attachment 144785
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637129</commentid>
    <comment_count>15</comment_count>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-05-30 05:30:15 -0700</bug_when>
    <thetext>(In reply to comment #10)

Thanks for the review Darin. Have uploaded another patch with the specified changes.

&gt; (From update of attachment 144341 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=144341&amp;action=review
&gt; 
&gt; I want to say r=me but I am troubled by the naming.
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderTable.cpp:595
&gt; &gt; +            for (RenderTableSection* section = lastSection(); section; section = sectionAbove(section)) {
&gt; 
&gt; The mix of names here, lastSection with sectionAbove, seems wrong. The new function should be named bottomSection if it works with sectionAbove, or lastSection if it works with sectionBefore.

Have changed the name to bottomSection().

&gt; 
&gt; &gt; Source/WebCore/rendering/RenderTable.cpp:1117
&gt; &gt; +    if (m_firstBody) {
&gt; 
&gt; Is the null check of m_firstBody an important optimization?
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderTable.cpp:1120
&gt; &gt; +        for (RenderObject* section = lastChild(); section; section = section-&gt;previousSibling())
&gt; &gt; +            if (section-&gt;isTableSection() &amp;&amp; section != m_head)
&gt; &gt; +                return toRenderTableSection(section);
&gt; 
&gt; In WebKit coding style, this for statement should have braces.
Have modified this function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637135</commentid>
    <comment_count>16</comment_count>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-05-30 05:48:41 -0700</bug_when>
    <thetext>(In reply to comment #11)

Julien, have uploaded another patch with changes as suggested by you. Please review the same.

&gt; (From update of attachment 144341 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=144341&amp;action=review
&gt; 
&gt; r- due to the multiple headers / footers issue.
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:3
&gt; &gt; +        CSS 2.1 failure: border-conflict-element-021a
&gt; 
&gt; Btw, I would expect to see this test added or unskipped as part of this change.
border-conflict-element-021a currently does not exist in our css2.1 testsuite. So in all probability shall have to add the same to the testsuite.
Am sorry but am unaware on how to go about doing this since the only place where I found the test is at http://www.gtalbot.org/BrowserBugsSection/css21testsuite/border-conflict-element-021a.html
Is it okay to copy the test-case directly from this site?

&gt; 
&gt; &gt; Source/WebCore/rendering/RenderTable.cpp:597
&gt; &gt; +                static_cast&lt;RenderObject*&gt;(section)-&gt;paint(info, childPoint);
&gt; 
&gt; No static_cast please, if you can&apos;t call paint because paint() is private, you should make it public (don&apos;t forget to annotate the function with OVERRIDE as you move it).
Have taken care of this; paint() has been made public for RenderTableSection.

&gt; 
&gt; &gt; Source/WebCore/rendering/RenderTable.cpp:1122
&gt; &gt; +    if (m_foot)
&gt; &gt; +        return m_foot;
&gt; &gt; +    if (m_firstBody) {
&gt; &gt; +        for (RenderObject* section = lastChild(); section; section = section-&gt;previousSibling())
&gt; &gt; +            if (section-&gt;isTableSection() &amp;&amp; section != m_head)
&gt; &gt; +                return toRenderTableSection(section);
&gt; &gt; +    }
&gt; &gt; +    return m_head;
&gt; 
&gt; m_foot, m_firstBody, m_head are the top (ie first) sections of this type. We allow several footers and headers to be inserted in our tree so this means this function will be totally broken in this case.
&gt; 
&gt; The fact that it is making no test fail means that our testing is lacking and should be improved.
&gt; 
Have modified this function.
If m_foot is present, return that else iterate using lastChild() and return the first RenderTableSection (from the bottom).
The multiple tfoot problem will not arise with this change since the first tfoot encountered in the table is marked as m_foot. Following tfoot(s) (if any) are simply added as sibling(s) to the previous section. 
Now we always render this m_foot as the bottom-most section irrespective of whether any other tfoot was specified in the table after this.
Thus for tfoot (if specified), m_foot would point to the last section of the table.

&gt; &gt; LayoutTests/fast/table/border-collapsing/adjacent-row-groups-expected.html:12
&gt; &gt; +  .red { border-color: red; }
&gt; 
&gt; As said, I would rather reserve &apos;red&apos; for failures. In this case, use another color as this makes the output confusing for someone unfamiliar with the test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637139</commentid>
    <comment_count>17</comment_count>
      <attachid>144785</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-05-30 05:57:03 -0700</bug_when>
    <thetext>Comment on attachment 144785
Patch

Attachment 144785 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12842863</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637396</commentid>
    <comment_count>18</comment_count>
      <attachid>144785</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-05-30 10:32:42 -0700</bug_when>
    <thetext>Comment on attachment 144785
Patch

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

Please add the requested testing, this would make me confident that you are not breaking already working code. Without those tests, I don&apos;t think we should accept the patch as it&apos;s too easy to break painting.

&gt; Source/WebCore/ChangeLog:3
&gt; +        CSS 2.1 failure: border-conflict-element-021a

My take would be to add the test as part of this change. You should grab the change from the official test suite, not one of the test author&apos;s website. Robert knows where it is if you can&apos;t find it.

&gt; Source/WebCore/rendering/RenderTable.cpp:1118
&gt; +    if (m_foot)
&gt; +        bottomSection = m_foot;

This is still wrong. All the pointers are to the *first* section of its kind, including m_foot. Note that sectionBelow seems to have the same logical flaw.

If you had added some testing as requested previous for the multiple sections of the same type you would have seen an issue here.

&gt; Source/WebCore/rendering/RenderTable.h:195
&gt; +    RenderTableSection* bottomSection() const;

Note that bottom / top are in device coordinates and the naming don&apos;t play well with writing-mode (which is supported on table). As we are not consistent in our naming here, this shouldn&apos;t be a show-stopper.

&gt; LayoutTests/fast/table/border-collapsing/adjacent-row-groups-expected.html:6
&gt; +&lt;title&gt;Bugzilla Bug 86885: CSS 2.1 failure: border-conflict-element-021a. Expected result.&lt;/title&gt;

Unneeded title.

&gt; LayoutTests/fast/table/border-collapsing/adjacent-row-groups-expected.html:7
&gt; +&lt;style type=&quot;text/css&quot;&gt;

Unneeded type attribute.

&gt; LayoutTests/fast/table/border-collapsing/adjacent-row-groups-expected.html:27
&gt; +

Can you remove the unneeded space?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639020</commentid>
    <comment_count>19</comment_count>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-06-01 00:04:53 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 143781 [details])
&gt; Very nice. Looks good to me. You should ping jchaffraix as he is a reviewer.
Hi Robert. Would really appreciate if you could help me get the border-conflict-element-021a testcase or point me in the right direction.
I did search in the official test suite: http://test.csswg.org/suites/css2.1/20110323/ but was only able to get border-conflict-element-021.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639298</commentid>
    <comment_count>20</comment_count>
      <attachid>145295</attachid>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-06-01 07:01:32 -0700</bug_when>
    <thetext>Created attachment 145295
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639315</commentid>
    <comment_count>21</comment_count>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-06-01 07:17:58 -0700</bug_when>
    <thetext>(In reply to comment #18)
Thanks for the review Julien, have uploaded another patch.

&gt; (From update of attachment 144785 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=144785&amp;action=review
&gt; 
&gt; Please add the requested testing, this would make me confident that you are not breaking already working code. Without those tests, I don&apos;t think we should accept the patch as it&apos;s too easy to break painting.
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:3
&gt; &gt; +        CSS 2.1 failure: border-conflict-element-021a
&gt; 
&gt; My take would be to add the test as part of this change. You should grab the change from the official test suite, not one of the test author&apos;s website. Robert knows where it is if you can&apos;t find it.
&gt; 
I was unable to locate border-conflict-element-021a on the official test suite: http://test.csswg.org/suites/css2.1/20110323/. Have requested Robert to help me with the same.

&gt; &gt; Source/WebCore/rendering/RenderTable.cpp:1118
&gt; &gt; +    if (m_foot)
&gt; &gt; +        bottomSection = m_foot;
&gt; 
&gt; This is still wrong. All the pointers are to the *first* section of its kind, including m_foot. Note that sectionBelow seems to have the same logical flaw.
&gt; 
&gt; If you had added some testing as requested previous for the multiple sections of the same type you would have seen an issue here.
&gt; 
Have added a new ref test adjacent-row-groups-multi.html which consists of a border-collapsed table with 2 theads and 2 tfoots.
WebKit&apos;s rendering in this scenario is the same as is on other browsers such as FF, Opera and I.E.
The first tfoot encountered is the last section to be rendered.
Thus going by that logic m_foot which points to the first tfoot specified within the table would still be the last section.
While iterating over the DOM nodes the order would be like head1, head2, body, foot1, foot2 but if you see in terms of sections then the ordering is like: head1, head2, body, foot2, foot1.
This behavior seems to be in accordance with other browsers as well.

&gt; &gt; Source/WebCore/rendering/RenderTable.h:195
&gt; &gt; +    RenderTableSection* bottomSection() const;
&gt; 
&gt; Note that bottom / top are in device coordinates and the naming don&apos;t play well with writing-mode (which is supported on table). As we are not consistent in our naming here, this shouldn&apos;t be a show-stopper.
&gt; 

&gt; &gt; LayoutTests/fast/table/border-collapsing/adjacent-row-groups-expected.html:6
&gt; &gt; +&lt;title&gt;Bugzilla Bug 86885: CSS 2.1 failure: border-conflict-element-021a. Expected result.&lt;/title&gt;
&gt; 
&gt; Unneeded title.
&gt; 
&gt; &gt; LayoutTests/fast/table/border-collapsing/adjacent-row-groups-expected.html:7
&gt; &gt; +&lt;style type=&quot;text/css&quot;&gt;
&gt; 
&gt; Unneeded type attribute.
&gt; 
&gt; &gt; LayoutTests/fast/table/border-collapsing/adjacent-row-groups-expected.html:27
&gt; &gt; +
&gt; 
&gt; Can you remove the unneeded space?
Have made the changes as suggested in the layout testcases.

Also, since I currently do not have a mac at my disposal I was unable to figure out the reason for the build failure on mac for my previous patch. Would really appreciate it if you could help me out with that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639548</commentid>
    <comment_count>22</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2012-06-01 11:34:42 -0700</bug_when>
    <thetext>I grabbed the testcase from here:

http://lists.w3.org/Archives/Public/public-css-testsuite/2012May/0022.html

It&apos;s now in the nightly unstable branch of the test suite:

http://test.csswg.org/suites/css2.1/nightly-unstable/html4/border-conflict-element-021a.htm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639555</commentid>
    <comment_count>23</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2012-06-01 11:39:51 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; 
&gt; Also, since I currently do not have a mac at my disposal I was unable to figure out the reason for the build failure on mac for my previous patch. Would really appreciate it if you could help me out with that.

It builds cleanly now. You can click through to the output from the build button - in this case there&apos;s nothing revealing there so looks unrelated to your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639559</commentid>
    <comment_count>24</comment_count>
      <attachid>145295</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2012-06-01 11:44:58 -0700</bug_when>
    <thetext>Comment on attachment 145295
Patch

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

Sorry for the drive-by comments - I hope these iterations aren&apos;t doing your head in, they are a fact of life with rendering code unfortunately.

&gt; Source/WebCore/rendering/RenderTable.cpp:1118
&gt; +    if (m_foot)
&gt; +        bottomSection = m_foot;

You should return early here instead of branching.

&gt; Source/WebCore/rendering/RenderTable.cpp:1121
&gt; +        for (child = lastChild(); child &amp;&amp; !child-&gt;isTableSection(); child = child-&gt;previousSibling()) { }

This looks like it should be a &apos;while&apos; clause that returns when it finds a TableSection.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639562</commentid>
    <comment_count>25</comment_count>
      <attachid>145295</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2012-06-01 11:48:50 -0700</bug_when>
    <thetext>Comment on attachment 145295
Patch

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

&gt;&gt; Source/WebCore/rendering/RenderTable.cpp:1121
&gt;&gt; +        for (child = lastChild(); child &amp;&amp; !child-&gt;isTableSection(); child = child-&gt;previousSibling()) { }
&gt; 
&gt; This looks like it should be a &apos;while&apos; clause that returns when it finds a TableSection.

It doesn&apos;t have to be a &apos;while&apos; clause btw - but an empty &apos;for&apos; clause definitely looks wrong here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>640346</commentid>
    <comment_count>26</comment_count>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-06-03 23:22:29 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt; I grabbed the testcase from here:
&gt; 
&gt; http://lists.w3.org/Archives/Public/public-css-testsuite/2012May/0022.html
&gt; 
&gt; It&apos;s now in the nightly unstable branch of the test suite:
&gt; 
&gt; http://test.csswg.org/suites/css2.1/nightly-unstable/html4/border-conflict-element-021a.htm

Thanks so much for this! I&apos;ll get the testcase from here..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>640357</commentid>
    <comment_count>27</comment_count>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-06-03 23:58:36 -0700</bug_when>
    <thetext>(In reply to comment #24)
&gt; (From update of attachment 145295 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=145295&amp;action=review
&gt; 
&gt; Sorry for the drive-by comments - I hope these iterations aren&apos;t doing your head in, they are a fact of life with rendering code unfortunately.
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderTable.cpp:1118
&gt; &gt; +    if (m_foot)
&gt; &gt; +        bottomSection = m_foot;
&gt; 
&gt; You should return early here instead of branching.
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderTable.cpp:1121
&gt; &gt; +        for (child = lastChild(); child &amp;&amp; !child-&gt;isTableSection(); child = child-&gt;previousSibling()) { }
&gt; 
&gt; This looks like it should be a &apos;while&apos; clause that returns when it finds a TableSection.

Robert, the comments/reviews are most welcome. I wanted to avoid multiple returns from bottomSection() and hence the implementation.
I shall incorporate your suggestions in the next patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>640443</commentid>
    <comment_count>28</comment_count>
      <attachid>145552</attachid>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-06-04 03:11:54 -0700</bug_when>
    <thetext>Created attachment 145552
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641075</commentid>
    <comment_count>29</comment_count>
      <attachid>145552</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-06-04 18:10:26 -0700</bug_when>
    <thetext>Comment on attachment 145552
Patch

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

Thanks for fixing all the issues. r=me with one comment and one nit. Btw, if you want your patch to be landed make sure you check the cq? flag as part of your change (under webkit-patch, you can use --request-commit).

&gt; Source/WebCore/rendering/RenderTable.cpp:1119
&gt; +    if (m_foot)
&gt; +        return m_foot;

I am still surprised at that working but thanks the new test is passing so it must be me.

&gt; Source/WebCore/rendering/RenderTable.h:195
&gt; +    RenderTableSection* bottomSection() const;

This should go next to the topSection() getter.

&gt; LayoutTests/fast/table/border-collapsing/adjacent-row-groups-expected.html:4
&gt; +
&gt; +&lt;html&gt;
&gt; +

Nit: I really don&apos;t think this spaces add much. Not repeated on the other files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641383</commentid>
    <comment_count>30</comment_count>
      <attachid>145750</attachid>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-06-05 03:46:23 -0700</bug_when>
    <thetext>Created attachment 145750
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641388</commentid>
    <comment_count>31</comment_count>
    <who name="Arpita Bahuguna">arpitabahuguna</who>
    <bug_when>2012-06-05 03:51:58 -0700</bug_when>
    <thetext>(In reply to comment #29)
&gt; (From update of attachment 145552 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=145552&amp;action=review
&gt; 
&gt; Thanks for fixing all the issues. r=me with one comment and one nit. Btw, if you want your patch to be landed make sure you check the cq? flag as part of your change (under webkit-patch, you can use --request-commit).
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderTable.cpp:1119
&gt; &gt; +    if (m_foot)
&gt; &gt; +        return m_foot;
&gt; 
&gt; I am still surprised at that working but thanks the new test is passing so it must be me.
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderTable.h:195
&gt; &gt; +    RenderTableSection* bottomSection() const;
&gt; 
&gt; This should go next to the topSection() getter.
&gt; 
&gt; &gt; LayoutTests/fast/table/border-collapsing/adjacent-row-groups-expected.html:4
&gt; &gt; +
&gt; &gt; +&lt;html&gt;
&gt; &gt; +
&gt; 
&gt; Nit: I really don&apos;t think this spaces add much. Not repeated on the other files.

Thanks for the r+ Julien.
Have uploaded another patch with the additional changes as suggested by you. Removed the extra line space from adjacent-row-groups-expected.html and moved bottomSection() next to topSection() in RenderTable.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641591</commentid>
    <comment_count>32</comment_count>
      <attachid>145750</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-05 08:37:37 -0700</bug_when>
    <thetext>Comment on attachment 145750
Patch

Clearing flags on attachment: 145750

Committed r119492: &lt;http://trac.webkit.org/changeset/119492&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641592</commentid>
    <comment_count>33</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-05 08:37:46 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143781</attachid>
            <date>2012-05-24 04:18:49 -0700</date>
            <delta_ts>2012-05-28 05:52:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86885-20120524165013.patch</filename>
            <type>text/plain</type>
            <size>6260</size>
            <attacher name="Arpita Bahuguna">arpitabahuguna</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExODM0NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDEyLTA1LTI0ICBBcnBpdGEg
QmFodWd1bmEgIDxhcnBpdGFiYWh1Z3VuYUBnbWFpbC5jb20+CisKKyAgICAgICAgQ1NTIDIuMSBm
YWlsdXJlOiBib3JkZXItY29uZmxpY3QtZWxlbWVudC0wMjFhCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Njg4NQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gdHdvIGFkamFjZW50IHRhYmxlIHJvdyBn
cm91cHMgKHRoZWFkLCB0Ym9keSwgdGZvb3QpIGhhdmUgdGhlIHNhbWUgYm9yZGVyLXdpZHRoIGFu
ZAorICAgICAgICB0aGUgc2FtZSBib3JkZXItc3R5bGUgaW4gYSAnYm9yZGVyLWNvbGxhcHNlOiBj
b2xsYXBzZScgdGFibGUgdGhlIHRoZSBjb2xvciBvZiB0aGUgYm9yZGVyCisgICAgICAgIGZyb20g
dGhlIHRvcG1vc3QgdGFibGUgcm93IGdyb3VwIHdpbnMuCisKKyAgICAgICAgVGVzdDogZmFzdC90
YWJsZS9ib3JkZXItY29sbGFwc2luZy9hZGphY2VudC1yb3ctZ3JvdXBzLmh0bWwKKworICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJU
YWJsZTo6cGFpbnRPYmplY3QpOgorICAgICAgICBDdXJyZW50bHkgZWFjaCByb3cgZ3JvdXAgaXMg
c2VudCBmb3IgcGFpbnQgZnJvbSB0b3AgKGZpcnN0Q2hpbGQpIHRvIGJvdHRvbSB0aGVyZWJ5IGNh
dXNpbmcKKyAgICAgICAgdGhlIGJvcmRlcnMgb2YgdGhlIGJvdHRvbS1tb3N0IHJvdy1ncm91cCAo
d2hpY2ggaXMgcGFpbnRlZCBsYXN0KSB0byBvdmVybGFwIG92ZXIgdGhlIHByZXZpb3VzCisgICAg
ICAgIHJvdy1ncm91cC4gVGhpcyBicmVha3MgdGhlIHByZWNlbmRlbmNlIGZvciBjb2xsYXBzZWQg
Ym9yZGVycyBiZXR3ZWVuIGFkamFjZW50IGNlbGxzLgorICAgICAgICAKKyAgICAgICAgVGhpcyBj
aGFuZ2UgdGh1cyByZXZlcnNlcyB0aGUgb3JkZXIgaW4gd2hpY2ggdGhlIHJvdy1ncm91cHMgYXJl
IHBhc3NlZCBmb3IgcGFpbnRpbmcgYnV0IG9ubHkKKyAgICAgICAgd2hlbiB0aGUgcGFpbnQgcGhh
c2UgaXMgc2V0IHRvIENvbGxhcHNlZFRhYmxlQm9yZGVycy4KKwogMjAxMi0wNS0yNCAgU2hpbnlh
IEthd2FuYWthICA8c2hpbnlha0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgRWxlbWVudHMgaW4g
U2hhZG93IERPTSBhcmUgbm90IHJlc2l6YWJsZS4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUYWJsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRhYmxlLmNwcAkocmV2aXNpb24gMTE4MzQ1KQorKysgU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTkyLDcgKzU5Miw3
IEBAIHZvaWQgUmVuZGVyVGFibGU6OnBhaW50T2JqZWN0KFBhaW50SW5mbyYKICAgICAgICAgc2l6
ZV90IGNvdW50ID0gbV9jb2xsYXBzZWRCb3JkZXJzLnNpemUoKTsKICAgICAgICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBjb3VudDsgKytpKSB7CiAgICAgICAgICAgICBtX2N1cnJlbnRCb3JkZXIg
PSAmbV9jb2xsYXBzZWRCb3JkZXJzW2ldOwotICAgICAgICAgICAgZm9yIChSZW5kZXJPYmplY3Qq
IGNoaWxkID0gZmlyc3RDaGlsZCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmco
KSkKKyAgICAgICAgICAgIGZvciAoUmVuZGVyT2JqZWN0KiBjaGlsZCA9IGxhc3RDaGlsZCgpOyBj
aGlsZDsgY2hpbGQgPSBjaGlsZC0+cHJldmlvdXNTaWJsaW5nKCkpCiAgICAgICAgICAgICAgICAg
aWYgKGNoaWxkLT5pc1RhYmxlU2VjdGlvbigpKSB7CiAgICAgICAgICAgICAgICAgICAgIExheW91
dFBvaW50IGNoaWxkUG9pbnQgPSBmbGlwRm9yV3JpdGluZ01vZGVGb3JDaGlsZCh0b1JlbmRlclRh
YmxlU2VjdGlvbihjaGlsZCksIHBhaW50T2Zmc2V0KTsKICAgICAgICAgICAgICAgICAgICAgY2hp
bGQtPnBhaW50KGluZm8sIGNoaWxkUG9pbnQpOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTE4MzQ1KQor
KysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMTItMDUtMjQgIEFycGl0YSBCYWh1Z3VuYSAgPGFycGl0YWJhaHVndW5hQGdtYWlsLmNvbT4K
KworICAgICAgICBDU1MgMi4xIGZhaWx1cmU6IGJvcmRlci1jb25mbGljdC1lbGVtZW50LTAyMWEK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2ODg1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L3Rh
YmxlL2JvcmRlci1jb2xsYXBzaW5nL2FkamFjZW50LXJvdy1ncm91cHMtZXhwZWN0ZWQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZmFzdC90YWJsZS9ib3JkZXItY29sbGFwc2luZy9hZGphY2VudC1y
b3ctZ3JvdXBzLmh0bWw6IEFkZGVkLgorICAgICAgICBBZGRlZCByZWYgdGVzdCBmb3IgdmVyaWZ5
aW5nICdib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlJyB0YWJsZSByZW5kZXJpbmcgd2hlbiB0d28g
YWRqYWNlbnQgdGFibGUgcm93CisgICAgICAgIGdyb3VwcyBoYXZlIHRoZSBzYW1lIGJvcmRlci13
aWR0aCBhbmQgdGhlIHNhbWUgYm9yZGVyLXN0eWxlLiBJbiBzdWNoIGEgY2FzZSB0aGUgY29sb3Ig
b2YgdGhlIGJvcmRlcgorICAgICAgICBmcm9tIHRoZSB0b3Btb3N0IHRhYmxlIHJvdyBncm91cCB3
aW5zLgorCiAyMDEyLTA1LTI0ICDDgWTDoW0gS2FsbGFpICA8a2FkYW1AaW5mLnUtc3plZ2VkLmh1
PgogCiAgICAgICAgIFtRdF0gVW5yZXZpZXdlZCBnYXJkZW5pbmcuIFNraXAgdGVzdHMgYmVjYXVz
ZSBFTkFCTEUoU0hBRE9XX0RPTSkgaXMgZGlzYWJsZWQuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L3RhYmxlL2JvcmRlci1jb2xsYXBzaW5nL2FkamFjZW50LXJvdy1ncm91cHMtZXhwZWN0ZWQuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL2JvcmRlci1jb2xsYXBzaW5n
L2FkamFjZW50LXJvdy1ncm91cHMtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL2Zhc3QvdGFibGUvYm9yZGVyLWNvbGxhcHNpbmcvYWRqYWNlbnQtcm93LWdyb3Vwcy1l
eHBlY3RlZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ0IEBACisKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAxLy9FTiIgImh0dHA6Ly93d3cudzMub3Jn
L1RSL2h0bWw0L3N0cmljdC5kdGQiPgorCis8aHRtbD4KKworPGhlYWQ+Cis8dGl0bGU+QnVnemls
bGEgQnVnOiA4Njg4NS4gQ1NTIFRlc3Q6IEJvcmRlciBjb25mbGljdCByZXNvbHV0aW9uIC0gYWRq
YWNlbnQgdGFibGUgcm93IGdyb3VwcyB3aXRoIHNhbWUgYm9yZGVyLXN0eWxlIGFuZCBib3JkZXIt
d2lkdGguIEV4cGVjdGVkIHJlc3VsdC48L3RpdGxlPgorCis8c3R5bGUgdHlwZT0idGV4dC9jc3Mi
PgordGFibGUge2JvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7fQorICAgIC50MSB7IGJvcmRlci1z
dHlsZTogc29saWQ7IGJvcmRlci13aWR0aDogMWVtOyBib3JkZXItY29sb3I6IGJsdWU7IH0KKyAg
ICAudDIgeyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItd2lkdGg6IDFlbTsgYm9yZGVyLWNv
bG9yOiB5ZWxsb3c7IH0KKyAgICAudDMgeyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItd2lk
dGg6IDFlbTsgYm9yZGVyLWNvbG9yOiBvcmFuZ2U7fQorPC9zdHlsZT4KKzwvaGVhZD4KKworPGJv
ZHk+CisKKzxwPldoZW4gdHdvIGFkamFjZW50IHRhYmxlIHJvdyBncm91cHMgKHRoZWFkLCB0Ym9k
eSwgdGZvb3QpIGhhdmUgdGhlIHNhbWUgYm9yZGVyLXdpZHRoIGFuZCB0aGUgc2FtZSBib3JkZXIt
c3R5bGUgaW4gYSAnYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZScgdGFibGUsIHRoZW4gdGhlIGNv
bG9yIG9mIHRoZSBib3JkZXIgZnJvbSB0aGUgdG9wbW9zdCB0YWJsZSByb3cgZ3JvdXAgd2luczog
c28sIGEgdGhlYWQgd2lucyBvdmVyIGEgdGJvZHkgd2hpY2ggd2lucyBvdmVyIHRmb290LjwvcD4K
KyAgCis8dGFibGU+CisKKyAgICAKKyAgICAgICAgPHRyPgorICAgICAgICAgICAgPHRkIGNsYXNz
PSJ0MSI+Jm5ic3A7Jm5ic3A7PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICAKKworICAgIAorICAg
ICAgICA8dHI+CisgICAgICAgICAgICA8dGQgY2xhc3M9InQyIj4mbmJzcDsmbmJzcDs8L3RkPgkJ
CQorICAgICAgICA8L3RyPgorICAgIAorCisgICAgCisgICAgICAgIDx0cj4KKyAgICAgICAgICAg
IDx0ZCAgY2xhc3M9InQzIj4mbmJzcDsmbmJzcDs8L3RkPgkJCQorICAgICAgICA8L3RyPgorICAg
IAorCQorPC90YWJsZT4KKworPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvdGFibGUvYm9yZGVyLWNvbGxhcHNpbmcvYWRq
YWNlbnQtcm93LWdyb3Vwcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvdGFi
bGUvYm9yZGVyLWNvbGxhcHNpbmcvYWRqYWNlbnQtcm93LWdyb3Vwcy5odG1sCShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9ib3JkZXItY29sbGFwc2luZy9hZGphY2VudC1y
b3ctZ3JvdXBzLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDcgQEAKKworPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEvL0VOIiAiaHR0cDovL3d3dy53My5v
cmcvVFIvaHRtbDQvc3RyaWN0LmR0ZCI+CisKKzxodG1sPgorCis8aGVhZD4KKzx0aXRsZT5CdWd6
aWxsYSBCdWc6IDg2ODg1LiBDU1MgVGVzdDogQm9yZGVyIGNvbmZsaWN0IHJlc29sdXRpb24gLSBh
ZGphY2VudCB0YWJsZSByb3cgZ3JvdXBzIHdpdGggc2FtZSBib3JkZXItc3R5bGUgYW5kIGJvcmRl
ci13aWR0aDwvdGl0bGU+CisKKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgdGFibGUgeyBi
b3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyB9CisKKyAgICB0aGVhZCwgdGJvZHksIHRmb290IHti
b3JkZXI6IHNvbGlkIDFlbTt9CisKKyAgICB0aGVhZCB7Ym9yZGVyLWNvbG9yOiBibHVlO30KKyAg
ICB0Ym9keSB7Ym9yZGVyLWNvbG9yOiB5ZWxsb3c7fQorICAgIHRmb290IHtib3JkZXItY29sb3I6
IG9yYW5nZTt9Cis8L3N0eWxlPgorPC9oZWFkPgorCis8Ym9keT4KKworPHA+V2hlbiB0d28gYWRq
YWNlbnQgdGFibGUgcm93IGdyb3VwcyAodGhlYWQsIHRib2R5LCB0Zm9vdCkgaGF2ZSB0aGUgc2Ft
ZSBib3JkZXItd2lkdGggYW5kIHRoZSBzYW1lIGJvcmRlci1zdHlsZSBpbiBhICdib3JkZXItY29s
bGFwc2U6IGNvbGxhcHNlJyB0YWJsZSwgdGhlbiB0aGUgY29sb3Igb2YgdGhlIGJvcmRlciBmcm9t
IHRoZSB0b3Btb3N0IHRhYmxlIHJvdyBncm91cCB3aW5zOiBzbywgYSB0aGVhZCB3aW5zIG92ZXIg
YSB0Ym9keSB3aGljaCB3aW5zIG92ZXIgdGZvb3QuPC9wPgorCisgIAorPHRhYmxlPgorICAgIDx0
aGVhZD4KKyAgICAgICAgPHRyPgorICAgICAgICAgICAgPHRkPiZuYnNwOyZuYnNwOzwvdGQ+Cisg
ICAgICAgIDwvdHI+CisgICAgPC90aGVhZD4KKwkKKyAgICA8dGJvZHk+CisgICAgICAgIDx0cj4K
KyAgICAgICAgICAgIDx0ZD4mbmJzcDsmbmJzcDs8L3RkPgorICAgICAgICA8L3RyPgorICAgIDwv
dGJvZHk+CisKKyAgICA8dGZvb3Q+CisgICAgICAgIDx0cj4KKyAgICAgICAgICAgIDx0ZD4mbmJz
cDsmbmJzcDs8L3RkPgorICAgICAgICA8L3RyPgorICAgIDwvdGZvb3Q+CisJCis8L3RhYmxlPgor
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144341</attachid>
            <date>2012-05-28 05:52:12 -0700</date>
            <delta_ts>2012-05-30 04:58:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86885-20120528182338.patch</filename>
            <type>text/plain</type>
            <size>8177</size>
            <attacher name="Arpita Bahuguna">arpitabahuguna</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExODY3NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDEyLTA1LTI4ICBBcnBpdGEg
QmFodWd1bmEgIDxhcnBpdGFiYWh1Z3VuYUBnbWFpbC5jb20+CisKKyAgICAgICAgQ1NTIDIuMSBm
YWlsdXJlOiBib3JkZXItY29uZmxpY3QtZWxlbWVudC0wMjFhCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Njg4NQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gdHdvIGFkamFjZW50IHRhYmxlIHJvdyBn
cm91cHMgKHRoZWFkLCB0Ym9keSwgdGZvb3QpIGhhdmUgdGhlIHNhbWUgYm9yZGVyLXdpZHRoCisg
ICAgICAgIGFuZCB0aGUgc2FtZSBib3JkZXItc3R5bGUgaW4gYSAnYm9yZGVyLWNvbGxhcHNlOiBj
b2xsYXBzZScgdGFibGUgdGhlIGNvbG9yIG9mIHRoZSBib3JkZXIKKyAgICAgICAgZnJvbSB0aGUg
dG9wLW1vc3QgdGFibGUgcm93IHdpbnMuCisKKyAgICAgICAgVGVzdDogZmFzdC90YWJsZS9ib3Jk
ZXItY29sbGFwc2luZy9hZGphY2VudC1yb3ctZ3JvdXBzLmh0bWwKKworICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJUYWJsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZTo6cGFp
bnRPYmplY3QpOgorICAgICAgICBDdXJyZW50bHkgZWFjaCByb3cgZ3JvdXAgaXMgc2VudCBmb3Ig
cGFpbnQgZnJvbSB0b3AgKGZpcnN0Q2hpbGQpIHRvIGJvdHRvbSB0aGVyZWJ5IGNhdXNpbmcKKyAg
ICAgICAgdGhlIGJvcmRlcnMgb2YgdGhlIGJvdHRvbS1tb3N0IHJvdyBncm91cCAod2hpY2ggaXMg
cGFpbnRlZCBsYXN0KSB0byBvdmVybGFwIG92ZXIgdGhlCisgICAgICAgIHByZXZpb3VzIHJvdy1n
cm91cC4gVGhpcyBicmVha3MgdGhlIHByZWNlZGVuY2UgZm9yIGNvbGxhcHNlZCBib3JkZXJzIGJl
dHdlZW4gYWRqYWNlbnQgY2VsbHMuCisKKyAgICAgICAgVGhpcyBmaXggdGh1cyByZXZlcnNlcyB0
aGUgb3JkZXIgaW4gd2hpY2ggdGhlIHJvdy1ncm91cHMvc2VjdGlvbnMgYXJlIHBhc3NlZCBmb3Ig
cGFpbnRpbmcuCisgICAgICAgIEFkZGl0aW9uYWwgY2hhbmdlIGhhcyBiZWVuIGRvbmUgdG8gaXRl
cmF0ZSBvdmVyIHRoZSBSZW5kZXJUYWJsZVNlY3Rpb25zIGRpcmVjdGx5LgorCisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlOjpsYXN0U2VjdGlvbik6Cisg
ICAgICAgIE5ldyBmdW5jdGlvbiBoYXMgYmVlbiBhZGRlZCBmb3Igb2J0YWluaW5nIHRoZSBsYXN0
IHNlY3Rpb24gb2YgdGhlIHRhYmxlLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxl
Lmg6CisgICAgICAgIChSZW5kZXJUYWJsZSk6CisgICAgICAgIE5ldyBmdW5jdGlvbiBoYXMgYmVl
biBhZGRlZCBmb3Igb2J0YWluaW5nIHRoZSBsYXN0IHNlY3Rpb24gb2YgdGhlIHRhYmxlLgorCiAy
MDEyLTA1LTI4ICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQuIFRlc3QgZml4IGFmdGVyIHIxMTg2NzA6IHNhdmVkIHRpbWVsaW5lIGRh
dGEgbWF5CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5jcHAJKHJl
dmlzaW9uIDExODY3NSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTU5MiwxMSArNTkyLDEwIEBAIHZvaWQgUmVuZGVyVGFibGU6
OnBhaW50T2JqZWN0KFBhaW50SW5mbyYKICAgICAgICAgc2l6ZV90IGNvdW50ID0gbV9jb2xsYXBz
ZWRCb3JkZXJzLnNpemUoKTsKICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBjb3VudDsg
KytpKSB7CiAgICAgICAgICAgICBtX2N1cnJlbnRCb3JkZXIgPSAmbV9jb2xsYXBzZWRCb3JkZXJz
W2ldOwotICAgICAgICAgICAgZm9yIChSZW5kZXJPYmplY3QqIGNoaWxkID0gZmlyc3RDaGlsZCgp
OyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmcoKSkKLSAgICAgICAgICAgICAgICBp
ZiAoY2hpbGQtPmlzVGFibGVTZWN0aW9uKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgTGF5b3V0
UG9pbnQgY2hpbGRQb2ludCA9IGZsaXBGb3JXcml0aW5nTW9kZUZvckNoaWxkKHRvUmVuZGVyVGFi
bGVTZWN0aW9uKGNoaWxkKSwgcGFpbnRPZmZzZXQpOwotICAgICAgICAgICAgICAgICAgICBjaGls
ZC0+cGFpbnQoaW5mbywgY2hpbGRQb2ludCk7Ci0gICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgZm9yIChSZW5kZXJUYWJsZVNlY3Rpb24qIHNlY3Rpb24gPSBsYXN0U2VjdGlvbigpOyBzZWN0
aW9uOyBzZWN0aW9uID0gc2VjdGlvbkFib3ZlKHNlY3Rpb24pKSB7CisgICAgICAgICAgICAgICAg
TGF5b3V0UG9pbnQgY2hpbGRQb2ludCA9IGZsaXBGb3JXcml0aW5nTW9kZUZvckNoaWxkKHNlY3Rp
b24sIHBhaW50T2Zmc2V0KTsKKyAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxSZW5kZXJPYmpl
Y3QqPihzZWN0aW9uKS0+cGFpbnQoaW5mbywgY2hpbGRQb2ludCk7CisgICAgICAgICAgICB9CiAg
ICAgICAgIH0KICAgICAgICAgbV9jdXJyZW50Qm9yZGVyID0gMDsKICAgICB9CkBAIC0xMTA5LDYg
KzExMDgsMjAgQEAgUmVuZGVyVGFibGVTZWN0aW9uKiBSZW5kZXJUYWJsZTo6c2VjdGlvbgogICAg
IHJldHVybiB0b1JlbmRlclRhYmxlU2VjdGlvbihuZXh0U2VjdGlvbik7CiB9CiAKK1JlbmRlclRh
YmxlU2VjdGlvbiogUmVuZGVyVGFibGU6Omxhc3RTZWN0aW9uKCkgY29uc3QKK3sKKyAgICByZWNh
bGNTZWN0aW9uc0lmTmVlZGVkKCk7CisKKyAgICBpZiAobV9mb290KQorICAgICAgICByZXR1cm4g
bV9mb290OworICAgIGlmIChtX2ZpcnN0Qm9keSkgeworICAgICAgICBmb3IgKFJlbmRlck9iamVj
dCogc2VjdGlvbiA9IGxhc3RDaGlsZCgpOyBzZWN0aW9uOyBzZWN0aW9uID0gc2VjdGlvbi0+cHJl
dmlvdXNTaWJsaW5nKCkpCisgICAgICAgICAgICBpZiAoc2VjdGlvbi0+aXNUYWJsZVNlY3Rpb24o
KSAmJiBzZWN0aW9uICE9IG1faGVhZCkKKyAgICAgICAgICAgICAgICByZXR1cm4gdG9SZW5kZXJU
YWJsZVNlY3Rpb24oc2VjdGlvbik7CisgICAgfQorICAgIHJldHVybiBtX2hlYWQ7Cit9CisKIFJl
bmRlclRhYmxlQ2VsbCogUmVuZGVyVGFibGU6OmNlbGxBYm92ZShjb25zdCBSZW5kZXJUYWJsZUNl
bGwqIGNlbGwpIGNvbnN0CiB7CiAgICAgcmVjYWxjU2VjdGlvbnNJZk5lZWRlZCgpOwpJbmRleDog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmgJKHJldmlzaW9uIDExODY3NSkKKysr
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5oCSh3b3JraW5nIGNvcHkpCkBA
IC0xOTIsNiArMTkyLDggQEAgcHVibGljOgogICAgIFJlbmRlclRhYmxlU2VjdGlvbiogc2VjdGlv
bkFib3ZlKGNvbnN0IFJlbmRlclRhYmxlU2VjdGlvbiosIFNraXBFbXB0eVNlY3Rpb25zVmFsdWUg
PSBEb05vdFNraXBFbXB0eVNlY3Rpb25zKSBjb25zdDsKICAgICBSZW5kZXJUYWJsZVNlY3Rpb24q
IHNlY3Rpb25CZWxvdyhjb25zdCBSZW5kZXJUYWJsZVNlY3Rpb24qLCBTa2lwRW1wdHlTZWN0aW9u
c1ZhbHVlID0gRG9Ob3RTa2lwRW1wdHlTZWN0aW9ucykgY29uc3Q7CiAKKyAgICBSZW5kZXJUYWJs
ZVNlY3Rpb24qIGxhc3RTZWN0aW9uKCkgY29uc3Q7CisKICAgICBSZW5kZXJUYWJsZUNlbGwqIGNl
bGxBYm92ZShjb25zdCBSZW5kZXJUYWJsZUNlbGwqKSBjb25zdDsKICAgICBSZW5kZXJUYWJsZUNl
bGwqIGNlbGxCZWxvdyhjb25zdCBSZW5kZXJUYWJsZUNlbGwqKSBjb25zdDsKICAgICBSZW5kZXJU
YWJsZUNlbGwqIGNlbGxCZWZvcmUoY29uc3QgUmVuZGVyVGFibGVDZWxsKikgY29uc3Q7CkluZGV4
OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCShyZXZpc2lvbiAxMTg2NzYpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0wNS0yOCAgQXJwaXRhIEJhaHVndW5hICA8YXJw
aXRhYmFodWd1bmFAZ21haWwuY29tPgorCisgICAgICAgIENTUyAyLjEgZmFpbHVyZTogYm9yZGVy
LWNvbmZsaWN0LWVsZW1lbnQtMDIxYQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODY4ODUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGZhc3QvdGFibGUvYm9yZGVyLWNvbGxhcHNpbmcvYWRqYWNlbnQtcm93
LWdyb3Vwcy1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RhYmxlL2JvcmRl
ci1jb2xsYXBzaW5nL2FkamFjZW50LXJvdy1ncm91cHMuaHRtbDogQWRkZWQuCisgICAgICAgIEFk
ZGVkIHJlZiB0ZXN0IGZvciB2ZXJpZnlpbmcgJ2JvcmRlci1jb2xsYXBzZTogY29sbGFwc2UnIHRh
YmxlIHJlbmRlcmluZyB3aGVuIHR3bworICAgICAgICBhZGphY2VudCB0YWJsZSByb3ctZ3JvdXBz
IGhhdmUgdGhlIHNhbWUgYm9yZGVyLXdpZHRoIGFuZCB0aGUgc2FtZSBib3JkZXItc3R5bGUuIElu
CisgICAgICAgIHN1Y2ggYSBjYXNlIHRoZSBjb2xvciBvZiB0aGUgYm9yZGVyIGZyb20gdGhlIHRv
cC1tb3N0IHRhYmxlIHJvdy1ncm91cCB3aW5zLgorCiAyMDEyLTA1LTI4ICBNYXJjdXMgQnVsYWNo
ICA8YnVsYWNoQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIExheW91dFRlc3RD
b250cm9sbGVyIG5lZWRzIERlZmVycmVkRnJhbWVMb2FkaW5nIGZsYWcKSW5kZXg6IExheW91dFRl
c3RzL2Zhc3QvdGFibGUvYm9yZGVyLWNvbGxhcHNpbmcvYWRqYWNlbnQtcm93LWdyb3Vwcy1leHBl
Y3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvdGFibGUvYm9yZGVyLWNv
bGxhcHNpbmcvYWRqYWNlbnQtcm93LWdyb3Vwcy1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9ib3JkZXItY29sbGFwc2luZy9hZGphY2VudC1yb3ct
Z3JvdXBzLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzkgQEAKKzwhRE9D
VFlQRSBodG1sPgorCis8aHRtbD4KKworPGhlYWQ+Cis8dGl0bGU+QnVnemlsbGEgQnVnIDg2ODg1
OiBDU1MgMi4xIGZhaWx1cmU6IGJvcmRlci1jb25mbGljdC1lbGVtZW50LTAyMWEuIEV4cGVjdGVk
IHJlc3VsdC48L3RpdGxlPgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgdGFibGUge2JvcmRl
ci1jb2xsYXBzZTogY29sbGFwc2U7fQorICAKKyAgdGQgeyB3aWR0aDogMTAwcHg7IGhlaWdodDog
MTAwcHg7IGJvcmRlcjogMWVtIHNvbGlkIGdyZWVuOyB9IAorICAKKyAgLnJlZCB7IGJvcmRlci1j
b2xvcjogcmVkOyB9CisgIAorPC9zdHlsZT4KKzwvaGVhZD4KKworPGJvZHk+Cis8cD5UZXN0IGZv
ciBCdWd6aWxsYSA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9ODY4ODUiPkJ1ZyA4Njg4NTwvYT46IENTUzIuMSBmYWlsdXJlOiBib3JkZXItY29uZmxpY3Qt
ZWxlbWVudDAyMWEuPC9wPgorPHA+V2hlbiB0d28gYWRqYWNlbnQgdGFibGUgcm93IGdyb3VwcyAo
dGhlYWQsIHRib2R5LCB0Zm9vdCkgaGF2ZSB0aGUgc2FtZSBib3JkZXItd2lkdGggYW5kIHRoZSBz
YW1lIGJvcmRlci1zdHlsZSBpbiBhICdib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlJyB0YWJsZSwg
dGhlbiB0aGUgY29sb3Igb2YgdGhlIGJvcmRlciBmcm9tIHRoZSB0b3Btb3N0IHRhYmxlIHJvdyBn
cm91cCB3aW5zOiBzbywgYSB0aGVhZCB3aW5zIG92ZXIgYSB0Ym9keSB3aGljaCB3aW5zIG92ZXIg
dGZvb3QuPC9wPgorPHA+VGhlIGJvdHRvbSBib3JkZXIgb2YgdGhlIGZpcnN0IChncmVlbikgYm94
IHNob3VsZCBiZSBjb21wbGV0ZWx5IGdyZWVuIGluIGNvbG9yIChpbmNsdWRpbmcgdGhlIGNvcm5l
cnMpLiBTaW1pbGFybHksIHRoZSBib3R0b20gYm9yZGVyIG9mIHRoZSBzZWNvbmQgKHJlZCkgYm94
IHNob3VsZCBiZSBjb21wbGV0ZWx5IHJlZCBpbiBjb2xvci48L3A+CisgIAorPHRhYmxlPgorCisg
ICAgPHRyPgorICAgICAgICA8dGQ+PC90ZD4KKyAgICA8L3RyPgorCisgICAgPHRyPgorICAgICAg
ICA8dGQgY2xhc3M9InJlZCI+PC90ZD4JCQkKKyAgICA8L3RyPgorCisgICAgPHRyPgorICAgICAg
ICA8dGQ+PC90ZD4JCQkKKyAgICAgPC90cj4KKwkKKzwvdGFibGU+CisKKzwvYm9keT4KKzwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvdGFibGUvYm9yZGVyLWNvbGxhcHNpbmcvYWRqYWNl
bnQtcm93LWdyb3Vwcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvdGFibGUv
Ym9yZGVyLWNvbGxhcHNpbmcvYWRqYWNlbnQtcm93LWdyb3Vwcy5odG1sCShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9ib3JkZXItY29sbGFwc2luZy9hZGphY2VudC1yb3ct
Z3JvdXBzLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDAgQEAKKzwhRE9DVFlQRSBodG1s
PgorCis8aHRtbD4KKworPGhlYWQ+Cis8dGl0bGU+QnVnemlsbGEgQnVnIDg2ODg1OiBDU1MgMi4x
IGZhaWx1cmU6IGJvcmRlci1jb25mbGljdC1lbGVtZW50LTAyMWE8L3RpdGxlPgorPHN0eWxlIHR5
cGU9InRleHQvY3NzIj4KKyAgdGFibGUgeyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyB9CisK
KyAgdGhlYWQsIHRib2R5LCB0Zm9vdCB7IGJvcmRlcjogMWVtIHNvbGlkIGdyZWVuOyB9CisKKyAg
dGJvZHkgeyBib3JkZXItY29sb3I6IHJlZDsgfQorICAKKyAgdGQgeyB3aWR0aDogMTAwcHg7IGhl
aWdodDogMTAwcHg7fQorPC9zdHlsZT4KKzwvaGVhZD4KKworPGJvZHk+Cis8cD5UZXN0IGZvciBC
dWd6aWxsYSA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
ODY4ODUiPkJ1ZyA4Njg4NTwvYT46IENTUzIuMSBmYWlsdXJlOiBib3JkZXItY29uZmxpY3QtZWxl
bWVudDAyMWEuPC9wPgorPHA+V2hlbiB0d28gYWRqYWNlbnQgdGFibGUgcm93IGdyb3VwcyAodGhl
YWQsIHRib2R5LCB0Zm9vdCkgaGF2ZSB0aGUgc2FtZSBib3JkZXItd2lkdGggYW5kIHRoZSBzYW1l
IGJvcmRlci1zdHlsZSBpbiBhICdib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlJyB0YWJsZSwgdGhl
biB0aGUgY29sb3Igb2YgdGhlIGJvcmRlciBmcm9tIHRoZSB0b3Btb3N0IHRhYmxlIHJvdyBncm91
cCB3aW5zOiBzbywgYSB0aGVhZCB3aW5zIG92ZXIgYSB0Ym9keSB3aGljaCB3aW5zIG92ZXIgdGZv
b3QuPC9wPgorPHA+VGhlIGJvdHRvbSBib3JkZXIgb2YgdGhlIGZpcnN0IChncmVlbikgYm94IHNo
b3VsZCBiZSBjb21wbGV0ZWx5IGdyZWVuIGluIGNvbG9yIChpbmNsdWRpbmcgdGhlIGNvcm5lcnMp
LiBTaW1pbGFybHksIHRoZSBib3R0b20gYm9yZGVyIG9mIHRoZSBzZWNvbmQgKHJlZCkgYm94IHNo
b3VsZCBiZSBjb21wbGV0ZWx5IHJlZCBpbiBjb2xvci48L3A+CisgIAorPHRhYmxlPgorCisgICAg
PHRoZWFkPgorICAgICAgICA8dHI+PHRkPjwvdGQ+PC90cj4KKyAgICA8L3RoZWFkPgorCisgICAg
PHRib2R5PgorICAgICAgICA8dHI+PHRkPjwvdGQ+PC90cj4KKyAgICA8L3Rib2R5PgorCisgICAg
PHRmb290PgorICAgICAgICA8dHI+PHRkPjwvdGQ+PC90cj4KKyAgICA8L3Rmb290PgorCQorPC90
YWJsZT4KKworPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144782</attachid>
            <date>2012-05-30 04:58:55 -0700</date>
            <delta_ts>2012-05-30 05:10:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86885-20120530173021.patch</filename>
            <type>text/plain</type>
            <size>9062</size>
            <attacher name="Arpita Bahuguna">arpitabahuguna</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExODkxMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBACisyMDEyLTA1LTMwICBBcnBpdGEg
QmFodWd1bmEgIDxhcnBpdGFiYWh1Z3VuYUBnbWFpbC5jb20+CisKKyAgICAgICAgQ1NTIDIuMSBm
YWlsdXJlOiBib3JkZXItY29uZmxpY3QtZWxlbWVudC0wMjFhCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Njg4NQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gdHdvIGFkamFjZW50IHRhYmxlIHJvdyBn
cm91cHMgKHRoZWFkLCB0Ym9keSwgdGZvb3QpIGhhdmUgdGhlIHNhbWUgYm9yZGVyLXdpZHRoCisg
ICAgICAgIGFuZCB0aGUgc2FtZSBib3JkZXItc3R5bGUgaW4gYSAnYm9yZGVyLWNvbGxhcHNlOiBj
b2xsYXBzZScgdGFibGUgdGhlIGNvbG9yIG9mIHRoZSBib3JkZXIKKyAgICAgICAgZnJvbSB0aGUg
dG9wLW1vc3QgdGFibGUgcm93IHdpbnMuIAorCisgICAgICAgIFRlc3Q6IGZhc3QvdGFibGUvYm9y
ZGVyLWNvbGxhcHNpbmcvYWRqYWNlbnQtcm93LWdyb3Vwcy5odG1sCisKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGFibGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGU6OnBh
aW50T2JqZWN0KToKKyAgICAgICAgQ3VycmVudGx5IGVhY2ggcm93IGdyb3VwIGlzIHNlbnQgZm9y
IHBhaW50IGZyb20gdG9wIChmaXJzdENoaWxkKSB0byBib3R0b20gdGhlcmVieSBjYXVzaW5nCisg
ICAgICAgIHRoZSBib3JkZXJzIG9mIHRoZSBib3R0b20tbW9zdCByb3cgZ3JvdXAgKHdoaWNoIGlz
IHBhaW50ZWQgbGFzdCkgdG8gb3ZlcmxhcCBvdmVyIHRoZQorICAgICAgICBwcmV2aW91cyByb3ct
Z3JvdXAuIFRoaXMgYnJlYWtzIHRoZSBwcmVjZWRlbmNlIGZvciBjb2xsYXBzZWQgYm9yZGVycyBi
ZXR3ZWVuIGFkamFjZW50IGNlbGxzLgorCisgICAgICAgIFRoaXMgZml4IHRodXMgcmV2ZXJzZXMg
dGhlIG9yZGVyIGluIHdoaWNoIHRoZSByb3ctZ3JvdXBzL3NlY3Rpb25zIGFyZSBwYXNzZWQgZm9y
IHBhaW50aW5nLgorICAgICAgICBBZGRpdGlvbmFsIGNoYW5nZSBoYXMgYmVlbiBkb25lIHRvIGl0
ZXJhdGUgb3ZlciB0aGUgUmVuZGVyVGFibGVTZWN0aW9ucyBkaXJlY3RseS4KKworICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZTo6Ym90dG9tU2VjdGlvbik6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxlLmg6CisgICAgICAgIE5ldyBmdW5jdGlv
biBoYXMgYmVlbiBhZGRlZCB0byBvYnRhaW4gdGhlIGxhc3Qgc2VjdGlvbiBvZiB0aGUgdGFibGUu
CisKKyAgICAgICAgKFJlbmRlclRhYmxlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGFi
bGVTZWN0aW9uLmg6CisgICAgICAgIFJlbmRlclRhYmxlU2VjdGlvbidzIHBhaW50KCkgbWV0aG9k
IGhhcyBub3cgYmVlbiBtYWRlIHB1YmxpYyBzbyBhcyB0byBtYWtlIGl0IGFjY2Vzc2libGUKKyAg
ICAgICAgZnJvbSBSZW5kZXJUYWJsZS4KKwogMjAxMi0wNS0zMCAgRXVnZW5lIEtseXVjaG5pa292
ICA8ZXVzdGFzLmJ1Z0BnbWFpbC5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogRml4IEpT
IGNvbXBpbGVyIHdhcm5pbmcKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
YWJsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRh
YmxlLmNwcAkocmV2aXNpb24gMTE4OTExKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRhYmxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTkyLDExICs1OTIsMTAgQEAgdm9pZCBS
ZW5kZXJUYWJsZTo6cGFpbnRPYmplY3QoUGFpbnRJbmZvJgogICAgICAgICBzaXplX3QgY291bnQg
PSBtX2NvbGxhcHNlZEJvcmRlcnMuc2l6ZSgpOwogICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IGNvdW50OyArK2kpIHsKICAgICAgICAgICAgIG1fY3VycmVudEJvcmRlciA9ICZtX2NvbGxh
cHNlZEJvcmRlcnNbaV07Ci0gICAgICAgICAgICBmb3IgKFJlbmRlck9iamVjdCogY2hpbGQgPSBm
aXJzdENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZygpKQotICAgICAg
ICAgICAgICAgIGlmIChjaGlsZC0+aXNUYWJsZVNlY3Rpb24oKSkgewotICAgICAgICAgICAgICAg
ICAgICBMYXlvdXRQb2ludCBjaGlsZFBvaW50ID0gZmxpcEZvcldyaXRpbmdNb2RlRm9yQ2hpbGQo
dG9SZW5kZXJUYWJsZVNlY3Rpb24oY2hpbGQpLCBwYWludE9mZnNldCk7Ci0gICAgICAgICAgICAg
ICAgICAgIGNoaWxkLT5wYWludChpbmZvLCBjaGlsZFBvaW50KTsKLSAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICBmb3IgKFJlbmRlclRhYmxlU2VjdGlvbiogc2VjdGlvbiA9IGJvdHRvbVNl
Y3Rpb24oKTsgc2VjdGlvbjsgc2VjdGlvbiA9IHNlY3Rpb25BYm92ZShzZWN0aW9uKSkgeworICAg
ICAgICAgICAgICAgIExheW91dFBvaW50IGNoaWxkUG9pbnQgPSBmbGlwRm9yV3JpdGluZ01vZGVG
b3JDaGlsZChzZWN0aW9uLCBwYWludE9mZnNldCk7CisgICAgICAgICAgICAgICAgc2VjdGlvbi0+
cGFpbnQoaW5mbywgY2hpbGRQb2ludCk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAg
ICAgbV9jdXJyZW50Qm9yZGVyID0gMDsKICAgICB9CkBAIC0xMTA5LDYgKzExMDgsMjMgQEAgUmVu
ZGVyVGFibGVTZWN0aW9uKiBSZW5kZXJUYWJsZTo6c2VjdGlvbgogICAgIHJldHVybiB0b1JlbmRl
clRhYmxlU2VjdGlvbihuZXh0U2VjdGlvbik7CiB9CiAKK1JlbmRlclRhYmxlU2VjdGlvbiogUmVu
ZGVyVGFibGU6OmJvdHRvbVNlY3Rpb24oKSBjb25zdAoreworICAgIHJlY2FsY1NlY3Rpb25zSWZO
ZWVkZWQoKTsKKworICAgIFJlbmRlclRhYmxlU2VjdGlvbiogYm90dG9tU2VjdGlvbjsKKworICAg
IGlmIChtX2Zvb3QpCisgICAgICAgIGJvdHRvbVNlY3Rpb24gPSBtX2Zvb3Q7CisgICAgZWxzZSB7
CisgICAgICAgIFJlbmRlck9iamVjdCogY2hpbGQ7CisgICAgICAgIGZvciAoY2hpbGQgPSBsYXN0
Q2hpbGQoKTsgY2hpbGQgJiYgIWNoaWxkLT5pc1RhYmxlU2VjdGlvbigpOyBjaGlsZCA9IGNoaWxk
LT5wcmV2aW91c1NpYmxpbmcoKSkgeyB9CisgICAgICAgIGJvdHRvbVNlY3Rpb24gPSBjaGlsZCA/
IHRvUmVuZGVyVGFibGVTZWN0aW9uKGNoaWxkKSA6IDA7CisgICAgfQorCisgICAgcmV0dXJuIGJv
dHRvbVNlY3Rpb247Cit9CisKIFJlbmRlclRhYmxlQ2VsbCogUmVuZGVyVGFibGU6OmNlbGxBYm92
ZShjb25zdCBSZW5kZXJUYWJsZUNlbGwqIGNlbGwpIGNvbnN0CiB7CiAgICAgcmVjYWxjU2VjdGlv
bnNJZk5lZWRlZCgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmgJ
KHJldmlzaW9uIDExODkxMSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJs
ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xOTIsNiArMTkyLDggQEAgcHVibGljOgogICAgIFJlbmRl
clRhYmxlU2VjdGlvbiogc2VjdGlvbkFib3ZlKGNvbnN0IFJlbmRlclRhYmxlU2VjdGlvbiosIFNr
aXBFbXB0eVNlY3Rpb25zVmFsdWUgPSBEb05vdFNraXBFbXB0eVNlY3Rpb25zKSBjb25zdDsKICAg
ICBSZW5kZXJUYWJsZVNlY3Rpb24qIHNlY3Rpb25CZWxvdyhjb25zdCBSZW5kZXJUYWJsZVNlY3Rp
b24qLCBTa2lwRW1wdHlTZWN0aW9uc1ZhbHVlID0gRG9Ob3RTa2lwRW1wdHlTZWN0aW9ucykgY29u
c3Q7CiAKKyAgICBSZW5kZXJUYWJsZVNlY3Rpb24qIGJvdHRvbVNlY3Rpb24oKSBjb25zdDsKKwog
ICAgIFJlbmRlclRhYmxlQ2VsbCogY2VsbEFib3ZlKGNvbnN0IFJlbmRlclRhYmxlQ2VsbCopIGNv
bnN0OwogICAgIFJlbmRlclRhYmxlQ2VsbCogY2VsbEJlbG93KGNvbnN0IFJlbmRlclRhYmxlQ2Vs
bCopIGNvbnN0OwogICAgIFJlbmRlclRhYmxlQ2VsbCogY2VsbEJlZm9yZShjb25zdCBSZW5kZXJU
YWJsZUNlbGwqKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
YWJsZVNlY3Rpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGFibGVTZWN0aW9uLmgJKHJldmlzaW9uIDExODkxMSkKKysrIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uaAkod29ya2luZyBjb3B5KQpAQCAtMTY1LDYgKzE2
NSw4IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJldHVybiBjcmVhdGVBbm9ueW1vdXNXaXRo
UGFyZW50UmVuZGVyZXIocGFyZW50KTsKICAgICB9CisgICAgCisgICAgdmlydHVhbCB2b2lkIHBh
aW50KFBhaW50SW5mbyYsIGNvbnN0IExheW91dFBvaW50JikgT1ZFUlJJREU7CiAKIHByb3RlY3Rl
ZDoKICAgICB2aXJ0dWFsIHZvaWQgc3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlLCBjb25z
dCBSZW5kZXJTdHlsZSogb2xkU3R5bGUpOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTE4OTExKQorKysg
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIw
MTItMDUtMzAgIEFycGl0YSBCYWh1Z3VuYSAgPGFycGl0YWJhaHVndW5hQGdtYWlsLmNvbT4KKwor
ICAgICAgICBDU1MgMi4xIGZhaWx1cmU6IGJvcmRlci1jb25mbGljdC1lbGVtZW50LTAyMWEKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2ODg1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L3RhYmxl
L2JvcmRlci1jb2xsYXBzaW5nL2FkamFjZW50LXJvdy1ncm91cHMtZXhwZWN0ZWQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZmFzdC90YWJsZS9ib3JkZXItY29sbGFwc2luZy9hZGphY2VudC1yb3ct
Z3JvdXBzLmh0bWw6IEFkZGVkLgorICAgICAgICBBZGRlZCByZWYgdGVzdCBmb3IgdmVyaWZ5aW5n
ICdib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlJyB0YWJsZSByZW5kZXJpbmcgd2hlbiB0d28KKyAg
ICAgICAgYWRqYWNlbnQgdGFibGUgcm93LWdyb3VwcyBoYXZlIHRoZSBzYW1lIGJvcmRlci13aWR0
aCBhbmQgdGhlIHNhbWUgYm9yZGVyLXN0eWxlLiBJbgorICAgICAgICBzdWNoIGEgY2FzZSB0aGUg
Y29sb3Igb2YgdGhlIGJvcmRlciBmcm9tIHRoZSB0b3AtbW9zdCB0YWJsZSByb3ctZ3JvdXAgd2lu
cy4KKwogMjAxMi0wNS0zMCAgWm9sdGFuIEFydmFpICA8emFydmFpQGluZi51LXN6ZWdlZC5odT4K
IAogICAgICAgICBbUXRdIEdhcmRlbmluZy4gU2hhZG93IERPTSBpcyBkaXNhYmxlZCBvbiBRdC4K
SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvdGFibGUvYm9yZGVyLWNvbGxhcHNpbmcvYWRqYWNlbnQt
cm93LWdyb3Vwcy1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
dGFibGUvYm9yZGVyLWNvbGxhcHNpbmcvYWRqYWNlbnQtcm93LWdyb3Vwcy1leHBlY3RlZC5odG1s
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9ib3JkZXItY29sbGFwc2lu
Zy9hZGphY2VudC1yb3ctZ3JvdXBzLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMzkgQEAKKzwhRE9DVFlQRSBodG1sPgorCis8aHRtbD4KKworPGhlYWQ+Cis8dGl0bGU+QnVn
emlsbGEgQnVnIDg2ODg1OiBDU1MgMi4xIGZhaWx1cmU6IGJvcmRlci1jb25mbGljdC1lbGVtZW50
LTAyMWEuIEV4cGVjdGVkIHJlc3VsdC48L3RpdGxlPgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4K
KyAgdGFibGUge2JvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7fQorICAKKyAgdGQgeyB3aWR0aDog
MTAwcHg7IGhlaWdodDogMTAwcHg7IGJvcmRlcjogMWVtIHNvbGlkIGdyZWVuOyB9IAorICAKKyAg
Lm9yYW5nZSB7IGJvcmRlci1jb2xvcjogb3JhbmdlOyB9CisgIAorPC9zdHlsZT4KKzwvaGVhZD4K
KworPGJvZHk+Cis8cD5UZXN0IGZvciBCdWd6aWxsYSA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODY4ODUiPkJ1ZyA4Njg4NTwvYT46IENTUzIuMSBmYWls
dXJlOiBib3JkZXItY29uZmxpY3QtZWxlbWVudDAyMWEuPC9wPgorPHA+V2hlbiB0d28gYWRqYWNl
bnQgdGFibGUgcm93IGdyb3VwcyAodGhlYWQsIHRib2R5LCB0Zm9vdCkgaGF2ZSB0aGUgc2FtZSBi
b3JkZXItd2lkdGggYW5kIHRoZSBzYW1lIGJvcmRlci1zdHlsZSBpbiBhICdib3JkZXItY29sbGFw
c2U6IGNvbGxhcHNlJyB0YWJsZSwgdGhlbiB0aGUgY29sb3Igb2YgdGhlIGJvcmRlciBmcm9tIHRo
ZSB0b3Btb3N0IHRhYmxlIHJvdyBncm91cCB3aW5zOiBzbywgYSB0aGVhZCB3aW5zIG92ZXIgYSB0
Ym9keSB3aGljaCB3aW5zIG92ZXIgdGZvb3QuPC9wPgorPHA+VGhlIGJvdHRvbSBib3JkZXIgb2Yg
dGhlIGZpcnN0IChncmVlbikgYm94IHNob3VsZCBiZSBjb21wbGV0ZWx5IGdyZWVuIGluIGNvbG9y
IChpbmNsdWRpbmcgdGhlIGNvcm5lcnMpIGFuZCBvdmVybGFwcGluZyB0aGUgdG9wIGJvcmRlciBv
ZiB0aGUgc2Vjb25kIChvcmFuZ2UpIGJveC4gU2ltaWxhcmx5LCB0aGUgYm90dG9tIGJvcmRlciBv
ZiB0aGUgc2Vjb25kIChvcmFuZ2UpIGJveCBzaG91bGQgYmUgY29tcGxldGVseSBvcmFuZ2UgaW4g
Y29sb3IgKGluY2x1ZGluZyB0aGUgY29ybmVycykgYW5kIG92ZXJsYXBwaW5nIHRoZSB0b3AgYm9y
ZGVyIG9mIHRoZSB0aGlyZCAoZ3JlZW4pIGJveC48L3A+CisgIAorPHRhYmxlPgorCisgICAgPHRy
PgorICAgICAgICA8dGQ+PC90ZD4KKyAgICA8L3RyPgorCisgICAgPHRyPgorICAgICAgICA8dGQg
Y2xhc3M9Im9yYW5nZSI+PC90ZD4JCQkKKyAgICA8L3RyPgorCisgICAgPHRyPgorICAgICAgICA8
dGQ+PC90ZD4JCQkKKyAgICAgPC90cj4KKwkKKzwvdGFibGU+CisKKzwvYm9keT4KKzwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvdGFibGUvYm9yZGVyLWNvbGxhcHNpbmcvYWRqYWNlbnQt
cm93LWdyb3Vwcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvdGFibGUvYm9y
ZGVyLWNvbGxhcHNpbmcvYWRqYWNlbnQtcm93LWdyb3Vwcy5odG1sCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvZmFzdC90YWJsZS9ib3JkZXItY29sbGFwc2luZy9hZGphY2VudC1yb3ctZ3Jv
dXBzLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDAgQEAKKzwhRE9DVFlQRSBodG1sPgor
Cis8aHRtbD4KKworPGhlYWQ+Cis8dGl0bGU+QnVnemlsbGEgQnVnIDg2ODg1OiBDU1MgMi4xIGZh
aWx1cmU6IGJvcmRlci1jb25mbGljdC1lbGVtZW50LTAyMWE8L3RpdGxlPgorPHN0eWxlIHR5cGU9
InRleHQvY3NzIj4KKyAgdGFibGUgeyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyB9CisKKyAg
dGhlYWQsIHRib2R5LCB0Zm9vdCB7IGJvcmRlcjogMWVtIHNvbGlkIGdyZWVuOyB9CisKKyAgdGJv
ZHkgeyBib3JkZXItY29sb3I6IG9yYW5nZTsgfQorICAKKyAgdGQgeyB3aWR0aDogMTAwcHg7IGhl
aWdodDogMTAwcHg7fQorPC9zdHlsZT4KKzwvaGVhZD4KKworPGJvZHk+Cis8cD5UZXN0IGZvciBC
dWd6aWxsYSA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
ODY4ODUiPkJ1ZyA4Njg4NTwvYT46IENTUzIuMSBmYWlsdXJlOiBib3JkZXItY29uZmxpY3QtZWxl
bWVudDAyMWEuPC9wPgorPHA+V2hlbiB0d28gYWRqYWNlbnQgdGFibGUgcm93IGdyb3VwcyAodGhl
YWQsIHRib2R5LCB0Zm9vdCkgaGF2ZSB0aGUgc2FtZSBib3JkZXItd2lkdGggYW5kIHRoZSBzYW1l
IGJvcmRlci1zdHlsZSBpbiBhICdib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlJyB0YWJsZSwgdGhl
biB0aGUgY29sb3Igb2YgdGhlIGJvcmRlciBmcm9tIHRoZSB0b3Btb3N0IHRhYmxlIHJvdyBncm91
cCB3aW5zOiBzbywgYSB0aGVhZCB3aW5zIG92ZXIgYSB0Ym9keSB3aGljaCB3aW5zIG92ZXIgdGZv
b3QuPC9wPgorPHA+VGhlIGJvdHRvbSBib3JkZXIgb2YgdGhlIGZpcnN0IChncmVlbikgYm94IHNo
b3VsZCBiZSBjb21wbGV0ZWx5IGdyZWVuIGluIGNvbG9yIChpbmNsdWRpbmcgdGhlIGNvcm5lcnMp
IGFuZCBvdmVybGFwcGluZyB0aGUgdG9wIGJvcmRlciBvZiB0aGUgc2Vjb25kIChvcmFuZ2UpIGJv
eC4gU2ltaWxhcmx5LCB0aGUgYm90dG9tIGJvcmRlciBvZiB0aGUgc2Vjb25kIChvcmFuZ2UpIGJv
eCBzaG91bGQgYmUgY29tcGxldGVseSBvcmFuZ2UgaW4gY29sb3IgKGluY2x1ZGluZyB0aGUgY29y
bmVycykgYW5kIG92ZXJsYXBwaW5nIHRoZSB0b3AgYm9yZGVyIG9mIHRoZSB0aGlyZCAoZ3JlZW4p
IGJveC48L3A+CisgIAorPHRhYmxlPgorCisgICAJPHRoZWFkPgorICAgICAgICA8dHI+PHRkPjwv
dGQ+PC90cj4KKyAgICA8L3RoZWFkPgorCisgICAgPHRib2R5PgorICAgICAgICA8dHI+PHRkPjwv
dGQ+PC90cj4KKyAgICA8L3Rib2R5PgorCisgICAgPHRmb290PgorICAgICAgICA8dHI+PHRkPjwv
dGQ+PC90cj4KKyAgICA8L3Rmb290PgorCQorPC90YWJsZT4KKworPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="commit-queue"
          id="151715"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144785</attachid>
            <date>2012-05-30 05:21:54 -0700</date>
            <delta_ts>2012-06-01 07:01:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86885-20120530175321.patch</filename>
            <type>text/plain</type>
            <size>9417</size>
            <attacher name="Arpita Bahuguna">arpitabahuguna</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExODkxNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDEyLTA1LTMwICBBcnBpdGEg
QmFodWd1bmEgIDxhcnBpdGFiYWh1Z3VuYUBnbWFpbC5jb20+CisKKyAgICAgICAgQ1NTIDIuMSBm
YWlsdXJlOiBib3JkZXItY29uZmxpY3QtZWxlbWVudC0wMjFhCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Njg4NQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorIAorICAgICAgICBXaGVuIHR3byBhZGphY2VudCB0YWJsZSByb3cg
Z3JvdXBzICh0aGVhZCwgdGJvZHksIHRmb290KSBoYXZlIHRoZSBzYW1lIGJvcmRlci13aWR0aAor
ICAgICAgICBhbmQgdGhlIHNhbWUgYm9yZGVyLXN0eWxlIGluIGEgJ2JvcmRlci1jb2xsYXBzZTog
Y29sbGFwc2UnIHRhYmxlIHRoZSBjb2xvciBvZiB0aGUgYm9yZGVyCisgICAgICAgIGZyb20gdGhl
IHRvcC1tb3N0IHRhYmxlIHJvdyB3aW5zLgorCisgICAgICAgIFRlc3Q6IGZhc3QvdGFibGUvYm9y
ZGVyLWNvbGxhcHNpbmcvYWRqYWNlbnQtcm93LWdyb3Vwcy5odG1sCisKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGFibGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFibGU6OnBh
aW50T2JqZWN0KToKKyAgICAgICAgQ3VycmVudGx5IGVhY2ggcm93IGdyb3VwIGlzIHNlbnQgZm9y
IHBhaW50IGZyb20gdG9wIChmaXJzdENoaWxkKSB0byBib3R0b20gdGhlcmVieSBjYXVzaW5nCisg
ICAgICAgIHRoZSBib3JkZXJzIG9mIHRoZSBib3R0b20tbW9zdCByb3cgZ3JvdXAgKHdoaWNoIGlz
IHBhaW50ZWQgbGFzdCkgdG8gb3ZlcmxhcCBvdmVyIHRoZQorICAgICAgICBwcmV2aW91cyByb3ct
Z3JvdXAuIFRoaXMgYnJlYWtzIHRoZSBwcmVjZWRlbmNlIGZvciBjb2xsYXBzZWQgYm9yZGVycyBi
ZXR3ZWVuIGFkamFjZW50IGNlbGxzLgorCisgICAgICAgIFRoaXMgZml4IHRodXMgcmV2ZXJzZXMg
dGhlIG9yZGVyIGluIHdoaWNoIHRoZSByb3ctZ3JvdXBzL3NlY3Rpb25zIGFyZSBwYXNzZWQgZm9y
IHBhaW50aW5nLgorICAgICAgICBBZGRpdGlvbmFsIGNoYW5nZSBoYXMgYmVlbiBkb25lIHRvIGl0
ZXJhdGUgb3ZlciB0aGUgUmVuZGVyVGFibGVTZWN0aW9ucyBkaXJlY3RseS4KKworICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZTo6Ym90dG9tU2VjdGlvbik6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxlLmg6CisgICAgICAgIE5ldyBmdW5jdGlv
biBoYXMgYmVlbiBhZGRlZCB0byBvYnRhaW4gdGhlIGxhc3Qgc2VjdGlvbiBvZiB0aGUgdGFibGUu
CisKKyAgICAgICAgKFJlbmRlclRhYmxlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGFi
bGVTZWN0aW9uLmg6CisgICAgICAgIChSZW5kZXJUYWJsZVNlY3Rpb24pOgorICAgICAgICBSZW5k
ZXJUYWJsZVNlY3Rpb24ncyBwYWludCgpIG1ldGhvZCBoYXMgbm93IGJlZW4gbWFkZSBwdWJsaWMg
c28gYXMgdG8gbWFrZSBpdCBhY2Nlc3NpYmxlCisgICAgICAgIGZyb20gUmVuZGVyVGFibGUuIAor
CiAyMDEyLTA1LTMwICBNYXJpdXN6IEdyemVnb3JjenlrICA8bWFyaXVzei5nQHNhbXN1bmcuY29t
PiwgUnl1YW4gQ2hvaSAgPHJ5dWFuLmNob2lAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0VGTF1b
V0syXSBGaXggV2ViS2l0Mi1FRkwgYnVpbGQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUYWJsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRhYmxlLmNwcAkocmV2aXNpb24gMTE4OTE0KQorKysgU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRhYmxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTkyLDExICs1OTIsMTAg
QEAgdm9pZCBSZW5kZXJUYWJsZTo6cGFpbnRPYmplY3QoUGFpbnRJbmZvJgogICAgICAgICBzaXpl
X3QgY291bnQgPSBtX2NvbGxhcHNlZEJvcmRlcnMuc2l6ZSgpOwogICAgICAgICBmb3IgKHNpemVf
dCBpID0gMDsgaSA8IGNvdW50OyArK2kpIHsKICAgICAgICAgICAgIG1fY3VycmVudEJvcmRlciA9
ICZtX2NvbGxhcHNlZEJvcmRlcnNbaV07Ci0gICAgICAgICAgICBmb3IgKFJlbmRlck9iamVjdCog
Y2hpbGQgPSBmaXJzdENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZygp
KQotICAgICAgICAgICAgICAgIGlmIChjaGlsZC0+aXNUYWJsZVNlY3Rpb24oKSkgewotICAgICAg
ICAgICAgICAgICAgICBMYXlvdXRQb2ludCBjaGlsZFBvaW50ID0gZmxpcEZvcldyaXRpbmdNb2Rl
Rm9yQ2hpbGQodG9SZW5kZXJUYWJsZVNlY3Rpb24oY2hpbGQpLCBwYWludE9mZnNldCk7Ci0gICAg
ICAgICAgICAgICAgICAgIGNoaWxkLT5wYWludChpbmZvLCBjaGlsZFBvaW50KTsKLSAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICBmb3IgKFJlbmRlclRhYmxlU2VjdGlvbiogc2VjdGlvbiA9
IGJvdHRvbVNlY3Rpb24oKTsgc2VjdGlvbjsgc2VjdGlvbiA9IHNlY3Rpb25BYm92ZShzZWN0aW9u
KSkgeworICAgICAgICAgICAgICAgIExheW91dFBvaW50IGNoaWxkUG9pbnQgPSBmbGlwRm9yV3Jp
dGluZ01vZGVGb3JDaGlsZChzZWN0aW9uLCBwYWludE9mZnNldCk7CisgICAgICAgICAgICAgICAg
c2VjdGlvbi0+cGFpbnQoaW5mbywgY2hpbGRQb2ludCk7CisgICAgICAgICAgICB9CiAgICAgICAg
IH0KICAgICAgICAgbV9jdXJyZW50Qm9yZGVyID0gMDsKICAgICB9CkBAIC0xMTA5LDYgKzExMDgs
MjMgQEAgUmVuZGVyVGFibGVTZWN0aW9uKiBSZW5kZXJUYWJsZTo6c2VjdGlvbgogICAgIHJldHVy
biB0b1JlbmRlclRhYmxlU2VjdGlvbihuZXh0U2VjdGlvbik7CiB9CiAKK1JlbmRlclRhYmxlU2Vj
dGlvbiogUmVuZGVyVGFibGU6OmJvdHRvbVNlY3Rpb24oKSBjb25zdAoreworICAgIHJlY2FsY1Nl
Y3Rpb25zSWZOZWVkZWQoKTsKKworICAgIFJlbmRlclRhYmxlU2VjdGlvbiogYm90dG9tU2VjdGlv
bjsKKworICAgIGlmIChtX2Zvb3QpCisgICAgICAgIGJvdHRvbVNlY3Rpb24gPSBtX2Zvb3Q7Cisg
ICAgZWxzZSB7CisgICAgICAgIFJlbmRlck9iamVjdCogY2hpbGQ7CisgICAgICAgIGZvciAoY2hp
bGQgPSBsYXN0Q2hpbGQoKTsgY2hpbGQgJiYgIWNoaWxkLT5pc1RhYmxlU2VjdGlvbigpOyBjaGls
ZCA9IGNoaWxkLT5wcmV2aW91c1NpYmxpbmcoKSkgeyB9CisgICAgICAgIGJvdHRvbVNlY3Rpb24g
PSBjaGlsZCA/IHRvUmVuZGVyVGFibGVTZWN0aW9uKGNoaWxkKSA6IDA7CisgICAgfQorCisgICAg
cmV0dXJuIGJvdHRvbVNlY3Rpb247Cit9CisKIFJlbmRlclRhYmxlQ2VsbCogUmVuZGVyVGFibGU6
OmNlbGxBYm92ZShjb25zdCBSZW5kZXJUYWJsZUNlbGwqIGNlbGwpIGNvbnN0CiB7CiAgICAgcmVj
YWxjU2VjdGlvbnNJZk5lZWRlZCgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRhYmxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRhYmxlLmgJKHJldmlzaW9uIDExODkxNCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUYWJsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xOTIsNiArMTkyLDggQEAgcHVibGljOgog
ICAgIFJlbmRlclRhYmxlU2VjdGlvbiogc2VjdGlvbkFib3ZlKGNvbnN0IFJlbmRlclRhYmxlU2Vj
dGlvbiosIFNraXBFbXB0eVNlY3Rpb25zVmFsdWUgPSBEb05vdFNraXBFbXB0eVNlY3Rpb25zKSBj
b25zdDsKICAgICBSZW5kZXJUYWJsZVNlY3Rpb24qIHNlY3Rpb25CZWxvdyhjb25zdCBSZW5kZXJU
YWJsZVNlY3Rpb24qLCBTa2lwRW1wdHlTZWN0aW9uc1ZhbHVlID0gRG9Ob3RTa2lwRW1wdHlTZWN0
aW9ucykgY29uc3Q7CiAKKyAgICBSZW5kZXJUYWJsZVNlY3Rpb24qIGJvdHRvbVNlY3Rpb24oKSBj
b25zdDsKKwogICAgIFJlbmRlclRhYmxlQ2VsbCogY2VsbEFib3ZlKGNvbnN0IFJlbmRlclRhYmxl
Q2VsbCopIGNvbnN0OwogICAgIFJlbmRlclRhYmxlQ2VsbCogY2VsbEJlbG93KGNvbnN0IFJlbmRl
clRhYmxlQ2VsbCopIGNvbnN0OwogICAgIFJlbmRlclRhYmxlQ2VsbCogY2VsbEJlZm9yZShjb25z
dCBSZW5kZXJUYWJsZUNlbGwqKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUYWJsZVNlY3Rpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmgJKHJldmlzaW9uIDExODkxNCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uaAkod29ya2luZyBjb3B5KQpAQCAt
MTY1LDYgKzE2NSw4IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJldHVybiBjcmVhdGVBbm9u
eW1vdXNXaXRoUGFyZW50UmVuZGVyZXIocGFyZW50KTsKICAgICB9CisgICAgCisgICAgdmlydHVh
bCB2b2lkIHBhaW50KFBhaW50SW5mbyYsIGNvbnN0IExheW91dFBvaW50JikgT1ZFUlJJREU7CiAK
IHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgc3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJl
bmNlLCBjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bGUpOwpAQCAtMTgzLDcgKzE4NSw2IEBAIHBy
aXZhdGU6CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlQ2hpbGQoUmVuZGVyT2JqZWN0KiBvbGRD
aGlsZCk7CiAKLSAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoUGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0
UG9pbnQmKTsKICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRDZWxsKFJlbmRlclRhYmxlQ2VsbCosIFBh
aW50SW5mbyYsIGNvbnN0IExheW91dFBvaW50Jik7CiAgICAgdmlydHVhbCB2b2lkIHBhaW50T2Jq
ZWN0KFBhaW50SW5mbyYsIGNvbnN0IExheW91dFBvaW50Jik7CiAKSW5kZXg6IExheW91dFRlc3Rz
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9u
IDExODkxNCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE2IEBACisyMDEyLTA1LTMwICBBcnBpdGEgQmFodWd1bmEgIDxhcnBpdGFiYWh1Z3VuYUBn
bWFpbC5jb20+CisKKyAgICAgICAgQ1NTIDIuMSBmYWlsdXJlOiBib3JkZXItY29uZmxpY3QtZWxl
bWVudC0wMjFhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04Njg4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogZmFzdC90YWJsZS9ib3JkZXItY29sbGFwc2luZy9hZGphY2VudC1yb3ctZ3JvdXBzLWV4cGVj
dGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGFibGUvYm9yZGVyLWNvbGxhcHNpbmcv
YWRqYWNlbnQtcm93LWdyb3Vwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgQWRkZWQgcmVmIHRlc3Qg
Zm9yIHZlcmlmeWluZyAnYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZScgdGFibGUgcmVuZGVyaW5n
IHdoZW4gdHdvCisgICAgICAgIGFkamFjZW50IHRhYmxlIHJvdy1ncm91cHMgaGF2ZSB0aGUgc2Ft
ZSBib3JkZXItd2lkdGggYW5kIHRoZSBzYW1lIGJvcmRlci1zdHlsZS4gSW4KKyAgICAgICAgc3Vj
aCBhIGNhc2UgdGhlIGNvbG9yIG9mIHRoZSBib3JkZXIgZnJvbSB0aGUgdG9wLW1vc3QgdGFibGUg
cm93LWdyb3VwIHdpbnMuCisKIDIwMTItMDUtMzAgIFpvbHRhbiBBcnZhaSAgPHphcnZhaUBpbmYu
dS1zemVnZWQuaHU+CiAKICAgICAgICAgW1F0XSBHYXJkZW5pbmcuIFNoYWRvdyBET00gaXMgZGlz
YWJsZWQgb24gUXQuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL2JvcmRlci1jb2xsYXBz
aW5nL2FkamFjZW50LXJvdy1ncm91cHMtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L3RhYmxlL2JvcmRlci1jb2xsYXBzaW5nL2FkamFjZW50LXJvdy1ncm91cHMt
ZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvdGFibGUvYm9y
ZGVyLWNvbGxhcHNpbmcvYWRqYWNlbnQtcm93LWdyb3Vwcy1leHBlY3RlZC5odG1sCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDM5IEBACis8IURPQ1RZUEUgaHRtbD4KKworPGh0bWw+CisKKzxoZWFk
PgorPHRpdGxlPkJ1Z3ppbGxhIEJ1ZyA4Njg4NTogQ1NTIDIuMSBmYWlsdXJlOiBib3JkZXItY29u
ZmxpY3QtZWxlbWVudC0wMjFhLiBFeHBlY3RlZCByZXN1bHQuPC90aXRsZT4KKzxzdHlsZSB0eXBl
PSJ0ZXh0L2NzcyI+CisgIHRhYmxlIHtib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO30KKyAgCisg
IHRkIHsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyBib3JkZXI6IDFlbSBzb2xpZCBncmVl
bjsgfSAKKyAgCisgIC5vcmFuZ2UgeyBib3JkZXItY29sb3I6IG9yYW5nZTsgfQorICAKKzwvc3R5
bGU+Cis8L2hlYWQ+CisKKzxib2R5PgorPHA+VGVzdCBmb3IgQnVnemlsbGEgPGEgaHJlZj0iaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2ODg1Ij5CdWcgODY4ODU8L2E+
OiBDU1MyLjEgZmFpbHVyZTogYm9yZGVyLWNvbmZsaWN0LWVsZW1lbnQwMjFhLjwvcD4KKzxwPldo
ZW4gdHdvIGFkamFjZW50IHRhYmxlIHJvdyBncm91cHMgKHRoZWFkLCB0Ym9keSwgdGZvb3QpIGhh
dmUgdGhlIHNhbWUgYm9yZGVyLXdpZHRoIGFuZCB0aGUgc2FtZSBib3JkZXItc3R5bGUgaW4gYSAn
Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZScgdGFibGUsIHRoZW4gdGhlIGNvbG9yIG9mIHRoZSBi
b3JkZXIgZnJvbSB0aGUgdG9wbW9zdCB0YWJsZSByb3cgZ3JvdXAgd2luczogc28sIGEgdGhlYWQg
d2lucyBvdmVyIGEgdGJvZHkgd2hpY2ggd2lucyBvdmVyIHRmb290LjwvcD4KKzxwPlRoZSBib3R0
b20gYm9yZGVyIG9mIHRoZSBmaXJzdCAoZ3JlZW4pIGJveCBzaG91bGQgYmUgY29tcGxldGVseSBn
cmVlbiBpbiBjb2xvciAoaW5jbHVkaW5nIHRoZSBjb3JuZXJzKSBhbmQgb3ZlcmxhcHBpbmcgdGhl
IHRvcCBib3JkZXIgb2YgdGhlIHNlY29uZCAob3JhbmdlKSBib3guIFNpbWlsYXJseSwgdGhlIGJv
dHRvbSBib3JkZXIgb2YgdGhlIHNlY29uZCAob3JhbmdlKSBib3ggc2hvdWxkIGJlIGNvbXBsZXRl
bHkgb3JhbmdlIGluIGNvbG9yIChpbmNsdWRpbmcgdGhlIGNvcm5lcnMpIGFuZCBvdmVybGFwcGlu
ZyB0aGUgdG9wIGJvcmRlciBvZiB0aGUgdGhpcmQgKGdyZWVuKSBib3guPC9wPgorICAKKzx0YWJs
ZT4KKworICAgIDx0cj4KKyAgICAgICAgPHRkPjwvdGQ+CisgICAgPC90cj4KKworICAgIDx0cj4K
KyAgICAgICAgPHRkIGNsYXNzPSJvcmFuZ2UiPjwvdGQ+CQkJCisgICAgPC90cj4KKworICAgIDx0
cj4KKyAgICAgICAgPHRkPjwvdGQ+CQkJCisgICAgIDwvdHI+CisJCis8L3RhYmxlPgorCis8L2Jv
ZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL2JvcmRlci1jb2xsYXBz
aW5nL2FkamFjZW50LXJvdy1ncm91cHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L3RhYmxlL2JvcmRlci1jb2xsYXBzaW5nL2FkamFjZW50LXJvdy1ncm91cHMuaHRtbAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvdGFibGUvYm9yZGVyLWNvbGxhcHNpbmcvYWRq
YWNlbnQtcm93LWdyb3Vwcy5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQwIEBACis8IURP
Q1RZUEUgaHRtbD4KKworPGh0bWw+CisKKzxoZWFkPgorPHRpdGxlPkJ1Z3ppbGxhIEJ1ZyA4Njg4
NTogQ1NTIDIuMSBmYWlsdXJlOiBib3JkZXItY29uZmxpY3QtZWxlbWVudC0wMjFhPC90aXRsZT4K
KzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgIHRhYmxlIHsgYm9yZGVyLWNvbGxhcHNlOiBjb2xs
YXBzZTsgfQorCisgIHRoZWFkLCB0Ym9keSwgdGZvb3QgeyBib3JkZXI6IDFlbSBzb2xpZCBncmVl
bjsgfQorCisgIHRib2R5IHsgYm9yZGVyLWNvbG9yOiBvcmFuZ2U7IH0KKyAgCisgIHRkIHsgd2lk
dGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4O30KKzwvc3R5bGU+Cis8L2hlYWQ+CisKKzxib2R5Pgor
PHA+VGVzdCBmb3IgQnVnemlsbGEgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTg2ODg1Ij5CdWcgODY4ODU8L2E+OiBDU1MyLjEgZmFpbHVyZTogYm9yZGVy
LWNvbmZsaWN0LWVsZW1lbnQwMjFhLjwvcD4KKzxwPldoZW4gdHdvIGFkamFjZW50IHRhYmxlIHJv
dyBncm91cHMgKHRoZWFkLCB0Ym9keSwgdGZvb3QpIGhhdmUgdGhlIHNhbWUgYm9yZGVyLXdpZHRo
IGFuZCB0aGUgc2FtZSBib3JkZXItc3R5bGUgaW4gYSAnYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBz
ZScgdGFibGUsIHRoZW4gdGhlIGNvbG9yIG9mIHRoZSBib3JkZXIgZnJvbSB0aGUgdG9wbW9zdCB0
YWJsZSByb3cgZ3JvdXAgd2luczogc28sIGEgdGhlYWQgd2lucyBvdmVyIGEgdGJvZHkgd2hpY2gg
d2lucyBvdmVyIHRmb290LjwvcD4KKzxwPlRoZSBib3R0b20gYm9yZGVyIG9mIHRoZSBmaXJzdCAo
Z3JlZW4pIGJveCBzaG91bGQgYmUgY29tcGxldGVseSBncmVlbiBpbiBjb2xvciAoaW5jbHVkaW5n
IHRoZSBjb3JuZXJzKSBhbmQgb3ZlcmxhcHBpbmcgdGhlIHRvcCBib3JkZXIgb2YgdGhlIHNlY29u
ZCAob3JhbmdlKSBib3guIFNpbWlsYXJseSwgdGhlIGJvdHRvbSBib3JkZXIgb2YgdGhlIHNlY29u
ZCAob3JhbmdlKSBib3ggc2hvdWxkIGJlIGNvbXBsZXRlbHkgb3JhbmdlIGluIGNvbG9yIChpbmNs
dWRpbmcgdGhlIGNvcm5lcnMpIGFuZCBvdmVybGFwcGluZyB0aGUgdG9wIGJvcmRlciBvZiB0aGUg
dGhpcmQgKGdyZWVuKSBib3guPC9wPgorICAKKzx0YWJsZT4KKworICAgCTx0aGVhZD4KKyAgICAg
ICAgPHRyPjx0ZD48L3RkPjwvdHI+CisgICAgPC90aGVhZD4KKworICAgIDx0Ym9keT4KKyAgICAg
ICAgPHRyPjx0ZD48L3RkPjwvdHI+CisgICAgPC90Ym9keT4KKworICAgIDx0Zm9vdD4KKyAgICAg
ICAgPHRyPjx0ZD48L3RkPjwvdHI+CisgICAgPC90Zm9vdD4KKwkKKzwvdGFibGU+CisKKzwvYm9k
eT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145295</attachid>
            <date>2012-06-01 07:01:32 -0700</date>
            <delta_ts>2012-06-04 03:11:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86885-20120601193300.patch</filename>
            <type>text/plain</type>
            <size>13260</size>
            <attacher name="Arpita Bahuguna">arpitabahuguna</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExOTIyNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDEyLTA2LTAxICBBcnBpdGEg
QmFodWd1bmEgIDxhcnBpdGFiYWh1Z3VuYUBnbWFpbC5jb20+CisKKyAgICAgICAgQ1NTIDIuMSBm
YWlsdXJlOiBib3JkZXItY29uZmxpY3QtZWxlbWVudC0wMjFhCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Njg4NQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gdHdvIGFkamFjZW50IHRhYmxlIHJvdyBn
cm91cHMgKHRoZWFkLCB0Ym9keSwgdGZvb3QpIGhhdmUgdGhlIHNhbWUgYm9yZGVyLXdpZHRoCisg
ICAgICAgIGFuZCB0aGUgc2FtZSBib3JkZXItc3R5bGUgaW4gYSAnYm9yZGVyLWNvbGxhcHNlOiBj
b2xsYXBzZScgdGFibGUgdGhlIGNvbG9yIG9mIHRoZSBib3JkZXIKKyAgICAgICAgZnJvbSB0aGUg
dG9wLW1vc3QgdGFibGUgcm93IHdpbnMuCisKKyAgICAgICAgVGVzdHM6IGZhc3QvdGFibGUvYm9y
ZGVyLWNvbGxhcHNpbmcvYWRqYWNlbnQtcm93LWdyb3Vwcy1tdWx0aS5odG1sCisgICAgICAgICAg
ICAgICBmYXN0L3RhYmxlL2JvcmRlci1jb2xsYXBzaW5nL2FkamFjZW50LXJvdy1ncm91cHMuaHRt
bAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRhYmxlOjpwYWludE9iamVjdCk6CisgICAgICAgIEN1cnJlbnRseSBlYWNoIHJv
dyBncm91cCBpcyBzZW50IGZvciBwYWludCBmcm9tIHRvcCAoZmlyc3RDaGlsZCkgdG8gYm90dG9t
IHRoZXJlYnkgY2F1c2luZworICAgICAgICB0aGUgYm9yZGVycyBvZiB0aGUgYm90dG9tLW1vc3Qg
cm93IGdyb3VwICh3aGljaCBpcyBwYWludGVkIGxhc3QpIHRvIG92ZXJsYXAgb3ZlciB0aGUKKyAg
ICAgICAgcHJldmlvdXMgcm93LWdyb3VwLiBUaGlzIGJyZWFrcyB0aGUgcHJlY2VkZW5jZSBmb3Ig
Y29sbGFwc2VkIGJvcmRlcnMgYmV0d2VlbiBhZGphY2VudCBjZWxscy4KKworICAgICAgICBUaGlz
IGZpeCB0aHVzIHJldmVyc2VzIHRoZSBvcmRlciBpbiB3aGljaCB0aGUgcm93LWdyb3Vwcy9zZWN0
aW9ucyBhcmUgcGFzc2VkIGZvciBwYWludGluZy4KKyAgICAgICAgQWRkaXRpb25hbCBjaGFuZ2Ug
aGFzIGJlZW4gZG9uZSB0byBpdGVyYXRlIG92ZXIgdGhlIFJlbmRlclRhYmxlU2VjdGlvbnMgZGly
ZWN0bHkuCisKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFi
bGU6OmJvdHRvbVNlY3Rpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZS5oOgor
ICAgICAgICBOZXcgZnVuY3Rpb24gaGFzIGJlZW4gYWRkZWQgdG8gb2J0YWluIHRoZSBsYXN0IHNl
Y3Rpb24gb2YgdGhlIHRhYmxlLgorCisgICAgICAgIChSZW5kZXJUYWJsZSk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5oOgorICAgICAgICAoUmVuZGVyVGFibGVTZWN0
aW9uKToKKyAgICAgICAgUmVuZGVyVGFibGVTZWN0aW9uJ3MgcGFpbnQoKSBtZXRob2QgaGFzIG5v
dyBiZWVuIG1hZGUgcHVibGljIHNvIGFzIHRvIG1ha2UgaXQgYWNjZXNzaWJsZQorICAgICAgICBm
cm9tIFJlbmRlclRhYmxlLgorCiAyMDEyLTA2LTAxICBBbGV4ZWkgRmlsaXBwb3YgIDxhbGV4ZWlm
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBBZGQgQ2xvc3VyZSBjb21w
aWxlciBhbm5vdGF0aW9ucyB0byBXb3JrZXJDb25zb2xlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGFibGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUYWJsZS5jcHAJKHJldmlzaW9uIDExOTIyMykKKysrIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU5MiwxMSAr
NTkyLDEwIEBAIHZvaWQgUmVuZGVyVGFibGU6OnBhaW50T2JqZWN0KFBhaW50SW5mbyYKICAgICAg
ICAgc2l6ZV90IGNvdW50ID0gbV9jb2xsYXBzZWRCb3JkZXJzLnNpemUoKTsKICAgICAgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBjb3VudDsgKytpKSB7CiAgICAgICAgICAgICBtX2N1cnJlbnRC
b3JkZXIgPSAmbV9jb2xsYXBzZWRCb3JkZXJzW2ldOwotICAgICAgICAgICAgZm9yIChSZW5kZXJP
YmplY3QqIGNoaWxkID0gZmlyc3RDaGlsZCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNp
YmxpbmcoKSkKLSAgICAgICAgICAgICAgICBpZiAoY2hpbGQtPmlzVGFibGVTZWN0aW9uKCkpIHsK
LSAgICAgICAgICAgICAgICAgICAgTGF5b3V0UG9pbnQgY2hpbGRQb2ludCA9IGZsaXBGb3JXcml0
aW5nTW9kZUZvckNoaWxkKHRvUmVuZGVyVGFibGVTZWN0aW9uKGNoaWxkKSwgcGFpbnRPZmZzZXQp
OwotICAgICAgICAgICAgICAgICAgICBjaGlsZC0+cGFpbnQoaW5mbywgY2hpbGRQb2ludCk7Ci0g
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgZm9yIChSZW5kZXJUYWJsZVNlY3Rpb24qIHNl
Y3Rpb24gPSBib3R0b21TZWN0aW9uKCk7IHNlY3Rpb247IHNlY3Rpb24gPSBzZWN0aW9uQWJvdmUo
c2VjdGlvbikpIHsKKyAgICAgICAgICAgICAgICBMYXlvdXRQb2ludCBjaGlsZFBvaW50ID0gZmxp
cEZvcldyaXRpbmdNb2RlRm9yQ2hpbGQoc2VjdGlvbiwgcGFpbnRPZmZzZXQpOworICAgICAgICAg
ICAgICAgIHNlY3Rpb24tPnBhaW50KGluZm8sIGNoaWxkUG9pbnQpOworICAgICAgICAgICAgfQog
ICAgICAgICB9CiAgICAgICAgIG1fY3VycmVudEJvcmRlciA9IDA7CiAgICAgfQpAQCAtMTEwOSw2
ICsxMTA4LDIzIEBAIFJlbmRlclRhYmxlU2VjdGlvbiogUmVuZGVyVGFibGU6OnNlY3Rpb24KICAg
ICByZXR1cm4gdG9SZW5kZXJUYWJsZVNlY3Rpb24obmV4dFNlY3Rpb24pOwogfQogCitSZW5kZXJU
YWJsZVNlY3Rpb24qIFJlbmRlclRhYmxlOjpib3R0b21TZWN0aW9uKCkgY29uc3QKK3sKKyAgICBy
ZWNhbGNTZWN0aW9uc0lmTmVlZGVkKCk7CisKKyAgICBSZW5kZXJUYWJsZVNlY3Rpb24qIGJvdHRv
bVNlY3Rpb247CisKKyAgICBpZiAobV9mb290KQorICAgICAgICBib3R0b21TZWN0aW9uID0gbV9m
b290OworICAgIGVsc2UgeworICAgICAgICBSZW5kZXJPYmplY3QqIGNoaWxkOworICAgICAgICBm
b3IgKGNoaWxkID0gbGFzdENoaWxkKCk7IGNoaWxkICYmICFjaGlsZC0+aXNUYWJsZVNlY3Rpb24o
KTsgY2hpbGQgPSBjaGlsZC0+cHJldmlvdXNTaWJsaW5nKCkpIHsgfQorICAgICAgICBib3R0b21T
ZWN0aW9uID0gY2hpbGQgPyB0b1JlbmRlclRhYmxlU2VjdGlvbihjaGlsZCkgOiAwOworICAgIH0K
KworICAgIHJldHVybiBib3R0b21TZWN0aW9uOworfQorCiBSZW5kZXJUYWJsZUNlbGwqIFJlbmRl
clRhYmxlOjpjZWxsQWJvdmUoY29uc3QgUmVuZGVyVGFibGVDZWxsKiBjZWxsKSBjb25zdAogewog
ICAgIHJlY2FsY1NlY3Rpb25zSWZOZWVkZWQoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUYWJsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUYWJsZS5oCShyZXZpc2lvbiAxMTkyMjMpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGFibGUuaAkod29ya2luZyBjb3B5KQpAQCAtMTkyLDYgKzE5Miw4IEBAIHB1
YmxpYzoKICAgICBSZW5kZXJUYWJsZVNlY3Rpb24qIHNlY3Rpb25BYm92ZShjb25zdCBSZW5kZXJU
YWJsZVNlY3Rpb24qLCBTa2lwRW1wdHlTZWN0aW9uc1ZhbHVlID0gRG9Ob3RTa2lwRW1wdHlTZWN0
aW9ucykgY29uc3Q7CiAgICAgUmVuZGVyVGFibGVTZWN0aW9uKiBzZWN0aW9uQmVsb3coY29uc3Qg
UmVuZGVyVGFibGVTZWN0aW9uKiwgU2tpcEVtcHR5U2VjdGlvbnNWYWx1ZSA9IERvTm90U2tpcEVt
cHR5U2VjdGlvbnMpIGNvbnN0OwogCisgICAgUmVuZGVyVGFibGVTZWN0aW9uKiBib3R0b21TZWN0
aW9uKCkgY29uc3Q7CisKICAgICBSZW5kZXJUYWJsZUNlbGwqIGNlbGxBYm92ZShjb25zdCBSZW5k
ZXJUYWJsZUNlbGwqKSBjb25zdDsKICAgICBSZW5kZXJUYWJsZUNlbGwqIGNlbGxCZWxvdyhjb25z
dCBSZW5kZXJUYWJsZUNlbGwqKSBjb25zdDsKICAgICBSZW5kZXJUYWJsZUNlbGwqIGNlbGxCZWZv
cmUoY29uc3QgUmVuZGVyVGFibGVDZWxsKikgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5oCShyZXZpc2lvbiAxMTkyMjMpCisrKyBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTE2NSw2ICsxNjUsOCBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICByZXR1cm4gY3Jl
YXRlQW5vbnltb3VzV2l0aFBhcmVudFJlbmRlcmVyKHBhcmVudCk7CiAgICAgfQorICAgIAorICAg
IHZpcnR1YWwgdm9pZCBwYWludChQYWludEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYpIE9WRVJS
SURFOwogCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIHN0eWxlRGlkQ2hhbmdlKFN0eWxl
RGlmZmVyZW5jZSwgY29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0eWxlKTsKQEAgLTE4Myw3ICsxODUs
NiBAQCBwcml2YXRlOgogCiAgICAgdmlydHVhbCB2b2lkIHJlbW92ZUNoaWxkKFJlbmRlck9iamVj
dCogb2xkQ2hpbGQpOwogCi0gICAgdmlydHVhbCB2b2lkIHBhaW50KFBhaW50SW5mbyYsIGNvbnN0
IExheW91dFBvaW50Jik7CiAgICAgdmlydHVhbCB2b2lkIHBhaW50Q2VsbChSZW5kZXJUYWJsZUNl
bGwqLCBQYWludEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYpOwogICAgIHZpcnR1YWwgdm9pZCBw
YWludE9iamVjdChQYWludEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYpOwogCkluZGV4OiBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAxMTkyMjUpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwyMiBAQAorMjAxMi0wNi0wMSAgQXJwaXRhIEJhaHVndW5hICA8YXJwaXRhYmFo
dWd1bmFAZ21haWwuY29tPgorCisgICAgICAgIENTUyAyLjEgZmFpbHVyZTogYm9yZGVyLWNvbmZs
aWN0LWVsZW1lbnQtMDIxYQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODY4ODUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGZhc3QvdGFibGUvYm9yZGVyLWNvbGxhcHNpbmcvYWRqYWNlbnQtcm93LWdyb3Vw
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RhYmxlL2JvcmRlci1jb2xsYXBzaW5nL2Fk
amFjZW50LXJvdy1ncm91cHMtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgIEFkZGVkIHJl
ZiB0ZXN0IGZvciB2ZXJpZnlpbmcgJ2JvcmRlci1jb2xsYXBzZTogY29sbGFwc2UnIHRhYmxlIHJl
bmRlcmluZyB3aGVuIHR3bworICAgICAgICBhZGphY2VudCB0YWJsZSByb3ctZ3JvdXBzIGhhdmUg
dGhlIHNhbWUgYm9yZGVyLXdpZHRoIGFuZCB0aGUgc2FtZSBib3JkZXItc3R5bGUuIEluCisgICAg
ICAgIHN1Y2ggYSBjYXNlIHRoZSBjb2xvciBvZiB0aGUgYm9yZGVyIGZyb20gdGhlIHRvcC1tb3N0
IHRhYmxlIHJvdy1ncm91cCB3aW5zLgorCisgICAgICAgICogZmFzdC90YWJsZS9ib3JkZXItY29s
bGFwc2luZy9hZGphY2VudC1yb3ctZ3JvdXBzLW11bHRpLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvdGFibGUvYm9yZGVyLWNvbGxhcHNpbmcvYWRqYWNlbnQtcm93LWdyb3Vw
cy1tdWx0aS5odG1sOiBBZGRlZC4KKyAgICAgICAgQWRkaXRpb25hbCByZWYgdGVzdCBhZGRlZCBm
b3IgdmVyaWZ5aW5nICdib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlJyB0YWJsZSByZW5kZXJpbmcK
KyAgICAgICAgZm9yIGFkamFjZW50IHRhYmxlIHJvdy1ncm91cHMgd2hlbiBtb3JlIHRoYW4gb25l
IHRhYmxlIGhlYWRlcnMgYW5kL29yIGZvb3RlcnMgYXJlCisgICAgICAgIHNwZWNpZmllZC4KKwog
MjAxMi0wNi0wMSAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFtRdF0gVW5yZXZpZXdlZCBnYXJkZW5pbmcsIHNraXAgbmV3IGZhaWxpbmcgYW5kIGNyYXNo
aW5nIHRlc3RzLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9ib3JkZXItY29sbGFwc2lu
Zy9hZGphY2VudC1yb3ctZ3JvdXBzLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC90YWJsZS9ib3JkZXItY29sbGFwc2luZy9hZGphY2VudC1yb3ctZ3JvdXBzLWV4
cGVjdGVkLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL2JvcmRl
ci1jb2xsYXBzaW5nL2FkamFjZW50LXJvdy1ncm91cHMtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSwyNSBAQAorPCFET0NUWVBFIGh0bWw+CisKKzxodG1sPgorCis8aGVhZD4K
KzxzdHlsZT4KKyAgdGFibGUge2JvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7fSAgCisgIHRkIHsg
d2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyBib3JkZXI6IDFlbSBzb2xpZCBncmVlbjsgfSAg
CisgIC5vcmFuZ2UgeyBib3JkZXItY29sb3I6IG9yYW5nZTsgfSAgCis8L3N0eWxlPgorPC9oZWFk
PgorCis8Ym9keT4KKzxwPlRlc3QgZm9yIEJ1Z3ppbGxhIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Njg4NSI+QnVnIDg2ODg1PC9hPjogQ1NTMi4xIGZh
aWx1cmU6IGJvcmRlci1jb25mbGljdC1lbGVtZW50MDIxYS48L3A+Cis8cD5XaGVuIHR3byBhZGph
Y2VudCB0YWJsZSByb3cgZ3JvdXBzICh0aGVhZCwgdGJvZHksIHRmb290KSBoYXZlIHRoZSBzYW1l
IGJvcmRlci13aWR0aCBhbmQgdGhlIHNhbWUgYm9yZGVyLXN0eWxlIGluIGEgJ2JvcmRlci1jb2xs
YXBzZTogY29sbGFwc2UnIHRhYmxlLCB0aGVuIHRoZSBjb2xvciBvZiB0aGUgYm9yZGVyIGZyb20g
dGhlIHRvcG1vc3QgdGFibGUgcm93IGdyb3VwIHdpbnM6IHNvLCBhIHRoZWFkIHdpbnMgb3ZlciBh
IHRib2R5IHdoaWNoIHdpbnMgb3ZlciB0Zm9vdC48L3A+Cis8cD5UaGUgYm90dG9tIGJvcmRlciBv
ZiB0aGUgZmlyc3QgKGdyZWVuKSBib3ggc2hvdWxkIGJlIGNvbXBsZXRlbHkgZ3JlZW4gaW4gY29s
b3IgKGluY2x1ZGluZyB0aGUgY29ybmVycykgYW5kIG92ZXJsYXBwaW5nIHRoZSB0b3AgYm9yZGVy
IG9mIHRoZSBzZWNvbmQgKG9yYW5nZSkgYm94LiBTaW1pbGFybHksIHRoZSBib3R0b20gYm9yZGVy
IG9mIHRoZSBzZWNvbmQgKG9yYW5nZSkgYm94IHNob3VsZCBiZSBjb21wbGV0ZWx5IG9yYW5nZSBp
biBjb2xvciAoaW5jbHVkaW5nIHRoZSBjb3JuZXJzKSBhbmQgb3ZlcmxhcHBpbmcgdGhlIHRvcCBi
b3JkZXIgb2YgdGhlIHRoaXJkIChncmVlbikgYm94LjwvcD4KKyAgCis8dGFibGU+CisgICAgPHRy
Pjx0ZD48L3RkPjwvdHI+CisgICAgPHRyPjx0ZCBjbGFzcz0ib3JhbmdlIj48L3RkPjwvdHI+Cisg
ICAgPHRyPjx0ZD48L3RkPjwvdHI+CQorPC90YWJsZT4KKworPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvdGFibGUvYm9y
ZGVyLWNvbGxhcHNpbmcvYWRqYWNlbnQtcm93LWdyb3Vwcy1tdWx0aS1leHBlY3RlZC5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvdGFibGUvYm9yZGVyLWNvbGxhcHNpbmcvYWRq
YWNlbnQtcm93LWdyb3Vwcy1tdWx0aS1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvZmFzdC90YWJsZS9ib3JkZXItY29sbGFwc2luZy9hZGphY2VudC1yb3ctZ3JvdXBz
LW11bHRpLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjggQEAKKzwhRE9D
VFlQRSBodG1sPgorCis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgorICB0YWJsZSB7Ym9yZGVyLWNv
bGxhcHNlOiBjb2xsYXBzZTt9ICAKKyAgdGQgeyB3aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4OyBi
b3JkZXI6IDFlbSBzb2xpZDsgfSAgCisgIC5vcmFuZ2UgeyBib3JkZXItY29sb3I6IG9yYW5nZTsg
fQorICAuZmlyc3QgeyBib3JkZXItY29sb3I6IGdyZWVuOyB9CisgIC5zZWNvbmQgeyBib3JkZXIt
Y29sb3I6IGJsdWU7IH0KKzwvc3R5bGU+Cis8L2hlYWQ+CisKKzxib2R5PgorPHA+VGVzdCBmb3Ig
QnVnemlsbGEgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTg2ODg1Ij5CdWcgODY4ODU8L2E+OiBDU1MyLjEgZmFpbHVyZTogYm9yZGVyLWNvbmZsaWN0LWVs
ZW1lbnQwMjFhLjwvcD4KKzxwPldoZW4gdHdvIGFkamFjZW50IHRhYmxlIHJvdyBncm91cHMgKHRo
ZWFkLCB0Ym9keSwgdGZvb3QpIGhhdmUgdGhlIHNhbWUgYm9yZGVyLXdpZHRoIGFuZCB0aGUgc2Ft
ZSBib3JkZXItc3R5bGUgaW4gYSAnYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZScgdGFibGUsIHRo
ZW4gdGhlIGNvbG9yIG9mIHRoZSBib3JkZXIgZnJvbSB0aGUgdG9wbW9zdCB0YWJsZSByb3cgZ3Jv
dXAgd2luczogc28sIGEgdGhlYWQgd2lucyBvdmVyIGEgdGJvZHkgd2hpY2ggd2lucyBvdmVyIHRm
b290LjwvcD4KKzxwPlRoaXMgdGVzdCB2ZXJpZmllcyB0aGUgYWZvcmVtZW50aW9uZWQgc2NlYW5h
cmlvIHdoZW4gbW9yZSB0aGFuIG9uZSBoZWFkZXIgYW5kL29yIGZvb3RlciBpcyBzcGVjaWZpZWQu
IFRoZSBmaXJzdCB0aGVhZCBzcGVjaWZpZWQgaW4gdGhlIHBhZ2Ugc2hvdWxkIGJlIHJlbmRlcmVk
IGF0IHRoZSB0b3Agb2YgdGhlIHRhYmxlOyBzaW1pbGFybHkgdGhlIGZpcnN0IHRmb290IHNwZWNp
ZmllZCBpbiB0aGUgcGFnZSBzaG91bGQgYmUgcmVuZGVyZWQgYXMgdGhlIGxhc3Qgc2VjdGlvbiBv
ZiB0aGUgdGFibGUuIEluIHRoaXMgY2FzZSBib3RoIHRoZSB0b3AtbW9zdCBhbmQgdGhlIGJvdHRv
bS1tb3N0IHNlY3Rpb25zIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW4gZ3JlZW4gY29sb3IuIEFsc28s
IHRoZXJlIHNob3VsZCBiZSBubyBvdmVybGFwIG9mIGJvcmRlci1jb2xvcnMgYXQgdGhlIGNvcm5l
cnMuPC9wPgorICAKKzx0YWJsZT4KKyAgICA8dHI+PHRkIGNsYXNzPSJmaXJzdCI+PC90ZD48L3Ry
PgorICAgIDx0cj48dGQgY2xhc3M9InNlY29uZCI+PC90ZD48L3RyPgorICAgIDx0cj48dGQgY2xh
c3M9Im9yYW5nZSI+PC90ZD48L3RyPgorICAgIDx0cj48dGQgY2xhc3M9InNlY29uZCI+PC90ZD48
L3RyPgorICAgIDx0cj48dGQgY2xhc3M9ImZpcnN0Ij48L3RkPjwvdHI+Cis8L3RhYmxlPgorCis8
L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL2JvcmRlci1jb2xs
YXBzaW5nL2FkamFjZW50LXJvdy1ncm91cHMtbXVsdGkuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L3RhYmxlL2JvcmRlci1jb2xsYXBzaW5nL2FkamFjZW50LXJvdy1ncm91cHMt
bXVsdGkuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvdGFibGUvYm9yZGVy
LWNvbGxhcHNpbmcvYWRqYWNlbnQtcm93LWdyb3Vwcy1tdWx0aS5odG1sCShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDM5IEBACis8IURPQ1RZUEUgaHRtbD4KKworPGh0bWw+Cis8aGVhZD4KKzxzdHls
ZT4KKyAgdGFibGUgeyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyB9CisgIHRoZWFkLCB0Ym9k
eSwgdGZvb3QgeyBib3JkZXI6IDFlbSBzb2xpZDsgfQorICAuZmlyc3QgeyBib3JkZXItY29sb3I6
IGdyZWVuOyB9CisgIC5zZWNvbmQgeyBib3JkZXItY29sb3I6IGJsdWU7IH0KKyAgdGJvZHkgeyBi
b3JkZXItY29sb3I6IG9yYW5nZTsgfSAgICAKKyAgdGQgeyB3aWR0aDogNTBweDsgaGVpZ2h0OiA1
MHB4O30KKzwvc3R5bGU+Cis8L2hlYWQ+CisKKzxib2R5PgorPHA+VGVzdCBmb3IgQnVnemlsbGEg
PGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2ODg1Ij5C
dWcgODY4ODU8L2E+OiBDU1MyLjEgZmFpbHVyZTogYm9yZGVyLWNvbmZsaWN0LWVsZW1lbnQwMjFh
LjwvcD4KKzxwPldoZW4gdHdvIGFkamFjZW50IHRhYmxlIHJvdyBncm91cHMgKHRoZWFkLCB0Ym9k
eSwgdGZvb3QpIGhhdmUgdGhlIHNhbWUgYm9yZGVyLXdpZHRoIGFuZCB0aGUgc2FtZSBib3JkZXIt
c3R5bGUgaW4gYSAnYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZScgdGFibGUsIHRoZW4gdGhlIGNv
bG9yIG9mIHRoZSBib3JkZXIgZnJvbSB0aGUgdG9wbW9zdCB0YWJsZSByb3cgZ3JvdXAgd2luczog
c28sIGEgdGhlYWQgd2lucyBvdmVyIGEgdGJvZHkgd2hpY2ggd2lucyBvdmVyIHRmb290LjwvcD4K
KzxwPlRoaXMgdGVzdCB2ZXJpZmllcyB0aGUgYWZvcmVtZW50aW9uZWQgc2NlYW5hcmlvIHdoZW4g
bW9yZSB0aGFuIG9uZSBoZWFkZXIgYW5kL29yIGZvb3RlciBpcyBzcGVjaWZpZWQuIFRoZSBmaXJz
dCB0aGVhZCBzcGVjaWZpZWQgaW4gdGhlIHBhZ2Ugc2hvdWxkIGJlIHJlbmRlcmVkIGF0IHRoZSB0
b3Agb2YgdGhlIHRhYmxlOyBzaW1pbGFybHkgdGhlIGZpcnN0IHRmb290IHNwZWNpZmllZCBpbiB0
aGUgcGFnZSBzaG91bGQgYmUgcmVuZGVyZWQgYXMgdGhlIGxhc3Qgc2VjdGlvbiBvZiB0aGUgdGFi
bGUuIEluIHRoaXMgY2FzZSBib3RoIHRoZSB0b3AtbW9zdCBhbmQgdGhlIGJvdHRvbS1tb3N0IHNl
Y3Rpb25zIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW4gZ3JlZW4gY29sb3IuIEFsc28sIHRoZXJlIHNo
b3VsZCBiZSBubyBvdmVybGFwIG9mIGJvcmRlci1jb2xvcnMgYXQgdGhlIGNvcm5lcnMuPC9wPgor
ICAKKzx0YWJsZT4KKyAgICA8dGhlYWQgY2xhc3M9ImZpcnN0Ij4KKyAgICAgICAgPHRyPjx0ZD48
L3RkPjwvdHI+CisgICAgPC90aGVhZD4KKyAgIAk8dGhlYWQgY2xhc3M9InNlY29uZCI+CisgICAg
ICAgIDx0cj48dGQ+PC90ZD48L3RyPgorICAgIDwvdGhlYWQ+CQorICAgIDx0Ym9keT4KKyAgICAg
ICAgPHRyPjx0ZD48L3RkPjwvdHI+CisgICAgPC90Ym9keT4JCisgICAgPHRmb290IGNsYXNzPSJm
aXJzdCI+CisgICAgICAgIDx0cj48dGQ+PC90ZD48L3RyPgorICAgIDwvdGZvb3Q+CisgICAgPHRm
b290IGNsYXNzPSJzZWNvbmQiPgorICAgICAgICA8dHI+PHRkPjwvdGQ+PC90cj4KKyAgICA8L3Rm
b290PgkKKzwvdGFibGU+CisKKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zh
c3QvdGFibGUvYm9yZGVyLWNvbGxhcHNpbmcvYWRqYWNlbnQtcm93LWdyb3Vwcy5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvdGFibGUvYm9yZGVyLWNvbGxhcHNpbmcvYWRqYWNl
bnQtcm93LWdyb3Vwcy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC90YWJs
ZS9ib3JkZXItY29sbGFwc2luZy9hZGphY2VudC1yb3ctZ3JvdXBzLmh0bWwJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorCis8aHRtbD4KKworPGhlYWQ+Cis8
c3R5bGU+CisgIHRhYmxlIHsgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgfQorICB0aGVhZCwg
dGJvZHksIHRmb290IHsgYm9yZGVyOiAxZW0gc29saWQgZ3JlZW47IH0KKyAgdGJvZHkgeyBib3Jk
ZXItY29sb3I6IG9yYW5nZTsgfSAgCisgIHRkIHsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4
O30KKzwvc3R5bGU+Cis8L2hlYWQ+CisKKzxib2R5PgorPHA+VGVzdCBmb3IgQnVnemlsbGEgPGEg
aHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2ODg1Ij5CdWcg
ODY4ODU8L2E+OiBDU1MyLjEgZmFpbHVyZTogYm9yZGVyLWNvbmZsaWN0LWVsZW1lbnQwMjFhLjwv
cD4KKzxwPldoZW4gdHdvIGFkamFjZW50IHRhYmxlIHJvdyBncm91cHMgKHRoZWFkLCB0Ym9keSwg
dGZvb3QpIGhhdmUgdGhlIHNhbWUgYm9yZGVyLXdpZHRoIGFuZCB0aGUgc2FtZSBib3JkZXItc3R5
bGUgaW4gYSAnYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZScgdGFibGUsIHRoZW4gdGhlIGNvbG9y
IG9mIHRoZSBib3JkZXIgZnJvbSB0aGUgdG9wbW9zdCB0YWJsZSByb3cgZ3JvdXAgd2luczogc28s
IGEgdGhlYWQgd2lucyBvdmVyIGEgdGJvZHkgd2hpY2ggd2lucyBvdmVyIHRmb290LjwvcD4KKzxw
PlRoZSBib3R0b20gYm9yZGVyIG9mIHRoZSBmaXJzdCAoZ3JlZW4pIGJveCBzaG91bGQgYmUgY29t
cGxldGVseSBncmVlbiBpbiBjb2xvciAoaW5jbHVkaW5nIHRoZSBjb3JuZXJzKSBhbmQgb3Zlcmxh
cHBpbmcgdGhlIHRvcCBib3JkZXIgb2YgdGhlIHNlY29uZCAob3JhbmdlKSBib3guIFNpbWlsYXJs
eSwgdGhlIGJvdHRvbSBib3JkZXIgb2YgdGhlIHNlY29uZCAob3JhbmdlKSBib3ggc2hvdWxkIGJl
IGNvbXBsZXRlbHkgb3JhbmdlIGluIGNvbG9yIChpbmNsdWRpbmcgdGhlIGNvcm5lcnMpIGFuZCBv
dmVybGFwcGluZyB0aGUgdG9wIGJvcmRlciBvZiB0aGUgdGhpcmQgKGdyZWVuKSBib3guPC9wPgor
ICAKKzx0YWJsZT4KKyAgICA8dGhlYWQ+CisgICAgICAgIDx0cj48dGQ+PC90ZD48L3RyPgorICAg
IDwvdGhlYWQ+CisgICAgPHRib2R5PgorICAgICAgICA8dHI+PHRkPjwvdGQ+PC90cj4KKyAgICA8
L3Rib2R5PgorICAgIDx0Zm9vdD4KKyAgICAgICAgPHRyPjx0ZD48L3RkPjwvdHI+CisgICAgPC90
Zm9vdD4KKzwvdGFibGU+CisKKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145552</attachid>
            <date>2012-06-04 03:11:54 -0700</date>
            <delta_ts>2012-06-05 03:46:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86885-20120604154321.patch</filename>
            <type>text/plain</type>
            <size>22534</size>
            <attacher name="Arpita Bahuguna">arpitabahuguna</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExOTM3OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDEyLTA2LTA0ICBBcnBpdGEg
QmFodWd1bmEgIDxhcnBpdGFiYWh1Z3VuYUBnbWFpbC5jb20+CisKKyAgICAgICAgQ1NTIDIuMSBm
YWlsdXJlOiBib3JkZXItY29uZmxpY3QtZWxlbWVudC0wMjFhCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Njg4NQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gdHdvIGFkamFjZW50IHRhYmxlIHJvdyBn
cm91cHMgKHRoZWFkLCB0Ym9keSwgdGZvb3QpIGhhdmUgdGhlIHNhbWUgYm9yZGVyLXdpZHRoCisg
ICAgICAgIGFuZCB0aGUgc2FtZSBib3JkZXItc3R5bGUgaW4gYSAnYm9yZGVyLWNvbGxhcHNlOiBj
b2xsYXBzZScgdGFibGUgdGhlIGNvbG9yIG9mIHRoZSBib3JkZXIKKyAgICAgICAgZnJvbSB0aGUg
dG9wLW1vc3QgdGFibGUgcm93IHdpbnMuCisKKyAgICAgICAgVGVzdHM6IGZhc3QvdGFibGUvYm9y
ZGVyLWNvbGxhcHNpbmcvYWRqYWNlbnQtcm93LWdyb3Vwcy1tdWx0aS5odG1sCisgICAgICAgICAg
ICAgICBmYXN0L3RhYmxlL2JvcmRlci1jb2xsYXBzaW5nL2FkamFjZW50LXJvdy1ncm91cHMuaHRt
bAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRhYmxlOjpwYWludE9iamVjdCk6CisgICAgICAgIEN1cnJlbnRseSBlYWNoIHJv
dyBncm91cCBpcyBzZW50IGZvciBwYWludCBmcm9tIHRvcCAoZmlyc3RDaGlsZCkgdG8gYm90dG9t
IHRoZXJlYnkgY2F1c2luZworICAgICAgICB0aGUgYm9yZGVycyBvZiB0aGUgYm90dG9tLW1vc3Qg
cm93IGdyb3VwICh3aGljaCBpcyBwYWludGVkIGxhc3QpIHRvIG92ZXJsYXAgb3ZlciB0aGUKKyAg
ICAgICAgcHJldmlvdXMgcm93LWdyb3VwLiBUaGlzIGJyZWFrcyB0aGUgcHJlY2VkZW5jZSBmb3Ig
Y29sbGFwc2VkIGJvcmRlcnMgYmV0d2VlbiBhZGphY2VudCBjZWxscy4KKworICAgICAgICBUaGlz
IGZpeCB0aHVzIHJldmVyc2VzIHRoZSBvcmRlciBpbiB3aGljaCB0aGUgcm93LWdyb3Vwcy9zZWN0
aW9ucyBhcmUgcGFzc2VkIGZvciBwYWludGluZy4KKyAgICAgICAgQWRkaXRpb25hbCBjaGFuZ2Ug
aGFzIGJlZW4gZG9uZSB0byBpdGVyYXRlIG92ZXIgdGhlIFJlbmRlclRhYmxlU2VjdGlvbnMgZGly
ZWN0bHkuCisKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFi
bGU6OmJvdHRvbVNlY3Rpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZS5oOgor
ICAgICAgICBOZXcgZnVuY3Rpb24gaGFzIGJlZW4gYWRkZWQgdG8gb2J0YWluIHRoZSBsYXN0IHNl
Y3Rpb24gb2YgdGhlIHRhYmxlLgorCisgICAgICAgIChSZW5kZXJUYWJsZSk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5oOgorICAgICAgICAoUmVuZGVyVGFibGVTZWN0
aW9uKToKKyAgICAgICAgUmVuZGVyVGFibGVTZWN0aW9uJ3MgcGFpbnQoKSBtZXRob2QgaGFzIG5v
dyBiZWVuIG1hZGUgcHVibGljIHNvIGFzIHRvIG1ha2UgaXQgYWNjZXNzaWJsZQorICAgICAgICBm
cm9tIFJlbmRlclRhYmxlLgorCiAyMDEyLTA2LTA0ICBZb3NoaWZ1bWkgSW5vdWUgIDx5b3NpbkBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMTE3OTI5KSBbRm9ybXNdIGlucHV0
IHR5cGU9bnVtYmVyIHRoaW5rcyAwIGlzIG5vdCBhIG51bWJlcgpJbmRleDogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuY3BwCShyZXZpc2lvbiAxMTkzNzkpCisrKyBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OTIs
MTEgKzU5MiwxMCBAQCB2b2lkIFJlbmRlclRhYmxlOjpwYWludE9iamVjdChQYWludEluZm8mCiAg
ICAgICAgIHNpemVfdCBjb3VudCA9IG1fY29sbGFwc2VkQm9yZGVycy5zaXplKCk7CiAgICAgICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY291bnQ7ICsraSkgewogICAgICAgICAgICAgbV9jdXJy
ZW50Qm9yZGVyID0gJm1fY29sbGFwc2VkQm9yZGVyc1tpXTsKLSAgICAgICAgICAgIGZvciAoUmVu
ZGVyT2JqZWN0KiBjaGlsZCA9IGZpcnN0Q2hpbGQoKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5l
eHRTaWJsaW5nKCkpCi0gICAgICAgICAgICAgICAgaWYgKGNoaWxkLT5pc1RhYmxlU2VjdGlvbigp
KSB7Ci0gICAgICAgICAgICAgICAgICAgIExheW91dFBvaW50IGNoaWxkUG9pbnQgPSBmbGlwRm9y
V3JpdGluZ01vZGVGb3JDaGlsZCh0b1JlbmRlclRhYmxlU2VjdGlvbihjaGlsZCksIHBhaW50T2Zm
c2V0KTsKLSAgICAgICAgICAgICAgICAgICAgY2hpbGQtPnBhaW50KGluZm8sIGNoaWxkUG9pbnQp
OwotICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGZvciAoUmVuZGVyVGFibGVTZWN0aW9u
KiBzZWN0aW9uID0gYm90dG9tU2VjdGlvbigpOyBzZWN0aW9uOyBzZWN0aW9uID0gc2VjdGlvbkFi
b3ZlKHNlY3Rpb24pKSB7CisgICAgICAgICAgICAgICAgTGF5b3V0UG9pbnQgY2hpbGRQb2ludCA9
IGZsaXBGb3JXcml0aW5nTW9kZUZvckNoaWxkKHNlY3Rpb24sIHBhaW50T2Zmc2V0KTsKKyAgICAg
ICAgICAgICAgICBzZWN0aW9uLT5wYWludChpbmZvLCBjaGlsZFBvaW50KTsKKyAgICAgICAgICAg
IH0KICAgICAgICAgfQogICAgICAgICBtX2N1cnJlbnRCb3JkZXIgPSAwOwogICAgIH0KQEAgLTEx
MTIsNiArMTExMSwyMSBAQCBSZW5kZXJUYWJsZVNlY3Rpb24qIFJlbmRlclRhYmxlOjpzZWN0aW9u
CiAgICAgcmV0dXJuIHRvUmVuZGVyVGFibGVTZWN0aW9uKG5leHRTZWN0aW9uKTsKIH0KIAorUmVu
ZGVyVGFibGVTZWN0aW9uKiBSZW5kZXJUYWJsZTo6Ym90dG9tU2VjdGlvbigpIGNvbnN0Cit7Cisg
ICAgcmVjYWxjU2VjdGlvbnNJZk5lZWRlZCgpOworCisgICAgaWYgKG1fZm9vdCkKKyAgICAgICAg
cmV0dXJuIG1fZm9vdDsKKworICAgIGZvciAoUmVuZGVyT2JqZWN0KiBjaGlsZCA9IGxhc3RDaGls
ZCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+cHJldmlvdXNTaWJsaW5nKCkpIHsKKyAgICAgICAg
aWYgKGNoaWxkLT5pc1RhYmxlU2VjdGlvbigpKQorICAgICAgICAgICAgcmV0dXJuIHRvUmVuZGVy
VGFibGVTZWN0aW9uKGNoaWxkKTsKKyAgICB9CisKKyAgICByZXR1cm4gMDsKK30KKwogUmVuZGVy
VGFibGVDZWxsKiBSZW5kZXJUYWJsZTo6Y2VsbEFib3ZlKGNvbnN0IFJlbmRlclRhYmxlQ2VsbCog
Y2VsbCkgY29uc3QKIHsKICAgICByZWNhbGNTZWN0aW9uc0lmTmVlZGVkKCk7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuaAkocmV2aXNpb24gMTE5Mzc5KQorKysgU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE5
Miw2ICsxOTIsOCBAQCBwdWJsaWM6CiAgICAgUmVuZGVyVGFibGVTZWN0aW9uKiBzZWN0aW9uQWJv
dmUoY29uc3QgUmVuZGVyVGFibGVTZWN0aW9uKiwgU2tpcEVtcHR5U2VjdGlvbnNWYWx1ZSA9IERv
Tm90U2tpcEVtcHR5U2VjdGlvbnMpIGNvbnN0OwogICAgIFJlbmRlclRhYmxlU2VjdGlvbiogc2Vj
dGlvbkJlbG93KGNvbnN0IFJlbmRlclRhYmxlU2VjdGlvbiosIFNraXBFbXB0eVNlY3Rpb25zVmFs
dWUgPSBEb05vdFNraXBFbXB0eVNlY3Rpb25zKSBjb25zdDsKIAorICAgIFJlbmRlclRhYmxlU2Vj
dGlvbiogYm90dG9tU2VjdGlvbigpIGNvbnN0OworCiAgICAgUmVuZGVyVGFibGVDZWxsKiBjZWxs
QWJvdmUoY29uc3QgUmVuZGVyVGFibGVDZWxsKikgY29uc3Q7CiAgICAgUmVuZGVyVGFibGVDZWxs
KiBjZWxsQmVsb3coY29uc3QgUmVuZGVyVGFibGVDZWxsKikgY29uc3Q7CiAgICAgUmVuZGVyVGFi
bGVDZWxsKiBjZWxsQmVmb3JlKGNvbnN0IFJlbmRlclRhYmxlQ2VsbCopIGNvbnN0OwpJbmRleDog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uaAkocmV2aXNp
b24gMTE5Mzc5KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlv
bi5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzgsNiArMTc4LDggQEAgcHVibGljOgogICAgIHsKICAg
ICAgICAgcmV0dXJuIGNyZWF0ZUFub255bW91c1dpdGhQYXJlbnRSZW5kZXJlcihwYXJlbnQpOwog
ICAgIH0KKyAgICAKKyAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoUGFpbnRJbmZvJiwgY29uc3QgTGF5
b3V0UG9pbnQmKSBPVkVSUklERTsKIAogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBzdHls
ZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdHlsZSk7
CkBAIC0xOTYsNyArMTk4LDYgQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVD
aGlsZChSZW5kZXJPYmplY3QqIG9sZENoaWxkKTsKIAotICAgIHZpcnR1YWwgdm9pZCBwYWludChQ
YWludEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYpOwogICAgIHZpcnR1YWwgdm9pZCBwYWludENl
bGwoUmVuZGVyVGFibGVDZWxsKiwgUGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0UG9pbnQmKTsKICAg
ICB2aXJ0dWFsIHZvaWQgcGFpbnRPYmplY3QoUGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0UG9pbnQm
KTsKIApJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTE5Mzc5KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTItMDYtMDQgIEFycGl0YSBCYWh1
Z3VuYSAgPGFycGl0YWJhaHVndW5hQGdtYWlsLmNvbT4KKworICAgICAgICBDU1MgMi4xIGZhaWx1
cmU6IGJvcmRlci1jb25mbGljdC1lbGVtZW50LTAyMWEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2ODg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBjc3MyLjEvMjAxMTAzMjMvYm9yZGVyLWNvbmZsaWN0
LWVsZW1lbnQtMDIxYS1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MyLjEvMjAx
MTAzMjMvYm9yZGVyLWNvbmZsaWN0LWVsZW1lbnQtMDIxYS5odG06IEFkZGVkLgorICAgICAgICBB
ZGRlZCByZWYgdGVzdCB1bmRlciB0aGUgY3NzMi4xIHRlc3Qtc3VpdGUgZm9yIGJvcmRlci1jb25m
bGljdC1lbGVtZW50LTAyMWEuCisKKyAgICAgICAgKiBmYXN0L3RhYmxlL2JvcmRlci1jb2xsYXBz
aW5nL2FkamFjZW50LXJvdy1ncm91cHMtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZmFzdC90YWJsZS9ib3JkZXItY29sbGFwc2luZy9hZGphY2VudC1yb3ctZ3JvdXBzLmh0bWw6IEFk
ZGVkLgorICAgICAgICBBZGRlZCByZWYgdGVzdCBmb3IgdmVyaWZ5aW5nICdib3JkZXItY29sbGFw
c2U6IGNvbGxhcHNlJyB0YWJsZSByZW5kZXJpbmcgd2hlbiB0d28KKyAgICAgICAgYWRqYWNlbnQg
dGFibGUgcm93LWdyb3VwcyBoYXZlIHRoZSBzYW1lIGJvcmRlci13aWR0aCBhbmQgdGhlIHNhbWUg
Ym9yZGVyLXN0eWxlLiBJbgorICAgICAgICBzdWNoIGEgY2FzZSB0aGUgY29sb3Igb2YgdGhlIGJv
cmRlciBmcm9tIHRoZSB0b3AtbW9zdCB0YWJsZSByb3ctZ3JvdXAgd2lucy4KKworICAgICAgICAq
IGZhc3QvdGFibGUvYm9yZGVyLWNvbGxhcHNpbmcvYWRqYWNlbnQtcm93LWdyb3Vwcy1tdWx0aS1l
eHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RhYmxlL2JvcmRlci1jb2xsYXBz
aW5nL2FkamFjZW50LXJvdy1ncm91cHMtbXVsdGkuaHRtbDogQWRkZWQuCisgICAgICAgIEFkZGl0
aW9uYWwgcmVmIHRlc3QgYWRkZWQgZm9yIHZlcmlmeWluZyAnYm9yZGVyLWNvbGxhcHNlOiBjb2xs
YXBzZScgdGFibGUgcmVuZGVyaW5nCisgICAgICAgIGZvciBhZGphY2VudCB0YWJsZSByb3ctZ3Jv
dXBzIHdoZW4gbW9yZSB0aGFuIG9uZSB0YWJsZSBoZWFkZXJzIGFuZC9vciBmb290ZXJzIGFyZSBz
cGVjaWZpZWQuIAorCiAyMDEyLTA2LTA0ICBZb3NoaWZ1bWkgSW5vdWUgIDx5b3NpbkBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMTE3OTI5KSBbRm9ybXNdIGlucHV0IHR5cGU9
bnVtYmVyIHRoaW5rcyAwIGlzIG5vdCBhIG51bWJlcgpJbmRleDogTGF5b3V0VGVzdHMvY3NzMi4x
LzIwMTEwMzIzL2JvcmRlci1jb25mbGljdC1lbGVtZW50LTAyMWEtZXhwZWN0ZWQuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9jc3MyLjEvMjAxMTAzMjMvYm9yZGVyLWNvbmZsaWN0LWVs
ZW1lbnQtMDIxYS1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvY3Nz
Mi4xLzIwMTEwMzIzL2JvcmRlci1jb25mbGljdC1lbGVtZW50LTAyMWEtZXhwZWN0ZWQuaHRtbAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSw3MCBAQAorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9X
M0MvL0RURCBIVE1MIDQuMDEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvc3RyaWN0
LmR0ZCI+Cis8aHRtbD4KKworIDxoZWFkPgorICA8c3R5bGU+CisgIHRhYmxlCisgIHsKKyAgICBi
b3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOworICAgIGNvbG9yOiB3aGl0ZTsKKyAgICBmb250OiAx
LjI1ZW0vMSBBaGVtOworICAgIG1hcmdpbjogYXV0byBhdXRvIDJlbSAyZW07CisgIH0KKworICAu
Ymx1ZSB7Ym9yZGVyOiBzb2xpZCAxZW0gYmx1ZTt9CisgIC55ZWxsb3cge2JvcmRlcjogc29saWQg
MWVtIHllbGxvdzt9CisgIC5vcmFuZ2Uge2JvcmRlcjogc29saWQgMWVtIG9yYW5nZTt9CisKKyAg
dGFibGUjcmVmZXJlbmNlID4gdGJvZHkge2JvcmRlcjogcmVkIG5vbmUgMGVtO30KKworICB0ZCB7
cGFkZGluZzogMHB4O30KKyAgCisgIGltZworICB7CisgIGhlaWdodDogMWVtOworICB2ZXJ0aWNh
bC1hbGlnbjogYm90dG9tOyAKKyAgLyogCisgIFdpdGggJ3ZlcnRpY2FsLWFsaWduOiBib3R0b20n
LCBzd2F0Y2gtW2NvbG9yXSBpbWFnZXMgInNpdCIgCisgIGF0IHRoZSBib3R0b20gb2YgdGhlIGNl
bGwncyBsaW5lIGJveCBhbmQgbm90IG9uIGl0cyBiYXNlbGluZSAKKyAgKi8KKyAgd2lkdGg6IDFl
bTsKKyAgfQorICA8L3N0eWxlPgorIDwvaGVhZD4KKworIDxib2R5PgorICA8cD5UZXN0IHBhc3Nl
cyBpZiBib3RoIG11bHRpLWNvbG9yZWQgcmVjdGFuZ3VsYXIgc3RydWN0dXJlcyBhcmUgPHN0cm9u
Zz5wZXJmZWN0bHkgaWRlbnRpY2FsPC9zdHJvbmc+LjwvcD4KKworICA8dGFibGU+CisgICAgPHRy
Pjx0ZCBjbGFzcz0iYmx1ZSI+QkxVRTwvdGQ+PC90cj4KKwk8dHI+PHRkIGNsYXNzPSJ5ZWxsb3ci
PllFTEw8L3RkPjwvdHI+CisgICAgPHRyPjx0ZCBjbGFzcz0ib3JhbmdlIj5PUkFOPC90ZD48L3Ry
PgorICA8L3RhYmxlPgorCisgIAorICA8dGFibGUgaWQ9InJlZmVyZW5jZSI+CisgICAgPHRyPgor
ICAgICAgPHRkPjxpbWcgc3JjPSJzdXBwb3J0L3N3YXRjaC1ibHVlLnBuZyI+PGltZyBzcmM9InN1
cHBvcnQvc3dhdGNoLWJsdWUucG5nIj48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gtYmx1ZS5wbmci
PjxpbWcgc3JjPSJzdXBwb3J0L3N3YXRjaC1ibHVlLnBuZyI+PGltZyBzcmM9InN1cHBvcnQvc3dh
dGNoLWJsdWUucG5nIj48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gtYmx1ZS5wbmciPjwvdGQ+Cisg
ICAgPC90cj4KKyAgICA8dHI+CisgICAgICA8dGQ+PGltZyBzcmM9InN1cHBvcnQvc3dhdGNoLWJs
dWUucG5nIj48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gtd2hpdGUucG5nIj48aW1nIHNyYz0ic3Vw
cG9ydC9zd2F0Y2gtd2hpdGUucG5nIj48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gtd2hpdGUucG5n
Ij48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gtd2hpdGUucG5nIj48aW1nIHNyYz0ic3VwcG9ydC9z
d2F0Y2gtYmx1ZS5wbmciPjwvdGQ+CisgICAgPC90cj4KKyAgICA8dHI+CisgICAgICA8dGQ+PGlt
ZyBzcmM9InN1cHBvcnQvc3dhdGNoLWJsdWUucG5nIj48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gt
Ymx1ZS5wbmciPjxpbWcgc3JjPSJzdXBwb3J0L3N3YXRjaC1ibHVlLnBuZyI+PGltZyBzcmM9InN1
cHBvcnQvc3dhdGNoLWJsdWUucG5nIj48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gtYmx1ZS5wbmci
PjxpbWcgc3JjPSJzdXBwb3J0L3N3YXRjaC1ibHVlLnBuZyI+PC90ZD4KKyAgICA8L3RyPgorICAg
IDx0cj4KKyAgICAgIDx0ZD48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gteWVsbG93LnBuZyI+PGlt
ZyBzcmM9InN1cHBvcnQvc3dhdGNoLXdoaXRlLnBuZyI+PGltZyBzcmM9InN1cHBvcnQvc3dhdGNo
LXdoaXRlLnBuZyI+PGltZyBzcmM9InN1cHBvcnQvc3dhdGNoLXdoaXRlLnBuZyI+PGltZyBzcmM9
InN1cHBvcnQvc3dhdGNoLXdoaXRlLnBuZyI+PGltZyBzcmM9InN1cHBvcnQvc3dhdGNoLXllbGxv
dy5wbmciPjwvdGQ+CisgICAgPC90cj4KKyAgICA8dHI+CisgICAgICA8dGQ+PGltZyBzcmM9InN1
cHBvcnQvc3dhdGNoLXllbGxvdy5wbmciPjxpbWcgc3JjPSJzdXBwb3J0L3N3YXRjaC15ZWxsb3cu
cG5nIj48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gteWVsbG93LnBuZyI+PGltZyBzcmM9InN1cHBv
cnQvc3dhdGNoLXllbGxvdy5wbmciPjxpbWcgc3JjPSJzdXBwb3J0L3N3YXRjaC15ZWxsb3cucG5n
Ij48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gteWVsbG93LnBuZyI+PC90ZD4KKyAgICA8L3RyPgor
ICAgIDx0cj4KKyAgICAgIDx0ZD48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gtb3JhbmdlLnBuZyI+
PGltZyBzcmM9InN1cHBvcnQvc3dhdGNoLXdoaXRlLnBuZyI+PGltZyBzcmM9InN1cHBvcnQvc3dh
dGNoLXdoaXRlLnBuZyI+PGltZyBzcmM9InN1cHBvcnQvc3dhdGNoLXdoaXRlLnBuZyI+PGltZyBz
cmM9InN1cHBvcnQvc3dhdGNoLXdoaXRlLnBuZyI+PGltZyBzcmM9InN1cHBvcnQvc3dhdGNoLW9y
YW5nZS5wbmciPjwvdGQ+CisgICAgPC90cj4KKyAgICA8dHI+CisgICAgICA8dGQ+PGltZyBzcmM9
InN1cHBvcnQvc3dhdGNoLW9yYW5nZS5wbmciPjxpbWcgc3JjPSJzdXBwb3J0L3N3YXRjaC1vcmFu
Z2UucG5nIj48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gtb3JhbmdlLnBuZyI+PGltZyBzcmM9InN1
cHBvcnQvc3dhdGNoLW9yYW5nZS5wbmciPjxpbWcgc3JjPSJzdXBwb3J0L3N3YXRjaC1vcmFuZ2Uu
cG5nIj48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gtb3JhbmdlLnBuZyI+PC90ZD4KKyAgICA8L3Ry
PgorICA8L3RhYmxlPgorCisgPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2NzczIuMS8yMDExMDMyMy9ib3JkZXItY29uZmxpY3Qt
ZWxlbWVudC0wMjFhLmh0bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9jc3MyLjEvMjAxMTAz
MjMvYm9yZGVyLWNvbmZsaWN0LWVsZW1lbnQtMDIxYS5odG0JKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9jc3MyLjEvMjAxMTAzMjMvYm9yZGVyLWNvbmZsaWN0LWVsZW1lbnQtMDIxYS5odG0J
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTAzIEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0v
L1czQy8vRFREIEhUTUwgNC4wMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNC9zdHJp
Y3QuZHRkIj4KKzxodG1sPgorCisgPGhlYWQ+CisKKyAgPHRpdGxlPkNTUyBUZXN0OiBCb3JkZXIg
Y29uZmxpY3QgcmVzb2x1dGlvbiAtIGFkamFjZW50IHRhYmxlIHJvdyBncm91cHMgd2l0aCBzYW1l
IGJvcmRlci1zdHlsZSBhbmQgYm9yZGVyLXdpZHRoPC90aXRsZT4KKworICA8bGluayByZWw9ImF1
dGhvciIgdGl0bGU9IkfpcmFyZCBUYWxib3QiIGhyZWY9Imh0dHA6Ly93d3cuZ3RhbGJvdC5vcmcv
QnJvd3NlckJ1Z3NTZWN0aW9uL2NzczIxdGVzdHN1aXRlLyI+CisgIDxsaW5rIHJlbD0iaGVscCIg
aHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvQ1NTMjEvdGFibGVzLmh0bWwjYm9yZGVyLWNvbmZs
aWN0LXJlc29sdXRpb24iIHRpdGxlPSIxNy42LjIuMSBCb3JkZXIgY29uZmxpY3QgcmVzb2x1dGlv
biI+CisKKyAgPG1ldGEgY29udGVudD0iaW1hZ2UiIG5hbWU9ImZsYWdzIj4KKyAgPG1ldGEgY29u
dGVudD0iV2hlbiB0d28gYWRqYWNlbnQgdGFibGUgcm93IGdyb3VwcyAoZWcuIHRoZWFkLCB0Ym9k
eSwgdGZvb3QpIGhhdmUgdGhlIHNhbWUgYm9yZGVyLXdpZHRoIGFuZCB0aGUgc2FtZSBib3JkZXIt
c3R5bGUgaW4gYSAnYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZScgdGFibGUsIHRoZW4gdGhlIGNv
bG9yIG9mIHRoZSBib3JkZXIgZnJvbSB0aGUgdG9wbW9zdCB0YWJsZSByb3cgZ3JvdXAgd2luczog
c28sIGEgdGhlYWQgd2lucyBvdmVyIGEgdGJvZHkgd2hpY2ggd2lucyBvdmVyIHRmb290LiIgbmFt
ZT0iYXNzZXJ0Ij4KKworICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICB0YWJsZSN0ZXN0IHti
b3JkZXI6IHJlZCBzb2xpZCAxZW07fQorCisgIHRhYmxlCisgIHsKKyAgYm9yZGVyLWNvbGxhcHNl
OiBjb2xsYXBzZTsKKyAgY29sb3I6IHdoaXRlOworICBmb250OiAxLjI1ZW0vMSBBaGVtOworICBt
YXJnaW46IGF1dG8gYXV0byAyZW0gMmVtOworICB9CisKKyAgdGhlYWQsIHRib2R5LCB0Zm9vdCB7
Ym9yZGVyOiBzb2xpZCAxZW07fQorCisgIHRoZWFkIHtib3JkZXItY29sb3I6IGJsdWU7fQorICB0
Ym9keSB7Ym9yZGVyLWNvbG9yOiB5ZWxsb3c7fQorICB0Zm9vdCB7Ym9yZGVyLWNvbG9yOiBvcmFu
Z2U7fQorICAKKyAgdGQge3BhZGRpbmc6IDBweDt9CisKKyAgdGFibGUjcmVmZXJlbmNlID4gdGJv
ZHkge2JvcmRlcjogcmVkIG5vbmUgMGVtO30KKworICBpbWcKKyAgeworICBoZWlnaHQ6IDFlbTsK
KyAgdmVydGljYWwtYWxpZ246IGJvdHRvbTsgCisgIC8qIAorICBXaXRoICd2ZXJ0aWNhbC1hbGln
bjogYm90dG9tJywgc3dhdGNoLVtjb2xvcl0gaW1hZ2VzICJzaXQiIAorICBhdCB0aGUgYm90dG9t
IG9mIHRoZSBjZWxsJ3MgbGluZSBib3ggYW5kIG5vdCBvbiBpdHMgYmFzZWxpbmUgCisgICovCisg
IHdpZHRoOiAxZW07CisgIH0KKyAgPC9zdHlsZT4KKworIDwvaGVhZD4KKworIDxib2R5PgorCisg
IDxwPlRlc3QgcGFzc2VzIGlmIGJvdGggbXVsdGktY29sb3JlZCByZWN0YW5ndWxhciBzdHJ1Y3R1
cmVzIGFyZSA8c3Ryb25nPnBlcmZlY3RseSBpZGVudGljYWw8L3N0cm9uZz4uPC9wPgorCisgIDx0
YWJsZSBpZD0idGVzdCI+CisKKyAgIAk8dGhlYWQ+CisJCTx0cj48dGQ+QjwvdGQ+PHRkPkw8L3Rk
Pjx0ZD5VPC90ZD48dGQ+RTwvdGQ+PC90cj4KKwk8L3RoZWFkPgorCisgICAJPHRmb290PgorCQk8
dHI+PHRkPk88L3RkPjx0ZD5SPC90ZD48dGQ+QTwvdGQ+PHRkPk48L3RkPjwvdHI+CisJPC90Zm9v
dD4KKworCTx0Ym9keT4KKwkJPHRyPjx0ZD5ZPC90ZD48dGQ+RTwvdGQ+PHRkPkw8L3RkPjx0ZD5M
PC90ZD48L3RyPgorCTwvdGJvZHk+CisKKyAgPC90YWJsZT4KKworCisgIDx0YWJsZSBpZD0icmVm
ZXJlbmNlIj4KKworICAgIDx0cj4KKyAgICAgIDx0ZD48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gt
Ymx1ZS5wbmciIGFsdD0iSW1hZ2UgZG93bmxvYWQgc3VwcG9ydCBtdXN0IGJlIGVuYWJsZWQiPjxp
bWcgc3JjPSJzdXBwb3J0L3N3YXRjaC1ibHVlLnBuZyIgYWx0PSJJbWFnZSBkb3dubG9hZCBzdXBw
b3J0IG11c3QgYmUgZW5hYmxlZCI+PGltZyBzcmM9InN1cHBvcnQvc3dhdGNoLWJsdWUucG5nIiBh
bHQ9IkltYWdlIGRvd25sb2FkIHN1cHBvcnQgbXVzdCBiZSBlbmFibGVkIj48aW1nIHNyYz0ic3Vw
cG9ydC9zd2F0Y2gtYmx1ZS5wbmciIGFsdD0iSW1hZ2UgZG93bmxvYWQgc3VwcG9ydCBtdXN0IGJl
IGVuYWJsZWQiPjxpbWcgc3JjPSJzdXBwb3J0L3N3YXRjaC1ibHVlLnBuZyIgYWx0PSJJbWFnZSBk
b3dubG9hZCBzdXBwb3J0IG11c3QgYmUgZW5hYmxlZCI+PGltZyBzcmM9InN1cHBvcnQvc3dhdGNo
LWJsdWUucG5nIiBhbHQ9IkltYWdlIGRvd25sb2FkIHN1cHBvcnQgbXVzdCBiZSBlbmFibGVkIj48
L3RkPgorICAgIDwvdHI+CisKKyAgICA8dHI+CisgICAgICA8dGQ+PGltZyBzcmM9InN1cHBvcnQv
c3dhdGNoLWJsdWUucG5nIiBhbHQ9IkltYWdlIGRvd25sb2FkIHN1cHBvcnQgbXVzdCBiZSBlbmFi
bGVkIj48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gtd2hpdGUucG5nIiBhbHQ9IkltYWdlIGRvd25s
b2FkIHN1cHBvcnQgbXVzdCBiZSBlbmFibGVkIj48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gtd2hp
dGUucG5nIiBhbHQ9IkltYWdlIGRvd25sb2FkIHN1cHBvcnQgbXVzdCBiZSBlbmFibGVkIj48aW1n
IHNyYz0ic3VwcG9ydC9zd2F0Y2gtd2hpdGUucG5nIiBhbHQ9IkltYWdlIGRvd25sb2FkIHN1cHBv
cnQgbXVzdCBiZSBlbmFibGVkIj48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gtd2hpdGUucG5nIiBh
bHQ9IkltYWdlIGRvd25sb2FkIHN1cHBvcnQgbXVzdCBiZSBlbmFibGVkIj48aW1nIHNyYz0ic3Vw
cG9ydC9zd2F0Y2gtYmx1ZS5wbmciIGFsdD0iSW1hZ2UgZG93bmxvYWQgc3VwcG9ydCBtdXN0IGJl
IGVuYWJsZWQiPjwvdGQ+CisgICAgPC90cj4KKworICAgIDx0cj4KKyAgICAgIDx0ZD48aW1nIHNy
Yz0ic3VwcG9ydC9zd2F0Y2gtYmx1ZS5wbmciIGFsdD0iSW1hZ2UgZG93bmxvYWQgc3VwcG9ydCBt
dXN0IGJlIGVuYWJsZWQiPjxpbWcgc3JjPSJzdXBwb3J0L3N3YXRjaC1ibHVlLnBuZyIgYWx0PSJJ
bWFnZSBkb3dubG9hZCBzdXBwb3J0IG11c3QgYmUgZW5hYmxlZCI+PGltZyBzcmM9InN1cHBvcnQv
c3dhdGNoLWJsdWUucG5nIiBhbHQ9IkltYWdlIGRvd25sb2FkIHN1cHBvcnQgbXVzdCBiZSBlbmFi
bGVkIj48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gtYmx1ZS5wbmciIGFsdD0iSW1hZ2UgZG93bmxv
YWQgc3VwcG9ydCBtdXN0IGJlIGVuYWJsZWQiPjxpbWcgc3JjPSJzdXBwb3J0L3N3YXRjaC1ibHVl
LnBuZyIgYWx0PSJJbWFnZSBkb3dubG9hZCBzdXBwb3J0IG11c3QgYmUgZW5hYmxlZCI+PGltZyBz
cmM9InN1cHBvcnQvc3dhdGNoLWJsdWUucG5nIiBhbHQ9IkltYWdlIGRvd25sb2FkIHN1cHBvcnQg
bXVzdCBiZSBlbmFibGVkIj48L3RkPgorICAgIDwvdHI+CisKKyAgICA8dHI+CisgICAgICA8dGQ+
PGltZyBzcmM9InN1cHBvcnQvc3dhdGNoLXllbGxvdy5wbmciIGFsdD0iSW1hZ2UgZG93bmxvYWQg
c3VwcG9ydCBtdXN0IGJlIGVuYWJsZWQiPjxpbWcgc3JjPSJzdXBwb3J0L3N3YXRjaC13aGl0ZS5w
bmciIGFsdD0iSW1hZ2UgZG93bmxvYWQgc3VwcG9ydCBtdXN0IGJlIGVuYWJsZWQiPjxpbWcgc3Jj
PSJzdXBwb3J0L3N3YXRjaC13aGl0ZS5wbmciIGFsdD0iSW1hZ2UgZG93bmxvYWQgc3VwcG9ydCBt
dXN0IGJlIGVuYWJsZWQiPjxpbWcgc3JjPSJzdXBwb3J0L3N3YXRjaC13aGl0ZS5wbmciIGFsdD0i
SW1hZ2UgZG93bmxvYWQgc3VwcG9ydCBtdXN0IGJlIGVuYWJsZWQiPjxpbWcgc3JjPSJzdXBwb3J0
L3N3YXRjaC13aGl0ZS5wbmciIGFsdD0iSW1hZ2UgZG93bmxvYWQgc3VwcG9ydCBtdXN0IGJlIGVu
YWJsZWQiPjxpbWcgc3JjPSJzdXBwb3J0L3N3YXRjaC15ZWxsb3cucG5nIiBhbHQ9IkltYWdlIGRv
d25sb2FkIHN1cHBvcnQgbXVzdCBiZSBlbmFibGVkIj48L3RkPgorICAgIDwvdHI+CisKKyAgICA8
dHI+CisgICAgICA8dGQ+PGltZyBzcmM9InN1cHBvcnQvc3dhdGNoLXllbGxvdy5wbmciIGFsdD0i
SW1hZ2UgZG93bmxvYWQgc3VwcG9ydCBtdXN0IGJlIGVuYWJsZWQiPjxpbWcgc3JjPSJzdXBwb3J0
L3N3YXRjaC15ZWxsb3cucG5nIiBhbHQ9IkltYWdlIGRvd25sb2FkIHN1cHBvcnQgbXVzdCBiZSBl
bmFibGVkIj48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gteWVsbG93LnBuZyIgYWx0PSJJbWFnZSBk
b3dubG9hZCBzdXBwb3J0IG11c3QgYmUgZW5hYmxlZCI+PGltZyBzcmM9InN1cHBvcnQvc3dhdGNo
LXllbGxvdy5wbmciIGFsdD0iSW1hZ2UgZG93bmxvYWQgc3VwcG9ydCBtdXN0IGJlIGVuYWJsZWQi
PjxpbWcgc3JjPSJzdXBwb3J0L3N3YXRjaC15ZWxsb3cucG5nIiBhbHQ9IkltYWdlIGRvd25sb2Fk
IHN1cHBvcnQgbXVzdCBiZSBlbmFibGVkIj48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gteWVsbG93
LnBuZyIgYWx0PSJJbWFnZSBkb3dubG9hZCBzdXBwb3J0IG11c3QgYmUgZW5hYmxlZCI+PC90ZD4K
KyAgICA8L3RyPgorCisgICAgPHRyPgorICAgICAgPHRkPjxpbWcgc3JjPSJzdXBwb3J0L3N3YXRj
aC1vcmFuZ2UucG5nIiBhbHQ9IkltYWdlIGRvd25sb2FkIHN1cHBvcnQgbXVzdCBiZSBlbmFibGVk
Ij48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gtd2hpdGUucG5nIiBhbHQ9IkltYWdlIGRvd25sb2Fk
IHN1cHBvcnQgbXVzdCBiZSBlbmFibGVkIj48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gtd2hpdGUu
cG5nIiBhbHQ9IkltYWdlIGRvd25sb2FkIHN1cHBvcnQgbXVzdCBiZSBlbmFibGVkIj48aW1nIHNy
Yz0ic3VwcG9ydC9zd2F0Y2gtd2hpdGUucG5nIiBhbHQ9IkltYWdlIGRvd25sb2FkIHN1cHBvcnQg
bXVzdCBiZSBlbmFibGVkIj48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gtd2hpdGUucG5nIiBhbHQ9
IkltYWdlIGRvd25sb2FkIHN1cHBvcnQgbXVzdCBiZSBlbmFibGVkIj48aW1nIHNyYz0ic3VwcG9y
dC9zd2F0Y2gtb3JhbmdlLnBuZyIgYWx0PSJJbWFnZSBkb3dubG9hZCBzdXBwb3J0IG11c3QgYmUg
ZW5hYmxlZCI+PC90ZD4KKyAgICA8L3RyPgorCisgICAgPHRyPgorICAgICAgPHRkPjxpbWcgc3Jj
PSJzdXBwb3J0L3N3YXRjaC1vcmFuZ2UucG5nIiBhbHQ9IkltYWdlIGRvd25sb2FkIHN1cHBvcnQg
bXVzdCBiZSBlbmFibGVkIj48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gtb3JhbmdlLnBuZyIgYWx0
PSJJbWFnZSBkb3dubG9hZCBzdXBwb3J0IG11c3QgYmUgZW5hYmxlZCI+PGltZyBzcmM9InN1cHBv
cnQvc3dhdGNoLW9yYW5nZS5wbmciIGFsdD0iSW1hZ2UgZG93bmxvYWQgc3VwcG9ydCBtdXN0IGJl
IGVuYWJsZWQiPjxpbWcgc3JjPSJzdXBwb3J0L3N3YXRjaC1vcmFuZ2UucG5nIiBhbHQ9IkltYWdl
IGRvd25sb2FkIHN1cHBvcnQgbXVzdCBiZSBlbmFibGVkIj48aW1nIHNyYz0ic3VwcG9ydC9zd2F0
Y2gtb3JhbmdlLnBuZyIgYWx0PSJJbWFnZSBkb3dubG9hZCBzdXBwb3J0IG11c3QgYmUgZW5hYmxl
ZCI+PGltZyBzcmM9InN1cHBvcnQvc3dhdGNoLW9yYW5nZS5wbmciIGFsdD0iSW1hZ2UgZG93bmxv
YWQgc3VwcG9ydCBtdXN0IGJlIGVuYWJsZWQiPjwvdGQ+CisgICAgPC90cj4KKworICA8L3RhYmxl
PgorCisgPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvdGFibGUvYm9yZGVyLWNvbGxhcHNpbmcvYWRqYWNlbnQtcm93LWdy
b3Vwcy1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvdGFibGUv
Ym9yZGVyLWNvbGxhcHNpbmcvYWRqYWNlbnQtcm93LWdyb3Vwcy1leHBlY3RlZC5odG1sCShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9ib3JkZXItY29sbGFwc2luZy9hZGph
Y2VudC1yb3ctZ3JvdXBzLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjUg
QEAKKzwhRE9DVFlQRSBodG1sPgorCis8aHRtbD4KKworPGhlYWQ+Cis8c3R5bGU+CisgIHRhYmxl
IHtib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO30gIAorICB0ZCB7IHdpZHRoOiAxMDBweDsgaGVp
Z2h0OiAxMDBweDsgYm9yZGVyOiAxZW0gc29saWQgZ3JlZW47IH0gIAorICAub3JhbmdlIHsgYm9y
ZGVyLWNvbG9yOiBvcmFuZ2U7IH0gIAorPC9zdHlsZT4KKzwvaGVhZD4KKworPGJvZHk+Cis8cD5U
ZXN0IGZvciBCdWd6aWxsYSA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODY4ODUiPkJ1ZyA4Njg4NTwvYT46IENTUzIuMSBmYWlsdXJlOiBib3JkZXItY29u
ZmxpY3QtZWxlbWVudDAyMWEuPC9wPgorPHA+V2hlbiB0d28gYWRqYWNlbnQgdGFibGUgcm93IGdy
b3VwcyAodGhlYWQsIHRib2R5LCB0Zm9vdCkgaGF2ZSB0aGUgc2FtZSBib3JkZXItd2lkdGggYW5k
IHRoZSBzYW1lIGJvcmRlci1zdHlsZSBpbiBhICdib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlJyB0
YWJsZSwgdGhlbiB0aGUgY29sb3Igb2YgdGhlIGJvcmRlciBmcm9tIHRoZSB0b3Btb3N0IHRhYmxl
IHJvdyBncm91cCB3aW5zOiBzbywgYSB0aGVhZCB3aW5zIG92ZXIgYSB0Ym9keSB3aGljaCB3aW5z
IG92ZXIgdGZvb3QuPC9wPgorPHA+VGhlIGJvdHRvbSBib3JkZXIgb2YgdGhlIGZpcnN0IChncmVl
bikgYm94IHNob3VsZCBiZSBjb21wbGV0ZWx5IGdyZWVuIGluIGNvbG9yIChpbmNsdWRpbmcgdGhl
IGNvcm5lcnMpIGFuZCBvdmVybGFwcGluZyB0aGUgdG9wIGJvcmRlciBvZiB0aGUgc2Vjb25kIChv
cmFuZ2UpIGJveC4gU2ltaWxhcmx5LCB0aGUgYm90dG9tIGJvcmRlciBvZiB0aGUgc2Vjb25kIChv
cmFuZ2UpIGJveCBzaG91bGQgYmUgY29tcGxldGVseSBvcmFuZ2UgaW4gY29sb3IgKGluY2x1ZGlu
ZyB0aGUgY29ybmVycykgYW5kIG92ZXJsYXBwaW5nIHRoZSB0b3AgYm9yZGVyIG9mIHRoZSB0aGly
ZCAoZ3JlZW4pIGJveC48L3A+CisgIAorPHRhYmxlPgorICAgIDx0cj48dGQ+PC90ZD48L3RyPgor
ICAgIDx0cj48dGQgY2xhc3M9Im9yYW5nZSI+PC90ZD48L3RyPgorICAgIDx0cj48dGQ+PC90ZD48
L3RyPgkKKzwvdGFibGU+CisKKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL2JvcmRlci1jb2xsYXBzaW5nL2Fk
amFjZW50LXJvdy1ncm91cHMtbXVsdGktZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L3RhYmxlL2JvcmRlci1jb2xsYXBzaW5nL2FkamFjZW50LXJvdy1ncm91cHMt
bXVsdGktZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvdGFi
bGUvYm9yZGVyLWNvbGxhcHNpbmcvYWRqYWNlbnQtcm93LWdyb3Vwcy1tdWx0aS1leHBlY3RlZC5o
dG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUgaHRtbD4KKworPGh0
bWw+Cis8aGVhZD4KKzxzdHlsZT4KKyAgdGFibGUge2JvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7
fSAgCisgIHRkIHsgd2lkdGg6IDUwcHg7IGhlaWdodDogNTBweDsgYm9yZGVyOiAxZW0gc29saWQ7
IH0gIAorICAub3JhbmdlIHsgYm9yZGVyLWNvbG9yOiBvcmFuZ2U7IH0KKyAgLmZpcnN0IHsgYm9y
ZGVyLWNvbG9yOiBncmVlbjsgfQorICAuc2Vjb25kIHsgYm9yZGVyLWNvbG9yOiBibHVlOyB9Cis8
L3N0eWxlPgorPC9oZWFkPgorCis8Ym9keT4KKzxwPlRlc3QgZm9yIEJ1Z3ppbGxhIDxhIGhyZWY9
Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Njg4NSI+QnVnIDg2ODg1
PC9hPjogQ1NTMi4xIGZhaWx1cmU6IGJvcmRlci1jb25mbGljdC1lbGVtZW50MDIxYS48L3A+Cis8
cD5XaGVuIHR3byBhZGphY2VudCB0YWJsZSByb3cgZ3JvdXBzICh0aGVhZCwgdGJvZHksIHRmb290
KSBoYXZlIHRoZSBzYW1lIGJvcmRlci13aWR0aCBhbmQgdGhlIHNhbWUgYm9yZGVyLXN0eWxlIGlu
IGEgJ2JvcmRlci1jb2xsYXBzZTogY29sbGFwc2UnIHRhYmxlLCB0aGVuIHRoZSBjb2xvciBvZiB0
aGUgYm9yZGVyIGZyb20gdGhlIHRvcG1vc3QgdGFibGUgcm93IGdyb3VwIHdpbnM6IHNvLCBhIHRo
ZWFkIHdpbnMgb3ZlciBhIHRib2R5IHdoaWNoIHdpbnMgb3ZlciB0Zm9vdC48L3A+Cis8cD5UaGlz
IHRlc3QgdmVyaWZpZXMgdGhlIGFmb3JlbWVudGlvbmVkIHNjZWFuYXJpbyB3aGVuIG1vcmUgdGhh
biBvbmUgaGVhZGVyIGFuZC9vciBmb290ZXIgaXMgc3BlY2lmaWVkLiBUaGUgZmlyc3QgdGhlYWQg
c3BlY2lmaWVkIGluIHRoZSBwYWdlIHNob3VsZCBiZSByZW5kZXJlZCBhdCB0aGUgdG9wIG9mIHRo
ZSB0YWJsZTsgc2ltaWxhcmx5IHRoZSBmaXJzdCB0Zm9vdCBzcGVjaWZpZWQgaW4gdGhlIHBhZ2Ug
c2hvdWxkIGJlIHJlbmRlcmVkIGFzIHRoZSBsYXN0IHNlY3Rpb24gb2YgdGhlIHRhYmxlLiBJbiB0
aGlzIGNhc2UgYm90aCB0aGUgdG9wLW1vc3QgYW5kIHRoZSBib3R0b20tbW9zdCBzZWN0aW9ucyBz
aG91bGQgYmUgZGlzcGxheWVkIGluIGdyZWVuIGNvbG9yLiBBbHNvLCB0aGVyZSBzaG91bGQgYmUg
bm8gb3ZlcmxhcCBvZiBib3JkZXItY29sb3JzIGF0IHRoZSBjb3JuZXJzLjwvcD4KKyAgCis8dGFi
bGU+CisgICAgPHRyPjx0ZCBjbGFzcz0iZmlyc3QiPjwvdGQ+PC90cj4KKyAgICA8dHI+PHRkIGNs
YXNzPSJzZWNvbmQiPjwvdGQ+PC90cj4KKyAgICA8dHI+PHRkIGNsYXNzPSJvcmFuZ2UiPjwvdGQ+
PC90cj4KKyAgICA8dHI+PHRkIGNsYXNzPSJzZWNvbmQiPjwvdGQ+PC90cj4KKyAgICA8dHI+PHRk
IGNsYXNzPSJmaXJzdCI+PC90ZD48L3RyPgorPC90YWJsZT4KKworPC9ib2R5PgorPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9ib3JkZXItY29sbGFwc2luZy9hZGphY2VudC1y
b3ctZ3JvdXBzLW11bHRpLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC90YWJs
ZS9ib3JkZXItY29sbGFwc2luZy9hZGphY2VudC1yb3ctZ3JvdXBzLW11bHRpLmh0bWwJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL2JvcmRlci1jb2xsYXBzaW5nL2FkamFj
ZW50LXJvdy1ncm91cHMtbXVsdGkuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzOSBAQAor
PCFET0NUWVBFIGh0bWw+CisKKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+CisgIHRhYmxlIHsgYm9y
ZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgfQorICB0aGVhZCwgdGJvZHksIHRmb290IHsgYm9yZGVy
OiAxZW0gc29saWQ7IH0KKyAgLmZpcnN0IHsgYm9yZGVyLWNvbG9yOiBncmVlbjsgfQorICAuc2Vj
b25kIHsgYm9yZGVyLWNvbG9yOiBibHVlOyB9CisgIHRib2R5IHsgYm9yZGVyLWNvbG9yOiBvcmFu
Z2U7IH0gICAgCisgIHRkIHsgd2lkdGg6IDUwcHg7IGhlaWdodDogNTBweDt9Cis8L3N0eWxlPgor
PC9oZWFkPgorCis8Ym9keT4KKzxwPlRlc3QgZm9yIEJ1Z3ppbGxhIDxhIGhyZWY9Imh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Njg4NSI+QnVnIDg2ODg1PC9hPjogQ1NT
Mi4xIGZhaWx1cmU6IGJvcmRlci1jb25mbGljdC1lbGVtZW50MDIxYS48L3A+Cis8cD5XaGVuIHR3
byBhZGphY2VudCB0YWJsZSByb3cgZ3JvdXBzICh0aGVhZCwgdGJvZHksIHRmb290KSBoYXZlIHRo
ZSBzYW1lIGJvcmRlci13aWR0aCBhbmQgdGhlIHNhbWUgYm9yZGVyLXN0eWxlIGluIGEgJ2JvcmRl
ci1jb2xsYXBzZTogY29sbGFwc2UnIHRhYmxlLCB0aGVuIHRoZSBjb2xvciBvZiB0aGUgYm9yZGVy
IGZyb20gdGhlIHRvcG1vc3QgdGFibGUgcm93IGdyb3VwIHdpbnM6IHNvLCBhIHRoZWFkIHdpbnMg
b3ZlciBhIHRib2R5IHdoaWNoIHdpbnMgb3ZlciB0Zm9vdC48L3A+Cis8cD5UaGlzIHRlc3QgdmVy
aWZpZXMgdGhlIGFmb3JlbWVudGlvbmVkIHNjZWFuYXJpbyB3aGVuIG1vcmUgdGhhbiBvbmUgaGVh
ZGVyIGFuZC9vciBmb290ZXIgaXMgc3BlY2lmaWVkLiBUaGUgZmlyc3QgdGhlYWQgc3BlY2lmaWVk
IGluIHRoZSBwYWdlIHNob3VsZCBiZSByZW5kZXJlZCBhdCB0aGUgdG9wIG9mIHRoZSB0YWJsZTsg
c2ltaWxhcmx5IHRoZSBmaXJzdCB0Zm9vdCBzcGVjaWZpZWQgaW4gdGhlIHBhZ2Ugc2hvdWxkIGJl
IHJlbmRlcmVkIGFzIHRoZSBsYXN0IHNlY3Rpb24gb2YgdGhlIHRhYmxlLiBJbiB0aGlzIGNhc2Ug
Ym90aCB0aGUgdG9wLW1vc3QgYW5kIHRoZSBib3R0b20tbW9zdCBzZWN0aW9ucyBzaG91bGQgYmUg
ZGlzcGxheWVkIGluIGdyZWVuIGNvbG9yLiBBbHNvLCB0aGVyZSBzaG91bGQgYmUgbm8gb3Zlcmxh
cCBvZiBib3JkZXItY29sb3JzIGF0IHRoZSBjb3JuZXJzLjwvcD4KKyAgCis8dGFibGU+CisgICAg
PHRoZWFkIGNsYXNzPSJmaXJzdCI+CisgICAgICAgIDx0cj48dGQ+PC90ZD48L3RyPgorICAgIDwv
dGhlYWQ+CisgICAJPHRoZWFkIGNsYXNzPSJzZWNvbmQiPgorICAgICAgICA8dHI+PHRkPjwvdGQ+
PC90cj4KKyAgICA8L3RoZWFkPgkKKyAgICA8dGJvZHk+CisgICAgICAgIDx0cj48dGQ+PC90ZD48
L3RyPgorICAgIDwvdGJvZHk+CQorICAgIDx0Zm9vdCBjbGFzcz0iZmlyc3QiPgorICAgICAgICA8
dHI+PHRkPjwvdGQ+PC90cj4KKyAgICA8L3Rmb290PgorICAgIDx0Zm9vdCBjbGFzcz0ic2Vjb25k
Ij4KKyAgICAgICAgPHRyPjx0ZD48L3RkPjwvdHI+CisgICAgPC90Zm9vdD4JCis8L3RhYmxlPgor
Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL2JvcmRlci1j
b2xsYXBzaW5nL2FkamFjZW50LXJvdy1ncm91cHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L3RhYmxlL2JvcmRlci1jb2xsYXBzaW5nL2FkamFjZW50LXJvdy1ncm91cHMuaHRt
bAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvdGFibGUvYm9yZGVyLWNvbGxhcHNp
bmcvYWRqYWNlbnQtcm93LWdyb3Vwcy5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMyIEBA
Cis8IURPQ1RZUEUgaHRtbD4KKworPGh0bWw+CisKKzxoZWFkPgorPHN0eWxlPgorICB0YWJsZSB7
IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IH0KKyAgdGhlYWQsIHRib2R5LCB0Zm9vdCB7IGJv
cmRlcjogMWVtIHNvbGlkIGdyZWVuOyB9CisgIHRib2R5IHsgYm9yZGVyLWNvbG9yOiBvcmFuZ2U7
IH0gIAorICB0ZCB7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDt9Cis8L3N0eWxlPgorPC9o
ZWFkPgorCis8Ym9keT4KKzxwPlRlc3QgZm9yIEJ1Z3ppbGxhIDxhIGhyZWY9Imh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Njg4NSI+QnVnIDg2ODg1PC9hPjogQ1NTMi4x
IGZhaWx1cmU6IGJvcmRlci1jb25mbGljdC1lbGVtZW50MDIxYS48L3A+Cis8cD5XaGVuIHR3byBh
ZGphY2VudCB0YWJsZSByb3cgZ3JvdXBzICh0aGVhZCwgdGJvZHksIHRmb290KSBoYXZlIHRoZSBz
YW1lIGJvcmRlci13aWR0aCBhbmQgdGhlIHNhbWUgYm9yZGVyLXN0eWxlIGluIGEgJ2JvcmRlci1j
b2xsYXBzZTogY29sbGFwc2UnIHRhYmxlLCB0aGVuIHRoZSBjb2xvciBvZiB0aGUgYm9yZGVyIGZy
b20gdGhlIHRvcG1vc3QgdGFibGUgcm93IGdyb3VwIHdpbnM6IHNvLCBhIHRoZWFkIHdpbnMgb3Zl
ciBhIHRib2R5IHdoaWNoIHdpbnMgb3ZlciB0Zm9vdC48L3A+Cis8cD5UaGUgYm90dG9tIGJvcmRl
ciBvZiB0aGUgZmlyc3QgKGdyZWVuKSBib3ggc2hvdWxkIGJlIGNvbXBsZXRlbHkgZ3JlZW4gaW4g
Y29sb3IgKGluY2x1ZGluZyB0aGUgY29ybmVycykgYW5kIG92ZXJsYXBwaW5nIHRoZSB0b3AgYm9y
ZGVyIG9mIHRoZSBzZWNvbmQgKG9yYW5nZSkgYm94LiBTaW1pbGFybHksIHRoZSBib3R0b20gYm9y
ZGVyIG9mIHRoZSBzZWNvbmQgKG9yYW5nZSkgYm94IHNob3VsZCBiZSBjb21wbGV0ZWx5IG9yYW5n
ZSBpbiBjb2xvciAoaW5jbHVkaW5nIHRoZSBjb3JuZXJzKSBhbmQgb3ZlcmxhcHBpbmcgdGhlIHRv
cCBib3JkZXIgb2YgdGhlIHRoaXJkIChncmVlbikgYm94LjwvcD4KKyAgCis8dGFibGU+CisgICAg
PHRoZWFkPgorICAgICAgICA8dHI+PHRkPjwvdGQ+PC90cj4KKyAgICA8L3RoZWFkPgorICAgIDx0
Ym9keT4KKyAgICAgICAgPHRyPjx0ZD48L3RkPjwvdHI+CisgICAgPC90Ym9keT4KKyAgICA8dGZv
b3Q+CisgICAgICAgIDx0cj48dGQ+PC90ZD48L3RyPgorICAgIDwvdGZvb3Q+Cis8L3RhYmxlPgor
Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145750</attachid>
            <date>2012-06-05 03:46:23 -0700</date>
            <delta_ts>2012-06-05 08:37:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86885-20120605161752.patch</filename>
            <type>text/plain</type>
            <size>22249</size>
            <attacher name="Arpita Bahuguna">arpitabahuguna</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExOTQ3NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDEyLTA2LTA1ICBBcnBpdGEg
QmFodWd1bmEgIDxhcnBpdGFiYWh1Z3VuYUBnbWFpbC5jb20+CisKKyAgICAgICAgQ1NTIDIuMSBm
YWlsdXJlOiBib3JkZXItY29uZmxpY3QtZWxlbWVudC0wMjFhCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Njg4NQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gdHdvIGFkamFjZW50IHRhYmxlIHJvdyBn
cm91cHMgKHRoZWFkLCB0Ym9keSwgdGZvb3QpIGhhdmUgdGhlIHNhbWUgYm9yZGVyLXdpZHRoCisg
ICAgICAgIGFuZCB0aGUgc2FtZSBib3JkZXItc3R5bGUgaW4gYSAnYm9yZGVyLWNvbGxhcHNlOiBj
b2xsYXBzZScgdGFibGUgdGhlIGNvbG9yIG9mIHRoZSBib3JkZXIKKyAgICAgICAgZnJvbSB0aGUg
dG9wLW1vc3QgdGFibGUgcm93IHdpbnMuCisKKyAgICAgICAgVGVzdHM6IGZhc3QvdGFibGUvYm9y
ZGVyLWNvbGxhcHNpbmcvYWRqYWNlbnQtcm93LWdyb3Vwcy1tdWx0aS5odG1sCisgICAgICAgICAg
ICAgICBmYXN0L3RhYmxlL2JvcmRlci1jb2xsYXBzaW5nL2FkamFjZW50LXJvdy1ncm91cHMuaHRt
bAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRhYmxlOjpwYWludE9iamVjdCk6CisgICAgICAgIEN1cnJlbnRseSBlYWNoIHJv
dyBncm91cCBpcyBzZW50IGZvciBwYWludCBmcm9tIHRvcCAoZmlyc3RDaGlsZCkgdG8gYm90dG9t
IHRoZXJlYnkgY2F1c2luZworICAgICAgICB0aGUgYm9yZGVycyBvZiB0aGUgYm90dG9tLW1vc3Qg
cm93IGdyb3VwICh3aGljaCBpcyBwYWludGVkIGxhc3QpIHRvIG92ZXJsYXAgb3ZlciB0aGUKKyAg
ICAgICAgcHJldmlvdXMgcm93LWdyb3VwLiBUaGlzIGJyZWFrcyB0aGUgcHJlY2VkZW5jZSBmb3Ig
Y29sbGFwc2VkIGJvcmRlcnMgYmV0d2VlbiBhZGphY2VudCBjZWxscy4KKworICAgICAgICBUaGlz
IGZpeCB0aHVzIHJldmVyc2VzIHRoZSBvcmRlciBpbiB3aGljaCB0aGUgcm93LWdyb3Vwcy9zZWN0
aW9ucyBhcmUgcGFzc2VkIGZvciBwYWludGluZy4KKyAgICAgICAgQWRkaXRpb25hbCBjaGFuZ2Ug
aGFzIGJlZW4gZG9uZSB0byBpdGVyYXRlIG92ZXIgdGhlIFJlbmRlclRhYmxlU2VjdGlvbnMgZGly
ZWN0bHkuCisKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGFi
bGU6OmJvdHRvbVNlY3Rpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZS5oOgor
ICAgICAgICBOZXcgZnVuY3Rpb24gaGFzIGJlZW4gYWRkZWQgdG8gb2J0YWluIHRoZSBsYXN0IHNl
Y3Rpb24gb2YgdGhlIHRhYmxlLgorCisgICAgICAgIChSZW5kZXJUYWJsZSk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5oOgorICAgICAgICAoUmVuZGVyVGFibGVTZWN0
aW9uKToKKyAgICAgICAgUmVuZGVyVGFibGVTZWN0aW9uJ3MgcGFpbnQoKSBtZXRob2QgaGFzIG5v
dyBiZWVuIG1hZGUgcHVibGljIHNvIGFzIHRvIG1ha2UgaXQgYWNjZXNzaWJsZQorICAgICAgICBm
cm9tIFJlbmRlclRhYmxlLgorCiAyMDEyLTA2LTA1ICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBSZW1vdmUgdW51c2VkIG1ldGhvZHMgZnJvbSBTZWxlY3Rv
clF1ZXJ5LmgKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcAko
cmV2aXNpb24gMTE5NDc3KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTkyLDExICs1OTIsMTAgQEAgdm9pZCBSZW5kZXJUYWJs
ZTo6cGFpbnRPYmplY3QoUGFpbnRJbmZvJgogICAgICAgICBzaXplX3QgY291bnQgPSBtX2NvbGxh
cHNlZEJvcmRlcnMuc2l6ZSgpOwogICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNvdW50
OyArK2kpIHsKICAgICAgICAgICAgIG1fY3VycmVudEJvcmRlciA9ICZtX2NvbGxhcHNlZEJvcmRl
cnNbaV07Ci0gICAgICAgICAgICBmb3IgKFJlbmRlck9iamVjdCogY2hpbGQgPSBmaXJzdENoaWxk
KCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZygpKQotICAgICAgICAgICAgICAg
IGlmIChjaGlsZC0+aXNUYWJsZVNlY3Rpb24oKSkgewotICAgICAgICAgICAgICAgICAgICBMYXlv
dXRQb2ludCBjaGlsZFBvaW50ID0gZmxpcEZvcldyaXRpbmdNb2RlRm9yQ2hpbGQodG9SZW5kZXJU
YWJsZVNlY3Rpb24oY2hpbGQpLCBwYWludE9mZnNldCk7Ci0gICAgICAgICAgICAgICAgICAgIGNo
aWxkLT5wYWludChpbmZvLCBjaGlsZFBvaW50KTsKLSAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICBmb3IgKFJlbmRlclRhYmxlU2VjdGlvbiogc2VjdGlvbiA9IGJvdHRvbVNlY3Rpb24oKTsg
c2VjdGlvbjsgc2VjdGlvbiA9IHNlY3Rpb25BYm92ZShzZWN0aW9uKSkgeworICAgICAgICAgICAg
ICAgIExheW91dFBvaW50IGNoaWxkUG9pbnQgPSBmbGlwRm9yV3JpdGluZ01vZGVGb3JDaGlsZChz
ZWN0aW9uLCBwYWludE9mZnNldCk7CisgICAgICAgICAgICAgICAgc2VjdGlvbi0+cGFpbnQoaW5m
bywgY2hpbGRQb2ludCk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgbV9jdXJy
ZW50Qm9yZGVyID0gMDsKICAgICB9CkBAIC0xMTEyLDYgKzExMTEsMjEgQEAgUmVuZGVyVGFibGVT
ZWN0aW9uKiBSZW5kZXJUYWJsZTo6c2VjdGlvbgogICAgIHJldHVybiB0b1JlbmRlclRhYmxlU2Vj
dGlvbihuZXh0U2VjdGlvbik7CiB9CiAKK1JlbmRlclRhYmxlU2VjdGlvbiogUmVuZGVyVGFibGU6
OmJvdHRvbVNlY3Rpb24oKSBjb25zdAoreworICAgIHJlY2FsY1NlY3Rpb25zSWZOZWVkZWQoKTsK
KworICAgIGlmIChtX2Zvb3QpCisgICAgICAgIHJldHVybiBtX2Zvb3Q7CisKKyAgICBmb3IgKFJl
bmRlck9iamVjdCogY2hpbGQgPSBsYXN0Q2hpbGQoKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPnBy
ZXZpb3VzU2libGluZygpKSB7CisgICAgICAgIGlmIChjaGlsZC0+aXNUYWJsZVNlY3Rpb24oKSkK
KyAgICAgICAgICAgIHJldHVybiB0b1JlbmRlclRhYmxlU2VjdGlvbihjaGlsZCk7CisgICAgfQor
CisgICAgcmV0dXJuIDA7Cit9CisKIFJlbmRlclRhYmxlQ2VsbCogUmVuZGVyVGFibGU6OmNlbGxB
Ym92ZShjb25zdCBSZW5kZXJUYWJsZUNlbGwqIGNlbGwpIGNvbnN0CiB7CiAgICAgcmVjYWxjU2Vj
dGlvbnNJZk5lZWRlZCgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRh
YmxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxl
LmgJKHJldmlzaW9uIDExOTQ3NykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
YWJsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDMsNiArMTQzLDcgQEAgcHVibGljOgogCiAgICAg
Ly8gVGhpcyBmdW5jdGlvbiByZXR1cm5zIDAgaWYgdGhlIHRhYmxlIGhhcyBubyBzZWN0aW9uLgog
ICAgIFJlbmRlclRhYmxlU2VjdGlvbiogdG9wU2VjdGlvbigpIGNvbnN0OworICAgIFJlbmRlclRh
YmxlU2VjdGlvbiogYm90dG9tU2VjdGlvbigpIGNvbnN0OwogCiAgICAgLy8gVGhpcyBmdW5jdGlv
biByZXR1cm5zIDAgaWYgdGhlIHRhYmxlIGhhcyBubyBub24tZW1wdHkgc2VjdGlvbnMuCiAgICAg
UmVuZGVyVGFibGVTZWN0aW9uKiB0b3BOb25FbXB0eVNlY3Rpb24oKSBjb25zdDsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmgJKHJldmlzaW9u
IDExOTQ3NykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24u
aAkod29ya2luZyBjb3B5KQpAQCAtMTc4LDYgKzE3OCw4IEBAIHB1YmxpYzoKICAgICB7CiAgICAg
ICAgIHJldHVybiBjcmVhdGVBbm9ueW1vdXNXaXRoUGFyZW50UmVuZGVyZXIocGFyZW50KTsKICAg
ICB9CisgICAgCisgICAgdmlydHVhbCB2b2lkIHBhaW50KFBhaW50SW5mbyYsIGNvbnN0IExheW91
dFBvaW50JikgT1ZFUlJJREU7CiAKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgc3R5bGVE
aWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlLCBjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bGUpOwpA
QCAtMTk2LDcgKzE5OCw2IEBAIHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlQ2hp
bGQoUmVuZGVyT2JqZWN0KiBvbGRDaGlsZCk7CiAKLSAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoUGFp
bnRJbmZvJiwgY29uc3QgTGF5b3V0UG9pbnQmKTsKICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRDZWxs
KFJlbmRlclRhYmxlQ2VsbCosIFBhaW50SW5mbyYsIGNvbnN0IExheW91dFBvaW50Jik7CiAgICAg
dmlydHVhbCB2b2lkIHBhaW50T2JqZWN0KFBhaW50SW5mbyYsIGNvbnN0IExheW91dFBvaW50Jik7
CiAKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDExOTQ3NykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDEyLTA2LTA1ICBBcnBpdGEgQmFodWd1
bmEgIDxhcnBpdGFiYWh1Z3VuYUBnbWFpbC5jb20+CisKKyAgICAgICAgQ1NTIDIuMSBmYWlsdXJl
OiBib3JkZXItY29uZmxpY3QtZWxlbWVudC0wMjFhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Njg4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogY3NzMi4xLzIwMTEwMzIzL2JvcmRlci1jb25mbGljdC1l
bGVtZW50LTAyMWEtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMi4xLzIwMTEw
MzIzL2JvcmRlci1jb25mbGljdC1lbGVtZW50LTAyMWEuaHRtOiBBZGRlZC4KKyAgICAgICAgQWRk
ZWQgcmVmIHRlc3QgdW5kZXIgdGhlIGNzczIuMSB0ZXN0LXN1aXRlIGZvciBib3JkZXItY29uZmxp
Y3QtZWxlbWVudC0wMjFhLgorCisgICAgICAgICogZmFzdC90YWJsZS9ib3JkZXItY29sbGFwc2lu
Zy9hZGphY2VudC1yb3ctZ3JvdXBzLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvdGFibGUvYm9yZGVyLWNvbGxhcHNpbmcvYWRqYWNlbnQtcm93LWdyb3Vwcy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgQWRkZWQgcmVmIHRlc3QgZm9yIHZlcmlmeWluZyAnYm9yZGVyLWNvbGxhcHNl
OiBjb2xsYXBzZScgdGFibGUgcmVuZGVyaW5nIHdoZW4gdHdvCisgICAgICAgIGFkamFjZW50IHRh
YmxlIHJvdy1ncm91cHMgaGF2ZSB0aGUgc2FtZSBib3JkZXItd2lkdGggYW5kIHRoZSBzYW1lIGJv
cmRlci1zdHlsZS4gSW4KKyAgICAgICAgc3VjaCBhIGNhc2UgdGhlIGNvbG9yIG9mIHRoZSBib3Jk
ZXIgZnJvbSB0aGUgdG9wLW1vc3QgdGFibGUgcm93LWdyb3VwIHdpbnMuCisKKyAgICAgICAgKiBm
YXN0L3RhYmxlL2JvcmRlci1jb2xsYXBzaW5nL2FkamFjZW50LXJvdy1ncm91cHMtbXVsdGkuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC90YWJsZS9ib3JkZXItY29sbGFwc2luZy9hZGphY2Vu
dC1yb3ctZ3JvdXBzLW11bHRpLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICBBZGRpdGlv
bmFsIHJlZiB0ZXN0IGFkZGVkIGZvciB2ZXJpZnlpbmcgJ2JvcmRlci1jb2xsYXBzZTogY29sbGFw
c2UnIHRhYmxlIHJlbmRlcmluZworICAgICAgICBmb3IgYWRqYWNlbnQgdGFibGUgcm93LWdyb3Vw
cyB3aGVuIG1vcmUgdGhhbiBvbmUgdGFibGUgaGVhZGVycyBhbmQvb3IgZm9vdGVycyBhcmUgc3Bl
Y2lmaWVkLgorCiAyMDEyLTA2LTA1ICBLZW5pY2hpIElzaGliYXNoaSAgPGJhc2hpQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBbQ2hyb21pdW1dIFVucmV2aWV3ZWQgdGVzdCBleHBlY3RhdGlvbnMg
dXBkYXRlCkluZGV4OiBMYXlvdXRUZXN0cy9jc3MyLjEvMjAxMTAzMjMvYm9yZGVyLWNvbmZsaWN0
LWVsZW1lbnQtMDIxYS1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Nz
czIuMS8yMDExMDMyMy9ib3JkZXItY29uZmxpY3QtZWxlbWVudC0wMjFhLWV4cGVjdGVkLmh0bWwJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9jc3MyLjEvMjAxMTAzMjMvYm9yZGVyLWNvbmZs
aWN0LWVsZW1lbnQtMDIxYS1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDcw
IEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMS8vRU4iICJo
dHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNC9zdHJpY3QuZHRkIj4KKzxodG1sPgorCisgPGhlYWQ+
CisgIDxzdHlsZT4KKyAgdGFibGUKKyAgeworICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7
CisgICAgY29sb3I6IHdoaXRlOworICAgIGZvbnQ6IDEuMjVlbS8xIEFoZW07CisgICAgbWFyZ2lu
OiBhdXRvIGF1dG8gMmVtIDJlbTsKKyAgfQorCisgIC5ibHVlIHtib3JkZXI6IHNvbGlkIDFlbSBi
bHVlO30KKyAgLnllbGxvdyB7Ym9yZGVyOiBzb2xpZCAxZW0geWVsbG93O30KKyAgLm9yYW5nZSB7
Ym9yZGVyOiBzb2xpZCAxZW0gb3JhbmdlO30KKworICB0YWJsZSNyZWZlcmVuY2UgPiB0Ym9keSB7
Ym9yZGVyOiByZWQgbm9uZSAwZW07fQorCisgIHRkIHtwYWRkaW5nOiAwcHg7fQorICAKKyAgaW1n
CisgIHsKKyAgaGVpZ2h0OiAxZW07CisgIHZlcnRpY2FsLWFsaWduOiBib3R0b207IAorICAvKiAK
KyAgV2l0aCAndmVydGljYWwtYWxpZ246IGJvdHRvbScsIHN3YXRjaC1bY29sb3JdIGltYWdlcyAi
c2l0IiAKKyAgYXQgdGhlIGJvdHRvbSBvZiB0aGUgY2VsbCdzIGxpbmUgYm94IGFuZCBub3Qgb24g
aXRzIGJhc2VsaW5lIAorICAqLworICB3aWR0aDogMWVtOworICB9CisgIDwvc3R5bGU+CisgPC9o
ZWFkPgorCisgPGJvZHk+CisgIDxwPlRlc3QgcGFzc2VzIGlmIGJvdGggbXVsdGktY29sb3JlZCBy
ZWN0YW5ndWxhciBzdHJ1Y3R1cmVzIGFyZSA8c3Ryb25nPnBlcmZlY3RseSBpZGVudGljYWw8L3N0
cm9uZz4uPC9wPgorCisgIDx0YWJsZT4KKyAgICA8dHI+PHRkIGNsYXNzPSJibHVlIj5CTFVFPC90
ZD48L3RyPgorCTx0cj48dGQgY2xhc3M9InllbGxvdyI+WUVMTDwvdGQ+PC90cj4KKyAgICA8dHI+
PHRkIGNsYXNzPSJvcmFuZ2UiPk9SQU48L3RkPjwvdHI+CisgIDwvdGFibGU+CisKKyAgCisgIDx0
YWJsZSBpZD0icmVmZXJlbmNlIj4KKyAgICA8dHI+CisgICAgICA8dGQ+PGltZyBzcmM9InN1cHBv
cnQvc3dhdGNoLWJsdWUucG5nIj48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gtYmx1ZS5wbmciPjxp
bWcgc3JjPSJzdXBwb3J0L3N3YXRjaC1ibHVlLnBuZyI+PGltZyBzcmM9InN1cHBvcnQvc3dhdGNo
LWJsdWUucG5nIj48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gtYmx1ZS5wbmciPjxpbWcgc3JjPSJz
dXBwb3J0L3N3YXRjaC1ibHVlLnBuZyI+PC90ZD4KKyAgICA8L3RyPgorICAgIDx0cj4KKyAgICAg
IDx0ZD48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gtYmx1ZS5wbmciPjxpbWcgc3JjPSJzdXBwb3J0
L3N3YXRjaC13aGl0ZS5wbmciPjxpbWcgc3JjPSJzdXBwb3J0L3N3YXRjaC13aGl0ZS5wbmciPjxp
bWcgc3JjPSJzdXBwb3J0L3N3YXRjaC13aGl0ZS5wbmciPjxpbWcgc3JjPSJzdXBwb3J0L3N3YXRj
aC13aGl0ZS5wbmciPjxpbWcgc3JjPSJzdXBwb3J0L3N3YXRjaC1ibHVlLnBuZyI+PC90ZD4KKyAg
ICA8L3RyPgorICAgIDx0cj4KKyAgICAgIDx0ZD48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gtYmx1
ZS5wbmciPjxpbWcgc3JjPSJzdXBwb3J0L3N3YXRjaC1ibHVlLnBuZyI+PGltZyBzcmM9InN1cHBv
cnQvc3dhdGNoLWJsdWUucG5nIj48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gtYmx1ZS5wbmciPjxp
bWcgc3JjPSJzdXBwb3J0L3N3YXRjaC1ibHVlLnBuZyI+PGltZyBzcmM9InN1cHBvcnQvc3dhdGNo
LWJsdWUucG5nIj48L3RkPgorICAgIDwvdHI+CisgICAgPHRyPgorICAgICAgPHRkPjxpbWcgc3Jj
PSJzdXBwb3J0L3N3YXRjaC15ZWxsb3cucG5nIj48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gtd2hp
dGUucG5nIj48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gtd2hpdGUucG5nIj48aW1nIHNyYz0ic3Vw
cG9ydC9zd2F0Y2gtd2hpdGUucG5nIj48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gtd2hpdGUucG5n
Ij48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gteWVsbG93LnBuZyI+PC90ZD4KKyAgICA8L3RyPgor
ICAgIDx0cj4KKyAgICAgIDx0ZD48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gteWVsbG93LnBuZyI+
PGltZyBzcmM9InN1cHBvcnQvc3dhdGNoLXllbGxvdy5wbmciPjxpbWcgc3JjPSJzdXBwb3J0L3N3
YXRjaC15ZWxsb3cucG5nIj48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gteWVsbG93LnBuZyI+PGlt
ZyBzcmM9InN1cHBvcnQvc3dhdGNoLXllbGxvdy5wbmciPjxpbWcgc3JjPSJzdXBwb3J0L3N3YXRj
aC15ZWxsb3cucG5nIj48L3RkPgorICAgIDwvdHI+CisgICAgPHRyPgorICAgICAgPHRkPjxpbWcg
c3JjPSJzdXBwb3J0L3N3YXRjaC1vcmFuZ2UucG5nIj48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gt
d2hpdGUucG5nIj48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gtd2hpdGUucG5nIj48aW1nIHNyYz0i
c3VwcG9ydC9zd2F0Y2gtd2hpdGUucG5nIj48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gtd2hpdGUu
cG5nIj48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gtb3JhbmdlLnBuZyI+PC90ZD4KKyAgICA8L3Ry
PgorICAgIDx0cj4KKyAgICAgIDx0ZD48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gtb3JhbmdlLnBu
ZyI+PGltZyBzcmM9InN1cHBvcnQvc3dhdGNoLW9yYW5nZS5wbmciPjxpbWcgc3JjPSJzdXBwb3J0
L3N3YXRjaC1vcmFuZ2UucG5nIj48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gtb3JhbmdlLnBuZyI+
PGltZyBzcmM9InN1cHBvcnQvc3dhdGNoLW9yYW5nZS5wbmciPjxpbWcgc3JjPSJzdXBwb3J0L3N3
YXRjaC1vcmFuZ2UucG5nIj48L3RkPgorICAgIDwvdHI+CisgIDwvdGFibGU+CisKKyA8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMv
Y3NzMi4xLzIwMTEwMzIzL2JvcmRlci1jb25mbGljdC1lbGVtZW50LTAyMWEuaHRtCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2NzczIuMS8yMDExMDMyMy9ib3JkZXItY29uZmxpY3QtZWxlbWVu
dC0wMjFhLmh0bQkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2NzczIuMS8yMDExMDMyMy9i
b3JkZXItY29uZmxpY3QtZWxlbWVudC0wMjFhLmh0bQkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwx
MDMgQEAKKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAxLy9FTiIg
Imh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L3N0cmljdC5kdGQiPgorPGh0bWw+CisKKyA8aGVh
ZD4KKworICA8dGl0bGU+Q1NTIFRlc3Q6IEJvcmRlciBjb25mbGljdCByZXNvbHV0aW9uIC0gYWRq
YWNlbnQgdGFibGUgcm93IGdyb3VwcyB3aXRoIHNhbWUgYm9yZGVyLXN0eWxlIGFuZCBib3JkZXIt
d2lkdGg8L3RpdGxlPgorCisgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iR+lyYXJkIFRhbGJv
dCIgaHJlZj0iaHR0cDovL3d3dy5ndGFsYm90Lm9yZy9Ccm93c2VyQnVnc1NlY3Rpb24vY3NzMjF0
ZXN0c3VpdGUvIj4KKyAgPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9U
Ui9DU1MyMS90YWJsZXMuaHRtbCNib3JkZXItY29uZmxpY3QtcmVzb2x1dGlvbiIgdGl0bGU9IjE3
LjYuMi4xIEJvcmRlciBjb25mbGljdCByZXNvbHV0aW9uIj4KKworICA8bWV0YSBjb250ZW50PSJp
bWFnZSIgbmFtZT0iZmxhZ3MiPgorICA8bWV0YSBjb250ZW50PSJXaGVuIHR3byBhZGphY2VudCB0
YWJsZSByb3cgZ3JvdXBzIChlZy4gdGhlYWQsIHRib2R5LCB0Zm9vdCkgaGF2ZSB0aGUgc2FtZSBi
b3JkZXItd2lkdGggYW5kIHRoZSBzYW1lIGJvcmRlci1zdHlsZSBpbiBhICdib3JkZXItY29sbGFw
c2U6IGNvbGxhcHNlJyB0YWJsZSwgdGhlbiB0aGUgY29sb3Igb2YgdGhlIGJvcmRlciBmcm9tIHRo
ZSB0b3Btb3N0IHRhYmxlIHJvdyBncm91cCB3aW5zOiBzbywgYSB0aGVhZCB3aW5zIG92ZXIgYSB0
Ym9keSB3aGljaCB3aW5zIG92ZXIgdGZvb3QuIiBuYW1lPSJhc3NlcnQiPgorCisgIDxzdHlsZSB0
eXBlPSJ0ZXh0L2NzcyI+CisgIHRhYmxlI3Rlc3Qge2JvcmRlcjogcmVkIHNvbGlkIDFlbTt9CisK
KyAgdGFibGUKKyAgeworICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOworICBjb2xvcjogd2hp
dGU7CisgIGZvbnQ6IDEuMjVlbS8xIEFoZW07CisgIG1hcmdpbjogYXV0byBhdXRvIDJlbSAyZW07
CisgIH0KKworICB0aGVhZCwgdGJvZHksIHRmb290IHtib3JkZXI6IHNvbGlkIDFlbTt9CisKKyAg
dGhlYWQge2JvcmRlci1jb2xvcjogYmx1ZTt9CisgIHRib2R5IHtib3JkZXItY29sb3I6IHllbGxv
dzt9CisgIHRmb290IHtib3JkZXItY29sb3I6IG9yYW5nZTt9CisgIAorICB0ZCB7cGFkZGluZzog
MHB4O30KKworICB0YWJsZSNyZWZlcmVuY2UgPiB0Ym9keSB7Ym9yZGVyOiByZWQgbm9uZSAwZW07
fQorCisgIGltZworICB7CisgIGhlaWdodDogMWVtOworICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9t
OyAKKyAgLyogCisgIFdpdGggJ3ZlcnRpY2FsLWFsaWduOiBib3R0b20nLCBzd2F0Y2gtW2NvbG9y
XSBpbWFnZXMgInNpdCIgCisgIGF0IHRoZSBib3R0b20gb2YgdGhlIGNlbGwncyBsaW5lIGJveCBh
bmQgbm90IG9uIGl0cyBiYXNlbGluZSAKKyAgKi8KKyAgd2lkdGg6IDFlbTsKKyAgfQorICA8L3N0
eWxlPgorCisgPC9oZWFkPgorCisgPGJvZHk+CisKKyAgPHA+VGVzdCBwYXNzZXMgaWYgYm90aCBt
dWx0aS1jb2xvcmVkIHJlY3Rhbmd1bGFyIHN0cnVjdHVyZXMgYXJlIDxzdHJvbmc+cGVyZmVjdGx5
IGlkZW50aWNhbDwvc3Ryb25nPi48L3A+CisKKyAgPHRhYmxlIGlkPSJ0ZXN0Ij4KKworICAgCTx0
aGVhZD4KKwkJPHRyPjx0ZD5CPC90ZD48dGQ+TDwvdGQ+PHRkPlU8L3RkPjx0ZD5FPC90ZD48L3Ry
PgorCTwvdGhlYWQ+CisKKyAgIAk8dGZvb3Q+CisJCTx0cj48dGQ+TzwvdGQ+PHRkPlI8L3RkPjx0
ZD5BPC90ZD48dGQ+TjwvdGQ+PC90cj4KKwk8L3Rmb290PgorCisJPHRib2R5PgorCQk8dHI+PHRk
Plk8L3RkPjx0ZD5FPC90ZD48dGQ+TDwvdGQ+PHRkPkw8L3RkPjwvdHI+CisJPC90Ym9keT4KKwor
ICA8L3RhYmxlPgorCisKKyAgPHRhYmxlIGlkPSJyZWZlcmVuY2UiPgorCisgICAgPHRyPgorICAg
ICAgPHRkPjxpbWcgc3JjPSJzdXBwb3J0L3N3YXRjaC1ibHVlLnBuZyIgYWx0PSJJbWFnZSBkb3du
bG9hZCBzdXBwb3J0IG11c3QgYmUgZW5hYmxlZCI+PGltZyBzcmM9InN1cHBvcnQvc3dhdGNoLWJs
dWUucG5nIiBhbHQ9IkltYWdlIGRvd25sb2FkIHN1cHBvcnQgbXVzdCBiZSBlbmFibGVkIj48aW1n
IHNyYz0ic3VwcG9ydC9zd2F0Y2gtYmx1ZS5wbmciIGFsdD0iSW1hZ2UgZG93bmxvYWQgc3VwcG9y
dCBtdXN0IGJlIGVuYWJsZWQiPjxpbWcgc3JjPSJzdXBwb3J0L3N3YXRjaC1ibHVlLnBuZyIgYWx0
PSJJbWFnZSBkb3dubG9hZCBzdXBwb3J0IG11c3QgYmUgZW5hYmxlZCI+PGltZyBzcmM9InN1cHBv
cnQvc3dhdGNoLWJsdWUucG5nIiBhbHQ9IkltYWdlIGRvd25sb2FkIHN1cHBvcnQgbXVzdCBiZSBl
bmFibGVkIj48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gtYmx1ZS5wbmciIGFsdD0iSW1hZ2UgZG93
bmxvYWQgc3VwcG9ydCBtdXN0IGJlIGVuYWJsZWQiPjwvdGQ+CisgICAgPC90cj4KKworICAgIDx0
cj4KKyAgICAgIDx0ZD48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gtYmx1ZS5wbmciIGFsdD0iSW1h
Z2UgZG93bmxvYWQgc3VwcG9ydCBtdXN0IGJlIGVuYWJsZWQiPjxpbWcgc3JjPSJzdXBwb3J0L3N3
YXRjaC13aGl0ZS5wbmciIGFsdD0iSW1hZ2UgZG93bmxvYWQgc3VwcG9ydCBtdXN0IGJlIGVuYWJs
ZWQiPjxpbWcgc3JjPSJzdXBwb3J0L3N3YXRjaC13aGl0ZS5wbmciIGFsdD0iSW1hZ2UgZG93bmxv
YWQgc3VwcG9ydCBtdXN0IGJlIGVuYWJsZWQiPjxpbWcgc3JjPSJzdXBwb3J0L3N3YXRjaC13aGl0
ZS5wbmciIGFsdD0iSW1hZ2UgZG93bmxvYWQgc3VwcG9ydCBtdXN0IGJlIGVuYWJsZWQiPjxpbWcg
c3JjPSJzdXBwb3J0L3N3YXRjaC13aGl0ZS5wbmciIGFsdD0iSW1hZ2UgZG93bmxvYWQgc3VwcG9y
dCBtdXN0IGJlIGVuYWJsZWQiPjxpbWcgc3JjPSJzdXBwb3J0L3N3YXRjaC1ibHVlLnBuZyIgYWx0
PSJJbWFnZSBkb3dubG9hZCBzdXBwb3J0IG11c3QgYmUgZW5hYmxlZCI+PC90ZD4KKyAgICA8L3Ry
PgorCisgICAgPHRyPgorICAgICAgPHRkPjxpbWcgc3JjPSJzdXBwb3J0L3N3YXRjaC1ibHVlLnBu
ZyIgYWx0PSJJbWFnZSBkb3dubG9hZCBzdXBwb3J0IG11c3QgYmUgZW5hYmxlZCI+PGltZyBzcmM9
InN1cHBvcnQvc3dhdGNoLWJsdWUucG5nIiBhbHQ9IkltYWdlIGRvd25sb2FkIHN1cHBvcnQgbXVz
dCBiZSBlbmFibGVkIj48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gtYmx1ZS5wbmciIGFsdD0iSW1h
Z2UgZG93bmxvYWQgc3VwcG9ydCBtdXN0IGJlIGVuYWJsZWQiPjxpbWcgc3JjPSJzdXBwb3J0L3N3
YXRjaC1ibHVlLnBuZyIgYWx0PSJJbWFnZSBkb3dubG9hZCBzdXBwb3J0IG11c3QgYmUgZW5hYmxl
ZCI+PGltZyBzcmM9InN1cHBvcnQvc3dhdGNoLWJsdWUucG5nIiBhbHQ9IkltYWdlIGRvd25sb2Fk
IHN1cHBvcnQgbXVzdCBiZSBlbmFibGVkIj48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gtYmx1ZS5w
bmciIGFsdD0iSW1hZ2UgZG93bmxvYWQgc3VwcG9ydCBtdXN0IGJlIGVuYWJsZWQiPjwvdGQ+Cisg
ICAgPC90cj4KKworICAgIDx0cj4KKyAgICAgIDx0ZD48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gt
eWVsbG93LnBuZyIgYWx0PSJJbWFnZSBkb3dubG9hZCBzdXBwb3J0IG11c3QgYmUgZW5hYmxlZCI+
PGltZyBzcmM9InN1cHBvcnQvc3dhdGNoLXdoaXRlLnBuZyIgYWx0PSJJbWFnZSBkb3dubG9hZCBz
dXBwb3J0IG11c3QgYmUgZW5hYmxlZCI+PGltZyBzcmM9InN1cHBvcnQvc3dhdGNoLXdoaXRlLnBu
ZyIgYWx0PSJJbWFnZSBkb3dubG9hZCBzdXBwb3J0IG11c3QgYmUgZW5hYmxlZCI+PGltZyBzcmM9
InN1cHBvcnQvc3dhdGNoLXdoaXRlLnBuZyIgYWx0PSJJbWFnZSBkb3dubG9hZCBzdXBwb3J0IG11
c3QgYmUgZW5hYmxlZCI+PGltZyBzcmM9InN1cHBvcnQvc3dhdGNoLXdoaXRlLnBuZyIgYWx0PSJJ
bWFnZSBkb3dubG9hZCBzdXBwb3J0IG11c3QgYmUgZW5hYmxlZCI+PGltZyBzcmM9InN1cHBvcnQv
c3dhdGNoLXllbGxvdy5wbmciIGFsdD0iSW1hZ2UgZG93bmxvYWQgc3VwcG9ydCBtdXN0IGJlIGVu
YWJsZWQiPjwvdGQ+CisgICAgPC90cj4KKworICAgIDx0cj4KKyAgICAgIDx0ZD48aW1nIHNyYz0i
c3VwcG9ydC9zd2F0Y2gteWVsbG93LnBuZyIgYWx0PSJJbWFnZSBkb3dubG9hZCBzdXBwb3J0IG11
c3QgYmUgZW5hYmxlZCI+PGltZyBzcmM9InN1cHBvcnQvc3dhdGNoLXllbGxvdy5wbmciIGFsdD0i
SW1hZ2UgZG93bmxvYWQgc3VwcG9ydCBtdXN0IGJlIGVuYWJsZWQiPjxpbWcgc3JjPSJzdXBwb3J0
L3N3YXRjaC15ZWxsb3cucG5nIiBhbHQ9IkltYWdlIGRvd25sb2FkIHN1cHBvcnQgbXVzdCBiZSBl
bmFibGVkIj48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gteWVsbG93LnBuZyIgYWx0PSJJbWFnZSBk
b3dubG9hZCBzdXBwb3J0IG11c3QgYmUgZW5hYmxlZCI+PGltZyBzcmM9InN1cHBvcnQvc3dhdGNo
LXllbGxvdy5wbmciIGFsdD0iSW1hZ2UgZG93bmxvYWQgc3VwcG9ydCBtdXN0IGJlIGVuYWJsZWQi
PjxpbWcgc3JjPSJzdXBwb3J0L3N3YXRjaC15ZWxsb3cucG5nIiBhbHQ9IkltYWdlIGRvd25sb2Fk
IHN1cHBvcnQgbXVzdCBiZSBlbmFibGVkIj48L3RkPgorICAgIDwvdHI+CisKKyAgICA8dHI+Cisg
ICAgICA8dGQ+PGltZyBzcmM9InN1cHBvcnQvc3dhdGNoLW9yYW5nZS5wbmciIGFsdD0iSW1hZ2Ug
ZG93bmxvYWQgc3VwcG9ydCBtdXN0IGJlIGVuYWJsZWQiPjxpbWcgc3JjPSJzdXBwb3J0L3N3YXRj
aC13aGl0ZS5wbmciIGFsdD0iSW1hZ2UgZG93bmxvYWQgc3VwcG9ydCBtdXN0IGJlIGVuYWJsZWQi
PjxpbWcgc3JjPSJzdXBwb3J0L3N3YXRjaC13aGl0ZS5wbmciIGFsdD0iSW1hZ2UgZG93bmxvYWQg
c3VwcG9ydCBtdXN0IGJlIGVuYWJsZWQiPjxpbWcgc3JjPSJzdXBwb3J0L3N3YXRjaC13aGl0ZS5w
bmciIGFsdD0iSW1hZ2UgZG93bmxvYWQgc3VwcG9ydCBtdXN0IGJlIGVuYWJsZWQiPjxpbWcgc3Jj
PSJzdXBwb3J0L3N3YXRjaC13aGl0ZS5wbmciIGFsdD0iSW1hZ2UgZG93bmxvYWQgc3VwcG9ydCBt
dXN0IGJlIGVuYWJsZWQiPjxpbWcgc3JjPSJzdXBwb3J0L3N3YXRjaC1vcmFuZ2UucG5nIiBhbHQ9
IkltYWdlIGRvd25sb2FkIHN1cHBvcnQgbXVzdCBiZSBlbmFibGVkIj48L3RkPgorICAgIDwvdHI+
CisKKyAgICA8dHI+CisgICAgICA8dGQ+PGltZyBzcmM9InN1cHBvcnQvc3dhdGNoLW9yYW5nZS5w
bmciIGFsdD0iSW1hZ2UgZG93bmxvYWQgc3VwcG9ydCBtdXN0IGJlIGVuYWJsZWQiPjxpbWcgc3Jj
PSJzdXBwb3J0L3N3YXRjaC1vcmFuZ2UucG5nIiBhbHQ9IkltYWdlIGRvd25sb2FkIHN1cHBvcnQg
bXVzdCBiZSBlbmFibGVkIj48aW1nIHNyYz0ic3VwcG9ydC9zd2F0Y2gtb3JhbmdlLnBuZyIgYWx0
PSJJbWFnZSBkb3dubG9hZCBzdXBwb3J0IG11c3QgYmUgZW5hYmxlZCI+PGltZyBzcmM9InN1cHBv
cnQvc3dhdGNoLW9yYW5nZS5wbmciIGFsdD0iSW1hZ2UgZG93bmxvYWQgc3VwcG9ydCBtdXN0IGJl
IGVuYWJsZWQiPjxpbWcgc3JjPSJzdXBwb3J0L3N3YXRjaC1vcmFuZ2UucG5nIiBhbHQ9IkltYWdl
IGRvd25sb2FkIHN1cHBvcnQgbXVzdCBiZSBlbmFibGVkIj48aW1nIHNyYz0ic3VwcG9ydC9zd2F0
Y2gtb3JhbmdlLnBuZyIgYWx0PSJJbWFnZSBkb3dubG9hZCBzdXBwb3J0IG11c3QgYmUgZW5hYmxl
ZCI+PC90ZD4KKyAgICA8L3RyPgorCisgIDwvdGFibGU+CisKKyA8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9i
b3JkZXItY29sbGFwc2luZy9hZGphY2VudC1yb3ctZ3JvdXBzLWV4cGVjdGVkLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9ib3JkZXItY29sbGFwc2luZy9hZGphY2Vu
dC1yb3ctZ3JvdXBzLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9m
YXN0L3RhYmxlL2JvcmRlci1jb2xsYXBzaW5nL2FkamFjZW50LXJvdy1ncm91cHMtZXhwZWN0ZWQu
aHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyNCBAQAorPCFET0NUWVBFIGh0bWw+CisKKzxo
dG1sPgorPGhlYWQ+Cis8c3R5bGU+CisgIHRhYmxlIHtib3JkZXItY29sbGFwc2U6IGNvbGxhcHNl
O30gIAorICB0ZCB7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgYm9yZGVyOiAxZW0gc29s
aWQgZ3JlZW47IH0gIAorICAub3JhbmdlIHsgYm9yZGVyLWNvbG9yOiBvcmFuZ2U7IH0gIAorPC9z
dHlsZT4KKzwvaGVhZD4KKworPGJvZHk+Cis8cD5UZXN0IGZvciBCdWd6aWxsYSA8YSBocmVmPSJo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODY4ODUiPkJ1ZyA4Njg4NTwv
YT46IENTUzIuMSBmYWlsdXJlOiBib3JkZXItY29uZmxpY3QtZWxlbWVudDAyMWEuPC9wPgorPHA+
V2hlbiB0d28gYWRqYWNlbnQgdGFibGUgcm93IGdyb3VwcyAodGhlYWQsIHRib2R5LCB0Zm9vdCkg
aGF2ZSB0aGUgc2FtZSBib3JkZXItd2lkdGggYW5kIHRoZSBzYW1lIGJvcmRlci1zdHlsZSBpbiBh
ICdib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlJyB0YWJsZSwgdGhlbiB0aGUgY29sb3Igb2YgdGhl
IGJvcmRlciBmcm9tIHRoZSB0b3Btb3N0IHRhYmxlIHJvdyBncm91cCB3aW5zOiBzbywgYSB0aGVh
ZCB3aW5zIG92ZXIgYSB0Ym9keSB3aGljaCB3aW5zIG92ZXIgdGZvb3QuPC9wPgorPHA+VGhlIGJv
dHRvbSBib3JkZXIgb2YgdGhlIGZpcnN0IChncmVlbikgYm94IHNob3VsZCBiZSBjb21wbGV0ZWx5
IGdyZWVuIGluIGNvbG9yIChpbmNsdWRpbmcgdGhlIGNvcm5lcnMpIGFuZCBvdmVybGFwcGluZyB0
aGUgdG9wIGJvcmRlciBvZiB0aGUgc2Vjb25kIChvcmFuZ2UpIGJveC4gU2ltaWxhcmx5LCB0aGUg
Ym90dG9tIGJvcmRlciBvZiB0aGUgc2Vjb25kIChvcmFuZ2UpIGJveCBzaG91bGQgYmUgY29tcGxl
dGVseSBvcmFuZ2UgaW4gY29sb3IgKGluY2x1ZGluZyB0aGUgY29ybmVycykgYW5kIG92ZXJsYXBw
aW5nIHRoZSB0b3AgYm9yZGVyIG9mIHRoZSB0aGlyZCAoZ3JlZW4pIGJveC48L3A+CisgIAorPHRh
YmxlPgorICAgIDx0cj48dGQ+PC90ZD48L3RyPgorICAgIDx0cj48dGQgY2xhc3M9Im9yYW5nZSI+
PC90ZD48L3RyPgorICAgIDx0cj48dGQ+PC90ZD48L3RyPgkKKzwvdGFibGU+CisKKzwvYm9keT4K
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvdGFibGUvYm9yZGVyLWNvbGxhcHNpbmcv
YWRqYWNlbnQtcm93LWdyb3Vwcy1tdWx0aS1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3QvdGFibGUvYm9yZGVyLWNvbGxhcHNpbmcvYWRqYWNlbnQtcm93LWdyb3Vw
cy1tdWx0aS1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC90
YWJsZS9ib3JkZXItY29sbGFwc2luZy9hZGphY2VudC1yb3ctZ3JvdXBzLW11bHRpLWV4cGVjdGVk
Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjggQEAKKzwhRE9DVFlQRSBodG1sPgorCis8
aHRtbD4KKzxoZWFkPgorPHN0eWxlPgorICB0YWJsZSB7Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBz
ZTt9ICAKKyAgdGQgeyB3aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4OyBib3JkZXI6IDFlbSBzb2xp
ZDsgfSAgCisgIC5vcmFuZ2UgeyBib3JkZXItY29sb3I6IG9yYW5nZTsgfQorICAuZmlyc3QgeyBi
b3JkZXItY29sb3I6IGdyZWVuOyB9CisgIC5zZWNvbmQgeyBib3JkZXItY29sb3I6IGJsdWU7IH0K
Kzwvc3R5bGU+Cis8L2hlYWQ+CisKKzxib2R5PgorPHA+VGVzdCBmb3IgQnVnemlsbGEgPGEgaHJl
Zj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2ODg1Ij5CdWcgODY4
ODU8L2E+OiBDU1MyLjEgZmFpbHVyZTogYm9yZGVyLWNvbmZsaWN0LWVsZW1lbnQwMjFhLjwvcD4K
KzxwPldoZW4gdHdvIGFkamFjZW50IHRhYmxlIHJvdyBncm91cHMgKHRoZWFkLCB0Ym9keSwgdGZv
b3QpIGhhdmUgdGhlIHNhbWUgYm9yZGVyLXdpZHRoIGFuZCB0aGUgc2FtZSBib3JkZXItc3R5bGUg
aW4gYSAnYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZScgdGFibGUsIHRoZW4gdGhlIGNvbG9yIG9m
IHRoZSBib3JkZXIgZnJvbSB0aGUgdG9wbW9zdCB0YWJsZSByb3cgZ3JvdXAgd2luczogc28sIGEg
dGhlYWQgd2lucyBvdmVyIGEgdGJvZHkgd2hpY2ggd2lucyBvdmVyIHRmb290LjwvcD4KKzxwPlRo
aXMgdGVzdCB2ZXJpZmllcyB0aGUgYWZvcmVtZW50aW9uZWQgc2NlYW5hcmlvIHdoZW4gbW9yZSB0
aGFuIG9uZSBoZWFkZXIgYW5kL29yIGZvb3RlciBpcyBzcGVjaWZpZWQuIFRoZSBmaXJzdCB0aGVh
ZCBzcGVjaWZpZWQgaW4gdGhlIHBhZ2Ugc2hvdWxkIGJlIHJlbmRlcmVkIGF0IHRoZSB0b3Agb2Yg
dGhlIHRhYmxlOyBzaW1pbGFybHkgdGhlIGZpcnN0IHRmb290IHNwZWNpZmllZCBpbiB0aGUgcGFn
ZSBzaG91bGQgYmUgcmVuZGVyZWQgYXMgdGhlIGxhc3Qgc2VjdGlvbiBvZiB0aGUgdGFibGUuIElu
IHRoaXMgY2FzZSBib3RoIHRoZSB0b3AtbW9zdCBhbmQgdGhlIGJvdHRvbS1tb3N0IHNlY3Rpb25z
IHNob3VsZCBiZSBkaXNwbGF5ZWQgaW4gZ3JlZW4gY29sb3IuIEFsc28sIHRoZXJlIHNob3VsZCBi
ZSBubyBvdmVybGFwIG9mIGJvcmRlci1jb2xvcnMgYXQgdGhlIGNvcm5lcnMuPC9wPgorICAKKzx0
YWJsZT4KKyAgICA8dHI+PHRkIGNsYXNzPSJmaXJzdCI+PC90ZD48L3RyPgorICAgIDx0cj48dGQg
Y2xhc3M9InNlY29uZCI+PC90ZD48L3RyPgorICAgIDx0cj48dGQgY2xhc3M9Im9yYW5nZSI+PC90
ZD48L3RyPgorICAgIDx0cj48dGQgY2xhc3M9InNlY29uZCI+PC90ZD48L3RyPgorICAgIDx0cj48
dGQgY2xhc3M9ImZpcnN0Ij48L3RkPjwvdHI+Cis8L3RhYmxlPgorCis8L2JvZHk+Cis8L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL2JvcmRlci1jb2xsYXBzaW5nL2FkamFjZW50
LXJvdy1ncm91cHMtbXVsdGkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Rh
YmxlL2JvcmRlci1jb2xsYXBzaW5nL2FkamFjZW50LXJvdy1ncm91cHMtbXVsdGkuaHRtbAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvdGFibGUvYm9yZGVyLWNvbGxhcHNpbmcvYWRq
YWNlbnQtcm93LWdyb3Vwcy1tdWx0aS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM5IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKworPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KKyAgdGFibGUgeyBi
b3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyB9CisgIHRoZWFkLCB0Ym9keSwgdGZvb3QgeyBib3Jk
ZXI6IDFlbSBzb2xpZDsgfQorICAuZmlyc3QgeyBib3JkZXItY29sb3I6IGdyZWVuOyB9CisgIC5z
ZWNvbmQgeyBib3JkZXItY29sb3I6IGJsdWU7IH0KKyAgdGJvZHkgeyBib3JkZXItY29sb3I6IG9y
YW5nZTsgfSAgICAKKyAgdGQgeyB3aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4O30KKzwvc3R5bGU+
Cis8L2hlYWQ+CisKKzxib2R5PgorPHA+VGVzdCBmb3IgQnVnemlsbGEgPGEgaHJlZj0iaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2ODg1Ij5CdWcgODY4ODU8L2E+OiBD
U1MyLjEgZmFpbHVyZTogYm9yZGVyLWNvbmZsaWN0LWVsZW1lbnQwMjFhLjwvcD4KKzxwPldoZW4g
dHdvIGFkamFjZW50IHRhYmxlIHJvdyBncm91cHMgKHRoZWFkLCB0Ym9keSwgdGZvb3QpIGhhdmUg
dGhlIHNhbWUgYm9yZGVyLXdpZHRoIGFuZCB0aGUgc2FtZSBib3JkZXItc3R5bGUgaW4gYSAnYm9y
ZGVyLWNvbGxhcHNlOiBjb2xsYXBzZScgdGFibGUsIHRoZW4gdGhlIGNvbG9yIG9mIHRoZSBib3Jk
ZXIgZnJvbSB0aGUgdG9wbW9zdCB0YWJsZSByb3cgZ3JvdXAgd2luczogc28sIGEgdGhlYWQgd2lu
cyBvdmVyIGEgdGJvZHkgd2hpY2ggd2lucyBvdmVyIHRmb290LjwvcD4KKzxwPlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGUgYWZvcmVtZW50aW9uZWQgc2NlYW5hcmlvIHdoZW4gbW9yZSB0aGFuIG9uZSBo
ZWFkZXIgYW5kL29yIGZvb3RlciBpcyBzcGVjaWZpZWQuIFRoZSBmaXJzdCB0aGVhZCBzcGVjaWZp
ZWQgaW4gdGhlIHBhZ2Ugc2hvdWxkIGJlIHJlbmRlcmVkIGF0IHRoZSB0b3Agb2YgdGhlIHRhYmxl
OyBzaW1pbGFybHkgdGhlIGZpcnN0IHRmb290IHNwZWNpZmllZCBpbiB0aGUgcGFnZSBzaG91bGQg
YmUgcmVuZGVyZWQgYXMgdGhlIGxhc3Qgc2VjdGlvbiBvZiB0aGUgdGFibGUuIEluIHRoaXMgY2Fz
ZSBib3RoIHRoZSB0b3AtbW9zdCBhbmQgdGhlIGJvdHRvbS1tb3N0IHNlY3Rpb25zIHNob3VsZCBi
ZSBkaXNwbGF5ZWQgaW4gZ3JlZW4gY29sb3IuIEFsc28sIHRoZXJlIHNob3VsZCBiZSBubyBvdmVy
bGFwIG9mIGJvcmRlci1jb2xvcnMgYXQgdGhlIGNvcm5lcnMuPC9wPgorICAKKzx0YWJsZT4KKyAg
ICA8dGhlYWQgY2xhc3M9ImZpcnN0Ij4KKyAgICAgICAgPHRyPjx0ZD48L3RkPjwvdHI+CisgICAg
PC90aGVhZD4KKyAgIAk8dGhlYWQgY2xhc3M9InNlY29uZCI+CisgICAgICAgIDx0cj48dGQ+PC90
ZD48L3RyPgorICAgIDwvdGhlYWQ+CQorICAgIDx0Ym9keT4KKyAgICAgICAgPHRyPjx0ZD48L3Rk
PjwvdHI+CisgICAgPC90Ym9keT4JCisgICAgPHRmb290IGNsYXNzPSJmaXJzdCI+CisgICAgICAg
IDx0cj48dGQ+PC90ZD48L3RyPgorICAgIDwvdGZvb3Q+CisgICAgPHRmb290IGNsYXNzPSJzZWNv
bmQiPgorICAgICAgICA8dHI+PHRkPjwvdGQ+PC90cj4KKyAgICA8L3Rmb290PgkKKzwvdGFibGU+
CisKKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvdGFibGUvYm9yZGVy
LWNvbGxhcHNpbmcvYWRqYWNlbnQtcm93LWdyb3Vwcy5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3QvdGFibGUvYm9yZGVyLWNvbGxhcHNpbmcvYWRqYWNlbnQtcm93LWdyb3Vwcy5o
dG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9ib3JkZXItY29sbGFw
c2luZy9hZGphY2VudC1yb3ctZ3JvdXBzLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzEg
QEAKKzwhRE9DVFlQRSBodG1sPgorCis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgorICB0YWJsZSB7
IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IH0KKyAgdGhlYWQsIHRib2R5LCB0Zm9vdCB7IGJv
cmRlcjogMWVtIHNvbGlkIGdyZWVuOyB9CisgIHRib2R5IHsgYm9yZGVyLWNvbG9yOiBvcmFuZ2U7
IH0gIAorICB0ZCB7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDt9Cis8L3N0eWxlPgorPC9o
ZWFkPgorCis8Ym9keT4KKzxwPlRlc3QgZm9yIEJ1Z3ppbGxhIDxhIGhyZWY9Imh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Njg4NSI+QnVnIDg2ODg1PC9hPjogQ1NTMi4x
IGZhaWx1cmU6IGJvcmRlci1jb25mbGljdC1lbGVtZW50MDIxYS48L3A+Cis8cD5XaGVuIHR3byBh
ZGphY2VudCB0YWJsZSByb3cgZ3JvdXBzICh0aGVhZCwgdGJvZHksIHRmb290KSBoYXZlIHRoZSBz
YW1lIGJvcmRlci13aWR0aCBhbmQgdGhlIHNhbWUgYm9yZGVyLXN0eWxlIGluIGEgJ2JvcmRlci1j
b2xsYXBzZTogY29sbGFwc2UnIHRhYmxlLCB0aGVuIHRoZSBjb2xvciBvZiB0aGUgYm9yZGVyIGZy
b20gdGhlIHRvcG1vc3QgdGFibGUgcm93IGdyb3VwIHdpbnM6IHNvLCBhIHRoZWFkIHdpbnMgb3Zl
ciBhIHRib2R5IHdoaWNoIHdpbnMgb3ZlciB0Zm9vdC48L3A+Cis8cD5UaGUgYm90dG9tIGJvcmRl
ciBvZiB0aGUgZmlyc3QgKGdyZWVuKSBib3ggc2hvdWxkIGJlIGNvbXBsZXRlbHkgZ3JlZW4gaW4g
Y29sb3IgKGluY2x1ZGluZyB0aGUgY29ybmVycykgYW5kIG92ZXJsYXBwaW5nIHRoZSB0b3AgYm9y
ZGVyIG9mIHRoZSBzZWNvbmQgKG9yYW5nZSkgYm94LiBTaW1pbGFybHksIHRoZSBib3R0b20gYm9y
ZGVyIG9mIHRoZSBzZWNvbmQgKG9yYW5nZSkgYm94IHNob3VsZCBiZSBjb21wbGV0ZWx5IG9yYW5n
ZSBpbiBjb2xvciAoaW5jbHVkaW5nIHRoZSBjb3JuZXJzKSBhbmQgb3ZlcmxhcHBpbmcgdGhlIHRv
cCBib3JkZXIgb2YgdGhlIHRoaXJkIChncmVlbikgYm94LjwvcD4KKyAgCis8dGFibGU+CisgICAg
PHRoZWFkPgorICAgICAgICA8dHI+PHRkPjwvdGQ+PC90cj4KKyAgICA8L3RoZWFkPgorICAgIDx0
Ym9keT4KKyAgICAgICAgPHRyPjx0ZD48L3RkPjwvdHI+CisgICAgPC90Ym9keT4KKyAgICA8dGZv
b3Q+CisgICAgICAgIDx0cj48dGQ+PC90ZD48L3RyPgorICAgIDwvdGZvb3Q+Cis8L3RhYmxlPgor
Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>