<?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>105126</bug_id>
          
          <creation_ts>2012-12-16 00:49:25 -0800</creation_ts>
          <short_desc>Flexbox should ignore firstLetter pseudo element.</short_desc>
          <delta_ts>2013-02-25 18:08:12 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>62048</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="huangxueqing">huangxueqing</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>792302</commentid>
    <comment_count>0</comment_count>
    <who name="huangxueqing">huangxueqing</who>
    <bug_when>2012-12-16 00:49:25 -0800</bug_when>
    <thetext>The flex item should not apply flex container&apos;s &apos;::first-line&apos; and &apos;::first-letter&apos; pseudo elements.
testcase:
&lt;style&gt; 
    div { display: -webkit-flex;  display: -moz-flex; display: flex; } 
    div::first-letter { line-height: 100px;} 
    p:first-child { -webkit-order: 1; -moz-order: 1; order: 1;}
&lt;/style&gt;
&lt;div&gt;
    &lt;p&gt;The first item.&lt;/p&gt;
    &lt;p&gt;The second item.&lt;/p&gt;
&lt;/div&gt;
The property &apos;line-height: 100px&apos; should apply to &lt;p&gt;, opera 12.11, IE 10 and firefox 20 alpha were correct.

&apos;::first-line&apos; see bug #104485.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>792303</commentid>
    <comment_count>1</comment_count>
      <attachid>179643</attachid>
    <who name="huangxueqing">huangxueqing</who>
    <bug_when>2012-12-16 01:28:47 -0800</bug_when>
    <thetext>Created attachment 179643
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>792313</commentid>
    <comment_count>2</comment_count>
      <attachid>179643</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-16 04:14:53 -0800</bug_when>
    <thetext>Comment on attachment 179643
patch

Attachment 179643 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/15362390

New failing tests:
css3/flexbox/inline-flex-crash2.html
fast/forms/week/week-appearance-pseudo-elements.html
fast/forms/time/time-appearance-pseudo-elements.html
fast/forms/month/month-appearance-pseudo-elements.html
css3/flexbox/flexbox-ignore-firstLetter.html
css3/flexbox/inline-flex-crash.html
fast/forms/date/date-appearance-pseudo-elements.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>792317</commentid>
    <comment_count>3</comment_count>
      <attachid>179643</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-12-16 05:20:26 -0800</bug_when>
    <thetext>Comment on attachment 179643
patch

Attachment 179643 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15360425

New failing tests:
css3/flexbox/inline-flex-crash2.html
fast/frames/sandboxed-iframe-attribute-parsing.html
css3/flexbox/flexbox-ignore-firstLetter.html
css3/flexbox/inline-flex-crash.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>792318</commentid>
    <comment_count>4</comment_count>
      <attachid>179646</attachid>
    <who name="huangxueqing">huangxueqing</who>
    <bug_when>2012-12-16 06:06:38 -0800</bug_when>
    <thetext>Created attachment 179646
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>792323</commentid>
    <comment_count>5</comment_count>
      <attachid>179647</attachid>
    <who name="huangxueqing">huangxueqing</who>
    <bug_when>2012-12-16 07:33:40 -0800</bug_when>
    <thetext>Created attachment 179647
patch

Week, month, Time and date input element&apos;s render seems have relationship with RenderFlexibleBox(maybe RenderDeprecatedFlexibleBox), if so, the result of test cases used ::first-letter were wrong, we should rebase them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>792324</commentid>
    <comment_count>6</comment_count>
      <attachid>179648</attachid>
    <who name="huangxueqing">huangxueqing</who>
    <bug_when>2012-12-16 07:35:24 -0800</bug_when>
    <thetext>Created attachment 179648
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>794032</commentid>
    <comment_count>7</comment_count>
      <attachid>179648</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-12-18 14:11:18 -0800</bug_when>
    <thetext>Comment on attachment 179648
patch

See bug 104485 comment 14 for a clarification.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>834301</commentid>
    <comment_count>8</comment_count>
      <attachid>179648</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-02-15 13:01:25 -0800</bug_when>
    <thetext>Comment on attachment 179648
patch

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

Can you double check the results of the form pseudo element tests?  It looks like the checked in results don&apos;t currently apply style to the form controls.

Also, I would probably merge your new tests into a single reftest.  No need to create lots of separate test files.

&gt; Source/WebCore/rendering/RenderBlock.cpp:6466
&gt; +    if (isFlexibleBox())
&gt; +        return;

This looks funny. Do we create the first letter renderer?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>835078</commentid>
    <comment_count>9</comment_count>
    <who name="huangxueqing">huangxueqing</who>
    <bug_when>2013-02-17 18:41:29 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 179648 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=179648&amp;action=review
&gt; 
&gt; Can you double check the results of the form pseudo element tests?  It looks like the checked in results don&apos;t currently apply style to the form controls.
&gt; 
Form input controls actually layout with flexbox since browser css defined in  WebCore/css/html.css as:
input[type=&quot;date&quot;|&quot;datetime&quot;|&quot;datatime-local&quot;|&quot;month&quot;|&quot;time&quot;|&quot;week&quot;] {
    ... ...
    display: -webkit-inline-flex;
    ... ...
}

&gt; Also, I would probably merge your new tests into a single reftest.  No need to create lots of separate test files.
&gt; 
OK

&gt; &gt; Source/WebCore/rendering/RenderBlock.cpp:6466
&gt; &gt; +    if (isFlexibleBox())
&gt; &gt; +        return;
&gt; 
&gt; This looks funny. Do we create the first letter renderer?
This code just prevent RenderBlock update its first text child. No, the first letter renderer would not be created. The first letter renderer as the first text child&apos;s new parent used to update RenderText&apos;s first letter info.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>838640</commentid>
    <comment_count>10</comment_count>
      <attachid>179648</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-02-21 11:39:11 -0800</bug_when>
    <thetext>Comment on attachment 179648
patch

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

&gt;&gt;&gt; Source/WebCore/rendering/RenderBlock.cpp:6466
&gt;&gt;&gt; +        return;
&gt;&gt; 
&gt;&gt; This looks funny. Do we create the first letter renderer?
&gt; 
&gt; This code just prevent RenderBlock update its first text child. No, the first letter renderer would not be created. The first letter renderer as the first text child&apos;s new parent used to update RenderText&apos;s first letter info.

I think this check should go in findFirstLetterBlock.  Why do we check both if both |this| is a flexible box and if its parent is a flexible box?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>839400</commentid>
    <comment_count>11</comment_count>
      <attachid>189723</attachid>
    <who name="huangxueqing">huangxueqing</who>
    <bug_when>2013-02-22 02:10:42 -0800</bug_when>
    <thetext>Created attachment 189723
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>839411</commentid>
    <comment_count>12</comment_count>
    <who name="huangxueqing">huangxueqing</who>
    <bug_when>2013-02-22 02:29:52 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 179648 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=179648&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/WebCore/rendering/RenderBlock.cpp:6466
&gt; &gt;&gt;&gt; +        return;
&gt; &gt;&gt; 
&gt; &gt;&gt; This looks funny. Do we create the first letter renderer?
&gt; &gt; 
&gt; &gt; This code just prevent RenderBlock update its first text child. No, the first letter renderer would not be created. The first letter renderer as the first text child&apos;s new parent used to update RenderText&apos;s first letter info.
&gt; 
&gt; I think this check should go in findFirstLetterBlock.  Why do we check both if both |this| is a flexible box and if its parent is a flexible box?

I moved this check in |findFirstLetterBlock|. RenderObject maybe apply first-letter from own style or inhretied from parent. For example:
&lt;style&gt;
   div::first-letter {color: red}
&lt;/style&gt;
&lt;div&gt;
    &lt;P&gt;
&lt;/div&gt;
&quot;div&quot; apply first-letter from own style while &quot;p&quot; inherited from &quot;div&quot;.

In addition, the case marked as failling in Chromium TestExpectations apply first-letter psuedo-element but form controls render as flexbox, see
WebCore/css/html.css:
input[type=&quot;date&quot;|&quot;datetime&quot;|&quot;datatime-local&quot;|&quot;month&quot;|&quot;time&quot;|&quot;week&quot;] {
    ... ...
    display: -webkit-inline-flex;
    ... ...
}
The testcase fast/forms/week/week-appearance-pseudo-elements.html apply first-letter as:
&lt;style type=&quot;text/css&quot;&gt;
... ...
.first-letter:first-letter { color: green; font-size: 200%; }
&lt;/style&gt;
&lt;ul&gt;
    ... ...
    &lt;li&gt;&lt;input type=&quot;week&quot; value=&quot;1982-W25&quot; class=&quot;first-letter&quot;&gt;&lt;/li&gt;
&lt;/ul&gt;

This change make &quot;color: green; font-size: 200%;&quot; did not apply week control anymore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>840008</commentid>
    <comment_count>13</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-02-22 14:43:04 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; I moved this check in |findFirstLetterBlock|. RenderObject maybe apply first-letter from own style or inherited from parent. For example:
&gt; &lt;style&gt;
&gt;    div::first-letter {color: red}
&gt; &lt;/style&gt;
&gt; &lt;div&gt;
&gt;     &lt;P&gt;
&gt; &lt;/div&gt;
&gt; &quot;div&quot; apply first-letter from own style while &quot;p&quot; inherited from &quot;div&quot;.
&gt; 

I think you&apos;re saying that it&apos;s the difference between ::first-letter being on #container or #flexbox in this example:
&lt;div id=container&gt;
&lt;div id=flexbox style=&quot;display:-webkit-flex&quot;&gt;
  &lt;p&gt;
&lt;/div&gt;
&lt;/div&gt;

If so, can you add some test cases that for ::first-letter on #container?

&gt; In addition, the case marked as failling in Chromium TestExpectations apply first-letter psuedo-element but form controls render as flexbox, see
&gt; This change make &quot;color: green; font-size: 200%;&quot; did not apply week control anymore.

I&apos;m confused since I don&apos;t see green or large fonts in any of the checked in results:
http://trac.webkit.org/browser/trunk/LayoutTests/platform/chromium-linux/fast/forms/week/week-appearance-pseudo-elements-expected.png
http://trac.webkit.org/browser/trunk/LayoutTests/platform/chromium-mac/fast/forms/week/week-appearance-pseudo-elements-expected.png
http://trac.webkit.org/browser/trunk/LayoutTests/platform/chromium-win/fast/forms/week/week-appearance-pseudo-elements-expected.png

Why doesn&apos;t first-letter show up in these results?  Are you seeing something different on your machine?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>840757</commentid>
    <comment_count>14</comment_count>
      <attachid>190009</attachid>
    <who name="huangxueqing">huangxueqing</who>
    <bug_when>2013-02-25 00:28:42 -0800</bug_when>
    <thetext>Created attachment 190009
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>840770</commentid>
    <comment_count>15</comment_count>
    <who name="huangxueqing">huangxueqing</who>
    <bug_when>2013-02-25 00:42:41 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; (In reply to comment #12)
&gt; &gt; I moved this check in |findFirstLetterBlock|. RenderObject maybe apply first-letter from own style or inherited from parent. For example:
&gt; &gt; &lt;style&gt;
&gt; &gt;    div::first-letter {color: red}
&gt; &gt; &lt;/style&gt;
&gt; &gt; &lt;div&gt;
&gt; &gt;     &lt;P&gt;
&gt; &gt; &lt;/div&gt;
&gt; &gt; &quot;div&quot; apply first-letter from own style while &quot;p&quot; inherited from &quot;div&quot;.
&gt; &gt; 
&gt; 
&gt; I think you&apos;re saying that it&apos;s the difference between ::first-letter being on #container or #flexbox in this example:
&gt; &lt;div id=container&gt;
&gt; &lt;div id=flexbox style=&quot;display:-webkit-flex&quot;&gt;
&gt;   &lt;p&gt;
&gt; &lt;/div&gt;
&gt; &lt;/div&gt;
&gt; 
&gt; If so, can you add some test cases that for ::first-letter on #container?
&gt; 
Done

&gt; &gt; In addition, the case marked as failling in Chromium TestExpectations apply first-letter psuedo-element but form controls render as flexbox, see
&gt; &gt; This change make &quot;color: green; font-size: 200%;&quot; did not apply week control anymore.
&gt; 
&gt; I&apos;m confused since I don&apos;t see green or large fonts in any of the checked in results:
&gt; http://trac.webkit.org/browser/trunk/LayoutTests/platform/chromium-linux/fast/forms/week/week-appearance-pseudo-elements-expected.png
&gt; http://trac.webkit.org/browser/trunk/LayoutTests/platform/chromium-mac/fast/forms/week/week-appearance-pseudo-elements-expected.png
&gt; http://trac.webkit.org/browser/trunk/LayoutTests/platform/chromium-win/fast/forms/week/week-appearance-pseudo-elements-expected.png
&gt; 
&gt; Why doesn&apos;t first-letter show up in these results?  Are you seeing something different on your machine?
Sorry, these results were rebaselined in r141367, the reason please see bug#108069.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>841167</commentid>
    <comment_count>16</comment_count>
      <attachid>190009</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-02-25 11:53:58 -0800</bug_when>
    <thetext>Comment on attachment 190009
patch

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

&gt; LayoutTests/css3/flexbox/flexbox-ignore-container-firstLetter.html:3
&gt; +&lt;!DOCTYPE html&gt;
&gt; +&lt;html&gt;
&gt; +&lt;link href=&quot;resources/flexbox.css&quot; rel=&quot;stylesheet&quot;&gt;

I would have put this in the same test as flexbox-ignore-firstLetter.html, but this is OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>841477</commentid>
    <comment_count>17</comment_count>
      <attachid>190009</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-25 18:08:06 -0800</bug_when>
    <thetext>Comment on attachment 190009
patch

Clearing flags on attachment: 190009

Committed r143993: &lt;http://trac.webkit.org/changeset/143993&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>841478</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-25 18:08:12 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>179643</attachid>
            <date>2012-12-16 01:28:47 -0800</date>
            <delta_ts>2012-12-16 06:06:38 -0800</delta_ts>
            <desc>patch</desc>
            <filename>105126.patch</filename>
            <type>text/plain</type>
            <size>7314</size>
            <attacher name="huangxueqing">huangxueqing</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIExheW91dFRlc3Rz
L0NoYW5nZUxvZwkocmV2aXNpb24gMTM3ODM0KQ0KKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQ0KQEAgLTEsMyArMSwyMSBAQA0KKzIwMTItMTItMTYgIFh1ZXFpbmcgSHVh
bmcgIDxodWFuZ3h1ZXFpbmdAYmFpZHUuY29tPgorCisgICAgICAgIEZsZXhib3ggc2hvdWxkIGln
bm9yZSBmaXJ0TGV0dGVyIHBzZXVkbyBlbGVtZW50LgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1MTI2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgU3BlY1sxXSBzYWlkIHRoYXQgIk5vbmUgb2YgdGhlIHBy
b3BlcnRpZXMgZGVmaW5lZCBpbiB0aGlzIG1vZHVsZQorICAgICAgICBhcHBseSB0byAnOjpmaXJz
dC1saW5lJyBvciAnOjpmaXJzdC1sZXR0ZXInIHBzZXVkby1lbGVtZW50cy4iCisgICAgICAgIFsx
XWh0dHA6Ly9kZXYudzNjLm9yZy9jc3N3Zy9jc3MzLWZsZXhib3gvI2Rpc3BsYXktZmxleCAKKwor
ICAgICAgICAqIGNzczMvZmxleGJveC9mbGV4LWl0ZW0tZmlyc3RMZXR0ZXItdmFsaWQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2ZsZXhib3gvZmxleC1pdGVtLWZpcnN0TGV0
dGVyLXZhbGlkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvZmxleGJveC9mbGV4Ym94LWln
bm9yZS1maXJzdExldHRlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNzczMvZmxl
eGJveC9mbGV4Ym94LWlnbm9yZS1maXJzdExldHRlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBj
c3MzL2ZsZXhib3gvaW5saW5lLWZsZXhib3gtaWdub3JlLWZpcnN0TGV0dGVyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogY3NzMy9mbGV4Ym94L2lubGluZS1mbGV4Ym94LWlnbm9yZS1m
aXJzdExldHRlci5odG1sOiBBZGRlZC4KKwogMjAxMi0xMi0xNSAgSWFuIFZvbGxpY2sgIDx2b2xs
aWNrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIE1vcmUgZXhwZWN0YXRpb25z
IHVwZGF0ZXMgZm9yIGNvbXBvc2l0ZWQgc2Nyb2xsaW5nLgpJbmRleDogTGF5b3V0VGVzdHMvY3Nz
My9mbGV4Ym94L2ZsZXgtaXRlbS1maXJzdExldHRlci12YWxpZC1leHBlY3RlZC50eHQNCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0NCi0tLSBMYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvZmxleC1pdGVtLWZpcnN0TGV0dGVy
LXZhbGlkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkNCisrKyBMYXlvdXRUZXN0cy9jc3MzL2Zs
ZXhib3gvZmxleC1pdGVtLWZpcnN0TGV0dGVyLXZhbGlkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkNCkBAIC0wLDAgKzEsNyBAQA0KK1RoaXMgdGVzdCBmbGV4IGl0ZW0gc2hvdWxkIGlnbm9yZSBm
bGV4IGNvbnRhaW5lcidzIGZpcnN0TGV0dGVyIHBzZXVkbyBlbGVtZW50LCBidXQgZmxleCBpdGVt
J3MgZmlyc3RMZXR0ZXIgc2hvdWxkIGJlIHZhbGlkLgorCitUaGUgZmlyc3QgaXRlbS4KKworVGhl
IHNlY29uZCBpdGVtLgorCitQQVNTCkluZGV4OiBMYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvZmxl
eC1pdGVtLWZpcnN0TGV0dGVyLXZhbGlkLmh0bWwNCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBMYXlvdXRUZXN0
cy9jc3MzL2ZsZXhib3gvZmxleC1pdGVtLWZpcnN0TGV0dGVyLXZhbGlkLmh0bWwJKHJldmlzaW9u
IDApDQorKysgTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2ZsZXgtaXRlbS1maXJzdExldHRlci12
YWxpZC5odG1sCShyZXZpc2lvbiAwKQ0KQEAgLTAsMCArMSwxOCBAQA0KKzwhRE9DVFlQRSBodG1s
Pg0KKzxodG1sPg0KKzxsaW5rIGhyZWY9InJlc291cmNlcy9mbGV4Ym94LmNzcyIgcmVsPSJzdHls
ZXNoZWV0Ij4NCis8c3R5bGU+DQorICAgIGRpdjo6Zmlyc3QtbGV0dGVyIHsgbGluZS1oZWlnaHQ6
IDEwMHB4OyB9DQorICAgIHA6OmZpcnN0LWxldHRlciB7IGxpbmUtaGVpZ2h0OiAxMDBweDt9DQor
PC9zdHlsZT4NCisNCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2NoZWNrLWxheW91dC5q
cyI+PC9zY3JpcHQ+DQorPGJvZHkgb25sb2FkPSJjaGVja0xheW91dCgnLmZsZXhib3gnKSI+DQor
PHA+VGhpcyB0ZXN0IGZsZXggaXRlbSBzaG91bGQgaWdub3JlIGZsZXggY29udGFpbmVyJ3MgZmly
c3RMZXR0ZXIgcHNldWRvIGVsZW1lbnQsIGJ1dCBmbGV4IGl0ZW0ncyBmaXJzdExldHRlciBzaG91
bGQgYmUgdmFsaWQuPC9wPg0KKw0KKzxkaXYgY2xhc3M9ImZsZXhib3giPg0KKyAgICA8cCBkYXRh
LWV4cGVjdGVkLWhlaWdodD0xMDA+VGhlIGZpcnN0IGl0ZW0uPC9wPg0KKyAgICA8cCBkYXRhLWV4
cGVjdGVkLWhlaWdodD0xMDA+VGhlIHNlY29uZCBpdGVtLjwvcD4NCis8L2Rpdj4NCis8L2JvZHk+
DQorPC9odG1sPg0KSW5kZXg6IExheW91dFRlc3RzL2NzczMvZmxleGJveC9mbGV4Ym94LWlnbm9y
ZS1maXJzdExldHRlci1leHBlY3RlZC50eHQNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBMYXlvdXRUZXN0cy9j
c3MzL2ZsZXhib3gvZmxleGJveC1pZ25vcmUtZmlyc3RMZXR0ZXItZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQ0KKysrIExheW91dFRlc3RzL2NzczMvZmxleGJveC9mbGV4Ym94LWlnbm9yZS1maXJz
dExldHRlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApDQpAQCAtMCwwICsxLDcgQEANCitUaGlz
IHRlc3QgZmxleCBpdGVtIHNob3VsZCBpZ25vcmUgZmxleCBjb250YWluZXIncyBmaXJzdExldHRl
ciBwc2V1ZG8gZWxlbWVudC4KKworVGhlIGZpcnN0IGl0ZW0uCisKK1RoZSBzZWNvbmQgaXRlbS4K
KworUEFTUwpJbmRleDogTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2ZsZXhib3gtaWdub3JlLWZp
cnN0TGV0dGVyLmh0bWwNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBMYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gv
ZmxleGJveC1pZ25vcmUtZmlyc3RMZXR0ZXIuaHRtbAkocmV2aXNpb24gMCkNCisrKyBMYXlvdXRU
ZXN0cy9jc3MzL2ZsZXhib3gvZmxleGJveC1pZ25vcmUtZmlyc3RMZXR0ZXIuaHRtbAkocmV2aXNp
b24gMCkNCkBAIC0wLDAgKzEsMTggQEANCis8IURPQ1RZUEUgaHRtbD4NCis8aHRtbD4NCis8bGlu
ayBocmVmPSJyZXNvdXJjZXMvZmxleGJveC5jc3MiIHJlbD0ic3R5bGVzaGVldCI+DQorPHN0eWxl
Pg0KKyAgICBkaXY6OmZpcnN0LWxpbmUgeyBsaW5lLWhlaWdodDogMTAwcHg7IH0NCisgICAgcCB7
IGxpbmUtaGVpZ2h0OiAyMHB4OyB9DQorPC9zdHlsZT4NCisNCis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2NoZWNrLWxheW91dC5qcyI+PC9zY3JpcHQ+DQorPGJvZHkgb25sb2FkPSJjaGVj
a0xheW91dCgnLmZsZXhib3gnKSI+DQorPHA+VGhpcyB0ZXN0IGZsZXggaXRlbSBzaG91bGQgaWdu
b3JlIGZsZXggY29udGFpbmVyJ3MgZmlyc3RMZXR0ZXIgcHNldWRvIGVsZW1lbnQuPC9wPg0KKw0K
KzxkaXYgY2xhc3M9ImZsZXhib3giPg0KKyAgICA8cCBkYXRhLWV4cGVjdGVkLWhlaWdodD0yMD5U
aGUgZmlyc3QgaXRlbS48L3A+DQorICAgIDxwIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PTIwPlRoZSBz
ZWNvbmQgaXRlbS48L3A+DQorPC9kaXY+DQorPC9ib2R5Pg0KKzwvaHRtbD4NCkluZGV4OiBMYXlv
dXRUZXN0cy9jc3MzL2ZsZXhib3gvaW5saW5lLWZsZXhib3gtaWdub3JlLWZpcnN0TGV0dGVyLWV4
cGVjdGVkLnR4dA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIExheW91dFRlc3RzL2NzczMvZmxleGJveC9pbmxp
bmUtZmxleGJveC1pZ25vcmUtZmlyc3RMZXR0ZXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQ0K
KysrIExheW91dFRlc3RzL2NzczMvZmxleGJveC9pbmxpbmUtZmxleGJveC1pZ25vcmUtZmlyc3RM
ZXR0ZXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQ0KQEAgLTAsMCArMSw4IEBADQorVGhpcyB0
ZXN0IGlubGluZS1mbGV4Ym94IGl0ZW0gc2hvdWxkIGlnbm9yZSBmbGV4IGNvbnRhaW5lcidzIGZp
cnN0TGV0dGVyIHBzZXVkbyBlbGVtZW50LgorCitUaGUgZmlyc3QgaXRlbS4KKworVGhlIHNlY29u
ZCBpdGVtLgorCitQQVNTCisKSW5kZXg6IExheW91dFRlc3RzL2NzczMvZmxleGJveC9pbmxpbmUt
ZmxleGJveC1pZ25vcmUtZmlyc3RMZXR0ZXIuaHRtbA0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIExheW91dFRl
c3RzL2NzczMvZmxleGJveC9pbmxpbmUtZmxleGJveC1pZ25vcmUtZmlyc3RMZXR0ZXIuaHRtbAko
cmV2aXNpb24gMCkNCisrKyBMYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvaW5saW5lLWZsZXhib3gt
aWdub3JlLWZpcnN0TGV0dGVyLmh0bWwJKHJldmlzaW9uIDApDQpAQCAtMCwwICsxLDE4IEBADQor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxsaW5rIGhyZWY9InJlc291cmNlcy9mbGV4Ym94LmNz
cyIgcmVsPSJzdHlsZXNoZWV0Ij4KKzxzdHlsZT4KKyAgICBkaXY6OmZpcnN0LWxldHRlciB7IGxp
bmUtaGVpZ2h0OiAxMDBweDsgfQorICAgIHAgeyBsaW5lLWhlaWdodDogMjBweDsgfQorPC9zdHls
ZT4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9jaGVjay1sYXlvdXQuanMiPjwvc2Ny
aXB0PgorPGJvZHkgb25sb2FkPSJjaGVja0xheW91dCgnLmlubGluZS1mbGV4Ym94JykiPgorPHA+
VGhpcyB0ZXN0IGlubGluZS1mbGV4Ym94IGl0ZW0gc2hvdWxkIGlnbm9yZSBmbGV4IGNvbnRhaW5l
cidzIGZpcnN0TGV0dGVyIHBzZXVkbyBlbGVtZW50LjwvcD4KKworPGRpdiBjbGFzcz0iaW5saW5l
LWZsZXhib3giPgorICAgIDxwIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PTIwPlRoZSBmaXJzdCBpdGVt
LjwvcD4KKyAgICA8cCBkYXRhLWV4cGVjdGVkLWhlaWdodD0yMD5UaGUgc2Vjb25kIGl0ZW0uPC9w
PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0NCi0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEz
NzgzNCkNCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkNCkBAIC0x
LDMgKzEsMjMgQEANCisyMDEyLTEyLTE2ICBYdWVxaW5nIEh1YW5nICA8aHVhbmd4dWVxaW5nQGJh
aWR1LmNvbT4KKworICAgICAgICBGbGV4Ym94IHNob3VsZCBpZ25vcmUgZmlydExldHRlciBwc2V1
ZG8gZWxlbWVudC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwNTEyNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFNwZWNbMV0gc2FpZCB0aGF0ICJOb25lIG9mIHRoZSBwcm9wZXJ0aWVzIGRlZmluZWQgaW4g
dGhpcyBtb2R1bGUKKyAgICAgICAgYXBwbHkgdG8gJzo6Zmlyc3QtbGluZScgb3IgJzo6Zmlyc3Qt
bGV0dGVyJyBwc2V1ZG8tZWxlbWVudHMuIgorICAgICAgICBbMV1odHRwOi8vZGV2LnczYy5vcmcv
Y3Nzd2cvY3NzMy1mbGV4Ym94LyNkaXNwbGF5LWZsZXggCisKKyAgICAgICAgdGVzdHM6CisgICAg
ICAgIGNzczMvZmxleGJveC9mbGV4Ym94LWlnbm9yZS1maXJzdExldHRlci5odG1sCisgICAgICAg
IGNzczMvZmxleGJveC9mbGV4LWl0ZW0tZmlyc3RMZXR0ZXItdmFsaWQuaHRtbAorICAgICAgICBj
c3MzL2ZsZXhib3gvaW5saW5lLWZsZXhib3gtaWdub3JlLWZpcnN0TGV0dGVyLmh0bWwgCisKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6Zmlu
ZEZpcnN0TGV0dGVyQmxvY2spOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OnVwZGF0
ZUZpcnN0TGV0dGVyKToKKwogMjAxMi0xMi0xNSAgSWFuIFZvbGxpY2sgIDx2b2xsaWNrQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIEF1dG9tYXRpY2FsbHkgdXNlIGNvbXBvc2l0
ZWQgc2Nyb2xsaW5nCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2su
Y3BwDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09DQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
LmNwcAkocmV2aXNpb24gMTM3ODM0KQ0KKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9jay5jcHAJKHdvcmtpbmcgY29weSkNCkBAIC02MzMwLDcgKzYzMzAsNyBAQA0KIAogICAg
ICAgICBSZW5kZXJPYmplY3QqIHBhcmVudEJsb2NrID0gZmlyc3RMZXR0ZXJCbG9jay0+cGFyZW50
KCk7CiAgICAgICAgIGlmIChmaXJzdExldHRlckJsb2NrLT5pc1JlcGxhY2VkKCkgfHwgIXBhcmVu
dEJsb2NrIHx8IHBhcmVudEJsb2NrLT5maXJzdENoaWxkKCkgIT0gZmlyc3RMZXR0ZXJCbG9jayB8
fCAKLSAgICAgICAgICAgICFwYXJlbnRCbG9jay0+aXNCbG9ja0Zsb3coKSkKKyAgICAgICAgICAg
ICFwYXJlbnRCbG9jay0+aXNCbG9ja0Zsb3coKSB8fCBwYXJlbnRCbG9jay0+aXNGbGV4aWJsZUJv
eCgpKQogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIGZpcnN0TGV0dGVyQmxvY2sgPSBw
YXJlbnRCbG9jazsKICAgICB9IApAQCAtNjQ2Miw2ICs2NDYyLDkgQEANCiAgICAgaWYgKHN0eWxl
KCktPnN0eWxlVHlwZSgpID09IEZJUlNUX0xFVFRFUikKICAgICAgICAgcmV0dXJuOwogCisgICAg
aWYgKGlzRmxleGlibGVCb3goKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgLy8gRklYTUU6IFdl
IG5lZWQgdG8gZGVzdHJveSB0aGUgZmlyc3QtbGV0dGVyIG9iamVjdCBpZiBpdCBpcyBubyBsb25n
ZXIgdGhlIGZpcnN0IGNoaWxkLiBOZWVkIHRvIGZpbmQKICAgICAvLyBhbiBlZmZpY2llbnQgd2F5
IHRvIGNoZWNrIGZvciB0aGF0IHNpdHVhdGlvbiB0aG91Z2ggYmVmb3JlIGltcGxlbWVudGluZyBh
bnl0aGluZy4KICAgICBSZW5kZXJPYmplY3QqIGZpcnN0TGV0dGVyQmxvY2sgPSBmaW5kRmlyc3RM
ZXR0ZXJCbG9jayh0aGlzKTsK
</data>
<flag name="commit-queue"
          id="196596"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>179646</attachid>
            <date>2012-12-16 06:06:38 -0800</date>
            <delta_ts>2012-12-16 07:35:24 -0800</delta_ts>
            <desc>patch</desc>
            <filename>105126.patch</filename>
            <type>text/plain</type>
            <size>7316</size>
            <attacher name="huangxueqing">huangxueqing</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIExheW91dFRlc3Rz
L0NoYW5nZUxvZwkocmV2aXNpb24gMTM3ODM0KQ0KKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQ0KQEAgLTEsMyArMSwyMSBAQA0KKzIwMTItMTItMTYgIFh1ZXFpbmcgSHVh
bmcgIDxodWFuZ3h1ZXFpbmdAYmFpZHUuY29tPgorCisgICAgICAgIEZsZXhib3ggc2hvdWxkIGln
bm9yZSBmaXJ0TGV0dGVyIHBzZXVkbyBlbGVtZW50LgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1MTI2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgU3BlY1sxXSBzYWlkIHRoYXQgIk5vbmUgb2YgdGhlIHBy
b3BlcnRpZXMgZGVmaW5lZCBpbiB0aGlzIG1vZHVsZQorICAgICAgICBhcHBseSB0byAnOjpmaXJz
dC1saW5lJyBvciAnOjpmaXJzdC1sZXR0ZXInIHBzZXVkby1lbGVtZW50cy4iCisgICAgICAgIFsx
XWh0dHA6Ly9kZXYudzNjLm9yZy9jc3N3Zy9jc3MzLWZsZXhib3gvI2Rpc3BsYXktZmxleCAKKwor
ICAgICAgICAqIGNzczMvZmxleGJveC9mbGV4LWl0ZW0tZmlyc3RMZXR0ZXItdmFsaWQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2ZsZXhib3gvZmxleC1pdGVtLWZpcnN0TGV0
dGVyLXZhbGlkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvZmxleGJveC9mbGV4Ym94LWln
bm9yZS1maXJzdExldHRlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNzczMvZmxl
eGJveC9mbGV4Ym94LWlnbm9yZS1maXJzdExldHRlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBj
c3MzL2ZsZXhib3gvaW5saW5lLWZsZXhib3gtaWdub3JlLWZpcnN0TGV0dGVyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogY3NzMy9mbGV4Ym94L2lubGluZS1mbGV4Ym94LWlnbm9yZS1m
aXJzdExldHRlci5odG1sOiBBZGRlZC4KKwogMjAxMi0xMi0xNSAgSWFuIFZvbGxpY2sgIDx2b2xs
aWNrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIE1vcmUgZXhwZWN0YXRpb25z
IHVwZGF0ZXMgZm9yIGNvbXBvc2l0ZWQgc2Nyb2xsaW5nLgpJbmRleDogTGF5b3V0VGVzdHMvY3Nz
My9mbGV4Ym94L2ZsZXgtaXRlbS1maXJzdExldHRlci12YWxpZC1leHBlY3RlZC50eHQNCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0NCi0tLSBMYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvZmxleC1pdGVtLWZpcnN0TGV0dGVy
LXZhbGlkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkNCisrKyBMYXlvdXRUZXN0cy9jc3MzL2Zs
ZXhib3gvZmxleC1pdGVtLWZpcnN0TGV0dGVyLXZhbGlkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkNCkBAIC0wLDAgKzEsNyBAQA0KK1RoaXMgdGVzdCBmbGV4IGl0ZW0gc2hvdWxkIGlnbm9yZSBm
bGV4IGNvbnRhaW5lcidzIGZpcnN0TGV0dGVyIHBzZXVkbyBlbGVtZW50LCBidXQgZmxleCBpdGVt
J3MgZmlyc3RMZXR0ZXIgc2hvdWxkIGJlIHZhbGlkLgorCitUaGUgZmlyc3QgaXRlbS4KKworVGhl
IHNlY29uZCBpdGVtLgorCitQQVNTCkluZGV4OiBMYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvZmxl
eC1pdGVtLWZpcnN0TGV0dGVyLXZhbGlkLmh0bWwNCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBMYXlvdXRUZXN0
cy9jc3MzL2ZsZXhib3gvZmxleC1pdGVtLWZpcnN0TGV0dGVyLXZhbGlkLmh0bWwJKHJldmlzaW9u
IDApDQorKysgTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2ZsZXgtaXRlbS1maXJzdExldHRlci12
YWxpZC5odG1sCShyZXZpc2lvbiAwKQ0KQEAgLTAsMCArMSwxOCBAQA0KKzwhRE9DVFlQRSBodG1s
Pg0KKzxodG1sPg0KKzxsaW5rIGhyZWY9InJlc291cmNlcy9mbGV4Ym94LmNzcyIgcmVsPSJzdHls
ZXNoZWV0Ij4NCis8c3R5bGU+DQorICAgIGRpdjo6Zmlyc3QtbGV0dGVyIHsgbGluZS1oZWlnaHQ6
IDEwMHB4OyB9DQorICAgIHA6OmZpcnN0LWxldHRlciB7IGxpbmUtaGVpZ2h0OiAxMDBweDt9DQor
PC9zdHlsZT4NCisNCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2NoZWNrLWxheW91dC5q
cyI+PC9zY3JpcHQ+DQorPGJvZHkgb25sb2FkPSJjaGVja0xheW91dCgnLmZsZXhib3gnKSI+DQor
PHA+VGhpcyB0ZXN0IGZsZXggaXRlbSBzaG91bGQgaWdub3JlIGZsZXggY29udGFpbmVyJ3MgZmly
c3RMZXR0ZXIgcHNldWRvIGVsZW1lbnQsIGJ1dCBmbGV4IGl0ZW0ncyBmaXJzdExldHRlciBzaG91
bGQgYmUgdmFsaWQuPC9wPg0KKw0KKzxkaXYgY2xhc3M9ImZsZXhib3giPg0KKyAgICA8cCBkYXRh
LWV4cGVjdGVkLWhlaWdodD0xMDA+VGhlIGZpcnN0IGl0ZW0uPC9wPg0KKyAgICA8cCBkYXRhLWV4
cGVjdGVkLWhlaWdodD0xMDA+VGhlIHNlY29uZCBpdGVtLjwvcD4NCis8L2Rpdj4NCis8L2JvZHk+
DQorPC9odG1sPg0KSW5kZXg6IExheW91dFRlc3RzL2NzczMvZmxleGJveC9mbGV4Ym94LWlnbm9y
ZS1maXJzdExldHRlci1leHBlY3RlZC50eHQNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBMYXlvdXRUZXN0cy9j
c3MzL2ZsZXhib3gvZmxleGJveC1pZ25vcmUtZmlyc3RMZXR0ZXItZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQ0KKysrIExheW91dFRlc3RzL2NzczMvZmxleGJveC9mbGV4Ym94LWlnbm9yZS1maXJz
dExldHRlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApDQpAQCAtMCwwICsxLDcgQEANCitUaGlz
IHRlc3QgZmxleCBpdGVtIHNob3VsZCBpZ25vcmUgZmxleCBjb250YWluZXIncyBmaXJzdExldHRl
ciBwc2V1ZG8gZWxlbWVudC4KKworVGhlIGZpcnN0IGl0ZW0uCisKK1RoZSBzZWNvbmQgaXRlbS4K
KworUEFTUwpJbmRleDogTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2ZsZXhib3gtaWdub3JlLWZp
cnN0TGV0dGVyLmh0bWwNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBMYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gv
ZmxleGJveC1pZ25vcmUtZmlyc3RMZXR0ZXIuaHRtbAkocmV2aXNpb24gMCkNCisrKyBMYXlvdXRU
ZXN0cy9jc3MzL2ZsZXhib3gvZmxleGJveC1pZ25vcmUtZmlyc3RMZXR0ZXIuaHRtbAkocmV2aXNp
b24gMCkNCkBAIC0wLDAgKzEsMTggQEANCis8IURPQ1RZUEUgaHRtbD4NCis8aHRtbD4NCis8bGlu
ayBocmVmPSJyZXNvdXJjZXMvZmxleGJveC5jc3MiIHJlbD0ic3R5bGVzaGVldCI+DQorPHN0eWxl
Pg0KKyAgICBkaXY6OmZpcnN0LWxldHRlciB7IGxpbmUtaGVpZ2h0OiAxMDBweDsgfQ0KKyAgICBw
IHsgbGluZS1oZWlnaHQ6IDIwcHg7IH0NCis8L3N0eWxlPg0KKw0KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvY2hlY2stbGF5b3V0LmpzIj48L3NjcmlwdD4NCis8Ym9keSBvbmxvYWQ9ImNo
ZWNrTGF5b3V0KCcuZmxleGJveCcpIj4NCis8cD5UaGlzIHRlc3QgZmxleCBpdGVtIHNob3VsZCBp
Z25vcmUgZmxleCBjb250YWluZXIncyBmaXJzdExldHRlciBwc2V1ZG8gZWxlbWVudC48L3A+DQor
DQorPGRpdiBjbGFzcz0iZmxleGJveCI+DQorICAgIDxwIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PTIw
PlRoZSBmaXJzdCBpdGVtLjwvcD4NCisgICAgPHAgZGF0YS1leHBlY3RlZC1oZWlnaHQ9MjA+VGhl
IHNlY29uZCBpdGVtLjwvcD4NCis8L2Rpdj4NCis8L2JvZHk+DQorPC9odG1sPg0KSW5kZXg6IExh
eW91dFRlc3RzL2NzczMvZmxleGJveC9pbmxpbmUtZmxleGJveC1pZ25vcmUtZmlyc3RMZXR0ZXIt
ZXhwZWN0ZWQudHh0DQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2lu
bGluZS1mbGV4Ym94LWlnbm9yZS1maXJzdExldHRlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
DQorKysgTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2lubGluZS1mbGV4Ym94LWlnbm9yZS1maXJz
dExldHRlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApDQpAQCAtMCwwICsxLDggQEANCitUaGlz
IHRlc3QgaW5saW5lLWZsZXhib3ggaXRlbSBzaG91bGQgaWdub3JlIGZsZXggY29udGFpbmVyJ3Mg
Zmlyc3RMZXR0ZXIgcHNldWRvIGVsZW1lbnQuCisKK1RoZSBmaXJzdCBpdGVtLgorCitUaGUgc2Vj
b25kIGl0ZW0uCisKK1BBU1MKKwpJbmRleDogTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2lubGlu
ZS1mbGV4Ym94LWlnbm9yZS1maXJzdExldHRlci5odG1sDQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gTGF5b3V0
VGVzdHMvY3NzMy9mbGV4Ym94L2lubGluZS1mbGV4Ym94LWlnbm9yZS1maXJzdExldHRlci5odG1s
CShyZXZpc2lvbiAwKQ0KKysrIExheW91dFRlc3RzL2NzczMvZmxleGJveC9pbmxpbmUtZmxleGJv
eC1pZ25vcmUtZmlyc3RMZXR0ZXIuaHRtbAkocmV2aXNpb24gMCkNCkBAIC0wLDAgKzEsMTggQEAN
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGxpbmsgaHJlZj0icmVzb3VyY2VzL2ZsZXhib3gu
Y3NzIiByZWw9InN0eWxlc2hlZXQiPgorPHN0eWxlPgorICAgIGRpdjo6Zmlyc3QtbGV0dGVyIHsg
bGluZS1oZWlnaHQ6IDEwMHB4OyB9CisgICAgcCB7IGxpbmUtaGVpZ2h0OiAyMHB4OyB9Cis8L3N0
eWxlPgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2NoZWNrLWxheW91dC5qcyI+PC9z
Y3JpcHQ+Cis8Ym9keSBvbmxvYWQ9ImNoZWNrTGF5b3V0KCcuaW5saW5lLWZsZXhib3gnKSI+Cis8
cD5UaGlzIHRlc3QgaW5saW5lLWZsZXhib3ggaXRlbSBzaG91bGQgaWdub3JlIGZsZXggY29udGFp
bmVyJ3MgZmlyc3RMZXR0ZXIgcHNldWRvIGVsZW1lbnQuPC9wPgorCis8ZGl2IGNsYXNzPSJpbmxp
bmUtZmxleGJveCI+CisgICAgPHAgZGF0YS1leHBlY3RlZC1oZWlnaHQ9MjA+VGhlIGZpcnN0IGl0
ZW0uPC9wPgorICAgIDxwIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PTIwPlRoZSBzZWNvbmQgaXRlbS48
L3A+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQ0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24g
MTM3ODM0KQ0KKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQ0KQEAg
LTEsMyArMSwyMyBAQA0KKzIwMTItMTItMTYgIFh1ZXFpbmcgSHVhbmcgIDxodWFuZ3h1ZXFpbmdA
YmFpZHUuY29tPgorCisgICAgICAgIEZsZXhib3ggc2hvdWxkIGlnbm9yZSBmaXJ0TGV0dGVyIHBz
ZXVkbyBlbGVtZW50LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTA1MTI2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgU3BlY1sxXSBzYWlkIHRoYXQgIk5vbmUgb2YgdGhlIHByb3BlcnRpZXMgZGVmaW5lZCBp
biB0aGlzIG1vZHVsZQorICAgICAgICBhcHBseSB0byAnOjpmaXJzdC1saW5lJyBvciAnOjpmaXJz
dC1sZXR0ZXInIHBzZXVkby1lbGVtZW50cy4iCisgICAgICAgIFsxXWh0dHA6Ly9kZXYudzNjLm9y
Zy9jc3N3Zy9jc3MzLWZsZXhib3gvI2Rpc3BsYXktZmxleCAKKworICAgICAgICB0ZXN0czoKKyAg
ICAgICAgY3NzMy9mbGV4Ym94L2ZsZXhib3gtaWdub3JlLWZpcnN0TGV0dGVyLmh0bWwKKyAgICAg
ICAgY3NzMy9mbGV4Ym94L2ZsZXgtaXRlbS1maXJzdExldHRlci12YWxpZC5odG1sCisgICAgICAg
IGNzczMvZmxleGJveC9pbmxpbmUtZmxleGJveC1pZ25vcmUtZmlyc3RMZXR0ZXIuaHRtbCAKKwor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpm
aW5kRmlyc3RMZXR0ZXJCbG9jayk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6dXBk
YXRlRmlyc3RMZXR0ZXIpOgorCiAyMDEyLTEyLTE1ICBJYW4gVm9sbGljayAgPHZvbGxpY2tAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gQXV0b21hdGljYWxseSB1c2UgY29tcG9z
aXRlZCBzY3JvbGxpbmcKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
ay5jcHANCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0NCi0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2suY3BwCShyZXZpc2lvbiAxMzc4MzQpDQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJsb2NrLmNwcAkod29ya2luZyBjb3B5KQ0KQEAgLTYzMzAsNyArNjMzMCw3IEBADQogCiAg
ICAgICAgIFJlbmRlck9iamVjdCogcGFyZW50QmxvY2sgPSBmaXJzdExldHRlckJsb2NrLT5wYXJl
bnQoKTsKICAgICAgICAgaWYgKGZpcnN0TGV0dGVyQmxvY2stPmlzUmVwbGFjZWQoKSB8fCAhcGFy
ZW50QmxvY2sgfHwgcGFyZW50QmxvY2stPmZpcnN0Q2hpbGQoKSAhPSBmaXJzdExldHRlckJsb2Nr
IHx8IAotICAgICAgICAgICAgIXBhcmVudEJsb2NrLT5pc0Jsb2NrRmxvdygpKQorICAgICAgICAg
ICAgIXBhcmVudEJsb2NrLT5pc0Jsb2NrRmxvdygpIHx8IHBhcmVudEJsb2NrLT5pc0ZsZXhpYmxl
Qm94KCkpCiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgZmlyc3RMZXR0ZXJCbG9jayA9
IHBhcmVudEJsb2NrOwogICAgIH0gCkBAIC02NDYyLDYgKzY0NjIsOSBAQA0KICAgICBpZiAoc3R5
bGUoKS0+c3R5bGVUeXBlKCkgPT0gRklSU1RfTEVUVEVSKQogICAgICAgICByZXR1cm47CiAKKyAg
ICBpZiAoaXNGbGV4aWJsZUJveCgpKQorICAgICAgICByZXR1cm47CisKICAgICAvLyBGSVhNRTog
V2UgbmVlZCB0byBkZXN0cm95IHRoZSBmaXJzdC1sZXR0ZXIgb2JqZWN0IGlmIGl0IGlzIG5vIGxv
bmdlciB0aGUgZmlyc3QgY2hpbGQuIE5lZWQgdG8gZmluZAogICAgIC8vIGFuIGVmZmljaWVudCB3
YXkgdG8gY2hlY2sgZm9yIHRoYXQgc2l0dWF0aW9uIHRob3VnaCBiZWZvcmUgaW1wbGVtZW50aW5n
IGFueXRoaW5nLgogICAgIFJlbmRlck9iamVjdCogZmlyc3RMZXR0ZXJCbG9jayA9IGZpbmRGaXJz
dExldHRlckJsb2NrKHRoaXMpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>179647</attachid>
            <date>2012-12-16 07:33:40 -0800</date>
            <delta_ts>2012-12-16 07:35:24 -0800</delta_ts>
            <desc>patch</desc>
            <filename>105126.patch</filename>
            <type>text/plain</type>
            <size>9022</size>
            <attacher name="huangxueqing">huangxueqing</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIExheW91dFRlc3Rz
L0NoYW5nZUxvZwkocmV2aXNpb24gMTM3ODM2KQ0KKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQ0KQEAgLTEsMyArMSwyNCBAQA0KKzIwMTItMTItMTYgIFh1ZXFpbmcgSHVh
bmcgIDxodWFuZ3h1ZXFpbmdAYmFpZHUuY29tPgorCisgICAgICAgIEZsZXhib3ggc2hvdWxkIGln
bm9yZSBmaXJzdExldHRlciBwc2V1ZG8gZWxlbWVudC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTEyNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFNwZWNbMV0gc2FpZCB0aGF0ICJOb25lIG9mIHRoZSBw
cm9wZXJ0aWVzIGRlZmluZWQgaW4gdGhpcyBtb2R1bGUKKyAgICAgICAgYXBwbHkgdG8gJzo6Zmly
c3QtbGluZScgb3IgJzo6Zmlyc3QtbGV0dGVyJyBwc2V1ZG8tZWxlbWVudHMuIgorICAgICAgICBb
MV1odHRwOi8vZGV2LnczYy5vcmcvY3Nzd2cvY3NzMy1mbGV4Ym94LyNkaXNwbGF5LWZsZXggCisK
KyAgICAgICAgKiBjc3MzL2ZsZXhib3gvZmxleC1pdGVtLWZpcnN0TGV0dGVyLXZhbGlkLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3NzMy9mbGV4Ym94L2ZsZXgtaXRlbS1maXJzdExl
dHRlci12YWxpZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2ZsZXhib3gvZmxleGJveC1p
Z25vcmUtZmlyc3RMZXR0ZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2Zs
ZXhib3gvZmxleGJveC1pZ25vcmUtZmlyc3RMZXR0ZXIuaHRtbDogQWRkZWQuCisgICAgICAgICog
Y3NzMy9mbGV4Ym94L2lubGluZS1mbGV4LWNyYXNoLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBj
c3MzL2ZsZXhib3gvaW5saW5lLWZsZXgtY3Jhc2gyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBj
c3MzL2ZsZXhib3gvaW5saW5lLWZsZXhib3gtaWdub3JlLWZpcnN0TGV0dGVyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogY3NzMy9mbGV4Ym94L2lubGluZS1mbGV4Ym94LWlnbm9yZS1m
aXJzdExldHRlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9UZXN0
RXhwZWN0YXRpb25zOgorCiAyMDEyLTEyLTE2ICBNaWhuZWEgT3ZpZGVuaWUgIDxtaWhuZWFAYWRv
YmUuY29tPgogCiAgICAgICAgIFtDU1NSZWdpb25zXSBQc2V1ZG8tZWxlbWVudHMgc2hvdWxkIG5v
dCBiZSBkaXJlY3RseSBjb2xsZWN0ZWQgaW50byBhIG5hbWVkIGZsb3cKSW5kZXg6IExheW91dFRl
c3RzL2NzczMvZmxleGJveC9mbGV4LWl0ZW0tZmlyc3RMZXR0ZXItdmFsaWQtZXhwZWN0ZWQudHh0
DQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09DQotLS0gTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2ZsZXgtaXRlbS1maXJz
dExldHRlci12YWxpZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApDQorKysgTGF5b3V0VGVzdHMv
Y3NzMy9mbGV4Ym94L2ZsZXgtaXRlbS1maXJzdExldHRlci12YWxpZC1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApDQpAQCAtMCwwICsxLDcgQEANCitUaGlzIHRlc3QgZmxleCBpdGVtIHNob3VsZCBp
Z25vcmUgZmxleCBjb250YWluZXIncyBmaXJzdExldHRlciBwc2V1ZG8gZWxlbWVudCwgYnV0IGZs
ZXggaXRlbSdzIGZpcnN0TGV0dGVyIHNob3VsZCBiZSB2YWxpZC4KKworVGhlIGZpcnN0IGl0ZW0u
CisKK1RoZSBzZWNvbmQgaXRlbS4KKworUEFTUwpJbmRleDogTGF5b3V0VGVzdHMvY3NzMy9mbGV4
Ym94L2ZsZXgtaXRlbS1maXJzdExldHRlci12YWxpZC5odG1sDQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gTGF5
b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2ZsZXgtaXRlbS1maXJzdExldHRlci12YWxpZC5odG1sCShy
ZXZpc2lvbiAwKQ0KKysrIExheW91dFRlc3RzL2NzczMvZmxleGJveC9mbGV4LWl0ZW0tZmlyc3RM
ZXR0ZXItdmFsaWQuaHRtbAkocmV2aXNpb24gMCkNCkBAIC0wLDAgKzEsMTggQEANCis8IURPQ1RZ
UEUgaHRtbD4NCis8aHRtbD4NCis8bGluayBocmVmPSJyZXNvdXJjZXMvZmxleGJveC5jc3MiIHJl
bD0ic3R5bGVzaGVldCI+DQorPHN0eWxlPg0KKyAgICBkaXY6OmZpcnN0LWxldHRlciB7IGxpbmUt
aGVpZ2h0OiAxMDBweDsgfQ0KKyAgICBwOjpmaXJzdC1sZXR0ZXIgeyBsaW5lLWhlaWdodDogMTAw
cHg7fQ0KKzwvc3R5bGU+DQorDQorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9jaGVjay1s
YXlvdXQuanMiPjwvc2NyaXB0Pg0KKzxib2R5IG9ubG9hZD0iY2hlY2tMYXlvdXQoJy5mbGV4Ym94
JykiPg0KKzxwPlRoaXMgdGVzdCBmbGV4IGl0ZW0gc2hvdWxkIGlnbm9yZSBmbGV4IGNvbnRhaW5l
cidzIGZpcnN0TGV0dGVyIHBzZXVkbyBlbGVtZW50LCBidXQgZmxleCBpdGVtJ3MgZmlyc3RMZXR0
ZXIgc2hvdWxkIGJlIHZhbGlkLjwvcD4NCisNCis8ZGl2IGNsYXNzPSJmbGV4Ym94Ij4NCisgICAg
PHAgZGF0YS1leHBlY3RlZC1oZWlnaHQ9MTAwPlRoZSBmaXJzdCBpdGVtLjwvcD4NCisgICAgPHAg
ZGF0YS1leHBlY3RlZC1oZWlnaHQ9MTAwPlRoZSBzZWNvbmQgaXRlbS48L3A+DQorPC9kaXY+DQor
PC9ib2R5Pg0KKzwvaHRtbD4NCkluZGV4OiBMYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvZmxleGJv
eC1pZ25vcmUtZmlyc3RMZXR0ZXItZXhwZWN0ZWQudHh0DQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gTGF5b3V0
VGVzdHMvY3NzMy9mbGV4Ym94L2ZsZXhib3gtaWdub3JlLWZpcnN0TGV0dGVyLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMCkNCisrKyBMYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvZmxleGJveC1pZ25v
cmUtZmlyc3RMZXR0ZXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQ0KQEAgLTAsMCArMSw3IEBA
DQorVGhpcyB0ZXN0IGZsZXggaXRlbSBzaG91bGQgaWdub3JlIGZsZXggY29udGFpbmVyJ3MgZmly
c3RMZXR0ZXIgcHNldWRvIGVsZW1lbnQuCisKK1RoZSBmaXJzdCBpdGVtLgorCitUaGUgc2Vjb25k
IGl0ZW0uCisKK1BBU1MKSW5kZXg6IExheW91dFRlc3RzL2NzczMvZmxleGJveC9mbGV4Ym94LWln
bm9yZS1maXJzdExldHRlci5odG1sDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gTGF5b3V0VGVzdHMvY3NzMy9m
bGV4Ym94L2ZsZXhib3gtaWdub3JlLWZpcnN0TGV0dGVyLmh0bWwJKHJldmlzaW9uIDApDQorKysg
TGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2ZsZXhib3gtaWdub3JlLWZpcnN0TGV0dGVyLmh0bWwJ
KHJldmlzaW9uIDApDQpAQCAtMCwwICsxLDE4IEBADQorPCFET0NUWVBFIGh0bWw+DQorPGh0bWw+
DQorPGxpbmsgaHJlZj0icmVzb3VyY2VzL2ZsZXhib3guY3NzIiByZWw9InN0eWxlc2hlZXQiPg0K
KzxzdHlsZT4NCisgICAgZGl2OjpmaXJzdC1sZXR0ZXIgeyBsaW5lLWhlaWdodDogMTAwcHg7IH0N
CisgICAgcCB7IGxpbmUtaGVpZ2h0OiAyMHB4OyB9DQorPC9zdHlsZT4NCisNCis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2NoZWNrLWxheW91dC5qcyI+PC9zY3JpcHQ+DQorPGJvZHkgb25s
b2FkPSJjaGVja0xheW91dCgnLmZsZXhib3gnKSI+DQorPHA+VGhpcyB0ZXN0IGZsZXggaXRlbSBz
aG91bGQgaWdub3JlIGZsZXggY29udGFpbmVyJ3MgZmlyc3RMZXR0ZXIgcHNldWRvIGVsZW1lbnQu
PC9wPg0KKw0KKzxkaXYgY2xhc3M9ImZsZXhib3giPg0KKyAgICA8cCBkYXRhLWV4cGVjdGVkLWhl
aWdodD0yMD5UaGUgZmlyc3QgaXRlbS48L3A+DQorICAgIDxwIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0
PTIwPlRoZSBzZWNvbmQgaXRlbS48L3A+DQorPC9kaXY+DQorPC9ib2R5Pg0KKzwvaHRtbD4NCklu
ZGV4OiBMYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvaW5saW5lLWZsZXgtY3Jhc2gtZXhwZWN0ZWQu
dHh0DQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09DQotLS0gTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2lubGluZS1mbGV4
LWNyYXNoLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTM3ODM0KQ0KKysrIExheW91dFRlc3RzL2Nz
czMvZmxleGJveC9pbmxpbmUtZmxleC1jcmFzaC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkN
CkBAIC0xLDUgKzEsMyBAQA0KIFRoaXMgdGVzdCBwYXNzZXMgaWYgaXQgZG9lc24ndCBjcmFzaC4K
IAotQUEKLQot2IUKK0FB2IUKSW5kZXg6IExheW91dFRlc3RzL2NzczMvZmxleGJveC9pbmxpbmUt
ZmxleC1jcmFzaDItZXhwZWN0ZWQudHh0DQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gTGF5b3V0VGVzdHMvY3Nz
My9mbGV4Ym94L2lubGluZS1mbGV4LWNyYXNoMi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDEzNzgz
NCkNCisrKyBMYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvaW5saW5lLWZsZXgtY3Jhc2gyLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQ0KQEAgLTEsNSArMSwzIEBADQogVGhpcyB0ZXN0IHBhc3Nl
cyBpZiBpdCBkb2Vzbid0IGNyYXNoLgogCi1BQUFBCi0KLUEKK0FBQUFBCkluZGV4OiBMYXlvdXRU
ZXN0cy9jc3MzL2ZsZXhib3gvaW5saW5lLWZsZXhib3gtaWdub3JlLWZpcnN0TGV0dGVyLWV4cGVj
dGVkLnR4dA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQ0KLS0tIExheW91dFRlc3RzL2NzczMvZmxleGJveC9pbmxpbmUt
ZmxleGJveC1pZ25vcmUtZmlyc3RMZXR0ZXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQ0KKysr
IExheW91dFRlc3RzL2NzczMvZmxleGJveC9pbmxpbmUtZmxleGJveC1pZ25vcmUtZmlyc3RMZXR0
ZXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQ0KQEAgLTAsMCArMSw4IEBADQorVGhpcyB0ZXN0
IGlubGluZS1mbGV4Ym94IGl0ZW0gc2hvdWxkIGlnbm9yZSBmbGV4IGNvbnRhaW5lcidzIGZpcnN0
TGV0dGVyIHBzZXVkbyBlbGVtZW50LgorCitUaGUgZmlyc3QgaXRlbS4KKworVGhlIHNlY29uZCBp
dGVtLgorCitQQVNTCisKSW5kZXg6IExheW91dFRlc3RzL2NzczMvZmxleGJveC9pbmxpbmUtZmxl
eGJveC1pZ25vcmUtZmlyc3RMZXR0ZXIuaHRtbA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIExheW91dFRlc3Rz
L2NzczMvZmxleGJveC9pbmxpbmUtZmxleGJveC1pZ25vcmUtZmlyc3RMZXR0ZXIuaHRtbAkocmV2
aXNpb24gMCkNCisrKyBMYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvaW5saW5lLWZsZXhib3gtaWdu
b3JlLWZpcnN0TGV0dGVyLmh0bWwJKHJldmlzaW9uIDApDQpAQCAtMCwwICsxLDE4IEBADQorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxsaW5rIGhyZWY9InJlc291cmNlcy9mbGV4Ym94LmNzcyIg
cmVsPSJzdHlsZXNoZWV0Ij4KKzxzdHlsZT4KKyAgICBkaXY6OmZpcnN0LWxldHRlciB7IGxpbmUt
aGVpZ2h0OiAxMDBweDsgfQorICAgIHAgeyBsaW5lLWhlaWdodDogMjBweDsgfQorPC9zdHlsZT4K
KworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9jaGVjay1sYXlvdXQuanMiPjwvc2NyaXB0
PgorPGJvZHkgb25sb2FkPSJjaGVja0xheW91dCgnLmlubGluZS1mbGV4Ym94JykiPgorPHA+VGhp
cyB0ZXN0IGlubGluZS1mbGV4Ym94IGl0ZW0gc2hvdWxkIGlnbm9yZSBmbGV4IGNvbnRhaW5lcidz
IGZpcnN0TGV0dGVyIHBzZXVkbyBlbGVtZW50LjwvcD4KKworPGRpdiBjbGFzcz0iaW5saW5lLWZs
ZXhib3giPgorICAgIDxwIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PTIwPlRoZSBmaXJzdCBpdGVtLjwv
cD4KKyAgICA8cCBkYXRhLWV4cGVjdGVkLWhlaWdodD0yMD5UaGUgc2Vjb25kIGl0ZW0uPC9wPgor
PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9UZXN0RXhwZWN0YXRpb25zDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwkocmV2aXNpb24gMTM3ODM0KQ0KKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtpbmcgY29weSkN
CkBAIC00MjQ0LDMgKzQyNDQsOSBAQA0KIAogIyBOZXcgdGVzdAogd2Via2l0Lm9yZy9iLzEwNDYz
MSBmYXN0L2lubGluZS9qdXN0aWZ5LWVtcGhhc2lzLWlubGluZS1ib3guaHRtbCBbIE1pc3Npbmcg
XQorCisjIEZsZXggYm94J3MgcHNldWRvLWVsZW1lbnRzIDo6Zmlyc3QtbGV0dGVyIHNob3VsZCBu
b3QgYXBwbHkgdG8gZmxleCBpdGVtCit3ZWJraXQub3JnL2IvMTA1MTI2IGZhc3QvZm9ybXMvd2Vl
ay93ZWVrLWFwcGVhcmFuY2UtcHNldWRvLWVsZW1lbnRzLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtp
dC5vcmcvYi8xMDUxMjYgZmFzdC9mb3Jtcy90aW1lL3RpbWUtYXBwZWFyYW5jZS1wc2V1ZG8tZWxl
bWVudHMuaHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzEwNTEyNiBmYXN0L2Zvcm1zL21v
bnRoL21vbnRoLWFwcGVhcmFuY2UtcHNldWRvLWVsZW1lbnRzLmh0bWwgWyBGYWlsdXJlIF0KK3dl
YmtpdC5vcmcvYi8xMDUxMjYgZmFzdC9mb3Jtcy9kYXRlL2RhdGUtYXBwZWFyYW5jZS1wc2V1ZG8t
ZWxlbWVudHMuaHRtbCBbIEZhaWx1cmUgXQpJbmRleDogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
DQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09DQotLS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMzc4
MzQpDQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpDQpAQCAtMSwz
ICsxLDIzIEBADQorMjAxMi0xMi0xNiAgWHVlcWluZyBIdWFuZyAgPGh1YW5neHVlcWluZ0BiYWlk
dS5jb20+CisKKyAgICAgICAgRmxleGJveCBzaG91bGQgaWdub3JlIGZpcnRMZXR0ZXIgcHNldWRv
IGVsZW1lbnQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDUxMjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBTcGVjWzFdIHNhaWQgdGhhdCAiTm9uZSBvZiB0aGUgcHJvcGVydGllcyBkZWZpbmVkIGluIHRo
aXMgbW9kdWxlCisgICAgICAgIGFwcGx5IHRvICc6OmZpcnN0LWxpbmUnIG9yICc6OmZpcnN0LWxl
dHRlcicgcHNldWRvLWVsZW1lbnRzLiIKKyAgICAgICAgWzFdaHR0cDovL2Rldi53M2Mub3JnL2Nz
c3dnL2NzczMtZmxleGJveC8jZGlzcGxheS1mbGV4IAorCisgICAgICAgIHRlc3RzOgorICAgICAg
ICBjc3MzL2ZsZXhib3gvZmxleGJveC1pZ25vcmUtZmlyc3RMZXR0ZXIuaHRtbAorICAgICAgICBj
c3MzL2ZsZXhib3gvZmxleC1pdGVtLWZpcnN0TGV0dGVyLXZhbGlkLmh0bWwKKyAgICAgICAgY3Nz
My9mbGV4Ym94L2lubGluZS1mbGV4Ym94LWlnbm9yZS1maXJzdExldHRlci5odG1sIAorCisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmZpbmRG
aXJzdExldHRlckJsb2NrKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjp1cGRhdGVG
aXJzdExldHRlcik6CisKIDIwMTItMTItMTUgIElhbiBWb2xsaWNrICA8dm9sbGlja0BjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBBdXRvbWF0aWNhbGx5IHVzZSBjb21wb3NpdGVk
IHNjcm9sbGluZwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNw
cA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQ0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5j
cHAJKHJldmlzaW9uIDEzNzgzNCkNCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2suY3BwCSh3b3JraW5nIGNvcHkpDQpAQCAtNjMzMCw3ICs2MzMwLDcgQEANCiAKICAgICAg
ICAgUmVuZGVyT2JqZWN0KiBwYXJlbnRCbG9jayA9IGZpcnN0TGV0dGVyQmxvY2stPnBhcmVudCgp
OwogICAgICAgICBpZiAoZmlyc3RMZXR0ZXJCbG9jay0+aXNSZXBsYWNlZCgpIHx8ICFwYXJlbnRC
bG9jayB8fCBwYXJlbnRCbG9jay0+Zmlyc3RDaGlsZCgpICE9IGZpcnN0TGV0dGVyQmxvY2sgfHwg
Ci0gICAgICAgICAgICAhcGFyZW50QmxvY2stPmlzQmxvY2tGbG93KCkpCisgICAgICAgICAgICAh
cGFyZW50QmxvY2stPmlzQmxvY2tGbG93KCkgfHwgcGFyZW50QmxvY2stPmlzRmxleGlibGVCb3go
KSkKICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICBmaXJzdExldHRlckJsb2NrID0gcGFy
ZW50QmxvY2s7CiAgICAgfSAKQEAgLTY0NjIsNiArNjQ2Miw5IEBADQogICAgIGlmIChzdHlsZSgp
LT5zdHlsZVR5cGUoKSA9PSBGSVJTVF9MRVRURVIpCiAgICAgICAgIHJldHVybjsKIAorICAgIGlm
IChpc0ZsZXhpYmxlQm94KCkpCisgICAgICAgIHJldHVybjsKKwogICAgIC8vIEZJWE1FOiBXZSBu
ZWVkIHRvIGRlc3Ryb3kgdGhlIGZpcnN0LWxldHRlciBvYmplY3QgaWYgaXQgaXMgbm8gbG9uZ2Vy
IHRoZSBmaXJzdCBjaGlsZC4gTmVlZCB0byBmaW5kCiAgICAgLy8gYW4gZWZmaWNpZW50IHdheSB0
byBjaGVjayBmb3IgdGhhdCBzaXR1YXRpb24gdGhvdWdoIGJlZm9yZSBpbXBsZW1lbnRpbmcgYW55
dGhpbmcuCiAgICAgUmVuZGVyT2JqZWN0KiBmaXJzdExldHRlckJsb2NrID0gZmluZEZpcnN0TGV0
dGVyQmxvY2sodGhpcyk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>179648</attachid>
            <date>2012-12-16 07:35:24 -0800</date>
            <delta_ts>2013-02-22 02:10:42 -0800</delta_ts>
            <desc>patch</desc>
            <filename>105126.patch</filename>
            <type>text/plain</type>
            <size>9022</size>
            <attacher name="huangxueqing">huangxueqing</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIExheW91dFRlc3Rz
L0NoYW5nZUxvZwkocmV2aXNpb24gMTM3ODM2KQ0KKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQ0KQEAgLTEsMyArMSwyNCBAQA0KKzIwMTItMTItMTYgIFh1ZXFpbmcgSHVh
bmcgIDxodWFuZ3h1ZXFpbmdAYmFpZHUuY29tPgorCisgICAgICAgIEZsZXhib3ggc2hvdWxkIGln
bm9yZSBmaXJzdExldHRlciBwc2V1ZG8gZWxlbWVudC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTEyNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFNwZWNbMV0gc2FpZCB0aGF0ICJOb25lIG9mIHRoZSBw
cm9wZXJ0aWVzIGRlZmluZWQgaW4gdGhpcyBtb2R1bGUKKyAgICAgICAgYXBwbHkgdG8gJzo6Zmly
c3QtbGluZScgb3IgJzo6Zmlyc3QtbGV0dGVyJyBwc2V1ZG8tZWxlbWVudHMuIgorICAgICAgICBb
MV1odHRwOi8vZGV2LnczYy5vcmcvY3Nzd2cvY3NzMy1mbGV4Ym94LyNkaXNwbGF5LWZsZXggCisK
KyAgICAgICAgKiBjc3MzL2ZsZXhib3gvZmxleC1pdGVtLWZpcnN0TGV0dGVyLXZhbGlkLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3NzMy9mbGV4Ym94L2ZsZXgtaXRlbS1maXJzdExl
dHRlci12YWxpZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2ZsZXhib3gvZmxleGJveC1p
Z25vcmUtZmlyc3RMZXR0ZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2Zs
ZXhib3gvZmxleGJveC1pZ25vcmUtZmlyc3RMZXR0ZXIuaHRtbDogQWRkZWQuCisgICAgICAgICog
Y3NzMy9mbGV4Ym94L2lubGluZS1mbGV4LWNyYXNoLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBj
c3MzL2ZsZXhib3gvaW5saW5lLWZsZXgtY3Jhc2gyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBj
c3MzL2ZsZXhib3gvaW5saW5lLWZsZXhib3gtaWdub3JlLWZpcnN0TGV0dGVyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogY3NzMy9mbGV4Ym94L2lubGluZS1mbGV4Ym94LWlnbm9yZS1m
aXJzdExldHRlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9UZXN0
RXhwZWN0YXRpb25zOgorCiAyMDEyLTEyLTE2ICBNaWhuZWEgT3ZpZGVuaWUgIDxtaWhuZWFAYWRv
YmUuY29tPgogCiAgICAgICAgIFtDU1NSZWdpb25zXSBQc2V1ZG8tZWxlbWVudHMgc2hvdWxkIG5v
dCBiZSBkaXJlY3RseSBjb2xsZWN0ZWQgaW50byBhIG5hbWVkIGZsb3cKSW5kZXg6IExheW91dFRl
c3RzL2NzczMvZmxleGJveC9mbGV4LWl0ZW0tZmlyc3RMZXR0ZXItdmFsaWQtZXhwZWN0ZWQudHh0
DQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09DQotLS0gTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2ZsZXgtaXRlbS1maXJz
dExldHRlci12YWxpZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApDQorKysgTGF5b3V0VGVzdHMv
Y3NzMy9mbGV4Ym94L2ZsZXgtaXRlbS1maXJzdExldHRlci12YWxpZC1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApDQpAQCAtMCwwICsxLDcgQEANCitUaGlzIHRlc3QgZmxleCBpdGVtIHNob3VsZCBp
Z25vcmUgZmxleCBjb250YWluZXIncyBmaXJzdExldHRlciBwc2V1ZG8gZWxlbWVudCwgYnV0IGZs
ZXggaXRlbSdzIGZpcnN0TGV0dGVyIHNob3VsZCBiZSB2YWxpZC4KKworVGhlIGZpcnN0IGl0ZW0u
CisKK1RoZSBzZWNvbmQgaXRlbS4KKworUEFTUwpJbmRleDogTGF5b3V0VGVzdHMvY3NzMy9mbGV4
Ym94L2ZsZXgtaXRlbS1maXJzdExldHRlci12YWxpZC5odG1sDQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gTGF5
b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2ZsZXgtaXRlbS1maXJzdExldHRlci12YWxpZC5odG1sCShy
ZXZpc2lvbiAwKQ0KKysrIExheW91dFRlc3RzL2NzczMvZmxleGJveC9mbGV4LWl0ZW0tZmlyc3RM
ZXR0ZXItdmFsaWQuaHRtbAkocmV2aXNpb24gMCkNCkBAIC0wLDAgKzEsMTggQEANCis8IURPQ1RZ
UEUgaHRtbD4NCis8aHRtbD4NCis8bGluayBocmVmPSJyZXNvdXJjZXMvZmxleGJveC5jc3MiIHJl
bD0ic3R5bGVzaGVldCI+DQorPHN0eWxlPg0KKyAgICBkaXY6OmZpcnN0LWxldHRlciB7IGxpbmUt
aGVpZ2h0OiAxMDBweDsgfQ0KKyAgICBwOjpmaXJzdC1sZXR0ZXIgeyBsaW5lLWhlaWdodDogMTAw
cHg7fQ0KKzwvc3R5bGU+DQorDQorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9jaGVjay1s
YXlvdXQuanMiPjwvc2NyaXB0Pg0KKzxib2R5IG9ubG9hZD0iY2hlY2tMYXlvdXQoJy5mbGV4Ym94
JykiPg0KKzxwPlRoaXMgdGVzdCBmbGV4IGl0ZW0gc2hvdWxkIGlnbm9yZSBmbGV4IGNvbnRhaW5l
cidzIGZpcnN0TGV0dGVyIHBzZXVkbyBlbGVtZW50LCBidXQgZmxleCBpdGVtJ3MgZmlyc3RMZXR0
ZXIgc2hvdWxkIGJlIHZhbGlkLjwvcD4NCisNCis8ZGl2IGNsYXNzPSJmbGV4Ym94Ij4NCisgICAg
PHAgZGF0YS1leHBlY3RlZC1oZWlnaHQ9MTAwPlRoZSBmaXJzdCBpdGVtLjwvcD4NCisgICAgPHAg
ZGF0YS1leHBlY3RlZC1oZWlnaHQ9MTAwPlRoZSBzZWNvbmQgaXRlbS48L3A+DQorPC9kaXY+DQor
PC9ib2R5Pg0KKzwvaHRtbD4NCkluZGV4OiBMYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvZmxleGJv
eC1pZ25vcmUtZmlyc3RMZXR0ZXItZXhwZWN0ZWQudHh0DQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gTGF5b3V0
VGVzdHMvY3NzMy9mbGV4Ym94L2ZsZXhib3gtaWdub3JlLWZpcnN0TGV0dGVyLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMCkNCisrKyBMYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvZmxleGJveC1pZ25v
cmUtZmlyc3RMZXR0ZXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQ0KQEAgLTAsMCArMSw3IEBA
DQorVGhpcyB0ZXN0IGZsZXggaXRlbSBzaG91bGQgaWdub3JlIGZsZXggY29udGFpbmVyJ3MgZmly
c3RMZXR0ZXIgcHNldWRvIGVsZW1lbnQuCisKK1RoZSBmaXJzdCBpdGVtLgorCitUaGUgc2Vjb25k
IGl0ZW0uCisKK1BBU1MKSW5kZXg6IExheW91dFRlc3RzL2NzczMvZmxleGJveC9mbGV4Ym94LWln
bm9yZS1maXJzdExldHRlci5odG1sDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gTGF5b3V0VGVzdHMvY3NzMy9m
bGV4Ym94L2ZsZXhib3gtaWdub3JlLWZpcnN0TGV0dGVyLmh0bWwJKHJldmlzaW9uIDApDQorKysg
TGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2ZsZXhib3gtaWdub3JlLWZpcnN0TGV0dGVyLmh0bWwJ
KHJldmlzaW9uIDApDQpAQCAtMCwwICsxLDE4IEBADQorPCFET0NUWVBFIGh0bWw+DQorPGh0bWw+
DQorPGxpbmsgaHJlZj0icmVzb3VyY2VzL2ZsZXhib3guY3NzIiByZWw9InN0eWxlc2hlZXQiPg0K
KzxzdHlsZT4NCisgICAgZGl2OjpmaXJzdC1sZXR0ZXIgeyBsaW5lLWhlaWdodDogMTAwcHg7IH0N
CisgICAgcCB7IGxpbmUtaGVpZ2h0OiAyMHB4OyB9DQorPC9zdHlsZT4NCisNCis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2NoZWNrLWxheW91dC5qcyI+PC9zY3JpcHQ+DQorPGJvZHkgb25s
b2FkPSJjaGVja0xheW91dCgnLmZsZXhib3gnKSI+DQorPHA+VGhpcyB0ZXN0IGZsZXggaXRlbSBz
aG91bGQgaWdub3JlIGZsZXggY29udGFpbmVyJ3MgZmlyc3RMZXR0ZXIgcHNldWRvIGVsZW1lbnQu
PC9wPg0KKw0KKzxkaXYgY2xhc3M9ImZsZXhib3giPg0KKyAgICA8cCBkYXRhLWV4cGVjdGVkLWhl
aWdodD0yMD5UaGUgZmlyc3QgaXRlbS48L3A+DQorICAgIDxwIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0
PTIwPlRoZSBzZWNvbmQgaXRlbS48L3A+DQorPC9kaXY+DQorPC9ib2R5Pg0KKzwvaHRtbD4NCklu
ZGV4OiBMYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvaW5saW5lLWZsZXgtY3Jhc2gtZXhwZWN0ZWQu
dHh0DQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09DQotLS0gTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2lubGluZS1mbGV4
LWNyYXNoLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTM3ODM0KQ0KKysrIExheW91dFRlc3RzL2Nz
czMvZmxleGJveC9pbmxpbmUtZmxleC1jcmFzaC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkN
CkBAIC0xLDUgKzEsMyBAQA0KIFRoaXMgdGVzdCBwYXNzZXMgaWYgaXQgZG9lc24ndCBjcmFzaC4K
IAotQUEKLQot2IUKK0FB2IUKSW5kZXg6IExheW91dFRlc3RzL2NzczMvZmxleGJveC9pbmxpbmUt
ZmxleC1jcmFzaDItZXhwZWN0ZWQudHh0DQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gTGF5b3V0VGVzdHMvY3Nz
My9mbGV4Ym94L2lubGluZS1mbGV4LWNyYXNoMi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDEzNzgz
NCkNCisrKyBMYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvaW5saW5lLWZsZXgtY3Jhc2gyLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQ0KQEAgLTEsNSArMSwzIEBADQogVGhpcyB0ZXN0IHBhc3Nl
cyBpZiBpdCBkb2Vzbid0IGNyYXNoLgogCi1BQUFBCi0KLUEKK0FBQUFBCkluZGV4OiBMYXlvdXRU
ZXN0cy9jc3MzL2ZsZXhib3gvaW5saW5lLWZsZXhib3gtaWdub3JlLWZpcnN0TGV0dGVyLWV4cGVj
dGVkLnR4dA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQ0KLS0tIExheW91dFRlc3RzL2NzczMvZmxleGJveC9pbmxpbmUt
ZmxleGJveC1pZ25vcmUtZmlyc3RMZXR0ZXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQ0KKysr
IExheW91dFRlc3RzL2NzczMvZmxleGJveC9pbmxpbmUtZmxleGJveC1pZ25vcmUtZmlyc3RMZXR0
ZXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQ0KQEAgLTAsMCArMSw4IEBADQorVGhpcyB0ZXN0
IGlubGluZS1mbGV4Ym94IGl0ZW0gc2hvdWxkIGlnbm9yZSBmbGV4IGNvbnRhaW5lcidzIGZpcnN0
TGV0dGVyIHBzZXVkbyBlbGVtZW50LgorCitUaGUgZmlyc3QgaXRlbS4KKworVGhlIHNlY29uZCBp
dGVtLgorCitQQVNTCisKSW5kZXg6IExheW91dFRlc3RzL2NzczMvZmxleGJveC9pbmxpbmUtZmxl
eGJveC1pZ25vcmUtZmlyc3RMZXR0ZXIuaHRtbA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIExheW91dFRlc3Rz
L2NzczMvZmxleGJveC9pbmxpbmUtZmxleGJveC1pZ25vcmUtZmlyc3RMZXR0ZXIuaHRtbAkocmV2
aXNpb24gMCkNCisrKyBMYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvaW5saW5lLWZsZXhib3gtaWdu
b3JlLWZpcnN0TGV0dGVyLmh0bWwJKHJldmlzaW9uIDApDQpAQCAtMCwwICsxLDE4IEBADQorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxsaW5rIGhyZWY9InJlc291cmNlcy9mbGV4Ym94LmNzcyIg
cmVsPSJzdHlsZXNoZWV0Ij4KKzxzdHlsZT4KKyAgICBkaXY6OmZpcnN0LWxldHRlciB7IGxpbmUt
aGVpZ2h0OiAxMDBweDsgfQorICAgIHAgeyBsaW5lLWhlaWdodDogMjBweDsgfQorPC9zdHlsZT4K
KworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9jaGVjay1sYXlvdXQuanMiPjwvc2NyaXB0
PgorPGJvZHkgb25sb2FkPSJjaGVja0xheW91dCgnLmlubGluZS1mbGV4Ym94JykiPgorPHA+VGhp
cyB0ZXN0IGlubGluZS1mbGV4Ym94IGl0ZW0gc2hvdWxkIGlnbm9yZSBmbGV4IGNvbnRhaW5lcidz
IGZpcnN0TGV0dGVyIHBzZXVkbyBlbGVtZW50LjwvcD4KKworPGRpdiBjbGFzcz0iaW5saW5lLWZs
ZXhib3giPgorICAgIDxwIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PTIwPlRoZSBmaXJzdCBpdGVtLjwv
cD4KKyAgICA8cCBkYXRhLWV4cGVjdGVkLWhlaWdodD0yMD5UaGUgc2Vjb25kIGl0ZW0uPC9wPgor
PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9UZXN0RXhwZWN0YXRpb25zDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwkocmV2aXNpb24gMTM3ODM0KQ0KKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMJKHdvcmtpbmcgY29weSkN
CkBAIC00MjQ0LDMgKzQyNDQsOSBAQA0KIAogIyBOZXcgdGVzdAogd2Via2l0Lm9yZy9iLzEwNDYz
MSBmYXN0L2lubGluZS9qdXN0aWZ5LWVtcGhhc2lzLWlubGluZS1ib3guaHRtbCBbIE1pc3Npbmcg
XQorCisjIEZsZXggYm94J3MgcHNldWRvLWVsZW1lbnRzIDo6Zmlyc3QtbGV0dGVyIHNob3VsZCBu
b3QgYXBwbHkgdG8gZmxleCBpdGVtCit3ZWJraXQub3JnL2IvMTA1MTI2IGZhc3QvZm9ybXMvd2Vl
ay93ZWVrLWFwcGVhcmFuY2UtcHNldWRvLWVsZW1lbnRzLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtp
dC5vcmcvYi8xMDUxMjYgZmFzdC9mb3Jtcy90aW1lL3RpbWUtYXBwZWFyYW5jZS1wc2V1ZG8tZWxl
bWVudHMuaHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzEwNTEyNiBmYXN0L2Zvcm1zL21v
bnRoL21vbnRoLWFwcGVhcmFuY2UtcHNldWRvLWVsZW1lbnRzLmh0bWwgWyBGYWlsdXJlIF0KK3dl
YmtpdC5vcmcvYi8xMDUxMjYgZmFzdC9mb3Jtcy9kYXRlL2RhdGUtYXBwZWFyYW5jZS1wc2V1ZG8t
ZWxlbWVudHMuaHRtbCBbIEZhaWx1cmUgXQpJbmRleDogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
DQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09DQotLS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMzc4
MzQpDQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpDQpAQCAtMSwz
ICsxLDIzIEBADQorMjAxMi0xMi0xNiAgWHVlcWluZyBIdWFuZyAgPGh1YW5neHVlcWluZ0BiYWlk
dS5jb20+CisKKyAgICAgICAgRmxleGJveCBzaG91bGQgaWdub3JlIGZpcnRMZXR0ZXIgcHNldWRv
IGVsZW1lbnQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDUxMjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBTcGVjWzFdIHNhaWQgdGhhdCAiTm9uZSBvZiB0aGUgcHJvcGVydGllcyBkZWZpbmVkIGluIHRo
aXMgbW9kdWxlCisgICAgICAgIGFwcGx5IHRvICc6OmZpcnN0LWxpbmUnIG9yICc6OmZpcnN0LWxl
dHRlcicgcHNldWRvLWVsZW1lbnRzLiIKKyAgICAgICAgWzFdaHR0cDovL2Rldi53M2Mub3JnL2Nz
c3dnL2NzczMtZmxleGJveC8jZGlzcGxheS1mbGV4IAorCisgICAgICAgIHRlc3RzOgorICAgICAg
ICBjc3MzL2ZsZXhib3gvZmxleGJveC1pZ25vcmUtZmlyc3RMZXR0ZXIuaHRtbAorICAgICAgICBj
c3MzL2ZsZXhib3gvZmxleC1pdGVtLWZpcnN0TGV0dGVyLXZhbGlkLmh0bWwKKyAgICAgICAgY3Nz
My9mbGV4Ym94L2lubGluZS1mbGV4Ym94LWlnbm9yZS1maXJzdExldHRlci5odG1sIAorCisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmZpbmRG
aXJzdExldHRlckJsb2NrKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjp1cGRhdGVG
aXJzdExldHRlcik6CisKIDIwMTItMTItMTUgIElhbiBWb2xsaWNrICA8dm9sbGlja0BjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBBdXRvbWF0aWNhbGx5IHVzZSBjb21wb3NpdGVk
IHNjcm9sbGluZwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNw
cA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQ0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5j
cHAJKHJldmlzaW9uIDEzNzgzNCkNCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2suY3BwCSh3b3JraW5nIGNvcHkpDQpAQCAtNjMzMCw3ICs2MzMwLDcgQEANCiAKICAgICAg
ICAgUmVuZGVyT2JqZWN0KiBwYXJlbnRCbG9jayA9IGZpcnN0TGV0dGVyQmxvY2stPnBhcmVudCgp
OwogICAgICAgICBpZiAoZmlyc3RMZXR0ZXJCbG9jay0+aXNSZXBsYWNlZCgpIHx8ICFwYXJlbnRC
bG9jayB8fCBwYXJlbnRCbG9jay0+Zmlyc3RDaGlsZCgpICE9IGZpcnN0TGV0dGVyQmxvY2sgfHwg
Ci0gICAgICAgICAgICAhcGFyZW50QmxvY2stPmlzQmxvY2tGbG93KCkpCisgICAgICAgICAgICAh
cGFyZW50QmxvY2stPmlzQmxvY2tGbG93KCkgfHwgcGFyZW50QmxvY2stPmlzRmxleGlibGVCb3go
KSkKICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICBmaXJzdExldHRlckJsb2NrID0gcGFy
ZW50QmxvY2s7CiAgICAgfSAKQEAgLTY0NjIsNiArNjQ2Miw5IEBADQogICAgIGlmIChzdHlsZSgp
LT5zdHlsZVR5cGUoKSA9PSBGSVJTVF9MRVRURVIpCiAgICAgICAgIHJldHVybjsKIAorICAgIGlm
IChpc0ZsZXhpYmxlQm94KCkpCisgICAgICAgIHJldHVybjsKKwogICAgIC8vIEZJWE1FOiBXZSBu
ZWVkIHRvIGRlc3Ryb3kgdGhlIGZpcnN0LWxldHRlciBvYmplY3QgaWYgaXQgaXMgbm8gbG9uZ2Vy
IHRoZSBmaXJzdCBjaGlsZC4gTmVlZCB0byBmaW5kCiAgICAgLy8gYW4gZWZmaWNpZW50IHdheSB0
byBjaGVjayBmb3IgdGhhdCBzaXR1YXRpb24gdGhvdWdoIGJlZm9yZSBpbXBsZW1lbnRpbmcgYW55
dGhpbmcuCiAgICAgUmVuZGVyT2JqZWN0KiBmaXJzdExldHRlckJsb2NrID0gZmluZEZpcnN0TGV0
dGVyQmxvY2sodGhpcyk7Cg==
</data>
<flag name="review"
          id="196604"
          type_id="1"
          status="-"
          setter="tony"
    />
    <flag name="commit-queue"
          id="196605"
          type_id="3"
          status="-"
          setter="tony"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189723</attachid>
            <date>2013-02-22 02:10:42 -0800</date>
            <delta_ts>2013-02-25 00:28:42 -0800</delta_ts>
            <desc>patch</desc>
            <filename>changeset_105126.patch</filename>
            <type>text/plain</type>
            <size>6009</size>
            <attacher name="huangxueqing">huangxueqing</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIExheW91dFRlc3Rz
L0NoYW5nZUxvZwkocmV2aXNpb24gMTQzNzAyKQ0KKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQ0KQEAgLTEsMyArMSwxNiBAQA0KKzIwMTMtMDItMjIgIFh1ZXFpbmcgSHVh
bmcgIDxodWFuZ3h1ZXFpbmdAYmFpZHUuY29tPgorCisgICAgICAgIEZsZXhib3ggc2hvdWxkIGln
bm9yZSBmaXJzdExldHRlciBwc2V1ZG8gZWxlbWVudC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTEyNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogY3NzMy9mbGV4Ym94L2ZsZXhib3gtaWdub3JlLWZp
cnN0TGV0dGVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3NzMy9mbGV4Ym94L2Zs
ZXhib3gtaWdub3JlLWZpcnN0TGV0dGVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvZmxl
eGJveC9pbmxpbmUtZmxleC1jcmFzaC1leHBlY3RlZC50eHQ6CisgICAgICAgICogY3NzMy9mbGV4
Ym94L2lubGluZS1mbGV4LWNyYXNoMi1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0v
Y2hyb21pdW0vVGVzdEV4cGVjdGF0aW9uczoKKwogMjAxMy0wMi0yMiAgVnNldm9sb2QgVmxhc292
ICA8dnNldmlrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBMYXlvdXQgVGVzdCBmYXN0L2xvYWRl
ci9zdGF0ZW9iamVjdHMvc3RhdGUtdXJsLXNldHMtbGlua3MtdmlzaXRlZC5odG1sIGlzIHRpbWlu
ZyBvdXQgaW4gY2hyb21pdW0KSW5kZXg6IExheW91dFRlc3RzL2NzczMvZmxleGJveC9mbGV4Ym94
LWlnbm9yZS1maXJzdExldHRlci1leHBlY3RlZC50eHQNCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBMYXlvdXRU
ZXN0cy9jc3MzL2ZsZXhib3gvZmxleGJveC1pZ25vcmUtZmlyc3RMZXR0ZXItZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAwKQ0KKysrIExheW91dFRlc3RzL2NzczMvZmxleGJveC9mbGV4Ym94LWlnbm9y
ZS1maXJzdExldHRlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApDQpAQCAtMCwwICsxLDEzIEBA
DQorVGhpcyB0ZXN0IGZsZXggaXRlbSBzaG91bGQgaWdub3JlIGZsZXggY29udGFpbmVyJ3MgZmly
c3RMZXR0ZXIgcHNldWRvIGVsZW1lbnQuCisKK1RoZSBmaXJzdCBpdGVtLgorCitUaGUgc2Vjb25k
IGl0ZW0uCisKK1BBU1MKK1RoZSBmaXJzdCBpdGVtLgorCitUaGUgc2Vjb25kIGl0ZW0uCisKK1BB
U1MKKwpJbmRleDogTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2ZsZXhib3gtaWdub3JlLWZpcnN0
TGV0dGVyLmh0bWwNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBMYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvZmxl
eGJveC1pZ25vcmUtZmlyc3RMZXR0ZXIuaHRtbAkocmV2aXNpb24gMCkNCisrKyBMYXlvdXRUZXN0
cy9jc3MzL2ZsZXhib3gvZmxleGJveC1pZ25vcmUtZmlyc3RMZXR0ZXIuaHRtbAkocmV2aXNpb24g
MCkNCkBAIC0wLDAgKzEsMjIgQEANCis8IURPQ1RZUEUgaHRtbD4NCis8aHRtbD4NCis8bGluayBo
cmVmPSJyZXNvdXJjZXMvZmxleGJveC5jc3MiIHJlbD0ic3R5bGVzaGVldCI+DQorPHN0eWxlPg0K
KyAgICBkaXY6OmZpcnN0LWxldHRlciB7IGxpbmUtaGVpZ2h0OiAxMDBweDsgfQ0KKyAgICBwIHsg
bGluZS1oZWlnaHQ6IDIwcHg7IH0NCis8L3N0eWxlPg0KKw0KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvY2hlY2stbGF5b3V0LmpzIj48L3NjcmlwdD4NCis8Ym9keSBvbmxvYWQ9ImNoZWNr
TGF5b3V0KCcuZmxleGJveCcpOyBjaGVja0xheW91dCgnLmlubGluZS1mbGV4Ym94JykiPg0KKzxw
PlRoaXMgdGVzdCBmbGV4IGl0ZW0gc2hvdWxkIGlnbm9yZSBmbGV4IGNvbnRhaW5lcidzIGZpcnN0
TGV0dGVyIHBzZXVkbyBlbGVtZW50LjwvcD4NCisNCis8ZGl2IGNsYXNzPSJmbGV4Ym94Ij4NCisg
ICAgPHAgZGF0YS1leHBlY3RlZC1oZWlnaHQ9MjA+VGhlIGZpcnN0IGl0ZW0uPC9wPg0KKyAgICA8
cCBkYXRhLWV4cGVjdGVkLWhlaWdodD0yMD5UaGUgc2Vjb25kIGl0ZW0uPC9wPg0KKzwvZGl2Pg0K
KzxkaXYgY2xhc3M9ImlubGluZS1mbGV4Ym94Ij4NCisgICAgPHAgZGF0YS1leHBlY3RlZC1oZWln
aHQ9MjA+VGhlIGZpcnN0IGl0ZW0uPC9wPg0KKyAgICA8cCBkYXRhLWV4cGVjdGVkLWhlaWdodD0y
MD5UaGUgc2Vjb25kIGl0ZW0uPC9wPg0KKzwvZGl2Pg0KKzwvYm9keT4NCis8L2h0bWw+DQpJbmRl
eDogTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2lubGluZS1mbGV4LWNyYXNoLWV4cGVjdGVkLnR4
dA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQ0KLS0tIExheW91dFRlc3RzL2NzczMvZmxleGJveC9pbmxpbmUtZmxleC1j
cmFzaC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE0MzY4NCkNCisrKyBMYXlvdXRUZXN0cy9jc3Mz
L2ZsZXhib3gvaW5saW5lLWZsZXgtY3Jhc2gtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpDQpA
QCAtMSw1ICsxLDMgQEANCiBUaGlzIHRlc3QgcGFzc2VzIGlmIGl0IGRvZXNuJ3QgY3Jhc2guCiAK
LUFBCi0KLdiFCitBQdiFCkluZGV4OiBMYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvaW5saW5lLWZs
ZXgtY3Jhc2gyLWV4cGVjdGVkLnR4dA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIExheW91dFRlc3RzL2NzczMv
ZmxleGJveC9pbmxpbmUtZmxleC1jcmFzaDItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxNDM2ODQp
DQorKysgTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2lubGluZS1mbGV4LWNyYXNoMi1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkNCkBAIC0xLDUgKzEsMyBAQA0KIFRoaXMgdGVzdCBwYXNzZXMg
aWYgaXQgZG9lc24ndCBjcmFzaC4KIAotQUFBQQotCi1BCitBQUFBQQpJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucw0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIExh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMJKHJldmlzaW9uIDE0
MzY4NCkNCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25z
CSh3b3JraW5nIGNvcHkpDQpAQCAtNDQxNiwzICs0NDE2LDkgQEANCiB3ZWJraXQub3JnL2IvMTA5
OTk0IFsgTWFjIFdpbiBdIGZhc3QvZm9ybXMvYnV0dG9uLWdlbmVyYXRlZC1jb250ZW50Lmh0bWwg
WyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xMDk5OTQgWyBNYWMgV2luIF0gZmFzdC9mb3Jtcy9z
ZWxlY3QtYmFzZWxpbmUuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzEwOTk5NCBbIE1h
YyBXaW4gXSB0YWJsZXMvbW96aWxsYS9idWdzL2J1ZzkyNjQ3LTIuaHRtbCBbIEZhaWx1cmUgXQor
CisjIEZsZXggYm94J3MgcHNldWRvLWVsZW1lbnRzIDo6Zmlyc3QtbGV0dGVyIHNob3VsZCBub3Qg
YXBwbHkgdG8gZmxleCBpdGVtCit3ZWJraXQub3JnL2IvMTA1MTI2IGZhc3QvZm9ybXMvd2Vlay93
ZWVrLWFwcGVhcmFuY2UtcHNldWRvLWVsZW1lbnRzLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtpdC5v
cmcvYi8xMDUxMjYgZmFzdC9mb3Jtcy90aW1lL3RpbWUtYXBwZWFyYW5jZS1wc2V1ZG8tZWxlbWVu
dHMuaHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzEwNTEyNiBmYXN0L2Zvcm1zL21vbnRo
L21vbnRoLWFwcGVhcmFuY2UtcHNldWRvLWVsZW1lbnRzLmh0bWwgWyBGYWlsdXJlIF0KK3dlYmtp
dC5vcmcvYi8xMDUxMjYgZmFzdC9mb3Jtcy9kYXRlL2RhdGUtYXBwZWFyYW5jZS1wc2V1ZG8tZWxl
bWVudHMuaHRtbCBbIEZhaWx1cmUgXQpJbmRleDogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nDQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09DQotLS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNDM3MDEp
DQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpDQpAQCAtMSwzICsx
LDIwIEBADQorMjAxMy0wMi0yMiAgWHVlcWluZyBIdWFuZyAgPGh1YW5neHVlcWluZ0BiYWlkdS5j
b20+CisKKyAgICAgICAgRmxleGJveCBzaG91bGQgaWdub3JlIGZpcnN0TGV0dGVyIHBzZXVkbyBl
bGVtZW50LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTA1MTI2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGhlIENTUyBXRyBkZWNpZGVkIHRoYXQgZmlyc3QtbGluZSBhbmQgZmlyc3QtbGV0dGVyIHNob3Vs
ZCBub3QKKyAgICAgICAgYXBwbHkgdG8gZmxleCBjb250YWluZXJzOgorICAgICAgICBodHRwOi8v
ZGV2LnczLm9yZy9jc3N3Zy9jc3MzLWZsZXhib3gvaXNzdWVzLWNyLTIwMTIjaXNzdWUtMTMKKwor
ICAgICAgICB0ZXN0czoKKyAgICAgICAgY3NzMy9mbGV4Ym94L2ZsZXhib3gtaWdub3JlLWZpcnN0
TGV0dGVyLmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpmaW5kRmlyc3RMZXR0ZXJCbG9jayk6CisKIDIwMTMtMDItMjIgIFBhdmVs
IEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3Rv
cjogYWxsb3cgb3B0aW5nIG91dCBmcm9tIHZlcnRpY2FsIHNwbGl0IGluIHRoZSBkb2NrLXRvLXJp
Z2h0IG1vZGUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAN
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0NCi0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3Bw
CShyZXZpc2lvbiAxNDM2ODQpDQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrLmNwcAkod29ya2luZyBjb3B5KQ0KQEAgLTY1MTMsMTMgKzY1MTMsMTMgQEANCiAgICAgUmVu
ZGVyT2JqZWN0KiBmaXJzdExldHRlckJsb2NrID0gc3RhcnQ7CiAgICAgd2hpbGUgKHRydWUpIHsK
ICAgICAgICAgYm9vbCBjYW5IYXZlRmlyc3RMZXR0ZXJSZW5kZXJlciA9IGZpcnN0TGV0dGVyQmxv
Y2stPnN0eWxlKCktPmhhc1BzZXVkb1N0eWxlKEZJUlNUX0xFVFRFUikKLSAgICAgICAgICAgICYm
IGZpcnN0TGV0dGVyQmxvY2stPmNhbkhhdmVHZW5lcmF0ZWRDaGlsZHJlbigpOworICAgICAgICAg
ICAgJiYgZmlyc3RMZXR0ZXJCbG9jay0+Y2FuSGF2ZUdlbmVyYXRlZENoaWxkcmVuKCkgJiYgIWZp
cnN0TGV0dGVyQmxvY2stPmlzRmxleGlibGVCb3goKTsKICAgICAgICAgaWYgKGNhbkhhdmVGaXJz
dExldHRlclJlbmRlcmVyKQogICAgICAgICAgICAgcmV0dXJuIGZpcnN0TGV0dGVyQmxvY2s7CiAK
ICAgICAgICAgUmVuZGVyT2JqZWN0KiBwYXJlbnRCbG9jayA9IGZpcnN0TGV0dGVyQmxvY2stPnBh
cmVudCgpOwogICAgICAgICBpZiAoZmlyc3RMZXR0ZXJCbG9jay0+aXNSZXBsYWNlZCgpIHx8ICFw
YXJlbnRCbG9jayB8fCBwYXJlbnRCbG9jay0+Zmlyc3RDaGlsZCgpICE9IGZpcnN0TGV0dGVyQmxv
Y2sgfHwgCi0gICAgICAgICAgICAhcGFyZW50QmxvY2stPmlzQmxvY2tGbG93KCkpCisgICAgICAg
ICAgICAhcGFyZW50QmxvY2stPmlzQmxvY2tGbG93KCkgfHwgcGFyZW50QmxvY2stPmlzRmxleGli
bGVCb3goKSkKICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICBmaXJzdExldHRlckJsb2Nr
ID0gcGFyZW50QmxvY2s7CiAgICAgfSAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190009</attachid>
            <date>2013-02-25 00:28:42 -0800</date>
            <delta_ts>2013-02-25 18:08:06 -0800</delta_ts>
            <desc>patch</desc>
            <filename>changeset_105126.patch</filename>
            <type>text/plain</type>
            <size>6799</size>
            <attacher name="huangxueqing">huangxueqing</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIExheW91dFRlc3Rz
L0NoYW5nZUxvZwkocmV2aXNpb24gMTQzODg0KQ0KKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQ0KQEAgLTEsMyArMSwyMSBAQA0KKzIwMTMtMDItMjQgIFh1ZXFpbmcgSHVh
bmcgIDxodWFuZ3h1ZXFpbmdAYmFpZHUuY29tPgorCisgICAgICAgIEZsZXhib3ggc2hvdWxkIGln
bm9yZSBmaXJzdExldHRlciBwc2V1ZG8gZWxlbWVudC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTEyNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBDU1MgV0cgZGVjaWRlZCB0aGF0IGZpcnN0LWxp
bmUgYW5kIGZpcnN0LWxldHRlciBzaG91bGQgbm90CisgICAgICAgIGFwcGx5IHRvIGZsZXggY29u
dGFpbmVycy4KKyAgICAgICAgaHR0cDovL2Rldi53My5vcmcvY3Nzd2cvY3NzMy1mbGV4Ym94L2lz
c3Vlcy1jci0yMDEyI2lzc3VlLTEzCisKKyAgICAgICAgKiBjc3MzL2ZsZXhib3gvZmxleGJveC1p
Z25vcmUtY29udGFpbmVyLWZpcnN0TGV0dGVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogY3NzMy9mbGV4Ym94L2ZsZXhib3gtaWdub3JlLWNvbnRhaW5lci1maXJzdExldHRlci5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2ZsZXhib3gvZmxleGJveC1pZ25vcmUtZmlyc3RMZXR0
ZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2ZsZXhib3gvZmxleGJveC1p
Z25vcmUtZmlyc3RMZXR0ZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9mbGV4Ym94L2lu
bGluZS1mbGV4LWNyYXNoLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBjc3MzL2ZsZXhib3gvaW5s
aW5lLWZsZXgtY3Jhc2gyLWV4cGVjdGVkLnR4dDoKKwogMjAxMy0wMi0yNCAgS2lob25nIEt3b24g
IDxraWhvbmcua3dvbkBzYW1zdW5nLmNvbT4KIAogICAgICAgICBBZGQgYW4gQVNTRVJUIHRvIGRp
ZENoYW5nZURldmljZVByb3hpbWl0eQpJbmRleDogTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2Zs
ZXhib3gtaWdub3JlLWNvbnRhaW5lci1maXJzdExldHRlci1leHBlY3RlZC50eHQNCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0NCi0tLSBMYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvZmxleGJveC1pZ25vcmUtY29udGFpbmVy
LWZpcnN0TGV0dGVyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkNCisrKyBMYXlvdXRUZXN0cy9j
c3MzL2ZsZXhib3gvZmxleGJveC1pZ25vcmUtY29udGFpbmVyLWZpcnN0TGV0dGVyLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMCkNCkBAIC0wLDAgKzEsNyBAQA0KK1RoaXMgdGVzdCBmbGV4IGl0ZW0g
c2hvdWxkIGlnbm9yZSBjb250YWluZXIncyBmaXJzdExldHRlciBwc2V1ZG8gZWxlbWVudC4KKwor
VGhlIGZpcnN0IGl0ZW0uCisKK1RoZSBzZWNvbmQgaXRlbS4KKworUEFTUwpJbmRleDogTGF5b3V0
VGVzdHMvY3NzMy9mbGV4Ym94L2ZsZXhib3gtaWdub3JlLWNvbnRhaW5lci1maXJzdExldHRlci5o
dG1sDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09DQotLS0gTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2ZsZXhib3gtaWdu
b3JlLWNvbnRhaW5lci1maXJzdExldHRlci5odG1sCShyZXZpc2lvbiAwKQ0KKysrIExheW91dFRl
c3RzL2NzczMvZmxleGJveC9mbGV4Ym94LWlnbm9yZS1jb250YWluZXItZmlyc3RMZXR0ZXIuaHRt
bAkocmV2aXNpb24gMCkNCkBAIC0wLDAgKzEsMjEgQEANCis8IURPQ1RZUEUgaHRtbD4NCis8aHRt
bD4NCis8bGluayBocmVmPSJyZXNvdXJjZXMvZmxleGJveC5jc3MiIHJlbD0ic3R5bGVzaGVldCI+
DQorPHN0eWxlPg0KKyAgICAuY29udGFpbmVyIHsgZGlzcGxheTogLXdlYmtpdC1mbGV4IH0NCisg
ICAgLmNvbnRhaW5lcjo6Zmlyc3QtbGV0dGVyIHsgbGluZS1oZWlnaHQ6IDEwMHB4OyB9DQorICAg
IHAgeyBsaW5lLWhlaWdodDogMjBweDsgfQ0KKzwvc3R5bGU+DQorDQorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9jaGVjay1sYXlvdXQuanMiPjwvc2NyaXB0Pg0KKzxib2R5IG9ubG9hZD0i
Y2hlY2tMYXlvdXQoJy5mbGV4Ym94JykiPg0KKzxwPlRoaXMgdGVzdCBmbGV4IGl0ZW0gc2hvdWxk
IGlnbm9yZSBjb250YWluZXIncyBmaXJzdExldHRlciBwc2V1ZG8gZWxlbWVudC48L3A+DQorDQor
PGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCisgICAgPGRpdiBjbGFzcz0iZmxleGJveCI+DQorICAg
ICAgICA8cCBkYXRhLWV4cGVjdGVkLWhlaWdodD0yMD5UaGUgZmlyc3QgaXRlbS48L3A+DQorICAg
ICAgICA8cCBkYXRhLWV4cGVjdGVkLWhlaWdodD0yMD5UaGUgc2Vjb25kIGl0ZW0uPC9wPg0KKyAg
ICA8L2Rpdj4NCis8L2Rpdj4NCis8L2JvZHk+DQorPC9odG1sPg0KSW5kZXg6IExheW91dFRlc3Rz
L2NzczMvZmxleGJveC9mbGV4Ym94LWlnbm9yZS1maXJzdExldHRlci1leHBlY3RlZC50eHQNCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0NCi0tLSBMYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvZmxleGJveC1pZ25vcmUtZmly
c3RMZXR0ZXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQ0KKysrIExheW91dFRlc3RzL2NzczMv
ZmxleGJveC9mbGV4Ym94LWlnbm9yZS1maXJzdExldHRlci1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDApDQpAQCAtMCwwICsxLDEzIEBADQorVGhpcyB0ZXN0IGZsZXggaXRlbSBzaG91bGQgaWdub3Jl
IGZsZXggY29udGFpbmVyJ3MgZmlyc3RMZXR0ZXIgcHNldWRvIGVsZW1lbnQuCisKK1RoZSBmaXJz
dCBpdGVtLgorCitUaGUgc2Vjb25kIGl0ZW0uCisKK1BBU1MKK1RoZSBmaXJzdCBpdGVtLgorCitU
aGUgc2Vjb25kIGl0ZW0uCisKK1BBU1MKKwpJbmRleDogTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94
L2ZsZXhib3gtaWdub3JlLWZpcnN0TGV0dGVyLmh0bWwNCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBMYXlvdXRU
ZXN0cy9jc3MzL2ZsZXhib3gvZmxleGJveC1pZ25vcmUtZmlyc3RMZXR0ZXIuaHRtbAkocmV2aXNp
b24gMCkNCisrKyBMYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvZmxleGJveC1pZ25vcmUtZmlyc3RM
ZXR0ZXIuaHRtbAkocmV2aXNpb24gMCkNCkBAIC0wLDAgKzEsMjIgQEANCis8IURPQ1RZUEUgaHRt
bD4NCis8aHRtbD4NCis8bGluayBocmVmPSJyZXNvdXJjZXMvZmxleGJveC5jc3MiIHJlbD0ic3R5
bGVzaGVldCI+DQorPHN0eWxlPg0KKyAgICBkaXY6OmZpcnN0LWxldHRlciB7IGxpbmUtaGVpZ2h0
OiAxMDBweDsgfQ0KKyAgICBwIHsgbGluZS1oZWlnaHQ6IDIwcHg7IH0NCis8L3N0eWxlPg0KKw0K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvY2hlY2stbGF5b3V0LmpzIj48L3NjcmlwdD4N
Cis8Ym9keSBvbmxvYWQ9ImNoZWNrTGF5b3V0KCcuZmxleGJveCcpOyBjaGVja0xheW91dCgnLmlu
bGluZS1mbGV4Ym94JykiPg0KKzxwPlRoaXMgdGVzdCBmbGV4IGl0ZW0gc2hvdWxkIGlnbm9yZSBm
bGV4IGNvbnRhaW5lcidzIGZpcnN0TGV0dGVyIHBzZXVkbyBlbGVtZW50LjwvcD4NCisNCis8ZGl2
IGNsYXNzPSJmbGV4Ym94Ij4NCisgICAgPHAgZGF0YS1leHBlY3RlZC1oZWlnaHQ9MjA+VGhlIGZp
cnN0IGl0ZW0uPC9wPg0KKyAgICA8cCBkYXRhLWV4cGVjdGVkLWhlaWdodD0yMD5UaGUgc2Vjb25k
IGl0ZW0uPC9wPg0KKzwvZGl2Pg0KKzxkaXYgY2xhc3M9ImlubGluZS1mbGV4Ym94Ij4NCisgICAg
PHAgZGF0YS1leHBlY3RlZC1oZWlnaHQ9MjA+VGhlIGZpcnN0IGl0ZW0uPC9wPg0KKyAgICA8cCBk
YXRhLWV4cGVjdGVkLWhlaWdodD0yMD5UaGUgc2Vjb25kIGl0ZW0uPC9wPg0KKzwvZGl2Pg0KKzwv
Ym9keT4NCis8L2h0bWw+DQpJbmRleDogTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2lubGluZS1m
bGV4LWNyYXNoLWV4cGVjdGVkLnR4dA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIExheW91dFRlc3RzL2NzczMv
ZmxleGJveC9pbmxpbmUtZmxleC1jcmFzaC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE0Mzg4NCkN
CisrKyBMYXlvdXRUZXN0cy9jc3MzL2ZsZXhib3gvaW5saW5lLWZsZXgtY3Jhc2gtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpDQpAQCAtMSw1ICsxLDMgQEANCiBUaGlzIHRlc3QgcGFzc2VzIGlm
IGl0IGRvZXNuJ3QgY3Jhc2guCiAKLUFBCi0KLdiFCitBQdiFCkluZGV4OiBMYXlvdXRUZXN0cy9j
c3MzL2ZsZXhib3gvaW5saW5lLWZsZXgtY3Jhc2gyLWV4cGVjdGVkLnR4dA0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0K
LS0tIExheW91dFRlc3RzL2NzczMvZmxleGJveC9pbmxpbmUtZmxleC1jcmFzaDItZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAxNDM4ODQpDQorKysgTGF5b3V0VGVzdHMvY3NzMy9mbGV4Ym94L2lubGlu
ZS1mbGV4LWNyYXNoMi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkNCkBAIC0xLDUgKzEsMyBA
QA0KIFRoaXMgdGVzdCBwYXNzZXMgaWYgaXQgZG9lc24ndCBjcmFzaC4KIAotQUFBQQotCi1BCitB
QUFBQQpJbmRleDogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nDQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNDM4ODQpDQorKysgU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpDQpAQCAtMSwzICsxLDIxIEBADQorMjAxMy0wMi0y
NCAgWHVlcWluZyBIdWFuZyAgPGh1YW5neHVlcWluZ0BiYWlkdS5jb20+CisKKyAgICAgICAgRmxl
eGJveCBzaG91bGQgaWdub3JlIGZpcnN0TGV0dGVyIHBzZXVkbyBlbGVtZW50LgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1MTI2CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIENTUyBXRyBkZWNpZGVk
IHRoYXQgZmlyc3QtbGluZSBhbmQgZmlyc3QtbGV0dGVyIHNob3VsZCBub3QKKyAgICAgICAgYXBw
bHkgdG8gZmxleCBjb250YWluZXJzLgorICAgICAgICBodHRwOi8vZGV2LnczLm9yZy9jc3N3Zy9j
c3MzLWZsZXhib3gvaXNzdWUtY3ItMjAxMiNpc3N1ZS0xMworCisgICAgICAgIHRlc3RzOgorICAg
ICAgICBjc3MzL2ZsZXhib3gvZmxleGJveC1pZ25vcmUtZmlyc3RMZXR0ZXIuaHRtbAorICAgICAg
ICBjc3MzL2ZsZXhib3gvZmxleGJveC1pZ25vcmUtY29udGFpbmVyLWZpcnN0TGV0dGVyLmh0bWwg
ICAgICAgCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwOgorICAgICAgICAo
V2ViQ29yZTo6ZmluZEZpcnN0TGV0dGVyQmxvY2spOgorCiAyMDEzLTAyLTI0ICBFcmljIENhcmxz
b24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFtNYWNdIGNsZWFudXAgTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uIGFuZCBJbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZG
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwDQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09DQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAkocmV2aXNp
b24gMTQzODg0KQ0KKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAJ
KHdvcmtpbmcgY29weSkNCkBAIC02NTEzLDEzICs2NTEzLDEzIEBADQogICAgIFJlbmRlck9iamVj
dCogZmlyc3RMZXR0ZXJCbG9jayA9IHN0YXJ0OwogICAgIHdoaWxlICh0cnVlKSB7CiAgICAgICAg
IGJvb2wgY2FuSGF2ZUZpcnN0TGV0dGVyUmVuZGVyZXIgPSBmaXJzdExldHRlckJsb2NrLT5zdHls
ZSgpLT5oYXNQc2V1ZG9TdHlsZShGSVJTVF9MRVRURVIpCi0gICAgICAgICAgICAmJiBmaXJzdExl
dHRlckJsb2NrLT5jYW5IYXZlR2VuZXJhdGVkQ2hpbGRyZW4oKTsKKyAgICAgICAgICAgICYmIGZp
cnN0TGV0dGVyQmxvY2stPmNhbkhhdmVHZW5lcmF0ZWRDaGlsZHJlbigpICYmICFmaXJzdExldHRl
ckJsb2NrLT5pc0ZsZXhpYmxlQm94KCk7CiAgICAgICAgIGlmIChjYW5IYXZlRmlyc3RMZXR0ZXJS
ZW5kZXJlcikKICAgICAgICAgICAgIHJldHVybiBmaXJzdExldHRlckJsb2NrOwogCiAgICAgICAg
IFJlbmRlck9iamVjdCogcGFyZW50QmxvY2sgPSBmaXJzdExldHRlckJsb2NrLT5wYXJlbnQoKTsK
ICAgICAgICAgaWYgKGZpcnN0TGV0dGVyQmxvY2stPmlzUmVwbGFjZWQoKSB8fCAhcGFyZW50Qmxv
Y2sgfHwgcGFyZW50QmxvY2stPmZpcnN0Q2hpbGQoKSAhPSBmaXJzdExldHRlckJsb2NrIHx8IAot
ICAgICAgICAgICAgIXBhcmVudEJsb2NrLT5pc0Jsb2NrRmxvdygpKQorICAgICAgICAgICAgIXBh
cmVudEJsb2NrLT5pc0Jsb2NrRmxvdygpIHx8IHBhcmVudEJsb2NrLT5pc0ZsZXhpYmxlQm94KCkp
CiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgZmlyc3RMZXR0ZXJCbG9jayA9IHBhcmVu
dEJsb2NrOwogICAgIH0gCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>