<?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>58863</bug_id>
          
          <creation_ts>2011-04-18 21:19:44 -0700</creation_ts>
          <short_desc>[Qt] fast/events/fire-mousedown-while-pressing-mouse-button.html failing</short_desc>
          <delta_ts>2011-05-12 14:43: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>Tools / Tests</component>
          <version>528+ (Nightly build)</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>LayoutTestFailure, Qt, QtTriaged</keywords>
          <priority>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>benjamin</cc>
    
    <cc>hausmann</cc>
    
    <cc>kling</cc>
    
    <cc>ossy</cc>
    
    <cc>tonikitoo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>388278</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-04-18 21:19:44 -0700</bug_when>
    <thetext>The layout test fast/events/fire-mousedown-while-pressing-mouse-button.html committed in changeset &lt;http://trac.webkit.org/changeset/84217&gt; is failing on the Qt Linux Release bot. In particular, it fails the following tests:

press middle mouse button while pressing the left mouse button
press right mouse button while pressing the left mouse button
press right middle mouse button while pressing the right mouse button

For completeness, the layout tests results are here:
&lt;http://build.webkit.org/builders/Qt%20Linux%20Release/builds/31600/steps/layout-test/logs/stdio&gt;
&lt;http://build.webkit.org/results/Qt%20Linux%20Release/r84218%20(31600)/results.html&gt;
&lt;http://build.webkit.org/results/Qt%20Linux%20Release/r84218%20(31600)/fast/events/fire-mousedown-while-pressing-mouse-button-pretty-diff.html&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>388287</commentid>
    <comment_count>1</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-04-18 21:31:25 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; press right middle mouse button while pressing the right mouse button

I meant &quot;press middle mouse button while pressing the right mouse button&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390406</commentid>
    <comment_count>2</comment_count>
      <attachid>90618</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-04-21 15:41:19 -0700</bug_when>
    <thetext>Created attachment 90618
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>392133</commentid>
    <comment_count>3</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2011-04-25 17:02:51 -0700</bug_when>
    <thetext>Simon, how safe is to ignore the &quot;event-&gt;buttons() &amp; Qt::LeftButton&quot; statement here? same for Qt::RightButton and Qt::MidButton...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>392153</commentid>
    <comment_count>4</comment_count>
      <attachid>90618</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2011-04-25 17:23:59 -0700</bug_when>
    <thetext>Comment on attachment 90618
Patch

Lets wait for Simon. I think it is correct, but it might have implications that I do not know of ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395999</commentid>
    <comment_count>5</comment_count>
      <attachid>90618</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-05-01 12:31:50 -0700</bug_when>
    <thetext>Comment on attachment 90618
Patch

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396000</commentid>
    <comment_count>6</comment_count>
      <attachid>90618</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-05-01 12:32:20 -0700</bug_when>
    <thetext>Comment on attachment 90618
Patch

Sounds like folks want tot alk to simon.  removing cq+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>399555</commentid>
    <comment_count>7</comment_count>
      <attachid>92589</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-05-06 09:29:24 -0700</bug_when>
    <thetext>Created attachment 92589
Patch

Updated patch. For mouse move events we need to use the bitmask returned by QMouseEvent::buttons() instead of the return value of QMouseEvent::button() because QMouseEvent::button() returns Qt::NoButton as per &lt;http://doc.qt.nokia.com/latest/qmouseevent.html#button&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401514</commentid>
    <comment_count>8</comment_count>
      <attachid>92589</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-05-10 14:44:54 -0700</bug_when>
    <thetext>Comment on attachment 92589
Patch

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

Make sense, just check this:

&gt; Source/WebCore/platform/qt/PlatformMouseEventQt.cpp:38
&gt; +static MouseButton mouseButtonForQtMouseButtons(Qt::MouseButtons mouseButtons)
&gt; +{

I would prefer this to take the event as the parameter.
This way, the test &quot;m_eventType == MouseEventMoved ? event-&gt;buttons() : event-&gt;button()&quot; can be done in this function instead of being repeated by the callers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402176</commentid>
    <comment_count>9</comment_count>
      <attachid>93160</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-05-11 12:44:21 -0700</bug_when>
    <thetext>Created attachment 93160
Patch

Updated patch based on Benjamin Poulain&apos;s comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402184</commentid>
    <comment_count>10</comment_count>
      <attachid>93160</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-05-11 12:53:23 -0700</bug_when>
    <thetext>Comment on attachment 93160
Patch

Attachment 93160 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/8688422</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402274</commentid>
    <comment_count>11</comment_count>
      <attachid>93160</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-05-11 14:16:14 -0700</bug_when>
    <thetext>Comment on attachment 93160
Patch

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

I don&apos;t r+ yet because I am curious about the FIXME. I like the change otherwise, the new handling looks cleaner than the old code.
I will look at the fixme at work.

&gt; Source/WebCore/platform/qt/PlatformMouseEventQt.cpp:3
&gt; + * Copyright (C) 2011 Research In Motion Limited.

hehe

&gt; Source/WebCore/platform/qt/PlatformMouseEventQt.cpp:102
&gt; +    #ifndef QT_NO_CONTEXTMENU

The preprocessor commands should be aligned on the left (due to some pretty bad compiler on some exotic platform supported by Qt :))

&gt; Source/WebCore/platform/qt/PlatformMouseEventQt.cpp:113
&gt; +    #endif
&gt; +    if (!isContextMenuEvent) {
&gt; +        mouseEventTypeAndMouseButtonFromQEvent(event, m_eventType, m_button);

I think you can get rid of isContextMenuEvent and simplify.
The idea
#ifdef
   if() {
   } else
#endif
   {
       ...
   }

Your choose if it is simpler or not to have to bool :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402283</commentid>
    <comment_count>12</comment_count>
      <attachid>93160</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-05-11 14:25:36 -0700</bug_when>
    <thetext>Comment on attachment 93160
Patch

Clearing review flags while I look to update the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402317</commentid>
    <comment_count>13</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-05-11 15:06:51 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 93160 [details])
&gt; [...]
&gt; &gt; Source/WebCore/platform/qt/PlatformMouseEventQt.cpp:102
&gt; &gt; +    #ifndef QT_NO_CONTEXTMENU
&gt; 
&gt; The preprocessor commands should be aligned on the left (due to some pretty bad compiler on some exotic platform supported by Qt :))

Will fix.

&gt; 
&gt; &gt; Source/WebCore/platform/qt/PlatformMouseEventQt.cpp:113
&gt; &gt; +    #endif
&gt; &gt; +    if (!isContextMenuEvent) {
&gt; &gt; +        mouseEventTypeAndMouseButtonFromQEvent(event, m_eventType, m_button);
&gt; 
&gt; I think you can get rid of isContextMenuEvent and simplify.
&gt; The idea
&gt; #ifdef
&gt;    if() {
&gt;    } else
&gt; #endif
&gt;    {
&gt;        ...
&gt;    }

Notice we want to determine the mouse event type and button when compiling with context menu support (i.e.  &quot;#ifndef QT_NO_CONTEXTMENU&quot; evaluates to true) and event-&gt;type() != QEvent::ContextMenu. I&apos;m unclear from your code snippet if this will work out with the structure you mentioned.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402322</commentid>
    <comment_count>14</comment_count>
      <attachid>93191</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-05-11 15:11:14 -0700</bug_when>
    <thetext>Created attachment 93191
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402339</commentid>
    <comment_count>15</comment_count>
      <attachid>93191</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-05-11 15:24:26 -0700</bug_when>
    <thetext>Comment on attachment 93191
Patch

Attachment 93191 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/8685516</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402348</commentid>
    <comment_count>16</comment_count>
      <attachid>93197</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-05-11 15:33:09 -0700</bug_when>
    <thetext>Created attachment 93197
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402359</commentid>
    <comment_count>17</comment_count>
      <attachid>93197</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-05-11 15:43:05 -0700</bug_when>
    <thetext>Comment on attachment 93197
Patch

Attachment 93197 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/8688483</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402361</commentid>
    <comment_count>18</comment_count>
      <attachid>93198</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-05-11 15:46:11 -0700</bug_when>
    <thetext>Created attachment 93198
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402374</commentid>
    <comment_count>19</comment_count>
      <attachid>93198</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-05-11 15:55:01 -0700</bug_when>
    <thetext>Comment on attachment 93198
Patch

Attachment 93198 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/8689463</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402382</commentid>
    <comment_count>20</comment_count>
      <attachid>93204</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-05-11 16:00:09 -0700</bug_when>
    <thetext>Created attachment 93204
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402747</commentid>
    <comment_count>21</comment_count>
      <attachid>93204</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-05-12 01:39:25 -0700</bug_when>
    <thetext>Comment on attachment 93204
Patch

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

Pretty nice!

&gt; Source/WebCore/platform/qt/PlatformMouseEventQt.cpp:114
&gt; +    // FIXME: Why don&apos;t we handle a context menu event here as we do in PlatformMouseEvent(QInputEvent*, int)?

Maybe Benjamin would know... he dealt a bit with that for webkit2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403173</commentid>
    <comment_count>22</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-05-12 14:41:46 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; (From update of attachment 93204 [details])
&gt; &gt; Source/WebCore/platform/qt/PlatformMouseEventQt.cpp:114
&gt; &gt; +    // FIXME: Why don&apos;t we handle a context menu event here as we do in PlatformMouseEvent(QInputEvent*, int)?
&gt; 
&gt; Maybe Benjamin would know... he dealt a bit with that for webkit2

From speaking with Benjamin today on IRC, he couldn&apos;t think of any reason why such a difference exists between the PlatformMouseEvent constructors. Filed bug #60728 for this issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403174</commentid>
    <comment_count>23</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-05-12 14:43:58 -0700</bug_when>
    <thetext>Committed r86381: &lt;http://trac.webkit.org/changeset/86381&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90618</attachid>
            <date>2011-04-21 15:41:19 -0700</date>
            <delta_ts>2011-05-06 09:29:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>Bug58863.patch</filename>
            <type>text/plain</type>
            <size>4988</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg0NTUwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDQtMjEgIERhbmllbCBC
YXRlcyAgPGRiYXRlc0ByaW0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFtRdF0gZmFzdC9ldmVudHMvZmlyZS1tb3VzZWRvd24td2hpbGUtcHJl
c3NpbmctbW91c2UtYnV0dG9uLmh0bWwgZmFpbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTg4NjMKKworICAgICAgICBGaXhlcyBhbiBpc3N1ZSB3
aGVyZSBhIHBsYXRmb3JtIG1vdXNlIGV2ZW50IGNvcnJlc3BvbmRpbmcgdG8gbW91c2UgYnV0dG9u
IEEKKyAgICAgICAgbWF5IGJlIGFzc29jaWF0ZWQgd2l0aCB0aGUgd3JvbmcgV2ViQ29yZSBtb3Vz
ZSBidXR0b24gd2hlbiB0aGUgZXZlbnQgb2NjdXJzCisgICAgICAgIHdoaWxlIHByZXNzaW5nIGFu
ZCBob2xkaW5nIGEgbW91c2UgYnV0dG9uIEIsIHdoZXJlIEEgIT0gQi4KKworICAgICAgICBGb3Ig
ZXhhbXBsZSwgYSBwZXJzb24gY2xpY2tzIHRoZSBtaWRkbGUgbW91c2UgYnV0dG9uIHdoaWxlIHBy
ZXNzaW5nIGFuZCBob2xkaW5nCisgICAgICAgIHRoZSBsZWZ0IG1vdXNlIGJ1dHRvbi4gVGhlbiB3
ZSBkaXNwYXRjaCB0aGUgZm9sbG93aW5nIERPTSBldmVudHM6IG1vdXNlIGRvd24gZm9yCisgICAg
ICAgIGxlZnQgYnV0dG9uLCBtb3VzZSBkb3duIGZvciBsZWZ0IGJ1dHRvbiwgbW91c2UgdXAgZm9y
IGxlZnQgYnV0dG9uLiBCdXQsIHdlIHNob3VsZAorICAgICAgICBoYXZlIGRpc3BhdGNoZWQ6IG1v
dXNlIGRvd24gZm9yIGxlZnQgYnV0dG9uLCBtb3VzZSBkb3duIGZvciBtaWRkbGUgYnV0dG9uLCBt
b3VzZSB1cAorICAgICAgICBmb3IgbWlkZGxlIGJ1dHRvbi4gICAgICAgCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9xdC9QbGF0Zm9ybU1vdXNlRXZlbnRRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpt
b3VzZUJ1dHRvbkZvclF0TW91c2VCdXR0b24pOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlBs
YXRmb3JtTW91c2VFdmVudDo6UGxhdGZvcm1Nb3VzZUV2ZW50KToKKwogMjAxMS0wNC0yMSAgTmF0
IER1Y2EgIDxuZHVjYUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSmFtZXMg
Um9iaW5zb24uCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9QbGF0Zm9ybU1vdXNl
RXZlbnRRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvUGxh
dGZvcm1Nb3VzZUV2ZW50UXQuY3BwCShyZXZpc2lvbiA4NDUxMikKKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3F0L1BsYXRmb3JtTW91c2VFdmVudFF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzQsNiArMzQsMjAgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitzdGF0aWMgTW91c2VCdXR0
b24gbW91c2VCdXR0b25Gb3JRdE1vdXNlQnV0dG9uKFF0OjpNb3VzZUJ1dHRvbnMgbW91c2VCdXR0
b24pCit7CisgICAgc3dpdGNoIChtb3VzZUJ1dHRvbikgeworICAgIGNhc2UgUXQ6OkxlZnRCdXR0
b246CisgICAgICAgIHJldHVybiBMZWZ0QnV0dG9uOworICAgIGNhc2UgUXQ6Ok1pZEJ1dHRvbjoK
KyAgICAgICAgcmV0dXJuIE1pZGRsZUJ1dHRvbjsKKyAgICBjYXNlIFF0OjpSaWdodEJ1dHRvbjoK
KyAgICAgICAgcmV0dXJuIFJpZ2h0QnV0dG9uOworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVy
biBOb0J1dHRvbjsKKyAgICB9Cit9CisKICNpZiAhZGVmaW5lZChRVF9OT19HUkFQSElDU1ZJRVcp
CiBQbGF0Zm9ybU1vdXNlRXZlbnQ6OlBsYXRmb3JtTW91c2VFdmVudChRR3JhcGhpY3NTY2VuZU1v
dXNlRXZlbnQqIGV2ZW50LCBpbnQgY2xpY2tDb3VudCkKIHsKQEAgLTU0LDE2ICs2OCw3IEBAIFBs
YXRmb3JtTW91c2VFdmVudDo6UGxhdGZvcm1Nb3VzZUV2ZW50KFEKIAogICAgIG1fcG9zaXRpb24g
PSBJbnRQb2ludChldmVudC0+cG9zKCkudG9Qb2ludCgpKTsKICAgICBtX2dsb2JhbFBvc2l0aW9u
ID0gSW50UG9pbnQoZXZlbnQtPnNjcmVlblBvcygpKTsKLQotICAgIGlmIChldmVudC0+YnV0dG9u
KCkgPT0gUXQ6OkxlZnRCdXR0b24gfHwgKGV2ZW50LT5idXR0b25zKCkgJiBRdDo6TGVmdEJ1dHRv
bikpCi0gICAgICAgIG1fYnV0dG9uID0gTGVmdEJ1dHRvbjsKLSAgICBlbHNlIGlmIChldmVudC0+
YnV0dG9uKCkgPT0gUXQ6OlJpZ2h0QnV0dG9uIHx8IChldmVudC0+YnV0dG9ucygpICYgUXQ6OlJp
Z2h0QnV0dG9uKSkKLSAgICAgICAgbV9idXR0b24gPSBSaWdodEJ1dHRvbjsKLSAgICBlbHNlIGlm
IChldmVudC0+YnV0dG9uKCkgPT0gUXQ6Ok1pZEJ1dHRvbiB8fCAoZXZlbnQtPmJ1dHRvbnMoKSAm
IFF0OjpNaWRCdXR0b24pKQotICAgICAgICBtX2J1dHRvbiA9IE1pZGRsZUJ1dHRvbjsKLSAgICBl
bHNlCi0gICAgICAgIG1fYnV0dG9uID0gTm9CdXR0b247Ci0KKyAgICBtX2J1dHRvbiA9IG1vdXNl
QnV0dG9uRm9yUXRNb3VzZUJ1dHRvbihldmVudC0+YnV0dG9uKCkpOwogICAgIG1fY2xpY2tDb3Vu
dCA9IGNsaWNrQ291bnQ7CiAgICAgbV9zaGlmdEtleSA9ICAoZXZlbnQtPm1vZGlmaWVycygpICYg
UXQ6OlNoaWZ0TW9kaWZpZXIpOwogICAgIG1fY3RybEtleSA9IChldmVudC0+bW9kaWZpZXJzKCkg
JiBRdDo6Q29udHJvbE1vZGlmaWVyKTsKQEAgLTEwOSwxNSArMTE0LDcgQEAgUGxhdGZvcm1Nb3Vz
ZUV2ZW50OjpQbGF0Zm9ybU1vdXNlRXZlbnQoUQogICAgIGlmIChtZSkgewogICAgICAgICBtX3Bv
c2l0aW9uID0gSW50UG9pbnQobWUtPnBvcygpKTsKICAgICAgICAgbV9nbG9iYWxQb3NpdGlvbiA9
IEludFBvaW50KG1lLT5nbG9iYWxQb3MoKSk7Ci0KLSAgICAgICAgaWYgKG1lLT5idXR0b24oKSA9
PSBRdDo6TGVmdEJ1dHRvbiB8fCAobWUtPmJ1dHRvbnMoKSAmIFF0OjpMZWZ0QnV0dG9uKSkKLSAg
ICAgICAgICAgIG1fYnV0dG9uID0gTGVmdEJ1dHRvbjsKLSAgICAgICAgZWxzZSBpZiAobWUtPmJ1
dHRvbigpID09IFF0OjpSaWdodEJ1dHRvbiB8fCAobWUtPmJ1dHRvbnMoKSAmIFF0OjpSaWdodEJ1
dHRvbikpCi0gICAgICAgICAgICBtX2J1dHRvbiA9IFJpZ2h0QnV0dG9uOwotICAgICAgICBlbHNl
IGlmIChtZS0+YnV0dG9uKCkgPT0gUXQ6Ok1pZEJ1dHRvbiB8fCAobWUtPmJ1dHRvbnMoKSAmIFF0
OjpNaWRCdXR0b24pKQotICAgICAgICAgICAgbV9idXR0b24gPSBNaWRkbGVCdXR0b247Ci0gICAg
ICAgIGVsc2UKLSAgICAgICAgICAgIG1fYnV0dG9uID0gTm9CdXR0b247CisgICAgICAgIG1fYnV0
dG9uID0gbW91c2VCdXR0b25Gb3JRdE1vdXNlQnV0dG9uKG1lLT5idXR0b24oKSk7CiAgICAgfQog
CiAgICAgbV9jbGlja0NvdW50ID0gY2xpY2tDb3VudDsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDg0NTUw
KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUg
QEAKKzIwMTEtMDQtMjEgIERhbmllbCBCYXRlcyAgPGRiYXRlc0ByaW0uY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gZmFzdC9ldmVudHMv
ZmlyZS1tb3VzZWRvd24td2hpbGUtcHJlc3NpbmctbW91c2UtYnV0dG9uLmh0bWwgZmFpbGluZwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTg4NjMKKwor
ICAgICAgICBSZW1vdmUgdGVzdCBjYXNlIGZhc3QvZXZlbnRzL2ZpcmUtbW91c2Vkb3duLXdoaWxl
LXByZXNzaW5nLW1vdXNlLWJ1dHRvbi5odG1sCisgICAgICAgIGZyb20gdGhlIFNraXBwZWQgbGlz
dCBzaW5jZSBpdCBub3cgcGFzc2VzLgorCisgICAgICAgICogcGxhdGZvcm0vcXQvU2tpcHBlZDog
CisKIDIwMTEtMDQtMjEgIFRvbnkgQ2hhbmcgIDx0b255QGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBVbnJldmlld2VkLCBlbWJlZGRpbmcgY2hlY2tzdW1zIGluIHBuZyBmaWxlcyBub3QgaW4gTGF5
b3V0VGVzdHMvcGxhdGZvcm0uCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVk
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQJKHJldmlzaW9u
IDg0NTEyKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAkod29ya2luZyBjb3B5
KQpAQCAtMTM1MSwxMCArMTM1MSw2IEBAIGVkaXRpbmcvdW5zdXBwb3J0ZWQtY29udGVudC90YWJs
ZS10eXBlLWIKICMgZmFpbGluZyBmYXN0IHRlc3RzCiAjID09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICMK
IAotIyBbUXRdIGZhc3QvZXZlbnRzL2ZpcmUtbW91c2Vkb3duLXdoaWxlLXByZXNzaW5nLW1vdXNl
LWJ1dHRvbi5odG1sIGZhaWxpbmcKLSMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTU4ODYzCi1mYXN0L2V2ZW50cy9maXJlLW1vdXNlZG93bi13aGlsZS1wcmVzc2luZy1t
b3VzZS1idXR0b24uaHRtbAotCiAjIFtRdF0gZmFzdC9ydWJ5L292ZXJoYW5nKiB0ZXN0cyBmYWls
CiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NzgyNAogZmFzdC9y
dWJ5L292ZXJoYW5nLWhvcml6b250YWwuaHRtbAo=
</data>
<flag name="review"
          id="83374"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>92589</attachid>
            <date>2011-05-06 09:29:24 -0700</date>
            <delta_ts>2011-05-11 12:44:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>Bug58863_050611_1.patch</filename>
            <type>text/plain</type>
            <size>5044</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg1ODE5KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDUtMDYgIERhbmllbCBC
YXRlcyAgPGRiYXRlc0ByaW0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFtRdF0gZmFzdC9ldmVudHMvZmlyZS1tb3VzZWRvd24td2hpbGUtcHJl
c3NpbmctbW91c2UtYnV0dG9uLmh0bWwgZmFpbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTg4NjMKKworICAgICAgICBGaXhlcyBhbiBpc3N1ZSB3
aGVyZSBhIHBsYXRmb3JtIG1vdXNlIGV2ZW50IGNvcnJlc3BvbmRpbmcgdG8gbW91c2UgYnV0dG9u
IEEKKyAgICAgICAgbWF5IGJlIGFzc29jaWF0ZWQgd2l0aCB0aGUgd3JvbmcgV2ViQ29yZSBtb3Vz
ZSBidXR0b24gd2hlbiB0aGUgZXZlbnQgb2NjdXJzCisgICAgICAgIHdoaWxlIHByZXNzaW5nIGFu
ZCBob2xkaW5nIGEgbW91c2UgYnV0dG9uIEIsIHdoZXJlIEEgIT0gQi4KKworICAgICAgICBGb3Ig
ZXhhbXBsZSwgYSBwZXJzb24gY2xpY2tzIHRoZSBtaWRkbGUgbW91c2UgYnV0dG9uIHdoaWxlIHBy
ZXNzaW5nIGFuZCBob2xkaW5nCisgICAgICAgIHRoZSBsZWZ0IG1vdXNlIGJ1dHRvbi4gVGhlbiB3
ZSBkaXNwYXRjaCB0aGUgZm9sbG93aW5nIERPTSBldmVudHM6IG1vdXNlIGRvd24gZm9yCisgICAg
ICAgIGxlZnQgYnV0dG9uLCBtb3VzZSBkb3duIGZvciBsZWZ0IGJ1dHRvbiwgbW91c2UgdXAgZm9y
IGxlZnQgYnV0dG9uLiBCdXQsIHdlIHNob3VsZAorICAgICAgICBoYXZlIGRpc3BhdGNoZWQ6IG1v
dXNlIGRvd24gZm9yIGxlZnQgYnV0dG9uLCBtb3VzZSBkb3duIGZvciBtaWRkbGUgYnV0dG9uLCBt
b3VzZSB1cAorICAgICAgICBmb3IgbWlkZGxlIGJ1dHRvbi4gICAgICAgCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9xdC9QbGF0Zm9ybU1vdXNlRXZlbnRRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpt
b3VzZUJ1dHRvbkZvclF0TW91c2VCdXR0b25zKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpQ
bGF0Zm9ybU1vdXNlRXZlbnQ6OlBsYXRmb3JtTW91c2VFdmVudCk6CisKIDIwMTEtMDUtMDQgIEpv
c2VwaCBQZWNvcmFybyAgPGpvZXBlY2tAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBEYXJpbiBBZGxlci4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1BsYXRmb3Jt
TW91c2VFdmVudFF0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9x
dC9QbGF0Zm9ybU1vdXNlRXZlbnRRdC5jcHAJKHJldmlzaW9uIDg1ODE5KQorKysgU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vcXQvUGxhdGZvcm1Nb3VzZUV2ZW50UXQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0zNCw2ICszNCwxNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3N0YXRpYyBNb3Vz
ZUJ1dHRvbiBtb3VzZUJ1dHRvbkZvclF0TW91c2VCdXR0b25zKFF0OjpNb3VzZUJ1dHRvbnMgbW91
c2VCdXR0b25zKQoreworICAgIGlmIChtb3VzZUJ1dHRvbnMgJiBRdDo6TGVmdEJ1dHRvbikKKyAg
ICAgICAgcmV0dXJuIExlZnRCdXR0b247CisgICAgaWYgKG1vdXNlQnV0dG9ucyAmIFF0OjpSaWdo
dEJ1dHRvbikKKyAgICAgICAgcmV0dXJuIFJpZ2h0QnV0dG9uOworICAgIGlmIChtb3VzZUJ1dHRv
bnMgJiBRdDo6TWlkQnV0dG9uKQorICAgICAgICByZXR1cm4gTWlkZGxlQnV0dG9uOworICAgIHJl
dHVybiBOb0J1dHRvbjsKK30KKwogI2lmICFkZWZpbmVkKFFUX05PX0dSQVBISUNTVklFVykKIFBs
YXRmb3JtTW91c2VFdmVudDo6UGxhdGZvcm1Nb3VzZUV2ZW50KFFHcmFwaGljc1NjZW5lTW91c2VF
dmVudCogZXZlbnQsIGludCBjbGlja0NvdW50KQogewpAQCAtNTQsMTYgKzY1LDcgQEAgUGxhdGZv
cm1Nb3VzZUV2ZW50OjpQbGF0Zm9ybU1vdXNlRXZlbnQoUQogCiAgICAgbV9wb3NpdGlvbiA9IElu
dFBvaW50KGV2ZW50LT5wb3MoKS50b1BvaW50KCkpOwogICAgIG1fZ2xvYmFsUG9zaXRpb24gPSBJ
bnRQb2ludChldmVudC0+c2NyZWVuUG9zKCkpOwotCi0gICAgaWYgKGV2ZW50LT5idXR0b24oKSA9
PSBRdDo6TGVmdEJ1dHRvbiB8fCAoZXZlbnQtPmJ1dHRvbnMoKSAmIFF0OjpMZWZ0QnV0dG9uKSkK
LSAgICAgICAgbV9idXR0b24gPSBMZWZ0QnV0dG9uOwotICAgIGVsc2UgaWYgKGV2ZW50LT5idXR0
b24oKSA9PSBRdDo6UmlnaHRCdXR0b24gfHwgKGV2ZW50LT5idXR0b25zKCkgJiBRdDo6UmlnaHRC
dXR0b24pKQotICAgICAgICBtX2J1dHRvbiA9IFJpZ2h0QnV0dG9uOwotICAgIGVsc2UgaWYgKGV2
ZW50LT5idXR0b24oKSA9PSBRdDo6TWlkQnV0dG9uIHx8IChldmVudC0+YnV0dG9ucygpICYgUXQ6
Ok1pZEJ1dHRvbikpCi0gICAgICAgIG1fYnV0dG9uID0gTWlkZGxlQnV0dG9uOwotICAgIGVsc2UK
LSAgICAgICAgbV9idXR0b24gPSBOb0J1dHRvbjsKLQorICAgIG1fYnV0dG9uID0gbW91c2VCdXR0
b25Gb3JRdE1vdXNlQnV0dG9ucyhtX2V2ZW50VHlwZSA9PSBNb3VzZUV2ZW50TW92ZWQgPyBldmVu
dC0+YnV0dG9ucygpIDogZXZlbnQtPmJ1dHRvbigpKTsKICAgICBtX2NsaWNrQ291bnQgPSBjbGlj
a0NvdW50OwogICAgIG1fc2hpZnRLZXkgPSAgKGV2ZW50LT5tb2RpZmllcnMoKSAmIFF0OjpTaGlm
dE1vZGlmaWVyKTsKICAgICBtX2N0cmxLZXkgPSAoZXZlbnQtPm1vZGlmaWVycygpICYgUXQ6OkNv
bnRyb2xNb2RpZmllcik7CkBAIC0xMDksMTUgKzExMSw3IEBAIFBsYXRmb3JtTW91c2VFdmVudDo6
UGxhdGZvcm1Nb3VzZUV2ZW50KFEKICAgICBpZiAobWUpIHsKICAgICAgICAgbV9wb3NpdGlvbiA9
IEludFBvaW50KG1lLT5wb3MoKSk7CiAgICAgICAgIG1fZ2xvYmFsUG9zaXRpb24gPSBJbnRQb2lu
dChtZS0+Z2xvYmFsUG9zKCkpOwotCi0gICAgICAgIGlmIChtZS0+YnV0dG9uKCkgPT0gUXQ6Okxl
ZnRCdXR0b24gfHwgKG1lLT5idXR0b25zKCkgJiBRdDo6TGVmdEJ1dHRvbikpCi0gICAgICAgICAg
ICBtX2J1dHRvbiA9IExlZnRCdXR0b247Ci0gICAgICAgIGVsc2UgaWYgKG1lLT5idXR0b24oKSA9
PSBRdDo6UmlnaHRCdXR0b24gfHwgKG1lLT5idXR0b25zKCkgJiBRdDo6UmlnaHRCdXR0b24pKQot
ICAgICAgICAgICAgbV9idXR0b24gPSBSaWdodEJ1dHRvbjsKLSAgICAgICAgZWxzZSBpZiAobWUt
PmJ1dHRvbigpID09IFF0OjpNaWRCdXR0b24gfHwgKG1lLT5idXR0b25zKCkgJiBRdDo6TWlkQnV0
dG9uKSkKLSAgICAgICAgICAgIG1fYnV0dG9uID0gTWlkZGxlQnV0dG9uOwotICAgICAgICBlbHNl
Ci0gICAgICAgICAgICBtX2J1dHRvbiA9IE5vQnV0dG9uOworICAgICAgICBtX2J1dHRvbiA9IG1v
dXNlQnV0dG9uRm9yUXRNb3VzZUJ1dHRvbnMobV9ldmVudFR5cGUgPT0gTW91c2VFdmVudE1vdmVk
ID8gbWUtPmJ1dHRvbnMoKSA6IG1lLT5idXR0b24oKSk7CiAgICAgfQogCiAgICAgbV9jbGlja0Nv
dW50ID0gY2xpY2tDb3VudDsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDg1ODE5KQorKysgTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDUtMDYg
IERhbmllbCBCYXRlcyAgPGRiYXRlc0ByaW0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gZmFzdC9ldmVudHMvZmlyZS1tb3VzZWRvd24t
d2hpbGUtcHJlc3NpbmctbW91c2UtYnV0dG9uLmh0bWwgZmFpbGluZworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTg4NjMKKworICAgICAgICBSZW1vdmUg
dGVzdCBjYXNlIGZhc3QvZXZlbnRzL2ZpcmUtbW91c2Vkb3duLXdoaWxlLXByZXNzaW5nLW1vdXNl
LWJ1dHRvbi5odG1sCisgICAgICAgIGZyb20gdGhlIFNraXBwZWQgbGlzdCBzaW5jZSBpdCBub3cg
cGFzc2VzLgorCisgICAgICAgICogcGxhdGZvcm0vcXQvU2tpcHBlZDogCisKIDIwMTEtMDUtMDQg
IEpvc2VwaCBQZWNvcmFybyAgPGpvZXBlY2tAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBEYXJpbiBBZGxlci4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAkocmV2aXNpb24g
ODU4MTkpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCSh3b3JraW5nIGNvcHkp
CkBAIC0xMzQyLDEwICsxMzQyLDYgQEAgZWRpdGluZy91bnN1cHBvcnRlZC1jb250ZW50L3RhYmxl
LXR5cGUtYgogIyBmYWlsaW5nIGZhc3QgdGVzdHMKICMgPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gIwog
Ci0jIFtRdF0gZmFzdC9ldmVudHMvZmlyZS1tb3VzZWRvd24td2hpbGUtcHJlc3NpbmctbW91c2Ut
YnV0dG9uLmh0bWwgZmFpbGluZwotIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NTg4NjMKLWZhc3QvZXZlbnRzL2ZpcmUtbW91c2Vkb3duLXdoaWxlLXByZXNzaW5nLW1v
dXNlLWJ1dHRvbi5odG1sCi0KICMgW1F0XSBmYXN0L3J1Ynkvb3ZlcmhhbmcqIHRlc3RzIGZhaWwK
ICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3ODI0CiBmYXN0L3J1
Ynkvb3ZlcmhhbmctaG9yaXpvbnRhbC5odG1sCg==
</data>
<flag name="review"
          id="85578"
          type_id="1"
          status="+"
          setter="benjamin"
    />
    <flag name="commit-queue"
          id="86084"
          type_id="3"
          status="-"
          setter="benjamin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93160</attachid>
            <date>2011-05-11 12:44:21 -0700</date>
            <delta_ts>2011-05-11 15:11:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>Bug58863_051111.patch</filename>
            <type>text/plain</type>
            <size>8040</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2MjUzKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDUtMTEgIERhbmllbCBC
YXRlcyAgPGRiYXRlc0ByaW0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFtRdF0gZmFzdC9ldmVudHMvZmlyZS1tb3VzZWRvd24td2hpbGUtcHJl
c3NpbmctbW91c2UtYnV0dG9uLmh0bWwgZmFpbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTg4NjMKKworICAgICAgICBGaXhlcyBhbiBpc3N1ZSB3
aGVyZSBhIHBsYXRmb3JtIG1vdXNlIGV2ZW50IGNvcnJlc3BvbmRpbmcgdG8gbW91c2UgYnV0dG9u
IEEKKyAgICAgICAgbWF5IGJlIGFzc29jaWF0ZWQgd2l0aCB0aGUgd3JvbmcgV2ViQ29yZSBtb3Vz
ZSBidXR0b24gd2hlbiB0aGUgZXZlbnQgb2NjdXJzCisgICAgICAgIHdoaWxlIHByZXNzaW5nIGFu
ZCBob2xkaW5nIGEgbW91c2UgYnV0dG9uIEIsIHdoZXJlIEEgIT0gQi4KKworICAgICAgICBGb3Ig
ZXhhbXBsZSwgYSBwZXJzb24gY2xpY2tzIHRoZSBtaWRkbGUgbW91c2UgYnV0dG9uIHdoaWxlIHBy
ZXNzaW5nIGFuZCBob2xkaW5nCisgICAgICAgIHRoZSBsZWZ0IG1vdXNlIGJ1dHRvbi4gVGhlbiB3
ZSBkaXNwYXRjaCB0aGUgZm9sbG93aW5nIERPTSBldmVudHM6IG1vdXNlIGRvd24gZm9yCisgICAg
ICAgIGxlZnQgYnV0dG9uLCBtb3VzZSBkb3duIGZvciBsZWZ0IGJ1dHRvbiwgbW91c2UgdXAgZm9y
IGxlZnQgYnV0dG9uLiBCdXQsIHdlIHNob3VsZAorICAgICAgICBoYXZlIGRpc3BhdGNoZWQ6IG1v
dXNlIGRvd24gZm9yIGxlZnQgYnV0dG9uLCBtb3VzZSBkb3duIGZvciBtaWRkbGUgYnV0dG9uLCBt
b3VzZSB1cAorICAgICAgICBmb3IgbWlkZGxlIGJ1dHRvbi4KKworICAgICAgICAqIHBsYXRmb3Jt
L3F0L1BsYXRmb3JtTW91c2VFdmVudFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om1vdXNlRXZl
bnRUeXBlQW5kTW91c2VCdXR0b25Gcm9tUUV2ZW50KTogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
OjpQbGF0Zm9ybU1vdXNlRXZlbnQ6OlBsYXRmb3JtTW91c2VFdmVudCk6IE1vZGlmaWVkIHRvIGNh
bGwgbW91c2VFdmVudFR5cGVBbmRNb3VzZUJ1dHRvbkZyb21RRXZlbnQoKQorICAgICAgICB0byBk
ZXRlcm1pbmUgdGhlIFdlYkNvcmUgbW91c2UgZXZlbnQgdHlwZSBhbmQgYnV0dG9uIGZyb20gdGhl
IHBsYXRmb3JtLXNwZWNpZmljIGV2ZW50LgorCiAyMDExLTA1LTExICBTYW0gV2VpbmlnICA8c2Ft
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9QbGF0Zm9ybU1vdXNlRXZlbnRRdC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvUGxhdGZvcm1Nb3VzZUV2ZW50UXQu
Y3BwCShyZXZpc2lvbiA4NjIzNykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1BsYXRm
b3JtTW91c2VFdmVudFF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAg
KiBDb3B5cmlnaHQgKEMpIDIwMDYgWmFjayBSdXNpbiA8emFja0BrZGUub3JnPgorICogQ29weXJp
Z2h0IChDKSAyMDExIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkLgogICoKICAqIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgpAQCAtMzQsMzYgKzM1LDU3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotI2lmICFkZWZpbmVkKFFUX05PX0dSQVBISUNTVklFVykKLVBsYXRmb3JtTW91c2VFdmVu
dDo6UGxhdGZvcm1Nb3VzZUV2ZW50KFFHcmFwaGljc1NjZW5lTW91c2VFdmVudCogZXZlbnQsIGlu
dCBjbGlja0NvdW50KQorc3RhdGljIHZvaWQgbW91c2VFdmVudFR5cGVBbmRNb3VzZUJ1dHRvbkZy
b21RRXZlbnQoY29uc3QgUUV2ZW50KiBldmVudCwgTW91c2VFdmVudFR5cGUmIG1vdXNlRXZlbnRU
eXBlLCBNb3VzZUJ1dHRvbiYgbW91c2VCdXR0b24pCiB7Ci0gICAgbV90aW1lc3RhbXAgPSBXVEY6
OmN1cnJlbnRUaW1lKCk7Ci0KICAgICBzd2l0Y2ggKGV2ZW50LT50eXBlKCkpIHsKKyAgICBjYXNl
IFFFdmVudDo6TW91c2VCdXR0b25EYmxDbGljazoKKyAgICBjYXNlIFFFdmVudDo6TW91c2VCdXR0
b25QcmVzczoKKyAgICAgICAgbW91c2VFdmVudFR5cGUgPSBNb3VzZUV2ZW50UHJlc3NlZDsKKyAg
ICAgICAgYnJlYWs7CisgICAgY2FzZSBRRXZlbnQ6Ok1vdXNlQnV0dG9uUmVsZWFzZToKKyAgICAg
ICAgbW91c2VFdmVudFR5cGUgPSBNb3VzZUV2ZW50UmVsZWFzZWQ7CisgICAgICAgIGJyZWFrOwor
ICAgIGNhc2UgUUV2ZW50OjpNb3VzZU1vdmU6CisgICAgICAgIG1vdXNlRXZlbnRUeXBlID0gTW91
c2VFdmVudE1vdmVkOworICAgICAgICBicmVhazsKKyNpZiAhZGVmaW5lZChRVF9OT19HUkFQSElD
U1ZJRVcpCiAgICAgY2FzZSBRRXZlbnQ6OkdyYXBoaWNzU2NlbmVNb3VzZURvdWJsZUNsaWNrOgog
ICAgIGNhc2UgUUV2ZW50OjpHcmFwaGljc1NjZW5lTW91c2VQcmVzczoKLSAgICAgICAgbV9ldmVu
dFR5cGUgPSBNb3VzZUV2ZW50UHJlc3NlZDsKKyAgICAgICAgbW91c2VFdmVudFR5cGUgPSBNb3Vz
ZUV2ZW50UHJlc3NlZDsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBRRXZlbnQ6OkdyYXBoaWNz
U2NlbmVNb3VzZVJlbGVhc2U6Ci0gICAgICAgIG1fZXZlbnRUeXBlID0gTW91c2VFdmVudFJlbGVh
c2VkOworICAgICAgICBtb3VzZUV2ZW50VHlwZSA9IE1vdXNlRXZlbnRSZWxlYXNlZDsKICAgICAg
ICAgYnJlYWs7CiAgICAgY2FzZSBRRXZlbnQ6OkdyYXBoaWNzU2NlbmVNb3VzZU1vdmU6CisgICAg
ICAgIG1vdXNlRXZlbnRUeXBlID0gTW91c2VFdmVudE1vdmVkOworICAgICAgICBicmVhazsKKyNl
bmRpZgogICAgIGRlZmF1bHQ6Ci0gICAgICAgIG1fZXZlbnRUeXBlID0gTW91c2VFdmVudE1vdmVk
OworICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgYnJlYWs7CiAgICAgfQog
CisgICAgUXQ6Ok1vdXNlQnV0dG9ucyBtb3VzZUJ1dHRvbnMgPSBtb3VzZUV2ZW50VHlwZSA9PSBN
b3VzZUV2ZW50TW92ZWQgPyBldmVudC0+YnV0dG9ucygpIDogZXZlbnQtPmJ1dHRvbigpOworICAg
IGlmIChtb3VzZUJ1dHRvbnMgJiBRdDo6TGVmdEJ1dHRvbikKKyAgICAgICAgbW91c2VCdXR0b24g
PSBMZWZ0QnV0dG9uOworICAgIGVsc2UgaWYgKG1vdXNlQnV0dG9ucyAmIFF0OjpSaWdodEJ1dHRv
bikKKyAgICAgICAgbW91c2VCdXR0b24gPSBSaWdodEJ1dHRvbjsKKyAgICBlbHNlIGlmIChtb3Vz
ZUJ1dHRvbnMgJiBRdDo6TWlkQnV0dG9uKQorICAgICAgICBtb3VzZUJ1dHRvbiA9IE1pZGRsZUJ1
dHRvbjsKKyAgICBlbHNlCisgICAgICAgIG1vdXNlQnV0dG9uID0gTm9CdXR0b247Cit9CisKKyNp
ZiAhZGVmaW5lZChRVF9OT19HUkFQSElDU1ZJRVcpCitQbGF0Zm9ybU1vdXNlRXZlbnQ6OlBsYXRm
b3JtTW91c2VFdmVudChRR3JhcGhpY3NTY2VuZU1vdXNlRXZlbnQqIGV2ZW50LCBpbnQgY2xpY2tD
b3VudCkKK3sKKyAgICBtX3RpbWVzdGFtcCA9IFdURjo6Y3VycmVudFRpbWUoKTsKKworICAgIC8v
IEZJWE1FOiBXaHkgZG9uJ3Qgd2UgaGFuZGxlIGEgY29udGV4dCBtZW51IGV2ZW50IGhlcmUgYXMg
d2UgZG8gaW4gUGxhdGZvcm1Nb3VzZUV2ZW50KFFJbnB1dEV2ZW50KiwgaW50KT8KKyAgICBtb3Vz
ZUV2ZW50VHlwZUFuZE1vdXNlQnV0dG9uRnJvbVFFdmVudChldmVudCwgbV9ldmVudFR5cGUsIG1f
YnV0dG9uKTsKICAgICBtX3Bvc2l0aW9uID0gSW50UG9pbnQoZXZlbnQtPnBvcygpLnRvUG9pbnQo
KSk7CiAgICAgbV9nbG9iYWxQb3NpdGlvbiA9IEludFBvaW50KGV2ZW50LT5zY3JlZW5Qb3MoKSk7
CiAKLSAgICBpZiAoZXZlbnQtPmJ1dHRvbigpID09IFF0OjpMZWZ0QnV0dG9uIHx8IChldmVudC0+
YnV0dG9ucygpICYgUXQ6OkxlZnRCdXR0b24pKQotICAgICAgICBtX2J1dHRvbiA9IExlZnRCdXR0
b247Ci0gICAgZWxzZSBpZiAoZXZlbnQtPmJ1dHRvbigpID09IFF0OjpSaWdodEJ1dHRvbiB8fCAo
ZXZlbnQtPmJ1dHRvbnMoKSAmIFF0OjpSaWdodEJ1dHRvbikpCi0gICAgICAgIG1fYnV0dG9uID0g
UmlnaHRCdXR0b247Ci0gICAgZWxzZSBpZiAoZXZlbnQtPmJ1dHRvbigpID09IFF0OjpNaWRCdXR0
b24gfHwgKGV2ZW50LT5idXR0b25zKCkgJiBRdDo6TWlkQnV0dG9uKSkKLSAgICAgICAgbV9idXR0
b24gPSBNaWRkbGVCdXR0b247Ci0gICAgZWxzZQotICAgICAgICBtX2J1dHRvbiA9IE5vQnV0dG9u
OwotCiAgICAgbV9jbGlja0NvdW50ID0gY2xpY2tDb3VudDsKICAgICBtX3NoaWZ0S2V5ID0gIChl
dmVudC0+bW9kaWZpZXJzKCkgJiBRdDo6U2hpZnRNb2RpZmllcik7CiAgICAgbV9jdHJsS2V5ID0g
KGV2ZW50LT5tb2RpZmllcnMoKSAmIFF0OjpDb250cm9sTW9kaWZpZXIpOwpAQCAtNzYsNDggKzk4
LDIyIEBAIFBsYXRmb3JtTW91c2VFdmVudDo6UGxhdGZvcm1Nb3VzZUV2ZW50KFEKIHsKICAgICBt
X3RpbWVzdGFtcCA9IFdURjo6Y3VycmVudFRpbWUoKTsKIAotICAgIFFNb3VzZUV2ZW50KiBtZSA9
IDA7Ci0KLSAgICBzd2l0Y2ggKGV2ZW50LT50eXBlKCkpIHsKLSAgICBjYXNlIFFFdmVudDo6TW91
c2VNb3ZlOgotICAgICAgICBtX2V2ZW50VHlwZSA9IE1vdXNlRXZlbnRNb3ZlZDsKLSAgICAgICAg
bWUgPSBzdGF0aWNfY2FzdDxRTW91c2VFdmVudCAqPihldmVudCk7Ci0gICAgICAgIGJyZWFrOwot
ICAgIGNhc2UgUUV2ZW50OjpNb3VzZUJ1dHRvbkRibENsaWNrOgotICAgIGNhc2UgUUV2ZW50OjpN
b3VzZUJ1dHRvblByZXNzOgotICAgICAgICBtX2V2ZW50VHlwZSA9IE1vdXNlRXZlbnRQcmVzc2Vk
OwotICAgICAgICBtZSA9IHN0YXRpY19jYXN0PFFNb3VzZUV2ZW50ICo+KGV2ZW50KTsKLSAgICAg
ICAgYnJlYWs7Ci0gICAgY2FzZSBRRXZlbnQ6Ok1vdXNlQnV0dG9uUmVsZWFzZToKLSAgICAgICAg
bV9ldmVudFR5cGUgPSBNb3VzZUV2ZW50UmVsZWFzZWQ7Ci0gICAgICAgIG1lID0gc3RhdGljX2Nh
c3Q8UU1vdXNlRXZlbnQgKj4oZXZlbnQpOwotICAgICAgICBicmVhazsKLSNpZm5kZWYgUVRfTk9f
Q09OVEVYVE1FTlUKLSAgICBjYXNlIFFFdmVudDo6Q29udGV4dE1lbnU6IHsKKyAgICBib29sIGlz
Q29udGV4dE1lbnVFdmVudCA9IGZhbHNlOworICAgICNpZm5kZWYgUVRfTk9fQ09OVEVYVE1FTlUK
KyAgICBpZiAoZXZlbnQtPnR5cGUoKSA9PSBRRXZlbnQ6OkNvbnRleHRNZW51KSB7CisgICAgICAg
IGlzQ29udGV4dE1lbnVFdmVudCA9IHRydWU7CiAgICAgICAgIG1fZXZlbnRUeXBlID0gTW91c2VF
dmVudFByZXNzZWQ7CiAgICAgICAgIFFDb250ZXh0TWVudUV2ZW50KiBjZSA9IHN0YXRpY19jYXN0
PFFDb250ZXh0TWVudUV2ZW50Kj4oZXZlbnQpOwogICAgICAgICBtX3Bvc2l0aW9uID0gSW50UG9p
bnQoY2UtPnBvcygpKTsKICAgICAgICAgbV9nbG9iYWxQb3NpdGlvbiA9IEludFBvaW50KGNlLT5n
bG9iYWxQb3MoKSk7CiAgICAgICAgIG1fYnV0dG9uID0gUmlnaHRCdXR0b247Ci0gICAgICAgIGJy
ZWFrOwogICAgIH0KLSNlbmRpZiAvLyBRVF9OT19DT05URVhUTUVOVQotICAgIGRlZmF1bHQ6Ci0g
ICAgICAgIG1fZXZlbnRUeXBlID0gTW91c2VFdmVudE1vdmVkOwotICAgIH0KLQotICAgIGlmICht
ZSkgewotICAgICAgICBtX3Bvc2l0aW9uID0gSW50UG9pbnQobWUtPnBvcygpKTsKLSAgICAgICAg
bV9nbG9iYWxQb3NpdGlvbiA9IEludFBvaW50KG1lLT5nbG9iYWxQb3MoKSk7Ci0KLSAgICAgICAg
aWYgKG1lLT5idXR0b24oKSA9PSBRdDo6TGVmdEJ1dHRvbiB8fCAobWUtPmJ1dHRvbnMoKSAmIFF0
OjpMZWZ0QnV0dG9uKSkKLSAgICAgICAgICAgIG1fYnV0dG9uID0gTGVmdEJ1dHRvbjsKLSAgICAg
ICAgZWxzZSBpZiAobWUtPmJ1dHRvbigpID09IFF0OjpSaWdodEJ1dHRvbiB8fCAobWUtPmJ1dHRv
bnMoKSAmIFF0OjpSaWdodEJ1dHRvbikpCi0gICAgICAgICAgICBtX2J1dHRvbiA9IFJpZ2h0QnV0
dG9uOwotICAgICAgICBlbHNlIGlmIChtZS0+YnV0dG9uKCkgPT0gUXQ6Ok1pZEJ1dHRvbiB8fCAo
bWUtPmJ1dHRvbnMoKSAmIFF0OjpNaWRCdXR0b24pKQotICAgICAgICAgICAgbV9idXR0b24gPSBN
aWRkbGVCdXR0b247Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIG1fYnV0dG9uID0gTm9CdXR0
b247CisgICAgI2VuZGlmCisgICAgaWYgKCFpc0NvbnRleHRNZW51RXZlbnQpIHsKKyAgICAgICAg
bW91c2VFdmVudFR5cGVBbmRNb3VzZUJ1dHRvbkZyb21RRXZlbnQoZXZlbnQsIG1fZXZlbnRUeXBl
LCBtX2J1dHRvbik7CisgICAgICAgIFFNb3VzZUV2ZW50KiBtb3VzZUV2ZW50ID0gc3RhdGljX2Nh
c3Q8UU1vdXNlRXZlbnQqPihldmVudCk7CisgICAgICAgIG1fcG9zaXRpb24gPSBJbnRQb2ludCht
b3VzZUV2ZW50LT5wb3MoKSk7CisgICAgICAgIG1fZ2xvYmFsUG9zaXRpb24gPSBJbnRQb2ludCht
b3VzZUV2ZW50LT5nbG9iYWxQb3MoKSk7CiAgICAgfQogCiAgICAgbV9jbGlja0NvdW50ID0gY2xp
Y2tDb3VudDsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2MjUzKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDUtMTEgIERhbmllbCBC
YXRlcyAgPGRiYXRlc0ByaW0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFtRdF0gZmFzdC9ldmVudHMvZmlyZS1tb3VzZWRvd24td2hpbGUtcHJl
c3NpbmctbW91c2UtYnV0dG9uLmh0bWwgZmFpbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTg4NjMKKworICAgICAgICBSZW1vdmUgdGVzdCBjYXNl
IGZhc3QvZXZlbnRzL2ZpcmUtbW91c2Vkb3duLXdoaWxlLXByZXNzaW5nLW1vdXNlLWJ1dHRvbi5o
dG1sCisgICAgICAgIGZyb20gdGhlIFNraXBwZWQgbGlzdCBzaW5jZSBpdCBub3cgcGFzc2VzLgor
CisgICAgICAgICogcGxhdGZvcm0vcXQvU2tpcHBlZDoKKwogMjAxMS0wNS0xMSAgQW50b24gTXVo
aW4gIDxhbnRvbm5tQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLgpJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCShyZXZpc2lvbiA4NjIzNykKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL3F0L1NraXBwZWQJKHdvcmtpbmcgY29weSkKQEAgLTEzMzMsMTAgKzEzMzMsNiBAQCBl
ZGl0aW5nL3Vuc3VwcG9ydGVkLWNvbnRlbnQvdGFibGUtdHlwZS1iCiAjIGZhaWxpbmcgZmFzdCB0
ZXN0cwogIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAjCiAKLSMgW1F0XSBmYXN0L2V2ZW50cy9maXJl
LW1vdXNlZG93bi13aGlsZS1wcmVzc2luZy1tb3VzZS1idXR0b24uaHRtbCBmYWlsaW5nCi0jIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01ODg2MwotZmFzdC9ldmVudHMv
ZmlyZS1tb3VzZWRvd24td2hpbGUtcHJlc3NpbmctbW91c2UtYnV0dG9uLmh0bWwKLQogIyBbUXRd
IGZhc3QvcnVieS9vdmVyaGFuZyogdGVzdHMgZmFpbAogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NTc4MjQKIGZhc3QvcnVieS9vdmVyaGFuZy1ob3Jpem9udGFsLmh0
bWwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93191</attachid>
            <date>2011-05-11 15:11:14 -0700</date>
            <delta_ts>2011-05-11 15:33:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58863-20110511150908.patch</filename>
            <type>text/plain</type>
            <size>9060</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2MjczKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDUtMTEgIERhbmllbCBC
YXRlcyAgPGRiYXRlc0ByaW0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFtRdF0gZmFzdC9ldmVudHMvZmlyZS1tb3VzZWRvd24td2hpbGUtcHJl
c3NpbmctbW91c2UtYnV0dG9uLmh0bWwgZmFpbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTg4NjMKKworICAgICAgICBGaXhlcyBhbiBpc3N1ZSB3
aGVyZSBhIHBsYXRmb3JtIG1vdXNlIGV2ZW50IGNvcnJlc3BvbmRpbmcgdG8gbW91c2UgYnV0dG9u
IEEKKyAgICAgICAgbWF5IGJlIGFzc29jaWF0ZWQgd2l0aCB0aGUgd3JvbmcgV2ViQ29yZSBtb3Vz
ZSBidXR0b24gd2hlbiB0aGUgZXZlbnQgb2NjdXJzCisgICAgICAgIHdoaWxlIHByZXNzaW5nIGFu
ZCBob2xkaW5nIGEgbW91c2UgYnV0dG9uIEIsIHdoZXJlIEEgIT0gQi4KKworICAgICAgICBGb3Ig
ZXhhbXBsZSwgYSBwZXJzb24gY2xpY2tzIHRoZSBtaWRkbGUgbW91c2UgYnV0dG9uIHdoaWxlIHBy
ZXNzaW5nIGFuZCBob2xkaW5nCisgICAgICAgIHRoZSBsZWZ0IG1vdXNlIGJ1dHRvbi4gVGhlbiB3
ZSBkaXNwYXRjaCB0aGUgZm9sbG93aW5nIERPTSBldmVudHM6IG1vdXNlIGRvd24gZm9yCisgICAg
ICAgIGxlZnQgYnV0dG9uLCBtb3VzZSBkb3duIGZvciBsZWZ0IGJ1dHRvbiwgbW91c2UgdXAgZm9y
IGxlZnQgYnV0dG9uLiBCdXQsIHdlIHNob3VsZAorICAgICAgICBoYXZlIGRpc3BhdGNoZWQ6IG1v
dXNlIGRvd24gZm9yIGxlZnQgYnV0dG9uLCBtb3VzZSBkb3duIGZvciBtaWRkbGUgYnV0dG9uLCBt
b3VzZSB1cAorICAgICAgICBmb3IgbWlkZGxlIGJ1dHRvbi4KKworICAgICAgICAqIHBsYXRmb3Jt
L3F0L1BsYXRmb3JtTW91c2VFdmVudFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om1vdXNlRXZl
bnRUeXBlQW5kTW91c2VCdXR0b25Gcm9tUUV2ZW50KTogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
OjpQbGF0Zm9ybU1vdXNlRXZlbnQ6OlBsYXRmb3JtTW91c2VFdmVudCk6IE1vZGlmaWVkIHRvIGNh
bGwgbW91c2VFdmVudFR5cGVBbmRNb3VzZUJ1dHRvbkZyb21RRXZlbnQoKQorICAgICAgICB0byBk
ZXRlcm1pbmUgdGhlIFdlYkNvcmUgbW91c2UgZXZlbnQgdHlwZSBhbmQgYnV0dG9uIGZyb20gdGhl
IHBsYXRmb3JtLXNwZWNpZmljIGV2ZW50LgorCiAyMDExLTA1LTExICBEYW5pZWwgQmF0ZXMgIDxk
YmF0ZXNAcmltLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbnRvbmlvIEdvbWVzLgpJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvUGxhdGZvcm1Nb3VzZUV2ZW50UXQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1BsYXRmb3JtTW91c2VFdmVu
dFF0LmNwcAkocmV2aXNpb24gODYyNzMpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9Q
bGF0Zm9ybU1vdXNlRXZlbnRRdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw2IEBACiAv
KgogICogQ29weXJpZ2h0IChDKSAyMDA2IFphY2sgUnVzaW4gPHphY2tAa2RlLm9yZz4KKyAqIENv
cHlyaWdodCAoQykgMjAxMSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZC4KICAqCiAgKiBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICoKQEAgLTQyLDM1ICs0Myw3NCBAQCBzdGF0aWMgdm9pZCBtb3Vz
ZUV2ZW50TW9kaWZpZXJzRnJvbVF0S2V5CiAgICAgc2hpZnRLZXkgPSBrZXlib2FyZE1vZGlmaWVy
cyAmIFF0OjpTaGlmdE1vZGlmaWVyOwogfQogCi0jaWYgIWRlZmluZWQoUVRfTk9fR1JBUEhJQ1NW
SUVXKQotUGxhdGZvcm1Nb3VzZUV2ZW50OjpQbGF0Zm9ybU1vdXNlRXZlbnQoUUdyYXBoaWNzU2Nl
bmVNb3VzZUV2ZW50KiBldmVudCwgaW50IGNsaWNrQ291bnQpCitzdGF0aWMgdm9pZCBtb3VzZUV2
ZW50VHlwZUFuZE1vdXNlQnV0dG9uRnJvbVFFdmVudChjb25zdCBRRXZlbnQqIGV2ZW50LCBNb3Vz
ZUV2ZW50VHlwZSYgbW91c2VFdmVudFR5cGUsIE1vdXNlQnV0dG9uJiBtb3VzZUJ1dHRvbikKIHsK
LSAgICBtX3RpbWVzdGFtcCA9IFdURjo6Y3VycmVudFRpbWUoKTsKLQorICAgIGVudW0geyBNb3Vz
ZUV2ZW50LCBHcmFwaGljc1NjZW5lTW91c2VFdmVudCB9IGZyYW1ld29ya01vdXNlRXZlbnRUeXBl
OwogICAgIHN3aXRjaCAoZXZlbnQtPnR5cGUoKSkgeworICAgIGNhc2UgUUV2ZW50OjpNb3VzZUJ1
dHRvbkRibENsaWNrOgorICAgIGNhc2UgUUV2ZW50OjpNb3VzZUJ1dHRvblByZXNzOgorICAgICAg
ICBmcmFtZXdvcmtNb3VzZUV2ZW50VHlwZSA9IE1vdXNlRXZlbnQ7CisgICAgICAgIG1vdXNlRXZl
bnRUeXBlID0gTW91c2VFdmVudFByZXNzZWQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgUUV2
ZW50OjpNb3VzZUJ1dHRvblJlbGVhc2U6CisgICAgICAgIGZyYW1ld29ya01vdXNlRXZlbnRUeXBl
ID0gTW91c2VFdmVudDsKKyAgICAgICAgbW91c2VFdmVudFR5cGUgPSBNb3VzZUV2ZW50UmVsZWFz
ZWQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgUUV2ZW50OjpNb3VzZU1vdmU6CisgICAgICAg
IGZyYW1ld29ya01vdXNlRXZlbnRUeXBlID0gTW91c2VFdmVudDsKKyAgICAgICAgbW91c2VFdmVu
dFR5cGUgPSBNb3VzZUV2ZW50TW92ZWQ7CisgICAgICAgIGJyZWFrOworI2lmICFkZWZpbmVkKFFU
X05PX0dSQVBISUNTVklFVykKICAgICBjYXNlIFFFdmVudDo6R3JhcGhpY3NTY2VuZU1vdXNlRG91
YmxlQ2xpY2s6CiAgICAgY2FzZSBRRXZlbnQ6OkdyYXBoaWNzU2NlbmVNb3VzZVByZXNzOgotICAg
ICAgICBtX2V2ZW50VHlwZSA9IE1vdXNlRXZlbnRQcmVzc2VkOworICAgICAgICBmcmFtZXdvcmtN
b3VzZUV2ZW50VHlwZSA9IEdyYXBoaWNzU2NlbmVNb3VzZUV2ZW50OworICAgICAgICBtb3VzZUV2
ZW50VHlwZSA9IE1vdXNlRXZlbnRQcmVzc2VkOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFFF
dmVudDo6R3JhcGhpY3NTY2VuZU1vdXNlUmVsZWFzZToKLSAgICAgICAgbV9ldmVudFR5cGUgPSBN
b3VzZUV2ZW50UmVsZWFzZWQ7CisgICAgICAgIGZyYW1ld29ya01vdXNlRXZlbnRUeXBlID0gR3Jh
cGhpY3NTY2VuZU1vdXNlRXZlbnQ7CisgICAgICAgIG1vdXNlRXZlbnRUeXBlID0gTW91c2VFdmVu
dFJlbGVhc2VkOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFFFdmVudDo6R3JhcGhpY3NTY2Vu
ZU1vdXNlTW92ZToKKyAgICAgICAgZnJhbWV3b3JrTW91c2VFdmVudFR5cGUgPSBHcmFwaGljc1Nj
ZW5lTW91c2VFdmVudDsKKyAgICAgICAgbW91c2VFdmVudFR5cGUgPSBNb3VzZUV2ZW50TW92ZWQ7
CisgICAgICAgIGJyZWFrOworI2VuZGlmCiAgICAgZGVmYXVsdDoKLSAgICAgICAgbV9ldmVudFR5
cGUgPSBNb3VzZUV2ZW50TW92ZWQ7CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
ICAgICBicmVhazsKICAgICB9CiAKLSAgICBtX3Bvc2l0aW9uID0gSW50UG9pbnQoZXZlbnQtPnBv
cygpLnRvUG9pbnQoKSk7Ci0gICAgbV9nbG9iYWxQb3NpdGlvbiA9IEludFBvaW50KGV2ZW50LT5z
Y3JlZW5Qb3MoKSk7CisgICAgUXQ6Ok1vdXNlQnV0dG9ucyBtb3VzZUJ1dHRvbnM7CisgICAgc3dp
dGNoIChmcmFtZXdvcmtNb3VzZUV2ZW50VHlwZSkgeworICAgIGNhc2UgTW91c2VFdmVudDoKKyAg
ICAgICAgUU1vdXNlRXZlbnQqIG1vdXNlRXZlbnQgPSBzdGF0aWNfY2FzdDxRTW91c2VFdmVudCo+
KGV2ZW50KTsKKyAgICAgICAgbW91c2VCdXR0b25zID0gbW91c2VFdmVudFR5cGUgPT0gTW91c2VF
dmVudE1vdmVkID8gbW91c2VFdmVudC0+YnV0dG9ucygpIDogbW91c2VFdmVudC0+YnV0dG9uKCk7
CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgR3JhcGhpY3NTY2VuZU1vdXNlRXZlbnQ6CisgICAg
ICAgIFFHcmFwaGljc1NjZW5lTW91c2VFdmVudCogbW91c2VFdmVudCA9IHN0YXRpY19jYXN0PFFH
cmFwaGljc1NjZW5lTW91c2VFdmVudCo+KGV2ZW50KTsKKyAgICAgICAgbW91c2VCdXR0b25zID0g
bW91c2VFdmVudFR5cGUgPT0gTW91c2VFdmVudE1vdmVkID8gbW91c2VFdmVudC0+YnV0dG9ucygp
IDogbW91c2VFdmVudC0+YnV0dG9uKCk7CisgICAgICAgIGJyZWFrOworICAgIH0KIAotICAgIGlm
IChldmVudC0+YnV0dG9uKCkgPT0gUXQ6OkxlZnRCdXR0b24gfHwgKGV2ZW50LT5idXR0b25zKCkg
JiBRdDo6TGVmdEJ1dHRvbikpCi0gICAgICAgIG1fYnV0dG9uID0gTGVmdEJ1dHRvbjsKLSAgICBl
bHNlIGlmIChldmVudC0+YnV0dG9uKCkgPT0gUXQ6OlJpZ2h0QnV0dG9uIHx8IChldmVudC0+YnV0
dG9ucygpICYgUXQ6OlJpZ2h0QnV0dG9uKSkKLSAgICAgICAgbV9idXR0b24gPSBSaWdodEJ1dHRv
bjsKLSAgICBlbHNlIGlmIChldmVudC0+YnV0dG9uKCkgPT0gUXQ6Ok1pZEJ1dHRvbiB8fCAoZXZl
bnQtPmJ1dHRvbnMoKSAmIFF0OjpNaWRCdXR0b24pKQotICAgICAgICBtX2J1dHRvbiA9IE1pZGRs
ZUJ1dHRvbjsKKyAgICBpZiAobW91c2VCdXR0b25zICYgUXQ6OkxlZnRCdXR0b24pCisgICAgICAg
IG1vdXNlQnV0dG9uID0gTGVmdEJ1dHRvbjsKKyAgICBlbHNlIGlmIChtb3VzZUJ1dHRvbnMgJiBR
dDo6UmlnaHRCdXR0b24pCisgICAgICAgIG1vdXNlQnV0dG9uID0gUmlnaHRCdXR0b247CisgICAg
ZWxzZSBpZiAobW91c2VCdXR0b25zICYgUXQ6Ok1pZEJ1dHRvbikKKyAgICAgICAgbW91c2VCdXR0
b24gPSBNaWRkbGVCdXR0b247CiAgICAgZWxzZQotICAgICAgICBtX2J1dHRvbiA9IE5vQnV0dG9u
OworICAgICAgICBtb3VzZUJ1dHRvbiA9IE5vQnV0dG9uOworfQorCisjaWYgIWRlZmluZWQoUVRf
Tk9fR1JBUEhJQ1NWSUVXKQorUGxhdGZvcm1Nb3VzZUV2ZW50OjpQbGF0Zm9ybU1vdXNlRXZlbnQo
UUdyYXBoaWNzU2NlbmVNb3VzZUV2ZW50KiBldmVudCwgaW50IGNsaWNrQ291bnQpCit7CisgICAg
bV90aW1lc3RhbXAgPSBXVEY6OmN1cnJlbnRUaW1lKCk7CisKKyAgICAvLyBGSVhNRTogV2h5IGRv
bid0IHdlIGhhbmRsZSBhIGNvbnRleHQgbWVudSBldmVudCBoZXJlIGFzIHdlIGRvIGluIFBsYXRm
b3JtTW91c2VFdmVudChRSW5wdXRFdmVudCosIGludCk/CisgICAgbW91c2VFdmVudFR5cGVBbmRN
b3VzZUJ1dHRvbkZyb21RRXZlbnQoZXZlbnQsIG1fZXZlbnRUeXBlLCBtX2J1dHRvbik7CisgICAg
bV9wb3NpdGlvbiA9IEludFBvaW50KGV2ZW50LT5wb3MoKS50b1BvaW50KCkpOworICAgIG1fZ2xv
YmFsUG9zaXRpb24gPSBJbnRQb2ludChldmVudC0+c2NyZWVuUG9zKCkpOwogCiAgICAgbV9jbGlj
a0NvdW50ID0gY2xpY2tDb3VudDsKICAgICBtb3VzZUV2ZW50TW9kaWZpZXJzRnJvbVF0S2V5Ym9h
cmRNb2RpZmllcnMoZXZlbnQtPm1vZGlmaWVycygpLCBtX2FsdEtleSwgbV9jdHJsS2V5LCBtX21l
dGFLZXksIG1fc2hpZnRLZXkpOwpAQCAtODEsNDggKzEyMSwyMiBAQCBQbGF0Zm9ybU1vdXNlRXZl
bnQ6OlBsYXRmb3JtTW91c2VFdmVudChRCiB7CiAgICAgbV90aW1lc3RhbXAgPSBXVEY6OmN1cnJl
bnRUaW1lKCk7CiAKLSAgICBRTW91c2VFdmVudCogbWUgPSAwOwotCi0gICAgc3dpdGNoIChldmVu
dC0+dHlwZSgpKSB7Ci0gICAgY2FzZSBRRXZlbnQ6Ok1vdXNlTW92ZToKLSAgICAgICAgbV9ldmVu
dFR5cGUgPSBNb3VzZUV2ZW50TW92ZWQ7Ci0gICAgICAgIG1lID0gc3RhdGljX2Nhc3Q8UU1vdXNl
RXZlbnQgKj4oZXZlbnQpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIFFFdmVudDo6TW91c2VC
dXR0b25EYmxDbGljazoKLSAgICBjYXNlIFFFdmVudDo6TW91c2VCdXR0b25QcmVzczoKLSAgICAg
ICAgbV9ldmVudFR5cGUgPSBNb3VzZUV2ZW50UHJlc3NlZDsKLSAgICAgICAgbWUgPSBzdGF0aWNf
Y2FzdDxRTW91c2VFdmVudCAqPihldmVudCk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgUUV2
ZW50OjpNb3VzZUJ1dHRvblJlbGVhc2U6Ci0gICAgICAgIG1fZXZlbnRUeXBlID0gTW91c2VFdmVu
dFJlbGVhc2VkOwotICAgICAgICBtZSA9IHN0YXRpY19jYXN0PFFNb3VzZUV2ZW50ICo+KGV2ZW50
KTsKLSAgICAgICAgYnJlYWs7CisgICAgYm9vbCBpc0NvbnRleHRNZW51RXZlbnQgPSBmYWxzZTsK
ICNpZm5kZWYgUVRfTk9fQ09OVEVYVE1FTlUKLSAgICBjYXNlIFFFdmVudDo6Q29udGV4dE1lbnU6
IHsKKyAgICBpZiAoZXZlbnQtPnR5cGUoKSA9PSBRRXZlbnQ6OkNvbnRleHRNZW51KSB7CisgICAg
ICAgIGlzQ29udGV4dE1lbnVFdmVudCA9IHRydWU7CiAgICAgICAgIG1fZXZlbnRUeXBlID0gTW91
c2VFdmVudFByZXNzZWQ7CiAgICAgICAgIFFDb250ZXh0TWVudUV2ZW50KiBjZSA9IHN0YXRpY19j
YXN0PFFDb250ZXh0TWVudUV2ZW50Kj4oZXZlbnQpOwogICAgICAgICBtX3Bvc2l0aW9uID0gSW50
UG9pbnQoY2UtPnBvcygpKTsKICAgICAgICAgbV9nbG9iYWxQb3NpdGlvbiA9IEludFBvaW50KGNl
LT5nbG9iYWxQb3MoKSk7CiAgICAgICAgIG1fYnV0dG9uID0gUmlnaHRCdXR0b247Ci0gICAgICAg
IGJyZWFrOwogICAgIH0KLSNlbmRpZiAvLyBRVF9OT19DT05URVhUTUVOVQotICAgIGRlZmF1bHQ6
Ci0gICAgICAgIG1fZXZlbnRUeXBlID0gTW91c2VFdmVudE1vdmVkOwotICAgIH0KLQotICAgIGlm
IChtZSkgewotICAgICAgICBtX3Bvc2l0aW9uID0gSW50UG9pbnQobWUtPnBvcygpKTsKLSAgICAg
ICAgbV9nbG9iYWxQb3NpdGlvbiA9IEludFBvaW50KG1lLT5nbG9iYWxQb3MoKSk7Ci0KLSAgICAg
ICAgaWYgKG1lLT5idXR0b24oKSA9PSBRdDo6TGVmdEJ1dHRvbiB8fCAobWUtPmJ1dHRvbnMoKSAm
IFF0OjpMZWZ0QnV0dG9uKSkKLSAgICAgICAgICAgIG1fYnV0dG9uID0gTGVmdEJ1dHRvbjsKLSAg
ICAgICAgZWxzZSBpZiAobWUtPmJ1dHRvbigpID09IFF0OjpSaWdodEJ1dHRvbiB8fCAobWUtPmJ1
dHRvbnMoKSAmIFF0OjpSaWdodEJ1dHRvbikpCi0gICAgICAgICAgICBtX2J1dHRvbiA9IFJpZ2h0
QnV0dG9uOwotICAgICAgICBlbHNlIGlmIChtZS0+YnV0dG9uKCkgPT0gUXQ6Ok1pZEJ1dHRvbiB8
fCAobWUtPmJ1dHRvbnMoKSAmIFF0OjpNaWRCdXR0b24pKQotICAgICAgICAgICAgbV9idXR0b24g
PSBNaWRkbGVCdXR0b247Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIG1fYnV0dG9uID0gTm9C
dXR0b247CisjZW5kaWYKKyAgICBpZiAoIWlzQ29udGV4dE1lbnVFdmVudCkgeworICAgICAgICBt
b3VzZUV2ZW50VHlwZUFuZE1vdXNlQnV0dG9uRnJvbVFFdmVudChldmVudCwgbV9ldmVudFR5cGUs
IG1fYnV0dG9uKTsKKyAgICAgICAgUU1vdXNlRXZlbnQqIG1vdXNlRXZlbnQgPSBzdGF0aWNfY2Fz
dDxRTW91c2VFdmVudCo+KGV2ZW50KTsKKyAgICAgICAgbV9wb3NpdGlvbiA9IEludFBvaW50KG1v
dXNlRXZlbnQtPnBvcygpKTsKKyAgICAgICAgbV9nbG9iYWxQb3NpdGlvbiA9IEludFBvaW50KG1v
dXNlRXZlbnQtPmdsb2JhbFBvcygpKTsKICAgICB9CiAKICAgICBtX2NsaWNrQ291bnQgPSBjbGlj
a0NvdW50OwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gODYyNzMpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAxMS0wNS0xMSAgRGFuaWVsIEJh
dGVzICA8ZGJhdGVzQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgW1F0XSBmYXN0L2V2ZW50cy9maXJlLW1vdXNlZG93bi13aGlsZS1wcmVz
c2luZy1tb3VzZS1idXR0b24uaHRtbCBmYWlsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD01ODg2MworCisgICAgICAgIFJlbW92ZSB0ZXN0IGNhc2Ug
ZmFzdC9ldmVudHMvZmlyZS1tb3VzZWRvd24td2hpbGUtcHJlc3NpbmctbW91c2UtYnV0dG9uLmh0
bWwKKyAgICAgICAgZnJvbSB0aGUgU2tpcHBlZCBsaXN0IHNpbmNlIGl0IG5vdyBwYXNzZXMuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9xdC9Ta2lwcGVkOgorCiAyMDExLTA1LTExICBBZGFtIFJvYmVu
ICA8YXJvYmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBUZXN0IHdoYXQgaGFwcGVucyB3aGVuIGEg
cGx1Z2luIG1ha2VzIGEgdGFyZ2V0ZWQgamF2YXNjcmlwdDogcmVxdWVzdApJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9xdC9Ta2lwcGVkCShyZXZpc2lvbiA4NjI3MykKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L3F0L1NraXBwZWQJKHdvcmtpbmcgY29weSkKQEAgLTEzMzEsMTAgKzEzMzEsNiBAQCBlZGl0aW5n
L3Vuc3VwcG9ydGVkLWNvbnRlbnQvdGFibGUtdHlwZS1iCiAjIGZhaWxpbmcgZmFzdCB0ZXN0cwog
IyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PSAjCiAKLSMgW1F0XSBmYXN0L2V2ZW50cy9maXJlLW1vdXNl
ZG93bi13aGlsZS1wcmVzc2luZy1tb3VzZS1idXR0b24uaHRtbCBmYWlsaW5nCi0jIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01ODg2MwotZmFzdC9ldmVudHMvZmlyZS1t
b3VzZWRvd24td2hpbGUtcHJlc3NpbmctbW91c2UtYnV0dG9uLmh0bWwKLQogIyBbUXRdIGZhc3Qv
cnVieS9vdmVyaGFuZyogdGVzdHMgZmFpbAogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NTc4MjQKIGZhc3QvcnVieS9vdmVyaGFuZy1ob3Jpem9udGFsLmh0bWwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93197</attachid>
            <date>2011-05-11 15:33:09 -0700</date>
            <delta_ts>2011-05-11 15:46:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58863-20110511153104.patch</filename>
            <type>text/plain</type>
            <size>9090</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2MjczKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDUtMTEgIERhbmllbCBC
YXRlcyAgPGRiYXRlc0ByaW0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFtRdF0gZmFzdC9ldmVudHMvZmlyZS1tb3VzZWRvd24td2hpbGUtcHJl
c3NpbmctbW91c2UtYnV0dG9uLmh0bWwgZmFpbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTg4NjMKKworICAgICAgICBGaXhlcyBhbiBpc3N1ZSB3
aGVyZSBhIHBsYXRmb3JtIG1vdXNlIGV2ZW50IGNvcnJlc3BvbmRpbmcgdG8gbW91c2UgYnV0dG9u
IEEKKyAgICAgICAgbWF5IGJlIGFzc29jaWF0ZWQgd2l0aCB0aGUgd3JvbmcgV2ViQ29yZSBtb3Vz
ZSBidXR0b24gd2hlbiB0aGUgZXZlbnQgb2NjdXJzCisgICAgICAgIHdoaWxlIHByZXNzaW5nIGFu
ZCBob2xkaW5nIGEgbW91c2UgYnV0dG9uIEIsIHdoZXJlIEEgIT0gQi4KKworICAgICAgICBGb3Ig
ZXhhbXBsZSwgYSBwZXJzb24gY2xpY2tzIHRoZSBtaWRkbGUgbW91c2UgYnV0dG9uIHdoaWxlIHBy
ZXNzaW5nIGFuZCBob2xkaW5nCisgICAgICAgIHRoZSBsZWZ0IG1vdXNlIGJ1dHRvbi4gVGhlbiB3
ZSBkaXNwYXRjaCB0aGUgZm9sbG93aW5nIERPTSBldmVudHM6IG1vdXNlIGRvd24gZm9yCisgICAg
ICAgIGxlZnQgYnV0dG9uLCBtb3VzZSBkb3duIGZvciBsZWZ0IGJ1dHRvbiwgbW91c2UgdXAgZm9y
IGxlZnQgYnV0dG9uLiBCdXQsIHdlIHNob3VsZAorICAgICAgICBoYXZlIGRpc3BhdGNoZWQ6IG1v
dXNlIGRvd24gZm9yIGxlZnQgYnV0dG9uLCBtb3VzZSBkb3duIGZvciBtaWRkbGUgYnV0dG9uLCBt
b3VzZSB1cAorICAgICAgICBmb3IgbWlkZGxlIGJ1dHRvbi4KKworICAgICAgICAqIHBsYXRmb3Jt
L3F0L1BsYXRmb3JtTW91c2VFdmVudFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om1vdXNlRXZl
bnRUeXBlQW5kTW91c2VCdXR0b25Gcm9tUUV2ZW50KTogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
OjpQbGF0Zm9ybU1vdXNlRXZlbnQ6OlBsYXRmb3JtTW91c2VFdmVudCk6IE1vZGlmaWVkIHRvIGNh
bGwgbW91c2VFdmVudFR5cGVBbmRNb3VzZUJ1dHRvbkZyb21RRXZlbnQoKQorICAgICAgICB0byBk
ZXRlcm1pbmUgdGhlIFdlYkNvcmUgbW91c2UgZXZlbnQgdHlwZSBhbmQgYnV0dG9uIGZyb20gdGhl
IHBsYXRmb3JtLXNwZWNpZmljIGV2ZW50LgorCiAyMDExLTA1LTExICBEYW5pZWwgQmF0ZXMgIDxk
YmF0ZXNAcmltLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbnRvbmlvIEdvbWVzLgpJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvUGxhdGZvcm1Nb3VzZUV2ZW50UXQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1BsYXRmb3JtTW91c2VFdmVu
dFF0LmNwcAkocmV2aXNpb24gODYyNzMpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9Q
bGF0Zm9ybU1vdXNlRXZlbnRRdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw2IEBACiAv
KgogICogQ29weXJpZ2h0IChDKSAyMDA2IFphY2sgUnVzaW4gPHphY2tAa2RlLm9yZz4KKyAqIENv
cHlyaWdodCAoQykgMjAxMSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZC4KICAqCiAgKiBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICoKQEAgLTQyLDM1ICs0Myw3NiBAQCBzdGF0aWMgdm9pZCBtb3Vz
ZUV2ZW50TW9kaWZpZXJzRnJvbVF0S2V5CiAgICAgc2hpZnRLZXkgPSBrZXlib2FyZE1vZGlmaWVy
cyAmIFF0OjpTaGlmdE1vZGlmaWVyOwogfQogCi0jaWYgIWRlZmluZWQoUVRfTk9fR1JBUEhJQ1NW
SUVXKQotUGxhdGZvcm1Nb3VzZUV2ZW50OjpQbGF0Zm9ybU1vdXNlRXZlbnQoUUdyYXBoaWNzU2Nl
bmVNb3VzZUV2ZW50KiBldmVudCwgaW50IGNsaWNrQ291bnQpCitzdGF0aWMgdm9pZCBtb3VzZUV2
ZW50VHlwZUFuZE1vdXNlQnV0dG9uRnJvbVFFdmVudChjb25zdCBRRXZlbnQqIGV2ZW50LCBNb3Vz
ZUV2ZW50VHlwZSYgbW91c2VFdmVudFR5cGUsIE1vdXNlQnV0dG9uJiBtb3VzZUJ1dHRvbikKIHsK
LSAgICBtX3RpbWVzdGFtcCA9IFdURjo6Y3VycmVudFRpbWUoKTsKLQorICAgIGVudW0geyBNb3Vz
ZUV2ZW50LCBHcmFwaGljc1NjZW5lTW91c2VFdmVudCB9IGZyYW1ld29ya01vdXNlRXZlbnRUeXBl
OwogICAgIHN3aXRjaCAoZXZlbnQtPnR5cGUoKSkgeworICAgIGNhc2UgUUV2ZW50OjpNb3VzZUJ1
dHRvbkRibENsaWNrOgorICAgIGNhc2UgUUV2ZW50OjpNb3VzZUJ1dHRvblByZXNzOgorICAgICAg
ICBmcmFtZXdvcmtNb3VzZUV2ZW50VHlwZSA9IE1vdXNlRXZlbnQ7CisgICAgICAgIG1vdXNlRXZl
bnRUeXBlID0gTW91c2VFdmVudFByZXNzZWQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgUUV2
ZW50OjpNb3VzZUJ1dHRvblJlbGVhc2U6CisgICAgICAgIGZyYW1ld29ya01vdXNlRXZlbnRUeXBl
ID0gTW91c2VFdmVudDsKKyAgICAgICAgbW91c2VFdmVudFR5cGUgPSBNb3VzZUV2ZW50UmVsZWFz
ZWQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgUUV2ZW50OjpNb3VzZU1vdmU6CisgICAgICAg
IGZyYW1ld29ya01vdXNlRXZlbnRUeXBlID0gTW91c2VFdmVudDsKKyAgICAgICAgbW91c2VFdmVu
dFR5cGUgPSBNb3VzZUV2ZW50TW92ZWQ7CisgICAgICAgIGJyZWFrOworI2lmICFkZWZpbmVkKFFU
X05PX0dSQVBISUNTVklFVykKICAgICBjYXNlIFFFdmVudDo6R3JhcGhpY3NTY2VuZU1vdXNlRG91
YmxlQ2xpY2s6CiAgICAgY2FzZSBRRXZlbnQ6OkdyYXBoaWNzU2NlbmVNb3VzZVByZXNzOgotICAg
ICAgICBtX2V2ZW50VHlwZSA9IE1vdXNlRXZlbnRQcmVzc2VkOworICAgICAgICBmcmFtZXdvcmtN
b3VzZUV2ZW50VHlwZSA9IEdyYXBoaWNzU2NlbmVNb3VzZUV2ZW50OworICAgICAgICBtb3VzZUV2
ZW50VHlwZSA9IE1vdXNlRXZlbnRQcmVzc2VkOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFFF
dmVudDo6R3JhcGhpY3NTY2VuZU1vdXNlUmVsZWFzZToKLSAgICAgICAgbV9ldmVudFR5cGUgPSBN
b3VzZUV2ZW50UmVsZWFzZWQ7CisgICAgICAgIGZyYW1ld29ya01vdXNlRXZlbnRUeXBlID0gR3Jh
cGhpY3NTY2VuZU1vdXNlRXZlbnQ7CisgICAgICAgIG1vdXNlRXZlbnRUeXBlID0gTW91c2VFdmVu
dFJlbGVhc2VkOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFFFdmVudDo6R3JhcGhpY3NTY2Vu
ZU1vdXNlTW92ZToKKyAgICAgICAgZnJhbWV3b3JrTW91c2VFdmVudFR5cGUgPSBHcmFwaGljc1Nj
ZW5lTW91c2VFdmVudDsKKyAgICAgICAgbW91c2VFdmVudFR5cGUgPSBNb3VzZUV2ZW50TW92ZWQ7
CisgICAgICAgIGJyZWFrOworI2VuZGlmCiAgICAgZGVmYXVsdDoKLSAgICAgICAgbV9ldmVudFR5
cGUgPSBNb3VzZUV2ZW50TW92ZWQ7CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
ICAgICBicmVhazsKICAgICB9CiAKLSAgICBtX3Bvc2l0aW9uID0gSW50UG9pbnQoZXZlbnQtPnBv
cygpLnRvUG9pbnQoKSk7Ci0gICAgbV9nbG9iYWxQb3NpdGlvbiA9IEludFBvaW50KGV2ZW50LT5z
Y3JlZW5Qb3MoKSk7CisgICAgUXQ6Ok1vdXNlQnV0dG9ucyBtb3VzZUJ1dHRvbnM7CisgICAgc3dp
dGNoIChmcmFtZXdvcmtNb3VzZUV2ZW50VHlwZSkgeworICAgIGNhc2UgTW91c2VFdmVudDogewor
ICAgICAgICBRTW91c2VFdmVudCogbW91c2VFdmVudCA9IHN0YXRpY19jYXN0PGNvbnN0IFFNb3Vz
ZUV2ZW50Kj4oZXZlbnQpOworICAgICAgICBtb3VzZUJ1dHRvbnMgPSBtb3VzZUV2ZW50VHlwZSA9
PSBNb3VzZUV2ZW50TW92ZWQgPyBtb3VzZUV2ZW50LT5idXR0b25zKCkgOiBtb3VzZUV2ZW50LT5i
dXR0b24oKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGNhc2UgR3JhcGhpY3NTY2VuZU1v
dXNlRXZlbnQ6IHsKKyAgICAgICAgUUdyYXBoaWNzU2NlbmVNb3VzZUV2ZW50KiBtb3VzZUV2ZW50
ID0gc3RhdGljX2Nhc3Q8Y29uc3QgUUdyYXBoaWNzU2NlbmVNb3VzZUV2ZW50Kj4oZXZlbnQpOwor
ICAgICAgICBtb3VzZUJ1dHRvbnMgPSBtb3VzZUV2ZW50VHlwZSA9PSBNb3VzZUV2ZW50TW92ZWQg
PyBtb3VzZUV2ZW50LT5idXR0b25zKCkgOiBtb3VzZUV2ZW50LT5idXR0b24oKTsKKyAgICAgICAg
YnJlYWs7CisgICAgfQorICAgIH0KIAotICAgIGlmIChldmVudC0+YnV0dG9uKCkgPT0gUXQ6Okxl
ZnRCdXR0b24gfHwgKGV2ZW50LT5idXR0b25zKCkgJiBRdDo6TGVmdEJ1dHRvbikpCi0gICAgICAg
IG1fYnV0dG9uID0gTGVmdEJ1dHRvbjsKLSAgICBlbHNlIGlmIChldmVudC0+YnV0dG9uKCkgPT0g
UXQ6OlJpZ2h0QnV0dG9uIHx8IChldmVudC0+YnV0dG9ucygpICYgUXQ6OlJpZ2h0QnV0dG9uKSkK
LSAgICAgICAgbV9idXR0b24gPSBSaWdodEJ1dHRvbjsKLSAgICBlbHNlIGlmIChldmVudC0+YnV0
dG9uKCkgPT0gUXQ6Ok1pZEJ1dHRvbiB8fCAoZXZlbnQtPmJ1dHRvbnMoKSAmIFF0OjpNaWRCdXR0
b24pKQotICAgICAgICBtX2J1dHRvbiA9IE1pZGRsZUJ1dHRvbjsKKyAgICBpZiAobW91c2VCdXR0
b25zICYgUXQ6OkxlZnRCdXR0b24pCisgICAgICAgIG1vdXNlQnV0dG9uID0gTGVmdEJ1dHRvbjsK
KyAgICBlbHNlIGlmIChtb3VzZUJ1dHRvbnMgJiBRdDo6UmlnaHRCdXR0b24pCisgICAgICAgIG1v
dXNlQnV0dG9uID0gUmlnaHRCdXR0b247CisgICAgZWxzZSBpZiAobW91c2VCdXR0b25zICYgUXQ6
Ok1pZEJ1dHRvbikKKyAgICAgICAgbW91c2VCdXR0b24gPSBNaWRkbGVCdXR0b247CiAgICAgZWxz
ZQotICAgICAgICBtX2J1dHRvbiA9IE5vQnV0dG9uOworICAgICAgICBtb3VzZUJ1dHRvbiA9IE5v
QnV0dG9uOworfQorCisjaWYgIWRlZmluZWQoUVRfTk9fR1JBUEhJQ1NWSUVXKQorUGxhdGZvcm1N
b3VzZUV2ZW50OjpQbGF0Zm9ybU1vdXNlRXZlbnQoUUdyYXBoaWNzU2NlbmVNb3VzZUV2ZW50KiBl
dmVudCwgaW50IGNsaWNrQ291bnQpCit7CisgICAgbV90aW1lc3RhbXAgPSBXVEY6OmN1cnJlbnRU
aW1lKCk7CisKKyAgICAvLyBGSVhNRTogV2h5IGRvbid0IHdlIGhhbmRsZSBhIGNvbnRleHQgbWVu
dSBldmVudCBoZXJlIGFzIHdlIGRvIGluIFBsYXRmb3JtTW91c2VFdmVudChRSW5wdXRFdmVudCos
IGludCk/CisgICAgbW91c2VFdmVudFR5cGVBbmRNb3VzZUJ1dHRvbkZyb21RRXZlbnQoZXZlbnQs
IG1fZXZlbnRUeXBlLCBtX2J1dHRvbik7CisgICAgbV9wb3NpdGlvbiA9IEludFBvaW50KGV2ZW50
LT5wb3MoKS50b1BvaW50KCkpOworICAgIG1fZ2xvYmFsUG9zaXRpb24gPSBJbnRQb2ludChldmVu
dC0+c2NyZWVuUG9zKCkpOwogCiAgICAgbV9jbGlja0NvdW50ID0gY2xpY2tDb3VudDsKICAgICBt
b3VzZUV2ZW50TW9kaWZpZXJzRnJvbVF0S2V5Ym9hcmRNb2RpZmllcnMoZXZlbnQtPm1vZGlmaWVy
cygpLCBtX2FsdEtleSwgbV9jdHJsS2V5LCBtX21ldGFLZXksIG1fc2hpZnRLZXkpOwpAQCAtODEs
NDggKzEyMywyMiBAQCBQbGF0Zm9ybU1vdXNlRXZlbnQ6OlBsYXRmb3JtTW91c2VFdmVudChRCiB7
CiAgICAgbV90aW1lc3RhbXAgPSBXVEY6OmN1cnJlbnRUaW1lKCk7CiAKLSAgICBRTW91c2VFdmVu
dCogbWUgPSAwOwotCi0gICAgc3dpdGNoIChldmVudC0+dHlwZSgpKSB7Ci0gICAgY2FzZSBRRXZl
bnQ6Ok1vdXNlTW92ZToKLSAgICAgICAgbV9ldmVudFR5cGUgPSBNb3VzZUV2ZW50TW92ZWQ7Ci0g
ICAgICAgIG1lID0gc3RhdGljX2Nhc3Q8UU1vdXNlRXZlbnQgKj4oZXZlbnQpOwotICAgICAgICBi
cmVhazsKLSAgICBjYXNlIFFFdmVudDo6TW91c2VCdXR0b25EYmxDbGljazoKLSAgICBjYXNlIFFF
dmVudDo6TW91c2VCdXR0b25QcmVzczoKLSAgICAgICAgbV9ldmVudFR5cGUgPSBNb3VzZUV2ZW50
UHJlc3NlZDsKLSAgICAgICAgbWUgPSBzdGF0aWNfY2FzdDxRTW91c2VFdmVudCAqPihldmVudCk7
Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgUUV2ZW50OjpNb3VzZUJ1dHRvblJlbGVhc2U6Ci0g
ICAgICAgIG1fZXZlbnRUeXBlID0gTW91c2VFdmVudFJlbGVhc2VkOwotICAgICAgICBtZSA9IHN0
YXRpY19jYXN0PFFNb3VzZUV2ZW50ICo+KGV2ZW50KTsKLSAgICAgICAgYnJlYWs7CisgICAgYm9v
bCBpc0NvbnRleHRNZW51RXZlbnQgPSBmYWxzZTsKICNpZm5kZWYgUVRfTk9fQ09OVEVYVE1FTlUK
LSAgICBjYXNlIFFFdmVudDo6Q29udGV4dE1lbnU6IHsKKyAgICBpZiAoZXZlbnQtPnR5cGUoKSA9
PSBRRXZlbnQ6OkNvbnRleHRNZW51KSB7CisgICAgICAgIGlzQ29udGV4dE1lbnVFdmVudCA9IHRy
dWU7CiAgICAgICAgIG1fZXZlbnRUeXBlID0gTW91c2VFdmVudFByZXNzZWQ7CiAgICAgICAgIFFD
b250ZXh0TWVudUV2ZW50KiBjZSA9IHN0YXRpY19jYXN0PFFDb250ZXh0TWVudUV2ZW50Kj4oZXZl
bnQpOwogICAgICAgICBtX3Bvc2l0aW9uID0gSW50UG9pbnQoY2UtPnBvcygpKTsKICAgICAgICAg
bV9nbG9iYWxQb3NpdGlvbiA9IEludFBvaW50KGNlLT5nbG9iYWxQb3MoKSk7CiAgICAgICAgIG1f
YnV0dG9uID0gUmlnaHRCdXR0b247Ci0gICAgICAgIGJyZWFrOwogICAgIH0KLSNlbmRpZiAvLyBR
VF9OT19DT05URVhUTUVOVQotICAgIGRlZmF1bHQ6Ci0gICAgICAgIG1fZXZlbnRUeXBlID0gTW91
c2VFdmVudE1vdmVkOwotICAgIH0KLQotICAgIGlmIChtZSkgewotICAgICAgICBtX3Bvc2l0aW9u
ID0gSW50UG9pbnQobWUtPnBvcygpKTsKLSAgICAgICAgbV9nbG9iYWxQb3NpdGlvbiA9IEludFBv
aW50KG1lLT5nbG9iYWxQb3MoKSk7Ci0KLSAgICAgICAgaWYgKG1lLT5idXR0b24oKSA9PSBRdDo6
TGVmdEJ1dHRvbiB8fCAobWUtPmJ1dHRvbnMoKSAmIFF0OjpMZWZ0QnV0dG9uKSkKLSAgICAgICAg
ICAgIG1fYnV0dG9uID0gTGVmdEJ1dHRvbjsKLSAgICAgICAgZWxzZSBpZiAobWUtPmJ1dHRvbigp
ID09IFF0OjpSaWdodEJ1dHRvbiB8fCAobWUtPmJ1dHRvbnMoKSAmIFF0OjpSaWdodEJ1dHRvbikp
Ci0gICAgICAgICAgICBtX2J1dHRvbiA9IFJpZ2h0QnV0dG9uOwotICAgICAgICBlbHNlIGlmICht
ZS0+YnV0dG9uKCkgPT0gUXQ6Ok1pZEJ1dHRvbiB8fCAobWUtPmJ1dHRvbnMoKSAmIFF0OjpNaWRC
dXR0b24pKQotICAgICAgICAgICAgbV9idXR0b24gPSBNaWRkbGVCdXR0b247Ci0gICAgICAgIGVs
c2UKLSAgICAgICAgICAgIG1fYnV0dG9uID0gTm9CdXR0b247CisjZW5kaWYKKyAgICBpZiAoIWlz
Q29udGV4dE1lbnVFdmVudCkgeworICAgICAgICBtb3VzZUV2ZW50VHlwZUFuZE1vdXNlQnV0dG9u
RnJvbVFFdmVudChldmVudCwgbV9ldmVudFR5cGUsIG1fYnV0dG9uKTsKKyAgICAgICAgUU1vdXNl
RXZlbnQqIG1vdXNlRXZlbnQgPSBzdGF0aWNfY2FzdDxRTW91c2VFdmVudCo+KGV2ZW50KTsKKyAg
ICAgICAgbV9wb3NpdGlvbiA9IEludFBvaW50KG1vdXNlRXZlbnQtPnBvcygpKTsKKyAgICAgICAg
bV9nbG9iYWxQb3NpdGlvbiA9IEludFBvaW50KG1vdXNlRXZlbnQtPmdsb2JhbFBvcygpKTsKICAg
ICB9CiAKICAgICBtX2NsaWNrQ291bnQgPSBjbGlja0NvdW50OwpJbmRleDogTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24g
ODYyNzMpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwxNSBAQAorMjAxMS0wNS0xMSAgRGFuaWVsIEJhdGVzICA8ZGJhdGVzQHJpbS5jb20+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBmYXN0L2V2
ZW50cy9maXJlLW1vdXNlZG93bi13aGlsZS1wcmVzc2luZy1tb3VzZS1idXR0b24uaHRtbCBmYWls
aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01ODg2
MworCisgICAgICAgIFJlbW92ZSB0ZXN0IGNhc2UgZmFzdC9ldmVudHMvZmlyZS1tb3VzZWRvd24t
d2hpbGUtcHJlc3NpbmctbW91c2UtYnV0dG9uLmh0bWwKKyAgICAgICAgZnJvbSB0aGUgU2tpcHBl
ZCBsaXN0IHNpbmNlIGl0IG5vdyBwYXNzZXMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9Ta2lw
cGVkOgorCiAyMDExLTA1LTExICBBZGFtIFJvYmVuICA8YXJvYmVuQGFwcGxlLmNvbT4KIAogICAg
ICAgICBUZXN0IHdoYXQgaGFwcGVucyB3aGVuIGEgcGx1Z2luIG1ha2VzIGEgdGFyZ2V0ZWQgamF2
YXNjcmlwdDogcmVxdWVzdApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCShyZXZpc2lvbiA4
NjI3MykKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQJKHdvcmtpbmcgY29weSkK
QEAgLTEzMzEsMTAgKzEzMzEsNiBAQCBlZGl0aW5nL3Vuc3VwcG9ydGVkLWNvbnRlbnQvdGFibGUt
dHlwZS1iCiAjIGZhaWxpbmcgZmFzdCB0ZXN0cwogIyA9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAjCiAK
LSMgW1F0XSBmYXN0L2V2ZW50cy9maXJlLW1vdXNlZG93bi13aGlsZS1wcmVzc2luZy1tb3VzZS1i
dXR0b24uaHRtbCBmYWlsaW5nCi0jIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD01ODg2MwotZmFzdC9ldmVudHMvZmlyZS1tb3VzZWRvd24td2hpbGUtcHJlc3NpbmctbW91
c2UtYnV0dG9uLmh0bWwKLQogIyBbUXRdIGZhc3QvcnVieS9vdmVyaGFuZyogdGVzdHMgZmFpbAog
IyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc4MjQKIGZhc3QvcnVi
eS9vdmVyaGFuZy1ob3Jpem9udGFsLmh0bWwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93198</attachid>
            <date>2011-05-11 15:46:11 -0700</date>
            <delta_ts>2011-05-11 16:00:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58863-20110511154405.patch</filename>
            <type>text/plain</type>
            <size>9102</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2MjczKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDUtMTEgIERhbmllbCBC
YXRlcyAgPGRiYXRlc0ByaW0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFtRdF0gZmFzdC9ldmVudHMvZmlyZS1tb3VzZWRvd24td2hpbGUtcHJl
c3NpbmctbW91c2UtYnV0dG9uLmh0bWwgZmFpbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTg4NjMKKworICAgICAgICBGaXhlcyBhbiBpc3N1ZSB3
aGVyZSBhIHBsYXRmb3JtIG1vdXNlIGV2ZW50IGNvcnJlc3BvbmRpbmcgdG8gbW91c2UgYnV0dG9u
IEEKKyAgICAgICAgbWF5IGJlIGFzc29jaWF0ZWQgd2l0aCB0aGUgd3JvbmcgV2ViQ29yZSBtb3Vz
ZSBidXR0b24gd2hlbiB0aGUgZXZlbnQgb2NjdXJzCisgICAgICAgIHdoaWxlIHByZXNzaW5nIGFu
ZCBob2xkaW5nIGEgbW91c2UgYnV0dG9uIEIsIHdoZXJlIEEgIT0gQi4KKworICAgICAgICBGb3Ig
ZXhhbXBsZSwgYSBwZXJzb24gY2xpY2tzIHRoZSBtaWRkbGUgbW91c2UgYnV0dG9uIHdoaWxlIHBy
ZXNzaW5nIGFuZCBob2xkaW5nCisgICAgICAgIHRoZSBsZWZ0IG1vdXNlIGJ1dHRvbi4gVGhlbiB3
ZSBkaXNwYXRjaCB0aGUgZm9sbG93aW5nIERPTSBldmVudHM6IG1vdXNlIGRvd24gZm9yCisgICAg
ICAgIGxlZnQgYnV0dG9uLCBtb3VzZSBkb3duIGZvciBsZWZ0IGJ1dHRvbiwgbW91c2UgdXAgZm9y
IGxlZnQgYnV0dG9uLiBCdXQsIHdlIHNob3VsZAorICAgICAgICBoYXZlIGRpc3BhdGNoZWQ6IG1v
dXNlIGRvd24gZm9yIGxlZnQgYnV0dG9uLCBtb3VzZSBkb3duIGZvciBtaWRkbGUgYnV0dG9uLCBt
b3VzZSB1cAorICAgICAgICBmb3IgbWlkZGxlIGJ1dHRvbi4KKworICAgICAgICAqIHBsYXRmb3Jt
L3F0L1BsYXRmb3JtTW91c2VFdmVudFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om1vdXNlRXZl
bnRUeXBlQW5kTW91c2VCdXR0b25Gcm9tUUV2ZW50KTogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
OjpQbGF0Zm9ybU1vdXNlRXZlbnQ6OlBsYXRmb3JtTW91c2VFdmVudCk6IE1vZGlmaWVkIHRvIGNh
bGwgbW91c2VFdmVudFR5cGVBbmRNb3VzZUJ1dHRvbkZyb21RRXZlbnQoKQorICAgICAgICB0byBk
ZXRlcm1pbmUgdGhlIFdlYkNvcmUgbW91c2UgZXZlbnQgdHlwZSBhbmQgYnV0dG9uIGZyb20gdGhl
IHBsYXRmb3JtLXNwZWNpZmljIGV2ZW50LgorCiAyMDExLTA1LTExICBEYW5pZWwgQmF0ZXMgIDxk
YmF0ZXNAcmltLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbnRvbmlvIEdvbWVzLgpJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvUGxhdGZvcm1Nb3VzZUV2ZW50UXQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1BsYXRmb3JtTW91c2VFdmVu
dFF0LmNwcAkocmV2aXNpb24gODYyNzMpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9Q
bGF0Zm9ybU1vdXNlRXZlbnRRdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw2IEBACiAv
KgogICogQ29weXJpZ2h0IChDKSAyMDA2IFphY2sgUnVzaW4gPHphY2tAa2RlLm9yZz4KKyAqIENv
cHlyaWdodCAoQykgMjAxMSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZC4KICAqCiAgKiBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICoKQEAgLTQyLDM1ICs0Myw3NiBAQCBzdGF0aWMgdm9pZCBtb3Vz
ZUV2ZW50TW9kaWZpZXJzRnJvbVF0S2V5CiAgICAgc2hpZnRLZXkgPSBrZXlib2FyZE1vZGlmaWVy
cyAmIFF0OjpTaGlmdE1vZGlmaWVyOwogfQogCi0jaWYgIWRlZmluZWQoUVRfTk9fR1JBUEhJQ1NW
SUVXKQotUGxhdGZvcm1Nb3VzZUV2ZW50OjpQbGF0Zm9ybU1vdXNlRXZlbnQoUUdyYXBoaWNzU2Nl
bmVNb3VzZUV2ZW50KiBldmVudCwgaW50IGNsaWNrQ291bnQpCitzdGF0aWMgdm9pZCBtb3VzZUV2
ZW50VHlwZUFuZE1vdXNlQnV0dG9uRnJvbVFFdmVudChjb25zdCBRRXZlbnQqIGV2ZW50LCBNb3Vz
ZUV2ZW50VHlwZSYgbW91c2VFdmVudFR5cGUsIE1vdXNlQnV0dG9uJiBtb3VzZUJ1dHRvbikKIHsK
LSAgICBtX3RpbWVzdGFtcCA9IFdURjo6Y3VycmVudFRpbWUoKTsKLQorICAgIGVudW0geyBNb3Vz
ZUV2ZW50LCBHcmFwaGljc1NjZW5lTW91c2VFdmVudCB9IGZyYW1ld29ya01vdXNlRXZlbnRUeXBl
OwogICAgIHN3aXRjaCAoZXZlbnQtPnR5cGUoKSkgeworICAgIGNhc2UgUUV2ZW50OjpNb3VzZUJ1
dHRvbkRibENsaWNrOgorICAgIGNhc2UgUUV2ZW50OjpNb3VzZUJ1dHRvblByZXNzOgorICAgICAg
ICBmcmFtZXdvcmtNb3VzZUV2ZW50VHlwZSA9IE1vdXNlRXZlbnQ7CisgICAgICAgIG1vdXNlRXZl
bnRUeXBlID0gTW91c2VFdmVudFByZXNzZWQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgUUV2
ZW50OjpNb3VzZUJ1dHRvblJlbGVhc2U6CisgICAgICAgIGZyYW1ld29ya01vdXNlRXZlbnRUeXBl
ID0gTW91c2VFdmVudDsKKyAgICAgICAgbW91c2VFdmVudFR5cGUgPSBNb3VzZUV2ZW50UmVsZWFz
ZWQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgUUV2ZW50OjpNb3VzZU1vdmU6CisgICAgICAg
IGZyYW1ld29ya01vdXNlRXZlbnRUeXBlID0gTW91c2VFdmVudDsKKyAgICAgICAgbW91c2VFdmVu
dFR5cGUgPSBNb3VzZUV2ZW50TW92ZWQ7CisgICAgICAgIGJyZWFrOworI2lmICFkZWZpbmVkKFFU
X05PX0dSQVBISUNTVklFVykKICAgICBjYXNlIFFFdmVudDo6R3JhcGhpY3NTY2VuZU1vdXNlRG91
YmxlQ2xpY2s6CiAgICAgY2FzZSBRRXZlbnQ6OkdyYXBoaWNzU2NlbmVNb3VzZVByZXNzOgotICAg
ICAgICBtX2V2ZW50VHlwZSA9IE1vdXNlRXZlbnRQcmVzc2VkOworICAgICAgICBmcmFtZXdvcmtN
b3VzZUV2ZW50VHlwZSA9IEdyYXBoaWNzU2NlbmVNb3VzZUV2ZW50OworICAgICAgICBtb3VzZUV2
ZW50VHlwZSA9IE1vdXNlRXZlbnRQcmVzc2VkOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFFF
dmVudDo6R3JhcGhpY3NTY2VuZU1vdXNlUmVsZWFzZToKLSAgICAgICAgbV9ldmVudFR5cGUgPSBN
b3VzZUV2ZW50UmVsZWFzZWQ7CisgICAgICAgIGZyYW1ld29ya01vdXNlRXZlbnRUeXBlID0gR3Jh
cGhpY3NTY2VuZU1vdXNlRXZlbnQ7CisgICAgICAgIG1vdXNlRXZlbnRUeXBlID0gTW91c2VFdmVu
dFJlbGVhc2VkOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFFFdmVudDo6R3JhcGhpY3NTY2Vu
ZU1vdXNlTW92ZToKKyAgICAgICAgZnJhbWV3b3JrTW91c2VFdmVudFR5cGUgPSBHcmFwaGljc1Nj
ZW5lTW91c2VFdmVudDsKKyAgICAgICAgbW91c2VFdmVudFR5cGUgPSBNb3VzZUV2ZW50TW92ZWQ7
CisgICAgICAgIGJyZWFrOworI2VuZGlmCiAgICAgZGVmYXVsdDoKLSAgICAgICAgbV9ldmVudFR5
cGUgPSBNb3VzZUV2ZW50TW92ZWQ7CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
ICAgICBicmVhazsKICAgICB9CiAKLSAgICBtX3Bvc2l0aW9uID0gSW50UG9pbnQoZXZlbnQtPnBv
cygpLnRvUG9pbnQoKSk7Ci0gICAgbV9nbG9iYWxQb3NpdGlvbiA9IEludFBvaW50KGV2ZW50LT5z
Y3JlZW5Qb3MoKSk7CisgICAgUXQ6Ok1vdXNlQnV0dG9ucyBtb3VzZUJ1dHRvbnM7CisgICAgc3dp
dGNoIChmcmFtZXdvcmtNb3VzZUV2ZW50VHlwZSkgeworICAgIGNhc2UgTW91c2VFdmVudDogewor
ICAgICAgICBjb25zdCBRTW91c2VFdmVudCogbW91c2VFdmVudCA9IHN0YXRpY19jYXN0PGNvbnN0
IFFNb3VzZUV2ZW50Kj4oZXZlbnQpOworICAgICAgICBtb3VzZUJ1dHRvbnMgPSBtb3VzZUV2ZW50
VHlwZSA9PSBNb3VzZUV2ZW50TW92ZWQgPyBtb3VzZUV2ZW50LT5idXR0b25zKCkgOiBtb3VzZUV2
ZW50LT5idXR0b24oKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGNhc2UgR3JhcGhpY3NT
Y2VuZU1vdXNlRXZlbnQ6IHsKKyAgICAgICAgY29uc3QgUUdyYXBoaWNzU2NlbmVNb3VzZUV2ZW50
KiBtb3VzZUV2ZW50ID0gc3RhdGljX2Nhc3Q8Y29uc3QgUUdyYXBoaWNzU2NlbmVNb3VzZUV2ZW50
Kj4oZXZlbnQpOworICAgICAgICBtb3VzZUJ1dHRvbnMgPSBtb3VzZUV2ZW50VHlwZSA9PSBNb3Vz
ZUV2ZW50TW92ZWQgPyBtb3VzZUV2ZW50LT5idXR0b25zKCkgOiBtb3VzZUV2ZW50LT5idXR0b24o
KTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIH0KIAotICAgIGlmIChldmVudC0+YnV0dG9u
KCkgPT0gUXQ6OkxlZnRCdXR0b24gfHwgKGV2ZW50LT5idXR0b25zKCkgJiBRdDo6TGVmdEJ1dHRv
bikpCi0gICAgICAgIG1fYnV0dG9uID0gTGVmdEJ1dHRvbjsKLSAgICBlbHNlIGlmIChldmVudC0+
YnV0dG9uKCkgPT0gUXQ6OlJpZ2h0QnV0dG9uIHx8IChldmVudC0+YnV0dG9ucygpICYgUXQ6OlJp
Z2h0QnV0dG9uKSkKLSAgICAgICAgbV9idXR0b24gPSBSaWdodEJ1dHRvbjsKLSAgICBlbHNlIGlm
IChldmVudC0+YnV0dG9uKCkgPT0gUXQ6Ok1pZEJ1dHRvbiB8fCAoZXZlbnQtPmJ1dHRvbnMoKSAm
IFF0OjpNaWRCdXR0b24pKQotICAgICAgICBtX2J1dHRvbiA9IE1pZGRsZUJ1dHRvbjsKKyAgICBp
ZiAobW91c2VCdXR0b25zICYgUXQ6OkxlZnRCdXR0b24pCisgICAgICAgIG1vdXNlQnV0dG9uID0g
TGVmdEJ1dHRvbjsKKyAgICBlbHNlIGlmIChtb3VzZUJ1dHRvbnMgJiBRdDo6UmlnaHRCdXR0b24p
CisgICAgICAgIG1vdXNlQnV0dG9uID0gUmlnaHRCdXR0b247CisgICAgZWxzZSBpZiAobW91c2VC
dXR0b25zICYgUXQ6Ok1pZEJ1dHRvbikKKyAgICAgICAgbW91c2VCdXR0b24gPSBNaWRkbGVCdXR0
b247CiAgICAgZWxzZQotICAgICAgICBtX2J1dHRvbiA9IE5vQnV0dG9uOworICAgICAgICBtb3Vz
ZUJ1dHRvbiA9IE5vQnV0dG9uOworfQorCisjaWYgIWRlZmluZWQoUVRfTk9fR1JBUEhJQ1NWSUVX
KQorUGxhdGZvcm1Nb3VzZUV2ZW50OjpQbGF0Zm9ybU1vdXNlRXZlbnQoUUdyYXBoaWNzU2NlbmVN
b3VzZUV2ZW50KiBldmVudCwgaW50IGNsaWNrQ291bnQpCit7CisgICAgbV90aW1lc3RhbXAgPSBX
VEY6OmN1cnJlbnRUaW1lKCk7CisKKyAgICAvLyBGSVhNRTogV2h5IGRvbid0IHdlIGhhbmRsZSBh
IGNvbnRleHQgbWVudSBldmVudCBoZXJlIGFzIHdlIGRvIGluIFBsYXRmb3JtTW91c2VFdmVudChR
SW5wdXRFdmVudCosIGludCk/CisgICAgbW91c2VFdmVudFR5cGVBbmRNb3VzZUJ1dHRvbkZyb21R
RXZlbnQoZXZlbnQsIG1fZXZlbnRUeXBlLCBtX2J1dHRvbik7CisgICAgbV9wb3NpdGlvbiA9IElu
dFBvaW50KGV2ZW50LT5wb3MoKS50b1BvaW50KCkpOworICAgIG1fZ2xvYmFsUG9zaXRpb24gPSBJ
bnRQb2ludChldmVudC0+c2NyZWVuUG9zKCkpOwogCiAgICAgbV9jbGlja0NvdW50ID0gY2xpY2tD
b3VudDsKICAgICBtb3VzZUV2ZW50TW9kaWZpZXJzRnJvbVF0S2V5Ym9hcmRNb2RpZmllcnMoZXZl
bnQtPm1vZGlmaWVycygpLCBtX2FsdEtleSwgbV9jdHJsS2V5LCBtX21ldGFLZXksIG1fc2hpZnRL
ZXkpOwpAQCAtODEsNDggKzEyMywyMiBAQCBQbGF0Zm9ybU1vdXNlRXZlbnQ6OlBsYXRmb3JtTW91
c2VFdmVudChRCiB7CiAgICAgbV90aW1lc3RhbXAgPSBXVEY6OmN1cnJlbnRUaW1lKCk7CiAKLSAg
ICBRTW91c2VFdmVudCogbWUgPSAwOwotCi0gICAgc3dpdGNoIChldmVudC0+dHlwZSgpKSB7Ci0g
ICAgY2FzZSBRRXZlbnQ6Ok1vdXNlTW92ZToKLSAgICAgICAgbV9ldmVudFR5cGUgPSBNb3VzZUV2
ZW50TW92ZWQ7Ci0gICAgICAgIG1lID0gc3RhdGljX2Nhc3Q8UU1vdXNlRXZlbnQgKj4oZXZlbnQp
OwotICAgICAgICBicmVhazsKLSAgICBjYXNlIFFFdmVudDo6TW91c2VCdXR0b25EYmxDbGljazoK
LSAgICBjYXNlIFFFdmVudDo6TW91c2VCdXR0b25QcmVzczoKLSAgICAgICAgbV9ldmVudFR5cGUg
PSBNb3VzZUV2ZW50UHJlc3NlZDsKLSAgICAgICAgbWUgPSBzdGF0aWNfY2FzdDxRTW91c2VFdmVu
dCAqPihldmVudCk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgUUV2ZW50OjpNb3VzZUJ1dHRv
blJlbGVhc2U6Ci0gICAgICAgIG1fZXZlbnRUeXBlID0gTW91c2VFdmVudFJlbGVhc2VkOwotICAg
ICAgICBtZSA9IHN0YXRpY19jYXN0PFFNb3VzZUV2ZW50ICo+KGV2ZW50KTsKLSAgICAgICAgYnJl
YWs7CisgICAgYm9vbCBpc0NvbnRleHRNZW51RXZlbnQgPSBmYWxzZTsKICNpZm5kZWYgUVRfTk9f
Q09OVEVYVE1FTlUKLSAgICBjYXNlIFFFdmVudDo6Q29udGV4dE1lbnU6IHsKKyAgICBpZiAoZXZl
bnQtPnR5cGUoKSA9PSBRRXZlbnQ6OkNvbnRleHRNZW51KSB7CisgICAgICAgIGlzQ29udGV4dE1l
bnVFdmVudCA9IHRydWU7CiAgICAgICAgIG1fZXZlbnRUeXBlID0gTW91c2VFdmVudFByZXNzZWQ7
CiAgICAgICAgIFFDb250ZXh0TWVudUV2ZW50KiBjZSA9IHN0YXRpY19jYXN0PFFDb250ZXh0TWVu
dUV2ZW50Kj4oZXZlbnQpOwogICAgICAgICBtX3Bvc2l0aW9uID0gSW50UG9pbnQoY2UtPnBvcygp
KTsKICAgICAgICAgbV9nbG9iYWxQb3NpdGlvbiA9IEludFBvaW50KGNlLT5nbG9iYWxQb3MoKSk7
CiAgICAgICAgIG1fYnV0dG9uID0gUmlnaHRCdXR0b247Ci0gICAgICAgIGJyZWFrOwogICAgIH0K
LSNlbmRpZiAvLyBRVF9OT19DT05URVhUTUVOVQotICAgIGRlZmF1bHQ6Ci0gICAgICAgIG1fZXZl
bnRUeXBlID0gTW91c2VFdmVudE1vdmVkOwotICAgIH0KLQotICAgIGlmIChtZSkgewotICAgICAg
ICBtX3Bvc2l0aW9uID0gSW50UG9pbnQobWUtPnBvcygpKTsKLSAgICAgICAgbV9nbG9iYWxQb3Np
dGlvbiA9IEludFBvaW50KG1lLT5nbG9iYWxQb3MoKSk7Ci0KLSAgICAgICAgaWYgKG1lLT5idXR0
b24oKSA9PSBRdDo6TGVmdEJ1dHRvbiB8fCAobWUtPmJ1dHRvbnMoKSAmIFF0OjpMZWZ0QnV0dG9u
KSkKLSAgICAgICAgICAgIG1fYnV0dG9uID0gTGVmdEJ1dHRvbjsKLSAgICAgICAgZWxzZSBpZiAo
bWUtPmJ1dHRvbigpID09IFF0OjpSaWdodEJ1dHRvbiB8fCAobWUtPmJ1dHRvbnMoKSAmIFF0OjpS
aWdodEJ1dHRvbikpCi0gICAgICAgICAgICBtX2J1dHRvbiA9IFJpZ2h0QnV0dG9uOwotICAgICAg
ICBlbHNlIGlmIChtZS0+YnV0dG9uKCkgPT0gUXQ6Ok1pZEJ1dHRvbiB8fCAobWUtPmJ1dHRvbnMo
KSAmIFF0OjpNaWRCdXR0b24pKQotICAgICAgICAgICAgbV9idXR0b24gPSBNaWRkbGVCdXR0b247
Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIG1fYnV0dG9uID0gTm9CdXR0b247CisjZW5kaWYK
KyAgICBpZiAoIWlzQ29udGV4dE1lbnVFdmVudCkgeworICAgICAgICBtb3VzZUV2ZW50VHlwZUFu
ZE1vdXNlQnV0dG9uRnJvbVFFdmVudChldmVudCwgbV9ldmVudFR5cGUsIG1fYnV0dG9uKTsKKyAg
ICAgICAgUU1vdXNlRXZlbnQqIG1vdXNlRXZlbnQgPSBzdGF0aWNfY2FzdDxRTW91c2VFdmVudCo+
KGV2ZW50KTsKKyAgICAgICAgbV9wb3NpdGlvbiA9IEludFBvaW50KG1vdXNlRXZlbnQtPnBvcygp
KTsKKyAgICAgICAgbV9nbG9iYWxQb3NpdGlvbiA9IEludFBvaW50KG1vdXNlRXZlbnQtPmdsb2Jh
bFBvcygpKTsKICAgICB9CiAKICAgICBtX2NsaWNrQ291bnQgPSBjbGlja0NvdW50OwpJbmRleDog
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxv
ZwkocmV2aXNpb24gODYyNzMpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxNSBAQAorMjAxMS0wNS0xMSAgRGFuaWVsIEJhdGVzICA8ZGJhdGVzQHJp
bS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
W1F0XSBmYXN0L2V2ZW50cy9maXJlLW1vdXNlZG93bi13aGlsZS1wcmVzc2luZy1tb3VzZS1idXR0
b24uaHRtbCBmYWlsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD01ODg2MworCisgICAgICAgIFJlbW92ZSB0ZXN0IGNhc2UgZmFzdC9ldmVudHMvZmly
ZS1tb3VzZWRvd24td2hpbGUtcHJlc3NpbmctbW91c2UtYnV0dG9uLmh0bWwKKyAgICAgICAgZnJv
bSB0aGUgU2tpcHBlZCBsaXN0IHNpbmNlIGl0IG5vdyBwYXNzZXMuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9xdC9Ta2lwcGVkOgorCiAyMDExLTA1LTExICBBZGFtIFJvYmVuICA8YXJvYmVuQGFwcGxl
LmNvbT4KIAogICAgICAgICBUZXN0IHdoYXQgaGFwcGVucyB3aGVuIGEgcGx1Z2luIG1ha2VzIGEg
dGFyZ2V0ZWQgamF2YXNjcmlwdDogcmVxdWVzdApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
cXQvU2tpcHBlZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVk
CShyZXZpc2lvbiA4NjI3MykKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQJKHdv
cmtpbmcgY29weSkKQEAgLTEzMzEsMTAgKzEzMzEsNiBAQCBlZGl0aW5nL3Vuc3VwcG9ydGVkLWNv
bnRlbnQvdGFibGUtdHlwZS1iCiAjIGZhaWxpbmcgZmFzdCB0ZXN0cwogIyA9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PSAjCiAKLSMgW1F0XSBmYXN0L2V2ZW50cy9maXJlLW1vdXNlZG93bi13aGlsZS1wcmVz
c2luZy1tb3VzZS1idXR0b24uaHRtbCBmYWlsaW5nCi0jIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD01ODg2MwotZmFzdC9ldmVudHMvZmlyZS1tb3VzZWRvd24td2hpbGUt
cHJlc3NpbmctbW91c2UtYnV0dG9uLmh0bWwKLQogIyBbUXRdIGZhc3QvcnVieS9vdmVyaGFuZyog
dGVzdHMgZmFpbAogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc4
MjQKIGZhc3QvcnVieS9vdmVyaGFuZy1ob3Jpem9udGFsLmh0bWwK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93204</attachid>
            <date>2011-05-11 16:00:09 -0700</date>
            <delta_ts>2011-05-12 01:39:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58863-20110511155803.patch</filename>
            <type>text/plain</type>
            <size>9192</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2MjczKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDUtMTEgIERhbmllbCBC
YXRlcyAgPGRiYXRlc0ByaW0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFtRdF0gZmFzdC9ldmVudHMvZmlyZS1tb3VzZWRvd24td2hpbGUtcHJl
c3NpbmctbW91c2UtYnV0dG9uLmh0bWwgZmFpbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTg4NjMKKworICAgICAgICBGaXhlcyBhbiBpc3N1ZSB3
aGVyZSBhIHBsYXRmb3JtIG1vdXNlIGV2ZW50IGNvcnJlc3BvbmRpbmcgdG8gbW91c2UgYnV0dG9u
IEEKKyAgICAgICAgbWF5IGJlIGFzc29jaWF0ZWQgd2l0aCB0aGUgd3JvbmcgV2ViQ29yZSBtb3Vz
ZSBidXR0b24gd2hlbiB0aGUgZXZlbnQgb2NjdXJzCisgICAgICAgIHdoaWxlIHByZXNzaW5nIGFu
ZCBob2xkaW5nIGEgbW91c2UgYnV0dG9uIEIsIHdoZXJlIEEgIT0gQi4KKworICAgICAgICBGb3Ig
ZXhhbXBsZSwgYSBwZXJzb24gY2xpY2tzIHRoZSBtaWRkbGUgbW91c2UgYnV0dG9uIHdoaWxlIHBy
ZXNzaW5nIGFuZCBob2xkaW5nCisgICAgICAgIHRoZSBsZWZ0IG1vdXNlIGJ1dHRvbi4gVGhlbiB3
ZSBkaXNwYXRjaCB0aGUgZm9sbG93aW5nIERPTSBldmVudHM6IG1vdXNlIGRvd24gZm9yCisgICAg
ICAgIGxlZnQgYnV0dG9uLCBtb3VzZSBkb3duIGZvciBsZWZ0IGJ1dHRvbiwgbW91c2UgdXAgZm9y
IGxlZnQgYnV0dG9uLiBCdXQsIHdlIHNob3VsZAorICAgICAgICBoYXZlIGRpc3BhdGNoZWQ6IG1v
dXNlIGRvd24gZm9yIGxlZnQgYnV0dG9uLCBtb3VzZSBkb3duIGZvciBtaWRkbGUgYnV0dG9uLCBt
b3VzZSB1cAorICAgICAgICBmb3IgbWlkZGxlIGJ1dHRvbi4KKworICAgICAgICAqIHBsYXRmb3Jt
L3F0L1BsYXRmb3JtTW91c2VFdmVudFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om1vdXNlRXZl
bnRUeXBlQW5kTW91c2VCdXR0b25Gcm9tUUV2ZW50KTogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
OjpQbGF0Zm9ybU1vdXNlRXZlbnQ6OlBsYXRmb3JtTW91c2VFdmVudCk6IE1vZGlmaWVkIHRvIGNh
bGwgbW91c2VFdmVudFR5cGVBbmRNb3VzZUJ1dHRvbkZyb21RRXZlbnQoKQorICAgICAgICB0byBk
ZXRlcm1pbmUgdGhlIFdlYkNvcmUgbW91c2UgZXZlbnQgdHlwZSBhbmQgYnV0dG9uIGZyb20gdGhl
IHBsYXRmb3JtLXNwZWNpZmljIGV2ZW50LgorCiAyMDExLTA1LTExICBEYW5pZWwgQmF0ZXMgIDxk
YmF0ZXNAcmltLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbnRvbmlvIEdvbWVzLgpJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvUGxhdGZvcm1Nb3VzZUV2ZW50UXQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1BsYXRmb3JtTW91c2VFdmVu
dFF0LmNwcAkocmV2aXNpb24gODYyNzMpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9Q
bGF0Zm9ybU1vdXNlRXZlbnRRdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw2IEBACiAv
KgogICogQ29weXJpZ2h0IChDKSAyMDA2IFphY2sgUnVzaW4gPHphY2tAa2RlLm9yZz4KKyAqIENv
cHlyaWdodCAoQykgMjAxMSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZC4KICAqCiAgKiBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICoKQEAgLTQyLDM1ICs0Myw3OCBAQCBzdGF0aWMgdm9pZCBtb3Vz
ZUV2ZW50TW9kaWZpZXJzRnJvbVF0S2V5CiAgICAgc2hpZnRLZXkgPSBrZXlib2FyZE1vZGlmaWVy
cyAmIFF0OjpTaGlmdE1vZGlmaWVyOwogfQogCi0jaWYgIWRlZmluZWQoUVRfTk9fR1JBUEhJQ1NW
SUVXKQotUGxhdGZvcm1Nb3VzZUV2ZW50OjpQbGF0Zm9ybU1vdXNlRXZlbnQoUUdyYXBoaWNzU2Nl
bmVNb3VzZUV2ZW50KiBldmVudCwgaW50IGNsaWNrQ291bnQpCitzdGF0aWMgdm9pZCBtb3VzZUV2
ZW50VHlwZUFuZE1vdXNlQnV0dG9uRnJvbVFFdmVudChjb25zdCBRRXZlbnQqIGV2ZW50LCBNb3Vz
ZUV2ZW50VHlwZSYgbW91c2VFdmVudFR5cGUsIE1vdXNlQnV0dG9uJiBtb3VzZUJ1dHRvbikKIHsK
LSAgICBtX3RpbWVzdGFtcCA9IFdURjo6Y3VycmVudFRpbWUoKTsKLQorICAgIGVudW0geyBNb3Vz
ZUV2ZW50LCBHcmFwaGljc1NjZW5lTW91c2VFdmVudCB9IGZyYW1ld29ya01vdXNlRXZlbnRUeXBl
OwogICAgIHN3aXRjaCAoZXZlbnQtPnR5cGUoKSkgeworICAgIGNhc2UgUUV2ZW50OjpNb3VzZUJ1
dHRvbkRibENsaWNrOgorICAgIGNhc2UgUUV2ZW50OjpNb3VzZUJ1dHRvblByZXNzOgorICAgICAg
ICBmcmFtZXdvcmtNb3VzZUV2ZW50VHlwZSA9IE1vdXNlRXZlbnQ7CisgICAgICAgIG1vdXNlRXZl
bnRUeXBlID0gTW91c2VFdmVudFByZXNzZWQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgUUV2
ZW50OjpNb3VzZUJ1dHRvblJlbGVhc2U6CisgICAgICAgIGZyYW1ld29ya01vdXNlRXZlbnRUeXBl
ID0gTW91c2VFdmVudDsKKyAgICAgICAgbW91c2VFdmVudFR5cGUgPSBNb3VzZUV2ZW50UmVsZWFz
ZWQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgUUV2ZW50OjpNb3VzZU1vdmU6CisgICAgICAg
IGZyYW1ld29ya01vdXNlRXZlbnRUeXBlID0gTW91c2VFdmVudDsKKyAgICAgICAgbW91c2VFdmVu
dFR5cGUgPSBNb3VzZUV2ZW50TW92ZWQ7CisgICAgICAgIGJyZWFrOworI2lmICFkZWZpbmVkKFFU
X05PX0dSQVBISUNTVklFVykKICAgICBjYXNlIFFFdmVudDo6R3JhcGhpY3NTY2VuZU1vdXNlRG91
YmxlQ2xpY2s6CiAgICAgY2FzZSBRRXZlbnQ6OkdyYXBoaWNzU2NlbmVNb3VzZVByZXNzOgotICAg
ICAgICBtX2V2ZW50VHlwZSA9IE1vdXNlRXZlbnRQcmVzc2VkOworICAgICAgICBmcmFtZXdvcmtN
b3VzZUV2ZW50VHlwZSA9IEdyYXBoaWNzU2NlbmVNb3VzZUV2ZW50OworICAgICAgICBtb3VzZUV2
ZW50VHlwZSA9IE1vdXNlRXZlbnRQcmVzc2VkOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFFF
dmVudDo6R3JhcGhpY3NTY2VuZU1vdXNlUmVsZWFzZToKLSAgICAgICAgbV9ldmVudFR5cGUgPSBN
b3VzZUV2ZW50UmVsZWFzZWQ7CisgICAgICAgIGZyYW1ld29ya01vdXNlRXZlbnRUeXBlID0gR3Jh
cGhpY3NTY2VuZU1vdXNlRXZlbnQ7CisgICAgICAgIG1vdXNlRXZlbnRUeXBlID0gTW91c2VFdmVu
dFJlbGVhc2VkOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFFFdmVudDo6R3JhcGhpY3NTY2Vu
ZU1vdXNlTW92ZToKKyAgICAgICAgZnJhbWV3b3JrTW91c2VFdmVudFR5cGUgPSBHcmFwaGljc1Nj
ZW5lTW91c2VFdmVudDsKKyAgICAgICAgbW91c2VFdmVudFR5cGUgPSBNb3VzZUV2ZW50TW92ZWQ7
CisgICAgICAgIGJyZWFrOworI2VuZGlmCiAgICAgZGVmYXVsdDoKLSAgICAgICAgbV9ldmVudFR5
cGUgPSBNb3VzZUV2ZW50TW92ZWQ7CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
ICAgICBmcmFtZXdvcmtNb3VzZUV2ZW50VHlwZSA9IE1vdXNlRXZlbnQ7CisgICAgICAgIG1vdXNl
RXZlbnRUeXBlID0gTW91c2VFdmVudE1vdmVkOworICAgICAgICBicmVhazsKICAgICB9CiAKLSAg
ICBtX3Bvc2l0aW9uID0gSW50UG9pbnQoZXZlbnQtPnBvcygpLnRvUG9pbnQoKSk7Ci0gICAgbV9n
bG9iYWxQb3NpdGlvbiA9IEludFBvaW50KGV2ZW50LT5zY3JlZW5Qb3MoKSk7CisgICAgUXQ6Ok1v
dXNlQnV0dG9ucyBtb3VzZUJ1dHRvbnM7CisgICAgc3dpdGNoIChmcmFtZXdvcmtNb3VzZUV2ZW50
VHlwZSkgeworICAgIGNhc2UgTW91c2VFdmVudDogeworICAgICAgICBjb25zdCBRTW91c2VFdmVu
dCogbW91c2VFdmVudCA9IHN0YXRpY19jYXN0PGNvbnN0IFFNb3VzZUV2ZW50Kj4oZXZlbnQpOwor
ICAgICAgICBtb3VzZUJ1dHRvbnMgPSBtb3VzZUV2ZW50VHlwZSA9PSBNb3VzZUV2ZW50TW92ZWQg
PyBtb3VzZUV2ZW50LT5idXR0b25zKCkgOiBtb3VzZUV2ZW50LT5idXR0b24oKTsKKyAgICAgICAg
YnJlYWs7CisgICAgfQorICAgIGNhc2UgR3JhcGhpY3NTY2VuZU1vdXNlRXZlbnQ6IHsKKyAgICAg
ICAgY29uc3QgUUdyYXBoaWNzU2NlbmVNb3VzZUV2ZW50KiBtb3VzZUV2ZW50ID0gc3RhdGljX2Nh
c3Q8Y29uc3QgUUdyYXBoaWNzU2NlbmVNb3VzZUV2ZW50Kj4oZXZlbnQpOworICAgICAgICBtb3Vz
ZUJ1dHRvbnMgPSBtb3VzZUV2ZW50VHlwZSA9PSBNb3VzZUV2ZW50TW92ZWQgPyBtb3VzZUV2ZW50
LT5idXR0b25zKCkgOiBtb3VzZUV2ZW50LT5idXR0b24oKTsKKyAgICAgICAgYnJlYWs7CisgICAg
fQorICAgIH0KIAotICAgIGlmIChldmVudC0+YnV0dG9uKCkgPT0gUXQ6OkxlZnRCdXR0b24gfHwg
KGV2ZW50LT5idXR0b25zKCkgJiBRdDo6TGVmdEJ1dHRvbikpCi0gICAgICAgIG1fYnV0dG9uID0g
TGVmdEJ1dHRvbjsKLSAgICBlbHNlIGlmIChldmVudC0+YnV0dG9uKCkgPT0gUXQ6OlJpZ2h0QnV0
dG9uIHx8IChldmVudC0+YnV0dG9ucygpICYgUXQ6OlJpZ2h0QnV0dG9uKSkKLSAgICAgICAgbV9i
dXR0b24gPSBSaWdodEJ1dHRvbjsKLSAgICBlbHNlIGlmIChldmVudC0+YnV0dG9uKCkgPT0gUXQ6
Ok1pZEJ1dHRvbiB8fCAoZXZlbnQtPmJ1dHRvbnMoKSAmIFF0OjpNaWRCdXR0b24pKQotICAgICAg
ICBtX2J1dHRvbiA9IE1pZGRsZUJ1dHRvbjsKKyAgICBpZiAobW91c2VCdXR0b25zICYgUXQ6Okxl
ZnRCdXR0b24pCisgICAgICAgIG1vdXNlQnV0dG9uID0gTGVmdEJ1dHRvbjsKKyAgICBlbHNlIGlm
IChtb3VzZUJ1dHRvbnMgJiBRdDo6UmlnaHRCdXR0b24pCisgICAgICAgIG1vdXNlQnV0dG9uID0g
UmlnaHRCdXR0b247CisgICAgZWxzZSBpZiAobW91c2VCdXR0b25zICYgUXQ6Ok1pZEJ1dHRvbikK
KyAgICAgICAgbW91c2VCdXR0b24gPSBNaWRkbGVCdXR0b247CiAgICAgZWxzZQotICAgICAgICBt
X2J1dHRvbiA9IE5vQnV0dG9uOworICAgICAgICBtb3VzZUJ1dHRvbiA9IE5vQnV0dG9uOworfQor
CisjaWYgIWRlZmluZWQoUVRfTk9fR1JBUEhJQ1NWSUVXKQorUGxhdGZvcm1Nb3VzZUV2ZW50OjpQ
bGF0Zm9ybU1vdXNlRXZlbnQoUUdyYXBoaWNzU2NlbmVNb3VzZUV2ZW50KiBldmVudCwgaW50IGNs
aWNrQ291bnQpCit7CisgICAgbV90aW1lc3RhbXAgPSBXVEY6OmN1cnJlbnRUaW1lKCk7CisKKyAg
ICAvLyBGSVhNRTogV2h5IGRvbid0IHdlIGhhbmRsZSBhIGNvbnRleHQgbWVudSBldmVudCBoZXJl
IGFzIHdlIGRvIGluIFBsYXRmb3JtTW91c2VFdmVudChRSW5wdXRFdmVudCosIGludCk/CisgICAg
bW91c2VFdmVudFR5cGVBbmRNb3VzZUJ1dHRvbkZyb21RRXZlbnQoZXZlbnQsIG1fZXZlbnRUeXBl
LCBtX2J1dHRvbik7CisgICAgbV9wb3NpdGlvbiA9IEludFBvaW50KGV2ZW50LT5wb3MoKS50b1Bv
aW50KCkpOworICAgIG1fZ2xvYmFsUG9zaXRpb24gPSBJbnRQb2ludChldmVudC0+c2NyZWVuUG9z
KCkpOwogCiAgICAgbV9jbGlja0NvdW50ID0gY2xpY2tDb3VudDsKICAgICBtb3VzZUV2ZW50TW9k
aWZpZXJzRnJvbVF0S2V5Ym9hcmRNb2RpZmllcnMoZXZlbnQtPm1vZGlmaWVycygpLCBtX2FsdEtl
eSwgbV9jdHJsS2V5LCBtX21ldGFLZXksIG1fc2hpZnRLZXkpOwpAQCAtODEsNDggKzEyNSwyMiBA
QCBQbGF0Zm9ybU1vdXNlRXZlbnQ6OlBsYXRmb3JtTW91c2VFdmVudChRCiB7CiAgICAgbV90aW1l
c3RhbXAgPSBXVEY6OmN1cnJlbnRUaW1lKCk7CiAKLSAgICBRTW91c2VFdmVudCogbWUgPSAwOwot
Ci0gICAgc3dpdGNoIChldmVudC0+dHlwZSgpKSB7Ci0gICAgY2FzZSBRRXZlbnQ6Ok1vdXNlTW92
ZToKLSAgICAgICAgbV9ldmVudFR5cGUgPSBNb3VzZUV2ZW50TW92ZWQ7Ci0gICAgICAgIG1lID0g
c3RhdGljX2Nhc3Q8UU1vdXNlRXZlbnQgKj4oZXZlbnQpOwotICAgICAgICBicmVhazsKLSAgICBj
YXNlIFFFdmVudDo6TW91c2VCdXR0b25EYmxDbGljazoKLSAgICBjYXNlIFFFdmVudDo6TW91c2VC
dXR0b25QcmVzczoKLSAgICAgICAgbV9ldmVudFR5cGUgPSBNb3VzZUV2ZW50UHJlc3NlZDsKLSAg
ICAgICAgbWUgPSBzdGF0aWNfY2FzdDxRTW91c2VFdmVudCAqPihldmVudCk7Ci0gICAgICAgIGJy
ZWFrOwotICAgIGNhc2UgUUV2ZW50OjpNb3VzZUJ1dHRvblJlbGVhc2U6Ci0gICAgICAgIG1fZXZl
bnRUeXBlID0gTW91c2VFdmVudFJlbGVhc2VkOwotICAgICAgICBtZSA9IHN0YXRpY19jYXN0PFFN
b3VzZUV2ZW50ICo+KGV2ZW50KTsKLSAgICAgICAgYnJlYWs7CisgICAgYm9vbCBpc0NvbnRleHRN
ZW51RXZlbnQgPSBmYWxzZTsKICNpZm5kZWYgUVRfTk9fQ09OVEVYVE1FTlUKLSAgICBjYXNlIFFF
dmVudDo6Q29udGV4dE1lbnU6IHsKKyAgICBpZiAoZXZlbnQtPnR5cGUoKSA9PSBRRXZlbnQ6OkNv
bnRleHRNZW51KSB7CisgICAgICAgIGlzQ29udGV4dE1lbnVFdmVudCA9IHRydWU7CiAgICAgICAg
IG1fZXZlbnRUeXBlID0gTW91c2VFdmVudFByZXNzZWQ7CiAgICAgICAgIFFDb250ZXh0TWVudUV2
ZW50KiBjZSA9IHN0YXRpY19jYXN0PFFDb250ZXh0TWVudUV2ZW50Kj4oZXZlbnQpOwogICAgICAg
ICBtX3Bvc2l0aW9uID0gSW50UG9pbnQoY2UtPnBvcygpKTsKICAgICAgICAgbV9nbG9iYWxQb3Np
dGlvbiA9IEludFBvaW50KGNlLT5nbG9iYWxQb3MoKSk7CiAgICAgICAgIG1fYnV0dG9uID0gUmln
aHRCdXR0b247Ci0gICAgICAgIGJyZWFrOwogICAgIH0KLSNlbmRpZiAvLyBRVF9OT19DT05URVhU
TUVOVQotICAgIGRlZmF1bHQ6Ci0gICAgICAgIG1fZXZlbnRUeXBlID0gTW91c2VFdmVudE1vdmVk
OwotICAgIH0KLQotICAgIGlmIChtZSkgewotICAgICAgICBtX3Bvc2l0aW9uID0gSW50UG9pbnQo
bWUtPnBvcygpKTsKLSAgICAgICAgbV9nbG9iYWxQb3NpdGlvbiA9IEludFBvaW50KG1lLT5nbG9i
YWxQb3MoKSk7Ci0KLSAgICAgICAgaWYgKG1lLT5idXR0b24oKSA9PSBRdDo6TGVmdEJ1dHRvbiB8
fCAobWUtPmJ1dHRvbnMoKSAmIFF0OjpMZWZ0QnV0dG9uKSkKLSAgICAgICAgICAgIG1fYnV0dG9u
ID0gTGVmdEJ1dHRvbjsKLSAgICAgICAgZWxzZSBpZiAobWUtPmJ1dHRvbigpID09IFF0OjpSaWdo
dEJ1dHRvbiB8fCAobWUtPmJ1dHRvbnMoKSAmIFF0OjpSaWdodEJ1dHRvbikpCi0gICAgICAgICAg
ICBtX2J1dHRvbiA9IFJpZ2h0QnV0dG9uOwotICAgICAgICBlbHNlIGlmIChtZS0+YnV0dG9uKCkg
PT0gUXQ6Ok1pZEJ1dHRvbiB8fCAobWUtPmJ1dHRvbnMoKSAmIFF0OjpNaWRCdXR0b24pKQotICAg
ICAgICAgICAgbV9idXR0b24gPSBNaWRkbGVCdXR0b247Ci0gICAgICAgIGVsc2UKLSAgICAgICAg
ICAgIG1fYnV0dG9uID0gTm9CdXR0b247CisjZW5kaWYKKyAgICBpZiAoIWlzQ29udGV4dE1lbnVF
dmVudCkgeworICAgICAgICBtb3VzZUV2ZW50VHlwZUFuZE1vdXNlQnV0dG9uRnJvbVFFdmVudChl
dmVudCwgbV9ldmVudFR5cGUsIG1fYnV0dG9uKTsKKyAgICAgICAgUU1vdXNlRXZlbnQqIG1vdXNl
RXZlbnQgPSBzdGF0aWNfY2FzdDxRTW91c2VFdmVudCo+KGV2ZW50KTsKKyAgICAgICAgbV9wb3Np
dGlvbiA9IEludFBvaW50KG1vdXNlRXZlbnQtPnBvcygpKTsKKyAgICAgICAgbV9nbG9iYWxQb3Np
dGlvbiA9IEludFBvaW50KG1vdXNlRXZlbnQtPmdsb2JhbFBvcygpKTsKICAgICB9CiAKICAgICBt
X2NsaWNrQ291bnQgPSBjbGlja0NvdW50OwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gODYyNzMpCisrKyBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAx
MS0wNS0xMSAgRGFuaWVsIEJhdGVzICA8ZGJhdGVzQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBmYXN0L2V2ZW50cy9maXJlLW1v
dXNlZG93bi13aGlsZS1wcmVzc2luZy1tb3VzZS1idXR0b24uaHRtbCBmYWlsaW5nCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01ODg2MworCisgICAgICAg
IFJlbW92ZSB0ZXN0IGNhc2UgZmFzdC9ldmVudHMvZmlyZS1tb3VzZWRvd24td2hpbGUtcHJlc3Np
bmctbW91c2UtYnV0dG9uLmh0bWwKKyAgICAgICAgZnJvbSB0aGUgU2tpcHBlZCBsaXN0IHNpbmNl
IGl0IG5vdyBwYXNzZXMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9Ta2lwcGVkOgorCiAyMDEx
LTA1LTExICBBZGFtIFJvYmVuICA8YXJvYmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBUZXN0IHdo
YXQgaGFwcGVucyB3aGVuIGEgcGx1Z2luIG1ha2VzIGEgdGFyZ2V0ZWQgamF2YXNjcmlwdDogcmVx
dWVzdApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCShyZXZpc2lvbiA4NjI3MykKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQJKHdvcmtpbmcgY29weSkKQEAgLTEzMzEsMTAg
KzEzMzEsNiBAQCBlZGl0aW5nL3Vuc3VwcG9ydGVkLWNvbnRlbnQvdGFibGUtdHlwZS1iCiAjIGZh
aWxpbmcgZmFzdCB0ZXN0cwogIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAjCiAKLSMgW1F0XSBmYXN0
L2V2ZW50cy9maXJlLW1vdXNlZG93bi13aGlsZS1wcmVzc2luZy1tb3VzZS1idXR0b24uaHRtbCBm
YWlsaW5nCi0jIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01ODg2Mwot
ZmFzdC9ldmVudHMvZmlyZS1tb3VzZWRvd24td2hpbGUtcHJlc3NpbmctbW91c2UtYnV0dG9uLmh0
bWwKLQogIyBbUXRdIGZhc3QvcnVieS9vdmVyaGFuZyogdGVzdHMgZmFpbAogIyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc4MjQKIGZhc3QvcnVieS9vdmVyaGFuZy1o
b3Jpem9udGFsLmh0bWwK
</data>
<flag name="review"
          id="86330"
          type_id="1"
          status="+"
          setter="kenneth"
    />
          </attachment>
      

    </bug>

</bugzilla>