<?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>37759</bug_id>
          
          <creation_ts>2010-04-17 15:21:55 -0700</creation_ts>
          <short_desc>[Qt] need an implementation of LayoutTestController::computedStyleIncludingVisitedInfo</short_desc>
          <delta_ts>2010-05-24 08:27:56 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt, QtTriaged</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yi Shen">max.hong.shen</reporter>
          <assigned_to name="Yi Shen">max.hong.shen</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>cshu</cc>
    
    <cc>eric</cc>
    
    <cc>hausmann</cc>
    
    <cc>hyatt</cc>
    
    <cc>ossy</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>213678</commentid>
    <comment_count>0</comment_count>
    <who name="Yi Shen">max.hong.shen</who>
    <bug_when>2010-04-17 15:21:55 -0700</bug_when>
    <thetext>To fix Bug 37323 - [Qt] tst_QWebHistoryInterface::visitedLinks() fails (https://bugs.webkit.org/show_bug.cgi?id=37323), which is because of the new :visited patch (http://trac.webkit.org/changeset/57292). We can have an implementation of LayoutTestController::computedStyleIncludingVisitedInfo to know the real visited link info.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>213681</commentid>
    <comment_count>1</comment_count>
      <attachid>53614</attachid>
    <who name="Yi Shen">max.hong.shen</who>
    <bug_when>2010-04-17 15:27:47 -0700</bug_when>
    <thetext>Created attachment 53614
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>213682</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-04-17 15:30:59 -0700</bug_when>
    <thetext>Attachment 53614 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp:29:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>213683</commentid>
    <comment_count>3</comment_count>
      <attachid>53615</attachid>
    <who name="Yi Shen">max.hong.shen</who>
    <bug_when>2010-04-17 15:36:51 -0700</bug_when>
    <thetext>Created attachment 53615
fix style error</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214060</commentid>
    <comment_count>4</comment_count>
      <attachid>53684</attachid>
    <who name="Yi Shen">max.hong.shen</who>
    <bug_when>2010-04-19 09:27:31 -0700</bug_when>
    <thetext>Created attachment 53684
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214147</commentid>
    <comment_count>5</comment_count>
      <attachid>53684</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-04-19 12:04:12 -0700</bug_when>
    <thetext>Comment on attachment 53684
proposed patch



&gt; +void DumpRenderTreeSupportQt::computedStyleIncludingVisitedInfo(QWebFrame* frame, const QString&amp; id, QVariantMap&amp; infoMap)

Most of the patch looks fine to me, but why not simply return the QVariantMap as return value of the function instead of using an out argument?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214159</commentid>
    <comment_count>6</comment_count>
    <who name="Yi Shen">max.hong.shen</who>
    <bug_when>2010-04-19 12:17:55 -0700</bug_when>
    <thetext>I tried to make this function more efficient by avoiding the copy construction of QVariantMap. Please let me know your thoughts :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214185</commentid>
    <comment_count>7</comment_count>
      <attachid>53709</attachid>
    <who name="Yi Shen">max.hong.shen</who>
    <bug_when>2010-04-19 13:01:31 -0700</bug_when>
    <thetext>Created attachment 53709
returns the qvariantmap as return value in DumpRenderTreeSupportQt</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214201</commentid>
    <comment_count>8</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-04-19 13:21:27 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; I tried to make this function more efficient by avoiding the copy construction
&gt; of QVariantMap. Please let me know your thoughts :)

QVariantMap is implicitly shared, so returning a copy is very efficient.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214205</commentid>
    <comment_count>9</comment_count>
    <who name="Yi Shen">max.hong.shen</who>
    <bug_when>2010-04-19 13:23:51 -0700</bug_when>
    <thetext>Oh, thanks :) I have updated the patch.
(In reply to comment #8)
&gt; (In reply to comment #6)
&gt; &gt; I tried to make this function more efficient by avoiding the copy construction
&gt; &gt; of QVariantMap. Please let me know your thoughts :)
&gt; 
&gt; QVariantMap is implicitly shared, so returning a copy is very efficient.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214207</commentid>
    <comment_count>10</comment_count>
      <attachid>53709</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-04-19 13:25:25 -0700</bug_when>
    <thetext>Comment on attachment 53709
returns the qvariantmap as return value in DumpRenderTreeSupportQt

Doesn&apos;t this also unskip some tests?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214211</commentid>
    <comment_count>11</comment_count>
    <who name="Yi Shen">max.hong.shen</who>
    <bug_when>2010-04-19 13:31:25 -0700</bug_when>
    <thetext>it doesn&apos;t unskip tests. Do you want me to add them in this patch? 
(In reply to comment #10)
&gt; (From update of attachment 53709 [details])
&gt; Doesn&apos;t this also unskip some tests?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214651</commentid>
    <comment_count>12</comment_count>
      <attachid>53815</attachid>
    <who name="Yi Shen">max.hong.shen</who>
    <bug_when>2010-04-20 07:26:49 -0700</bug_when>
    <thetext>Created attachment 53815
unskip the tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215230</commentid>
    <comment_count>13</comment_count>
      <attachid>53815</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-04-21 03:54:55 -0700</bug_when>
    <thetext>Comment on attachment 53815
unskip the tests

Clearing flags on attachment: 53815

Committed r57963: &lt;http://trac.webkit.org/changeset/57963&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215231</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-04-21 03:55:00 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215237</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-04-21 04:14:24 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/57963 might have broken Qt Linux Release</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215238</commentid>
    <comment_count>16</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-04-21 04:15:10 -0700</bug_when>
    <thetext>Reverted r57963 for reason:

Three tests started crashing on the Qt bot.

Committed r57966: &lt;http://trac.webkit.org/changeset/57966&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215417</commentid>
    <comment_count>17</comment_count>
    <who name="Yi Shen">max.hong.shen</who>
    <bug_when>2010-04-21 11:19:47 -0700</bug_when>
    <thetext>The &quot;crash&quot; only happens when running all four tests at one time, or one test with multiple times of calling the new interface (for example),

 var ele = document.getElementById(&apos;one&apos;);
 window.layoutTestController.computedStyleIncludingVisitedInfo(ele);
 window.layoutTestController.computedStyleIncludingVisitedInfo(ele);
 window.layoutTestController.computedStyleIncludingVisitedInfo(ele);
 window.layoutTestController.computedStyleIncludingVisitedInfo(ele);
 window.layoutTestController.computedStyleIncludingVisitedInfo(ele);

Plus, the &quot;crash&quot; is only made by the run-webkit-test script, I mean, the DumpRenderTree doesn&apos;t crash at all.

Also, if I change the parameter type of computedStyleIncludingVisitedInfo(), from QVariant to others, e.g. QString, everything works fine -- no crash, no error.

I believe the root cause of the crash is from run-webkit-test script and I do find there is something wrong with it, for example, the script reads the output of DumpRenderTree to determine whether there is a crash or not,

sub readFromDumpToolWithTimer(**) {
 ...
 while (1) {
        ...
        my $lineIn = readline($fhIn) unless $haveSeenEofIn;
        my $lineError = readline($fhError) unless $haveSeenEofError;
        if (!defined($lineIn) &amp;&amp; !defined($lineError)) {
            ...
            if ( $! != EAGAIN) {
                $status = &quot;crashed&quot;;
                last;
            }

$! is the error no. and EAGAIN is 11, which is a recoverable error. While I found the $! equals to 0 in our case which sets the status to &quot;crashed&quot;...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215426</commentid>
    <comment_count>18</comment_count>
    <who name="Yi Shen">max.hong.shen</who>
    <bug_when>2010-04-21 11:28:08 -0700</bug_when>
    <thetext>I have also tried to use a slow test by setting a large timeout, because the new interface may need spending more time on javascript binding (convert element to QVarient). However, it doesn&apos;t help.

Any help and suggestion is super welcome!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215604</commentid>
    <comment_count>19</comment_count>
      <attachid>53709</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-04-21 18:13:41 -0700</bug_when>
    <thetext>Comment on attachment 53709
returns the qvariantmap as return value in DumpRenderTreeSupportQt

Cleared Simon Hausmann&apos;s review+ from obsolete attachment 53709 so that this bug does not appear in http://webkit.org/pending-commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215901</commentid>
    <comment_count>20</comment_count>
    <who name="Yi Shen">max.hong.shen</who>
    <bug_when>2010-04-22 09:00:37 -0700</bug_when>
    <thetext>Made more test for the run-webkit-test with the new interface and found the readFromDumpToolWithTimer() receives the error code 0, when calling the new interface more than 5 times. More detailly, I add some logs in qt_runtime.cpp,
static int findMethodIndex( ... ) {
fprintf(stderr, &quot;call my new interface!\n&quot;);
...
// convert arguments
for (unsigned i = 0; ...; ++i) {
  fprintf(stderr, &quot;convert start ....\n&quot;);
  QVariant v = convertValueToQVariant(exec, arg, ...);
  fprintf(stderr, &quot;convert end ....\n&quot;);
}

Then I checked the error output of the run-webkit-test after it crashed. There is no &quot;convert end ...&quot; for the fifth calling. Note that, if I run the DRT directly, there is no crash and I can see the &quot;convert end ...&quot; for all the function calls.

The convertValueToQVariant is a recursive function and it might run many many times to deal with a big jsobject like the element obj. Somehow it doesn&apos;t work well with the run-webkit-test, which is using IPC::open3() to run the DRT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>223149</commentid>
    <comment_count>21</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-05-09 21:53:10 -0700</bug_when>
    <thetext>yi, maybe use the same approach we did for bug 37323?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>223272</commentid>
    <comment_count>22</comment_count>
    <who name="Yi Shen">max.hong.shen</who>
    <bug_when>2010-05-10 06:14:34 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; yi, maybe use the same approach we did for bug 37323?

Sure, I am fine with it. Thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>224148</commentid>
    <comment_count>23</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-05-11 14:17:01 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt; (In reply to comment #21)
&gt; &gt; yi, maybe use the same approach we did for bug 37323?
&gt; 
&gt; Sure, I am fine with it. Thanks

great! yi, feel like doing this? if not, I can get to it tonight.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>224149</commentid>
    <comment_count>24</comment_count>
    <who name="Yi Shen">max.hong.shen</who>
    <bug_when>2010-05-11 14:20:36 -0700</bug_when>
    <thetext>You can work on it. I am kind of busy with other stuff so ... Thanks

(In reply to comment #23)
&gt; (In reply to comment #22)
&gt; &gt; (In reply to comment #21)
&gt; &gt; &gt; yi, maybe use the same approach we did for bug 37323?
&gt; &gt; 
&gt; &gt; Sure, I am fine with it. Thanks
&gt; 
&gt; great! yi, feel like doing this? if not, I can get to it tonight.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>225332</commentid>
    <comment_count>25</comment_count>
      <attachid>55986</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-05-13 09:03:33 -0700</bug_when>
    <thetext>Created attachment 55986
patch v6

Patch is essentially similar to https://bugs.webkit.org/attachment.cgi?id=53815 but instead of 

Instead of receiving a QVariant as parameter of computedStyleIncludingVisitedInfo it is now getting a QWebElement . The parameters of DumpRenderTreeSupportQt::computedStyleIncludingVisitedInfo also changed accordingly , which makes the code simpler.

&gt; The &quot;crash&quot; only happens when running all four tests at one time, or one test with multiple times of calling the new interface (for &gt; example),

&gt; var ele = document.getElementById(&apos;one&apos;);
&gt; window.layoutTestController.computedStyleIncludingVisitedInfo(ele);
&gt; window.layoutTestController.computedStyleIncludingVisitedInfo(ele);
&gt; window.layoutTestController.computedStyleIncludingVisitedInfo(ele);
&gt; window.layoutTestController.computedStyleIncludingVisitedInfo(ele);
&gt; window.layoutTestController.computedStyleIncludingVisitedInfo(ele);

I tested it and it works fine now.

&gt; Also, if I change the parameter type of computedStyleIncludingVisitedInfo(), from QVariant to others, e.g. QString, everything &gt; works fine -- no crash, no error.

I think that is the case of QWebElement as well.


ps: Yi is still an author in the ChangeLog, since my work is based on his original work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>225346</commentid>
    <comment_count>26</comment_count>
      <attachid>55986</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-05-13 09:38:25 -0700</bug_when>
    <thetext>Comment on attachment 55986
patch v6

WebKit/qt/ChangeLog:8
 +  
why two new lines

WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp:384
 +      QVariantMap ret;
ret? res would make more sense. computedStyle even more so.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>225386</commentid>
    <comment_count>27</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-05-13 11:09:18 -0700</bug_when>
    <thetext>Committed r59373: &lt;http://trac.webkit.org/changeset/59373&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229137</commentid>
    <comment_count>28</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-05-21 15:33:36 -0700</bug_when>
    <thetext>This implementation is incorrect and it caused a fail.
I skipped fast/history/self-is-visited.html until fix:
http://trac.webkit.org/changeset/59373</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229139</commentid>
    <comment_count>29</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-05-21 15:36:36 -0700</bug_when>
    <thetext>I don&apos;t think copying the properties works because of shorthands.  You have to be able to query shorthands on the computed style object (e.g., background vs. background-color).  Is there no DOM binding you can use to wrap the actual style object?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229236</commentid>
    <comment_count>30</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-05-21 21:45:21 -0700</bug_when>
    <thetext>(In reply to comment #28)
&gt; This implementation is incorrect and it caused a fail.
&gt; I skipped fast/history/self-is-visited.html until fix:
&gt; http://trac.webkit.org/changeset/59373

(In reply to comment #29)
&gt; I don&apos;t think copying the properties works because of shorthands.  You have to be able to query shorthands on the computed style object (e.g., background vs. background-color).  Is there no DOM binding you can use to wrap the actual style object?

hum, I think the implementation was correct when it landed. could you please tell if anything changed in the background, and needs changing here as well?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229725</commentid>
    <comment_count>31</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-05-24 06:51:24 -0700</bug_when>
    <thetext>(In reply to comment #28)
&gt; This implementation is incorrect and it caused a fail.
&gt; I skipped fast/history/self-is-visited.html until fix:
&gt; http://trac.webkit.org/changeset/59373

It is not wrong. http://trac.webkit.org/changeset/59956 &quot;broke&quot; it. In fact, it changed the implementation in WebCore, and requires change in Qt side.

This bug is fixed, and I will open another one to handle this specific failing test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229755</commentid>
    <comment_count>32</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-05-24 08:27:56 -0700</bug_when>
    <thetext>(In reply to comment #31)
&gt; (In reply to comment #28)
&gt; &gt; This implementation is incorrect and it caused a fail.
&gt; &gt; I skipped fast/history/self-is-visited.html until fix:
&gt; &gt; http://trac.webkit.org/changeset/59373
&gt; 
&gt; It is not wrong. http://trac.webkit.org/changeset/59956 &quot;broke&quot; it. In fact, it changed the implementation in WebCore, and requires change in Qt side.
&gt; 
&gt; This bug is fixed, and I will open another one to handle this specific failing test.

fyi, filed bug 39597 about it</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53614</attachid>
            <date>2010-04-17 15:27:47 -0700</date>
            <delta_ts>2010-04-17 15:36:51 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>bug37759.patch</filename>
            <type>text/plain</type>
            <size>5057</size>
            <attacher name="Yi Shen">max.hong.shen</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0NoYW5n
ZUxvZwkocmV2aXNpb24gNTc3ODcpCisrKyBXZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTAtMDQtMTcgIFlpIFNoZW4gIDx5aS40LnNoZW5Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6Y29tcHV0ZWRTdHlsZUluY2x1ZGluZ1Zpc2l0
ZWRJbmZvCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0z
Nzc1OQorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQu
Y3BwOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OmNvbXB1dGVkU3R5bGVJbmNs
dWRpbmdWaXNpdGVkSW5mbyk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRy
ZWVTdXBwb3J0UXQuaDoKKwogMjAxMC0wNC0xNSAgS2VudCBIYW5zZW4gIDxrZW50LmhhbnNlbkBu
b2tpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5z
ZW4uCkluZGV4OiBXZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0
UXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVy
VHJlZVN1cHBvcnRRdC5jcHAJKHJldmlzaW9uIDU3Nzg3KQorKysgV2ViS2l0L3F0L1dlYkNvcmVT
dXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYs
NiArMjYsNyBAQAogI2luY2x1ZGUgIkNvbnRleHRNZW51LmgiCiAjaW5jbHVkZSAiQ29udGV4dE1l
bnVDbGllbnRRdC5oIgogI2luY2x1ZGUgIkNvbnRleHRNZW51Q29udHJvbGxlci5oIgorI2luY2x1
ZGUgIkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5oIgogI2luY2x1ZGUgIkVkaXRvci5oIgog
I2luY2x1ZGUgIkVsZW1lbnQuaCIKICNpbmNsdWRlICJGb2N1c0NvbnRyb2xsZXIuaCIKQEAgLTM0
MiwzICszNDMsMjIgQEAgdm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6c2V0TWVkaWFUeQog
ICAgIGNvcmVGcmFtZS0+ZG9jdW1lbnQoKS0+dXBkYXRlU3R5bGVTZWxlY3RvcigpOwogICAgIHZp
ZXctPmZvcmNlTGF5b3V0KCk7CiB9CisKK3ZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OmNv
bXB1dGVkU3R5bGVJbmNsdWRpbmdWaXNpdGVkSW5mbyhRV2ViRnJhbWUqIGZyYW1lLCBjb25zdCBR
U3RyaW5nJiBpZCwgUVZhcmlhbnRNYXAmIGluZm9NYXApCit7CisgICAgRnJhbWUqIGNvcmVGcmFt
ZSA9IFFXZWJGcmFtZVByaXZhdGU6OmNvcmUoZnJhbWUpOworICAgIGlmICghY29yZUZyYW1lKQor
ICAgICAgICByZXR1cm47CisKKyAgICBFbGVtZW50KiBlbGVtZW50ID0gY29yZUZyYW1lLT5kb2N1
bWVudCgpLT5nZXRFbGVtZW50QnlJZChBdG9taWNTdHJpbmcoaWQpKTsKKyAgICBpZiAoIWVsZW1l
bnQpCisgICAgICAgIHJldHVybjsKKworICAgIFJlZlB0cjxDU1NDb21wdXRlZFN0eWxlRGVjbGFy
YXRpb24+IHN0eWxlID0gY29tcHV0ZWRTdHlsZShlbGVtZW50LCB0cnVlKTsKKyAgICBmb3IgKGlu
dCBpID0gMDsgaSA8IHN0eWxlLT5sZW5ndGgoKTsgaSsrKSB7CisgICAgICAgIFFTdHJpbmcgbmFt
ZSA9IHN0eWxlLT5pdGVtKGkpOworICAgICAgICBRU3RyaW5nIHZhbHVlID0gKHN0YXRpY19jYXN0
PENTU1N0eWxlRGVjbGFyYXRpb24qPihzdHlsZS5nZXQoKSkpLT5nZXRQcm9wZXJ0eVZhbHVlKG5h
bWUpOworICAgICAgICBpbmZvTWFwW25hbWVdID0gUVZhcmlhbnQodmFsdWUpOworICAgIH0KK30K
KwpJbmRleDogV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVl
U3VwcG9ydFF0LmgJKHJldmlzaW9uIDU3Nzg3KQorKysgV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0
L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmgJKHdvcmtpbmcgY29weSkKQEAgLTI0LDYgKzI0LDcg
QEAKICNkZWZpbmUgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXRfaAogCiAjaW5jbHVkZSAicXdlYmtp
dGdsb2JhbC5oIgorI2luY2x1ZGUgPFFWYXJpYW50PgogCiBjbGFzcyBRV2ViUGFnZTsKIGNsYXNz
IFFXZWJGcmFtZTsKQEAgLTc2LDYgKzc3LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIHJl
c2V0T3JpZ2luQWNjZXNzV2hpdGVMaXN0cygpOwogCiAgICAgc3RhdGljIGludCB3b3JrZXJUaHJl
YWRDb3VudCgpOworICAgIHN0YXRpYyB2b2lkIGNvbXB1dGVkU3R5bGVJbmNsdWRpbmdWaXNpdGVk
SW5mbyhRV2ViRnJhbWUqIGZyYW1lLCBjb25zdCBRU3RyaW5nJiBpZCwgUVZhcmlhbnRNYXAmIGlu
Zm9NYXApOwogfTsKIAogI2VuZGlmCkluZGV4OiBXZWJLaXRUb29scy9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA1Nzc4NykKKysrIFdlYktp
dFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDEwLTA0
LTE3ICBZaSBTaGVuICA8eWkuNC5zaGVuQG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmNv
bXB1dGVkU3R5bGVJbmNsdWRpbmdWaXNpdGVkSW5mbyBmb3IgUXQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3NzU5CisKKyAgICAgICAgKiBEdW1wUmVu
ZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcDoKKyAgICAgICAgKExheW91dFRl
c3RDb250cm9sbGVyOjpjb21wdXRlZFN0eWxlSW5jbHVkaW5nVmlzaXRlZEluZm8pOgorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaDoKKwogMjAxMC0w
NC0xNyAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgQWRhbSBCYXJ0aC4KSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91
dFRlc3RDb250cm9sbGVyUXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwCShyZXZpc2lvbiA1Nzc4NykKKysr
IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiV29ya1F1ZXVlSXRl
bVF0LmgiCiAjaW5jbHVkZSA8UURpcj4KICNpbmNsdWRlIDxRTG9jYWxlPgorI2luY2x1ZGUgPFFN
YXA+CiAjaW5jbHVkZSA8cXdlYnNldHRpbmdzLmg+CiAKIGV4dGVybiB2b2lkIHF0X3dydF9zZXRW
aWV3TW9kZShRV2ViUGFnZSogcGFnZSwgY29uc3QgUVN0cmluZyYgbW9kZSk7CkBAIC01ODksNSAr
NTkwLDE1IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFNjcm9sbGJhclAKICAgICBt
X2RydC0+d2ViUGFnZSgpLT5tYWluRnJhbWUoKS0+c2V0U2Nyb2xsQmFyUG9saWN5KG8sIHApOwog
fQogCitRVmFyaWFudE1hcCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6Y29tcHV0ZWRTdHlsZUluY2x1
ZGluZ1Zpc2l0ZWRJbmZvKGNvbnN0IFFWYXJpYW50JiBvYmopIGNvbnN0Cit7CisgICAgUVZhcmlh
bnRNYXAgcmV0OworICAgIFFNYXA8UVN0cmluZywgUVZhcmlhbnQ+IG1hcCA9IG9iai50b01hcCgp
OworICAgIFFTdHJpbmcgaWQgPSBtYXAudmFsdWUoImlkIikudG9TdHJpbmcoKTsKKyAgICBEdW1w
UmVuZGVyVHJlZVN1cHBvcnRRdDo6Y29tcHV0ZWRTdHlsZUluY2x1ZGluZ1Zpc2l0ZWRJbmZvKG1f
ZHJ0LT53ZWJQYWdlKCktPm1haW5GcmFtZSgpLCBpZCwgcmV0KTsKKworICAgIHJldHVybiByZXQ7
Cit9CisKIGNvbnN0IHVuc2lnbmVkIExheW91dFRlc3RDb250cm9sbGVyOjptYXhWaWV3V2lkdGgg
PSA4MDA7CiBjb25zdCB1bnNpZ25lZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6bWF4Vmlld0hlaWdo
dCA9IDYwMDsKSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RD
b250cm9sbGVyUXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9x
dC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmgJKHJldmlzaW9uIDU3Nzg3KQorKysgV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xNzEsNiArMTcxLDcgQEAgcHVibGljIHNsb3RzOgogICAgIGludCBwYWdlTnVtYmVy
Rm9yRWxlbWVudEJ5SWQoY29uc3QgUVN0cmluZyYgaWQsIGZsb2F0IHdpZHRoID0gMCwgZmxvYXQg
aGVpZ2h0ID0gMCk7CiAgICAgaW50IG51bWJlck9mUGFnZXMoZmxvYXQgd2lkdGggPSBtYXhWaWV3
V2lkdGgsIGZsb2F0IGhlaWdodCA9IG1heFZpZXdIZWlnaHQpOwogICAgIGJvb2wgY2FsbFNob3Vs
ZENsb3NlT25XZWJWaWV3KCk7CisgICAgUVZhcmlhbnRNYXAgY29tcHV0ZWRTdHlsZUluY2x1ZGlu
Z1Zpc2l0ZWRJbmZvKGNvbnN0IFFWYXJpYW50JiBvYmopIGNvbnN0OwogCiAgICAgLyoKICAgICAg
ICAgUG9saWN5IHZhbHVlczogJ29uJywgJ2F1dG8nIG9yICdvZmYnLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53615</attachid>
            <date>2010-04-17 15:36:51 -0700</date>
            <delta_ts>2010-04-19 09:27:31 -0700</delta_ts>
            <desc>fix style error</desc>
            <filename>bug37759.patch</filename>
            <type>text/plain</type>
            <size>5045</size>
            <attacher name="Yi Shen">max.hong.shen</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0NoYW5n
ZUxvZwkocmV2aXNpb24gNTc3ODcpCisrKyBXZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTAtMDQtMTcgIFlpIFNoZW4gIDx5aS40LnNoZW5Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6Y29tcHV0ZWRTdHlsZUluY2x1ZGluZ1Zpc2l0
ZWRJbmZvCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0z
Nzc1OQorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQu
Y3BwOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OmNvbXB1dGVkU3R5bGVJbmNs
dWRpbmdWaXNpdGVkSW5mbyk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRy
ZWVTdXBwb3J0UXQuaDoKKwogMjAxMC0wNC0xNSAgS2VudCBIYW5zZW4gIDxrZW50LmhhbnNlbkBu
b2tpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5z
ZW4uCkluZGV4OiBXZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0
UXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVy
VHJlZVN1cHBvcnRRdC5jcHAJKHJldmlzaW9uIDU3Nzg3KQorKysgV2ViS2l0L3F0L1dlYkNvcmVT
dXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjMs
NiArMjMsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkR1bXBSZW5kZXJUcmVl
U3VwcG9ydFF0LmgiCiAKKyNpbmNsdWRlICJDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uaCIK
ICNpbmNsdWRlICJDb250ZXh0TWVudS5oIgogI2luY2x1ZGUgIkNvbnRleHRNZW51Q2xpZW50UXQu
aCIKICNpbmNsdWRlICJDb250ZXh0TWVudUNvbnRyb2xsZXIuaCIKQEAgLTM0MiwzICszNDMsMjIg
QEAgdm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6c2V0TWVkaWFUeQogICAgIGNvcmVGcmFt
ZS0+ZG9jdW1lbnQoKS0+dXBkYXRlU3R5bGVTZWxlY3RvcigpOwogICAgIHZpZXctPmZvcmNlTGF5
b3V0KCk7CiB9CisKK3ZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OmNvbXB1dGVkU3R5bGVJ
bmNsdWRpbmdWaXNpdGVkSW5mbyhRV2ViRnJhbWUqIGZyYW1lLCBjb25zdCBRU3RyaW5nJiBpZCwg
UVZhcmlhbnRNYXAmIGluZm9NYXApCit7CisgICAgRnJhbWUqIGNvcmVGcmFtZSA9IFFXZWJGcmFt
ZVByaXZhdGU6OmNvcmUoZnJhbWUpOworICAgIGlmICghY29yZUZyYW1lKQorICAgICAgICByZXR1
cm47CisKKyAgICBFbGVtZW50KiBlbGVtZW50ID0gY29yZUZyYW1lLT5kb2N1bWVudCgpLT5nZXRF
bGVtZW50QnlJZChBdG9taWNTdHJpbmcoaWQpKTsKKyAgICBpZiAoIWVsZW1lbnQpCisgICAgICAg
IHJldHVybjsKKworICAgIFJlZlB0cjxDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24+IHN0eWxl
ID0gY29tcHV0ZWRTdHlsZShlbGVtZW50LCB0cnVlKTsKKyAgICBmb3IgKGludCBpID0gMDsgaSA8
IHN0eWxlLT5sZW5ndGgoKTsgaSsrKSB7CisgICAgICAgIFFTdHJpbmcgbmFtZSA9IHN0eWxlLT5p
dGVtKGkpOworICAgICAgICBRU3RyaW5nIHZhbHVlID0gKHN0YXRpY19jYXN0PENTU1N0eWxlRGVj
bGFyYXRpb24qPihzdHlsZS5nZXQoKSkpLT5nZXRQcm9wZXJ0eVZhbHVlKG5hbWUpOworICAgICAg
ICBpbmZvTWFwW25hbWVdID0gUVZhcmlhbnQodmFsdWUpOworICAgIH0KK30KKwpJbmRleDogV2Vi
S2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmgJ
KHJldmlzaW9uIDU3Nzg3KQorKysgV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJU
cmVlU3VwcG9ydFF0LmgJKHdvcmtpbmcgY29weSkKQEAgLTI0LDYgKzI0LDcgQEAKICNkZWZpbmUg
RHVtcFJlbmRlclRyZWVTdXBwb3J0UXRfaAogCiAjaW5jbHVkZSAicXdlYmtpdGdsb2JhbC5oIgor
I2luY2x1ZGUgPFFWYXJpYW50PgogCiBjbGFzcyBRV2ViUGFnZTsKIGNsYXNzIFFXZWJGcmFtZTsK
QEAgLTc2LDYgKzc3LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIHJlc2V0T3JpZ2luQWNj
ZXNzV2hpdGVMaXN0cygpOwogCiAgICAgc3RhdGljIGludCB3b3JrZXJUaHJlYWRDb3VudCgpOwor
ICAgIHN0YXRpYyB2b2lkIGNvbXB1dGVkU3R5bGVJbmNsdWRpbmdWaXNpdGVkSW5mbyhRV2ViRnJh
bWUqIGZyYW1lLCBjb25zdCBRU3RyaW5nJiBpZCwgUVZhcmlhbnRNYXAmIGluZm9NYXApOwogfTsK
IAogI2VuZGlmCkluZGV4OiBXZWJLaXRUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
S2l0VG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA1Nzc4NykKKysrIFdlYktpdFRvb2xzL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDEwLTA0LTE3ICBZaSBTaGVu
ICA8eWkuNC5zaGVuQG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmNvbXB1dGVkU3R5bGVJ
bmNsdWRpbmdWaXNpdGVkSW5mbyBmb3IgUXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTM3NzU5CisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9M
YXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcDoKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVy
Ojpjb21wdXRlZFN0eWxlSW5jbHVkaW5nVmlzaXRlZEluZm8pOgorICAgICAgICAqIER1bXBSZW5k
ZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaDoKKwogMjAxMC0wNC0xNyAgRXJpYyBT
ZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0
aC4KSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9s
bGVyUXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xh
eW91dFRlc3RDb250cm9sbGVyUXQuY3BwCShyZXZpc2lvbiA1Nzc4NykKKysrIFdlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiV29ya1F1ZXVlSXRlbVF0LmgiCiAjaW5j
bHVkZSA8UURpcj4KICNpbmNsdWRlIDxRTG9jYWxlPgorI2luY2x1ZGUgPFFNYXA+CiAjaW5jbHVk
ZSA8cXdlYnNldHRpbmdzLmg+CiAKIGV4dGVybiB2b2lkIHF0X3dydF9zZXRWaWV3TW9kZShRV2Vi
UGFnZSogcGFnZSwgY29uc3QgUVN0cmluZyYgbW9kZSk7CkBAIC01ODksNSArNTkwLDE1IEBAIHZv
aWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFNjcm9sbGJhclAKICAgICBtX2RydC0+d2ViUGFn
ZSgpLT5tYWluRnJhbWUoKS0+c2V0U2Nyb2xsQmFyUG9saWN5KG8sIHApOwogfQogCitRVmFyaWFu
dE1hcCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6Y29tcHV0ZWRTdHlsZUluY2x1ZGluZ1Zpc2l0ZWRJ
bmZvKGNvbnN0IFFWYXJpYW50JiBvYmopIGNvbnN0Cit7CisgICAgUVZhcmlhbnRNYXAgcmV0Owor
ICAgIFFNYXA8UVN0cmluZywgUVZhcmlhbnQ+IG1hcCA9IG9iai50b01hcCgpOworICAgIFFTdHJp
bmcgaWQgPSBtYXAudmFsdWUoImlkIikudG9TdHJpbmcoKTsKKyAgICBEdW1wUmVuZGVyVHJlZVN1
cHBvcnRRdDo6Y29tcHV0ZWRTdHlsZUluY2x1ZGluZ1Zpc2l0ZWRJbmZvKG1fZHJ0LT53ZWJQYWdl
KCktPm1haW5GcmFtZSgpLCBpZCwgcmV0KTsKKworICAgIHJldHVybiByZXQ7Cit9CisKIGNvbnN0
IHVuc2lnbmVkIExheW91dFRlc3RDb250cm9sbGVyOjptYXhWaWV3V2lkdGggPSA4MDA7CiBjb25z
dCB1bnNpZ25lZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6bWF4Vmlld0hlaWdodCA9IDYwMDsKSW5k
ZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0
Q29udHJvbGxlclF0LmgJKHJldmlzaW9uIDU3Nzg3KQorKysgV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzEs
NiArMTcxLDcgQEAgcHVibGljIHNsb3RzOgogICAgIGludCBwYWdlTnVtYmVyRm9yRWxlbWVudEJ5
SWQoY29uc3QgUVN0cmluZyYgaWQsIGZsb2F0IHdpZHRoID0gMCwgZmxvYXQgaGVpZ2h0ID0gMCk7
CiAgICAgaW50IG51bWJlck9mUGFnZXMoZmxvYXQgd2lkdGggPSBtYXhWaWV3V2lkdGgsIGZsb2F0
IGhlaWdodCA9IG1heFZpZXdIZWlnaHQpOwogICAgIGJvb2wgY2FsbFNob3VsZENsb3NlT25XZWJW
aWV3KCk7CisgICAgUVZhcmlhbnRNYXAgY29tcHV0ZWRTdHlsZUluY2x1ZGluZ1Zpc2l0ZWRJbmZv
KGNvbnN0IFFWYXJpYW50JiBvYmopIGNvbnN0OwogCiAgICAgLyoKICAgICAgICAgUG9saWN5IHZh
bHVlczogJ29uJywgJ2F1dG8nIG9yICdvZmYnLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53684</attachid>
            <date>2010-04-19 09:27:31 -0700</date>
            <delta_ts>2010-04-19 13:01:31 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>bug37759.patch</filename>
            <type>text/plain</type>
            <size>5113</size>
            <attacher name="Yi Shen">max.hong.shen</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0NoYW5n
ZUxvZwkocmV2aXNpb24gNTc4MTApCisrKyBXZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTAtMDQtMTkgIFlpIFNoZW4gIDx5aS40LnNoZW5Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFtRdF0gQWRkIExheW91dFRlc3RDb250cm9sbGVyIGludGVyZmFjZTogY29tcHV0ZWRTdHlsZUlu
Y2x1ZGluZ1Zpc2l0ZWRJbmZvCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0zNzc1OQorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRy
ZWVTdXBwb3J0UXQuY3BwOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OmNvbXB1
dGVkU3R5bGVJbmNsdWRpbmdWaXNpdGVkSW5mbyk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQv
RHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaDoKKwogMjAxMC0wNC0xOCAgUm9iZXJ0IEhvZ2FuICA8
cm9iZXJ0QHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gSGF1c21hbm4u
CkluZGV4OiBXZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJl
ZVN1cHBvcnRRdC5jcHAJKHJldmlzaW9uIDU3ODEwKQorKysgV2ViS2l0L3F0L1dlYkNvcmVTdXBw
b3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjMsNiAr
MjMsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkR1bXBSZW5kZXJUcmVlU3Vw
cG9ydFF0LmgiCiAKKyNpbmNsdWRlICJDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uaCIKICNp
bmNsdWRlICJDb250ZXh0TWVudS5oIgogI2luY2x1ZGUgIkNvbnRleHRNZW51Q2xpZW50UXQuaCIK
ICNpbmNsdWRlICJDb250ZXh0TWVudUNvbnRyb2xsZXIuaCIKQEAgLTM2NCwzICszNjUsMjIgQEAg
Ym9vbCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6aXNDb21tYW5kRQogewogICAgIHJldHVybiBw
YWdlLT5oYW5kbGUoKS0+cGFnZS0+Zm9jdXNDb250cm9sbGVyKCktPmZvY3VzZWRPck1haW5GcmFt
ZSgpLT5lZGl0b3IoKS0+Y29tbWFuZChuYW1lKS5pc0VuYWJsZWQoKTsKIH0KKwordm9pZCBEdW1w
UmVuZGVyVHJlZVN1cHBvcnRRdDo6Y29tcHV0ZWRTdHlsZUluY2x1ZGluZ1Zpc2l0ZWRJbmZvKFFX
ZWJGcmFtZSogZnJhbWUsIGNvbnN0IFFTdHJpbmcmIGlkLCBRVmFyaWFudE1hcCYgaW5mb01hcCkK
K3sKKyAgICBGcmFtZSogY29yZUZyYW1lID0gUVdlYkZyYW1lUHJpdmF0ZTo6Y29yZShmcmFtZSk7
CisgICAgaWYgKCFjb3JlRnJhbWUpCisgICAgICAgIHJldHVybjsKKworICAgIEVsZW1lbnQqIGVs
ZW1lbnQgPSBjb3JlRnJhbWUtPmRvY3VtZW50KCktPmdldEVsZW1lbnRCeUlkKEF0b21pY1N0cmlu
ZyhpZCkpOworICAgIGlmICghZWxlbWVudCkKKyAgICAgICAgcmV0dXJuOworCisgICAgUmVmUHRy
PENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbj4gc3R5bGUgPSBjb21wdXRlZFN0eWxlKGVsZW1l
bnQsIHRydWUpOworICAgIGZvciAoaW50IGkgPSAwOyBpIDwgc3R5bGUtPmxlbmd0aCgpOyBpKysp
IHsKKyAgICAgICAgUVN0cmluZyBuYW1lID0gc3R5bGUtPml0ZW0oaSk7CisgICAgICAgIFFTdHJp
bmcgdmFsdWUgPSAoc3RhdGljX2Nhc3Q8Q1NTU3R5bGVEZWNsYXJhdGlvbio+KHN0eWxlLmdldCgp
KSktPmdldFByb3BlcnR5VmFsdWUobmFtZSk7CisgICAgICAgIGluZm9NYXBbbmFtZV0gPSBRVmFy
aWFudCh2YWx1ZSk7CisgICAgfQorfQorCkluZGV4OiBXZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQv
RHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvcXQvV2ViQ29y
ZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaAkocmV2aXNpb24gNTc4MTApCisrKyBX
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMjQsNiArMjQsNyBAQAogI2RlZmluZSBEdW1wUmVuZGVyVHJlZVN1cHBvcnRR
dF9oCiAKICNpbmNsdWRlICJxd2Via2l0Z2xvYmFsLmgiCisjaW5jbHVkZSA8UVZhcmlhbnQ+CiAK
IGNsYXNzIFFXZWJQYWdlOwogY2xhc3MgUVdlYkZyYW1lOwpAQCAtNzgsNiArNzksNyBAQCBwdWJs
aWM6CiAgICAgc3RhdGljIHZvaWQgcmVzZXRPcmlnaW5BY2Nlc3NXaGl0ZUxpc3RzKCk7CiAKICAg
ICBzdGF0aWMgaW50IHdvcmtlclRocmVhZENvdW50KCk7CisgICAgc3RhdGljIHZvaWQgY29tcHV0
ZWRTdHlsZUluY2x1ZGluZ1Zpc2l0ZWRJbmZvKFFXZWJGcmFtZSogZnJhbWUsIGNvbnN0IFFTdHJp
bmcmIGlkLCBRVmFyaWFudE1hcCYgaW5mb01hcCk7CiB9OwogCiAjZW5kaWYKSW5kZXg6IFdlYktp
dFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDU3ODEwKQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMTAtMDQtMTkgIFlpIFNoZW4gIDx5aS40LnNoZW5Abm9raWEuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0g
QWRkIExheW91dFRlc3RDb250cm9sbGVyIGludGVyZmFjZTogY29tcHV0ZWRTdHlsZUluY2x1ZGlu
Z1Zpc2l0ZWRJbmZvCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0zNzc1OQorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRy
b2xsZXJRdC5jcHA6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6Y29tcHV0ZWRTdHls
ZUluY2x1ZGluZ1Zpc2l0ZWRJbmZvKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9MYXlv
dXRUZXN0Q29udHJvbGxlclF0Lmg6CisKIDIwMTAtMDQtMTkgIEtlbnQgVGFtdXJhICA8dGtlbnRA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNoaW5pY2hpcm8gSGFtYWppLgpJ
bmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJR
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0
VGVzdENvbnRyb2xsZXJRdC5jcHAJKHJldmlzaW9uIDU3ODEwKQorKysgV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJXb3JrUXVldWVJdGVtUXQuaCIKICNpbmNsdWRl
IDxRRGlyPgogI2luY2x1ZGUgPFFMb2NhbGU+CisjaW5jbHVkZSA8UU1hcD4KICNpbmNsdWRlIDxx
d2Vic2V0dGluZ3MuaD4KIAogZXh0ZXJuIHZvaWQgcXRfd3J0X3NldFZpZXdNb2RlKFFXZWJQYWdl
KiBwYWdlLCBjb25zdCBRU3RyaW5nJiBtb2RlKTsKQEAgLTYwOSw1ICs2MTAsMTQgQEAgYm9vbCBM
YXlvdXRUZXN0Q29udHJvbGxlcjo6aXNDb21tYW5kRW5hYgogICAgIHJldHVybiBEdW1wUmVuZGVy
VHJlZVN1cHBvcnRRdDo6aXNDb21tYW5kRW5hYmxlZChtX2RydC0+d2ViUGFnZSgpLCBuYW1lKTsK
IH0KIAorUVZhcmlhbnRNYXAgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmNvbXB1dGVkU3R5bGVJbmNs
dWRpbmdWaXNpdGVkSW5mbyhjb25zdCBRVmFyaWFudCYgb2JqKSBjb25zdAoreworICAgIFFWYXJp
YW50TWFwIHJldDsKKyAgICBRTWFwPFFTdHJpbmcsIFFWYXJpYW50PiBtYXAgPSBvYmoudG9NYXAo
KTsKKyAgICBRU3RyaW5nIGlkID0gbWFwLnZhbHVlKCJpZCIpLnRvU3RyaW5nKCk7CisgICAgRHVt
cFJlbmRlclRyZWVTdXBwb3J0UXQ6OmNvbXB1dGVkU3R5bGVJbmNsdWRpbmdWaXNpdGVkSW5mbyht
X2RydC0+d2ViUGFnZSgpLT5tYWluRnJhbWUoKSwgaWQsIHJldCk7CisKKyAgICByZXR1cm4gcmV0
OworfQogY29uc3QgdW5zaWduZWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6Om1heFZpZXdXaWR0aCA9
IDgwMDsKIGNvbnN0IHVuc2lnbmVkIExheW91dFRlc3RDb250cm9sbGVyOjptYXhWaWV3SGVpZ2h0
ID0gNjAwOwpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENv
bnRyb2xsZXJRdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0
L0xheW91dFRlc3RDb250cm9sbGVyUXQuaAkocmV2aXNpb24gNTc4MTApCisrKyBXZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTE3NSw2ICsxNzUsNyBAQCBwdWJsaWMgc2xvdHM6CiAgICAgaW50IHBhZ2VOdW1iZXJG
b3JFbGVtZW50QnlJZChjb25zdCBRU3RyaW5nJiBpZCwgZmxvYXQgd2lkdGggPSAwLCBmbG9hdCBo
ZWlnaHQgPSAwKTsKICAgICBpbnQgbnVtYmVyT2ZQYWdlcyhmbG9hdCB3aWR0aCA9IG1heFZpZXdX
aWR0aCwgZmxvYXQgaGVpZ2h0ID0gbWF4Vmlld0hlaWdodCk7CiAgICAgYm9vbCBjYWxsU2hvdWxk
Q2xvc2VPbldlYlZpZXcoKTsKKyAgICBRVmFyaWFudE1hcCBjb21wdXRlZFN0eWxlSW5jbHVkaW5n
VmlzaXRlZEluZm8oY29uc3QgUVZhcmlhbnQmIG9iaikgY29uc3Q7CiAKICAgICAvKgogICAgICAg
ICBQb2xpY3kgdmFsdWVzOiAnb24nLCAnYXV0bycgb3IgJ29mZicuCg==
</data>
<flag name="review"
          id="37472"
          type_id="1"
          status="-"
          setter="hausmann"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53709</attachid>
            <date>2010-04-19 13:01:31 -0700</date>
            <delta_ts>2010-04-21 18:13:41 -0700</delta_ts>
            <desc>returns the qvariantmap as return value in DumpRenderTreeSupportQt</desc>
            <filename>bug37759.patch</filename>
            <type>text/plain</type>
            <size>5090</size>
            <attacher name="Yi Shen">max.hong.shen</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0NoYW5n
ZUxvZwkocmV2aXNpb24gNTc4MjgpCisrKyBXZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTAtMDQtMTkgIFlpIFNoZW4gIDx5aS40LnNoZW5Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFtRdF0gQWRkIExheW91dFRlc3RDb250cm9sbGVyIGludGVyZmFjZTogY29tcHV0ZWRTdHlsZUlu
Y2x1ZGluZ1Zpc2l0ZWRJbmZvCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0zNzc1OQorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRy
ZWVTdXBwb3J0UXQuY3BwOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OmNvbXB1
dGVkU3R5bGVJbmNsdWRpbmdWaXNpdGVkSW5mbyk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQv
RHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaDoKKwogMjAxMC0wNC0xOSAgRGF2ZSBNb29yZSAgPGRh
dmVtb29yZUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGltaXRyaSBHbGF6
a292LgpJbmRleDogV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9y
dFF0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRl
clRyZWVTdXBwb3J0UXQuY3BwCShyZXZpc2lvbiA1NzgyNikKKysrIFdlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIz
LDYgKzIzLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJEdW1wUmVuZGVyVHJl
ZVN1cHBvcnRRdC5oIgogCisjaW5jbHVkZSAiQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmgi
CiAjaW5jbHVkZSAiQ29udGV4dE1lbnUuaCIKICNpbmNsdWRlICJDb250ZXh0TWVudUNsaWVudFF0
LmgiCiAjaW5jbHVkZSAiQ29udGV4dE1lbnVDb250cm9sbGVyLmgiCkBAIC0zNjQsMyArMzY1LDI0
IEBAIGJvb2wgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OmlzQ29tbWFuZEUKIHsKICAgICByZXR1
cm4gcGFnZS0+aGFuZGxlKCktPnBhZ2UtPmZvY3VzQ29udHJvbGxlcigpLT5mb2N1c2VkT3JNYWlu
RnJhbWUoKS0+ZWRpdG9yKCktPmNvbW1hbmQobmFtZSkuaXNFbmFibGVkKCk7CiB9CisKK1FWYXJp
YW50TWFwIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Ojpjb21wdXRlZFN0eWxlSW5jbHVkaW5nVmlz
aXRlZEluZm8oUVdlYkZyYW1lKiBmcmFtZSwgY29uc3QgUVN0cmluZyYgaWQpCit7CisgICAgUVZh
cmlhbnRNYXAgcmV0OworICAgIEZyYW1lKiBjb3JlRnJhbWUgPSBRV2ViRnJhbWVQcml2YXRlOjpj
b3JlKGZyYW1lKTsKKyAgICBpZiAoIWNvcmVGcmFtZSkKKyAgICAgICAgcmV0dXJuIHJldDsKKwor
ICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBjb3JlRnJhbWUtPmRvY3VtZW50KCktPmdldEVsZW1lbnRC
eUlkKEF0b21pY1N0cmluZyhpZCkpOworICAgIGlmICghZWxlbWVudCkKKyAgICAgICAgcmV0dXJu
IHJldDsKKworICAgIFJlZlB0cjxDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24+IHN0eWxlID0g
Y29tcHV0ZWRTdHlsZShlbGVtZW50LCB0cnVlKTsKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IHN0
eWxlLT5sZW5ndGgoKTsgaSsrKSB7CisgICAgICAgIFFTdHJpbmcgbmFtZSA9IHN0eWxlLT5pdGVt
KGkpOworICAgICAgICBRU3RyaW5nIHZhbHVlID0gKHN0YXRpY19jYXN0PENTU1N0eWxlRGVjbGFy
YXRpb24qPihzdHlsZS5nZXQoKSkpLT5nZXRQcm9wZXJ0eVZhbHVlKG5hbWUpOworICAgICAgICBy
ZXRbbmFtZV0gPSBRVmFyaWFudCh2YWx1ZSk7CisgICAgfQorICAgIHJldHVybiByZXQ7Cit9CisK
SW5kZXg6IFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1
cHBvcnRRdC5oCShyZXZpc2lvbiA1NzgyNikKKysrIFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9E
dW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw2ICsyNCw3IEBA
CiAjZGVmaW5lIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0X2gKIAogI2luY2x1ZGUgInF3ZWJraXRn
bG9iYWwuaCIKKyNpbmNsdWRlIDxRVmFyaWFudD4KIAogY2xhc3MgUVdlYlBhZ2U7CiBjbGFzcyBR
V2ViRnJhbWU7CkBAIC03OCw2ICs3OSw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCByZXNl
dE9yaWdpbkFjY2Vzc1doaXRlTGlzdHMoKTsKIAogICAgIHN0YXRpYyBpbnQgd29ya2VyVGhyZWFk
Q291bnQoKTsKKyAgICBzdGF0aWMgUVZhcmlhbnRNYXAgY29tcHV0ZWRTdHlsZUluY2x1ZGluZ1Zp
c2l0ZWRJbmZvKFFXZWJGcmFtZSogZnJhbWUsIGNvbnN0IFFTdHJpbmcmIGlkKTsKKwogfTsKIAog
I2VuZGlmCkluZGV4OiBXZWJLaXRUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0
VG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA1NzgyOCkKKysrIFdlYktpdFRvb2xzL0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDEwLTA0LTE5ICBZaSBTaGVuICA8
eWkuNC5zaGVuQG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBbUXRdIEFkZCBMYXlvdXRUZXN0Q29udHJvbGxlciBpbnRlcmZhY2U6IGNv
bXB1dGVkU3R5bGVJbmNsdWRpbmdWaXNpdGVkSW5mbworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzc3NTkKKworICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRy
b2xsZXI6OmNvbXB1dGVkU3R5bGVJbmNsdWRpbmdWaXNpdGVkSW5mbyk6CisgICAgICAgICogRHVt
cFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oOgorCiAyMDEwLTA0LTE5ICBK
YW1lcyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgYWJhcnRoLgpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVz
dENvbnRyb2xsZXJRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAJKHJldmlzaW9uIDU3ODI2KQorKysgV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJXb3JrUXVldWVJdGVtUXQu
aCIKICNpbmNsdWRlIDxRRGlyPgogI2luY2x1ZGUgPFFMb2NhbGU+CisjaW5jbHVkZSA8UU1hcD4K
ICNpbmNsdWRlIDxxd2Vic2V0dGluZ3MuaD4KIAogZXh0ZXJuIHZvaWQgcXRfd3J0X3NldFZpZXdN
b2RlKFFXZWJQYWdlKiBwYWdlLCBjb25zdCBRU3RyaW5nJiBtb2RlKTsKQEAgLTYwOSw1ICs2MTAs
MTMgQEAgYm9vbCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6aXNDb21tYW5kRW5hYgogICAgIHJldHVy
biBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6aXNDb21tYW5kRW5hYmxlZChtX2RydC0+d2ViUGFn
ZSgpLCBuYW1lKTsKIH0KIAorUVZhcmlhbnRNYXAgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmNvbXB1
dGVkU3R5bGVJbmNsdWRpbmdWaXNpdGVkSW5mbyhjb25zdCBRVmFyaWFudCYgb2JqKSBjb25zdAor
eworICAgIFFNYXA8UVN0cmluZywgUVZhcmlhbnQ+IG1hcCA9IG9iai50b01hcCgpOworICAgIFFT
dHJpbmcgaWQgPSBtYXAudmFsdWUoImlkIikudG9TdHJpbmcoKTsKKworICAgIHJldHVybiBEdW1w
UmVuZGVyVHJlZVN1cHBvcnRRdDo6Y29tcHV0ZWRTdHlsZUluY2x1ZGluZ1Zpc2l0ZWRJbmZvKG1f
ZHJ0LT53ZWJQYWdlKCktPm1haW5GcmFtZSgpLCBpZCk7Cit9CisKIGNvbnN0IHVuc2lnbmVkIExh
eW91dFRlc3RDb250cm9sbGVyOjptYXhWaWV3V2lkdGggPSA4MDA7CiBjb25zdCB1bnNpZ25lZCBM
YXlvdXRUZXN0Q29udHJvbGxlcjo6bWF4Vmlld0hlaWdodCA9IDYwMDsKSW5kZXg6IFdlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0
LmgJKHJldmlzaW9uIDU3ODI2KQorKysgV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5
b3V0VGVzdENvbnRyb2xsZXJRdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzUsNiArMTc1LDcgQEAg
cHVibGljIHNsb3RzOgogICAgIGludCBwYWdlTnVtYmVyRm9yRWxlbWVudEJ5SWQoY29uc3QgUVN0
cmluZyYgaWQsIGZsb2F0IHdpZHRoID0gMCwgZmxvYXQgaGVpZ2h0ID0gMCk7CiAgICAgaW50IG51
bWJlck9mUGFnZXMoZmxvYXQgd2lkdGggPSBtYXhWaWV3V2lkdGgsIGZsb2F0IGhlaWdodCA9IG1h
eFZpZXdIZWlnaHQpOwogICAgIGJvb2wgY2FsbFNob3VsZENsb3NlT25XZWJWaWV3KCk7CisgICAg
UVZhcmlhbnRNYXAgY29tcHV0ZWRTdHlsZUluY2x1ZGluZ1Zpc2l0ZWRJbmZvKGNvbnN0IFFWYXJp
YW50JiBvYmopIGNvbnN0OwogCiAgICAgLyoKICAgICAgICAgUG9saWN5IHZhbHVlczogJ29uJywg
J2F1dG8nIG9yICdvZmYnLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53815</attachid>
            <date>2010-04-20 07:26:49 -0700</date>
            <delta_ts>2010-05-13 09:03:33 -0700</delta_ts>
            <desc>unskip the tests</desc>
            <filename>bug37759.patch</filename>
            <type>text/plain</type>
            <size>6543</size>
            <attacher name="Yi Shen">max.hong.shen</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0NoYW5n
ZUxvZwkocmV2aXNpb24gNTc4ODYpCisrKyBXZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTAtMDQtMjAgIFlpIFNoZW4gIDx5aS40LnNoZW5Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFtRdF0gQWRkIExheW91dFRlc3RDb250cm9sbGVyIGludGVyZmFjZTogY29tcHV0ZWRTdHlsZUlu
Y2x1ZGluZ1Zpc2l0ZWRJbmZvCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0zNzc1OQorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRy
ZWVTdXBwb3J0UXQuY3BwOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OmNvbXB1
dGVkU3R5bGVJbmNsdWRpbmdWaXNpdGVkSW5mbyk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQv
RHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaDoKKwogMjAxMC0wNC0xOSAgSm9jZWx5biBUdXJjb3R0
ZSAgPGpvY2VseW4udHVyY290dGVAbm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNp
bW9uIEhhdXNtYW5uLgpJbmRleDogV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJU
cmVlU3VwcG9ydFF0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQv
RHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwCShyZXZpc2lvbiA1Nzg4NikKKysrIFdlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTIzLDYgKzIzLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJEdW1w
UmVuZGVyVHJlZVN1cHBvcnRRdC5oIgogCisjaW5jbHVkZSAiQ1NTQ29tcHV0ZWRTdHlsZURlY2xh
cmF0aW9uLmgiCiAjaW5jbHVkZSAiQ29udGV4dE1lbnUuaCIKICNpbmNsdWRlICJDb250ZXh0TWVu
dUNsaWVudFF0LmgiCiAjaW5jbHVkZSAiQ29udGV4dE1lbnVDb250cm9sbGVyLmgiCkBAIC0zNjQs
MyArMzY1LDI0IEBAIGJvb2wgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OmlzQ29tbWFuZEUKIHsK
ICAgICByZXR1cm4gcGFnZS0+aGFuZGxlKCktPnBhZ2UtPmZvY3VzQ29udHJvbGxlcigpLT5mb2N1
c2VkT3JNYWluRnJhbWUoKS0+ZWRpdG9yKCktPmNvbW1hbmQobmFtZSkuaXNFbmFibGVkKCk7CiB9
CisKK1FWYXJpYW50TWFwIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Ojpjb21wdXRlZFN0eWxlSW5j
bHVkaW5nVmlzaXRlZEluZm8oUVdlYkZyYW1lKiBmcmFtZSwgY29uc3QgUVN0cmluZyYgaWQpCit7
CisgICAgUVZhcmlhbnRNYXAgcmV0OworICAgIEZyYW1lKiBjb3JlRnJhbWUgPSBRV2ViRnJhbWVQ
cml2YXRlOjpjb3JlKGZyYW1lKTsKKyAgICBpZiAoIWNvcmVGcmFtZSkKKyAgICAgICAgcmV0dXJu
IHJldDsKKworICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBjb3JlRnJhbWUtPmRvY3VtZW50KCktPmdl
dEVsZW1lbnRCeUlkKEF0b21pY1N0cmluZyhpZCkpOworICAgIGlmICghZWxlbWVudCkKKyAgICAg
ICAgcmV0dXJuIHJldDsKKworICAgIFJlZlB0cjxDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24+
IHN0eWxlID0gY29tcHV0ZWRTdHlsZShlbGVtZW50LCB0cnVlKTsKKyAgICBmb3IgKGludCBpID0g
MDsgaSA8IHN0eWxlLT5sZW5ndGgoKTsgaSsrKSB7CisgICAgICAgIFFTdHJpbmcgbmFtZSA9IHN0
eWxlLT5pdGVtKGkpOworICAgICAgICBRU3RyaW5nIHZhbHVlID0gKHN0YXRpY19jYXN0PENTU1N0
eWxlRGVjbGFyYXRpb24qPihzdHlsZS5nZXQoKSkpLT5nZXRQcm9wZXJ0eVZhbHVlKG5hbWUpOwor
ICAgICAgICByZXRbbmFtZV0gPSBRVmFyaWFudCh2YWx1ZSk7CisgICAgfQorICAgIHJldHVybiBy
ZXQ7Cit9CisKSW5kZXg6IFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1
cHBvcnRRdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVu
ZGVyVHJlZVN1cHBvcnRRdC5oCShyZXZpc2lvbiA1Nzg4NikKKysrIFdlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw2
ICsyNCw3IEBACiAjZGVmaW5lIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0X2gKIAogI2luY2x1ZGUg
InF3ZWJraXRnbG9iYWwuaCIKKyNpbmNsdWRlIDxRVmFyaWFudD4KIAogY2xhc3MgUVdlYlBhZ2U7
CiBjbGFzcyBRV2ViRnJhbWU7CkBAIC03OCw2ICs3OSw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMg
dm9pZCByZXNldE9yaWdpbkFjY2Vzc1doaXRlTGlzdHMoKTsKIAogICAgIHN0YXRpYyBpbnQgd29y
a2VyVGhyZWFkQ291bnQoKTsKKyAgICBzdGF0aWMgUVZhcmlhbnRNYXAgY29tcHV0ZWRTdHlsZUlu
Y2x1ZGluZ1Zpc2l0ZWRJbmZvKFFXZWJGcmFtZSogZnJhbWUsIGNvbnN0IFFTdHJpbmcmIGlkKTsK
IH07CiAKICNlbmRpZgpJbmRleDogV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYktpdFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gNTc4ODYpCisrKyBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAxMC0wNC0yMCAgWWkg
U2hlbiAgPHlpLjQuc2hlbkBub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgW1F0XSBBZGQgTGF5b3V0VGVzdENvbnRyb2xsZXIgaW50ZXJm
YWNlOiBjb21wdXRlZFN0eWxlSW5jbHVkaW5nVmlzaXRlZEluZm8KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3NzU5CisKKyAgICAgICAgKiBEdW1wUmVu
ZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcDoKKyAgICAgICAgKExheW91dFRl
c3RDb250cm9sbGVyOjpjb21wdXRlZFN0eWxlSW5jbHVkaW5nVmlzaXRlZEluZm8pOgorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaDoKKwogMjAxMC0w
NC0yMCAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgU2hpbmljaGlybyBIYW1hamkuCkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcAkocmV2aXNpb24g
NTc4ODYpCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJv
bGxlclF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIldv
cmtRdWV1ZUl0ZW1RdC5oIgogI2luY2x1ZGUgPFFEaXI+CiAjaW5jbHVkZSA8UUxvY2FsZT4KKyNp
bmNsdWRlIDxRTWFwPgogI2luY2x1ZGUgPHF3ZWJzZXR0aW5ncy5oPgogCiBleHRlcm4gdm9pZCBx
dF93cnRfc2V0Vmlld01vZGUoUVdlYlBhZ2UqIHBhZ2UsIGNvbnN0IFFTdHJpbmcmIG1vZGUpOwpA
QCAtNjA5LDUgKzYxMCwxMyBAQCBib29sIExheW91dFRlc3RDb250cm9sbGVyOjppc0NvbW1hbmRF
bmFiCiAgICAgcmV0dXJuIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Ojppc0NvbW1hbmRFbmFibGVk
KG1fZHJ0LT53ZWJQYWdlKCksIG5hbWUpOwogfQogCitRVmFyaWFudE1hcCBMYXlvdXRUZXN0Q29u
dHJvbGxlcjo6Y29tcHV0ZWRTdHlsZUluY2x1ZGluZ1Zpc2l0ZWRJbmZvKGNvbnN0IFFWYXJpYW50
JiBvYmopIGNvbnN0Cit7CisgICAgUU1hcDxRU3RyaW5nLCBRVmFyaWFudD4gbWFwID0gb2JqLnRv
TWFwKCk7CisgICAgUVN0cmluZyBpZCA9IG1hcC52YWx1ZSgiaWQiKS50b1N0cmluZygpOworCisg
ICAgcmV0dXJuIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Ojpjb21wdXRlZFN0eWxlSW5jbHVkaW5n
VmlzaXRlZEluZm8obV9kcnQtPndlYlBhZ2UoKS0+bWFpbkZyYW1lKCksIGlkKTsKK30KKwogY29u
c3QgdW5zaWduZWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6Om1heFZpZXdXaWR0aCA9IDgwMDsKIGNv
bnN0IHVuc2lnbmVkIExheW91dFRlc3RDb250cm9sbGVyOjptYXhWaWV3SGVpZ2h0ID0gNjAwOwpJ
bmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJR
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRl
c3RDb250cm9sbGVyUXQuaAkocmV2aXNpb24gNTc4ODYpCisrKyBXZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmgJKHdvcmtpbmcgY29weSkKQEAgLTE3
NSw2ICsxNzUsNyBAQCBwdWJsaWMgc2xvdHM6CiAgICAgaW50IHBhZ2VOdW1iZXJGb3JFbGVtZW50
QnlJZChjb25zdCBRU3RyaW5nJiBpZCwgZmxvYXQgd2lkdGggPSAwLCBmbG9hdCBoZWlnaHQgPSAw
KTsKICAgICBpbnQgbnVtYmVyT2ZQYWdlcyhmbG9hdCB3aWR0aCA9IG1heFZpZXdXaWR0aCwgZmxv
YXQgaGVpZ2h0ID0gbWF4Vmlld0hlaWdodCk7CiAgICAgYm9vbCBjYWxsU2hvdWxkQ2xvc2VPbldl
YlZpZXcoKTsKKyAgICBRVmFyaWFudE1hcCBjb21wdXRlZFN0eWxlSW5jbHVkaW5nVmlzaXRlZElu
Zm8oY29uc3QgUVZhcmlhbnQmIG9iaikgY29uc3Q7CiAKICAgICAvKgogICAgICAgICBQb2xpY3kg
dmFsdWVzOiAnb24nLCAnYXV0bycgb3IgJ29mZicuCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA1Nzg4NikK
KysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDEwLTA0LTIwICBZaSBTaGVuICA8eWkuNC5zaGVuQG5va2lhLmNvbT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIFVuc2tpcCBhIGJ1bmNo
IG9mIG5vdyBwYXNzaW5nIHRlc3RzLCB3aGljaCB3YXMgc2tpcHBlZCBiZWNhdXNlIG9mIAorICAg
ICAgICBtaXNzaW5nIExheW91dFRlc3RDb250cm9sbGVyOjpjb21wdXRlZFN0eWxlSW5jbHVkaW5n
VmlzaXRlZEluZm8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTM3NzU5CisKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9Ta2lwcGVkOgorCiAyMDEwLTA0LTIw
ICBEaXJrIFNjaHVsemUgIDxrcml0QHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
Tmlrb2xhcyBaaW1tZXJtYW5uLgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBl
ZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCShyZXZpc2lv
biA1Nzg4NikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQJKHdvcmtpbmcgY29w
eSkKQEAgLTMzNywxMiArMzM3LDYgQEAgaHR0cC90ZXN0cy9wbHVnaW5zL3RoaXJkLXBhcnR5LWNv
b2tpZS1hYwogIyBNaXNzaW5nIGxheW91dFRlc3RDb250cm9sbGVyLmV2YWx1YXRlU2NyaXB0SW5J
c29sYXRlZFdvcmxkKCkKIHN0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay1p
c29sYXRlZC13b3JsZC5odG1sCiAKLSMgTWlzc2luZyBsYXlvdXRUZXN0Q29udHJvbGxlci5jb21w
dXRlZFN0eWxlSW5jbHVkaW5nVmlzaXRlZEluZm8oKQotZmFzdC9oaXN0b3J5L211bHRpcGxlLWNs
YXNzZXMtdmlzaXRlZC5odG1sCi1mYXN0L2hpc3RvcnkvbmVzdGVkLXZpc2l0ZWQtdGVzdC5odG1s
Ci1mYXN0L2hpc3Rvcnkvc2VsZi1pcy12aXNpdGVkLmh0bWwKLWZhc3QvaGlzdG9yeS9zaWJsaW5n
LXZpc2l0ZWQtdGVzdC5odG1sCi0KICMgTWlzc2luZyBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1w
V2lsbENhY2hlUmVzcG9uc2UKIGh0dHAvdGVzdHMvbWlzYy93aWxsQ2FjaGVSZXNwb25zZS1kZWxl
Z2F0ZS1jYWxsYmFjay5odG1sCiAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICMK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>55986</attachid>
            <date>2010-05-13 09:03:33 -0700</date>
            <delta_ts>2010-05-13 09:38:24 -0700</delta_ts>
            <desc>patch v6</desc>
            <filename>0001-2010-05-13-Antonio-Gomes-tonikitoo-webkit.org-Yi-She.patch</filename>
            <type>text/plain</type>
            <size>11139</size>
            <attacher name="Antonio Gomes">tonikitoo</attacher>
            
              <data encoding="base64">RnJvbSAxODMxZTNjNTVkY2Q2MjI0ODAwZDU4MDVlNDk0MjRlOWVmZjE5YzAxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbmlvIEdvbWVzIDx0b25pa2l0b29Ad2Via2l0Lm9yZz4K
RGF0ZTogVGh1LCAxMyBNYXkgMjAxMCAxMDowMDowNCAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIDIw
MTAtMDUtMTMgIEFudG9uaW8gR29tZXMgIDx0b25pa2l0b29Ad2Via2l0Lm9yZz4sIFlpIFNoZW4g
PHlpLjQuc2hlbkBub2tpYS5jb20+CgogICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgog
ICAgW1F0XSBBZGQgTGF5b3V0VGVzdENvbnRyb2xsZXIgaW50ZXJmYWNlOiBjb21wdXRlZFN0eWxl
SW5jbHVkaW5nVmlzaXRlZEluZm8KICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0zNzc1OQoKICAgIFdlYktpdC9xdDoKCiAgICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBS
ZW5kZXJUcmVlU3VwcG9ydFF0LmNwcDoKICAgIChEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6bWFy
a2VyVGV4dEZvckxpc3RJdGVtKToKICAgIChEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6Y29tcHV0
ZWRTdHlsZUluY2x1ZGluZ1Zpc2l0ZWRJbmZvKToKICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJl
bmRlclRyZWVTdXBwb3J0UXQuaDoKCiAgICBXZWJLaXRUb29sczoKCiAgICAqIER1bXBSZW5kZXJU
cmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwOgogICAgKExheW91dFRlc3RDb250cm9s
bGVyOjpjb21wdXRlZFN0eWxlSW5jbHVkaW5nVmlzaXRlZEluZm8pOgogICAgKiBEdW1wUmVuZGVy
VHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0Lmg6CgogICAgTGF5b3V0VGVzdHM6CgogICAg
KiBwbGF0Zm9ybS9xdC9Ta2lwcGVkOgotLS0KIExheW91dFRlc3RzL0NoYW5nZUxvZyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHwgICAgOSArKysrKysrKysKIExheW91dFRlc3RzL3BsYXRm
b3JtL3F0L1NraXBwZWQgICAgICAgICAgICAgICAgICAgIHwgICAgNiAtLS0tLS0KIFdlYktpdC9x
dC9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxMyArKysrKysr
KysrKysrCiAuLi4vcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3Bw
ICB8ICAgMTkgKysrKysrKysrKysrKysrKysrKwogV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1
bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmggfCAgICA2ICsrKy0tLQogV2ViS2l0VG9vbHMvQ2hhbmdl
TG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEzICsrKysrKysrKysrKysKIC4u
Li9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcCAgIHwgICAgNiAr
KysrKy0KIC4uLi9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmggICAg
IHwgICAgMSArCiA4IGZpbGVzIGNoYW5nZWQsIDYzIGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9u
cygtKQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCA0OWVkZGFmLi5kNTc4OWY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDggKzEsMTcgQEAKKzIw
MTAtMDUtMTMgIEFudG9uaW8gR29tZXMgIDx0b25pa2l0b29Ad2Via2l0Lm9yZz4sIFlpIFNoZW4g
PHlpLjQuc2hlbkBub2tpYS5jb20+CisKKwlSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
CVtRdF0gQWRkIExheW91dFRlc3RDb250cm9sbGVyIGludGVyZmFjZTogY29tcHV0ZWRTdHlsZUlu
Y2x1ZGluZ1Zpc2l0ZWRJbmZvCisJaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTM3NzU5CisKKwkqIHBsYXRmb3JtL3F0L1NraXBwZWQ6CisKIDIwMTAtMDUtMTMgIFlvc2hp
a2kgSGF5YXNoaSAgPHloYXlhc2hpQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
RGFyaW4gQWRsZXIuCiAKICAgICAgICAgRml4IGEgYnVnIGluIGhhbmRsZVJ1bkluQ2hpbGQgd2hl
cmUgb25seSB0aGUgZmlyc3QgY2hpbGQgcnVuLWluIGJsb2NrCiAgICAgICAgIGlzIGluc2VydGVk
IGJlY2F1c2UgcmVtb3ZlQ2hpbGROb2RlIGNsZWFycyBuZXh0IHNpYmxpbmcuCiAgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTA0NwogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
cXQvU2tpcHBlZAppbmRleCAzZGY3N2MyLi5jMDUyMGU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBw
ZWQKQEAgLTMxMywyMiArMzEzLDE2IEBAIGVkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLWJl
c2lkZS1jci1zcGFuLmh0bWwKIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1lc3NhZ2UtY2xv
bmUtZnJhbWVzLmh0bWwKIAogIyBNaXNzaW5nIGxheW91dFRlc3RDb250cm9sbGVyLnNldEFsd2F5
c0FjY2VwdENvb2tpZXMoKQogaHR0cC90ZXN0cy9wbHVnaW5zL3RoaXJkLXBhcnR5LWNvb2tpZS1h
Y2NlcHQtcG9saWN5Lmh0bWwKIAogIyBNaXNzaW5nIGxheW91dFRlc3RDb250cm9sbGVyLmV2YWx1
YXRlU2NyaXB0SW5Jc29sYXRlZFdvcmxkKCkKIHN0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1jcmVhdGlv
bi1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sCiAKLSMgTWlzc2luZyBsYXlvdXRUZXN0Q29u
dHJvbGxlci5jb21wdXRlZFN0eWxlSW5jbHVkaW5nVmlzaXRlZEluZm8oKQotZmFzdC9oaXN0b3J5
L211bHRpcGxlLWNsYXNzZXMtdmlzaXRlZC5odG1sCi1mYXN0L2hpc3RvcnkvbmVzdGVkLXZpc2l0
ZWQtdGVzdC5odG1sCi1mYXN0L2hpc3Rvcnkvc2VsZi1pcy12aXNpdGVkLmh0bWwKLWZhc3QvaGlz
dG9yeS9zaWJsaW5nLXZpc2l0ZWQtdGVzdC5odG1sCi0KICMgTWlzc2luZyBsYXlvdXRUZXN0Q29u
dHJvbGxlci5kdW1wV2lsbENhY2hlUmVzcG9uc2UKIGh0dHAvdGVzdHMvbWlzYy93aWxsQ2FjaGVS
ZXNwb25zZS1kZWxlZ2F0ZS1jYWxsYmFjay5odG1sCiAjID09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICMK
IAogIyAtLS0tLS0tIG1pc3NpbmcgZXZlbnRTZW5kZXIuYmVnaW5EcmFnV2l0aEZpbGVzCiBlZGl0
aW5nL3Bhc3RlYm9hcmQvZGF0YVRyYW5zZmVyLXNldERhdGEtZ2V0RGF0YS5odG1sCiBlZGl0aW5n
L3Bhc3RlYm9hcmQvZmlsZS1pbnB1dC1maWxlcy1hY2Nlc3MuaHRtbAogZmFzdC9kb20vV2luZG93
L3dpbmRvdy1wb3N0bWVzc2FnZS1jbG9uZS5odG1sCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQ2hh
bmdlTG9nIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCAxYjZiMzQ1Li4zODM5ZWQ3IDEwMDY0
NAotLS0gYS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAg
LTEsOCArMSwyMSBAQAorMjAxMC0wNS0xMyAgQW50b25pbyBHb21lcyAgPHRvbmlraXRvb0B3ZWJr
aXQub3JnPiwgWWkgU2hlbiA8eWkuNC5zaGVuQG5va2lhLmNvbT4KKworCVJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisJW1F0XSBBZGQgTGF5b3V0VGVzdENvbnRyb2xsZXIgaW50ZXJmYWNl
OiBjb21wdXRlZFN0eWxlSW5jbHVkaW5nVmlzaXRlZEluZm8KKwlodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzc3NTkKKworCisJKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVu
ZGVyVHJlZVN1cHBvcnRRdC5jcHA6CisJKER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjptYXJrZXJU
ZXh0Rm9yTGlzdEl0ZW0pOgorCShEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6Y29tcHV0ZWRTdHls
ZUluY2x1ZGluZ1Zpc2l0ZWRJbmZvKToKKwkqIFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVl
U3VwcG9ydFF0Lmg6CisKIDIwMTAtMDUtMTIgIEpvZSBMaWdtYW4gIDxqb3NlcGgubGlnbWFuQG5v
a2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBMYXN6bG8gR29tYm9zLgogCiAgICAgICAg
IFtRdF0gTmVzdGVkIG92ZXJmbG93IGRpdiBkb2VzIG5vdCBzY3JvbGwKICAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4NjQxCiAKICAgICAgICAgTW9kaWZ5
IHF0d2Via2l0X3dlYmZyYW1lX3Njcm9sbE92ZXJmbG93LCBpZiB0aGUgY3VycmVudCBub2RlJ3Mg
cmVuZGVyIGxheWVyCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJl
bmRlclRyZWVTdXBwb3J0UXQuY3BwIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5k
ZXJUcmVlU3VwcG9ydFF0LmNwcAppbmRleCA5MzViZTg1Li42ZTJhMWE0IDEwMDY0NAotLS0gYS9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwCisrKyBi
L1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKQEAg
LTE4LDE2ICsxOCwxNyBAQAogICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZp
bGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCiAgICAgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKICAgICBC
b3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKICNp
bmNsdWRlICJEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5oIgogCisjaW5jbHVkZSAiQ1NTQ29tcHV0
ZWRTdHlsZURlY2xhcmF0aW9uLmgiCiAjaW5jbHVkZSAiQ29udGV4dE1lbnUuaCIKICNpbmNsdWRl
ICJDb250ZXh0TWVudUNsaWVudFF0LmgiCiAjaW5jbHVkZSAiQ29udGV4dE1lbnVDb250cm9sbGVy
LmgiCiAjaW5jbHVkZSAiRWRpdG9yLmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgogI2luY2x1ZGUg
IkZvY3VzQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVW
aWV3LmgiCkBAIC00MiwxNiArNDMsMTcgQEAKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgog
I2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJTVkdTTUlM
RWxlbWVudC5oIgogI2VuZGlmCiAjaW5jbHVkZSAiVGV4dEl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAi
V29ya2VyVGhyZWFkLmgiCiAKKyNpbmNsdWRlICJxd2ViZWxlbWVudC5oIgogI2luY2x1ZGUgInF3
ZWJmcmFtZS5oIgogI2luY2x1ZGUgInF3ZWJmcmFtZV9wLmgiCiAjaW5jbHVkZSAicXdlYnBhZ2Uu
aCIKICNpbmNsdWRlICJxd2VicGFnZV9wLmgiCiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwog
CiBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6RHVtcFJlbmRlclRyZWVTdXBwb3J0UXQoKQpAQCAt
MzcyLDE2ICszNzQsMzMgQEAgYm9vbCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6aXNDb21tYW5k
RW5hYmxlZChRV2ViUGFnZSogcGFnZSwgY29uc3QgUVN0cmluZyYgbmEKICAgICByZXR1cm4gcGFn
ZS0+aGFuZGxlKCktPnBhZ2UtPmZvY3VzQ29udHJvbGxlcigpLT5mb2N1c2VkT3JNYWluRnJhbWUo
KS0+ZWRpdG9yKCktPmNvbW1hbmQobmFtZSkuaXNFbmFibGVkKCk7CiB9CiAKIFFTdHJpbmcgRHVt
cFJlbmRlclRyZWVTdXBwb3J0UXQ6Om1hcmtlclRleHRGb3JMaXN0SXRlbShjb25zdCBRV2ViRWxl
bWVudCYgbGlzdEl0ZW0pCiB7CiAgICAgcmV0dXJuIFdlYkNvcmU6Om1hcmtlclRleHRGb3JMaXN0
SXRlbShsaXN0SXRlbS5tX2VsZW1lbnQpOwogfQogCitRVmFyaWFudE1hcCBEdW1wUmVuZGVyVHJl
ZVN1cHBvcnRRdDo6Y29tcHV0ZWRTdHlsZUluY2x1ZGluZ1Zpc2l0ZWRJbmZvKGNvbnN0IFFXZWJF
bGVtZW50JiBlbGVtZW50KQoreworICAgIFFWYXJpYW50TWFwIHJldDsKKworICAgIFdlYkNvcmU6
OkVsZW1lbnQqIHdlYkVsZW1lbnQgPSBlbGVtZW50Lm1fZWxlbWVudDsKKyAgICBpZiAoIXdlYkVs
ZW1lbnQpCisgICAgICAgIHJldHVybiByZXQ7CisKKyAgICBSZWZQdHI8V2ViQ29yZTo6Q1NTQ29t
cHV0ZWRTdHlsZURlY2xhcmF0aW9uPiBzdHlsZSA9IGNvbXB1dGVkU3R5bGUod2ViRWxlbWVudCwg
dHJ1ZSk7CisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzdHlsZS0+bGVuZ3RoKCk7IGkrKykgewor
ICAgICAgICBRU3RyaW5nIG5hbWUgPSBzdHlsZS0+aXRlbShpKTsKKyAgICAgICAgUVN0cmluZyB2
YWx1ZSA9IChzdGF0aWNfY2FzdDxXZWJDb3JlOjpDU1NTdHlsZURlY2xhcmF0aW9uKj4oc3R5bGUu
Z2V0KCkpKS0+Z2V0UHJvcGVydHlWYWx1ZShuYW1lKTsKKyAgICAgICAgcmV0W25hbWVdID0gUVZh
cmlhbnQodmFsdWUpOworICAgIH0KKyAgICByZXR1cm4gcmV0OworfQorCiBRVmFyaWFudExpc3Qg
RHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OnNlbGVjdGVkUmFuZ2UoUVdlYlBhZ2UqIHBhZ2UpCiB7
CiAgICAgV2ViQ29yZTo6RnJhbWUqIGZyYW1lID0gcGFnZS0+aGFuZGxlKCktPnBhZ2UtPmZvY3Vz
Q29udHJvbGxlcigpLT5mb2N1c2VkT3JNYWluRnJhbWUoKTsKICAgICBRVmFyaWFudExpc3Qgc2Vs
ZWN0ZWRSYW5nZTsKICAgICBSZWZQdHI8UmFuZ2U+IHJhbmdlID0gZnJhbWUtPnNlbGVjdGlvbigp
LT50b05vcm1hbGl6ZWRSYW5nZSgpLmdldCgpOwogCiAgICAgRWxlbWVudCogc2VsZWN0aW9uUm9v
dCA9IGZyYW1lLT5zZWxlY3Rpb24oKS0+cm9vdEVkaXRhYmxlRWxlbWVudCgpOwogICAgIEVsZW1l
bnQqIHNjb3BlID0gc2VsZWN0aW9uUm9vdCA/IHNlbGVjdGlvblJvb3QgOiBmcmFtZS0+ZG9jdW1l
bnQoKS0+ZG9jdW1lbnRFbGVtZW50KCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaCBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9y
dC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5oCmluZGV4IGMwMTg3ZGYuLjQxYzdmNTggMTAwNjQ0
Ci0tLSBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5o
CisrKyBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5o
CkBAIC0yMSwyMCArMjEsMTkgQEAKICovCiAKICNpZm5kZWYgRHVtcFJlbmRlclRyZWVTdXBwb3J0
UXRfaAogI2RlZmluZSBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdF9oCiAKICNpbmNsdWRlICJxd2Vi
a2l0Z2xvYmFsLmgiCiAjaW5jbHVkZSA8UVZhcmlhbnQ+CiAKLSNpbmNsdWRlICJxd2ViZWxlbWVu
dC5oIgotCi1jbGFzcyBRV2ViUGFnZTsKK2NsYXNzIFFXZWJFbGVtZW50OwogY2xhc3MgUVdlYkZy
YW1lOworY2xhc3MgUVdlYlBhZ2U7CiAKIGNsYXNzIFFXRUJLSVRfRVhQT1JUIER1bXBSZW5kZXJU
cmVlU3VwcG9ydFF0IHsKIAogcHVibGljOgogCiAgICAgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQo
KTsKICAgICB+RHVtcFJlbmRlclRyZWVTdXBwb3J0UXQoKTsKIApAQCAtODAsMTEgKzc5LDEyIEBA
IHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBoYXNEb2N1bWVudEVsZW1lbnQoUVdlYkZyYW1lKiBm
cmFtZSk7CiAKICAgICBzdGF0aWMgdm9pZCB3aGl0ZUxpc3RBY2Nlc3NGcm9tT3JpZ2luKGNvbnN0
IFFTdHJpbmcmIHNvdXJjZU9yaWdpbiwgY29uc3QgUVN0cmluZyYgZGVzdGluYXRpb25Qcm90b2Nv
bCwgY29uc3QgUVN0cmluZyYgZGVzdGluYXRpb25Ib3N0LCBib29sIGFsbG93RGVzdGluYXRpb25T
dWJkb21haW5zKTsKICAgICBzdGF0aWMgdm9pZCByZXNldE9yaWdpbkFjY2Vzc1doaXRlTGlzdHMo
KTsKIAogICAgIHN0YXRpYyBpbnQgd29ya2VyVGhyZWFkQ291bnQoKTsKIAogICAgIHN0YXRpYyBR
U3RyaW5nIG1hcmtlclRleHRGb3JMaXN0SXRlbShjb25zdCBRV2ViRWxlbWVudCYgbGlzdEl0ZW0p
OworICAgIHN0YXRpYyBRVmFyaWFudE1hcCBjb21wdXRlZFN0eWxlSW5jbHVkaW5nVmlzaXRlZElu
Zm8oY29uc3QgUVdlYkVsZW1lbnQmIGVsZW1lbnQpOwogfTsKIAogI2VuZGlmCmRpZmYgLS1naXQg
YS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKaW5kZXggMmMy
OTZkYi4uNDVlMjQ5ZiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1dl
YktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSw4ICsxLDIxIEBACisyMDEwLTA1LTEzICBBbnRvbmlv
IEdvbWVzICA8dG9uaWtpdG9vQHdlYmtpdC5vcmc+LCBZaSBTaGVuIDx5aS40LnNoZW5Abm9raWEu
Y29tPgorCisJUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKwlbUXRdIEFkZCBMYXlvdXRU
ZXN0Q29udHJvbGxlciBpbnRlcmZhY2U6IGNvbXB1dGVkU3R5bGVJbmNsdWRpbmdWaXNpdGVkSW5m
bworCWh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzc1OQorCisJV2Vi
S2l0VG9vbHM6CisKKwkqIER1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQu
Y3BwOgorCShMYXlvdXRUZXN0Q29udHJvbGxlcjo6Y29tcHV0ZWRTdHlsZUluY2x1ZGluZ1Zpc2l0
ZWRJbmZvKToKKwkqIER1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaDoK
KwogMjAxMC0wNS0xMyAgRnVtaXRvc2hpIFVrYWkgIDx1a2FpQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBVbnJldmlld2VkIGZpeC4gIFJldmVydCBwcmV2aW91cyBjaGFuZ2UuCiAKICAgICAgICAg
RXZlbiBpZiB3aXRoLXN0YXRtZW50cyBhcmUgY2hhbmdlZCBpbiB3ZWJzb2NrZXRfc2VydmVyLnB5
LCBpdCBhbHNvIGNsYWltcyBzeW50YXggZXJyb3IgZm9yIHdpdGggc3RhdGVtZW50IGluIGh0dHBf
c2VydmVyLnB5LgogICAgICAgICBVbnRpbCBweXRob24gMi41IGlzIGluc3RhbGxlZCBvbiB0aWdl
ciBib3QsIHNraXBzIHdlYnNvY2tldC90ZXN0cyBvbiB0aWdlci4KIAogICAgICAgICAqIFNjcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2Vic29ja2V0X3NlcnZlci5weTogdXNlIHdp
dGggc3RhdGVtZW50CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9M
YXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0
L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwCmluZGV4IDNmOTJiOGEuLmQxMzA3YTQgMTAwNjQ0
Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVy
UXQuY3BwCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250
cm9sbGVyUXQuY3BwCkBAIC02MTksMTYgKzYxOSwyMCBAQCBib29sIExheW91dFRlc3RDb250cm9s
bGVyOjppc0NvbW1hbmRFbmFibGVkKGNvbnN0IFFTdHJpbmcmIG5hbWUpIGNvbnN0CiAgICAgcmV0
dXJuIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Ojppc0NvbW1hbmRFbmFibGVkKG1fZHJ0LT53ZWJQ
YWdlKCksIG5hbWUpOwogfQogCiBRU3RyaW5nIExheW91dFRlc3RDb250cm9sbGVyOjptYXJrZXJU
ZXh0Rm9yTGlzdEl0ZW0oY29uc3QgUVdlYkVsZW1lbnQmIGxpc3RJdGVtKQogewogICAgIHJldHVy
biBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6bWFya2VyVGV4dEZvckxpc3RJdGVtKGxpc3RJdGVt
KTsKIH0KIAorUVZhcmlhbnRNYXAgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmNvbXB1dGVkU3R5bGVJ
bmNsdWRpbmdWaXNpdGVkSW5mbyhjb25zdCBRV2ViRWxlbWVudCYgZWxlbWVudCkgY29uc3QKK3sK
KyAgICByZXR1cm4gRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OmNvbXB1dGVkU3R5bGVJbmNsdWRp
bmdWaXNpdGVkSW5mbyhlbGVtZW50KTsKK30KKwogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6
YXV0aGVudGljYXRlU2Vzc2lvbihjb25zdCBRU3RyaW5nJiwgY29uc3QgUVN0cmluZyYsIGNvbnN0
IFFTdHJpbmcmKQogewogICAgIC8vIEZJWE1FOiBJZiB0aGVyZSBpcyBhIGNvbmNlcHQgcGVyLXNl
c3Npb24gKHBlci1wcm9jZXNzKSBjcmVkZW50aWFsIHN0b3JhZ2UsIHRoZSBjcmVkZW50aWFscyBz
aG91bGQgYmUgYWRkZWQgdG8gaXQgZm9yIGxhdGVyIHVzZS4KIH0KIAotCiBjb25zdCB1bnNpZ25l
ZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6bWF4Vmlld1dpZHRoID0gODAwOwogY29uc3QgdW5zaWdu
ZWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6Om1heFZpZXdIZWlnaHQgPSA2MDA7CmRpZmYgLS1naXQg
YS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0Lmgg
Yi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmgK
aW5kZXggNDRiODBiNy4uMTY3YmEwNyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaApAQCAtMTgxLDE2ICsxODEsMTcg
QEAgcHVibGljIHNsb3RzOgogCiAgICAgLyoKICAgICAgICAgUG9saWN5IHZhbHVlczogJ29uJywg
J2F1dG8nIG9yICdvZmYnLgogICAgICAgICBPcmllbnRhdGlvbiB2YWx1ZXM6ICd2ZXJ0aWNhbCcg
b3IgJ2hvcml6b250YWwnLgogICAgICovCiAgICAgdm9pZCBzZXRTY3JvbGxiYXJQb2xpY3koY29u
c3QgUVN0cmluZyYgb3JpZW50YXRpb24sIGNvbnN0IFFTdHJpbmcmIHBvbGljeSk7CiAKICAgICBR
U3RyaW5nIG1hcmtlclRleHRGb3JMaXN0SXRlbShjb25zdCBRV2ViRWxlbWVudCYgbGlzdEl0ZW0p
OworICAgIFFWYXJpYW50TWFwIGNvbXB1dGVkU3R5bGVJbmNsdWRpbmdWaXNpdGVkSW5mbyhjb25z
dCBRV2ViRWxlbWVudCYgZWxlbWVudCkgY29uc3Q7CiAKICAgICAvLyBTaW11bGF0ZSBhIHJlcXVl
c3QgYW4gZW1iZWRkaW5nIGFwcGxpY2F0aW9uIGNvdWxkIG1ha2UsIHBvcHVsYXRpbmcgcGVyLXNl
c3Npb24gY3JlZGVudGlhbCBzdG9yYWdlLgogICAgIHZvaWQgYXV0aGVudGljYXRlU2Vzc2lvbihj
b25zdCBRU3RyaW5nJiB1cmwsIGNvbnN0IFFTdHJpbmcmIHVzZXJuYW1lLCBjb25zdCBRU3RyaW5n
JiBwYXNzd29yZCk7CiAKIHByaXZhdGUgc2xvdHM6CiAgICAgdm9pZCBwcm9jZXNzV29yaygpOwog
CiBwcml2YXRlOgotLSAKMS42LjMuMwoK
</data>
<flag name="review"
          id="40306"
          type_id="1"
          status="+"
          setter="kenneth"
    />
          </attachment>
      

    </bug>

</bugzilla>