<?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>59070</bug_id>
          
          <creation_ts>2011-04-20 20:49:06 -0700</creation_ts>
          <short_desc>[Qt] Fix QNetworkReplyWrapper to not depend on QNetworkReply::isFinished() method</short_desc>
          <delta_ts>2011-05-04 09:35:09 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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>
          
          <blocked>58848</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Caio Marcelo de Oliveira Filho">cmarcelo</reporter>
          <assigned_to name="Caio Marcelo de Oliveira Filho">cmarcelo</assigned_to>
          <cc>luiz</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>389803</commentid>
    <comment_count>0</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-04-20 20:49:06 -0700</bug_when>
    <thetext>[Qt] Fix QNetworkReplyWrapper to not depend on QNetworkReply::isFinished() method</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389809</commentid>
    <comment_count>1</comment_count>
      <attachid>90483</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-04-20 21:03:25 -0700</bug_when>
    <thetext>Created attachment 90483
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389810</commentid>
    <comment_count>2</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-04-20 21:07:00 -0700</bug_when>
    <thetext>Luiz, could you take a look at this?

I&apos;ve decided to make receiveMetaDataWhenFinished() to avoid depending on the order of the connections.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389841</commentid>
    <comment_count>3</comment_count>
      <attachid>90491</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-04-20 21:55:05 -0700</bug_when>
    <thetext>Created attachment 90491
patch v2, rebased</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393076</commentid>
    <comment_count>4</comment_count>
      <attachid>90491</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-04-26 16:52:33 -0700</bug_when>
    <thetext>Comment on attachment 90491
patch v2, rebased

r=me. Sucky, but unavoidable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394169</commentid>
    <comment_count>5</comment_count>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2011-04-27 21:07:46 -0700</bug_when>
    <thetext>I don&apos;t like it that much. It is too complex.

A crazy idea: why don&apos;t we take advantage of the fact that QNetworkReply is a QObject and store a dynamic property on it to keep the flag that we need?
I think that if we just create a slot in QNRW that sets that dynamic property on QNR and connect it in QNRW constructor it is done (take care to never disconnect it). The flag will be in the QNR object only (as it should) and we can avoid all other connections, parameters, flags that are replicated in two classes, ...

I don&apos;t think that it is a problem to trust on the signal emission sequence because it is a well known feature of Qt that is well documented.

Anyway, I think that with the proposed patch we might have problems with synchronous requests. Are layout tests ok?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394375</commentid>
    <comment_count>6</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-04-28 05:30:59 -0700</bug_when>
    <thetext>Luiz, thanks for looking into this :-)

(In reply to comment #5)
&gt; I don&apos;t like it that much. It is too complex.
&gt; 
&gt; A crazy idea: why don&apos;t we take advantage of the fact that QNetworkReply is a QObject and store a dynamic property on it to keep the flag that we need?
&gt; I think that if we just create a slot in QNRW that sets that dynamic property on QNR and connect it in QNRW constructor it is done (take care to never disconnect it). The flag will be in the QNR object only (as it should) and we can avoid all other connections, parameters, flags that are replicated in two classes, ...

I see your point. I will try to implement this idea today and we can see how it goes. :-)   


&gt; I don&apos;t think that it is a problem to trust on the signal emission sequence because it is a well known feature of Qt that is well documented.

OK. I do trust the sequence, I was avoiding depend on the connect lines having to respect a strict order, but I guess a comment would be enough.


&gt; Anyway, I think that with the proposed patch we might have problems with synchronous requests. Are layout tests ok?

What kind of problems? Both wrapper and sniffer are per-reply, so one reply will not affect others. In practice, this shouldn&apos;t change anything for non-fake replies -- which is the case for layout tests.

How can I test the synchronous requests? Do we have autotests for that or only in layout tests?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394869</commentid>
    <comment_count>7</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-04-28 16:10:37 -0700</bug_when>
    <thetext>The dynamic approach indeed looks better and avoids complicating the logic.

&gt; &gt; Anyway, I think that with the proposed patch we might have problems with synchronous requests. Are layout tests ok?
&gt; 
&gt; What kind of problems? Both wrapper and sniffer are per-reply, so one reply will not affect others. In practice, this shouldn&apos;t change anything for non-fake replies -- which is the case for layout tests.

Ok. I&apos;ve found the problems, manually tracking the finished works only if we can catch the signal. That&apos;s where the fake replies heuristic of emitting finished() after a 0-timer come from, they need to give time for the  :-)

What I plan to do is to make our isFinished check both the dynamic property AND the m_reply property. This way we catch asynchronous and synchronous loads for Qt network replies, and also asynchronous loads for fake network replies.

If I understand correct, until Qt 4.8 (where we can set finished) we can&apos;t really have autotests for synchronous load with custom replies. Makes sense?

 
&gt; How can I test the synchronous requests? Do we have autotests for that or only in layout tests?

I&apos;ve found LayoutTests/http. Are there others?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394887</commentid>
    <comment_count>8</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-04-28 16:25:03 -0700</bug_when>
    <thetext>(In reply to comment #7)

&gt; Ok. I&apos;ve found the problems, manually tracking the finished works only if we can catch the signal. That&apos;s where the fake replies heuristic of emitting finished() after a 0-timer come from, they need to give time for the  :-)

...give time for the signal connections. :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394973</commentid>
    <comment_count>9</comment_count>
      <attachid>91603</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-04-28 17:30:32 -0700</bug_when>
    <thetext>Created attachment 91603
patch v3, using dynamic property</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395597</commentid>
    <comment_count>10</comment_count>
      <attachid>91603</attachid>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2011-04-29 16:03:32 -0700</bug_when>
    <thetext>Comment on attachment 91603
patch v3, using dynamic property

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

&gt; Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp:663
&gt; -    if (m_loadType == SynchronousLoad &amp;&amp; m_replyWrapper-&gt;reply()-&gt;isFinished()) {
&gt; +    if (m_loadType == SynchronousLoad &amp;&amp; m_replyWrapper-&gt;isFinished()) {
&gt;          m_replyWrapper-&gt;synchronousLoad();
&gt;          // If supported, a synchronous request will be finished at this point, no need to hook up the signals.
&gt;          return;

For synchronous requests we should call m_replyWrapper-&gt;synchronousLoad() and return anyway.
My suggestion now is that we do not check for isFinished at this point and that we call QNetworkReplyWrapper::setFinished() from QNetworkReplyWrapper::synchronousLoad().
Then we may avoid using QNetworkReply::isFinished() completely.

&gt; Source/WebCore/platform/network/qt/QNetworkReplyHandler.h:84
&gt; +    bool isFinished() const { return m_reply-&gt;isFinished() || m_reply-&gt;property(&quot;_q_isFinished&quot;).toBool(); }

How can we trust on QNetworkReply::isFinished()? We should have a solution that does not rely on it.

&gt; Source/WebCore/platform/network/qt/QtMIMETypeSniffer.h:44
&gt; +    bool isReplyFinished() const { return m_reply-&gt;isFinished() || m_reply-&gt;property(&quot;_q_isFinished&quot;).toBool(); }

The same here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396692</commentid>
    <comment_count>11</comment_count>
      <attachid>91986</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-05-02 14:54:33 -0700</bug_when>
    <thetext>Created attachment 91986
patch v4, use fact that synchronous loads are always finished</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396694</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-05-02 14:56:36 -0700</bug_when>
    <thetext>Attachment 91986 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/platform/network/qt/QNetworkReplyHandler.h:26:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396698</commentid>
    <comment_count>13</comment_count>
      <attachid>91988</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-05-02 15:00:27 -0700</bug_when>
    <thetext>Created attachment 91988
patch v4 (second take), use the fact that synchronous loads are always finished</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396725</commentid>
    <comment_count>14</comment_count>
      <attachid>91988</attachid>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2011-05-02 15:34:54 -0700</bug_when>
    <thetext>Comment on attachment 91988
patch v4 (second take), use the fact that synchronous loads are always finished

LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396758</commentid>
    <comment_count>15</comment_count>
      <attachid>91988</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-05-02 16:09:14 -0700</bug_when>
    <thetext>Comment on attachment 91988
patch v4 (second take), use the fact that synchronous loads are always finished

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

&gt; Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp:311
&gt; +    // QNetworkReply, the QNetworkReply::isFinished() is never true, so we need to keep track

s/the//

&gt; Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp:312
&gt; +    // ourselves. This limitation is fixed in 4.8, but we&apos;ll still have applications that doesn&apos;t

s/doesn&apos;t/don&apos;t/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>396817</commentid>
    <comment_count>16</comment_count>
      <attachid>92013</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-05-02 17:15:29 -0700</bug_when>
    <thetext>Created attachment 92013
patch v5, better comment</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>397823</commentid>
    <comment_count>17</comment_count>
      <attachid>92013</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-05-04 05:09:51 -0700</bug_when>
    <thetext>Comment on attachment 92013
patch v5, better comment

Rejecting attachment 92013 from commit-queue.

cmarcelo@webkit.org does not have committer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/committers.py.

- If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have committer rights please correct the error in Tools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your committer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>397833</commentid>
    <comment_count>18</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-05-04 05:34:02 -0700</bug_when>
    <thetext>Commited: http://trac.webkit.org/changeset/85734</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90483</attachid>
            <date>2011-04-20 21:03:25 -0700</date>
            <delta_ts>2011-04-20 21:55:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59070-20110421010419.patch</filename>
            <type>text/plain</type>
            <size>9513</size>
            <attacher name="Caio Marcelo de Oliveira Filho">cmarcelo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODQyODkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1ZDVmODljMDA4NDJhMDMx
ZjAwY2Y1ZWFkMGRiMjAwODU0Yzc3YmI5Li5kZTZjNjA2M2YwNTU2YTAxOWYxOWZlMzhkOWE0MDI1
MjM0NjEzMTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDMgQEAKKzIwMTEtMDQtMjAgIENhaW8g
TWFyY2VsbyBkZSBPbGl2ZWlyYSBGaWxobyAgPGNhaW8ub2xpdmVpcmFAb3BlbmJvc3NhLm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIEZp
eCBRTmV0d29ya1JlcGx5V3JhcHBlciB0byBub3QgZGVwZW5kIG9uIFFOZXR3b3JrUmVwbHk6Omlz
RmluaXNoZWQoKSBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTU5MDcwCisKKyAgICAgICAgV2hlbiBzdWJjbGFzc2luZyBRTmV0d29ya1JlcGx5
IGluIFF0IDQuNywgbGlrZSB3ZSBkbyBpbiBhdXRvdGVzdHMgb3Igc29tZQorICAgICAgICBhcHBs
aWNhdGlvbnMgZG8gdG8gcHJvdmlkZSBjdXN0b20gcHJvdG9jb2xzLCB0aGVyZSdzIG5vIHdheSB0
byBtYWtlCisgICAgICAgIFFOZXR3b3JrUmVwbHk6OmlzRmluaXNoZWQoKSByZXR1cm4gdHJ1ZS4g
VGhpcyBsaW1pdGF0aW9uIHdhcyBmaXhlZCB1cHN0cmVhbQorICAgICAgICBmb3IgUXQgNC44LCBz
ZWUgaHR0cDovL2J1Z3JlcG9ydHMucXQubm9raWEuY29tL2Jyb3dzZS9RVEJVRy0xMTczNyBmb3Ig
ZGV0YWlscy4KKworICAgICAgICBUaGUgY29uc2VxdWVuY2UgaXMgdGhhdCBRdFdlYktpdCBjYW5u
b3QgcmVseSBvbiB0aGlzIGZ1bmN0aW9uLiBTbyBub3cKKyAgICAgICAgUU5ldHdvcmtSZXBseUhh
bmRsZXIga2VlcHMgdHJhY2sgd2hldGhlciB0aGUgcmVwbHkgaXMgZmluaXNoZWQgYmFzZWQgb24g
dGhlCisgICAgICAgIGZpbmlzaGVkKCkgc2lnbmFsIG9ubHkuCisKKyAgICAgICAgU2luY2UgUXRN
SU1FVHlwZVNuaWZmZXIgYWxzbyBtYXkgZGVsYXkgaXRzIG9wZXJhdGlvbiB3YWl0aW5nIGZvciBm
aW5pc2hlZCwgdGhlCisgICAgICAgIHNhbWUgc3RyYXRlZ3kgd2FzIHVzZWQgdGhlcmUuIEkgcHJl
ZmVyZWQgdGhpcyBpbnN0ZWFkIG9mIG1ha2luZyBpdCBkZXBlbmQgb24KKyAgICAgICAgUU5ldHdv
cmtSZXBseVdyYXBwZXIgb3IgZXhwZWN0aW5nIGEgc2lnbmFsIGZyb20gdGhlIHdyYXBwZXIgd2hl
biB0aGUgcmVwbHkgd2FzCisgICAgICAgIGZpbmlzaGVkLgorCisgICAgICAgIFRoaXMgZml4ZXMg
dHN0X1FXZWJGcmFtZTo6cmVxdWVzdGVkVXJsKCksIHRoYXQgd2FzIGJyZWFraW5nIGJlY2F1c2Ug
c25pZmZlciB3YXMKKyAgICAgICAgbm90IGVtaXR0aW5nIGl0cyBvd24gZmluaXNoZWQoKSBzaWdu
YWwsIGNhdXNpbmcgUVdlYkZyYW1lOjpsb2FkRmluaXNoZWQoKSB0byBub3QKKyAgICAgICAgYmUg
ZW1pdHRlZC4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhh
bmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UU5ldHdvcmtSZXBseVdyYXBwZXI6OlFOZXR3
b3JrUmVwbHlXcmFwcGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlFOZXR3b3JrUmVwbHlXcmFwcGVy
Ojp1cGRhdGVJc0ZpbmlzaGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlFOZXR3b3JrUmVwbHlXcmFw
cGVyOjpyZWNlaXZlTWV0YURhdGFXaGVuRmluaXNoZWQpOgorICAgICAgICAoV2ViQ29yZTo6UU5l
dHdvcmtSZXBseVdyYXBwZXI6OnJlY2VpdmVNZXRhRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpR
TmV0d29ya1JlcGx5V3JhcHBlcjo6ZW1pdE1ldGFEYXRhQ2hhbmdlZCk6CisgICAgICAgIChXZWJD
b3JlOjpRTmV0d29ya1JlcGx5SGFuZGxlcjo6c3RhcnQpOgorICAgICAgICAqIHBsYXRmb3JtL25l
dHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlFOZXR3
b3JrUmVwbHlXcmFwcGVyOjppc0ZpbmlzaGVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3Jr
L3F0L1F0TUlNRVR5cGVTbmlmZmVyLmNwcDoKKyAgICAgICAgKFF0TUlNRVR5cGVTbmlmZmVyOjpR
dE1JTUVUeXBlU25pZmZlcik6CisgICAgICAgIChRdE1JTUVUeXBlU25pZmZlcjo6c25pZmYpOgor
ICAgICAgICAoUXRNSU1FVHlwZVNuaWZmZXI6Om9uUmVwbHlGaW5pc2hlZCk6CisgICAgICAgICog
cGxhdGZvcm0vbmV0d29yay9xdC9RdE1JTUVUeXBlU25pZmZlci5oOgorCiAyMDExLTA0LTE5ICBP
bGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5k
cmVhcyBLbGluZy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
cXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9xdC9RTmV0d29ya1JlcGx5SGFuZGxlci5jcHAKaW5kZXggYjI3YzhmNGU5NWE3MmMxODY1
Y2Y5ZGZmZDhkNTZiNjAyNTgyODY0ZC4uYTllNDVjMDRmMWEzNmU4ZDU3ZWJmNzRkNDNlMTFlNmQ3
MmIyMzk5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9R
TmV0d29ya1JlcGx5SGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9xdC9RTmV0d29ya1JlcGx5SGFuZGxlci5jcHAKQEAgLTIxMiwxMSArMjEyLDEyIEBAIFFO
ZXR3b3JrUmVwbHlXcmFwcGVyOjpRTmV0d29ya1JlcGx5V3JhcHBlcihRTmV0d29ya1JlcGx5SGFu
ZGxlckNhbGxRdWV1ZSogcXVldWUsCiAgICAgLCBtX3Jlc3BvbnNlQ29udGFpbnNEYXRhKGZhbHNl
KQogICAgICwgbV9zbmlmZmVyKDApCiAgICAgLCBtX3NuaWZmTUlNRVR5cGVzKHNuaWZmTUlNRVR5
cGVzKQorICAgICwgbV9pc0ZpbmlzaGVkKGZhbHNlKQogewogICAgIFFfQVNTRVJUKG1fcmVwbHkp
OwogCiAgICAgY29ubmVjdChtX3JlcGx5LCBTSUdOQUwocmVhZHlSZWFkKCkpLCB0aGlzLCBTTE9U
KHJlY2VpdmVNZXRhRGF0YSgpKSk7Ci0gICAgY29ubmVjdChtX3JlcGx5LCBTSUdOQUwoZmluaXNo
ZWQoKSksIHRoaXMsIFNMT1QocmVjZWl2ZU1ldGFEYXRhKCkpKTsKKyAgICBjb25uZWN0KG1fcmVw
bHksIFNJR05BTChmaW5pc2hlZCgpKSwgdGhpcywgU0xPVChyZWNlaXZlTWV0YURhdGFXaGVuRmlu
aXNoZWQoKSkpOwogfQogCiBRTmV0d29ya1JlcGx5V3JhcHBlcjo6flFOZXR3b3JrUmVwbHlXcmFw
cGVyKCkKQEAgLTI0NywxMSArMjQ4LDI1IEBAIHZvaWQgUU5ldHdvcmtSZXBseVdyYXBwZXI6OnJl
c2V0Q29ubmVjdGlvbnMoKQogICAgIFFDb3JlQXBwbGljYXRpb246OnJlbW92ZVBvc3RlZEV2ZW50
cyh0aGlzLCBRRXZlbnQ6Ok1ldGFDYWxsKTsKIH0KIAordm9pZCBRTmV0d29ya1JlcGx5V3JhcHBl
cjo6dXBkYXRlSXNGaW5pc2hlZCgpCit7CisgICAgUV9BU1NFUlQoIW1faXNGaW5pc2hlZCk7Cisg
ICAgbV9pc0ZpbmlzaGVkID0gdHJ1ZTsKK30KKwordm9pZCBRTmV0d29ya1JlcGx5V3JhcHBlcjo6
cmVjZWl2ZU1ldGFEYXRhV2hlbkZpbmlzaGVkKCkKK3sKKyAgICB1cGRhdGVJc0ZpbmlzaGVkKCk7
CisgICAgcmVjZWl2ZU1ldGFEYXRhKCk7Cit9CisKIHZvaWQgUU5ldHdvcmtSZXBseVdyYXBwZXI6
OnJlY2VpdmVNZXRhRGF0YSgpCiB7CiAgICAgLy8gVGhpcyBzbG90IGlzIG9ubHkgdXNlZCB0byBy
ZWNlaXZlIHRoZSBmaXJzdCBzaWduYWwgZnJvbSB0aGUgUU5ldHdvcmtSZXBseSBvYmplY3QuCiAg
ICAgcmVzZXRDb25uZWN0aW9ucygpOwogCisgICAgaWYgKCFtX2lzRmluaXNoZWQpCisgICAgICAg
IGNvbm5lY3QobV9yZXBseSwgU0lHTkFMKGZpbmlzaGVkKCkpLCB0aGlzLCBTTE9UKHVwZGF0ZUlz
RmluaXNoZWQoKSkpOwogCiAgICAgV1RGOjpTdHJpbmcgY29udGVudFR5cGUgPSBtX3JlcGx5LT5o
ZWFkZXIoUU5ldHdvcmtSZXF1ZXN0OjpDb250ZW50VHlwZUhlYWRlcikudG9TdHJpbmcoKTsKICAg
ICBtX2VuY29kaW5nID0gZXh0cmFjdENoYXJzZXRGcm9tTWVkaWFUeXBlKGNvbnRlbnRUeXBlKTsK
QEAgLTI3NCw3ICsyODksNyBAQCB2b2lkIFFOZXR3b3JrUmVwbHlXcmFwcGVyOjpyZWNlaXZlTWV0
YURhdGEoKQogCiAgICAgUV9BU1NFUlQoIW1fc25pZmZlcik7CiAKLSAgICBtX3NuaWZmZXIgPSBu
ZXcgUXRNSU1FVHlwZVNuaWZmZXIobV9yZXBseSwgbV9hZHZlcnRpc2VkTUlNRVR5cGUsIGlzU3Vw
cG9ydGVkSW1hZ2VUeXBlKTsKKyAgICBtX3NuaWZmZXIgPSBuZXcgUXRNSU1FVHlwZVNuaWZmZXIo
bV9yZXBseSwgbV9hZHZlcnRpc2VkTUlNRVR5cGUsIGlzU3VwcG9ydGVkSW1hZ2VUeXBlLCBpc0Zp
bmlzaGVkKCkpOwogCiAgICAgaWYgKG1fc25pZmZlci0+aXNGaW5pc2hlZCgpKSB7CiAgICAgICAg
IHJlY2VpdmVTbmlmZmVkTUlNRVR5cGUoKTsKQEAgLTMwNCw3ICszMTksNyBAQCB2b2lkIFFOZXR3
b3JrUmVwbHlXcmFwcGVyOjplbWl0TWV0YURhdGFDaGFuZ2VkKCkKICAgICAgICAgbV9xdWV1ZS0+
cHVzaCgmUU5ldHdvcmtSZXBseUhhbmRsZXI6OmZvcndhcmREYXRhKTsKICAgICB9CiAKLSAgICBp
ZiAobV9yZXBseS0+aXNGaW5pc2hlZCgpKSB7CisgICAgaWYgKGlzRmluaXNoZWQoKSkgewogICAg
ICAgICBtX3F1ZXVlLT5wdXNoKCZRTmV0d29ya1JlcGx5SGFuZGxlcjo6ZmluaXNoKTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KQEAgLTY0Miw3ICs2NTcsNyBAQCB2b2lkIFFOZXR3b3JrUmVwbHlI
YW5kbGVyOjpzdGFydCgpCiAKICAgICBtX3JlcGx5V3JhcHBlciA9IG5ldyBRTmV0d29ya1JlcGx5
V3JhcHBlcigmbV9xdWV1ZSwgcmVwbHksIG1fcmVzb3VyY2VIYW5kbGUtPnNob3VsZENvbnRlbnRT
bmlmZigpICYmIGQtPm1fY29udGV4dC0+bWltZVNuaWZmaW5nRW5hYmxlZCgpLCB0aGlzKTsKIAot
ICAgIGlmIChtX2xvYWRUeXBlID09IFN5bmNocm9ub3VzTG9hZCAmJiBtX3JlcGx5V3JhcHBlci0+
cmVwbHkoKS0+aXNGaW5pc2hlZCgpKSB7CisgICAgaWYgKG1fbG9hZFR5cGUgPT0gU3luY2hyb25v
dXNMb2FkICYmIG1fcmVwbHlXcmFwcGVyLT5pc0ZpbmlzaGVkKCkpIHsKICAgICAgICAgbV9yZXBs
eVdyYXBwZXItPnN5bmNocm9ub3VzTG9hZCgpOwogICAgICAgICAvLyBJZiBzdXBwb3J0ZWQsIGEg
c3luY2hyb25vdXMgcmVxdWVzdCB3aWxsIGJlIGZpbmlzaGVkIGF0IHRoaXMgcG9pbnQsIG5vIG5l
ZWQgdG8gaG9vayB1cCB0aGUgc2lnbmFscy4KICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1JlcGx5SGFuZGxlci5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1JlcGx5SGFuZGxl
ci5oCmluZGV4IGVjNGU2NWFiZTYwYjEwYmUzMTU1ZGE5YzJkMGUyM2M5NTM5N2NiZTAuLmQ0MTU5
MmNmY2Y4YzIwNjkyMDlmZmZkNTZjMjRjYzQ1ZmM1OTQ3ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmgK
QEAgLTc5LDkgKzc5LDEzIEBAIHB1YmxpYzoKIAogICAgIGJvb2wgcmVzcG9uc2VDb250YWluc0Rh
dGEoKSBjb25zdCB7IHJldHVybiBtX3Jlc3BvbnNlQ29udGFpbnNEYXRhOyB9CiAgICAgYm9vbCB3
YXNSZWRpcmVjdGVkKCkgY29uc3QgeyByZXR1cm4gbV9yZWRpcmVjdGlvblRhcmdldFVybC5pc1Zh
bGlkKCk7IH0KKyAgICBib29sIGlzRmluaXNoZWQoKSBjb25zdCB7IHJldHVybiBtX2lzRmluaXNo
ZWQ7IH0KIAogcHJpdmF0ZSBRX1NMT1RTOgorICAgIHZvaWQgdXBkYXRlSXNGaW5pc2hlZCgpOwor
ICAgIHZvaWQgcmVjZWl2ZU1ldGFEYXRhV2hlbkZpbmlzaGVkKCk7CiAgICAgdm9pZCByZWNlaXZl
TWV0YURhdGEoKTsKKwogICAgIHZvaWQgZGlkUmVjZWl2ZUZpbmlzaGVkKCk7CiAgICAgdm9pZCBk
aWRSZWNlaXZlUmVhZHlSZWFkKCk7CiAgICAgdm9pZCByZWNlaXZlU25pZmZlZE1JTUVUeXBlKCk7
CkBAIC0xMDIsNiArMTA2LDEwIEBAIHByaXZhdGU6CiAgICAgUVN0cmluZyBtX3NuaWZmZWRNSU1F
VHlwZTsKICAgICBPd25QdHI8UXRNSU1FVHlwZVNuaWZmZXI+IG1fc25pZmZlcjsKICAgICBib29s
IG1fc25pZmZNSU1FVHlwZXM7CisKKyAgICAvLyBOZWVkZWQgc2luY2UgbV9yZXBseS0+aXNGaW5p
c2hlZCgpIGRvZXNuJ3Qgd29yayBmb3Igc3ViY2xhc3NlcyBvZiBRTmV0d29ya1JlcGx5IGluIFF0
IDQuNy4KKyAgICAvLyBGaXhlZCBpbiBRdCA0LjgsIHNlZSBodHRwOi8vYnVncmVwb3J0cy5xdC5u
b2tpYS5jb20vYnJvd3NlL1FUQlVHLTExNzM3IGZvciBkZXRhaWxzLgorICAgIGJvb2wgbV9pc0Zp
bmlzaGVkOwogfTsKIAogY2xhc3MgUU5ldHdvcmtSZXBseUhhbmRsZXIgOiBwdWJsaWMgUU9iamVj
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9RdE1JTUVU
eXBlU25pZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1F0TUlN
RVR5cGVTbmlmZmVyLmNwcAppbmRleCBlNzE5YjgwMWI0ZDU5ODQ5YjAyNjgxZjVkNGQyYTc3MzUz
MGEzYjAyLi5iMzNkYjBlNGQyMjk3NTU5NWNhOWIyYTJmZmRkZGU5MjhiYmE3Mzg0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1F0TUlNRVR5cGVTbmlmZmVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1F0TUlNRVR5cGVT
bmlmZmVyLmNwcApAQCAtMjQsMjQgKzI0LDI1IEBACiAjaW5jbHVkZSA8UUNvcmVBcHBsaWNhdGlv
bj4KICNpbmNsdWRlIDxRTmV0d29ya1JlcGx5PgogCi1RdE1JTUVUeXBlU25pZmZlcjo6UXRNSU1F
VHlwZVNuaWZmZXIoUU5ldHdvcmtSZXBseSogcmVwbHksIGNvbnN0IFFTdHJpbmcmIGFkdmVydGlz
ZWRNaW1lVHlwZSwgYm9vbCBpc1N1cHBvcnRlZEltYWdlVHlwZSkKK1F0TUlNRVR5cGVTbmlmZmVy
OjpRdE1JTUVUeXBlU25pZmZlcihRTmV0d29ya1JlcGx5KiByZXBseSwgY29uc3QgUVN0cmluZyYg
YWR2ZXJ0aXNlZE1pbWVUeXBlLCBib29sIGlzU3VwcG9ydGVkSW1hZ2VUeXBlLCBib29sIGlzUmVw
bHlGaW5pc2hlZCkKICAgICA6IFFPYmplY3QoMCkKICAgICAsIG1fcmVwbHkocmVwbHkpCiAgICAg
LCBtX21pbWVUeXBlKGFkdmVydGlzZWRNaW1lVHlwZSkKICAgICAsIG1fc25pZmZlcihhZHZlcnRp
c2VkTWltZVR5cGUudG9MYXRpbjEoKS5jb25zdERhdGEoKSwgaXNTdXBwb3J0ZWRJbWFnZVR5cGUp
CiAgICAgLCBtX2lzRmluaXNoZWQoZmFsc2UpCisgICAgLCBtX2lzUmVwbHlGaW5pc2hlZChpc1Jl
cGx5RmluaXNoZWQpCiB7CiAgICAgbV9pc0ZpbmlzaGVkID0gIW1fc25pZmZlci5pc1ZhbGlkKCkg
fHwgc25pZmYoKTsKICAgICBpZiAobV9pc0ZpbmlzaGVkKQogICAgICAgICByZXR1cm47CiAKICAg
ICBjb25uZWN0KG1fcmVwbHksIFNJR05BTChyZWFkeVJlYWQoKSksIHRoaXMsIFNMT1QodHJ5U25p
ZmZpbmcoKSkpOwotICAgIGNvbm5lY3QobV9yZXBseSwgU0lHTkFMKGZpbmlzaGVkKCkpLCB0aGlz
LCBTTE9UKHRyeVNuaWZmaW5nKCkpKTsKKyAgICBjb25uZWN0KG1fcmVwbHksIFNJR05BTChmaW5p
c2hlZCgpKSwgdGhpcywgU0xPVChvblJlcGx5RmluaXNoZWQoKSkpOwogfQogCiBib29sIFF0TUlN
RVR5cGVTbmlmZmVyOjpzbmlmZigpCiB7Ci0gICAgaWYgKCFtX3JlcGx5LT5pc0ZpbmlzaGVkKCkg
JiYgbV9yZXBseS0+Ynl0ZXNBdmFpbGFibGUoKSA8IG1fc25pZmZlci5kYXRhU2l6ZSgpKQorICAg
IGlmICghbV9pc1JlcGx5RmluaXNoZWQgJiYgbV9yZXBseS0+Ynl0ZXNBdmFpbGFibGUoKSA8IG1f
c25pZmZlci5kYXRhU2l6ZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBRQnl0ZUFy
cmF5IGRhdGEgPSBtX3JlcGx5LT5wZWVrKG1fc25pZmZlci5kYXRhU2l6ZSgpKTsKQEAgLTYxLDMg
KzYyLDExIEBAIHZvaWQgUXRNSU1FVHlwZVNuaWZmZXI6OnRyeVNuaWZmaW5nKCkKICAgICBtX2lz
RmluaXNoZWQgPSB0cnVlOwogICAgIGVtaXQgZmluaXNoZWQoKTsKIH0KKwordm9pZCBRdE1JTUVU
eXBlU25pZmZlcjo6b25SZXBseUZpbmlzaGVkKCkKK3sKKyAgICAvLyBOZWVkZWQgc2luY2UgbV9y
ZXBseS0+aXNGaW5pc2hlZCgpIGRvZXNuJ3Qgd29yayBmb3Igc3ViY2xhc3NlcyBvZiBRTmV0d29y
a1JlcGx5IGluIFF0IDQuNy4KKyAgICAvLyBGaXhlZCBpbiBRdCA0LjgsIHNlZSBodHRwOi8vYnVn
cmVwb3J0cy5xdC5ub2tpYS5jb20vYnJvd3NlL1FUQlVHLTExNzM3IGZvciBkZXRhaWxzLgorICAg
IG1faXNSZXBseUZpbmlzaGVkID0gdHJ1ZTsKKyAgICB0cnlTbmlmZmluZygpOworfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9RdE1JTUVUeXBlU25pZmZl
ci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9RdE1JTUVUeXBlU25pZmZl
ci5oCmluZGV4IDU0MjQ5MDZmMzZmZWZkODMxODg3Y2JjYjk4YWQzZTNjOTMwODMyMDkuLjJiZmEz
YmVkZDY5NDgwMDg2MDBhZWE5ZTBkYWYyMmM2MTA5MDQwNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUXRNSU1FVHlwZVNuaWZmZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1F0TUlNRVR5cGVTbmlmZmVyLmgKQEAgLTI4
LDcgKzI4LDcgQEAgY2xhc3MgUU5ldHdvcmtSZXBseTsKIGNsYXNzIFF0TUlNRVR5cGVTbmlmZmVy
IDogcHVibGljIFFPYmplY3QgewogICAgIFFfT0JKRUNUCiBwdWJsaWM6Ci0gICAgUXRNSU1FVHlw
ZVNuaWZmZXIoUU5ldHdvcmtSZXBseSosIGNvbnN0IFFTdHJpbmcmIGFkdmVydGlzZWRNaW1lVHlw
ZSwgYm9vbCBpc1N1cHBvcnRlZEltYWdlVHlwZSk7CisgICAgUXRNSU1FVHlwZVNuaWZmZXIoUU5l
dHdvcmtSZXBseSosIGNvbnN0IFFTdHJpbmcmIGFkdmVydGlzZWRNaW1lVHlwZSwgYm9vbCBpc1N1
cHBvcnRlZEltYWdlVHlwZSwgYm9vbCBpc1JlcGx5RmluaXNoZWQpOwogICAgIFFTdHJpbmcgbWlt
ZVR5cGUoKSBjb25zdCB7IHJldHVybiBtX21pbWVUeXBlOyB9CiAgICAgYm9vbCBpc0ZpbmlzaGVk
KCkgY29uc3QgeyByZXR1cm4gbV9pc0ZpbmlzaGVkOyB9CiAKQEAgLTM3LDYgKzM3LDcgQEAgc2ln
bmFsczoKIAogcHJpdmF0ZSBzbG90czoKICAgICB2b2lkIHRyeVNuaWZmaW5nKCk7CisgICAgdm9p
ZCBvblJlcGx5RmluaXNoZWQoKTsKIAogcHJpdmF0ZToKICAgICBib29sIHNuaWZmKCk7CkBAIC00
NSw2ICs0Niw3IEBAIHByaXZhdGU6CiAgICAgUVN0cmluZyBtX21pbWVUeXBlOwogICAgIE1JTUVT
bmlmZmVyIG1fc25pZmZlcjsKICAgICBib29sIG1faXNGaW5pc2hlZDsKKyAgICBib29sIG1faXNS
ZXBseUZpbmlzaGVkOwogfTsKIAogI2VuZGlmIC8vIFF0TUlNRVR5cGVTbmlmZmVyX2gK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90491</attachid>
            <date>2011-04-20 21:55:05 -0700</date>
            <delta_ts>2011-04-28 17:30:32 -0700</delta_ts>
            <desc>patch v2, rebased</desc>
            <filename>0001-Qt-Fix-QNetworkReplyWrapper-to-not-depend-on-QNetwor.patch</filename>
            <type>text/plain</type>
            <size>11463</size>
            <attacher name="Caio Marcelo de Oliveira Filho">cmarcelo</attacher>
            
              <data encoding="base64">RnJvbSBjZmZmNzE0ZjY3NDYxZWZiYjczODQwYjRlNGIyNzViOTA5NmI3OGFiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDYWlvIE1hcmNlbG8gZGUgT2xpdmVpcmEgRmlsaG8gPGNhaW8u
b2xpdmVpcmFAb3BlbmJvc3NhLm9yZz4KRGF0ZTogVGh1LCAyMSBBcHIgMjAxMSAwMToxMDozMCAt
MDMwMApTdWJqZWN0OiBbUEFUQ0hdIFtRdF0gRml4IFFOZXR3b3JrUmVwbHlXcmFwcGVyIHRvIG5v
dCBkZXBlbmQgb24KIFFOZXR3b3JrUmVwbHk6OmlzRmluaXNoZWQoKSBtZXRob2QKIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01OTA3MAoKUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCgpXaGVuIHN1YmNsYXNzaW5nIFFOZXR3b3JrUmVwbHkgaW4gUXQgNC43LCBsaWtl
IHdlIGRvIGluIGF1dG90ZXN0cyBvciBzb21lCmFwcGxpY2F0aW9ucyBkbyB0byBwcm92aWRlIGN1
c3RvbSBwcm90b2NvbHMsIHRoZXJlJ3Mgbm8gd2F5IHRvIG1ha2UKUU5ldHdvcmtSZXBseTo6aXNG
aW5pc2hlZCgpIHJldHVybiB0cnVlLiBUaGlzIGxpbWl0YXRpb24gd2FzIGZpeGVkIHVwc3RyZWFt
CmZvciBRdCA0LjgsIHNlZSBodHRwOi8vYnVncmVwb3J0cy5xdC5ub2tpYS5jb20vYnJvd3NlL1FU
QlVHLTExNzM3IGZvciBkZXRhaWxzLgoKVGhlIGNvbnNlcXVlbmNlIGlzIHRoYXQgUXRXZWJLaXQg
Y2Fubm90IHJlbHkgb24gdGhpcyBmdW5jdGlvbi4gU28gbm93ClFOZXR3b3JrUmVwbHlIYW5kbGVy
IGtlZXBzIHRyYWNrIHdoZXRoZXIgdGhlIHJlcGx5IGlzIGZpbmlzaGVkIGJhc2VkIG9uIHRoZQpm
aW5pc2hlZCgpIHNpZ25hbCBvbmx5LgoKU2luY2UgUXRNSU1FVHlwZVNuaWZmZXIgYWxzbyBtYXkg
ZGVsYXkgaXRzIG9wZXJhdGlvbiB3YWl0aW5nIGZvciBmaW5pc2hlZCwgdGhlCnNhbWUgc3RyYXRl
Z3kgd2FzIHVzZWQgdGhlcmUuIEkgcHJlZmVyZWQgdGhpcyBpbnN0ZWFkIG9mIG1ha2luZyBpdCBk
ZXBlbmQgb24KUU5ldHdvcmtSZXBseVdyYXBwZXIgb3IgZXhwZWN0aW5nIGEgc2lnbmFsIGZyb20g
dGhlIHdyYXBwZXIgd2hlbiB0aGUgcmVwbHkgd2FzCmZpbmlzaGVkLgoKVGhpcyBmaXhlcyB0c3Rf
UVdlYkZyYW1lOjpyZXF1ZXN0ZWRVcmwoKSwgdGhhdCB3YXMgYnJlYWtpbmcgYmVjYXVzZSBzbmlm
ZmVyIHdhcwpub3QgZW1pdHRpbmcgaXRzIG93biBmaW5pc2hlZCgpIHNpZ25hbCwgY2F1c2luZyBR
V2ViRnJhbWU6OmxvYWRGaW5pc2hlZCgpIHRvIG5vdApiZSBlbWl0dGVkLgoKKiBwbGF0Zm9ybS9u
ZXR3b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmNwcDoKKFdlYkNvcmU6OlFOZXR3b3JrUmVw
bHlXcmFwcGVyOjpRTmV0d29ya1JlcGx5V3JhcHBlcik6CihXZWJDb3JlOjpRTmV0d29ya1JlcGx5
V3JhcHBlcjo6dXBkYXRlSXNGaW5pc2hlZCk6CihXZWJDb3JlOjpRTmV0d29ya1JlcGx5V3JhcHBl
cjo6cmVjZWl2ZU1ldGFEYXRhV2hlbkZpbmlzaGVkKToKKFdlYkNvcmU6OlFOZXR3b3JrUmVwbHlX
cmFwcGVyOjpyZWNlaXZlTWV0YURhdGEpOgooV2ViQ29yZTo6UU5ldHdvcmtSZXBseVdyYXBwZXI6
OmVtaXRNZXRhRGF0YUNoYW5nZWQpOgooV2ViQ29yZTo6UU5ldHdvcmtSZXBseUhhbmRsZXI6OnN0
YXJ0KToKKiBwbGF0Zm9ybS9uZXR3b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmg6CihXZWJD
b3JlOjpRTmV0d29ya1JlcGx5V3JhcHBlcjo6aXNGaW5pc2hlZCk6CiogcGxhdGZvcm0vbmV0d29y
ay9xdC9RdE1JTUVUeXBlU25pZmZlci5jcHA6CihRdE1JTUVUeXBlU25pZmZlcjo6UXRNSU1FVHlw
ZVNuaWZmZXIpOgooUXRNSU1FVHlwZVNuaWZmZXI6OnNuaWZmKToKKFF0TUlNRVR5cGVTbmlmZmVy
OjpvblJlcGx5RmluaXNoZWQpOgoqIHBsYXRmb3JtL25ldHdvcmsvcXQvUXRNSU1FVHlwZVNuaWZm
ZXIuaDoKLS0tCiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAg
ICAgICB8ICAgNDAgKysrKysrKysrKysrKysrKysrKysKIC4uLi9wbGF0Zm9ybS9uZXR3b3JrL3F0
L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmNwcCAgIHwgICAyMyArKysrKysrKystLQogLi4uL3BsYXRm
b3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuaCAgICAgfCAgICA4ICsrKysKIC4u
Li9wbGF0Zm9ybS9uZXR3b3JrL3F0L1F0TUlNRVR5cGVTbmlmZmVyLmNwcCAgICAgIHwgICAxNSAr
KysrKystCiAuLi4vcGxhdGZvcm0vbmV0d29yay9xdC9RdE1JTUVUeXBlU25pZmZlci5oICAgICAg
ICB8ICAgIDQgKy0KIDUgZmlsZXMgY2hhbmdlZCwgODIgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlv
bnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggZWEwN2JlMy4uYWJhOWEwZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDQzIEBACisyMDExLTA0LTIwICBDYWlvIE1hcmNlbG8gZGUgT2xpdmVpcmEgRmlsaG8gIDxj
YWlvLm9saXZlaXJhQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgW1F0XSBGaXggUU5ldHdvcmtSZXBseVdyYXBwZXIgdG8gbm90
IGRlcGVuZCBvbiBRTmV0d29ya1JlcGx5Ojppc0ZpbmlzaGVkKCkgbWV0aG9kCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01OTA3MAorCisgICAgICAgIFdo
ZW4gc3ViY2xhc3NpbmcgUU5ldHdvcmtSZXBseSBpbiBRdCA0LjcsIGxpa2Ugd2UgZG8gaW4gYXV0
b3Rlc3RzIG9yIHNvbWUKKyAgICAgICAgYXBwbGljYXRpb25zIGRvIHRvIHByb3ZpZGUgY3VzdG9t
IHByb3RvY29scywgdGhlcmUncyBubyB3YXkgdG8gbWFrZQorICAgICAgICBRTmV0d29ya1JlcGx5
Ojppc0ZpbmlzaGVkKCkgcmV0dXJuIHRydWUuIFRoaXMgbGltaXRhdGlvbiB3YXMgZml4ZWQgdXBz
dHJlYW0KKyAgICAgICAgZm9yIFF0IDQuOCwgc2VlIGh0dHA6Ly9idWdyZXBvcnRzLnF0Lm5va2lh
LmNvbS9icm93c2UvUVRCVUctMTE3MzcgZm9yIGRldGFpbHMuCisKKyAgICAgICAgVGhlIGNvbnNl
cXVlbmNlIGlzIHRoYXQgUXRXZWJLaXQgY2Fubm90IHJlbHkgb24gdGhpcyBmdW5jdGlvbi4gU28g
bm93CisgICAgICAgIFFOZXR3b3JrUmVwbHlIYW5kbGVyIGtlZXBzIHRyYWNrIHdoZXRoZXIgdGhl
IHJlcGx5IGlzIGZpbmlzaGVkIGJhc2VkIG9uIHRoZQorICAgICAgICBmaW5pc2hlZCgpIHNpZ25h
bCBvbmx5LgorCisgICAgICAgIFNpbmNlIFF0TUlNRVR5cGVTbmlmZmVyIGFsc28gbWF5IGRlbGF5
IGl0cyBvcGVyYXRpb24gd2FpdGluZyBmb3IgZmluaXNoZWQsIHRoZQorICAgICAgICBzYW1lIHN0
cmF0ZWd5IHdhcyB1c2VkIHRoZXJlLiBJIHByZWZlcmVkIHRoaXMgaW5zdGVhZCBvZiBtYWtpbmcg
aXQgZGVwZW5kIG9uCisgICAgICAgIFFOZXR3b3JrUmVwbHlXcmFwcGVyIG9yIGV4cGVjdGluZyBh
IHNpZ25hbCBmcm9tIHRoZSB3cmFwcGVyIHdoZW4gdGhlIHJlcGx5IHdhcworICAgICAgICBmaW5p
c2hlZC4KKworICAgICAgICBUaGlzIGZpeGVzIHRzdF9RV2ViRnJhbWU6OnJlcXVlc3RlZFVybCgp
LCB0aGF0IHdhcyBicmVha2luZyBiZWNhdXNlIHNuaWZmZXIgd2FzCisgICAgICAgIG5vdCBlbWl0
dGluZyBpdHMgb3duIGZpbmlzaGVkKCkgc2lnbmFsLCBjYXVzaW5nIFFXZWJGcmFtZTo6bG9hZEZp
bmlzaGVkKCkgdG8gbm90CisgICAgICAgIGJlIGVtaXR0ZWQuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9uZXR3b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlFOZXR3b3JrUmVwbHlXcmFwcGVyOjpRTmV0d29ya1JlcGx5V3JhcHBlcik6CisgICAgICAgIChX
ZWJDb3JlOjpRTmV0d29ya1JlcGx5V3JhcHBlcjo6dXBkYXRlSXNGaW5pc2hlZCk6CisgICAgICAg
IChXZWJDb3JlOjpRTmV0d29ya1JlcGx5V3JhcHBlcjo6cmVjZWl2ZU1ldGFEYXRhV2hlbkZpbmlz
aGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlFOZXR3b3JrUmVwbHlXcmFwcGVyOjpyZWNlaXZlTWV0
YURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6UU5ldHdvcmtSZXBseVdyYXBwZXI6OmVtaXRNZXRh
RGF0YUNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6UU5ldHdvcmtSZXBseUhhbmRsZXI6OnN0
YXJ0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVy
Lmg6CisgICAgICAgIChXZWJDb3JlOjpRTmV0d29ya1JlcGx5V3JhcHBlcjo6aXNGaW5pc2hlZCk6
CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9xdC9RdE1JTUVUeXBlU25pZmZlci5jcHA6Cisg
ICAgICAgIChRdE1JTUVUeXBlU25pZmZlcjo6UXRNSU1FVHlwZVNuaWZmZXIpOgorICAgICAgICAo
UXRNSU1FVHlwZVNuaWZmZXI6OnNuaWZmKToKKyAgICAgICAgKFF0TUlNRVR5cGVTbmlmZmVyOjpv
blJlcGx5RmluaXNoZWQpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvcXQvUXRNSU1FVHlw
ZVNuaWZmZXIuaDoKKwogMjAxMS0wNC0yMCAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNh
bXN1bmcuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1JlcGx5SGFuZGxl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1FOZXR3b3JrUmVwbHlI
YW5kbGVyLmNwcAppbmRleCBiMjdjOGY0Li5hOWU0NWMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmNw
cApAQCAtMjEyLDExICsyMTIsMTIgQEAgUU5ldHdvcmtSZXBseVdyYXBwZXI6OlFOZXR3b3JrUmVw
bHlXcmFwcGVyKFFOZXR3b3JrUmVwbHlIYW5kbGVyQ2FsbFF1ZXVlKiBxdWV1ZSwKICAgICAsIG1f
cmVzcG9uc2VDb250YWluc0RhdGEoZmFsc2UpCiAgICAgLCBtX3NuaWZmZXIoMCkKICAgICAsIG1f
c25pZmZNSU1FVHlwZXMoc25pZmZNSU1FVHlwZXMpCisgICAgLCBtX2lzRmluaXNoZWQoZmFsc2Up
CiB7CiAgICAgUV9BU1NFUlQobV9yZXBseSk7CiAKICAgICBjb25uZWN0KG1fcmVwbHksIFNJR05B
TChyZWFkeVJlYWQoKSksIHRoaXMsIFNMT1QocmVjZWl2ZU1ldGFEYXRhKCkpKTsKLSAgICBjb25u
ZWN0KG1fcmVwbHksIFNJR05BTChmaW5pc2hlZCgpKSwgdGhpcywgU0xPVChyZWNlaXZlTWV0YURh
dGEoKSkpOworICAgIGNvbm5lY3QobV9yZXBseSwgU0lHTkFMKGZpbmlzaGVkKCkpLCB0aGlzLCBT
TE9UKHJlY2VpdmVNZXRhRGF0YVdoZW5GaW5pc2hlZCgpKSk7CiB9CiAKIFFOZXR3b3JrUmVwbHlX
cmFwcGVyOjp+UU5ldHdvcmtSZXBseVdyYXBwZXIoKQpAQCAtMjQ3LDExICsyNDgsMjUgQEAgdm9p
ZCBRTmV0d29ya1JlcGx5V3JhcHBlcjo6cmVzZXRDb25uZWN0aW9ucygpCiAgICAgUUNvcmVBcHBs
aWNhdGlvbjo6cmVtb3ZlUG9zdGVkRXZlbnRzKHRoaXMsIFFFdmVudDo6TWV0YUNhbGwpOwogfQog
Cit2b2lkIFFOZXR3b3JrUmVwbHlXcmFwcGVyOjp1cGRhdGVJc0ZpbmlzaGVkKCkKK3sKKyAgICBR
X0FTU0VSVCghbV9pc0ZpbmlzaGVkKTsKKyAgICBtX2lzRmluaXNoZWQgPSB0cnVlOworfQorCit2
b2lkIFFOZXR3b3JrUmVwbHlXcmFwcGVyOjpyZWNlaXZlTWV0YURhdGFXaGVuRmluaXNoZWQoKQor
eworICAgIHVwZGF0ZUlzRmluaXNoZWQoKTsKKyAgICByZWNlaXZlTWV0YURhdGEoKTsKK30KKwog
dm9pZCBRTmV0d29ya1JlcGx5V3JhcHBlcjo6cmVjZWl2ZU1ldGFEYXRhKCkKIHsKICAgICAvLyBU
aGlzIHNsb3QgaXMgb25seSB1c2VkIHRvIHJlY2VpdmUgdGhlIGZpcnN0IHNpZ25hbCBmcm9tIHRo
ZSBRTmV0d29ya1JlcGx5IG9iamVjdC4KICAgICByZXNldENvbm5lY3Rpb25zKCk7CiAKKyAgICBp
ZiAoIW1faXNGaW5pc2hlZCkKKyAgICAgICAgY29ubmVjdChtX3JlcGx5LCBTSUdOQUwoZmluaXNo
ZWQoKSksIHRoaXMsIFNMT1QodXBkYXRlSXNGaW5pc2hlZCgpKSk7CiAKICAgICBXVEY6OlN0cmlu
ZyBjb250ZW50VHlwZSA9IG1fcmVwbHktPmhlYWRlcihRTmV0d29ya1JlcXVlc3Q6OkNvbnRlbnRU
eXBlSGVhZGVyKS50b1N0cmluZygpOwogICAgIG1fZW5jb2RpbmcgPSBleHRyYWN0Q2hhcnNldEZy
b21NZWRpYVR5cGUoY29udGVudFR5cGUpOwpAQCAtMjc0LDcgKzI4OSw3IEBAIHZvaWQgUU5ldHdv
cmtSZXBseVdyYXBwZXI6OnJlY2VpdmVNZXRhRGF0YSgpCiAKICAgICBRX0FTU0VSVCghbV9zbmlm
ZmVyKTsKIAotICAgIG1fc25pZmZlciA9IG5ldyBRdE1JTUVUeXBlU25pZmZlcihtX3JlcGx5LCBt
X2FkdmVydGlzZWRNSU1FVHlwZSwgaXNTdXBwb3J0ZWRJbWFnZVR5cGUpOworICAgIG1fc25pZmZl
ciA9IG5ldyBRdE1JTUVUeXBlU25pZmZlcihtX3JlcGx5LCBtX2FkdmVydGlzZWRNSU1FVHlwZSwg
aXNTdXBwb3J0ZWRJbWFnZVR5cGUsIGlzRmluaXNoZWQoKSk7CiAKICAgICBpZiAobV9zbmlmZmVy
LT5pc0ZpbmlzaGVkKCkpIHsKICAgICAgICAgcmVjZWl2ZVNuaWZmZWRNSU1FVHlwZSgpOwpAQCAt
MzA0LDcgKzMxOSw3IEBAIHZvaWQgUU5ldHdvcmtSZXBseVdyYXBwZXI6OmVtaXRNZXRhRGF0YUNo
YW5nZWQoKQogICAgICAgICBtX3F1ZXVlLT5wdXNoKCZRTmV0d29ya1JlcGx5SGFuZGxlcjo6Zm9y
d2FyZERhdGEpOwogICAgIH0KIAotICAgIGlmIChtX3JlcGx5LT5pc0ZpbmlzaGVkKCkpIHsKKyAg
ICBpZiAoaXNGaW5pc2hlZCgpKSB7CiAgICAgICAgIG1fcXVldWUtPnB1c2goJlFOZXR3b3JrUmVw
bHlIYW5kbGVyOjpmaW5pc2gpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtNjQyLDcgKzY1
Nyw3IEBAIHZvaWQgUU5ldHdvcmtSZXBseUhhbmRsZXI6OnN0YXJ0KCkKIAogICAgIG1fcmVwbHlX
cmFwcGVyID0gbmV3IFFOZXR3b3JrUmVwbHlXcmFwcGVyKCZtX3F1ZXVlLCByZXBseSwgbV9yZXNv
dXJjZUhhbmRsZS0+c2hvdWxkQ29udGVudFNuaWZmKCkgJiYgZC0+bV9jb250ZXh0LT5taW1lU25p
ZmZpbmdFbmFibGVkKCksIHRoaXMpOwogCi0gICAgaWYgKG1fbG9hZFR5cGUgPT0gU3luY2hyb25v
dXNMb2FkICYmIG1fcmVwbHlXcmFwcGVyLT5yZXBseSgpLT5pc0ZpbmlzaGVkKCkpIHsKKyAgICBp
ZiAobV9sb2FkVHlwZSA9PSBTeW5jaHJvbm91c0xvYWQgJiYgbV9yZXBseVdyYXBwZXItPmlzRmlu
aXNoZWQoKSkgewogICAgICAgICBtX3JlcGx5V3JhcHBlci0+c3luY2hyb25vdXNMb2FkKCk7CiAg
ICAgICAgIC8vIElmIHN1cHBvcnRlZCwgYSBzeW5jaHJvbm91cyByZXF1ZXN0IHdpbGwgYmUgZmlu
aXNoZWQgYXQgdGhpcyBwb2ludCwgbm8gbmVlZCB0byBob29rIHVwIHRoZSBzaWduYWxzLgogICAg
ICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmgKaW5kZXggZWM0ZTY1YS4uZDQxNTkyYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1JlcGx5
SGFuZGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUU5ldHdv
cmtSZXBseUhhbmRsZXIuaApAQCAtNzksOSArNzksMTMgQEAgcHVibGljOgogCiAgICAgYm9vbCBy
ZXNwb25zZUNvbnRhaW5zRGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzcG9uc2VDb250YWluc0Rh
dGE7IH0KICAgICBib29sIHdhc1JlZGlyZWN0ZWQoKSBjb25zdCB7IHJldHVybiBtX3JlZGlyZWN0
aW9uVGFyZ2V0VXJsLmlzVmFsaWQoKTsgfQorICAgIGJvb2wgaXNGaW5pc2hlZCgpIGNvbnN0IHsg
cmV0dXJuIG1faXNGaW5pc2hlZDsgfQogCiBwcml2YXRlIFFfU0xPVFM6CisgICAgdm9pZCB1cGRh
dGVJc0ZpbmlzaGVkKCk7CisgICAgdm9pZCByZWNlaXZlTWV0YURhdGFXaGVuRmluaXNoZWQoKTsK
ICAgICB2b2lkIHJlY2VpdmVNZXRhRGF0YSgpOworCiAgICAgdm9pZCBkaWRSZWNlaXZlRmluaXNo
ZWQoKTsKICAgICB2b2lkIGRpZFJlY2VpdmVSZWFkeVJlYWQoKTsKICAgICB2b2lkIHJlY2VpdmVT
bmlmZmVkTUlNRVR5cGUoKTsKQEAgLTEwMiw2ICsxMDYsMTAgQEAgcHJpdmF0ZToKICAgICBRU3Ry
aW5nIG1fc25pZmZlZE1JTUVUeXBlOwogICAgIE93blB0cjxRdE1JTUVUeXBlU25pZmZlcj4gbV9z
bmlmZmVyOwogICAgIGJvb2wgbV9zbmlmZk1JTUVUeXBlczsKKworICAgIC8vIE5lZWRlZCBzaW5j
ZSBtX3JlcGx5LT5pc0ZpbmlzaGVkKCkgZG9lc24ndCB3b3JrIGZvciBzdWJjbGFzc2VzIG9mIFFO
ZXR3b3JrUmVwbHkgaW4gUXQgNC43LgorICAgIC8vIEZpeGVkIGluIFF0IDQuOCwgc2VlIGh0dHA6
Ly9idWdyZXBvcnRzLnF0Lm5va2lhLmNvbS9icm93c2UvUVRCVUctMTE3MzcgZm9yIGRldGFpbHMu
CisgICAgYm9vbCBtX2lzRmluaXNoZWQ7CiB9OwogCiBjbGFzcyBRTmV0d29ya1JlcGx5SGFuZGxl
ciA6IHB1YmxpYyBRT2JqZWN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3F0L1F0TUlNRVR5cGVTbmlmZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvcXQvUXRNSU1FVHlwZVNuaWZmZXIuY3BwCmluZGV4IGU3MTliODAuLmIzM2RiMGUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUXRNSU1FVHlw
ZVNuaWZmZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUXRN
SU1FVHlwZVNuaWZmZXIuY3BwCkBAIC0yNCwyNCArMjQsMjUgQEAKICNpbmNsdWRlIDxRQ29yZUFw
cGxpY2F0aW9uPgogI2luY2x1ZGUgPFFOZXR3b3JrUmVwbHk+CiAKLVF0TUlNRVR5cGVTbmlmZmVy
OjpRdE1JTUVUeXBlU25pZmZlcihRTmV0d29ya1JlcGx5KiByZXBseSwgY29uc3QgUVN0cmluZyYg
YWR2ZXJ0aXNlZE1pbWVUeXBlLCBib29sIGlzU3VwcG9ydGVkSW1hZ2VUeXBlKQorUXRNSU1FVHlw
ZVNuaWZmZXI6OlF0TUlNRVR5cGVTbmlmZmVyKFFOZXR3b3JrUmVwbHkqIHJlcGx5LCBjb25zdCBR
U3RyaW5nJiBhZHZlcnRpc2VkTWltZVR5cGUsIGJvb2wgaXNTdXBwb3J0ZWRJbWFnZVR5cGUsIGJv
b2wgaXNSZXBseUZpbmlzaGVkKQogICAgIDogUU9iamVjdCgwKQogICAgICwgbV9yZXBseShyZXBs
eSkKICAgICAsIG1fbWltZVR5cGUoYWR2ZXJ0aXNlZE1pbWVUeXBlKQogICAgICwgbV9zbmlmZmVy
KGFkdmVydGlzZWRNaW1lVHlwZS50b0xhdGluMSgpLmNvbnN0RGF0YSgpLCBpc1N1cHBvcnRlZElt
YWdlVHlwZSkKICAgICAsIG1faXNGaW5pc2hlZChmYWxzZSkKKyAgICAsIG1faXNSZXBseUZpbmlz
aGVkKGlzUmVwbHlGaW5pc2hlZCkKIHsKICAgICBtX2lzRmluaXNoZWQgPSAhbV9zbmlmZmVyLmlz
VmFsaWQoKSB8fCBzbmlmZigpOwogICAgIGlmIChtX2lzRmluaXNoZWQpCiAgICAgICAgIHJldHVy
bjsKIAogICAgIGNvbm5lY3QobV9yZXBseSwgU0lHTkFMKHJlYWR5UmVhZCgpKSwgdGhpcywgU0xP
VCh0cnlTbmlmZmluZygpKSk7Ci0gICAgY29ubmVjdChtX3JlcGx5LCBTSUdOQUwoZmluaXNoZWQo
KSksIHRoaXMsIFNMT1QodHJ5U25pZmZpbmcoKSkpOworICAgIGNvbm5lY3QobV9yZXBseSwgU0lH
TkFMKGZpbmlzaGVkKCkpLCB0aGlzLCBTTE9UKG9uUmVwbHlGaW5pc2hlZCgpKSk7CiB9CiAKIGJv
b2wgUXRNSU1FVHlwZVNuaWZmZXI6OnNuaWZmKCkKIHsKLSAgICBpZiAoIW1fcmVwbHktPmlzRmlu
aXNoZWQoKSAmJiBtX3JlcGx5LT5ieXRlc0F2YWlsYWJsZSgpIDwgbV9zbmlmZmVyLmRhdGFTaXpl
KCkpCisgICAgaWYgKCFtX2lzUmVwbHlGaW5pc2hlZCAmJiBtX3JlcGx5LT5ieXRlc0F2YWlsYWJs
ZSgpIDwgbV9zbmlmZmVyLmRhdGFTaXplKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAg
IFFCeXRlQXJyYXkgZGF0YSA9IG1fcmVwbHktPnBlZWsobV9zbmlmZmVyLmRhdGFTaXplKCkpOwpA
QCAtNjEsMyArNjIsMTEgQEAgdm9pZCBRdE1JTUVUeXBlU25pZmZlcjo6dHJ5U25pZmZpbmcoKQog
ICAgIG1faXNGaW5pc2hlZCA9IHRydWU7CiAgICAgZW1pdCBmaW5pc2hlZCgpOwogfQorCit2b2lk
IFF0TUlNRVR5cGVTbmlmZmVyOjpvblJlcGx5RmluaXNoZWQoKQoreworICAgIC8vIE5lZWRlZCBz
aW5jZSBtX3JlcGx5LT5pc0ZpbmlzaGVkKCkgZG9lc24ndCB3b3JrIGZvciBzdWJjbGFzc2VzIG9m
IFFOZXR3b3JrUmVwbHkgaW4gUXQgNC43LgorICAgIC8vIEZpeGVkIGluIFF0IDQuOCwgc2VlIGh0
dHA6Ly9idWdyZXBvcnRzLnF0Lm5va2lhLmNvbS9icm93c2UvUVRCVUctMTE3MzcgZm9yIGRldGFp
bHMuCisgICAgbV9pc1JlcGx5RmluaXNoZWQgPSB0cnVlOworICAgIHRyeVNuaWZmaW5nKCk7Cit9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1F0TUlNRVR5
cGVTbmlmZmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1F0TUlNRVR5
cGVTbmlmZmVyLmgKaW5kZXggNTQyNDkwNi4uMmJmYTNiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9RdE1JTUVUeXBlU25pZmZlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUXRNSU1FVHlwZVNuaWZmZXIuaApAQCAtMjgs
NyArMjgsNyBAQCBjbGFzcyBRTmV0d29ya1JlcGx5OwogY2xhc3MgUXRNSU1FVHlwZVNuaWZmZXIg
OiBwdWJsaWMgUU9iamVjdCB7CiAgICAgUV9PQkpFQ1QKIHB1YmxpYzoKLSAgICBRdE1JTUVUeXBl
U25pZmZlcihRTmV0d29ya1JlcGx5KiwgY29uc3QgUVN0cmluZyYgYWR2ZXJ0aXNlZE1pbWVUeXBl
LCBib29sIGlzU3VwcG9ydGVkSW1hZ2VUeXBlKTsKKyAgICBRdE1JTUVUeXBlU25pZmZlcihRTmV0
d29ya1JlcGx5KiwgY29uc3QgUVN0cmluZyYgYWR2ZXJ0aXNlZE1pbWVUeXBlLCBib29sIGlzU3Vw
cG9ydGVkSW1hZ2VUeXBlLCBib29sIGlzUmVwbHlGaW5pc2hlZCk7CiAgICAgUVN0cmluZyBtaW1l
VHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWltZVR5cGU7IH0KICAgICBib29sIGlzRmluaXNoZWQo
KSBjb25zdCB7IHJldHVybiBtX2lzRmluaXNoZWQ7IH0KIApAQCAtMzcsNiArMzcsNyBAQCBzaWdu
YWxzOgogCiBwcml2YXRlIHNsb3RzOgogICAgIHZvaWQgdHJ5U25pZmZpbmcoKTsKKyAgICB2b2lk
IG9uUmVwbHlGaW5pc2hlZCgpOwogCiBwcml2YXRlOgogICAgIGJvb2wgc25pZmYoKTsKQEAgLTQ1
LDYgKzQ2LDcgQEAgcHJpdmF0ZToKICAgICBRU3RyaW5nIG1fbWltZVR5cGU7CiAgICAgTUlNRVNu
aWZmZXIgbV9zbmlmZmVyOwogICAgIGJvb2wgbV9pc0ZpbmlzaGVkOworICAgIGJvb2wgbV9pc1Jl
cGx5RmluaXNoZWQ7CiB9OwogCiAjZW5kaWYgLy8gUXRNSU1FVHlwZVNuaWZmZXJfaAotLSAKMS43
LjQuNAoK
</data>
<flag name="review"
          id="83251"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91603</attachid>
            <date>2011-04-28 17:30:32 -0700</date>
            <delta_ts>2011-05-02 14:54:33 -0700</delta_ts>
            <desc>patch v3, using dynamic property</desc>
            <filename>0001-Qt-Fix-QNetworkReplyWrapper-to-not-depend-on-QNetwor.patch</filename>
            <type>text/plain</type>
            <size>11089</size>
            <attacher name="Caio Marcelo de Oliveira Filho">cmarcelo</attacher>
            
              <data encoding="base64">RnJvbSBiMGI3NjU1MTFkNGIwMTY4ODcyODcyZjkzNmU0YjZiN2I3YzMzMjZjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDYWlvIE1hcmNlbG8gZGUgT2xpdmVpcmEgRmlsaG8gPGNhaW8u
b2xpdmVpcmFAb3BlbmJvc3NhLm9yZz4KRGF0ZTogVGh1LCAyOCBBcHIgMjAxMSAyMDo0MToxMyAt
MDMwMApTdWJqZWN0OiBbUEFUQ0hdIFtRdF0gRml4IFFOZXR3b3JrUmVwbHlXcmFwcGVyIHRvIG5v
dCBkZXBlbmQgb24KIFFOZXR3b3JrUmVwbHk6OmlzRmluaXNoZWQoKSBtZXRob2QKIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01OTA3MAoKUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCgpBcHBsaWNhdGlvbnMgdXNpbmcgb3VyIEFQSSBhbmQgb3VyIGF1dG90ZXN0cyBz
dWJjbGFzcyBRTmV0d29ya1JlcGx5IGFzIHBhcnQgb2YgcHJvdmlkaW5nIGEKY3VzdG9tIFFOZXR3
b3JrQWNjZXNzTWFuYWdlci4gQnV0IHRoZXJlJ3MgYW4gQVBJIGxpbWl0YXRpb24gaW4gUXQgNC43
LCB0aGF0IG1ha2VzClFOZXR3b3JrUmVwbHk6OmlzRmluaXNoZWQoKSBhbHdheXMgYmUgZmFsc2Ug
Zm9yIHRoZXNlIGN1c3RvbSByZXBsaWVzLiBUaGlzIHdhcyBmaXhlZCBpbiBRdAo0LjgsIHNlZSBo
dHRwOi8vYnVncmVwb3J0cy5xdC5ub2tpYS5jb20vYnJvd3NlL1FUQlVHLTExNzM3LgoKVGhlIGNv
bnNlcXVlbmNlIGlzIHRoYXQgUXRXZWJLaXQgY2Fubm90IHJlbHkgb24gdGhpcyBmdW5jdGlvbi4g
U28gbm93IFFOZXR3b3JrUmVwbHlXcmFwcGVyCndhdGNoZXMgZm9yIHRoZSBmaW5pc2hlZCgpIHNp
Z25hbCBhbmQgc2V0IGEgZHluYW1pYyBwcm9wZXJ0eSAiX3FfaXNGaW5pc2hlZCIgb24gdGhlIHJl
cGx5CmluZGljYXRpbmcgdGhhdCBpdCBpcyBmaW5pc2hlZC4KCkhvd2V2ZXIsIHdlIGNhbid0IHVz
ZSBvbmx5IHRoZSBkeW5hbWljIHByb3BlcnR5IHNpbmNlIGZvciBzeW5jaHJvbm91cyBsb2FkaW5n
LCBRdCdzIHJlcGxpZXMKYXJlIGZpbmlzaGVkIGJlZm9yZSB3ZSBjYW4ga25vdyBhYm91dCBpdC4g
U28gd2UgY2hlY2sgYm90aCBwbGFjZXMgKG9yaWdpbmFsIGlzRmluaXNoZWQoKQphbmQgdGhlIGR5
bmFtaWMgcHJvcGVydHkpIHRvIGRlY2lkZS4KClRoaXMgZml4ZXMgdHN0X1FXZWJGcmFtZTo6cmVx
dWVzdGVkVXJsKCksIHRoYXQgd2FzIGJyZWFraW5nIGJlY2F1c2Ugc25pZmZlciB3YXMgbm90CmVt
aXR0aW5nIGl0cyBvd24gZmluaXNoZWQoKSBzaWduYWwsIGNhdXNpbmcgUVdlYkZyYW1lOjpsb2Fk
RmluaXNoZWQoKSB0byBub3QgYmUgZW1pdHRlZC4KCiogcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0
d29ya1JlcGx5SGFuZGxlci5jcHA6CihXZWJDb3JlOjpRTmV0d29ya1JlcGx5V3JhcHBlcjo6UU5l
dHdvcmtSZXBseVdyYXBwZXIpOgpDb25uZWN0IHRoZSBmaW5pc2hlZCBzaWduYWwgdG8gdGhlIG5l
dyBzZXRGaW5pc2hlZCgpIHNsb3QuCgooV2ViQ29yZTo6UU5ldHdvcmtSZXBseVdyYXBwZXI6OnJl
c2V0Q29ubmVjdGlvbnMpOgpEbyBub3QgcmVzZXQgdGhlIGNvbm5lY3Rpb24gdG8gc2V0RmluaXNo
ZWQoKS4KCihXZWJDb3JlOjpRTmV0d29ya1JlcGx5V3JhcHBlcjo6c2V0RmluaXNoZWQpOgpTZXQg
dGhlIGR5bmFtaWMgcHJvcGVydHkgaW4gdGhlIHJlcGx5LgoKKFdlYkNvcmU6OlFOZXR3b3JrUmVw
bHlXcmFwcGVyOjplbWl0TWV0YURhdGFDaGFuZ2VkKToKKFdlYkNvcmU6OlFOZXR3b3JrUmVwbHlI
YW5kbGVyOjpzdGFydCk6CkNoYW5nZSB0byB1c2Ugd3JhcHBlcidzIGlzRmluaXNoZWQoKSBpbnN0
ZWFkIG9mIGFza2luZyB0aGUgcmVwbHkgZGlyZWN0bHkuCgoqIHBsYXRmb3JtL25ldHdvcmsvcXQv
UU5ldHdvcmtSZXBseUhhbmRsZXIuaDoKKFdlYkNvcmU6OlFOZXR3b3JrUmVwbHlXcmFwcGVyOjpp
c0ZpbmlzaGVkKToKSGVscGVyIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0cnVlIGlmIHdlIGhhdmUg
c29tZSBldmlkZW5jZSB0aGF0IHRoZSByZXBseSBpcyBmaW5pc2hlZC4KCiogcGxhdGZvcm0vbmV0
d29yay9xdC9RdE1JTUVUeXBlU25pZmZlci5jcHA6CihRdE1JTUVUeXBlU25pZmZlcjo6c25pZmYp
OgpVc2UgaXNSZXBseUZpbmlzaGVkKCkgaW5zdGVhZCBvZiBhc2tpbmcgdGhlIHJlcGx5IGRpcmVj
dGx5LgoKKiBwbGF0Zm9ybS9uZXR3b3JrL3F0L1F0TUlNRVR5cGVTbmlmZmVyLmg6CihRdE1JTUVU
eXBlU25pZmZlcjo6aXNSZXBseUZpbmlzaGVkKToKSGVscGVyIGZ1bmN0aW9uIHRoYXQgcmV0dXJu
cyB0cnVlIGlmIHdlIGhhdmUgc29tZSBldmlkZW5jZSB0aGF0IHRoZSByZXBseSBpcyBmaW5pc2hl
ZC4KLS0tCiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAg
ICB8ICAgNDkgKysrKysrKysrKysrKysrKysrKysKIC4uLi9wbGF0Zm9ybS9uZXR3b3JrL3F0L1FO
ZXR3b3JrUmVwbHlIYW5kbGVyLmNwcCAgIHwgICAyNyArKysrKysrKy0tCiAuLi4vcGxhdGZvcm0v
bmV0d29yay9xdC9RTmV0d29ya1JlcGx5SGFuZGxlci5oICAgICB8ICAgIDQgKysKIC4uLi9wbGF0
Zm9ybS9uZXR3b3JrL3F0L1F0TUlNRVR5cGVTbmlmZmVyLmNwcCAgICAgIHwgICAgMiArLQogLi4u
L3BsYXRmb3JtL25ldHdvcmsvcXQvUXRNSU1FVHlwZVNuaWZmZXIuaCAgICAgICAgfCAgICA2ICsr
LQogNSBmaWxlcyBjaGFuZ2VkLCA3OSBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCAwMTVhNmE1Li5jNmI0MDU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTIgQEAK
KzIwMTEtMDQtMjggIENhaW8gTWFyY2VsbyBkZSBPbGl2ZWlyYSBGaWxobyAgPGNhaW8ub2xpdmVp
cmFAb3BlbmJvc3NhLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBbUXRdIEZpeCBRTmV0d29ya1JlcGx5V3JhcHBlciB0byBub3QgZGVwZW5kIG9u
IFFOZXR3b3JrUmVwbHk6OmlzRmluaXNoZWQoKSBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU5MDcwCisKKyAgICAgICAgQXBwbGljYXRpb25z
IHVzaW5nIG91ciBBUEkgYW5kIG91ciBhdXRvdGVzdHMgc3ViY2xhc3MgUU5ldHdvcmtSZXBseSBh
cyBwYXJ0IG9mIHByb3ZpZGluZyBhCisgICAgICAgIGN1c3RvbSBRTmV0d29ya0FjY2Vzc01hbmFn
ZXIuIEJ1dCB0aGVyZSdzIGFuIEFQSSBsaW1pdGF0aW9uIGluIFF0IDQuNywgdGhhdCBtYWtlcwor
ICAgICAgICBRTmV0d29ya1JlcGx5Ojppc0ZpbmlzaGVkKCkgYWx3YXlzIGJlIGZhbHNlIGZvciB0
aGVzZSBjdXN0b20gcmVwbGllcy4gVGhpcyB3YXMgZml4ZWQgaW4gUXQKKyAgICAgICAgNC44LCBz
ZWUgaHR0cDovL2J1Z3JlcG9ydHMucXQubm9raWEuY29tL2Jyb3dzZS9RVEJVRy0xMTczNy4KKwor
ICAgICAgICBUaGUgY29uc2VxdWVuY2UgaXMgdGhhdCBRdFdlYktpdCBjYW5ub3QgcmVseSBvbiB0
aGlzIGZ1bmN0aW9uLiBTbyBub3cgUU5ldHdvcmtSZXBseVdyYXBwZXIKKyAgICAgICAgd2F0Y2hl
cyBmb3IgdGhlIGZpbmlzaGVkKCkgc2lnbmFsIGFuZCBzZXQgYSBkeW5hbWljIHByb3BlcnR5ICJf
cV9pc0ZpbmlzaGVkIiBvbiB0aGUgcmVwbHkKKyAgICAgICAgaW5kaWNhdGluZyB0aGF0IGl0IGlz
IGZpbmlzaGVkLgorCisgICAgICAgIEhvd2V2ZXIsIHdlIGNhbid0IHVzZSBvbmx5IHRoZSBkeW5h
bWljIHByb3BlcnR5IHNpbmNlIGZvciBzeW5jaHJvbm91cyBsb2FkaW5nLCBRdCdzIHJlcGxpZXMK
KyAgICAgICAgYXJlIGZpbmlzaGVkIGJlZm9yZSB3ZSBjYW4ga25vdyBhYm91dCBpdC4gU28gd2Ug
Y2hlY2sgYm90aCBwbGFjZXMgKG9yaWdpbmFsIGlzRmluaXNoZWQoKQorICAgICAgICBhbmQgdGhl
IGR5bmFtaWMgcHJvcGVydHkpIHRvIGRlY2lkZS4KKworICAgICAgICBUaGlzIGZpeGVzIHRzdF9R
V2ViRnJhbWU6OnJlcXVlc3RlZFVybCgpLCB0aGF0IHdhcyBicmVha2luZyBiZWNhdXNlIHNuaWZm
ZXIgd2FzIG5vdAorICAgICAgICBlbWl0dGluZyBpdHMgb3duIGZpbmlzaGVkKCkgc2lnbmFsLCBj
YXVzaW5nIFFXZWJGcmFtZTo6bG9hZEZpbmlzaGVkKCkgdG8gbm90IGJlIGVtaXR0ZWQuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlFOZXR3b3JrUmVwbHlXcmFwcGVyOjpRTmV0d29ya1JlcGx5V3JhcHBl
cik6CisgICAgICAgIENvbm5lY3QgdGhlIGZpbmlzaGVkIHNpZ25hbCB0byB0aGUgbmV3IHNldEZp
bmlzaGVkKCkgc2xvdC4KKworICAgICAgICAoV2ViQ29yZTo6UU5ldHdvcmtSZXBseVdyYXBwZXI6
OnJlc2V0Q29ubmVjdGlvbnMpOgorICAgICAgICBEbyBub3QgcmVzZXQgdGhlIGNvbm5lY3Rpb24g
dG8gc2V0RmluaXNoZWQoKS4KKworICAgICAgICAoV2ViQ29yZTo6UU5ldHdvcmtSZXBseVdyYXBw
ZXI6OnNldEZpbmlzaGVkKToKKyAgICAgICAgU2V0IHRoZSBkeW5hbWljIHByb3BlcnR5IGluIHRo
ZSByZXBseS4KKworICAgICAgICAoV2ViQ29yZTo6UU5ldHdvcmtSZXBseVdyYXBwZXI6OmVtaXRN
ZXRhRGF0YUNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6UU5ldHdvcmtSZXBseUhhbmRsZXI6
OnN0YXJ0KToKKyAgICAgICAgQ2hhbmdlIHRvIHVzZSB3cmFwcGVyJ3MgaXNGaW5pc2hlZCgpIGlu
c3RlYWQgb2YgYXNraW5nIHRoZSByZXBseSBkaXJlY3RseS4KKworICAgICAgICAqIHBsYXRmb3Jt
L25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlFO
ZXR3b3JrUmVwbHlXcmFwcGVyOjppc0ZpbmlzaGVkKToKKyAgICAgICAgSGVscGVyIGZ1bmN0aW9u
IHRoYXQgcmV0dXJucyB0cnVlIGlmIHdlIGhhdmUgc29tZSBldmlkZW5jZSB0aGF0IHRoZSByZXBs
eSBpcyBmaW5pc2hlZC4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvcXQvUXRNSU1FVHlw
ZVNuaWZmZXIuY3BwOgorICAgICAgICAoUXRNSU1FVHlwZVNuaWZmZXI6OnNuaWZmKToKKyAgICAg
ICAgVXNlIGlzUmVwbHlGaW5pc2hlZCgpIGluc3RlYWQgb2YgYXNraW5nIHRoZSByZXBseSBkaXJl
Y3RseS4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvcXQvUXRNSU1FVHlwZVNuaWZmZXIu
aDoKKyAgICAgICAgKFF0TUlNRVR5cGVTbmlmZmVyOjppc1JlcGx5RmluaXNoZWQpOgorICAgICAg
ICBIZWxwZXIgZnVuY3Rpb24gdGhhdCByZXR1cm5zIHRydWUgaWYgd2UgaGF2ZSBzb21lIGV2aWRl
bmNlIHRoYXQgdGhlIHJlcGx5IGlzIGZpbmlzaGVkLgorCiAyMDExLTA0LTI4ICBBbGV4YW5kZXIg
UGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgWXVy
eSBTZW1pa2hhdHNreS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9xdC9RTmV0d29ya1JlcGx5SGFuZGxlci5jcHAKaW5kZXggYjI3YzhmNC4uY2YzYmEw
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29y
a1JlcGx5SGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9x
dC9RTmV0d29ya1JlcGx5SGFuZGxlci5jcHAKQEAgLTIxNSw4ICsyMTUsMTAgQEAgUU5ldHdvcmtS
ZXBseVdyYXBwZXI6OlFOZXR3b3JrUmVwbHlXcmFwcGVyKFFOZXR3b3JrUmVwbHlIYW5kbGVyQ2Fs
bFF1ZXVlKiBxdWV1ZSwKIHsKICAgICBRX0FTU0VSVChtX3JlcGx5KTsKIAotICAgIGNvbm5lY3Qo
bV9yZXBseSwgU0lHTkFMKHJlYWR5UmVhZCgpKSwgdGhpcywgU0xPVChyZWNlaXZlTWV0YURhdGEo
KSkpOworICAgIC8vIHNldEZpbmlzaGVkKCkgbXVzdCBiZSB0aGUgZmlyc3QgdGhhdCB3ZSBjb25u
ZWN0LCBzbyBpc0ZpbmlzaGVkKCkgaXMgdXBkYXRlZCB3aGVuIHJ1bm5pbmcgb3RoZXIgc2xvdHMu
CisgICAgY29ubmVjdChtX3JlcGx5LCBTSUdOQUwoZmluaXNoZWQoKSksIHRoaXMsIFNMT1Qoc2V0
RmluaXNoZWQoKSkpOwogICAgIGNvbm5lY3QobV9yZXBseSwgU0lHTkFMKGZpbmlzaGVkKCkpLCB0
aGlzLCBTTE9UKHJlY2VpdmVNZXRhRGF0YSgpKSk7CisgICAgY29ubmVjdChtX3JlcGx5LCBTSUdO
QUwocmVhZHlSZWFkKCkpLCB0aGlzLCBTTE9UKHJlY2VpdmVNZXRhRGF0YSgpKSk7CiB9CiAKIFFO
ZXR3b3JrUmVwbHlXcmFwcGVyOjp+UU5ldHdvcmtSZXBseVdyYXBwZXIoKQpAQCAtMjQyLDggKzI0
NCwxMiBAQCBRTmV0d29ya1JlcGx5KiBRTmV0d29ya1JlcGx5V3JhcHBlcjo6cmVsZWFzZSgpCiAK
IHZvaWQgUU5ldHdvcmtSZXBseVdyYXBwZXI6OnJlc2V0Q29ubmVjdGlvbnMoKQogewotICAgIGlm
IChtX3JlcGx5KQotICAgICAgICBtX3JlcGx5LT5kaXNjb25uZWN0KHRoaXMpOworICAgIGlmICht
X3JlcGx5KSB7CisgICAgICAgIC8vIERpc2Nvbm5lY3QgYWxsIGNvbm5lY3Rpb25zIGV4Y2VwdCB0
aGUgb25lIHRvIHNldEZpbmlzaGVkKCkgc2xvdC4KKyAgICAgICAgbV9yZXBseS0+ZGlzY29ubmVj
dCh0aGlzLCBTTE9UKHJlY2VpdmVNZXRhRGF0YSgpKSk7CisgICAgICAgIG1fcmVwbHktPmRpc2Nv
bm5lY3QodGhpcywgU0xPVChkaWRSZWNlaXZlRmluaXNoZWQoKSkpOworICAgICAgICBtX3JlcGx5
LT5kaXNjb25uZWN0KHRoaXMsIFNMT1QoZGlkUmVjZWl2ZVJlYWR5UmVhZCgpKSk7CisgICAgfQog
ICAgIFFDb3JlQXBwbGljYXRpb246OnJlbW92ZVBvc3RlZEV2ZW50cyh0aGlzLCBRRXZlbnQ6Ok1l
dGFDYWxsKTsKIH0KIApAQCAtMjUyLDcgKzI1OCw2IEBAIHZvaWQgUU5ldHdvcmtSZXBseVdyYXBw
ZXI6OnJlY2VpdmVNZXRhRGF0YSgpCiAgICAgLy8gVGhpcyBzbG90IGlzIG9ubHkgdXNlZCB0byBy
ZWNlaXZlIHRoZSBmaXJzdCBzaWduYWwgZnJvbSB0aGUgUU5ldHdvcmtSZXBseSBvYmplY3QuCiAg
ICAgcmVzZXRDb25uZWN0aW9ucygpOwogCi0KICAgICBXVEY6OlN0cmluZyBjb250ZW50VHlwZSA9
IG1fcmVwbHktPmhlYWRlcihRTmV0d29ya1JlcXVlc3Q6OkNvbnRlbnRUeXBlSGVhZGVyKS50b1N0
cmluZygpOwogICAgIG1fZW5jb2RpbmcgPSBleHRyYWN0Q2hhcnNldEZyb21NZWRpYVR5cGUoY29u
dGVudFR5cGUpOwogICAgIG1fYWR2ZXJ0aXNlZE1JTUVUeXBlID0gZXh0cmFjdE1JTUVUeXBlRnJv
bU1lZGlhVHlwZShjb250ZW50VHlwZSk7CkBAIC0yOTQsNiArMjk5LDE2IEBAIHZvaWQgUU5ldHdv
cmtSZXBseVdyYXBwZXI6OnJlY2VpdmVTbmlmZmVkTUlNRVR5cGUoKQogICAgIGVtaXRNZXRhRGF0
YUNoYW5nZWQoKTsKIH0KIAordm9pZCBRTmV0d29ya1JlcGx5V3JhcHBlcjo6c2V0RmluaXNoZWQo
KQoreworICAgIC8vIEJlY2F1c2Ugb2YgdGhlIHdheSBRTmV0d29ya1JlcGx5IGlzIGltcGxlbWVu
dGVkLCB3aGVuIHlvdSBjcmVhdGUgYSBzdWJjbGFzcyBvZgorICAgIC8vIFFOZXR3b3JrUmVwbHks
IHRoZSBRTmV0d29ya1JlcGx5Ojppc0ZpbmlzaGVkKCkgaXMgbmV2ZXIgdHJ1ZSwgc28gd2UgbmVl
ZCB0byBrZWVwIHRyYWNrCisgICAgLy8gb3Vyc2VsdmVzLiBUaGlzIGxpbWl0YXRpb24gaXMgZml4
ZWQgaW4gNC44LCBidXQgd2UnbGwgc3RpbGwgaGF2ZSBhcHBsaWNhdGlvbnMgdGhhdCBkb2Vzbid0
CisgICAgLy8gdXNlIHRoZSBzb2x1dGlvbi4gU2VlIGh0dHA6Ly9idWdyZXBvcnRzLnF0Lm5va2lh
LmNvbS9icm93c2UvUVRCVUctMTE3MzcgZm9yIGRldGFpbHMuCisgICAgUV9BU1NFUlQoIWlzRmlu
aXNoZWQoKSk7CisgICAgbV9yZXBseS0+c2V0UHJvcGVydHkoIl9xX2lzRmluaXNoZWQiLCB0cnVl
KTsKK30KKwogdm9pZCBRTmV0d29ya1JlcGx5V3JhcHBlcjo6ZW1pdE1ldGFEYXRhQ2hhbmdlZCgp
CiB7CiAgICAgUXVldWVMb2NrZXIgbG9jayhtX3F1ZXVlKTsKQEAgLTMwNCw3ICszMTksNyBAQCB2
b2lkIFFOZXR3b3JrUmVwbHlXcmFwcGVyOjplbWl0TWV0YURhdGFDaGFuZ2VkKCkKICAgICAgICAg
bV9xdWV1ZS0+cHVzaCgmUU5ldHdvcmtSZXBseUhhbmRsZXI6OmZvcndhcmREYXRhKTsKICAgICB9
CiAKLSAgICBpZiAobV9yZXBseS0+aXNGaW5pc2hlZCgpKSB7CisgICAgaWYgKGlzRmluaXNoZWQo
KSkgewogICAgICAgICBtX3F1ZXVlLT5wdXNoKCZRTmV0d29ya1JlcGx5SGFuZGxlcjo6ZmluaXNo
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTY0Miw3ICs2NTcsNyBAQCB2b2lkIFFOZXR3
b3JrUmVwbHlIYW5kbGVyOjpzdGFydCgpCiAKICAgICBtX3JlcGx5V3JhcHBlciA9IG5ldyBRTmV0
d29ya1JlcGx5V3JhcHBlcigmbV9xdWV1ZSwgcmVwbHksIG1fcmVzb3VyY2VIYW5kbGUtPnNob3Vs
ZENvbnRlbnRTbmlmZigpICYmIGQtPm1fY29udGV4dC0+bWltZVNuaWZmaW5nRW5hYmxlZCgpLCB0
aGlzKTsKIAotICAgIGlmIChtX2xvYWRUeXBlID09IFN5bmNocm9ub3VzTG9hZCAmJiBtX3JlcGx5
V3JhcHBlci0+cmVwbHkoKS0+aXNGaW5pc2hlZCgpKSB7CisgICAgaWYgKG1fbG9hZFR5cGUgPT0g
U3luY2hyb25vdXNMb2FkICYmIG1fcmVwbHlXcmFwcGVyLT5pc0ZpbmlzaGVkKCkpIHsKICAgICAg
ICAgbV9yZXBseVdyYXBwZXItPnN5bmNocm9ub3VzTG9hZCgpOwogICAgICAgICAvLyBJZiBzdXBw
b3J0ZWQsIGEgc3luY2hyb25vdXMgcmVxdWVzdCB3aWxsIGJlIGZpbmlzaGVkIGF0IHRoaXMgcG9p
bnQsIG5vIG5lZWQgdG8gaG9vayB1cCB0aGUgc2lnbmFscy4KICAgICAgICAgcmV0dXJuOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1JlcGx5
SGFuZGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1Jl
cGx5SGFuZGxlci5oCmluZGV4IGVjNGU2NWEuLjk2YmViYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmgK
QEAgLTgwLDExICs4MCwxNSBAQCBwdWJsaWM6CiAgICAgYm9vbCByZXNwb25zZUNvbnRhaW5zRGF0
YSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzcG9uc2VDb250YWluc0RhdGE7IH0KICAgICBib29sIHdh
c1JlZGlyZWN0ZWQoKSBjb25zdCB7IHJldHVybiBtX3JlZGlyZWN0aW9uVGFyZ2V0VXJsLmlzVmFs
aWQoKTsgfQogCisgICAgLy8gU2VlIHNldEZpbmlzaGVkKCkuCisgICAgYm9vbCBpc0ZpbmlzaGVk
KCkgY29uc3QgeyByZXR1cm4gbV9yZXBseS0+aXNGaW5pc2hlZCgpIHx8IG1fcmVwbHktPnByb3Bl
cnR5KCJfcV9pc0ZpbmlzaGVkIikudG9Cb29sKCk7IH0KKwogcHJpdmF0ZSBRX1NMT1RTOgogICAg
IHZvaWQgcmVjZWl2ZU1ldGFEYXRhKCk7CiAgICAgdm9pZCBkaWRSZWNlaXZlRmluaXNoZWQoKTsK
ICAgICB2b2lkIGRpZFJlY2VpdmVSZWFkeVJlYWQoKTsKICAgICB2b2lkIHJlY2VpdmVTbmlmZmVk
TUlNRVR5cGUoKTsKKyAgICB2b2lkIHNldEZpbmlzaGVkKCk7CiAKIHByaXZhdGU6CiAgICAgdm9p
ZCByZXNldENvbm5lY3Rpb25zKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3F0L1F0TUlNRVR5cGVTbmlmZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvcXQvUXRNSU1FVHlwZVNuaWZmZXIuY3BwCmluZGV4IGU3MTliODAuLjk0ZGM4
N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUXRNSU1F
VHlwZVNuaWZmZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQv
UXRNSU1FVHlwZVNuaWZmZXIuY3BwCkBAIC00MSw3ICs0MSw3IEBAIFF0TUlNRVR5cGVTbmlmZmVy
OjpRdE1JTUVUeXBlU25pZmZlcihRTmV0d29ya1JlcGx5KiByZXBseSwgY29uc3QgUVN0cmluZyYg
YWR2ZXJ0CiAKIGJvb2wgUXRNSU1FVHlwZVNuaWZmZXI6OnNuaWZmKCkKIHsKLSAgICBpZiAoIW1f
cmVwbHktPmlzRmluaXNoZWQoKSAmJiBtX3JlcGx5LT5ieXRlc0F2YWlsYWJsZSgpIDwgbV9zbmlm
ZmVyLmRhdGFTaXplKCkpCisgICAgaWYgKCFpc1JlcGx5RmluaXNoZWQoKSAmJiBtX3JlcGx5LT5i
eXRlc0F2YWlsYWJsZSgpIDwgbV9zbmlmZmVyLmRhdGFTaXplKCkpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKIAogICAgIFFCeXRlQXJyYXkgZGF0YSA9IG1fcmVwbHktPnBlZWsobV9zbmlmZmVyLmRh
dGFTaXplKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9x
dC9RdE1JTUVUeXBlU25pZmZlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9x
dC9RdE1JTUVUeXBlU25pZmZlci5oCmluZGV4IDU0MjQ5MDYuLjYyNGQ0OGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUXRNSU1FVHlwZVNuaWZmZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1F0TUlNRVR5cGVTbmlmZmVy
LmgKQEAgLTIxLDEwICsyMSw5IEBACiAjZGVmaW5lIFF0TUlNRVR5cGVTbmlmZmVyX2gKIAogI2lu
Y2x1ZGUgIk1JTUVTbmlmZmluZy5oIgorI2luY2x1ZGUgPFFOZXR3b3JrUmVwbHk+CiAjaW5jbHVk
ZSA8UU9iamVjdD4KIAotY2xhc3MgUU5ldHdvcmtSZXBseTsKLQogY2xhc3MgUXRNSU1FVHlwZVNu
aWZmZXIgOiBwdWJsaWMgUU9iamVjdCB7CiAgICAgUV9PQkpFQ1QKIHB1YmxpYzoKQEAgLTQxLDYg
KzQwLDkgQEAgcHJpdmF0ZSBzbG90czoKIHByaXZhdGU6CiAgICAgYm9vbCBzbmlmZigpOwogCisg
ICAgLy8gU2VlIFFOZXR3b3JrUmVwbHlXcmFwcGVyOjpzZXRGaW5pc2hlZCgpLgorICAgIGJvb2wg
aXNSZXBseUZpbmlzaGVkKCkgY29uc3QgeyByZXR1cm4gbV9yZXBseS0+aXNGaW5pc2hlZCgpIHx8
IG1fcmVwbHktPnByb3BlcnR5KCJfcV9pc0ZpbmlzaGVkIikudG9Cb29sKCk7IH0KKwogICAgIFFO
ZXR3b3JrUmVwbHkqIG1fcmVwbHk7CiAgICAgUVN0cmluZyBtX21pbWVUeXBlOwogICAgIE1JTUVT
bmlmZmVyIG1fc25pZmZlcjsKLS0gCjEuNy40LjQKCg==
</data>
<flag name="review"
          id="84455"
          type_id="1"
          status="-"
          setter="luiz"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91986</attachid>
            <date>2011-05-02 14:54:33 -0700</date>
            <delta_ts>2011-05-02 15:00:27 -0700</delta_ts>
            <desc>patch v4, use fact that synchronous loads are always finished</desc>
            <filename>0001-Qt-Fix-QNetworkReplyWrapper-to-not-depend-on-QNetwor.patch</filename>
            <type>text/plain</type>
            <size>10164</size>
            <attacher name="Caio Marcelo de Oliveira Filho">cmarcelo</attacher>
            
              <data encoding="base64">RnJvbSAzODMzZDVjZTI2MDdjYmIyZWY1NjM3YWQzYmU3MzFmYTc0NTVhMmQ3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDYWlvIE1hcmNlbG8gZGUgT2xpdmVpcmEgRmlsaG8gPGNhaW8u
b2xpdmVpcmFAb3BlbmJvc3NhLm9yZz4KRGF0ZTogTW9uLCAyIE1heSAyMDExIDE4OjUxOjE5IC0w
MzAwClN1YmplY3Q6IFtQQVRDSF0gW1F0XSBGaXggUU5ldHdvcmtSZXBseVdyYXBwZXIgdG8gbm90
IGRlcGVuZCBvbgogUU5ldHdvcmtSZXBseTo6aXNGaW5pc2hlZCgpIG1ldGhvZAogaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU5MDcwCgpSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KCkFwcGxpY2F0aW9ucyB1c2luZyBvdXIgQVBJIGFuZCBvdXIgYXV0b3Rlc3RzIHN1
YmNsYXNzIFFOZXR3b3JrUmVwbHkgYXMgcGFydCBvZiBwcm92aWRpbmcgYQpjdXN0b20gUU5ldHdv
cmtBY2Nlc3NNYW5hZ2VyLiBCdXQgdGhlcmUncyBhbiBBUEkgbGltaXRhdGlvbiBpbiBRdCA0Ljcs
IHRoYXQgbWFrZXMKUU5ldHdvcmtSZXBseTo6aXNGaW5pc2hlZCgpIGFsd2F5cyBiZSBmYWxzZSBm
b3IgdGhlc2UgY3VzdG9tIHJlcGxpZXMuIFRoaXMgd2FzIGZpeGVkIGluIFF0CjQuOCwgc2VlIGh0
dHA6Ly9idWdyZXBvcnRzLnF0Lm5va2lhLmNvbS9icm93c2UvUVRCVUctMTE3MzcuCgpUaGUgY29u
c2VxdWVuY2UgaXMgdGhhdCBRdFdlYktpdCBjYW5ub3QgcmVseSBvbiB0aGlzIGZ1bmN0aW9uLiBT
byBub3cgUU5ldHdvcmtSZXBseVdyYXBwZXIKd2F0Y2hlcyBmb3IgdGhlIGZpbmlzaGVkKCkgc2ln
bmFsIGFuZCBzZXQgYSBkeW5hbWljIHByb3BlcnR5ICJfcV9pc0ZpbmlzaGVkIiBvbiB0aGUgcmVw
bHkKaW5kaWNhdGluZyB0aGF0IGl0IGlzIGZpbmlzaGVkLiBXaGVuIHRoZXJlJ3Mgbm8gZmluaXNo
ZWQgc2lnbmFsIChzeW5jaHJvbm91cykgd2Ugc2V0IHRoZQpkeW5hbWljIHByb3BlcnR5IG9uY2Ug
d2UgZ2V0IHRoZSByZXBseS4KClRoaXMgZml4ZXMgdHN0X1FXZWJGcmFtZTo6cmVxdWVzdGVkVXJs
KCksIHRoYXQgd2FzIGJyZWFraW5nIGJlY2F1c2Ugc25pZmZlciB3YXMgbm90CmVtaXR0aW5nIGl0
cyBvd24gZmluaXNoZWQoKSBzaWduYWwsIGNhdXNpbmcgUVdlYkZyYW1lOjpsb2FkRmluaXNoZWQo
KSB0byBub3QgYmUgZW1pdHRlZC4KCiogcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1JlcGx5
SGFuZGxlci5jcHA6CihXZWJDb3JlOjpRTmV0d29ya1JlcGx5V3JhcHBlcjo6UU5ldHdvcmtSZXBs
eVdyYXBwZXIpOgpDb25uZWN0IHRoZSBmaW5pc2hlZCBzaWduYWwgdG8gdGhlIG5ldyBzZXRGaW5p
c2hlZCgpIHNsb3QuCgooV2ViQ29yZTo6UU5ldHdvcmtSZXBseVdyYXBwZXI6OnN5bmNocm9ub3Vz
TG9hZCk6ClNpbmNlIHdlIGRvbid0IGdldCB0aGUgZmluaXNoZWQgc2lnbmFsIGZvciBzeW5jaHJv
bm91cyBsb2Fkcywgc2V0IHRoZSBkeW5hbWljIHByb3BlcnR5CmJlZm9yZSBwcm9jZXNzaW5nIGl0
LgoKKFdlYkNvcmU6OlFOZXR3b3JrUmVwbHlXcmFwcGVyOjpyZXNldENvbm5lY3Rpb25zKToKRG8g
bm90IHJlc2V0IHRoZSBjb25uZWN0aW9uIHRvIHNldEZpbmlzaGVkKCkuCgooV2ViQ29yZTo6UU5l
dHdvcmtSZXBseVdyYXBwZXI6OnNldEZpbmlzaGVkKToKU2V0IHRoZSBkeW5hbWljIHByb3BlcnR5
IGluIHRoZSByZXBseS4KCihXZWJDb3JlOjpRTmV0d29ya1JlcGx5V3JhcHBlcjo6ZW1pdE1ldGFE
YXRhQ2hhbmdlZCk6CihXZWJDb3JlOjpRTmV0d29ya1JlcGx5SGFuZGxlcjo6c3RhcnQpOgpDaGFu
Z2UgdG8gdXNlIHdyYXBwZXIncyBpc0ZpbmlzaGVkKCkgaW5zdGVhZCBvZiBhc2tpbmcgdGhlIHJl
cGx5IGRpcmVjdGx5LgoKKiBwbGF0Zm9ybS9uZXR3b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVy
Lmg6CihXZWJDb3JlOjpRTmV0d29ya1JlcGx5V3JhcHBlcjo6aXNGaW5pc2hlZCk6CkNoZWNrcyB0
aGUgZHluYW1pYyBwcm9wZXJ0eSBvZiB0aGUgcmVwbHkuCgoqIHBsYXRmb3JtL25ldHdvcmsvcXQv
UXRNSU1FVHlwZVNuaWZmZXIuY3BwOgooUXRNSU1FVHlwZVNuaWZmZXI6OnNuaWZmKToKVXNlIHRo
ZSBkeW5hbWljIHByb3BlcnR5IHRvIGNoZWNrIGlmIHRoZSByZXBseSBpcyBmaW5pc2hlZC4KLS0t
CiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAg
NDYgKysrKysrKysrKysrKysrKysrKysKIC4uLi9wbGF0Zm9ybS9uZXR3b3JrL3F0L1FOZXR3b3Jr
UmVwbHlIYW5kbGVyLmNwcCAgIHwgICAzMiArKysrKysrKysrKy0tCiAuLi4vcGxhdGZvcm0vbmV0
d29yay9xdC9RTmV0d29ya1JlcGx5SGFuZGxlci5oICAgICB8ICAgIDkgKysrLQogLi4uL3BsYXRm
b3JtL25ldHdvcmsvcXQvUXRNSU1FVHlwZVNuaWZmZXIuY3BwICAgICAgfCAgICA1ICsrLQogNCBm
aWxlcyBjaGFuZ2VkLCA4NCBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCA2MzFiMmExLi43NjhiMDk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDkgQEAKKzIwMTEt
MDUtMDIgIENhaW8gTWFyY2VsbyBkZSBPbGl2ZWlyYSBGaWxobyAgPGNhaW8ub2xpdmVpcmFAb3Bl
bmJvc3NhLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBbUXRdIEZpeCBRTmV0d29ya1JlcGx5V3JhcHBlciB0byBub3QgZGVwZW5kIG9uIFFOZXR3
b3JrUmVwbHk6OmlzRmluaXNoZWQoKSBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTU5MDcwCisKKyAgICAgICAgQXBwbGljYXRpb25zIHVzaW5n
IG91ciBBUEkgYW5kIG91ciBhdXRvdGVzdHMgc3ViY2xhc3MgUU5ldHdvcmtSZXBseSBhcyBwYXJ0
IG9mIHByb3ZpZGluZyBhCisgICAgICAgIGN1c3RvbSBRTmV0d29ya0FjY2Vzc01hbmFnZXIuIEJ1
dCB0aGVyZSdzIGFuIEFQSSBsaW1pdGF0aW9uIGluIFF0IDQuNywgdGhhdCBtYWtlcworICAgICAg
ICBRTmV0d29ya1JlcGx5Ojppc0ZpbmlzaGVkKCkgYWx3YXlzIGJlIGZhbHNlIGZvciB0aGVzZSBj
dXN0b20gcmVwbGllcy4gVGhpcyB3YXMgZml4ZWQgaW4gUXQKKyAgICAgICAgNC44LCBzZWUgaHR0
cDovL2J1Z3JlcG9ydHMucXQubm9raWEuY29tL2Jyb3dzZS9RVEJVRy0xMTczNy4KKworICAgICAg
ICBUaGUgY29uc2VxdWVuY2UgaXMgdGhhdCBRdFdlYktpdCBjYW5ub3QgcmVseSBvbiB0aGlzIGZ1
bmN0aW9uLiBTbyBub3cgUU5ldHdvcmtSZXBseVdyYXBwZXIKKyAgICAgICAgd2F0Y2hlcyBmb3Ig
dGhlIGZpbmlzaGVkKCkgc2lnbmFsIGFuZCBzZXQgYSBkeW5hbWljIHByb3BlcnR5ICJfcV9pc0Zp
bmlzaGVkIiBvbiB0aGUgcmVwbHkKKyAgICAgICAgaW5kaWNhdGluZyB0aGF0IGl0IGlzIGZpbmlz
aGVkLiBXaGVuIHRoZXJlJ3Mgbm8gZmluaXNoZWQgc2lnbmFsIChzeW5jaHJvbm91cykgd2Ugc2V0
IHRoZQorICAgICAgICBkeW5hbWljIHByb3BlcnR5IG9uY2Ugd2UgZ2V0IHRoZSByZXBseS4KKwor
ICAgICAgICBUaGlzIGZpeGVzIHRzdF9RV2ViRnJhbWU6OnJlcXVlc3RlZFVybCgpLCB0aGF0IHdh
cyBicmVha2luZyBiZWNhdXNlIHNuaWZmZXIgd2FzIG5vdAorICAgICAgICBlbWl0dGluZyBpdHMg
b3duIGZpbmlzaGVkKCkgc2lnbmFsLCBjYXVzaW5nIFFXZWJGcmFtZTo6bG9hZEZpbmlzaGVkKCkg
dG8gbm90IGJlIGVtaXR0ZWQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3F0L1FOZXR3
b3JrUmVwbHlIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlFOZXR3b3JrUmVwbHlXcmFw
cGVyOjpRTmV0d29ya1JlcGx5V3JhcHBlcik6CisgICAgICAgIENvbm5lY3QgdGhlIGZpbmlzaGVk
IHNpZ25hbCB0byB0aGUgbmV3IHNldEZpbmlzaGVkKCkgc2xvdC4KKworICAgICAgICAoV2ViQ29y
ZTo6UU5ldHdvcmtSZXBseVdyYXBwZXI6OnN5bmNocm9ub3VzTG9hZCk6CisgICAgICAgIFNpbmNl
IHdlIGRvbid0IGdldCB0aGUgZmluaXNoZWQgc2lnbmFsIGZvciBzeW5jaHJvbm91cyBsb2Fkcywg
c2V0IHRoZSBkeW5hbWljIHByb3BlcnR5CisgICAgICAgIGJlZm9yZSBwcm9jZXNzaW5nIGl0Lgor
CisgICAgICAgIChXZWJDb3JlOjpRTmV0d29ya1JlcGx5V3JhcHBlcjo6cmVzZXRDb25uZWN0aW9u
cyk6CisgICAgICAgIERvIG5vdCByZXNldCB0aGUgY29ubmVjdGlvbiB0byBzZXRGaW5pc2hlZCgp
LgorCisgICAgICAgIChXZWJDb3JlOjpRTmV0d29ya1JlcGx5V3JhcHBlcjo6c2V0RmluaXNoZWQp
OgorICAgICAgICBTZXQgdGhlIGR5bmFtaWMgcHJvcGVydHkgaW4gdGhlIHJlcGx5LgorCisgICAg
ICAgIChXZWJDb3JlOjpRTmV0d29ya1JlcGx5V3JhcHBlcjo6ZW1pdE1ldGFEYXRhQ2hhbmdlZCk6
CisgICAgICAgIChXZWJDb3JlOjpRTmV0d29ya1JlcGx5SGFuZGxlcjo6c3RhcnQpOgorICAgICAg
ICBDaGFuZ2UgdG8gdXNlIHdyYXBwZXIncyBpc0ZpbmlzaGVkKCkgaW5zdGVhZCBvZiBhc2tpbmcg
dGhlIHJlcGx5IGRpcmVjdGx5LgorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0
d29ya1JlcGx5SGFuZGxlci5oOgorICAgICAgICAoV2ViQ29yZTo6UU5ldHdvcmtSZXBseVdyYXBw
ZXI6OmlzRmluaXNoZWQpOgorICAgICAgICBDaGVja3MgdGhlIGR5bmFtaWMgcHJvcGVydHkgb2Yg
dGhlIHJlcGx5LgorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9xdC9RdE1JTUVUeXBlU25p
ZmZlci5jcHA6CisgICAgICAgIChRdE1JTUVUeXBlU25pZmZlcjo6c25pZmYpOgorICAgICAgICBV
c2UgdGhlIGR5bmFtaWMgcHJvcGVydHkgdG8gY2hlY2sgaWYgdGhlIHJlcGx5IGlzIGZpbmlzaGVk
LgorCiAyMDExLTA1LTAyICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgR2F2aW4gQmFycmFjbG91Z2guCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuY3BwCmluZGV4
IDhiMDU1YmUuLmI0NTlmMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuY3BwCkBAIC0yMTQsOCArMjE0
LDEwIEBAIFFOZXR3b3JrUmVwbHlXcmFwcGVyOjpRTmV0d29ya1JlcGx5V3JhcHBlcihRTmV0d29y
a1JlcGx5SGFuZGxlckNhbGxRdWV1ZSogcXVldWUsCiB7CiAgICAgUV9BU1NFUlQobV9yZXBseSk7
CiAKLSAgICBjb25uZWN0KG1fcmVwbHksIFNJR05BTChyZWFkeVJlYWQoKSksIHRoaXMsIFNMT1Qo
cmVjZWl2ZU1ldGFEYXRhKCkpKTsKKyAgICAvLyBzZXRGaW5pc2hlZCgpIG11c3QgYmUgdGhlIGZp
cnN0IHRoYXQgd2UgY29ubmVjdCwgc28gaXNGaW5pc2hlZCgpIGlzIHVwZGF0ZWQgd2hlbiBydW5u
aW5nIG90aGVyIHNsb3RzLgorICAgIGNvbm5lY3QobV9yZXBseSwgU0lHTkFMKGZpbmlzaGVkKCkp
LCB0aGlzLCBTTE9UKHNldEZpbmlzaGVkKCkpKTsKICAgICBjb25uZWN0KG1fcmVwbHksIFNJR05B
TChmaW5pc2hlZCgpKSwgdGhpcywgU0xPVChyZWNlaXZlTWV0YURhdGEoKSkpOworICAgIGNvbm5l
Y3QobV9yZXBseSwgU0lHTkFMKHJlYWR5UmVhZCgpKSwgdGhpcywgU0xPVChyZWNlaXZlTWV0YURh
dGEoKSkpOwogfQogCiBRTmV0d29ya1JlcGx5V3JhcHBlcjo6flFOZXR3b3JrUmVwbHlXcmFwcGVy
KCkKQEAgLTIzOSwxMCArMjQxLDIwIEBAIFFOZXR3b3JrUmVwbHkqIFFOZXR3b3JrUmVwbHlXcmFw
cGVyOjpyZWxlYXNlKCkKICAgICByZXR1cm4gcmVwbHk7CiB9CiAKK3ZvaWQgUU5ldHdvcmtSZXBs
eVdyYXBwZXI6OnN5bmNocm9ub3VzTG9hZCgpCit7CisgICAgc2V0RmluaXNoZWQoKTsKKyAgICBy
ZWNlaXZlTWV0YURhdGEoKTsKK30KKwogdm9pZCBRTmV0d29ya1JlcGx5V3JhcHBlcjo6cmVzZXRD
b25uZWN0aW9ucygpCiB7Ci0gICAgaWYgKG1fcmVwbHkpCi0gICAgICAgIG1fcmVwbHktPmRpc2Nv
bm5lY3QodGhpcyk7CisgICAgaWYgKG1fcmVwbHkpIHsKKyAgICAgICAgLy8gRGlzY29ubmVjdCBh
bGwgY29ubmVjdGlvbnMgZXhjZXB0IHRoZSBvbmUgdG8gc2V0RmluaXNoZWQoKSBzbG90LgorICAg
ICAgICBtX3JlcGx5LT5kaXNjb25uZWN0KHRoaXMsIFNMT1QocmVjZWl2ZU1ldGFEYXRhKCkpKTsK
KyAgICAgICAgbV9yZXBseS0+ZGlzY29ubmVjdCh0aGlzLCBTTE9UKGRpZFJlY2VpdmVGaW5pc2hl
ZCgpKSk7CisgICAgICAgIG1fcmVwbHktPmRpc2Nvbm5lY3QodGhpcywgU0xPVChkaWRSZWNlaXZl
UmVhZHlSZWFkKCkpKTsKKyAgICB9CiAgICAgUUNvcmVBcHBsaWNhdGlvbjo6cmVtb3ZlUG9zdGVk
RXZlbnRzKHRoaXMsIFFFdmVudDo6TWV0YUNhbGwpOwogfQogCkBAIC0yOTMsNiArMzA1LDE2IEBA
IHZvaWQgUU5ldHdvcmtSZXBseVdyYXBwZXI6OnJlY2VpdmVTbmlmZmVkTUlNRVR5cGUoKQogICAg
IGVtaXRNZXRhRGF0YUNoYW5nZWQoKTsKIH0KIAordm9pZCBRTmV0d29ya1JlcGx5V3JhcHBlcjo6
c2V0RmluaXNoZWQoKQoreworICAgIC8vIEJlY2F1c2Ugb2YgdGhlIHdheSBRTmV0d29ya1JlcGx5
IGlzIGltcGxlbWVudGVkLCB3aGVuIHlvdSBjcmVhdGUgYSBzdWJjbGFzcyBvZgorICAgIC8vIFFO
ZXR3b3JrUmVwbHksIHRoZSBRTmV0d29ya1JlcGx5Ojppc0ZpbmlzaGVkKCkgaXMgbmV2ZXIgdHJ1
ZSwgc28gd2UgbmVlZCB0byBrZWVwIHRyYWNrCisgICAgLy8gb3Vyc2VsdmVzLiBUaGlzIGxpbWl0
YXRpb24gaXMgZml4ZWQgaW4gNC44LCBidXQgd2UnbGwgc3RpbGwgaGF2ZSBhcHBsaWNhdGlvbnMg
dGhhdCBkb2Vzbid0CisgICAgLy8gdXNlIHRoZSBzb2x1dGlvbi4gU2VlIGh0dHA6Ly9idWdyZXBv
cnRzLnF0Lm5va2lhLmNvbS9icm93c2UvUVRCVUctMTE3MzcgZm9yIGRldGFpbHMuCisgICAgUV9B
U1NFUlQoIWlzRmluaXNoZWQoKSk7CisgICAgbV9yZXBseS0+c2V0UHJvcGVydHkoIl9xX2lzRmlu
aXNoZWQiLCB0cnVlKTsKK30KKwogdm9pZCBRTmV0d29ya1JlcGx5V3JhcHBlcjo6ZW1pdE1ldGFE
YXRhQ2hhbmdlZCgpCiB7CiAgICAgUXVldWVMb2NrZXIgbG9jayhtX3F1ZXVlKTsKQEAgLTMwMyw3
ICszMjUsNyBAQCB2b2lkIFFOZXR3b3JrUmVwbHlXcmFwcGVyOjplbWl0TWV0YURhdGFDaGFuZ2Vk
KCkKICAgICAgICAgbV9xdWV1ZS0+cHVzaCgmUU5ldHdvcmtSZXBseUhhbmRsZXI6OmZvcndhcmRE
YXRhKTsKICAgICB9CiAKLSAgICBpZiAobV9yZXBseS0+aXNGaW5pc2hlZCgpKSB7CisgICAgaWYg
KGlzRmluaXNoZWQoKSkgewogICAgICAgICBtX3F1ZXVlLT5wdXNoKCZRTmV0d29ya1JlcGx5SGFu
ZGxlcjo6ZmluaXNoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTY0MCw3ICs2NjIsNyBA
QCB2b2lkIFFOZXR3b3JrUmVwbHlIYW5kbGVyOjpzdGFydCgpCiAKICAgICBtX3JlcGx5V3JhcHBl
ciA9IG5ldyBRTmV0d29ya1JlcGx5V3JhcHBlcigmbV9xdWV1ZSwgcmVwbHksIG1fcmVzb3VyY2VI
YW5kbGUtPnNob3VsZENvbnRlbnRTbmlmZigpICYmIGQtPm1fY29udGV4dC0+bWltZVNuaWZmaW5n
RW5hYmxlZCgpLCB0aGlzKTsKIAotICAgIGlmIChtX2xvYWRUeXBlID09IFN5bmNocm9ub3VzTG9h
ZCAmJiBtX3JlcGx5V3JhcHBlci0+cmVwbHkoKS0+aXNGaW5pc2hlZCgpKSB7CisgICAgaWYgKG1f
bG9hZFR5cGUgPT0gU3luY2hyb25vdXNMb2FkKSB7CiAgICAgICAgIG1fcmVwbHlXcmFwcGVyLT5z
eW5jaHJvbm91c0xvYWQoKTsKICAgICAgICAgLy8gSWYgc3VwcG9ydGVkLCBhIHN5bmNocm9ub3Vz
IHJlcXVlc3Qgd2lsbCBiZSBmaW5pc2hlZCBhdCB0aGlzIHBvaW50LCBubyBuZWVkIHRvIGhvb2sg
dXAgdGhlIHNpZ25hbHMuCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuaAppbmRleCBl
YzRlNjVhLi5mNzE5YWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9xdC9RTmV0d29ya1JlcGx5SGFuZGxlci5oCkBAIC0yMSw4ICsyMSw5IEBACiAK
ICNpbmNsdWRlIDxRT2JqZWN0PgogCi0jaW5jbHVkZSA8UU5ldHdvcmtSZXF1ZXN0PgogI2luY2x1
ZGUgPFFOZXR3b3JrQWNjZXNzTWFuYWdlcj4KKyNpbmNsdWRlIDxRTmV0d29ya1JlcXVlc3Q+Cisj
aW5jbHVkZSA8UU5ldHdvcmtSZXBseT4KIAogI2luY2x1ZGUgIkZvcm1EYXRhLmgiCiAjaW5jbHVk
ZSAiUXRNSU1FVHlwZVNuaWZmZXIuaCIKQEAgLTcwLDcgKzcxLDcgQEAgcHVibGljOgogICAgIFFO
ZXR3b3JrUmVwbHkqIHJlcGx5KCkgY29uc3QgeyByZXR1cm4gbV9yZXBseTsgfQogICAgIFFOZXR3
b3JrUmVwbHkqIHJlbGVhc2UoKTsKIAotICAgIHZvaWQgc3luY2hyb25vdXNMb2FkKCkgeyByZWNl
aXZlTWV0YURhdGEoKTsgfQorICAgIHZvaWQgc3luY2hyb25vdXNMb2FkKCk7CiAKICAgICBRVXJs
IHJlZGlyZWN0aW9uVGFyZ2V0VXJsKCkgY29uc3QgeyByZXR1cm4gbV9yZWRpcmVjdGlvblRhcmdl
dFVybDsgfQogICAgIFFTdHJpbmcgZW5jb2RpbmcoKSBjb25zdCB7IHJldHVybiBtX2VuY29kaW5n
OyB9CkBAIC04MCwxMSArODEsMTUgQEAgcHVibGljOgogICAgIGJvb2wgcmVzcG9uc2VDb250YWlu
c0RhdGEoKSBjb25zdCB7IHJldHVybiBtX3Jlc3BvbnNlQ29udGFpbnNEYXRhOyB9CiAgICAgYm9v
bCB3YXNSZWRpcmVjdGVkKCkgY29uc3QgeyByZXR1cm4gbV9yZWRpcmVjdGlvblRhcmdldFVybC5p
c1ZhbGlkKCk7IH0KIAorICAgIC8vIFNlZSBzZXRGaW5pc2hlZCgpLgorICAgIGJvb2wgaXNGaW5p
c2hlZCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVwbHktPnByb3BlcnR5KCJfcV9pc0ZpbmlzaGVkIiku
dG9Cb29sKCk7IH0KKwogcHJpdmF0ZSBRX1NMT1RTOgogICAgIHZvaWQgcmVjZWl2ZU1ldGFEYXRh
KCk7CiAgICAgdm9pZCBkaWRSZWNlaXZlRmluaXNoZWQoKTsKICAgICB2b2lkIGRpZFJlY2VpdmVS
ZWFkeVJlYWQoKTsKICAgICB2b2lkIHJlY2VpdmVTbmlmZmVkTUlNRVR5cGUoKTsKKyAgICB2b2lk
IHNldEZpbmlzaGVkKCk7CiAKIHByaXZhdGU6CiAgICAgdm9pZCByZXNldENvbm5lY3Rpb25zKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1F0TUlNRVR5
cGVTbmlmZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUXRNSU1F
VHlwZVNuaWZmZXIuY3BwCmluZGV4IGU3MTliODAuLjYwYWI3MjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUXRNSU1FVHlwZVNuaWZmZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUXRNSU1FVHlwZVNuaWZmZXIuY3Bw
CkBAIC00MSw3ICs0MSwxMCBAQCBRdE1JTUVUeXBlU25pZmZlcjo6UXRNSU1FVHlwZVNuaWZmZXIo
UU5ldHdvcmtSZXBseSogcmVwbHksIGNvbnN0IFFTdHJpbmcmIGFkdmVydAogCiBib29sIFF0TUlN
RVR5cGVTbmlmZmVyOjpzbmlmZigpCiB7Ci0gICAgaWYgKCFtX3JlcGx5LT5pc0ZpbmlzaGVkKCkg
JiYgbV9yZXBseS0+Ynl0ZXNBdmFpbGFibGUoKSA8IG1fc25pZmZlci5kYXRhU2l6ZSgpKQorICAg
IC8vIFNlZSBRTmV0d29ya1JlcGx5V3JhcHBlcjo6c2V0RmluaXNoZWQoKS4KKyAgICBjb25zdCBi
b29sIGlzUmVwbHlGaW5pc2hlZCA9IG1fcmVwbHktPnByb3BlcnR5KCJfcV9pc0ZpbmlzaGVkIiku
dG9Cb29sKCk7CisKKyAgICBpZiAoIWlzUmVwbHlGaW5pc2hlZCAmJiBtX3JlcGx5LT5ieXRlc0F2
YWlsYWJsZSgpIDwgbV9zbmlmZmVyLmRhdGFTaXplKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
IAogICAgIFFCeXRlQXJyYXkgZGF0YSA9IG1fcmVwbHktPnBlZWsobV9zbmlmZmVyLmRhdGFTaXpl
KCkpOwotLSAKMS43LjQuNAoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91988</attachid>
            <date>2011-05-02 15:00:27 -0700</date>
            <delta_ts>2011-05-02 17:29:02 -0700</delta_ts>
            <desc>patch v4 (second take), use the fact that synchronous loads are always finished</desc>
            <filename>0001-Qt-Fix-QNetworkReplyWrapper-to-not-depend-on-QNetwor.patch</filename>
            <type>text/plain</type>
            <size>10164</size>
            <attacher name="Caio Marcelo de Oliveira Filho">cmarcelo</attacher>
            
              <data encoding="base64">RnJvbSA4OGY0ZWExODA2M2MwYTY0NTMzYjRmNWZjMTUzYjcwNTlmYThmYjgxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDYWlvIE1hcmNlbG8gZGUgT2xpdmVpcmEgRmlsaG8gPGNhaW8u
b2xpdmVpcmFAb3BlbmJvc3NhLm9yZz4KRGF0ZTogTW9uLCAyIE1heSAyMDExIDE4OjUxOjE5IC0w
MzAwClN1YmplY3Q6IFtQQVRDSF0gW1F0XSBGaXggUU5ldHdvcmtSZXBseVdyYXBwZXIgdG8gbm90
IGRlcGVuZCBvbgogUU5ldHdvcmtSZXBseTo6aXNGaW5pc2hlZCgpIG1ldGhvZAogaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU5MDcwCgpSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KCkFwcGxpY2F0aW9ucyB1c2luZyBvdXIgQVBJIGFuZCBvdXIgYXV0b3Rlc3RzIHN1
YmNsYXNzIFFOZXR3b3JrUmVwbHkgYXMgcGFydCBvZiBwcm92aWRpbmcgYQpjdXN0b20gUU5ldHdv
cmtBY2Nlc3NNYW5hZ2VyLiBCdXQgdGhlcmUncyBhbiBBUEkgbGltaXRhdGlvbiBpbiBRdCA0Ljcs
IHRoYXQgbWFrZXMKUU5ldHdvcmtSZXBseTo6aXNGaW5pc2hlZCgpIGFsd2F5cyBiZSBmYWxzZSBm
b3IgdGhlc2UgY3VzdG9tIHJlcGxpZXMuIFRoaXMgd2FzIGZpeGVkIGluIFF0CjQuOCwgc2VlIGh0
dHA6Ly9idWdyZXBvcnRzLnF0Lm5va2lhLmNvbS9icm93c2UvUVRCVUctMTE3MzcuCgpUaGUgY29u
c2VxdWVuY2UgaXMgdGhhdCBRdFdlYktpdCBjYW5ub3QgcmVseSBvbiB0aGlzIGZ1bmN0aW9uLiBT
byBub3cgUU5ldHdvcmtSZXBseVdyYXBwZXIKd2F0Y2hlcyBmb3IgdGhlIGZpbmlzaGVkKCkgc2ln
bmFsIGFuZCBzZXQgYSBkeW5hbWljIHByb3BlcnR5ICJfcV9pc0ZpbmlzaGVkIiBvbiB0aGUgcmVw
bHkKaW5kaWNhdGluZyB0aGF0IGl0IGlzIGZpbmlzaGVkLiBXaGVuIHRoZXJlJ3Mgbm8gZmluaXNo
ZWQgc2lnbmFsIChzeW5jaHJvbm91cykgd2Ugc2V0IHRoZQpkeW5hbWljIHByb3BlcnR5IG9uY2Ug
d2UgZ2V0IHRoZSByZXBseS4KClRoaXMgZml4ZXMgdHN0X1FXZWJGcmFtZTo6cmVxdWVzdGVkVXJs
KCksIHRoYXQgd2FzIGJyZWFraW5nIGJlY2F1c2Ugc25pZmZlciB3YXMgbm90CmVtaXR0aW5nIGl0
cyBvd24gZmluaXNoZWQoKSBzaWduYWwsIGNhdXNpbmcgUVdlYkZyYW1lOjpsb2FkRmluaXNoZWQo
KSB0byBub3QgYmUgZW1pdHRlZC4KCiogcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1JlcGx5
SGFuZGxlci5jcHA6CihXZWJDb3JlOjpRTmV0d29ya1JlcGx5V3JhcHBlcjo6UU5ldHdvcmtSZXBs
eVdyYXBwZXIpOgpDb25uZWN0IHRoZSBmaW5pc2hlZCBzaWduYWwgdG8gdGhlIG5ldyBzZXRGaW5p
c2hlZCgpIHNsb3QuCgooV2ViQ29yZTo6UU5ldHdvcmtSZXBseVdyYXBwZXI6OnN5bmNocm9ub3Vz
TG9hZCk6ClNpbmNlIHdlIGRvbid0IGdldCB0aGUgZmluaXNoZWQgc2lnbmFsIGZvciBzeW5jaHJv
bm91cyBsb2Fkcywgc2V0IHRoZSBkeW5hbWljIHByb3BlcnR5CmJlZm9yZSBwcm9jZXNzaW5nIGl0
LgoKKFdlYkNvcmU6OlFOZXR3b3JrUmVwbHlXcmFwcGVyOjpyZXNldENvbm5lY3Rpb25zKToKRG8g
bm90IHJlc2V0IHRoZSBjb25uZWN0aW9uIHRvIHNldEZpbmlzaGVkKCkuCgooV2ViQ29yZTo6UU5l
dHdvcmtSZXBseVdyYXBwZXI6OnNldEZpbmlzaGVkKToKU2V0IHRoZSBkeW5hbWljIHByb3BlcnR5
IGluIHRoZSByZXBseS4KCihXZWJDb3JlOjpRTmV0d29ya1JlcGx5V3JhcHBlcjo6ZW1pdE1ldGFE
YXRhQ2hhbmdlZCk6CihXZWJDb3JlOjpRTmV0d29ya1JlcGx5SGFuZGxlcjo6c3RhcnQpOgpDaGFu
Z2UgdG8gdXNlIHdyYXBwZXIncyBpc0ZpbmlzaGVkKCkgaW5zdGVhZCBvZiBhc2tpbmcgdGhlIHJl
cGx5IGRpcmVjdGx5LgoKKiBwbGF0Zm9ybS9uZXR3b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVy
Lmg6CihXZWJDb3JlOjpRTmV0d29ya1JlcGx5V3JhcHBlcjo6aXNGaW5pc2hlZCk6CkNoZWNrcyB0
aGUgZHluYW1pYyBwcm9wZXJ0eSBvZiB0aGUgcmVwbHkuCgoqIHBsYXRmb3JtL25ldHdvcmsvcXQv
UXRNSU1FVHlwZVNuaWZmZXIuY3BwOgooUXRNSU1FVHlwZVNuaWZmZXI6OnNuaWZmKToKVXNlIHRo
ZSBkeW5hbWljIHByb3BlcnR5IHRvIGNoZWNrIGlmIHRoZSByZXBseSBpcyBmaW5pc2hlZC4KLS0t
CiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAg
NDYgKysrKysrKysrKysrKysrKysrKysKIC4uLi9wbGF0Zm9ybS9uZXR3b3JrL3F0L1FOZXR3b3Jr
UmVwbHlIYW5kbGVyLmNwcCAgIHwgICAzMiArKysrKysrKysrKy0tCiAuLi4vcGxhdGZvcm0vbmV0
d29yay9xdC9RTmV0d29ya1JlcGx5SGFuZGxlci5oICAgICB8ICAgIDkgKysrLQogLi4uL3BsYXRm
b3JtL25ldHdvcmsvcXQvUXRNSU1FVHlwZVNuaWZmZXIuY3BwICAgICAgfCAgICA1ICsrLQogNCBm
aWxlcyBjaGFuZ2VkLCA4NCBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCA2MzFiMmExLi43NjhiMDk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDkgQEAKKzIwMTEt
MDUtMDIgIENhaW8gTWFyY2VsbyBkZSBPbGl2ZWlyYSBGaWxobyAgPGNhaW8ub2xpdmVpcmFAb3Bl
bmJvc3NhLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBbUXRdIEZpeCBRTmV0d29ya1JlcGx5V3JhcHBlciB0byBub3QgZGVwZW5kIG9uIFFOZXR3
b3JrUmVwbHk6OmlzRmluaXNoZWQoKSBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTU5MDcwCisKKyAgICAgICAgQXBwbGljYXRpb25zIHVzaW5n
IG91ciBBUEkgYW5kIG91ciBhdXRvdGVzdHMgc3ViY2xhc3MgUU5ldHdvcmtSZXBseSBhcyBwYXJ0
IG9mIHByb3ZpZGluZyBhCisgICAgICAgIGN1c3RvbSBRTmV0d29ya0FjY2Vzc01hbmFnZXIuIEJ1
dCB0aGVyZSdzIGFuIEFQSSBsaW1pdGF0aW9uIGluIFF0IDQuNywgdGhhdCBtYWtlcworICAgICAg
ICBRTmV0d29ya1JlcGx5Ojppc0ZpbmlzaGVkKCkgYWx3YXlzIGJlIGZhbHNlIGZvciB0aGVzZSBj
dXN0b20gcmVwbGllcy4gVGhpcyB3YXMgZml4ZWQgaW4gUXQKKyAgICAgICAgNC44LCBzZWUgaHR0
cDovL2J1Z3JlcG9ydHMucXQubm9raWEuY29tL2Jyb3dzZS9RVEJVRy0xMTczNy4KKworICAgICAg
ICBUaGUgY29uc2VxdWVuY2UgaXMgdGhhdCBRdFdlYktpdCBjYW5ub3QgcmVseSBvbiB0aGlzIGZ1
bmN0aW9uLiBTbyBub3cgUU5ldHdvcmtSZXBseVdyYXBwZXIKKyAgICAgICAgd2F0Y2hlcyBmb3Ig
dGhlIGZpbmlzaGVkKCkgc2lnbmFsIGFuZCBzZXQgYSBkeW5hbWljIHByb3BlcnR5ICJfcV9pc0Zp
bmlzaGVkIiBvbiB0aGUgcmVwbHkKKyAgICAgICAgaW5kaWNhdGluZyB0aGF0IGl0IGlzIGZpbmlz
aGVkLiBXaGVuIHRoZXJlJ3Mgbm8gZmluaXNoZWQgc2lnbmFsIChzeW5jaHJvbm91cykgd2Ugc2V0
IHRoZQorICAgICAgICBkeW5hbWljIHByb3BlcnR5IG9uY2Ugd2UgZ2V0IHRoZSByZXBseS4KKwor
ICAgICAgICBUaGlzIGZpeGVzIHRzdF9RV2ViRnJhbWU6OnJlcXVlc3RlZFVybCgpLCB0aGF0IHdh
cyBicmVha2luZyBiZWNhdXNlIHNuaWZmZXIgd2FzIG5vdAorICAgICAgICBlbWl0dGluZyBpdHMg
b3duIGZpbmlzaGVkKCkgc2lnbmFsLCBjYXVzaW5nIFFXZWJGcmFtZTo6bG9hZEZpbmlzaGVkKCkg
dG8gbm90IGJlIGVtaXR0ZWQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3F0L1FOZXR3
b3JrUmVwbHlIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlFOZXR3b3JrUmVwbHlXcmFw
cGVyOjpRTmV0d29ya1JlcGx5V3JhcHBlcik6CisgICAgICAgIENvbm5lY3QgdGhlIGZpbmlzaGVk
IHNpZ25hbCB0byB0aGUgbmV3IHNldEZpbmlzaGVkKCkgc2xvdC4KKworICAgICAgICAoV2ViQ29y
ZTo6UU5ldHdvcmtSZXBseVdyYXBwZXI6OnN5bmNocm9ub3VzTG9hZCk6CisgICAgICAgIFNpbmNl
IHdlIGRvbid0IGdldCB0aGUgZmluaXNoZWQgc2lnbmFsIGZvciBzeW5jaHJvbm91cyBsb2Fkcywg
c2V0IHRoZSBkeW5hbWljIHByb3BlcnR5CisgICAgICAgIGJlZm9yZSBwcm9jZXNzaW5nIGl0Lgor
CisgICAgICAgIChXZWJDb3JlOjpRTmV0d29ya1JlcGx5V3JhcHBlcjo6cmVzZXRDb25uZWN0aW9u
cyk6CisgICAgICAgIERvIG5vdCByZXNldCB0aGUgY29ubmVjdGlvbiB0byBzZXRGaW5pc2hlZCgp
LgorCisgICAgICAgIChXZWJDb3JlOjpRTmV0d29ya1JlcGx5V3JhcHBlcjo6c2V0RmluaXNoZWQp
OgorICAgICAgICBTZXQgdGhlIGR5bmFtaWMgcHJvcGVydHkgaW4gdGhlIHJlcGx5LgorCisgICAg
ICAgIChXZWJDb3JlOjpRTmV0d29ya1JlcGx5V3JhcHBlcjo6ZW1pdE1ldGFEYXRhQ2hhbmdlZCk6
CisgICAgICAgIChXZWJDb3JlOjpRTmV0d29ya1JlcGx5SGFuZGxlcjo6c3RhcnQpOgorICAgICAg
ICBDaGFuZ2UgdG8gdXNlIHdyYXBwZXIncyBpc0ZpbmlzaGVkKCkgaW5zdGVhZCBvZiBhc2tpbmcg
dGhlIHJlcGx5IGRpcmVjdGx5LgorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0
d29ya1JlcGx5SGFuZGxlci5oOgorICAgICAgICAoV2ViQ29yZTo6UU5ldHdvcmtSZXBseVdyYXBw
ZXI6OmlzRmluaXNoZWQpOgorICAgICAgICBDaGVja3MgdGhlIGR5bmFtaWMgcHJvcGVydHkgb2Yg
dGhlIHJlcGx5LgorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9xdC9RdE1JTUVUeXBlU25p
ZmZlci5jcHA6CisgICAgICAgIChRdE1JTUVUeXBlU25pZmZlcjo6c25pZmYpOgorICAgICAgICBV
c2UgdGhlIGR5bmFtaWMgcHJvcGVydHkgdG8gY2hlY2sgaWYgdGhlIHJlcGx5IGlzIGZpbmlzaGVk
LgorCiAyMDExLTA1LTAyICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgR2F2aW4gQmFycmFjbG91Z2guCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuY3BwCmluZGV4
IDhiMDU1YmUuLmI0NTlmMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuY3BwCkBAIC0yMTQsOCArMjE0
LDEwIEBAIFFOZXR3b3JrUmVwbHlXcmFwcGVyOjpRTmV0d29ya1JlcGx5V3JhcHBlcihRTmV0d29y
a1JlcGx5SGFuZGxlckNhbGxRdWV1ZSogcXVldWUsCiB7CiAgICAgUV9BU1NFUlQobV9yZXBseSk7
CiAKLSAgICBjb25uZWN0KG1fcmVwbHksIFNJR05BTChyZWFkeVJlYWQoKSksIHRoaXMsIFNMT1Qo
cmVjZWl2ZU1ldGFEYXRhKCkpKTsKKyAgICAvLyBzZXRGaW5pc2hlZCgpIG11c3QgYmUgdGhlIGZp
cnN0IHRoYXQgd2UgY29ubmVjdCwgc28gaXNGaW5pc2hlZCgpIGlzIHVwZGF0ZWQgd2hlbiBydW5u
aW5nIG90aGVyIHNsb3RzLgorICAgIGNvbm5lY3QobV9yZXBseSwgU0lHTkFMKGZpbmlzaGVkKCkp
LCB0aGlzLCBTTE9UKHNldEZpbmlzaGVkKCkpKTsKICAgICBjb25uZWN0KG1fcmVwbHksIFNJR05B
TChmaW5pc2hlZCgpKSwgdGhpcywgU0xPVChyZWNlaXZlTWV0YURhdGEoKSkpOworICAgIGNvbm5l
Y3QobV9yZXBseSwgU0lHTkFMKHJlYWR5UmVhZCgpKSwgdGhpcywgU0xPVChyZWNlaXZlTWV0YURh
dGEoKSkpOwogfQogCiBRTmV0d29ya1JlcGx5V3JhcHBlcjo6flFOZXR3b3JrUmVwbHlXcmFwcGVy
KCkKQEAgLTIzOSwxMCArMjQxLDIwIEBAIFFOZXR3b3JrUmVwbHkqIFFOZXR3b3JrUmVwbHlXcmFw
cGVyOjpyZWxlYXNlKCkKICAgICByZXR1cm4gcmVwbHk7CiB9CiAKK3ZvaWQgUU5ldHdvcmtSZXBs
eVdyYXBwZXI6OnN5bmNocm9ub3VzTG9hZCgpCit7CisgICAgc2V0RmluaXNoZWQoKTsKKyAgICBy
ZWNlaXZlTWV0YURhdGEoKTsKK30KKwogdm9pZCBRTmV0d29ya1JlcGx5V3JhcHBlcjo6cmVzZXRD
b25uZWN0aW9ucygpCiB7Ci0gICAgaWYgKG1fcmVwbHkpCi0gICAgICAgIG1fcmVwbHktPmRpc2Nv
bm5lY3QodGhpcyk7CisgICAgaWYgKG1fcmVwbHkpIHsKKyAgICAgICAgLy8gRGlzY29ubmVjdCBh
bGwgY29ubmVjdGlvbnMgZXhjZXB0IHRoZSBvbmUgdG8gc2V0RmluaXNoZWQoKSBzbG90LgorICAg
ICAgICBtX3JlcGx5LT5kaXNjb25uZWN0KHRoaXMsIFNMT1QocmVjZWl2ZU1ldGFEYXRhKCkpKTsK
KyAgICAgICAgbV9yZXBseS0+ZGlzY29ubmVjdCh0aGlzLCBTTE9UKGRpZFJlY2VpdmVGaW5pc2hl
ZCgpKSk7CisgICAgICAgIG1fcmVwbHktPmRpc2Nvbm5lY3QodGhpcywgU0xPVChkaWRSZWNlaXZl
UmVhZHlSZWFkKCkpKTsKKyAgICB9CiAgICAgUUNvcmVBcHBsaWNhdGlvbjo6cmVtb3ZlUG9zdGVk
RXZlbnRzKHRoaXMsIFFFdmVudDo6TWV0YUNhbGwpOwogfQogCkBAIC0yOTMsNiArMzA1LDE2IEBA
IHZvaWQgUU5ldHdvcmtSZXBseVdyYXBwZXI6OnJlY2VpdmVTbmlmZmVkTUlNRVR5cGUoKQogICAg
IGVtaXRNZXRhRGF0YUNoYW5nZWQoKTsKIH0KIAordm9pZCBRTmV0d29ya1JlcGx5V3JhcHBlcjo6
c2V0RmluaXNoZWQoKQoreworICAgIC8vIEJlY2F1c2Ugb2YgdGhlIHdheSBRTmV0d29ya1JlcGx5
IGlzIGltcGxlbWVudGVkLCB3aGVuIHlvdSBjcmVhdGUgYSBzdWJjbGFzcyBvZgorICAgIC8vIFFO
ZXR3b3JrUmVwbHksIHRoZSBRTmV0d29ya1JlcGx5Ojppc0ZpbmlzaGVkKCkgaXMgbmV2ZXIgdHJ1
ZSwgc28gd2UgbmVlZCB0byBrZWVwIHRyYWNrCisgICAgLy8gb3Vyc2VsdmVzLiBUaGlzIGxpbWl0
YXRpb24gaXMgZml4ZWQgaW4gNC44LCBidXQgd2UnbGwgc3RpbGwgaGF2ZSBhcHBsaWNhdGlvbnMg
dGhhdCBkb2Vzbid0CisgICAgLy8gdXNlIHRoZSBzb2x1dGlvbi4gU2VlIGh0dHA6Ly9idWdyZXBv
cnRzLnF0Lm5va2lhLmNvbS9icm93c2UvUVRCVUctMTE3MzcgZm9yIGRldGFpbHMuCisgICAgUV9B
U1NFUlQoIWlzRmluaXNoZWQoKSk7CisgICAgbV9yZXBseS0+c2V0UHJvcGVydHkoIl9xX2lzRmlu
aXNoZWQiLCB0cnVlKTsKK30KKwogdm9pZCBRTmV0d29ya1JlcGx5V3JhcHBlcjo6ZW1pdE1ldGFE
YXRhQ2hhbmdlZCgpCiB7CiAgICAgUXVldWVMb2NrZXIgbG9jayhtX3F1ZXVlKTsKQEAgLTMwMyw3
ICszMjUsNyBAQCB2b2lkIFFOZXR3b3JrUmVwbHlXcmFwcGVyOjplbWl0TWV0YURhdGFDaGFuZ2Vk
KCkKICAgICAgICAgbV9xdWV1ZS0+cHVzaCgmUU5ldHdvcmtSZXBseUhhbmRsZXI6OmZvcndhcmRE
YXRhKTsKICAgICB9CiAKLSAgICBpZiAobV9yZXBseS0+aXNGaW5pc2hlZCgpKSB7CisgICAgaWYg
KGlzRmluaXNoZWQoKSkgewogICAgICAgICBtX3F1ZXVlLT5wdXNoKCZRTmV0d29ya1JlcGx5SGFu
ZGxlcjo6ZmluaXNoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTY0MCw3ICs2NjIsNyBA
QCB2b2lkIFFOZXR3b3JrUmVwbHlIYW5kbGVyOjpzdGFydCgpCiAKICAgICBtX3JlcGx5V3JhcHBl
ciA9IG5ldyBRTmV0d29ya1JlcGx5V3JhcHBlcigmbV9xdWV1ZSwgcmVwbHksIG1fcmVzb3VyY2VI
YW5kbGUtPnNob3VsZENvbnRlbnRTbmlmZigpICYmIGQtPm1fY29udGV4dC0+bWltZVNuaWZmaW5n
RW5hYmxlZCgpLCB0aGlzKTsKIAotICAgIGlmIChtX2xvYWRUeXBlID09IFN5bmNocm9ub3VzTG9h
ZCAmJiBtX3JlcGx5V3JhcHBlci0+cmVwbHkoKS0+aXNGaW5pc2hlZCgpKSB7CisgICAgaWYgKG1f
bG9hZFR5cGUgPT0gU3luY2hyb25vdXNMb2FkKSB7CiAgICAgICAgIG1fcmVwbHlXcmFwcGVyLT5z
eW5jaHJvbm91c0xvYWQoKTsKICAgICAgICAgLy8gSWYgc3VwcG9ydGVkLCBhIHN5bmNocm9ub3Vz
IHJlcXVlc3Qgd2lsbCBiZSBmaW5pc2hlZCBhdCB0aGlzIHBvaW50LCBubyBuZWVkIHRvIGhvb2sg
dXAgdGhlIHNpZ25hbHMuCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuaAppbmRleCBl
YzRlNjVhLi5kZWZlZWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9xdC9RTmV0d29ya1JlcGx5SGFuZGxlci5oCkBAIC0yMSw4ICsyMSw5IEBACiAK
ICNpbmNsdWRlIDxRT2JqZWN0PgogCi0jaW5jbHVkZSA8UU5ldHdvcmtSZXF1ZXN0PgogI2luY2x1
ZGUgPFFOZXR3b3JrQWNjZXNzTWFuYWdlcj4KKyNpbmNsdWRlIDxRTmV0d29ya1JlcGx5PgorI2lu
Y2x1ZGUgPFFOZXR3b3JrUmVxdWVzdD4KIAogI2luY2x1ZGUgIkZvcm1EYXRhLmgiCiAjaW5jbHVk
ZSAiUXRNSU1FVHlwZVNuaWZmZXIuaCIKQEAgLTcwLDcgKzcxLDcgQEAgcHVibGljOgogICAgIFFO
ZXR3b3JrUmVwbHkqIHJlcGx5KCkgY29uc3QgeyByZXR1cm4gbV9yZXBseTsgfQogICAgIFFOZXR3
b3JrUmVwbHkqIHJlbGVhc2UoKTsKIAotICAgIHZvaWQgc3luY2hyb25vdXNMb2FkKCkgeyByZWNl
aXZlTWV0YURhdGEoKTsgfQorICAgIHZvaWQgc3luY2hyb25vdXNMb2FkKCk7CiAKICAgICBRVXJs
IHJlZGlyZWN0aW9uVGFyZ2V0VXJsKCkgY29uc3QgeyByZXR1cm4gbV9yZWRpcmVjdGlvblRhcmdl
dFVybDsgfQogICAgIFFTdHJpbmcgZW5jb2RpbmcoKSBjb25zdCB7IHJldHVybiBtX2VuY29kaW5n
OyB9CkBAIC04MCwxMSArODEsMTUgQEAgcHVibGljOgogICAgIGJvb2wgcmVzcG9uc2VDb250YWlu
c0RhdGEoKSBjb25zdCB7IHJldHVybiBtX3Jlc3BvbnNlQ29udGFpbnNEYXRhOyB9CiAgICAgYm9v
bCB3YXNSZWRpcmVjdGVkKCkgY29uc3QgeyByZXR1cm4gbV9yZWRpcmVjdGlvblRhcmdldFVybC5p
c1ZhbGlkKCk7IH0KIAorICAgIC8vIFNlZSBzZXRGaW5pc2hlZCgpLgorICAgIGJvb2wgaXNGaW5p
c2hlZCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVwbHktPnByb3BlcnR5KCJfcV9pc0ZpbmlzaGVkIiku
dG9Cb29sKCk7IH0KKwogcHJpdmF0ZSBRX1NMT1RTOgogICAgIHZvaWQgcmVjZWl2ZU1ldGFEYXRh
KCk7CiAgICAgdm9pZCBkaWRSZWNlaXZlRmluaXNoZWQoKTsKICAgICB2b2lkIGRpZFJlY2VpdmVS
ZWFkeVJlYWQoKTsKICAgICB2b2lkIHJlY2VpdmVTbmlmZmVkTUlNRVR5cGUoKTsKKyAgICB2b2lk
IHNldEZpbmlzaGVkKCk7CiAKIHByaXZhdGU6CiAgICAgdm9pZCByZXNldENvbm5lY3Rpb25zKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1F0TUlNRVR5
cGVTbmlmZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUXRNSU1F
VHlwZVNuaWZmZXIuY3BwCmluZGV4IGU3MTliODAuLjYwYWI3MjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUXRNSU1FVHlwZVNuaWZmZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUXRNSU1FVHlwZVNuaWZmZXIuY3Bw
CkBAIC00MSw3ICs0MSwxMCBAQCBRdE1JTUVUeXBlU25pZmZlcjo6UXRNSU1FVHlwZVNuaWZmZXIo
UU5ldHdvcmtSZXBseSogcmVwbHksIGNvbnN0IFFTdHJpbmcmIGFkdmVydAogCiBib29sIFF0TUlN
RVR5cGVTbmlmZmVyOjpzbmlmZigpCiB7Ci0gICAgaWYgKCFtX3JlcGx5LT5pc0ZpbmlzaGVkKCkg
JiYgbV9yZXBseS0+Ynl0ZXNBdmFpbGFibGUoKSA8IG1fc25pZmZlci5kYXRhU2l6ZSgpKQorICAg
IC8vIFNlZSBRTmV0d29ya1JlcGx5V3JhcHBlcjo6c2V0RmluaXNoZWQoKS4KKyAgICBjb25zdCBi
b29sIGlzUmVwbHlGaW5pc2hlZCA9IG1fcmVwbHktPnByb3BlcnR5KCJfcV9pc0ZpbmlzaGVkIiku
dG9Cb29sKCk7CisKKyAgICBpZiAoIWlzUmVwbHlGaW5pc2hlZCAmJiBtX3JlcGx5LT5ieXRlc0F2
YWlsYWJsZSgpIDwgbV9zbmlmZmVyLmRhdGFTaXplKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
IAogICAgIFFCeXRlQXJyYXkgZGF0YSA9IG1fcmVwbHktPnBlZWsobV9zbmlmZmVyLmRhdGFTaXpl
KCkpOwotLSAKMS43LjQuNAoK
</data>
<flag name="review"
          id="84909"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>92013</attachid>
            <date>2011-05-02 17:15:29 -0700</date>
            <delta_ts>2011-05-04 05:09:51 -0700</delta_ts>
            <desc>patch v5, better comment</desc>
            <filename>0001-Qt-Fix-QNetworkReplyWrapper-to-not-depend-on-QNetwor.patch</filename>
            <type>text/plain</type>
            <size>10176</size>
            <attacher name="Caio Marcelo de Oliveira Filho">cmarcelo</attacher>
            
              <data encoding="base64">RnJvbSA0NDMxYjBmYjg5NzQyOTkzMzY1Y2YzYWU5Yjg2ZWI0MTRkZDhjMzBhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDYWlvIE1hcmNlbG8gZGUgT2xpdmVpcmEgRmlsaG8gPGNhaW8u
b2xpdmVpcmFAb3BlbmJvc3NhLm9yZz4KRGF0ZTogTW9uLCAyIE1heSAyMDExIDE4OjUxOjE5IC0w
MzAwClN1YmplY3Q6IFtQQVRDSF0gW1F0XSBGaXggUU5ldHdvcmtSZXBseVdyYXBwZXIgdG8gbm90
IGRlcGVuZCBvbgogUU5ldHdvcmtSZXBseTo6aXNGaW5pc2hlZCgpIG1ldGhvZAogaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU5MDcwCgpSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KCkFwcGxpY2F0aW9ucyB1c2luZyBvdXIgQVBJIGFuZCBvdXIgYXV0b3Rlc3RzIHN1
YmNsYXNzIFFOZXR3b3JrUmVwbHkgYXMgcGFydCBvZiBwcm92aWRpbmcgYQpjdXN0b20gUU5ldHdv
cmtBY2Nlc3NNYW5hZ2VyLiBCdXQgdGhlcmUncyBhbiBBUEkgbGltaXRhdGlvbiBpbiBRdCA0Ljcs
IHRoYXQgbWFrZXMKUU5ldHdvcmtSZXBseTo6aXNGaW5pc2hlZCgpIGFsd2F5cyBiZSBmYWxzZSBm
b3IgdGhlc2UgY3VzdG9tIHJlcGxpZXMuIFRoaXMgd2FzIGZpeGVkIGluIFF0CjQuOCwgc2VlIGh0
dHA6Ly9idWdyZXBvcnRzLnF0Lm5va2lhLmNvbS9icm93c2UvUVRCVUctMTE3MzcuCgpUaGUgY29u
c2VxdWVuY2UgaXMgdGhhdCBRdFdlYktpdCBjYW5ub3QgcmVseSBvbiB0aGlzIGZ1bmN0aW9uLiBT
byBub3cgUU5ldHdvcmtSZXBseVdyYXBwZXIKd2F0Y2hlcyBmb3IgdGhlIGZpbmlzaGVkKCkgc2ln
bmFsIGFuZCBzZXQgYSBkeW5hbWljIHByb3BlcnR5ICJfcV9pc0ZpbmlzaGVkIiBvbiB0aGUgcmVw
bHkKaW5kaWNhdGluZyB0aGF0IGl0IGlzIGZpbmlzaGVkLiBXaGVuIHRoZXJlJ3Mgbm8gZmluaXNo
ZWQgc2lnbmFsIChzeW5jaHJvbm91cykgd2Ugc2V0IHRoZQpkeW5hbWljIHByb3BlcnR5IG9uY2Ug
d2UgZ2V0IHRoZSByZXBseS4KClRoaXMgZml4ZXMgdHN0X1FXZWJGcmFtZTo6cmVxdWVzdGVkVXJs
KCksIHRoYXQgd2FzIGJyZWFraW5nIGJlY2F1c2Ugc25pZmZlciB3YXMgbm90CmVtaXR0aW5nIGl0
cyBvd24gZmluaXNoZWQoKSBzaWduYWwsIGNhdXNpbmcgUVdlYkZyYW1lOjpsb2FkRmluaXNoZWQo
KSB0byBub3QgYmUgZW1pdHRlZC4KCiogcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1JlcGx5
SGFuZGxlci5jcHA6CihXZWJDb3JlOjpRTmV0d29ya1JlcGx5V3JhcHBlcjo6UU5ldHdvcmtSZXBs
eVdyYXBwZXIpOgpDb25uZWN0IHRoZSBmaW5pc2hlZCBzaWduYWwgdG8gdGhlIG5ldyBzZXRGaW5p
c2hlZCgpIHNsb3QuCgooV2ViQ29yZTo6UU5ldHdvcmtSZXBseVdyYXBwZXI6OnN5bmNocm9ub3Vz
TG9hZCk6ClNpbmNlIHdlIGRvbid0IGdldCB0aGUgZmluaXNoZWQgc2lnbmFsIGZvciBzeW5jaHJv
bm91cyBsb2Fkcywgc2V0IHRoZSBkeW5hbWljIHByb3BlcnR5CmJlZm9yZSBwcm9jZXNzaW5nIGl0
LgoKKFdlYkNvcmU6OlFOZXR3b3JrUmVwbHlXcmFwcGVyOjpyZXNldENvbm5lY3Rpb25zKToKRG8g
bm90IHJlc2V0IHRoZSBjb25uZWN0aW9uIHRvIHNldEZpbmlzaGVkKCkuCgooV2ViQ29yZTo6UU5l
dHdvcmtSZXBseVdyYXBwZXI6OnNldEZpbmlzaGVkKToKU2V0IHRoZSBkeW5hbWljIHByb3BlcnR5
IGluIHRoZSByZXBseS4KCihXZWJDb3JlOjpRTmV0d29ya1JlcGx5V3JhcHBlcjo6ZW1pdE1ldGFE
YXRhQ2hhbmdlZCk6CihXZWJDb3JlOjpRTmV0d29ya1JlcGx5SGFuZGxlcjo6c3RhcnQpOgpDaGFu
Z2UgdG8gdXNlIHdyYXBwZXIncyBpc0ZpbmlzaGVkKCkgaW5zdGVhZCBvZiBhc2tpbmcgdGhlIHJl
cGx5IGRpcmVjdGx5LgoKKiBwbGF0Zm9ybS9uZXR3b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVy
Lmg6CihXZWJDb3JlOjpRTmV0d29ya1JlcGx5V3JhcHBlcjo6aXNGaW5pc2hlZCk6CkNoZWNrcyB0
aGUgZHluYW1pYyBwcm9wZXJ0eSBvZiB0aGUgcmVwbHkuCgoqIHBsYXRmb3JtL25ldHdvcmsvcXQv
UXRNSU1FVHlwZVNuaWZmZXIuY3BwOgooUXRNSU1FVHlwZVNuaWZmZXI6OnNuaWZmKToKVXNlIHRo
ZSBkeW5hbWljIHByb3BlcnR5IHRvIGNoZWNrIGlmIHRoZSByZXBseSBpcyBmaW5pc2hlZC4KLS0t
CiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAg
NDYgKysrKysrKysrKysrKysrKysrKysKIC4uLi9wbGF0Zm9ybS9uZXR3b3JrL3F0L1FOZXR3b3Jr
UmVwbHlIYW5kbGVyLmNwcCAgIHwgICAzMiArKysrKysrKysrKy0tCiAuLi4vcGxhdGZvcm0vbmV0
d29yay9xdC9RTmV0d29ya1JlcGx5SGFuZGxlci5oICAgICB8ICAgIDkgKysrLQogLi4uL3BsYXRm
b3JtL25ldHdvcmsvcXQvUXRNSU1FVHlwZVNuaWZmZXIuY3BwICAgICAgfCAgICA1ICsrLQogNCBm
aWxlcyBjaGFuZ2VkLCA4NCBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCA2MzFiMmExLi43NjhiMDk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDkgQEAKKzIwMTEt
MDUtMDIgIENhaW8gTWFyY2VsbyBkZSBPbGl2ZWlyYSBGaWxobyAgPGNhaW8ub2xpdmVpcmFAb3Bl
bmJvc3NhLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBbUXRdIEZpeCBRTmV0d29ya1JlcGx5V3JhcHBlciB0byBub3QgZGVwZW5kIG9uIFFOZXR3
b3JrUmVwbHk6OmlzRmluaXNoZWQoKSBtZXRob2QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTU5MDcwCisKKyAgICAgICAgQXBwbGljYXRpb25zIHVzaW5n
IG91ciBBUEkgYW5kIG91ciBhdXRvdGVzdHMgc3ViY2xhc3MgUU5ldHdvcmtSZXBseSBhcyBwYXJ0
IG9mIHByb3ZpZGluZyBhCisgICAgICAgIGN1c3RvbSBRTmV0d29ya0FjY2Vzc01hbmFnZXIuIEJ1
dCB0aGVyZSdzIGFuIEFQSSBsaW1pdGF0aW9uIGluIFF0IDQuNywgdGhhdCBtYWtlcworICAgICAg
ICBRTmV0d29ya1JlcGx5Ojppc0ZpbmlzaGVkKCkgYWx3YXlzIGJlIGZhbHNlIGZvciB0aGVzZSBj
dXN0b20gcmVwbGllcy4gVGhpcyB3YXMgZml4ZWQgaW4gUXQKKyAgICAgICAgNC44LCBzZWUgaHR0
cDovL2J1Z3JlcG9ydHMucXQubm9raWEuY29tL2Jyb3dzZS9RVEJVRy0xMTczNy4KKworICAgICAg
ICBUaGUgY29uc2VxdWVuY2UgaXMgdGhhdCBRdFdlYktpdCBjYW5ub3QgcmVseSBvbiB0aGlzIGZ1
bmN0aW9uLiBTbyBub3cgUU5ldHdvcmtSZXBseVdyYXBwZXIKKyAgICAgICAgd2F0Y2hlcyBmb3Ig
dGhlIGZpbmlzaGVkKCkgc2lnbmFsIGFuZCBzZXQgYSBkeW5hbWljIHByb3BlcnR5ICJfcV9pc0Zp
bmlzaGVkIiBvbiB0aGUgcmVwbHkKKyAgICAgICAgaW5kaWNhdGluZyB0aGF0IGl0IGlzIGZpbmlz
aGVkLiBXaGVuIHRoZXJlJ3Mgbm8gZmluaXNoZWQgc2lnbmFsIChzeW5jaHJvbm91cykgd2Ugc2V0
IHRoZQorICAgICAgICBkeW5hbWljIHByb3BlcnR5IG9uY2Ugd2UgZ2V0IHRoZSByZXBseS4KKwor
ICAgICAgICBUaGlzIGZpeGVzIHRzdF9RV2ViRnJhbWU6OnJlcXVlc3RlZFVybCgpLCB0aGF0IHdh
cyBicmVha2luZyBiZWNhdXNlIHNuaWZmZXIgd2FzIG5vdAorICAgICAgICBlbWl0dGluZyBpdHMg
b3duIGZpbmlzaGVkKCkgc2lnbmFsLCBjYXVzaW5nIFFXZWJGcmFtZTo6bG9hZEZpbmlzaGVkKCkg
dG8gbm90IGJlIGVtaXR0ZWQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3F0L1FOZXR3
b3JrUmVwbHlIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlFOZXR3b3JrUmVwbHlXcmFw
cGVyOjpRTmV0d29ya1JlcGx5V3JhcHBlcik6CisgICAgICAgIENvbm5lY3QgdGhlIGZpbmlzaGVk
IHNpZ25hbCB0byB0aGUgbmV3IHNldEZpbmlzaGVkKCkgc2xvdC4KKworICAgICAgICAoV2ViQ29y
ZTo6UU5ldHdvcmtSZXBseVdyYXBwZXI6OnN5bmNocm9ub3VzTG9hZCk6CisgICAgICAgIFNpbmNl
IHdlIGRvbid0IGdldCB0aGUgZmluaXNoZWQgc2lnbmFsIGZvciBzeW5jaHJvbm91cyBsb2Fkcywg
c2V0IHRoZSBkeW5hbWljIHByb3BlcnR5CisgICAgICAgIGJlZm9yZSBwcm9jZXNzaW5nIGl0Lgor
CisgICAgICAgIChXZWJDb3JlOjpRTmV0d29ya1JlcGx5V3JhcHBlcjo6cmVzZXRDb25uZWN0aW9u
cyk6CisgICAgICAgIERvIG5vdCByZXNldCB0aGUgY29ubmVjdGlvbiB0byBzZXRGaW5pc2hlZCgp
LgorCisgICAgICAgIChXZWJDb3JlOjpRTmV0d29ya1JlcGx5V3JhcHBlcjo6c2V0RmluaXNoZWQp
OgorICAgICAgICBTZXQgdGhlIGR5bmFtaWMgcHJvcGVydHkgaW4gdGhlIHJlcGx5LgorCisgICAg
ICAgIChXZWJDb3JlOjpRTmV0d29ya1JlcGx5V3JhcHBlcjo6ZW1pdE1ldGFEYXRhQ2hhbmdlZCk6
CisgICAgICAgIChXZWJDb3JlOjpRTmV0d29ya1JlcGx5SGFuZGxlcjo6c3RhcnQpOgorICAgICAg
ICBDaGFuZ2UgdG8gdXNlIHdyYXBwZXIncyBpc0ZpbmlzaGVkKCkgaW5zdGVhZCBvZiBhc2tpbmcg
dGhlIHJlcGx5IGRpcmVjdGx5LgorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0
d29ya1JlcGx5SGFuZGxlci5oOgorICAgICAgICAoV2ViQ29yZTo6UU5ldHdvcmtSZXBseVdyYXBw
ZXI6OmlzRmluaXNoZWQpOgorICAgICAgICBDaGVja3MgdGhlIGR5bmFtaWMgcHJvcGVydHkgb2Yg
dGhlIHJlcGx5LgorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9xdC9RdE1JTUVUeXBlU25p
ZmZlci5jcHA6CisgICAgICAgIChRdE1JTUVUeXBlU25pZmZlcjo6c25pZmYpOgorICAgICAgICBV
c2UgdGhlIGR5bmFtaWMgcHJvcGVydHkgdG8gY2hlY2sgaWYgdGhlIHJlcGx5IGlzIGZpbmlzaGVk
LgorCiAyMDExLTA1LTAyICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgR2F2aW4gQmFycmFjbG91Z2guCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuY3BwCmluZGV4
IDhiMDU1YmUuLjBjM2NmNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuY3BwCkBAIC0yMTQsOCArMjE0
LDEwIEBAIFFOZXR3b3JrUmVwbHlXcmFwcGVyOjpRTmV0d29ya1JlcGx5V3JhcHBlcihRTmV0d29y
a1JlcGx5SGFuZGxlckNhbGxRdWV1ZSogcXVldWUsCiB7CiAgICAgUV9BU1NFUlQobV9yZXBseSk7
CiAKLSAgICBjb25uZWN0KG1fcmVwbHksIFNJR05BTChyZWFkeVJlYWQoKSksIHRoaXMsIFNMT1Qo
cmVjZWl2ZU1ldGFEYXRhKCkpKTsKKyAgICAvLyBzZXRGaW5pc2hlZCgpIG11c3QgYmUgdGhlIGZp
cnN0IHRoYXQgd2UgY29ubmVjdCwgc28gaXNGaW5pc2hlZCgpIGlzIHVwZGF0ZWQgd2hlbiBydW5u
aW5nIG90aGVyIHNsb3RzLgorICAgIGNvbm5lY3QobV9yZXBseSwgU0lHTkFMKGZpbmlzaGVkKCkp
LCB0aGlzLCBTTE9UKHNldEZpbmlzaGVkKCkpKTsKICAgICBjb25uZWN0KG1fcmVwbHksIFNJR05B
TChmaW5pc2hlZCgpKSwgdGhpcywgU0xPVChyZWNlaXZlTWV0YURhdGEoKSkpOworICAgIGNvbm5l
Y3QobV9yZXBseSwgU0lHTkFMKHJlYWR5UmVhZCgpKSwgdGhpcywgU0xPVChyZWNlaXZlTWV0YURh
dGEoKSkpOwogfQogCiBRTmV0d29ya1JlcGx5V3JhcHBlcjo6flFOZXR3b3JrUmVwbHlXcmFwcGVy
KCkKQEAgLTIzOSwxMCArMjQxLDIwIEBAIFFOZXR3b3JrUmVwbHkqIFFOZXR3b3JrUmVwbHlXcmFw
cGVyOjpyZWxlYXNlKCkKICAgICByZXR1cm4gcmVwbHk7CiB9CiAKK3ZvaWQgUU5ldHdvcmtSZXBs
eVdyYXBwZXI6OnN5bmNocm9ub3VzTG9hZCgpCit7CisgICAgc2V0RmluaXNoZWQoKTsKKyAgICBy
ZWNlaXZlTWV0YURhdGEoKTsKK30KKwogdm9pZCBRTmV0d29ya1JlcGx5V3JhcHBlcjo6cmVzZXRD
b25uZWN0aW9ucygpCiB7Ci0gICAgaWYgKG1fcmVwbHkpCi0gICAgICAgIG1fcmVwbHktPmRpc2Nv
bm5lY3QodGhpcyk7CisgICAgaWYgKG1fcmVwbHkpIHsKKyAgICAgICAgLy8gRGlzY29ubmVjdCBh
bGwgY29ubmVjdGlvbnMgZXhjZXB0IHRoZSBvbmUgdG8gc2V0RmluaXNoZWQoKSBzbG90LgorICAg
ICAgICBtX3JlcGx5LT5kaXNjb25uZWN0KHRoaXMsIFNMT1QocmVjZWl2ZU1ldGFEYXRhKCkpKTsK
KyAgICAgICAgbV9yZXBseS0+ZGlzY29ubmVjdCh0aGlzLCBTTE9UKGRpZFJlY2VpdmVGaW5pc2hl
ZCgpKSk7CisgICAgICAgIG1fcmVwbHktPmRpc2Nvbm5lY3QodGhpcywgU0xPVChkaWRSZWNlaXZl
UmVhZHlSZWFkKCkpKTsKKyAgICB9CiAgICAgUUNvcmVBcHBsaWNhdGlvbjo6cmVtb3ZlUG9zdGVk
RXZlbnRzKHRoaXMsIFFFdmVudDo6TWV0YUNhbGwpOwogfQogCkBAIC0yOTMsNiArMzA1LDE2IEBA
IHZvaWQgUU5ldHdvcmtSZXBseVdyYXBwZXI6OnJlY2VpdmVTbmlmZmVkTUlNRVR5cGUoKQogICAg
IGVtaXRNZXRhRGF0YUNoYW5nZWQoKTsKIH0KIAordm9pZCBRTmV0d29ya1JlcGx5V3JhcHBlcjo6
c2V0RmluaXNoZWQoKQoreworICAgIC8vIER1ZSB0byBhIGxpbWl0YXRpb24gb2YgUU5ldHdvcmtS
ZXBseSBwdWJsaWMgQVBJLCBpdHMgc3ViY2xhc3NlcyBuZXZlciBnZXQgdGhlIGNoYW5jZSB0bwor
ICAgIC8vIGNoYW5nZSB0aGUgcmVzdWx0IG9mIFFOZXR3b3JrUmVwbHk6OmlzRmluaXNoZWQoKSBt
ZXRob2QuIFNvIHdlIG5lZWQgdG8ga2VlcCB0cmFjayBvZiB0aGUKKyAgICAvLyBmaW5pc2hlZCBz
dGF0ZSBvdXJzZWx2ZXMuIFRoaXMgbGltaXRhdGlvbiBpcyBmaXhlZCBpbiA0LjgsIGJ1dCB3ZSds
bCBzdGlsbCBoYXZlIGFwcGxpY2F0aW9ucworICAgIC8vIHRoYXQgZG9uJ3QgdXNlIHRoZSBzb2x1
dGlvbi4gU2VlIGh0dHA6Ly9idWdyZXBvcnRzLnF0Lm5va2lhLmNvbS9icm93c2UvUVRCVUctMTE3
MzcuCisgICAgUV9BU1NFUlQoIWlzRmluaXNoZWQoKSk7CisgICAgbV9yZXBseS0+c2V0UHJvcGVy
dHkoIl9xX2lzRmluaXNoZWQiLCB0cnVlKTsKK30KKwogdm9pZCBRTmV0d29ya1JlcGx5V3JhcHBl
cjo6ZW1pdE1ldGFEYXRhQ2hhbmdlZCgpCiB7CiAgICAgUXVldWVMb2NrZXIgbG9jayhtX3F1ZXVl
KTsKQEAgLTMwMyw3ICszMjUsNyBAQCB2b2lkIFFOZXR3b3JrUmVwbHlXcmFwcGVyOjplbWl0TWV0
YURhdGFDaGFuZ2VkKCkKICAgICAgICAgbV9xdWV1ZS0+cHVzaCgmUU5ldHdvcmtSZXBseUhhbmRs
ZXI6OmZvcndhcmREYXRhKTsKICAgICB9CiAKLSAgICBpZiAobV9yZXBseS0+aXNGaW5pc2hlZCgp
KSB7CisgICAgaWYgKGlzRmluaXNoZWQoKSkgewogICAgICAgICBtX3F1ZXVlLT5wdXNoKCZRTmV0
d29ya1JlcGx5SGFuZGxlcjo6ZmluaXNoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTY0
MCw3ICs2NjIsNyBAQCB2b2lkIFFOZXR3b3JrUmVwbHlIYW5kbGVyOjpzdGFydCgpCiAKICAgICBt
X3JlcGx5V3JhcHBlciA9IG5ldyBRTmV0d29ya1JlcGx5V3JhcHBlcigmbV9xdWV1ZSwgcmVwbHks
IG1fcmVzb3VyY2VIYW5kbGUtPnNob3VsZENvbnRlbnRTbmlmZigpICYmIGQtPm1fY29udGV4dC0+
bWltZVNuaWZmaW5nRW5hYmxlZCgpLCB0aGlzKTsKIAotICAgIGlmIChtX2xvYWRUeXBlID09IFN5
bmNocm9ub3VzTG9hZCAmJiBtX3JlcGx5V3JhcHBlci0+cmVwbHkoKS0+aXNGaW5pc2hlZCgpKSB7
CisgICAgaWYgKG1fbG9hZFR5cGUgPT0gU3luY2hyb25vdXNMb2FkKSB7CiAgICAgICAgIG1fcmVw
bHlXcmFwcGVyLT5zeW5jaHJvbm91c0xvYWQoKTsKICAgICAgICAgLy8gSWYgc3VwcG9ydGVkLCBh
IHN5bmNocm9ub3VzIHJlcXVlc3Qgd2lsbCBiZSBmaW5pc2hlZCBhdCB0aGlzIHBvaW50LCBubyBu
ZWVkIHRvIGhvb2sgdXAgdGhlIHNpZ25hbHMuCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRs
ZXIuaAppbmRleCBlYzRlNjVhLi5kZWZlZWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1JlcGx5SGFuZGxlci5oCkBAIC0yMSw4
ICsyMSw5IEBACiAKICNpbmNsdWRlIDxRT2JqZWN0PgogCi0jaW5jbHVkZSA8UU5ldHdvcmtSZXF1
ZXN0PgogI2luY2x1ZGUgPFFOZXR3b3JrQWNjZXNzTWFuYWdlcj4KKyNpbmNsdWRlIDxRTmV0d29y
a1JlcGx5PgorI2luY2x1ZGUgPFFOZXR3b3JrUmVxdWVzdD4KIAogI2luY2x1ZGUgIkZvcm1EYXRh
LmgiCiAjaW5jbHVkZSAiUXRNSU1FVHlwZVNuaWZmZXIuaCIKQEAgLTcwLDcgKzcxLDcgQEAgcHVi
bGljOgogICAgIFFOZXR3b3JrUmVwbHkqIHJlcGx5KCkgY29uc3QgeyByZXR1cm4gbV9yZXBseTsg
fQogICAgIFFOZXR3b3JrUmVwbHkqIHJlbGVhc2UoKTsKIAotICAgIHZvaWQgc3luY2hyb25vdXNM
b2FkKCkgeyByZWNlaXZlTWV0YURhdGEoKTsgfQorICAgIHZvaWQgc3luY2hyb25vdXNMb2FkKCk7
CiAKICAgICBRVXJsIHJlZGlyZWN0aW9uVGFyZ2V0VXJsKCkgY29uc3QgeyByZXR1cm4gbV9yZWRp
cmVjdGlvblRhcmdldFVybDsgfQogICAgIFFTdHJpbmcgZW5jb2RpbmcoKSBjb25zdCB7IHJldHVy
biBtX2VuY29kaW5nOyB9CkBAIC04MCwxMSArODEsMTUgQEAgcHVibGljOgogICAgIGJvb2wgcmVz
cG9uc2VDb250YWluc0RhdGEoKSBjb25zdCB7IHJldHVybiBtX3Jlc3BvbnNlQ29udGFpbnNEYXRh
OyB9CiAgICAgYm9vbCB3YXNSZWRpcmVjdGVkKCkgY29uc3QgeyByZXR1cm4gbV9yZWRpcmVjdGlv
blRhcmdldFVybC5pc1ZhbGlkKCk7IH0KIAorICAgIC8vIFNlZSBzZXRGaW5pc2hlZCgpLgorICAg
IGJvb2wgaXNGaW5pc2hlZCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVwbHktPnByb3BlcnR5KCJfcV9p
c0ZpbmlzaGVkIikudG9Cb29sKCk7IH0KKwogcHJpdmF0ZSBRX1NMT1RTOgogICAgIHZvaWQgcmVj
ZWl2ZU1ldGFEYXRhKCk7CiAgICAgdm9pZCBkaWRSZWNlaXZlRmluaXNoZWQoKTsKICAgICB2b2lk
IGRpZFJlY2VpdmVSZWFkeVJlYWQoKTsKICAgICB2b2lkIHJlY2VpdmVTbmlmZmVkTUlNRVR5cGUo
KTsKKyAgICB2b2lkIHNldEZpbmlzaGVkKCk7CiAKIHByaXZhdGU6CiAgICAgdm9pZCByZXNldENv
bm5lY3Rpb25zKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L3F0L1F0TUlNRVR5cGVTbmlmZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvcXQvUXRNSU1FVHlwZVNuaWZmZXIuY3BwCmluZGV4IGU3MTliODAuLjYwYWI3MjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUXRNSU1FVHlwZVNuaWZm
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUXRNSU1FVHlw
ZVNuaWZmZXIuY3BwCkBAIC00MSw3ICs0MSwxMCBAQCBRdE1JTUVUeXBlU25pZmZlcjo6UXRNSU1F
VHlwZVNuaWZmZXIoUU5ldHdvcmtSZXBseSogcmVwbHksIGNvbnN0IFFTdHJpbmcmIGFkdmVydAog
CiBib29sIFF0TUlNRVR5cGVTbmlmZmVyOjpzbmlmZigpCiB7Ci0gICAgaWYgKCFtX3JlcGx5LT5p
c0ZpbmlzaGVkKCkgJiYgbV9yZXBseS0+Ynl0ZXNBdmFpbGFibGUoKSA8IG1fc25pZmZlci5kYXRh
U2l6ZSgpKQorICAgIC8vIFNlZSBRTmV0d29ya1JlcGx5V3JhcHBlcjo6c2V0RmluaXNoZWQoKS4K
KyAgICBjb25zdCBib29sIGlzUmVwbHlGaW5pc2hlZCA9IG1fcmVwbHktPnByb3BlcnR5KCJfcV9p
c0ZpbmlzaGVkIikudG9Cb29sKCk7CisKKyAgICBpZiAoIWlzUmVwbHlGaW5pc2hlZCAmJiBtX3Jl
cGx5LT5ieXRlc0F2YWlsYWJsZSgpIDwgbV9zbmlmZmVyLmRhdGFTaXplKCkpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKIAogICAgIFFCeXRlQXJyYXkgZGF0YSA9IG1fcmVwbHktPnBlZWsobV9zbmlm
ZmVyLmRhdGFTaXplKCkpOwotLSAKMS43LjQuNAoK
</data>
<flag name="review"
          id="84930"
          type_id="1"
          status="+"
          setter="kling"
    />
    <flag name="commit-queue"
          id="85165"
          type_id="3"
          status="-"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>