<?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>61425</bug_id>
          
          <creation_ts>2011-05-25 00:37:02 -0700</creation_ts>
          <short_desc>[Qt] Implement find feature for QtTestBrowser</short_desc>
          <delta_ts>2011-05-31 11:49:38 -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>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>Qt, QtTriaged</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kristóf Kosztyó">kkristof</reporter>
          <assigned_to name="Kristóf Kosztyó">kkristof</assigned_to>
          <cc>abecsi</cc>
    
    <cc>ademar</cc>
    
    <cc>commit-queue</cc>
    
    <cc>cshu</cc>
    
    <cc>ossy</cc>
    
    <cc>tonikitoo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>409503</commentid>
    <comment_count>0</comment_count>
    <who name="Kristóf Kosztyó">kkristof</who>
    <bug_when>2011-05-25 00:37:02 -0700</bug_when>
    <thetext>[Qt] Implement find feature for QtTestBrowser</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410377</commentid>
    <comment_count>1</comment_count>
      <attachid>94963</attachid>
    <who name="Kristóf Kosztyó">kkristof</who>
    <bug_when>2011-05-26 06:05:48 -0700</bug_when>
    <thetext>Created attachment 94963
proposed fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410379</commentid>
    <comment_count>2</comment_count>
      <attachid>94964</attachid>
    <who name="Kristóf Kosztyó">kkristof</who>
    <bug_when>2011-05-26 06:09:19 -0700</bug_when>
    <thetext>Created attachment 94964
proposed fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410390</commentid>
    <comment_count>3</comment_count>
      <attachid>94964</attachid>
    <who name="Chang Shu">cshu</who>
    <bug_when>2011-05-26 06:26:29 -0700</bug_when>
    <thetext>Comment on attachment 94964
proposed fix

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

Disclaim: not a reviewer. :)

&gt; Tools/QtTestBrowser/launcherwindow.cpp:1032
&gt; +        page()-&gt;findText(&quot;&quot;, QFlag(8));

Is there an enum for 8?

&gt; Tools/QtTestBrowser/launcherwindow.cpp:1045
&gt; +    if (mode == BackWard)

if -&gt; else if

&gt; Tools/QtTestBrowser/launcherwindow.cpp:1047
&gt; +    if (mode == CaseSensitively)

anyway, they should not be mutually exclusive. see further comments below.

&gt; Tools/QtTestBrowser/launcherwindow.cpp:1051
&gt; +    if (mode == HighLightAll)

HighLightAll should not be an exclusive value. It can be &quot;OR&quot;-ed to other values.

&gt; Tools/QtTestBrowser/launcherwindow.h:252
&gt; +                    WarpsAround,

typo

&gt; Tools/QtTestBrowser/launcherwindow.h:254
&gt; +    };

It doesn&apos;t seem to be right to use enums for these options (casesensitive, wrap, highlight) since they are not mutually exclusive. You should use separate flags or bit-masks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410392</commentid>
    <comment_count>4</comment_count>
      <attachid>94964</attachid>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2011-05-26 06:28:20 -0700</bug_when>
    <thetext>Comment on attachment 94964
proposed fix

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

LGTM, just few comments.

&gt; Tools/QtTestBrowser/launcherwindow.h:195
&gt; +    void find(int mode);

This should be FindMode instead of int and you could set the default value here to Normal.

&gt; Tools/QtTestBrowser/launcherwindow.h:248
&gt; +    int m_findFlag;

This could be QWebPage::FindFlag instead of int.

&gt; Tools/QtTestBrowser/launcherwindow.h:254
&gt; +    enum FindMode { Normal,
&gt; +                    BackWard,
&gt; +                    CaseSensitively,
&gt; +                    WarpsAround,
&gt; +                    HighLightAll
&gt; +    };

You could use QWebPage::FindFlag, and have a constant for Normal instead of an extra FindMode enum here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410394</commentid>
    <comment_count>5</comment_count>
      <attachid>94964</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-05-26 06:32:24 -0700</bug_when>
    <thetext>Comment on attachment 94964
proposed fix

r- because of the comments and it needs to be updated to ToT to be appliable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410442</commentid>
    <comment_count>6</comment_count>
      <attachid>94964</attachid>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2011-05-26 07:57:47 -0700</bug_when>
    <thetext>Comment on attachment 94964
proposed fix

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

&gt; Tools/QtTestBrowser/launcherwindow.cpp:413
&gt; +    m_findBar = new QToolBar(&quot;Find&quot;);

Also, this should be QToolBar(&quot;Find&quot;, this) since otherwise you might leak m_findBar.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>411249</commentid>
    <comment_count>7</comment_count>
      <attachid>95135</attachid>
    <who name="Kristóf Kosztyó">kkristof</who>
    <bug_when>2011-05-27 01:08:12 -0700</bug_when>
    <thetext>Created attachment 95135
proposed fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>411259</commentid>
    <comment_count>8</comment_count>
    <who name="Kristóf Kosztyó">kkristof</who>
    <bug_when>2011-05-27 01:24:47 -0700</bug_when>
    <thetext>Thank you, that you viewed my patch 

With the enum you were right, I fixed it.

Let me explain how the method works:
When you type, or push the next or prev button it will find the text.
If you change the checkbox&apos;s setting the right flag will be set up in the m_findFlag with a bitwise XOR.
The HighLightAllOccurences is a special case, because when it set on, the find doesn&apos;t highlight the next founded text again so it has to make a new find without the HighLightAllOccurences flag to get the right result.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>411342</commentid>
    <comment_count>9</comment_count>
      <attachid>95135</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-05-27 05:18:18 -0700</bug_when>
    <thetext>Comment on attachment 95135
proposed fix

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

&gt; Tools/QtTestBrowser/launcherwindow.cpp:4
&gt; + * Copyright (C) 2011 Kristof Kosztyo &lt;Kosztyo.Kristof@stud.u-szeged.hu&gt;

Perhaps you can squeeze in one line but no big deal.

&gt; Tools/QtTestBrowser/launcherwindow.cpp:201
&gt; +    editMenu-&gt;addAction(&quot;&amp;Find&quot;, this, SLOT(showFindBar()), QKeySequence(Qt::CTRL | Qt::Key_F));

On Mac this is not the normal shortcuts. Command is.

&gt; Tools/QtTestBrowser/launcherwindow.cpp:427
&gt; +    findClose-&gt;setText(&quot;X&quot;);

Nitpick : Can you find a nice close icon on google (Creative Commons) or something? QtTestBrowser has to be awesome looking :D.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>411367</commentid>
    <comment_count>10</comment_count>
      <attachid>95135</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2011-05-27 05:46:57 -0700</bug_when>
    <thetext>Comment on attachment 95135
proposed fix

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

&gt; Tools/QtTestBrowser/launcherwindow.cpp:1033
&gt; +        page()-&gt;findText(&quot;&quot;, QWebPage::HighlightAllOccurrences);

some real browsers pre fill it with any selected content in the page. it could be a nice enhancement.

&gt; Tools/QtTestBrowser/launcherwindow.cpp:1037
&gt; +void LauncherWindow::find(int mode = m_findNormal)

looks ugly :)

&gt; Tools/QtTestBrowser/launcherwindow.h:249
&gt; +    static const int m_findNormal = 0;

could we have a better name?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>411405</commentid>
    <comment_count>11</comment_count>
    <who name="Chang Shu">cshu</who>
    <bug_when>2011-05-27 07:00:19 -0700</bug_when>
    <thetext>&gt; &gt; Tools/QtTestBrowser/launcherwindow.cpp:1037
&gt; &gt; +void LauncherWindow::find(int mode = m_findNormal)
&gt; 
&gt; looks ugly :)
&gt; 
&gt; &gt; Tools/QtTestBrowser/launcherwindow.h:249
&gt; &gt; +    static const int m_findNormal = 0;
&gt; 
&gt; could we have a better name?

I think it&apos;s better to be &quot;s_findNormal&quot;. m_ prefix indicates member variable.
Or maybe simply using 0.

Also, I still find the logic inside find() function a bit confusing. It seems page()-&gt;findText() maybe be triggered several times in certain cases. And the following line seems a typo (isn&apos;t ~m_findNormal == 1?):
found = page()-&gt;findText(m_lineEdit-&gt;text(), QFlag((m_findFlag | QWebPage::HighlightAllOccurrences) &amp; ~m_findNormal));

Another thing I personally am not sure is the difference between LauncherWindow and MainWindow. It seems to be me the other toolbar is a member of MainWindow. Is there anything this implementation needs from LauncherWindow only?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>411428</commentid>
    <comment_count>12</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-05-27 07:36:12 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 95135 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=95135&amp;action=review
&gt; 
&gt; &gt; Tools/QtTestBrowser/launcherwindow.cpp:1033
&gt; &gt; +        page()-&gt;findText(&quot;&quot;, QWebPage::HighlightAllOccurrences);
&gt; 
&gt; some real browsers pre fill it with any selected content in the page. it could be a nice enhancement.

:))

It is a good idea. But do we really want to make QtTestBrowser the best browser in this bug? :)

If it is a simple fix, let&apos;s do it now. But if 
it isn&apos;t so trivial, fix it in a new bug report.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>411491</commentid>
    <comment_count>13</comment_count>
    <who name="Kristóf Kosztyó">kkristof</who>
    <bug_when>2011-05-27 09:28:25 -0700</bug_when>
    <thetext>&gt; I think it&apos;s better to be &quot;s_findNormal&quot;. m_ prefix indicates member variable.
&gt; Or maybe simply using 0.

I will cahnge it. 


&gt; Also, I still find the logic inside find() function a bit confusing. It seems page()-&gt;findText() maybe be triggered several times in certain cases. And the following line seems a typo (isn&apos;t ~m_findNormal == 1?):
&gt; found = page()-&gt;findText(m_lineEdit-&gt;text(), QFlag((m_findFlag | QWebPage::HighlightAllOccurrences) &amp; ~m_findNormal));

honestly I don&apos;t know why I did need to make like this, but it really doesn&apos;t needed I will delete that.


&gt; Another thing I personally am not sure is the difference between LauncherWindow and MainWindow. It seems to be me the other toolbar is a member of MainWindow. Is there anything this implementation needs from LauncherWindow only?

The menu assembled here, it seems logical to place here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>411520</commentid>
    <comment_count>14</comment_count>
    <who name="Chang Shu">cshu</who>
    <bug_when>2011-05-27 10:27:30 -0700</bug_when>
    <thetext>&gt; &gt; Another thing I personally am not sure is the difference between LauncherWindow and MainWindow. It seems to be me the other toolbar is a member of MainWindow. Is there anything this implementation needs from LauncherWindow only?
&gt; 
&gt; The menu assembled here, it seems logical to place here.

Thanks, good to know.:)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>411600</commentid>
    <comment_count>15</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2011-05-27 12:07:46 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #10)
&gt; &gt; (From update of attachment 95135 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=95135&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Tools/QtTestBrowser/launcherwindow.cpp:1033
&gt; &gt; &gt; +        page()-&gt;findText(&quot;&quot;, QWebPage::HighlightAllOccurrences);
&gt; &gt; 
&gt; &gt; some real browsers pre fill it with any selected content in the page. it could be a nice enhancement.
&gt; 
&gt; :))
&gt; 
&gt; It is a good idea. But do we really want to make QtTestBrowser the best browser in this bug? :)

No no, unless you want to do it yourself :)

&gt; If it is a simple fix, let&apos;s do it now. But if 
&gt; it isn&apos;t so trivial, fix it in a new bug report.

Sure. Not even needed, just an idea if one likes to play with it...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412151</commentid>
    <comment_count>16</comment_count>
      <attachid>95328</attachid>
    <who name="Kristóf Kosztyó">kkristof</who>
    <bug_when>2011-05-30 00:48:44 -0700</bug_when>
    <thetext>Created attachment 95328
proposed fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412166</commentid>
    <comment_count>17</comment_count>
      <attachid>95328</attachid>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2011-05-30 01:47:52 -0700</bug_when>
    <thetext>Comment on attachment 95328
proposed fix

I think the patch is OK now.
A reviewer will set the r flag for you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412213</commentid>
    <comment_count>18</comment_count>
      <attachid>95328</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-05-30 07:09:22 -0700</bug_when>
    <thetext>Comment on attachment 95328
proposed fix

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

typo: findWarpAround -&gt; findWrapAround

&gt; Tools/QtTestBrowser/launcherwindow.cpp:427
&gt; +    m_lineEdit = new QLineEdit(m_findBar);
&gt; +    m_lineEdit-&gt;setMaximumWidth(200);
&gt; +    QCheckBox* findCaseSensitive = new QCheckBox(&quot;CaseSensitive&quot;, m_findBar);
&gt; +    QCheckBox* findWarpAround = new QCheckBox(&quot;WarpAround&quot;, m_findBar);
&gt; +    QCheckBox* findHighLightAll = new QCheckBox(&quot;HighLightAll&quot;, m_findBar);
&gt; +    QToolButton* findNext = new QToolButton(m_findBar);
&gt; +    findNext-&gt;setArrowType(Qt::RightArrow);
&gt; +    QToolButton* findPrevious = new QToolButton(m_findBar);
&gt; +    findPrevious-&gt;setArrowType(Qt::LeftArrow);
&gt; +    QToolButton* findClose = new QToolButton(m_findBar);
&gt; +    findClose-&gt;setText(&quot;X&quot;);

It would be great to keep the natural order here too:
findClose, m_lineEdit, findPrevious, findNext, findCaseSensitive, findWrapAround, findHighLightAll</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412221</commentid>
    <comment_count>19</comment_count>
      <attachid>95328</attachid>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2011-05-30 07:39:30 -0700</bug_when>
    <thetext>Comment on attachment 95328
proposed fix

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

Took another look. I think the order and typo could be fixed during landing, but I have a few questions:

&gt; Tools/QtTestBrowser/launcherwindow.cpp:1040
&gt; +void LauncherWindow::find(int mode = s_findNormalFlag)
&gt; +{
&gt; +    page()-&gt;findText(&quot;&quot;, QFlag(QWebPage::HighlightAllOccurrences));

Do we always need to call this? Is this for clearing the previous search?

&gt; Tools/QtTestBrowser/launcherwindow.cpp:1053
&gt; +    if (mode == s_findNormalFlag)
&gt; +        page()-&gt;findText(m_lineEdit-&gt;text(), QFlag(m_findFlag &amp; ~QWebPage::HighlightAllOccurrences));
&gt; +    else if (mode == QWebPage::FindBackward)
&gt; +        page()-&gt;findText(m_lineEdit-&gt;text(), QFlag((m_findFlag | QWebPage::FindBackward) &amp; ~QWebPage::HighlightAllOccurrences));
&gt; +    else
&gt; +        m_findFlag = m_findFlag ^ mode;
&gt; +
&gt; +    if (!m_lineEdit-&gt;text().isEmpty())
&gt; +        found = page()-&gt;findText(m_lineEdit-&gt;text(), QFlag(m_findFlag | QWebPage::HighlightAllOccurrences));

This seems to be needlessly complicated. Do we need all these findText calls for highlighting to work properly? Couldn&apos;t we just combine the proper find flags in the conditional cases and call findText once (or twice in case of HighlightAllOccurrences)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412507</commentid>
    <comment_count>20</comment_count>
      <attachid>95407</attachid>
    <who name="Kristóf Kosztyó">kkristof</who>
    <bug_when>2011-05-31 02:07:02 -0700</bug_when>
    <thetext>Created attachment 95407
proposed fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412511</commentid>
    <comment_count>21</comment_count>
      <attachid>95407</attachid>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2011-05-31 02:15:36 -0700</bug_when>
    <thetext>Comment on attachment 95407
proposed fix

Great work. LGTM, Ossy what do you think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412513</commentid>
    <comment_count>22</comment_count>
      <attachid>95407</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-05-31 02:17:13 -0700</bug_when>
    <thetext>Comment on attachment 95407
proposed fix

Great patch, r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412536</commentid>
    <comment_count>23</comment_count>
      <attachid>95407</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-31 03:42:13 -0700</bug_when>
    <thetext>Comment on attachment 95407
proposed fix

Clearing flags on attachment: 95407

Committed r87720: &lt;http://trac.webkit.org/changeset/87720&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412537</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-31 03:42:19 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412598</commentid>
    <comment_count>25</comment_count>
    <who name="Ademar Reis">ademar</who>
    <bug_when>2011-05-31 07:03:55 -0700</bug_when>
    <thetext>Revision r87720 cherry-picked into qtwebkit-2.2 with commit af58e95 &lt;http://gitorious.org/webkit/qtwebkit/commit/af58e95&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412762</commentid>
    <comment_count>26</comment_count>
    <who name="Ademar Reis">ademar</who>
    <bug_when>2011-05-31 11:49:04 -0700</bug_when>
    <thetext>&quot;Buildfix for --minimal and CONFIG+=qt_minimal build&quot; commited in r87724</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412763</commentid>
    <comment_count>27</comment_count>
    <who name="Ademar Reis">ademar</who>
    <bug_when>2011-05-31 11:49:38 -0700</bug_when>
    <thetext>Revision r87724 cherry-picked into qtwebkit-2.2 with commit cbc9e96 &lt;http://gitorious.org/webkit/qtwebkit/commit/cbc9e96&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94963</attachid>
            <date>2011-05-26 06:05:48 -0700</date>
            <delta_ts>2011-05-26 06:09:19 -0700</delta_ts>
            <desc>proposed fix</desc>
            <filename>26.patch</filename>
            <type>text/plain</type>
            <size>6774</size>
            <attacher name="Kristóf Kosztyó">kkristof</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBkMzNj
NGY3Li5lNDExNzdiIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDUtMjYgIEtyaXN0w7NmIEtvc3p0ecOzICA8
S29zenR5by5LcmlzdG9mQHN0dWQudS1zemVnZWQuaHU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBJbXBsZW1lbnQgZmluZCBmZWF0dXJlIGZv
ciBRdFRlc3RCcm93c2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02MTQyNQorCisgICAgICAgICogUXRUZXN0QnJvd3Nlci9sYXVuY2hlcndpbmRvdy5j
cHA6CisgICAgICAgIChMYXVuY2hlcldpbmRvdzo6TGF1bmNoZXJXaW5kb3cpOgorICAgICAgICAo
TGF1bmNoZXJXaW5kb3c6OmNyZWF0ZUNocm9tZSk6CisgICAgICAgIChMYXVuY2hlcldpbmRvdzo6
c2hvd0ZpbmRCYXIpOgorICAgICAgICAoTGF1bmNoZXJXaW5kb3c6OmZpbmQpOgorICAgICAgICAq
IFF0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3aW5kb3cuaDoKKwogMjAxMS0wNS0yNiAgVG9tIEh1ZHNv
biAgPHRvbWh1ZHNvbkBnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFRvbnkgQ2hh
bmcuCmRpZmYgLS1naXQgYS9Ub29scy9RdFRlc3RCcm93c2VyL2xhdW5jaGVyd2luZG93LmNwcCBi
L1Rvb2xzL1F0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3aW5kb3cuY3BwCmluZGV4IGE2YjA1ZjQuLjg1
YjFhYTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1F0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3aW5kb3cuY3Bw
CisrKyBiL1Rvb2xzL1F0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3aW5kb3cuY3BwCkBAIC0xLDQgKzEs
NSBAQAogLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBLcmlzdG9mIEtvc3p0eW8gPEtvc3p0eW8u
S3Jpc3RvZkBzdHVkLnUtc3plZ2VkLmh1PgogICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENv
cnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQogICogQ29weXJpZ2h0IChDKSAy
MDA5IEdpcmlzaCBSYW1ha3Jpc2huYW4gPGdpcmlzaEBmb3J3YXJkYmlhcy5pbj4KICAqIENvcHly
aWdodCAoQykgMjAwNiBHZW9yZ2UgU3RhaWtvcyA8c3RhaWtvc0BrZGUub3JnPgpAQCAtNDQsNiAr
NDUsNyBAQCBMYXVuY2hlcldpbmRvdzo6TGF1bmNoZXJXaW5kb3coV2luZG93T3B0aW9ucyogZGF0
YSwgUUdyYXBoaWNzU2NlbmUqIHNoYXJlZFNjZW5lKQogICAgICwgbV9pbnNwZWN0b3IoMCkKICAg
ICAsIG1fZm9ybWF0TWVudUFjdGlvbigwKQogICAgICwgbV96b29tQW5pbWF0aW9uKDApCisgICAg
LCBtX2ZpbmRGbGFnKDApCiB7CiAgICAgaWYgKGRhdGEpCiAgICAgICAgIG1fd2luZG93T3B0aW9u
cyA9ICpkYXRhOwpAQCAtMTk1LDYgKzE5Nyw4IEBAIHZvaWQgTGF1bmNoZXJXaW5kb3c6OmNyZWF0
ZUNocm9tZSgpCiAgICAgZWRpdE1lbnUtPmFkZEFjdGlvbihwYWdlKCktPmFjdGlvbihRV2ViUGFn
ZTo6Q29weSkpOwogICAgIGVkaXRNZW51LT5hZGRBY3Rpb24ocGFnZSgpLT5hY3Rpb24oUVdlYlBh
Z2U6OlBhc3RlKSk7CiAgICAgZWRpdE1lbnUtPmFkZFNlcGFyYXRvcigpOworICAgIGVkaXRNZW51
LT5hZGRBY3Rpb24oIiZGaW5kIiwgdGhpcywgU0xPVChzaG93RmluZEJhcigpKSwgUUtleVNlcXVl
bmNlKFF0OjpDVFJMIHwgUXQ6OktleV9GKSk7CisgICAgZWRpdE1lbnUtPmFkZFNlcGFyYXRvcigp
OwogICAgIFFBY3Rpb24qIHNldEVkaXRhYmxlID0gZWRpdE1lbnUtPmFkZEFjdGlvbigiU2V0IEVk
aXRhYmxlIiwgdGhpcywgU0xPVChzZXRFZGl0YWJsZShib29sKSkpOwogICAgIHNldEVkaXRhYmxl
LT5zZXRDaGVja2FibGUodHJ1ZSk7CiAKQEAgLTQwNiw2ICs0MTAsNDggQEAgdm9pZCBMYXVuY2hl
cldpbmRvdzo6Y3JlYXRlQ2hyb21lKCkKICAgICB0b2dnbGVKYXZhc2NyaXB0Q2FuT3BlbldpbmRv
d3MtPnNldENoZWNrYWJsZSh0cnVlKTsKICAgICB0b2dnbGVKYXZhc2NyaXB0Q2FuT3BlbldpbmRv
d3MtPnNldENoZWNrZWQoZmFsc2UpOwogCisgICAgbV9maW5kQmFyID0gbmV3IFFUb29sQmFyKCJG
aW5kIik7CisgICAgYWRkVG9vbEJhcihRdDo6Qm90dG9tVG9vbEJhckFyZWEsIG1fZmluZEJhcik7
CisKKyAgICBtX2xpbmVFZGl0ID0gbmV3IFFMaW5lRWRpdChtX2ZpbmRCYXIpOworICAgIG1fbGlu
ZUVkaXQtPnNldE1heGltdW1XaWR0aCgyMDApOworICAgIFFDaGVja0JveCogZmluZENhc2VTZW5z
aXRpdmUgPSBuZXcgUUNoZWNrQm94KCJDYXNlU2Vuc2l0aXZlIiwgbV9maW5kQmFyKTsKKyAgICBR
Q2hlY2tCb3gqIGZpbmRXYXJwQXJvdW5kID0gbmV3IFFDaGVja0JveCgiV2FycEFyb3VuZCIsIG1f
ZmluZEJhcik7CisgICAgUUNoZWNrQm94KiBmaW5kSGlnaExpZ2h0QWxsID0gbmV3IFFDaGVja0Jv
eCgiSGlnaExpZ2h0QWxsIiwgbV9maW5kQmFyKTsKKyAgICBRVG9vbEJ1dHRvbiogZmluZE5leHQg
PSBuZXcgUVRvb2xCdXR0b24obV9maW5kQmFyKTsKKyAgICBmaW5kTmV4dC0+c2V0QXJyb3dUeXBl
KFF0OjpSaWdodEFycm93KTsKKyAgICBRVG9vbEJ1dHRvbiogZmluZFByZXZpb3VzID0gbmV3IFFU
b29sQnV0dG9uKG1fZmluZEJhcik7CisgICAgZmluZFByZXZpb3VzLT5zZXRBcnJvd1R5cGUoUXQ6
OkxlZnRBcnJvdyk7CisgICAgUVRvb2xCdXR0b24qIGZpbmRDbG9zZSA9IG5ldyBRVG9vbEJ1dHRv
bihtX2ZpbmRCYXIpOworICAgIGZpbmRDbG9zZS0+c2V0VGV4dCgiWCIpOworCisgICAgUVNpZ25h
bE1hcHBlciogZmluZFNpZ25hbE1hcHBlciA9IG5ldyBRU2lnbmFsTWFwcGVyKG1fZmluZEJhcik7
CisgICAgZmluZFNpZ25hbE1hcHBlci0+c2V0TWFwcGluZyhmaW5kQ2FzZVNlbnNpdGl2ZSwgQ2Fz
ZVNlbnNpdGl2ZWx5KTsKKyAgICBmaW5kU2lnbmFsTWFwcGVyLT5zZXRNYXBwaW5nKGZpbmRXYXJw
QXJvdW5kLCBXYXJwc0Fyb3VuZCk7CisgICAgZmluZFNpZ25hbE1hcHBlci0+c2V0TWFwcGluZyhm
aW5kSGlnaExpZ2h0QWxsLCBIaWdoTGlnaHRBbGwpOworICAgIGZpbmRTaWduYWxNYXBwZXItPnNl
dE1hcHBpbmcoZmluZFByZXZpb3VzLCBCYWNrV2FyZCk7CisgICAgZmluZFNpZ25hbE1hcHBlci0+
c2V0TWFwcGluZyhmaW5kTmV4dCwgTm9ybWFsKTsKKyAgICBmaW5kU2lnbmFsTWFwcGVyLT5zZXRN
YXBwaW5nKG1fbGluZUVkaXQsIE5vcm1hbCk7CisKKyAgICBjb25uZWN0KGZpbmRDbG9zZSwgU0lH
TkFMKGNsaWNrZWQoKSksIHRoaXMsIFNMT1Qoc2hvd0ZpbmRCYXIoKSkpOworICAgIGNvbm5lY3Qo
bV9saW5lRWRpdCwgU0lHTkFMKHRleHRDaGFuZ2VkKGNvbnN0IFFTdHJpbmcgJikpLCBmaW5kU2ln
bmFsTWFwcGVyLCBTTE9UKG1hcCgpKSk7CisgICAgY29ubmVjdChmaW5kQ2FzZVNlbnNpdGl2ZSwg
U0lHTkFMKHN0YXRlQ2hhbmdlZChpbnQpKSwgZmluZFNpZ25hbE1hcHBlciwgU0xPVChtYXAoKSkp
OworICAgIGNvbm5lY3QoZmluZFdhcnBBcm91bmQsIFNJR05BTChzdGF0ZUNoYW5nZWQoaW50KSks
IGZpbmRTaWduYWxNYXBwZXIsIFNMT1QobWFwKCkpKTsKKyAgICBjb25uZWN0KGZpbmRIaWdoTGln
aHRBbGwsIFNJR05BTChzdGF0ZUNoYW5nZWQoaW50KSksIGZpbmRTaWduYWxNYXBwZXIsIFNMT1Qo
bWFwKCkpKTsKKyAgICBjb25uZWN0KGZpbmRQcmV2aW91cywgU0lHTkFMKHByZXNzZWQoKSksIGZp
bmRTaWduYWxNYXBwZXIsIFNMT1QobWFwKCkpKTsKKyAgICBjb25uZWN0KGZpbmROZXh0LCBTSUdO
QUwocHJlc3NlZCgpKSwgZmluZFNpZ25hbE1hcHBlciwgU0xPVChtYXAoKSkpOworCisgICAgY29u
bmVjdChmaW5kU2lnbmFsTWFwcGVyLCBTSUdOQUwobWFwcGVkKGludCkpLCB0aGlzLCBTTE9UKGZp
bmQoaW50KSkpOworCisgICAgbV9maW5kQmFyLT5hZGRXaWRnZXQoZmluZENsb3NlKTsKKyAgICBt
X2ZpbmRCYXItPmFkZFdpZGdldChtX2xpbmVFZGl0KTsKKyAgICBtX2ZpbmRCYXItPmFkZFdpZGdl
dChmaW5kUHJldmlvdXMpOworICAgIG1fZmluZEJhci0+YWRkV2lkZ2V0KGZpbmROZXh0KTsKKyAg
ICBtX2ZpbmRCYXItPmFkZFdpZGdldChmaW5kQ2FzZVNlbnNpdGl2ZSk7CisgICAgbV9maW5kQmFy
LT5hZGRXaWRnZXQoZmluZFdhcnBBcm91bmQpOworICAgIG1fZmluZEJhci0+YWRkV2lkZ2V0KGZp
bmRIaWdoTGlnaHRBbGwpOworICAgIG1fZmluZEJhci0+c2V0TW92YWJsZShmYWxzZSk7CisgICAg
bV9maW5kQmFyLT5zZXRWaXNpYmxlKGZhbHNlKTsKICNlbmRpZgogfQogCkBAIC05NzYsMyArMTAy
Miw0NSBAQCBMYXVuY2hlcldpbmRvdyogTGF1bmNoZXJXaW5kb3c6OmNsb25lV2luZG93KCkKICAg
ICByZXR1cm4gbXc7CiB9CiAKK3ZvaWQgTGF1bmNoZXJXaW5kb3c6OnNob3dGaW5kQmFyKCkKK3sK
KyAgICBpZiAoIW1fZmluZEJhci0+aXNWaXNpYmxlKCkpIHsKKyAgICAgICAgbV9maW5kQmFyLT5z
ZXRWaXNpYmxlKHRydWUpOworICAgICAgICBtX2xpbmVFZGl0LT5zZXRGb2N1cyhRdDo6UG9wdXBG
b2N1c1JlYXNvbik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgbV9maW5kQmFyLT5zZXRWaXNpYmxl
KGZhbHNlKTsKKyAgICAgICAgcGFnZSgpLT5maW5kVGV4dCgiIiwgUUZsYWcoOCkpOworICAgIH0K
K30KKwordm9pZCBMYXVuY2hlcldpbmRvdzo6ZmluZChpbnQgbW9kZSA9IDApCit7CisgICAgcGFn
ZSgpLT5maW5kVGV4dCgiIiwgUUZsYWcoUVdlYlBhZ2U6OkhpZ2hsaWdodEFsbE9jY3VycmVuY2Vz
KSk7CisgICAgUVBhbGV0dGUgcGFsZXR0ZTsKKyAgICBib29sIGZvdW5kID0gdHJ1ZTsKKyAgICBw
YWxldHRlLnNldENvbG9yKG1fbGluZUVkaXQtPmJhY2tncm91bmRSb2xlKCksIFF0Ojp3aGl0ZSk7
CisKKyAgICBpZiAobW9kZSA9PSBOb3JtYWwpCisgICAgICAgIHBhZ2UoKS0+ZmluZFRleHQobV9s
aW5lRWRpdC0+dGV4dCgpLCBRRmxhZyhtX2ZpbmRGbGFnICYgflFXZWJQYWdlOjpIaWdobGlnaHRB
bGxPY2N1cnJlbmNlcykpOworICAgIGlmIChtb2RlID09IEJhY2tXYXJkKQorICAgICAgICBwYWdl
KCktPmZpbmRUZXh0KG1fbGluZUVkaXQtPnRleHQoKSwgUUZsYWcoKG1fZmluZEZsYWcgfCBRV2Vi
UGFnZTo6RmluZEJhY2t3YXJkKSAmIH5RV2ViUGFnZTo6SGlnaGxpZ2h0QWxsT2NjdXJyZW5jZXMp
KTsKKyAgICBpZiAobW9kZSA9PSBDYXNlU2Vuc2l0aXZlbHkpCisgICAgICAgIG1fZmluZEZsYWcg
PSBtX2ZpbmRGbGFnIF4gUVdlYlBhZ2U6OkZpbmRDYXNlU2Vuc2l0aXZlbHk7CisgICAgaWYgKG1v
ZGUgPT0gV2FycHNBcm91bmQpCisgICAgICAgIG1fZmluZEZsYWcgPSBtX2ZpbmRGbGFnIF4gUVdl
YlBhZ2U6OkZpbmRXcmFwc0Fyb3VuZERvY3VtZW50OworICAgIGlmIChtb2RlID09IEhpZ2hMaWdo
dEFsbCkKKyAgICAgICAgbV9maW5kRmxhZyA9IG1fZmluZEZsYWcgXiBRV2ViUGFnZTo6SGlnaGxp
Z2h0QWxsT2NjdXJyZW5jZXM7CisKKyAgICBpZiAoIW1fbGluZUVkaXQtPnRleHQoKS5pc0VtcHR5
KCkpCisgICAgICAgIGZvdW5kID0gcGFnZSgpLT5maW5kVGV4dChtX2xpbmVFZGl0LT50ZXh0KCks
IFFGbGFnKChtX2ZpbmRGbGFnIHwgUVdlYlBhZ2U6OkhpZ2hsaWdodEFsbE9jY3VycmVuY2VzKSAm
IH4wKSk7CisKKyAgICBpZiAoIShtX2ZpbmRGbGFnICYgUVdlYlBhZ2U6OkhpZ2hsaWdodEFsbE9j
Y3VycmVuY2VzKSkKKyAgICAgICAgcGFnZSgpLT5maW5kVGV4dCgiIiwgUUZsYWcoUVdlYlBhZ2U6
OkhpZ2hsaWdodEFsbE9jY3VycmVuY2VzKSk7CisKKyAgICBpZiAoZm91bmQpCisgICAgICAgIG1f
bGluZUVkaXQtPnNldFBhbGV0dGUocGFsZXR0ZSk7CisgICAgZWxzZSB7CisgICAgICAgIHBhbGV0
dGUuc2V0Q29sb3IobV9saW5lRWRpdC0+YmFja2dyb3VuZFJvbGUoKSwgUUNvbG9yKDI1NSwgMCwg
MCwgMTI3KSk7CisgICAgICAgIG1fbGluZUVkaXQtPnNldFBhbGV0dGUocGFsZXR0ZSk7CisgICAg
fQorfQpkaWZmIC0tZ2l0IGEvVG9vbHMvUXRUZXN0QnJvd3Nlci9sYXVuY2hlcndpbmRvdy5oIGIv
VG9vbHMvUXRUZXN0QnJvd3Nlci9sYXVuY2hlcndpbmRvdy5oCmluZGV4IDcwNWExZTQuLjY4NWIz
MDAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1F0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3aW5kb3cuaAorKysg
Yi9Ub29scy9RdFRlc3RCcm93c2VyL2xhdW5jaGVyd2luZG93LmgKQEAgLTE5MSw2ICsxOTEsOSBA
QCBwcm90ZWN0ZWQgc2xvdHM6CiAgICAgdm9pZCB0b2dnbGVPZmZsaW5lV2ViQXBwbGljYXRpb25D
YWNoZShib29sIHRvZ2dsZSk7CiAgICAgdm9pZCBzZXRPZmZsaW5lU3RvcmFnZURlZmF1bHRRdW90
YSgpOwogCisgICAgdm9pZCBzaG93RmluZEJhcigpOworICAgIHZvaWQgZmluZChpbnQgbW9kZSk7
CisKICNpZiBkZWZpbmVkKFFUX0NPTkZJR1VSRURfV0lUSF9PUEVOR0wpCiAgICAgdm9pZCB0b2dn
bGVRR0xXaWRnZXRWaWV3cG9ydChib29sIGVuYWJsZSk7CiAjZW5kaWYKQEAgLTIzOSw2ICsyNDIs
MTYgQEAgcHJpdmF0ZToKICAgICBib29sIG1fdG91Y2hNb2NraW5nOwogCiAgICAgUVN0cmluZyBt
X2lucHV0VXJsOworCisgICAgUVRvb2xCYXIqIG1fZmluZEJhcjsKKyAgICBRTGluZUVkaXQqIG1f
bGluZUVkaXQ7CisgICAgaW50IG1fZmluZEZsYWc7CisgICAgZW51bSBGaW5kTW9kZSB7IE5vcm1h
bCwKKyAgICAgICAgICAgICAgICAgICAgQmFja1dhcmQsCisgICAgICAgICAgICAgICAgICAgIENh
c2VTZW5zaXRpdmVseSwKKyAgICAgICAgICAgICAgICAgICAgV2FycHNBcm91bmQsCisgICAgICAg
ICAgICAgICAgICAgIEhpZ2hMaWdodEFsbAorICAgIH07CiB9OwogCiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94964</attachid>
            <date>2011-05-26 06:09:19 -0700</date>
            <delta_ts>2011-05-27 01:08:12 -0700</delta_ts>
            <desc>proposed fix</desc>
            <filename>26.patch</filename>
            <type>text/plain</type>
            <size>6795</size>
            <attacher name="Kristóf Kosztyó">kkristof</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBkMzNj
NGY3Li5lNDExNzdiIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDUtMjYgIEtyaXN0w7NmIEtvc3p0ecOzICA8
S29zenR5by5LcmlzdG9mQHN0dWQudS1zemVnZWQuaHU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBJbXBsZW1lbnQgZmluZCBmZWF0dXJlIGZv
ciBRdFRlc3RCcm93c2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02MTQyNQorCisgICAgICAgICogUXRUZXN0QnJvd3Nlci9sYXVuY2hlcndpbmRvdy5j
cHA6CisgICAgICAgIChMYXVuY2hlcldpbmRvdzo6TGF1bmNoZXJXaW5kb3cpOgorICAgICAgICAo
TGF1bmNoZXJXaW5kb3c6OmNyZWF0ZUNocm9tZSk6CisgICAgICAgIChMYXVuY2hlcldpbmRvdzo6
c2hvd0ZpbmRCYXIpOgorICAgICAgICAoTGF1bmNoZXJXaW5kb3c6OmZpbmQpOgorICAgICAgICAq
IFF0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3aW5kb3cuaDoKKwogMjAxMS0wNS0yNiAgVG9tIEh1ZHNv
biAgPHRvbWh1ZHNvbkBnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFRvbnkgQ2hh
bmcuCmRpZmYgLS1naXQgYS9Ub29scy9RdFRlc3RCcm93c2VyL2xhdW5jaGVyd2luZG93LmNwcCBi
L1Rvb2xzL1F0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3aW5kb3cuY3BwCmluZGV4IGE2YjA1ZjQuLjg1
YjFhYTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1F0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3aW5kb3cuY3Bw
CisrKyBiL1Rvb2xzL1F0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3aW5kb3cuY3BwCkBAIC00NCw2ICs0
NSw3IEBAIExhdW5jaGVyV2luZG93OjpMYXVuY2hlcldpbmRvdyhXaW5kb3dPcHRpb25zKiBkYXRh
LCBRR3JhcGhpY3NTY2VuZSogc2hhcmVkU2NlbmUpCiAgICAgLCBtX2luc3BlY3RvcigwKQogICAg
ICwgbV9mb3JtYXRNZW51QWN0aW9uKDApCiAgICAgLCBtX3pvb21BbmltYXRpb24oMCkKKyAgICAs
IG1fZmluZEZsYWcoMCkKIHsKICAgICBpZiAoZGF0YSkKICAgICAgICAgbV93aW5kb3dPcHRpb25z
ID0gKmRhdGE7CkBAIC0xOTUsNiArMTk3LDggQEAgdm9pZCBMYXVuY2hlcldpbmRvdzo6Y3JlYXRl
Q2hyb21lKCkKICAgICBlZGl0TWVudS0+YWRkQWN0aW9uKHBhZ2UoKS0+YWN0aW9uKFFXZWJQYWdl
OjpDb3B5KSk7CiAgICAgZWRpdE1lbnUtPmFkZEFjdGlvbihwYWdlKCktPmFjdGlvbihRV2ViUGFn
ZTo6UGFzdGUpKTsKICAgICBlZGl0TWVudS0+YWRkU2VwYXJhdG9yKCk7CisgICAgZWRpdE1lbnUt
PmFkZEFjdGlvbigiJkZpbmQiLCB0aGlzLCBTTE9UKHNob3dGaW5kQmFyKCkpLCBRS2V5U2VxdWVu
Y2UoUXQ6OkNUUkwgfCBRdDo6S2V5X0YpKTsKKyAgICBlZGl0TWVudS0+YWRkU2VwYXJhdG9yKCk7
CiAgICAgUUFjdGlvbiogc2V0RWRpdGFibGUgPSBlZGl0TWVudS0+YWRkQWN0aW9uKCJTZXQgRWRp
dGFibGUiLCB0aGlzLCBTTE9UKHNldEVkaXRhYmxlKGJvb2wpKSk7CiAgICAgc2V0RWRpdGFibGUt
PnNldENoZWNrYWJsZSh0cnVlKTsKIApAQCAtNDA2LDYgKzQxMCw0OCBAQCB2b2lkIExhdW5jaGVy
V2luZG93OjpjcmVhdGVDaHJvbWUoKQogICAgIHRvZ2dsZUphdmFzY3JpcHRDYW5PcGVuV2luZG93
cy0+c2V0Q2hlY2thYmxlKHRydWUpOwogICAgIHRvZ2dsZUphdmFzY3JpcHRDYW5PcGVuV2luZG93
cy0+c2V0Q2hlY2tlZChmYWxzZSk7CiAKKyAgICBtX2ZpbmRCYXIgPSBuZXcgUVRvb2xCYXIoIkZp
bmQiKTsKKyAgICBhZGRUb29sQmFyKFF0OjpCb3R0b21Ub29sQmFyQXJlYSwgbV9maW5kQmFyKTsK
KworICAgIG1fbGluZUVkaXQgPSBuZXcgUUxpbmVFZGl0KG1fZmluZEJhcik7CisgICAgbV9saW5l
RWRpdC0+c2V0TWF4aW11bVdpZHRoKDIwMCk7CisgICAgUUNoZWNrQm94KiBmaW5kQ2FzZVNlbnNp
dGl2ZSA9IG5ldyBRQ2hlY2tCb3goIkNhc2VTZW5zaXRpdmUiLCBtX2ZpbmRCYXIpOworICAgIFFD
aGVja0JveCogZmluZFdhcnBBcm91bmQgPSBuZXcgUUNoZWNrQm94KCJXYXJwQXJvdW5kIiwgbV9m
aW5kQmFyKTsKKyAgICBRQ2hlY2tCb3gqIGZpbmRIaWdoTGlnaHRBbGwgPSBuZXcgUUNoZWNrQm94
KCJIaWdoTGlnaHRBbGwiLCBtX2ZpbmRCYXIpOworICAgIFFUb29sQnV0dG9uKiBmaW5kTmV4dCA9
IG5ldyBRVG9vbEJ1dHRvbihtX2ZpbmRCYXIpOworICAgIGZpbmROZXh0LT5zZXRBcnJvd1R5cGUo
UXQ6OlJpZ2h0QXJyb3cpOworICAgIFFUb29sQnV0dG9uKiBmaW5kUHJldmlvdXMgPSBuZXcgUVRv
b2xCdXR0b24obV9maW5kQmFyKTsKKyAgICBmaW5kUHJldmlvdXMtPnNldEFycm93VHlwZShRdDo6
TGVmdEFycm93KTsKKyAgICBRVG9vbEJ1dHRvbiogZmluZENsb3NlID0gbmV3IFFUb29sQnV0dG9u
KG1fZmluZEJhcik7CisgICAgZmluZENsb3NlLT5zZXRUZXh0KCJYIik7CisKKyAgICBRU2lnbmFs
TWFwcGVyKiBmaW5kU2lnbmFsTWFwcGVyID0gbmV3IFFTaWduYWxNYXBwZXIobV9maW5kQmFyKTsK
KyAgICBmaW5kU2lnbmFsTWFwcGVyLT5zZXRNYXBwaW5nKGZpbmRDYXNlU2Vuc2l0aXZlLCBDYXNl
U2Vuc2l0aXZlbHkpOworICAgIGZpbmRTaWduYWxNYXBwZXItPnNldE1hcHBpbmcoZmluZFdhcnBB
cm91bmQsIFdhcnBzQXJvdW5kKTsKKyAgICBmaW5kU2lnbmFsTWFwcGVyLT5zZXRNYXBwaW5nKGZp
bmRIaWdoTGlnaHRBbGwsIEhpZ2hMaWdodEFsbCk7CisgICAgZmluZFNpZ25hbE1hcHBlci0+c2V0
TWFwcGluZyhmaW5kUHJldmlvdXMsIEJhY2tXYXJkKTsKKyAgICBmaW5kU2lnbmFsTWFwcGVyLT5z
ZXRNYXBwaW5nKGZpbmROZXh0LCBOb3JtYWwpOworICAgIGZpbmRTaWduYWxNYXBwZXItPnNldE1h
cHBpbmcobV9saW5lRWRpdCwgTm9ybWFsKTsKKworICAgIGNvbm5lY3QoZmluZENsb3NlLCBTSUdO
QUwoY2xpY2tlZCgpKSwgdGhpcywgU0xPVChzaG93RmluZEJhcigpKSk7CisgICAgY29ubmVjdCht
X2xpbmVFZGl0LCBTSUdOQUwodGV4dENoYW5nZWQoY29uc3QgUVN0cmluZyAmKSksIGZpbmRTaWdu
YWxNYXBwZXIsIFNMT1QobWFwKCkpKTsKKyAgICBjb25uZWN0KGZpbmRDYXNlU2Vuc2l0aXZlLCBT
SUdOQUwoc3RhdGVDaGFuZ2VkKGludCkpLCBmaW5kU2lnbmFsTWFwcGVyLCBTTE9UKG1hcCgpKSk7
CisgICAgY29ubmVjdChmaW5kV2FycEFyb3VuZCwgU0lHTkFMKHN0YXRlQ2hhbmdlZChpbnQpKSwg
ZmluZFNpZ25hbE1hcHBlciwgU0xPVChtYXAoKSkpOworICAgIGNvbm5lY3QoZmluZEhpZ2hMaWdo
dEFsbCwgU0lHTkFMKHN0YXRlQ2hhbmdlZChpbnQpKSwgZmluZFNpZ25hbE1hcHBlciwgU0xPVCht
YXAoKSkpOworICAgIGNvbm5lY3QoZmluZFByZXZpb3VzLCBTSUdOQUwocHJlc3NlZCgpKSwgZmlu
ZFNpZ25hbE1hcHBlciwgU0xPVChtYXAoKSkpOworICAgIGNvbm5lY3QoZmluZE5leHQsIFNJR05B
TChwcmVzc2VkKCkpLCBmaW5kU2lnbmFsTWFwcGVyLCBTTE9UKG1hcCgpKSk7CisKKyAgICBjb25u
ZWN0KGZpbmRTaWduYWxNYXBwZXIsIFNJR05BTChtYXBwZWQoaW50KSksIHRoaXMsIFNMT1QoZmlu
ZChpbnQpKSk7CisKKyAgICBtX2ZpbmRCYXItPmFkZFdpZGdldChmaW5kQ2xvc2UpOworICAgIG1f
ZmluZEJhci0+YWRkV2lkZ2V0KG1fbGluZUVkaXQpOworICAgIG1fZmluZEJhci0+YWRkV2lkZ2V0
KGZpbmRQcmV2aW91cyk7CisgICAgbV9maW5kQmFyLT5hZGRXaWRnZXQoZmluZE5leHQpOworICAg
IG1fZmluZEJhci0+YWRkV2lkZ2V0KGZpbmRDYXNlU2Vuc2l0aXZlKTsKKyAgICBtX2ZpbmRCYXIt
PmFkZFdpZGdldChmaW5kV2FycEFyb3VuZCk7CisgICAgbV9maW5kQmFyLT5hZGRXaWRnZXQoZmlu
ZEhpZ2hMaWdodEFsbCk7CisgICAgbV9maW5kQmFyLT5zZXRNb3ZhYmxlKGZhbHNlKTsKKyAgICBt
X2ZpbmRCYXItPnNldFZpc2libGUoZmFsc2UpOwogI2VuZGlmCiB9CiAKQEAgLTk3NiwzICsxMDIy
LDQ1IEBAIExhdW5jaGVyV2luZG93KiBMYXVuY2hlcldpbmRvdzo6Y2xvbmVXaW5kb3coKQogICAg
IHJldHVybiBtdzsKIH0KIAordm9pZCBMYXVuY2hlcldpbmRvdzo6c2hvd0ZpbmRCYXIoKQorewor
ICAgIGlmICghbV9maW5kQmFyLT5pc1Zpc2libGUoKSkgeworICAgICAgICBtX2ZpbmRCYXItPnNl
dFZpc2libGUodHJ1ZSk7CisgICAgICAgIG1fbGluZUVkaXQtPnNldEZvY3VzKFF0OjpQb3B1cEZv
Y3VzUmVhc29uKTsKKyAgICB9IGVsc2UgeworICAgICAgICBtX2ZpbmRCYXItPnNldFZpc2libGUo
ZmFsc2UpOworICAgICAgICBwYWdlKCktPmZpbmRUZXh0KCIiLCBRRmxhZyg4KSk7CisgICAgfQor
fQorCit2b2lkIExhdW5jaGVyV2luZG93OjpmaW5kKGludCBtb2RlID0gMCkKK3sKKyAgICBwYWdl
KCktPmZpbmRUZXh0KCIiLCBRRmxhZyhRV2ViUGFnZTo6SGlnaGxpZ2h0QWxsT2NjdXJyZW5jZXMp
KTsKKyAgICBRUGFsZXR0ZSBwYWxldHRlOworICAgIGJvb2wgZm91bmQgPSB0cnVlOworICAgIHBh
bGV0dGUuc2V0Q29sb3IobV9saW5lRWRpdC0+YmFja2dyb3VuZFJvbGUoKSwgUXQ6OndoaXRlKTsK
KworICAgIGlmIChtb2RlID09IE5vcm1hbCkKKyAgICAgICAgcGFnZSgpLT5maW5kVGV4dChtX2xp
bmVFZGl0LT50ZXh0KCksIFFGbGFnKG1fZmluZEZsYWcgJiB+UVdlYlBhZ2U6OkhpZ2hsaWdodEFs
bE9jY3VycmVuY2VzKSk7CisgICAgaWYgKG1vZGUgPT0gQmFja1dhcmQpCisgICAgICAgIHBhZ2Uo
KS0+ZmluZFRleHQobV9saW5lRWRpdC0+dGV4dCgpLCBRRmxhZygobV9maW5kRmxhZyB8IFFXZWJQ
YWdlOjpGaW5kQmFja3dhcmQpICYgflFXZWJQYWdlOjpIaWdobGlnaHRBbGxPY2N1cnJlbmNlcykp
OworICAgIGlmIChtb2RlID09IENhc2VTZW5zaXRpdmVseSkKKyAgICAgICAgbV9maW5kRmxhZyA9
IG1fZmluZEZsYWcgXiBRV2ViUGFnZTo6RmluZENhc2VTZW5zaXRpdmVseTsKKyAgICBpZiAobW9k
ZSA9PSBXYXJwc0Fyb3VuZCkKKyAgICAgICAgbV9maW5kRmxhZyA9IG1fZmluZEZsYWcgXiBRV2Vi
UGFnZTo6RmluZFdyYXBzQXJvdW5kRG9jdW1lbnQ7CisgICAgaWYgKG1vZGUgPT0gSGlnaExpZ2h0
QWxsKQorICAgICAgICBtX2ZpbmRGbGFnID0gbV9maW5kRmxhZyBeIFFXZWJQYWdlOjpIaWdobGln
aHRBbGxPY2N1cnJlbmNlczsKKworICAgIGlmICghbV9saW5lRWRpdC0+dGV4dCgpLmlzRW1wdHko
KSkKKyAgICAgICAgZm91bmQgPSBwYWdlKCktPmZpbmRUZXh0KG1fbGluZUVkaXQtPnRleHQoKSwg
UUZsYWcoKG1fZmluZEZsYWcgfCBRV2ViUGFnZTo6SGlnaGxpZ2h0QWxsT2NjdXJyZW5jZXMpICYg
fjApKTsKKworICAgIGlmICghKG1fZmluZEZsYWcgJiBRV2ViUGFnZTo6SGlnaGxpZ2h0QWxsT2Nj
dXJyZW5jZXMpKQorICAgICAgICBwYWdlKCktPmZpbmRUZXh0KCIiLCBRRmxhZyhRV2ViUGFnZTo6
SGlnaGxpZ2h0QWxsT2NjdXJyZW5jZXMpKTsKKworICAgIGlmIChmb3VuZCkKKyAgICAgICAgbV9s
aW5lRWRpdC0+c2V0UGFsZXR0ZShwYWxldHRlKTsKKyAgICBlbHNlIHsKKyAgICAgICAgcGFsZXR0
ZS5zZXRDb2xvcihtX2xpbmVFZGl0LT5iYWNrZ3JvdW5kUm9sZSgpLCBRQ29sb3IoMjU1LCAwLCAw
LCAxMjcpKTsKKyAgICAgICAgbV9saW5lRWRpdC0+c2V0UGFsZXR0ZShwYWxldHRlKTsKKyAgICB9
Cit9CkBAIC0xLDQgKzEsNSBAQAogLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBLcmlzdG9mIEtv
c3p0eW8gPEtvc3p0eW8uS3Jpc3RvZkBzdHVkLnUtc3plZ2VkLmh1PiBVbml2ZXJzaXR5IG9mIFN6
ZWdlZAogICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMg
c3Vic2lkaWFyeSgtaWVzKQogICogQ29weXJpZ2h0IChDKSAyMDA5IEdpcmlzaCBSYW1ha3Jpc2hu
YW4gPGdpcmlzaEBmb3J3YXJkYmlhcy5pbj4KICAqIENvcHlyaWdodCAoQykgMjAwNiBHZW9yZ2Ug
U3RhaWtvcyA8c3RhaWtvc0BrZGUub3JnPgpkaWZmIC0tZ2l0IGEvVG9vbHMvUXRUZXN0QnJvd3Nl
ci9sYXVuY2hlcndpbmRvdy5oIGIvVG9vbHMvUXRUZXN0QnJvd3Nlci9sYXVuY2hlcndpbmRvdy5o
CmluZGV4IDcwNWExZTQuLjY4NWIzMDAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1F0VGVzdEJyb3dzZXIv
bGF1bmNoZXJ3aW5kb3cuaAorKysgYi9Ub29scy9RdFRlc3RCcm93c2VyL2xhdW5jaGVyd2luZG93
LmgKQEAgLTE5MSw2ICsxOTEsOSBAQCBwcm90ZWN0ZWQgc2xvdHM6CiAgICAgdm9pZCB0b2dnbGVP
ZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZShib29sIHRvZ2dsZSk7CiAgICAgdm9pZCBzZXRPZmZs
aW5lU3RvcmFnZURlZmF1bHRRdW90YSgpOwogCisgICAgdm9pZCBzaG93RmluZEJhcigpOworICAg
IHZvaWQgZmluZChpbnQgbW9kZSk7CisKICNpZiBkZWZpbmVkKFFUX0NPTkZJR1VSRURfV0lUSF9P
UEVOR0wpCiAgICAgdm9pZCB0b2dnbGVRR0xXaWRnZXRWaWV3cG9ydChib29sIGVuYWJsZSk7CiAj
ZW5kaWYKQEAgLTIzOSw2ICsyNDIsMTYgQEAgcHJpdmF0ZToKICAgICBib29sIG1fdG91Y2hNb2Nr
aW5nOwogCiAgICAgUVN0cmluZyBtX2lucHV0VXJsOworCisgICAgUVRvb2xCYXIqIG1fZmluZEJh
cjsKKyAgICBRTGluZUVkaXQqIG1fbGluZUVkaXQ7CisgICAgaW50IG1fZmluZEZsYWc7CisgICAg
ZW51bSBGaW5kTW9kZSB7IE5vcm1hbCwKKyAgICAgICAgICAgICAgICAgICAgQmFja1dhcmQsCisg
ICAgICAgICAgICAgICAgICAgIENhc2VTZW5zaXRpdmVseSwKKyAgICAgICAgICAgICAgICAgICAg
V2FycHNBcm91bmQsCisgICAgICAgICAgICAgICAgICAgIEhpZ2hMaWdodEFsbAorICAgIH07CiB9
OwogCiAjZW5kaWYK
</data>
<flag name="review"
          id="88361"
          type_id="1"
          status="-"
          setter="ossy"
    />
    <flag name="commit-queue"
          id="88362"
          type_id="3"
          status="-"
          setter="ossy"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95135</attachid>
            <date>2011-05-27 01:08:12 -0700</date>
            <delta_ts>2011-05-30 00:48:44 -0700</delta_ts>
            <desc>proposed fix</desc>
            <filename>27.patch</filename>
            <type>text/plain</type>
            <size>6635</size>
            <attacher name="Kristóf Kosztyó">kkristof</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBkMzNj
NGY3Li5lNDExNzdiIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDUtMjYgIEtyaXN0w7NmIEtvc3p0ecOzICA8
S29zenR5by5LcmlzdG9mQHN0dWQudS1zemVnZWQuaHU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBJbXBsZW1lbnQgZmluZCBmZWF0dXJlIGZv
ciBRdFRlc3RCcm93c2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02MTQyNQorCisgICAgICAgICogUXRUZXN0QnJvd3Nlci9sYXVuY2hlcndpbmRvdy5j
cHA6CisgICAgICAgIChMYXVuY2hlcldpbmRvdzo6TGF1bmNoZXJXaW5kb3cpOgorICAgICAgICAo
TGF1bmNoZXJXaW5kb3c6OmNyZWF0ZUNocm9tZSk6CisgICAgICAgIChMYXVuY2hlcldpbmRvdzo6
c2hvd0ZpbmRCYXIpOgorICAgICAgICAoTGF1bmNoZXJXaW5kb3c6OmZpbmQpOgorICAgICAgICAq
IFF0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3aW5kb3cuaDoKKwogMjAxMS0wNS0yNiAgVG9tIEh1ZHNv
biAgPHRvbWh1ZHNvbkBnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFRvbnkgQ2hh
bmcuCmRpZmYgLS1naXQgYS9Ub29scy9RdFRlc3RCcm93c2VyL2xhdW5jaGVyd2luZG93LmNwcCBi
L1Rvb2xzL1F0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3aW5kb3cuY3BwCmluZGV4IGE2YjA1ZjQuLjMy
MzU4NzkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1F0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3aW5kb3cuY3Bw
CisrKyBiL1Rvb2xzL1F0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3aW5kb3cuY3BwCkBAIC0xLDUgKzEs
NyBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3Ig
aXRzIHN1YnNpZGlhcnkoLWllcykKKyAqIENvcHlyaWdodCAoQykgMjAxMSBVbml2ZXJzaXR5IG9m
IFN6ZWdlZAorICogQ29weXJpZ2h0IChDKSAyMDExIEtyaXN0b2YgS29zenR5byA8S29zenR5by5L
cmlzdG9mQHN0dWQudS1zemVnZWQuaHU+CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgR2lyaXNoIFJh
bWFrcmlzaG5hbiA8Z2lyaXNoQGZvcndhcmRiaWFzLmluPgogICogQ29weXJpZ2h0IChDKSAyMDA2
IEdlb3JnZSBTdGFpa29zIDxzdGFpa29zQGtkZS5vcmc+CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYg
RGlyayBNdWVsbGVyIDxtdWVsbGVyQGtkZS5vcmc+CkBAIC00NCw2ICs0Niw3IEBAIExhdW5jaGVy
V2luZG93OjpMYXVuY2hlcldpbmRvdyhXaW5kb3dPcHRpb25zKiBkYXRhLCBRR3JhcGhpY3NTY2Vu
ZSogc2hhcmVkU2NlbmUpCiAgICAgLCBtX2luc3BlY3RvcigwKQogICAgICwgbV9mb3JtYXRNZW51
QWN0aW9uKDApCiAgICAgLCBtX3pvb21BbmltYXRpb24oMCkKKyAgICAsIG1fZmluZEZsYWcoMCkK
IHsKICAgICBpZiAoZGF0YSkKICAgICAgICAgbV93aW5kb3dPcHRpb25zID0gKmRhdGE7CkBAIC0x
OTUsNiArMTk4LDggQEAgdm9pZCBMYXVuY2hlcldpbmRvdzo6Y3JlYXRlQ2hyb21lKCkKICAgICBl
ZGl0TWVudS0+YWRkQWN0aW9uKHBhZ2UoKS0+YWN0aW9uKFFXZWJQYWdlOjpDb3B5KSk7CiAgICAg
ZWRpdE1lbnUtPmFkZEFjdGlvbihwYWdlKCktPmFjdGlvbihRV2ViUGFnZTo6UGFzdGUpKTsKICAg
ICBlZGl0TWVudS0+YWRkU2VwYXJhdG9yKCk7CisgICAgZWRpdE1lbnUtPmFkZEFjdGlvbigiJkZp
bmQiLCB0aGlzLCBTTE9UKHNob3dGaW5kQmFyKCkpLCBRS2V5U2VxdWVuY2UoUXQ6OkNUUkwgfCBR
dDo6S2V5X0YpKTsKKyAgICBlZGl0TWVudS0+YWRkU2VwYXJhdG9yKCk7CiAgICAgUUFjdGlvbiog
c2V0RWRpdGFibGUgPSBlZGl0TWVudS0+YWRkQWN0aW9uKCJTZXQgRWRpdGFibGUiLCB0aGlzLCBT
TE9UKHNldEVkaXRhYmxlKGJvb2wpKSk7CiAgICAgc2V0RWRpdGFibGUtPnNldENoZWNrYWJsZSh0
cnVlKTsKIApAQCAtNDA2LDYgKzQxMSw0OCBAQCB2b2lkIExhdW5jaGVyV2luZG93OjpjcmVhdGVD
aHJvbWUoKQogICAgIHRvZ2dsZUphdmFzY3JpcHRDYW5PcGVuV2luZG93cy0+c2V0Q2hlY2thYmxl
KHRydWUpOwogICAgIHRvZ2dsZUphdmFzY3JpcHRDYW5PcGVuV2luZG93cy0+c2V0Q2hlY2tlZChm
YWxzZSk7CiAKKyAgICBtX2ZpbmRCYXIgPSBuZXcgUVRvb2xCYXIoIkZpbmQiLCB0aGlzKTsKKyAg
ICBhZGRUb29sQmFyKFF0OjpCb3R0b21Ub29sQmFyQXJlYSwgbV9maW5kQmFyKTsKKworICAgIG1f
bGluZUVkaXQgPSBuZXcgUUxpbmVFZGl0KG1fZmluZEJhcik7CisgICAgbV9saW5lRWRpdC0+c2V0
TWF4aW11bVdpZHRoKDIwMCk7CisgICAgUUNoZWNrQm94KiBmaW5kQ2FzZVNlbnNpdGl2ZSA9IG5l
dyBRQ2hlY2tCb3goIkNhc2VTZW5zaXRpdmUiLCBtX2ZpbmRCYXIpOworICAgIFFDaGVja0JveCog
ZmluZFdhcnBBcm91bmQgPSBuZXcgUUNoZWNrQm94KCJXYXJwQXJvdW5kIiwgbV9maW5kQmFyKTsK
KyAgICBRQ2hlY2tCb3gqIGZpbmRIaWdoTGlnaHRBbGwgPSBuZXcgUUNoZWNrQm94KCJIaWdoTGln
aHRBbGwiLCBtX2ZpbmRCYXIpOworICAgIFFUb29sQnV0dG9uKiBmaW5kTmV4dCA9IG5ldyBRVG9v
bEJ1dHRvbihtX2ZpbmRCYXIpOworICAgIGZpbmROZXh0LT5zZXRBcnJvd1R5cGUoUXQ6OlJpZ2h0
QXJyb3cpOworICAgIFFUb29sQnV0dG9uKiBmaW5kUHJldmlvdXMgPSBuZXcgUVRvb2xCdXR0b24o
bV9maW5kQmFyKTsKKyAgICBmaW5kUHJldmlvdXMtPnNldEFycm93VHlwZShRdDo6TGVmdEFycm93
KTsKKyAgICBRVG9vbEJ1dHRvbiogZmluZENsb3NlID0gbmV3IFFUb29sQnV0dG9uKG1fZmluZEJh
cik7CisgICAgZmluZENsb3NlLT5zZXRUZXh0KCJYIik7CisKKyAgICBRU2lnbmFsTWFwcGVyKiBm
aW5kU2lnbmFsTWFwcGVyID0gbmV3IFFTaWduYWxNYXBwZXIobV9maW5kQmFyKTsKKyAgICBmaW5k
U2lnbmFsTWFwcGVyLT5zZXRNYXBwaW5nKGZpbmRDYXNlU2Vuc2l0aXZlLCBRV2ViUGFnZTo6Rmlu
ZENhc2VTZW5zaXRpdmVseSk7CisgICAgZmluZFNpZ25hbE1hcHBlci0+c2V0TWFwcGluZyhmaW5k
V2FycEFyb3VuZCwgUVdlYlBhZ2U6OkZpbmRXcmFwc0Fyb3VuZERvY3VtZW50KTsKKyAgICBmaW5k
U2lnbmFsTWFwcGVyLT5zZXRNYXBwaW5nKGZpbmRIaWdoTGlnaHRBbGwsIFFXZWJQYWdlOjpIaWdo
bGlnaHRBbGxPY2N1cnJlbmNlcyk7CisgICAgZmluZFNpZ25hbE1hcHBlci0+c2V0TWFwcGluZyhm
aW5kUHJldmlvdXMsIFFXZWJQYWdlOjpGaW5kQmFja3dhcmQpOworICAgIGZpbmRTaWduYWxNYXBw
ZXItPnNldE1hcHBpbmcoZmluZE5leHQsIG1fZmluZE5vcm1hbCk7CisgICAgZmluZFNpZ25hbE1h
cHBlci0+c2V0TWFwcGluZyhtX2xpbmVFZGl0LCBtX2ZpbmROb3JtYWwpOworCisgICAgY29ubmVj
dChmaW5kQ2xvc2UsIFNJR05BTChjbGlja2VkKCkpLCB0aGlzLCBTTE9UKHNob3dGaW5kQmFyKCkp
KTsKKyAgICBjb25uZWN0KG1fbGluZUVkaXQsIFNJR05BTCh0ZXh0Q2hhbmdlZChjb25zdCBRU3Ry
aW5nICYpKSwgZmluZFNpZ25hbE1hcHBlciwgU0xPVChtYXAoKSkpOworICAgIGNvbm5lY3QoZmlu
ZENhc2VTZW5zaXRpdmUsIFNJR05BTChzdGF0ZUNoYW5nZWQoaW50KSksIGZpbmRTaWduYWxNYXBw
ZXIsIFNMT1QobWFwKCkpKTsKKyAgICBjb25uZWN0KGZpbmRXYXJwQXJvdW5kLCBTSUdOQUwoc3Rh
dGVDaGFuZ2VkKGludCkpLCBmaW5kU2lnbmFsTWFwcGVyLCBTTE9UKG1hcCgpKSk7CisgICAgY29u
bmVjdChmaW5kSGlnaExpZ2h0QWxsLCBTSUdOQUwoc3RhdGVDaGFuZ2VkKGludCkpLCBmaW5kU2ln
bmFsTWFwcGVyLCBTTE9UKG1hcCgpKSk7CisgICAgY29ubmVjdChmaW5kUHJldmlvdXMsIFNJR05B
TChwcmVzc2VkKCkpLCBmaW5kU2lnbmFsTWFwcGVyLCBTTE9UKG1hcCgpKSk7CisgICAgY29ubmVj
dChmaW5kTmV4dCwgU0lHTkFMKHByZXNzZWQoKSksIGZpbmRTaWduYWxNYXBwZXIsIFNMT1QobWFw
KCkpKTsKKworICAgIGNvbm5lY3QoZmluZFNpZ25hbE1hcHBlciwgU0lHTkFMKG1hcHBlZChpbnQp
KSwgdGhpcywgU0xPVChmaW5kKGludCkpKTsKKworICAgIG1fZmluZEJhci0+YWRkV2lkZ2V0KGZp
bmRDbG9zZSk7CisgICAgbV9maW5kQmFyLT5hZGRXaWRnZXQobV9saW5lRWRpdCk7CisgICAgbV9m
aW5kQmFyLT5hZGRXaWRnZXQoZmluZFByZXZpb3VzKTsKKyAgICBtX2ZpbmRCYXItPmFkZFdpZGdl
dChmaW5kTmV4dCk7CisgICAgbV9maW5kQmFyLT5hZGRXaWRnZXQoZmluZENhc2VTZW5zaXRpdmUp
OworICAgIG1fZmluZEJhci0+YWRkV2lkZ2V0KGZpbmRXYXJwQXJvdW5kKTsKKyAgICBtX2ZpbmRC
YXItPmFkZFdpZGdldChmaW5kSGlnaExpZ2h0QWxsKTsKKyAgICBtX2ZpbmRCYXItPnNldE1vdmFi
bGUoZmFsc2UpOworICAgIG1fZmluZEJhci0+c2V0VmlzaWJsZShmYWxzZSk7CiAjZW5kaWYKIH0K
IApAQCAtOTc2LDMgKzEwMjMsNDEgQEAgTGF1bmNoZXJXaW5kb3cqIExhdW5jaGVyV2luZG93Ojpj
bG9uZVdpbmRvdygpCiAgICAgcmV0dXJuIG13OwogfQogCit2b2lkIExhdW5jaGVyV2luZG93Ojpz
aG93RmluZEJhcigpCit7CisgICAgaWYgKCFtX2ZpbmRCYXItPmlzVmlzaWJsZSgpKSB7CisgICAg
ICAgIG1fZmluZEJhci0+c2V0VmlzaWJsZSh0cnVlKTsKKyAgICAgICAgbV9saW5lRWRpdC0+c2V0
Rm9jdXMoUXQ6OlBvcHVwRm9jdXNSZWFzb24pOworICAgIH0gZWxzZSB7CisgICAgICAgIG1fZmlu
ZEJhci0+c2V0VmlzaWJsZShmYWxzZSk7CisgICAgICAgIHBhZ2UoKS0+ZmluZFRleHQoIiIsIFFX
ZWJQYWdlOjpIaWdobGlnaHRBbGxPY2N1cnJlbmNlcyk7CisgICAgfQorfQorCit2b2lkIExhdW5j
aGVyV2luZG93OjpmaW5kKGludCBtb2RlID0gbV9maW5kTm9ybWFsKQoreworICAgIHBhZ2UoKS0+
ZmluZFRleHQoIiIsIFFXZWJQYWdlOjpIaWdobGlnaHRBbGxPY2N1cnJlbmNlcyk7CisgICAgUVBh
bGV0dGUgcGFsZXR0ZTsKKyAgICBib29sIGZvdW5kID0gdHJ1ZTsKKyAgICBwYWxldHRlLnNldENv
bG9yKG1fbGluZUVkaXQtPmJhY2tncm91bmRSb2xlKCksIFF0Ojp3aGl0ZSk7CisKKyAgICBpZiAo
bW9kZSA9PSBtX2ZpbmROb3JtYWwpCisgICAgICAgIHBhZ2UoKS0+ZmluZFRleHQobV9saW5lRWRp
dC0+dGV4dCgpLCBRRmxhZyhtX2ZpbmRGbGFnICYgflFXZWJQYWdlOjpIaWdobGlnaHRBbGxPY2N1
cnJlbmNlcykpOworICAgIGVsc2UgaWYgKG1vZGUgPT0gUVdlYlBhZ2U6OkZpbmRCYWNrd2FyZCkK
KyAgICAgICAgcGFnZSgpLT5maW5kVGV4dChtX2xpbmVFZGl0LT50ZXh0KCksIFFGbGFnKChtX2Zp
bmRGbGFnIHwgUVdlYlBhZ2U6OkZpbmRCYWNrd2FyZCkgJiB+UVdlYlBhZ2U6OkhpZ2hsaWdodEFs
bE9jY3VycmVuY2VzKSk7CisgICAgZWxzZQorICAgICAgICBtX2ZpbmRGbGFnID0gbV9maW5kRmxh
ZyBeIG1vZGU7CisKKyAgICBpZiAoIW1fbGluZUVkaXQtPnRleHQoKS5pc0VtcHR5KCkpCisgICAg
ICAgIGZvdW5kID0gcGFnZSgpLT5maW5kVGV4dChtX2xpbmVFZGl0LT50ZXh0KCksIFFGbGFnKCht
X2ZpbmRGbGFnIHwgUVdlYlBhZ2U6OkhpZ2hsaWdodEFsbE9jY3VycmVuY2VzKSAmIH5tX2ZpbmRO
b3JtYWwpKTsKKworICAgIGlmICghKG1fZmluZEZsYWcgJiBRV2ViUGFnZTo6SGlnaGxpZ2h0QWxs
T2NjdXJyZW5jZXMpKQorICAgICAgICBwYWdlKCktPmZpbmRUZXh0KCIiLCBRV2ViUGFnZTo6SGln
aGxpZ2h0QWxsT2NjdXJyZW5jZXMpOworCisgICAgaWYgKGZvdW5kKQorICAgICAgICBtX2xpbmVF
ZGl0LT5zZXRQYWxldHRlKHBhbGV0dGUpOworICAgIGVsc2UgeworICAgICAgICBwYWxldHRlLnNl
dENvbG9yKG1fbGluZUVkaXQtPmJhY2tncm91bmRSb2xlKCksIFFDb2xvcigyNTUsIDAsIDAsIDEy
NykpOworICAgICAgICBtX2xpbmVFZGl0LT5zZXRQYWxldHRlKHBhbGV0dGUpOworICAgIH0KK30K
ZGlmZiAtLWdpdCBhL1Rvb2xzL1F0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3aW5kb3cuaCBiL1Rvb2xz
L1F0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3aW5kb3cuaAppbmRleCA3MDVhMWU0Li41YjA4Y2UxIDEw
MDY0NAotLS0gYS9Ub29scy9RdFRlc3RCcm93c2VyL2xhdW5jaGVyd2luZG93LmgKKysrIGIvVG9v
bHMvUXRUZXN0QnJvd3Nlci9sYXVuY2hlcndpbmRvdy5oCkBAIC0xOTEsNiArMTkxLDkgQEAgcHJv
dGVjdGVkIHNsb3RzOgogICAgIHZvaWQgdG9nZ2xlT2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGUo
Ym9vbCB0b2dnbGUpOwogICAgIHZvaWQgc2V0T2ZmbGluZVN0b3JhZ2VEZWZhdWx0UXVvdGEoKTsK
IAorICAgIHZvaWQgc2hvd0ZpbmRCYXIoKTsKKyAgICB2b2lkIGZpbmQoaW50IG1vZGUpOworCiAj
aWYgZGVmaW5lZChRVF9DT05GSUdVUkVEX1dJVEhfT1BFTkdMKQogICAgIHZvaWQgdG9nZ2xlUUdM
V2lkZ2V0Vmlld3BvcnQoYm9vbCBlbmFibGUpOwogI2VuZGlmCkBAIC0yMzksNiArMjQyLDExIEBA
IHByaXZhdGU6CiAgICAgYm9vbCBtX3RvdWNoTW9ja2luZzsKIAogICAgIFFTdHJpbmcgbV9pbnB1
dFVybDsKKworICAgIFFUb29sQmFyKiBtX2ZpbmRCYXI7CisgICAgUUxpbmVFZGl0KiBtX2xpbmVF
ZGl0OworICAgIGludCBtX2ZpbmRGbGFnOworICAgIHN0YXRpYyBjb25zdCBpbnQgbV9maW5kTm9y
bWFsID0gMDsKIH07CiAKICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95328</attachid>
            <date>2011-05-30 00:48:44 -0700</date>
            <delta_ts>2011-05-31 02:07:02 -0700</delta_ts>
            <desc>proposed fix</desc>
            <filename>30.patch</filename>
            <type>text/plain</type>
            <size>6709</size>
            <attacher name="Kristóf Kosztyó">kkristof</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA5OGU2
NzczLi4xNDBiNGU0IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDUtMzAgIEtyaXN0w7NmIEtvc3p0ecOzICA8
S29zenR5by5LcmlzdG9mQHN0dWQudS1zemVnZWQuaHU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBJbXBsZW1lbnQgZmluZCBmZWF0dXJlIGZv
ciBRdFRlc3RCcm93c2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02MTQyNQorCisgICAgICAgICogUXRUZXN0QnJvd3Nlci9sYXVuY2hlcndpbmRvdy5j
cHA6CisgICAgICAgIChMYXVuY2hlcldpbmRvdzo6TGF1bmNoZXJXaW5kb3cpOgorICAgICAgICAo
TGF1bmNoZXJXaW5kb3c6OmNyZWF0ZUNocm9tZSk6CisgICAgICAgIChMYXVuY2hlcldpbmRvdzo6
c2hvd0ZpbmRCYXIpOgorICAgICAgICAoTGF1bmNoZXJXaW5kb3c6OmZpbmQpOgorICAgICAgICAq
IFF0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3aW5kb3cuaDoKKwogMjAxMS0wNS0yOSAgWXV0YSBLaXRh
bXVyYSAgPHl1dGFrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW50IFRh
bXVyYS4KZGlmZiAtLWdpdCBhL1Rvb2xzL1F0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3aW5kb3cuY3Bw
IGIvVG9vbHMvUXRUZXN0QnJvd3Nlci9sYXVuY2hlcndpbmRvdy5jcHAKaW5kZXggYmU1NDlmZS4u
MTI2MmJmMSAxMDA2NDQKLS0tIGEvVG9vbHMvUXRUZXN0QnJvd3Nlci9sYXVuY2hlcndpbmRvdy5j
cHAKKysrIGIvVG9vbHMvUXRUZXN0QnJvd3Nlci9sYXVuY2hlcndpbmRvdy5jcHAKQEAgLTEsNSAr
MSw3IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9v
ciBpdHMgc3Vic2lkaWFyeSgtaWVzKQorICogQ29weXJpZ2h0IChDKSAyMDExIFVuaXZlcnNpdHkg
b2YgU3plZ2VkCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgS3Jpc3RvZiBLb3N6dHlvIDxLb3N6dHlv
LktyaXN0b2ZAc3R1ZC51LXN6ZWdlZC5odT4KICAqIENvcHlyaWdodCAoQykgMjAwOSBHaXJpc2gg
UmFtYWtyaXNobmFuIDxnaXJpc2hAZm9yd2FyZGJpYXMuaW4+CiAgKiBDb3B5cmlnaHQgKEMpIDIw
MDYgR2VvcmdlIFN0YWlrb3MgPHN0YWlrb3NAa2RlLm9yZz4KICAqIENvcHlyaWdodCAoQykgMjAw
NiBEaXJrIE11ZWxsZXIgPG11ZWxsZXJAa2RlLm9yZz4KQEAgLTQ0LDYgKzQ2LDcgQEAgTGF1bmNo
ZXJXaW5kb3c6OkxhdW5jaGVyV2luZG93KFdpbmRvd09wdGlvbnMqIGRhdGEsIFFHcmFwaGljc1Nj
ZW5lKiBzaGFyZWRTY2VuZSkKICAgICAsIG1faW5zcGVjdG9yKDApCiAgICAgLCBtX2Zvcm1hdE1l
bnVBY3Rpb24oMCkKICAgICAsIG1fem9vbUFuaW1hdGlvbigwKQorICAgICwgbV9maW5kRmxhZygw
KQogewogICAgIGlmIChkYXRhKQogICAgICAgICBtX3dpbmRvd09wdGlvbnMgPSAqZGF0YTsKQEAg
LTE5NSw2ICsxOTgsOCBAQCB2b2lkIExhdW5jaGVyV2luZG93OjpjcmVhdGVDaHJvbWUoKQogICAg
IGVkaXRNZW51LT5hZGRBY3Rpb24ocGFnZSgpLT5hY3Rpb24oUVdlYlBhZ2U6OkNvcHkpKTsKICAg
ICBlZGl0TWVudS0+YWRkQWN0aW9uKHBhZ2UoKS0+YWN0aW9uKFFXZWJQYWdlOjpQYXN0ZSkpOwog
ICAgIGVkaXRNZW51LT5hZGRTZXBhcmF0b3IoKTsKKyAgICBlZGl0TWVudS0+YWRkQWN0aW9uKCIm
RmluZCIsIHRoaXMsIFNMT1Qoc2hvd0ZpbmRCYXIoKSksIFFLZXlTZXF1ZW5jZShRdDo6Q1RSTCB8
IFF0OjpLZXlfRikpOworICAgIGVkaXRNZW51LT5hZGRTZXBhcmF0b3IoKTsKICAgICBRQWN0aW9u
KiBzZXRFZGl0YWJsZSA9IGVkaXRNZW51LT5hZGRBY3Rpb24oIlNldCBFZGl0YWJsZSIsIHRoaXMs
IFNMT1Qoc2V0RWRpdGFibGUoYm9vbCkpKTsKICAgICBzZXRFZGl0YWJsZS0+c2V0Q2hlY2thYmxl
KHRydWUpOwogCkBAIC00MDYsNiArNDExLDQ5IEBAIHZvaWQgTGF1bmNoZXJXaW5kb3c6OmNyZWF0
ZUNocm9tZSgpCiAgICAgdG9nZ2xlSmF2YXNjcmlwdENhbk9wZW5XaW5kb3dzLT5zZXRDaGVja2Fi
bGUodHJ1ZSk7CiAgICAgdG9nZ2xlSmF2YXNjcmlwdENhbk9wZW5XaW5kb3dzLT5zZXRDaGVja2Vk
KGZhbHNlKTsKIAorICAgIG1fZmluZEJhciA9IG5ldyBRVG9vbEJhcigiRmluZCIsIHRoaXMpOwor
ICAgIGFkZFRvb2xCYXIoUXQ6OkJvdHRvbVRvb2xCYXJBcmVhLCBtX2ZpbmRCYXIpOworCisgICAg
bV9saW5lRWRpdCA9IG5ldyBRTGluZUVkaXQobV9maW5kQmFyKTsKKyAgICBtX2xpbmVFZGl0LT5z
ZXRNYXhpbXVtV2lkdGgoMjAwKTsKKyAgICBRQ2hlY2tCb3gqIGZpbmRDYXNlU2Vuc2l0aXZlID0g
bmV3IFFDaGVja0JveCgiQ2FzZVNlbnNpdGl2ZSIsIG1fZmluZEJhcik7CisgICAgUUNoZWNrQm94
KiBmaW5kV2FycEFyb3VuZCA9IG5ldyBRQ2hlY2tCb3goIldhcnBBcm91bmQiLCBtX2ZpbmRCYXIp
OworICAgIFFDaGVja0JveCogZmluZEhpZ2hMaWdodEFsbCA9IG5ldyBRQ2hlY2tCb3goIkhpZ2hM
aWdodEFsbCIsIG1fZmluZEJhcik7CisgICAgUVRvb2xCdXR0b24qIGZpbmROZXh0ID0gbmV3IFFU
b29sQnV0dG9uKG1fZmluZEJhcik7CisgICAgZmluZE5leHQtPnNldEFycm93VHlwZShRdDo6Umln
aHRBcnJvdyk7CisgICAgUVRvb2xCdXR0b24qIGZpbmRQcmV2aW91cyA9IG5ldyBRVG9vbEJ1dHRv
bihtX2ZpbmRCYXIpOworICAgIGZpbmRQcmV2aW91cy0+c2V0QXJyb3dUeXBlKFF0OjpMZWZ0QXJy
b3cpOworICAgIFFUb29sQnV0dG9uKiBmaW5kQ2xvc2UgPSBuZXcgUVRvb2xCdXR0b24obV9maW5k
QmFyKTsKKyAgICBmaW5kQ2xvc2UtPnNldFRleHQoIlgiKTsKKworICAgIFFTaWduYWxNYXBwZXIq
IGZpbmRTaWduYWxNYXBwZXIgPSBuZXcgUVNpZ25hbE1hcHBlcihtX2ZpbmRCYXIpOworICAgIGZp
bmRTaWduYWxNYXBwZXItPnNldE1hcHBpbmcoZmluZENhc2VTZW5zaXRpdmUsIFFXZWJQYWdlOjpG
aW5kQ2FzZVNlbnNpdGl2ZWx5KTsKKyAgICBmaW5kU2lnbmFsTWFwcGVyLT5zZXRNYXBwaW5nKGZp
bmRXYXJwQXJvdW5kLCBRV2ViUGFnZTo6RmluZFdyYXBzQXJvdW5kRG9jdW1lbnQpOworICAgIGZp
bmRTaWduYWxNYXBwZXItPnNldE1hcHBpbmcoZmluZEhpZ2hMaWdodEFsbCwgUVdlYlBhZ2U6Okhp
Z2hsaWdodEFsbE9jY3VycmVuY2VzKTsKKyAgICBmaW5kU2lnbmFsTWFwcGVyLT5zZXRNYXBwaW5n
KGZpbmRQcmV2aW91cywgUVdlYlBhZ2U6OkZpbmRCYWNrd2FyZCk7CisgICAgZmluZFNpZ25hbE1h
cHBlci0+c2V0TWFwcGluZyhmaW5kTmV4dCwgc19maW5kTm9ybWFsRmxhZyk7CisgICAgZmluZFNp
Z25hbE1hcHBlci0+c2V0TWFwcGluZyhtX2xpbmVFZGl0LCBzX2ZpbmROb3JtYWxGbGFnKTsKKwor
ICAgIGNvbm5lY3QoZmluZENsb3NlLCBTSUdOQUwoY2xpY2tlZCgpKSwgdGhpcywgU0xPVChzaG93
RmluZEJhcigpKSk7CisgICAgY29ubmVjdChtX2xpbmVFZGl0LCBTSUdOQUwodGV4dENoYW5nZWQo
Y29uc3QgUVN0cmluZyAmKSksIGZpbmRTaWduYWxNYXBwZXIsIFNMT1QobWFwKCkpKTsKKyAgICBj
b25uZWN0KGZpbmRDYXNlU2Vuc2l0aXZlLCBTSUdOQUwoc3RhdGVDaGFuZ2VkKGludCkpLCBmaW5k
U2lnbmFsTWFwcGVyLCBTTE9UKG1hcCgpKSk7CisgICAgY29ubmVjdChmaW5kV2FycEFyb3VuZCwg
U0lHTkFMKHN0YXRlQ2hhbmdlZChpbnQpKSwgZmluZFNpZ25hbE1hcHBlciwgU0xPVChtYXAoKSkp
OworICAgIGNvbm5lY3QoZmluZEhpZ2hMaWdodEFsbCwgU0lHTkFMKHN0YXRlQ2hhbmdlZChpbnQp
KSwgZmluZFNpZ25hbE1hcHBlciwgU0xPVChtYXAoKSkpOworICAgIGNvbm5lY3QoZmluZFByZXZp
b3VzLCBTSUdOQUwocHJlc3NlZCgpKSwgZmluZFNpZ25hbE1hcHBlciwgU0xPVChtYXAoKSkpOwor
ICAgIGNvbm5lY3QoZmluZE5leHQsIFNJR05BTChwcmVzc2VkKCkpLCBmaW5kU2lnbmFsTWFwcGVy
LCBTTE9UKG1hcCgpKSk7CisKKyAgICBjb25uZWN0KGZpbmRTaWduYWxNYXBwZXIsIFNJR05BTCht
YXBwZWQoaW50KSksIHRoaXMsIFNMT1QoZmluZChpbnQpKSk7CisKKyAgICBtX2ZpbmRCYXItPmFk
ZFdpZGdldChmaW5kQ2xvc2UpOworICAgIG1fZmluZEJhci0+YWRkV2lkZ2V0KG1fbGluZUVkaXQp
OworICAgIG1fZmluZEJhci0+YWRkV2lkZ2V0KGZpbmRQcmV2aW91cyk7CisgICAgbV9maW5kQmFy
LT5hZGRXaWRnZXQoZmluZE5leHQpOworICAgIG1fZmluZEJhci0+YWRkV2lkZ2V0KGZpbmRDYXNl
U2Vuc2l0aXZlKTsKKyAgICBtX2ZpbmRCYXItPmFkZFdpZGdldChmaW5kV2FycEFyb3VuZCk7Cisg
ICAgbV9maW5kQmFyLT5hZGRXaWRnZXQoZmluZEhpZ2hMaWdodEFsbCk7CisgICAgbV9maW5kQmFy
LT5zZXRNb3ZhYmxlKGZhbHNlKTsKKyAgICBtX2ZpbmRCYXItPnNldFZpc2libGUoZmFsc2UpOwor
CiAjZW5kaWYKIH0KIApAQCAtOTc1LDMgKzEwMjMsNDMgQEAgTGF1bmNoZXJXaW5kb3cqIExhdW5j
aGVyV2luZG93OjpjbG9uZVdpbmRvdygpCiAgICAgcmV0dXJuIG13OwogfQogCit2b2lkIExhdW5j
aGVyV2luZG93OjpzaG93RmluZEJhcigpCit7CisgICAgaWYgKCFtX2ZpbmRCYXItPmlzVmlzaWJs
ZSgpKSB7CisgICAgICAgIG1fZmluZEJhci0+c2V0VmlzaWJsZSh0cnVlKTsKKyAgICAgICAgbV9s
aW5lRWRpdC0+c2V0VGV4dChwYWdlKCktPnNlbGVjdGVkVGV4dCgpKTsKKyAgICAgICAgbV9saW5l
RWRpdC0+c2V0Rm9jdXMoUXQ6OlBvcHVwRm9jdXNSZWFzb24pOworICAgIH0gZWxzZSB7CisgICAg
ICAgIG1fZmluZEJhci0+c2V0VmlzaWJsZShmYWxzZSk7CisgICAgICAgIHBhZ2UoKS0+ZmluZFRl
eHQoIiIsIFFXZWJQYWdlOjpIaWdobGlnaHRBbGxPY2N1cnJlbmNlcyk7CisgICAgfQorfQorCit2
b2lkIExhdW5jaGVyV2luZG93OjpmaW5kKGludCBtb2RlID0gc19maW5kTm9ybWFsRmxhZykKK3sK
KyAgICBwYWdlKCktPmZpbmRUZXh0KCIiLCBRRmxhZyhRV2ViUGFnZTo6SGlnaGxpZ2h0QWxsT2Nj
dXJyZW5jZXMpKTsKKyAgICBRUGFsZXR0ZSBwYWxldHRlOworICAgIGJvb2wgZm91bmQgPSB0cnVl
OworICAgIHBhbGV0dGUuc2V0Q29sb3IobV9saW5lRWRpdC0+YmFja2dyb3VuZFJvbGUoKSwgUXQ6
OndoaXRlKTsKKworICAgIGlmIChtb2RlID09IHNfZmluZE5vcm1hbEZsYWcpCisgICAgICAgIHBh
Z2UoKS0+ZmluZFRleHQobV9saW5lRWRpdC0+dGV4dCgpLCBRRmxhZyhtX2ZpbmRGbGFnICYgflFX
ZWJQYWdlOjpIaWdobGlnaHRBbGxPY2N1cnJlbmNlcykpOworICAgIGVsc2UgaWYgKG1vZGUgPT0g
UVdlYlBhZ2U6OkZpbmRCYWNrd2FyZCkKKyAgICAgICAgcGFnZSgpLT5maW5kVGV4dChtX2xpbmVF
ZGl0LT50ZXh0KCksIFFGbGFnKChtX2ZpbmRGbGFnIHwgUVdlYlBhZ2U6OkZpbmRCYWNrd2FyZCkg
JiB+UVdlYlBhZ2U6OkhpZ2hsaWdodEFsbE9jY3VycmVuY2VzKSk7CisgICAgZWxzZQorICAgICAg
ICBtX2ZpbmRGbGFnID0gbV9maW5kRmxhZyBeIG1vZGU7CisKKyAgICBpZiAoIW1fbGluZUVkaXQt
PnRleHQoKS5pc0VtcHR5KCkpCisgICAgICAgIGZvdW5kID0gcGFnZSgpLT5maW5kVGV4dChtX2xp
bmVFZGl0LT50ZXh0KCksIFFGbGFnKG1fZmluZEZsYWcgfCBRV2ViUGFnZTo6SGlnaGxpZ2h0QWxs
T2NjdXJyZW5jZXMpKTsKKworICAgIGlmICghKG1fZmluZEZsYWcgJiBRV2ViUGFnZTo6SGlnaGxp
Z2h0QWxsT2NjdXJyZW5jZXMpKQorICAgICAgICBwYWdlKCktPmZpbmRUZXh0KCIiLCBRRmxhZyhR
V2ViUGFnZTo6SGlnaGxpZ2h0QWxsT2NjdXJyZW5jZXMpKTsKKworICAgIGlmIChmb3VuZCkKKyAg
ICAgICAgbV9saW5lRWRpdC0+c2V0UGFsZXR0ZShwYWxldHRlKTsKKyAgICBlbHNlIHsKKyAgICAg
ICAgcGFsZXR0ZS5zZXRDb2xvcihtX2xpbmVFZGl0LT5iYWNrZ3JvdW5kUm9sZSgpLCBRQ29sb3Io
MjU1LCAwLCAwLCAxMjcpKTsKKyAgICAgICAgbV9saW5lRWRpdC0+c2V0UGFsZXR0ZShwYWxldHRl
KTsKKyAgICB9Cit9CisKZGlmZiAtLWdpdCBhL1Rvb2xzL1F0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3
aW5kb3cuaCBiL1Rvb2xzL1F0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3aW5kb3cuaAppbmRleCA3MDVh
MWU0Li5mOWNmMDBhIDEwMDY0NAotLS0gYS9Ub29scy9RdFRlc3RCcm93c2VyL2xhdW5jaGVyd2lu
ZG93LmgKKysrIGIvVG9vbHMvUXRUZXN0QnJvd3Nlci9sYXVuY2hlcndpbmRvdy5oCkBAIC0xOTEs
NiArMTkxLDggQEAgcHJvdGVjdGVkIHNsb3RzOgogICAgIHZvaWQgdG9nZ2xlT2ZmbGluZVdlYkFw
cGxpY2F0aW9uQ2FjaGUoYm9vbCB0b2dnbGUpOwogICAgIHZvaWQgc2V0T2ZmbGluZVN0b3JhZ2VE
ZWZhdWx0UXVvdGEoKTsKIAorICAgIHZvaWQgc2hvd0ZpbmRCYXIoKTsKKyAgICB2b2lkIGZpbmQo
aW50IG1vZGUpOwogI2lmIGRlZmluZWQoUVRfQ09ORklHVVJFRF9XSVRIX09QRU5HTCkKICAgICB2
b2lkIHRvZ2dsZVFHTFdpZGdldFZpZXdwb3J0KGJvb2wgZW5hYmxlKTsKICNlbmRpZgpAQCAtMjM5
LDYgKzI0MSwxMSBAQCBwcml2YXRlOgogICAgIGJvb2wgbV90b3VjaE1vY2tpbmc7CiAKICAgICBR
U3RyaW5nIG1faW5wdXRVcmw7CisKKyAgICBRVG9vbEJhciogbV9maW5kQmFyOworICAgIFFMaW5l
RWRpdCogbV9saW5lRWRpdDsKKyAgICBpbnQgbV9maW5kRmxhZzsKKyAgICBzdGF0aWMgY29uc3Qg
aW50IHNfZmluZE5vcm1hbEZsYWcgPSAwOwogfTsKIAogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95407</attachid>
            <date>2011-05-31 02:07:02 -0700</date>
            <delta_ts>2011-05-31 03:42:12 -0700</delta_ts>
            <desc>proposed fix</desc>
            <filename>31.patch</filename>
            <type>text/plain</type>
            <size>6497</size>
            <attacher name="Kristóf Kosztyó">kkristof</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA5OGU2
NzczLi40NmJiNmMzIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDUtMzEgIEtyaXN0w7NmIEtvc3p0ecOzICA8
S29zenR5by5LcmlzdG9mQHN0dWQudS1zemVnZWQuaHU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBJbXBsZW1lbnQgZmluZCBmZWF0dXJlIGZv
ciBRdFRlc3RCcm93c2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02MTQyNQorCisgICAgICAgICogUXRUZXN0QnJvd3Nlci9sYXVuY2hlcndpbmRvdy5j
cHA6CisgICAgICAgIChMYXVuY2hlcldpbmRvdzo6TGF1bmNoZXJXaW5kb3cpOgorICAgICAgICAo
TGF1bmNoZXJXaW5kb3c6OmNyZWF0ZUNocm9tZSk6CisgICAgICAgIChMYXVuY2hlcldpbmRvdzo6
c2hvd0ZpbmRCYXIpOgorICAgICAgICAoTGF1bmNoZXJXaW5kb3c6OmZpbmQpOgorICAgICAgICAq
IFF0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3aW5kb3cuaDoKKwogMjAxMS0wNS0yOSAgWXV0YSBLaXRh
bXVyYSAgPHl1dGFrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW50IFRh
bXVyYS4KZGlmZiAtLWdpdCBhL1Rvb2xzL1F0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3aW5kb3cuY3Bw
IGIvVG9vbHMvUXRUZXN0QnJvd3Nlci9sYXVuY2hlcndpbmRvdy5jcHAKaW5kZXggYmU1NDlmZS4u
ZjkzNzAyYiAxMDA2NDQKLS0tIGEvVG9vbHMvUXRUZXN0QnJvd3Nlci9sYXVuY2hlcndpbmRvdy5j
cHAKKysrIGIvVG9vbHMvUXRUZXN0QnJvd3Nlci9sYXVuY2hlcndpbmRvdy5jcHAKQEAgLTEsNSAr
MSw3IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9v
ciBpdHMgc3Vic2lkaWFyeSgtaWVzKQorICogQ29weXJpZ2h0IChDKSAyMDExIFVuaXZlcnNpdHkg
b2YgU3plZ2VkCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgS3Jpc3RvZiBLb3N6dHlvIDxLb3N6dHlv
LktyaXN0b2ZAc3R1ZC51LXN6ZWdlZC5odT4KICAqIENvcHlyaWdodCAoQykgMjAwOSBHaXJpc2gg
UmFtYWtyaXNobmFuIDxnaXJpc2hAZm9yd2FyZGJpYXMuaW4+CiAgKiBDb3B5cmlnaHQgKEMpIDIw
MDYgR2VvcmdlIFN0YWlrb3MgPHN0YWlrb3NAa2RlLm9yZz4KICAqIENvcHlyaWdodCAoQykgMjAw
NiBEaXJrIE11ZWxsZXIgPG11ZWxsZXJAa2RlLm9yZz4KQEAgLTQ0LDYgKzQ2LDcgQEAgTGF1bmNo
ZXJXaW5kb3c6OkxhdW5jaGVyV2luZG93KFdpbmRvd09wdGlvbnMqIGRhdGEsIFFHcmFwaGljc1Nj
ZW5lKiBzaGFyZWRTY2VuZSkKICAgICAsIG1faW5zcGVjdG9yKDApCiAgICAgLCBtX2Zvcm1hdE1l
bnVBY3Rpb24oMCkKICAgICAsIG1fem9vbUFuaW1hdGlvbigwKQorICAgICwgbV9maW5kRmxhZygw
KQogewogICAgIGlmIChkYXRhKQogICAgICAgICBtX3dpbmRvd09wdGlvbnMgPSAqZGF0YTsKQEAg
LTE5NSw2ICsxOTgsOCBAQCB2b2lkIExhdW5jaGVyV2luZG93OjpjcmVhdGVDaHJvbWUoKQogICAg
IGVkaXRNZW51LT5hZGRBY3Rpb24ocGFnZSgpLT5hY3Rpb24oUVdlYlBhZ2U6OkNvcHkpKTsKICAg
ICBlZGl0TWVudS0+YWRkQWN0aW9uKHBhZ2UoKS0+YWN0aW9uKFFXZWJQYWdlOjpQYXN0ZSkpOwog
ICAgIGVkaXRNZW51LT5hZGRTZXBhcmF0b3IoKTsKKyAgICBlZGl0TWVudS0+YWRkQWN0aW9uKCIm
RmluZCIsIHRoaXMsIFNMT1Qoc2hvd0ZpbmRCYXIoKSksIFFLZXlTZXF1ZW5jZShRdDo6Q1RSTCB8
IFF0OjpLZXlfRikpOworICAgIGVkaXRNZW51LT5hZGRTZXBhcmF0b3IoKTsKICAgICBRQWN0aW9u
KiBzZXRFZGl0YWJsZSA9IGVkaXRNZW51LT5hZGRBY3Rpb24oIlNldCBFZGl0YWJsZSIsIHRoaXMs
IFNMT1Qoc2V0RWRpdGFibGUoYm9vbCkpKTsKICAgICBzZXRFZGl0YWJsZS0+c2V0Q2hlY2thYmxl
KHRydWUpOwogCkBAIC00MDYsNiArNDExLDQ4IEBAIHZvaWQgTGF1bmNoZXJXaW5kb3c6OmNyZWF0
ZUNocm9tZSgpCiAgICAgdG9nZ2xlSmF2YXNjcmlwdENhbk9wZW5XaW5kb3dzLT5zZXRDaGVja2Fi
bGUodHJ1ZSk7CiAgICAgdG9nZ2xlSmF2YXNjcmlwdENhbk9wZW5XaW5kb3dzLT5zZXRDaGVja2Vk
KGZhbHNlKTsKIAorICAgIG1fZmluZEJhciA9IG5ldyBRVG9vbEJhcigiRmluZCIsIHRoaXMpOwor
ICAgIGFkZFRvb2xCYXIoUXQ6OkJvdHRvbVRvb2xCYXJBcmVhLCBtX2ZpbmRCYXIpOworCisgICAg
UVRvb2xCdXR0b24qIGZpbmRDbG9zZSA9IG5ldyBRVG9vbEJ1dHRvbihtX2ZpbmRCYXIpOworICAg
IGZpbmRDbG9zZS0+c2V0VGV4dCgiWCIpOworICAgIG1fbGluZUVkaXQgPSBuZXcgUUxpbmVFZGl0
KG1fZmluZEJhcik7CisgICAgbV9saW5lRWRpdC0+c2V0TWF4aW11bVdpZHRoKDIwMCk7CisgICAg
UVRvb2xCdXR0b24qIGZpbmRQcmV2aW91cyA9IG5ldyBRVG9vbEJ1dHRvbihtX2ZpbmRCYXIpOwor
ICAgIGZpbmRQcmV2aW91cy0+c2V0QXJyb3dUeXBlKFF0OjpMZWZ0QXJyb3cpOworICAgIFFUb29s
QnV0dG9uKiBmaW5kTmV4dCA9IG5ldyBRVG9vbEJ1dHRvbihtX2ZpbmRCYXIpOworICAgIGZpbmRO
ZXh0LT5zZXRBcnJvd1R5cGUoUXQ6OlJpZ2h0QXJyb3cpOworICAgIFFDaGVja0JveCogZmluZENh
c2VTZW5zaXRpdmUgPSBuZXcgUUNoZWNrQm94KCJDYXNlIFNlbnNpdGl2ZSIsIG1fZmluZEJhcik7
CisgICAgUUNoZWNrQm94KiBmaW5kV3JhcEFyb3VuZCA9IG5ldyBRQ2hlY2tCb3goIldyYXAgQXJv
dW5kIiwgbV9maW5kQmFyKTsKKyAgICBRQ2hlY2tCb3gqIGZpbmRIaWdoTGlnaHRBbGwgPSBuZXcg
UUNoZWNrQm94KCJIaWdoTGlnaHQgQWxsIiwgbV9maW5kQmFyKTsKKworICAgIFFTaWduYWxNYXBw
ZXIqIGZpbmRTaWduYWxNYXBwZXIgPSBuZXcgUVNpZ25hbE1hcHBlcihtX2ZpbmRCYXIpOworICAg
IGZpbmRTaWduYWxNYXBwZXItPnNldE1hcHBpbmcobV9saW5lRWRpdCwgc19maW5kTm9ybWFsRmxh
Zyk7CisgICAgZmluZFNpZ25hbE1hcHBlci0+c2V0TWFwcGluZyhmaW5kUHJldmlvdXMsIFFXZWJQ
YWdlOjpGaW5kQmFja3dhcmQpOworICAgIGZpbmRTaWduYWxNYXBwZXItPnNldE1hcHBpbmcoZmlu
ZE5leHQsIHNfZmluZE5vcm1hbEZsYWcpOworICAgIGZpbmRTaWduYWxNYXBwZXItPnNldE1hcHBp
bmcoZmluZENhc2VTZW5zaXRpdmUsIFFXZWJQYWdlOjpGaW5kQ2FzZVNlbnNpdGl2ZWx5KTsKKyAg
ICBmaW5kU2lnbmFsTWFwcGVyLT5zZXRNYXBwaW5nKGZpbmRXcmFwQXJvdW5kLCBRV2ViUGFnZTo6
RmluZFdyYXBzQXJvdW5kRG9jdW1lbnQpOworICAgIGZpbmRTaWduYWxNYXBwZXItPnNldE1hcHBp
bmcoZmluZEhpZ2hMaWdodEFsbCwgUVdlYlBhZ2U6OkhpZ2hsaWdodEFsbE9jY3VycmVuY2VzKTsK
KworICAgIGNvbm5lY3QoZmluZENsb3NlLCBTSUdOQUwoY2xpY2tlZCgpKSwgdGhpcywgU0xPVChz
aG93RmluZEJhcigpKSk7CisgICAgY29ubmVjdChtX2xpbmVFZGl0LCBTSUdOQUwodGV4dENoYW5n
ZWQoY29uc3QgUVN0cmluZyAmKSksIGZpbmRTaWduYWxNYXBwZXIsIFNMT1QobWFwKCkpKTsKKyAg
ICBjb25uZWN0KGZpbmRQcmV2aW91cywgU0lHTkFMKHByZXNzZWQoKSksIGZpbmRTaWduYWxNYXBw
ZXIsIFNMT1QobWFwKCkpKTsKKyAgICBjb25uZWN0KGZpbmROZXh0LCBTSUdOQUwocHJlc3NlZCgp
KSwgZmluZFNpZ25hbE1hcHBlciwgU0xPVChtYXAoKSkpOworICAgIGNvbm5lY3QoZmluZENhc2VT
ZW5zaXRpdmUsIFNJR05BTChzdGF0ZUNoYW5nZWQoaW50KSksIGZpbmRTaWduYWxNYXBwZXIsIFNM
T1QobWFwKCkpKTsKKyAgICBjb25uZWN0KGZpbmRXcmFwQXJvdW5kLCBTSUdOQUwoc3RhdGVDaGFu
Z2VkKGludCkpLCBmaW5kU2lnbmFsTWFwcGVyLCBTTE9UKG1hcCgpKSk7CisgICAgY29ubmVjdChm
aW5kSGlnaExpZ2h0QWxsLCBTSUdOQUwoc3RhdGVDaGFuZ2VkKGludCkpLCBmaW5kU2lnbmFsTWFw
cGVyLCBTTE9UKG1hcCgpKSk7CisKKyAgICBjb25uZWN0KGZpbmRTaWduYWxNYXBwZXIsIFNJR05B
TChtYXBwZWQoaW50KSksIHRoaXMsIFNMT1QoZmluZChpbnQpKSk7CisKKyAgICBtX2ZpbmRCYXIt
PmFkZFdpZGdldChmaW5kQ2xvc2UpOworICAgIG1fZmluZEJhci0+YWRkV2lkZ2V0KG1fbGluZUVk
aXQpOworICAgIG1fZmluZEJhci0+YWRkV2lkZ2V0KGZpbmRQcmV2aW91cyk7CisgICAgbV9maW5k
QmFyLT5hZGRXaWRnZXQoZmluZE5leHQpOworICAgIG1fZmluZEJhci0+YWRkV2lkZ2V0KGZpbmRD
YXNlU2Vuc2l0aXZlKTsKKyAgICBtX2ZpbmRCYXItPmFkZFdpZGdldChmaW5kV3JhcEFyb3VuZCk7
CisgICAgbV9maW5kQmFyLT5hZGRXaWRnZXQoZmluZEhpZ2hMaWdodEFsbCk7CisgICAgbV9maW5k
QmFyLT5zZXRNb3ZhYmxlKGZhbHNlKTsKKyAgICBtX2ZpbmRCYXItPnNldFZpc2libGUoZmFsc2Up
OwogI2VuZGlmCiB9CiAKQEAgLTk3NSwzICsxMDIyLDM4IEBAIExhdW5jaGVyV2luZG93KiBMYXVu
Y2hlcldpbmRvdzo6Y2xvbmVXaW5kb3coKQogICAgIHJldHVybiBtdzsKIH0KIAordm9pZCBMYXVu
Y2hlcldpbmRvdzo6c2hvd0ZpbmRCYXIoKQoreworICAgIGlmICghbV9maW5kQmFyLT5pc1Zpc2li
bGUoKSkgeworICAgICAgICBtX2ZpbmRCYXItPnNldFZpc2libGUodHJ1ZSk7CisgICAgICAgIG1f
bGluZUVkaXQtPnNldFRleHQocGFnZSgpLT5zZWxlY3RlZFRleHQoKSk7CisgICAgICAgIG1fbGlu
ZUVkaXQtPnNldEZvY3VzKFF0OjpQb3B1cEZvY3VzUmVhc29uKTsKKyAgICB9IGVsc2UgeworICAg
ICAgICBtX2ZpbmRCYXItPnNldFZpc2libGUoZmFsc2UpOworICAgICAgICBwYWdlKCktPmZpbmRU
ZXh0KCIiLCBRV2ViUGFnZTo6SGlnaGxpZ2h0QWxsT2NjdXJyZW5jZXMpOworICAgIH0KK30KKwor
dm9pZCBMYXVuY2hlcldpbmRvdzo6ZmluZChpbnQgbW9kZSA9IHNfZmluZE5vcm1hbEZsYWcpCit7
CisgICAgUVBhbGV0dGUgcGFsZXR0ZTsKKyAgICBib29sIGZvdW5kOworICAgIHBhbGV0dGUuc2V0
Q29sb3IobV9saW5lRWRpdC0+YmFja2dyb3VuZFJvbGUoKSwgUXQ6OndoaXRlKTsKKyAgICBwYWdl
KCktPmZpbmRUZXh0KCIiLCBRRmxhZyhRV2ViUGFnZTo6SGlnaGxpZ2h0QWxsT2NjdXJyZW5jZXMp
KTsKKworICAgIG1fZmluZEZsYWcgPSBtX2ZpbmRGbGFnIF4gbW9kZTsKKyAgICBpZiAobW9kZSA9
PSBzX2ZpbmROb3JtYWxGbGFnIHx8IG1vZGUgPT0gUVdlYlBhZ2U6OkZpbmRCYWNrd2FyZCkgewor
ICAgICAgICBmb3VuZCA9IHBhZ2UoKS0+ZmluZFRleHQobV9saW5lRWRpdC0+dGV4dCgpLCBRRmxh
ZyhtX2ZpbmRGbGFnICYgflFXZWJQYWdlOjpIaWdobGlnaHRBbGxPY2N1cnJlbmNlcykpOworICAg
ICAgICBtX2ZpbmRGbGFnID0gbV9maW5kRmxhZyBeIG1vZGU7CisKKyAgICAgICAgaWYgKGZvdW5k
IHx8IG1fbGluZUVkaXQtPnRleHQoKS5pc0VtcHR5KCkpCisgICAgICAgICAgICBtX2xpbmVFZGl0
LT5zZXRQYWxldHRlKHBhbGV0dGUpOworICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIHBhbGV0
dGUuc2V0Q29sb3IobV9saW5lRWRpdC0+YmFja2dyb3VuZFJvbGUoKSwgUUNvbG9yKDI1NSwgMCwg
MCwgMTI3KSk7CisgICAgICAgICAgICBtX2xpbmVFZGl0LT5zZXRQYWxldHRlKHBhbGV0dGUpOwor
ICAgICAgICB9CisgICAgfQorCisgICAgaWYgKG1fZmluZEZsYWcgJiBRV2ViUGFnZTo6SGlnaGxp
Z2h0QWxsT2NjdXJyZW5jZXMpCisgICAgICAgIHBhZ2UoKS0+ZmluZFRleHQobV9saW5lRWRpdC0+
dGV4dCgpLCBRRmxhZyhtX2ZpbmRGbGFnKSk7Cit9CmRpZmYgLS1naXQgYS9Ub29scy9RdFRlc3RC
cm93c2VyL2xhdW5jaGVyd2luZG93LmggYi9Ub29scy9RdFRlc3RCcm93c2VyL2xhdW5jaGVyd2lu
ZG93LmgKaW5kZXggNzA1YTFlNC4uZjljZjAwYSAxMDA2NDQKLS0tIGEvVG9vbHMvUXRUZXN0QnJv
d3Nlci9sYXVuY2hlcndpbmRvdy5oCisrKyBiL1Rvb2xzL1F0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3
aW5kb3cuaApAQCAtMTkxLDYgKzE5MSw4IEBAIHByb3RlY3RlZCBzbG90czoKICAgICB2b2lkIHRv
Z2dsZU9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlKGJvb2wgdG9nZ2xlKTsKICAgICB2b2lkIHNl
dE9mZmxpbmVTdG9yYWdlRGVmYXVsdFF1b3RhKCk7CiAKKyAgICB2b2lkIHNob3dGaW5kQmFyKCk7
CisgICAgdm9pZCBmaW5kKGludCBtb2RlKTsKICNpZiBkZWZpbmVkKFFUX0NPTkZJR1VSRURfV0lU
SF9PUEVOR0wpCiAgICAgdm9pZCB0b2dnbGVRR0xXaWRnZXRWaWV3cG9ydChib29sIGVuYWJsZSk7
CiAjZW5kaWYKQEAgLTIzOSw2ICsyNDEsMTEgQEAgcHJpdmF0ZToKICAgICBib29sIG1fdG91Y2hN
b2NraW5nOwogCiAgICAgUVN0cmluZyBtX2lucHV0VXJsOworCisgICAgUVRvb2xCYXIqIG1fZmlu
ZEJhcjsKKyAgICBRTGluZUVkaXQqIG1fbGluZUVkaXQ7CisgICAgaW50IG1fZmluZEZsYWc7Cisg
ICAgc3RhdGljIGNvbnN0IGludCBzX2ZpbmROb3JtYWxGbGFnID0gMDsKIH07CiAKICNlbmRpZgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>