<?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>50885</bug_id>
          
          <creation_ts>2010-12-12 02:51:16 -0800</creation_ts>
          <short_desc>[GTK] remove old data: URI handler, fix the SoupRequest-based one</short_desc>
          <delta_ts>2011-02-02 15:46:48 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dan Winship">danw</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>mrobinson</cc>
    
    <cc>svillar</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>320795</commentid>
    <comment_count>0</comment_count>
    <who name="Dan Winship">danw</who>
    <bug_when>2010-12-12 02:51:16 -0800</bug_when>
    <thetext>The SoupRequest stuff has always had a data: URI handler, but ResourceHandleSoup was never updated to use it. This fixes that, as well as removing some references to the old gio/gvfs-based loader that are no longer relevant with the SoupRequest code. It also makes it so that it attempts to use SoupRequest for all unrecognized URI schemes (thereby opening up the possibility of registering additional SoupRequest types from the application).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320806</commentid>
    <comment_count>1</comment_count>
      <attachid>76317</attachid>
    <who name="Dan Winship">danw</who>
    <bug_when>2010-12-12 03:19:42 -0800</bug_when>
    <thetext>Created attachment 76317
patch to use SoupRequestData

The comment about &quot;limitations in KURL&quot; in the old parseDataUrl() does not appear to be relevant to the current code; the tests pass fine without lying about the text encoding.

The changes to sendRequestCallback() are needed because the code was apparently broken before; it worked for file URIs because they always had !shouldContentSniff(), but for any other kind of non-HTTP URI it would result in didReceiveResponse never being called.

The fixes to soup-request-data.c have already been committed to libsoup, but this means that if we commit both this patch and bug 50675 then we need updated libsoup packages on the bots, or else we&apos;ll have to temporarily skip a few tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>328731</commentid>
    <comment_count>2</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-01-03 13:15:14 -0800</bug_when>
    <thetext>Sergio, do you mind doing an informal review here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>328938</commentid>
    <comment_count>3</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2011-01-04 02:50:58 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Sergio, do you mind doing an informal review here?

Informally looking good to me :). Don&apos;t know if it makes sense to change the SoupRequestData stuff tough as it will be removed. Maybe it&apos;d be better to:

1) update bots and EWS (are we still waiting for Google?)
2) migrate from webkit_soup_ -&gt; soup_ first
3) remove SoupURILoader stuff from webkitgtk
3) Apply Dan&apos;s ResourceHandleSoup changes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342145</commentid>
    <comment_count>4</comment_count>
      <attachid>80575</attachid>
    <who name="Dan Winship">danw</who>
    <bug_when>2011-01-29 14:47:10 -0800</bug_when>
    <thetext>Created attachment 80575
updated patch

This is rebased on top of bug 50747. Not bothering to mark r? yet since it won&apos;t apply cleanly to HEAD</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342499</commentid>
    <comment_count>5</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2011-01-31 01:32:49 -0800</bug_when>
    <thetext>Several tests are not working for me. Seems that data: URLs are not properly handled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343157</commentid>
    <comment_count>6</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2011-02-01 05:11:16 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Several tests are not working for me. Seems that data: URLs are not properly handled.

Fixed in libsoup 2.33.6 BTW</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344141</commentid>
    <comment_count>7</comment_count>
      <attachid>80575</attachid>
    <who name="Dan Winship">danw</who>
    <bug_when>2011-02-02 12:33:23 -0800</bug_when>
    <thetext>Comment on attachment 80575
updated patch

50747 is in, so this can go now</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344148</commentid>
    <comment_count>8</comment_count>
      <attachid>80575</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-02-02 12:45:01 -0800</bug_when>
    <thetext>Comment on attachment 80575
updated patch

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

This looks very good, but I have a few mostly stylistic suggestions.

&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:132
&gt; +static bool startGeneric(ResourceHandle*, KURL);

I think the startHttp/startGeneric pair should probably be called startHTTPRequest and startNonHTTPRequest for the sake of explicitness and the WebKit style guidelines.

&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:470
&gt; +        String mimeType = extractMIMETypeFromMediaType(contentType);
&gt; +        String charset = extractCharsetFromMediaType(contentType);
&gt; +        d-&gt;m_response.setMimeType(mimeType);
&gt; +        d-&gt;m_response.setTextEncodingName(charset);

If possible, please just make this:

d-&gt;m_response.setMimeType(extractMIMETypeFromMediaType(contentType));
d-&gt;m_response.setTextEncodingName(extractCharsetFromMediaType(contentType));

&gt; Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:-902
&gt; -    // GIO doesn&apos;t know how to handle refs and queries, so remove them
&gt; -    // TODO: use KURL.fileSystemPath after KURLGtk and FileSystemGtk are
&gt; -    // using GIO internally, and providing URIs instead of file paths
&gt; -    url.removeFragmentIdentifier();
&gt; -    url.setQuery(String());
&gt; -    url.removePort();

Do you mind explaining this removal in the startNonHTTP (nee startGeneric) section of the ChangeLog?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344161</commentid>
    <comment_count>9</comment_count>
      <attachid>80956</attachid>
    <who name="Dan Winship">danw</who>
    <bug_when>2011-02-02 13:08:37 -0800</bug_when>
    <thetext>Created attachment 80956
updated with Martin&apos;s suggestions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344180</commentid>
    <comment_count>10</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-02-02 13:26:01 -0800</bug_when>
    <thetext>Committed r77408: &lt;http://trac.webkit.org/changeset/77408&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344326</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-02 15:46:48 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/77408 might have broken GTK Linux 32-bit Release
The following tests are not passing:
editing/selection/find-yensign-and-backslash.html
http/tests/websocket/tests/handshake-fail-by-sub-protocol-mismatch.html</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76317</attachid>
            <date>2010-12-12 03:19:42 -0800</date>
            <delta_ts>2011-01-29 14:47:10 -0800</delta_ts>
            <desc>patch to use SoupRequestData</desc>
            <filename>data-handler.diff</filename>
            <type>text/plain</type>
            <size>10582</size>
            <attacher name="Dan Winship">danw</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NzU3NWQ4NS4uZmQyYzZmZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMC0xMi0xMiAgRGFuIFdpbnNoaXAg
IDxkYW53QGdub21lLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBbR1RLXSByZW1vdmUgb2xkIGRhdGE6IFVSSSBoYW5kbGVyLCBmaXggdGhlIFNv
dXBSZXF1ZXN0LWJhc2VkIG9uZQorICAgICAgICB0byBwYXNzIHRlc3RzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MDg4NQorCisgICAgICAgICogcGxh
dGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpzZW5kUmVxdWVzdENhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFu
ZGxlOjpzdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpzdGFydEdlbmVyaWMpOgorICAgICAgICAq
IHBsYXRmb3JtL25ldHdvcmsvc291cC9jYWNoZS9zb3VwLXJlcXVlc3QtZGF0YS5jOgorICAgICAg
ICAod2Via2l0X3NvdXBfcmVxdWVzdF9kYXRhX3NlbmQpOgorICAgICAgICAod2Via2l0X3NvdXBf
cmVxdWVzdF9kYXRhX2dldF9jb250ZW50X3R5cGUpOgorCiAyMDEwLTEyLTExICBQYXRyaWNrIEdh
bnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmlu
IEFkbGVyLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3Vy
Y2VIYW5kbGVTb3VwLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNl
SGFuZGxlU291cC5jcHAKaW5kZXggMDllMWViZS4uZTJlMjJkMiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCkBAIC0xMjYs
NyArMTI2LDcgQEAgc3RhdGljIHZvaWQgY2xlYW51cFNvdXBSZXF1ZXN0T3BlcmF0aW9uKFJlc291
cmNlSGFuZGxlKiwgYm9vbCBpc0Rlc3Ryb3lpbmcpOwogc3RhdGljIHZvaWQgc2VuZFJlcXVlc3RD
YWxsYmFjayhHT2JqZWN0KiwgR0FzeW5jUmVzdWx0KiwgZ3BvaW50ZXIpOwogc3RhdGljIHZvaWQg
cmVhZENhbGxiYWNrKEdPYmplY3QqLCBHQXN5bmNSZXN1bHQqLCBncG9pbnRlcik7CiBzdGF0aWMg
dm9pZCBjbG9zZUNhbGxiYWNrKEdPYmplY3QqLCBHQXN5bmNSZXN1bHQqLCBncG9pbnRlcik7Ci1z
dGF0aWMgYm9vbCBzdGFydEdpbyhSZXNvdXJjZUhhbmRsZSosIEtVUkwpOworc3RhdGljIGJvb2wg
c3RhcnRHZW5lcmljKFJlc291cmNlSGFuZGxlKiwgS1VSTCk7CiAKIFJlc291cmNlSGFuZGxlSW50
ZXJuYWw6On5SZXNvdXJjZUhhbmRsZUludGVybmFsKCkKIHsKQEAgLTMwMCw5OSArMzAwLDYgQEAg
c3RhdGljIHZvaWQgZ290Q2h1bmtDYWxsYmFjayhTb3VwTWVzc2FnZSogbXNnLCBTb3VwQnVmZmVy
KiBjaHVuaywgZ3BvaW50ZXIgZGF0YSkKICAgICBjbGllbnQtPmRpZFJlY2VpdmVEYXRhKGhhbmRs
ZS5nZXQoKSwgY2h1bmstPmRhdGEsIGNodW5rLT5sZW5ndGgsIGZhbHNlKTsKIH0KIAotc3RhdGlj
IGdib29sZWFuIHBhcnNlRGF0YVVybChncG9pbnRlciBjYWxsYmFja0RhdGEpCi17Ci0gICAgUmVz
b3VyY2VIYW5kbGUqIGhhbmRsZSA9IHN0YXRpY19jYXN0PFJlc291cmNlSGFuZGxlKj4oY2FsbGJh
Y2tEYXRhKTsKLSAgICBSZXNvdXJjZUhhbmRsZUNsaWVudCogY2xpZW50ID0gaGFuZGxlLT5jbGll
bnQoKTsKLSAgICBSZXNvdXJjZUhhbmRsZUludGVybmFsKiBkID0gaGFuZGxlLT5nZXRJbnRlcm5h
bCgpOwotICAgIGlmIChkLT5tX2NhbmNlbGxlZCkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0g
ICAgZC0+bV9pZGxlSGFuZGxlciA9IDA7Ci0KLSAgICBBU1NFUlQoY2xpZW50KTsKLSAgICBpZiAo
IWNsaWVudCkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgU3RyaW5nIHVybCA9IGhhbmRs
ZS0+Zmlyc3RSZXF1ZXN0KCkudXJsKCkuc3RyaW5nKCk7Ci0gICAgQVNTRVJUKHVybC5zdGFydHNX
aXRoKCJkYXRhOiIsIGZhbHNlKSk7Ci0KLSAgICBpbnQgaW5kZXggPSB1cmwuZmluZCgnLCcpOwot
ICAgIGlmIChpbmRleCA9PSAtMSkgewotICAgICAgICBjbGllbnQtPmNhbm5vdFNob3dVUkwoaGFu
ZGxlKTsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQotICAgIFN0cmluZyBtZWRpYVR5
cGUgPSB1cmwuc3Vic3RyaW5nKDUsIGluZGV4IC0gNSk7Ci0KLSAgICBib29sIGlzQmFzZTY0ID0g
bWVkaWFUeXBlLmVuZHNXaXRoKCI7YmFzZTY0IiwgZmFsc2UpOwotICAgIGlmIChpc0Jhc2U2NCkK
LSAgICAgICAgbWVkaWFUeXBlID0gbWVkaWFUeXBlLmxlZnQobWVkaWFUeXBlLmxlbmd0aCgpIC0g
Nyk7Ci0KLSAgICBpZiAobWVkaWFUeXBlLmlzRW1wdHkoKSkKLSAgICAgICAgbWVkaWFUeXBlID0g
InRleHQvcGxhaW47Y2hhcnNldD1VUy1BU0NJSSI7Ci0KLSAgICBTdHJpbmcgbWltZVR5cGUgPSBl
eHRyYWN0TUlNRVR5cGVGcm9tTWVkaWFUeXBlKG1lZGlhVHlwZSk7Ci0gICAgU3RyaW5nIGNoYXJz
ZXQgPSBleHRyYWN0Q2hhcnNldEZyb21NZWRpYVR5cGUobWVkaWFUeXBlKTsKLQotICAgIEFTU0VS
VChkLT5tX3Jlc3BvbnNlLmlzTnVsbCgpKTsKLQotICAgIGQtPm1fcmVzcG9uc2Uuc2V0VVJMKGhh
bmRsZS0+Zmlyc3RSZXF1ZXN0KCkudXJsKCkpOwotICAgIGQtPm1fcmVzcG9uc2Uuc2V0TWltZVR5
cGUobWltZVR5cGUpOwotCi0gICAgLy8gRm9yIG5vbiBiYXNlNjQgZW5jb2RlZCBkYXRhIHdlIGhh
dmUgdG8gY29udmVydCB0byBVVEYtMTYgZWFybHkKLSAgICAvLyBkdWUgdG8gbGltaXRhdGlvbnMg
aW4gS1VSTAotICAgIGQtPm1fcmVzcG9uc2Uuc2V0VGV4dEVuY29kaW5nTmFtZShpc0Jhc2U2NCA/
IGNoYXJzZXQgOiAiVVRGLTE2Iik7Ci0gICAgY2xpZW50LT5kaWRSZWNlaXZlUmVzcG9uc2UoaGFu
ZGxlLCBkLT5tX3Jlc3BvbnNlKTsKLQotICAgIC8vIFRoZSBsb2FkIG1heSBiZSBjYW5jZWxsZWQs
IGFuZCB0aGUgY2xpZW50IG1heSBiZSBkZXN0cm95ZWQKLSAgICAvLyBieSBhbnkgb2YgdGhlIGNs
aWVudCByZXBvcnRpbmcgY2FsbHMsIHNvIHdlIGNoZWNrLCBhbmQgYmFpbAotICAgIC8vIG91dCBp
biBlaXRoZXIgb2YgdGhvc2UgY2FzZXMuCi0gICAgaWYgKGQtPm1fY2FuY2VsbGVkIHx8ICFoYW5k
bGUtPmNsaWVudCgpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBTb3VwU2Vzc2lvbiog
c2Vzc2lvbiA9IGhhbmRsZS0+ZGVmYXVsdFNlc3Npb24oKTsKLSAgICBHT3duUHRyPEdFcnJvcj4g
ZXJyb3I7Ci0gICAgZC0+bV9zb3VwUmVxdWVzdCA9IGFkb3B0UGxhdGZvcm1SZWYod2Via2l0X3Nv
dXBfcmVxdWVzdGVyX3JlcXVlc3QoZC0+bV9yZXF1ZXN0ZXIuZ2V0KCksIGhhbmRsZS0+Zmlyc3RS
ZXF1ZXN0KCkudXJsKCkuc3RyaW5nKCkudXRmOCgpLmRhdGEoKSwgc2Vzc2lvbiwgJmVycm9yLm91
dFB0cigpKSk7Ci0gICAgaWYgKGVycm9yKSB7Ci0gICAgICAgIGQtPm1fc291cFJlcXVlc3QgPSAw
OwotICAgICAgICBjbGllbnQtPmRpZEZpbmlzaExvYWRpbmcoaGFuZGxlLCAwKTsKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgIH0KLQotICAgIGQtPm1faW5wdXRTdHJlYW0gPSBhZG9wdFBsYXRm
b3JtUmVmKHdlYmtpdF9zb3VwX3JlcXVlc3Rfc2VuZChkLT5tX3NvdXBSZXF1ZXN0LmdldCgpLCAw
LCAmZXJyb3Iub3V0UHRyKCkpKTsKLSAgICBpZiAoZXJyb3IpIHsKLSAgICAgICAgZC0+bV9pbnB1
dFN0cmVhbSA9IDA7Ci0gICAgICAgIGNsaWVudC0+ZGlkRmluaXNoTG9hZGluZyhoYW5kbGUsIDAp
OwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotCi0gICAgZC0+bV9idWZmZXIgPSBzdGF0
aWNfY2FzdDxjaGFyKj4oZ19zbGljZV9hbGxvYzAoUkVBRF9CVUZGRVJfU0laRSkpOwotICAgIGQt
Pm1fdG90YWwgPSAwOwotCi0gICAgZ19vYmplY3Rfc2V0X2RhdGEoR19PQkpFQ1QoZC0+bV9pbnB1
dFN0cmVhbS5nZXQoKSksICJ3ZWJraXQtcmVzb3VyY2UiLCBoYW5kbGUpOwotICAgIC8vIGJhbGFu
Y2VkIGJ5IGEgZGVyZWYoKSBpbiBjbGVhbnVwU291cFJlcXVlc3RPcGVyYXRpb24sIHdoaWNoIHNo
b3VsZCBhbHdheXMgcnVuCi0gICAgaGFuZGxlLT5yZWYoKTsKLQotICAgIGQtPm1fY2FuY2VsbGFi
bGUgPSBhZG9wdFBsYXRmb3JtUmVmKGdfY2FuY2VsbGFibGVfbmV3KCkpOwotICAgIGdfaW5wdXRf
c3RyZWFtX3JlYWRfYXN5bmMoZC0+bV9pbnB1dFN0cmVhbS5nZXQoKSwgZC0+bV9idWZmZXIsIFJF
QURfQlVGRkVSX1NJWkUsIEdfUFJJT1JJVFlfREVGQVVMVCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGQtPm1fY2FuY2VsbGFibGUuZ2V0KCksIHJlYWRDYWxsYmFjaywgR0lOVF9UT19Q
T0lOVEVSKCFpc0Jhc2U2NCkpOwotCi0gICAgcmV0dXJuIGZhbHNlOwotfQotCi1zdGF0aWMgYm9v
bCBzdGFydERhdGEoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgU3RyaW5nIHVybFN0cmluZykKLXsK
LSAgICBBU1NFUlQoaGFuZGxlKTsKLQotICAgIFJlc291cmNlSGFuZGxlSW50ZXJuYWwqIGQgPSBo
YW5kbGUtPmdldEludGVybmFsKCk7Ci0KLSAgICAvLyBJZiBwYXJzZURhdGFVcmwgaXMgY2FsbGVk
IHN5bmNocm9ub3VzbHkgdGhlIGpvYiBpcyBub3QgeWV0IGVmZmVjdGl2ZWx5IHN0YXJ0ZWQKLSAg
ICAvLyBhbmQgd2Via2l0IHdvbid0IG5ldmVyIGtub3cgdGhhdCB0aGUgZGF0YSBoYXMgYmVlbiBw
YXJzZWQgZXZlbiBkaWRGaW5pc2hMb2FkaW5nIGlzIGNhbGxlZC4KLSAgICBkLT5tX2lkbGVIYW5k
bGVyID0gZ190aW1lb3V0X2FkZCgwLCBwYXJzZURhdGFVcmwsIGhhbmRsZSk7Ci0gICAgcmV0dXJu
IHRydWU7Ci19Ci0KIHN0YXRpYyBTb3VwU2Vzc2lvbiogY3JlYXRlU291cFNlc3Npb24oKQogewog
ICAgIHJldHVybiBzb3VwX3Nlc3Npb25fYXN5bmNfbmV3KCk7CkBAIC01MzUsMTIgKzQ0MiwxNSBA
QCBzdGF0aWMgdm9pZCBzZW5kUmVxdWVzdENhbGxiYWNrKEdPYmplY3QqIHNvdXJjZSwgR0FzeW5j
UmVzdWx0KiByZXMsIGdwb2ludGVyIHVzZQogICAgIC8vIHJlYWRDYWxsYmFjayBuZWVkcyBpdAog
ICAgIGdfb2JqZWN0X3NldF9kYXRhKEdfT0JKRUNUKGQtPm1faW5wdXRTdHJlYW0uZ2V0KCkpLCAi
d2Via2l0LXJlc291cmNlIiwgaGFuZGxlLmdldCgpKTsKIAotICAgIC8vIEVuc3VyZSBhIHJlc3Bv
bnNlIGlzIHNlbnQgZm9yIGFueSBwcm90b2NvbHMgdGhhdCBkb24ndCBleHBsaWNpdGx5IHN1cHBv
cnQgcmVzcG9uc2VzCi0gICAgLy8gdGhyb3VnaCBnb3QtaGVhZGVycyBzaWduYWwgb3IgY29udGVu
dCBzbmlmZmluZy4KLSAgICAvLyAoZS5nLiBmaWxlIGFuZCBHSU8gYmFzZWQgcHJvdG9jb2wpLgot
ICAgIGlmICghaGFuZGxlLT5zaG91bGRDb250ZW50U25pZmYoKSAmJiBkLT5tX3Jlc3BvbnNlLmlz
TnVsbCgpKSB7CisgICAgLy8gSWYgbm90IHVzaW5nIFNvdXBNZXNzYWdlIHdlIG5lZWQgdG8gY2Fs
bCBkaWRSZWNlaXZlUmVzcG9uc2Ugbm93LgorICAgIC8vIChUaGlzIHdpbGwgY2hhbmdlIGxhdGVy
IHdoZW4gU291cFJlcXVlc3Qgc3VwcG9ydHMgY29udGVudCBzbmlmZmluZy4pCisgICAgaWYgKCFk
LT5tX3NvdXBNZXNzYWdlKSB7CiAgICAgICAgIGQtPm1fcmVzcG9uc2Uuc2V0VVJMKGhhbmRsZS0+
Zmlyc3RSZXF1ZXN0KCkudXJsKCkpOwotICAgICAgICBkLT5tX3Jlc3BvbnNlLnNldE1pbWVUeXBl
KHdlYmtpdF9zb3VwX3JlcXVlc3RfZ2V0X2NvbnRlbnRfdHlwZShkLT5tX3NvdXBSZXF1ZXN0Lmdl
dCgpKSk7CisgICAgICAgIGNvbnN0IGdjaGFyKiBjb250ZW50VHlwZSA9IHdlYmtpdF9zb3VwX3Jl
cXVlc3RfZ2V0X2NvbnRlbnRfdHlwZShkLT5tX3NvdXBSZXF1ZXN0LmdldCgpKTsKKyAgICAgICAg
U3RyaW5nIG1pbWVUeXBlID0gZXh0cmFjdE1JTUVUeXBlRnJvbU1lZGlhVHlwZShjb250ZW50VHlw
ZSk7CisgICAgICAgIFN0cmluZyBjaGFyc2V0ID0gZXh0cmFjdENoYXJzZXRGcm9tTWVkaWFUeXBl
KGNvbnRlbnRUeXBlKTsKKyAgICAgICAgZC0+bV9yZXNwb25zZS5zZXRNaW1lVHlwZShtaW1lVHlw
ZSk7CisgICAgICAgIGQtPm1fcmVzcG9uc2Uuc2V0VGV4dEVuY29kaW5nTmFtZShjaGFyc2V0KTsK
ICAgICAgICAgZC0+bV9yZXNwb25zZS5zZXRFeHBlY3RlZENvbnRlbnRMZW5ndGgod2Via2l0X3Nv
dXBfcmVxdWVzdF9nZXRfY29udGVudF9sZW5ndGgoZC0+bV9zb3VwUmVxdWVzdC5nZXQoKSkpOwog
ICAgICAgICBjbGllbnQtPmRpZFJlY2VpdmVSZXNwb25zZShoYW5kbGUuZ2V0KCksIGQtPm1fcmVz
cG9uc2UpOwogCkBAIC03MDAsMTkgKzYxMCwxMyBAQCBib29sIFJlc291cmNlSGFuZGxlOjpzdGFy
dChOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCkKICAgICAvLyBVc2VkIHRvIHNldCB0aGUgYXV0
aGVudGljYXRpb24gZGlhbG9nIHRvcGxldmVsOyBtYXkgYmUgTlVMTAogICAgIGQtPm1fY29udGV4
dCA9IGNvbnRleHQ7CiAKLSAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UocHJvdG9jb2wsICJkYXRh
IikpCi0gICAgICAgIHJldHVybiBzdGFydERhdGEodGhpcywgdXJsU3RyaW5nKTsKLQogICAgIGlm
IChlcXVhbElnbm9yaW5nQ2FzZShwcm90b2NvbCwgImh0dHAiKSB8fCBlcXVhbElnbm9yaW5nQ2Fz
ZShwcm90b2NvbCwgImh0dHBzIikpIHsKICAgICAgICAgaWYgKHN0YXJ0SHR0cCh0aGlzKSkKICAg
ICAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAotICAgIGlmIChlcXVhbElnbm9yaW5nQ2Fz
ZShwcm90b2NvbCwgImZpbGUiKSB8fCBlcXVhbElnbm9yaW5nQ2FzZShwcm90b2NvbCwgImZ0cCIp
IHx8IGVxdWFsSWdub3JpbmdDYXNlKHByb3RvY29sLCAiZnRwcyIpKSB7Ci0gICAgICAgIC8vIEZJ
WE1FOiBzaG91bGQgd2UgYmUgZG9pbmcgYW55IG90aGVyIHByb3RvY29scyBoZXJlPwotICAgICAg
ICBpZiAoc3RhcnRHaW8odGhpcywgdXJsKSkKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAg
IH0KKyAgICBpZiAoc3RhcnRHZW5lcmljKHRoaXMsIHVybCkpCisgICAgICAgIHJldHVybiB0cnVl
OwogCiAgICAgLy8gRXJyb3IgbXVzdCBub3QgYmUgcmVwb3J0ZWQgaW1tZWRpYXRlbHkKICAgICB0
aGlzLT5zY2hlZHVsZUZhaWx1cmUoSW52YWxpZFVSTEZhaWx1cmUpOwpAQCAtODY2LDcgKzc3MCw3
IEBAIHN0YXRpYyB2b2lkIHJlYWRDYWxsYmFjayhHT2JqZWN0KiBzb3VyY2UsIEdBc3luY1Jlc3Vs
dCogYXN5bmNSZXN1bHQsIGdwb2ludGVyIGRhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBkLT5tX2NhbmNlbGxhYmxlLmdldCgpLCByZWFkQ2FsbGJhY2ssIGRhdGEpOwogfQogCi1zdGF0
aWMgYm9vbCBzdGFydEdpbyhSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBLVVJMIHVybCkKK3N0YXRp
YyBib29sIHN0YXJ0R2VuZXJpYyhSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBLVVJMIHVybCkKIHsK
ICAgICBBU1NFUlQoaGFuZGxlKTsKIApAQCAtODc2LDEyICs3ODAsNiBAQCBzdGF0aWMgYm9vbCBz
dGFydEdpbyhSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBLVVJMIHVybCkKICAgICBTb3VwU2Vzc2lv
biogc2Vzc2lvbiA9IGhhbmRsZS0+ZGVmYXVsdFNlc3Npb24oKTsKICAgICBSZXNvdXJjZUhhbmRs
ZUludGVybmFsKiBkID0gaGFuZGxlLT5nZXRJbnRlcm5hbCgpOwogCi0gICAgLy8gR0lPIGRvZXNu
J3Qga25vdyBob3cgdG8gaGFuZGxlIHJlZnMgYW5kIHF1ZXJpZXMsIHNvIHJlbW92ZSB0aGVtCi0g
ICAgLy8gVE9ETzogdXNlIEtVUkwuZmlsZVN5c3RlbVBhdGggYWZ0ZXIgS1VSTEd0ayBhbmQgRmls
ZVN5c3RlbUd0ayBhcmUKLSAgICAvLyB1c2luZyBHSU8gaW50ZXJuYWxseSwgYW5kIHByb3ZpZGlu
ZyBVUklzIGluc3RlYWQgb2YgZmlsZSBwYXRocwotICAgIHVybC5yZW1vdmVGcmFnbWVudElkZW50
aWZpZXIoKTsKLSAgICB1cmwuc2V0UXVlcnkoU3RyaW5nKCkpOwotICAgIHVybC5yZW1vdmVQb3J0
KCk7CiAgICAgQ1N0cmluZyB1cmxTdHIgPSB1cmwuc3RyaW5nKCkudXRmOCgpOwogCiAgICAgR093
blB0cjxHRXJyb3I+IGVycm9yOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvY2FjaGUvc291cC1yZXF1ZXN0LWRhdGEuYyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9zb3VwL2NhY2hlL3NvdXAtcmVxdWVzdC1kYXRhLmMKaW5kZXggY2VkNWM0YS4uYmE1ZWEzNSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvY2FjaGUvc291cC1yZXF1
ZXN0LWRhdGEuYworKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9jYWNoZS9zb3Vw
LXJlcXVlc3QtZGF0YS5jCkBAIC02MSw2ICs2MSw5IEBAIHdlYmtpdF9zb3VwX3JlcXVlc3RfZGF0
YV9jaGVja191cmkgKFdlYktpdFNvdXBSZXF1ZXN0ICAqcmVxdWVzdCwKIAlyZXR1cm4gdXJpLT5o
b3N0ID09IE5VTEw7CiB9CiAKKyNkZWZpbmUgQkFTRTY0X0lORElDQVRPUiAgICAgIjtiYXNlNjQi
CisjZGVmaW5lIEJBU0U2NF9JTkRJQ0FUT1JfTEVOIChzaXplb2YgKCI7YmFzZTY0IikgLSAxKQor
CiBzdGF0aWMgR0lucHV0U3RyZWFtICoKIHdlYmtpdF9zb3VwX3JlcXVlc3RfZGF0YV9zZW5kIChX
ZWJLaXRTb3VwUmVxdWVzdCAgICpyZXF1ZXN0LAogCQkJICAgICAgIEdDYW5jZWxsYWJsZSAgKmNh
bmNlbGxhYmxlLApAQCAtNjksMzAgKzcyLDMyIEBAIHdlYmtpdF9zb3VwX3JlcXVlc3RfZGF0YV9z
ZW5kIChXZWJLaXRTb3VwUmVxdWVzdCAgICpyZXF1ZXN0LAogCVdlYktpdFNvdXBSZXF1ZXN0RGF0
YSAqZGF0YSA9IFdFQktJVF9TT1VQX1JFUVVFU1RfREFUQSAocmVxdWVzdCk7CiAJU291cFVSSSAq
dXJpID0gd2Via2l0X3NvdXBfcmVxdWVzdF9nZXRfdXJpIChyZXF1ZXN0KTsKIAlHSW5wdXRTdHJl
YW0gKm1lbXN0cmVhbTsKLQljb25zdCBjaGFyICpjb21tYSwgKnNlbWksICpzdGFydCwgKmVuZDsK
Kwljb25zdCBjaGFyICpjb21tYSwgKnN0YXJ0LCAqZW5kOwogCWdib29sZWFuIGJhc2U2NCA9IEZB
TFNFOwogCiAJZ2NoYXIgKnVyaXN0ciA9IHNvdXBfdXJpX3RvX3N0cmluZyAodXJpLCBGQUxTRSk7
Ci0JY29tbWEgPSBzdHJjaHIgKHVyaXN0ciwgJywnKTsKLQlpZiAoY29tbWEgJiYgY29tbWEgIT0g
dXJpc3RyKSB7CisJc3RhcnQgPSB1cmlzdHIgKyA1OworCWNvbW1hID0gc3RyY2hyIChzdGFydCwg
JywnKTsKKwlpZiAoY29tbWEgJiYgY29tbWEgIT0gc3RhcnQpIHsKIAkJLyogRGVhbCB3aXRoIE1J
TUUgdHlwZSAvIHBhcmFtcyAqLwotCQlzZW1pID0gbWVtY2hyICh1cmlzdHIsICc7JywgY29tbWEg
LSB1cmlzdHIpOwotCQllbmQgPSBzZW1pID8gc2VtaSA6IGNvbW1hOwotCi0JCWlmIChzZW1pICYm
ICFnX2FzY2lpX3N0cm5jYXNlY21wIChzZW1pLCAiO2Jhc2U2NCIsIE1BWCAoKHNpemVfdCkgKGNv
bW1hIC0gc2VtaSksIHN0cmxlbiAoIjtiYXNlNjQiKSkpKQorCQlpZiAoY29tbWEgPiBzdGFydCAr
IEJBU0U2NF9JTkRJQ0FUT1JfTEVOICYmICFnX2FzY2lpX3N0cm5jYXNlY21wIChjb21tYSAtIEJB
U0U2NF9JTkRJQ0FUT1JfTEVOLCBCQVNFNjRfSU5ESUNBVE9SLCBCQVNFNjRfSU5ESUNBVE9SX0xF
TikpIHsKKwkJCWVuZCA9IGNvbW1hIC0gQkFTRTY0X0lORElDQVRPUl9MRU47CiAJCQliYXNlNjQg
PSBUUlVFOworCQl9IGVsc2UKKwkJCWVuZCA9IGNvbW1hOwogCi0JCWlmIChlbmQgIT0gdXJpc3Ry
KQorCQlpZiAoZW5kICE9IHN0YXJ0KQogCQkJaWYgKGJhc2U2NCkKLQkJCQlkYXRhLT5wcml2LT5j
b250ZW50X3R5cGUgPSBnX3N0cm5kdXAgKHVyaXN0ciwgZW5kIC0gdXJpc3RyKTsKKwkJCQlkYXRh
LT5wcml2LT5jb250ZW50X3R5cGUgPSBnX3N0cm5kdXAgKHN0YXJ0LCBlbmQgLSBzdGFydCk7CiAJ
CQllbHNlCiAJCQkJZGF0YS0+cHJpdi0+Y29udGVudF90eXBlID0KLQkJCQkJd2Via2l0X3NvdXBf
cmVxdWVzdF91cmlfZGVjb2RlZF9jb3B5ICh1cmlzdHIsIGVuZCAtIHVyaXN0cik7CisJCQkJCXdl
YmtpdF9zb3VwX3JlcXVlc3RfdXJpX2RlY29kZWRfY29weSAoc3RhcnQsIGVuZCAtIHN0YXJ0KTsK
IAl9CiAKIAltZW1zdHJlYW0gPSBnX21lbW9yeV9pbnB1dF9zdHJlYW1fbmV3ICgpOwogCi0Jc3Rh
cnQgPSBjb21tYSA/IGNvbW1hICsgMSA6IHVyaXN0cjsKKwlpZiAoY29tbWEpCisJCXN0YXJ0ID0g
Y29tbWEgKyAxOwogCiAJaWYgKCpzdGFydCkgewogCQlndWNoYXIgKmJ1ZjsKQEAgLTE0OSw3ICsx
NTQsMTAgQEAgd2Via2l0X3NvdXBfcmVxdWVzdF9kYXRhX2dldF9jb250ZW50X3R5cGUgKFdlYktp
dFNvdXBSZXF1ZXN0ICpyZXF1ZXN0KQogewogCVdlYktpdFNvdXBSZXF1ZXN0RGF0YSAqZGF0YSA9
IFdFQktJVF9TT1VQX1JFUVVFU1RfREFUQSAocmVxdWVzdCk7CiAKLQlyZXR1cm4gZGF0YS0+cHJp
di0+Y29udGVudF90eXBlOworCWlmIChkYXRhLT5wcml2LT5jb250ZW50X3R5cGUpCisJCXJldHVy
biBkYXRhLT5wcml2LT5jb250ZW50X3R5cGU7CisJZWxzZQorCQlyZXR1cm4gInRleHQvcGxhaW47
Y2hhcnNldD1VUy1BU0NJSSI7CiB9CiAKIHN0YXRpYyB2b2lkCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80575</attachid>
            <date>2011-01-29 14:47:10 -0800</date>
            <delta_ts>2011-02-02 13:08:37 -0800</delta_ts>
            <desc>updated patch</desc>
            <filename>0002-remove-old-data-URI-handler-fix-the-SoupRequest-base.patch</filename>
            <type>text/plain</type>
            <size>8660</size>
            <attacher name="Dan Winship">danw</attacher>
            
              <data encoding="base64">RnJvbSBkNWM3NWZjMGU0MDlhMGZmMTA5NTYxM2ZjOTc1OThhYzEyMmFjNmQ2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEYW4gV2luc2hpcCA8ZGFud0Bnbm9tZS5vcmc+CkRhdGU6IFNh
dCwgMjkgSmFuIDIwMTEgMTY6MTA6MjkgLTA1MDAKU3ViamVjdDogW1BBVENIIDIvMl0gcmVtb3Zl
IG9sZCBkYXRhOiBVUkkgaGFuZGxlciwgZml4IHRoZSBTb3VwUmVxdWVzdC1iYXNlZCBvbmUgdG8g
cGFzcyB0ZXN0cwoKLS0tCiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAg
ICAgICAgICAgICB8ICAgMTMgKysKIC4uLi9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VI
YW5kbGVTb3VwLmNwcCAgIHwgIDEyOCArKy0tLS0tLS0tLS0tLS0tLS0tLQogMiBmaWxlcyBjaGFu
Z2VkLCAyNSBpbnNlcnRpb25zKCspLCAxMTYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDQ5
NWE0M2EuLjFiOWUwZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTIsNiArMiwxOSBAQAogCiAgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgogCisgICAgICAgIFtHVEtdIHJlbW92ZSBvbGQgZGF0
YTogVVJJIGhhbmRsZXIsIGZpeCB0aGUgU291cFJlcXVlc3QtYmFzZWQgb25lCisgICAgICAgIHRv
IHBhc3MgdGVzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTUwODg1CisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5k
bGVTb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNlbmRSZXF1ZXN0Q2FsbGJhY2spOgorICAg
ICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OnN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6
OnN0YXJ0R2VuZXJpYyk6CisKKzIwMTEtMDEtMjkgIERhbiBXaW5zaGlwICA8ZGFud0Bnbm9tZS5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKICAgICAgICAgVXNl
IGxpYnNvdXAtYmFzZWQgY2FjaGUvcmVxdWVzdGVyIEFQSQogCiAgICAgICAgIFtHVEtdIGRyb3Ag
c291cCBjYWNoZSBzdHVmZiwgd2hpY2ggaGFzIGJlZW4gbW92ZWQgdG8gbGlic291cApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxl
U291cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VI
YW5kbGVTb3VwLmNwcAppbmRleCA0NGFkN2M3Li44YjEyZWUwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3Vw
LmNwcApAQCAtMTI5LDcgKzEyOSw3IEBAIHN0YXRpYyB2b2lkIGNsZWFudXBTb3VwUmVxdWVzdE9w
ZXJhdGlvbihSZXNvdXJjZUhhbmRsZSosIGJvb2wgaXNEZXN0cm95aW5nKTsKIHN0YXRpYyB2b2lk
IHNlbmRSZXF1ZXN0Q2FsbGJhY2soR09iamVjdCosIEdBc3luY1Jlc3VsdCosIGdwb2ludGVyKTsK
IHN0YXRpYyB2b2lkIHJlYWRDYWxsYmFjayhHT2JqZWN0KiwgR0FzeW5jUmVzdWx0KiwgZ3BvaW50
ZXIpOwogc3RhdGljIHZvaWQgY2xvc2VDYWxsYmFjayhHT2JqZWN0KiwgR0FzeW5jUmVzdWx0Kiwg
Z3BvaW50ZXIpOwotc3RhdGljIGJvb2wgc3RhcnRHaW8oUmVzb3VyY2VIYW5kbGUqLCBLVVJMKTsK
K3N0YXRpYyBib29sIHN0YXJ0R2VuZXJpYyhSZXNvdXJjZUhhbmRsZSosIEtVUkwpOwogCiBSZXNv
dXJjZUhhbmRsZUludGVybmFsOjp+UmVzb3VyY2VIYW5kbGVJbnRlcm5hbCgpCiB7CkBAIC0zNDYs
MTAxICszNDYsNiBAQCBzdGF0aWMgdm9pZCBnb3RDaHVua0NhbGxiYWNrKFNvdXBNZXNzYWdlKiBt
c2csIFNvdXBCdWZmZXIqIGNodW5rLCBncG9pbnRlciBkYXRhKQogICAgIGNsaWVudC0+ZGlkUmVj
ZWl2ZURhdGEoaGFuZGxlLmdldCgpLCBjaHVuay0+ZGF0YSwgY2h1bmstPmxlbmd0aCwgZmFsc2Up
OwogfQogCi1zdGF0aWMgZ2Jvb2xlYW4gcGFyc2VEYXRhVXJsKGdwb2ludGVyIGNhbGxiYWNrRGF0
YSkKLXsKLSAgICBSZXNvdXJjZUhhbmRsZSogaGFuZGxlID0gc3RhdGljX2Nhc3Q8UmVzb3VyY2VI
YW5kbGUqPihjYWxsYmFja0RhdGEpOwotICAgIFJlc291cmNlSGFuZGxlQ2xpZW50KiBjbGllbnQg
PSBoYW5kbGUtPmNsaWVudCgpOwotICAgIFJlc291cmNlSGFuZGxlSW50ZXJuYWwqIGQgPSBoYW5k
bGUtPmdldEludGVybmFsKCk7Ci0gICAgaWYgKGQtPm1fY2FuY2VsbGVkKQotICAgICAgICByZXR1
cm4gZmFsc2U7Ci0KLSAgICBkLT5tX2lkbGVIYW5kbGVyID0gMDsKLQotICAgIEFTU0VSVChjbGll
bnQpOwotICAgIGlmICghY2xpZW50KQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBTdHJp
bmcgdXJsID0gaGFuZGxlLT5maXJzdFJlcXVlc3QoKS51cmwoKS5zdHJpbmcoKTsKLSAgICBBU1NF
UlQodXJsLnN0YXJ0c1dpdGgoImRhdGE6IiwgZmFsc2UpKTsKLQotICAgIGludCBpbmRleCA9IHVy
bC5maW5kKCcsJyk7Ci0gICAgaWYgKGluZGV4ID09IC0xKSB7Ci0gICAgICAgIGNsaWVudC0+Y2Fu
bm90U2hvd1VSTChoYW5kbGUpOwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotCi0gICAg
U3RyaW5nIG1lZGlhVHlwZSA9IHVybC5zdWJzdHJpbmcoNSwgaW5kZXggLSA1KTsKLQotICAgIGJv
b2wgaXNCYXNlNjQgPSBtZWRpYVR5cGUuZW5kc1dpdGgoIjtiYXNlNjQiLCBmYWxzZSk7Ci0gICAg
aWYgKGlzQmFzZTY0KQotICAgICAgICBtZWRpYVR5cGUgPSBtZWRpYVR5cGUubGVmdChtZWRpYVR5
cGUubGVuZ3RoKCkgLSA3KTsKLQotICAgIGlmIChtZWRpYVR5cGUuaXNFbXB0eSgpKQotICAgICAg
ICBtZWRpYVR5cGUgPSAidGV4dC9wbGFpbjtjaGFyc2V0PVVTLUFTQ0lJIjsKLQotICAgIFN0cmlu
ZyBtaW1lVHlwZSA9IGV4dHJhY3RNSU1FVHlwZUZyb21NZWRpYVR5cGUobWVkaWFUeXBlKTsKLSAg
ICBTdHJpbmcgY2hhcnNldCA9IGV4dHJhY3RDaGFyc2V0RnJvbU1lZGlhVHlwZShtZWRpYVR5cGUp
OwotCi0gICAgQVNTRVJUKGQtPm1fcmVzcG9uc2UuaXNOdWxsKCkpOwotCi0gICAgZC0+bV9yZXNw
b25zZS5zZXRVUkwoaGFuZGxlLT5maXJzdFJlcXVlc3QoKS51cmwoKSk7Ci0gICAgZC0+bV9yZXNw
b25zZS5zZXRNaW1lVHlwZShtaW1lVHlwZSk7Ci0KLSAgICAvLyBGb3Igbm9uIGJhc2U2NCBlbmNv
ZGVkIGRhdGEgd2UgaGF2ZSB0byBjb252ZXJ0IHRvIFVURi0xNiBlYXJseQotICAgIC8vIGR1ZSB0
byBsaW1pdGF0aW9ucyBpbiBLVVJMCi0gICAgZC0+bV9yZXNwb25zZS5zZXRUZXh0RW5jb2RpbmdO
YW1lKGlzQmFzZTY0ID8gY2hhcnNldCA6ICJVVEYtMTYiKTsKLSAgICBjbGllbnQtPmRpZFJlY2Vp
dmVSZXNwb25zZShoYW5kbGUsIGQtPm1fcmVzcG9uc2UpOwotCi0gICAgLy8gVGhlIGxvYWQgbWF5
IGJlIGNhbmNlbGxlZCwgYW5kIHRoZSBjbGllbnQgbWF5IGJlIGRlc3Ryb3llZAotICAgIC8vIGJ5
IGFueSBvZiB0aGUgY2xpZW50IHJlcG9ydGluZyBjYWxscywgc28gd2UgY2hlY2ssIGFuZCBiYWls
Ci0gICAgLy8gb3V0IGluIGVpdGhlciBvZiB0aG9zZSBjYXNlcy4KLSAgICBpZiAoZC0+bV9jYW5j
ZWxsZWQgfHwgIWhhbmRsZS0+Y2xpZW50KCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAg
IFNvdXBTZXNzaW9uKiBzZXNzaW9uID0gaGFuZGxlLT5kZWZhdWx0U2Vzc2lvbigpOwotICAgIGVu
c3VyZVNlc3Npb25Jc0luaXRpYWxpemVkKHNlc3Npb24pOwotICAgIFNvdXBSZXF1ZXN0ZXIqIHJl
cXVlc3RlciA9IFNPVVBfUkVRVUVTVEVSKHNvdXBfc2Vzc2lvbl9nZXRfZmVhdHVyZShzZXNzaW9u
LCBTT1VQX1RZUEVfUkVRVUVTVEVSKSk7Ci0gICAgR093blB0cjxHRXJyb3I+IGVycm9yOwotICAg
IGQtPm1fc291cFJlcXVlc3QgPSBhZG9wdEdSZWYoc291cF9yZXF1ZXN0ZXJfcmVxdWVzdChyZXF1
ZXN0ZXIsIGhhbmRsZS0+Zmlyc3RSZXF1ZXN0KCkudXJsKCkuc3RyaW5nKCkudXRmOCgpLmRhdGEo
KSwgJmVycm9yLm91dFB0cigpKSk7Ci0gICAgaWYgKGVycm9yKSB7Ci0gICAgICAgIGQtPm1fc291
cFJlcXVlc3QgPSAwOwotICAgICAgICBjbGllbnQtPmRpZEZpbmlzaExvYWRpbmcoaGFuZGxlLCAw
KTsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQotICAgIGQtPm1faW5wdXRTdHJlYW0g
PSBhZG9wdEdSZWYoc291cF9yZXF1ZXN0X3NlbmQoZC0+bV9zb3VwUmVxdWVzdC5nZXQoKSwgMCwg
JmVycm9yLm91dFB0cigpKSk7Ci0gICAgaWYgKGVycm9yKSB7Ci0gICAgICAgIGQtPm1faW5wdXRT
dHJlYW0gPSAwOwotICAgICAgICBjbGllbnQtPmRpZEZpbmlzaExvYWRpbmcoaGFuZGxlLCAwKTsK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQotICAgIGQtPm1fYnVmZmVyID0gc3RhdGlj
X2Nhc3Q8Y2hhcio+KGdfc2xpY2VfYWxsb2MwKFJFQURfQlVGRkVSX1NJWkUpKTsKLSAgICBkLT5t
X3RvdGFsID0gMDsKLQotICAgIGdfb2JqZWN0X3NldF9kYXRhKEdfT0JKRUNUKGQtPm1faW5wdXRT
dHJlYW0uZ2V0KCkpLCAid2Via2l0LXJlc291cmNlIiwgaGFuZGxlKTsKLSAgICAvLyBiYWxhbmNl
ZCBieSBhIGRlcmVmKCkgaW4gY2xlYW51cFNvdXBSZXF1ZXN0T3BlcmF0aW9uLCB3aGljaCBzaG91
bGQgYWx3YXlzIHJ1bgotICAgIGhhbmRsZS0+cmVmKCk7Ci0KLSAgICBkLT5tX2NhbmNlbGxhYmxl
ID0gYWRvcHRHUmVmKGdfY2FuY2VsbGFibGVfbmV3KCkpOwotICAgIGdfaW5wdXRfc3RyZWFtX3Jl
YWRfYXN5bmMoZC0+bV9pbnB1dFN0cmVhbS5nZXQoKSwgZC0+bV9idWZmZXIsIFJFQURfQlVGRkVS
X1NJWkUsIEdfUFJJT1JJVFlfREVGQVVMVCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGQtPm1fY2FuY2VsbGFibGUuZ2V0KCksIHJlYWRDYWxsYmFjaywgR0lOVF9UT19QT0lOVEVSKCFp
c0Jhc2U2NCkpOwotCi0gICAgcmV0dXJuIGZhbHNlOwotfQotCi1zdGF0aWMgYm9vbCBzdGFydERh
dGEoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgU3RyaW5nIHVybFN0cmluZykKLXsKLSAgICBBU1NF
UlQoaGFuZGxlKTsKLQotICAgIFJlc291cmNlSGFuZGxlSW50ZXJuYWwqIGQgPSBoYW5kbGUtPmdl
dEludGVybmFsKCk7Ci0KLSAgICAvLyBJZiBwYXJzZURhdGFVcmwgaXMgY2FsbGVkIHN5bmNocm9u
b3VzbHkgdGhlIGpvYiBpcyBub3QgeWV0IGVmZmVjdGl2ZWx5IHN0YXJ0ZWQKLSAgICAvLyBhbmQg
d2Via2l0IHdvbid0IG5ldmVyIGtub3cgdGhhdCB0aGUgZGF0YSBoYXMgYmVlbiBwYXJzZWQgZXZl
biBkaWRGaW5pc2hMb2FkaW5nIGlzIGNhbGxlZC4KLSAgICBkLT5tX2lkbGVIYW5kbGVyID0gZ190
aW1lb3V0X2FkZCgwLCBwYXJzZURhdGFVcmwsIGhhbmRsZSk7Ci0gICAgcmV0dXJuIHRydWU7Ci19
Ci0KIHN0YXRpYyBTb3VwU2Vzc2lvbiogY3JlYXRlU291cFNlc3Npb24oKQogewogICAgIHJldHVy
biBzb3VwX3Nlc3Npb25fYXN5bmNfbmV3KCk7CkBAIC01NTQsMTIgKzQ1OSwxNSBAQCBzdGF0aWMg
dm9pZCBzZW5kUmVxdWVzdENhbGxiYWNrKEdPYmplY3QqIHNvdXJjZSwgR0FzeW5jUmVzdWx0KiBy
ZXMsIGdwb2ludGVyIHVzZQogICAgIC8vIHJlYWRDYWxsYmFjayBuZWVkcyBpdAogICAgIGdfb2Jq
ZWN0X3NldF9kYXRhKEdfT0JKRUNUKGQtPm1faW5wdXRTdHJlYW0uZ2V0KCkpLCAid2Via2l0LXJl
c291cmNlIiwgaGFuZGxlLmdldCgpKTsKIAotICAgIC8vIEVuc3VyZSBhIHJlc3BvbnNlIGlzIHNl
bnQgZm9yIGFueSBwcm90b2NvbHMgdGhhdCBkb24ndCBleHBsaWNpdGx5IHN1cHBvcnQgcmVzcG9u
c2VzCi0gICAgLy8gdGhyb3VnaCBnb3QtaGVhZGVycyBzaWduYWwgb3IgY29udGVudCBzbmlmZmlu
Zy4KLSAgICAvLyAoZS5nLiBmaWxlIGFuZCBHSU8gYmFzZWQgcHJvdG9jb2wpLgotICAgIGlmICgh
aGFuZGxlLT5zaG91bGRDb250ZW50U25pZmYoKSAmJiBkLT5tX3Jlc3BvbnNlLmlzTnVsbCgpKSB7
CisgICAgLy8gSWYgbm90IHVzaW5nIFNvdXBNZXNzYWdlIHdlIG5lZWQgdG8gY2FsbCBkaWRSZWNl
aXZlUmVzcG9uc2Ugbm93LgorICAgIC8vIChUaGlzIHdpbGwgY2hhbmdlIGxhdGVyIHdoZW4gU291
cFJlcXVlc3Qgc3VwcG9ydHMgY29udGVudCBzbmlmZmluZy4pCisgICAgaWYgKCFkLT5tX3NvdXBN
ZXNzYWdlKSB7CiAgICAgICAgIGQtPm1fcmVzcG9uc2Uuc2V0VVJMKGhhbmRsZS0+Zmlyc3RSZXF1
ZXN0KCkudXJsKCkpOwotICAgICAgICBkLT5tX3Jlc3BvbnNlLnNldE1pbWVUeXBlKHNvdXBfcmVx
dWVzdF9nZXRfY29udGVudF90eXBlKGQtPm1fc291cFJlcXVlc3QuZ2V0KCkpKTsKKyAgICAgICAg
Y29uc3QgZ2NoYXIqIGNvbnRlbnRUeXBlID0gc291cF9yZXF1ZXN0X2dldF9jb250ZW50X3R5cGUo
ZC0+bV9zb3VwUmVxdWVzdC5nZXQoKSk7CisgICAgICAgIFN0cmluZyBtaW1lVHlwZSA9IGV4dHJh
Y3RNSU1FVHlwZUZyb21NZWRpYVR5cGUoY29udGVudFR5cGUpOworICAgICAgICBTdHJpbmcgY2hh
cnNldCA9IGV4dHJhY3RDaGFyc2V0RnJvbU1lZGlhVHlwZShjb250ZW50VHlwZSk7CisgICAgICAg
IGQtPm1fcmVzcG9uc2Uuc2V0TWltZVR5cGUobWltZVR5cGUpOworICAgICAgICBkLT5tX3Jlc3Bv
bnNlLnNldFRleHRFbmNvZGluZ05hbWUoY2hhcnNldCk7CiAgICAgICAgIGQtPm1fcmVzcG9uc2Uu
c2V0RXhwZWN0ZWRDb250ZW50TGVuZ3RoKHNvdXBfcmVxdWVzdF9nZXRfY29udGVudF9sZW5ndGgo
ZC0+bV9zb3VwUmVxdWVzdC5nZXQoKSkpOwogICAgICAgICBjbGllbnQtPmRpZFJlY2VpdmVSZXNw
b25zZShoYW5kbGUuZ2V0KCksIGQtPm1fcmVzcG9uc2UpOwogCkBAIC03MTgsMTkgKzYyNiwxMyBA
QCBib29sIFJlc291cmNlSGFuZGxlOjpzdGFydChOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCkK
ICAgICAvLyBVc2VkIHRvIHNldCB0aGUgYXV0aGVudGljYXRpb24gZGlhbG9nIHRvcGxldmVsOyBt
YXkgYmUgTlVMTAogICAgIGQtPm1fY29udGV4dCA9IGNvbnRleHQ7CiAKLSAgICBpZiAoZXF1YWxJ
Z25vcmluZ0Nhc2UocHJvdG9jb2wsICJkYXRhIikpCi0gICAgICAgIHJldHVybiBzdGFydERhdGEo
dGhpcywgdXJsU3RyaW5nKTsKLQogICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShwcm90b2NvbCwg
Imh0dHAiKSB8fCBlcXVhbElnbm9yaW5nQ2FzZShwcm90b2NvbCwgImh0dHBzIikpIHsKICAgICAg
ICAgaWYgKHN0YXJ0SHR0cCh0aGlzKSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0K
IAotICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShwcm90b2NvbCwgImZpbGUiKSB8fCBlcXVhbEln
bm9yaW5nQ2FzZShwcm90b2NvbCwgImZ0cCIpIHx8IGVxdWFsSWdub3JpbmdDYXNlKHByb3RvY29s
LCAiZnRwcyIpKSB7Ci0gICAgICAgIC8vIEZJWE1FOiBzaG91bGQgd2UgYmUgZG9pbmcgYW55IG90
aGVyIHByb3RvY29scyBoZXJlPwotICAgICAgICBpZiAoc3RhcnRHaW8odGhpcywgdXJsKSkKLSAg
ICAgICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KKyAgICBpZiAoc3RhcnRHZW5lcmljKHRoaXMs
IHVybCkpCisgICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgLy8gRXJyb3IgbXVzdCBub3QgYmUg
cmVwb3J0ZWQgaW1tZWRpYXRlbHkKICAgICB0aGlzLT5zY2hlZHVsZUZhaWx1cmUoSW52YWxpZFVS
TEZhaWx1cmUpOwpAQCAtODgyLDcgKzc4NCw3IEBAIHN0YXRpYyB2b2lkIHJlYWRDYWxsYmFjayhH
T2JqZWN0KiBzb3VyY2UsIEdBc3luY1Jlc3VsdCogYXN5bmNSZXN1bHQsIGdwb2ludGVyIGRhCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkLT5tX2NhbmNlbGxhYmxlLmdldCgpLCByZWFk
Q2FsbGJhY2ssIGRhdGEpOwogfQogCi1zdGF0aWMgYm9vbCBzdGFydEdpbyhSZXNvdXJjZUhhbmRs
ZSogaGFuZGxlLCBLVVJMIHVybCkKK3N0YXRpYyBib29sIHN0YXJ0R2VuZXJpYyhSZXNvdXJjZUhh
bmRsZSogaGFuZGxlLCBLVVJMIHVybCkKIHsKICAgICBBU1NFUlQoaGFuZGxlKTsKIApAQCAtODk0
LDEyICs3OTYsNiBAQCBzdGF0aWMgYm9vbCBzdGFydEdpbyhSZXNvdXJjZUhhbmRsZSogaGFuZGxl
LCBLVVJMIHVybCkKICAgICBTb3VwUmVxdWVzdGVyKiByZXF1ZXN0ZXIgPSBTT1VQX1JFUVVFU1RF
Uihzb3VwX3Nlc3Npb25fZ2V0X2ZlYXR1cmUoc2Vzc2lvbiwgU09VUF9UWVBFX1JFUVVFU1RFUikp
OwogICAgIFJlc291cmNlSGFuZGxlSW50ZXJuYWwqIGQgPSBoYW5kbGUtPmdldEludGVybmFsKCk7
CiAKLSAgICAvLyBHSU8gZG9lc24ndCBrbm93IGhvdyB0byBoYW5kbGUgcmVmcyBhbmQgcXVlcmll
cywgc28gcmVtb3ZlIHRoZW0KLSAgICAvLyBUT0RPOiB1c2UgS1VSTC5maWxlU3lzdGVtUGF0aCBh
ZnRlciBLVVJMR3RrIGFuZCBGaWxlU3lzdGVtR3RrIGFyZQotICAgIC8vIHVzaW5nIEdJTyBpbnRl
cm5hbGx5LCBhbmQgcHJvdmlkaW5nIFVSSXMgaW5zdGVhZCBvZiBmaWxlIHBhdGhzCi0gICAgdXJs
LnJlbW92ZUZyYWdtZW50SWRlbnRpZmllcigpOwotICAgIHVybC5zZXRRdWVyeShTdHJpbmcoKSk7
Ci0gICAgdXJsLnJlbW92ZVBvcnQoKTsKICAgICBDU3RyaW5nIHVybFN0ciA9IHVybC5zdHJpbmco
KS51dGY4KCk7CiAKICAgICBHT3duUHRyPEdFcnJvcj4gZXJyb3I7Ci0tIAoxLjcuMy41Cgo=
</data>
<flag name="review"
          id="72470"
          type_id="1"
          status="-"
          setter="mrobinson"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80956</attachid>
            <date>2011-02-02 13:08:37 -0800</date>
            <delta_ts>2011-02-02 13:26:14 -0800</delta_ts>
            <desc>updated with Martin&apos;s suggestions</desc>
            <filename>0001-remove-old-data-URI-handler-fix-the-SoupRequest-base.patch</filename>
            <type>text/plain</type>
            <size>9776</size>
            <attacher name="Dan Winship">danw</attacher>
            
              <data encoding="base64">RnJvbSA5MWNjN2Y4OGNjZjdiNWFjNzAwZmU5OTA0NjgxNWIzOTJlMjllMDY2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEYW4gV2luc2hpcCA8ZGFud0Bnbm9tZS5vcmc+CkRhdGU6IFdl
ZCwgMiBGZWIgMjAxMSAxNTo1Nzo1NCAtMDUwMApTdWJqZWN0OiBbUEFUQ0hdIHJlbW92ZSBvbGQg
ZGF0YTogVVJJIGhhbmRsZXIsIGZpeCB0aGUgU291cFJlcXVlc3QtYmFzZWQgb25lCgotLS0KIFNv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxOSAr
KysKIC4uLi9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcCAgIHwg
IDEzMiArKy0tLS0tLS0tLS0tLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAzMiBpbnNlcnRpb25z
KCspLCAxMTkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDAzNmRkNTYuLmRlZTYyYTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMS0wMi0wMiAgRGFuIFdpbnNoaXAgIDxkYW53
QGdub21lLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBbR1RLXSByZW1vdmUgb2xkIGRhdGE6IFVSSSBoYW5kbGVyLCBmaXggdGhlIFNvdXBSZXF1
ZXN0LWJhc2VkIG9uZQorICAgICAgICB0byBwYXNzIHRlc3RzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MDg4NQorCisgICAgICAgICogcGxhdGZvcm0v
bmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpz
ZW5kUmVxdWVzdENhbGxiYWNrKTogZG8gY29udGVudC10eXBlIHNuaWZmaW5nIGhlcmUgZm9yCisg
ICAgICAgIG5vbi1IVFRQIHJlcXVlc3RzCisgICAgICAgIChXZWJDb3JlOjpzdGFydEhUVFBSZXF1
ZXN0KTogcmVuYW1lIHRvIG1hdGNoIFdlYktpdCBzdHlsZQorICAgICAgICAoV2ViQ29yZTo6UmVz
b3VyY2VIYW5kbGU6OnN0YXJ0KTogcGFzcyBldmVyeXRoaW5nIGV4Y2VwdCBIVFRQIHRvCisgICAg
ICAgIHN0YXJ0Tm9uSFRUUFJlcXVlc3QsIGxldHRpbmcgdGhlIFNvdXBSZXF1ZXN0ZXIgZGVjaWRl
IHdoZXRoZXIgaXQncworICAgICAgICBzdXBwb3J0ZWQgb3Igbm90LgorICAgICAgICAoV2ViQ29y
ZTo6c3RhcnROb25IVFRQUmVxdWVzdCk6IHJlbW92ZSBzb21lIG9sZCBwcmUtU291cFJlcXVlc3Rl
cgorICAgICAgICBjb2RlIHRoYXQgd2FzIGEgbm8tb3AgZm9yIGZpbGU6IFVSSXMsIGJ1dCB3b3Vs
ZCBicmVhayBzb21lIGRhdGE6CisgICAgICAgIFVSSXMuCisKIDIwMTEtMDItMDIgIEFkYW0gUm9i
ZW4gIDxhcm9iZW5AYXBwbGUuY29tPgogCiAgICAgICAgIEVuY29kZS9kZWNvZGUgRm9ybURhdGEg
YW5kIEZvcm1EYXRhRWxlbWVudCBvYmplY3RzIGNvbnNpc3RlbnRseQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3Vw
LmNwcAppbmRleCBjMGY0MzNjLi45MmZjMjU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcApAQCAt
MTI5LDcgKzEyOSw3IEBAIHN0YXRpYyB2b2lkIGNsZWFudXBTb3VwUmVxdWVzdE9wZXJhdGlvbihS
ZXNvdXJjZUhhbmRsZSosIGJvb2wgaXNEZXN0cm95aW5nKTsKIHN0YXRpYyB2b2lkIHNlbmRSZXF1
ZXN0Q2FsbGJhY2soR09iamVjdCosIEdBc3luY1Jlc3VsdCosIGdwb2ludGVyKTsKIHN0YXRpYyB2
b2lkIHJlYWRDYWxsYmFjayhHT2JqZWN0KiwgR0FzeW5jUmVzdWx0KiwgZ3BvaW50ZXIpOwogc3Rh
dGljIHZvaWQgY2xvc2VDYWxsYmFjayhHT2JqZWN0KiwgR0FzeW5jUmVzdWx0KiwgZ3BvaW50ZXIp
Owotc3RhdGljIGJvb2wgc3RhcnRHaW8oUmVzb3VyY2VIYW5kbGUqLCBLVVJMKTsKK3N0YXRpYyBi
b29sIHN0YXJ0Tm9uSFRUUFJlcXVlc3QoUmVzb3VyY2VIYW5kbGUqLCBLVVJMKTsKIAogUmVzb3Vy
Y2VIYW5kbGVJbnRlcm5hbDo6flJlc291cmNlSGFuZGxlSW50ZXJuYWwoKQogewpAQCAtMjk3LDcg
KzI5Nyw3IEBAIHN0YXRpYyB2b2lkIGdvdEhlYWRlcnNDYWxsYmFjayhTb3VwTWVzc2FnZSogbXNn
LCBncG9pbnRlciBkYXRhKQogICAgIGNsaWVudC0+ZGlkUmVjZWl2ZVJlc3BvbnNlKGhhbmRsZS5n
ZXQoKSwgZC0+bV9yZXNwb25zZSk7CiB9CiAKLS8vIFRoaXMgY2FsbGJhY2sgd2lsbCBub3QgYmUg
Y2FsbGVkIGlmIHRoZSBjb250ZW50IHNuaWZmZXIgaXMgZGlzYWJsZWQgaW4gc3RhcnRIdHRwLgor
Ly8gVGhpcyBjYWxsYmFjayB3aWxsIG5vdCBiZSBjYWxsZWQgaWYgdGhlIGNvbnRlbnQgc25pZmZl
ciBpcyBkaXNhYmxlZCBpbiBzdGFydEhUVFBSZXF1ZXN0Lgogc3RhdGljIHZvaWQgY29udGVudFNu
aWZmZWRDYWxsYmFjayhTb3VwTWVzc2FnZSogbXNnLCBjb25zdCBjaGFyKiBzbmlmZmVkVHlwZSwg
R0hhc2hUYWJsZSAqcGFyYW1zLCBncG9pbnRlciBkYXRhKQogewogICAgIGlmIChzbmlmZmVkVHlw
ZSkgewpAQCAtMzQ2LDEwMSArMzQ2LDYgQEAgc3RhdGljIHZvaWQgZ290Q2h1bmtDYWxsYmFjayhT
b3VwTWVzc2FnZSogbXNnLCBTb3VwQnVmZmVyKiBjaHVuaywgZ3BvaW50ZXIgZGF0YSkKICAgICBj
bGllbnQtPmRpZFJlY2VpdmVEYXRhKGhhbmRsZS5nZXQoKSwgY2h1bmstPmRhdGEsIGNodW5rLT5s
ZW5ndGgsIGZhbHNlKTsKIH0KIAotc3RhdGljIGdib29sZWFuIHBhcnNlRGF0YVVybChncG9pbnRl
ciBjYWxsYmFja0RhdGEpCi17Ci0gICAgUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSA9IHN0YXRpY19j
YXN0PFJlc291cmNlSGFuZGxlKj4oY2FsbGJhY2tEYXRhKTsKLSAgICBSZXNvdXJjZUhhbmRsZUNs
aWVudCogY2xpZW50ID0gaGFuZGxlLT5jbGllbnQoKTsKLSAgICBSZXNvdXJjZUhhbmRsZUludGVy
bmFsKiBkID0gaGFuZGxlLT5nZXRJbnRlcm5hbCgpOwotICAgIGlmIChkLT5tX2NhbmNlbGxlZCkK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgZC0+bV9pZGxlSGFuZGxlciA9IDA7Ci0KLSAg
ICBBU1NFUlQoY2xpZW50KTsKLSAgICBpZiAoIWNsaWVudCkKLSAgICAgICAgcmV0dXJuIGZhbHNl
OwotCi0gICAgU3RyaW5nIHVybCA9IGhhbmRsZS0+Zmlyc3RSZXF1ZXN0KCkudXJsKCkuc3RyaW5n
KCk7Ci0gICAgQVNTRVJUKHVybC5zdGFydHNXaXRoKCJkYXRhOiIsIGZhbHNlKSk7Ci0KLSAgICBp
bnQgaW5kZXggPSB1cmwuZmluZCgnLCcpOwotICAgIGlmIChpbmRleCA9PSAtMSkgewotICAgICAg
ICBjbGllbnQtPmNhbm5vdFNob3dVUkwoaGFuZGxlKTsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwot
ICAgIH0KLQotICAgIFN0cmluZyBtZWRpYVR5cGUgPSB1cmwuc3Vic3RyaW5nKDUsIGluZGV4IC0g
NSk7Ci0KLSAgICBib29sIGlzQmFzZTY0ID0gbWVkaWFUeXBlLmVuZHNXaXRoKCI7YmFzZTY0Iiwg
ZmFsc2UpOwotICAgIGlmIChpc0Jhc2U2NCkKLSAgICAgICAgbWVkaWFUeXBlID0gbWVkaWFUeXBl
LmxlZnQobWVkaWFUeXBlLmxlbmd0aCgpIC0gNyk7Ci0KLSAgICBpZiAobWVkaWFUeXBlLmlzRW1w
dHkoKSkKLSAgICAgICAgbWVkaWFUeXBlID0gInRleHQvcGxhaW47Y2hhcnNldD1VUy1BU0NJSSI7
Ci0KLSAgICBTdHJpbmcgbWltZVR5cGUgPSBleHRyYWN0TUlNRVR5cGVGcm9tTWVkaWFUeXBlKG1l
ZGlhVHlwZSk7Ci0gICAgU3RyaW5nIGNoYXJzZXQgPSBleHRyYWN0Q2hhcnNldEZyb21NZWRpYVR5
cGUobWVkaWFUeXBlKTsKLQotICAgIEFTU0VSVChkLT5tX3Jlc3BvbnNlLmlzTnVsbCgpKTsKLQot
ICAgIGQtPm1fcmVzcG9uc2Uuc2V0VVJMKGhhbmRsZS0+Zmlyc3RSZXF1ZXN0KCkudXJsKCkpOwot
ICAgIGQtPm1fcmVzcG9uc2Uuc2V0TWltZVR5cGUobWltZVR5cGUpOwotCi0gICAgLy8gRm9yIG5v
biBiYXNlNjQgZW5jb2RlZCBkYXRhIHdlIGhhdmUgdG8gY29udmVydCB0byBVVEYtMTYgZWFybHkK
LSAgICAvLyBkdWUgdG8gbGltaXRhdGlvbnMgaW4gS1VSTAotICAgIGQtPm1fcmVzcG9uc2Uuc2V0
VGV4dEVuY29kaW5nTmFtZShpc0Jhc2U2NCA/IGNoYXJzZXQgOiAiVVRGLTE2Iik7Ci0gICAgY2xp
ZW50LT5kaWRSZWNlaXZlUmVzcG9uc2UoaGFuZGxlLCBkLT5tX3Jlc3BvbnNlKTsKLQotICAgIC8v
IFRoZSBsb2FkIG1heSBiZSBjYW5jZWxsZWQsIGFuZCB0aGUgY2xpZW50IG1heSBiZSBkZXN0cm95
ZWQKLSAgICAvLyBieSBhbnkgb2YgdGhlIGNsaWVudCByZXBvcnRpbmcgY2FsbHMsIHNvIHdlIGNo
ZWNrLCBhbmQgYmFpbAotICAgIC8vIG91dCBpbiBlaXRoZXIgb2YgdGhvc2UgY2FzZXMuCi0gICAg
aWYgKGQtPm1fY2FuY2VsbGVkIHx8ICFoYW5kbGUtPmNsaWVudCgpKQotICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0KLSAgICBTb3VwU2Vzc2lvbiogc2Vzc2lvbiA9IGhhbmRsZS0+ZGVmYXVsdFNlc3Np
b24oKTsKLSAgICBlbnN1cmVTZXNzaW9uSXNJbml0aWFsaXplZChzZXNzaW9uKTsKLSAgICBTb3Vw
UmVxdWVzdGVyKiByZXF1ZXN0ZXIgPSBTT1VQX1JFUVVFU1RFUihzb3VwX3Nlc3Npb25fZ2V0X2Zl
YXR1cmUoc2Vzc2lvbiwgU09VUF9UWVBFX1JFUVVFU1RFUikpOwotICAgIEdPd25QdHI8R0Vycm9y
PiBlcnJvcjsKLSAgICBkLT5tX3NvdXBSZXF1ZXN0ID0gYWRvcHRHUmVmKHNvdXBfcmVxdWVzdGVy
X3JlcXVlc3QocmVxdWVzdGVyLCBoYW5kbGUtPmZpcnN0UmVxdWVzdCgpLnVybCgpLnN0cmluZygp
LnV0ZjgoKS5kYXRhKCksICZlcnJvci5vdXRQdHIoKSkpOwotICAgIGlmIChlcnJvcikgewotICAg
ICAgICBkLT5tX3NvdXBSZXF1ZXN0ID0gMDsKLSAgICAgICAgY2xpZW50LT5kaWRGaW5pc2hMb2Fk
aW5nKGhhbmRsZSwgMCk7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0KLSAgICBkLT5t
X2lucHV0U3RyZWFtID0gYWRvcHRHUmVmKHNvdXBfcmVxdWVzdF9zZW5kKGQtPm1fc291cFJlcXVl
c3QuZ2V0KCksIDAsICZlcnJvci5vdXRQdHIoKSkpOwotICAgIGlmIChlcnJvcikgewotICAgICAg
ICBkLT5tX2lucHV0U3RyZWFtID0gMDsKLSAgICAgICAgY2xpZW50LT5kaWRGaW5pc2hMb2FkaW5n
KGhhbmRsZSwgMCk7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0KLSAgICBkLT5tX2J1
ZmZlciA9IHN0YXRpY19jYXN0PGNoYXIqPihnX3NsaWNlX2FsbG9jMChSRUFEX0JVRkZFUl9TSVpF
KSk7Ci0gICAgZC0+bV90b3RhbCA9IDA7Ci0KLSAgICBnX29iamVjdF9zZXRfZGF0YShHX09CSkVD
VChkLT5tX2lucHV0U3RyZWFtLmdldCgpKSwgIndlYmtpdC1yZXNvdXJjZSIsIGhhbmRsZSk7Ci0g
ICAgLy8gYmFsYW5jZWQgYnkgYSBkZXJlZigpIGluIGNsZWFudXBTb3VwUmVxdWVzdE9wZXJhdGlv
biwgd2hpY2ggc2hvdWxkIGFsd2F5cyBydW4KLSAgICBoYW5kbGUtPnJlZigpOwotCi0gICAgZC0+
bV9jYW5jZWxsYWJsZSA9IGFkb3B0R1JlZihnX2NhbmNlbGxhYmxlX25ldygpKTsKLSAgICBnX2lu
cHV0X3N0cmVhbV9yZWFkX2FzeW5jKGQtPm1faW5wdXRTdHJlYW0uZ2V0KCksIGQtPm1fYnVmZmVy
LCBSRUFEX0JVRkZFUl9TSVpFLCBHX1BSSU9SSVRZX0RFRkFVTFQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBkLT5tX2NhbmNlbGxhYmxlLmdldCgpLCByZWFkQ2FsbGJhY2ssIEdJTlRf
VE9fUE9JTlRFUighaXNCYXNlNjQpKTsKLQotICAgIHJldHVybiBmYWxzZTsKLX0KLQotc3RhdGlj
IGJvb2wgc3RhcnREYXRhKFJlc291cmNlSGFuZGxlKiBoYW5kbGUsIFN0cmluZyB1cmxTdHJpbmcp
Ci17Ci0gICAgQVNTRVJUKGhhbmRsZSk7Ci0KLSAgICBSZXNvdXJjZUhhbmRsZUludGVybmFsKiBk
ID0gaGFuZGxlLT5nZXRJbnRlcm5hbCgpOwotCi0gICAgLy8gSWYgcGFyc2VEYXRhVXJsIGlzIGNh
bGxlZCBzeW5jaHJvbm91c2x5IHRoZSBqb2IgaXMgbm90IHlldCBlZmZlY3RpdmVseSBzdGFydGVk
Ci0gICAgLy8gYW5kIHdlYmtpdCB3b24ndCBuZXZlciBrbm93IHRoYXQgdGhlIGRhdGEgaGFzIGJl
ZW4gcGFyc2VkIGV2ZW4gZGlkRmluaXNoTG9hZGluZyBpcyBjYWxsZWQuCi0gICAgZC0+bV9pZGxl
SGFuZGxlciA9IGdfdGltZW91dF9hZGQoMCwgcGFyc2VEYXRhVXJsLCBoYW5kbGUpOwotICAgIHJl
dHVybiB0cnVlOwotfQotCiBzdGF0aWMgU291cFNlc3Npb24qIGNyZWF0ZVNvdXBTZXNzaW9uKCkK
IHsKICAgICByZXR1cm4gc291cF9zZXNzaW9uX2FzeW5jX25ldygpOwpAQCAtNTU0LDEyICs0NTks
MTMgQEAgc3RhdGljIHZvaWQgc2VuZFJlcXVlc3RDYWxsYmFjayhHT2JqZWN0KiBzb3VyY2UsIEdB
c3luY1Jlc3VsdCogcmVzLCBncG9pbnRlciB1c2UKICAgICAvLyByZWFkQ2FsbGJhY2sgbmVlZHMg
aXQKICAgICBnX29iamVjdF9zZXRfZGF0YShHX09CSkVDVChkLT5tX2lucHV0U3RyZWFtLmdldCgp
KSwgIndlYmtpdC1yZXNvdXJjZSIsIGhhbmRsZS5nZXQoKSk7CiAKLSAgICAvLyBFbnN1cmUgYSBy
ZXNwb25zZSBpcyBzZW50IGZvciBhbnkgcHJvdG9jb2xzIHRoYXQgZG9uJ3QgZXhwbGljaXRseSBz
dXBwb3J0IHJlc3BvbnNlcwotICAgIC8vIHRocm91Z2ggZ290LWhlYWRlcnMgc2lnbmFsIG9yIGNv
bnRlbnQgc25pZmZpbmcuCi0gICAgLy8gKGUuZy4gZmlsZSBhbmQgR0lPIGJhc2VkIHByb3RvY29s
KS4KLSAgICBpZiAoIWhhbmRsZS0+c2hvdWxkQ29udGVudFNuaWZmKCkgJiYgZC0+bV9yZXNwb25z
ZS5pc051bGwoKSkgeworICAgIC8vIElmIG5vdCB1c2luZyBTb3VwTWVzc2FnZSB3ZSBuZWVkIHRv
IGNhbGwgZGlkUmVjZWl2ZVJlc3BvbnNlIG5vdy4KKyAgICAvLyAoVGhpcyB3aWxsIGNoYW5nZSBs
YXRlciB3aGVuIFNvdXBSZXF1ZXN0IHN1cHBvcnRzIGNvbnRlbnQgc25pZmZpbmcuKQorICAgIGlm
ICghZC0+bV9zb3VwTWVzc2FnZSkgewogICAgICAgICBkLT5tX3Jlc3BvbnNlLnNldFVSTChoYW5k
bGUtPmZpcnN0UmVxdWVzdCgpLnVybCgpKTsKLSAgICAgICAgZC0+bV9yZXNwb25zZS5zZXRNaW1l
VHlwZShzb3VwX3JlcXVlc3RfZ2V0X2NvbnRlbnRfdHlwZShkLT5tX3NvdXBSZXF1ZXN0LmdldCgp
KSk7CisgICAgICAgIGNvbnN0IGdjaGFyKiBjb250ZW50VHlwZSA9IHNvdXBfcmVxdWVzdF9nZXRf
Y29udGVudF90eXBlKGQtPm1fc291cFJlcXVlc3QuZ2V0KCkpOworICAgICAgICBkLT5tX3Jlc3Bv
bnNlLnNldE1pbWVUeXBlKGV4dHJhY3RNSU1FVHlwZUZyb21NZWRpYVR5cGUoY29udGVudFR5cGUp
KTsKKyAgICAgICAgZC0+bV9yZXNwb25zZS5zZXRUZXh0RW5jb2RpbmdOYW1lKGV4dHJhY3RDaGFy
c2V0RnJvbU1lZGlhVHlwZShjb250ZW50VHlwZSkpOwogICAgICAgICBkLT5tX3Jlc3BvbnNlLnNl
dEV4cGVjdGVkQ29udGVudExlbmd0aChzb3VwX3JlcXVlc3RfZ2V0X2NvbnRlbnRfbGVuZ3RoKGQt
Pm1fc291cFJlcXVlc3QuZ2V0KCkpKTsKICAgICAgICAgY2xpZW50LT5kaWRSZWNlaXZlUmVzcG9u
c2UoaGFuZGxlLmdldCgpLCBkLT5tX3Jlc3BvbnNlKTsKIApAQCAtNTc2LDcgKzQ4Miw3IEBAIHN0
YXRpYyB2b2lkIHNlbmRSZXF1ZXN0Q2FsbGJhY2soR09iamVjdCogc291cmNlLCBHQXN5bmNSZXN1
bHQqIHJlcywgZ3BvaW50ZXIgdXNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX1BS
SU9SSVRZX0RFRkFVTFQsIGQtPm1fY2FuY2VsbGFibGUuZ2V0KCksIHJlYWRDYWxsYmFjaywgMCk7
CiB9CiAKLXN0YXRpYyBib29sIHN0YXJ0SHR0cChSZXNvdXJjZUhhbmRsZSogaGFuZGxlKQorc3Rh
dGljIGJvb2wgc3RhcnRIVFRQUmVxdWVzdChSZXNvdXJjZUhhbmRsZSogaGFuZGxlKQogewogICAg
IEFTU0VSVChoYW5kbGUpOwogCkBAIC03MTgsMTkgKzYyNCwxMyBAQCBib29sIFJlc291cmNlSGFu
ZGxlOjpzdGFydChOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCkKICAgICAvLyBVc2VkIHRvIHNl
dCB0aGUgYXV0aGVudGljYXRpb24gZGlhbG9nIHRvcGxldmVsOyBtYXkgYmUgTlVMTAogICAgIGQt
Pm1fY29udGV4dCA9IGNvbnRleHQ7CiAKLSAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UocHJvdG9j
b2wsICJkYXRhIikpCi0gICAgICAgIHJldHVybiBzdGFydERhdGEodGhpcywgdXJsU3RyaW5nKTsK
LQogICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShwcm90b2NvbCwgImh0dHAiKSB8fCBlcXVhbEln
bm9yaW5nQ2FzZShwcm90b2NvbCwgImh0dHBzIikpIHsKLSAgICAgICAgaWYgKHN0YXJ0SHR0cCh0
aGlzKSkKKyAgICAgICAgaWYgKHN0YXJ0SFRUUFJlcXVlc3QodGhpcykpCiAgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKICAgICB9CiAKLSAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UocHJvdG9jb2ws
ICJmaWxlIikgfHwgZXF1YWxJZ25vcmluZ0Nhc2UocHJvdG9jb2wsICJmdHAiKSB8fCBlcXVhbEln
bm9yaW5nQ2FzZShwcm90b2NvbCwgImZ0cHMiKSkgewotICAgICAgICAvLyBGSVhNRTogc2hvdWxk
IHdlIGJlIGRvaW5nIGFueSBvdGhlciBwcm90b2NvbHMgaGVyZT8KLSAgICAgICAgaWYgKHN0YXJ0
R2lvKHRoaXMsIHVybCkpCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9CisgICAgaWYg
KHN0YXJ0Tm9uSFRUUFJlcXVlc3QodGhpcywgdXJsKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CiAK
ICAgICAvLyBFcnJvciBtdXN0IG5vdCBiZSByZXBvcnRlZCBpbW1lZGlhdGVseQogICAgIHRoaXMt
PnNjaGVkdWxlRmFpbHVyZShJbnZhbGlkVVJMRmFpbHVyZSk7CkBAIC04ODAsNyArNzgwLDcgQEAg
c3RhdGljIHZvaWQgcmVhZENhbGxiYWNrKEdPYmplY3QqIHNvdXJjZSwgR0FzeW5jUmVzdWx0KiBh
c3luY1Jlc3VsdCwgZ3BvaW50ZXIgZGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQt
Pm1fY2FuY2VsbGFibGUuZ2V0KCksIHJlYWRDYWxsYmFjaywgZGF0YSk7CiB9CiAKLXN0YXRpYyBi
b29sIHN0YXJ0R2lvKFJlc291cmNlSGFuZGxlKiBoYW5kbGUsIEtVUkwgdXJsKQorc3RhdGljIGJv
b2wgc3RhcnROb25IVFRQUmVxdWVzdChSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBLVVJMIHVybCkK
IHsKICAgICBBU1NFUlQoaGFuZGxlKTsKIApAQCAtODkyLDEyICs3OTIsNiBAQCBzdGF0aWMgYm9v
bCBzdGFydEdpbyhSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBLVVJMIHVybCkKICAgICBTb3VwUmVx
dWVzdGVyKiByZXF1ZXN0ZXIgPSBTT1VQX1JFUVVFU1RFUihzb3VwX3Nlc3Npb25fZ2V0X2ZlYXR1
cmUoc2Vzc2lvbiwgU09VUF9UWVBFX1JFUVVFU1RFUikpOwogICAgIFJlc291cmNlSGFuZGxlSW50
ZXJuYWwqIGQgPSBoYW5kbGUtPmdldEludGVybmFsKCk7CiAKLSAgICAvLyBHSU8gZG9lc24ndCBr
bm93IGhvdyB0byBoYW5kbGUgcmVmcyBhbmQgcXVlcmllcywgc28gcmVtb3ZlIHRoZW0KLSAgICAv
LyBUT0RPOiB1c2UgS1VSTC5maWxlU3lzdGVtUGF0aCBhZnRlciBLVVJMR3RrIGFuZCBGaWxlU3lz
dGVtR3RrIGFyZQotICAgIC8vIHVzaW5nIEdJTyBpbnRlcm5hbGx5LCBhbmQgcHJvdmlkaW5nIFVS
SXMgaW5zdGVhZCBvZiBmaWxlIHBhdGhzCi0gICAgdXJsLnJlbW92ZUZyYWdtZW50SWRlbnRpZmll
cigpOwotICAgIHVybC5zZXRRdWVyeShTdHJpbmcoKSk7Ci0gICAgdXJsLnJlbW92ZVBvcnQoKTsK
ICAgICBDU3RyaW5nIHVybFN0ciA9IHVybC5zdHJpbmcoKS51dGY4KCk7CiAKICAgICBHT3duUHRy
PEdFcnJvcj4gZXJyb3I7Ci0tIAoxLjcuMy41Cgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>