<?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>16811</bug_id>
          
          <creation_ts>2008-01-09 20:15:26 -0800</creation_ts>
          <short_desc>Row size/position is wrongly calculated when table having overlapping rowspan cell and colspan cell</short_desc>
          <delta_ts>2012-07-12 15:33:58 -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>Tables</component>
          <version>523.x (Safari 3)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>HasReduction</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Steve Nicolai">snicolaitv</reporter>
          <assigned_to name="Pravin D">pravind.2k4</assigned_to>
          <cc>arpitabahuguna</cc>
    
    <cc>bdakin</cc>
    
    <cc>darin</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>eric</cc>
    
    <cc>hyatt</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>pravind.2k4</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>66713</commentid>
    <comment_count>0</comment_count>
    <who name="Steve Nicolai">snicolaitv</who>
    <bug_when>2008-01-09 20:15:26 -0800</bug_when>
    <thetext>The attached fragment from the morningstar website recreates the problem with Safari 3.0.4 with webkit 523.12.2 on MacOS 10.4.11

The full webpage is:
http://profile.morningstar.com/Hewitt/Profile.asp?CountryID=USA&amp;Symbol=0275100006

In the third row of the table in the fragment is a cell containing an image that has specified width and height 154x154 (actual is 152x152).  When I look at the table in the render tree in I see that the table height is 139.

Visually, the bottom of the image intrudes into the following table.

I would expect that the table height be large enough to display the image without affecting the following table.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66714</commentid>
    <comment_count>1</comment_count>
      <attachid>18359</attachid>
    <who name="Steve Nicolai">snicolaitv</who>
    <bug_when>2008-01-09 20:16:08 -0800</bug_when>
    <thetext>Created attachment 18359
Fragment to recreate the problem</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66715</commentid>
    <comment_count>2</comment_count>
    <who name="Steve Nicolai">snicolaitv</who>
    <bug_when>2008-01-09 20:36:33 -0800</bug_when>
    <thetext>This bug still happens with the nightly build from Jan 9, build r29336.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66724</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2008-01-09 20:55:21 -0800</bug_when>
    <thetext>Confirmed with Safari 3.0.4 and TOT on Leopard.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68322</commentid>
    <comment_count>4</comment_count>
      <attachid>18711</attachid>
    <who name="Steve Nicolai">snicolaitv</who>
    <bug_when>2008-01-26 16:00:25 -0800</bug_when>
    <thetext>Created attachment 18711
reduced fragment

I reduced the fragment some more and did a little debugging on it.

The enclosed fragment has a cell with rowspan=2 in the second column.  The next row has colspan=2 in the first cell.  This sets CellStruct.inColSpan on that cell.  This causes RenderTableSection::calcRowHeight() takes the continue on line 338 of today&apos;s TOT never calculating the true height needed for the rowspan.

Camino 1.5.4 renders this reduced fragment properly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68392</commentid>
    <comment_count>5</comment_count>
      <attachid>18728</attachid>
    <who name="Steve Nicolai">snicolaitv</who>
    <bug_when>2008-01-27 15:38:42 -0800</bug_when>
    <thetext>Created attachment 18728
A patch for the problem

This patch happens to produce the correct output and doesn&apos;t cause any new failures in the test suite when I run it.  I have doubts that it is the correct patch however.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>71245</commentid>
    <comment_count>6</comment_count>
      <attachid>18728</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2008-02-20 08:17:35 -0800</bug_when>
    <thetext>Comment on attachment 18728
A patch for the problem

Thanks for attaching a patch!  In the future, please set the &quot;review?&quot; flag on patches you attach to bugs if you&apos;d like them considered for committing.

I&apos;m going to mark this as review- since it needs a ChangeLog and a test case.  (I did not review this for correctness however.)

See this page for more details about contributing code:

http://webkit.org/coding/contributing.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660663</commentid>
    <comment_count>7</comment_count>
      <attachid>150222</attachid>
    <who name="Pravin D">pravind.2k4</who>
    <bug_when>2012-06-29 11:32:25 -0700</bug_when>
    <thetext>Created attachment 150222
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662336</commentid>
    <comment_count>8</comment_count>
      <attachid>150222</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-07-03 10:25:30 -0700</bug_when>
    <thetext>Comment on attachment 150222
Patch

I&apos;m confused how the code previously was OK using a single cell?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662343</commentid>
    <comment_count>9</comment_count>
      <attachid>150222</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2012-07-03 10:32:00 -0700</bug_when>
    <thetext>Comment on attachment 150222
Patch

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

&gt; Source/WebCore/ChangeLog:10
&gt; +        end in the row r-1, it is not included in the calculation. On the other hand if there is a cell with rowspan &gt; 1 and ends in row r-1 then the height 
&gt; +        this height is taken into calculation. In our case the r-1 has a cell which has 2 overlapping cells, one with colspan &gt; 1 and other with rowspan &gt; 1

typo: &apos;the height this height&apos;.

&gt; Source/WebCore/ChangeLog:11
&gt; +        and rowspan ends in r-1. Only the primary cell(last cell added) was being considered for calculating the position of the row r-1.

If you make a clearer split in this explanation between (i) the statement of the way things currently work and why it&apos;s broken and (ii) the new, correct behaviour and why it works, it would make this log easier to grok.

&gt; Source/WebCore/rendering/RenderTableSection.cpp:379
&gt; +                // find out the baseline
&gt; +                EVerticalAlign va = cell-&gt;style()-&gt;verticalAlign();
&gt; +                if (va == BASELINE || va == TEXT_BOTTOM || va == TEXT_TOP || va == SUPER || va == SUB || va == LENGTH) {
&gt; +                    LayoutUnit baselinePosition = cell-&gt;cellBaselinePosition();
&gt; +                    if (baselinePosition &gt; cell-&gt;borderBefore() + cell-&gt;paddingBefore()) {
&gt; +                        m_grid[cellStartRow].baseline = max(m_grid[cellStartRow].baseline, baselinePosition - cell-&gt;intrinsicPaddingBefore());
&gt; +                        baselineDescent = max(baselineDescent, m_rowPos[cellStartRow] + cellLogicalHeight - (baselinePosition - cell-&gt;intrinsicPaddingBefore()));
&gt; +                    }

I don&apos;t think you need this in the new loop, do things break if you move it outside? I think you should experiment with moving this and other stuff out of the loop, I can&apos;t say for sure what else should go.

&gt; LayoutTests/fast/table/last-cell-of-rowspan-overlapping-colspan-cell.html:20
&gt; +&lt;tr&gt;
&gt; +&lt;td&gt;
&gt; +&lt;img width=&quot;20&quot; height=&quot;60&quot; /&gt;
&gt; +&lt;/td&gt;
&gt; +&lt;td  rowspan=&quot;2&quot; &gt;
&gt; +&lt;img  width=&quot;20&quot; height=&quot;120&quot; style=&quot;border:1px solid green;&quot;/&gt;
&gt; +&lt;/td&gt;
&gt; +&lt;/tr&gt;
&gt; +&lt;tr&gt;
&gt; +&lt;td  colspan=&quot;2&quot;&gt;
&gt; +&lt;img src=&quot;&quot; height=&quot;20&quot;  /&gt;
&gt; +&lt;/td&gt;
&gt; +&lt;/tr&gt;
&gt; +&lt;/table&gt;

Need some indentation here to keep the test readable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662819</commentid>
    <comment_count>10</comment_count>
    <who name="Pravin D">pravind.2k4</who>
    <bug_when>2012-07-04 03:13:39 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 150222 [details])
&gt; I&apos;m confused how the code previously was OK using a single cell?

I don&apos;t think so the code was working properly previously. 

Below is the change set

http://trac.webkit.org/changeset/63994/trunk/WebCore/rendering/RenderTableSection.h  

CellStruct{
  -   RenderTableCell* cell; 
  +   Vector&lt;RenderTableCell*, 1&gt; cells;  
}

CellStruct was made to have more than one cell at a given position (row,col). 

The algo in calcRowLogicalHeight() to calculate the position of rows is written assuming there can be only one cell at position(row,col).

This issue is reported before the change set 63994 so... :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>666070</commentid>
    <comment_count>11</comment_count>
      <attachid>151527</attachid>
    <who name="Pravin D">pravind.2k4</who>
    <bug_when>2012-07-10 14:39:44 -0700</bug_when>
    <thetext>Created attachment 151527
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>666080</commentid>
    <comment_count>12</comment_count>
    <who name="Pravin D">pravind.2k4</who>
    <bug_when>2012-07-10 14:49:19 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 150222 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=150222&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:10
&gt; &gt; +        end in the row r-1, it is not included in the calculation. On the other hand if there is a cell with rowspan &gt; 1 and ends in row r-1 then the height 
&gt; &gt; +        this height is taken into calculation. In our case the r-1 has a cell which has 2 overlapping cells, one with colspan &gt; 1 and other with rowspan &gt; 1
&gt; 
&gt; typo: &apos;the height this height&apos;.
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:11
&gt; &gt; +        and rowspan ends in r-1. Only the primary cell(last cell added) was being considered for calculating the position of the row r-1.
&gt; 
&gt; If you make a clearer split in this explanation between (i) the statement of the way things currently work and why it&apos;s broken and (ii) the new, correct behaviour and why it works, it would make this log easier to grok.
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderTableSection.cpp:379
&gt; &gt; +                // find out the baseline
&gt; &gt; +                EVerticalAlign va = cell-&gt;style()-&gt;verticalAlign();
&gt; &gt; +                if (va == BASELINE || va == TEXT_BOTTOM || va == TEXT_TOP || va == SUPER || va == SUB || va == LENGTH) {
&gt; &gt; +                    LayoutUnit baselinePosition = cell-&gt;cellBaselinePosition();
&gt; &gt; +                    if (baselinePosition &gt; cell-&gt;borderBefore() + cell-&gt;paddingBefore()) {
&gt; &gt; +                        m_grid[cellStartRow].baseline = max(m_grid[cellStartRow].baseline, baselinePosition - cell-&gt;intrinsicPaddingBefore());
&gt; &gt; +                        baselineDescent = max(baselineDescent, m_rowPos[cellStartRow] + cellLogicalHeight - (baselinePosition - cell-&gt;intrinsicPaddingBefore()));
&gt; &gt; +                    }
&gt; 
&gt; I don&apos;t think you need this in the new loop, do things break if you move it outside? I think you should experiment with moving this and other stuff out of the loop, I can&apos;t say for sure what else should go.
&gt; 
I think this should be part of the loop. The baseline of a row is correctly determined if all the cells in the row(even rowSpan cells) participate. In case of rowSpan cells, they participate only when the last cell of the row is encountered. 
According to CSS2.1
http://www.w3.org/TR/CSS21/tables.html#height-layout

&quot;The maximum distance between the top of the cell box and the baseline over all cells of the row that have &apos;vertical-align: baseline&apos; is used to set the baseline of the row.&quot;
Thus if we leave out the rowSpan cell baseline we will have a similar issue(intead of height it would be baseline).

So as is the case with height we need to consider all the cells at a given position for calculating the baseline.

&gt; &gt; LayoutTests/fast/table/last-cell-of-rowspan-overlapping-colspan-cell.html:20
&gt; &gt; +&lt;tr&gt;
&gt; &gt; +&lt;td&gt;
&gt; &gt; +&lt;img width=&quot;20&quot; height=&quot;60&quot; /&gt;
&gt; &gt; +&lt;/td&gt;
&gt; &gt; +&lt;td  rowspan=&quot;2&quot; &gt;
&gt; &gt; +&lt;img  width=&quot;20&quot; height=&quot;120&quot; style=&quot;border:1px solid green;&quot;/&gt;
&gt; &gt; +&lt;/td&gt;
&gt; &gt; +&lt;/tr&gt;
&gt; &gt; +&lt;tr&gt;
&gt; &gt; +&lt;td  colspan=&quot;2&quot;&gt;
&gt; &gt; +&lt;img src=&quot;&quot; height=&quot;20&quot;  /&gt;
&gt; &gt; +&lt;/td&gt;
&gt; &gt; +&lt;/tr&gt;
&gt; &gt; +&lt;/table&gt;
&gt; 
&gt; Need some indentation here to keep the test readable.
&gt; 
Done...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>668032</commentid>
    <comment_count>13</comment_count>
      <attachid>151527</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-07-12 11:35:06 -0700</bug_when>
    <thetext>Comment on attachment 151527
Patch

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

&gt; Source/WebCore/rendering/RenderTableSection.cpp:380
&gt; +                    }

I think it&apos;s fine to compute the baseline in the loop. We are taking the max so it shouldn&apos;t impact the result in most cases.

&gt; LayoutTests/fast/table/last-cell-of-rowspan-overlapping-colspan-cell-expected.html:1
&gt; +&lt;html&gt;

Unless you are testing quirksmode behavior, test case *should* include a doctype:

&lt;!DOCTYPE html&gt;

This is all the more true for a test involving an auto-table layout.

&gt; LayoutTests/fast/table/last-cell-of-rowspan-overlapping-colspan-cell-expected.html:3
&gt; +  &lt;title&gt; Ref Test for bug https://bugs.webkit.org/show_bug.cgi?id=16811 &lt;/title&gt;

I prefer to dump the bug (including a link) when text is allowed in the change (like here). A title doesn&apos;t add much as you wouldn&apos;t see it in DRT output (on top of not being clickable).

&gt; LayoutTests/fast/table/last-cell-of-rowspan-overlapping-colspan-cell-expected.html:6
&gt; +  &lt;p&gt; The Height of the green rectangle should be same as the yellow rectangle and the green rectangle must be contained

it would be nice to add a description of &apos;what&apos; you are testing. Example:

&lt;p&gt;This test checks that overlapping cells get sized properly.&lt;/p&gt;

&gt; LayoutTests/fast/table/last-cell-of-rowspan-overlapping-colspan-cell-expected.html:9
&gt; +  &lt;table  style=&quot;border:1px solid yellow;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; align=&quot;center&quot;&gt;

Couldn&apos;t we remove more styling from here? The align=&quot;center&quot; for example seems like it could be removed. Arguably same for the other attributes.

&gt; LayoutTests/fast/table/last-cell-of-rowspan-overlapping-colspan-cell-expected.html:19
&gt; +      &lt;td  &gt;

Unneeded spaces (not repeated for the other cases)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>668066</commentid>
    <comment_count>14</comment_count>
      <attachid>152019</attachid>
    <who name="Pravin D">pravind.2k4</who>
    <bug_when>2012-07-12 12:14:43 -0700</bug_when>
    <thetext>Created attachment 152019
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>668211</commentid>
    <comment_count>15</comment_count>
      <attachid>152019</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-07-12 14:22:26 -0700</bug_when>
    <thetext>Comment on attachment 152019
Patch

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

&gt; LayoutTests/fast/table/last-cell-of-rowspan-overlapping-colspan-cell-expected.html:5
&gt; +&lt;head&gt;
&gt; +  &lt;title&gt; Ref Test for bug https://bugs.webkit.org/show_bug.cgi?id=16811 &lt;/title&gt;
&gt; +&lt;/head&gt;

Stray code (not repeated for the other file).

&gt; LayoutTests/fast/table/last-cell-of-rowspan-overlapping-colspan-cell-expected.html:23
&gt; +      &lt;img src=&quot;&quot; height=&quot;20&quot;/&gt;

Is this src=&quot;&quot; attribute necessary?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>668251</commentid>
    <comment_count>16</comment_count>
      <attachid>152069</attachid>
    <who name="Pravin D">pravind.2k4</who>
    <bug_when>2012-07-12 14:46:07 -0700</bug_when>
    <thetext>Created attachment 152069
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>668320</commentid>
    <comment_count>17</comment_count>
      <attachid>152069</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-12 15:33:52 -0700</bug_when>
    <thetext>Comment on attachment 152069
Patch

Clearing flags on attachment: 152069

Committed r122516: &lt;http://trac.webkit.org/changeset/122516&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>668321</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-12 15:33:58 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>18359</attachid>
            <date>2008-01-09 20:16:08 -0800</date>
            <delta_ts>2008-01-26 16:00:25 -0800</delta_ts>
            <desc>Fragment to recreate the problem</desc>
            <filename>webkitbug.html</filename>
            <type>text/html</type>
            <size>15335</size>
            <attacher name="Steve Nicolai">snicolaitv</attacher>
            
              <data encoding="base64">PHRhYmxlIHdpZHRoPSI1NjUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5n
PSIwIiBhbGlnbj0iY2VudGVyIj4KPHRyPgo8dGQ+CjxpbWcgc3JjPSJpbS9zcGFjZXIuZ2lmIiB3
aWR0aD0iNSIgaGVpZ2h0PSIxIiAvPgo8L3RkPgo8dGQ+CjxpbWcgc3JjPSJpbS9zcGFjZXIuZ2lm
IiB3aWR0aD0iOCIgaGVpZ2h0PSIxIiAvPgo8L3RkPgo8dGQ+CjxpbWcgc3JjPSJpbS9zcGFjZXIu
Z2lmIiB3aWR0aD0iMTY3IiBoZWlnaHQ9IjEiIC8+CjwvdGQ+Cjx0ZD4KPGltZyBzcmM9ImltL3Nw
YWNlci5naWYiIHdpZHRoPSI5MyIgaGVpZ2h0PSIxIiAvPgo8L3RkPgo8dGQ+CjxpbWcgc3JjPSJp
bS9zcGFjZXIuZ2lmIiB3aWR0aD0iMTkiIGhlaWdodD0iMSIgLz4KPC90ZD4KPHRkPgo8aW1nIHNy
Yz0iaW0vc3BhY2VyLmdpZiIgd2lkdGg9IjE1MiIgaGVpZ2h0PSIxIiAvPgo8L3RkPgo8dGQ+Cjxp
bWcgc3JjPSJpbS9zcGFjZXIuZ2lmIiB3aWR0aD0iMTIxIiBoZWlnaHQ9IjEiIC8+CjwvdGQ+Cjwv
dHI+Cjx0cj4KPHRkIGNvbHNwYW49IjciPgo8aW1nIHNyYz0iaW0vc3BhY2VyLmdpZiIgaGVpZ2h0
PSI5IiB3aWR0aD0iMSIgLz4KPC90ZD4KPC90cj4KPHRyPgo8dGQgY29sc3Bhbj0iMyIgdmFsaWdu
PSJ0b3AiPgo8Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSIxIj4KPGI+Q29tcG9zaXRpb24gPC9i
Pgo8YSBocmVmPSJub3Rlcy9EYXRhX0RlZmluaXRpb24uaHRtbCNDb21wb3NpdGlvbiI+V2hhdCBp
cyB0aGlzPzwvYT4KPC9mb250Pgo8L3RkPgo8dGQgYWxpZ249InJpZ2h0Ij4KPGZvbnQgZmFjZT0i
VmVyZGFuYSIgc2l6ZT0iMSI+JSBvZiBOZXQgQXNzZXRzPC9mb250Pgo8L3RkPgo8dGQ+CjxpbWcg
c3JjPSJpbS9zcGFjZXIuZ2lmIiBoZWlnaHQ9IjEiIHdpZHRoPSIxIiAvPgo8L3RkPgo8dGQgY29s
c3Bhbj0iMiIgcm93c3Bhbj0iMTIiIHZhbGlnbj0idG9wIj4KPEE+CjxpbWcgd2lkdGg9IjE1NCIg
aGVpZ2h0PSIxNTQiIHNyYz0iJiN4QTtodHRwOi8vaW0ubW9ybmluZ3N0YXIuY29tL2dyYXBoL0Fz
c2V0QWxsb2NhdGlvbi9TUFVTQTA0QjdILnBuZyYjeEE7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgLz4KPC9BPgo8L3RkPgo8L3RyPgo8dHI+Cjx0
ZCBjb2xzcGFuPSI1Ij4KPGltZyBzcmM9ImltL3NwYWNlci5naWYiIGhlaWdodD0iNiIgd2lkdGg9
IjEiIC8+CjwvdGQ+CjwvdHI+Cjx0cj4KPHRkPgo8aW1nIGhlaWdodD0iMTAiIHNyYz0iaW0vQnVs
bGV0QUFDYXNoLmdpZiIgd2lkdGg9IjEwIiAvPgo8L3RkPgo8dGQgYWxpZ249ImxlZnQiIHZhbGln
bj0idG9wIj4KPGltZyBzcmM9ImltL3NwYWNlci5naWYiIGhlaWdodD0iMSIgd2lkdGg9IjEiIC8+
CjwvdGQ+Cjx0ZCBjbGFzcz0ibXNEYXRhIj4KPGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMSI+
Q2FzaDwvZm9udD4KPC90ZD4KPHRkIGFsaWduPSJyaWdodCIgY2xhc3M9Im1zRGF0YSI+Cjxmb250
IGZhY2U9IlZlcmRhbmEiIHNpemU9IjEiPjAuMDA8L2ZvbnQ+CjwvdGQ+Cjx0ZCBhbGlnbj0ibGVm
dCIgdmFsaWduPSJ0b3AiPgo8aW1nIHNyYz0iaW0vc3BhY2VyLmdpZiIgaGVpZ2h0PSIxIiB3aWR0
aD0iMSIgLz4KPC90ZD4KPC90cj4KPHRyPgo8dGQ+CjxpbWcgaGVpZ2h0PSIxMCIgc3JjPSJpbS9C
dWxsZXRBQVN0b2Nrcy5naWYiIHdpZHRoPSIxMCIgLz4KPC90ZD4KPHRkIGFsaWduPSJsZWZ0IiB2
YWxpZ249InRvcCI+CjxpbWcgc3JjPSJpbS9zcGFjZXIuZ2lmIiBoZWlnaHQ9IjEiIHdpZHRoPSIx
IiAvPgo8L3RkPgo8dGQgY2xhc3M9Im1zRGF0YSI+Cjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9
IjEiPlN0b2Nrcyo8L2ZvbnQ+CjwvdGQ+Cjx0ZCBhbGlnbj0icmlnaHQiIGNsYXNzPSJtc0RhdGEi
Pgo8Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSIxIj4KPHNjcmlwdD4KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdmFyMSA9IDAuMDAK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2
YXIgdmFyMiA9IDk5LjczCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaWYodmFyMS5sZW5ndGggPSAwKQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3ZhcjE9IjAiO30KCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYo
dmFyMi5sZW5ndGggPSAwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHsgICAgICAgdmFyMj0iMCI7fQoKCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgYU51bSA9ICIi
Kyh2YXIxKyB2YXIyKSsiLjAwIjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBhU3RyID0gYU51bS5zcGxpdCgiLiIpOwog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdmFyIHNuZD1hU3RyWzFdLnN1YnN0cmluZygwLCAyKSsiMDAiCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZk51
bSA9IGFTdHJbMF0rIi4iK3NuZC5zdWJzdHJpbmcoMCwgMikgICAgICA7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1l
bnQud3JpdGUoZk51bSApOwo8L3NjcmlwdD4KPC9mb250Pgo8L3RkPgo8dGQgYWxpZ249ImxlZnQi
IHZhbGlnbj0idG9wIj4KPGltZyBzcmM9ImltL3NwYWNlci5naWYiIGhlaWdodD0iMSIgd2lkdGg9
IjEiIC8+CjwvdGQ+CjwvdHI+Cjx0cj4KPHRkPgo8aW1nIGhlaWdodD0iMTAiIHNyYz0iaW0vQnVs
bGV0QUFCb25kcy5naWYiIHdpZHRoPSIxMCIgLz4KPC90ZD4KPHRkIGFsaWduPSJsZWZ0IiB2YWxp
Z249InRvcCI+CjxpbWcgc3JjPSJpbS9zcGFjZXIuZ2lmIiBoZWlnaHQ9IjEiIHdpZHRoPSIxIiAv
Pgo8L3RkPgo8dGQgY2xhc3M9Im1zRGF0YSI+Cjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9IjEi
PkJvbmRzPC9mb250Pgo8L3RkPgo8dGQgYWxpZ249InJpZ2h0IiBjbGFzcz0ibXNEYXRhIj4KPGZv
bnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMSI+MC4wMDwvZm9udD4KPC90ZD4KPHRkIGFsaWduPSJs
ZWZ0IiB2YWxpZ249InRvcCI+CjxpbWcgc3JjPSJpbS9zcGFjZXIuZ2lmIiBoZWlnaHQ9IjEiIHdp
ZHRoPSIxIiAvPgo8L3RkPgo8L3RyPgo8dHI+Cjx0ZD4KPGltZyBoZWlnaHQ9IjEwIiBzcmM9Imlt
L0J1bGxldEFBT3RoZXIuZ2lmIiB3aWR0aD0iMTAiIC8+CjwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCIg
dmFsaWduPSJ0b3AiPgo8aW1nIHNyYz0iaW0vc3BhY2VyLmdpZiIgaGVpZ2h0PSIxIiB3aWR0aD0i
MSIgLz4KPC90ZD4KPHRkIGNsYXNzPSJtc0RhdGEiPgo8Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXpl
PSIxIj5PdGhlcjwvZm9udD4KPC90ZD4KPHRkIGFsaWduPSJyaWdodCIgY2xhc3M9Im1zRGF0YSI+
Cjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9IjEiPjAuMjc8L2ZvbnQ+CjwvdGQ+Cjx0ZCBhbGln
bj0ibGVmdCIgdmFsaWduPSJ0b3AiPgo8aW1nIHNyYz0iaW0vc3BhY2VyLmdpZiIgaGVpZ2h0PSIx
IiB3aWR0aD0iMSIgLz4KPC90ZD4KPC90cj4KPHRyPgo8dGQgY29sc3Bhbj0iNCI+CjxpbWcgc3Jj
PSJpbS9zcGFjZXIuZ2lmIiBoZWlnaHQ9IjYiIHdpZHRoPSIxIiAvPgo8L3RkPgo8dGQ+CjxpbWcg
c3JjPSJpbS9zcGFjZXIuZ2lmIiBoZWlnaHQ9IjEiIHdpZHRoPSIxIiAvPgo8L3RkPgo8L3RyPgo8
dHI+Cjx0ZCBjb2xzcGFuPSI1Ij4KPGltZyBzcmM9ImltL3NwYWNlci5naWYiIGhlaWdodD0iNiIg
d2lkdGg9IjEiIC8+CjwvdGQ+CjwvdHI+Cjx0cj4KPHRkPgo8aW1nIHNyYz0iaW0vc3BhY2VyLmdp
ZiIgaGVpZ2h0PSIxIiB3aWR0aD0iMSIgLz4KPC90ZD4KPHRkIGNvbHNwYW49IjIiIGNsYXNzPSJt
c0RhdGEiPgo8Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSIxIj4qP0ZvcmVpZ24gKGFzIGEgJSBv
ZiBTdG9ja3MpPC9mb250Pgo8L3RkPgo8dGQgYWxpZ249InJpZ2h0IiBjbGFzcz0ibXNEYXRhIj4K
PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMSI+CjxzY3JpcHQgbGFuZ3VhZ2U9IkphdmFzY3Jp
cHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB2YXIzIAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHZhciB2YXIxID0gOTkuNzMKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB2YXIgdmFyMiA9IDAuMDAKCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaWYodmFyMS5sZW5ndGggPT0gMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZhcjE9MC4wMDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYodmFy
Mi5sZW5ndGggPT0gMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZh
cjIgPSAwLjAwOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHZhcjErdmFyMiA9
PSAwLjAwIHx8IHZhcjEgPT0gMC4wMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHtkb2N1bWVudC53cml0ZSgiMC4wMCIpO30KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgYU51bSA9
ICIiKyh2YXIxLyh2YXIxKyB2YXIyKSkqMTAwLjArIi4wMDAwIjsKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB2YXIgYVN0ciA9IGFOdW0uc3BsaXQoIi4iKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB2YXIgc25kPWFTdHJbMV0uc3Vic3RyaW5nKDAsIDIpKyIwMCIKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZk51bSA9IGFTdHJbMF0rIi4iK3NuZC5z
dWJzdHJpbmcoMCwgMikgICAgIDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGRvY3VtZW50LndyaXRlKGZOdW0gKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2NyaXB0Pgo8L2ZvbnQ+Cjwv
dGQ+Cjx0ZCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPgo8aW1nIHNyYz0iaW0vc3BhY2VyLmdp
ZiIgaGVpZ2h0PSIxIiB3aWR0aD0iMSIgLz4KPC90ZD4KPC90cj4KPHRyPgo8dGQgY29sc3Bhbj0i
NSI+CjxpbWcgc3JjPSJpbS9zcGFjZXIuZ2lmIiBoZWlnaHQ9IjYiIHdpZHRoPSIxIiAvPgo8L3Rk
Pgo8L3RyPgo8dHI+Cjx0ZCBjb2xzcGFuPSI1Ij4KPGltZyBzcmM9ImltL3NwYWNlci5naWYiIGhl
aWdodD0iNiIgd2lkdGg9IjEiIC8+CjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGNvbHNwYW49IjciPgo8
aW1nIHNyYz0iaW0vc3BhY2VyLmdpZiIgaGVpZ2h0PSIyNyIgd2lkdGg9IjEiIC8+CjwvdGQ+Cjwv
dHI+CjwvdGFibGU+CjxzY3JpcHQgbGFuZ3VhZ2U9IkphdmFzY3JpcHQiPgo8IS0tCgpmdW5jdGlv
biBtb250aERhdGUodG9jb252ZXJ0KQp7CiAgICAgICAgdmFyIHN0ck1vbnRoPXRvY29udmVydC5z
dWJzdHJpbmcoNSw3KTsKICAgc3RyTW9udGg9c3RyTW9udGgrIi0iK3RvY29udmVydC5zdWJzdHJp
bmcoMCw0KTsKICAgZG9jdW1lbnQud3JpdGUoc3RyTW9udGgpOwp9CgoKZnVuY3Rpb24gQ29udmVy
dERhdGUodG9jb252ZXJ0KQp7CiAgIHZhciBjb252U3RyaW5nPXRvY29udmVydC5zdWJzdHJpbmco
NSwxMCk7CiAgICAgICAgY29udlN0cmluZz1jb252U3RyaW5nICsiLSIrIHRvY29udmVydC5zdWJz
dHJpbmcoMCw0KTsKICAgZG9jdW1lbnQud3JpdGUoY29udlN0cmluZyk7Cn0KCgotLT4KPC9zY3Jp
cHQ+Cjx0YWJsZSB3aWR0aD0iNTY1IiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFk
ZGluZz0iMCIgYWxpZ249ImNlbnRlciI+Cjx0cj4KPHRkIGNvbHNwYW49IjkiIGJnY29sb3I9IjAw
MDAwMCI+PGltZyBzcmM9ImltL3NwYWNlci5naWYiIGhlaWdodD0iMSIgd2lkdGg9IjEiPjwvaW1n
PjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGNvbHNwYW49IjkiPjxpbWcgc3JjPSJpbS9zcGFjZXIuZ2lm
IiBoZWlnaHQ9IjYiIHdpZHRoPSIxIj48L2ltZz48L3RkPgo8L3RyPgo8dHI+Cjx0ZD48aW1nIHNy
Yz0iaW0vc3BhY2VyLmdpZiIgaGVpZ2h0PSIxIiB3aWR0aD0iMTYiPjwvaW1nPjwvdGQ+Cjx0ZCB2
YWxpZ249InRvcCI+PGltZyBzcmM9ImltL3NwYWNlci5naWYiIGhlaWdodD0iMSIgd2lkdGg9IjUi
PjwvaW1nPjwvdGQ+Cjx0ZCB2YWxpZ249InRvcCIgYWxpZ249InJpZ2h0Ij48aW1nIHNyYz0iaW0v
c3BhY2VyLmdpZiIgaGVpZ2h0PSIxIiB3aWR0aD0iMzAwIj48L2ltZz48L3RkPgo8dGQgdmFsaWdu
PSJ0b3AiIGFsaWduPSJyaWdodCI+PGltZyBzcmM9ImltL3NwYWNlci5naWYiIGhlaWdodD0iMSIg
d2lkdGg9IjUwIj48L2ltZz48L3RkPgo8dGQ+PGltZyBzcmM9ImltL3NwYWNlci5naWYiIGhlaWdo
dD0iMSIgd2lkdGg9IjE5NCI+PC9pbWc+PC90ZD4KPC90cj4KPHRyPgo8dGQgY29sc3Bhbj0iMyIg
dmFsaWduPSJ0b3AiIGNsYXNzPSJtc0NvbEhlYWQiPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9
IjEiPjxiPiBTdG9jayBTZWN0b3JzIDwvYj48YSBocmVmPSJub3Rlcy9EYXRhX0RlZmluaXRpb24u
aHRtbCNTZWN0b3JXZWlnaHRpbmdzIj5XaGF0IAogICAgICAgICAgICBpcyB0aGlzPzwvYT48L2Zv
bnQ+PC90ZD4KPHRkIHZhbGlnbj0idG9wIiBhbGlnbj0icmlnaHQiIGNsYXNzPSJtc1NtYWxsIj48
Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSIxIj48L2ZvbnQ+PC90ZD4KPHRkIHZhbGlnbj0idG9w
IiBhbGlnbj0icmlnaHQiIGNsYXNzPSJtc1NtYWxsIj48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXpl
PSIxIj48Yj4lIG9mIFN0b2NrPC9iPjwvZm9udD48L3RkPgo8L3RyPgo8VFI+CjxURCB3aWR0aD0i
MjIiIGhlaWdodD0iMTgiPgo8SU1HIGhlaWdodD0iMTYiIHNyYz0iaHR0cDovL2ltLm1vcm5pbmdz
dGFyLmNvbS9pbS9JbmZvcm1hdGlvbl9lY28uZ2lmIiB3aWR0aD0iMTYiIC8+CjwvVEQ+Cjx0ZCB2
YWxpZ249InRvcCI+PGltZyBzcmM9ImltL3NwYWNlci5naWYiIGhlaWdodD0iMSIgd2lkdGg9IjUi
PjwvaW1nPjwvdGQ+CjxURCBjb2xzcGFuPSIxIiB3aWR0aD0iMjk1IiBoZWlnaHQ9IjE4Ij4KPEZP
TlQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMSI+CjxCPkluZm9ybWF0aW9uIEVjb25vbXk8L0I+Cjwv
Rk9OVD4KPC9URD4KPFREIHZhbGlnbj0idG9wIiB3aWR0aD0iNTAiIGhlaWdodD0iMTgiIGFsaWdu
PSJyaWdodCI+CjxGT05UIGZhY2U9IlZlcmRhbmEiIHNpemU9IjEiIC8+CjwvVEQ+CjxURCB3aWR0
aD0iMTk0IiBoZWlnaHQ9IjE4IiBhbGlnbj0icmlnaHQiPgo8Rk9OVCBmYWNlPSJWZXJkYW5hIiBz
aXplPSIxIj4KPEI+MTIuNzU8L0I+CjwvRk9OVD4KPC9URD4KPC9UUj4KPFRSPgo8VEQgd2lkdGg9
IjIyIiBoZWlnaHQ9IjE4Ij4KPElNRyBoZWlnaHQ9IjE2IiBzcmM9Imh0dHA6Ly9pbS5tb3JuaW5n
c3Rhci5jb20vaW0vMWJ3X1NvZnR3YXJlLmdpZiIgd2lkdGg9IjE2IiAvPgo8L1REPgo8dGQgdmFs
aWduPSJ0b3AiPjxpbWcgc3JjPSJpbS9zcGFjZXIuZ2lmIiBoZWlnaHQ9IjEiIHdpZHRoPSI1Ij48
L2ltZz48L3RkPgo8VEQgY29sc3Bhbj0iMSIgd2lkdGg9IjI5NSIgaGVpZ2h0PSIxOCI+CjxGT05U
IGZhY2U9IlZlcmRhbmEiIHNpemU9IjEiPgpTb2Z0d2FyZQo8L0ZPTlQ+CjwvVEQ+CjxURCB3aWR0
aD0iNTAiIGhlaWdodD0iMTgiPgo8RElWIGFsaWduPSJyaWdodCI+CjxGT05UIGZhY2U9IlZlcmRh
bmEiIHNpemU9IjEiIC8+CjwvRElWPgo8L1REPgo8VEQgd2lkdGg9IjE5NCIgaGVpZ2h0PSIxOCI+
CjxESVYgYWxpZ249InJpZ2h0Ij4KPEZPTlQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMSI+MC41Njwv
Rk9OVD4KPC9ESVY+CjwvVEQ+CjwvVFI+CjxUUj4KPFREIHdpZHRoPSIyMiIgaGVpZ2h0PSIxOCI+
CjxJTUcgaGVpZ2h0PSIxNiIgc3JjPSJodHRwOi8vaW0ubW9ybmluZ3N0YXIuY29tL2ltLzJid19I
YXJkd2FyZS5naWYiIHdpZHRoPSIxNiIgLz4KPC9URD4KPHRkIHZhbGlnbj0idG9wIj48aW1nIHNy
Yz0iaW0vc3BhY2VyLmdpZiIgaGVpZ2h0PSIxIiB3aWR0aD0iNSI+PC9pbWc+PC90ZD4KPFREIGNv
bHNwYW49IjEiIHdpZHRoPSIyOTUiIGhlaWdodD0iMTgiPgo8Rk9OVCBmYWNlPSJWZXJkYW5hIiBz
aXplPSIxIj4KSGFyZHdhcmUKPC9GT05UPgo8L1REPgo8VEQgd2lkdGg9IjUwIiBoZWlnaHQ9IjE4
Ij4KPERJViBhbGlnbj0icmlnaHQiPgo8Rk9OVCBmYWNlPSJWZXJkYW5hIiBzaXplPSIxIiAvPgo8
L0RJVj4KPC9URD4KPFREIHdpZHRoPSIxOTQiIGhlaWdodD0iMTgiPgo8RElWIGFsaWduPSJyaWdo
dCI+CjxGT05UIGZhY2U9IlZlcmRhbmEiIHNpemU9IjEiPjQuMzY8L0ZPTlQ+CjwvRElWPgo8L1RE
Pgo8L1RSPgo8VFI+CjxURCB3aWR0aD0iMjIiIGhlaWdodD0iMTgiPgo8SU1HIGhlaWdodD0iMTYi
IHNyYz0iaHR0cDovL2ltLm1vcm5pbmdzdGFyLmNvbS9pbS8zYndfTWVkaWEuZ2lmIiB3aWR0aD0i
MTYiIC8+CjwvVEQ+Cjx0ZCB2YWxpZ249InRvcCI+PGltZyBzcmM9ImltL3NwYWNlci5naWYiIGhl
aWdodD0iMSIgd2lkdGg9IjUiPjwvaW1nPjwvdGQ+CjxURCBjb2xzcGFuPSIxIiB3aWR0aD0iMjk1
IiBoZWlnaHQ9IjE4Ij4KPEZPTlQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMSI+Ck1lZGlhCjwvRk9O
VD4KPC9URD4KPFREIHdpZHRoPSI1MCIgaGVpZ2h0PSIxOCI+CjxESVYgYWxpZ249InJpZ2h0Ij4K
PEZPTlQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMSIgLz4KPC9ESVY+CjwvVEQ+CjxURCB3aWR0aD0i
MTk0IiBoZWlnaHQ9IjE4Ij4KPERJViBhbGlnbj0icmlnaHQiPgo8Rk9OVCBmYWNlPSJWZXJkYW5h
IiBzaXplPSIxIj4xLjc4PC9GT05UPgo8L0RJVj4KPC9URD4KPC9UUj4KPFRSPgo8VEQgd2lkdGg9
IjIyIiBoZWlnaHQ9IjE4Ij4KPElNRyBoZWlnaHQ9IjE2IiBzcmM9Imh0dHA6Ly9pbS5tb3JuaW5n
c3Rhci5jb20vaW0vNGJ3X1RlbGNvbW11bmljYXRpb25zLmdpZiIgd2lkdGg9IjE2IiAvPgo8L1RE
Pgo8dGQgdmFsaWduPSJ0b3AiPjxpbWcgc3JjPSJpbS9zcGFjZXIuZ2lmIiBoZWlnaHQ9IjEiIHdp
ZHRoPSI1Ij48L2ltZz48L3RkPgo8VEQgY29sc3Bhbj0iMSIgd2lkdGg9IjI5NSIgaGVpZ2h0PSIx
OCI+CjxGT05UIGZhY2U9IlZlcmRhbmEiIHNpemU9IjEiPgpUZWxlY29tbXVuaWNhdGlvbnMKPC9G
T05UPgo8L1REPgo8VEQgd2lkdGg9IjUwIiBoZWlnaHQ9IjE4Ij4KPERJViBhbGlnbj0icmlnaHQi
Pgo8Rk9OVCBmYWNlPSJWZXJkYW5hIiBzaXplPSIxIiAvPgo8L0RJVj4KPC9URD4KPFREIHdpZHRo
PSIxOTQiIGhlaWdodD0iMTgiPgo8RElWIGFsaWduPSJyaWdodCI+CjxGT05UIGZhY2U9IlZlcmRh
bmEiIHNpemU9IjEiPjYuMDU8L0ZPTlQ+CjwvRElWPgo8L1REPgo8L1RSPgo8dHI+Cjx0ZCBjb2xz
cGFuPSI5Ij48aW1nIHNyYz0iaW0vc3BhY2VyLmdpZiIgaGVpZ2h0PSIzIiB3aWR0aD0iMSI+PC9p
bWc+PC90ZD4KPC90cj4KPHRyPgo8dGQgY29sc3Bhbj0iOSIgYmdjb2xvcj0iY2NjY2NjIj48aW1n
IHNyYz0iaW0vc3BhY2VyLmdpZiIgaGVpZ2h0PSIxIiB3aWR0aD0iMSI+PC9pbWc+PC90ZD4KPC90
cj4KPHRyPgo8dGQgY29sc3Bhbj0iOSI+PGltZyBzcmM9ImltL3NwYWNlci5naWYiIGhlaWdodD0i
MyIgd2lkdGg9IjEiPjwvaW1nPjwvdGQ+CjwvdHI+CjxUUj4KPFREIHdpZHRoPSIyMiIgaGVpZ2h0
PSIxOCI+CjxJTUcgaGVpZ2h0PSIxNiIgc3JjPSJodHRwOi8vaW0ubW9ybmluZ3N0YXIuY29tL2lt
L1NlcnZpY2VfZWNvLmdpZiIgd2lkdGg9IjE2IiAvPgo8L1REPgo8dGQgdmFsaWduPSJ0b3AiPjxp
bWcgc3JjPSJpbS9zcGFjZXIuZ2lmIiBoZWlnaHQ9IjEiIHdpZHRoPSI1Ij48L2ltZz48L3RkPgo8
VEQgY29sc3Bhbj0iMSIgd2lkdGg9IjI5NSIgaGVpZ2h0PSIxOCI+CjxGT05UIGZhY2U9IlZlcmRh
bmEiIHNpemU9IjEiPgo8Qj5TZXJ2aWNlIEVjb25vbXk8L0I+CjwvRk9OVD4KPC9URD4KPFREIHdp
ZHRoPSI1MCIgaGVpZ2h0PSIxOCI+CjxESVYgYWxpZ249InJpZ2h0Ij4KPEZPTlQgZmFjZT0iVmVy
ZGFuYSIgc2l6ZT0iMSI+CjxCIC8+CjwvRk9OVD4KPC9ESVY+CjwvVEQ+CjxURCB3aWR0aD0iMTk0
IiBoZWlnaHQ9IjE4Ij4KPERJViBhbGlnbj0icmlnaHQiPgo8Rk9OVCBmYWNlPSJWZXJkYW5hIiBz
aXplPSIxIj4KPEI+NDMuOTc8L0I+CjwvRk9OVD4KPC9ESVY+CjwvVEQ+CjwvVFI+CjxUUj4KPFRE
IHdpZHRoPSIyMiIgaGVpZ2h0PSIxOCI+CjxJTUcgaGVpZ2h0PSIxNiIgc3JjPSJodHRwOi8vaW0u
bW9ybmluZ3N0YXIuY29tL2ltLzVid19IZWFsdGhjYXJlLmdpZiIgd2lkdGg9IjE2IiAvPgo8L1RE
Pgo8dGQgdmFsaWduPSJ0b3AiPjxpbWcgc3JjPSJpbS9zcGFjZXIuZ2lmIiBoZWlnaHQ9IjEiIHdp
ZHRoPSI1Ij48L2ltZz48L3RkPgo8VEQgY29sc3Bhbj0iMSIgd2lkdGg9IjI5NSIgaGVpZ2h0PSIx
OCI+CjxGT05UIGZhY2U9IlZlcmRhbmEiIHNpemU9IjEiPgpIZWFsdGhjYXJlCjwvRk9OVD4KPC9U
RD4KPFREIHdpZHRoPSI1MCIgaGVpZ2h0PSIxOCI+CjxESVYgYWxpZ249InJpZ2h0Ij4KPEZPTlQg
ZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMSIgLz4KPC9ESVY+CjwvVEQ+CjxURCB3aWR0aD0iMTk0IiBo
ZWlnaHQ9IjE4Ij4KPERJViBhbGlnbj0icmlnaHQiPgo8Rk9OVCBmYWNlPSJWZXJkYW5hIiBzaXpl
PSIxIj42LjQwPC9GT05UPgo8L0RJVj4KPC9URD4KPC9UUj4KPFRSPgo8VEQgd2lkdGg9IjIyIiBo
ZWlnaHQ9IjE4Ij4KPElNRyBoZWlnaHQ9IjE2IiBzcmM9Imh0dHA6Ly9pbS5tb3JuaW5nc3Rhci5j
b20vaW0vNmJ3X0NvbnN1bWVyU2VydmljZXMuZ2lmIiB3aWR0aD0iMTYiIC8+CjwvVEQ+Cjx0ZCB2
YWxpZ249InRvcCI+PGltZyBzcmM9ImltL3NwYWNlci5naWYiIGhlaWdodD0iMSIgd2lkdGg9IjUi
PjwvaW1nPjwvdGQ+CjxURCBjb2xzcGFuPSIxIiB3aWR0aD0iMjk1IiBoZWlnaHQ9IjE4Ij4KPEZP
TlQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMSI+CkNvbnN1bWVyIFNlcnZpY2VzCjwvRk9OVD4KPC9U
RD4KPFREIHdpZHRoPSI1MCIgaGVpZ2h0PSIxOCI+CjxESVYgYWxpZ249InJpZ2h0Ij4KPEZPTlQg
ZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMSIgLz4KPC9ESVY+CjwvVEQ+CjxURCB3aWR0aD0iMTk0IiBo
ZWlnaHQ9IjE4Ij4KPERJViBhbGlnbj0icmlnaHQiPgo8Rk9OVCBmYWNlPSJWZXJkYW5hIiBzaXpl
PSIxIj40Ljc0PC9GT05UPgo8L0RJVj4KPC9URD4KPC9UUj4KPFRSPgo8VEQgd2lkdGg9IjIyIiBo
ZWlnaHQ9IjE4Ij4KPElNRyBoZWlnaHQ9IjE2IiBzcmM9Imh0dHA6Ly9pbS5tb3JuaW5nc3Rhci5j
b20vaW0vN2J3X0J1c2luZXNzU2VydmljZXMuZ2lmIiB3aWR0aD0iMTYiIC8+CjwvVEQ+Cjx0ZCB2
YWxpZ249InRvcCI+PGltZyBzcmM9ImltL3NwYWNlci5naWYiIGhlaWdodD0iMSIgd2lkdGg9IjUi
PjwvaW1nPjwvdGQ+CjxURCBjb2xzcGFuPSIxIiB3aWR0aD0iMjk1IiBoZWlnaHQ9IjE4Ij4KPEZP
TlQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMSI+CkJ1c2luZXNzIFNlcnZpY2VzCjwvRk9OVD4KPC9U
RD4KPFREIHdpZHRoPSI1MCIgaGVpZ2h0PSIxOCI+CjxESVYgYWxpZ249InJpZ2h0Ij4KPEZPTlQg
ZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMSIgLz4KPC9ESVY+CjwvVEQ+CjxURCB3aWR0aD0iMTk0IiBo
ZWlnaHQ9IjE4Ij4KPERJViBhbGlnbj0icmlnaHQiPgo8Rk9OVCBmYWNlPSJWZXJkYW5hIiBzaXpl
PSIxIj40Ljc4PC9GT05UPgo8L0RJVj4KPC9URD4KPC9UUj4KPFRSPgo8VEQgd2lkdGg9IjIyIiBo
ZWlnaHQ9IjE4Ij4KPElNRyBoZWlnaHQ9IjE2IiBzcmM9Imh0dHA6Ly9pbS5tb3JuaW5nc3Rhci5j
b20vaW0vOGJ3X0ZpbmFuY2lhbFNlcnZpY2VzLmdpZiIgd2lkdGg9IjE2IiAvPgo8L1REPgo8dGQg
dmFsaWduPSJ0b3AiPjxpbWcgc3JjPSJpbS9zcGFjZXIuZ2lmIiBoZWlnaHQ9IjEiIHdpZHRoPSI1
Ij48L2ltZz48L3RkPgo8VEQgY29sc3Bhbj0iMSIgd2lkdGg9IjI5NSIgaGVpZ2h0PSIxOCI+CjxG
T05UIGZhY2U9IlZlcmRhbmEiIHNpemU9IjEiPgpGaW5hbmNpYWwgU2VydmljZXMKPC9GT05UPgo8
L1REPgo8VEQgd2lkdGg9IjUwIiBoZWlnaHQ9IjE4Ij4KPERJViBhbGlnbj0icmlnaHQiPgo8Rk9O
VCBmYWNlPSJWZXJkYW5hIiBzaXplPSIxIiAvPgo8L0RJVj4KPC9URD4KPFREIHdpZHRoPSIxOTQi
IGhlaWdodD0iMTgiPgo8RElWIGFsaWduPSJyaWdodCI+CjxGT05UIGZhY2U9IlZlcmRhbmEiIHNp
emU9IjEiPjI4LjA1PC9GT05UPgo8L0RJVj4KPC9URD4KPC9UUj4KPHRyPgo8dGQgY29sc3Bhbj0i
OSI+PGltZyBzcmM9ImltL3NwYWNlci5naWYiIGhlaWdodD0iMyIgd2lkdGg9IjEiPjwvaW1nPjwv
dGQ+CjwvdHI+Cjx0cj4KPHRkIGNvbHNwYW49IjkiIGJnY29sb3I9ImNjY2NjYyI+PGltZyBzcmM9
ImltL3NwYWNlci5naWYiIGhlaWdodD0iMSIgd2lkdGg9IjEiPjwvaW1nPjwvdGQ+CjwvdHI+Cjx0
cj4KPHRkIGNvbHNwYW49IjkiPjxpbWcgc3JjPSJpbS9zcGFjZXIuZ2lmIiBoZWlnaHQ9IjMiIHdp
ZHRoPSIxIj48L2ltZz48L3RkPgo8L3RyPgo8VFI+CjxURCB3aWR0aD0iMjIiIGhlaWdodD0iMTgi
Pgo8SU1HIGhlaWdodD0iMTYiIHNyYz0iaHR0cDovL2ltLm1vcm5pbmdzdGFyLmNvbS9pbS9NYW51
ZmFjdHVyaW5nX2Vjby5naWYiIHdpZHRoPSIxNiIgLz4KPC9URD4KPHRkIHZhbGlnbj0idG9wIj48
aW1nIHNyYz0iaW0vc3BhY2VyLmdpZiIgaGVpZ2h0PSIxIiB3aWR0aD0iNSI+PC9pbWc+PC90ZD4K
PFREIGNvbHNwYW49IjEiIHdpZHRoPSIyOTUiIGhlaWdodD0iMTgiPgo8Rk9OVCBmYWNlPSJWZXJk
YW5hIiBzaXplPSIxIj4KPEI+TWFudWZhY3R1cmluZyBFY29ub215PC9CPgo8L0ZPTlQ+CjwvVEQ+
CjxURCB3aWR0aD0iNTAiIGhlaWdodD0iMTgiPgo8RElWIGFsaWduPSJyaWdodCI+CjxGT05UIGZh
Y2U9IlZlcmRhbmEiIHNpemU9IjEiPgo8QiAvPgo8L0ZPTlQ+CjwvRElWPgo8L1REPgo8VEQgd2lk
dGg9IjE5NCIgaGVpZ2h0PSIxOCI+CjxESVYgYWxpZ249InJpZ2h0Ij4KPEZPTlQgZmFjZT0iVmVy
ZGFuYSIgc2l6ZT0iMSI+CjxCPjQyLjIwPC9CPgo8L0ZPTlQ+CjwvRElWPgo8L1REPgo8L1RSPgo8
VFI+CjxURCB3aWR0aD0iMjIiIGhlaWdodD0iMTgiPgo8SU1HIGhlaWdodD0iMTYiIHNyYz0iaHR0
cDovL2ltLm1vcm5pbmdzdGFyLmNvbS9pbS85YndfQ29uc3VtZXJHb29kcy5naWYiIHdpZHRoPSIx
NiIgLz4KPC9URD4KPHRkIHZhbGlnbj0idG9wIj48aW1nIHNyYz0iaW0vc3BhY2VyLmdpZiIgaGVp
Z2h0PSIxIiB3aWR0aD0iNSI+PC9pbWc+PC90ZD4KPFREIGNvbHNwYW49IjEiIHdpZHRoPSIyOTUi
IGhlaWdodD0iMTgiPgo8Rk9OVCBmYWNlPSJWZXJkYW5hIiBzaXplPSIxIj4KQ29uc3VtZXIgR29v
ZHMKPC9GT05UPgo8L1REPgo8VEQgd2lkdGg9IjUwIiBoZWlnaHQ9IjE4Ij4KPERJViBhbGlnbj0i
cmlnaHQiPgo8Rk9OVCBmYWNlPSJWZXJkYW5hIiBzaXplPSIxIiAvPgo8L0RJVj4KPC9URD4KPFRE
IHdpZHRoPSIxOTQiIGhlaWdodD0iMTgiPgo8RElWIGFsaWduPSJyaWdodCI+CjxGT05UIGZhY2U9
IlZlcmRhbmEiIHNpemU9IjEiPjEyLjk2PC9GT05UPgo8L0RJVj4KPC9URD4KPC9UUj4KPFRSPgo8
VEQgd2lkdGg9IjIyIiBoZWlnaHQ9IjE4Ij4KPElNRyBoZWlnaHQ9IjE2IiBzcmM9Imh0dHA6Ly9p
bS5tb3JuaW5nc3Rhci5jb20vaW0vMTBid19JbmR1c3RyaWFsTWF0ZXJpYWxzLmdpZiIgd2lkdGg9
IjE2IiAvPgo8L1REPgo8dGQgdmFsaWduPSJ0b3AiPjxpbWcgc3JjPSJpbS9zcGFjZXIuZ2lmIiBo
ZWlnaHQ9IjEiIHdpZHRoPSI1Ij48L2ltZz48L3RkPgo8VEQgY29sc3Bhbj0iMSIgd2lkdGg9IjI5
NSIgaGVpZ2h0PSIxOCI+CjxGT05UIGZhY2U9IlZlcmRhbmEiIHNpemU9IjEiPgpJbmR1c3RyaWFs
IEdvb2RzCjwvRk9OVD4KPC9URD4KPFREIHdpZHRoPSI1MCIgaGVpZ2h0PSIxOCI+CjxESVYgYWxp
Z249InJpZ2h0Ij4KPEZPTlQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iMSIgLz4KPC9ESVY+CjwvVEQ+
CjxURCB3aWR0aD0iMTk0IiBoZWlnaHQ9IjE4Ij4KPERJViBhbGlnbj0icmlnaHQiPgo8Rk9OVCBm
YWNlPSJWZXJkYW5hIiBzaXplPSIxIj4xNy4xMDwvRk9OVD4KPC9ESVY+CjwvVEQ+CjwvVFI+CjxU
Uj4KPFREIHdpZHRoPSIyMiIgaGVpZ2h0PSIxOCI+CjxJTUcgaGVpZ2h0PSIxNiIgc3JjPSJodHRw
Oi8vaW0ubW9ybmluZ3N0YXIuY29tL2ltLzExYndfRW5lcmd5LmdpZiIgd2lkdGg9IjE2IiAvPgo8
L1REPgo8dGQgdmFsaWduPSJ0b3AiPjxpbWcgc3JjPSJpbS9zcGFjZXIuZ2lmIiBoZWlnaHQ9IjEi
IHdpZHRoPSI1Ij48L2ltZz48L3RkPgo8VEQgY29sc3Bhbj0iMSIgd2lkdGg9IjI5NSIgaGVpZ2h0
PSIxOCI+CjxGT05UIGZhY2U9IlZlcmRhbmEiIHNpemU9IjEiPgpFbmVyZ3kKPC9GT05UPgo8L1RE
Pgo8VEQgd2lkdGg9IjUwIiBoZWlnaHQ9IjE4Ij4KPERJViBhbGlnbj0icmlnaHQiPgo8Rk9OVCBm
YWNlPSJWZXJkYW5hIiBzaXplPSIxIiAvPgo8L0RJVj4KPC9URD4KPFREIHdpZHRoPSIxOTQiIGhl
aWdodD0iMTgiPgo8RElWIGFsaWduPSJyaWdodCI+CjxGT05UIGZhY2U9IlZlcmRhbmEiIHNpemU9
IjEiPjcuNDE8L0ZPTlQ+CjwvRElWPgo8L1REPgo8L1RSPgo8VFI+CjxURCB3aWR0aD0iMjIiIGhl
aWdodD0iMTgiPgo8SU1HIGhlaWdodD0iMTYiIHNyYz0iaHR0cDovL2ltLm1vcm5pbmdzdGFyLmNv
bS9pbS8xMmJ3X1V0aWxpdGllcy5naWYiIHdpZHRoPSIxNiIgLz4KPC9URD4KPHRkIHZhbGlnbj0i
dG9wIj48aW1nIHNyYz0iaW0vc3BhY2VyLmdpZiIgaGVpZ2h0PSIxIiB3aWR0aD0iNSI+PC9pbWc+
PC90ZD4KPFREIGNvbHNwYW49IjEiIHdpZHRoPSIyOTUiIGhlaWdodD0iMTgiPgo8Rk9OVCBmYWNl
PSJWZXJkYW5hIiBzaXplPSIxIj4KVXRpbGl0aWVzCjwvRk9OVD4KPC9URD4KPFREIHdpZHRoPSI1
MCIgaGVpZ2h0PSIxOCI+CjxESVYgYWxpZ249InJpZ2h0Ij4KPEZPTlQgZmFjZT0iVmVyZGFuYSIg
c2l6ZT0iMSIgLz4KPC9ESVY+CjwvVEQ+CjxURCB3aWR0aD0iMTk0IiBoZWlnaHQ9IjE4Ij4KPERJ
ViBhbGlnbj0icmlnaHQiPgo8Rk9OVCBmYWNlPSJWZXJkYW5hIiBzaXplPSIxIj40LjczPC9GT05U
Pgo8L0RJVj4KPC9URD4KPC9UUj4KPHRyPgo8dGQgY29sc3Bhbj0iNSI+PGltZyBzcmM9ImltL3Nw
YWNlci5naWYiIGhlaWdodD0iMjciIHdpZHRoPSIxIj48L2ltZz48L3RkPgo8L3RyPgo8L3RhYmxl
Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>18711</attachid>
            <date>2008-01-26 16:00:25 -0800</date>
            <delta_ts>2008-01-26 22:15:35 -0800</delta_ts>
            <desc>reduced fragment</desc>
            <filename>webkitbug reduce.html</filename>
            <type>text/html</type>
            <size>479</size>
            <attacher name="Steve Nicolai">snicolaitv</attacher>
            
              <data encoding="base64">PHRhYmxlIHdpZHRoPSI1NjUiIGJvcmRlcj0iMSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5n
PSIwIiBhbGlnbj0iY2VudGVyIj4KPHRyPgo8dGQgdmFsaWduPSJ0b3AiPgpUb3AgUmlnaHQKPC90
ZD4KPHRkIHJvd3NwYW49IjIiIHZhbGlnbj0idG9wIj4KPGltZyB3aWR0aD0iMTU0IiBoZWlnaHQ9
IjE1NCIgc3JjPSJodHRwOi8vaW0ubW9ybmluZ3N0YXIuY29tL2dyYXBoL0Fzc2V0QWxsb2NhdGlv
bi9TUFVTQTA0QjdILnBuZyIgLz4KPC90ZD4KPC90cj4KPHRyPgo8dGQgY29sc3Bhbj0iMiI+Cjxp
bWcgc3JjPSJpbS9zcGFjZXIuZ2lmIiBoZWlnaHQ9IjEiIHdpZHRoPSIxIiAvPgo8L3RkPgo8L3Ry
Pgo8dHI+Cjx0ZD5TaG91bGQgYmUgYmVsb3cgdGhlIGNpcmNsZTwvdGQ+Cjx0ZCBiZ2NvbG9yPSIw
MDAwMDAiPjxpbWcgc3JjPSJpbS9zcGFjZXIuZ2lmIiBoZWlnaHQ9IjEiIHdpZHRoPSIxIj48L2lt
Zz48L3RkPgo8L3RyPgo8L3RhYmxlPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>18728</attachid>
            <date>2008-01-27 15:38:42 -0800</date>
            <delta_ts>2012-06-29 11:32:02 -0700</delta_ts>
            <desc>A patch for the problem</desc>
            <filename>16811patch</filename>
            <type>text/plain</type>
            <size>627</size>
            <attacher name="Steve Nicolai">snicolaitv</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmNwcAkocmV2aXNpb24g
Mjk4MTApCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMzQsNyArMzM0LDcgQEAKICAgICAgICAgZm9yIChpbnQgYyA9IDA7IGMg
PCB0b3RhbENvbHM7IGMrKykgewogICAgICAgICAgICAgQ2VsbFN0cnVjdCBjdXJyZW50ID0gY2Vs
bEF0KHIsIGMpOwogICAgICAgICAgICAgY2VsbCA9IGN1cnJlbnQuY2VsbDsKLSAgICAgICAgICAg
IGlmICghY2VsbCB8fCBjdXJyZW50LmluQ29sU3BhbikKKyAgICAgICAgICAgIGlmICghY2VsbCB8
fCAoY3VycmVudC5pbkNvbFNwYW4gJiYgY2VsbC0+cm93U3BhbigpID09IDEpKQogICAgICAgICAg
ICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgaWYgKHIgPCBtX2dyaWRSb3dzIC0gMSAmJiBj
ZWxsQXQociArIDEsIGMpLmNlbGwgPT0gY2VsbCkKICAgICAgICAgICAgICAgICBjb250aW51ZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150222</attachid>
            <date>2012-06-29 11:32:25 -0700</date>
            <delta_ts>2012-07-10 14:39:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-16811-20120630053152.patch</filename>
            <type>text/plain</type>
            <size>8637</size>
            <attacher name="Pravin D">pravind.2k4</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyMTU3NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA2LTI5ICBQcmF2aW4g
RCAgPHByYXZpbmQuMms0QGdtYWlsLmNvbT4KKworICAgICAgICBUYWJsZSB3aXRoIGltYWdlIGlu
IGNlbGwgc3Bhbm5pbmcgbXVsdGlwbGUgcm93cyBhbmQgY29sdW1ucyB0b28gc2hvcnQgZm9yIGlt
YWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjgx
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBw
b3NpdGlvbiBvZiB0aGUgcm93IHIgaXMgZ2l2ZW4gYnkgcG9zaXRpb24gb2Ygcm93IHItMSArIG1h
eCBoZWlnaHQgb2YgdGhlIGNlbGxzIHByZXNlbnQgaW4gcm93IHItMS4gSWYgYSBjZWxsIGhhcyBy
b3dzcGFuID4gMSBhbmQgZG9lcyBub3QKKyAgICAgICAgZW5kIGluIHRoZSByb3cgci0xLCBpdCBp
cyBub3QgaW5jbHVkZWQgaW4gdGhlIGNhbGN1bGF0aW9uLiBPbiB0aGUgb3RoZXIgaGFuZCBpZiB0
aGVyZSBpcyBhIGNlbGwgd2l0aCByb3dzcGFuID4gMSBhbmQgZW5kcyBpbiByb3cgci0xIHRoZW4g
dGhlIGhlaWdodCAKKyAgICAgICAgdGhpcyBoZWlnaHQgaXMgdGFrZW4gaW50byBjYWxjdWxhdGlv
bi4gSW4gb3VyIGNhc2UgdGhlIHItMSBoYXMgYSBjZWxsIHdoaWNoIGhhcyAyIG92ZXJsYXBwaW5n
IGNlbGxzLCBvbmUgd2l0aCBjb2xzcGFuID4gMSBhbmQgb3RoZXIgd2l0aCByb3dzcGFuID4gMQor
ICAgICAgICBhbmQgcm93c3BhbiBlbmRzIGluIHItMS4gT25seSB0aGUgcHJpbWFyeSBjZWxsKGxh
c3QgY2VsbCBhZGRlZCkgd2FzIGJlaW5nIGNvbnNpZGVyZWQgZm9yIGNhbGN1bGF0aW5nIHRoZSBw
b3NpdGlvbiBvZiB0aGUgcm93IHItMS4KKyAgICAgICAgCisKKyAgICAgICAgVGVzdDogZmFzdC90
YWJsZS9sYXN0LWNlbGwtb2Ytcm93c3Bhbi1vdmVybGFwcGluZy1jb2xzcGFuLWNlbGwuaHRtbAor
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJUYWJsZVNlY3Rpb246OmNhbGNSb3dMb2dpY2FsSGVpZ2h0KToKKyAgICAg
ICAgQ2hhbmdlZCB0aGUgZnVuY3Rpb24gdG8gdXNlIGFsbCB0aGUgY2VsbHMgcHJlc2VudCBpbiBh
dCBhIGdpdmVuIHBvc2l0aW9uIChyb3csIGNvbCkgdG8gY2FsbCB0aGUgcG9zaXRpb24gYW5kIGhl
aWdodCBvZiByb3dzIG9mIHRoZSB0YWJsZS4KKwogMjAxMi0wNi0yOSAgRXJpYyBQZW5uZXIgIDxl
cGVubmVyQGdvb2dsZS5jb20+CiAKICAgICAgICAgW2Nocm9taXVtXSBBZGRpbmcgUHJpb3JpdGl6
ZWRUZXh0dXJlIGFuZCByZXBsYWNpbmcgQ29udGVudHNUZXh0dXJlTWFuYWdlcgpJbmRleDogU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5jcHAJKHJldmlz
aW9uIDEyMTUyOCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rp
b24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNDAsNDEgKzM0MCw0MyBAQCBpbnQgUmVuZGVyVGFi
bGVTZWN0aW9uOjpjYWxjUm93TG9naWNhbEhlCiAKICAgICAgICAgZm9yICh1bnNpZ25lZCBjID0g
MDsgYyA8IHRvdGFsQ29sczsgYysrKSB7CiAgICAgICAgICAgICBDZWxsU3RydWN0JiBjdXJyZW50
ID0gY2VsbEF0KHIsIGMpOwotICAgICAgICAgICAgY2VsbCA9IGN1cnJlbnQucHJpbWFyeUNlbGwo
KTsKLQotICAgICAgICAgICAgaWYgKCFjZWxsIHx8IGN1cnJlbnQuaW5Db2xTcGFuKQotICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgICAgICAvLyBGSVhNRTogV2UgYXJlIGFsd2F5
cyBhZGRpbmcgdGhlIGhlaWdodCBvZiBhIHJvd3NwYW4gdG8gdGhlIGxhc3Qgcm93cyB3aGljaCBk
b2Vzbid0IG1hdGNoCi0gICAgICAgICAgICAvLyBvdGhlciBicm93c2Vycy4gU2VlIHdlYmtpdC5v
cmcvYi81MjE4NSBmb3IgZXhhbXBsZS4KLSAgICAgICAgICAgIGlmICgoY2VsbC0+cm93SW5kZXgo
KSArIGNlbGwtPnJvd1NwYW4oKSAtIDEpICE9IHIpCi0gICAgICAgICAgICAgICAgY29udGludWU7
Ci0KLSAgICAgICAgICAgIC8vIEZvciByb3cgc3Bhbm5pbmcgY2VsbHMsIHxyfCBpcyB0aGUgbGFz
dCByb3cgaW4gdGhlIHNwYW4uCi0gICAgICAgICAgICB1bnNpZ25lZCBjZWxsU3RhcnRSb3cgPSBj
ZWxsLT5yb3dJbmRleCgpOwotCi0gICAgICAgICAgICBpZiAoY2VsbC0+aGFzT3ZlcnJpZGVIZWln
aHQoKSkgewotICAgICAgICAgICAgICAgIGlmICghc3RhdGVQdXNoZXIuZGlkUHVzaCgpKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIC8vIFRlY2huaWNhbGx5LCB3ZSBzaG91bGQgYWxzbyBwdXNoIHN0
YXRlIGZvciB0aGUgcm93LCBidXQgc2luY2UKLSAgICAgICAgICAgICAgICAgICAgLy8gcm93cyBk
b24ndCBwdXNoIGEgY29vcmRpbmF0ZSB0cmFuc2Zvcm0sIHRoYXQncyBub3QgbmVjZXNzYXJ5Lgot
ICAgICAgICAgICAgICAgICAgICBzdGF0ZVB1c2hlci5wdXNoKHRoaXMsIGxvY2F0aW9uT2Zmc2V0
KCkpOworICAgICAgICAgICAgCisgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwg
Y3VycmVudC5jZWxscy5zaXplKCk7IGkrKykgeworICAgICAgICAgICAgICAgIGNlbGwgPSBjdXJy
ZW50LmNlbGxzW2ldOworICAgICAgICAgICAgICAgIGlmIChjdXJyZW50LmluQ29sU3BhbiAmJiBj
ZWxsLT5yb3dTcGFuKCkgPT0gMSkKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAg
ICAgICAgICAgICAgICAvLyBGSVhNRTogV2UgYXJlIGFsd2F5cyBhZGRpbmcgdGhlIGhlaWdodCBv
ZiBhIHJvd3NwYW4gdG8gdGhlIGxhc3Qgcm93cyB3aGljaCBkb2Vzbid0IG1hdGNoCisgICAgICAg
ICAgICAgICAgLy8gb3RoZXIgYnJvd3NlcnMuIFNlZSB3ZWJraXQub3JnL2IvNTIxODUgZm9yIGV4
YW1wbGUuCisgICAgICAgICAgICAgICAgaWYgKChjZWxsLT5yb3dJbmRleCgpICsgY2VsbC0+cm93
U3BhbigpIC0gMSkgIT0gcikKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAg
ICAgICAgICAgICAvLyBGb3Igcm93IHNwYW5uaW5nIGNlbGxzLCB8cnwgaXMgdGhlIGxhc3Qgcm93
IGluIHRoZSBzcGFuLgorICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNlbGxTdGFydFJvdyA9IGNl
bGwtPnJvd0luZGV4KCk7CisKKyAgICAgICAgICAgICAgICBpZiAoY2VsbC0+aGFzT3ZlcnJpZGVI
ZWlnaHQoKSkgeworICAgICAgICAgICAgICAgICAgICBpZiAoIXN0YXRlUHVzaGVyLmRpZFB1c2go
KSkgeworICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGVjaG5pY2FsbHksIHdlIHNob3VsZCBh
bHNvIHB1c2ggc3RhdGUgZm9yIHRoZSByb3csIGJ1dCBzaW5jZQorICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gcm93cyBkb24ndCBwdXNoIGEgY29vcmRpbmF0ZSB0cmFuc2Zvcm0sIHRoYXQncyBu
b3QgbmVjZXNzYXJ5LgorICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGVQdXNoZXIucHVzaCh0
aGlzLCBsb2NhdGlvbk9mZnNldCgpKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgICAgICAgICBjZWxsLT5jbGVhckludHJpbnNpY1BhZGRpbmcoKTsKKyAgICAgICAgICAgICAg
ICAgICAgY2VsbC0+Y2xlYXJPdmVycmlkZVNpemUoKTsKKyAgICAgICAgICAgICAgICAgICAgY2Vs
bC0+c2V0Q2hpbGROZWVkc0xheW91dCh0cnVlLCBNYXJrT25seVRoaXMpOworICAgICAgICAgICAg
ICAgICAgICBjZWxsLT5sYXlvdXRJZk5lZWRlZCgpOwogICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICAgICBjZWxsLT5jbGVhckludHJpbnNpY1BhZGRpbmcoKTsKLSAgICAgICAgICAgICAg
ICBjZWxsLT5jbGVhck92ZXJyaWRlU2l6ZSgpOwotICAgICAgICAgICAgICAgIGNlbGwtPnNldENo
aWxkTmVlZHNMYXlvdXQodHJ1ZSwgTWFya09ubHlUaGlzKTsKLSAgICAgICAgICAgICAgICBjZWxs
LT5sYXlvdXRJZk5lZWRlZCgpOwotICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBpbnQgY2Vs
bExvZ2ljYWxIZWlnaHQgPSBjZWxsLT5sb2dpY2FsSGVpZ2h0Rm9yUm93U2l6aW5nKCk7Ci0gICAg
ICAgICAgICBtX3Jvd1Bvc1tyICsgMV0gPSBtYXgobV9yb3dQb3NbciArIDFdLCBtX3Jvd1Bvc1tj
ZWxsU3RhcnRSb3ddICsgY2VsbExvZ2ljYWxIZWlnaHQpOworICAgICAgICAgICAgICAgIGludCBj
ZWxsTG9naWNhbEhlaWdodCA9IGNlbGwtPmxvZ2ljYWxIZWlnaHRGb3JSb3dTaXppbmcoKTsKKyAg
ICAgICAgICAgICAgICBtX3Jvd1Bvc1tyICsgMV0gPSBtYXgobV9yb3dQb3NbciArIDFdLCBtX3Jv
d1Bvc1tjZWxsU3RhcnRSb3ddICsgY2VsbExvZ2ljYWxIZWlnaHQpOwogCi0gICAgICAgICAgICAv
LyBmaW5kIG91dCB0aGUgYmFzZWxpbmUKLSAgICAgICAgICAgIEVWZXJ0aWNhbEFsaWduIHZhID0g
Y2VsbC0+c3R5bGUoKS0+dmVydGljYWxBbGlnbigpOwotICAgICAgICAgICAgaWYgKHZhID09IEJB
U0VMSU5FIHx8IHZhID09IFRFWFRfQk9UVE9NIHx8IHZhID09IFRFWFRfVE9QIHx8IHZhID09IFNV
UEVSIHx8IHZhID09IFNVQiB8fCB2YSA9PSBMRU5HVEgpIHsKLSAgICAgICAgICAgICAgICBMYXlv
dXRVbml0IGJhc2VsaW5lUG9zaXRpb24gPSBjZWxsLT5jZWxsQmFzZWxpbmVQb3NpdGlvbigpOwot
ICAgICAgICAgICAgICAgIGlmIChiYXNlbGluZVBvc2l0aW9uID4gY2VsbC0+Ym9yZGVyQmVmb3Jl
KCkgKyBjZWxsLT5wYWRkaW5nQmVmb3JlKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgbV9ncmlk
W2NlbGxTdGFydFJvd10uYmFzZWxpbmUgPSBtYXgobV9ncmlkW2NlbGxTdGFydFJvd10uYmFzZWxp
bmUsIGJhc2VsaW5lUG9zaXRpb24gLSBjZWxsLT5pbnRyaW5zaWNQYWRkaW5nQmVmb3JlKCkpOwot
ICAgICAgICAgICAgICAgICAgICBiYXNlbGluZURlc2NlbnQgPSBtYXgoYmFzZWxpbmVEZXNjZW50
LCBtX3Jvd1Bvc1tjZWxsU3RhcnRSb3ddICsgY2VsbExvZ2ljYWxIZWlnaHQgLSAoYmFzZWxpbmVQ
b3NpdGlvbiAtIGNlbGwtPmludHJpbnNpY1BhZGRpbmdCZWZvcmUoKSkpOworICAgICAgICAgICAg
ICAgIC8vIGZpbmQgb3V0IHRoZSBiYXNlbGluZQorICAgICAgICAgICAgICAgIEVWZXJ0aWNhbEFs
aWduIHZhID0gY2VsbC0+c3R5bGUoKS0+dmVydGljYWxBbGlnbigpOworICAgICAgICAgICAgICAg
IGlmICh2YSA9PSBCQVNFTElORSB8fCB2YSA9PSBURVhUX0JPVFRPTSB8fCB2YSA9PSBURVhUX1RP
UCB8fCB2YSA9PSBTVVBFUiB8fCB2YSA9PSBTVUIgfHwgdmEgPT0gTEVOR1RIKSB7CisgICAgICAg
ICAgICAgICAgICAgIExheW91dFVuaXQgYmFzZWxpbmVQb3NpdGlvbiA9IGNlbGwtPmNlbGxCYXNl
bGluZVBvc2l0aW9uKCk7CisgICAgICAgICAgICAgICAgICAgIGlmIChiYXNlbGluZVBvc2l0aW9u
ID4gY2VsbC0+Ym9yZGVyQmVmb3JlKCkgKyBjZWxsLT5wYWRkaW5nQmVmb3JlKCkpIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIG1fZ3JpZFtjZWxsU3RhcnRSb3ddLmJhc2VsaW5lID0gbWF4KG1f
Z3JpZFtjZWxsU3RhcnRSb3ddLmJhc2VsaW5lLCBiYXNlbGluZVBvc2l0aW9uIC0gY2VsbC0+aW50
cmluc2ljUGFkZGluZ0JlZm9yZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJhc2VsaW5l
RGVzY2VudCA9IG1heChiYXNlbGluZURlc2NlbnQsIG1fcm93UG9zW2NlbGxTdGFydFJvd10gKyBj
ZWxsTG9naWNhbEhlaWdodCAtIChiYXNlbGluZVBvc2l0aW9uIC0gY2VsbC0+aW50cmluc2ljUGFk
ZGluZ0JlZm9yZSgpKSk7CisgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9
CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyMTU3NCkKKysr
IExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisy
MDEyLTA2LTI5ICBQcmF2aW4gRCAgPHByYXZpbmQuMms0QGdtYWlsLmNvbT4KKworICAgICAgICBU
YWJsZSB3aXRoIGltYWdlIGluIGNlbGwgc3Bhbm5pbmcgbXVsdGlwbGUgcm93cyBhbmQgY29sdW1u
cyB0b28gc2hvcnQgZm9yIGltYWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNjgxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogZmFzdC90YWJsZS9sYXN0LWNlbGwtb2Ytcm93c3Bhbi1vdmVybGFwcGlu
Zy1jb2xzcGFuLWNlbGwtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90YWJs
ZS9sYXN0LWNlbGwtb2Ytcm93c3Bhbi1vdmVybGFwcGluZy1jb2xzcGFuLWNlbGwuaHRtbDogQWRk
ZWQuCisKIDIwMTItMDYtMjkgIFRvbnkgQ2hhbmcgIDx0b255QGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBbR1RLXSBFbmFibGUgQ1NTIGdyaWQgbGF5b3V0IExheW91dFRlc3RzIG9uIEdUSysKSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3QvdGFibGUvbGFzdC1jZWxsLW9mLXJvd3NwYW4tb3ZlcmxhcHBp
bmctY29sc3Bhbi1jZWxsLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC90YWJsZS9sYXN0LWNlbGwtb2Ytcm93c3Bhbi1vdmVybGFwcGluZy1jb2xzcGFuLWNlbGwt
ZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvdGFibGUvbGFz
dC1jZWxsLW9mLXJvd3NwYW4tb3ZlcmxhcHBpbmctY29sc3Bhbi1jZWxsLWV4cGVjdGVkLmh0bWwJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjAgQEAKKzx0aXRsZT4gUmVmIFRlc3QgZm9yIGJ1ZyBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4MTEgPC90aXRsZT4KKwor
PHA+IFRoZSBIZWlnaHQgb2YgdGhlIGdyZWVuIHJlY3RhbmdsZSBzaG91bGQgYmUgc2FtZSBhcyB0
aGUgeWVsbG93IHJlY3RhbmdsZSBhbmQgdGhlIGdyZWVuIHJlY3RhbmdsZSBtdXN0IGJlIGNvbnRh
aW5lZAord2l0aGluIHRoZSB5ZWxsb3cgcmVjdGFuZ2xlLgorPC9wPgorPHRhYmxlICBzdHlsZT0i
Ym9yZGVyOjFweCBzb2xpZCB5ZWxsb3c7IiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAi
IGFsaWduPSJjZW50ZXIiPgorPHRyPgorPHRkPgorPGltZyB3aWR0aD0iMjAiIGhlaWdodD0iNjAi
IC8+Cis8L3RkPgorPHRkICByb3dzcGFuPSIyIiA+Cis8aW1nICB3aWR0aD0iMjAiIGhlaWdodD0i
MTIwIiBzdHlsZT0iYm9yZGVyOjFweCBzb2xpZCBncmVlbjsiLz4KKzwvdGQ+Cis8L3RyPgorPHRy
PgorPHRkICA+Cis8aW1nIHNyYz0iIiBoZWlnaHQ9IjIwIiAgLz4KKzwvdGQ+Cis8L3RyPgorPC90
YWJsZT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L3RhYmxlL2xhc3QtY2VsbC1vZi1yb3dzcGFuLW92ZXJsYXBwaW5nLWNvbHNwYW4tY2VsbC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvdGFibGUvbGFzdC1jZWxsLW9mLXJvd3Nw
YW4tb3ZlcmxhcHBpbmctY29sc3Bhbi1jZWxsLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L3RhYmxlL2xhc3QtY2VsbC1vZi1yb3dzcGFuLW92ZXJsYXBwaW5nLWNvbHNwYW4t
Y2VsbC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIxIEBACis8dGl0bGU+IFRlc3QgY2Fz
ZSBmb3IgYnVnIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjgxMSA8
L3RpdGxlPgorCis8cD4gVGhlIEhlaWdodCBvZiB0aGUgZ3JlZW4gcmVjdGFuZ2xlIHNob3VsZCBi
ZSBzYW1lIGFzIHRoZSB5ZWxsb3cgcmVjdGFuZ2xlIGFuZCB0aGUgZ3JlZW4gcmVjdGFuZ2xlIG11
c3QgYmUgY29udGFpbmVkCit3aXRoaW4gdGhlIHllbGxvdyByZWN0YW5nbGUuCis8L3A+Cis8dGFi
bGUgIHN0eWxlPSJib3JkZXI6MXB4IHNvbGlkIHllbGxvdzsiIGNlbGxzcGFjaW5nPSIwIiBjZWxs
cGFkZGluZz0iMCIgYWxpZ249ImNlbnRlciI+Cis8dHI+Cis8dGQ+Cis8aW1nIHdpZHRoPSIyMCIg
aGVpZ2h0PSI2MCIgLz4KKzwvdGQ+Cis8dGQgIHJvd3NwYW49IjIiID4KKzxpbWcgIHdpZHRoPSIy
MCIgaGVpZ2h0PSIxMjAiIHN0eWxlPSJib3JkZXI6MXB4IHNvbGlkIGdyZWVuOyIvPgorPC90ZD4K
KzwvdHI+Cis8dHI+Cis8dGQgIGNvbHNwYW49IjIiPgorPGltZyBzcmM9IiIgaGVpZ2h0PSIyMCIg
IC8+Cis8L3RkPgorPC90cj4KKzwvdGFibGU+CisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>151527</attachid>
            <date>2012-07-10 14:39:44 -0700</date>
            <delta_ts>2012-07-12 12:14:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-16811-20120711083916.patch</filename>
            <type>text/plain</type>
            <size>9519</size>
            <attacher name="Pravin D">pravind.2k4</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyMjI2MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDEyLTA3LTEwICBQcmF2aW4g
RCAgPHByYXZpbmQuMms0QGdtYWlsLmNvbT4KKworICAgICAgICBSb3cgc2l6ZS9wb3NpdGlvbiBp
cyB3cm9uZ2x5IGNhbGN1bGF0ZWQgd2hlbiB0YWJsZSBoYXZpbmcgb3ZlcmxhcHBpbmcgcm93c3Bh
biBjZWxsIGFuZCBjb2xzcGFuIGNlbGwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE2ODExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhlIGhlaWdodCBvZiBhIHJvdyBpcyBjYWxjdWxhdGVkIGJ5IHRha2lu
ZyB0aGUgbWF4IGhlaWdodCBvZiB0aGUgY2VsbHMgY29udGFpbmVkIGluIGl0LiBXaGVuIGEgcm93
IGNvbnRhaW5zIGEgcm93U3BhbiBjZWxsIGFuZCBpZiAKKyAgICAgICAgdGhpcyByb3cgaXMgbm90
IHRoZSBsYXN0IHJvdyBvZiB0aGUgY2VsbCwgdGhlbiBpdHMgaGVpZ2h0IGlzIG1heCBoZWlnaHQg
b2Ygb3RoZXIgbm9uIHJvd1NwYW4gY2VsbHMuIElmIHRoZSByb3cgaXMgdGhlIGxhc3Qgcm93IG9m
IHRoZSAKKyAgICAgICAgcm93U3BhbiBjZWxsLCB0aGVuIHVzaW5nIHRoZSBjb250cmFpbnQgbGFp
ZCBieSBDU1MyLjEgc3BlYyAiRm9yIGEgcm93U3BhbiBjZWxsLCB0aGUgc3VtIG9mIHRoZSByb3cg
aGVpZ2h0cyBpbnZvbHZlZCBtdXN0IGJlIGdyZWF0IAorICAgICAgICBlbm91Z2ggdG8gZW5jb21w
YXNzIHRoZSBjZWxsIHNwYW5uaW5nIHRoZSByb3dzIiwgdGhlIGxhc3QgcmVtYWluaW5nIGhlaWdo
dCBvZiB0aGUgcm93U3BhbihjZWxsIGhlaWdodCBtaW51cyBoZWlnaHRzIG9mIG90aGVyIGludm9s
dmVkIHJvd3MpIGlzIHRha2VuCisgICAgICAgIGludG8gY29uc2lkZXJhdGlvbiB3aGlsZSBjYWxj
dWxhdGluZyB0aGUgaGVpZ2h0IG9mIHRoaXMgcm93LgorCisgICAgICAgIEN1cnJlbnRseSB3aGVu
IGNhbGN1bGF0aW5nIHRoZSBoZWlnaHQgb2YgdGhlIHJvdyB3ZSBhcmUgb25seSB1c2luZyB0aGUg
aGVpZ2h0IG9mIHRoZSBwcmltYXJ5IGNlbGwgYXQgcG9zaXRpb24gKHJvdywgY29sKS4gSG93ZXZl
ciB3aGVuIGEgcm93IGhhcyBjb2xTcGFuIGNlbGwgYW5kIAorICAgICAgICByb3dTcGFuLCB0aGV5
IG1pZ2h0IG92ZXJsYXAuIEluIHN1Y2ggYSBzaXR1dGlvbiBhcyBvbmx5IHRoZSBwcmltYXJ5IGNl
bGxzIGhlaWdodCBpcyBjb25zaWRlcmVkLCB0aGUgaGVpZ2h0IG9mIHRoZSByb3cgd2lsbCBiZSBj
YWxjdWxhdGVkIHdvcm5nbHkgaWYgdGhlIG90aGVyCisgICAgICAgIG92ZXJsYXBwaW5nIGNlbGwg
aGFzIGdyZWF0ZXIgaGVpZ2h0LiBUaHVzIGFsbCB0aGUgb3ZlcmxhcHBpbmcgY2VsbCBhdCBwb3Np
dGlvbiAocm93LCBjb2wpIG11c3QgYmUgY29uc2lkZXJlZCB3aGlsZSBjYWxjdWxhdGluZyB0aGUg
aGVpZ2h0IG9mIGEgcm93LgorCisKKyAgICAgICAgVGVzdDogZmFzdC90YWJsZS9sYXN0LWNlbGwt
b2Ytcm93c3Bhbi1vdmVybGFwcGluZy1jb2xzcGFuLWNlbGwuaHRtbAorCisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJU
YWJsZVNlY3Rpb246OmNhbGNSb3dMb2dpY2FsSGVpZ2h0KToKKyAgICAgICAgQ2hhbmdlZCB0aGUg
ZnVuY3Rpb24gdG8gdXNlIGFsbCB0aGUgY2VsbHMgcHJlc2VudCBpbiBhdCBhIGdpdmVuIHBvc2l0
aW9uIChyb3csIGNvbCkgdG8gY2FsbCB0aGUgcG9zaXRpb24gYW5kIGhlaWdodCBvZiByb3dzIG9m
IHRoZSB0YWJsZS4KKwogMjAxMi0wNy0xMCAgWGlhbnpodSBXYW5nICA8d2FuZ3hpYW56aHVAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bS1BbmRyb2lkXSBVc2UgZGVmYXVsdCBmb250
IHJlbmRlcmluZyBzdHlsZXMgaW4gRm9udFBsYXRmb3JtRGF0YTo6cXVlcnlTeXN0ZW1Gb3JSZW5k
ZXJTdHlsZSgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0
aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFi
bGVTZWN0aW9uLmNwcAkocmV2aXNpb24gMTIyMjMxKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRhYmxlU2VjdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0MCw0MSArMzQw
LDQ0IEBAIGludCBSZW5kZXJUYWJsZVNlY3Rpb246OmNhbGNSb3dMb2dpY2FsSGUKIAogICAgICAg
ICBmb3IgKHVuc2lnbmVkIGMgPSAwOyBjIDwgdG90YWxDb2xzOyBjKyspIHsKICAgICAgICAgICAg
IENlbGxTdHJ1Y3QmIGN1cnJlbnQgPSBjZWxsQXQociwgYyk7Ci0gICAgICAgICAgICBjZWxsID0g
Y3VycmVudC5wcmltYXJ5Q2VsbCgpOwogCi0gICAgICAgICAgICBpZiAoIWNlbGwgfHwgY3VycmVu
dC5pbkNvbFNwYW4pCi0gICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBpIDwgY3VycmVudC5jZWxscy5zaXplKCk7IGkrKykgeworICAgICAg
ICAgICAgICAgIGNlbGwgPSBjdXJyZW50LmNlbGxzW2ldOwogCi0gICAgICAgICAgICAvLyBGSVhN
RTogV2UgYXJlIGFsd2F5cyBhZGRpbmcgdGhlIGhlaWdodCBvZiBhIHJvd3NwYW4gdG8gdGhlIGxh
c3Qgcm93cyB3aGljaCBkb2Vzbid0IG1hdGNoCi0gICAgICAgICAgICAvLyBvdGhlciBicm93c2Vy
cy4gU2VlIHdlYmtpdC5vcmcvYi81MjE4NSBmb3IgZXhhbXBsZS4KLSAgICAgICAgICAgIGlmICgo
Y2VsbC0+cm93SW5kZXgoKSArIGNlbGwtPnJvd1NwYW4oKSAtIDEpICE9IHIpCi0gICAgICAgICAg
ICAgICAgY29udGludWU7Ci0KLSAgICAgICAgICAgIC8vIEZvciByb3cgc3Bhbm5pbmcgY2VsbHMs
IHxyfCBpcyB0aGUgbGFzdCByb3cgaW4gdGhlIHNwYW4uCi0gICAgICAgICAgICB1bnNpZ25lZCBj
ZWxsU3RhcnRSb3cgPSBjZWxsLT5yb3dJbmRleCgpOwotCi0gICAgICAgICAgICBpZiAoY2VsbC0+
aGFzT3ZlcnJpZGVIZWlnaHQoKSkgewotICAgICAgICAgICAgICAgIGlmICghc3RhdGVQdXNoZXIu
ZGlkUHVzaCgpKSB7Ci0gICAgICAgICAgICAgICAgICAgIC8vIFRlY2huaWNhbGx5LCB3ZSBzaG91
bGQgYWxzbyBwdXNoIHN0YXRlIGZvciB0aGUgcm93LCBidXQgc2luY2UKLSAgICAgICAgICAgICAg
ICAgICAgLy8gcm93cyBkb24ndCBwdXNoIGEgY29vcmRpbmF0ZSB0cmFuc2Zvcm0sIHRoYXQncyBu
b3QgbmVjZXNzYXJ5LgotICAgICAgICAgICAgICAgICAgICBzdGF0ZVB1c2hlci5wdXNoKHRoaXMs
IGxvY2F0aW9uT2Zmc2V0KCkpOworICAgICAgICAgICAgICAgIGlmIChjdXJyZW50LmluQ29sU3Bh
biAmJiBjZWxsLT5yb3dTcGFuKCkgPT0gMSkKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7
CisKKyAgICAgICAgICAgICAgICAvLyBGSVhNRTogV2UgYXJlIGFsd2F5cyBhZGRpbmcgdGhlIGhl
aWdodCBvZiBhIHJvd3NwYW4gdG8gdGhlIGxhc3Qgcm93cyB3aGljaCBkb2Vzbid0IG1hdGNoCisg
ICAgICAgICAgICAgICAgLy8gb3RoZXIgYnJvd3NlcnMuIFNlZSB3ZWJraXQub3JnL2IvNTIxODUg
Zm9yIGV4YW1wbGUuCisgICAgICAgICAgICAgICAgaWYgKChjZWxsLT5yb3dJbmRleCgpICsgY2Vs
bC0+cm93U3BhbigpIC0gMSkgIT0gcikKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisK
KyAgICAgICAgICAgICAgICAvLyBGb3Igcm93IHNwYW5uaW5nIGNlbGxzLCB8cnwgaXMgdGhlIGxh
c3Qgcm93IGluIHRoZSBzcGFuLgorICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNlbGxTdGFydFJv
dyA9IGNlbGwtPnJvd0luZGV4KCk7CisKKyAgICAgICAgICAgICAgICBpZiAoY2VsbC0+aGFzT3Zl
cnJpZGVIZWlnaHQoKSkgeworICAgICAgICAgICAgICAgICAgICBpZiAoIXN0YXRlUHVzaGVyLmRp
ZFB1c2goKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGVjaG5pY2FsbHksIHdlIHNo
b3VsZCBhbHNvIHB1c2ggc3RhdGUgZm9yIHRoZSByb3csIGJ1dCBzaW5jZQorICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gcm93cyBkb24ndCBwdXNoIGEgY29vcmRpbmF0ZSB0cmFuc2Zvcm0sIHRo
YXQncyBub3QgbmVjZXNzYXJ5LgorICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGVQdXNoZXIu
cHVzaCh0aGlzLCBsb2NhdGlvbk9mZnNldCgpKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgICAgICAgICBjZWxsLT5jbGVhckludHJpbnNpY1BhZGRpbmcoKTsKKyAgICAgICAg
ICAgICAgICAgICAgY2VsbC0+Y2xlYXJPdmVycmlkZVNpemUoKTsKKyAgICAgICAgICAgICAgICAg
ICAgY2VsbC0+c2V0Q2hpbGROZWVkc0xheW91dCh0cnVlLCBNYXJrT25seVRoaXMpOworICAgICAg
ICAgICAgICAgICAgICBjZWxsLT5sYXlvdXRJZk5lZWRlZCgpOwogICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgICAgICBjZWxsLT5jbGVhckludHJpbnNpY1BhZGRpbmcoKTsKLSAgICAgICAg
ICAgICAgICBjZWxsLT5jbGVhck92ZXJyaWRlU2l6ZSgpOwotICAgICAgICAgICAgICAgIGNlbGwt
PnNldENoaWxkTmVlZHNMYXlvdXQodHJ1ZSwgTWFya09ubHlUaGlzKTsKLSAgICAgICAgICAgICAg
ICBjZWxsLT5sYXlvdXRJZk5lZWRlZCgpOwotICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBp
bnQgY2VsbExvZ2ljYWxIZWlnaHQgPSBjZWxsLT5sb2dpY2FsSGVpZ2h0Rm9yUm93U2l6aW5nKCk7
Ci0gICAgICAgICAgICBtX3Jvd1Bvc1tyICsgMV0gPSBtYXgobV9yb3dQb3NbciArIDFdLCBtX3Jv
d1Bvc1tjZWxsU3RhcnRSb3ddICsgY2VsbExvZ2ljYWxIZWlnaHQpOworICAgICAgICAgICAgICAg
IGludCBjZWxsTG9naWNhbEhlaWdodCA9IGNlbGwtPmxvZ2ljYWxIZWlnaHRGb3JSb3dTaXppbmco
KTsKKyAgICAgICAgICAgICAgICBtX3Jvd1Bvc1tyICsgMV0gPSBtYXgobV9yb3dQb3NbciArIDFd
LCBtX3Jvd1Bvc1tjZWxsU3RhcnRSb3ddICsgY2VsbExvZ2ljYWxIZWlnaHQpOwogCi0gICAgICAg
ICAgICAvLyBmaW5kIG91dCB0aGUgYmFzZWxpbmUKLSAgICAgICAgICAgIEVWZXJ0aWNhbEFsaWdu
IHZhID0gY2VsbC0+c3R5bGUoKS0+dmVydGljYWxBbGlnbigpOwotICAgICAgICAgICAgaWYgKHZh
ID09IEJBU0VMSU5FIHx8IHZhID09IFRFWFRfQk9UVE9NIHx8IHZhID09IFRFWFRfVE9QIHx8IHZh
ID09IFNVUEVSIHx8IHZhID09IFNVQiB8fCB2YSA9PSBMRU5HVEgpIHsKLSAgICAgICAgICAgICAg
ICBMYXlvdXRVbml0IGJhc2VsaW5lUG9zaXRpb24gPSBjZWxsLT5jZWxsQmFzZWxpbmVQb3NpdGlv
bigpOwotICAgICAgICAgICAgICAgIGlmIChiYXNlbGluZVBvc2l0aW9uID4gY2VsbC0+Ym9yZGVy
QmVmb3JlKCkgKyBjZWxsLT5wYWRkaW5nQmVmb3JlKCkpIHsKLSAgICAgICAgICAgICAgICAgICAg
bV9ncmlkW2NlbGxTdGFydFJvd10uYmFzZWxpbmUgPSBtYXgobV9ncmlkW2NlbGxTdGFydFJvd10u
YmFzZWxpbmUsIGJhc2VsaW5lUG9zaXRpb24gLSBjZWxsLT5pbnRyaW5zaWNQYWRkaW5nQmVmb3Jl
KCkpOwotICAgICAgICAgICAgICAgICAgICBiYXNlbGluZURlc2NlbnQgPSBtYXgoYmFzZWxpbmVE
ZXNjZW50LCBtX3Jvd1Bvc1tjZWxsU3RhcnRSb3ddICsgY2VsbExvZ2ljYWxIZWlnaHQgLSAoYmFz
ZWxpbmVQb3NpdGlvbiAtIGNlbGwtPmludHJpbnNpY1BhZGRpbmdCZWZvcmUoKSkpOworICAgICAg
ICAgICAgICAgIC8vIGZpbmQgb3V0IHRoZSBiYXNlbGluZQorICAgICAgICAgICAgICAgIEVWZXJ0
aWNhbEFsaWduIHZhID0gY2VsbC0+c3R5bGUoKS0+dmVydGljYWxBbGlnbigpOworICAgICAgICAg
ICAgICAgIGlmICh2YSA9PSBCQVNFTElORSB8fCB2YSA9PSBURVhUX0JPVFRPTSB8fCB2YSA9PSBU
RVhUX1RPUCB8fCB2YSA9PSBTVVBFUiB8fCB2YSA9PSBTVUIgfHwgdmEgPT0gTEVOR1RIKSB7Cisg
ICAgICAgICAgICAgICAgICAgIExheW91dFVuaXQgYmFzZWxpbmVQb3NpdGlvbiA9IGNlbGwtPmNl
bGxCYXNlbGluZVBvc2l0aW9uKCk7CisgICAgICAgICAgICAgICAgICAgIGlmIChiYXNlbGluZVBv
c2l0aW9uID4gY2VsbC0+Ym9yZGVyQmVmb3JlKCkgKyBjZWxsLT5wYWRkaW5nQmVmb3JlKCkpIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JpZFtjZWxsU3RhcnRSb3ddLmJhc2VsaW5lID0g
bWF4KG1fZ3JpZFtjZWxsU3RhcnRSb3ddLmJhc2VsaW5lLCBiYXNlbGluZVBvc2l0aW9uIC0gY2Vs
bC0+aW50cmluc2ljUGFkZGluZ0JlZm9yZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJh
c2VsaW5lRGVzY2VudCA9IG1heChiYXNlbGluZURlc2NlbnQsIG1fcm93UG9zW2NlbGxTdGFydFJv
d10gKyBjZWxsTG9naWNhbEhlaWdodCAtIChiYXNlbGluZVBvc2l0aW9uIC0gY2VsbC0+aW50cmlu
c2ljUGFkZGluZ0JlZm9yZSgpKSk7CisgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KSW5kZXg6IExheW91dFRlc3RzL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyMjI2
MCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEz
IEBACisyMDEyLTA3LTEwICBQcmF2aW4gRCAgPHByYXZpbmQuMms0QGdtYWlsLmNvbT4KKworICAg
ICAgICBSb3cgc2l6ZS9wb3NpdGlvbiBpcyB3cm9uZ2x5IGNhbGN1bGF0ZWQgd2hlbiB0YWJsZSBo
YXZpbmcgb3ZlcmxhcHBpbmcgcm93c3BhbiBjZWxsIGFuZCBjb2xzcGFuIGNlbGwKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODExCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L3RhYmxlL2xhc3Qt
Y2VsbC1vZi1yb3dzcGFuLW92ZXJsYXBwaW5nLWNvbHNwYW4tY2VsbC1leHBlY3RlZC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L3RhYmxlL2xhc3QtY2VsbC1vZi1yb3dzcGFuLW92ZXJsYXBw
aW5nLWNvbHNwYW4tY2VsbC5odG1sOiBBZGRlZC4KKwogMjAxMi0wNy0xMCAgQWRhbSBCYXJ0aCAg
PGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlbW92ZSBMYXlvdXRUZXN0Q29udHJvbGxl
ciBhbmQgV2ViS2l0VGVzdFJ1bm5lciBzdXBwb3J0IGZvciBIaXhpZTc2IFdlYlNvY2tldHMKSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3QvdGFibGUvbGFzdC1jZWxsLW9mLXJvd3NwYW4tb3ZlcmxhcHBp
bmctY29sc3Bhbi1jZWxsLWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC90YWJsZS9sYXN0LWNlbGwtb2Ytcm93c3Bhbi1vdmVybGFwcGluZy1jb2xzcGFuLWNlbGwt
ZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvdGFibGUvbGFz
dC1jZWxsLW9mLXJvd3NwYW4tb3ZlcmxhcHBpbmctY29sc3Bhbi1jZWxsLWV4cGVjdGVkLmh0bWwJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjUgQEAKKzxodG1sPgorPGhlYWQ+CisgIDx0aXRsZT4g
UmVmIFRlc3QgZm9yIGJ1ZyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTY4MTEgPC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorICA8cD4gVGhlIEhlaWdodCBvZiB0aGUg
Z3JlZW4gcmVjdGFuZ2xlIHNob3VsZCBiZSBzYW1lIGFzIHRoZSB5ZWxsb3cgcmVjdGFuZ2xlIGFu
ZCB0aGUgZ3JlZW4gcmVjdGFuZ2xlIG11c3QgYmUgY29udGFpbmVkCisgICAgICB3aXRoaW4gdGhl
IHllbGxvdyByZWN0YW5nbGUuCisgIDwvcD4KKyAgPHRhYmxlICBzdHlsZT0iYm9yZGVyOjFweCBz
b2xpZCB5ZWxsb3c7IiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiIGFsaWduPSJjZW50
ZXIiPgorICAgIDx0cj4KKyAgICAgIDx0ZD4KKyAgICAgICAgPGltZyB3aWR0aD0iMjAiIGhlaWdo
dD0iNjAiIC8+CisgICAgICA8L3RkPgorICAgICAgPHRkICByb3dzcGFuPSIyIiA+CisgICAgICAg
IDxpbWcgIHdpZHRoPSIyMCIgaGVpZ2h0PSIxMjAiIHN0eWxlPSJib3JkZXI6MXB4IHNvbGlkIGdy
ZWVuOyIvPgorICAgICAgPC90ZD4KKyAgICA8L3RyPgorICAgIDx0cj4KKyAgICAgIDx0ZCAgPgor
ICAgICAgICA8aW1nIHNyYz0iIiBoZWlnaHQ9IjIwIiAgLz4KKyAgICAgIDwvdGQ+CisgICAgPC90
cj4KKyAgPC90YWJsZT4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
dGFibGUvbGFzdC1jZWxsLW9mLXJvd3NwYW4tb3ZlcmxhcHBpbmctY29sc3Bhbi1jZWxsLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9sYXN0LWNlbGwtb2Ytcm93c3Bh
bi1vdmVybGFwcGluZy1jb2xzcGFuLWNlbGwuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRl
c3RzL2Zhc3QvdGFibGUvbGFzdC1jZWxsLW9mLXJvd3NwYW4tb3ZlcmxhcHBpbmctY29sc3Bhbi1j
ZWxsLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjYgQEAKKzxodG1sPgorPGhlYWQ+Cisg
IDx0aXRsZT4gVGVzdCBjYXNlIGZvciBidWcgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE2ODExIDwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgPHA+IFRoZSBIZWln
aHQgb2YgdGhlIGdyZWVuIHJlY3RhbmdsZSBzaG91bGQgYmUgc2FtZSBhcyB0aGUgeWVsbG93IHJl
Y3RhbmdsZSBhbmQgdGhlIGdyZWVuIHJlY3RhbmdsZSBtdXN0IGJlIGNvbnRhaW5lZAorICAgICAg
IHdpdGhpbiB0aGUgeWVsbG93IHJlY3RhbmdsZS4KKyAgPC9wPgorICA8dGFibGUgIHN0eWxlPSJi
b3JkZXI6MXB4IHNvbGlkIHllbGxvdzsiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCIg
YWxpZ249ImNlbnRlciI+CisgICAgPHRyPgorICAgICAgPHRkPgorICAgICAgICA8aW1nIHdpZHRo
PSIyMCIgaGVpZ2h0PSI2MCIgLz4KKyAgICAgIDwvdGQ+CisgICAgICA8dGQgIHJvd3NwYW49IjIi
ID4KKyAgICAgICAgPGltZyAgd2lkdGg9IjIwIiBoZWlnaHQ9IjEyMCIgc3R5bGU9ImJvcmRlcjox
cHggc29saWQgZ3JlZW47Ii8+CisgICAgICA8L3RkPgorICAgIDwvdHI+CisgICAgPHRyPgorICAg
ICAgPHRkICBjb2xzcGFuPSIyIj4KKyAgICAgICAgPGltZyBzcmM9IiIgaGVpZ2h0PSIyMCIgIC8+
CisgICAgICA8L3RkPgorICAgIDwvdHI+CisgIDwvdGFibGU+Cis8L2JvZHk+Cis8L2h0bWw+CisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152019</attachid>
            <date>2012-07-12 12:14:43 -0700</date>
            <delta_ts>2012-07-12 14:46:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-16811-20120713061415.patch</filename>
            <type>text/plain</type>
            <size>9759</size>
            <attacher name="Pravin D">pravind.2k4</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyMjQ5MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA3LTEyICBQcmF2aW4g
RCAgPHByYXZpbmQuMms0QGdtYWlsLmNvbT4KKworICAgICAgICBSb3cgc2l6ZS9wb3NpdGlvbiBp
cyB3cm9uZ2x5IGNhbGN1bGF0ZWQgd2hlbiB0YWJsZSBoYXZpbmcgb3ZlcmxhcHBpbmcgcm93c3Bh
biBjZWxsIGFuZCBjb2xzcGFuIGNlbGwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE2ODExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhlIGhlaWdodCBvZiBhIHJvdyBpcyBjYWxjdWxhdGVkIGJ5IHRha2lu
ZyB0aGUgbWF4IGhlaWdodCBvZiB0aGUgY2VsbHMgY29udGFpbmVkIGluIGl0LiBXaGVuIGEgcm93
IGNvbnRhaW5zIAorICAgICAgICBhIHJvd1NwYW4gY2VsbCBhbmQgaWYgdGhpcyByb3cgaXMgbm90
IHRoZSBsYXN0IHJvdyBvZiB0aGUgY2VsbCwgdGhlbiBpdHMgaGVpZ2h0IGlzIG1heCBoZWlnaHQg
b2Ygb3RoZXIgbm9uIAorICAgICAgICByb3dTcGFuIGNlbGxzLiBJZiB0aGUgcm93IGlzIHRoZSBs
YXN0IHJvdyBvZiB0aGUgcm93U3BhbiBjZWxsLCB0aGVuIHVzaW5nIHRoZSBjb250cmFpbnQgbGFp
ZCBieSBDU1MyLjEgc3BlYyAKKyAgICAgICAgIkZvciBhIHJvd1NwYW4gY2VsbCwgdGhlIHN1bSBv
ZiB0aGUgcm93IGhlaWdodHMgaW52b2x2ZWQgbXVzdCBiZSBncmVhdCBlbm91Z2ggdG8gZW5jb21w
YXNzIHRoZSBjZWxsIHNwYW5uaW5nIHRoZSByb3dzIiwgCisgICAgICAgIHRoZSBsYXN0IHJlbWFp
bmluZyBoZWlnaHQgb2YgdGhlIHJvd1NwYW4oY2VsbCBoZWlnaHQgbWludXMgaGVpZ2h0cyBvZiBv
dGhlciBpbnZvbHZlZCByb3dzKSBpcyB0YWtlbiBpbnRvIGNvbnNpZGVyYXRpb24KKyAgICAgICAg
d2hpbGUgY2FsY3VsYXRpbmcgdGhlIGhlaWdodCBvZiB0aGlzIHJvdy4KKyAgICAgICAgQ3VycmVu
dGx5IHdoZW4gY2FsY3VsYXRpbmcgdGhlIGhlaWdodCBvZiB0aGUgcm93IHdlIGFyZSBvbmx5IHVz
aW5nIHRoZSBoZWlnaHQgb2YgdGhlIHByaW1hcnkgY2VsbCBhdCBwb3NpdGlvbiAocm93LCBjb2wp
LgorICAgICAgICBIb3dldmVyIHdoZW4gYSByb3cgaGFzIGNvbFNwYW4gY2VsbCBhbmQgcm93U3Bh
biwgdGhleSBtaWdodCBvdmVybGFwLiBJbiBzdWNoIGEgc2l0dXRpb24gYXMgb25seSB0aGUgcHJp
bWFyeSBjZWxscyBoZWlnaHQKKyAgICAgICAgaXMgY29uc2lkZXJlZCwgdGhlIGhlaWdodCBvZiB0
aGUgcm93IHdpbGwgYmUgY2FsY3VsYXRlZCB3b3JuZ2x5IGlmIHRoZSBvdGhlciBvdmVybGFwcGlu
ZyBjZWxsIGhhcyBncmVhdGVyIGhlaWdodC4KKyAgICAgICAgVGh1cyBhbGwgdGhlIG92ZXJsYXBw
aW5nIGNlbGwgYXQgcG9zaXRpb24gKHJvdywgY29sKSBtdXN0IGJlIGNvbnNpZGVyZWQgd2hpbGUg
Y2FsY3VsYXRpbmcgdGhlIGhlaWdodCBvZiBhIHJvdy4KKyAKKyAgICAgICAgVGVzdDogZmFzdC90
YWJsZS9sYXN0LWNlbGwtb2Ytcm93c3Bhbi1vdmVybGFwcGluZy1jb2xzcGFuLWNlbGwuaHRtbAor
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJUYWJsZVNlY3Rpb246OmNhbGNSb3dMb2dpY2FsSGVpZ2h0KToKKwogMjAx
Mi0wNy0xMSAgRGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkxMDAwCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmNwcAkocmV2aXNpb24gMTIy
NDIzKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTM0MCw0MSArMzQwLDQyIEBAIGludCBSZW5kZXJUYWJsZVNlY3Rp
b246OmNhbGNSb3dMb2dpY2FsSGUKIAogICAgICAgICBmb3IgKHVuc2lnbmVkIGMgPSAwOyBjIDwg
dG90YWxDb2xzOyBjKyspIHsKICAgICAgICAgICAgIENlbGxTdHJ1Y3QmIGN1cnJlbnQgPSBjZWxs
QXQociwgYyk7Ci0gICAgICAgICAgICBjZWxsID0gY3VycmVudC5wcmltYXJ5Q2VsbCgpOwotCi0g
ICAgICAgICAgICBpZiAoIWNlbGwgfHwgY3VycmVudC5pbkNvbFNwYW4pCi0gICAgICAgICAgICAg
ICAgY29udGludWU7Ci0KLSAgICAgICAgICAgIC8vIEZJWE1FOiBXZSBhcmUgYWx3YXlzIGFkZGlu
ZyB0aGUgaGVpZ2h0IG9mIGEgcm93c3BhbiB0byB0aGUgbGFzdCByb3dzIHdoaWNoIGRvZXNuJ3Qg
bWF0Y2gKLSAgICAgICAgICAgIC8vIG90aGVyIGJyb3dzZXJzLiBTZWUgd2Via2l0Lm9yZy9iLzUy
MTg1IGZvciBleGFtcGxlLgotICAgICAgICAgICAgaWYgKChjZWxsLT5yb3dJbmRleCgpICsgY2Vs
bC0+cm93U3BhbigpIC0gMSkgIT0gcikKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLQotICAg
ICAgICAgICAgLy8gRm9yIHJvdyBzcGFubmluZyBjZWxscywgfHJ8IGlzIHRoZSBsYXN0IHJvdyBp
biB0aGUgc3Bhbi4KLSAgICAgICAgICAgIHVuc2lnbmVkIGNlbGxTdGFydFJvdyA9IGNlbGwtPnJv
d0luZGV4KCk7Ci0KLSAgICAgICAgICAgIGlmIChjZWxsLT5oYXNPdmVycmlkZUhlaWdodCgpKSB7
Ci0gICAgICAgICAgICAgICAgaWYgKCFzdGF0ZVB1c2hlci5kaWRQdXNoKCkpIHsKLSAgICAgICAg
ICAgICAgICAgICAgLy8gVGVjaG5pY2FsbHksIHdlIHNob3VsZCBhbHNvIHB1c2ggc3RhdGUgZm9y
IHRoZSByb3csIGJ1dCBzaW5jZQotICAgICAgICAgICAgICAgICAgICAvLyByb3dzIGRvbid0IHB1
c2ggYSBjb29yZGluYXRlIHRyYW5zZm9ybSwgdGhhdCdzIG5vdCBuZWNlc3NhcnkuCi0gICAgICAg
ICAgICAgICAgICAgIHN0YXRlUHVzaGVyLnB1c2godGhpcywgbG9jYXRpb25PZmZzZXQoKSk7Cisg
ICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgY3VycmVudC5jZWxscy5zaXplKCk7
IGkrKykgeworICAgICAgICAgICAgICAgIGNlbGwgPSBjdXJyZW50LmNlbGxzW2ldOworICAgICAg
ICAgICAgICAgIGlmIChjdXJyZW50LmluQ29sU3BhbiAmJiBjZWxsLT5yb3dTcGFuKCkgPT0gMSkK
KyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgICAgICAvLyBGSVhN
RTogV2UgYXJlIGFsd2F5cyBhZGRpbmcgdGhlIGhlaWdodCBvZiBhIHJvd3NwYW4gdG8gdGhlIGxh
c3Qgcm93cyB3aGljaCBkb2Vzbid0IG1hdGNoCisgICAgICAgICAgICAgICAgLy8gb3RoZXIgYnJv
d3NlcnMuIFNlZSB3ZWJraXQub3JnL2IvNTIxODUgZm9yIGV4YW1wbGUuCisgICAgICAgICAgICAg
ICAgaWYgKChjZWxsLT5yb3dJbmRleCgpICsgY2VsbC0+cm93U3BhbigpIC0gMSkgIT0gcikKKyAg
ICAgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgICAgICAvLyBGb3Igcm93
IHNwYW5uaW5nIGNlbGxzLCB8cnwgaXMgdGhlIGxhc3Qgcm93IGluIHRoZSBzcGFuLgorICAgICAg
ICAgICAgICAgIHVuc2lnbmVkIGNlbGxTdGFydFJvdyA9IGNlbGwtPnJvd0luZGV4KCk7CisKKyAg
ICAgICAgICAgICAgICBpZiAoY2VsbC0+aGFzT3ZlcnJpZGVIZWlnaHQoKSkgeworICAgICAgICAg
ICAgICAgICAgICBpZiAoIXN0YXRlUHVzaGVyLmRpZFB1c2goKSkgeworICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gVGVjaG5pY2FsbHksIHdlIHNob3VsZCBhbHNvIHB1c2ggc3RhdGUgZm9yIHRo
ZSByb3csIGJ1dCBzaW5jZQorICAgICAgICAgICAgICAgICAgICAgICAgLy8gcm93cyBkb24ndCBw
dXNoIGEgY29vcmRpbmF0ZSB0cmFuc2Zvcm0sIHRoYXQncyBub3QgbmVjZXNzYXJ5LgorICAgICAg
ICAgICAgICAgICAgICAgICAgc3RhdGVQdXNoZXIucHVzaCh0aGlzLCBsb2NhdGlvbk9mZnNldCgp
KTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBjZWxsLT5jbGVh
ckludHJpbnNpY1BhZGRpbmcoKTsKKyAgICAgICAgICAgICAgICAgICAgY2VsbC0+Y2xlYXJPdmVy
cmlkZVNpemUoKTsKKyAgICAgICAgICAgICAgICAgICAgY2VsbC0+c2V0Q2hpbGROZWVkc0xheW91
dCh0cnVlLCBNYXJrT25seVRoaXMpOworICAgICAgICAgICAgICAgICAgICBjZWxsLT5sYXlvdXRJ
Zk5lZWRlZCgpOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBjZWxsLT5jbGVh
ckludHJpbnNpY1BhZGRpbmcoKTsKLSAgICAgICAgICAgICAgICBjZWxsLT5jbGVhck92ZXJyaWRl
U2l6ZSgpOwotICAgICAgICAgICAgICAgIGNlbGwtPnNldENoaWxkTmVlZHNMYXlvdXQodHJ1ZSwg
TWFya09ubHlUaGlzKTsKLSAgICAgICAgICAgICAgICBjZWxsLT5sYXlvdXRJZk5lZWRlZCgpOwot
ICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBpbnQgY2VsbExvZ2ljYWxIZWlnaHQgPSBjZWxs
LT5sb2dpY2FsSGVpZ2h0Rm9yUm93U2l6aW5nKCk7Ci0gICAgICAgICAgICBtX3Jvd1Bvc1tyICsg
MV0gPSBtYXgobV9yb3dQb3NbciArIDFdLCBtX3Jvd1Bvc1tjZWxsU3RhcnRSb3ddICsgY2VsbExv
Z2ljYWxIZWlnaHQpOworICAgICAgICAgICAgICAgIGludCBjZWxsTG9naWNhbEhlaWdodCA9IGNl
bGwtPmxvZ2ljYWxIZWlnaHRGb3JSb3dTaXppbmcoKTsKKyAgICAgICAgICAgICAgICBtX3Jvd1Bv
c1tyICsgMV0gPSBtYXgobV9yb3dQb3NbciArIDFdLCBtX3Jvd1Bvc1tjZWxsU3RhcnRSb3ddICsg
Y2VsbExvZ2ljYWxIZWlnaHQpOwogCi0gICAgICAgICAgICAvLyBmaW5kIG91dCB0aGUgYmFzZWxp
bmUKLSAgICAgICAgICAgIEVWZXJ0aWNhbEFsaWduIHZhID0gY2VsbC0+c3R5bGUoKS0+dmVydGlj
YWxBbGlnbigpOwotICAgICAgICAgICAgaWYgKHZhID09IEJBU0VMSU5FIHx8IHZhID09IFRFWFRf
Qk9UVE9NIHx8IHZhID09IFRFWFRfVE9QIHx8IHZhID09IFNVUEVSIHx8IHZhID09IFNVQiB8fCB2
YSA9PSBMRU5HVEgpIHsKLSAgICAgICAgICAgICAgICBMYXlvdXRVbml0IGJhc2VsaW5lUG9zaXRp
b24gPSBjZWxsLT5jZWxsQmFzZWxpbmVQb3NpdGlvbigpOwotICAgICAgICAgICAgICAgIGlmIChi
YXNlbGluZVBvc2l0aW9uID4gY2VsbC0+Ym9yZGVyQmVmb3JlKCkgKyBjZWxsLT5wYWRkaW5nQmVm
b3JlKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgbV9ncmlkW2NlbGxTdGFydFJvd10uYmFzZWxp
bmUgPSBtYXgobV9ncmlkW2NlbGxTdGFydFJvd10uYmFzZWxpbmUsIGJhc2VsaW5lUG9zaXRpb24g
LSBjZWxsLT5pbnRyaW5zaWNQYWRkaW5nQmVmb3JlKCkpOwotICAgICAgICAgICAgICAgICAgICBi
YXNlbGluZURlc2NlbnQgPSBtYXgoYmFzZWxpbmVEZXNjZW50LCBtX3Jvd1Bvc1tjZWxsU3RhcnRS
b3ddICsgY2VsbExvZ2ljYWxIZWlnaHQgLSAoYmFzZWxpbmVQb3NpdGlvbiAtIGNlbGwtPmludHJp
bnNpY1BhZGRpbmdCZWZvcmUoKSkpOworICAgICAgICAgICAgICAgIC8vIGZpbmQgb3V0IHRoZSBi
YXNlbGluZQorICAgICAgICAgICAgICAgIEVWZXJ0aWNhbEFsaWduIHZhID0gY2VsbC0+c3R5bGUo
KS0+dmVydGljYWxBbGlnbigpOworICAgICAgICAgICAgICAgIGlmICh2YSA9PSBCQVNFTElORSB8
fCB2YSA9PSBURVhUX0JPVFRPTSB8fCB2YSA9PSBURVhUX1RPUCB8fCB2YSA9PSBTVVBFUiB8fCB2
YSA9PSBTVUIgfHwgdmEgPT0gTEVOR1RIKSB7CisgICAgICAgICAgICAgICAgICAgIExheW91dFVu
aXQgYmFzZWxpbmVQb3NpdGlvbiA9IGNlbGwtPmNlbGxCYXNlbGluZVBvc2l0aW9uKCk7CisgICAg
ICAgICAgICAgICAgICAgIGlmIChiYXNlbGluZVBvc2l0aW9uID4gY2VsbC0+Ym9yZGVyQmVmb3Jl
KCkgKyBjZWxsLT5wYWRkaW5nQmVmb3JlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIG1f
Z3JpZFtjZWxsU3RhcnRSb3ddLmJhc2VsaW5lID0gbWF4KG1fZ3JpZFtjZWxsU3RhcnRSb3ddLmJh
c2VsaW5lLCBiYXNlbGluZVBvc2l0aW9uIC0gY2VsbC0+aW50cmluc2ljUGFkZGluZ0JlZm9yZSgp
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJhc2VsaW5lRGVzY2VudCA9IG1heChiYXNlbGlu
ZURlc2NlbnQsIG1fcm93UG9zW2NlbGxTdGFydFJvd10gKyBjZWxsTG9naWNhbEhlaWdodCAtIChi
YXNlbGluZVBvc2l0aW9uIC0gY2VsbC0+aW50cmluc2ljUGFkZGluZ0JlZm9yZSgpKSk7CisgICAg
ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0KSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyMjQ5MCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDEyLTA3LTEyICBQcmF2aW4gRCAg
PHByYXZpbmQuMms0QGdtYWlsLmNvbT4KKworICAgICAgICBSb3cgc2l6ZS9wb3NpdGlvbiBpcyB3
cm9uZ2x5IGNhbGN1bGF0ZWQgd2hlbiB0YWJsZSBoYXZpbmcgb3ZlcmxhcHBpbmcgcm93c3BhbiBj
ZWxsIGFuZCBjb2xzcGFuIGNlbGwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE2ODExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBmYXN0L3RhYmxlL2xhc3QtY2VsbC1vZi1yb3dzcGFuLW92ZXJsYXBwaW5n
LWNvbHNwYW4tY2VsbC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RhYmxl
L2xhc3QtY2VsbC1vZi1yb3dzcGFuLW92ZXJsYXBwaW5nLWNvbHNwYW4tY2VsbC5odG1sOiBBZGRl
ZC4KKwogMjAxMi0wNy0xMiAgVy4gSmFtZXMgTWFjTGVhbiAgPHdqbWFjbGVhbkBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBVbnJldmlld2VkIGdhcmRlbmluZy4gUmUtYmFzZWxp
bmUgZXhwZWN0ZWQgdGV4dCBmb3IgZmFzdC9tdWx0aWNvbC90YWJsZS12ZXJ0aWNhbC1hbGlnbi5o
dG1sCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL2xhc3QtY2VsbC1vZi1yb3dzcGFuLW92
ZXJsYXBwaW5nLWNvbHNwYW4tY2VsbC1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3QvdGFibGUvbGFzdC1jZWxsLW9mLXJvd3NwYW4tb3ZlcmxhcHBpbmctY29sc3Bh
bi1jZWxsLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Rh
YmxlL2xhc3QtY2VsbC1vZi1yb3dzcGFuLW92ZXJsYXBwaW5nLWNvbHNwYW4tY2VsbC1leHBlY3Rl
ZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+CisgIDx0aXRsZT4gUmVmIFRlc3QgZm9yIGJ1ZyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4MTEgPC90aXRsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PHA+IDxoND5UZXN0Y2FzZSBmb3IgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE2ODExIj5CdWcgMTY4MTE8L2E+Ljxicj4KK1RoZSB0ZXN0IGNhc2UgY2hl
Y2tzIGlmIHRoZSBoZWlnaHQgYW5kIHBvc2l0aW9uIG9mIHJvd3MgaGF2aW5nIG92ZXJsYXBwaW5n
IHJvd1NwYW4gYW5kIGNvbFNwYW4gY2VsbHMgZ2V0cyBwcm9wZXJseSBjYWxjdWxhdGVkLjwvaDQ+
CitJZiB0aGUgcm93IGhlaWdodC9wb3NpdGlvbiBpcyBwcm9wZXJseSBjYWxjdWxhdGVkIHRoZW4g
dGhlIGhlaWdodCBvZiB0aGUgZ3JlZW4gcmVjdGFuZ2xlIHNob3VsZCBiZSBzYW1lIGFzIHRoZSB5
ZWxsb3cgcmVjdGFuZ2xlIGFuZCB0aGUgZ3JlZW4gcmVjdGFuZ2xlIG11c3QgYmUgY29udGFpbmVk
Cit3aXRoaW4gdGhlIHllbGxvdyByZWN0YW5nbGUuCis8L3A+Cis8dGFibGUgc3R5bGU9ImJvcmRl
cjoxcHggc29saWQgeWVsbG93OyI+CisgIDx0cj4KKyAgICA8dGQ+CisgICAgICA8aW1nIHdpZHRo
PSIyMCIgaGVpZ2h0PSI2MCIvPgorICAgIDwvdGQ+CisgICAgPHRkIHJvd3NwYW49IjIiPgorICAg
ICAgPGltZyB3aWR0aD0iMjAiIGhlaWdodD0iMTIwIiBzdHlsZT0iYm9yZGVyOjFweCBzb2xpZCBn
cmVlbjsiLz4KKyAgICA8L3RkPgorICA8L3RyPgorICA8dHI+CisgICAgPHRkPgorICAgICAgPGlt
ZyBzcmM9IiIgaGVpZ2h0PSIyMCIvPgorICAgIDwvdGQ+CisgIDwvdHI+Cis8L3RhYmxlPgorPC9i
b2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9sYXN0LWNlbGwtb2Yt
cm93c3Bhbi1vdmVybGFwcGluZy1jb2xzcGFuLWNlbGwuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L3RhYmxlL2xhc3QtY2VsbC1vZi1yb3dzcGFuLW92ZXJsYXBwaW5nLWNvbHNw
YW4tY2VsbC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9sYXN0
LWNlbGwtb2Ytcm93c3Bhbi1vdmVybGFwcGluZy1jb2xzcGFuLWNlbGwuaHRtbAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICA8
dGl0bGU+IFRlc3QgY2FzZSBmb3IgYnVnIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNjgxMSA8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8cD4gPGg0PlRlc3RjYXNl
IGZvciA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4
MTEiPkJ1ZyAxNjgxMTwvYT4uPGJyPgorVGhlIHRlc3QgY2FzZSBjaGVja3MgaWYgdGhlIGhlaWdo
dCBhbmQgcG9zaXRpb24gb2Ygcm93cyBoYXZpbmcgb3ZlcmxhcHBpbmcgcm93U3BhbiBhbmQgY29s
U3BhbiBjZWxscyBnZXRzIHByb3Blcmx5IGNhbGN1bGF0ZWQuPC9oND4KK0lmIHRoZSByb3cgaGVp
Z2h0L3Bvc2l0aW9uIGlzIHByb3Blcmx5IGNhbGN1bGF0ZWQgdGhlbiB0aGUgaGVpZ2h0IG9mIHRo
ZSBncmVlbiByZWN0YW5nbGUgc2hvdWxkIGJlIHNhbWUgYXMgdGhlIHllbGxvdyByZWN0YW5nbGUg
YW5kIHRoZSBncmVlbiByZWN0YW5nbGUgbXVzdCBiZSBjb250YWluZWQKK3dpdGhpbiB0aGUgeWVs
bG93IHJlY3RhbmdsZS4KKzwvcD4KKzx0YWJsZSBzdHlsZT0iYm9yZGVyOjFweCBzb2xpZCB5ZWxs
b3c7Ij4KKyAgPHRyPgorICAgIDx0ZD4KKyAgICAgIDxpbWcgd2lkdGg9IjIwIiBoZWlnaHQ9IjYw
Ii8+CisgICAgPC90ZD4KKyAgICA8dGQgcm93c3Bhbj0iMiI+CisgICAgICA8aW1nIHdpZHRoPSIy
MCIgaGVpZ2h0PSIxMjAiIHN0eWxlPSJib3JkZXI6MXB4IHNvbGlkIGdyZWVuOyIvPgorICAgIDwv
dGQ+CisgIDwvdHI+CisgIDx0cj4KKyAgICA8dGQgY29sc3Bhbj0iMiI+CisgICAgICA8aW1nIHNy
Yz0iIiBoZWlnaHQ9IjIwIi8+CisgICAgPC90ZD4KKyAgPC90cj4KKzwvdGFibGU+Cis8L2JvZHk+
Cis8L2h0bWw+CisK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152069</attachid>
            <date>2012-07-12 14:46:07 -0700</date>
            <delta_ts>2012-07-12 15:33:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-16811-20120713084540.patch</filename>
            <type>text/plain</type>
            <size>9602</size>
            <attacher name="Pravin D">pravind.2k4</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyMjUwOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDEyLTA3LTEyICBQcmF2aW4g
RCAgPHByYXZpbmQuMms0QGdtYWlsLmNvbT4KKworICAgICAgICBSb3cgc2l6ZS9wb3NpdGlvbiBp
cyB3cm9uZ2x5IGNhbGN1bGF0ZWQgd2hlbiB0YWJsZSBoYXZpbmcgb3ZlcmxhcHBpbmcgcm93c3Bh
biBjZWxsIGFuZCBjb2xzcGFuIGNlbGwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE2ODExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhlIGhlaWdodCBvZiBhIHJvdyBpcyBjYWxjdWxhdGVkIGJ5IHRha2lu
ZyB0aGUgbWF4IGhlaWdodCBvZiB0aGUgY2VsbHMgY29udGFpbmVkIGluIGl0LiBXaGVuIGEgcm93
IGNvbnRhaW5zCisgICAgICAgIGEgcm93U3BhbiBjZWxsIGFuZCBpZiB0aGlzIHJvdyBpcyBub3Qg
dGhlIGxhc3Qgcm93IG9mIHRoZSBjZWxsLCB0aGVuIGl0cyBoZWlnaHQgaXMgbWF4IGhlaWdodCBv
ZiBvdGhlciBub24KKyAgICAgICAgcm93U3BhbiBjZWxscy4gSWYgdGhlIHJvdyBpcyB0aGUgbGFz
dCByb3cgb2YgdGhlIHJvd1NwYW4gY2VsbCwgdGhlbiB1c2luZyB0aGUgY29udHJhaW50IGxhaWQg
YnkgQ1NTMi4xIHNwZWMKKyAgICAgICAgIkZvciBhIHJvd1NwYW4gY2VsbCwgdGhlIHN1bSBvZiB0
aGUgcm93IGhlaWdodHMgaW52b2x2ZWQgbXVzdCBiZSBncmVhdCBlbm91Z2ggdG8gZW5jb21wYXNz
IHRoZSBjZWxsIHNwYW5uaW5nIHRoZSByb3dzIiwKKyAgICAgICAgdGhlIGxhc3QgcmVtYWluaW5n
IGhlaWdodCBvZiB0aGUgcm93U3BhbihjZWxsIGhlaWdodCBtaW51cyBoZWlnaHRzIG9mIG90aGVy
IGludm9sdmVkIHJvd3MpIGlzIHRha2VuIGludG8gY29uc2lkZXJhdGlvbgorICAgICAgICB3aGls
ZSBjYWxjdWxhdGluZyB0aGUgaGVpZ2h0IG9mIHRoaXMgcm93LgorICAgICAgICBDdXJyZW50bHkg
d2hlbiBjYWxjdWxhdGluZyB0aGUgaGVpZ2h0IG9mIHRoZSByb3cgd2UgYXJlIG9ubHkgdXNpbmcg
dGhlIGhlaWdodCBvZiB0aGUgcHJpbWFyeSBjZWxsIGF0IHBvc2l0aW9uIChyb3csIGNvbCkuCisg
ICAgICAgIEhvd2V2ZXIgd2hlbiBhIHJvdyBoYXMgY29sU3BhbiBjZWxsIGFuZCByb3dTcGFuLCB0
aGV5IG1pZ2h0IG92ZXJsYXAuIEluIHN1Y2ggYSBzaXR1dGlvbiBhcyBvbmx5IHRoZSBwcmltYXJ5
IGNlbGxzIGhlaWdodAorICAgICAgICBpcyBjb25zaWRlcmVkLCB0aGUgaGVpZ2h0IG9mIHRoZSBy
b3cgd2lsbCBiZSBjYWxjdWxhdGVkIHdvcm5nbHkgaWYgdGhlIG90aGVyIG92ZXJsYXBwaW5nIGNl
bGwgaGFzIGdyZWF0ZXIgaGVpZ2h0LgorICAgICAgICBUaHVzIGFsbCB0aGUgb3ZlcmxhcHBpbmcg
Y2VsbCBhdCBwb3NpdGlvbiAocm93LCBjb2wpIG11c3QgYmUgY29uc2lkZXJlZCB3aGlsZSBjYWxj
dWxhdGluZyB0aGUgaGVpZ2h0IG9mIGEgcm93LiAKKworICAgICAgICBUZXN0OiBmYXN0L3RhYmxl
L2xhc3QtY2VsbC1vZi1yb3dzcGFuLW92ZXJsYXBwaW5nLWNvbHNwYW4tY2VsbC5odG1sCisKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRhYmxlU2VjdGlvbjo6Y2FsY1Jvd0xvZ2ljYWxIZWlnaHQpOgorICAgICAgICBG
aXhlZCBmdW5jdGlvbiB0byB1c2UgYWxsIHRoZSBvdmVybGFwcGluZyBjZWxscyBhdCBwb3NpdGlv
bihyb3csIGNvbCkgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQvcG9zaXRpb24gb2Ygcm93cy4KKwog
MjAxMi0wNy0xMiAgT2phbiBWYWZhaSAgPG9qYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIElt
cGxpZWQgbWluaW11bSBzaXplIG9mIGZsZXggaXRlbXMgaXMgbWluLWNvbnRlbnQKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3BwCShyZXZp
c2lvbiAxMjI0OTgpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0
aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQwLDQxICszNDAsNDIgQEAgaW50IFJlbmRlclRh
YmxlU2VjdGlvbjo6Y2FsY1Jvd0xvZ2ljYWxIZQogCiAgICAgICAgIGZvciAodW5zaWduZWQgYyA9
IDA7IGMgPCB0b3RhbENvbHM7IGMrKykgewogICAgICAgICAgICAgQ2VsbFN0cnVjdCYgY3VycmVu
dCA9IGNlbGxBdChyLCBjKTsKLSAgICAgICAgICAgIGNlbGwgPSBjdXJyZW50LnByaW1hcnlDZWxs
KCk7Ci0KLSAgICAgICAgICAgIGlmICghY2VsbCB8fCBjdXJyZW50LmluQ29sU3BhbikKLSAgICAg
ICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICAgICAgLy8gRklYTUU6IFdlIGFyZSBhbHdh
eXMgYWRkaW5nIHRoZSBoZWlnaHQgb2YgYSByb3dzcGFuIHRvIHRoZSBsYXN0IHJvd3Mgd2hpY2gg
ZG9lc24ndCBtYXRjaAotICAgICAgICAgICAgLy8gb3RoZXIgYnJvd3NlcnMuIFNlZSB3ZWJraXQu
b3JnL2IvNTIxODUgZm9yIGV4YW1wbGUuCi0gICAgICAgICAgICBpZiAoKGNlbGwtPnJvd0luZGV4
KCkgKyBjZWxsLT5yb3dTcGFuKCkgLSAxKSAhPSByKQotICAgICAgICAgICAgICAgIGNvbnRpbnVl
OwotCi0gICAgICAgICAgICAvLyBGb3Igcm93IHNwYW5uaW5nIGNlbGxzLCB8cnwgaXMgdGhlIGxh
c3Qgcm93IGluIHRoZSBzcGFuLgotICAgICAgICAgICAgdW5zaWduZWQgY2VsbFN0YXJ0Um93ID0g
Y2VsbC0+cm93SW5kZXgoKTsKLQotICAgICAgICAgICAgaWYgKGNlbGwtPmhhc092ZXJyaWRlSGVp
Z2h0KCkpIHsKLSAgICAgICAgICAgICAgICBpZiAoIXN0YXRlUHVzaGVyLmRpZFB1c2goKSkgewot
ICAgICAgICAgICAgICAgICAgICAvLyBUZWNobmljYWxseSwgd2Ugc2hvdWxkIGFsc28gcHVzaCBz
dGF0ZSBmb3IgdGhlIHJvdywgYnV0IHNpbmNlCi0gICAgICAgICAgICAgICAgICAgIC8vIHJvd3Mg
ZG9uJ3QgcHVzaCBhIGNvb3JkaW5hdGUgdHJhbnNmb3JtLCB0aGF0J3Mgbm90IG5lY2Vzc2FyeS4K
LSAgICAgICAgICAgICAgICAgICAgc3RhdGVQdXNoZXIucHVzaCh0aGlzLCBsb2NhdGlvbk9mZnNl
dCgpKTsKKyAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBjdXJyZW50LmNlbGxz
LnNpemUoKTsgaSsrKSB7CisgICAgICAgICAgICAgICAgY2VsbCA9IGN1cnJlbnQuY2VsbHNbaV07
CisgICAgICAgICAgICAgICAgaWYgKGN1cnJlbnQuaW5Db2xTcGFuICYmIGNlbGwtPnJvd1NwYW4o
KSA9PSAxKQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgICAg
IC8vIEZJWE1FOiBXZSBhcmUgYWx3YXlzIGFkZGluZyB0aGUgaGVpZ2h0IG9mIGEgcm93c3BhbiB0
byB0aGUgbGFzdCByb3dzIHdoaWNoIGRvZXNuJ3QgbWF0Y2gKKyAgICAgICAgICAgICAgICAvLyBv
dGhlciBicm93c2Vycy4gU2VlIHdlYmtpdC5vcmcvYi81MjE4NSBmb3IgZXhhbXBsZS4KKyAgICAg
ICAgICAgICAgICBpZiAoKGNlbGwtPnJvd0luZGV4KCkgKyBjZWxsLT5yb3dTcGFuKCkgLSAxKSAh
PSByKQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgICAgIC8v
IEZvciByb3cgc3Bhbm5pbmcgY2VsbHMsIHxyfCBpcyB0aGUgbGFzdCByb3cgaW4gdGhlIHNwYW4u
CisgICAgICAgICAgICAgICAgdW5zaWduZWQgY2VsbFN0YXJ0Um93ID0gY2VsbC0+cm93SW5kZXgo
KTsKKworICAgICAgICAgICAgICAgIGlmIChjZWxsLT5oYXNPdmVycmlkZUhlaWdodCgpKSB7Cisg
ICAgICAgICAgICAgICAgICAgIGlmICghc3RhdGVQdXNoZXIuZGlkUHVzaCgpKSB7CisgICAgICAg
ICAgICAgICAgICAgICAgICAvLyBUZWNobmljYWxseSwgd2Ugc2hvdWxkIGFsc28gcHVzaCBzdGF0
ZSBmb3IgdGhlIHJvdywgYnV0IHNpbmNlCisgICAgICAgICAgICAgICAgICAgICAgICAvLyByb3dz
IGRvbid0IHB1c2ggYSBjb29yZGluYXRlIHRyYW5zZm9ybSwgdGhhdCdzIG5vdCBuZWNlc3Nhcnku
CisgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZVB1c2hlci5wdXNoKHRoaXMsIGxvY2F0aW9u
T2Zmc2V0KCkpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGNl
bGwtPmNsZWFySW50cmluc2ljUGFkZGluZygpOworICAgICAgICAgICAgICAgICAgICBjZWxsLT5j
bGVhck92ZXJyaWRlU2l6ZSgpOworICAgICAgICAgICAgICAgICAgICBjZWxsLT5zZXRDaGlsZE5l
ZWRzTGF5b3V0KHRydWUsIE1hcmtPbmx5VGhpcyk7CisgICAgICAgICAgICAgICAgICAgIGNlbGwt
PmxheW91dElmTmVlZGVkKCk7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGNl
bGwtPmNsZWFySW50cmluc2ljUGFkZGluZygpOwotICAgICAgICAgICAgICAgIGNlbGwtPmNsZWFy
T3ZlcnJpZGVTaXplKCk7Ci0gICAgICAgICAgICAgICAgY2VsbC0+c2V0Q2hpbGROZWVkc0xheW91
dCh0cnVlLCBNYXJrT25seVRoaXMpOwotICAgICAgICAgICAgICAgIGNlbGwtPmxheW91dElmTmVl
ZGVkKCk7Ci0gICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIGludCBjZWxsTG9naWNhbEhlaWdo
dCA9IGNlbGwtPmxvZ2ljYWxIZWlnaHRGb3JSb3dTaXppbmcoKTsKLSAgICAgICAgICAgIG1fcm93
UG9zW3IgKyAxXSA9IG1heChtX3Jvd1Bvc1tyICsgMV0sIG1fcm93UG9zW2NlbGxTdGFydFJvd10g
KyBjZWxsTG9naWNhbEhlaWdodCk7CisgICAgICAgICAgICAgICAgaW50IGNlbGxMb2dpY2FsSGVp
Z2h0ID0gY2VsbC0+bG9naWNhbEhlaWdodEZvclJvd1NpemluZygpOworICAgICAgICAgICAgICAg
IG1fcm93UG9zW3IgKyAxXSA9IG1heChtX3Jvd1Bvc1tyICsgMV0sIG1fcm93UG9zW2NlbGxTdGFy
dFJvd10gKyBjZWxsTG9naWNhbEhlaWdodCk7CiAKLSAgICAgICAgICAgIC8vIGZpbmQgb3V0IHRo
ZSBiYXNlbGluZQotICAgICAgICAgICAgRVZlcnRpY2FsQWxpZ24gdmEgPSBjZWxsLT5zdHlsZSgp
LT52ZXJ0aWNhbEFsaWduKCk7Ci0gICAgICAgICAgICBpZiAodmEgPT0gQkFTRUxJTkUgfHwgdmEg
PT0gVEVYVF9CT1RUT00gfHwgdmEgPT0gVEVYVF9UT1AgfHwgdmEgPT0gU1VQRVIgfHwgdmEgPT0g
U1VCIHx8IHZhID09IExFTkdUSCkgewotICAgICAgICAgICAgICAgIExheW91dFVuaXQgYmFzZWxp
bmVQb3NpdGlvbiA9IGNlbGwtPmNlbGxCYXNlbGluZVBvc2l0aW9uKCk7Ci0gICAgICAgICAgICAg
ICAgaWYgKGJhc2VsaW5lUG9zaXRpb24gPiBjZWxsLT5ib3JkZXJCZWZvcmUoKSArIGNlbGwtPnBh
ZGRpbmdCZWZvcmUoKSkgewotICAgICAgICAgICAgICAgICAgICBtX2dyaWRbY2VsbFN0YXJ0Um93
XS5iYXNlbGluZSA9IG1heChtX2dyaWRbY2VsbFN0YXJ0Um93XS5iYXNlbGluZSwgYmFzZWxpbmVQ
b3NpdGlvbiAtIGNlbGwtPmludHJpbnNpY1BhZGRpbmdCZWZvcmUoKSk7Ci0gICAgICAgICAgICAg
ICAgICAgIGJhc2VsaW5lRGVzY2VudCA9IG1heChiYXNlbGluZURlc2NlbnQsIG1fcm93UG9zW2Nl
bGxTdGFydFJvd10gKyBjZWxsTG9naWNhbEhlaWdodCAtIChiYXNlbGluZVBvc2l0aW9uIC0gY2Vs
bC0+aW50cmluc2ljUGFkZGluZ0JlZm9yZSgpKSk7CisgICAgICAgICAgICAgICAgLy8gZmluZCBv
dXQgdGhlIGJhc2VsaW5lCisgICAgICAgICAgICAgICAgRVZlcnRpY2FsQWxpZ24gdmEgPSBjZWxs
LT5zdHlsZSgpLT52ZXJ0aWNhbEFsaWduKCk7CisgICAgICAgICAgICAgICAgaWYgKHZhID09IEJB
U0VMSU5FIHx8IHZhID09IFRFWFRfQk9UVE9NIHx8IHZhID09IFRFWFRfVE9QIHx8IHZhID09IFNV
UEVSIHx8IHZhID09IFNVQiB8fCB2YSA9PSBMRU5HVEgpIHsKKyAgICAgICAgICAgICAgICAgICAg
TGF5b3V0VW5pdCBiYXNlbGluZVBvc2l0aW9uID0gY2VsbC0+Y2VsbEJhc2VsaW5lUG9zaXRpb24o
KTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGJhc2VsaW5lUG9zaXRpb24gPiBjZWxsLT5ib3Jk
ZXJCZWZvcmUoKSArIGNlbGwtPnBhZGRpbmdCZWZvcmUoKSkgeworICAgICAgICAgICAgICAgICAg
ICAgICAgbV9ncmlkW2NlbGxTdGFydFJvd10uYmFzZWxpbmUgPSBtYXgobV9ncmlkW2NlbGxTdGFy
dFJvd10uYmFzZWxpbmUsIGJhc2VsaW5lUG9zaXRpb24gLSBjZWxsLT5pbnRyaW5zaWNQYWRkaW5n
QmVmb3JlKCkpOworICAgICAgICAgICAgICAgICAgICAgICAgYmFzZWxpbmVEZXNjZW50ID0gbWF4
KGJhc2VsaW5lRGVzY2VudCwgbV9yb3dQb3NbY2VsbFN0YXJ0Um93XSArIGNlbGxMb2dpY2FsSGVp
Z2h0IC0gKGJhc2VsaW5lUG9zaXRpb24gLSBjZWxsLT5pbnRyaW5zaWNQYWRkaW5nQmVmb3JlKCkp
KTsKKyAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
IH0KICAgICAgICAgfQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTIyNTA4KQorKysgTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDctMTIgIFBy
YXZpbiBEICA8cHJhdmluZC4yazRAZ21haWwuY29tPgorCisgICAgICAgIFJvdyBzaXplL3Bvc2l0
aW9uIGlzIHdyb25nbHkgY2FsY3VsYXRlZCB3aGVuIHRhYmxlIGhhdmluZyBvdmVybGFwcGluZyBy
b3dzcGFuIGNlbGwgYW5kIGNvbHNwYW4gY2VsbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4MTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvdGFibGUvbGFzdC1jZWxsLW9mLXJvd3NwYW4tb3Zl
cmxhcHBpbmctY29sc3Bhbi1jZWxsLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvdGFibGUvbGFzdC1jZWxsLW9mLXJvd3NwYW4tb3ZlcmxhcHBpbmctY29sc3Bhbi1jZWxsLmh0
bWw6IEFkZGVkLgorCiAyMDEyLTA3LTEyICBPamFuIFZhZmFpICA8b2phbkBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgSW1wbGllZCBtaW5pbXVtIHNpemUgb2YgZmxleCBpdGVtcyBpcyBtaW4tY29u
dGVudApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9sYXN0LWNlbGwtb2Ytcm93c3Bhbi1v
dmVybGFwcGluZy1jb2xzcGFuLWNlbGwtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L3RhYmxlL2xhc3QtY2VsbC1vZi1yb3dzcGFuLW92ZXJsYXBwaW5nLWNvbHNw
YW4tY2VsbC1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC90
YWJsZS9sYXN0LWNlbGwtb2Ytcm93c3Bhbi1vdmVybGFwcGluZy1jb2xzcGFuLWNlbGwtZXhwZWN0
ZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxib2R5PgorPHA+IDxoND5UZXN0Y2FzZSBmb3IgPGEgaHJlZj0iaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODExIj5CdWcgMTY4MTE8L2E+Ljxicj4KK1Ro
ZSB0ZXN0IGNhc2UgY2hlY2tzIGlmIHRoZSBoZWlnaHQgYW5kIHBvc2l0aW9uIG9mIHJvd3MgaGF2
aW5nIG92ZXJsYXBwaW5nIHJvd1NwYW4gYW5kIGNvbFNwYW4gY2VsbHMgZ2V0cyBwcm9wZXJseSBj
YWxjdWxhdGVkLjwvaDQ+CitJZiB0aGUgcm93IGhlaWdodC9wb3NpdGlvbiBpcyBwcm9wZXJseSBj
YWxjdWxhdGVkIHRoZW4gdGhlIGhlaWdodCBvZiB0aGUgZ3JlZW4gcmVjdGFuZ2xlIHNob3VsZCBi
ZSBzYW1lIGFzIHRoZSB5ZWxsb3cgcmVjdGFuZ2xlIGFuZCB0aGUgZ3JlZW4gcmVjdGFuZ2xlIG11
c3QgYmUgY29udGFpbmVkCit3aXRoaW4gdGhlIHllbGxvdyByZWN0YW5nbGUuCis8L3A+Cis8dGFi
bGUgc3R5bGU9ImJvcmRlcjoxcHggc29saWQgeWVsbG93OyI+CisgIDx0cj4KKyAgICA8dGQ+Cisg
ICAgICA8aW1nIHdpZHRoPSIyMCIgaGVpZ2h0PSI2MCIvPgorICAgIDwvdGQ+CisgICAgPHRkIHJv
d3NwYW49IjIiPgorICAgICAgPGltZyB3aWR0aD0iMjAiIGhlaWdodD0iMTIwIiBzdHlsZT0iYm9y
ZGVyOjFweCBzb2xpZCBncmVlbjsiLz4KKyAgICA8L3RkPgorICA8L3RyPgorICA8dHI+CisgICAg
PHRkPgorICAgICAgPGltZyBoZWlnaHQ9IjIwIi8+CisgICAgPC90ZD4KKyAgPC90cj4KKzwvdGFi
bGU+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL2xhc3Qt
Y2VsbC1vZi1yb3dzcGFuLW92ZXJsYXBwaW5nLWNvbHNwYW4tY2VsbC5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3QvdGFibGUvbGFzdC1jZWxsLW9mLXJvd3NwYW4tb3ZlcmxhcHBp
bmctY29sc3Bhbi1jZWxsLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Rh
YmxlL2xhc3QtY2VsbC1vZi1yb3dzcGFuLW92ZXJsYXBwaW5nLWNvbHNwYW4tY2VsbC5odG1sCShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJv
ZHk+Cis8cD4gPGg0PlRlc3RjYXNlIGZvciA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTY4MTEiPkJ1ZyAxNjgxMTwvYT4uPGJyPgorVGhlIHRlc3QgY2Fz
ZSBjaGVja3MgaWYgdGhlIGhlaWdodCBhbmQgcG9zaXRpb24gb2Ygcm93cyBoYXZpbmcgb3Zlcmxh
cHBpbmcgcm93U3BhbiBhbmQgY29sU3BhbiBjZWxscyBnZXRzIHByb3Blcmx5IGNhbGN1bGF0ZWQu
PC9oND4KK0lmIHRoZSByb3cgaGVpZ2h0L3Bvc2l0aW9uIGlzIHByb3Blcmx5IGNhbGN1bGF0ZWQg
dGhlbiB0aGUgaGVpZ2h0IG9mIHRoZSBncmVlbiByZWN0YW5nbGUgc2hvdWxkIGJlIHNhbWUgYXMg
dGhlIHllbGxvdyByZWN0YW5nbGUgYW5kIHRoZSBncmVlbiByZWN0YW5nbGUgbXVzdCBiZSBjb250
YWluZWQKK3dpdGhpbiB0aGUgeWVsbG93IHJlY3RhbmdsZS4KKzwvcD4KKzx0YWJsZSBzdHlsZT0i
Ym9yZGVyOjFweCBzb2xpZCB5ZWxsb3c7Ij4KKyAgPHRyPgorICAgIDx0ZD4KKyAgICAgIDxpbWcg
d2lkdGg9IjIwIiBoZWlnaHQ9IjYwIi8+CisgICAgPC90ZD4KKyAgICA8dGQgcm93c3Bhbj0iMiI+
CisgICAgICA8aW1nIHdpZHRoPSIyMCIgaGVpZ2h0PSIxMjAiIHN0eWxlPSJib3JkZXI6MXB4IHNv
bGlkIGdyZWVuOyIvPgorICAgIDwvdGQ+CisgIDwvdHI+CisgIDx0cj4KKyAgICA8dGQgY29sc3Bh
bj0iMiI+CisgICAgICA8aW1nIGhlaWdodD0iMjAiLz4KKyAgICA8L3RkPgorICA8L3RyPgorPC90
YWJsZT4KKzwvYm9keT4KKzwvaHRtbD4KKwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>