<?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>94796</bug_id>
          
          <creation_ts>2012-08-23 04:30:40 -0700</creation_ts>
          <short_desc>[soup] Obey setTimeoutInterval in soup backend</short_desc>
          <delta_ts>2012-09-26 07:08:19 -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>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>95755</dependson>
          <blocked>74802</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dominik Röttsches (drott)">d-r</reporter>
          <assigned_to name="Dominik Röttsches (drott)">d-r</assigned_to>
          <cc>benjamin</cc>
    
    <cc>danw</cc>
    
    <cc>gustavo</cc>
    
    <cc>mrobinson</cc>
    
    <cc>rakuco</cc>
    
    <cc>svillar</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>702861</commentid>
    <comment_count>0</comment_count>
    <who name="Dominik Röttsches (drott)">d-r</who>
    <bug_when>2012-08-23 04:30:40 -0700</bug_when>
    <thetext>ResourceRequestBase has setTimeoutInterval which sets a network connection timeout. The soup backend should support timing out depending on this value.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>703394</commentid>
    <comment_count>1</comment_count>
    <who name="Dominik Röttsches (drott)">d-r</who>
    <bug_when>2012-08-23 14:40:36 -0700</bug_when>
    <thetext>Dan, any ideas/suggestions how to implement a timeout on a ResourceRequest basis? SOUP_SESSION_TIMEOUT seems to be the same value for the whole session. Can it be used for that purpose?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704046</commentid>
    <comment_count>2</comment_count>
    <who name="Dan Winship">danw</who>
    <bug_when>2012-08-24 06:23:45 -0700</bug_when>
    <thetext>no, you&apos;d need to add new API (eg, soup_message_set_timeout())</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705268</commentid>
    <comment_count>3</comment_count>
    <who name="Dominik Röttsches (drott)">d-r</who>
    <bug_when>2012-08-27 07:51:57 -0700</bug_when>
    <thetext>Filed libsoup bug https://bugzilla.gnome.org/show_bug.cgi?id=682804</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>711308</commentid>
    <comment_count>4</comment_count>
    <who name="Dominik Röttsches (drott)">d-r</who>
    <bug_when>2012-09-04 11:53:26 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Filed libsoup bug https://bugzilla.gnome.org/show_bug.cgi?id=682804

After discussion in that bug, I implemented per message timeouts in ResourceHandleSoup in WebKit. Will upload my patch once bug 95755 is closed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>711968</commentid>
    <comment_count>5</comment_count>
      <attachid>162224</attachid>
    <who name="Dominik Röttsches (drott)">d-r</who>
    <bug_when>2012-09-05 05:17:54 -0700</bug_when>
    <thetext>Created attachment 162224
setTimeoutInterval support for soup.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>712179</commentid>
    <comment_count>6</comment_count>
      <attachid>162224</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-09-05 10:13:32 -0700</bug_when>
    <thetext>Comment on attachment 162224
setTimeoutInterval support for soup.

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

Looks okay to me, but I&apos;d prefer to have Dan and/or Sergio look at this as well. r- because of a few small issues.

&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:75
&gt; +// Use the same value as in NSURLError.h
&gt; +#define TIMEOUT_ERROR -1001

For these type of values you should use static const int.

&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:772
&gt; +        if (d-&gt;m_firstRequest.timeoutInterval() &gt; 0)
&gt; +            d-&gt;m_timeoutId = g_timeout_add(d-&gt;m_firstRequest.timeoutInterval() * 1000, requestTimeoutCallback, handle);

Does g_timeout_add attach the source to the default context or to the current thread default context? Synchronous XMLHttpRequests push a new thread default context, so this might not fire for them.

&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:994
&gt; +static int requestTimeoutCallback(gpointer data)

Callbacks should return gboolean.

&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:1007
&gt; +    return false;

You should use FALSE here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>712543</commentid>
    <comment_count>7</comment_count>
      <attachid>162336</attachid>
    <who name="Dominik Röttsches (drott)">d-r</who>
    <bug_when>2012-09-05 14:36:02 -0700</bug_when>
    <thetext>Created attachment 162336
setTimeoutInterval support for soup, v2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>712598</commentid>
    <comment_count>8</comment_count>
      <attachid>162352</attachid>
    <who name="Dominik Röttsches (drott)">d-r</who>
    <bug_when>2012-09-05 15:39:05 -0700</bug_when>
    <thetext>Created attachment 162352
setTimeoutInterval support for soup, v3.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>712604</commentid>
    <comment_count>9</comment_count>
    <who name="Dominik Röttsches (drott)">d-r</who>
    <bug_when>2012-09-05 15:42:51 -0700</bug_when>
    <thetext>Thanks for your review, Martin.
Dan, Sergio - could you take a look and perhaps give your informal r+? This approach should fit what we discussed earlier, Dan.

(In reply to comment #6)
&gt; (From update of attachment 162224 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=162224&amp;action=review

&gt; &gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:75
&gt; &gt; +// Use the same value as in NSURLError.h
&gt; &gt; +#define TIMEOUT_ERROR -1001
&gt; 
&gt; For these type of values you should use static const int.

Changed to gTimeoutError as static const int. Hope the naming is correct.

&gt; &gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:772
&gt; &gt; +        if (d-&gt;m_firstRequest.timeoutInterval() &gt; 0)
&gt; &gt; +            d-&gt;m_timeoutId = g_timeout_add(d-&gt;m_firstRequest.timeoutInterval() * 1000, requestTimeoutCallback, handle);
&gt; 
&gt; Does g_timeout_add attach the source to the default context or to the current thread default context? Synchronous XMLHttpRequests push a new thread default context, so this might not fire for them.

Good point - I thought I had checked that, but it was the default context, not the thread default. Fixed that by using the soup function for that purpose, and the thread default. Then, we need to store a handle to the timeout GSource, not a timeout id anymore.

&gt; &gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:994
&gt; &gt; +static int requestTimeoutCallback(gpointer data)
&gt; 
&gt; Callbacks should return gboolean.

Fixed.

&gt; &gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:1007
&gt; &gt; +    return false;
&gt; 
&gt; You should use FALSE here.

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>713008</commentid>
    <comment_count>10</comment_count>
      <attachid>162352</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2012-09-06 01:16:35 -0700</bug_when>
    <thetext>Comment on attachment 162352
setTimeoutInterval support for soup, v3.

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

&gt; Source/WebCore/platform/network/ResourceHandleInternal.h:191
&gt; +        GSource* m_timeoutSource;

I think you should use GOwnPtr for this. You&apos;d have to add a free function to GOwnPtr.h for GSources. Also you&apos;d have to use set/get to use it.

&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:1040
&gt; +            d-&gt;m_timeoutSource = soup_add_timeout(g_main_context_get_thread_default(), d-&gt;m_firstRequest.timeoutInterval() * 1000, requestTimeoutCallback, handle);

If I understood correctly the timeout only makes sense for network connections. If so, then we don&apos;t need it for non HTTP requests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>713133</commentid>
    <comment_count>11</comment_count>
      <attachid>162467</attachid>
    <who name="Dominik Röttsches (drott)">d-r</who>
    <bug_when>2012-09-06 03:37:27 -0700</bug_when>
    <thetext>Created attachment 162467
setTimeoutInterval support for soup, v4.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>713136</commentid>
    <comment_count>12</comment_count>
    <who name="Dominik Röttsches (drott)">d-r</who>
    <bug_when>2012-09-06 03:44:09 -0700</bug_when>
    <thetext>Thanks for taking a look, Sergio.

(In reply to comment #10)
&gt; (From update of attachment 162352 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=162352&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/network/ResourceHandleInternal.h:191
&gt; &gt; +        GSource* m_timeoutSource;
&gt; 
&gt; I think you should use GOwnPtr for this. You&apos;d have to add a free function to GOwnPtr.h for GSources. Also you&apos;d have to use set/get to use it.

Changed to use GOwnPtr&lt;GSource&gt;.

&gt; &gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:1040
&gt; &gt; +            d-&gt;m_timeoutSource = soup_add_timeout(g_main_context_get_thread_default(), d-&gt;m_firstRequest.timeoutInterval() * 1000, requestTimeoutCallback, handle);
&gt; 
&gt; If I understood correctly the timeout only makes sense for network connections. If so, then we don&apos;t need it for non HTTP requests.

Since the timeout interval can be specified in milliseconds, there might be cases where for example a network mounted local filesystem hits a timeout threshold. So I think it&apos;s fine to keep it for local requests - at least the spec doesn&apos;t seem to rule that out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>713273</commentid>
    <comment_count>13</comment_count>
      <attachid>162467</attachid>
    <who name="Dan Winship">danw</who>
    <bug_when>2012-09-06 07:36:46 -0700</bug_when>
    <thetext>Comment on attachment 162467
setTimeoutInterval support for soup, v4.

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

&gt; Source/WebCore/platform/network/ResourceHandleInternal.h:191
&gt; +        GOwnPtr&lt;GSource&gt; m_timeoutSource;

GSources are refcounted. You should use GRefPtr (which in fact already supports GSource).

(Note though that when the GRefPtr releases the source, it doesn&apos;t call g_source_destroy(), so you&apos;ll need to do that explicitly before clearing it in cleanupSoupRequestOperation and sendRequestCallback.)

&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:438
&gt; +    d-&gt;m_timeoutSource.clear();

Is this the right place to clear the timeout? We haven&apos;t received the response body yet at this point.

(If you want to clear the timeout after receiving the entire response, then you can just remove this line and not add another, since closeCallback() calls cleanupSoupRequestOperation() and so will hit the clear() there.)

&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:767
&gt; +            d-&gt;m_timeoutSource.set(soup_add_timeout(g_main_context_get_thread_default(), d-&gt;m_firstRequest.timeoutInterval() * 1000, requestTimeoutCallback, handle));

soup_add_timeout() and the related functions are broken in that they return a GSource that you don&apos;t own a reference on. As long as you aren&apos;t using multiple threads (which we aren&apos;t), then this won&apos;t cause problems, but when you switch to GRefPtr, make sure you *don&apos;t* use adoptGRef()

&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:868
&gt; +        if (d-&gt;m_firstRequest.timeoutInterval() &gt; 0)
&gt; +            d-&gt;m_timeoutSource.set(soup_add_timeout(g_main_context_get_thread_default(), d-&gt;m_firstRequest.timeoutInterval() * 1000, requestTimeoutCallback, this));

should it cancel the timeout when defersLoading is true?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714451</commentid>
    <comment_count>14</comment_count>
      <attachid>162754</attachid>
    <who name="Dominik Röttsches (drott)">d-r</who>
    <bug_when>2012-09-07 06:28:14 -0700</bug_when>
    <thetext>Created attachment 162754
setTimeoutInterval support for soup, v5.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714454</commentid>
    <comment_count>15</comment_count>
    <who name="Dominik Röttsches (drott)">d-r</who>
    <bug_when>2012-09-07 06:31:03 -0700</bug_when>
    <thetext>Dan, thanks for your review.

(In reply to comment #13)
&gt; (From update of attachment 162467 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=162467&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/network/ResourceHandleInternal.h:191
&gt; &gt; +        GOwnPtr&lt;GSource&gt; m_timeoutSource;
&gt; 
&gt; GSources are refcounted. You should use GRefPtr (which in fact already supports GSource).

Changed, thanks.

&gt; (Note though that when the GRefPtr releases the source, it doesn&apos;t call g_source_destroy(), so you&apos;ll need to do that explicitly before clearing it in cleanupSoupRequestOperation and sendRequestCallback.)
&gt; 
&gt; &gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:438
&gt; &gt; +    d-&gt;m_timeoutSource.clear();
&gt; 
&gt; Is this the right place to clear the timeout? We haven&apos;t received the response body yet at this point.

I checked the spec and it&apos;s not 100% clear on that. Although it indicates in the ProgressEvents table for ontimeout &quot;When the author specified timeout has passed before the request could complete.&quot; So, let&apos;s indeed only cancel when the download completes.

&gt; &gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:767
&gt; &gt; +            d-&gt;m_timeoutSource.set(soup_add_timeout(g_main_context_get_thread_default(), d-&gt;m_firstRequest.timeoutInterval() * 1000, requestTimeoutCallback, handle));
&gt; 
&gt; soup_add_timeout() and the related functions are broken in that they return a GSource that you don&apos;t own a reference on. As long as you aren&apos;t using multiple threads (which we aren&apos;t), then this won&apos;t cause problems, but when you switch to GRefPtr, make sure you *don&apos;t* use adoptGRef()

Okay, changed an using assignment only, put comments.

&gt; &gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:868
&gt; &gt; +        if (d-&gt;m_firstRequest.timeoutInterval() &gt; 0)
&gt; &gt; +            d-&gt;m_timeoutSource.set(soup_add_timeout(g_main_context_get_thread_default(), d-&gt;m_firstRequest.timeoutInterval() * 1000, requestTimeoutCallback, this));
&gt; 
&gt; should it cancel the timeout when defersLoading is true?

Makes sense, added.

So, Martin, Dan - what do you think, can we land it like this now?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715867</commentid>
    <comment_count>16</comment_count>
      <attachid>163075</attachid>
    <who name="Dominik Röttsches (drott)">d-r</who>
    <bug_when>2012-09-10 02:44:43 -0700</bug_when>
    <thetext>Created attachment 163075
setTimeoutInterval support for soup, clear conditionally v6.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715870</commentid>
    <comment_count>17</comment_count>
    <who name="Dominik Röttsches (drott)">d-r</who>
    <bug_when>2012-09-10 02:47:47 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; Created an attachment (id=163075) [details]
&gt; setTimeoutInterval support for soup, clear conditionally v6.

Small update, g_source_destroy only if a source was created.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715951</commentid>
    <comment_count>18</comment_count>
      <attachid>163075</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-09-10 05:16:19 -0700</bug_when>
    <thetext>Comment on attachment 163075
setTimeoutInterval support for soup, clear conditionally v6.

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

Looks good to me, cq- because of the comments.

&gt; Source/WebCore/ChangeLog:10
&gt; +        has been successfully tested in combination with with my work-in-progress

with with

&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:389
&gt; +        g_source_destroy(d-&gt;m_timeoutSource.get());
&gt; +        d-&gt;m_timeoutSource.clear();

So, what happens if a request times out? If I&apos;m reading the patch right the callback is going to be called, which will call this function. Then the source will be destroyed (thus removed from the context and unrefed), then cleared here which will cause another unref, and then the callback will return FALSE, also causing it to be removed again. It looks like glib protects us from this case by checking whether the source has already been destroyed, though, so shouldn&apos;t be a problem... ok

&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:768
&gt; +            // soup_add_timeout returns a non-owned GSource*, not using adoptRef.

I think it would be better to be a bit more descriptive here, saying that soup_add_timeout returns a GSource whose only reference is owned by the context, so we need an additional one here.

&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:855
&gt; +    // Except canceling a possible timeout timer, we only need to take action here to UN-defer loading.

canceling -&gt; when canceling

&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:874
&gt; +        if (d-&gt;m_firstRequest.timeoutInterval() &gt; 0)
&gt; +            // soup_add_timeout returns a non-owned GSource*, not using adoptRef.
&gt; +            d-&gt;m_timeoutSource = soup_add_timeout(g_main_context_get_thread_default(), d-&gt;m_firstRequest.timeoutInterval() * 1000, requestTimeoutCallback, this);

Please add braces to the if, so it&apos;s easier to read.

&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:1001
&gt; +    // Error domain is identical for ErrorsGtk and ErrorsEfl.

I think this comment isn&apos;t very useful, I&apos;d take it out.

&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:1007
&gt; +    // Do not run this callback again.

Same here, this is pretty standard glib, so no need to be explicit.

&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:1041
&gt; +        if (d-&gt;m_firstRequest.timeoutInterval() &gt; 0)
&gt; +            // soup_add_timeout returns a non-owned GSource*, not using adoptRef.
&gt; +            d-&gt;m_timeoutSource = soup_add_timeout(g_main_context_get_thread_default(), d-&gt;m_firstRequest.timeoutInterval() * 1000, requestTimeoutCallback, handle);

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728483</commentid>
    <comment_count>19</comment_count>
      <attachid>165781</attachid>
    <who name="Dominik Röttsches (drott)">d-r</who>
    <bug_when>2012-09-26 06:32:40 -0700</bug_when>
    <thetext>Created attachment 165781
Review comments addressed, v7.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728486</commentid>
    <comment_count>20</comment_count>
    <who name="Dominik Röttsches (drott)">d-r</who>
    <bug_when>2012-09-26 06:35:19 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; (From update of attachment 163075 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=163075&amp;action=review
&gt; 
&gt; Looks good to me, cq- because of the comments.

Thanks for the review!

&gt; &gt; Source/WebCore/ChangeLog:10
&gt; &gt; +        has been successfully tested in combination with with my work-in-progress
&gt; 
&gt; with with

Removed duplicate &quot;with&quot;.

&gt; &gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:389
&gt; &gt; +        g_source_destroy(d-&gt;m_timeoutSource.get());
&gt; &gt; +        d-&gt;m_timeoutSource.clear();
&gt; 
&gt; So, what happens if a request times out? If I&apos;m reading the patch right the callback is going to be called, which will call this function. Then the source will be destroyed (thus removed from the context and unrefed), then cleared here which will cause another unref, and then the callback will return FALSE, also causing it to be removed again. It looks like glib protects us from this case by checking whether the source has already been destroyed, though, so shouldn&apos;t be a problem... ok

Yes, I have the same understanding.

&gt; &gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:768
&gt; &gt; +            // soup_add_timeout returns a non-owned GSource*, not using adoptRef.
&gt; 
&gt; I think it would be better to be a bit more descriptive here, saying that soup_add_timeout returns a GSource whose only reference is owned by the context, so we need an additional one here.

Comment changed to 
&quot;// soup_add_timeout returns a GSource* whose only reference is owned by the context. We need to have our own reference to it, hence not using adoptRef.&quot;

&gt; &gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:855
&gt; &gt; +    // Except canceling a possible timeout timer, we only need to take action here to UN-defer loading.
&gt; 
&gt; canceling -&gt; when canceling

Fixed.

&gt; &gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:874
&gt; &gt; +        if (d-&gt;m_firstRequest.timeoutInterval() &gt; 0)
&gt; &gt; +            // soup_add_timeout returns a non-owned GSource*, not using adoptRef.
&gt; &gt; +            d-&gt;m_timeoutSource = soup_add_timeout(g_main_context_get_thread_default(), d-&gt;m_firstRequest.timeoutInterval() * 1000, requestTimeoutCallback, this);
&gt; 
&gt; Please add braces to the if, so it&apos;s easier to read.

Done.

&gt; 
&gt; &gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:1001
&gt; &gt; +    // Error domain is identical for ErrorsGtk and ErrorsEfl.
&gt; 
&gt; I think this comment isn&apos;t very useful, I&apos;d take it out.

Removed.

&gt; &gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:1007
&gt; &gt; +    // Do not run this callback again.
&gt; 
&gt; Same here, this is pretty standard glib, so no need to be explicit.

Removed.

&gt; &gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:1041
&gt; &gt; +        if (d-&gt;m_firstRequest.timeoutInterval() &gt; 0)
&gt; &gt; +            // soup_add_timeout returns a non-owned GSource*, not using adoptRef.
&gt; &gt; +            d-&gt;m_timeoutSource = soup_add_timeout(g_main_context_get_thread_default(), d-&gt;m_firstRequest.timeoutInterval() * 1000, requestTimeoutCallback, handle);
&gt; 
&gt; Ditto.

Done, and in one more place.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728518</commentid>
    <comment_count>21</comment_count>
      <attachid>165781</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-26 07:08:14 -0700</bug_when>
    <thetext>Comment on attachment 165781
Review comments addressed, v7.

Clearing flags on attachment: 165781

Committed r129636: &lt;http://trac.webkit.org/changeset/129636&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728519</commentid>
    <comment_count>22</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-26 07:08:19 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162224</attachid>
            <date>2012-09-05 05:17:54 -0700</date>
            <delta_ts>2012-09-05 14:35:58 -0700</delta_ts>
            <desc>setTimeoutInterval support for soup.</desc>
            <filename>bug-94796-20120905152028.patch</filename>
            <type>text/plain</type>
            <size>7004</size>
            <attacher name="Dominik Röttsches (drott)">d-r</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3NTcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTc4ZGM2YWJmNzVlNjE5
NzEzMDgzYmNlYzNiZDIyZDVhNGE4YzM1My4uNWRjZmU5OWI1YWEyYWRmMjUwZGE0MDc1NmVkM2Q4
MWNhMzQyMTQ4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTA5LTA1ICBEb21p
bmlrIFLDtnR0c2NoZXMgIDxkb21pbmlrLnJvdHRzY2hlc0BpbnRlbC5jb20+CisKKyAgICAgICAg
W3NvdXBdIE9iZXkgc2V0VGltZW91dEludGVydmFsIGluIHNvdXAgYmFja2VuZAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ3OTYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnRpbmcgUmVzb3Vy
Y2VIYW5kbGUncyBzZXRUaW1lb3V0SW50ZXJ2YWwgc3VwcG9ydCBmb3IgdGhlIHNvdXAgYmFja2Vu
ZC4KKyAgICAgICAgVGhpcyBpcyBwcmVwYXJhdG9yeSB3b3JrIGZvciBidWcgNzQ4MDIsIHRpbWVv
dXQgc3VwcG9ydCBmb3IgWEhSMi4gVGhlIHBhdGNoCisgICAgICAgIGhhcyBiZWVuIHN1Y2Nlc3Nm
dWxseSB0ZXN0ZWQgaW4gY29tYmluYXRpb24gd2l0aCB3aXRoIG15IHdvcmstaW4tcHJvZ3Jlc3MK
KyAgICAgICAgZm9yIHRoYXQgYnVnLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyB5ZXQsIHRlc3Rz
IHdpbGwgYmUgYWRkZWQgd2l0aCB0aGUgcGF0Y2ggaW4gYnVnIDc0ODAyLgorCisgICAgICAgICog
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmg6CisgICAgICAgIChXZWJD
b3JlOjpSZXNvdXJjZUhhbmRsZUludGVybmFsOjpSZXNvdXJjZUhhbmRsZUludGVybmFsKTogQWRk
aW5nIGEgdGltZW91dCBpZC4KKyAgICAgICAgKFJlc291cmNlSGFuZGxlSW50ZXJuYWwpOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpjbGVhbnVwU291cFJlcXVlc3RPcGVy
YXRpb24pOiBSZXNldHRpbmcgdGhlIHRpbWVyLgorICAgICAgICAoV2ViQ29yZTo6c2VuZFJlcXVl
c3RDYWxsYmFjayk6IFN0b3BwaW5nIHRoZSB0aW1lci4KKyAgICAgICAgKFdlYkNvcmU6OnN0YXJ0
SFRUUFJlcXVlc3QpOiBTdGFydGluZyBhIHRpbWVvdXQgdGltZXIgYmVmb3JlIHRoZSBhc3luYyBy
ZXF1ZXN0LgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OnBsYXRmb3JtU2V0RGVm
ZXJzTG9hZGluZyk6IFN0YXJ0aW5nIGEgdGltZW91dCB0aW1lciBiZWZvcmUgdGhlIGFzeW5jIHJl
cXVlc3QuCisgICAgICAgIChXZWJDb3JlOjpyZXF1ZXN0VGltZW91dENhbGxiYWNrKTogUHJlcGFy
aW5nIGEgY29ycmVzcG9uZGluZyByZXNvdXJjZSBlcnJvciBhbmQgbm90aWZ5aW5nIGNsaWVudHMg
b2YgZmFpbHVyZS4KKyAgICAgICAgKFdlYkNvcmU6OnN0YXJ0Tm9uSFRUUFJlcXVlc3QpOiBTdGFy
dGluZyBhIHRpbWVvdXQgdGltZXIgYmVmb3JlIHRoZSBhc3luYyByZXF1ZXN0LgorCiAyMDEyLTA5
LTA0ICBJbHlhIFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBX
ZWIgSW5zcGVjdG9yOiBOTUk6IHJlcGxhY2UgT2JqZWN0VHlwZSBlbnVtIHdpdGggc3RhdGljIGNv
bnN0IGNoYXIqIHN0cmluZyBpZGVudGlmaWVycy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmgKaW5kZXggZWNmNjQ4
ZmNlNTVkMzZkNGNkMDI4NTNhOGI4OGNiZjVjYTM2NDY5OC4uMzYzZmI3NjRjZGM1ZWRkOWEwNDMw
MmI3ZTc3MzcxZjZhMTQ4OTZlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmgKQEAgLTEwNiw2ICsxMDYsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjZW5kaWYKICNpZiBVU0UoU09VUCkKICAgICAgICAgICAg
ICwgbV9jYW5jZWxsZWQoZmFsc2UpCisgICAgICAgICAgICAsIG1fdGltZW91dElkKDApCiAgICAg
ICAgICAgICAsIG1fYnVmZmVyKDApCiAgICAgICAgICAgICAsIG1fYm9keVNpemUoMCkKICAgICAg
ICAgICAgICwgbV9ib2R5RGF0YVNlbnQoMCkKQEAgLTE4Nyw2ICsxODgsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIEdSZWZQdHI8R0lucHV0U3RyZWFtPiBtX2lucHV0U3RyZWFtOwog
ICAgICAgICBHUmVmUHRyPEdDYW5jZWxsYWJsZT4gbV9jYW5jZWxsYWJsZTsKICAgICAgICAgR1Jl
ZlB0cjxHQXN5bmNSZXN1bHQ+IG1fZGVmZXJyZWRSZXN1bHQ7CisgICAgICAgIHVuc2lnbmVkIGlu
dCBtX3RpbWVvdXRJZDsKICAgICAgICAgY2hhciogbV9idWZmZXI7CiAgICAgICAgIHVuc2lnbmVk
IGxvbmcgbV9ib2R5U2l6ZTsKICAgICAgICAgdW5zaWduZWQgbG9uZyBtX2JvZHlEYXRhU2VudDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJj
ZUhhbmRsZVNvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jl
c291cmNlSGFuZGxlU291cC5jcHAKaW5kZXggMzBhMmRlNDU1ZTQyZGJjM2JhYWZhYjM0OWE1NGQw
OGM1YjljOWMyNS4uMzJmMjkzMzg5YWM5MDgyMjcwYTNkZTlmNjM3MWM4YmIyMTYxYzNlYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFu
ZGxlU291cC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jl
c291cmNlSGFuZGxlU291cC5jcHAKQEAgLTcxLDYgKzcxLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAjZGVmaW5lIFJFQURfQlVGRkVSX1NJWkUgODE5MgogCisvLyBVc2UgdGhlIHNhbWUgdmFs
dWUgYXMgaW4gTlNVUkxFcnJvci5oCisjZGVmaW5lIFRJTUVPVVRfRVJST1IgLTEwMDEKKwogc3Rh
dGljIGJvb2wgbG9hZGluZ1N5bmNocm9ub3VzUmVxdWVzdCA9IGZhbHNlOwogCiBjbGFzcyBXZWJD
b3JlU3luY2hyb25vdXNMb2FkZXIgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgewpAQCAt
MjAxLDYgKzIwNCw3IEBAIHN0YXRpYyB2b2lkIGNsZWFudXBTb3VwUmVxdWVzdE9wZXJhdGlvbihS
ZXNvdXJjZUhhbmRsZSosIGJvb2wgaXNEZXN0cm95aW5nKTsKIHN0YXRpYyB2b2lkIHNlbmRSZXF1
ZXN0Q2FsbGJhY2soR09iamVjdCosIEdBc3luY1Jlc3VsdCosIGdwb2ludGVyKTsKIHN0YXRpYyB2
b2lkIHJlYWRDYWxsYmFjayhHT2JqZWN0KiwgR0FzeW5jUmVzdWx0KiwgZ3BvaW50ZXIpOwogc3Rh
dGljIHZvaWQgY2xvc2VDYWxsYmFjayhHT2JqZWN0KiwgR0FzeW5jUmVzdWx0KiwgZ3BvaW50ZXIp
Oworc3RhdGljIGludCByZXF1ZXN0VGltZW91dENhbGxiYWNrKHZvaWQqKTsKIHN0YXRpYyBib29s
IHN0YXJ0Tm9uSFRUUFJlcXVlc3QoUmVzb3VyY2VIYW5kbGUqLCBLVVJMKTsKICNpZiBFTkFCTEUo
V0VCX1RJTUlORykKIHN0YXRpYyBpbnQgIG1pbGlzZWNvbmRzU2luY2VSZXF1ZXN0KGRvdWJsZSBy
ZXF1ZXN0VGltZSk7CkBAIC0zNzksNiArMzgzLDExIEBAIHN0YXRpYyB2b2lkIGNsZWFudXBTb3Vw
UmVxdWVzdE9wZXJhdGlvbihSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBib29sIGlzRGVzdHJveWlu
CiAgICAgICAgIGQtPm1fYnVmZmVyID0gMDsKICAgICB9CiAKKyAgICBpZiAoZC0+bV90aW1lb3V0
SWQpIHsKKyAgICAgICAgZ19zb3VyY2VfcmVtb3ZlKGQtPm1fdGltZW91dElkKTsKKyAgICAgICAg
ZC0+bV90aW1lb3V0SWQgPSAwOworICAgIH0KKwogICAgIGlmICghaXNEZXN0cm95aW5nKQogICAg
ICAgICBoYW5kbGUtPmRlcmVmKCk7CiB9CkBAIC00MjgsNiArNDM3LDExIEBAIHN0YXRpYyB2b2lk
IHNlbmRSZXF1ZXN0Q2FsbGJhY2soR09iamVjdCogc291cmNlLCBHQXN5bmNSZXN1bHQqIHJlcywg
Z3BvaW50ZXIgZGF0CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAgICBpZiAoZC0+bV90aW1l
b3V0SWQpIHsKKyAgICAgICAgZ19zb3VyY2VfcmVtb3ZlKGQtPm1fdGltZW91dElkKTsKKyAgICAg
ICAgZC0+bV90aW1lb3V0SWQgPSAwOworICAgIH0KKwogICAgIEdPd25QdHI8R0Vycm9yPiBlcnJv
cjsKICAgICBHSW5wdXRTdHJlYW0qIGluID0gc291cF9yZXF1ZXN0X3NlbmRfZmluaXNoKGQtPm1f
c291cFJlcXVlc3QuZ2V0KCksIHJlcywgJmVycm9yLm91dFB0cigpKTsKICAgICBpZiAoZXJyb3Ip
IHsKQEAgLTc1NCw2ICs3NjgsOCBAQCBzdGF0aWMgYm9vbCBzdGFydEhUVFBSZXF1ZXN0KFJlc291
cmNlSGFuZGxlKiBoYW5kbGUpCiAjaWYgRU5BQkxFKFdFQl9USU1JTkcpCiAgICAgICAgIGQtPm1f
cmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCktPnJlcXVlc3RUaW1lID0gbW9ub3RvbmljYWxs
eUluY3JlYXNpbmdUaW1lKCk7CiAjZW5kaWYKKyAgICAgICAgaWYgKGQtPm1fZmlyc3RSZXF1ZXN0
LnRpbWVvdXRJbnRlcnZhbCgpID4gMCkKKyAgICAgICAgICAgIGQtPm1fdGltZW91dElkID0gZ190
aW1lb3V0X2FkZChkLT5tX2ZpcnN0UmVxdWVzdC50aW1lb3V0SW50ZXJ2YWwoKSAqIDEwMDAsIHJl
cXVlc3RUaW1lb3V0Q2FsbGJhY2ssIGhhbmRsZSk7CiAgICAgICAgIGQtPm1fY2FuY2VsbGFibGUg
PSBhZG9wdEdSZWYoZ19jYW5jZWxsYWJsZV9uZXcoKSk7CiAgICAgICAgIHNvdXBfcmVxdWVzdF9z
ZW5kX2FzeW5jKGQtPm1fc291cFJlcXVlc3QuZ2V0KCksIGQtPm1fY2FuY2VsbGFibGUuZ2V0KCks
IHNlbmRSZXF1ZXN0Q2FsbGJhY2ssIGhhbmRsZSk7CiAgICAgfQpAQCAtODUzLDYgKzg2OSw4IEBA
IHZvaWQgUmVzb3VyY2VIYW5kbGU6OnBsYXRmb3JtU2V0RGVmZXJzTG9hZGluZyhib29sIGRlZmVy
c0xvYWRpbmcpCiAgICAgICAgICAgICBkLT5tX3Jlc3BvbnNlLnJlc291cmNlTG9hZFRpbWluZygp
LT5yZXF1ZXN0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogI2VuZGlmCiAg
ICAgICAgIGQtPm1fY2FuY2VsbGFibGUgPSBhZG9wdEdSZWYoZ19jYW5jZWxsYWJsZV9uZXcoKSk7
CisgICAgICAgIGlmIChkLT5tX2ZpcnN0UmVxdWVzdC50aW1lb3V0SW50ZXJ2YWwoKSA+IDApCisg
ICAgICAgICAgICBkLT5tX3RpbWVvdXRJZCA9IGdfdGltZW91dF9hZGQoZC0+bV9maXJzdFJlcXVl
c3QudGltZW91dEludGVydmFsKCkgKiAxMDAwLCByZXF1ZXN0VGltZW91dENhbGxiYWNrLCB0aGlz
KTsKICAgICAgICAgc291cF9yZXF1ZXN0X3NlbmRfYXN5bmMoZC0+bV9zb3VwUmVxdWVzdC5nZXQo
KSwgZC0+bV9jYW5jZWxsYWJsZS5nZXQoKSwgc2VuZFJlcXVlc3RDYWxsYmFjaywgdGhpcyk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CkBAIC05NzMsNiArOTkxLDIyIEBAIHN0YXRpYyB2b2lkIHJl
YWRDYWxsYmFjayhHT2JqZWN0KiBzb3VyY2UsIEdBc3luY1Jlc3VsdCogYXN5bmNSZXN1bHQsIGdw
b2ludGVyIGRhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkLT5tX2NhbmNlbGxhYmxl
LmdldCgpLCByZWFkQ2FsbGJhY2ssIGhhbmRsZS5nZXQoKSk7CiB9CiAKK3N0YXRpYyBpbnQgcmVx
dWVzdFRpbWVvdXRDYWxsYmFjayhncG9pbnRlciBkYXRhKQoreworICAgIFJlZlB0cjxSZXNvdXJj
ZUhhbmRsZT4gaGFuZGxlID0gc3RhdGljX2Nhc3Q8UmVzb3VyY2VIYW5kbGUqPihkYXRhKTsKKyAg
ICBSZXNvdXJjZUhhbmRsZUludGVybmFsKiBkID0gaGFuZGxlLT5nZXRJbnRlcm5hbCgpOworICAg
IFJlc291cmNlSGFuZGxlQ2xpZW50KiBjbGllbnQgPSBoYW5kbGUtPmNsaWVudCgpOworCisgICAg
Ly8gRXJyb3IgZG9tYWluIGlzIGlkZW50aWNhbCBmb3IgRXJyb3JzR3RrIGFuZCBFcnJvcnNFZmwu
CisgICAgUmVzb3VyY2VFcnJvciB0aW1lb3V0RXJyb3IoIldlYktpdE5ldHdvcmtFcnJvciIsIFRJ
TUVPVVRfRVJST1IsIGQtPm1fZmlyc3RSZXF1ZXN0LnVybCgpLnN0cmluZygpLCAiUmVxdWVzdCB0
aW1lZCBvdXQiKTsKKyAgICB0aW1lb3V0RXJyb3Iuc2V0SXNUaW1lb3V0KHRydWUpOworICAgIGNs
aWVudC0+ZGlkRmFpbChoYW5kbGUuZ2V0KCksIHRpbWVvdXRFcnJvcik7CisgICAgY2xlYW51cFNv
dXBSZXF1ZXN0T3BlcmF0aW9uKGhhbmRsZS5nZXQoKSk7CisKKyAgICAvLyBEbyBub3QgcnVuIHRo
aXMgY2FsbGJhY2sgYWdhaW4uCisgICAgcmV0dXJuIGZhbHNlOworfQorCiBzdGF0aWMgYm9vbCBz
dGFydE5vbkhUVFBSZXF1ZXN0KFJlc291cmNlSGFuZGxlKiBoYW5kbGUsIEtVUkwgdXJsKQogewog
ICAgIEFTU0VSVChoYW5kbGUpOwpAQCAtMTAwMSw2ICsxMDM1LDggQEAgc3RhdGljIGJvb2wgc3Rh
cnROb25IVFRQUmVxdWVzdChSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBLVVJMIHVybCkKICAgICAv
LyBTZW5kIHRoZSByZXF1ZXN0IG9ubHkgaWYgaXQncyBub3QgYmVlbiBleHBsaWNpdGx5IGRlZmVy
cmVkLgogICAgIGlmICghZC0+bV9kZWZlcnNMb2FkaW5nKSB7CiAgICAgICAgIGQtPm1fY2FuY2Vs
bGFibGUgPSBhZG9wdEdSZWYoZ19jYW5jZWxsYWJsZV9uZXcoKSk7CisgICAgICAgIGlmIChkLT5t
X2ZpcnN0UmVxdWVzdC50aW1lb3V0SW50ZXJ2YWwoKSA+IDApCisgICAgICAgICAgICBkLT5tX3Rp
bWVvdXRJZCA9IGdfdGltZW91dF9hZGQoZC0+bV9maXJzdFJlcXVlc3QudGltZW91dEludGVydmFs
KCkgKiAxMDAwLCByZXF1ZXN0VGltZW91dENhbGxiYWNrLCBoYW5kbGUpOwogICAgICAgICBzb3Vw
X3JlcXVlc3Rfc2VuZF9hc3luYyhkLT5tX3NvdXBSZXF1ZXN0LmdldCgpLCBkLT5tX2NhbmNlbGxh
YmxlLmdldCgpLCBzZW5kUmVxdWVzdENhbGxiYWNrLCBoYW5kbGUpOwogICAgIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162336</attachid>
            <date>2012-09-05 14:36:02 -0700</date>
            <delta_ts>2012-09-05 15:29:04 -0700</delta_ts>
            <desc>setTimeoutInterval support for soup, v2.</desc>
            <filename>bug-94796-20120905233544.patch</filename>
            <type>text/plain</type>
            <size>7411</size>
            <attacher name="Dominik Röttsches (drott)">d-r</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3NjM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWU2MTI2YjI1MTBhZDBk
NGRiMmQyZTAzNDQyMjFjZjBhNmIxMGQ3NS4uMGU3NTcxZGNhZDI0NGVjZDMzYWU2MzQxNTRmN2Rl
NDJiZGQ3Yzc3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTA5LTA1ICBEb21p
bmlrIFLDtnR0c2NoZXMgIDxkb21pbmlrLnJvdHRzY2hlc0BpbnRlbC5jb20+CisKKyAgICAgICAg
W3NvdXBdIE9iZXkgc2V0VGltZW91dEludGVydmFsIGluIHNvdXAgYmFja2VuZAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ3OTYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnRpbmcgUmVzb3Vy
Y2VIYW5kbGUncyBzZXRUaW1lb3V0SW50ZXJ2YWwgc3VwcG9ydCBmb3IgdGhlIHNvdXAgYmFja2Vu
ZC4KKyAgICAgICAgVGhpcyBpcyBwcmVwYXJhdG9yeSB3b3JrIGZvciBidWcgNzQ4MDIsIHRpbWVv
dXQgc3VwcG9ydCBmb3IgWEhSMi4gVGhlIHBhdGNoCisgICAgICAgIGhhcyBiZWVuIHN1Y2Nlc3Nm
dWxseSB0ZXN0ZWQgaW4gY29tYmluYXRpb24gd2l0aCB3aXRoIG15IHdvcmstaW4tcHJvZ3Jlc3MK
KyAgICAgICAgZm9yIHRoYXQgYnVnLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyB5ZXQsIHRlc3Rz
IHdpbGwgYmUgYWRkZWQgd2l0aCB0aGUgcGF0Y2ggaW4gYnVnIDc0ODAyLgorCisgICAgICAgICog
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmg6CisgICAgICAgIChXZWJD
b3JlOjpSZXNvdXJjZUhhbmRsZUludGVybmFsOjpSZXNvdXJjZUhhbmRsZUludGVybmFsKTogQWRk
aW5nIGEgdGltZW91dCBpZC4KKyAgICAgICAgKFJlc291cmNlSGFuZGxlSW50ZXJuYWwpOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpjbGVhbnVwU291cFJlcXVlc3RPcGVy
YXRpb24pOiBSZXNldHRpbmcgdGhlIHRpbWVyLgorICAgICAgICAoV2ViQ29yZTo6c2VuZFJlcXVl
c3RDYWxsYmFjayk6IFN0b3BwaW5nIHRoZSB0aW1lci4KKyAgICAgICAgKFdlYkNvcmU6OnN0YXJ0
SFRUUFJlcXVlc3QpOiBTdGFydGluZyBhIHRpbWVvdXQgdGltZXIgYmVmb3JlIHRoZSBhc3luYyBy
ZXF1ZXN0LgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OnBsYXRmb3JtU2V0RGVm
ZXJzTG9hZGluZyk6IFN0YXJ0aW5nIGEgdGltZW91dCB0aW1lciBiZWZvcmUgdGhlIGFzeW5jIHJl
cXVlc3QuCisgICAgICAgIChXZWJDb3JlOjpyZXF1ZXN0VGltZW91dENhbGxiYWNrKTogUHJlcGFy
aW5nIGEgY29ycmVzcG9uZGluZyByZXNvdXJjZSBlcnJvciBhbmQgbm90aWZ5aW5nIGNsaWVudHMg
b2YgZmFpbHVyZS4KKyAgICAgICAgKFdlYkNvcmU6OnN0YXJ0Tm9uSFRUUFJlcXVlc3QpOiBTdGFy
dGluZyBhIHRpbWVvdXQgdGltZXIgYmVmb3JlIHRoZSBhc3luYyByZXF1ZXN0LgorCiAyMDEyLTA5
LTA1ICBKYW1lcyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2No
cm9taXVtXSBQdXQgd2ViY29yZV9wbGF0Zm9ybV9maWxlcyBpbiBzZXBhcmF0ZSBneXAgdGFyZ2V0
IGluc3RlYWQgb2YgcmVseWluZyBvbiBleGNsdXNpb24gcGF0dGVybnMKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmgK
aW5kZXggZWNmNjQ4ZmNlNTVkMzZkNGNkMDI4NTNhOGI4OGNiZjVjYTM2NDY5OC4uMzYzZmI3NjRj
ZGM1ZWRkOWEwNDMwMmI3ZTc3MzcxZjZhMTQ4OTZlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmgKQEAgLTEw
Niw2ICsxMDYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjZW5kaWYKICNpZiBVU0UoU09VUCkK
ICAgICAgICAgICAgICwgbV9jYW5jZWxsZWQoZmFsc2UpCisgICAgICAgICAgICAsIG1fdGltZW91
dElkKDApCiAgICAgICAgICAgICAsIG1fYnVmZmVyKDApCiAgICAgICAgICAgICAsIG1fYm9keVNp
emUoMCkKICAgICAgICAgICAgICwgbV9ib2R5RGF0YVNlbnQoMCkKQEAgLTE4Nyw2ICsxODgsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEdSZWZQdHI8R0lucHV0U3RyZWFtPiBtX2lu
cHV0U3RyZWFtOwogICAgICAgICBHUmVmUHRyPEdDYW5jZWxsYWJsZT4gbV9jYW5jZWxsYWJsZTsK
ICAgICAgICAgR1JlZlB0cjxHQXN5bmNSZXN1bHQ+IG1fZGVmZXJyZWRSZXN1bHQ7CisgICAgICAg
IHVuc2lnbmVkIGludCBtX3RpbWVvdXRJZDsKICAgICAgICAgY2hhciogbV9idWZmZXI7CiAgICAg
ICAgIHVuc2lnbmVkIGxvbmcgbV9ib2R5U2l6ZTsKICAgICAgICAgdW5zaWduZWQgbG9uZyBtX2Jv
ZHlEYXRhU2VudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
c291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKaW5kZXggMzBhMmRlNDU1ZTQyZGJjM2Jh
YWZhYjM0OWE1NGQwOGM1YjljOWMyNS4uYWRkNzliNmE5NzA1OTFkZTU2NzMyMWViN2E0YWQ5NzVl
OGFmYWNiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3Vw
L1Jlc291cmNlSGFuZGxlU291cC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKQEAgLTcsNiArNyw3IEBACiAgKiBDb3B5
cmlnaHQgKEMpIDIwMDkgQ2hyaXN0aWFuIER5d2FuIDxjaHJpc3RpYW5AaW1lbmRpby5jb20+CiAg
KiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTAsIDIwMTEgSWdhbGlhIFMuTC4KICAqIENvcHlyaWdo
dCAoQykgMjAwOSBKb2huIEtqZWxsYmVyZyA8am9obi5ramVsbGJlcmdAcG93ZXIuYWxzdG9tLmNv
bT4KKyAqIENvcHlyaWdodCAoQykgMjAxMiBJbnRlbCBDb3Jwb3JhdGlvbgogICoKICAqIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
ICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljCkBAIC03MSw2ICs3Miw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2RlZmluZSBS
RUFEX0JVRkZFUl9TSVpFIDgxOTIKIAorLy8gVXNlIHRoZSBzYW1lIHZhbHVlIGFzIGluIE5TVVJM
RXJyb3IuaAorc3RhdGljIGNvbnN0IGludCBnVGltZW91dEVycm9yID0gLTEwMDE7CisKIHN0YXRp
YyBib29sIGxvYWRpbmdTeW5jaHJvbm91c1JlcXVlc3QgPSBmYWxzZTsKIAogY2xhc3MgV2ViQ29y
ZVN5bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKQEAgLTIw
MSw2ICsyMDUsNyBAQCBzdGF0aWMgdm9pZCBjbGVhbnVwU291cFJlcXVlc3RPcGVyYXRpb24oUmVz
b3VyY2VIYW5kbGUqLCBib29sIGlzRGVzdHJveWluZyk7CiBzdGF0aWMgdm9pZCBzZW5kUmVxdWVz
dENhbGxiYWNrKEdPYmplY3QqLCBHQXN5bmNSZXN1bHQqLCBncG9pbnRlcik7CiBzdGF0aWMgdm9p
ZCByZWFkQ2FsbGJhY2soR09iamVjdCosIEdBc3luY1Jlc3VsdCosIGdwb2ludGVyKTsKIHN0YXRp
YyB2b2lkIGNsb3NlQ2FsbGJhY2soR09iamVjdCosIEdBc3luY1Jlc3VsdCosIGdwb2ludGVyKTsK
K3N0YXRpYyBnYm9vbGVhbiByZXF1ZXN0VGltZW91dENhbGxiYWNrKHZvaWQqKTsKIHN0YXRpYyBi
b29sIHN0YXJ0Tm9uSFRUUFJlcXVlc3QoUmVzb3VyY2VIYW5kbGUqLCBLVVJMKTsKICNpZiBFTkFC
TEUoV0VCX1RJTUlORykKIHN0YXRpYyBpbnQgIG1pbGlzZWNvbmRzU2luY2VSZXF1ZXN0KGRvdWJs
ZSByZXF1ZXN0VGltZSk7CkBAIC0zNzksNiArMzg0LDExIEBAIHN0YXRpYyB2b2lkIGNsZWFudXBT
b3VwUmVxdWVzdE9wZXJhdGlvbihSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBib29sIGlzRGVzdHJv
eWluCiAgICAgICAgIGQtPm1fYnVmZmVyID0gMDsKICAgICB9CiAKKyAgICBpZiAoZC0+bV90aW1l
b3V0SWQpIHsKKyAgICAgICAgZ19zb3VyY2VfcmVtb3ZlKGQtPm1fdGltZW91dElkKTsKKyAgICAg
ICAgZC0+bV90aW1lb3V0SWQgPSAwOworICAgIH0KKwogICAgIGlmICghaXNEZXN0cm95aW5nKQog
ICAgICAgICBoYW5kbGUtPmRlcmVmKCk7CiB9CkBAIC00MjgsNiArNDM4LDExIEBAIHN0YXRpYyB2
b2lkIHNlbmRSZXF1ZXN0Q2FsbGJhY2soR09iamVjdCogc291cmNlLCBHQXN5bmNSZXN1bHQqIHJl
cywgZ3BvaW50ZXIgZGF0CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAgICBpZiAoZC0+bV90
aW1lb3V0SWQpIHsKKyAgICAgICAgZ19zb3VyY2VfcmVtb3ZlKGQtPm1fdGltZW91dElkKTsKKyAg
ICAgICAgZC0+bV90aW1lb3V0SWQgPSAwOworICAgIH0KKwogICAgIEdPd25QdHI8R0Vycm9yPiBl
cnJvcjsKICAgICBHSW5wdXRTdHJlYW0qIGluID0gc291cF9yZXF1ZXN0X3NlbmRfZmluaXNoKGQt
Pm1fc291cFJlcXVlc3QuZ2V0KCksIHJlcywgJmVycm9yLm91dFB0cigpKTsKICAgICBpZiAoZXJy
b3IpIHsKQEAgLTc1NCw2ICs3NjksOCBAQCBzdGF0aWMgYm9vbCBzdGFydEhUVFBSZXF1ZXN0KFJl
c291cmNlSGFuZGxlKiBoYW5kbGUpCiAjaWYgRU5BQkxFKFdFQl9USU1JTkcpCiAgICAgICAgIGQt
Pm1fcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCktPnJlcXVlc3RUaW1lID0gbW9ub3Rvbmlj
YWxseUluY3JlYXNpbmdUaW1lKCk7CiAjZW5kaWYKKyAgICAgICAgaWYgKGQtPm1fZmlyc3RSZXF1
ZXN0LnRpbWVvdXRJbnRlcnZhbCgpID4gMCkKKyAgICAgICAgICAgIGQtPm1fdGltZW91dElkID0g
Z190aW1lb3V0X2FkZChkLT5tX2ZpcnN0UmVxdWVzdC50aW1lb3V0SW50ZXJ2YWwoKSAqIDEwMDAs
IHJlcXVlc3RUaW1lb3V0Q2FsbGJhY2ssIGhhbmRsZSk7CiAgICAgICAgIGQtPm1fY2FuY2VsbGFi
bGUgPSBhZG9wdEdSZWYoZ19jYW5jZWxsYWJsZV9uZXcoKSk7CiAgICAgICAgIHNvdXBfcmVxdWVz
dF9zZW5kX2FzeW5jKGQtPm1fc291cFJlcXVlc3QuZ2V0KCksIGQtPm1fY2FuY2VsbGFibGUuZ2V0
KCksIHNlbmRSZXF1ZXN0Q2FsbGJhY2ssIGhhbmRsZSk7CiAgICAgfQpAQCAtODUzLDYgKzg3MCw4
IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OnBsYXRmb3JtU2V0RGVmZXJzTG9hZGluZyhib29sIGRl
ZmVyc0xvYWRpbmcpCiAgICAgICAgICAgICBkLT5tX3Jlc3BvbnNlLnJlc291cmNlTG9hZFRpbWlu
ZygpLT5yZXF1ZXN0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogI2VuZGlm
CiAgICAgICAgIGQtPm1fY2FuY2VsbGFibGUgPSBhZG9wdEdSZWYoZ19jYW5jZWxsYWJsZV9uZXco
KSk7CisgICAgICAgIGlmIChkLT5tX2ZpcnN0UmVxdWVzdC50aW1lb3V0SW50ZXJ2YWwoKSA+IDAp
CisgICAgICAgICAgICBkLT5tX3RpbWVvdXRJZCA9IGdfdGltZW91dF9hZGQoZC0+bV9maXJzdFJl
cXVlc3QudGltZW91dEludGVydmFsKCkgKiAxMDAwLCByZXF1ZXN0VGltZW91dENhbGxiYWNrLCB0
aGlzKTsKICAgICAgICAgc291cF9yZXF1ZXN0X3NlbmRfYXN5bmMoZC0+bV9zb3VwUmVxdWVzdC5n
ZXQoKSwgZC0+bV9jYW5jZWxsYWJsZS5nZXQoKSwgc2VuZFJlcXVlc3RDYWxsYmFjaywgdGhpcyk7
CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC05NzMsNiArOTkyLDIyIEBAIHN0YXRpYyB2b2lk
IHJlYWRDYWxsYmFjayhHT2JqZWN0KiBzb3VyY2UsIEdBc3luY1Jlc3VsdCogYXN5bmNSZXN1bHQs
IGdwb2ludGVyIGRhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkLT5tX2NhbmNlbGxh
YmxlLmdldCgpLCByZWFkQ2FsbGJhY2ssIGhhbmRsZS5nZXQoKSk7CiB9CiAKK3N0YXRpYyBnYm9v
bGVhbiByZXF1ZXN0VGltZW91dENhbGxiYWNrKGdwb2ludGVyIGRhdGEpCit7CisgICAgUmVmUHRy
PFJlc291cmNlSGFuZGxlPiBoYW5kbGUgPSBzdGF0aWNfY2FzdDxSZXNvdXJjZUhhbmRsZSo+KGRh
dGEpOworICAgIFJlc291cmNlSGFuZGxlSW50ZXJuYWwqIGQgPSBoYW5kbGUtPmdldEludGVybmFs
KCk7CisgICAgUmVzb3VyY2VIYW5kbGVDbGllbnQqIGNsaWVudCA9IGhhbmRsZS0+Y2xpZW50KCk7
CisKKyAgICAvLyBFcnJvciBkb21haW4gaXMgaWRlbnRpY2FsIGZvciBFcnJvcnNHdGsgYW5kIEVy
cm9yc0VmbC4KKyAgICBSZXNvdXJjZUVycm9yIHRpbWVvdXRFcnJvcigiV2ViS2l0TmV0d29ya0Vy
cm9yIiwgZ1RpbWVvdXRFcnJvciwgZC0+bV9maXJzdFJlcXVlc3QudXJsKCkuc3RyaW5nKCksICJS
ZXF1ZXN0IHRpbWVkIG91dCIpOworICAgIHRpbWVvdXRFcnJvci5zZXRJc1RpbWVvdXQodHJ1ZSk7
CisgICAgY2xpZW50LT5kaWRGYWlsKGhhbmRsZS5nZXQoKSwgdGltZW91dEVycm9yKTsKKyAgICBj
bGVhbnVwU291cFJlcXVlc3RPcGVyYXRpb24oaGFuZGxlLmdldCgpKTsKKworICAgIC8vIERvIG5v
dCBydW4gdGhpcyBjYWxsYmFjayBhZ2Fpbi4KKyAgICByZXR1cm4gRkFMU0U7Cit9CisKIHN0YXRp
YyBib29sIHN0YXJ0Tm9uSFRUUFJlcXVlc3QoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgS1VSTCB1
cmwpCiB7CiAgICAgQVNTRVJUKGhhbmRsZSk7CkBAIC0xMDAxLDYgKzEwMzYsOCBAQCBzdGF0aWMg
Ym9vbCBzdGFydE5vbkhUVFBSZXF1ZXN0KFJlc291cmNlSGFuZGxlKiBoYW5kbGUsIEtVUkwgdXJs
KQogICAgIC8vIFNlbmQgdGhlIHJlcXVlc3Qgb25seSBpZiBpdCdzIG5vdCBiZWVuIGV4cGxpY2l0
bHkgZGVmZXJyZWQuCiAgICAgaWYgKCFkLT5tX2RlZmVyc0xvYWRpbmcpIHsKICAgICAgICAgZC0+
bV9jYW5jZWxsYWJsZSA9IGFkb3B0R1JlZihnX2NhbmNlbGxhYmxlX25ldygpKTsKKyAgICAgICAg
aWYgKGQtPm1fZmlyc3RSZXF1ZXN0LnRpbWVvdXRJbnRlcnZhbCgpID4gMCkKKyAgICAgICAgICAg
IGQtPm1fdGltZW91dElkID0gZ190aW1lb3V0X2FkZChkLT5tX2ZpcnN0UmVxdWVzdC50aW1lb3V0
SW50ZXJ2YWwoKSAqIDEwMDAsIHJlcXVlc3RUaW1lb3V0Q2FsbGJhY2ssIGhhbmRsZSk7CiAgICAg
ICAgIHNvdXBfcmVxdWVzdF9zZW5kX2FzeW5jKGQtPm1fc291cFJlcXVlc3QuZ2V0KCksIGQtPm1f
Y2FuY2VsbGFibGUuZ2V0KCksIHNlbmRSZXF1ZXN0Q2FsbGJhY2ssIGhhbmRsZSk7CiAgICAgfQog
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162352</attachid>
            <date>2012-09-05 15:39:05 -0700</date>
            <delta_ts>2012-09-06 03:37:19 -0700</delta_ts>
            <desc>setTimeoutInterval support for soup, v3.</desc>
            <filename>bug-94796-20120906003846.patch</filename>
            <type>text/plain</type>
            <size>7573</size>
            <attacher name="Dominik Röttsches (drott)">d-r</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3NjM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWU2MTI2YjI1MTBhZDBk
NGRiMmQyZTAzNDQyMjFjZjBhNmIxMGQ3NS4uMGU3NTcxZGNhZDI0NGVjZDMzYWU2MzQxNTRmN2Rl
NDJiZGQ3Yzc3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTA5LTA1ICBEb21p
bmlrIFLDtnR0c2NoZXMgIDxkb21pbmlrLnJvdHRzY2hlc0BpbnRlbC5jb20+CisKKyAgICAgICAg
W3NvdXBdIE9iZXkgc2V0VGltZW91dEludGVydmFsIGluIHNvdXAgYmFja2VuZAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ3OTYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnRpbmcgUmVzb3Vy
Y2VIYW5kbGUncyBzZXRUaW1lb3V0SW50ZXJ2YWwgc3VwcG9ydCBmb3IgdGhlIHNvdXAgYmFja2Vu
ZC4KKyAgICAgICAgVGhpcyBpcyBwcmVwYXJhdG9yeSB3b3JrIGZvciBidWcgNzQ4MDIsIHRpbWVv
dXQgc3VwcG9ydCBmb3IgWEhSMi4gVGhlIHBhdGNoCisgICAgICAgIGhhcyBiZWVuIHN1Y2Nlc3Nm
dWxseSB0ZXN0ZWQgaW4gY29tYmluYXRpb24gd2l0aCB3aXRoIG15IHdvcmstaW4tcHJvZ3Jlc3MK
KyAgICAgICAgZm9yIHRoYXQgYnVnLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyB5ZXQsIHRlc3Rz
IHdpbGwgYmUgYWRkZWQgd2l0aCB0aGUgcGF0Y2ggaW4gYnVnIDc0ODAyLgorCisgICAgICAgICog
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmg6CisgICAgICAgIChXZWJD
b3JlOjpSZXNvdXJjZUhhbmRsZUludGVybmFsOjpSZXNvdXJjZUhhbmRsZUludGVybmFsKTogQWRk
aW5nIGEgdGltZW91dCBpZC4KKyAgICAgICAgKFJlc291cmNlSGFuZGxlSW50ZXJuYWwpOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpjbGVhbnVwU291cFJlcXVlc3RPcGVy
YXRpb24pOiBSZXNldHRpbmcgdGhlIHRpbWVyLgorICAgICAgICAoV2ViQ29yZTo6c2VuZFJlcXVl
c3RDYWxsYmFjayk6IFN0b3BwaW5nIHRoZSB0aW1lci4KKyAgICAgICAgKFdlYkNvcmU6OnN0YXJ0
SFRUUFJlcXVlc3QpOiBTdGFydGluZyBhIHRpbWVvdXQgdGltZXIgYmVmb3JlIHRoZSBhc3luYyBy
ZXF1ZXN0LgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OnBsYXRmb3JtU2V0RGVm
ZXJzTG9hZGluZyk6IFN0YXJ0aW5nIGEgdGltZW91dCB0aW1lciBiZWZvcmUgdGhlIGFzeW5jIHJl
cXVlc3QuCisgICAgICAgIChXZWJDb3JlOjpyZXF1ZXN0VGltZW91dENhbGxiYWNrKTogUHJlcGFy
aW5nIGEgY29ycmVzcG9uZGluZyByZXNvdXJjZSBlcnJvciBhbmQgbm90aWZ5aW5nIGNsaWVudHMg
b2YgZmFpbHVyZS4KKyAgICAgICAgKFdlYkNvcmU6OnN0YXJ0Tm9uSFRUUFJlcXVlc3QpOiBTdGFy
dGluZyBhIHRpbWVvdXQgdGltZXIgYmVmb3JlIHRoZSBhc3luYyByZXF1ZXN0LgorCiAyMDEyLTA5
LTA1ICBKYW1lcyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2No
cm9taXVtXSBQdXQgd2ViY29yZV9wbGF0Zm9ybV9maWxlcyBpbiBzZXBhcmF0ZSBneXAgdGFyZ2V0
IGluc3RlYWQgb2YgcmVseWluZyBvbiBleGNsdXNpb24gcGF0dGVybnMKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmgK
aW5kZXggZWNmNjQ4ZmNlNTVkMzZkNGNkMDI4NTNhOGI4OGNiZjVjYTM2NDY5OC4uNGIzN2MzZTQ0
YmNiNWU3NmU2OWI4ZDNhYmFlMmIxMDY1YjBmZGY2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmgKQEAgLTEw
Niw2ICsxMDYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjZW5kaWYKICNpZiBVU0UoU09VUCkK
ICAgICAgICAgICAgICwgbV9jYW5jZWxsZWQoZmFsc2UpCisgICAgICAgICAgICAsIG1fdGltZW91
dFNvdXJjZSgwKQogICAgICAgICAgICAgLCBtX2J1ZmZlcigwKQogICAgICAgICAgICAgLCBtX2Jv
ZHlTaXplKDApCiAgICAgICAgICAgICAsIG1fYm9keURhdGFTZW50KDApCkBAIC0xODcsNiArMTg4
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBHUmVmUHRyPEdJbnB1dFN0cmVhbT4g
bV9pbnB1dFN0cmVhbTsKICAgICAgICAgR1JlZlB0cjxHQ2FuY2VsbGFibGU+IG1fY2FuY2VsbGFi
bGU7CiAgICAgICAgIEdSZWZQdHI8R0FzeW5jUmVzdWx0PiBtX2RlZmVycmVkUmVzdWx0OworICAg
ICAgICBHU291cmNlKiBtX3RpbWVvdXRTb3VyY2U7CiAgICAgICAgIGNoYXIqIG1fYnVmZmVyOwog
ICAgICAgICB1bnNpZ25lZCBsb25nIG1fYm9keVNpemU7CiAgICAgICAgIHVuc2lnbmVkIGxvbmcg
bV9ib2R5RGF0YVNlbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCmluZGV4IDMwYTJkZTQ1NWU0MmRi
YzNiYWFmYWIzNDlhNTRkMDhjNWI5YzljMjUuLmYwYjUwZjkzZWRmNzdjZDcxMzAxZDQ0NjIwOGFk
YjhkMGM5Mzg4N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
c291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCkBAIC03LDYgKzcsNyBAQAogICog
Q29weXJpZ2h0IChDKSAyMDA5IENocmlzdGlhbiBEeXdhbiA8Y2hyaXN0aWFuQGltZW5kaW8uY29t
PgogICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDEwLCAyMDExIElnYWxpYSBTLkwuCiAgKiBDb3B5
cmlnaHQgKEMpIDIwMDkgSm9obiBLamVsbGJlcmcgPGpvaG4ua2plbGxiZXJnQHBvd2VyLmFsc3Rv
bS5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgSW50ZWwgQ29ycG9yYXRpb24KICAqCiAgKiBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYwpAQCAtNzEsNiArNzIsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICNkZWZp
bmUgUkVBRF9CVUZGRVJfU0laRSA4MTkyCiAKKy8vIFVzZSB0aGUgc2FtZSB2YWx1ZSBhcyBpbiBO
U1VSTEVycm9yLmgKK3N0YXRpYyBjb25zdCBpbnQgZ1RpbWVvdXRFcnJvciA9IC0xMDAxOworCiBz
dGF0aWMgYm9vbCBsb2FkaW5nU3luY2hyb25vdXNSZXF1ZXN0ID0gZmFsc2U7CiAKIGNsYXNzIFdl
YkNvcmVTeW5jaHJvbm91c0xvYWRlciA6IHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CkBA
IC0yMDEsNiArMjA1LDcgQEAgc3RhdGljIHZvaWQgY2xlYW51cFNvdXBSZXF1ZXN0T3BlcmF0aW9u
KFJlc291cmNlSGFuZGxlKiwgYm9vbCBpc0Rlc3Ryb3lpbmcpOwogc3RhdGljIHZvaWQgc2VuZFJl
cXVlc3RDYWxsYmFjayhHT2JqZWN0KiwgR0FzeW5jUmVzdWx0KiwgZ3BvaW50ZXIpOwogc3RhdGlj
IHZvaWQgcmVhZENhbGxiYWNrKEdPYmplY3QqLCBHQXN5bmNSZXN1bHQqLCBncG9pbnRlcik7CiBz
dGF0aWMgdm9pZCBjbG9zZUNhbGxiYWNrKEdPYmplY3QqLCBHQXN5bmNSZXN1bHQqLCBncG9pbnRl
cik7CitzdGF0aWMgZ2Jvb2xlYW4gcmVxdWVzdFRpbWVvdXRDYWxsYmFjayh2b2lkKik7CiBzdGF0
aWMgYm9vbCBzdGFydE5vbkhUVFBSZXF1ZXN0KFJlc291cmNlSGFuZGxlKiwgS1VSTCk7CiAjaWYg
RU5BQkxFKFdFQl9USU1JTkcpCiBzdGF0aWMgaW50ICBtaWxpc2Vjb25kc1NpbmNlUmVxdWVzdChk
b3VibGUgcmVxdWVzdFRpbWUpOwpAQCAtMzc5LDYgKzM4NCwxMSBAQCBzdGF0aWMgdm9pZCBjbGVh
bnVwU291cFJlcXVlc3RPcGVyYXRpb24oUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgYm9vbCBpc0Rl
c3Ryb3lpbgogICAgICAgICBkLT5tX2J1ZmZlciA9IDA7CiAgICAgfQogCisgICAgaWYgKGQtPm1f
dGltZW91dFNvdXJjZSkgeworICAgICAgICBnX3NvdXJjZV9kZXN0cm95KGQtPm1fdGltZW91dFNv
dXJjZSk7CisgICAgICAgIGQtPm1fdGltZW91dFNvdXJjZSA9IDA7CisgICAgfQorCiAgICAgaWYg
KCFpc0Rlc3Ryb3lpbmcpCiAgICAgICAgIGhhbmRsZS0+ZGVyZWYoKTsKIH0KQEAgLTQyOCw2ICs0
MzgsMTEgQEAgc3RhdGljIHZvaWQgc2VuZFJlcXVlc3RDYWxsYmFjayhHT2JqZWN0KiBzb3VyY2Us
IEdBc3luY1Jlc3VsdCogcmVzLCBncG9pbnRlciBkYXQKICAgICAgICAgcmV0dXJuOwogICAgIH0K
IAorICAgIGlmIChkLT5tX3RpbWVvdXRTb3VyY2UpIHsKKyAgICAgICAgZ19zb3VyY2VfZGVzdHJv
eShkLT5tX3RpbWVvdXRTb3VyY2UpOworICAgICAgICBkLT5tX3RpbWVvdXRTb3VyY2UgPSAwOwor
ICAgIH0KKwogICAgIEdPd25QdHI8R0Vycm9yPiBlcnJvcjsKICAgICBHSW5wdXRTdHJlYW0qIGlu
ID0gc291cF9yZXF1ZXN0X3NlbmRfZmluaXNoKGQtPm1fc291cFJlcXVlc3QuZ2V0KCksIHJlcywg
JmVycm9yLm91dFB0cigpKTsKICAgICBpZiAoZXJyb3IpIHsKQEAgLTc1NCw2ICs3NjksOCBAQCBz
dGF0aWMgYm9vbCBzdGFydEhUVFBSZXF1ZXN0KFJlc291cmNlSGFuZGxlKiBoYW5kbGUpCiAjaWYg
RU5BQkxFKFdFQl9USU1JTkcpCiAgICAgICAgIGQtPm1fcmVzcG9uc2UucmVzb3VyY2VMb2FkVGlt
aW5nKCktPnJlcXVlc3RUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAjZW5k
aWYKKyAgICAgICAgaWYgKGQtPm1fZmlyc3RSZXF1ZXN0LnRpbWVvdXRJbnRlcnZhbCgpID4gMCkK
KyAgICAgICAgICAgIGQtPm1fdGltZW91dFNvdXJjZSA9IHNvdXBfYWRkX3RpbWVvdXQoZ19tYWlu
X2NvbnRleHRfZ2V0X3RocmVhZF9kZWZhdWx0KCksIGQtPm1fZmlyc3RSZXF1ZXN0LnRpbWVvdXRJ
bnRlcnZhbCgpICogMTAwMCwgcmVxdWVzdFRpbWVvdXRDYWxsYmFjaywgaGFuZGxlKTsKICAgICAg
ICAgZC0+bV9jYW5jZWxsYWJsZSA9IGFkb3B0R1JlZihnX2NhbmNlbGxhYmxlX25ldygpKTsKICAg
ICAgICAgc291cF9yZXF1ZXN0X3NlbmRfYXN5bmMoZC0+bV9zb3VwUmVxdWVzdC5nZXQoKSwgZC0+
bV9jYW5jZWxsYWJsZS5nZXQoKSwgc2VuZFJlcXVlc3RDYWxsYmFjaywgaGFuZGxlKTsKICAgICB9
CkBAIC04NTMsNiArODcwLDggQEAgdm9pZCBSZXNvdXJjZUhhbmRsZTo6cGxhdGZvcm1TZXREZWZl
cnNMb2FkaW5nKGJvb2wgZGVmZXJzTG9hZGluZykKICAgICAgICAgICAgIGQtPm1fcmVzcG9uc2Uu
cmVzb3VyY2VMb2FkVGltaW5nKCktPnJlcXVlc3RUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lKCk7CiAjZW5kaWYKICAgICAgICAgZC0+bV9jYW5jZWxsYWJsZSA9IGFkb3B0R1JlZihn
X2NhbmNlbGxhYmxlX25ldygpKTsKKyAgICAgICAgaWYgKGQtPm1fZmlyc3RSZXF1ZXN0LnRpbWVv
dXRJbnRlcnZhbCgpID4gMCkKKyAgICAgICAgICAgIGQtPm1fdGltZW91dFNvdXJjZSA9IHNvdXBf
YWRkX3RpbWVvdXQoZ19tYWluX2NvbnRleHRfZ2V0X3RocmVhZF9kZWZhdWx0KCksIGQtPm1fZmly
c3RSZXF1ZXN0LnRpbWVvdXRJbnRlcnZhbCgpICogMTAwMCwgcmVxdWVzdFRpbWVvdXRDYWxsYmFj
aywgdGhpcyk7CiAgICAgICAgIHNvdXBfcmVxdWVzdF9zZW5kX2FzeW5jKGQtPm1fc291cFJlcXVl
c3QuZ2V0KCksIGQtPm1fY2FuY2VsbGFibGUuZ2V0KCksIHNlbmRSZXF1ZXN0Q2FsbGJhY2ssIHRo
aXMpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtOTczLDYgKzk5MiwyMiBAQCBzdGF0aWMg
dm9pZCByZWFkQ2FsbGJhY2soR09iamVjdCogc291cmNlLCBHQXN5bmNSZXN1bHQqIGFzeW5jUmVz
dWx0LCBncG9pbnRlciBkYQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZC0+bV9jYW5j
ZWxsYWJsZS5nZXQoKSwgcmVhZENhbGxiYWNrLCBoYW5kbGUuZ2V0KCkpOwogfQogCitzdGF0aWMg
Z2Jvb2xlYW4gcmVxdWVzdFRpbWVvdXRDYWxsYmFjayhncG9pbnRlciBkYXRhKQoreworICAgIFJl
ZlB0cjxSZXNvdXJjZUhhbmRsZT4gaGFuZGxlID0gc3RhdGljX2Nhc3Q8UmVzb3VyY2VIYW5kbGUq
PihkYXRhKTsKKyAgICBSZXNvdXJjZUhhbmRsZUludGVybmFsKiBkID0gaGFuZGxlLT5nZXRJbnRl
cm5hbCgpOworICAgIFJlc291cmNlSGFuZGxlQ2xpZW50KiBjbGllbnQgPSBoYW5kbGUtPmNsaWVu
dCgpOworCisgICAgLy8gRXJyb3IgZG9tYWluIGlzIGlkZW50aWNhbCBmb3IgRXJyb3JzR3RrIGFu
ZCBFcnJvcnNFZmwuCisgICAgUmVzb3VyY2VFcnJvciB0aW1lb3V0RXJyb3IoIldlYktpdE5ldHdv
cmtFcnJvciIsIGdUaW1lb3V0RXJyb3IsIGQtPm1fZmlyc3RSZXF1ZXN0LnVybCgpLnN0cmluZygp
LCAiUmVxdWVzdCB0aW1lZCBvdXQiKTsKKyAgICB0aW1lb3V0RXJyb3Iuc2V0SXNUaW1lb3V0KHRy
dWUpOworICAgIGNsaWVudC0+ZGlkRmFpbChoYW5kbGUuZ2V0KCksIHRpbWVvdXRFcnJvcik7Cisg
ICAgY2xlYW51cFNvdXBSZXF1ZXN0T3BlcmF0aW9uKGhhbmRsZS5nZXQoKSk7CisKKyAgICAvLyBE
byBub3QgcnVuIHRoaXMgY2FsbGJhY2sgYWdhaW4uCisgICAgcmV0dXJuIEZBTFNFOworfQorCiBz
dGF0aWMgYm9vbCBzdGFydE5vbkhUVFBSZXF1ZXN0KFJlc291cmNlSGFuZGxlKiBoYW5kbGUsIEtV
UkwgdXJsKQogewogICAgIEFTU0VSVChoYW5kbGUpOwpAQCAtMTAwMSw2ICsxMDM2LDggQEAgc3Rh
dGljIGJvb2wgc3RhcnROb25IVFRQUmVxdWVzdChSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBLVVJM
IHVybCkKICAgICAvLyBTZW5kIHRoZSByZXF1ZXN0IG9ubHkgaWYgaXQncyBub3QgYmVlbiBleHBs
aWNpdGx5IGRlZmVycmVkLgogICAgIGlmICghZC0+bV9kZWZlcnNMb2FkaW5nKSB7CiAgICAgICAg
IGQtPm1fY2FuY2VsbGFibGUgPSBhZG9wdEdSZWYoZ19jYW5jZWxsYWJsZV9uZXcoKSk7CisgICAg
ICAgIGlmIChkLT5tX2ZpcnN0UmVxdWVzdC50aW1lb3V0SW50ZXJ2YWwoKSA+IDApCisgICAgICAg
ICAgICBkLT5tX3RpbWVvdXRTb3VyY2UgPSBzb3VwX2FkZF90aW1lb3V0KGdfbWFpbl9jb250ZXh0
X2dldF90aHJlYWRfZGVmYXVsdCgpLCBkLT5tX2ZpcnN0UmVxdWVzdC50aW1lb3V0SW50ZXJ2YWwo
KSAqIDEwMDAsIHJlcXVlc3RUaW1lb3V0Q2FsbGJhY2ssIGhhbmRsZSk7CiAgICAgICAgIHNvdXBf
cmVxdWVzdF9zZW5kX2FzeW5jKGQtPm1fc291cFJlcXVlc3QuZ2V0KCksIGQtPm1fY2FuY2VsbGFi
bGUuZ2V0KCksIHNlbmRSZXF1ZXN0Q2FsbGJhY2ssIGhhbmRsZSk7CiAgICAgfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162467</attachid>
            <date>2012-09-06 03:37:27 -0700</date>
            <delta_ts>2012-09-07 06:28:05 -0700</delta_ts>
            <desc>setTimeoutInterval support for soup, v4.</desc>
            <filename>bug-94796-20120906134001.patch</filename>
            <type>text/plain</type>
            <size>8484</size>
            <attacher name="Dominik Röttsches (drott)">d-r</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3NzA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2VhZGI1YjE2MmM3YjUx
OGQ4NGRhZGZjMWE1NzFkYTBlZjA3OWFhYy4uMjIxMmZiZjFlYmZjN2VlMzFkZTRmMjNkMmJhNGZm
YjQ1ZTJiZGI0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTA5LTA2ICBEb21p
bmlrIFLDtnR0c2NoZXMgIDxkb21pbmlrLnJvdHRzY2hlc0BpbnRlbC5jb20+CisKKyAgICAgICAg
W3NvdXBdIE9iZXkgc2V0VGltZW91dEludGVydmFsIGluIHNvdXAgYmFja2VuZAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ3OTYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnRpbmcgUmVzb3Vy
Y2VIYW5kbGUncyBzZXRUaW1lb3V0SW50ZXJ2YWwgc3VwcG9ydCBmb3IgdGhlIHNvdXAgYmFja2Vu
ZC4KKyAgICAgICAgVGhpcyBpcyBwcmVwYXJhdG9yeSB3b3JrIGZvciBidWcgNzQ4MDIsIHRpbWVv
dXQgc3VwcG9ydCBmb3IgWEhSMi4gVGhlIHBhdGNoCisgICAgICAgIGhhcyBiZWVuIHN1Y2Nlc3Nm
dWxseSB0ZXN0ZWQgaW4gY29tYmluYXRpb24gd2l0aCB3aXRoIG15IHdvcmstaW4tcHJvZ3Jlc3MK
KyAgICAgICAgZm9yIHRoYXQgYnVnLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyB5ZXQsIHRlc3Rz
IHdpbGwgYmUgYWRkZWQgd2l0aCB0aGUgcGF0Y2ggaW4gYnVnIDc0ODAyLgorCisgICAgICAgICog
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmg6CisgICAgICAgIChXZWJD
b3JlOjpSZXNvdXJjZUhhbmRsZUludGVybmFsOjpSZXNvdXJjZUhhbmRsZUludGVybmFsKTogQWRk
aW5nIGEgdGltZW91dCBzb3VyY2UuCisgICAgICAgIChSZXNvdXJjZUhhbmRsZUludGVybmFsKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcDoK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Y2xlYW51cFNvdXBSZXF1ZXN0
T3BlcmF0aW9uKTogUmVzZXR0aW5nIHRoZSB0aW1lci4KKyAgICAgICAgKFdlYkNvcmU6OnNlbmRS
ZXF1ZXN0Q2FsbGJhY2spOiBTdG9wcGluZyB0aGUgdGltZXIuCisgICAgICAgIChXZWJDb3JlOjpz
dGFydEhUVFBSZXF1ZXN0KTogU3RhcnRpbmcgYSB0aW1lb3V0IHRpbWVyIGJlZm9yZSB0aGUgYXN5
bmMgcmVxdWVzdC4KKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpwbGF0Zm9ybVNl
dERlZmVyc0xvYWRpbmcpOiBTdGFydGluZyBhIHRpbWVvdXQgdGltZXIgYmVmb3JlIHRoZSBhc3lu
YyByZXF1ZXN0LgorICAgICAgICAoV2ViQ29yZTo6cmVxdWVzdFRpbWVvdXRDYWxsYmFjayk6IFBy
ZXBhcmluZyBhIGNvcnJlc3BvbmRpbmcgcmVzb3VyY2UgZXJyb3IgYW5kIG5vdGlmeWluZyBjbGll
bnRzIG9mIGZhaWx1cmUuCisgICAgICAgIChXZWJDb3JlOjpzdGFydE5vbkhUVFBSZXF1ZXN0KTog
U3RhcnRpbmcgYSB0aW1lb3V0IHRpbWVyIGJlZm9yZSB0aGUgYXN5bmMgcmVxdWVzdC4KKwogMjAx
Mi0wOS0wNiAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBNb3JlIGZpeGVzIGZvciBTdHJpbmc6Om9wZXJhdG9yKz0oKSBpbiBEZWJ1ZyBtb2RlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9nb2JqZWN0L0dPd25QdHIuY3BwIGIvU291cmNlL1dURi93
dGYvZ29iamVjdC9HT3duUHRyLmNwcAppbmRleCBkZmUxODdkNzg4N2ZmNTRlYTAyN2MxYzlkYzVj
MDZiZDdiZGI1Y2YxLi43NTAzYmNjOWNhZDUyMTE3OWQyZDBhZjIyMzNkOTg3ZTViMmI3ZWI1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9nb2JqZWN0L0dPd25QdHIuY3BwCisrKyBiL1NvdXJj
ZS9XVEYvd3RmL2dvYmplY3QvR093blB0ci5jcHAKQEAgLTY2LDYgKzY2LDEyIEBAIHRlbXBsYXRl
IDw+IHZvaWQgZnJlZU93bmVkR1B0cjxHS2V5RmlsZT4oR0tleUZpbGUqIHB0cikKICAgICAgICAg
Z19rZXlfZmlsZV9mcmVlKHB0cik7CiB9CiAKK3RlbXBsYXRlIDw+IHZvaWQgZnJlZU93bmVkR1B0
cjxHU291cmNlPihHU291cmNlKiBwdHIpCit7CisgICAgaWYgKHB0cikKKyAgICAgICAgZ19zb3Vy
Y2VfZGVzdHJveShwdHIpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAogI2VuZGlmIC8vIEVO
QUJMRShHTElCX1NVUFBPUlQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9nb2JqZWN0L0dP
d25QdHIuaCBiL1NvdXJjZS9XVEYvd3RmL2dvYmplY3QvR093blB0ci5oCmluZGV4IDRiMmRjYjc3
YjI1MDAwYzJlNWI2ODA4YTRjNzQ4NGMyYmU2ZDZjYTUuLmY5MTQwNGJkNGIwZDgzOGVjYzQzZjIz
ODk0OTYyYWM0MGNjZTEzOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL2dvYmplY3QvR093
blB0ci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL2dvYmplY3QvR093blB0ci5oCkBAIC00MCw2ICs0
MCw3IEBAIHRlbXBsYXRlPD4gdm9pZCBmcmVlT3duZWRHUHRyPEdQYXR0ZXJuU3BlYz4oR1BhdHRl
cm5TcGVjKik7CiB0ZW1wbGF0ZTw+IHZvaWQgZnJlZU93bmVkR1B0cjxHRGlyPihHRGlyKik7CiB0
ZW1wbGF0ZTw+IHZvaWQgZnJlZU93bmVkR1B0cjxHVGltZXI+KEdUaW1lciopOwogdGVtcGxhdGU8
PiB2b2lkIGZyZWVPd25lZEdQdHI8R0tleUZpbGU+KEdLZXlGaWxlKik7Cit0ZW1wbGF0ZTw+IHZv
aWQgZnJlZU93bmVkR1B0cjxHU291cmNlPihHU291cmNlKik7CiAKIHRlbXBsYXRlIDx0eXBlbmFt
ZSBUPiBjbGFzcyBHT3duUHRyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHT3duUHRyKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5k
bGVJbnRlcm5hbC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhh
bmRsZUludGVybmFsLmgKaW5kZXggZWNmNjQ4ZmNlNTVkMzZkNGNkMDI4NTNhOGI4OGNiZjVjYTM2
NDY5OC4uYTFjMzJjZDhiMTIzNWZkYzJkNmU5YTkzZTQ5N2FkNGY0MGJiYTEwYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFs
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUlu
dGVybmFsLmgKQEAgLTQ2LDYgKzQ2LDcgQEAKICNlbmRpZgogCiAjaWYgVVNFKFNPVVApCisjaW5j
bHVkZSA8d3RmL2dvYmplY3QvR093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9nb2JqZWN0L0dSZWZQ
dHIuaD4KICNkZWZpbmUgTElCU09VUF9VU0VfVU5TVEFCTEVfUkVRVUVTVF9BUEkKICNpbmNsdWRl
IDxsaWJzb3VwL3NvdXAtcmVxdWVzdC5oPgpAQCAtMTg3LDYgKzE4OCw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgR1JlZlB0cjxHSW5wdXRTdHJlYW0+IG1faW5wdXRTdHJlYW07CiAg
ICAgICAgIEdSZWZQdHI8R0NhbmNlbGxhYmxlPiBtX2NhbmNlbGxhYmxlOwogICAgICAgICBHUmVm
UHRyPEdBc3luY1Jlc3VsdD4gbV9kZWZlcnJlZFJlc3VsdDsKKyAgICAgICAgR093blB0cjxHU291
cmNlPiBtX3RpbWVvdXRTb3VyY2U7CiAgICAgICAgIGNoYXIqIG1fYnVmZmVyOwogICAgICAgICB1
bnNpZ25lZCBsb25nIG1fYm9keVNpemU7CiAgICAgICAgIHVuc2lnbmVkIGxvbmcgbV9ib2R5RGF0
YVNlbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAv
UmVzb3VyY2VIYW5kbGVTb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
c291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCmluZGV4IDMwYTJkZTQ1NWU0MmRiYzNiYWFmYWIz
NDlhNTRkMDhjNWI5YzljMjUuLjAzODFkMzAwMjFjNDdjYTE0ZjYwYmMwMTM5OGNjZjcxYjViODQ4
ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNv
dXJjZUhhbmRsZVNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
c291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCkBAIC03LDYgKzcsNyBAQAogICogQ29weXJpZ2h0
IChDKSAyMDA5IENocmlzdGlhbiBEeXdhbiA8Y2hyaXN0aWFuQGltZW5kaW8uY29tPgogICogQ29w
eXJpZ2h0IChDKSAyMDA5LCAyMDEwLCAyMDExIElnYWxpYSBTLkwuCiAgKiBDb3B5cmlnaHQgKEMp
IDIwMDkgSm9obiBLamVsbGJlcmcgPGpvaG4ua2plbGxiZXJnQHBvd2VyLmFsc3RvbS5jb20+Cisg
KiBDb3B5cmlnaHQgKEMpIDIwMTIgSW50ZWwgQ29ycG9yYXRpb24KICAqCiAgKiBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YwpAQCAtNzEsNiArNzIsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICNkZWZpbmUgUkVBRF9C
VUZGRVJfU0laRSA4MTkyCiAKKy8vIFVzZSB0aGUgc2FtZSB2YWx1ZSBhcyBpbiBOU1VSTEVycm9y
LmgKK3N0YXRpYyBjb25zdCBpbnQgZ1RpbWVvdXRFcnJvciA9IC0xMDAxOworCiBzdGF0aWMgYm9v
bCBsb2FkaW5nU3luY2hyb25vdXNSZXF1ZXN0ID0gZmFsc2U7CiAKIGNsYXNzIFdlYkNvcmVTeW5j
aHJvbm91c0xvYWRlciA6IHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CkBAIC0yMDEsNiAr
MjA1LDcgQEAgc3RhdGljIHZvaWQgY2xlYW51cFNvdXBSZXF1ZXN0T3BlcmF0aW9uKFJlc291cmNl
SGFuZGxlKiwgYm9vbCBpc0Rlc3Ryb3lpbmcpOwogc3RhdGljIHZvaWQgc2VuZFJlcXVlc3RDYWxs
YmFjayhHT2JqZWN0KiwgR0FzeW5jUmVzdWx0KiwgZ3BvaW50ZXIpOwogc3RhdGljIHZvaWQgcmVh
ZENhbGxiYWNrKEdPYmplY3QqLCBHQXN5bmNSZXN1bHQqLCBncG9pbnRlcik7CiBzdGF0aWMgdm9p
ZCBjbG9zZUNhbGxiYWNrKEdPYmplY3QqLCBHQXN5bmNSZXN1bHQqLCBncG9pbnRlcik7CitzdGF0
aWMgZ2Jvb2xlYW4gcmVxdWVzdFRpbWVvdXRDYWxsYmFjayh2b2lkKik7CiBzdGF0aWMgYm9vbCBz
dGFydE5vbkhUVFBSZXF1ZXN0KFJlc291cmNlSGFuZGxlKiwgS1VSTCk7CiAjaWYgRU5BQkxFKFdF
Ql9USU1JTkcpCiBzdGF0aWMgaW50ICBtaWxpc2Vjb25kc1NpbmNlUmVxdWVzdChkb3VibGUgcmVx
dWVzdFRpbWUpOwpAQCAtMzc5LDYgKzM4NCw4IEBAIHN0YXRpYyB2b2lkIGNsZWFudXBTb3VwUmVx
dWVzdE9wZXJhdGlvbihSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBib29sIGlzRGVzdHJveWluCiAg
ICAgICAgIGQtPm1fYnVmZmVyID0gMDsKICAgICB9CiAKKyAgICBkLT5tX3RpbWVvdXRTb3VyY2Uu
Y2xlYXIoKTsKKwogICAgIGlmICghaXNEZXN0cm95aW5nKQogICAgICAgICBoYW5kbGUtPmRlcmVm
KCk7CiB9CkBAIC00MjgsNiArNDM1LDggQEAgc3RhdGljIHZvaWQgc2VuZFJlcXVlc3RDYWxsYmFj
ayhHT2JqZWN0KiBzb3VyY2UsIEdBc3luY1Jlc3VsdCogcmVzLCBncG9pbnRlciBkYXQKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIAorICAgIGQtPm1fdGltZW91dFNvdXJjZS5jbGVhcigpOworCiAg
ICAgR093blB0cjxHRXJyb3I+IGVycm9yOwogICAgIEdJbnB1dFN0cmVhbSogaW4gPSBzb3VwX3Jl
cXVlc3Rfc2VuZF9maW5pc2goZC0+bV9zb3VwUmVxdWVzdC5nZXQoKSwgcmVzLCAmZXJyb3Iub3V0
UHRyKCkpOwogICAgIGlmIChlcnJvcikgewpAQCAtNzU0LDYgKzc2Myw4IEBAIHN0YXRpYyBib29s
IHN0YXJ0SFRUUFJlcXVlc3QoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSkKICNpZiBFTkFCTEUoV0VC
X1RJTUlORykKICAgICAgICAgZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+cmVx
dWVzdFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICNlbmRpZgorICAgICAg
ICBpZiAoZC0+bV9maXJzdFJlcXVlc3QudGltZW91dEludGVydmFsKCkgPiAwKQorICAgICAgICAg
ICAgZC0+bV90aW1lb3V0U291cmNlLnNldChzb3VwX2FkZF90aW1lb3V0KGdfbWFpbl9jb250ZXh0
X2dldF90aHJlYWRfZGVmYXVsdCgpLCBkLT5tX2ZpcnN0UmVxdWVzdC50aW1lb3V0SW50ZXJ2YWwo
KSAqIDEwMDAsIHJlcXVlc3RUaW1lb3V0Q2FsbGJhY2ssIGhhbmRsZSkpOwogICAgICAgICBkLT5t
X2NhbmNlbGxhYmxlID0gYWRvcHRHUmVmKGdfY2FuY2VsbGFibGVfbmV3KCkpOwogICAgICAgICBz
b3VwX3JlcXVlc3Rfc2VuZF9hc3luYyhkLT5tX3NvdXBSZXF1ZXN0LmdldCgpLCBkLT5tX2NhbmNl
bGxhYmxlLmdldCgpLCBzZW5kUmVxdWVzdENhbGxiYWNrLCBoYW5kbGUpOwogICAgIH0KQEAgLTg1
Myw2ICs4NjQsOCBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjpwbGF0Zm9ybVNldERlZmVyc0xvYWRp
bmcoYm9vbCBkZWZlcnNMb2FkaW5nKQogICAgICAgICAgICAgZC0+bV9yZXNwb25zZS5yZXNvdXJj
ZUxvYWRUaW1pbmcoKS0+cmVxdWVzdFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUo
KTsKICNlbmRpZgogICAgICAgICBkLT5tX2NhbmNlbGxhYmxlID0gYWRvcHRHUmVmKGdfY2FuY2Vs
bGFibGVfbmV3KCkpOworICAgICAgICBpZiAoZC0+bV9maXJzdFJlcXVlc3QudGltZW91dEludGVy
dmFsKCkgPiAwKQorICAgICAgICAgICAgZC0+bV90aW1lb3V0U291cmNlLnNldChzb3VwX2FkZF90
aW1lb3V0KGdfbWFpbl9jb250ZXh0X2dldF90aHJlYWRfZGVmYXVsdCgpLCBkLT5tX2ZpcnN0UmVx
dWVzdC50aW1lb3V0SW50ZXJ2YWwoKSAqIDEwMDAsIHJlcXVlc3RUaW1lb3V0Q2FsbGJhY2ssIHRo
aXMpKTsKICAgICAgICAgc291cF9yZXF1ZXN0X3NlbmRfYXN5bmMoZC0+bV9zb3VwUmVxdWVzdC5n
ZXQoKSwgZC0+bV9jYW5jZWxsYWJsZS5nZXQoKSwgc2VuZFJlcXVlc3RDYWxsYmFjaywgdGhpcyk7
CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC05NzMsNiArOTg2LDIyIEBAIHN0YXRpYyB2b2lk
IHJlYWRDYWxsYmFjayhHT2JqZWN0KiBzb3VyY2UsIEdBc3luY1Jlc3VsdCogYXN5bmNSZXN1bHQs
IGdwb2ludGVyIGRhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkLT5tX2NhbmNlbGxh
YmxlLmdldCgpLCByZWFkQ2FsbGJhY2ssIGhhbmRsZS5nZXQoKSk7CiB9CiAKK3N0YXRpYyBnYm9v
bGVhbiByZXF1ZXN0VGltZW91dENhbGxiYWNrKGdwb2ludGVyIGRhdGEpCit7CisgICAgUmVmUHRy
PFJlc291cmNlSGFuZGxlPiBoYW5kbGUgPSBzdGF0aWNfY2FzdDxSZXNvdXJjZUhhbmRsZSo+KGRh
dGEpOworICAgIFJlc291cmNlSGFuZGxlSW50ZXJuYWwqIGQgPSBoYW5kbGUtPmdldEludGVybmFs
KCk7CisgICAgUmVzb3VyY2VIYW5kbGVDbGllbnQqIGNsaWVudCA9IGhhbmRsZS0+Y2xpZW50KCk7
CisKKyAgICAvLyBFcnJvciBkb21haW4gaXMgaWRlbnRpY2FsIGZvciBFcnJvcnNHdGsgYW5kIEVy
cm9yc0VmbC4KKyAgICBSZXNvdXJjZUVycm9yIHRpbWVvdXRFcnJvcigiV2ViS2l0TmV0d29ya0Vy
cm9yIiwgZ1RpbWVvdXRFcnJvciwgZC0+bV9maXJzdFJlcXVlc3QudXJsKCkuc3RyaW5nKCksICJS
ZXF1ZXN0IHRpbWVkIG91dCIpOworICAgIHRpbWVvdXRFcnJvci5zZXRJc1RpbWVvdXQodHJ1ZSk7
CisgICAgY2xpZW50LT5kaWRGYWlsKGhhbmRsZS5nZXQoKSwgdGltZW91dEVycm9yKTsKKyAgICBj
bGVhbnVwU291cFJlcXVlc3RPcGVyYXRpb24oaGFuZGxlLmdldCgpKTsKKworICAgIC8vIERvIG5v
dCBydW4gdGhpcyBjYWxsYmFjayBhZ2Fpbi4KKyAgICByZXR1cm4gRkFMU0U7Cit9CisKIHN0YXRp
YyBib29sIHN0YXJ0Tm9uSFRUUFJlcXVlc3QoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgS1VSTCB1
cmwpCiB7CiAgICAgQVNTRVJUKGhhbmRsZSk7CkBAIC0xMDAxLDYgKzEwMzAsOCBAQCBzdGF0aWMg
Ym9vbCBzdGFydE5vbkhUVFBSZXF1ZXN0KFJlc291cmNlSGFuZGxlKiBoYW5kbGUsIEtVUkwgdXJs
KQogICAgIC8vIFNlbmQgdGhlIHJlcXVlc3Qgb25seSBpZiBpdCdzIG5vdCBiZWVuIGV4cGxpY2l0
bHkgZGVmZXJyZWQuCiAgICAgaWYgKCFkLT5tX2RlZmVyc0xvYWRpbmcpIHsKICAgICAgICAgZC0+
bV9jYW5jZWxsYWJsZSA9IGFkb3B0R1JlZihnX2NhbmNlbGxhYmxlX25ldygpKTsKKyAgICAgICAg
aWYgKGQtPm1fZmlyc3RSZXF1ZXN0LnRpbWVvdXRJbnRlcnZhbCgpID4gMCkKKyAgICAgICAgICAg
IGQtPm1fdGltZW91dFNvdXJjZS5zZXQoc291cF9hZGRfdGltZW91dChnX21haW5fY29udGV4dF9n
ZXRfdGhyZWFkX2RlZmF1bHQoKSwgZC0+bV9maXJzdFJlcXVlc3QudGltZW91dEludGVydmFsKCkg
KiAxMDAwLCByZXF1ZXN0VGltZW91dENhbGxiYWNrLCBoYW5kbGUpKTsKICAgICAgICAgc291cF9y
ZXF1ZXN0X3NlbmRfYXN5bmMoZC0+bV9zb3VwUmVxdWVzdC5nZXQoKSwgZC0+bV9jYW5jZWxsYWJs
ZS5nZXQoKSwgc2VuZFJlcXVlc3RDYWxsYmFjaywgaGFuZGxlKTsKICAgICB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162754</attachid>
            <date>2012-09-07 06:28:14 -0700</date>
            <delta_ts>2012-09-10 02:44:35 -0700</delta_ts>
            <desc>setTimeoutInterval support for soup, v5.</desc>
            <filename>bug-94796-20120907163048.patch</filename>
            <type>text/plain</type>
            <size>7750</size>
            <attacher name="Dominik Röttsches (drott)">d-r</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3ODUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmVmNDQyZjc1NzcwODU5
YzZkYTgzZGMzMThlNzlmY2ViMzljZDI2NC4uMmVmNzRkOTRlZTE5MmQ4NjI5OTVmNzQzNjQ2NTZh
YzJiYzBkOWM0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTA5LTA2ICBEb21p
bmlrIFLDtnR0c2NoZXMgIDxkb21pbmlrLnJvdHRzY2hlc0BpbnRlbC5jb20+CisKKyAgICAgICAg
W3NvdXBdIE9iZXkgc2V0VGltZW91dEludGVydmFsIGluIHNvdXAgYmFja2VuZAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ3OTYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnRpbmcgUmVzb3Vy
Y2VIYW5kbGUncyBzZXRUaW1lb3V0SW50ZXJ2YWwgc3VwcG9ydCBmb3IgdGhlIHNvdXAgYmFja2Vu
ZC4KKyAgICAgICAgVGhpcyBpcyBwcmVwYXJhdG9yeSB3b3JrIGZvciBidWcgNzQ4MDIsIHRpbWVv
dXQgc3VwcG9ydCBmb3IgWEhSMi4gVGhlIHBhdGNoCisgICAgICAgIGhhcyBiZWVuIHN1Y2Nlc3Nm
dWxseSB0ZXN0ZWQgaW4gY29tYmluYXRpb24gd2l0aCB3aXRoIG15IHdvcmstaW4tcHJvZ3Jlc3MK
KyAgICAgICAgZm9yIHRoYXQgYnVnLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyB5ZXQsIHRlc3Rz
IHdpbGwgYmUgYWRkZWQgd2l0aCB0aGUgcGF0Y2ggaW4gYnVnIDc0ODAyLgorCisgICAgICAgICog
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmg6CisgICAgICAgIChXZWJD
b3JlOjpSZXNvdXJjZUhhbmRsZUludGVybmFsOjpSZXNvdXJjZUhhbmRsZUludGVybmFsKTogQWRk
aW5nIGEgdGltZW91dCBzb3VyY2UuCisgICAgICAgIChSZXNvdXJjZUhhbmRsZUludGVybmFsKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcDoK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Y2xlYW51cFNvdXBSZXF1ZXN0
T3BlcmF0aW9uKTogUmVzZXR0aW5nIHRoZSB0aW1lci4KKyAgICAgICAgKFdlYkNvcmU6OnNlbmRS
ZXF1ZXN0Q2FsbGJhY2spOiBTdG9wcGluZyB0aGUgdGltZXIuCisgICAgICAgIChXZWJDb3JlOjpz
dGFydEhUVFBSZXF1ZXN0KTogU3RhcnRpbmcgYSB0aW1lb3V0IHRpbWVyIGJlZm9yZSB0aGUgYXN5
bmMgcmVxdWVzdC4KKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpwbGF0Zm9ybVNl
dERlZmVyc0xvYWRpbmcpOiBTdGFydGluZyBhIHRpbWVvdXQgdGltZXIgYmVmb3JlIHRoZSBhc3lu
YyByZXF1ZXN0LgorICAgICAgICAoV2ViQ29yZTo6cmVxdWVzdFRpbWVvdXRDYWxsYmFjayk6IFBy
ZXBhcmluZyBhIGNvcnJlc3BvbmRpbmcgcmVzb3VyY2UgZXJyb3IgYW5kIG5vdGlmeWluZyBjbGll
bnRzIG9mIGZhaWx1cmUuCisgICAgICAgIChXZWJDb3JlOjpzdGFydE5vbkhUVFBSZXF1ZXN0KTog
U3RhcnRpbmcgYSB0aW1lb3V0IHRpbWVyIGJlZm9yZSB0aGUgYXN5bmMgcmVxdWVzdC4KKwogMjAx
Mi0wOS0wNyAgWW9zaGlmdW1pIElub3VlICA8eW9zaW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFdlIHNob3VsZCBoYXZlIGEgbG9jYWxpemVkIHN0cmluZyBvZiBlbXB0eSBmb3IgZGF0ZSB0aW1l
IGZpZWxkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291
cmNlSGFuZGxlSW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VIYW5kbGVJbnRlcm5hbC5oCmluZGV4IGVjZjY0OGZjZTU1ZDM2ZDRjZDAyODUzYThiODhj
YmY1Y2EzNjQ2OTguLjY2M2NkMDQ5NDY2M2JjNmM0MTZmZTBhNTg1ZjM2YmE1MjhkNmJjYWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJ
bnRlcm5hbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VI
YW5kbGVJbnRlcm5hbC5oCkBAIC0xODcsNiArMTg3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICBHUmVmUHRyPEdJbnB1dFN0cmVhbT4gbV9pbnB1dFN0cmVhbTsKICAgICAgICAgR1Jl
ZlB0cjxHQ2FuY2VsbGFibGU+IG1fY2FuY2VsbGFibGU7CiAgICAgICAgIEdSZWZQdHI8R0FzeW5j
UmVzdWx0PiBtX2RlZmVycmVkUmVzdWx0OworICAgICAgICBHUmVmUHRyPEdTb3VyY2U+IG1fdGlt
ZW91dFNvdXJjZTsKICAgICAgICAgY2hhciogbV9idWZmZXI7CiAgICAgICAgIHVuc2lnbmVkIGxv
bmcgbV9ib2R5U2l6ZTsKICAgICAgICAgdW5zaWduZWQgbG9uZyBtX2JvZHlEYXRhU2VudDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhh
bmRsZVNvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291
cmNlSGFuZGxlU291cC5jcHAKaW5kZXggMzBhMmRlNDU1ZTQyZGJjM2JhYWZhYjM0OWE1NGQwOGM1
YjljOWMyNS4uM2FjYmRkYzNhZDE5NDI1YTE2MWZlYzdiNTcwNjYwNDVlYjFiZWJjNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxl
U291cC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291
cmNlSGFuZGxlU291cC5jcHAKQEAgLTcsNiArNyw3IEBACiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkg
Q2hyaXN0aWFuIER5d2FuIDxjaHJpc3RpYW5AaW1lbmRpby5jb20+CiAgKiBDb3B5cmlnaHQgKEMp
IDIwMDksIDIwMTAsIDIwMTEgSWdhbGlhIFMuTC4KICAqIENvcHlyaWdodCAoQykgMjAwOSBKb2hu
IEtqZWxsYmVyZyA8am9obi5ramVsbGJlcmdAcG93ZXIuYWxzdG9tLmNvbT4KKyAqIENvcHlyaWdo
dCAoQykgMjAxMiBJbnRlbCBDb3Jwb3JhdGlvbgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC03MSw2
ICs3Miw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2RlZmluZSBSRUFEX0JVRkZFUl9TSVpF
IDgxOTIKIAorLy8gVXNlIHRoZSBzYW1lIHZhbHVlIGFzIGluIE5TVVJMRXJyb3IuaAorc3RhdGlj
IGNvbnN0IGludCBnVGltZW91dEVycm9yID0gLTEwMDE7CisKIHN0YXRpYyBib29sIGxvYWRpbmdT
eW5jaHJvbm91c1JlcXVlc3QgPSBmYWxzZTsKIAogY2xhc3MgV2ViQ29yZVN5bmNocm9ub3VzTG9h
ZGVyIDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKQEAgLTIwMSw2ICsyMDUsNyBAQCBz
dGF0aWMgdm9pZCBjbGVhbnVwU291cFJlcXVlc3RPcGVyYXRpb24oUmVzb3VyY2VIYW5kbGUqLCBi
b29sIGlzRGVzdHJveWluZyk7CiBzdGF0aWMgdm9pZCBzZW5kUmVxdWVzdENhbGxiYWNrKEdPYmpl
Y3QqLCBHQXN5bmNSZXN1bHQqLCBncG9pbnRlcik7CiBzdGF0aWMgdm9pZCByZWFkQ2FsbGJhY2so
R09iamVjdCosIEdBc3luY1Jlc3VsdCosIGdwb2ludGVyKTsKIHN0YXRpYyB2b2lkIGNsb3NlQ2Fs
bGJhY2soR09iamVjdCosIEdBc3luY1Jlc3VsdCosIGdwb2ludGVyKTsKK3N0YXRpYyBnYm9vbGVh
biByZXF1ZXN0VGltZW91dENhbGxiYWNrKHZvaWQqKTsKIHN0YXRpYyBib29sIHN0YXJ0Tm9uSFRU
UFJlcXVlc3QoUmVzb3VyY2VIYW5kbGUqLCBLVVJMKTsKICNpZiBFTkFCTEUoV0VCX1RJTUlORykK
IHN0YXRpYyBpbnQgIG1pbGlzZWNvbmRzU2luY2VSZXF1ZXN0KGRvdWJsZSByZXF1ZXN0VGltZSk7
CkBAIC0zNzksNiArMzg0LDkgQEAgc3RhdGljIHZvaWQgY2xlYW51cFNvdXBSZXF1ZXN0T3BlcmF0
aW9uKFJlc291cmNlSGFuZGxlKiBoYW5kbGUsIGJvb2wgaXNEZXN0cm95aW4KICAgICAgICAgZC0+
bV9idWZmZXIgPSAwOwogICAgIH0KIAorICAgIGdfc291cmNlX2Rlc3Ryb3koZC0+bV90aW1lb3V0
U291cmNlLmdldCgpKTsKKyAgICBkLT5tX3RpbWVvdXRTb3VyY2UuY2xlYXIoKTsKKwogICAgIGlm
ICghaXNEZXN0cm95aW5nKQogICAgICAgICBoYW5kbGUtPmRlcmVmKCk7CiB9CkBAIC03NTQsNiAr
NzYyLDkgQEAgc3RhdGljIGJvb2wgc3RhcnRIVFRQUmVxdWVzdChSZXNvdXJjZUhhbmRsZSogaGFu
ZGxlKQogI2lmIEVOQUJMRShXRUJfVElNSU5HKQogICAgICAgICBkLT5tX3Jlc3BvbnNlLnJlc291
cmNlTG9hZFRpbWluZygpLT5yZXF1ZXN0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGlt
ZSgpOwogI2VuZGlmCisgICAgICAgIGlmIChkLT5tX2ZpcnN0UmVxdWVzdC50aW1lb3V0SW50ZXJ2
YWwoKSA+IDApCisgICAgICAgICAgICAvLyBzb3VwX2FkZF90aW1lb3V0IHJldHVybnMgYSBub24t
b3duZWQgR1NvdXJjZSosIG5vdCB1c2luZyBhZG9wdFJlZi4KKyAgICAgICAgICAgIGQtPm1fdGlt
ZW91dFNvdXJjZSA9IHNvdXBfYWRkX3RpbWVvdXQoZ19tYWluX2NvbnRleHRfZ2V0X3RocmVhZF9k
ZWZhdWx0KCksIGQtPm1fZmlyc3RSZXF1ZXN0LnRpbWVvdXRJbnRlcnZhbCgpICogMTAwMCwgcmVx
dWVzdFRpbWVvdXRDYWxsYmFjaywgaGFuZGxlKTsKICAgICAgICAgZC0+bV9jYW5jZWxsYWJsZSA9
IGFkb3B0R1JlZihnX2NhbmNlbGxhYmxlX25ldygpKTsKICAgICAgICAgc291cF9yZXF1ZXN0X3Nl
bmRfYXN5bmMoZC0+bV9zb3VwUmVxdWVzdC5nZXQoKSwgZC0+bV9jYW5jZWxsYWJsZS5nZXQoKSwg
c2VuZFJlcXVlc3RDYWxsYmFjaywgaGFuZGxlKTsKICAgICB9CkBAIC04MzksOSArODUwLDEyIEBA
IHZvaWQgUmVzb3VyY2VIYW5kbGU6OnBsYXRmb3JtU2V0RGVmZXJzTG9hZGluZyhib29sIGRlZmVy
c0xvYWRpbmcpCiAgICAgaWYgKGQtPm1fY2FuY2VsbGVkKQogICAgICAgICByZXR1cm47CiAKLSAg
ICAvLyBXZSBvbmx5IG5lZWQgdG8gdGFrZSBhY3Rpb24gaGVyZSB0byBVTi1kZWZlciBsb2FkaW5n
LgotICAgIGlmIChkZWZlcnNMb2FkaW5nKQorICAgIC8vIEV4Y2VwdCBjYW5jZWxpbmcgYSBwb3Nz
aWJsZSB0aW1lb3V0IHRpbWVyLCB3ZSBvbmx5IG5lZWQgdG8gdGFrZSBhY3Rpb24gaGVyZSB0byBV
Ti1kZWZlciBsb2FkaW5nLgorICAgIGlmIChkZWZlcnNMb2FkaW5nKSB7CisgICAgICAgIGdfc291
cmNlX2Rlc3Ryb3koZC0+bV90aW1lb3V0U291cmNlLmdldCgpKTsKKyAgICAgICAgZC0+bV90aW1l
b3V0U291cmNlLmNsZWFyKCk7CiAgICAgICAgIHJldHVybjsKKyAgICB9CiAKICAgICAvLyBXZSBu
ZWVkIHRvIGNoZWNrIGZvciBkLT5tX3NvdXBSZXF1ZXN0IGJlY2F1c2UgdGhlIHJlcXVlc3QgbWF5
CiAgICAgLy8gaGF2ZSByYWlzZWQgYSBmYWlsdXJlIChmb3IgZXhhbXBsZSBpbnZhbGlkIFVSTHMp
LiBXZSBjYW5ub3QKQEAgLTg1Myw2ICs4NjcsOSBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjpwbGF0
Zm9ybVNldERlZmVyc0xvYWRpbmcoYm9vbCBkZWZlcnNMb2FkaW5nKQogICAgICAgICAgICAgZC0+
bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+cmVxdWVzdFRpbWUgPSBtb25vdG9uaWNh
bGx5SW5jcmVhc2luZ1RpbWUoKTsKICNlbmRpZgogICAgICAgICBkLT5tX2NhbmNlbGxhYmxlID0g
YWRvcHRHUmVmKGdfY2FuY2VsbGFibGVfbmV3KCkpOworICAgICAgICBpZiAoZC0+bV9maXJzdFJl
cXVlc3QudGltZW91dEludGVydmFsKCkgPiAwKQorICAgICAgICAgICAgLy8gc291cF9hZGRfdGlt
ZW91dCByZXR1cm5zIGEgbm9uLW93bmVkIEdTb3VyY2UqLCBub3QgdXNpbmcgYWRvcHRSZWYuCisg
ICAgICAgICAgICBkLT5tX3RpbWVvdXRTb3VyY2UgPSBzb3VwX2FkZF90aW1lb3V0KGdfbWFpbl9j
b250ZXh0X2dldF90aHJlYWRfZGVmYXVsdCgpLCBkLT5tX2ZpcnN0UmVxdWVzdC50aW1lb3V0SW50
ZXJ2YWwoKSAqIDEwMDAsIHJlcXVlc3RUaW1lb3V0Q2FsbGJhY2ssIHRoaXMpOwogICAgICAgICBz
b3VwX3JlcXVlc3Rfc2VuZF9hc3luYyhkLT5tX3NvdXBSZXF1ZXN0LmdldCgpLCBkLT5tX2NhbmNl
bGxhYmxlLmdldCgpLCBzZW5kUmVxdWVzdENhbGxiYWNrLCB0aGlzKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KQEAgLTk3Myw2ICs5OTAsMjIgQEAgc3RhdGljIHZvaWQgcmVhZENhbGxiYWNrKEdP
YmplY3QqIHNvdXJjZSwgR0FzeW5jUmVzdWx0KiBhc3luY1Jlc3VsdCwgZ3BvaW50ZXIgZGEKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQtPm1fY2FuY2VsbGFibGUuZ2V0KCksIHJlYWRD
YWxsYmFjaywgaGFuZGxlLmdldCgpKTsKIH0KIAorc3RhdGljIGdib29sZWFuIHJlcXVlc3RUaW1l
b3V0Q2FsbGJhY2soZ3BvaW50ZXIgZGF0YSkKK3sKKyAgICBSZWZQdHI8UmVzb3VyY2VIYW5kbGU+
IGhhbmRsZSA9IHN0YXRpY19jYXN0PFJlc291cmNlSGFuZGxlKj4oZGF0YSk7CisgICAgUmVzb3Vy
Y2VIYW5kbGVJbnRlcm5hbCogZCA9IGhhbmRsZS0+Z2V0SW50ZXJuYWwoKTsKKyAgICBSZXNvdXJj
ZUhhbmRsZUNsaWVudCogY2xpZW50ID0gaGFuZGxlLT5jbGllbnQoKTsKKworICAgIC8vIEVycm9y
IGRvbWFpbiBpcyBpZGVudGljYWwgZm9yIEVycm9yc0d0ayBhbmQgRXJyb3JzRWZsLgorICAgIFJl
c291cmNlRXJyb3IgdGltZW91dEVycm9yKCJXZWJLaXROZXR3b3JrRXJyb3IiLCBnVGltZW91dEVy
cm9yLCBkLT5tX2ZpcnN0UmVxdWVzdC51cmwoKS5zdHJpbmcoKSwgIlJlcXVlc3QgdGltZWQgb3V0
Iik7CisgICAgdGltZW91dEVycm9yLnNldElzVGltZW91dCh0cnVlKTsKKyAgICBjbGllbnQtPmRp
ZEZhaWwoaGFuZGxlLmdldCgpLCB0aW1lb3V0RXJyb3IpOworICAgIGNsZWFudXBTb3VwUmVxdWVz
dE9wZXJhdGlvbihoYW5kbGUuZ2V0KCkpOworCisgICAgLy8gRG8gbm90IHJ1biB0aGlzIGNhbGxi
YWNrIGFnYWluLgorICAgIHJldHVybiBGQUxTRTsKK30KKwogc3RhdGljIGJvb2wgc3RhcnROb25I
VFRQUmVxdWVzdChSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBLVVJMIHVybCkKIHsKICAgICBBU1NF
UlQoaGFuZGxlKTsKQEAgLTEwMDEsNiArMTAzNCw5IEBAIHN0YXRpYyBib29sIHN0YXJ0Tm9uSFRU
UFJlcXVlc3QoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgS1VSTCB1cmwpCiAgICAgLy8gU2VuZCB0
aGUgcmVxdWVzdCBvbmx5IGlmIGl0J3Mgbm90IGJlZW4gZXhwbGljaXRseSBkZWZlcnJlZC4KICAg
ICBpZiAoIWQtPm1fZGVmZXJzTG9hZGluZykgewogICAgICAgICBkLT5tX2NhbmNlbGxhYmxlID0g
YWRvcHRHUmVmKGdfY2FuY2VsbGFibGVfbmV3KCkpOworICAgICAgICBpZiAoZC0+bV9maXJzdFJl
cXVlc3QudGltZW91dEludGVydmFsKCkgPiAwKQorICAgICAgICAgICAgLy8gc291cF9hZGRfdGlt
ZW91dCByZXR1cm5zIGEgbm9uLW93bmVkIEdTb3VyY2UqLCBub3QgdXNpbmcgYWRvcHRSZWYuCisg
ICAgICAgICAgICBkLT5tX3RpbWVvdXRTb3VyY2UgPSBzb3VwX2FkZF90aW1lb3V0KGdfbWFpbl9j
b250ZXh0X2dldF90aHJlYWRfZGVmYXVsdCgpLCBkLT5tX2ZpcnN0UmVxdWVzdC50aW1lb3V0SW50
ZXJ2YWwoKSAqIDEwMDAsIHJlcXVlc3RUaW1lb3V0Q2FsbGJhY2ssIGhhbmRsZSk7CiAgICAgICAg
IHNvdXBfcmVxdWVzdF9zZW5kX2FzeW5jKGQtPm1fc291cFJlcXVlc3QuZ2V0KCksIGQtPm1fY2Fu
Y2VsbGFibGUuZ2V0KCksIHNlbmRSZXF1ZXN0Q2FsbGJhY2ssIGhhbmRsZSk7CiAgICAgfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163075</attachid>
            <date>2012-09-10 02:44:43 -0700</date>
            <delta_ts>2012-09-26 06:32:32 -0700</delta_ts>
            <desc>setTimeoutInterval support for soup, clear conditionally v6.</desc>
            <filename>bug-94796-20120910124710.patch</filename>
            <type>text/plain</type>
            <size>7799</size>
            <attacher name="Dominik Röttsches (drott)">d-r</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4MDI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTRmMjZjNGY2ZjVhYzE5
NTIxYTcyNTUzMzgzN2YyZmZhMDRiN2I1My4uNTBlYzdjYzgwNGFiOGQ3NzY3N2M1YTVjZDAxNmQy
ZDRjOTQ4NzhiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTA5LTA2ICBEb21p
bmlrIFLDtnR0c2NoZXMgIDxkb21pbmlrLnJvdHRzY2hlc0BpbnRlbC5jb20+CisKKyAgICAgICAg
W3NvdXBdIE9iZXkgc2V0VGltZW91dEludGVydmFsIGluIHNvdXAgYmFja2VuZAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ3OTYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnRpbmcgUmVzb3Vy
Y2VIYW5kbGUncyBzZXRUaW1lb3V0SW50ZXJ2YWwgc3VwcG9ydCBmb3IgdGhlIHNvdXAgYmFja2Vu
ZC4KKyAgICAgICAgVGhpcyBpcyBwcmVwYXJhdG9yeSB3b3JrIGZvciBidWcgNzQ4MDIsIHRpbWVv
dXQgc3VwcG9ydCBmb3IgWEhSMi4gVGhlIHBhdGNoCisgICAgICAgIGhhcyBiZWVuIHN1Y2Nlc3Nm
dWxseSB0ZXN0ZWQgaW4gY29tYmluYXRpb24gd2l0aCB3aXRoIG15IHdvcmstaW4tcHJvZ3Jlc3MK
KyAgICAgICAgZm9yIHRoYXQgYnVnLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyB5ZXQsIHRlc3Rz
IHdpbGwgYmUgYWRkZWQgd2l0aCB0aGUgcGF0Y2ggaW4gYnVnIDc0ODAyLgorCisgICAgICAgICog
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmg6CisgICAgICAgIChXZWJD
b3JlOjpSZXNvdXJjZUhhbmRsZUludGVybmFsOjpSZXNvdXJjZUhhbmRsZUludGVybmFsKTogQWRk
aW5nIGEgdGltZW91dCBzb3VyY2UuCisgICAgICAgIChSZXNvdXJjZUhhbmRsZUludGVybmFsKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcDoK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Y2xlYW51cFNvdXBSZXF1ZXN0
T3BlcmF0aW9uKTogUmVzZXR0aW5nIHRoZSB0aW1lci4KKyAgICAgICAgKFdlYkNvcmU6OnNlbmRS
ZXF1ZXN0Q2FsbGJhY2spOiBTdG9wcGluZyB0aGUgdGltZXIuCisgICAgICAgIChXZWJDb3JlOjpz
dGFydEhUVFBSZXF1ZXN0KTogU3RhcnRpbmcgYSB0aW1lb3V0IHRpbWVyIGJlZm9yZSB0aGUgYXN5
bmMgcmVxdWVzdC4KKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpwbGF0Zm9ybVNl
dERlZmVyc0xvYWRpbmcpOiBTdGFydGluZyBhIHRpbWVvdXQgdGltZXIgYmVmb3JlIHRoZSBhc3lu
YyByZXF1ZXN0LgorICAgICAgICAoV2ViQ29yZTo6cmVxdWVzdFRpbWVvdXRDYWxsYmFjayk6IFBy
ZXBhcmluZyBhIGNvcnJlc3BvbmRpbmcgcmVzb3VyY2UgZXJyb3IgYW5kIG5vdGlmeWluZyBjbGll
bnRzIG9mIGZhaWx1cmUuCisgICAgICAgIChXZWJDb3JlOjpzdGFydE5vbkhUVFBSZXF1ZXN0KTog
U3RhcnRpbmcgYSB0aW1lb3V0IHRpbWVyIGJlZm9yZSB0aGUgYXN5bmMgcmVxdWVzdC4KKwogMjAx
Mi0wOS0wOSAgVGFpanUgVHN1aWtpICA8dHppa0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgc3Vj
Y2Vzc0NhbGxiYWNrIG9mIFJlc29sdmVMb2NhbEZpbGVTeXN0ZW1VUkwgc2hvdWxkIG5vdCBiZSBv
cHRpb25hbC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VIYW5kbGVJbnRlcm5hbC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZUhhbmRsZUludGVybmFsLmgKaW5kZXggZWNmNjQ4ZmNlNTVkMzZkNGNkMDI4NTNhOGI4
OGNiZjVjYTM2NDY5OC4uNjYzY2QwNDk0NjYzYmM2YzQxNmZlMGE1ODVmMzZiYTUyOGQ2YmNhZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRs
ZUludGVybmFsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJj
ZUhhbmRsZUludGVybmFsLmgKQEAgLTE4Nyw2ICsxODcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgIEdSZWZQdHI8R0lucHV0U3RyZWFtPiBtX2lucHV0U3RyZWFtOwogICAgICAgICBH
UmVmUHRyPEdDYW5jZWxsYWJsZT4gbV9jYW5jZWxsYWJsZTsKICAgICAgICAgR1JlZlB0cjxHQXN5
bmNSZXN1bHQ+IG1fZGVmZXJyZWRSZXN1bHQ7CisgICAgICAgIEdSZWZQdHI8R1NvdXJjZT4gbV90
aW1lb3V0U291cmNlOwogICAgICAgICBjaGFyKiBtX2J1ZmZlcjsKICAgICAgICAgdW5zaWduZWQg
bG9uZyBtX2JvZHlTaXplOwogICAgICAgICB1bnNpZ25lZCBsb25nIG1fYm9keURhdGFTZW50Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNl
SGFuZGxlU291cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVz
b3VyY2VIYW5kbGVTb3VwLmNwcAppbmRleCAzMGEyZGU0NTVlNDJkYmMzYmFhZmFiMzQ5YTU0ZDA4
YzViOWM5YzI1Li4yMmQ2ZWIwOTQ1MTJmYTJiYzJkYTU0ZDczNDg1NmRhMzk4YmQwMzM0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5k
bGVTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVz
b3VyY2VIYW5kbGVTb3VwLmNwcApAQCAtNyw2ICs3LDcgQEAKICAqIENvcHlyaWdodCAoQykgMjAw
OSBDaHJpc3RpYW4gRHl3YW4gPGNocmlzdGlhbkBpbWVuZGlvLmNvbT4KICAqIENvcHlyaWdodCAo
QykgMjAwOSwgMjAxMCwgMjAxMSBJZ2FsaWEgUy5MLgogICogQ29weXJpZ2h0IChDKSAyMDA5IEpv
aG4gS2plbGxiZXJnIDxqb2huLmtqZWxsYmVyZ0Bwb3dlci5hbHN0b20uY29tPgorICogQ29weXJp
Z2h0IChDKSAyMDEyIEludGVsIENvcnBvcmF0aW9uCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTcx
LDYgKzcyLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAjZGVmaW5lIFJFQURfQlVGRkVSX1NJ
WkUgODE5MgogCisvLyBVc2UgdGhlIHNhbWUgdmFsdWUgYXMgaW4gTlNVUkxFcnJvci5oCitzdGF0
aWMgY29uc3QgaW50IGdUaW1lb3V0RXJyb3IgPSAtMTAwMTsKKwogc3RhdGljIGJvb2wgbG9hZGlu
Z1N5bmNocm9ub3VzUmVxdWVzdCA9IGZhbHNlOwogCiBjbGFzcyBXZWJDb3JlU3luY2hyb25vdXNM
b2FkZXIgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgewpAQCAtMjAxLDYgKzIwNSw3IEBA
IHN0YXRpYyB2b2lkIGNsZWFudXBTb3VwUmVxdWVzdE9wZXJhdGlvbihSZXNvdXJjZUhhbmRsZSos
IGJvb2wgaXNEZXN0cm95aW5nKTsKIHN0YXRpYyB2b2lkIHNlbmRSZXF1ZXN0Q2FsbGJhY2soR09i
amVjdCosIEdBc3luY1Jlc3VsdCosIGdwb2ludGVyKTsKIHN0YXRpYyB2b2lkIHJlYWRDYWxsYmFj
ayhHT2JqZWN0KiwgR0FzeW5jUmVzdWx0KiwgZ3BvaW50ZXIpOwogc3RhdGljIHZvaWQgY2xvc2VD
YWxsYmFjayhHT2JqZWN0KiwgR0FzeW5jUmVzdWx0KiwgZ3BvaW50ZXIpOworc3RhdGljIGdib29s
ZWFuIHJlcXVlc3RUaW1lb3V0Q2FsbGJhY2sodm9pZCopOwogc3RhdGljIGJvb2wgc3RhcnROb25I
VFRQUmVxdWVzdChSZXNvdXJjZUhhbmRsZSosIEtVUkwpOwogI2lmIEVOQUJMRShXRUJfVElNSU5H
KQogc3RhdGljIGludCAgbWlsaXNlY29uZHNTaW5jZVJlcXVlc3QoZG91YmxlIHJlcXVlc3RUaW1l
KTsKQEAgLTM3OSw2ICszODQsMTEgQEAgc3RhdGljIHZvaWQgY2xlYW51cFNvdXBSZXF1ZXN0T3Bl
cmF0aW9uKFJlc291cmNlSGFuZGxlKiBoYW5kbGUsIGJvb2wgaXNEZXN0cm95aW4KICAgICAgICAg
ZC0+bV9idWZmZXIgPSAwOwogICAgIH0KIAorICAgIGlmIChkLT5tX3RpbWVvdXRTb3VyY2UpIHsK
KyAgICAgICAgZ19zb3VyY2VfZGVzdHJveShkLT5tX3RpbWVvdXRTb3VyY2UuZ2V0KCkpOworICAg
ICAgICBkLT5tX3RpbWVvdXRTb3VyY2UuY2xlYXIoKTsKKyAgICB9CisKICAgICBpZiAoIWlzRGVz
dHJveWluZykKICAgICAgICAgaGFuZGxlLT5kZXJlZigpOwogfQpAQCAtNzU0LDYgKzc2NCw5IEBA
IHN0YXRpYyBib29sIHN0YXJ0SFRUUFJlcXVlc3QoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSkKICNp
ZiBFTkFCTEUoV0VCX1RJTUlORykKICAgICAgICAgZC0+bV9yZXNwb25zZS5yZXNvdXJjZUxvYWRU
aW1pbmcoKS0+cmVxdWVzdFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICNl
bmRpZgorICAgICAgICBpZiAoZC0+bV9maXJzdFJlcXVlc3QudGltZW91dEludGVydmFsKCkgPiAw
KQorICAgICAgICAgICAgLy8gc291cF9hZGRfdGltZW91dCByZXR1cm5zIGEgbm9uLW93bmVkIEdT
b3VyY2UqLCBub3QgdXNpbmcgYWRvcHRSZWYuCisgICAgICAgICAgICBkLT5tX3RpbWVvdXRTb3Vy
Y2UgPSBzb3VwX2FkZF90aW1lb3V0KGdfbWFpbl9jb250ZXh0X2dldF90aHJlYWRfZGVmYXVsdCgp
LCBkLT5tX2ZpcnN0UmVxdWVzdC50aW1lb3V0SW50ZXJ2YWwoKSAqIDEwMDAsIHJlcXVlc3RUaW1l
b3V0Q2FsbGJhY2ssIGhhbmRsZSk7CiAgICAgICAgIGQtPm1fY2FuY2VsbGFibGUgPSBhZG9wdEdS
ZWYoZ19jYW5jZWxsYWJsZV9uZXcoKSk7CiAgICAgICAgIHNvdXBfcmVxdWVzdF9zZW5kX2FzeW5j
KGQtPm1fc291cFJlcXVlc3QuZ2V0KCksIGQtPm1fY2FuY2VsbGFibGUuZ2V0KCksIHNlbmRSZXF1
ZXN0Q2FsbGJhY2ssIGhhbmRsZSk7CiAgICAgfQpAQCAtODM5LDkgKzg1MiwxMiBAQCB2b2lkIFJl
c291cmNlSGFuZGxlOjpwbGF0Zm9ybVNldERlZmVyc0xvYWRpbmcoYm9vbCBkZWZlcnNMb2FkaW5n
KQogICAgIGlmIChkLT5tX2NhbmNlbGxlZCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgLy8gV2Ug
b25seSBuZWVkIHRvIHRha2UgYWN0aW9uIGhlcmUgdG8gVU4tZGVmZXIgbG9hZGluZy4KLSAgICBp
ZiAoZGVmZXJzTG9hZGluZykKKyAgICAvLyBFeGNlcHQgY2FuY2VsaW5nIGEgcG9zc2libGUgdGlt
ZW91dCB0aW1lciwgd2Ugb25seSBuZWVkIHRvIHRha2UgYWN0aW9uIGhlcmUgdG8gVU4tZGVmZXIg
bG9hZGluZy4KKyAgICBpZiAoZGVmZXJzTG9hZGluZykgeworICAgICAgICBnX3NvdXJjZV9kZXN0
cm95KGQtPm1fdGltZW91dFNvdXJjZS5nZXQoKSk7CisgICAgICAgIGQtPm1fdGltZW91dFNvdXJj
ZS5jbGVhcigpOwogICAgICAgICByZXR1cm47CisgICAgfQogCiAgICAgLy8gV2UgbmVlZCB0byBj
aGVjayBmb3IgZC0+bV9zb3VwUmVxdWVzdCBiZWNhdXNlIHRoZSByZXF1ZXN0IG1heQogICAgIC8v
IGhhdmUgcmFpc2VkIGEgZmFpbHVyZSAoZm9yIGV4YW1wbGUgaW52YWxpZCBVUkxzKS4gV2UgY2Fu
bm90CkBAIC04NTMsNiArODY5LDkgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZTo6cGxhdGZvcm1TZXRE
ZWZlcnNMb2FkaW5nKGJvb2wgZGVmZXJzTG9hZGluZykKICAgICAgICAgICAgIGQtPm1fcmVzcG9u
c2UucmVzb3VyY2VMb2FkVGltaW5nKCktPnJlcXVlc3RUaW1lID0gbW9ub3RvbmljYWxseUluY3Jl
YXNpbmdUaW1lKCk7CiAjZW5kaWYKICAgICAgICAgZC0+bV9jYW5jZWxsYWJsZSA9IGFkb3B0R1Jl
ZihnX2NhbmNlbGxhYmxlX25ldygpKTsKKyAgICAgICAgaWYgKGQtPm1fZmlyc3RSZXF1ZXN0LnRp
bWVvdXRJbnRlcnZhbCgpID4gMCkKKyAgICAgICAgICAgIC8vIHNvdXBfYWRkX3RpbWVvdXQgcmV0
dXJucyBhIG5vbi1vd25lZCBHU291cmNlKiwgbm90IHVzaW5nIGFkb3B0UmVmLgorICAgICAgICAg
ICAgZC0+bV90aW1lb3V0U291cmNlID0gc291cF9hZGRfdGltZW91dChnX21haW5fY29udGV4dF9n
ZXRfdGhyZWFkX2RlZmF1bHQoKSwgZC0+bV9maXJzdFJlcXVlc3QudGltZW91dEludGVydmFsKCkg
KiAxMDAwLCByZXF1ZXN0VGltZW91dENhbGxiYWNrLCB0aGlzKTsKICAgICAgICAgc291cF9yZXF1
ZXN0X3NlbmRfYXN5bmMoZC0+bV9zb3VwUmVxdWVzdC5nZXQoKSwgZC0+bV9jYW5jZWxsYWJsZS5n
ZXQoKSwgc2VuZFJlcXVlc3RDYWxsYmFjaywgdGhpcyk7CiAgICAgICAgIHJldHVybjsKICAgICB9
CkBAIC05NzMsNiArOTkyLDIyIEBAIHN0YXRpYyB2b2lkIHJlYWRDYWxsYmFjayhHT2JqZWN0KiBz
b3VyY2UsIEdBc3luY1Jlc3VsdCogYXN5bmNSZXN1bHQsIGdwb2ludGVyIGRhCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBkLT5tX2NhbmNlbGxhYmxlLmdldCgpLCByZWFkQ2FsbGJhY2ss
IGhhbmRsZS5nZXQoKSk7CiB9CiAKK3N0YXRpYyBnYm9vbGVhbiByZXF1ZXN0VGltZW91dENhbGxi
YWNrKGdwb2ludGVyIGRhdGEpCit7CisgICAgUmVmUHRyPFJlc291cmNlSGFuZGxlPiBoYW5kbGUg
PSBzdGF0aWNfY2FzdDxSZXNvdXJjZUhhbmRsZSo+KGRhdGEpOworICAgIFJlc291cmNlSGFuZGxl
SW50ZXJuYWwqIGQgPSBoYW5kbGUtPmdldEludGVybmFsKCk7CisgICAgUmVzb3VyY2VIYW5kbGVD
bGllbnQqIGNsaWVudCA9IGhhbmRsZS0+Y2xpZW50KCk7CisKKyAgICAvLyBFcnJvciBkb21haW4g
aXMgaWRlbnRpY2FsIGZvciBFcnJvcnNHdGsgYW5kIEVycm9yc0VmbC4KKyAgICBSZXNvdXJjZUVy
cm9yIHRpbWVvdXRFcnJvcigiV2ViS2l0TmV0d29ya0Vycm9yIiwgZ1RpbWVvdXRFcnJvciwgZC0+
bV9maXJzdFJlcXVlc3QudXJsKCkuc3RyaW5nKCksICJSZXF1ZXN0IHRpbWVkIG91dCIpOworICAg
IHRpbWVvdXRFcnJvci5zZXRJc1RpbWVvdXQodHJ1ZSk7CisgICAgY2xpZW50LT5kaWRGYWlsKGhh
bmRsZS5nZXQoKSwgdGltZW91dEVycm9yKTsKKyAgICBjbGVhbnVwU291cFJlcXVlc3RPcGVyYXRp
b24oaGFuZGxlLmdldCgpKTsKKworICAgIC8vIERvIG5vdCBydW4gdGhpcyBjYWxsYmFjayBhZ2Fp
bi4KKyAgICByZXR1cm4gRkFMU0U7Cit9CisKIHN0YXRpYyBib29sIHN0YXJ0Tm9uSFRUUFJlcXVl
c3QoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgS1VSTCB1cmwpCiB7CiAgICAgQVNTRVJUKGhhbmRs
ZSk7CkBAIC0xMDAxLDYgKzEwMzYsOSBAQCBzdGF0aWMgYm9vbCBzdGFydE5vbkhUVFBSZXF1ZXN0
KFJlc291cmNlSGFuZGxlKiBoYW5kbGUsIEtVUkwgdXJsKQogICAgIC8vIFNlbmQgdGhlIHJlcXVl
c3Qgb25seSBpZiBpdCdzIG5vdCBiZWVuIGV4cGxpY2l0bHkgZGVmZXJyZWQuCiAgICAgaWYgKCFk
LT5tX2RlZmVyc0xvYWRpbmcpIHsKICAgICAgICAgZC0+bV9jYW5jZWxsYWJsZSA9IGFkb3B0R1Jl
ZihnX2NhbmNlbGxhYmxlX25ldygpKTsKKyAgICAgICAgaWYgKGQtPm1fZmlyc3RSZXF1ZXN0LnRp
bWVvdXRJbnRlcnZhbCgpID4gMCkKKyAgICAgICAgICAgIC8vIHNvdXBfYWRkX3RpbWVvdXQgcmV0
dXJucyBhIG5vbi1vd25lZCBHU291cmNlKiwgbm90IHVzaW5nIGFkb3B0UmVmLgorICAgICAgICAg
ICAgZC0+bV90aW1lb3V0U291cmNlID0gc291cF9hZGRfdGltZW91dChnX21haW5fY29udGV4dF9n
ZXRfdGhyZWFkX2RlZmF1bHQoKSwgZC0+bV9maXJzdFJlcXVlc3QudGltZW91dEludGVydmFsKCkg
KiAxMDAwLCByZXF1ZXN0VGltZW91dENhbGxiYWNrLCBoYW5kbGUpOwogICAgICAgICBzb3VwX3Jl
cXVlc3Rfc2VuZF9hc3luYyhkLT5tX3NvdXBSZXF1ZXN0LmdldCgpLCBkLT5tX2NhbmNlbGxhYmxl
LmdldCgpLCBzZW5kUmVxdWVzdENhbGxiYWNrLCBoYW5kbGUpOwogICAgIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165781</attachid>
            <date>2012-09-26 06:32:40 -0700</date>
            <delta_ts>2012-09-26 07:08:14 -0700</delta_ts>
            <desc>Review comments addressed, v7.</desc>
            <filename>bug-94796-20120926163457.patch</filename>
            <type>text/plain</type>
            <size>8025</size>
            <attacher name="Dominik Röttsches (drott)">d-r</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NjI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDljMDc3ODNlNDllMGNh
NTU0NTQxMDA2NjA1ZjVlYWVhYjgwY2ZiZi4uM2Q5ZWYwYjkzMDRmNDU5OWE4OGU2Y2M0MGYwMTM2
ZmZkZTA1ZmM1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTA5LTI2ICBEb21p
bmlrIFLDtnR0c2NoZXMgIDxkb21pbmlrLnJvdHRzY2hlc0BpbnRlbC5jb20+CisKKyAgICAgICAg
W3NvdXBdIE9iZXkgc2V0VGltZW91dEludGVydmFsIGluIHNvdXAgYmFja2VuZAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ3OTYKKworICAgICAgICBS
ZXZpZXdlZCBieSBHdXN0YXZvIE5vcm9uaGEgU2lsdmEuCisKKyAgICAgICAgSW1wbGVtZW50aW5n
IFJlc291cmNlSGFuZGxlJ3Mgc2V0VGltZW91dEludGVydmFsIHN1cHBvcnQgZm9yIHRoZSBzb3Vw
IGJhY2tlbmQuCisgICAgICAgIFRoaXMgaXMgcHJlcGFyYXRvcnkgd29yayBmb3IgYnVnIDc0ODAy
LCB0aW1lb3V0IHN1cHBvcnQgZm9yIFhIUjIuIFRoZSBwYXRjaAorICAgICAgICBoYXMgYmVlbiBz
dWNjZXNzZnVsbHkgdGVzdGVkIGluIGNvbWJpbmF0aW9uIHdpdGggbXkgd29yay1pbi1wcm9ncmVz
cworICAgICAgICBmb3IgdGhhdCBidWcuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIHlldCwgdGVz
dHMgd2lsbCBiZSBhZGRlZCB3aXRoIHRoZSBwYXRjaCBpbiBidWcgNzQ4MDIuCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlc291cmNlSGFuZGxlSW50ZXJuYWw6OlJlc291cmNlSGFuZGxlSW50ZXJuYWwpOiBB
ZGRpbmcgYSB0aW1lb3V0IHNvdXJjZS4KKyAgICAgICAgKFJlc291cmNlSGFuZGxlSW50ZXJuYWwp
OgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3Bw
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpjbGVhbnVwU291cFJlcXVl
c3RPcGVyYXRpb24pOiBSZXNldHRpbmcgdGhlIHRpbWVyLgorICAgICAgICAoV2ViQ29yZTo6c2Vu
ZFJlcXVlc3RDYWxsYmFjayk6IFN0b3BwaW5nIHRoZSB0aW1lci4KKyAgICAgICAgKFdlYkNvcmU6
OnN0YXJ0SFRUUFJlcXVlc3QpOiBTdGFydGluZyBhIHRpbWVvdXQgdGltZXIgYmVmb3JlIHRoZSBh
c3luYyByZXF1ZXN0LgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OnBsYXRmb3Jt
U2V0RGVmZXJzTG9hZGluZyk6IFN0YXJ0aW5nIGEgdGltZW91dCB0aW1lciBiZWZvcmUgdGhlIGFz
eW5jIHJlcXVlc3QuCisgICAgICAgIChXZWJDb3JlOjpyZXF1ZXN0VGltZW91dENhbGxiYWNrKTog
UHJlcGFyaW5nIGEgY29ycmVzcG9uZGluZyByZXNvdXJjZSBlcnJvciBhbmQgbm90aWZ5aW5nIGNs
aWVudHMgb2YgZmFpbHVyZS4KKyAgICAgICAgKFdlYkNvcmU6OnN0YXJ0Tm9uSFRUUFJlcXVlc3Qp
OiBTdGFydGluZyBhIHRpbWVvdXQgdGltZXIgYmVmb3JlIHRoZSBhc3luYyByZXF1ZXN0LgorCiAy
MDEyLTA5LTI2ICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IGNvbXBhcmUgb2JqZWN0cyBjb3VudGVkIGJ5IHRoZSBtZW1vcnkg
aW5zdHJ1bWVudGF0aW9uIHdpdGggdGhvc2UgYWxsb2NhdGVkIGluIHRoZSBoZWFwCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJu
YWwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRl
cm5hbC5oCmluZGV4IGVjZjY0OGZjZTU1ZDM2ZDRjZDAyODUzYThiODhjYmY1Y2EzNjQ2OTguLjY2
M2NkMDQ5NDY2M2JjNmM0MTZmZTBhNTg1ZjM2YmE1MjhkNmJjYWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5o
CkBAIC0xODcsNiArMTg3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBHUmVmUHRy
PEdJbnB1dFN0cmVhbT4gbV9pbnB1dFN0cmVhbTsKICAgICAgICAgR1JlZlB0cjxHQ2FuY2VsbGFi
bGU+IG1fY2FuY2VsbGFibGU7CiAgICAgICAgIEdSZWZQdHI8R0FzeW5jUmVzdWx0PiBtX2RlZmVy
cmVkUmVzdWx0OworICAgICAgICBHUmVmUHRyPEdTb3VyY2U+IG1fdGltZW91dFNvdXJjZTsKICAg
ICAgICAgY2hhciogbV9idWZmZXI7CiAgICAgICAgIHVuc2lnbmVkIGxvbmcgbV9ib2R5U2l6ZTsK
ICAgICAgICAgdW5zaWduZWQgbG9uZyBtX2JvZHlEYXRhU2VudDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5j
cHAKaW5kZXggNTFjOTE4ZGYyNTU4NjY4NmY0OTIyOWE3YzU2MjA4ODI5NmQwZjJlNy4uYTNmYzQ0
M2ZkZmE2ZjU3NDdmNGNhODZlNDkzZDlhMGU4MjZjNWU5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5j
cHAKQEAgLTcsNiArNyw3IEBACiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgQ2hyaXN0aWFuIER5d2Fu
IDxjaHJpc3RpYW5AaW1lbmRpby5jb20+CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTAsIDIw
MTEgSWdhbGlhIFMuTC4KICAqIENvcHlyaWdodCAoQykgMjAwOSBKb2huIEtqZWxsYmVyZyA8am9o
bi5ramVsbGJlcmdAcG93ZXIuYWxzdG9tLmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAxMiBJbnRl
bCBDb3Jwb3JhdGlvbgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC03MSw2ICs3Miw5IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogI2RlZmluZSBSRUFEX0JVRkZFUl9TSVpFIDgxOTIKIAorLy8gVXNl
IHRoZSBzYW1lIHZhbHVlIGFzIGluIE5TVVJMRXJyb3IuaAorc3RhdGljIGNvbnN0IGludCBnVGlt
ZW91dEVycm9yID0gLTEwMDE7CisKIHN0YXRpYyBib29sIGxvYWRpbmdTeW5jaHJvbm91c1JlcXVl
c3QgPSBmYWxzZTsKIAogY2xhc3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJl
c291cmNlSGFuZGxlQ2xpZW50IHsKQEAgLTIwMSw2ICsyMDUsNyBAQCBzdGF0aWMgdm9pZCBjbGVh
bnVwU291cFJlcXVlc3RPcGVyYXRpb24oUmVzb3VyY2VIYW5kbGUqLCBib29sIGlzRGVzdHJveWlu
Zyk7CiBzdGF0aWMgdm9pZCBzZW5kUmVxdWVzdENhbGxiYWNrKEdPYmplY3QqLCBHQXN5bmNSZXN1
bHQqLCBncG9pbnRlcik7CiBzdGF0aWMgdm9pZCByZWFkQ2FsbGJhY2soR09iamVjdCosIEdBc3lu
Y1Jlc3VsdCosIGdwb2ludGVyKTsKIHN0YXRpYyB2b2lkIGNsb3NlQ2FsbGJhY2soR09iamVjdCos
IEdBc3luY1Jlc3VsdCosIGdwb2ludGVyKTsKK3N0YXRpYyBnYm9vbGVhbiByZXF1ZXN0VGltZW91
dENhbGxiYWNrKHZvaWQqKTsKIHN0YXRpYyBib29sIHN0YXJ0Tm9uSFRUUFJlcXVlc3QoUmVzb3Vy
Y2VIYW5kbGUqLCBLVVJMKTsKICNpZiBFTkFCTEUoV0VCX1RJTUlORykKIHN0YXRpYyBpbnQgIG1p
bGlzZWNvbmRzU2luY2VSZXF1ZXN0KGRvdWJsZSByZXF1ZXN0VGltZSk7CkBAIC0zNzksNiArMzg0
LDExIEBAIHN0YXRpYyB2b2lkIGNsZWFudXBTb3VwUmVxdWVzdE9wZXJhdGlvbihSZXNvdXJjZUhh
bmRsZSogaGFuZGxlLCBib29sIGlzRGVzdHJveWluCiAgICAgICAgIGQtPm1fYnVmZmVyID0gMDsK
ICAgICB9CiAKKyAgICBpZiAoZC0+bV90aW1lb3V0U291cmNlKSB7CisgICAgICAgIGdfc291cmNl
X2Rlc3Ryb3koZC0+bV90aW1lb3V0U291cmNlLmdldCgpKTsKKyAgICAgICAgZC0+bV90aW1lb3V0
U291cmNlLmNsZWFyKCk7CisgICAgfQorCiAgICAgaWYgKCFpc0Rlc3Ryb3lpbmcpCiAgICAgICAg
IGhhbmRsZS0+ZGVyZWYoKTsKIH0KQEAgLTc1NCw2ICs3NjQsMTAgQEAgc3RhdGljIGJvb2wgc3Rh
cnRIVFRQUmVxdWVzdChSZXNvdXJjZUhhbmRsZSogaGFuZGxlKQogI2lmIEVOQUJMRShXRUJfVElN
SU5HKQogICAgICAgICBkLT5tX3Jlc3BvbnNlLnJlc291cmNlTG9hZFRpbWluZygpLT5yZXF1ZXN0
VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogI2VuZGlmCisgICAgICAgIGlm
IChkLT5tX2ZpcnN0UmVxdWVzdC50aW1lb3V0SW50ZXJ2YWwoKSA+IDApIHsKKyAgICAgICAgICAg
IC8vIHNvdXBfYWRkX3RpbWVvdXQgcmV0dXJucyBhIEdTb3VyY2UqIHdob3NlIG9ubHkgcmVmZXJl
bmNlIGlzIG93bmVkIGJ5IHRoZSBjb250ZXh0LiBXZSBuZWVkIHRvIGhhdmUgb3VyIG93biByZWZl
cmVuY2UgdG8gaXQsIGhlbmNlIG5vdCB1c2luZyBhZG9wdFJlZi4KKyAgICAgICAgICAgIGQtPm1f
dGltZW91dFNvdXJjZSA9IHNvdXBfYWRkX3RpbWVvdXQoZ19tYWluX2NvbnRleHRfZ2V0X3RocmVh
ZF9kZWZhdWx0KCksIGQtPm1fZmlyc3RSZXF1ZXN0LnRpbWVvdXRJbnRlcnZhbCgpICogMTAwMCwg
cmVxdWVzdFRpbWVvdXRDYWxsYmFjaywgaGFuZGxlKTsKKyAgICAgICAgfQogICAgICAgICBkLT5t
X2NhbmNlbGxhYmxlID0gYWRvcHRHUmVmKGdfY2FuY2VsbGFibGVfbmV3KCkpOwogICAgICAgICBz
b3VwX3JlcXVlc3Rfc2VuZF9hc3luYyhkLT5tX3NvdXBSZXF1ZXN0LmdldCgpLCBkLT5tX2NhbmNl
bGxhYmxlLmdldCgpLCBzZW5kUmVxdWVzdENhbGxiYWNrLCBoYW5kbGUpOwogICAgIH0KQEAgLTgz
OSw5ICs4NTMsMTIgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZTo6cGxhdGZvcm1TZXREZWZlcnNMb2Fk
aW5nKGJvb2wgZGVmZXJzTG9hZGluZykKICAgICBpZiAoZC0+bV9jYW5jZWxsZWQpCiAgICAgICAg
IHJldHVybjsKIAotICAgIC8vIFdlIG9ubHkgbmVlZCB0byB0YWtlIGFjdGlvbiBoZXJlIHRvIFVO
LWRlZmVyIGxvYWRpbmcuCi0gICAgaWYgKGRlZmVyc0xvYWRpbmcpCisgICAgLy8gRXhjZXB0IHdo
ZW4gY2FuY2VsaW5nIGEgcG9zc2libGUgdGltZW91dCB0aW1lciwgd2Ugb25seSBuZWVkIHRvIHRh
a2UgYWN0aW9uIGhlcmUgdG8gVU4tZGVmZXIgbG9hZGluZy4KKyAgICBpZiAoZGVmZXJzTG9hZGlu
ZykgeworICAgICAgICBnX3NvdXJjZV9kZXN0cm95KGQtPm1fdGltZW91dFNvdXJjZS5nZXQoKSk7
CisgICAgICAgIGQtPm1fdGltZW91dFNvdXJjZS5jbGVhcigpOwogICAgICAgICByZXR1cm47Cisg
ICAgfQogCiAgICAgLy8gV2UgbmVlZCB0byBjaGVjayBmb3IgZC0+bV9zb3VwUmVxdWVzdCBiZWNh
dXNlIHRoZSByZXF1ZXN0IG1heQogICAgIC8vIGhhdmUgcmFpc2VkIGEgZmFpbHVyZSAoZm9yIGV4
YW1wbGUgaW52YWxpZCBVUkxzKS4gV2UgY2Fubm90CkBAIC04NTMsNiArODcwLDEwIEBAIHZvaWQg
UmVzb3VyY2VIYW5kbGU6OnBsYXRmb3JtU2V0RGVmZXJzTG9hZGluZyhib29sIGRlZmVyc0xvYWRp
bmcpCiAgICAgICAgICAgICBkLT5tX3Jlc3BvbnNlLnJlc291cmNlTG9hZFRpbWluZygpLT5yZXF1
ZXN0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogI2VuZGlmCiAgICAgICAg
IGQtPm1fY2FuY2VsbGFibGUgPSBhZG9wdEdSZWYoZ19jYW5jZWxsYWJsZV9uZXcoKSk7CisgICAg
ICAgIGlmIChkLT5tX2ZpcnN0UmVxdWVzdC50aW1lb3V0SW50ZXJ2YWwoKSA+IDApIHsKKyAgICAg
ICAgICAgIC8vIHNvdXBfYWRkX3RpbWVvdXQgcmV0dXJucyBhIEdTb3VyY2UqIHdob3NlIG9ubHkg
cmVmZXJlbmNlIGlzIG93bmVkIGJ5IHRoZSBjb250ZXh0LiBXZSBuZWVkIHRvIGhhdmUgb3VyIG93
biByZWZlcmVuY2UgdG8gaXQsIGhlbmNlIG5vdCB1c2luZyBhZG9wdFJlZi4KKyAgICAgICAgICAg
IGQtPm1fdGltZW91dFNvdXJjZSA9IHNvdXBfYWRkX3RpbWVvdXQoZ19tYWluX2NvbnRleHRfZ2V0
X3RocmVhZF9kZWZhdWx0KCksIGQtPm1fZmlyc3RSZXF1ZXN0LnRpbWVvdXRJbnRlcnZhbCgpICog
MTAwMCwgcmVxdWVzdFRpbWVvdXRDYWxsYmFjaywgdGhpcyk7CisgICAgICAgIH0KICAgICAgICAg
c291cF9yZXF1ZXN0X3NlbmRfYXN5bmMoZC0+bV9zb3VwUmVxdWVzdC5nZXQoKSwgZC0+bV9jYW5j
ZWxsYWJsZS5nZXQoKSwgc2VuZFJlcXVlc3RDYWxsYmFjaywgdGhpcyk7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CkBAIC05NzMsNiArOTk0LDIwIEBAIHN0YXRpYyB2b2lkIHJlYWRDYWxsYmFjayhH
T2JqZWN0KiwgR0FzeW5jUmVzdWx0KiBhc3luY1Jlc3VsdCwgZ3BvaW50ZXIgZGF0YSkKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGQtPm1fY2FuY2VsbGFibGUuZ2V0KCksIHJlYWRDYWxs
YmFjaywgaGFuZGxlLmdldCgpKTsKIH0KIAorc3RhdGljIGdib29sZWFuIHJlcXVlc3RUaW1lb3V0
Q2FsbGJhY2soZ3BvaW50ZXIgZGF0YSkKK3sKKyAgICBSZWZQdHI8UmVzb3VyY2VIYW5kbGU+IGhh
bmRsZSA9IHN0YXRpY19jYXN0PFJlc291cmNlSGFuZGxlKj4oZGF0YSk7CisgICAgUmVzb3VyY2VI
YW5kbGVJbnRlcm5hbCogZCA9IGhhbmRsZS0+Z2V0SW50ZXJuYWwoKTsKKyAgICBSZXNvdXJjZUhh
bmRsZUNsaWVudCogY2xpZW50ID0gaGFuZGxlLT5jbGllbnQoKTsKKworICAgIFJlc291cmNlRXJy
b3IgdGltZW91dEVycm9yKCJXZWJLaXROZXR3b3JrRXJyb3IiLCBnVGltZW91dEVycm9yLCBkLT5t
X2ZpcnN0UmVxdWVzdC51cmwoKS5zdHJpbmcoKSwgIlJlcXVlc3QgdGltZWQgb3V0Iik7CisgICAg
dGltZW91dEVycm9yLnNldElzVGltZW91dCh0cnVlKTsKKyAgICBjbGllbnQtPmRpZEZhaWwoaGFu
ZGxlLmdldCgpLCB0aW1lb3V0RXJyb3IpOworICAgIGNsZWFudXBTb3VwUmVxdWVzdE9wZXJhdGlv
bihoYW5kbGUuZ2V0KCkpOworCisgICAgcmV0dXJuIEZBTFNFOworfQorCiBzdGF0aWMgYm9vbCBz
dGFydE5vbkhUVFBSZXF1ZXN0KFJlc291cmNlSGFuZGxlKiBoYW5kbGUsIEtVUkwgdXJsKQogewog
ICAgIEFTU0VSVChoYW5kbGUpOwpAQCAtMTAwMSw2ICsxMDM2LDEwIEBAIHN0YXRpYyBib29sIHN0
YXJ0Tm9uSFRUUFJlcXVlc3QoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgS1VSTCB1cmwpCiAgICAg
Ly8gU2VuZCB0aGUgcmVxdWVzdCBvbmx5IGlmIGl0J3Mgbm90IGJlZW4gZXhwbGljaXRseSBkZWZl
cnJlZC4KICAgICBpZiAoIWQtPm1fZGVmZXJzTG9hZGluZykgewogICAgICAgICBkLT5tX2NhbmNl
bGxhYmxlID0gYWRvcHRHUmVmKGdfY2FuY2VsbGFibGVfbmV3KCkpOworICAgICAgICBpZiAoZC0+
bV9maXJzdFJlcXVlc3QudGltZW91dEludGVydmFsKCkgPiAwKSB7CisgICAgICAgICAgICAvLyBz
b3VwX2FkZF90aW1lb3V0IHJldHVybnMgYSBHU291cmNlKiB3aG9zZSBvbmx5IHJlZmVyZW5jZSBp
cyBvd25lZCBieSB0aGUgY29udGV4dC4gV2UgbmVlZCB0byBoYXZlIG91ciBvd24gcmVmZXJlbmNl
IHRvIGl0LCBoZW5jZSBub3QgdXNpbmcgYWRvcHRSZWYuCisgICAgICAgICAgICBkLT5tX3RpbWVv
dXRTb3VyY2UgPSBzb3VwX2FkZF90aW1lb3V0KGdfbWFpbl9jb250ZXh0X2dldF90aHJlYWRfZGVm
YXVsdCgpLCBkLT5tX2ZpcnN0UmVxdWVzdC50aW1lb3V0SW50ZXJ2YWwoKSAqIDEwMDAsIHJlcXVl
c3RUaW1lb3V0Q2FsbGJhY2ssIGhhbmRsZSk7CisgICAgICAgIH0KICAgICAgICAgc291cF9yZXF1
ZXN0X3NlbmRfYXN5bmMoZC0+bV9zb3VwUmVxdWVzdC5nZXQoKSwgZC0+bV9jYW5jZWxsYWJsZS5n
ZXQoKSwgc2VuZFJlcXVlc3RDYWxsYmFjaywgaGFuZGxlKTsKICAgICB9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>