<?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>70496</bug_id>
          
          <creation_ts>2011-10-20 06:14:24 -0700</creation_ts>
          <short_desc>Cannot select multiple options by mouse dragging in &lt;select multiple=&quot;multiple&quot; size=&quot;7&quot;&gt; list</short_desc>
          <delta_ts>2011-12-06 20:38:40 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Forms</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>https://landfill.bugzilla.org/bugzilla-3.6-branch/query.cgi?format=advanced</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Rakesh">rakeshchaitan</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>rniwa</cc>
    
    <cc>tkent</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>487521</commentid>
    <comment_count>0</comment_count>
    <who name="Rakesh">rakeshchaitan</who>
    <bug_when>2011-10-20 06:14:24 -0700</bug_when>
    <thetext>In option lists created by &lt;select multiple=&quot;multiple&quot; size=&quot;7&quot;&gt;,Cannot select multiple items at once with the mouse by dragging over a range (i.e. press mouse down on first item, move to last item, release mouse). In other browsers (FF 4, IE 8), this works as expected


Chromium Issue: http://code.google.com/p/chromium/issues/detail?id=85067</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492892</commentid>
    <comment_count>1</comment_count>
    <who name="Rakesh">rakeshchaitan</who>
    <bug_when>2011-10-28 21:47:11 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; In option lists created by &lt;select multiple=&quot;multiple&quot; size=&quot;7&quot;&gt;,Cannot select multiple items at once with the mouse by dragging over a range (i.e. press mouse down on first item, move to last item, release mouse). In other browsers (FF 4, IE 8), this works as expected
&gt; 
&gt; 
&gt; Chromium Issue: http://code.google.com/p/chromium/issues/detail?id=85067

This issue happens only for &quot;Priority&quot; select in the link. For all others where the number of options is more than size of the select element, https://bugs.webkit.org/show_bug.cgi?id=71128 has been logged.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498906</commentid>
    <comment_count>2</comment_count>
      <attachid>114266</attachid>
    <who name="Rakesh">rakeshchaitan</who>
    <bug_when>2011-11-09 06:52:12 -0800</bug_when>
    <thetext>Created attachment 114266
Proposed patch

Issue 71128 fixes the selection of option elements with an mouse drag when no. of options are more than the size attribute.
To handle the selection when no. of options are less than size attribute, we handle the mouse move event and select the options when mouse moves on the option element.
We also dont want to do this selection if the select element can be autoscrolled(i.e no. of options &gt; size)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499614</commentid>
    <comment_count>3</comment_count>
      <attachid>114266</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-11-09 20:44:46 -0800</bug_when>
    <thetext>Comment on attachment 114266
Proposed patch

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

&gt; Source/WebCore/html/HTMLSelectElement.cpp:1208
&gt; +    } else if (event-&gt;type() == eventNames().mousemoveEvent &amp;&amp; event-&gt;isMouseEvent()
&gt; +                  &amp;&amp; static_cast&lt;MouseEvent*&gt;(event)-&gt;button() == LeftButton &amp;&amp; static_cast&lt;MouseEvent*&gt;(event)-&gt;buttonDown()
&gt; +                  &amp;&amp; !static_cast&lt;MouseEvent*&gt;(event)-&gt;ctrlKey() &amp;&amp; !toRenderBox(renderer())-&gt;canBeScrolledAndHasScrollableArea()) {

* The indentation looks wrong for folded lines. You don&apos;t need to fold a long lines.

* You don&apos;t need to check these conditions in one &apos;if&apos; statement. You can write:

} else if (event-&gt;type() == evnetNames().mousemoveEvent &amp;&amp; event-&gt;isMouseEvent()) {
    MouseEvent* mouseEvent = static_cast&lt;MouseEvent*&gt;(event);
    If (mouseEvent-&gt;button() != LeftButton || !mouseEvent-&gt;buttonDown())
        return;
    ....

* Checking only ctrlKey() is wrong. It should be metaKey() in Mac.  Please refeer to mousedown handling in this function.

* Do we need to check !canBeScrolledAndHasScrollableArea()?

&gt; Source/WebCore/html/HTMLSelectElement.cpp:1209
&gt; +        // Convert to coords relative to the list box if needed.

This comment is not helpful.  Please remove it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499704</commentid>
    <comment_count>4</comment_count>
      <attachid>114447</attachid>
    <who name="Rakesh">rakeshchaitan</who>
    <bug_when>2011-11-10 00:19:39 -0800</bug_when>
    <thetext>Created attachment 114447
Updated patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499707</commentid>
    <comment_count>5</comment_count>
    <who name="Rakesh">rakeshchaitan</who>
    <bug_when>2011-11-10 00:26:23 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 114266 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=114266&amp;action=review

Thanks for reviewing the patch.
&gt; 
&gt; &gt; Source/WebCore/html/HTMLSelectElement.cpp:1208
&gt; &gt; +    } else if (event-&gt;type() == eventNames().mousemoveEvent &amp;&amp; event-&gt;isMouseEvent()
&gt; &gt; +                  &amp;&amp; static_cast&lt;MouseEvent*&gt;(event)-&gt;button() == LeftButton &amp;&amp; static_cast&lt;MouseEvent*&gt;(event)-&gt;buttonDown()
&gt; &gt; +                  &amp;&amp; !static_cast&lt;MouseEvent*&gt;(event)-&gt;ctrlKey() &amp;&amp; !toRenderBox(renderer())-&gt;canBeScrolledAndHasScrollableArea()) {
&gt; 
&gt; * The indentation looks wrong for folded lines. You don&apos;t need to fold a long lines.
&gt; 
&gt; * You don&apos;t need to check these conditions in one &apos;if&apos; statement. You can write:
&gt; 
&gt; } else if (event-&gt;type() == evnetNames().mousemoveEvent &amp;&amp; event-&gt;isMouseEvent()) {
&gt;     MouseEvent* mouseEvent = static_cast&lt;MouseEvent*&gt;(event);
&gt;     If (mouseEvent-&gt;button() != LeftButton || !mouseEvent-&gt;buttonDown())
&gt;         return;
&gt;     ....
&gt; 

Made these changes.

&gt; * Checking only ctrlKey() is wrong. It should be metaKey() in Mac.  Please refeer to mousedown handling in this function.
&gt; 

Yes, now I have removed the ctrl/meta key case to match the selection behaviour similar to 71128 case instead of rejecting the selection if ctrl/meta is pressed.

&gt; * Do we need to check !canBeScrolledAndHasScrollableArea()?
&gt; 
Without this check autoscroll will not happen as mouse move event get handled here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500591</commentid>
    <comment_count>6</comment_count>
      <attachid>114447</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-11-11 01:30:36 -0800</bug_when>
    <thetext>Comment on attachment 114447
Updated patch

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

&gt; Source/WebCore/ChangeLog:12
&gt; +        Test: fast/forms/select-multiple-elements-with-mouse-drag-with-options-less-than-size.html

Test coverage is not good.
We should test:
 - Dragging upward in a multiple listbox
 - Dragging in a multiple listbox with &quot;addSelectionKey&quot;
 - Dragging in a multiple listbox with &quot;rangeSelectionKey&quot;
 - Dragging in a non-multiple listbox
 - Dragging in a non-multiple listbox with &quot;addSelectionKey&quot;
 - Dragging in a non-multiple listbox with &quot;rangeSelectionKey&quot;

&gt; Source/WebCore/html/HTMLSelectElement.cpp:1218
&gt; +                updateSelectedState(listIndex, mouseEvent-&gt;ctrlKey(), mouseEvent-&gt;shiftKey());

I found passing ctrlKey() and shiftKey() is meaningless here because they are required only if m_multiple.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500678</commentid>
    <comment_count>7</comment_count>
      <attachid>114672</attachid>
    <who name="Rakesh">rakeshchaitan</who>
    <bug_when>2011-11-11 04:46:45 -0800</bug_when>
    <thetext>Created attachment 114672
Updated patch

Changes as per Comment #6. Passing false instead of  ctrlKey() and shiftKey().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>501590</commentid>
    <comment_count>8</comment_count>
      <attachid>114672</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-11-13 20:19:38 -0800</bug_when>
    <thetext>Comment on attachment 114672
Updated patch

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

&gt; LayoutTests/fast/forms/select-multiple-elements-with-mouse-drag-with-options-less-than-size.html:30
&gt; +&lt;script&gt;
&gt; +    if (window.eventSender) {

You don&apos;t need to indent the whole content of &lt;script&gt;.

&gt; LayoutTests/fast/forms/select-multiple-elements-with-mouse-drag-with-options-less-than-size.html:50
&gt; +        eventSender.mouseMoveTo(x,y);

should have a space after &quot;,&quot;

&gt; LayoutTests/fast/forms/select-multiple-elements-with-mouse-drag-with-options-less-than-size.html:59
&gt; +        eventSender.mouseDown();
&gt; +        eventSender.mouseDown(0, &quot;addSelectionKey&quot;);
&gt; +        eventSender.mouseMoveTo(x, y + (optionHeight * 3));
&gt; +        eventSender.mouseUp(0, &quot;addSelectionKey&quot;);
&gt; +        testOptionSelection(0, 4, &quot;true&quot;, &quot;selectId&quot;);

This test is meaningless. We should test a case where
 - an option is selected.  e.g. options[0] is selected
 - start dragging with addSelectionKey at another option. e.g. starting at options[2]
 - end dragging with addSelectionKey at yet another option.  e.g. ending at options[4]
 - then check if the selection is correctly added; options[0], [2] [3] [4] should be selected.

&gt; LayoutTests/fast/forms/select-multiple-elements-with-mouse-drag-with-options-less-than-size.html:64
&gt; +        eventSender.mouseMoveTo(x,y);

should have a space after &quot;,&quot;

&gt; LayoutTests/fast/forms/select-multiple-elements-with-mouse-drag-with-options-less-than-size.html:87
&gt; +        eventSender.mouseMoveTo(x,y);

ditto.

&gt; LayoutTests/fast/forms/select-multiple-elements-with-mouse-drag-with-options-less-than-size.html:103
&gt; +        eventSender.mouseMoveTo(x,y);

ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>501675</commentid>
    <comment_count>9</comment_count>
      <attachid>114891</attachid>
    <who name="Rakesh">rakeshchaitan</who>
    <bug_when>2011-11-13 23:53:22 -0800</bug_when>
    <thetext>Created attachment 114891
Updated patch

Updated test case as suggested in Comment #8.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>501700</commentid>
    <comment_count>10</comment_count>
      <attachid>114891</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-11-14 00:36:15 -0800</bug_when>
    <thetext>Comment on attachment 114891
Updated patch

Looks ok.  Thank you for fixing this!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>501713</commentid>
    <comment_count>11</comment_count>
      <attachid>114891</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-14 01:18:40 -0800</bug_when>
    <thetext>Comment on attachment 114891
Updated patch

Clearing flags on attachment: 114891

Committed r100111: &lt;http://trac.webkit.org/changeset/100111&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>509250</commentid>
    <comment_count>12</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-11-25 12:33:43 -0800</bug_when>
    <thetext>Test added by this patch is failing on Mac:
http://build.webkit.org/results/SnowLeopard%20Intel%20Release%20(Tests)/r101094%20(34915)/fast/forms/select-multiple-elements-with-mouse-drag-with-options-less-than-size-pretty-diff.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516476</commentid>
    <comment_count>13</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-12-06 20:38:40 -0800</bug_when>
    <thetext>Fixed the test in http://trac.webkit.org/changeset/102215 since it had been failing on Mac.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114266</attachid>
            <date>2011-11-09 06:52:12 -0800</date>
            <delta_ts>2011-11-10 00:06:35 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>70496_back.patch</filename>
            <type>text/plain</type>
            <size>6531</size>
            <attacher name="Rakesh">rakeshchaitan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBlMjg5YTI3Li42NWVkYWNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMTEt
MDkgIFJha2VzaCBLTiAgPHJha2VzaC5rbkBtb3Rvcm9sYS5jb20+CisKKyAgICAgICAgQ2Fubm90
IHNlbGVjdCBtdWx0aXBsZSBvcHRpb25zIGJ5IG1vdXNlIGRyYWdnaW5nIGluIDxzZWxlY3QgbXVs
dGlwbGU9Im11bHRpcGxlIiBzaXplPSI3Ij4gbGlzdAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0OTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBTZWxlY3QgTXVsdGlwbGUgb3B0aW9ucyBpbiBhIHNlbGVj
dCBlbGVtZW50IHdpdGggYSBtb3VzZSBkcmFnIHdoZW4gbm8uIG9mIG9wdGlvbnMKKyAgICAgICAg
YXJlIGxlc3MgdGhhbiB0aGUgbm8uIHNwZWNpZmllZCBpbiBzaXplIGF0dHJpYnV0ZS4KKyAgICAg
ICAgT3RoZXIgYnJvd3NlcnMoSUUsIE9wZXJhLCBGaXJlZm94KSBzdXBwb3J0IHRoaXMgZmVhdHVy
ZS4KKworICAgICAgICAqIGZhc3QvZm9ybXMvc2VsZWN0LW11bHRpcGxlLWVsZW1lbnRzLXdpdGgt
bW91c2UtZHJhZy13aXRoLW9wdGlvbnMtbGVzcy10aGFuLXNpemUtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NlbGVjdC1tdWx0aXBsZS1lbGVtZW50cy13aXRoLW1v
dXNlLWRyYWctd2l0aC1vcHRpb25zLWxlc3MtdGhhbi1zaXplLmh0bWw6IEFkZGVkLgorCiAyMDEx
LTExLTA5ICBZdXRhIEtpdGFtdXJhICA8eXV0YWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtD
aHJvbWl1bV0gVW5yZXZpZXdlZCwgdXBkYXRlIHRlc3QgZXhwZWN0YXRpb24gZm9yIGxpc3Rib3gt
Y2xpcC5odG1sIG9uIE1hYy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2Vs
ZWN0LW11bHRpcGxlLWVsZW1lbnRzLXdpdGgtbW91c2UtZHJhZy13aXRoLW9wdGlvbnMtbGVzcy10
aGFuLXNpemUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zZWxlY3QtbXVs
dGlwbGUtZWxlbWVudHMtd2l0aC1tb3VzZS1kcmFnLXdpdGgtb3B0aW9ucy1sZXNzLXRoYW4tc2l6
ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjc1NmZk
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2VsZWN0LW11bHRp
cGxlLWVsZW1lbnRzLXdpdGgtbW91c2UtZHJhZy13aXRoLW9wdGlvbnMtbGVzcy10aGFuLXNpemUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK1NlbGVjdCBtdWx0aXBsZSBvcHRpb24gd2l0
aCBtb3VzZSBkcmFnIHdpdGggbm8uIG9mIG9wdGlvbnMgbGVzcyB0aGFuIHRoZSBzaXplIGF0dHJp
YnV0ZQorCisKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlbGVjdElkIikub3B0aW9u
c1swXS5zZWxlY3RlZCBpcyB0cnVlCitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZWxl
Y3RJZCIpLm9wdGlvbnNbMV0uc2VsZWN0ZWQgaXMgdHJ1ZQorUEFTUyBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic2VsZWN0SWQiKS5vcHRpb25zWzJdLnNlbGVjdGVkIGlzIHRydWUKK1BBU1MgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlbGVjdElkIikub3B0aW9uc1szXS5zZWxlY3RlZCBpcyB0
cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zZWxlY3QtbXVsdGlwbGUtZWxlbWVu
dHMtd2l0aC1tb3VzZS1kcmFnLXdpdGgtb3B0aW9ucy1sZXNzLXRoYW4tc2l6ZS5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9zZWxlY3QtbXVsdGlwbGUtZWxlbWVudHMtd2l0aC1tb3VzZS1k
cmFnLXdpdGgtb3B0aW9ucy1sZXNzLXRoYW4tc2l6ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjI3OGRlZmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3NlbGVjdC1tdWx0aXBsZS1lbGVtZW50cy13aXRoLW1vdXNlLWRyYWctd2l0aC1v
cHRpb25zLWxlc3MtdGhhbi1zaXplLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHNjcmlwdCBzcmM9
Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8dGl0bGU+PC90aXRs
ZT4KKzwvaGVhZD4KKzxib2R5PgorPHA+U2VsZWN0IG11bHRpcGxlIG9wdGlvbiB3aXRoIG1vdXNl
IGRyYWcgd2l0aCBuby4gb2Ygb3B0aW9ucyBsZXNzIHRoYW4gdGhlIHNpemUgYXR0cmlidXRlPC9w
PgorCis8c2VsZWN0IG11bHRpcGxlPSJtdWx0aXBsZSIgc2l6ZT0iNyIgaWQ9InNlbGVjdElkIj4K
KyAgICA8b3B0aW9uIHZhbHVlPSJQMSI+UDE8L29wdGlvbj4KKyAgICA8b3B0aW9uIHZhbHVlPSJQ
MiI+UDI8L29wdGlvbj4KKyAgICA8b3B0aW9uIHZhbHVlPSJQMyI+UDM8L29wdGlvbj4KKyAgICA8
b3B0aW9uIHZhbHVlPSJQNCI+UDQ8L29wdGlvbj4KKyAgICA8b3B0aW9uIHZhbHVlPSJQNSI+UDU8
L29wdGlvbj4KKzwvc2VsZWN0PgorCis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CisgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICB2YXIgc2VsZWN0T2JqZWN0
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlbGVjdElkIik7CisKKyAgICAgICAgdmFyIG9w
dGlvbkhlaWdodCA9ICBzZWxlY3RPYmplY3Qub2Zmc2V0SGVpZ2h0IC8gc2VsZWN0T2JqZWN0LnNp
emU7CisgICAgICAgIHZhciB4ID0gc2VsZWN0T2JqZWN0Lm9mZnNldExlZnQgKyBzZWxlY3RPYmpl
Y3Qub2Zmc2V0V2lkdGggLyAyOworICAgICAgICB2YXIgeSA9IHNlbGVjdE9iamVjdC5vZmZzZXRU
b3AgKyBvcHRpb25IZWlnaHQgLyAyOworCisgICAgICAgIGV2ZW50U2VuZGVyLmRyYWdNb2RlID0g
ZmFsc2U7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHgsIHkpOworICAgICAgICBl
dmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8o
eCwgeSArIChvcHRpb25IZWlnaHQgKiAzKSk7CisKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VV
cCgpOworCisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgNDsgaSsrKSB7CisgICAgICAgICAg
ICBzaG91bGRCZVRydWUoImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwic2VsZWN0SWRcIikub3B0
aW9uc1siICsgaSArICJdLnNlbGVjdGVkIik7CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAg
ICAgICBkZWJ1ZygiVGVzdCBtYW51YWxseSBpZiBvcHRpb25zIGFyZSBnZXR0aW5nIHNlbGVjdGVk
IGJ5IGRyYWdnaW5nIG9uIHRoZSBzZWxlY3QgZWxlbWVudC4iKTsKKyAgICB9CisKK3N1Y2Nlc3Nm
dWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCA0N2NmYTllLi40MzkzZWEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEt
MTEtMDkgIFJha2VzaCBLTiAgPHJha2VzaC5rbkBtb3Rvcm9sYS5jb20+CisKKyAgICAgICAgQ2Fu
bm90IHNlbGVjdCBtdWx0aXBsZSBvcHRpb25zIGJ5IG1vdXNlIGRyYWdnaW5nIGluIDxzZWxlY3Qg
bXVsdGlwbGU9Im11bHRpcGxlIiBzaXplPSI3Ij4gbGlzdAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0OTYKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTZWxlY3QgTXVsdGlwbGUgb3B0aW9ucyBpbiBhIHNl
bGVjdCBlbGVtZW50IHdpdGggYSBtb3VzZSBkcmFnIHdoZW4gbm8uIG9mIG9wdGlvbnMKKyAgICAg
ICAgYXJlIGxlc3MgdGhhbiB0aGUgbm8uIHNwZWNpZmllZCBpbiBzaXplIGF0dHJpYnV0ZS4KKyAg
ICAgICAgT3RoZXIgYnJvd3NlcnMoSUUsIE9wZXJhLCBGaXJlZm94KSBzdXBwb3J0IHRoaXMgZmVh
dHVyZS4KKworICAgICAgICBUZXN0OiBmYXN0L2Zvcm1zL3NlbGVjdC1tdWx0aXBsZS1lbGVtZW50
cy13aXRoLW1vdXNlLWRyYWctd2l0aC1vcHRpb25zLWxlc3MtdGhhbi1zaXplLmh0bWwKKworICAg
ICAgICAqIGh0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TFNlbGVjdEVsZW1lbnQ6Omxpc3RCb3hEZWZhdWx0RXZlbnRIYW5kbGVyKToKKyAgICAgICAgSGFu
ZGxlZCBtb3VzZSBtb3ZlIGV2ZW50IHdpdGggTGVmdCBidXR0b24gcHJlc3NlZC4gV2Ugc2VsZWN0
IHRoZSBvcHRpb25zIHVuZGVyIG1vdXNlCisgICAgICAgIHdoZW4gbW91c2UgZHJhZyBoYXBwZW5z
IGFuZCB0aGUgc2VsZWN0IGVsZW1lbnQgY2Fubm90IGF1dG9zY3JvbGwuCisKIDIwMTEtMTEtMDkg
IE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJtYW5uQHJpbS5jb20+CiAKICAgICAgICAgc3Zn
IGZhaWx1cmVzIGFmdGVyIHI5OTU2MQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MU2VsZWN0RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVt
ZW50LmNwcAppbmRleCA2NWJmZjVjLi5kMjQxYTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxTZWxlY3RFbGVtZW50LmNwcApAQCAtMTIwMyw2ICsxMjAzLDIxIEBAIHZvaWQgSFRNTFNlbGVj
dEVsZW1lbnQ6Omxpc3RCb3hEZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldmVudCkKIAogICAg
ICAgICAgICAgZXZlbnQtPnNldERlZmF1bHRIYW5kbGVkKCk7CiAgICAgICAgIH0KKyAgICB9IGVs
c2UgaWYgKGV2ZW50LT50eXBlKCkgPT0gZXZlbnROYW1lcygpLm1vdXNlbW92ZUV2ZW50ICYmIGV2
ZW50LT5pc01vdXNlRXZlbnQoKQorICAgICAgICAgICAgICAgICAgJiYgc3RhdGljX2Nhc3Q8TW91
c2VFdmVudCo+KGV2ZW50KS0+YnV0dG9uKCkgPT0gTGVmdEJ1dHRvbiAmJiBzdGF0aWNfY2FzdDxN
b3VzZUV2ZW50Kj4oZXZlbnQpLT5idXR0b25Eb3duKCkKKyAgICAgICAgICAgICAgICAgICYmICFz
dGF0aWNfY2FzdDxNb3VzZUV2ZW50Kj4oZXZlbnQpLT5jdHJsS2V5KCkgJiYgIXRvUmVuZGVyQm94
KHJlbmRlcmVyKCkpLT5jYW5CZVNjcm9sbGVkQW5kSGFzU2Nyb2xsYWJsZUFyZWEoKSkgeworICAg
ICAgICAvLyBDb252ZXJ0IHRvIGNvb3JkcyByZWxhdGl2ZSB0byB0aGUgbGlzdCBib3ggaWYgbmVl
ZGVkLgorICAgICAgICBNb3VzZUV2ZW50KiBtb3VzZUV2ZW50ID0gc3RhdGljX2Nhc3Q8TW91c2VF
dmVudCo+KGV2ZW50KTsKKyAgICAgICAgSW50UG9pbnQgbG9jYWxPZmZzZXQgPSByb3VuZGVkSW50
UG9pbnQocmVuZGVyZXIoKS0+YWJzb2x1dGVUb0xvY2FsKG1vdXNlRXZlbnQtPmFic29sdXRlTG9j
YXRpb24oKSwgZmFsc2UsIHRydWUpKTsKKyAgICAgICAgaW50IGxpc3RJbmRleCA9IHRvUmVuZGVy
TGlzdEJveChyZW5kZXJlcigpKS0+bGlzdEluZGV4QXRPZmZzZXQodG9TaXplKGxvY2FsT2Zmc2V0
KSk7CisgICAgICAgIGlmIChsaXN0SW5kZXggPj0gMCkgeworICAgICAgICAgICAgaWYgKG1fbXVs
dGlwbGUpIHsKKyAgICAgICAgICAgICAgICBzZXRBY3RpdmVTZWxlY3Rpb25FbmRJbmRleChsaXN0
SW5kZXgpOworICAgICAgICAgICAgICAgIHVwZGF0ZUxpc3RCb3hTZWxlY3Rpb24oZmFsc2UpOwor
ICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgdXBkYXRlU2VsZWN0ZWRTdGF0ZShs
aXN0SW5kZXgsIG1vdXNlRXZlbnQtPmN0cmxLZXkoKSwgbW91c2VFdmVudC0+c2hpZnRLZXkoKSk7
CisgICAgICAgICAgICBldmVudC0+c2V0RGVmYXVsdEhhbmRsZWQoKTsKKyAgICAgICAgfQogICAg
IH0gZWxzZSBpZiAoZXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkubW91c2V1cEV2ZW50ICYm
IGV2ZW50LT5pc01vdXNlRXZlbnQoKSAmJiBzdGF0aWNfY2FzdDxNb3VzZUV2ZW50Kj4oZXZlbnQp
LT5idXR0b24oKSA9PSBMZWZ0QnV0dG9uICYmIGRvY3VtZW50KCktPmZyYW1lKCktPmV2ZW50SGFu
ZGxlcigpLT5hdXRvc2Nyb2xsUmVuZGVyZXIoKSAhPSByZW5kZXJlcigpKSB7CiAgICAgICAgIC8v
IFRoaXMgbWFrZXMgc3VyZSB3ZSBmaXJlIGRpc3BhdGNoRm9ybUNvbnRyb2xDaGFuZ2VFdmVudCBm
b3IgYSBzaW5nbGUKICAgICAgICAgLy8gY2xpY2suIEZvciBkcmFnIHNlbGVjdGlvbiwgb25DaGFu
Z2Ugd2lsbCBmaXJlIHdoZW4gdGhlIGF1dG9zY3JvbGwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114447</attachid>
            <date>2011-11-10 00:19:39 -0800</date>
            <delta_ts>2011-11-11 04:23:06 -0800</delta_ts>
            <desc>Updated patch</desc>
            <filename>70496.patch</filename>
            <type>text/plain</type>
            <size>6365</size>
            <attacher name="Rakesh">rakeshchaitan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBlMjg5YTI3Li41YTg5NzBkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMTEt
MTAgIFJha2VzaCBLTiAgPHJha2VzaC5rbkBtb3Rvcm9sYS5jb20+CisKKyAgICAgICAgQ2Fubm90
IHNlbGVjdCBtdWx0aXBsZSBvcHRpb25zIGJ5IG1vdXNlIGRyYWdnaW5nIGluIDxzZWxlY3QgbXVs
dGlwbGU9bXVsdGlwbGUgc2l6ZT03PiBsaXN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ5NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFNlbGVjdCBNdWx0aXBsZSBvcHRpb25zIGluIGEgc2VsZWN0IGVs
ZW1lbnQgd2l0aCBhIG1vdXNlIGRyYWcgd2hlbiBuby4gb2Ygb3B0aW9ucworICAgICAgICBhcmUg
bGVzcyB0aGFuIHRoZSBuby4gc3BlY2lmaWVkIGluIHNpemUgYXR0cmlidXRlLgorICAgICAgICBP
dGhlciBicm93c2VycyhJRSwgT3BlcmEsIEZpcmVmb3gpIHN1cHBvcnQgdGhpcyBmZWF0dXJlLgor
CisgICAgICAgICogZmFzdC9mb3Jtcy9zZWxlY3QtbXVsdGlwbGUtZWxlbWVudHMtd2l0aC1tb3Vz
ZS1kcmFnLXdpdGgtb3B0aW9ucy1sZXNzLXRoYW4tc2l6ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZm9ybXMvc2VsZWN0LW11bHRpcGxlLWVsZW1lbnRzLXdpdGgtbW91c2Ut
ZHJhZy13aXRoLW9wdGlvbnMtbGVzcy10aGFuLXNpemUuaHRtbDogQWRkZWQuCisKIDIwMTEtMTEt
MDkgIFl1dGEgS2l0YW11cmEgIDx5dXRha0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9t
aXVtXSBVbnJldmlld2VkLCB1cGRhdGUgdGVzdCBleHBlY3RhdGlvbiBmb3IgbGlzdGJveC1jbGlw
Lmh0bWwgb24gTWFjLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zZWxlY3Qt
bXVsdGlwbGUtZWxlbWVudHMtd2l0aC1tb3VzZS1kcmFnLXdpdGgtb3B0aW9ucy1sZXNzLXRoYW4t
c2l6ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NlbGVjdC1tdWx0aXBs
ZS1lbGVtZW50cy13aXRoLW1vdXNlLWRyYWctd2l0aC1vcHRpb25zLWxlc3MtdGhhbi1zaXplLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNzU2ZmRjCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zZWxlY3QtbXVsdGlwbGUt
ZWxlbWVudHMtd2l0aC1tb3VzZS1kcmFnLXdpdGgtb3B0aW9ucy1sZXNzLXRoYW4tc2l6ZS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorU2VsZWN0IG11bHRpcGxlIG9wdGlvbiB3aXRoIG1v
dXNlIGRyYWcgd2l0aCBuby4gb2Ygb3B0aW9ucyBsZXNzIHRoYW4gdGhlIHNpemUgYXR0cmlidXRl
CisKKworUEFTUyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2VsZWN0SWQiKS5vcHRpb25zWzBd
LnNlbGVjdGVkIGlzIHRydWUKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlbGVjdElk
Iikub3B0aW9uc1sxXS5zZWxlY3RlZCBpcyB0cnVlCitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzZWxlY3RJZCIpLm9wdGlvbnNbMl0uc2VsZWN0ZWQgaXMgdHJ1ZQorUEFTUyBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic2VsZWN0SWQiKS5vcHRpb25zWzNdLnNlbGVjdGVkIGlzIHRydWUK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NlbGVjdC1tdWx0aXBsZS1lbGVtZW50cy13
aXRoLW1vdXNlLWRyYWctd2l0aC1vcHRpb25zLWxlc3MtdGhhbi1zaXplLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL3NlbGVjdC1tdWx0aXBsZS1lbGVtZW50cy13aXRoLW1vdXNlLWRyYWct
d2l0aC1vcHRpb25zLWxlc3MtdGhhbi1zaXplLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uMjc4ZGVmZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvc2VsZWN0LW11bHRpcGxlLWVsZW1lbnRzLXdpdGgtbW91c2UtZHJhZy13aXRoLW9wdGlv
bnMtbGVzcy10aGFuLXNpemUuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8c2NyaXB0IHNyYz0iLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzx0aXRsZT48L3RpdGxlPgor
PC9oZWFkPgorPGJvZHk+Cis8cD5TZWxlY3QgbXVsdGlwbGUgb3B0aW9uIHdpdGggbW91c2UgZHJh
ZyB3aXRoIG5vLiBvZiBvcHRpb25zIGxlc3MgdGhhbiB0aGUgc2l6ZSBhdHRyaWJ1dGU8L3A+CisK
KzxzZWxlY3QgbXVsdGlwbGU9Im11bHRpcGxlIiBzaXplPSI3IiBpZD0ic2VsZWN0SWQiPgorICAg
IDxvcHRpb24gdmFsdWU9IlAxIj5QMTwvb3B0aW9uPgorICAgIDxvcHRpb24gdmFsdWU9IlAyIj5Q
Mjwvb3B0aW9uPgorICAgIDxvcHRpb24gdmFsdWU9IlAzIj5QMzwvb3B0aW9uPgorICAgIDxvcHRp
b24gdmFsdWU9IlA0Ij5QNDwvb3B0aW9uPgorICAgIDxvcHRpb24gdmFsdWU9IlA1Ij5QNTwvb3B0
aW9uPgorPC9zZWxlY3Q+CisKKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKyAg
ICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgICAgIHZhciBzZWxlY3RPYmplY3QgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2VsZWN0SWQiKTsKKworICAgICAgICB2YXIgb3B0aW9u
SGVpZ2h0ID0gIHNlbGVjdE9iamVjdC5vZmZzZXRIZWlnaHQgLyBzZWxlY3RPYmplY3Quc2l6ZTsK
KyAgICAgICAgdmFyIHggPSBzZWxlY3RPYmplY3Qub2Zmc2V0TGVmdCArIHNlbGVjdE9iamVjdC5v
ZmZzZXRXaWR0aCAvIDI7CisgICAgICAgIHZhciB5ID0gc2VsZWN0T2JqZWN0Lm9mZnNldFRvcCAr
IG9wdGlvbkhlaWdodCAvIDI7CisKKyAgICAgICAgZXZlbnRTZW5kZXIuZHJhZ01vZGUgPSBmYWxz
ZTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oeCwgeSk7CisgICAgICAgIGV2ZW50
U2VuZGVyLm1vdXNlRG93bigpOworICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4LCB5
ICsgKG9wdGlvbkhlaWdodCAqIDMpKTsKKworICAgICAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7
CisKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCA0OyBpKyspIHsKKyAgICAgICAgICAgIHNo
b3VsZEJlVHJ1ZSgiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJzZWxlY3RJZFwiKS5vcHRpb25z
WyIgKyBpICsgIl0uc2VsZWN0ZWQiKTsKKyAgICAgICAgfQorICAgIH0gZWxzZSB7CisgICAgICAg
IGRlYnVnKCJUZXN0IG1hbnVhbGx5IGlmIG9wdGlvbnMgYXJlIGdldHRpbmcgc2VsZWN0ZWQgYnkg
ZHJhZ2dpbmcgb24gdGhlIHNlbGVjdCBlbGVtZW50LiIpOworICAgIH0KKworc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IDQ3Y2ZhOWUuLjVmNjc0NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMS0xMS0x
MCAgUmFrZXNoIEtOICA8cmFrZXNoLmtuQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBDYW5ub3Qg
c2VsZWN0IG11bHRpcGxlIG9wdGlvbnMgYnkgbW91c2UgZHJhZ2dpbmcgaW4gPHNlbGVjdCBtdWx0
aXBsZT1tdWx0aXBsZSBzaXplPTc+IGxpc3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTcwNDk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgU2VsZWN0IE11bHRpcGxlIG9wdGlvbnMgaW4gYSBzZWxlY3QgZWxl
bWVudCB3aXRoIGEgbW91c2UgZHJhZyB3aGVuIG5vLiBvZiBvcHRpb25zCisgICAgICAgIGFyZSBs
ZXNzIHRoYW4gdGhlIG5vLiBzcGVjaWZpZWQgaW4gc2l6ZSBhdHRyaWJ1dGUuCisgICAgICAgIE90
aGVyIGJyb3dzZXJzKElFLCBPcGVyYSwgRmlyZWZveCkgc3VwcG9ydCB0aGlzIGZlYXR1cmUuCisK
KyAgICAgICAgVGVzdDogZmFzdC9mb3Jtcy9zZWxlY3QtbXVsdGlwbGUtZWxlbWVudHMtd2l0aC1t
b3VzZS1kcmFnLXdpdGgtb3B0aW9ucy1sZXNzLXRoYW4tc2l6ZS5odG1sCisKKyAgICAgICAgKiBo
dG1sL0hUTUxTZWxlY3RFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTZWxlY3RF
bGVtZW50OjpsaXN0Qm94RGVmYXVsdEV2ZW50SGFuZGxlcik6CisgICAgICAgIEhhbmRsZWQgbW91
c2UgbW92ZSBldmVudCB3aXRoIExlZnQgYnV0dG9uIHByZXNzZWQuIFdlIHNlbGVjdCB0aGUgb3B0
aW9ucyB1bmRlciBtb3VzZQorICAgICAgICB3aGVuIG1vdXNlIGRyYWcgaGFwcGVucyBhbmQgdGhl
IHNlbGVjdCBlbGVtZW50IGNhbm5vdCBhdXRvc2Nyb2xsLgorCiAyMDExLTExLTA5ICBOaWtvbGFz
IFppbW1lcm1hbm4gIDxuemltbWVybWFubkByaW0uY29tPgogCiAgICAgICAgIHN2ZyBmYWlsdXJl
cyBhZnRlciByOTk1NjEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVj
dEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHAK
aW5kZXggNjViZmY1Yy4uYzQxNGRlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MU2VsZWN0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0
RWxlbWVudC5jcHAKQEAgLTEyMDMsNiArMTIwMywyMSBAQCB2b2lkIEhUTUxTZWxlY3RFbGVtZW50
OjpsaXN0Qm94RGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCogZXZlbnQpCiAKICAgICAgICAgICAg
IGV2ZW50LT5zZXREZWZhdWx0SGFuZGxlZCgpOwogICAgICAgICB9CisgICAgfSBlbHNlIGlmIChl
dmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5tb3VzZW1vdmVFdmVudCAmJiBldmVudC0+aXNN
b3VzZUV2ZW50KCkgJiYgIXRvUmVuZGVyQm94KHJlbmRlcmVyKCkpLT5jYW5CZVNjcm9sbGVkQW5k
SGFzU2Nyb2xsYWJsZUFyZWEoKSkgeworICAgICAgICBNb3VzZUV2ZW50KiBtb3VzZUV2ZW50ID0g
c3RhdGljX2Nhc3Q8TW91c2VFdmVudCo+KGV2ZW50KTsKKyAgICAgICAgaWYgKG1vdXNlRXZlbnQt
PmJ1dHRvbigpICE9IExlZnRCdXR0b24gfHwgIW1vdXNlRXZlbnQtPmJ1dHRvbkRvd24oKSkKKyAg
ICAgICAgICAgIHJldHVybjsKKworICAgICAgICBJbnRQb2ludCBsb2NhbE9mZnNldCA9IHJvdW5k
ZWRJbnRQb2ludChyZW5kZXJlcigpLT5hYnNvbHV0ZVRvTG9jYWwobW91c2VFdmVudC0+YWJzb2x1
dGVMb2NhdGlvbigpLCBmYWxzZSwgdHJ1ZSkpOworICAgICAgICBpbnQgbGlzdEluZGV4ID0gdG9S
ZW5kZXJMaXN0Qm94KHJlbmRlcmVyKCkpLT5saXN0SW5kZXhBdE9mZnNldCh0b1NpemUobG9jYWxP
ZmZzZXQpKTsKKyAgICAgICAgaWYgKGxpc3RJbmRleCA+PSAwKSB7CisgICAgICAgICAgICBpZiAo
bV9tdWx0aXBsZSkgeworICAgICAgICAgICAgICAgIHNldEFjdGl2ZVNlbGVjdGlvbkVuZEluZGV4
KGxpc3RJbmRleCk7CisgICAgICAgICAgICAgICAgdXBkYXRlTGlzdEJveFNlbGVjdGlvbihmYWxz
ZSk7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICB1cGRhdGVTZWxlY3RlZFN0
YXRlKGxpc3RJbmRleCwgbW91c2VFdmVudC0+Y3RybEtleSgpLCBtb3VzZUV2ZW50LT5zaGlmdEtl
eSgpKTsKKyAgICAgICAgICAgIGV2ZW50LT5zZXREZWZhdWx0SGFuZGxlZCgpOworICAgICAgICB9
CiAgICAgfSBlbHNlIGlmIChldmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5tb3VzZXVwRXZl
bnQgJiYgZXZlbnQtPmlzTW91c2VFdmVudCgpICYmIHN0YXRpY19jYXN0PE1vdXNlRXZlbnQqPihl
dmVudCktPmJ1dHRvbigpID09IExlZnRCdXR0b24gJiYgZG9jdW1lbnQoKS0+ZnJhbWUoKS0+ZXZl
bnRIYW5kbGVyKCktPmF1dG9zY3JvbGxSZW5kZXJlcigpICE9IHJlbmRlcmVyKCkpIHsKICAgICAg
ICAgLy8gVGhpcyBtYWtlcyBzdXJlIHdlIGZpcmUgZGlzcGF0Y2hGb3JtQ29udHJvbENoYW5nZUV2
ZW50IGZvciBhIHNpbmdsZQogICAgICAgICAvLyBjbGljay4gRm9yIGRyYWcgc2VsZWN0aW9uLCBv
bkNoYW5nZSB3aWxsIGZpcmUgd2hlbiB0aGUgYXV0b3Njcm9sbAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114672</attachid>
            <date>2011-11-11 04:46:45 -0800</date>
            <delta_ts>2011-11-13 23:50:07 -0800</delta_ts>
            <desc>Updated patch</desc>
            <filename>70496.patch</filename>
            <type>text/plain</type>
            <size>11990</size>
            <attacher name="Rakesh">rakeshchaitan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk5OTQ1KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMTEtMTEgIFJha2VzaCBL
TiAgPHJha2VzaC5rbkBtb3Rvcm9sYS5jb20+CisKKyAgICAgICAgQ2Fubm90IHNlbGVjdCBtdWx0
aXBsZSBvcHRpb25zIGJ5IG1vdXNlIGRyYWdnaW5nIGluIDxzZWxlY3QgbXVsdGlwbGU9Im11bHRp
cGxlIiBzaXplPSI3Ij4gbGlzdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NzA0OTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBTZWxlY3QgTXVsdGlwbGUgb3B0aW9ucyBpbiBhIHNlbGVjdCBlbGVtZW50IHdp
dGggYSBtb3VzZSBkcmFnIHdoZW4gbm8uIG9mIG9wdGlvbnMKKyAgICAgICAgYXJlIGxlc3MgdGhh
biB0aGUgbm8uIHNwZWNpZmllZCBpbiBzaXplIGF0dHJpYnV0ZS4KKyAgICAgICAgT3RoZXIgYnJv
d3NlcnMoSUUsIE9wZXJhLCBGaXJlZm94KSBzdXBwb3J0IHRoaXMgZmVhdHVyZQorCisgICAgICAg
IFRlc3Q6IGZhc3QvZm9ybXMvc2VsZWN0LW11bHRpcGxlLWVsZW1lbnRzLXdpdGgtbW91c2UtZHJh
Zy13aXRoLW9wdGlvbnMtbGVzcy10aGFuLXNpemUuaHRtbAorCisgICAgICAgICogaHRtbC9IVE1M
U2VsZWN0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6
bGlzdEJveERlZmF1bHRFdmVudEhhbmRsZXIpOgorICAgICAgICBIYW5kbGVkIG1vdXNlIG1vdmUg
ZXZlbnQgd2l0aCBMZWZ0IGJ1dHRvbiBwcmVzc2VkLiBXZSBzZWxlY3QgdGhlIG9wdGlvbnMgdW5k
ZXIgbW91c2UKKyAgICAgICAgd2hlbiBtb3VzZSBkcmFnIGhhcHBlbnMgYW5kIHRoZSBzZWxlY3Qg
ZWxlbWVudCBjYW5ub3QgYXV0b3Njcm9sbC4KKwogMjAxMS0xMS0xMSAgQWxwaGEgTGFtICA8aGNs
YW1AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gc2Nyb2xsaW5nIGlzIGJyb2tl
biB3aXRoIGNvbXBvc2l0b3IgdGhyZWFkCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxT
ZWxlY3RFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxT
ZWxlY3RFbGVtZW50LmNwcAkocmV2aXNpb24gOTk4MjQpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxTZWxlY3RFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIwMyw2ICsxMjAzLDIx
IEBACiAKICAgICAgICAgICAgIGV2ZW50LT5zZXREZWZhdWx0SGFuZGxlZCgpOwogICAgICAgICB9
CisgICAgfSBlbHNlIGlmIChldmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5tb3VzZW1vdmVF
dmVudCAmJiBldmVudC0+aXNNb3VzZUV2ZW50KCkgJiYgIXRvUmVuZGVyQm94KHJlbmRlcmVyKCkp
LT5jYW5CZVNjcm9sbGVkQW5kSGFzU2Nyb2xsYWJsZUFyZWEoKSkgeworICAgICAgICBNb3VzZUV2
ZW50KiBtb3VzZUV2ZW50ID0gc3RhdGljX2Nhc3Q8TW91c2VFdmVudCo+KGV2ZW50KTsKKyAgICAg
ICAgaWYgKG1vdXNlRXZlbnQtPmJ1dHRvbigpICE9IExlZnRCdXR0b24gfHwgIW1vdXNlRXZlbnQt
PmJ1dHRvbkRvd24oKSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBJbnRQb2ludCBs
b2NhbE9mZnNldCA9IHJvdW5kZWRJbnRQb2ludChyZW5kZXJlcigpLT5hYnNvbHV0ZVRvTG9jYWwo
bW91c2VFdmVudC0+YWJzb2x1dGVMb2NhdGlvbigpLCBmYWxzZSwgdHJ1ZSkpOworICAgICAgICBp
bnQgbGlzdEluZGV4ID0gdG9SZW5kZXJMaXN0Qm94KHJlbmRlcmVyKCkpLT5saXN0SW5kZXhBdE9m
ZnNldCh0b1NpemUobG9jYWxPZmZzZXQpKTsKKyAgICAgICAgaWYgKGxpc3RJbmRleCA+PSAwKSB7
CisgICAgICAgICAgICBpZiAobV9tdWx0aXBsZSkgeworICAgICAgICAgICAgICAgIHNldEFjdGl2
ZVNlbGVjdGlvbkVuZEluZGV4KGxpc3RJbmRleCk7CisgICAgICAgICAgICAgICAgdXBkYXRlTGlz
dEJveFNlbGVjdGlvbihmYWxzZSk7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAg
ICB1cGRhdGVTZWxlY3RlZFN0YXRlKGxpc3RJbmRleCwgZmFsc2UsIGZhbHNlKTsKKyAgICAgICAg
ICAgIGV2ZW50LT5zZXREZWZhdWx0SGFuZGxlZCgpOworICAgICAgICB9CiAgICAgfSBlbHNlIGlm
IChldmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5tb3VzZXVwRXZlbnQgJiYgZXZlbnQtPmlz
TW91c2VFdmVudCgpICYmIHN0YXRpY19jYXN0PE1vdXNlRXZlbnQqPihldmVudCktPmJ1dHRvbigp
ID09IExlZnRCdXR0b24gJiYgZG9jdW1lbnQoKS0+ZnJhbWUoKS0+ZXZlbnRIYW5kbGVyKCktPmF1
dG9zY3JvbGxSZW5kZXJlcigpICE9IHJlbmRlcmVyKCkpIHsKICAgICAgICAgLy8gVGhpcyBtYWtl
cyBzdXJlIHdlIGZpcmUgZGlzcGF0Y2hGb3JtQ29udHJvbENoYW5nZUV2ZW50IGZvciBhIHNpbmds
ZQogICAgICAgICAvLyBjbGljay4gRm9yIGRyYWcgc2VsZWN0aW9uLCBvbkNoYW5nZSB3aWxsIGZp
cmUgd2hlbiB0aGUgYXV0b3Njcm9sbApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zZWxl
Y3QtbXVsdGlwbGUtZWxlbWVudHMtd2l0aC1tb3VzZS1kcmFnLXdpdGgtb3B0aW9ucy1sZXNzLXRo
YW4tc2l6ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9zZWxlY3QtbXVsdGlwbGUtZWxlbWVudHMtd2l0aC1tb3VzZS1kcmFnLXdpdGgtb3B0aW9ucy1s
ZXNzLXRoYW4tc2l6ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3NlbGVjdC1tdWx0aXBsZS1lbGVtZW50cy13aXRoLW1vdXNlLWRyYWctd2l0aC1v
cHRpb25zLWxlc3MtdGhhbi1zaXplLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSw1MSBAQAorU2VsZWN0IG11bHRpcGxlIG9wdGlvbnMgd2l0aCBtb3VzZSBkcmFnIHdpdGggbm8u
IG9mIG9wdGlvbnMgbGVzcyB0aGFuIHRoZSBzaXplIGF0dHJpYnV0ZQorCitBbHNvIHRlc3QgbW91
c2UgZHJhZyBvbiBzZWxlY3QgZWxlbWVudCB3aXRob3V0IG11bHRpcGxlIGF0dHJpYnV0ZSBzZWxl
Y3Qgb25seSB0aGUgb3B0aW9uIHVuZGVyIG1vdXNlCisKKyAgCitUZXN0IGZvciBzZWxlY3QgZWxl
bWVudCB3aXRoIG11bHRpcGxlIGF0dHJpYnV0ZQorRHJhZ2dpbmcgZG93bgorUEFTUyBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic2VsZWN0SWQiKS5vcHRpb25zWzBdLnNlbGVjdGVkIGlzIHRydWUK
K1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlbGVjdElkIikub3B0aW9uc1sxXS5zZWxl
Y3RlZCBpcyB0cnVlCitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZWxlY3RJZCIpLm9w
dGlvbnNbMl0uc2VsZWN0ZWQgaXMgdHJ1ZQorUEFTUyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c2VsZWN0SWQiKS5vcHRpb25zWzNdLnNlbGVjdGVkIGlzIHRydWUKK0RyYWdnaW5nIHVwCitQQVNT
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZWxlY3RJZCIpLm9wdGlvbnNbMF0uc2VsZWN0ZWQg
aXMgdHJ1ZQorUEFTUyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2VsZWN0SWQiKS5vcHRpb25z
WzFdLnNlbGVjdGVkIGlzIHRydWUKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlbGVj
dElkIikub3B0aW9uc1syXS5zZWxlY3RlZCBpcyB0cnVlCitQQVNTIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzZWxlY3RJZCIpLm9wdGlvbnNbM10uc2VsZWN0ZWQgaXMgdHJ1ZQorRHJhZ2dpbmcg
d2l0aCBhZGRTZWxlY3Rpb25LZXkKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlbGVj
dElkIikub3B0aW9uc1swXS5zZWxlY3RlZCBpcyB0cnVlCitQQVNTIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzZWxlY3RJZCIpLm9wdGlvbnNbMV0uc2VsZWN0ZWQgaXMgdHJ1ZQorUEFTUyBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic2VsZWN0SWQiKS5vcHRpb25zWzJdLnNlbGVjdGVkIGlzIHRy
dWUKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlbGVjdElkIikub3B0aW9uc1szXS5z
ZWxlY3RlZCBpcyB0cnVlCitEcmFnZ2luZyB3aXRoIHJhbmdlU2VsZWN0aW9uS2V5CitQQVNTIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZWxlY3RJZCIpLm9wdGlvbnNbMF0uc2VsZWN0ZWQgaXMg
dHJ1ZQorUEFTUyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2VsZWN0SWQiKS5vcHRpb25zWzFd
LnNlbGVjdGVkIGlzIHRydWUKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlbGVjdElk
Iikub3B0aW9uc1syXS5zZWxlY3RlZCBpcyB0cnVlCitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzZWxlY3RJZCIpLm9wdGlvbnNbM10uc2VsZWN0ZWQgaXMgdHJ1ZQorVGVzdCBmb3Igc2Vs
ZWN0IGVsZW1lbnQgd2l0aG91dCBtdWx0aXBsZSBhdHRyaWJ1dGUKK0RyYWdnaW5nIGRvd24KK1BB
U1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vbm11bHRpcGxlIikub3B0aW9uc1swXS5zZWxl
Y3RlZCBpcyBmYWxzZQorUEFTUyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibm9ubXVsdGlwbGUi
KS5vcHRpb25zWzFdLnNlbGVjdGVkIGlzIGZhbHNlCitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJub25tdWx0aXBsZSIpLm9wdGlvbnNbMl0uc2VsZWN0ZWQgaXMgZmFsc2UKK1BBU1MgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vbm11bHRpcGxlIikub3B0aW9uc1szXS5zZWxlY3RlZCBp
cyB0cnVlCitEcmFnZ2luZyB1cAorUEFTUyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibm9ubXVs
dGlwbGUiKS5vcHRpb25zWzBdLnNlbGVjdGVkIGlzIHRydWUKK1BBU1MgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoIm5vbm11bHRpcGxlIikub3B0aW9uc1sxXS5zZWxlY3RlZCBpcyBmYWxzZQorUEFT
UyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibm9ubXVsdGlwbGUiKS5vcHRpb25zWzJdLnNlbGVj
dGVkIGlzIGZhbHNlCitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJub25tdWx0aXBsZSIp
Lm9wdGlvbnNbM10uc2VsZWN0ZWQgaXMgZmFsc2UKK0RyYWdnaW5nIHdpdGggYWRkU2VsZWN0aW9u
S2V5CitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJub25tdWx0aXBsZSIpLm9wdGlvbnNb
MF0uc2VsZWN0ZWQgaXMgZmFsc2UKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vbm11
bHRpcGxlIikub3B0aW9uc1sxXS5zZWxlY3RlZCBpcyBmYWxzZQorUEFTUyBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgibm9ubXVsdGlwbGUiKS5vcHRpb25zWzJdLnNlbGVjdGVkIGlzIGZhbHNlCitQ
QVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJub25tdWx0aXBsZSIpLm9wdGlvbnNbM10uc2Vs
ZWN0ZWQgaXMgdHJ1ZQorRHJhZ2dpbmcgd2l0aCByYW5nZVNlbGVjdGlvbktleQorUEFTUyBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgibm9ubXVsdGlwbGUiKS5vcHRpb25zWzBdLnNlbGVjdGVkIGlz
IHRydWUKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vbm11bHRpcGxlIikub3B0aW9u
c1sxXS5zZWxlY3RlZCBpcyBmYWxzZQorUEFTUyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibm9u
bXVsdGlwbGUiKS5vcHRpb25zWzJdLnNlbGVjdGVkIGlzIGZhbHNlCitQQVNTIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJub25tdWx0aXBsZSIpLm9wdGlvbnNbM10uc2VsZWN0ZWQgaXMgZmFsc2UK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NlbGVjdC1tdWx0aXBsZS1lbGVtZW50cy13aXRoLW1v
dXNlLWRyYWctd2l0aC1vcHRpb25zLWxlc3MtdGhhbi1zaXplLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zZWxlY3QtbXVsdGlwbGUtZWxlbWVudHMtd2l0aC1tb3Vz
ZS1kcmFnLXdpdGgtb3B0aW9ucy1sZXNzLXRoYW4tc2l6ZS5odG1sCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zZWxlY3QtbXVsdGlwbGUtZWxlbWVudHMtd2l0aC1tb3Vz
ZS1kcmFnLXdpdGgtb3B0aW9ucy1sZXNzLXRoYW4tc2l6ZS5odG1sCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDEyMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hh
cnNldD0idXRmLTgiPgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8dGl0bGU+PC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorPHA+U2VsZWN0
IG11bHRpcGxlIG9wdGlvbnMgd2l0aCBtb3VzZSBkcmFnIHdpdGggbm8uIG9mIG9wdGlvbnMgbGVz
cyB0aGFuIHRoZSBzaXplIGF0dHJpYnV0ZTwvcD4KKzxwPkFsc28gdGVzdCBtb3VzZSBkcmFnIG9u
IHNlbGVjdCBlbGVtZW50IHdpdGhvdXQgbXVsdGlwbGUgYXR0cmlidXRlIHNlbGVjdCBvbmx5IHRo
ZSBvcHRpb24gdW5kZXIgbW91c2U8L3A+CisKKzxzZWxlY3QgbXVsdGlwbGU9Im11bHRpcGxlIiBz
aXplPSI3IiBpZD0ic2VsZWN0SWQiPgorICAgIDxvcHRpb24gdmFsdWU9IlAxIj5QMTwvb3B0aW9u
PgorICAgIDxvcHRpb24gdmFsdWU9IlAyIj5QMjwvb3B0aW9uPgorICAgIDxvcHRpb24gdmFsdWU9
IlAzIj5QMzwvb3B0aW9uPgorICAgIDxvcHRpb24gdmFsdWU9IlA0Ij5QNDwvb3B0aW9uPgorICAg
IDxvcHRpb24gdmFsdWU9IlA1Ij5QNTwvb3B0aW9uPgorPC9zZWxlY3Q+CisKKzxzZWxlY3Qgc2l6
ZT0iNyIgaWQ9Im5vbm11bHRpcGxlIj4KKyAgICA8b3B0aW9uIHZhbHVlPSJQMSI+UDE8L29wdGlv
bj4KKyAgICA8b3B0aW9uIHZhbHVlPSJQMiI+UDI8L29wdGlvbj4KKyAgICA8b3B0aW9uIHZhbHVl
PSJQMyI+UDM8L29wdGlvbj4KKyAgICA8b3B0aW9uIHZhbHVlPSJQNCI+UDQ8L29wdGlvbj4KKyAg
ICA8b3B0aW9uIHZhbHVlPSJQNSI+UDU8L29wdGlvbj4KKzwvc2VsZWN0PgorCis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewor
ICAgICAgICBkZWJ1ZygiVGVzdCBmb3Igc2VsZWN0IGVsZW1lbnQgd2l0aCBtdWx0aXBsZSBhdHRy
aWJ1dGUiKTsKKyAgICAgICAgdmFyIHNlbGVjdE9iamVjdCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzZWxlY3RJZCIpOworCisgICAgICAgIHZhciBvcHRpb25IZWlnaHQgPSAgc2VsZWN0T2Jq
ZWN0Lm9mZnNldEhlaWdodCAvIHNlbGVjdE9iamVjdC5zaXplOworICAgICAgICB2YXIgeCA9IHNl
bGVjdE9iamVjdC5vZmZzZXRMZWZ0ICsgc2VsZWN0T2JqZWN0Lm9mZnNldFdpZHRoIC8gMjsKKyAg
ICAgICAgdmFyIHkgPSBzZWxlY3RPYmplY3Qub2Zmc2V0VG9wICsgb3B0aW9uSGVpZ2h0IC8gMjsK
KworICAgICAgICBldmVudFNlbmRlci5kcmFnTW9kZSA9IGZhbHNlOworICAgICAgICBldmVudFNl
bmRlci5tb3VzZU1vdmVUbyh4LCB5KTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7
CisKKyAgICAgICAgZGVidWcoIkRyYWdnaW5nIGRvd24iKTsKKyAgICAgICAgZXZlbnRTZW5kZXIu
bW91c2VEb3duKCk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHgsIHkgKyAob3B0
aW9uSGVpZ2h0ICogMykpOworICAgICAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7CisgICAgICAg
IHRlc3RPcHRpb25TZWxlY3Rpb24oMCwgNCwgInRydWUiLCAic2VsZWN0SWQiKTsKKworICAgICAg
ICBkZWJ1ZygiRHJhZ2dpbmcgdXAiKTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7
CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHgseSk7CisgICAgICAgIGV2ZW50U2Vu
ZGVyLm1vdXNlVXAoKTsKKyAgICAgICAgdGVzdE9wdGlvblNlbGVjdGlvbigwLCA0LCAidHJ1ZSIs
ICJzZWxlY3RJZCIpOworCisgICAgICAgIGRlYnVnKCJEcmFnZ2luZyB3aXRoIGFkZFNlbGVjdGlv
bktleSIpCisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOworICAgICAgICBldmVudFNl
bmRlci5tb3VzZURvd24oMCwgImFkZFNlbGVjdGlvbktleSIpOworICAgICAgICBldmVudFNlbmRl
ci5tb3VzZU1vdmVUbyh4LCB5ICsgKG9wdGlvbkhlaWdodCAqIDMpKTsKKyAgICAgICAgZXZlbnRT
ZW5kZXIubW91c2VVcCgwLCAiYWRkU2VsZWN0aW9uS2V5Iik7CisgICAgICAgIHRlc3RPcHRpb25T
ZWxlY3Rpb24oMCwgNCwgInRydWUiLCAic2VsZWN0SWQiKTsKKworICAgICAgICBkZWJ1ZygiRHJh
Z2dpbmcgd2l0aCByYW5nZVNlbGVjdGlvbktleSIpOworICAgICAgICBldmVudFNlbmRlci5tb3Vz
ZURvd24oKTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKDAsICJyYW5nZVNlbGVjdGlv
bktleSIpOworICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4LHkpOworICAgICAgICBl
dmVudFNlbmRlci5tb3VzZVVwKDAsICJyYW5nZVNlbGVjdGlvbktleSIpOworICAgICAgICB0ZXN0
T3B0aW9uU2VsZWN0aW9uKDAsIDQsICJ0cnVlIiwgInNlbGVjdElkIik7CisKKyAgICAgICAgZGVi
dWcoIlRlc3QgZm9yIHNlbGVjdCBlbGVtZW50IHdpdGhvdXQgbXVsdGlwbGUgYXR0cmlidXRlIik7
CisgICAgICAgIHZhciBub25NdWx0aXBsZU9iamVjdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJub25tdWx0aXBsZSIpOworICAgICAgICB2YXIgb3B0aW9uSGVpZ2h0ID0gIG5vbk11bHRpcGxl
T2JqZWN0Lm9mZnNldEhlaWdodCAvIG5vbk11bHRpcGxlT2JqZWN0LnNpemU7CisgICAgICAgIHgg
PSBub25NdWx0aXBsZU9iamVjdC5vZmZzZXRMZWZ0ICsgbm9uTXVsdGlwbGVPYmplY3Qub2Zmc2V0
V2lkdGggLyAyOworICAgICAgICB5ID0gbm9uTXVsdGlwbGVPYmplY3Qub2Zmc2V0VG9wICsgb3B0
aW9uSGVpZ2h0IC8gMjsKKworICAgICAgICBldmVudFNlbmRlci5kcmFnTW9kZSA9IGZhbHNlOwor
ICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4LCB5KTsKKyAgICAgICAgZXZlbnRTZW5k
ZXIubW91c2VEb3duKCk7CisKKyAgICAgICAgZGVidWcoIkRyYWdnaW5nIGRvd24iKTsKKyAgICAg
ICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92
ZVRvKHgsIHkgKyAob3B0aW9uSGVpZ2h0ICogMykpOworICAgICAgICBldmVudFNlbmRlci5tb3Vz
ZVVwKCk7CisgICAgICAgIHRlc3RPcHRpb25TZWxlY3Rpb24oMCwgMywgImZhbHNlIiwgIm5vbm11
bHRpcGxlIik7CisgICAgICAgIHRlc3RPcHRpb25TZWxlY3Rpb24oMywgNCwgInRydWUiLCAibm9u
bXVsdGlwbGUiKTsKKworICAgICAgICBkZWJ1ZygiRHJhZ2dpbmcgdXAiKTsKKyAgICAgICAgZXZl
bnRTZW5kZXIubW91c2VEb3duKCk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHgs
eSk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKKyAgICAgICAgdGVzdE9wdGlvblNl
bGVjdGlvbigwLCAxLCAidHJ1ZSIsICJub25tdWx0aXBsZSIpOworICAgICAgICB0ZXN0T3B0aW9u
U2VsZWN0aW9uKDEsIDQsICJmYWxzZSIsICJub25tdWx0aXBsZSIpOworCisgICAgICAgIGRlYnVn
KCJEcmFnZ2luZyB3aXRoIGFkZFNlbGVjdGlvbktleSIpCisgICAgICAgIGV2ZW50U2VuZGVyLm1v
dXNlRG93bigpOworICAgICAgICBldmVudFNlbmRlci5tb3VzZURvd24oMCwgImFkZFNlbGVjdGlv
bktleSIpOworICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4LCB5ICsgKG9wdGlvbkhl
aWdodCAqIDMpKTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VVcCgwLCAiYWRkU2VsZWN0aW9u
S2V5Iik7CisgICAgICAgIHRlc3RPcHRpb25TZWxlY3Rpb24oMCwgMywgImZhbHNlIiwgIm5vbm11
bHRpcGxlIik7CisgICAgICAgIHRlc3RPcHRpb25TZWxlY3Rpb24oMywgNCwgInRydWUiLCAibm9u
bXVsdGlwbGUiKTsKKworICAgICAgICBkZWJ1ZygiRHJhZ2dpbmcgd2l0aCByYW5nZVNlbGVjdGlv
bktleSIpOworICAgICAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICAgICAgZXZlbnRT
ZW5kZXIubW91c2VEb3duKDAsICJyYW5nZVNlbGVjdGlvbktleSIpOworICAgICAgICBldmVudFNl
bmRlci5tb3VzZU1vdmVUbyh4LHkpOworICAgICAgICBldmVudFNlbmRlci5tb3VzZVVwKDAsICJy
YW5nZVNlbGVjdGlvbktleSIpOworICAgICAgICB0ZXN0T3B0aW9uU2VsZWN0aW9uKDAsIDEsICJ0
cnVlIiwgIm5vbm11bHRpcGxlIik7CisgICAgICAgIHRlc3RPcHRpb25TZWxlY3Rpb24oMSwgNCwg
ImZhbHNlIiwgIm5vbm11bHRpcGxlIik7CisKKyAgICB9IGVsc2UgeworICAgICAgICBkZWJ1Zygi
VGVzdCBtYW51YWxseSBpZiBvcHRpb25zIGFyZSBnZXR0aW5nIHNlbGVjdGVkIGJ5IGRyYWdnaW5n
IG9uIHRoZSBzZWxlY3QgZWxlbWVudC4iKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiB0ZXN0T3B0
aW9uU2VsZWN0aW9uKHN0YXJ0LCBlbmQsIGNyaXRlcmlhLCBlbGVtZW50KSB7CisgICAgICAgIGZv
ciAodmFyIGkgPSBzdGFydDsgaSA8IGVuZDsgaSsrKSB7CisgICAgICAgICAgICBzaG91bGRCZSgi
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCIiICsgZWxlbWVudCArICJcIikub3B0aW9uc1siICsg
aSArICJdLnNlbGVjdGVkIiwgY3JpdGVyaWEpOworICAgICAgICB9CisgICAgfQorCisgICAgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5n
ZUxvZwkocmV2aXNpb24gOTk5NDUpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAxMS0xMS0xMSAgUmFrZXNoIEtOICA8cmFrZXNoLmtu
QG1vdG9yb2xhLmNvbT4KKworICAgICAgICBDYW5ub3Qgc2VsZWN0IG11bHRpcGxlIG9wdGlvbnMg
YnkgbW91c2UgZHJhZ2dpbmcgaW4gPHNlbGVjdCBtdWx0aXBsZT0ibXVsdGlwbGUiIHNpemU9Ijci
PiBsaXN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03
MDQ5NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNl
bGVjdCBNdWx0aXBsZSBvcHRpb25zIGluIGEgc2VsZWN0IGVsZW1lbnQgd2l0aCBhIG1vdXNlIGRy
YWcgd2hlbiBuby4gb2Ygb3B0aW9ucworICAgICAgICBhcmUgbGVzcyB0aGFuIHRoZSBuby4gc3Bl
Y2lmaWVkIGluIHNpemUgYXR0cmlidXRlLgorICAgICAgICBPdGhlciBicm93c2VycyhJRSwgT3Bl
cmEsIEZpcmVmb3gpIHN1cHBvcnQgdGhpcyBmZWF0dXJlCisKKyAgICAgICAgKiBmYXN0L2Zvcm1z
L3NlbGVjdC1tdWx0aXBsZS1lbGVtZW50cy13aXRoLW1vdXNlLWRyYWctd2l0aC1vcHRpb25zLWxl
c3MtdGhhbi1zaXplLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9z
ZWxlY3QtbXVsdGlwbGUtZWxlbWVudHMtd2l0aC1tb3VzZS1kcmFnLXdpdGgtb3B0aW9ucy1sZXNz
LXRoYW4tc2l6ZS5odG1sOiBBZGRlZC4KKwogMjAxMS0xMS0xMSAgVG9ueSBHZW50aWxjb3JlICA8
dG9ueWdAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIENocm9taXVtIGV4cGVjdGF0aW9ucyBmb3Ig
bmV3IHRlc3QgaW4gcjk5OTM3Lgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114891</attachid>
            <date>2011-11-13 23:53:22 -0800</date>
            <delta_ts>2011-11-14 01:18:40 -0800</delta_ts>
            <desc>Updated patch</desc>
            <filename>70496.patch</filename>
            <type>text/plain</type>
            <size>12009</size>
            <attacher name="Rakesh">rakeshchaitan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwMDA5OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDExLTExLTEzICBSYWtlc2gg
S04gIDxyYWtlc2gua25AbW90b3JvbGEuY29tPgorCisgICAgICAgIENhbm5vdCBzZWxlY3QgbXVs
dGlwbGUgb3B0aW9ucyBieSBtb3VzZSBkcmFnZ2luZyBpbiA8c2VsZWN0IG11bHRpcGxlPSJtdWx0
aXBsZSIgc2l6ZT0iNyI+IGxpc3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTcwNDk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgU2VsZWN0IE11bHRpcGxlIG9wdGlvbnMgaW4gYSBzZWxlY3QgZWxlbWVudCB3
aXRoIGEgbW91c2UgZHJhZyB3aGVuIG5vLiBvZiBvcHRpb25zCisgICAgICAgIGFyZSBsZXNzIHRo
YW4gdGhlIG5vLiBzcGVjaWZpZWQgaW4gc2l6ZSBhdHRyaWJ1dGUuCisgICAgICAgIE90aGVyIGJy
b3dzZXJzKElFLCBPcGVyYSwgRmlyZWZveCkgc3VwcG9ydCB0aGlzIGZlYXR1cmUKKworICAgICAg
ICBUZXN0OiBmYXN0L2Zvcm1zL3NlbGVjdC1tdWx0aXBsZS1lbGVtZW50cy13aXRoLW1vdXNlLWRy
YWctd2l0aC1vcHRpb25zLWxlc3MtdGhhbi1zaXplLmh0bWwKKworICAgICAgICAqIGh0bWwvSFRN
TFNlbGVjdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6
Omxpc3RCb3hEZWZhdWx0RXZlbnRIYW5kbGVyKToKKyAgICAgICAgSGFuZGxlZCBtb3VzZSBtb3Zl
IGV2ZW50IHdpdGggTGVmdCBidXR0b24gcHJlc3NlZC4gV2Ugc2VsZWN0IHRoZSBvcHRpb25zIHVu
ZGVyIG1vdXNlCisgICAgICAgIHdoZW4gbW91c2UgZHJhZyBoYXBwZW5zIGFuZCB0aGUgc2VsZWN0
IGVsZW1lbnQgY2Fubm90IGF1dG9zY3JvbGwuCisKIDIwMTEtMTEtMTMgIE5hdCBEdWNhICA8bmR1
Y2FAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gTGF5ZXJSZW5kZXJlckNocm9t
aXVtOjppbml0aWFsaXplIHNob3VsZCBmYWlsIHdoZW4gR2FwaGljc0NvbnRleHQzRDo6bWFrZUN1
cnJlbnQgZmFpbHMKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQu
Y3BwCShyZXZpc2lvbiA5OTgyNCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVs
ZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjAzLDYgKzEyMDMsMjEgQEAKIAogICAgICAg
ICAgICAgZXZlbnQtPnNldERlZmF1bHRIYW5kbGVkKCk7CiAgICAgICAgIH0KKyAgICB9IGVsc2Ug
aWYgKGV2ZW50LT50eXBlKCkgPT0gZXZlbnROYW1lcygpLm1vdXNlbW92ZUV2ZW50ICYmIGV2ZW50
LT5pc01vdXNlRXZlbnQoKSAmJiAhdG9SZW5kZXJCb3gocmVuZGVyZXIoKSktPmNhbkJlU2Nyb2xs
ZWRBbmRIYXNTY3JvbGxhYmxlQXJlYSgpKSB7CisgICAgICAgIE1vdXNlRXZlbnQqIG1vdXNlRXZl
bnQgPSBzdGF0aWNfY2FzdDxNb3VzZUV2ZW50Kj4oZXZlbnQpOworICAgICAgICBpZiAobW91c2VF
dmVudC0+YnV0dG9uKCkgIT0gTGVmdEJ1dHRvbiB8fCAhbW91c2VFdmVudC0+YnV0dG9uRG93bigp
KQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIEludFBvaW50IGxvY2FsT2Zmc2V0ID0g
cm91bmRlZEludFBvaW50KHJlbmRlcmVyKCktPmFic29sdXRlVG9Mb2NhbChtb3VzZUV2ZW50LT5h
YnNvbHV0ZUxvY2F0aW9uKCksIGZhbHNlLCB0cnVlKSk7CisgICAgICAgIGludCBsaXN0SW5kZXgg
PSB0b1JlbmRlckxpc3RCb3gocmVuZGVyZXIoKSktPmxpc3RJbmRleEF0T2Zmc2V0KHRvU2l6ZShs
b2NhbE9mZnNldCkpOworICAgICAgICBpZiAobGlzdEluZGV4ID49IDApIHsKKyAgICAgICAgICAg
IGlmIChtX211bHRpcGxlKSB7CisgICAgICAgICAgICAgICAgc2V0QWN0aXZlU2VsZWN0aW9uRW5k
SW5kZXgobGlzdEluZGV4KTsKKyAgICAgICAgICAgICAgICB1cGRhdGVMaXN0Qm94U2VsZWN0aW9u
KGZhbHNlKTsKKyAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIHVwZGF0ZVNlbGVj
dGVkU3RhdGUobGlzdEluZGV4LCBmYWxzZSwgZmFsc2UpOworICAgICAgICAgICAgZXZlbnQtPnNl
dERlZmF1bHRIYW5kbGVkKCk7CisgICAgICAgIH0KICAgICB9IGVsc2UgaWYgKGV2ZW50LT50eXBl
KCkgPT0gZXZlbnROYW1lcygpLm1vdXNldXBFdmVudCAmJiBldmVudC0+aXNNb3VzZUV2ZW50KCkg
JiYgc3RhdGljX2Nhc3Q8TW91c2VFdmVudCo+KGV2ZW50KS0+YnV0dG9uKCkgPT0gTGVmdEJ1dHRv
biAmJiBkb2N1bWVudCgpLT5mcmFtZSgpLT5ldmVudEhhbmRsZXIoKS0+YXV0b3Njcm9sbFJlbmRl
cmVyKCkgIT0gcmVuZGVyZXIoKSkgewogICAgICAgICAvLyBUaGlzIG1ha2VzIHN1cmUgd2UgZmly
ZSBkaXNwYXRjaEZvcm1Db250cm9sQ2hhbmdlRXZlbnQgZm9yIGEgc2luZ2xlCiAgICAgICAgIC8v
IGNsaWNrLiBGb3IgZHJhZyBzZWxlY3Rpb24sIG9uQ2hhbmdlIHdpbGwgZmlyZSB3aGVuIHRoZSBh
dXRvc2Nyb2xsCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NlbGVjdC1tdWx0aXBsZS1l
bGVtZW50cy13aXRoLW1vdXNlLWRyYWctd2l0aC1vcHRpb25zLWxlc3MtdGhhbi1zaXplLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NlbGVjdC1tdWx0
aXBsZS1lbGVtZW50cy13aXRoLW1vdXNlLWRyYWctd2l0aC1vcHRpb25zLWxlc3MtdGhhbi1zaXpl
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2Vs
ZWN0LW11bHRpcGxlLWVsZW1lbnRzLXdpdGgtbW91c2UtZHJhZy13aXRoLW9wdGlvbnMtbGVzcy10
aGFuLXNpemUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUxIEBACitTZWxl
Y3QgbXVsdGlwbGUgb3B0aW9ucyB3aXRoIG1vdXNlIGRyYWcgd2l0aCBuby4gb2Ygb3B0aW9ucyBs
ZXNzIHRoYW4gdGhlIHNpemUgYXR0cmlidXRlCisKK0Fsc28gdGVzdCBtb3VzZSBkcmFnIG9uIHNl
bGVjdCBlbGVtZW50IHdpdGhvdXQgbXVsdGlwbGUgYXR0cmlidXRlIHNlbGVjdCBvbmx5IHRoZSBv
cHRpb24gdW5kZXIgbW91c2UKKworICAKK1Rlc3QgZm9yIHNlbGVjdCBlbGVtZW50IHdpdGggbXVs
dGlwbGUgYXR0cmlidXRlCitEcmFnZ2luZyBkb3duCitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJzZWxlY3RJZCIpLm9wdGlvbnNbMF0uc2VsZWN0ZWQgaXMgdHJ1ZQorUEFTUyBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic2VsZWN0SWQiKS5vcHRpb25zWzFdLnNlbGVjdGVkIGlzIHRydWUK
K1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlbGVjdElkIikub3B0aW9uc1syXS5zZWxl
Y3RlZCBpcyB0cnVlCitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZWxlY3RJZCIpLm9w
dGlvbnNbM10uc2VsZWN0ZWQgaXMgdHJ1ZQorRHJhZ2dpbmcgdXAKK1BBU1MgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInNlbGVjdElkIikub3B0aW9uc1swXS5zZWxlY3RlZCBpcyB0cnVlCitQQVNT
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZWxlY3RJZCIpLm9wdGlvbnNbMV0uc2VsZWN0ZWQg
aXMgdHJ1ZQorUEFTUyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2VsZWN0SWQiKS5vcHRpb25z
WzJdLnNlbGVjdGVkIGlzIHRydWUKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlbGVj
dElkIikub3B0aW9uc1szXS5zZWxlY3RlZCBpcyB0cnVlCitEcmFnZ2luZyB3aXRoIGFkZFNlbGVj
dGlvbktleQorUEFTUyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2VsZWN0SWQiKS5vcHRpb25z
WzBdLnNlbGVjdGVkIGlzIHRydWUKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlbGVj
dElkIikub3B0aW9uc1syXS5zZWxlY3RlZCBpcyB0cnVlCitQQVNTIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzZWxlY3RJZCIpLm9wdGlvbnNbM10uc2VsZWN0ZWQgaXMgdHJ1ZQorUEFTUyBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic2VsZWN0SWQiKS5vcHRpb25zWzRdLnNlbGVjdGVkIGlzIHRy
dWUKK0RyYWdnaW5nIHdpdGggcmFuZ2VTZWxlY3Rpb25LZXkKK1BBU1MgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInNlbGVjdElkIikub3B0aW9uc1swXS5zZWxlY3RlZCBpcyB0cnVlCitQQVNTIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZWxlY3RJZCIpLm9wdGlvbnNbMV0uc2VsZWN0ZWQgaXMg
dHJ1ZQorUEFTUyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2VsZWN0SWQiKS5vcHRpb25zWzJd
LnNlbGVjdGVkIGlzIHRydWUKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlbGVjdElk
Iikub3B0aW9uc1szXS5zZWxlY3RlZCBpcyB0cnVlCitUZXN0IGZvciBzZWxlY3QgZWxlbWVudCB3
aXRob3V0IG11bHRpcGxlIGF0dHJpYnV0ZQorRHJhZ2dpbmcgZG93bgorUEFTUyBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgibm9ubXVsdGlwbGUiKS5vcHRpb25zWzBdLnNlbGVjdGVkIGlzIGZhbHNl
CitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJub25tdWx0aXBsZSIpLm9wdGlvbnNbMV0u
c2VsZWN0ZWQgaXMgZmFsc2UKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vbm11bHRp
cGxlIikub3B0aW9uc1syXS5zZWxlY3RlZCBpcyBmYWxzZQorUEFTUyBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgibm9ubXVsdGlwbGUiKS5vcHRpb25zWzNdLnNlbGVjdGVkIGlzIHRydWUKK0RyYWdn
aW5nIHVwCitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJub25tdWx0aXBsZSIpLm9wdGlv
bnNbMF0uc2VsZWN0ZWQgaXMgdHJ1ZQorUEFTUyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibm9u
bXVsdGlwbGUiKS5vcHRpb25zWzFdLnNlbGVjdGVkIGlzIGZhbHNlCitQQVNTIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJub25tdWx0aXBsZSIpLm9wdGlvbnNbMl0uc2VsZWN0ZWQgaXMgZmFsc2UK
K1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vbm11bHRpcGxlIikub3B0aW9uc1szXS5z
ZWxlY3RlZCBpcyBmYWxzZQorRHJhZ2dpbmcgd2l0aCBhZGRTZWxlY3Rpb25LZXkKK1BBU1MgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vbm11bHRpcGxlIikub3B0aW9uc1swXS5zZWxlY3RlZCBp
cyBmYWxzZQorUEFTUyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibm9ubXVsdGlwbGUiKS5vcHRp
b25zWzFdLnNlbGVjdGVkIGlzIGZhbHNlCitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJu
b25tdWx0aXBsZSIpLm9wdGlvbnNbMl0uc2VsZWN0ZWQgaXMgZmFsc2UKK1BBU1MgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoIm5vbm11bHRpcGxlIikub3B0aW9uc1szXS5zZWxlY3RlZCBpcyB0cnVl
CitEcmFnZ2luZyB3aXRoIHJhbmdlU2VsZWN0aW9uS2V5CitQQVNTIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJub25tdWx0aXBsZSIpLm9wdGlvbnNbMF0uc2VsZWN0ZWQgaXMgdHJ1ZQorUEFTUyBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgibm9ubXVsdGlwbGUiKS5vcHRpb25zWzFdLnNlbGVjdGVk
IGlzIGZhbHNlCitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJub25tdWx0aXBsZSIpLm9w
dGlvbnNbMl0uc2VsZWN0ZWQgaXMgZmFsc2UKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
Im5vbm11bHRpcGxlIikub3B0aW9uc1szXS5zZWxlY3RlZCBpcyBmYWxzZQorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvc2VsZWN0LW11bHRpcGxlLWVsZW1lbnRzLXdpdGgtbW91c2UtZHJhZy13aXRo
LW9wdGlvbnMtbGVzcy10aGFuLXNpemUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3NlbGVjdC1tdWx0aXBsZS1lbGVtZW50cy13aXRoLW1vdXNlLWRyYWctd2l0aC1v
cHRpb25zLWxlc3MtdGhhbi1zaXplLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL3NlbGVjdC1tdWx0aXBsZS1lbGVtZW50cy13aXRoLW1vdXNlLWRyYWctd2l0aC1v
cHRpb25zLWxlc3MtdGhhbi1zaXplLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTI3IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+
Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
Kzx0aXRsZT48L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8cD5TZWxlY3QgbXVsdGlwbGUgb3B0
aW9ucyB3aXRoIG1vdXNlIGRyYWcgd2l0aCBuby4gb2Ygb3B0aW9ucyBsZXNzIHRoYW4gdGhlIHNp
emUgYXR0cmlidXRlPC9wPgorPHA+QWxzbyB0ZXN0IG1vdXNlIGRyYWcgb24gc2VsZWN0IGVsZW1l
bnQgd2l0aG91dCBtdWx0aXBsZSBhdHRyaWJ1dGUgc2VsZWN0IG9ubHkgdGhlIG9wdGlvbiB1bmRl
ciBtb3VzZTwvcD4KKworPHNlbGVjdCBtdWx0aXBsZT0ibXVsdGlwbGUiIHNpemU9IjciIGlkPSJz
ZWxlY3RJZCI+CisgICAgPG9wdGlvbiB2YWx1ZT0iUDEiPlAxPC9vcHRpb24+CisgICAgPG9wdGlv
biB2YWx1ZT0iUDIiPlAyPC9vcHRpb24+CisgICAgPG9wdGlvbiB2YWx1ZT0iUDMiPlAzPC9vcHRp
b24+CisgICAgPG9wdGlvbiB2YWx1ZT0iUDQiPlA0PC9vcHRpb24+CisgICAgPG9wdGlvbiB2YWx1
ZT0iUDUiPlA1PC9vcHRpb24+Cis8L3NlbGVjdD4KKworPHNlbGVjdCBzaXplPSI3IiBpZD0ibm9u
bXVsdGlwbGUiPgorICAgIDxvcHRpb24gdmFsdWU9IlAxIj5QMTwvb3B0aW9uPgorICAgIDxvcHRp
b24gdmFsdWU9IlAyIj5QMjwvb3B0aW9uPgorICAgIDxvcHRpb24gdmFsdWU9IlAzIj5QMzwvb3B0
aW9uPgorICAgIDxvcHRpb24gdmFsdWU9IlA0Ij5QNDwvb3B0aW9uPgorICAgIDxvcHRpb24gdmFs
dWU9IlA1Ij5QNTwvb3B0aW9uPgorPC9zZWxlY3Q+CisKKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdD4KK2lmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICBkZWJ1ZygiVGVzdCBm
b3Igc2VsZWN0IGVsZW1lbnQgd2l0aCBtdWx0aXBsZSBhdHRyaWJ1dGUiKTsKKyAgICB2YXIgc2Vs
ZWN0T2JqZWN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlbGVjdElkIik7CisKKyAgICB2
YXIgb3B0aW9uSGVpZ2h0ID0gIHNlbGVjdE9iamVjdC5vZmZzZXRIZWlnaHQgLyBzZWxlY3RPYmpl
Y3Quc2l6ZTsKKyAgICB2YXIgeCA9IHNlbGVjdE9iamVjdC5vZmZzZXRMZWZ0ICsgc2VsZWN0T2Jq
ZWN0Lm9mZnNldFdpZHRoIC8gMjsKKyAgICB2YXIgeSA9IHNlbGVjdE9iamVjdC5vZmZzZXRUb3Ag
KyBvcHRpb25IZWlnaHQgLyAyOworCisgICAgZXZlbnRTZW5kZXIuZHJhZ01vZGUgPSBmYWxzZTsK
KyAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4LCB5KTsKKyAgICBldmVudFNlbmRlci5tb3Vz
ZURvd24oKTsKKworICAgIGRlYnVnKCJEcmFnZ2luZyBkb3duIik7CisgICAgZXZlbnRTZW5kZXIu
bW91c2VEb3duKCk7CisgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oeCwgeSArIChvcHRpb25I
ZWlnaHQgKiAzKSk7CisgICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOworICAgIHRlc3RPcHRpb25T
ZWxlY3Rpb24oMCwgNCwgInRydWUiLCAic2VsZWN0SWQiKTsKKworICAgIGRlYnVnKCJEcmFnZ2lu
ZyB1cCIpOworICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOworICAgIGV2ZW50U2VuZGVyLm1v
dXNlTW92ZVRvKHgsIHkpOworICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKKyAgICB0ZXN0T3B0
aW9uU2VsZWN0aW9uKDAsIDQsICJ0cnVlIiwgInNlbGVjdElkIik7CisKKyAgICBkZWJ1ZygiRHJh
Z2dpbmcgd2l0aCBhZGRTZWxlY3Rpb25LZXkiKQorICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigp
OworICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKKyAgICBldmVudFNlbmRlci5tb3VzZU1vdmVU
byh4LCB5ICsgKG9wdGlvbkhlaWdodCAqIDIpKTsKKyAgICBldmVudFNlbmRlci5tb3VzZURvd24o
MCwgImFkZFNlbGVjdGlvbktleSIpOworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHgsIHkg
KyAob3B0aW9uSGVpZ2h0ICogNCkpOworICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoMCwgImFkZFNl
bGVjdGlvbktleSIpOworICAgIHRlc3RPcHRpb25TZWxlY3Rpb24oMCwgMSwgInRydWUiLCAic2Vs
ZWN0SWQiKTsKKyAgICB0ZXN0T3B0aW9uU2VsZWN0aW9uKDIsIDUsICJ0cnVlIiwgInNlbGVjdElk
Iik7CisKKyAgICBkZWJ1ZygiRHJhZ2dpbmcgd2l0aCByYW5nZVNlbGVjdGlvbktleSIpOworICAg
IGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOworICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKKyAg
ICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4LCB5ICsgKG9wdGlvbkhlaWdodCAqIDIpKTsKKyAg
ICBldmVudFNlbmRlci5tb3VzZURvd24oMCwgInJhbmdlU2VsZWN0aW9uS2V5Iik7CisgICAgZXZl
bnRTZW5kZXIubW91c2VNb3ZlVG8oeCwgeSk7CisgICAgZXZlbnRTZW5kZXIubW91c2VVcCgwLCAi
cmFuZ2VTZWxlY3Rpb25LZXkiKTsKKyAgICB0ZXN0T3B0aW9uU2VsZWN0aW9uKDAsIDQsICJ0cnVl
IiwgInNlbGVjdElkIik7CisKKyAgICBkZWJ1ZygiVGVzdCBmb3Igc2VsZWN0IGVsZW1lbnQgd2l0
aG91dCBtdWx0aXBsZSBhdHRyaWJ1dGUiKTsKKyAgICB2YXIgbm9uTXVsdGlwbGVPYmplY3QgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgibm9ubXVsdGlwbGUiKTsKKyAgICB2YXIgb3B0aW9uSGVp
Z2h0ID0gIG5vbk11bHRpcGxlT2JqZWN0Lm9mZnNldEhlaWdodCAvIG5vbk11bHRpcGxlT2JqZWN0
LnNpemU7CisgICAgeCA9IG5vbk11bHRpcGxlT2JqZWN0Lm9mZnNldExlZnQgKyBub25NdWx0aXBs
ZU9iamVjdC5vZmZzZXRXaWR0aCAvIDI7CisgICAgeSA9IG5vbk11bHRpcGxlT2JqZWN0Lm9mZnNl
dFRvcCArIG9wdGlvbkhlaWdodCAvIDI7CisKKyAgICBldmVudFNlbmRlci5kcmFnTW9kZSA9IGZh
bHNlOworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHgsIHkpOworICAgIGV2ZW50U2VuZGVy
Lm1vdXNlRG93bigpOworCisgICAgZGVidWcoIkRyYWdnaW5nIGRvd24iKTsKKyAgICBldmVudFNl
bmRlci5tb3VzZURvd24oKTsKKyAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4LCB5ICsgKG9w
dGlvbkhlaWdodCAqIDMpKTsKKyAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7CisgICAgdGVzdE9w
dGlvblNlbGVjdGlvbigwLCAzLCAiZmFsc2UiLCAibm9ubXVsdGlwbGUiKTsKKyAgICB0ZXN0T3B0
aW9uU2VsZWN0aW9uKDMsIDQsICJ0cnVlIiwgIm5vbm11bHRpcGxlIik7CisKKyAgICBkZWJ1Zygi
RHJhZ2dpbmcgdXAiKTsKKyAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICBldmVudFNl
bmRlci5tb3VzZU1vdmVUbyh4LCB5KTsKKyAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7CisgICAg
dGVzdE9wdGlvblNlbGVjdGlvbigwLCAxLCAidHJ1ZSIsICJub25tdWx0aXBsZSIpOworICAgIHRl
c3RPcHRpb25TZWxlY3Rpb24oMSwgNCwgImZhbHNlIiwgIm5vbm11bHRpcGxlIik7CisKKyAgICBk
ZWJ1ZygiRHJhZ2dpbmcgd2l0aCBhZGRTZWxlY3Rpb25LZXkiKQorICAgIGV2ZW50U2VuZGVyLm1v
dXNlRG93bigpOworICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigwLCAiYWRkU2VsZWN0aW9uS2V5
Iik7CisgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oeCwgeSArIChvcHRpb25IZWlnaHQgKiAz
KSk7CisgICAgZXZlbnRTZW5kZXIubW91c2VVcCgwLCAiYWRkU2VsZWN0aW9uS2V5Iik7CisgICAg
dGVzdE9wdGlvblNlbGVjdGlvbigwLCAzLCAiZmFsc2UiLCAibm9ubXVsdGlwbGUiKTsKKyAgICB0
ZXN0T3B0aW9uU2VsZWN0aW9uKDMsIDQsICJ0cnVlIiwgIm5vbm11bHRpcGxlIik7CisKKyAgICBk
ZWJ1ZygiRHJhZ2dpbmcgd2l0aCByYW5nZVNlbGVjdGlvbktleSIpOworICAgIGV2ZW50U2VuZGVy
Lm1vdXNlRG93bigpOworICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigwLCAicmFuZ2VTZWxlY3Rp
b25LZXkiKTsKKyAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4LCB5KTsKKyAgICBldmVudFNl
bmRlci5tb3VzZVVwKDAsICJyYW5nZVNlbGVjdGlvbktleSIpOworICAgIHRlc3RPcHRpb25TZWxl
Y3Rpb24oMCwgMSwgInRydWUiLCAibm9ubXVsdGlwbGUiKTsKKyAgICB0ZXN0T3B0aW9uU2VsZWN0
aW9uKDEsIDQsICJmYWxzZSIsICJub25tdWx0aXBsZSIpOworCit9IGVsc2UgeworICAgIGRlYnVn
KCJUZXN0IG1hbnVhbGx5IGlmIG9wdGlvbnMgYXJlIGdldHRpbmcgc2VsZWN0ZWQgYnkgZHJhZ2dp
bmcgb24gdGhlIHNlbGVjdCBlbGVtZW50LiIpOworfQorCitmdW5jdGlvbiB0ZXN0T3B0aW9uU2Vs
ZWN0aW9uKHN0YXJ0LCBlbmQsIGNyaXRlcmlhLCBlbGVtZW50KSB7CisgICAgZm9yICh2YXIgaSA9
IHN0YXJ0OyBpIDwgZW5kOyBpKyspIHsKKyAgICAgICAgc2hvdWxkQmUoImRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKFwiIiArIGVsZW1lbnQgKyAiXCIpLm9wdGlvbnNbIiArIGkgKyAiXS5zZWxlY3Rl
ZCIsIGNyaXRlcmlhKTsKKyAgICB9Cit9CisKK3N1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwMDA5OSkKKysr
IExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisy
MDExLTExLTEzICBSYWtlc2ggS04gIDxyYWtlc2gua25AbW90b3JvbGEuY29tPgorCisgICAgICAg
IENhbm5vdCBzZWxlY3QgbXVsdGlwbGUgb3B0aW9ucyBieSBtb3VzZSBkcmFnZ2luZyBpbiA8c2Vs
ZWN0IG11bHRpcGxlPSJtdWx0aXBsZSIgc2l6ZT0iNyI+IGxpc3QKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDk2CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2VsZWN0IE11bHRpcGxlIG9wdGlvbnMgaW4g
YSBzZWxlY3QgZWxlbWVudCB3aXRoIGEgbW91c2UgZHJhZyB3aGVuIG5vLiBvZiBvcHRpb25zCisg
ICAgICAgIGFyZSBsZXNzIHRoYW4gdGhlIG5vLiBzcGVjaWZpZWQgaW4gc2l6ZSBhdHRyaWJ1dGUu
CisgICAgICAgIE90aGVyIGJyb3dzZXJzKElFLCBPcGVyYSwgRmlyZWZveCkgc3VwcG9ydCB0aGlz
IGZlYXR1cmUuCisKKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NlbGVjdC1tdWx0aXBsZS1lbGVtZW50
cy13aXRoLW1vdXNlLWRyYWctd2l0aC1vcHRpb25zLWxlc3MtdGhhbi1zaXplLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9zZWxlY3QtbXVsdGlwbGUtZWxlbWVudHMt
d2l0aC1tb3VzZS1kcmFnLXdpdGgtb3B0aW9ucy1sZXNzLXRoYW4tc2l6ZS5odG1sOiBBZGRlZC4K
KwogMjAxMS0xMS0xMyAgSnVsaWVuIENoYWZmcmFpeCAgPGpjaGFmZnJhaXhAd2Via2l0Lm9yZz4K
IAogICAgICAgICBSRUdSRVNTSU9OKDk5ODQ5KTogTlVMTC1kZXJlZiBpbiB1cGRhdGVMYXN0TWVk
aWFMaW5lIHdoZW4gcGFyc2luZyBzb21lIG1lZGlhLXF1ZXJpZXMK
</data>

          </attachment>
      

    </bug>

</bugzilla>