<?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>28884</bug_id>
          
          <creation_ts>2009-09-01 12:02:39 -0700</creation_ts>
          <short_desc>[Qt] Add CreateRequestExtension to QWebPage</short_desc>
          <delta_ts>2009-10-04 08:40:55 -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>WebKit Qt</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>29975</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Robert Hogan">robert</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ben</cc>
    
    <cc>eric</cc>
    
    <cc>hausmann</cc>
    
    <cc>kenneth</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>yael</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>143969</commentid>
    <comment_count>0</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2009-09-01 12:02:39 -0700</bug_when>
    <thetext>The CreateRequestExtension extension will allow users to associate QNetworkRequests with their originating QWebFrame and NavigationType.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143971</commentid>
    <comment_count>1</comment_count>
      <attachid>38876</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2009-09-01 12:05:14 -0700</bug_when>
    <thetext>Created attachment 38876
Add CreateRequestExtension</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143982</commentid>
    <comment_count>2</comment_count>
      <attachid>38880</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2009-09-01 13:09:01 -0700</bug_when>
    <thetext>Created attachment 38880
Update patch to add missing doc

Was missing doc for CreateRequestExtension (had only doc&apos;d *Option and *Return values)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144557</commentid>
    <comment_count>3</comment_count>
      <attachid>38880</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2009-09-03 12:01:10 -0700</bug_when>
    <thetext>Comment on attachment 38880
Update patch to add missing doc

I understand what you&apos;re trying to achieve (through earlier emails), but I don&apos;t understand who this extension helps you to be able to track the originating frame of a QNetworkRequest if nothing in WebCore/WebKit actually call this function. The documentation also doesn&apos;t explain what I&apos;m wondering about:

    * What&apos;s the use of the output value?
    * Why does it have to be filled out?

Usually the extension pattern is used to allow developers to change existing behaviour where we would normally add a new virtual function but cannot because of binary compatibility constraints.

Perhaps all you need is a signal that is emitted whenever a request is created? :)

Perhaps the request callbacks in FrameLoaderClientQt.cpp could be the source that triggers the API?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144563</commentid>
    <comment_count>4</comment_count>
    <who name="Benjamin Meyer">ben</who>
    <bug_when>2009-09-03 12:11:21 -0700</bug_when>
    <thetext>Yah looking that part of the patch is missing.  The purpose of using the extension system is so that anyone can add new attributes to the request so that later one could look at a reply-&gt;request() and pull out any user atrributes from the request (such as a frame pointer).  emiting a signal with a pointer to a request is one way to go, but the extension system seemed more Qtish.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146941</commentid>
    <comment_count>5</comment_count>
      <attachid>39517</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2009-09-12 12:56:45 -0700</bug_when>
    <thetext>Created attachment 39517
Updated Patch

Corrected patch - qnetworkreplyhandler now calls the extension and uses the qnetworkrequest returned by its output. This will allow clients to reimplement extension() and modify the qnetworkrequest&apos;s attributes to contain a pointer to the frame, for example.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147520</commentid>
    <comment_count>6</comment_count>
      <attachid>39517</attachid>
    <who name="Ariya Hidayat">ariya.hidayat</who>
    <bug_when>2009-09-16 06:31:25 -0700</bug_when>
    <thetext>Comment on attachment 39517
Updated Patch

&gt; +    // Calling CreateRequestExtension allows clients who implement it to perform
&gt; +    // operations on the QNetworkRequest::Attributes. For example, clients could
&gt; +    // store a pointer to the frame in QNetworkRequest::User + X. This would allow
&gt; +    // the client to associate the network request with it&apos;s originating frame.
&gt; +    QWebPage::CreateRequestExtensionOption option;
&gt; +    option.frame = d-&gt;m_frame;
&gt; +    option.request = m_request;
&gt; +    option.type = QWebPage::NavigationTypeOther;
&gt; +
&gt; +    QWebPage::CreateRequestExtensionReturn output;
&gt; +    if (d-&gt;m_frame-&gt;page()-&gt;extension(QWebPage::CreateRequestExtension, &amp;option, &amp;output))
&gt; +        m_request = output.request;

I am not sure about this part. Seems that we will need to construct both structures even in the case (probably 90%) where this extension will not be used by the client.
That seems like a waste.

Is there a way to not support the extension by default?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147772</commentid>
    <comment_count>7</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2009-09-17 02:55:08 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; 
&gt; I am not sure about this part. Seems that we will need to construct both
&gt; structures even in the case (probably 90%) where this extension will not be
&gt; used by the client.
&gt; That seems like a waste.
&gt; 
&gt; Is there a way to not support the extension by default?

Well we could add the extension to qwebpage, but return it as false in supportsExtension() by default. It would then be up to the client to reimplement supportsExtension() to indicate support of CreateRequestExtension, as well as extension() to manipulate the QNetworkRequest. Would that do?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149488</commentid>
    <comment_count>8</comment_count>
      <attachid>40014</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2009-09-23 13:31:17 -0700</bug_when>
    <thetext>Created attachment 40014
Updated Patch

Updated to only call extension() if client has reimplemented supportsExtension() to support it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150279</commentid>
    <comment_count>9</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2009-09-26 05:23:12 -0700</bug_when>
    <thetext>I admit I still don&apos;t understand why such a complex API is necessary, in particular that the implementation of the extension _has_ to copy in the incoming request into the output argument, otherwise you get random crashes. That IMHO is bad and too complex API.

Why is it necessary to allow the developer to provide a complete replacement for the network request?

Why wouldn&apos;t a simple single notification signal in QWebPage (with a frame and the request as argument) be sufficient for your use-case?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150602</commentid>
    <comment_count>10</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2009-09-28 12:32:57 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; I admit I still don&apos;t understand why such a complex API is necessary, in
&gt; particular that the implementation of the extension _has_ to copy in the
&gt; incoming request into the output argument, otherwise you get random crashes.
&gt; That IMHO is bad and too complex API.
&gt; 

I agree with you here, though I think the complexity is largely a feature of the extension() API design.

&gt; Why is it necessary to allow the developer to provide a complete replacement
&gt; for the network request?
&gt; 
&gt; Why wouldn&apos;t a simple single notification signal in QWebPage (with a frame and
&gt; the request as argument) be sufficient for your use-case?

It would certainly be sufficient for my use-case and I would happily proceed on that basis.

If I understand the discussion that has taken place on this, the extension() API offers the following benefits over a simple signal:

1. It supports the design decision of introducing the extension() API, i.e. it&apos;s the new Qt-ish way of doing things.
2. It exposes the QNetworkRequest attributes() to clients in a way that  allows them to make better use of them than is currently available.

That&apos;s my (possibly) incomplete understanding of it. I think Ben or others may be able to add more to the case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150625</commentid>
    <comment_count>11</comment_count>
    <who name="Benjamin Meyer">ben</who>
    <bug_when>2009-09-28 13:30:26 -0700</bug_when>
    <thetext>If simon is ok with having a signal where the request is a pointer I am ok with it.  Passing a pointer to a temporary object in a signal where it is expected the receiver will only be one object and will modify the pointer didn&apos;t seem to match up to the usual qt api, but it is cleaner then the extension way.

void requestCreated(QNetworkRequest *request, QWebFrame *frame, type)

Simon?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150652</commentid>
    <comment_count>12</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2009-09-28 14:19:56 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; If simon is ok with having a signal where the request is a pointer I am ok with
&gt; it.  Passing a pointer to a temporary object in a signal where it is expected
&gt; the receiver will only be one object and will modify the pointer didn&apos;t seem to
&gt; match up to the usual qt api, but it is cleaner then the extension way.
&gt; 
&gt; void requestCreated(QNetworkRequest *request, QWebFrame *frame, type)

Well, the extension didn&apos;t change anything about that, didn&apos;t it? I just made it harder to use :)

Think of this similar to QWebPage&apos;s frameCreated() signal.

I wonder if it should be a signal of QWebFrame or QWebPage. If the latter, then I guess the frame should be the first argument?

What&apos;s type? :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150658</commentid>
    <comment_count>13</comment_count>
    <who name="Benjamin Meyer">ben</who>
    <bug_when>2009-09-28 14:29:07 -0700</bug_when>
    <thetext>Woops, that should have been

void requestCreated(QNetworkRequest *request, QWebFrame *frame, QWebPage::NavigationType type)

The frame and the type are the two args passed to the extension in the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152154</commentid>
    <comment_count>14</comment_count>
      <attachid>40595</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2009-10-04 04:54:08 -0700</bug_when>
    <thetext>Created attachment 40595
possible patch

Not marking this one for review, because I&apos;m not sure it meets Ben&apos;s needs (though it meets mine).

The requestCreate() signal is emitted from qnetworkreplyhandler-&gt;start() - this ensures all networkrequests handled by qtwebkit are caught. However NavigationType is not available there so I can&apos;t include it in the signal.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152157</commentid>
    <comment_count>15</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2009-10-04 07:12:25 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; Created an attachment (id=40595) [details]
&gt; possible patch
&gt; 
&gt; Not marking this one for review, because I&apos;m not sure it meets Ben&apos;s needs
&gt; (though it meets mine).
&gt; 
&gt; The requestCreate() signal is emitted from qnetworkreplyhandler-&gt;start() - this
&gt; ensures all networkrequests handled by qtwebkit are caught. However
&gt; NavigationType is not available there so I can&apos;t include it in the signal.

Please have a look at https://bugs.webkit.org/show_bug.cgi?id=29975</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152166</commentid>
    <comment_count>16</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2009-10-04 08:40:55 -0700</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of bug 29975 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38876</attachid>
            <date>2009-09-01 12:05:14 -0700</date>
            <delta_ts>2009-09-01 13:09:01 -0700</delta_ts>
            <desc>Add CreateRequestExtension</desc>
            <filename>0001-Add-CreateRequestExtension-to-QWebPage.patch</filename>
            <type>text/plain</type>
            <size>7263</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">RnJvbSA4NjAyZGY5MzcwMWYwYjhlZDZjMTE3YjViZjA1NDFlY2QxZmU3OTFmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnQgSG9nYW4gPHJvYmVydEByb2JlcnRob2dhbi5uZXQ+
CkRhdGU6IFR1ZSwgMSBTZXAgMjAwOSAxOTozOTozNCArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIEFk
ZCBDcmVhdGVSZXF1ZXN0RXh0ZW5zaW9uIHRvIFFXZWJQYWdlCiBUaGUgQ3JlYXRlUmVxdWVzdEV4
dGVuc2lvbiBleHRlbnNpb24gd2lsbCBhbGxvdyB1c2VycwogdG8gYXNzb2NpYXRlIFFOZXR3b3Jr
UmVxdWVzdHMgd2l0aCB0aGVpciBvcmlnaW5hdGluZyBRV2ViRnJhbWUKIGFuZCBOYXZpZ2F0aW9u
VHlwZS4KCi0tLQogV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAgICAgICAgICAgICAgICAgfCAg
IDQwICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0tCiBXZWJLaXQvcXQvQXBpL3F3ZWJwYWdl
LmggICAgICAgICAgICAgICAgICB8ICAgMTcgKysrKysrKysrKystCiBXZWJLaXQvcXQvQ2hhbmdl
TG9nICAgICAgICAgICAgICAgICAgICAgICB8ICAgMjEgKysrKysrKysrKysrKysrCiBXZWJLaXQv
cXQvdGVzdHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcCB8ICAgMzQgKysrKysrKysrKysrKysr
KysrKysrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDEwNyBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9u
cygtKQoKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwIGIvV2ViS2l0L3F0
L0FwaS9xd2VicGFnZS5jcHAKaW5kZXggMTRiYjhkMC4uMWNhNGFiMSAxMDA2NDQKLS0tIGEvV2Vi
S2l0L3F0L0FwaS9xd2VicGFnZS5jcHAKKysrIGIvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAK
QEAgLTIzNzEsOCArMjM3MSwzMCBAQCB2b2lkIFFXZWJQYWdlOjp1cGRhdGVQb3NpdGlvbkRlcGVu
ZGVudEFjdGlvbnMoY29uc3QgUVBvaW50ICZwb3MpCiAKICAgICBcc2EgUVdlYlBhZ2U6OkNob29z
ZU11bHRpcGxlRmlsZXNFeHRlbnNpb25PcHRpb24KICovCisvKiEKKyAgICBcY2xhc3MgUVdlYlBh
Z2U6OkNyZWF0ZVJlcXVlc3RFeHRlbnNpb25PcHRpb24KKyAgICBcc2luY2UgNC42CisgICAgXGJy
aWVmIFRoZSBDcmVhdGVSZXF1ZXN0RXh0ZW5zaW9uT3B0aW9uIGNsYXNzIGRlc2NyaWJlcyB0aGUg
b3B0aW9uCisgICAgZm9yIHRoZSBleHRlbnNpb24gYXNzb2NpYXRpbmcgYSBuZXR3b3JrIHJlcXVl
c3QgYW5kIFxhIE5hdmlnYXRpb25UeXBlIHdpdGggYSBmcmFtZS4KKworICAgIFRoZSBDcmVhdGVS
ZXF1ZXN0RXh0ZW5zaW9uT3B0aW9uIGNsYXNzIGhvbGRzIHRoZSBmcmFtZSBvcmlnaW5hdGluZyB0
aGUgcmVxdWVzdCwgdGhlCisgICAgcmVxdWVzdCBpdHNlbGYsIGFuZCB0aGUgXGEgTmF2aWdhdGlv
blR5cGUgb2YgdGhlIHJlcXVlc3QuCisKKyAgICBcc2EgUVdlYlBhZ2U6Ok5hdmlnYXRpb25UeXBl
LCBRV2ViRnJhbWUsIFFOZXR3b3JrUmVxdWVzdAorKi8KIAogLyohCisgICAgXGNsYXNzIFFXZWJQ
YWdlOjpDcmVhdGVSZXF1ZXN0RXh0ZW5zaW9uUmV0dXJuCisgICAgXHNpbmNlIDQuNgorICAgIFxi
cmllZiBUaGUgQ3JlYXRlUmVxdWVzdEV4dGVuc2lvblJldHVybiBkZXNjcmliZXMgdGhlIHJldHVy
biB2YWx1ZQorICAgIGZvciB0aGUgZXh0ZW5zaW9uIGFzc29jaWF0aW5nIGEgbmV0d29yayByZXF1
ZXN0IGFuZCBcYSBOYXZpZ2F0aW9uVHlwZSB3aXRoIGEgZnJhbWUuCisKKyAgICBUaGUgQ3JlYXRl
UmVxdWVzdEV4dGVuc2lvblJldHVybiBjbGFzcyBob2xkcyB0aGUgcmVxdWVzdCBwcm92aWRlZCBi
eSB0aGUgdXNlcgorICAgIHdoZW4gdGhlIGV4dGVuc2lvbiBpcyBpbnZva2VkLgorCisgICAgXHNh
IFFXZWJQYWdlOjpDcmVhdGVSZXF1ZXN0RXh0ZW5zaW9uT3B0aW9uCisqLworLyohCiAgICAgVGhp
cyB2aXJ0dWFsIGZ1bmN0aW9uIGNhbiBiZSByZWltcGxlbWVudGVkIGluIGEgUVdlYlBhZ2Ugc3Vi
Y2xhc3MgdG8gcHJvdmlkZSBzdXBwb3J0IGZvciBleHRlbnNpb25zLiBUaGUgXGEgb3B0aW9uCiAg
ICAgYXJndW1lbnQgaXMgcHJvdmlkZWQgYXMgaW5wdXQgdG8gdGhlIGV4dGVuc2lvbjsgdGhlIG91
dHB1dCByZXN1bHRzIGNhbiBiZSBzdG9yZWQgaW4gXGEgb3V0cHV0LgogCkBAIC0yMzk2LDYgKzI0
MTgsMTUgQEAgYm9vbCBRV2ViUGFnZTo6ZXh0ZW5zaW9uKEV4dGVuc2lvbiBleHRlbnNpb24sIGNv
bnN0IEV4dGVuc2lvbk9wdGlvbiAqb3B0aW9uLCBFeHQKICAgICB9CiAjZW5kaWYKIAorICAgIGlm
IChleHRlbnNpb24gPT0gQ3JlYXRlUmVxdWVzdEV4dGVuc2lvbikgeworICAgICAgICBRV2ViRnJh
bWUqIGZyYW1lID0gc3RhdGljX2Nhc3Q8Y29uc3QgQ3JlYXRlUmVxdWVzdEV4dGVuc2lvbk9wdGlv
bio+KG9wdGlvbiktPmZyYW1lOworICAgICAgICBRTmV0d29ya1JlcXVlc3QgcmVxdWVzdCA9IHN0
YXRpY19jYXN0PGNvbnN0IENyZWF0ZVJlcXVlc3RFeHRlbnNpb25PcHRpb24qPihvcHRpb24pLT5y
ZXF1ZXN0OworICAgICAgICBpbnQgdHlwZSA9IHN0YXRpY19jYXN0PGNvbnN0IENyZWF0ZVJlcXVl
c3RFeHRlbnNpb25PcHRpb24qPihvcHRpb24pLT50eXBlOworCisgICAgICAgIHN0YXRpY19jYXN0
PENyZWF0ZVJlcXVlc3RFeHRlbnNpb25SZXR1cm4qPihvdXRwdXQpLT5yZXF1ZXN0ID0gcmVxdWVz
dDsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCiAgICAgcmV0dXJuIGZhbHNlOwogfQog
CkBAIC0yNDA2LDEyICsyNDM3LDEzIEBAIGJvb2wgUVdlYlBhZ2U6OmV4dGVuc2lvbihFeHRlbnNp
b24gZXh0ZW5zaW9uLCBjb25zdCBFeHRlbnNpb25PcHRpb24gKm9wdGlvbiwgRXh0CiAqLwogYm9v
bCBRV2ViUGFnZTo6c3VwcG9ydHNFeHRlbnNpb24oRXh0ZW5zaW9uIGV4dGVuc2lvbikgY29uc3QK
IHsKKyAgICBpZiAoCiAjaWZuZGVmIFFUX05PX0ZJTEVESUFMT0cKLSAgICByZXR1cm4gZXh0ZW5z
aW9uID09IENob29zZU11bHRpcGxlRmlsZXNFeHRlbnNpb247Ci0jZWxzZQotICAgIFFfVU5VU0VE
KGV4dGVuc2lvbik7Ci0gICAgcmV0dXJuIGZhbHNlOworICAgICAgICBleHRlbnNpb24gPT0gQ2hv
b3NlTXVsdGlwbGVGaWxlc0V4dGVuc2lvbiB8fAogI2VuZGlmCisgICAgICAgIGV4dGVuc2lvbiA9
PSBDcmVhdGVSZXF1ZXN0RXh0ZW5zaW9uKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1
cm4gZmFsc2U7CiB9CiAKIC8qIQpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5o
IGIvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5oCmluZGV4IDI0NzQxYTEuLjIxNTQ5YTUgMTAwNjQ0
Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuaAorKysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJw
YWdlLmgKQEAgLTI0LDYgKzI0LDcgQEAKICNpbmNsdWRlICJxd2Vic2V0dGluZ3MuaCIKICNpbmNs
dWRlICJxd2Via2l0Z2xvYmFsLmgiCiAKKyNpbmNsdWRlIDxRdE5ldHdvcmsvcW5ldHdvcmtyZXF1
ZXN0Lmg+CiAjaW5jbHVkZSA8UXRDb3JlL3FvYmplY3QuaD4KICNpbmNsdWRlIDxRdEd1aS9xd2lk
Z2V0Lmg+CiAKQEAgLTI2NSw3ICsyNjYsOCBAQCBwdWJsaWM6CiAgICAgUU1lbnUgKmNyZWF0ZVN0
YW5kYXJkQ29udGV4dE1lbnUoKTsKIAogICAgIGVudW0gRXh0ZW5zaW9uIHsKLSAgICAgICAgQ2hv
b3NlTXVsdGlwbGVGaWxlc0V4dGVuc2lvbgorICAgICAgICBDaG9vc2VNdWx0aXBsZUZpbGVzRXh0
ZW5zaW9uLAorICAgICAgICBDcmVhdGVSZXF1ZXN0RXh0ZW5zaW9uCiAgICAgfTsKICAgICBjbGFz
cyBFeHRlbnNpb25PcHRpb24KICAgICB7fTsKQEAgLTI4Myw2ICsyODUsMTggQEAgcHVibGljOgog
ICAgICAgICBRU3RyaW5nTGlzdCBmaWxlTmFtZXM7CiAgICAgfTsKIAorICAgIGNsYXNzIENyZWF0
ZVJlcXVlc3RFeHRlbnNpb25PcHRpb24gOiBwdWJsaWMgRXh0ZW5zaW9uT3B0aW9uIHsKKyAgICBw
dWJsaWM6CisgICAgICAgIFFXZWJGcmFtZSAqZnJhbWU7CisgICAgICAgIFFOZXR3b3JrUmVxdWVz
dCByZXF1ZXN0OworICAgICAgICBpbnQgdHlwZTsKKyAgICB9OworCisgICAgY2xhc3MgQ3JlYXRl
UmVxdWVzdEV4dGVuc2lvblJldHVybiA6IHB1YmxpYyBFeHRlbnNpb25SZXR1cm4geworICAgIHB1
YmxpYzoKKyAgICAgICAgUU5ldHdvcmtSZXF1ZXN0IHJlcXVlc3Q7CisgICAgfTsKKwogICAgIHZp
cnR1YWwgYm9vbCBleHRlbnNpb24oRXh0ZW5zaW9uIGV4dGVuc2lvbiwgY29uc3QgRXh0ZW5zaW9u
T3B0aW9uICpvcHRpb24gPSAwLCBFeHRlbnNpb25SZXR1cm4gKm91dHB1dCA9IDApOwogICAgIHZp
cnR1YWwgYm9vbCBzdXBwb3J0c0V4dGVuc2lvbihFeHRlbnNpb24gZXh0ZW5zaW9uKSBjb25zdDsK
IApAQCAtMzU2LDYgKzM3MCw3IEBAIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFdlYkNvcmU6
OkZyYW1lTG9hZGVyQ2xpZW50UXQ7CiAgICAgZnJpZW5kIGNsYXNzIFdlYkNvcmU6Okluc3BlY3Rv
ckNsaWVudFF0OwogICAgIGZyaWVuZCBjbGFzcyBXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTsKKwog
fTsKIAogUV9ERUNMQVJFX09QRVJBVE9SU19GT1JfRkxBR1MoUVdlYlBhZ2U6OkZpbmRGbGFncykK
ZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCmlu
ZGV4IDdhZTc2YzkuLmMxMTMwZGYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysr
IGIvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDA5LTA5LTAxICBSb2Jl
cnQgSG9nYW4gIDxyb2JlcnRAcm9iZXJ0aG9nYW4ubmV0PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBDcmVhdGVSZXF1ZXN0RXh0ZW5zaW9uIHRv
IFFXZWJQYWdlCisgICAgICAgIFRoZSBDcmVhdGVSZXF1ZXN0RXh0ZW5zaW9uIGV4dGVuc2lvbiB3
aWxsIGFsbG93IHVzZXJzCisgICAgICAgIHRvIGFzc29jaWF0ZSBRTmV0d29ya1JlcXVlc3RzIHdp
dGggdGhlaXIgb3JpZ2luYXRpbmcgUVdlYkZyYW1lCisgICAgICAgIGFuZCBOYXZpZ2F0aW9uVHlw
ZS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjg4
ODQKKworICAgICAgICAqIEFwaS9xd2VicGFnZS5jcHA6CisgICAgICAgIChRV2ViUGFnZTo6ZXh0
ZW5zaW9uKToKKyAgICAgICAgKFFXZWJQYWdlOjpzdXBwb3J0c0V4dGVuc2lvbik6CisgICAgICAg
ICogQXBpL3F3ZWJwYWdlLmg6CisgICAgICAgICogdGVzdHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdl
LmNwcDoKKyAgICAgICAgKFRlc3RFeHRlbnNpb25zUGFnZTo6VGVzdEV4dGVuc2lvbnNQYWdlKToK
KyAgICAgICAgKFRlc3RFeHRlbnNpb25zUGFnZTo6YWNjZXB0TmF2aWdhdGlvblJlcXVlc3QpOgor
ICAgICAgICAoVGVzdEV4dGVuc2lvbnNQYWdlOjpjcmVhdGVXaW5kb3cpOgorICAgICAgICAodHN0
X1FXZWJQYWdlOjpjcmVhdGVSZXF1ZXN0RXh0ZW5zaW9uKToKKwogMjAwOS0wOC0yOCAgR3VzdGF2
byBOb3JvbmhhIFNpbHZhICA8Z3VzdGF2by5ub3JvbmhhQGNvbGxhYm9yYS5jby51az4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBIb2xnZXIgRnJleXRoZXIuCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQv
dGVzdHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcCBiL1dlYktpdC9xdC90ZXN0cy9xd2VicGFn
ZS90c3RfcXdlYnBhZ2UuY3BwCmluZGV4IDQwNjYwMDAuLmJkY2YyYTUgMTAwNjQ0Ci0tLSBhL1dl
YktpdC9xdC90ZXN0cy9xd2VicGFnZS90c3RfcXdlYnBhZ2UuY3BwCisrKyBiL1dlYktpdC9xdC90
ZXN0cy9xd2VicGFnZS90c3RfcXdlYnBhZ2UuY3BwCkBAIC05Miw2ICs5Miw3IEBAIHByaXZhdGUg
c2xvdHM6CiAgICAgdm9pZCBjbGVhbnVwVGVzdENhc2UoKTsKIAogICAgIHZvaWQgYWNjZXB0TmF2
aWdhdGlvblJlcXVlc3QoKTsKKyAgICB2b2lkIGNyZWF0ZVJlcXVlc3RFeHRlbnNpb24oKTsKICAg
ICB2b2lkIGluZmluaXRlTG9vcEpTKCk7CiAgICAgdm9pZCBsb2FkRmluaXNoZWQoKTsKICAgICB2
b2lkIGFjY2VwdE5hdmlnYXRpb25SZXF1ZXN0V2l0aE5ld1dpbmRvdygpOwpAQCAtMTk1LDYgKzE5
NiwzOSBAQCB2b2lkIHRzdF9RV2ViUGFnZTo6YWNjZXB0TmF2aWdhdGlvblJlcXVlc3QoKQogICAg
IG1fdmlldy0+c2V0UGFnZSgwKTsKIH0KIAorY2xhc3MgVGVzdEV4dGVuc2lvbnNQYWdlIDogcHVi
bGljIFFXZWJQYWdlCit7CitwdWJsaWM6CisgICAgVGVzdEV4dGVuc2lvbnNQYWdlKFFPYmplY3Qq
IHBhcmVudCA9IDApIDogUVdlYlBhZ2UocGFyZW50KSB7fQorICAgIGludCBtX3Bhc3NlZDsKKyAg
ICB2aXJ0dWFsIGJvb2wgYWNjZXB0TmF2aWdhdGlvblJlcXVlc3QoUVdlYkZyYW1lKiBmcmFtZSwg
Y29uc3QgUU5ldHdvcmtSZXF1ZXN0ICZyZXF1ZXN0LCBOYXZpZ2F0aW9uVHlwZSB0eXBlKSB7Cisg
ICAgICAgIFFXZWJQYWdlOjpDcmVhdGVSZXF1ZXN0RXh0ZW5zaW9uT3B0aW9uIG9wdGlvbjsKKyAg
ICAgICAgb3B0aW9uLmZyYW1lID0gZnJhbWU7CisgICAgICAgIG9wdGlvbi5yZXF1ZXN0ID0gcmVx
dWVzdDsKKyAgICAgICAgb3B0aW9uLnR5cGUgPSB0eXBlOworCisgICAgICAgIFFXZWJQYWdlOjpD
cmVhdGVSZXF1ZXN0RXh0ZW5zaW9uUmV0dXJuIG91dHB1dDsKKyAgICAgICAgZXh0ZW5zaW9uKFFX
ZWJQYWdlOjpDcmVhdGVSZXF1ZXN0RXh0ZW5zaW9uLCAmb3B0aW9uLCAmb3V0cHV0KTsKKyAgICAg
ICAgaWYgKHJlcXVlc3QgPT0gb3V0cHV0LnJlcXVlc3QpCisgICAgICAgICAgICBtX3Bhc3NlZCsr
OworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9Cit9OworCit2b2lkIHRzdF9RV2ViUGFnZTo6
Y3JlYXRlUmVxdWVzdEV4dGVuc2lvbigpCit7CisgICAgVGVzdEV4dGVuc2lvbnNQYWdlKiBwYWdl
ID0gbmV3IFRlc3RFeHRlbnNpb25zUGFnZShtX3ZpZXcpOworICAgIHBhZ2UtPnNldHRpbmdzKCkt
PnNldEF0dHJpYnV0ZShRV2ViU2V0dGluZ3M6OkxpbmtzSW5jbHVkZWRJbkZvY3VzQ2hhaW4sIHRy
dWUpOworICAgIG1fcGFnZSA9IHBhZ2U7CisgICAgcGFnZS0+bV9wYXNzZWQgPSAwOworICAgIG1f
dmlldy0+c2V0UGFnZShtX3BhZ2UpOworCisgICAgbV92aWV3LT5zZXRVcmwoUVN0cmluZygiZGF0
YTp0ZXh0L2h0bWwsPGEgaHJlZj1cImRhdGE6dGV4dC9odG1sLFJlYWNoZWRcIiB0YXJnZXQ9XCJf
YmxhbmtcIj5DbGljayBtZTwvYT4iKSk7CisgICAgUVZFUklGWSg6OndhaXRGb3JTaWduYWwobV92
aWV3LCBTSUdOQUwobG9hZEZpbmlzaGVkKGJvb2wpKSkpOworCisgICAgUUNPTVBBUkUocGFnZS0+
bV9wYXNzZWQsIDEpOworfQorCiBjbGFzcyBKU1Rlc3RQYWdlIDogcHVibGljIFFXZWJQYWdlCiB7
CiBRX09CSkVDVAotLSAKMS42LjAuNAoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38880</attachid>
            <date>2009-09-01 13:09:01 -0700</date>
            <delta_ts>2009-09-12 12:56:45 -0700</delta_ts>
            <desc>Update patch to add missing doc</desc>
            <filename>0001-Add-CreateRequestExtension-to-QWebPage.patch</filename>
            <type>text/plain</type>
            <size>7715</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">RnJvbSBhMzQ2MzBhMDc3YjM3ZjJlYWU2Zjk5MDZlMTdkYTdjMTVhMzg2MTU5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnQgSG9nYW4gPHJvYmVydEByb2JlcnRob2dhbi5uZXQ+
CkRhdGU6IFR1ZSwgMSBTZXAgMjAwOSAxOTozOTozNCArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIEFk
ZCBDcmVhdGVSZXF1ZXN0RXh0ZW5zaW9uIHRvIFFXZWJQYWdlCiBUaGUgQ3JlYXRlUmVxdWVzdEV4
dGVuc2lvbiBleHRlbnNpb24gd2lsbCBhbGxvdyB1c2VycwogdG8gYXNzb2NpYXRlIFFOZXR3b3Jr
UmVxdWVzdHMgd2l0aCB0aGVpciBvcmlnaW5hdGluZyBRV2ViRnJhbWUKIGFuZCBOYXZpZ2F0aW9u
VHlwZS4KCi0tLQogV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAgICAgICAgICAgICAgICAgfCAg
IDQ0ICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0KIFdlYktpdC9xdC9BcGkvcXdlYnBhZ2Uu
aCAgICAgICAgICAgICAgICAgIHwgICAxNyArKysrKysrKysrLQogV2ViS2l0L3F0L0NoYW5nZUxv
ZyAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIxICsrKysrKysrKysrKysrCiBXZWJLaXQvcXQv
dGVzdHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcCB8ICAgMzQgKysrKysrKysrKysrKysrKysr
KysrKwogNCBmaWxlcyBjaGFuZ2VkLCAxMTEgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkK
CmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcCBiL1dlYktpdC9xdC9BcGkv
cXdlYnBhZ2UuY3BwCmluZGV4IDE0YmI4ZDAuLjhiM2QzOGEgMTAwNjQ0Ci0tLSBhL1dlYktpdC9x
dC9BcGkvcXdlYnBhZ2UuY3BwCisrKyBiL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCkBAIC0y
MzM4LDYgKzIzMzgsMTAgQEAgdm9pZCBRV2ViUGFnZTo6dXBkYXRlUG9zaXRpb25EZXBlbmRlbnRB
Y3Rpb25zKGNvbnN0IFFQb2ludCAmcG9zKQogICAgIGFzIGEgcmVzdWx0IG9mIHRoZSB1c2VyIGNs
aWNraW5nIG9uIGEgImZpbGUgdXBsb2FkIiBidXR0b24gaW4gYSBIVE1MIGZvcm0gd2hlcmUgbXVs
dGlwbGUKICAgICBmaWxlIHNlbGVjdGlvbiBpcyBhbGxvd2VkLgogCisgICAgXHZhbHVlIENyZWF0
ZVJlcXVlc3RFeHRlbnNpb24gVGhlIGZyYW1lIGFuZCBuYXZpZ2F0aW9uIHR5cGUgYXNvY2lhdGVk
IHdpdGggYSByZXF1ZXN0LgorICAgIFRoaXMgZXh0ZW5zaW9uIGlzIGludm9rZWQgd2hlbiBhIHJl
cXVlc3QgaXMgY3JlYXRlZCBhbmQgYXNzb2NpYXRlcyBpdCB3aXRoIHRoZSByZXF1ZXN0J3MKKyAg
ICBvcmlnaW5hdGluZyBmcmFtZSBhbmQgXGFOYXZpZ2F0aW9uVHlwZS4KKwogKi8KIAogLyohCkBA
IC0yMzcxLDcgKzIzNzUsMjkgQEAgdm9pZCBRV2ViUGFnZTo6dXBkYXRlUG9zaXRpb25EZXBlbmRl
bnRBY3Rpb25zKGNvbnN0IFFQb2ludCAmcG9zKQogCiAgICAgXHNhIFFXZWJQYWdlOjpDaG9vc2VN
dWx0aXBsZUZpbGVzRXh0ZW5zaW9uT3B0aW9uCiAqLworLyohCisgICAgXGNsYXNzIFFXZWJQYWdl
OjpDcmVhdGVSZXF1ZXN0RXh0ZW5zaW9uT3B0aW9uCisgICAgXHNpbmNlIDQuNgorICAgIFxicmll
ZiBUaGUgQ3JlYXRlUmVxdWVzdEV4dGVuc2lvbk9wdGlvbiBjbGFzcyBkZXNjcmliZXMgdGhlIG9w
dGlvbgorICAgIGZvciB0aGUgZXh0ZW5zaW9uIGFzc29jaWF0aW5nIGEgbmV0d29yayByZXF1ZXN0
IGFuZCBcYSBOYXZpZ2F0aW9uVHlwZSB3aXRoIGEgZnJhbWUuCisKKyAgICBUaGUgQ3JlYXRlUmVx
dWVzdEV4dGVuc2lvbk9wdGlvbiBjbGFzcyBob2xkcyB0aGUgZnJhbWUgb3JpZ2luYXRpbmcgdGhl
IHJlcXVlc3QsIHRoZQorICAgIHJlcXVlc3QgaXRzZWxmLCBhbmQgdGhlIFxhIE5hdmlnYXRpb25U
eXBlIG9mIHRoZSByZXF1ZXN0LgorCisgICAgXHNhIFFXZWJQYWdlOjpOYXZpZ2F0aW9uVHlwZSwg
UVdlYkZyYW1lLCBRTmV0d29ya1JlcXVlc3QKKyovCisKKy8qIQorICAgIFxjbGFzcyBRV2ViUGFn
ZTo6Q3JlYXRlUmVxdWVzdEV4dGVuc2lvblJldHVybgorICAgIFxzaW5jZSA0LjYKKyAgICBcYnJp
ZWYgVGhlIENyZWF0ZVJlcXVlc3RFeHRlbnNpb25SZXR1cm4gZGVzY3JpYmVzIHRoZSByZXR1cm4g
dmFsdWUKKyAgICBmb3IgdGhlIGV4dGVuc2lvbiBhc3NvY2lhdGluZyBhIG5ldHdvcmsgcmVxdWVz
dCBhbmQgXGEgTmF2aWdhdGlvblR5cGUgd2l0aCBhIGZyYW1lLgorCisgICAgVGhlIENyZWF0ZVJl
cXVlc3RFeHRlbnNpb25SZXR1cm4gY2xhc3MgaG9sZHMgdGhlIHJlcXVlc3QgcHJvdmlkZWQgYnkg
dGhlIHVzZXIKKyAgICB3aGVuIHRoZSBleHRlbnNpb24gaXMgaW52b2tlZC4KIAorICAgIFxzYSBR
V2ViUGFnZTo6Q3JlYXRlUmVxdWVzdEV4dGVuc2lvbk9wdGlvbgorKi8KIC8qIQogICAgIFRoaXMg
dmlydHVhbCBmdW5jdGlvbiBjYW4gYmUgcmVpbXBsZW1lbnRlZCBpbiBhIFFXZWJQYWdlIHN1YmNs
YXNzIHRvIHByb3ZpZGUgc3VwcG9ydCBmb3IgZXh0ZW5zaW9ucy4gVGhlIFxhIG9wdGlvbgogICAg
IGFyZ3VtZW50IGlzIHByb3ZpZGVkIGFzIGlucHV0IHRvIHRoZSBleHRlbnNpb247IHRoZSBvdXRw
dXQgcmVzdWx0cyBjYW4gYmUgc3RvcmVkIGluIFxhIG91dHB1dC4KQEAgLTIzOTYsNiArMjQyMiwx
NSBAQCBib29sIFFXZWJQYWdlOjpleHRlbnNpb24oRXh0ZW5zaW9uIGV4dGVuc2lvbiwgY29uc3Qg
RXh0ZW5zaW9uT3B0aW9uICpvcHRpb24sIEV4dAogICAgIH0KICNlbmRpZgogCisgICAgaWYgKGV4
dGVuc2lvbiA9PSBDcmVhdGVSZXF1ZXN0RXh0ZW5zaW9uKSB7CisgICAgICAgIFFXZWJGcmFtZSog
ZnJhbWUgPSBzdGF0aWNfY2FzdDxjb25zdCBDcmVhdGVSZXF1ZXN0RXh0ZW5zaW9uT3B0aW9uKj4o
b3B0aW9uKS0+ZnJhbWU7CisgICAgICAgIFFOZXR3b3JrUmVxdWVzdCByZXF1ZXN0ID0gc3RhdGlj
X2Nhc3Q8Y29uc3QgQ3JlYXRlUmVxdWVzdEV4dGVuc2lvbk9wdGlvbio+KG9wdGlvbiktPnJlcXVl
c3Q7CisgICAgICAgIGludCB0eXBlID0gc3RhdGljX2Nhc3Q8Y29uc3QgQ3JlYXRlUmVxdWVzdEV4
dGVuc2lvbk9wdGlvbio+KG9wdGlvbiktPnR5cGU7CisKKyAgICAgICAgc3RhdGljX2Nhc3Q8Q3Jl
YXRlUmVxdWVzdEV4dGVuc2lvblJldHVybio+KG91dHB1dCktPnJlcXVlc3QgPSByZXF1ZXN0Owor
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKQEAg
LTI0MDYsMTIgKzI0NDEsMTMgQEAgYm9vbCBRV2ViUGFnZTo6ZXh0ZW5zaW9uKEV4dGVuc2lvbiBl
eHRlbnNpb24sIGNvbnN0IEV4dGVuc2lvbk9wdGlvbiAqb3B0aW9uLCBFeHQKICovCiBib29sIFFX
ZWJQYWdlOjpzdXBwb3J0c0V4dGVuc2lvbihFeHRlbnNpb24gZXh0ZW5zaW9uKSBjb25zdAogewor
ICAgIGlmICgKICNpZm5kZWYgUVRfTk9fRklMRURJQUxPRwotICAgIHJldHVybiBleHRlbnNpb24g
PT0gQ2hvb3NlTXVsdGlwbGVGaWxlc0V4dGVuc2lvbjsKLSNlbHNlCi0gICAgUV9VTlVTRUQoZXh0
ZW5zaW9uKTsKLSAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIGV4dGVuc2lvbiA9PSBDaG9vc2VN
dWx0aXBsZUZpbGVzRXh0ZW5zaW9uIHx8CiAjZW5kaWYKKyAgICAgICAgZXh0ZW5zaW9uID09IENy
ZWF0ZVJlcXVlc3RFeHRlbnNpb24pCisgICAgICAgIHJldHVybiB0cnVlOworICAgIHJldHVybiBm
YWxzZTsKIH0KIAogLyohCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmggYi9X
ZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmgKaW5kZXggMjQ3NDFhMS4uMjE1NDlhNSAxMDA2NDQKLS0t
IGEvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5oCisrKyBiL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2Uu
aApAQCAtMjQsNiArMjQsNyBAQAogI2luY2x1ZGUgInF3ZWJzZXR0aW5ncy5oIgogI2luY2x1ZGUg
InF3ZWJraXRnbG9iYWwuaCIKIAorI2luY2x1ZGUgPFF0TmV0d29yay9xbmV0d29ya3JlcXVlc3Qu
aD4KICNpbmNsdWRlIDxRdENvcmUvcW9iamVjdC5oPgogI2luY2x1ZGUgPFF0R3VpL3F3aWRnZXQu
aD4KIApAQCAtMjY1LDcgKzI2Niw4IEBAIHB1YmxpYzoKICAgICBRTWVudSAqY3JlYXRlU3RhbmRh
cmRDb250ZXh0TWVudSgpOwogCiAgICAgZW51bSBFeHRlbnNpb24gewotICAgICAgICBDaG9vc2VN
dWx0aXBsZUZpbGVzRXh0ZW5zaW9uCisgICAgICAgIENob29zZU11bHRpcGxlRmlsZXNFeHRlbnNp
b24sCisgICAgICAgIENyZWF0ZVJlcXVlc3RFeHRlbnNpb24KICAgICB9OwogICAgIGNsYXNzIEV4
dGVuc2lvbk9wdGlvbgogICAgIHt9OwpAQCAtMjgzLDYgKzI4NSwxOCBAQCBwdWJsaWM6CiAgICAg
ICAgIFFTdHJpbmdMaXN0IGZpbGVOYW1lczsKICAgICB9OwogCisgICAgY2xhc3MgQ3JlYXRlUmVx
dWVzdEV4dGVuc2lvbk9wdGlvbiA6IHB1YmxpYyBFeHRlbnNpb25PcHRpb24geworICAgIHB1Ymxp
YzoKKyAgICAgICAgUVdlYkZyYW1lICpmcmFtZTsKKyAgICAgICAgUU5ldHdvcmtSZXF1ZXN0IHJl
cXVlc3Q7CisgICAgICAgIGludCB0eXBlOworICAgIH07CisKKyAgICBjbGFzcyBDcmVhdGVSZXF1
ZXN0RXh0ZW5zaW9uUmV0dXJuIDogcHVibGljIEV4dGVuc2lvblJldHVybiB7CisgICAgcHVibGlj
OgorICAgICAgICBRTmV0d29ya1JlcXVlc3QgcmVxdWVzdDsKKyAgICB9OworCiAgICAgdmlydHVh
bCBib29sIGV4dGVuc2lvbihFeHRlbnNpb24gZXh0ZW5zaW9uLCBjb25zdCBFeHRlbnNpb25PcHRp
b24gKm9wdGlvbiA9IDAsIEV4dGVuc2lvblJldHVybiAqb3V0cHV0ID0gMCk7CiAgICAgdmlydHVh
bCBib29sIHN1cHBvcnRzRXh0ZW5zaW9uKEV4dGVuc2lvbiBleHRlbnNpb24pIGNvbnN0OwogCkBA
IC0zNTYsNiArMzcwLDcgQEAgcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgV2ViQ29yZTo6RnJh
bWVMb2FkZXJDbGllbnRRdDsKICAgICBmcmllbmQgY2xhc3MgV2ViQ29yZTo6SW5zcGVjdG9yQ2xp
ZW50UXQ7CiAgICAgZnJpZW5kIGNsYXNzIFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOworCiB9Owog
CiBRX0RFQ0xBUkVfT1BFUkFUT1JTX0ZPUl9GTEFHUyhRV2ViUGFnZTo6RmluZEZsYWdzKQpkaWZm
IC0tZ2l0IGEvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXgg
N2FlNzZjOS4uYzExMzBkZiAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9X
ZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMDktMDktMDEgIFJvYmVydCBI
b2dhbiAgPHJvYmVydEByb2JlcnRob2dhbi5uZXQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIENyZWF0ZVJlcXVlc3RFeHRlbnNpb24gdG8gUVdl
YlBhZ2UKKyAgICAgICAgVGhlIENyZWF0ZVJlcXVlc3RFeHRlbnNpb24gZXh0ZW5zaW9uIHdpbGwg
YWxsb3cgdXNlcnMKKyAgICAgICAgdG8gYXNzb2NpYXRlIFFOZXR3b3JrUmVxdWVzdHMgd2l0aCB0
aGVpciBvcmlnaW5hdGluZyBRV2ViRnJhbWUKKyAgICAgICAgYW5kIE5hdmlnYXRpb25UeXBlLgor
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODg4NAor
CisgICAgICAgICogQXBpL3F3ZWJwYWdlLmNwcDoKKyAgICAgICAgKFFXZWJQYWdlOjpleHRlbnNp
b24pOgorICAgICAgICAoUVdlYlBhZ2U6OnN1cHBvcnRzRXh0ZW5zaW9uKToKKyAgICAgICAgKiBB
cGkvcXdlYnBhZ2UuaDoKKyAgICAgICAgKiB0ZXN0cy9xd2VicGFnZS90c3RfcXdlYnBhZ2UuY3Bw
OgorICAgICAgICAoVGVzdEV4dGVuc2lvbnNQYWdlOjpUZXN0RXh0ZW5zaW9uc1BhZ2UpOgorICAg
ICAgICAoVGVzdEV4dGVuc2lvbnNQYWdlOjphY2NlcHROYXZpZ2F0aW9uUmVxdWVzdCk6CisgICAg
ICAgIChUZXN0RXh0ZW5zaW9uc1BhZ2U6OmNyZWF0ZVdpbmRvdyk6CisgICAgICAgICh0c3RfUVdl
YlBhZ2U6OmNyZWF0ZVJlcXVlc3RFeHRlbnNpb24pOgorCiAyMDA5LTA4LTI4ICBHdXN0YXZvIE5v
cm9uaGEgU2lsdmEgIDxndXN0YXZvLm5vcm9uaGFAY29sbGFib3JhLmNvLnVrPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IEhvbGdlciBGcmV5dGhlci4KZGlmZiAtLWdpdCBhL1dlYktpdC9xdC90ZXN0
cy9xd2VicGFnZS90c3RfcXdlYnBhZ2UuY3BwIGIvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJwYWdlL3Rz
dF9xd2VicGFnZS5jcHAKaW5kZXggNDA2NjAwMC4uYmRjZjJhNSAxMDA2NDQKLS0tIGEvV2ViS2l0
L3F0L3Rlc3RzL3F3ZWJwYWdlL3RzdF9xd2VicGFnZS5jcHAKKysrIGIvV2ViS2l0L3F0L3Rlc3Rz
L3F3ZWJwYWdlL3RzdF9xd2VicGFnZS5jcHAKQEAgLTkyLDYgKzkyLDcgQEAgcHJpdmF0ZSBzbG90
czoKICAgICB2b2lkIGNsZWFudXBUZXN0Q2FzZSgpOwogCiAgICAgdm9pZCBhY2NlcHROYXZpZ2F0
aW9uUmVxdWVzdCgpOworICAgIHZvaWQgY3JlYXRlUmVxdWVzdEV4dGVuc2lvbigpOwogICAgIHZv
aWQgaW5maW5pdGVMb29wSlMoKTsKICAgICB2b2lkIGxvYWRGaW5pc2hlZCgpOwogICAgIHZvaWQg
YWNjZXB0TmF2aWdhdGlvblJlcXVlc3RXaXRoTmV3V2luZG93KCk7CkBAIC0xOTUsNiArMTk2LDM5
IEBAIHZvaWQgdHN0X1FXZWJQYWdlOjphY2NlcHROYXZpZ2F0aW9uUmVxdWVzdCgpCiAgICAgbV92
aWV3LT5zZXRQYWdlKDApOwogfQogCitjbGFzcyBUZXN0RXh0ZW5zaW9uc1BhZ2UgOiBwdWJsaWMg
UVdlYlBhZ2UKK3sKK3B1YmxpYzoKKyAgICBUZXN0RXh0ZW5zaW9uc1BhZ2UoUU9iamVjdCogcGFy
ZW50ID0gMCkgOiBRV2ViUGFnZShwYXJlbnQpIHt9CisgICAgaW50IG1fcGFzc2VkOworICAgIHZp
cnR1YWwgYm9vbCBhY2NlcHROYXZpZ2F0aW9uUmVxdWVzdChRV2ViRnJhbWUqIGZyYW1lLCBjb25z
dCBRTmV0d29ya1JlcXVlc3QgJnJlcXVlc3QsIE5hdmlnYXRpb25UeXBlIHR5cGUpIHsKKyAgICAg
ICAgUVdlYlBhZ2U6OkNyZWF0ZVJlcXVlc3RFeHRlbnNpb25PcHRpb24gb3B0aW9uOworICAgICAg
ICBvcHRpb24uZnJhbWUgPSBmcmFtZTsKKyAgICAgICAgb3B0aW9uLnJlcXVlc3QgPSByZXF1ZXN0
OworICAgICAgICBvcHRpb24udHlwZSA9IHR5cGU7CisKKyAgICAgICAgUVdlYlBhZ2U6OkNyZWF0
ZVJlcXVlc3RFeHRlbnNpb25SZXR1cm4gb3V0cHV0OworICAgICAgICBleHRlbnNpb24oUVdlYlBh
Z2U6OkNyZWF0ZVJlcXVlc3RFeHRlbnNpb24sICZvcHRpb24sICZvdXRwdXQpOworICAgICAgICBp
ZiAocmVxdWVzdCA9PSBvdXRwdXQucmVxdWVzdCkKKyAgICAgICAgICAgIG1fcGFzc2VkKys7Cisg
ICAgICAgIHJldHVybiB0cnVlOworICAgIH0KK307CisKK3ZvaWQgdHN0X1FXZWJQYWdlOjpjcmVh
dGVSZXF1ZXN0RXh0ZW5zaW9uKCkKK3sKKyAgICBUZXN0RXh0ZW5zaW9uc1BhZ2UqIHBhZ2UgPSBu
ZXcgVGVzdEV4dGVuc2lvbnNQYWdlKG1fdmlldyk7CisgICAgcGFnZS0+c2V0dGluZ3MoKS0+c2V0
QXR0cmlidXRlKFFXZWJTZXR0aW5nczo6TGlua3NJbmNsdWRlZEluRm9jdXNDaGFpbiwgdHJ1ZSk7
CisgICAgbV9wYWdlID0gcGFnZTsKKyAgICBwYWdlLT5tX3Bhc3NlZCA9IDA7CisgICAgbV92aWV3
LT5zZXRQYWdlKG1fcGFnZSk7CisKKyAgICBtX3ZpZXctPnNldFVybChRU3RyaW5nKCJkYXRhOnRl
eHQvaHRtbCw8YSBocmVmPVwiZGF0YTp0ZXh0L2h0bWwsUmVhY2hlZFwiIHRhcmdldD1cIl9ibGFu
a1wiPkNsaWNrIG1lPC9hPiIpKTsKKyAgICBRVkVSSUZZKDo6d2FpdEZvclNpZ25hbChtX3ZpZXcs
IFNJR05BTChsb2FkRmluaXNoZWQoYm9vbCkpKSk7CisKKyAgICBRQ09NUEFSRShwYWdlLT5tX3Bh
c3NlZCwgMSk7Cit9CisKIGNsYXNzIEpTVGVzdFBhZ2UgOiBwdWJsaWMgUVdlYlBhZ2UKIHsKIFFf
T0JKRUNUCi0tIAoxLjYuMC40Cgo=
</data>
<flag name="review"
          id="19872"
          type_id="1"
          status="-"
          setter="hausmann"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39517</attachid>
            <date>2009-09-12 12:56:45 -0700</date>
            <delta_ts>2009-09-23 13:31:17 -0700</delta_ts>
            <desc>Updated Patch</desc>
            <filename>0001-Add-CreateRequestExtension-to-QWebPage.patch</filename>
            <type>text/plain</type>
            <size>10763</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">RnJvbSA1ODljNDRkODM0NWVmODllY2U4ZGNjYTZlN2VjZWJlZmIyNWY0MmIyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnQgSG9nYW4gPHJvYmVydEByb2JlcnRob2dhbi5uZXQ+
CkRhdGU6IFR1ZSwgMSBTZXAgMjAwOSAxOTozOTozNCArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIEFk
ZCBDcmVhdGVSZXF1ZXN0RXh0ZW5zaW9uIHRvIFFXZWJQYWdlCiBUaGUgQ3JlYXRlUmVxdWVzdEV4
dGVuc2lvbiBleHRlbnNpb24gd2lsbCBhbGxvdyB1c2VycwogdG8gYXNzb2NpYXRlIFFOZXR3b3Jr
UmVxdWVzdHMgd2l0aCB0aGVpciBvcmlnaW5hdGluZyBRV2ViRnJhbWUKIGFuZCBOYXZpZ2F0aW9u
VHlwZS4KCi0tLQogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfCAgIDE2ICsrKysrKwogLi4uL3BsYXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBs
eUhhbmRsZXIuY3BwICAgfCAgIDEzICsrKysrCiBXZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcCAg
ICAgICAgICAgICAgICAgICAgICAgICB8ICAgNTIgKysrKysrKysrKysrKysrKysrLS0KIFdlYktp
dC9xdC9BcGkvcXdlYnBhZ2UuaCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxNyArKysr
KystCiBXZWJLaXQvcXQvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8
ICAgMTkgKysrKysrKwogV2ViS2l0L3F0L3Rlc3RzL3F3ZWJwYWdlL3RzdF9xd2VicGFnZS5jcHAg
ICAgICAgICAgfCAgIDM1ICsrKysrKysrKysrKysKIDYgZmlsZXMgY2hhbmdlZCwgMTQ3IGluc2Vy
dGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjNmEwMWZlLi41M2MxMmQ3IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBA
CisyMDA5LTA5LTEyICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRAcm9iZXJ0aG9nYW4ubmV0PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBDcmVhdGVS
ZXF1ZXN0RXh0ZW5zaW9uIHRvIFFXZWJQYWdlCisgICAgICAgIFRoZSBDcmVhdGVSZXF1ZXN0RXh0
ZW5zaW9uIGV4dGVuc2lvbiB3aWxsIGFsbG93IHVzZXJzCisgICAgICAgIHRvIGFzc29jaWF0ZSBR
TmV0d29ya1JlcXVlc3RzIHdpdGggdGhlaXIgb3JpZ2luYXRpbmcgUVdlYkZyYW1lCisgICAgICAg
IGFuZCBOYXZpZ2F0aW9uVHlwZS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9Mjg4ODQKKworICAgICAgICBUZXN0OiBXZWJLaXQvcXQvdGVzdHMvcXdl
YnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcAorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9xdC9R
TmV0d29ya1JlcGx5SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpRTmV0d29ya1JlcGx5
SGFuZGxlcjo6c3RhcnQpOgorCiAyMDA5LTA5LTEyICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFjaWVqIFN0YWNob3dpYWsuCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuY3BwIGIv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmNwcAppbmRl
eCBlYWM0MzBmLi41NTk2M2UwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
cXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9xdC9RTmV0d29ya1JlcGx5SGFuZGxlci5jcHAKQEAgLTM2Niw2ICszNjYsMTkgQEAgdm9pZCBR
TmV0d29ya1JlcGx5SGFuZGxlcjo6c3RhcnQoKQogCiAgICAgUU5ldHdvcmtBY2Nlc3NNYW5hZ2Vy
KiBtYW5hZ2VyID0gZC0+bV9mcmFtZS0+cGFnZSgpLT5uZXR3b3JrQWNjZXNzTWFuYWdlcigpOwog
CisgICAgLy8gQ2FsbGluZyBDcmVhdGVSZXF1ZXN0RXh0ZW5zaW9uIGFsbG93cyBjbGllbnRzIHdo
byBpbXBsZW1lbnQgaXQgdG8gcGVyZm9ybQorICAgIC8vIG9wZXJhdGlvbnMgb24gdGhlIFFOZXR3
b3JrUmVxdWVzdDo6QXR0cmlidXRlcy4gRm9yIGV4YW1wbGUsIGNsaWVudHMgY291bGQKKyAgICAv
LyBzdG9yZSBhIHBvaW50ZXIgdG8gdGhlIGZyYW1lIGluIFFOZXR3b3JrUmVxdWVzdDo6VXNlciAr
IFguIFRoaXMgd291bGQgYWxsb3cKKyAgICAvLyB0aGUgY2xpZW50IHRvIGFzc29jaWF0ZSB0aGUg
bmV0d29yayByZXF1ZXN0IHdpdGggaXQncyBvcmlnaW5hdGluZyBmcmFtZS4KKyAgICBRV2ViUGFn
ZTo6Q3JlYXRlUmVxdWVzdEV4dGVuc2lvbk9wdGlvbiBvcHRpb247CisgICAgb3B0aW9uLmZyYW1l
ID0gZC0+bV9mcmFtZTsKKyAgICBvcHRpb24ucmVxdWVzdCA9IG1fcmVxdWVzdDsKKyAgICBvcHRp
b24udHlwZSA9IFFXZWJQYWdlOjpOYXZpZ2F0aW9uVHlwZU90aGVyOworCisgICAgUVdlYlBhZ2U6
OkNyZWF0ZVJlcXVlc3RFeHRlbnNpb25SZXR1cm4gb3V0cHV0OworICAgIGlmIChkLT5tX2ZyYW1l
LT5wYWdlKCktPmV4dGVuc2lvbihRV2ViUGFnZTo6Q3JlYXRlUmVxdWVzdEV4dGVuc2lvbiwgJm9w
dGlvbiwgJm91dHB1dCkpCisgICAgICAgIG1fcmVxdWVzdCA9IG91dHB1dC5yZXF1ZXN0OworCiAg
ICAgY29uc3QgUVVybCB1cmwgPSBtX3JlcXVlc3QudXJsKCk7CiAgICAgY29uc3QgUVN0cmluZyBz
Y2hlbWUgPSB1cmwuc2NoZW1lKCk7CiAgICAgLy8gUG9zdCByZXF1ZXN0cyBvbiBmaWxlcyBhbmQg
ZGF0YSBkb24ndCByZWFsbHkgbWFrZSBzZW5zZSwgYnV0IGZvcgpkaWZmIC0tZ2l0IGEvV2ViS2l0
L3F0L0FwaS9xd2VicGFnZS5jcHAgYi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAppbmRleCAy
MjI4NzhhLi45OWUxMWYwIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAor
KysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcApAQCAtMjUzMyw2ICsyNTMzLDEyIEBAIHZv
aWQgUVdlYlBhZ2U6OnVwZGF0ZVBvc2l0aW9uRGVwZW5kZW50QWN0aW9ucyhjb25zdCBRUG9pbnQg
JnBvcykKICAgICBhcyBhIHJlc3VsdCBvZiB0aGUgdXNlciBjbGlja2luZyBvbiBhICJmaWxlIHVw
bG9hZCIgYnV0dG9uIGluIGEgSFRNTCBmb3JtIHdoZXJlIG11bHRpcGxlCiAgICAgZmlsZSBzZWxl
Y3Rpb24gaXMgYWxsb3dlZC4KIAorICAgIFx2YWx1ZSBDcmVhdGVSZXF1ZXN0RXh0ZW5zaW9uIFRo
ZSBmcmFtZSBhbmQgbmF2aWdhdGlvbiB0eXBlIGFzb2NpYXRlZCB3aXRoIGEgcmVxdWVzdC4KKyAg
ICBUaGlzIGV4dGVuc2lvbiBpcyBjYWxsZWQgYnkgUXRXZWJLaXQgd2hlbmV2ZXIgaXQgbGF1bmNo
ZXMgYSBuZXR3b3JrIHJlcXVlc3QuIFRoaXMgYWxsb3dzIGNsaWVudHMgd2hvCisgICAgaGF2ZSBz
dWJjbGFzc2VkIFFXZWJQYWdlIHRvIGFzc29jaWF0ZSBuZXR3b3JrIHJlcXVlc3RzIHdpdGggdGhl
aXIgb3JpZ2luYXRpbmcgZnJhbWVzLiBUaGV5IGNhbiBkbyB0aGlzCisgICAgYnkgcmVpbXBsZW1l
bnRpbmcgZXh0ZW5zaW9uKCkgYW5kIHRoZW4gdXNpbmcgUU5ldHdvcmtSZXF1ZXN0OjpzZXRBdHRy
aWJ1dGUoKSB0byBzdG9yZSB2YWx1ZXMgKHN1Y2ggYXMKKyAgICB0aGUgZnJhbWUgcG9pbnRlcikg
aW4gdGhlIFFOZXR3b3JrUmVxdWVzdDo6QXR0cmlidXRlcy4KKwogKi8KIAogLyohCkBAIC0yNTcy
LDExICsyNTc4LDM5IEBAIHZvaWQgUVdlYlBhZ2U6OnVwZGF0ZVBvc2l0aW9uRGVwZW5kZW50QWN0
aW9ucyhjb25zdCBRUG9pbnQgJnBvcykKIAogICAgIFxzYSBRV2ViUGFnZTo6Q2hvb3NlTXVsdGlw
bGVGaWxlc0V4dGVuc2lvbk9wdGlvbgogKi8KKy8qIQorICAgIFxjbGFzcyBRV2ViUGFnZTo6Q3Jl
YXRlUmVxdWVzdEV4dGVuc2lvbk9wdGlvbgorICAgIFxzaW5jZSA0LjYKKyAgICBcYnJpZWYgVGhl
IENyZWF0ZVJlcXVlc3RFeHRlbnNpb25PcHRpb24gY2xhc3MgZGVzY3JpYmVzIHRoZSBvcHRpb24K
KyAgICBmb3IgdGhlIGNyZWF0ZSByZXF1ZXN0IGV4dGVuc2lvbi4gVGhpcyBleHRlbnNpb24gaXMg
Y2FsbGVkIGJ5IFF0V2ViS2l0IHdoZW5ldmVyIGl0CisgICAgbGF1bmNoZXMgYSBuZXR3b3JrIHJl
cXVlc3QuCisKKyAgICBUaGUgQ3JlYXRlUmVxdWVzdEV4dGVuc2lvbk9wdGlvbiBjbGFzcyBob2xk
cyB0aGUgZnJhbWUgb3JpZ2luYXRpbmcgdGhlIHJlcXVlc3QsIHRoZQorICAgIHJlcXVlc3QgaXRz
ZWxmLCBhbmQgdGhlIFxhIE5hdmlnYXRpb25UeXBlIG9mIHRoZSByZXF1ZXN0LgorCisgICAgXHNh
IFFXZWJQYWdlOjpOYXZpZ2F0aW9uVHlwZSwgUVdlYkZyYW1lLCBRTmV0d29ya1JlcXVlc3QKKyov
CiAKIC8qIQorICAgIFxjbGFzcyBRV2ViUGFnZTo6Q3JlYXRlUmVxdWVzdEV4dGVuc2lvblJldHVy
bgorICAgIFxzaW5jZSA0LjYKKyAgICBcYnJpZWYgVGhlIENyZWF0ZVJlcXVlc3RFeHRlbnNpb25S
ZXR1cm4gZGVzY3JpYmVzIHRoZSByZXR1cm4gdmFsdWUKKyAgICBmb3IgdGhlIGV4dGVuc2lvbiBh
c3NvY2lhdGluZyBhIG5ldHdvcmsgcmVxdWVzdCBhbmQgXGEgTmF2aWdhdGlvblR5cGUgd2l0aCBh
IGZyYW1lLgorCisgICAgVGhlIENyZWF0ZVJlcXVlc3RFeHRlbnNpb25SZXR1cm4gY2xhc3MgaG9s
ZHMgdGhlIHJlcXVlc3QgcHJvdmlkZWQgYnkgdGhlIHVzZXIKKyAgICB3aGVuIHRoZSBleHRlbnNp
b24gaXMgaW52b2tlZC4gUXRXZWJLaXQgd2lsbCB1c2UgdGhlIFFOZXR3b3JrUmVxdWVzdCBvYmpl
Y3QgcmV0dXJuZWQKKyAgICBpbiB0aGlzIGNsYXNzIGZvciBhbGwgc3Vic2VxdWVudCBvcGVyYXRp
b25zIG9uIHRoZSBuZXR3b3JrIHJlcXVlc3QuCisKKyAgICBcc2EgUVdlYlBhZ2U6OkNyZWF0ZVJl
cXVlc3RFeHRlbnNpb25PcHRpb24KKyovCisvKiEKICAgICBUaGlzIHZpcnR1YWwgZnVuY3Rpb24g
Y2FuIGJlIHJlaW1wbGVtZW50ZWQgaW4gYSBRV2ViUGFnZSBzdWJjbGFzcyB0byBwcm92aWRlIHN1
cHBvcnQgZm9yIGV4dGVuc2lvbnMuIFRoZSBcYSBvcHRpb24KICAgICBhcmd1bWVudCBpcyBwcm92
aWRlZCBhcyBpbnB1dCB0byB0aGUgZXh0ZW5zaW9uOyB0aGUgb3V0cHV0IHJlc3VsdHMgY2FuIGJl
IHN0b3JlZCBpbiBcYSBvdXRwdXQuCiAKKyAgICBUaGlzIGV4dGVuc2lvbiBpcyBjYWxsZWQgYnkg
UXRXZWJLaXQgd2hlbmV2ZXIgaXQgbGF1bmNoZXMgYSBuZXR3b3JrIHJlcXVlc3QuIFRoaXMgYWxs
b3dzIGNsaWVudHMgd2hvCisgICAgaGF2ZSBzdWJjbGFzc2VkIFFXZWJQYWdlIHRvIHJlaW1wbGVt
ZW50IGV4dGVuc2lvbigpIGFuZCB1c2UgUU5ldHdvcmtSZXF1ZXN0OjpzZXRBdHRyaWJ1dGUoKSB0
byBzdG9yZQorICAgIHZhbHVlcyAoc3VjaCBhcyB0aGUgZnJhbWUgcG9pbnRlcikgaW4gdGhlIFFO
ZXR3b3JrUmVxdWVzdDo6QXR0cmlidXRlcy4KKyAgICAKICAgICBUaGUgYmVoYXZpb3Igb2YgdGhp
cyBmdW5jdGlvbiBpcyBkZXRlcm1pbmVkIGJ5IFxhIGV4dGVuc2lvbi4KIAogICAgIFlvdSBjYW4g
Y2FsbCBzdXBwb3J0c0V4dGVuc2lvbigpIHRvIGNoZWNrIGlmIGFuIGV4dGVuc2lvbiBpcyBzdXBw
b3J0ZWQgYnkgdGhlIHBhZ2UuCkBAIC0yNTk3LDYgKzI2MzEsMTUgQEAgYm9vbCBRV2ViUGFnZTo6
ZXh0ZW5zaW9uKEV4dGVuc2lvbiBleHRlbnNpb24sIGNvbnN0IEV4dGVuc2lvbk9wdGlvbiAqb3B0
aW9uLCBFeHQKICAgICB9CiAjZW5kaWYKIAorICAgIGlmIChleHRlbnNpb24gPT0gQ3JlYXRlUmVx
dWVzdEV4dGVuc2lvbikgeworICAgICAgICBRV2ViRnJhbWUqIGZyYW1lID0gc3RhdGljX2Nhc3Q8
Y29uc3QgQ3JlYXRlUmVxdWVzdEV4dGVuc2lvbk9wdGlvbio+KG9wdGlvbiktPmZyYW1lOworICAg
ICAgICBRTmV0d29ya1JlcXVlc3QgcmVxdWVzdCA9IHN0YXRpY19jYXN0PGNvbnN0IENyZWF0ZVJl
cXVlc3RFeHRlbnNpb25PcHRpb24qPihvcHRpb24pLT5yZXF1ZXN0OworICAgICAgICBpbnQgdHlw
ZSA9IHN0YXRpY19jYXN0PGNvbnN0IENyZWF0ZVJlcXVlc3RFeHRlbnNpb25PcHRpb24qPihvcHRp
b24pLT50eXBlOworCisgICAgICAgIHN0YXRpY19jYXN0PENyZWF0ZVJlcXVlc3RFeHRlbnNpb25S
ZXR1cm4qPihvdXRwdXQpLT5yZXF1ZXN0ID0gcmVxdWVzdDsKKyAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgfQorCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCkBAIC0yNjA3LDEyICsyNjUwLDEzIEBA
IGJvb2wgUVdlYlBhZ2U6OmV4dGVuc2lvbihFeHRlbnNpb24gZXh0ZW5zaW9uLCBjb25zdCBFeHRl
bnNpb25PcHRpb24gKm9wdGlvbiwgRXh0CiAqLwogYm9vbCBRV2ViUGFnZTo6c3VwcG9ydHNFeHRl
bnNpb24oRXh0ZW5zaW9uIGV4dGVuc2lvbikgY29uc3QKIHsKKyAgICBpZiAoCiAjaWZuZGVmIFFU
X05PX0ZJTEVESUFMT0cKLSAgICByZXR1cm4gZXh0ZW5zaW9uID09IENob29zZU11bHRpcGxlRmls
ZXNFeHRlbnNpb247Ci0jZWxzZQotICAgIFFfVU5VU0VEKGV4dGVuc2lvbik7Ci0gICAgcmV0dXJu
IGZhbHNlOworICAgICAgICBleHRlbnNpb24gPT0gQ2hvb3NlTXVsdGlwbGVGaWxlc0V4dGVuc2lv
biB8fAogI2VuZGlmCisgICAgICAgIGV4dGVuc2lvbiA9PSBDcmVhdGVSZXF1ZXN0RXh0ZW5zaW9u
KQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gZmFsc2U7CiB9CiAKIC8qIQpkaWZm
IC0tZ2l0IGEvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5oIGIvV2ViS2l0L3F0L0FwaS9xd2VicGFn
ZS5oCmluZGV4IGRiNzA1ODMuLmViMWJlMWMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdl
YnBhZ2UuaAorKysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmgKQEAgLTI0LDYgKzI0LDcgQEAK
ICNpbmNsdWRlICJxd2Vic2V0dGluZ3MuaCIKICNpbmNsdWRlICJxd2Via2l0Z2xvYmFsLmgiCiAK
KyNpbmNsdWRlIDxRdE5ldHdvcmsvcW5ldHdvcmtyZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8UXRDb3Jl
L3FvYmplY3QuaD4KICNpbmNsdWRlIDxRdEd1aS9xd2lkZ2V0Lmg+CiAKQEAgLTI2Niw3ICsyNjcs
OCBAQCBwdWJsaWM6CiAgICAgUU1lbnUgKmNyZWF0ZVN0YW5kYXJkQ29udGV4dE1lbnUoKTsKIAog
ICAgIGVudW0gRXh0ZW5zaW9uIHsKLSAgICAgICAgQ2hvb3NlTXVsdGlwbGVGaWxlc0V4dGVuc2lv
bgorICAgICAgICBDaG9vc2VNdWx0aXBsZUZpbGVzRXh0ZW5zaW9uLAorICAgICAgICBDcmVhdGVS
ZXF1ZXN0RXh0ZW5zaW9uCiAgICAgfTsKICAgICBjbGFzcyBFeHRlbnNpb25PcHRpb24KICAgICB7
fTsKQEAgLTI4NCw2ICsyODYsMTggQEAgcHVibGljOgogICAgICAgICBRU3RyaW5nTGlzdCBmaWxl
TmFtZXM7CiAgICAgfTsKIAorICAgIGNsYXNzIENyZWF0ZVJlcXVlc3RFeHRlbnNpb25PcHRpb24g
OiBwdWJsaWMgRXh0ZW5zaW9uT3B0aW9uIHsKKyAgICBwdWJsaWM6CisgICAgICAgIFFXZWJGcmFt
ZSAqZnJhbWU7CisgICAgICAgIFFOZXR3b3JrUmVxdWVzdCByZXF1ZXN0OworICAgICAgICBpbnQg
dHlwZTsKKyAgICB9OworCisgICAgY2xhc3MgQ3JlYXRlUmVxdWVzdEV4dGVuc2lvblJldHVybiA6
IHB1YmxpYyBFeHRlbnNpb25SZXR1cm4geworICAgIHB1YmxpYzoKKyAgICAgICAgUU5ldHdvcmtS
ZXF1ZXN0IHJlcXVlc3Q7CisgICAgfTsKKwogICAgIHZpcnR1YWwgYm9vbCBleHRlbnNpb24oRXh0
ZW5zaW9uIGV4dGVuc2lvbiwgY29uc3QgRXh0ZW5zaW9uT3B0aW9uICpvcHRpb24gPSAwLCBFeHRl
bnNpb25SZXR1cm4gKm91dHB1dCA9IDApOwogICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0V4dGVu
c2lvbihFeHRlbnNpb24gZXh0ZW5zaW9uKSBjb25zdDsKIApAQCAtMzYwLDYgKzM3NCw3IEBAIHBy
aXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50UXQ7CiAg
ICAgZnJpZW5kIGNsYXNzIFdlYkNvcmU6Okluc3BlY3RvckNsaWVudFF0OwogICAgIGZyaWVuZCBj
bGFzcyBXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTsKKwogfTsKIAogUV9ERUNMQVJFX09QRVJBVE9S
U19GT1JfRkxBR1MoUVdlYlBhZ2U6OkZpbmRGbGFncykKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9D
aGFuZ2VMb2cgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IGY4NjRiY2MuLjRlNTE2M2MgMTAw
NjQ0Ci0tLSBhL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwpA
QCAtMSwzICsxLDIyIEBACisyMDA5LTA5LTEyICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRAcm9iZXJ0
aG9nYW4ubmV0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCBDcmVhdGVSZXF1ZXN0RXh0ZW5zaW9uIHRvIFFXZWJQYWdlCisgICAgICAgIFRoZSBD
cmVhdGVSZXF1ZXN0RXh0ZW5zaW9uIGV4dGVuc2lvbiB3aWxsIGFsbG93IHVzZXJzIHRvIGFzc29j
aWF0ZQorICAgICAgICBRTmV0d29ya1JlcXVlc3RzIHdpdGggdGhlaXIgb3JpZ2luYXRpbmcgUVdl
YkZyYW1lIGFuZCBOYXZpZ2F0aW9uVHlwZS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjg4ODQKKworICAgICAgICAqIEFwaS9xd2VicGFnZS5jcHA6
CisgICAgICAgIChRV2ViUGFnZTo6ZXh0ZW5zaW9uKToKKyAgICAgICAgKFFXZWJQYWdlOjpzdXBw
b3J0c0V4dGVuc2lvbik6CisgICAgICAgICogQXBpL3F3ZWJwYWdlLmg6CisgICAgICAgICogdGVz
dHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcDoKKyAgICAgICAgKFRlc3RFeHRlbnNpb25zUGFn
ZTo6VGVzdEV4dGVuc2lvbnNQYWdlKToKKyAgICAgICAgKFRlc3RFeHRlbnNpb25zUGFnZTo6ZXh0
ZW5zaW9uKToKKyAgICAgICAgKHRzdF9RV2ViUGFnZTo6Y3JlYXRlUmVxdWVzdEV4dGVuc2lvbik6
CisKIDIwMDktMDktMTEgIERhdmlkIEJvZGRpZSAgPGRib2RkaWVAdHJvbGx0ZWNoLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBIYXVzbWFubi4KZGlmZiAtLWdpdCBhL1dlYktpdC9x
dC90ZXN0cy9xd2VicGFnZS90c3RfcXdlYnBhZ2UuY3BwIGIvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJw
YWdlL3RzdF9xd2VicGFnZS5jcHAKaW5kZXggMTIxZDdjYi4uZWI5YTBlYiAxMDA2NDQKLS0tIGEv
V2ViS2l0L3F0L3Rlc3RzL3F3ZWJwYWdlL3RzdF9xd2VicGFnZS5jcHAKKysrIGIvV2ViS2l0L3F0
L3Rlc3RzL3F3ZWJwYWdlL3RzdF9xd2VicGFnZS5jcHAKQEAgLTkyLDYgKzkyLDcgQEAgcHJpdmF0
ZSBzbG90czoKICAgICB2b2lkIGNsZWFudXBUZXN0Q2FzZSgpOwogCiAgICAgdm9pZCBhY2NlcHRO
YXZpZ2F0aW9uUmVxdWVzdCgpOworICAgIHZvaWQgY3JlYXRlUmVxdWVzdEV4dGVuc2lvbigpOwog
ICAgIHZvaWQgaW5maW5pdGVMb29wSlMoKTsKICAgICB2b2lkIGxvYWRGaW5pc2hlZCgpOwogICAg
IHZvaWQgYWNjZXB0TmF2aWdhdGlvblJlcXVlc3RXaXRoTmV3V2luZG93KCk7CkBAIC0xOTcsNiAr
MTk4LDQwIEBAIHZvaWQgdHN0X1FXZWJQYWdlOjphY2NlcHROYXZpZ2F0aW9uUmVxdWVzdCgpCiAg
ICAgbV92aWV3LT5zZXRQYWdlKDApOwogfQogCitjbGFzcyBUZXN0RXh0ZW5zaW9uc1BhZ2UgOiBw
dWJsaWMgUVdlYlBhZ2UKK3sKK3B1YmxpYzoKKyAgICBUZXN0RXh0ZW5zaW9uc1BhZ2UoUU9iamVj
dCogcGFyZW50ID0gMCkgOiBRV2ViUGFnZShwYXJlbnQpIHt9CisgICAgaW50IG1fcGFzc2VkOwor
ICAgIGJvb2wgZXh0ZW5zaW9uKEV4dGVuc2lvbiBleHRlbnNpb24sIGNvbnN0IEV4dGVuc2lvbk9w
dGlvbiAqb3B0aW9uLCBFeHRlbnNpb25SZXR1cm4gKm91dHB1dCkKKyAgICB7CisgICAgICAgIGlm
IChleHRlbnNpb24gPT0gQ3JlYXRlUmVxdWVzdEV4dGVuc2lvbikgeworICAgICAgICAgICAgUVdl
YkZyYW1lKiBmcmFtZSA9IHN0YXRpY19jYXN0PGNvbnN0IENyZWF0ZVJlcXVlc3RFeHRlbnNpb25P
cHRpb24qPihvcHRpb24pLT5mcmFtZTsKKyAgICAgICAgICAgIFFOZXR3b3JrUmVxdWVzdCByZXF1
ZXN0ID0gc3RhdGljX2Nhc3Q8Y29uc3QgQ3JlYXRlUmVxdWVzdEV4dGVuc2lvbk9wdGlvbio+KG9w
dGlvbiktPnJlcXVlc3Q7CisgICAgICAgICAgICBpbnQgdHlwZSA9IHN0YXRpY19jYXN0PGNvbnN0
IENyZWF0ZVJlcXVlc3RFeHRlbnNpb25PcHRpb24qPihvcHRpb24pLT50eXBlOworCisgICAgICAg
ICAgICBzdGF0aWNfY2FzdDxDcmVhdGVSZXF1ZXN0RXh0ZW5zaW9uUmV0dXJuKj4ob3V0cHV0KS0+
cmVxdWVzdCA9IHJlcXVlc3Q7CisgICAgICAgICAgICBtX3Bhc3NlZCsrOworICAgICAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KK307
CisKK3ZvaWQgdHN0X1FXZWJQYWdlOjpjcmVhdGVSZXF1ZXN0RXh0ZW5zaW9uKCkKK3sKKyAgICBU
ZXN0RXh0ZW5zaW9uc1BhZ2UqIHBhZ2UgPSBuZXcgVGVzdEV4dGVuc2lvbnNQYWdlKG1fdmlldyk7
CisgICAgcGFnZS0+c2V0dGluZ3MoKS0+c2V0QXR0cmlidXRlKFFXZWJTZXR0aW5nczo6TGlua3NJ
bmNsdWRlZEluRm9jdXNDaGFpbiwgdHJ1ZSk7CisgICAgbV9wYWdlID0gcGFnZTsKKyAgICBwYWdl
LT5tX3Bhc3NlZCA9IDA7CisgICAgbV92aWV3LT5zZXRQYWdlKG1fcGFnZSk7CisKKyAgICBtX3Zp
ZXctPnNldFVybChRU3RyaW5nKCJkYXRhOnRleHQvaHRtbCw8YSBocmVmPVwiZGF0YTp0ZXh0L2h0
bWwsUmVhY2hlZFwiIHRhcmdldD1cIl9ibGFua1wiPkNsaWNrIG1lPC9hPiIpKTsKKyAgICBRVkVS
SUZZKDo6d2FpdEZvclNpZ25hbChtX3ZpZXcsIFNJR05BTChsb2FkRmluaXNoZWQoYm9vbCkpKSk7
CisKKyAgICBRQ09NUEFSRShwYWdlLT5tX3Bhc3NlZCwgMSk7Cit9CisKIGNsYXNzIEpTVGVzdFBh
Z2UgOiBwdWJsaWMgUVdlYlBhZ2UKIHsKIFFfT0JKRUNUCi0tIAoxLjYuMC40Cgo=
</data>
<flag name="review"
          id="20612"
          type_id="1"
          status="-"
          setter="ariya.hidayat"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40014</attachid>
            <date>2009-09-23 13:31:17 -0700</date>
            <delta_ts>2009-10-04 04:54:27 -0700</delta_ts>
            <desc>Updated Patch</desc>
            <filename>0001-Add-CreateRequestExtension-to-QWebPage.patch</filename>
            <type>text/plain</type>
            <size>11555</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">RnJvbSBjYzNiYWU4MTE0MjI0MzE4ZDg1YmIwMGZkYWYyODk4NmFmNzhiMjk2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnQgSG9nYW4gPHJvYmVydEByb2JlcnRob2dhbi5uZXQ+
CkRhdGU6IFR1ZSwgMSBTZXAgMjAwOSAxOTozOTozNCArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIEFk
ZCBDcmVhdGVSZXF1ZXN0RXh0ZW5zaW9uIHRvIFFXZWJQYWdlCiBUaGUgQ3JlYXRlUmVxdWVzdEV4
dGVuc2lvbiBleHRlbnNpb24gd2lsbCBhbGxvdyB1c2VycwogdG8gYXNzb2NpYXRlIFFOZXR3b3Jr
UmVxdWVzdHMgd2l0aCB0aGVpciBvcmlnaW5hdGluZyBRV2ViRnJhbWUKIGFuZCBOYXZpZ2F0aW9u
VHlwZS4KCi0tLQogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfCAgIDE2ICsrKysrKwogLi4uL3BsYXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBs
eUhhbmRsZXIuY3BwICAgfCAgIDE1ICsrKysrKwogV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAg
ICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDU0ICsrKysrKysrKysrKysrKysrKy0tCiBXZWJL
aXQvcXQvQXBpL3F3ZWJwYWdlLmggICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTcgKysr
KysrLQogV2ViS2l0L3F0L0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fCAgIDIxICsrKysrKysrCiBXZWJLaXQvcXQvdGVzdHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLmNw
cCAgICAgICAgICB8ICAgNDIgKysrKysrKysrKysrKysrCiA2IGZpbGVzIGNoYW5nZWQsIDE2MCBp
bnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmM2ZWYzZS4uMTQzZGYwOCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
OSBAQAorMjAwOS0wOS0yMyAgUm9iZXJ0IEhvZ2FuICA8cm9iZXJ0QHJvYmVydGhvZ2FuLm5ldD4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgQ3Jl
YXRlUmVxdWVzdEV4dGVuc2lvbiB0byBRV2ViUGFnZQorICAgICAgICBUaGUgQ3JlYXRlUmVxdWVz
dEV4dGVuc2lvbiBleHRlbnNpb24gd2lsbCBhbGxvdyB1c2VycworICAgICAgICB0byBhc3NvY2lh
dGUgUU5ldHdvcmtSZXF1ZXN0cyB3aXRoIHRoZWlyIG9yaWdpbmF0aW5nIFFXZWJGcmFtZQorICAg
ICAgICBhbmQgTmF2aWdhdGlvblR5cGUuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTI4ODg0CisKKyAgICAgICAgVGVzdHM6IHRlc3RzL3F3ZWJwYWdl
L3RzdF9xd2VicGFnZQorCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1Jl
cGx5SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpRTmV0d29ya1JlcGx5SGFuZGxlcjo6
c3RhcnQpOgorCiAyMDA5LTA5LTIyICBUaW1vdGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNv
bT4KIAogICAgICAgICBQcmV2ZW50IHNjcm9sbGluZyBtdWx0aXBsZSBlbGVtZW50cyBkdXJpbmcg
bGF0Y2hlZCB3aGVlbCBldmVudHMuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmNwcAppbmRleCBlYWM0MzBmLi5kNGU5M2QyIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIu
Y3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1JlcGx5SGFuZGxl
ci5jcHAKQEAgLTM2Niw2ICszNjYsMjEgQEAgdm9pZCBRTmV0d29ya1JlcGx5SGFuZGxlcjo6c3Rh
cnQoKQogCiAgICAgUU5ldHdvcmtBY2Nlc3NNYW5hZ2VyKiBtYW5hZ2VyID0gZC0+bV9mcmFtZS0+
cGFnZSgpLT5uZXR3b3JrQWNjZXNzTWFuYWdlcigpOwogCisgICAgaWYgKGQtPm1fZnJhbWUtPnBh
Z2UoKS0+c3VwcG9ydHNFeHRlbnNpb24oUVdlYlBhZ2U6OkNyZWF0ZVJlcXVlc3RFeHRlbnNpb24p
KSB7CisgICAgICAvLyBDYWxsaW5nIENyZWF0ZVJlcXVlc3RFeHRlbnNpb24gYWxsb3dzIGNsaWVu
dHMgd2hvIGltcGxlbWVudCBpdCB0byBwZXJmb3JtCisgICAgICAvLyBvcGVyYXRpb25zIG9uIHRo
ZSBRTmV0d29ya1JlcXVlc3Q6OkF0dHJpYnV0ZXMuIEZvciBleGFtcGxlLCBjbGllbnRzIGNvdWxk
CisgICAgICAvLyBzdG9yZSBhIHBvaW50ZXIgdG8gdGhlIGZyYW1lIGluIFFOZXR3b3JrUmVxdWVz
dDo6VXNlciArIFguIFRoaXMgd291bGQgYWxsb3cKKyAgICAgIC8vIHRoZSBjbGllbnQgdG8gYXNz
b2NpYXRlIHRoZSBuZXR3b3JrIHJlcXVlc3Qgd2l0aCBpdCdzIG9yaWdpbmF0aW5nIGZyYW1lLgor
ICAgICAgUVdlYlBhZ2U6OkNyZWF0ZVJlcXVlc3RFeHRlbnNpb25PcHRpb24gb3B0aW9uOworICAg
ICAgb3B0aW9uLmZyYW1lID0gZC0+bV9mcmFtZTsKKyAgICAgIG9wdGlvbi5yZXF1ZXN0ID0gbV9y
ZXF1ZXN0OworICAgICAgb3B0aW9uLnR5cGUgPSBRV2ViUGFnZTo6TmF2aWdhdGlvblR5cGVPdGhl
cjsKKworICAgICAgUVdlYlBhZ2U6OkNyZWF0ZVJlcXVlc3RFeHRlbnNpb25SZXR1cm4gb3V0cHV0
OworICAgICAgaWYgKGQtPm1fZnJhbWUtPnBhZ2UoKS0+ZXh0ZW5zaW9uKFFXZWJQYWdlOjpDcmVh
dGVSZXF1ZXN0RXh0ZW5zaW9uLCAmb3B0aW9uLCAmb3V0cHV0KSkKKyAgICAgICAgICBtX3JlcXVl
c3QgPSBvdXRwdXQucmVxdWVzdDsKKyAgICB9CisKICAgICBjb25zdCBRVXJsIHVybCA9IG1fcmVx
dWVzdC51cmwoKTsKICAgICBjb25zdCBRU3RyaW5nIHNjaGVtZSA9IHVybC5zY2hlbWUoKTsKICAg
ICAvLyBQb3N0IHJlcXVlc3RzIG9uIGZpbGVzIGFuZCBkYXRhIGRvbid0IHJlYWxseSBtYWtlIHNl
bnNlLCBidXQgZm9yCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcCBiL1dl
YktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCmluZGV4IGU2ZjYxMWEuLmQ4NGQzOWQgMTAwNjQ0Ci0t
LSBhL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCisrKyBiL1dlYktpdC9xdC9BcGkvcXdlYnBh
Z2UuY3BwCkBAIC0yNTM0LDYgKzI1MzQsMTQgQEAgdm9pZCBRV2ViUGFnZTo6dXBkYXRlUG9zaXRp
b25EZXBlbmRlbnRBY3Rpb25zKGNvbnN0IFFQb2ludCAmcG9zKQogICAgIGFzIGEgcmVzdWx0IG9m
IHRoZSB1c2VyIGNsaWNraW5nIG9uIGEgImZpbGUgdXBsb2FkIiBidXR0b24gaW4gYSBIVE1MIGZv
cm0gd2hlcmUgbXVsdGlwbGUKICAgICBmaWxlIHNlbGVjdGlvbiBpcyBhbGxvd2VkLgogCisgICAg
XHZhbHVlIENyZWF0ZVJlcXVlc3RFeHRlbnNpb24gVGhlIGZyYW1lIGFuZCBuYXZpZ2F0aW9uIHR5
cGUgYXNvY2lhdGVkIHdpdGggYSByZXF1ZXN0LgorICAgIElmIHN1cHBvcnRzRXh0ZW5zaW9uKCkg
aW5kaWNhdGVzIHN1cHBvcnQgZm9yIHRoaXMgZXh0ZW5zaW9uIGl0IGlzIGNhbGxlZCBieSBRdFdl
YktpdCB3aGVuZXZlciBpdAorICAgIGxhdW5jaGVzIGEgbmV0d29yayByZXF1ZXN0LiBUaGlzIGFs
bG93cyBjbGllbnRzIHdobyAgaGF2ZSBzdWJjbGFzc2VkIFFXZWJQYWdlIHRvIGFzc29jaWF0ZSBu
ZXR3b3JrCisgICAgcmVxdWVzdHMgd2l0aCB0aGVpciBvcmlnaW5hdGluZyBmcmFtZXMuIFRoZXkg
Y2FuIGRvIHRoaXMgYnkgcmVpbXBsZW1lbnRpbmcgZXh0ZW5zaW9uKCkgYW5kIHRoZW4gdXNpbmcK
KyAgICBRTmV0d29ya1JlcXVlc3Q6OnNldEF0dHJpYnV0ZSgpIHRvIHN0b3JlIHZhbHVlcyAoc3Vj
aCBhcyB0aGUgZnJhbWUgcG9pbnRlcikgaW4gdGhlIFFOZXR3b3JrUmVxdWVzdDo6QXR0cmlidXRl
cy4KKyAgICBOb3RlIHRoYXQgUVdlYlBhZ2U6OnN1cHBvcnRzRXh0ZW5zaW9uKCkgcmV0dXJucyBm
YWxzZSBmb3IgdGhpcyBleHRlbnNpb24gYnkgZGVmYXVsdC4gVGhpcyBtZWFucyB5b3UgbXVzdCBh
bHNvCisgICAgcmVpbXBsZW1lbnQgc3VwcG9ydHNFeHRlbnNpb24oKSB0byBpbmRpY2F0ZSBzdXBw
b3J0IGZvciBDcmVhdGVSZXF1ZXN0RXh0ZW5zaW9uIGlmIHlvdSB3YW50IFF0V2ViS2l0IHRvIHVz
ZSBpdC4KKwogKi8KIAogLyohCkBAIC0yNTczLDExICsyNTgxLDM5IEBAIHZvaWQgUVdlYlBhZ2U6
OnVwZGF0ZVBvc2l0aW9uRGVwZW5kZW50QWN0aW9ucyhjb25zdCBRUG9pbnQgJnBvcykKIAogICAg
IFxzYSBRV2ViUGFnZTo6Q2hvb3NlTXVsdGlwbGVGaWxlc0V4dGVuc2lvbk9wdGlvbgogKi8KKy8q
IQorICAgIFxjbGFzcyBRV2ViUGFnZTo6Q3JlYXRlUmVxdWVzdEV4dGVuc2lvbk9wdGlvbgorICAg
IFxzaW5jZSA0LjYKKyAgICBcYnJpZWYgVGhlIENyZWF0ZVJlcXVlc3RFeHRlbnNpb25PcHRpb24g
Y2xhc3MgZGVzY3JpYmVzIHRoZSBvcHRpb24KKyAgICBmb3IgdGhlIGNyZWF0ZSByZXF1ZXN0IGV4
dGVuc2lvbi4gVGhpcyBleHRlbnNpb24gaXMgY2FsbGVkIGJ5IFF0V2ViS2l0IHdoZW5ldmVyIGl0
CisgICAgbGF1bmNoZXMgYSBuZXR3b3JrIHJlcXVlc3QuCisKKyAgICBUaGUgQ3JlYXRlUmVxdWVz
dEV4dGVuc2lvbk9wdGlvbiBjbGFzcyBob2xkcyB0aGUgZnJhbWUgb3JpZ2luYXRpbmcgdGhlIHJl
cXVlc3QsIHRoZQorICAgIHJlcXVlc3QgaXRzZWxmLCBhbmQgdGhlIFxhIE5hdmlnYXRpb25UeXBl
IG9mIHRoZSByZXF1ZXN0LgorCisgICAgXHNhIFFXZWJQYWdlOjpOYXZpZ2F0aW9uVHlwZSwgUVdl
YkZyYW1lLCBRTmV0d29ya1JlcXVlc3QKKyovCiAKIC8qIQorICAgIFxjbGFzcyBRV2ViUGFnZTo6
Q3JlYXRlUmVxdWVzdEV4dGVuc2lvblJldHVybgorICAgIFxzaW5jZSA0LjYKKyAgICBcYnJpZWYg
VGhlIENyZWF0ZVJlcXVlc3RFeHRlbnNpb25SZXR1cm4gZGVzY3JpYmVzIHRoZSByZXR1cm4gdmFs
dWUKKyAgICBmb3IgdGhlIGV4dGVuc2lvbiBhc3NvY2lhdGluZyBhIG5ldHdvcmsgcmVxdWVzdCBh
bmQgXGEgTmF2aWdhdGlvblR5cGUgd2l0aCBhIGZyYW1lLgorCisgICAgVGhlIENyZWF0ZVJlcXVl
c3RFeHRlbnNpb25SZXR1cm4gY2xhc3MgaG9sZHMgdGhlIHJlcXVlc3QgcHJvdmlkZWQgYnkgdGhl
IHVzZXIKKyAgICB3aGVuIHRoZSBleHRlbnNpb24gaXMgaW52b2tlZC4gUXRXZWJLaXQgd2lsbCB1
c2UgdGhlIFFOZXR3b3JrUmVxdWVzdCBvYmplY3QgcmV0dXJuZWQKKyAgICBpbiB0aGlzIGNsYXNz
IGZvciBhbGwgc3Vic2VxdWVudCBvcGVyYXRpb25zIG9uIHRoZSBuZXR3b3JrIHJlcXVlc3QuCisK
KyAgICBcc2EgUVdlYlBhZ2U6OkNyZWF0ZVJlcXVlc3RFeHRlbnNpb25PcHRpb24KKyovCisvKiEK
ICAgICBUaGlzIHZpcnR1YWwgZnVuY3Rpb24gY2FuIGJlIHJlaW1wbGVtZW50ZWQgaW4gYSBRV2Vi
UGFnZSBzdWJjbGFzcyB0byBwcm92aWRlIHN1cHBvcnQgZm9yIGV4dGVuc2lvbnMuIFRoZSBcYSBv
cHRpb24KICAgICBhcmd1bWVudCBpcyBwcm92aWRlZCBhcyBpbnB1dCB0byB0aGUgZXh0ZW5zaW9u
OyB0aGUgb3V0cHV0IHJlc3VsdHMgY2FuIGJlIHN0b3JlZCBpbiBcYSBvdXRwdXQuCiAKKyAgICBU
aGlzIGV4dGVuc2lvbiBpcyBjYWxsZWQgYnkgUXRXZWJLaXQgd2hlbmV2ZXIgaXQgbGF1bmNoZXMg
YSBuZXR3b3JrIHJlcXVlc3QuIFRoaXMgYWxsb3dzIGNsaWVudHMgd2hvCisgICAgaGF2ZSBzdWJj
bGFzc2VkIFFXZWJQYWdlIHRvIHJlaW1wbGVtZW50IGV4dGVuc2lvbigpIGFuZCB1c2UgUU5ldHdv
cmtSZXF1ZXN0OjpzZXRBdHRyaWJ1dGUoKSB0byBzdG9yZQorICAgIHZhbHVlcyAoc3VjaCBhcyB0
aGUgZnJhbWUgcG9pbnRlcikgaW4gdGhlIFFOZXR3b3JrUmVxdWVzdDo6QXR0cmlidXRlcy4KKyAg
ICAKICAgICBUaGUgYmVoYXZpb3Igb2YgdGhpcyBmdW5jdGlvbiBpcyBkZXRlcm1pbmVkIGJ5IFxh
IGV4dGVuc2lvbi4KIAogICAgIFlvdSBjYW4gY2FsbCBzdXBwb3J0c0V4dGVuc2lvbigpIHRvIGNo
ZWNrIGlmIGFuIGV4dGVuc2lvbiBpcyBzdXBwb3J0ZWQgYnkgdGhlIHBhZ2UuCkBAIC0yNTk4LDIy
ICsyNjM0LDMyIEBAIGJvb2wgUVdlYlBhZ2U6OmV4dGVuc2lvbihFeHRlbnNpb24gZXh0ZW5zaW9u
LCBjb25zdCBFeHRlbnNpb25PcHRpb24gKm9wdGlvbiwgRXh0CiAgICAgfQogI2VuZGlmCiAKKyAg
ICBpZiAoZXh0ZW5zaW9uID09IENyZWF0ZVJlcXVlc3RFeHRlbnNpb24pIHsKKyAgICAgICAgUVdl
YkZyYW1lKiBmcmFtZSA9IHN0YXRpY19jYXN0PGNvbnN0IENyZWF0ZVJlcXVlc3RFeHRlbnNpb25P
cHRpb24qPihvcHRpb24pLT5mcmFtZTsKKyAgICAgICAgUU5ldHdvcmtSZXF1ZXN0IHJlcXVlc3Qg
PSBzdGF0aWNfY2FzdDxjb25zdCBDcmVhdGVSZXF1ZXN0RXh0ZW5zaW9uT3B0aW9uKj4ob3B0aW9u
KS0+cmVxdWVzdDsKKyAgICAgICAgaW50IHR5cGUgPSBzdGF0aWNfY2FzdDxjb25zdCBDcmVhdGVS
ZXF1ZXN0RXh0ZW5zaW9uT3B0aW9uKj4ob3B0aW9uKS0+dHlwZTsKKworICAgICAgICBzdGF0aWNf
Y2FzdDxDcmVhdGVSZXF1ZXN0RXh0ZW5zaW9uUmV0dXJuKj4ob3V0cHV0KS0+cmVxdWVzdCA9IHJl
cXVlc3Q7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKwogICAgIHJldHVybiBmYWxzZTsK
IH0KIAogLyohCiAgICAgVGhpcyB2aXJ0dWFsIGZ1bmN0aW9uIHJldHVybnMgdHJ1ZSBpZiB0aGUg
d2ViIHBhZ2Ugc3VwcG9ydHMgXGEgZXh0ZW5zaW9uOyBvdGhlcndpc2UgZmFsc2UgaXMgcmV0dXJu
ZWQuCisgICAgQ3JlYXRlUmVxdWVzdEV4dGVuc2lvbiBpcyBub3Qgc3VwcG9ydGVkIGJ5IGRlZmF1
bHQsIHNvIGlmIHlvdSB3aXNoIHRvIHN1cHBvcnQgQ3JlYXRlUmVxdWVzdEV4dGVuc2lvbgorICAg
IHlvdSBtdXN0IHJlLWltcGxlbWVudCB0aGlzIGZ1bmN0aW9uLgogCiAgICAgXHNhIGV4dGVuc2lv
bigpCiAqLwogYm9vbCBRV2ViUGFnZTo6c3VwcG9ydHNFeHRlbnNpb24oRXh0ZW5zaW9uIGV4dGVu
c2lvbikgY29uc3QKIHsKICNpZm5kZWYgUVRfTk9fRklMRURJQUxPRwotICAgIHJldHVybiBleHRl
bnNpb24gPT0gQ2hvb3NlTXVsdGlwbGVGaWxlc0V4dGVuc2lvbjsKLSNlbHNlCi0gICAgUV9VTlVT
RUQoZXh0ZW5zaW9uKTsKLSAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKGV4dGVuc2lvbiA9PSBD
aG9vc2VNdWx0aXBsZUZpbGVzRXh0ZW5zaW9uKQorICAgICAgICByZXR1cm4gdHJ1ZTsKICNlbmRp
ZgorICAgIHJldHVybiBmYWxzZTsKIH0KIAogLyohCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQXBp
L3F3ZWJwYWdlLmggYi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmgKaW5kZXggYWVjZDg2MC4uY2Fj
OTNkNyAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5oCisrKyBiL1dlYktpdC9x
dC9BcGkvcXdlYnBhZ2UuaApAQCAtMjQsNiArMjQsNyBAQAogI2luY2x1ZGUgInF3ZWJzZXR0aW5n
cy5oIgogI2luY2x1ZGUgInF3ZWJraXRnbG9iYWwuaCIKIAorI2luY2x1ZGUgPFF0TmV0d29yay9x
bmV0d29ya3JlcXVlc3QuaD4KICNpbmNsdWRlIDxRdENvcmUvcW9iamVjdC5oPgogI2luY2x1ZGUg
PFF0R3VpL3F3aWRnZXQuaD4KIApAQCAtMjY2LDcgKzI2Nyw4IEBAIHB1YmxpYzoKICAgICBRTWVu
dSAqY3JlYXRlU3RhbmRhcmRDb250ZXh0TWVudSgpOwogCiAgICAgZW51bSBFeHRlbnNpb24gewot
ICAgICAgICBDaG9vc2VNdWx0aXBsZUZpbGVzRXh0ZW5zaW9uCisgICAgICAgIENob29zZU11bHRp
cGxlRmlsZXNFeHRlbnNpb24sCisgICAgICAgIENyZWF0ZVJlcXVlc3RFeHRlbnNpb24KICAgICB9
OwogICAgIGNsYXNzIEV4dGVuc2lvbk9wdGlvbgogICAgIHt9OwpAQCAtMjg0LDYgKzI4NiwxOCBA
QCBwdWJsaWM6CiAgICAgICAgIFFTdHJpbmdMaXN0IGZpbGVOYW1lczsKICAgICB9OwogCisgICAg
Y2xhc3MgQ3JlYXRlUmVxdWVzdEV4dGVuc2lvbk9wdGlvbiA6IHB1YmxpYyBFeHRlbnNpb25PcHRp
b24geworICAgIHB1YmxpYzoKKyAgICAgICAgUVdlYkZyYW1lICpmcmFtZTsKKyAgICAgICAgUU5l
dHdvcmtSZXF1ZXN0IHJlcXVlc3Q7CisgICAgICAgIGludCB0eXBlOworICAgIH07CisKKyAgICBj
bGFzcyBDcmVhdGVSZXF1ZXN0RXh0ZW5zaW9uUmV0dXJuIDogcHVibGljIEV4dGVuc2lvblJldHVy
biB7CisgICAgcHVibGljOgorICAgICAgICBRTmV0d29ya1JlcXVlc3QgcmVxdWVzdDsKKyAgICB9
OworCiAgICAgdmlydHVhbCBib29sIGV4dGVuc2lvbihFeHRlbnNpb24gZXh0ZW5zaW9uLCBjb25z
dCBFeHRlbnNpb25PcHRpb24gKm9wdGlvbiA9IDAsIEV4dGVuc2lvblJldHVybiAqb3V0cHV0ID0g
MCk7CiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzRXh0ZW5zaW9uKEV4dGVuc2lvbiBleHRlbnNp
b24pIGNvbnN0OwogCkBAIC0zNTksNiArMzczLDcgQEAgcHJpdmF0ZToKICAgICBmcmllbmQgY2xh
c3MgV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRRdDsKICAgICBmcmllbmQgY2xhc3MgV2ViQ29y
ZTo6SW5zcGVjdG9yQ2xpZW50UXQ7CiAgICAgZnJpZW5kIGNsYXNzIFdlYkNvcmU6OlJlc291cmNl
SGFuZGxlOworCiB9OwogCiBRX0RFQ0xBUkVfT1BFUkFUT1JTX0ZPUl9GTEFHUyhRV2ViUGFnZTo6
RmluZEZsYWdzKQpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1dlYktpdC9xdC9D
aGFuZ2VMb2cKaW5kZXggOTI5OGYzZC4uYmRjYzQ4OSAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0No
YW5nZUxvZworKysgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMDkt
MDktMjMgIFJvYmVydCBIb2dhbiAgPHJvYmVydEByb2JlcnRob2dhbi5uZXQ+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIENyZWF0ZVJlcXVlc3RF
eHRlbnNpb24gdG8gUVdlYlBhZ2UKKyAgICAgICAgVGhlIENyZWF0ZVJlcXVlc3RFeHRlbnNpb24g
ZXh0ZW5zaW9uIHdpbGwgYWxsb3cgdXNlcnMKKyAgICAgICAgdG8gYXNzb2NpYXRlIFFOZXR3b3Jr
UmVxdWVzdHMgd2l0aCB0aGVpciBvcmlnaW5hdGluZyBRV2ViRnJhbWUKKyAgICAgICAgYW5kIE5h
dmlnYXRpb25UeXBlLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yODg4NAorCisgICAgICAgICogQXBpL3F3ZWJwYWdlLmNwcDoKKyAgICAgICAgKFFX
ZWJQYWdlOjpleHRlbnNpb24pOgorICAgICAgICAoUVdlYlBhZ2U6OnN1cHBvcnRzRXh0ZW5zaW9u
KToKKyAgICAgICAgKiBBcGkvcXdlYnBhZ2UuaDoKKyAgICAgICAgKiB0ZXN0cy9xd2VicGFnZS90
c3RfcXdlYnBhZ2UuY3BwOgorICAgICAgICAoVGVzdEV4dGVuc2lvbnNQYWdlOjpUZXN0RXh0ZW5z
aW9uc1BhZ2UpOgorICAgICAgICAoVGVzdEV4dGVuc2lvbnNQYWdlOjpleHRlbnNpb24pOgorICAg
ICAgICAoVGVzdEV4dGVuc2lvbnNQYWdlOjpzdXBwb3J0c0V4dGVuc2lvbik6CisgICAgICAgICh0
c3RfUVdlYlBhZ2U6OmNyZWF0ZVJlcXVlc3RFeHRlbnNpb24pOgorCiAyMDA5LTA5LTIzICBOb3Ji
ZXJ0IExlc2VyICA8bm9yYmVydC5sZXNlckBub2tpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgVG9yIEFybmUgVmVzdGLDuC4KZGlmZiAtLWdpdCBhL1dlYktpdC9xdC90ZXN0cy9xd2VicGFn
ZS90c3RfcXdlYnBhZ2UuY3BwIGIvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJwYWdlL3RzdF9xd2VicGFn
ZS5jcHAKaW5kZXggMGZiMDViOC4uNWJmZGZjMCAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L3Rlc3Rz
L3F3ZWJwYWdlL3RzdF9xd2VicGFnZS5jcHAKKysrIGIvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJwYWdl
L3RzdF9xd2VicGFnZS5jcHAKQEAgLTkyLDYgKzkyLDcgQEAgcHJpdmF0ZSBzbG90czoKICAgICB2
b2lkIGNsZWFudXBUZXN0Q2FzZSgpOwogCiAgICAgdm9pZCBhY2NlcHROYXZpZ2F0aW9uUmVxdWVz
dCgpOworICAgIHZvaWQgY3JlYXRlUmVxdWVzdEV4dGVuc2lvbigpOwogICAgIHZvaWQgaW5maW5p
dGVMb29wSlMoKTsKICAgICB2b2lkIGxvYWRGaW5pc2hlZCgpOwogICAgIHZvaWQgYWNjZXB0TmF2
aWdhdGlvblJlcXVlc3RXaXRoTmV3V2luZG93KCk7CkBAIC0xOTksNiArMjAwLDQ3IEBAIHZvaWQg
dHN0X1FXZWJQYWdlOjphY2NlcHROYXZpZ2F0aW9uUmVxdWVzdCgpCiAgICAgbV92aWV3LT5zZXRQ
YWdlKDApOwogfQogCitjbGFzcyBUZXN0RXh0ZW5zaW9uc1BhZ2UgOiBwdWJsaWMgUVdlYlBhZ2UK
K3sKK3B1YmxpYzoKKyAgICBUZXN0RXh0ZW5zaW9uc1BhZ2UoUU9iamVjdCogcGFyZW50ID0gMCkg
OiBRV2ViUGFnZShwYXJlbnQpIHt9CisgICAgaW50IG1fcGFzc2VkOworICAgIGJvb2wgZXh0ZW5z
aW9uKEV4dGVuc2lvbiBleHRlbnNpb24sIGNvbnN0IEV4dGVuc2lvbk9wdGlvbiAqb3B0aW9uLCBF
eHRlbnNpb25SZXR1cm4gKm91dHB1dCkKKyAgICB7CisgICAgICAgIGlmIChleHRlbnNpb24gPT0g
Q3JlYXRlUmVxdWVzdEV4dGVuc2lvbikgeworICAgICAgICAgICAgUVdlYkZyYW1lKiBmcmFtZSA9
IHN0YXRpY19jYXN0PGNvbnN0IENyZWF0ZVJlcXVlc3RFeHRlbnNpb25PcHRpb24qPihvcHRpb24p
LT5mcmFtZTsKKyAgICAgICAgICAgIFFOZXR3b3JrUmVxdWVzdCByZXF1ZXN0ID0gc3RhdGljX2Nh
c3Q8Y29uc3QgQ3JlYXRlUmVxdWVzdEV4dGVuc2lvbk9wdGlvbio+KG9wdGlvbiktPnJlcXVlc3Q7
CisgICAgICAgICAgICBpbnQgdHlwZSA9IHN0YXRpY19jYXN0PGNvbnN0IENyZWF0ZVJlcXVlc3RF
eHRlbnNpb25PcHRpb24qPihvcHRpb24pLT50eXBlOworCisgICAgICAgICAgICBzdGF0aWNfY2Fz
dDxDcmVhdGVSZXF1ZXN0RXh0ZW5zaW9uUmV0dXJuKj4ob3V0cHV0KS0+cmVxdWVzdCA9IHJlcXVl
c3Q7CisgICAgICAgICAgICBtX3Bhc3NlZCsrOworICAgICAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIGJvb2wgc3VwcG9y
dHNFeHRlbnNpb24oRXh0ZW5zaW9uIGV4dGVuc2lvbikgY29uc3QKKyAgICB7CisgICAgICAgIGlm
IChleHRlbnNpb24gPT0gUVdlYlBhZ2U6OkNyZWF0ZVJlcXVlc3RFeHRlbnNpb24pCisgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KK307CisKK3Zv
aWQgdHN0X1FXZWJQYWdlOjpjcmVhdGVSZXF1ZXN0RXh0ZW5zaW9uKCkKK3sKKyAgICBUZXN0RXh0
ZW5zaW9uc1BhZ2UqIHBhZ2UgPSBuZXcgVGVzdEV4dGVuc2lvbnNQYWdlKG1fdmlldyk7CisgICAg
cGFnZS0+c2V0dGluZ3MoKS0+c2V0QXR0cmlidXRlKFFXZWJTZXR0aW5nczo6TGlua3NJbmNsdWRl
ZEluRm9jdXNDaGFpbiwgdHJ1ZSk7CisgICAgbV9wYWdlID0gcGFnZTsKKyAgICBwYWdlLT5tX3Bh
c3NlZCA9IDA7CisgICAgbV92aWV3LT5zZXRQYWdlKG1fcGFnZSk7CisKKyAgICBtX3ZpZXctPnNl
dFVybChRU3RyaW5nKCJkYXRhOnRleHQvaHRtbCw8YSBocmVmPVwiZGF0YTp0ZXh0L2h0bWwsUmVh
Y2hlZFwiIHRhcmdldD1cIl9ibGFua1wiPkNsaWNrIG1lPC9hPiIpKTsKKyAgICBRVkVSSUZZKDo6
d2FpdEZvclNpZ25hbChtX3ZpZXcsIFNJR05BTChsb2FkRmluaXNoZWQoYm9vbCkpKSk7CisKKyAg
ICBRQ09NUEFSRShwYWdlLT5tX3Bhc3NlZCwgMSk7Cit9CisKIGNsYXNzIEpTVGVzdFBhZ2UgOiBw
dWJsaWMgUVdlYlBhZ2UKIHsKIFFfT0JKRUNUCi0tIAoxLjYuMC40Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40595</attachid>
            <date>2009-10-04 04:54:08 -0700</date>
            <delta_ts>2009-10-04 04:54:08 -0700</delta_ts>
            <desc>possible patch</desc>
            <filename>0001-requestCreated-signal.patch</filename>
            <type>text/plain</type>
            <size>2623</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">RnJvbSAxYTBlYjhkZTgzMGNlNDA5MzIzNWY1MzE0OGRhODM1YzZmZGMxYzk3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnQgSG9nYW4gPHJvYmVydEByb2JlcnRob2dhbi5uZXQ+
CkRhdGU6IFN1biwgNCBPY3QgMjAwOSAxMjo0OTo0OCArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIHJl
cXVlc3RDcmVhdGVkIHNpZ25hbAoKLS0tCiAuLi4vcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29y
a1JlcGx5SGFuZGxlci5jcHAgICB8ICAgIDIgKysKIFdlYktpdC9xdC9BcGkvcXdlYmZyYW1lLmNw
cCAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxMiArKysrKysrKysrKysKIFdlYktpdC9xdC9B
cGkvcXdlYmZyYW1lLmggICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgNSArKysrKwogMyBm
aWxlcyBjaGFuZ2VkLCAxOSBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1JlcGx5SGFuZGxlci5jcHAg
Yi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuY3BwCmlu
ZGV4IDMzMDNiMzQuLjgyNmY4ZDQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9xdC9RTmV0d29ya1JlcGx5SGFuZGxlci5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmNwcApAQCAtMzc5LDYgKzM3OSw4IEBAIHZvaWQg
UU5ldHdvcmtSZXBseUhhbmRsZXI6OnN0YXJ0KCkKIAogICAgIFFOZXR3b3JrQWNjZXNzTWFuYWdl
ciogbWFuYWdlciA9IGQtPm1fZnJhbWUtPnBhZ2UoKS0+bmV0d29ya0FjY2Vzc01hbmFnZXIoKTsK
IAorICAgIGQtPm1fZnJhbWUtPnJlcXVlc3RDcmVhdGVkKCZtX3JlcXVlc3QpOworCiAgICAgY29u
c3QgUVVybCB1cmwgPSBtX3JlcXVlc3QudXJsKCk7CiAgICAgY29uc3QgUVN0cmluZyBzY2hlbWUg
PSB1cmwuc2NoZW1lKCk7CiAgICAgLy8gUG9zdCByZXF1ZXN0cyBvbiBmaWxlcyBhbmQgZGF0YSBk
b24ndCByZWFsbHkgbWFrZSBzZW5zZSwgYnV0IGZvcgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0Fw
aS9xd2ViZnJhbWUuY3BwIGIvV2ViS2l0L3F0L0FwaS9xd2ViZnJhbWUuY3BwCmluZGV4IDNkMzFh
ZTguLjlhNmU1ODMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYmZyYW1lLmNwcAorKysg
Yi9XZWJLaXQvcXQvQXBpL3F3ZWJmcmFtZS5jcHAKQEAgLTEyNjksNiArMTI2OSwxMSBAQCBRV2Vi
U2VjdXJpdHlPcmlnaW4gUVdlYkZyYW1lOjpzZWN1cml0eU9yaWdpbigpIGNvbnN0CiAgICAgcmV0
dXJuIFFXZWJTZWN1cml0eU9yaWdpbihwcml2KTsKIH0KIAordm9pZCBRV2ViRnJhbWU6OnJlcXVl
c3RDcmVhdGVkKFFOZXR3b3JrUmVxdWVzdCAqcmVxdWVzdCkKK3sKKyAgICBlbWl0IHJlcXVlc3RD
cmVhdGVkKHRoaXMsIHJlcXVlc3QpOworfQorCiBXZWJDb3JlOjpGcmFtZSogUVdlYkZyYW1lUHJp
dmF0ZTo6Y29yZShRV2ViRnJhbWUqIHdlYkZyYW1lKQogewogICAgIHJldHVybiB3ZWJGcmFtZS0+
ZC0+ZnJhbWU7CkBAIC0xMzYzLDYgKzEzNjgsMTMgQEAgUVdlYkZyYW1lKiBRV2ViRnJhbWVQcml2
YXRlOjpraXQoV2ViQ29yZTo6RnJhbWUqIGNvcmVGcmFtZSkKICovCiAKIC8qIQorICBcc2luY2Ug
NC43CisgIFxmbiB2b2lkIFFXZWJGcmFtZTo6cmVxdWVzdENyZWF0ZWQoUVdlYkZyYW1lKiBmcmFt
ZSwgUU5ldHdvcmtSZXF1ZXN0KiByZXF1ZXN0LCBOYXZpZ2F0aW9uVHlwZSB0eXBlKTsKKworICBU
aGlzIHNpZ25hbCBpcyBlbWl0dGVkIHdoZW4gYSBcYSByZXF1ZXN0IGlzIGNyZWF0ZWQgZm9yIHRo
ZSBnaXZlbiBcYSBmcmFtZS4KKyovCisKKy8qIQogICAgIFxjbGFzcyBRV2ViSGl0VGVzdFJlc3Vs
dAogICAgIFxzaW5jZSA0LjQKICAgICBcYnJpZWYgVGhlIFFXZWJIaXRUZXN0UmVzdWx0IGNsYXNz
IHByb3ZpZGVzIGluZm9ybWF0aW9uIGFib3V0IHRoZSB3ZWIKZGlmZiAtLWdpdCBhL1dlYktpdC9x
dC9BcGkvcXdlYmZyYW1lLmggYi9XZWJLaXQvcXQvQXBpL3F3ZWJmcmFtZS5oCmluZGV4IDU1Yzcz
YjQuLjQwNmIwMjIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYmZyYW1lLmgKKysrIGIv
V2ViS2l0L3F0L0FwaS9xd2ViZnJhbWUuaApAQCAtMTkzLDYgKzE5Myw5IEBAIHB1YmxpYzoKIAog
ICAgIFFXZWJTZWN1cml0eU9yaWdpbiBzZWN1cml0eU9yaWdpbigpIGNvbnN0OwogCisgICAgdm9p
ZCByZXF1ZXN0Q3JlYXRlZChRTmV0d29ya1JlcXVlc3QgKnJlcXVlc3QpOworCisKIHB1YmxpYyBR
X1NMT1RTOgogICAgIFFWYXJpYW50IGV2YWx1YXRlSmF2YVNjcmlwdChjb25zdCBRU3RyaW5nJiBz
Y3JpcHRTb3VyY2UpOwogI2lmbmRlZiBRVF9OT19QUklOVEVSCkBAIC0yMTUsNiArMjE4LDggQEAg
UV9TSUdOQUxTOgogICAgIHZvaWQgbG9hZFN0YXJ0ZWQoKTsKICAgICB2b2lkIGxvYWRGaW5pc2hl
ZChib29sIG9rKTsKIAorICAgIHZvaWQgcmVxdWVzdENyZWF0ZWQoUVdlYkZyYW1lKiBmcmFtZSwg
UU5ldHdvcmtSZXF1ZXN0ICpyZXF1ZXN0KTsKKwogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3Mg
UVdlYlBhZ2U7CiAgICAgZnJpZW5kIGNsYXNzIFFXZWJQYWdlUHJpdmF0ZTsKLS0gCjEuNi4wLjQK
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>