<?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>61025</bug_id>
          
          <creation_ts>2011-05-18 00:23:00 -0700</creation_ts>
          <short_desc>Speed up SVGSMILElement::findInstanceTime</short_desc>
          <delta_ts>2011-08-16 12:38:36 -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>SVG</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>
          <dependson>63714</dependson>
    
    <dependson>63719</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Oliver Varga">voliver</reporter>
          <assigned_to name="Renata Hodovan">rhodovan.u-szeged</assigned_to>
          <cc>abecsi</cc>
    
    <cc>aroben</cc>
    
    <cc>dglazkov</cc>
    
    <cc>gustavo.noronha</cc>
    
    <cc>gustavo</cc>
    
    <cc>krit</cc>
    
    <cc>rhodovan.u-szeged</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>zherczeg</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>405550</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Varga">voliver</who>
    <bug_when>2011-05-18 00:23:00 -0700</bug_when>
    <thetext>In SVGSMILElement::findInstanceTime function:
FIXME: This searches from the beginning which is inefficient. The list is usually not long
(one entry in common cases) but you can construct a case where it does grow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>421890</commentid>
    <comment_count>1</comment_count>
      <attachid>97430</attachid>
    <who name="Oliver Varga">voliver</who>
    <bug_when>2011-06-16 03:18:18 -0700</bug_when>
    <thetext>Created attachment 97430
Speed up SVGSMILElement::findInstanceTime

Speed up SVGSMILElement::findInstanceTime because the previous searches from the beginning was not efficient.
Replace the linear search to binary search on ordered list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>421896</commentid>
    <comment_count>2</comment_count>
      <attachid>97430</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-06-16 03:48:59 -0700</bug_when>
    <thetext>Comment on attachment 97430
Speed up SVGSMILElement::findInstanceTime

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

Nice that you&apos;re tackling this, some comments that lead to r-:

&gt; Source/WebCore/ChangeLog:10
&gt; +        Speed up SVGSMILElement::findInstanceTime because
&gt; +        the previous searches from the beginning was not efficient.
&gt; +        Replace the linear search to binary search on ordered list.
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=61025
&gt; +
&gt; +        No new tests. (OOPS!)

This has to be changed like this:
Replace the linear...
http://

Speed up ....

No new tests this is only a  performance tweak.

&gt; Source/WebCore/svg/animation/SVGSMILElement.cpp:628
&gt; +    if (right &lt; 0)
&gt; +        return (beginOrEnd == Begin) ? SMILTime::unresolved() : SMILTime::indefinite();

I&apos;d move that upwards:
int sizeOfList = list.size();
if (!sizeOfList)
    return beginOrEnd == Begin ? SMILTime::unresolved() : SMILTime::indefinite();
..

No braces needed around the condition of the ternary operator.
Also common conclusion seems to omit the const from sizeOfList, we don&apos;t do that in other places, though I see the benefit.

&gt; Source/WebCore/svg/animation/SVGSMILElement.cpp:632
&gt; +        ASSERT(0 &lt;= center &amp;&amp; center &lt; sizeOfList);

Don&apos;t use &amp;&amp; conditions in assertions, it makes it hard to figure out what exactly happened without further debugging.
ASSERT(center &gt;= 0);
ASSERT(center &lt; sizeOfList);

&gt; Source/WebCore/svg/animation/SVGSMILElement.cpp:641
&gt; +        if (time &gt; minimumTime) {
&gt; +            if (center &gt; 0) {
&gt; +                right = center - 1;
&gt; +                center = (left + right) / 2;

Hm, I find it very unfortunate that you have to provide your own binary search algorithm.
It turns out there&apos;s a binarySearch template in wtf/StdLibExtras.h that could be used for this purpose, when tweaking it a little:


// Binary search algorithm, calls extractKey on pre-sorted elements in array,
// compares result with key (KeyTypes should be comparable with &apos;--&apos;, &apos;&lt;&apos;, &apos;&gt;&apos;).
// Optimized for cases where the array contains the key, checked by assertions.
template&lt;typename ArrayType, typename KeyType, KeyType(*extractKey)(ArrayType*)&gt;
inline ArrayType* binarySearch(ArrayType* array, size_t size, KeyType key)

The problem here is that this algorithm assumes that the key is always present in the array. That could be changed.
If that&apos;s done, we could simple use:

int sizeOfList = list.size();
if (!sizeOfList)
    return beginOrEnd == Begin ? SMILTime::unresolved() : SMILTime::indefinite();
SMILTime* result = binarySearch&lt;SMILTime, SMILTime, extractTimeFromVector&gt;(list.begin(), sizeOfList, minimumTime);
...

What do you think? It might be worth to try to re-use an existing binary search algorithm, no?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>427869</commentid>
    <comment_count>3</comment_count>
      <attachid>98707</attachid>
    <who name="Oliver Varga">voliver</who>
    <bug_when>2011-06-27 05:37:35 -0700</bug_when>
    <thetext>Created attachment 98707
Speed up SVGSMILElement::findInstanceTime</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>427880</commentid>
    <comment_count>4</comment_count>
      <attachid>98707</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-27 06:10:25 -0700</bug_when>
    <thetext>Comment on attachment 98707
Speed up SVGSMILElement::findInstanceTime

Attachment 98707 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/8946304</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>427906</commentid>
    <comment_count>5</comment_count>
      <attachid>98707</attachid>
    <who name="Collabora GTK+ EWS bot">gustavo.noronha</who>
    <bug_when>2011-06-27 06:59:19 -0700</bug_when>
    <thetext>Comment on attachment 98707
Speed up SVGSMILElement::findInstanceTime

Attachment 98707 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/8944342</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>427956</commentid>
    <comment_count>6</comment_count>
      <attachid>98707</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-06-27 08:33:54 -0700</bug_when>
    <thetext>Comment on attachment 98707
Speed up SVGSMILElement::findInstanceTime

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

Almost there, still some tweaks to do, but much better than the last one!

&gt; Source/JavaScriptCore/wtf/StdLibExtras.h:128
&gt;  // Optimized for cases where the array contains the key, checked by assertions.

This comment is not true anymore.

&gt; Source/JavaScriptCore/wtf/StdLibExtras.h:130
&gt; +inline ArrayType* binarySearch(ArrayType* array, size_t size, KeyType key, bool isElementContains)

Please add sth like:
enum BinarySearchMode {
    KeyMustBePresentInArray,
    KeyMustNotBePresentInArray
};
and switch from bool isElementContains, to &quot;BinarySearchMode mode = KeyMustBePresentInArray&quot;.
This way you don&apos;t need to touch any other place that used binarySearch before, and it&apos;s cleaner than a boolean param.

&gt; Source/JavaScriptCore/wtf/StdLibExtras.h:133
&gt;  {
&gt;      // The array must contain at least one element (pre-condition, array does conatin key).
&gt;      // If the array only contains one element, no need to do the comparison.

This can be rephrased as well, and you can fix the existing conatin typo.

&gt; Source/JavaScriptCore/wtf/StdLibExtras.h:152
&gt;          // &apos;size&apos; should never reach zero.

Comment is also not true anymore for isElementContains=false.

&gt; Source/JavaScriptCore/wtf/StdLibExtras.h:157
&gt;      // If we reach this point we&apos;ve chopped down to one element, no need to check it matches

Ditto.

&gt; Source/JavaScriptCore/wtf/StdLibExtras.h:162
&gt; +    if (isElementContains)
&gt; +        ASSERT(size == 1);
&gt; +
&gt; +    if (isElementContains)
&gt; +        ASSERT(key == extractKey(&amp;array[0]));

You can combine these if branches into one.

&gt; Source/WebCore/ChangeLog:11
&gt; +        No new tests this is only a  performance tweak.

one space too much.

&gt; Source/WebCore/svg/animation/SVGSMILElement.cpp:620
&gt; +{

Style, must be &quot;* position&quot;.

&gt; Source/WebCore/svg/animation/SVGSMILElement.cpp:633
&gt; +    int indexOfResult = (((unsigned)result) - ((unsigned)list.begin())) / sizeof(SMILTime);

C-style casts shouldn&apos;t be used. Why do you need these casts? The type is also wrong, if you cast then to ptrdiff_t, but I think it&apos;s unncessary.

&gt; Source/WebCore/svg/animation/SVGSMILElement.cpp:636
&gt; +        indexOfResult++;

Use postfix ++indexResult.

&gt; Source/WebCore/svg/animation/SVGSMILElement.cpp:638
&gt; +    if (list[indexOfResult].isIndefinite() &amp;&amp; beginOrEnd == Begin)

You should add an assert before this line: ASSERT(indexOfResult &lt; sizeOfList).

&gt; Source/WebCore/svg/animation/SVGSMILElement.cpp:639
&gt; +        // &quot;The special value &quot;indefinite&quot; does not yield an instance time in the begin list.&quot;

You can move the comment before the if condition, as its our common style.

&gt; Source/WebCore/svg/animation/SVGSMILElement.cpp:652
&gt; +        indexOfResult++;

Use postfix ++indexResult.

&gt; Source/WebCore/svg/animation/SVGSMILElement.cpp:659
&gt; +        if (indexOfResult + 1 &lt; sizeOfList - 1) {
&gt; +            return list[indexOfResult + 1];
&gt;          }

Braces are not needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>428756</commentid>
    <comment_count>7</comment_count>
      <attachid>98887</attachid>
    <who name="Oliver Varga">voliver</who>
    <bug_when>2011-06-28 02:30:58 -0700</bug_when>
    <thetext>Created attachment 98887
Speed up SVGSMILElement::findInstanceTime</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>428795</commentid>
    <comment_count>8</comment_count>
      <attachid>98887</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-06-28 04:24:41 -0700</bug_when>
    <thetext>Comment on attachment 98887
Speed up SVGSMILElement::findInstanceTime

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

Almost r+, but the ChangeLog is wrong :(

&gt; Source/JavaScriptCore/ChangeLog:8
&gt; +        Added a new parameter to StdlibExtras.h::binarySerarch function,
&gt; +        for the case when not sure that the array contains the key value.
&gt; +        It is needed for an svg function.
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=61025

ChangeLog still is wrong, please fix it first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>428802</commentid>
    <comment_count>9</comment_count>
      <attachid>98900</attachid>
    <who name="Oliver Varga">voliver</who>
    <bug_when>2011-06-28 04:45:37 -0700</bug_when>
    <thetext>Created attachment 98900
Speed up SVGSMILElement::findInstanceTime</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>428810</commentid>
    <comment_count>10</comment_count>
      <attachid>98900</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-06-28 05:21:12 -0700</bug_when>
    <thetext>Comment on attachment 98900
Speed up SVGSMILElement::findInstanceTime

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

&gt; Source/JavaScriptCore/ChangeLog:8
&gt; +        Add a new parameter to StdlibExtras.h::binarySerarch function
&gt; +        to also handle cases when the array does not contain the key value.
&gt; +        This is needed for an svg function.
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=61025

This is the part which is wrong. The WebKit ChangeLog style is:

Reviewed by NOBODY (OOPS!).

Speed up SVGSMILElement::findInstanceTime
https://bugs.webkit.org/show_bug.cgi?id=61025

Your text goes here.

&gt; Source/WebCore/ChangeLog:11
&gt; +
&gt; +        Replace the linear search to binary search on ordered list.
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=61025
&gt; +
&gt; +        Speed up SVGSMILElement::findInstanceTime because
&gt; +        the previous searches from the beginning was not efficient.
&gt; +
&gt; +        No new tests this is only a performance tweak.

This has the correct ChangeLog style bug the wrong bug title
the title is &quot;Speed up SVGSMILElement::findInstanceTime&quot; not &quot;Replace the linear search to binary search..&quot; -- that should go into the description text.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>428812</commentid>
    <comment_count>11</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-06-28 05:23:42 -0700</bug_when>
    <thetext>Please use:

Tools/Scripts/prepare-ChangeLog --bug &lt;bug number&gt; --email=&lt;your email address&gt;

This will create the ChangeLog for you. You just have to fill the description.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>430195</commentid>
    <comment_count>12</comment_count>
      <attachid>99241</attachid>
    <who name="Oliver Varga">voliver</who>
    <bug_when>2011-06-29 23:18:48 -0700</bug_when>
    <thetext>Created attachment 99241
Speed up SVGSMILElement::findInstanceTime</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>430303</commentid>
    <comment_count>13</comment_count>
      <attachid>99241</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-06-30 03:15:30 -0700</bug_when>
    <thetext>Comment on attachment 99241
Speed up SVGSMILElement::findInstanceTime

Good job, r=me!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>430311</commentid>
    <comment_count>14</comment_count>
      <attachid>99241</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-30 03:57:01 -0700</bug_when>
    <thetext>Comment on attachment 99241
Speed up SVGSMILElement::findInstanceTime

Clearing flags on attachment: 99241

Committed r90102: &lt;http://trac.webkit.org/changeset/90102&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>430312</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-30 03:57:07 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>430390</commentid>
    <comment_count>16</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-06-30 07:09:09 -0700</bug_when>
    <thetext>This caused lots of assertion failures, so I rolled it out. (See bug 63714 and duplicates.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>435527</commentid>
    <comment_count>17</comment_count>
      <attachid>100452</attachid>
    <who name="Renata Hodovan">rhodovan.u-szeged</who>
    <bug_when>2011-07-12 02:13:05 -0700</bug_when>
    <thetext>Created attachment 100452
Fix for the out of index error

while (list[indexOfResult] == list[indexOfResult + 1] &amp;&amp; indexOfResult &lt; sizeOfList - 1)
This loop supposes that our list has at least two elements, so we have to check it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>435537</commentid>
    <comment_count>18</comment_count>
      <attachid>100452</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-07-12 02:35:35 -0700</bug_when>
    <thetext>Comment on attachment 100452
Fix for the out of index error

Looks good, let&apos;s retry.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>435551</commentid>
    <comment_count>19</comment_count>
    <who name="Renata Hodovan">rhodovan.u-szeged</who>
    <bug_when>2011-07-12 03:14:51 -0700</bug_when>
    <thetext>Committed r90811: &lt;http://trac.webkit.org/changeset/90811&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>435596</commentid>
    <comment_count>20</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-07-12 05:39:05 -0700</bug_when>
    <thetext>This is still causing assertion failures:

http://build.webkit.org/results/SnowLeopard%20Intel%20Leaks/r90811%20(18017)/results.html
http://build.webkit.org/results/Windows%20XP%20Debug%20(Tests)/r90811%20(30579)/results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>435597</commentid>
    <comment_count>21</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-07-12 05:40:10 -0700</bug_when>
    <thetext>Reverted r90811 for reason:

Several svg tests failing assertions beneath SVGSMILElement::findInstanceTime

Committed r90812: &lt;http://trac.webkit.org/changeset/90812&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>435663</commentid>
    <comment_count>22</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-07-12 08:32:33 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; Reverted r90811 for reason:
&gt; 
&gt; Several svg tests failing assertions beneath SVGSMILElement::findInstanceTime
&gt; 
&gt; Committed r90812: &lt;http://trac.webkit.org/changeset/90812&gt;

Does it just affect Mac or why isn&apos;t it recognized before uploading the patch to the bug report?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>435669</commentid>
    <comment_count>23</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-07-12 08:43:13 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt; Does it just affect Mac

No. Note that I linked to &lt;http://build.webkit.org/results/Windows%20XP%20Debug%20(Tests)/r90811%20(30579)/results.html&gt; as well, which is from the Windows XP Debug (Tests) bot (as the URL says).

&gt; or why isn&apos;t it recognized before uploading the patch to the bug report?

The Mac and Windows EWS bots don&apos;t run tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>435673</commentid>
    <comment_count>24</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-07-12 08:47:26 -0700</bug_when>
    <thetext>(In reply to comment #23)
&gt; (In reply to comment #22)
&gt; &gt; Does it just affect Mac
&gt; 
&gt; No. Note that I linked to &lt;http://build.webkit.org/results/Windows%20XP%20Debug%20(Tests)/r90811%20(30579)/results.html&gt; as well, which is from the Windows XP Debug (Tests) bot (as the URL says).
&gt; 
&gt; &gt; or why isn&apos;t it recognized before uploading the patch to the bug report?
&gt; 
&gt; The Mac and Windows EWS bots don&apos;t run tests.

Ok, but the normal process should be creating a debug build and test changes locally. Even more when the patch got rolled out before. Thats why I wondered if it was just recognizable on Mac. But when you say that it happens on Win, it should happen on Qt as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>437016</commentid>
    <comment_count>25</comment_count>
      <attachid>100792</attachid>
    <who name="Renata Hodovan">rhodovan.u-szeged</who>
    <bug_when>2011-07-14 02:37:55 -0700</bug_when>
    <thetext>Created attachment 100792
Fix for the out of index error

The reason of the previous assertions is the converse order of the conditions.

if (list[indexOfResult] &lt; minimumTime &amp;&amp; sizeOfList - 1 &gt; indexOfResult)

Here the first part was evaluated first even if the second part wasn&apos;t true (which is responsible for the right indexing). So what we should simple do is just change them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448614</commentid>
    <comment_count>26</comment_count>
    <who name="Renata Hodovan">rhodovan.u-szeged</who>
    <bug_when>2011-08-09 09:05:46 -0700</bug_when>
    <thetext>Any comment would be welcomed. :) The red style bot isn&apos;t related to this patch. I guess was an internal error of ews, but I can resend the patch if it&apos;s needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449104</commentid>
    <comment_count>27</comment_count>
    <who name="Oliver Varga">voliver</who>
    <bug_when>2011-08-10 05:42:26 -0700</bug_when>
    <thetext>The modified patch was tested on ubuntu-lucid-x86 environment, and it did not cause any regression.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449358</commentid>
    <comment_count>28</comment_count>
    <who name="Oliver Varga">voliver</who>
    <bug_when>2011-08-10 13:28:34 -0700</bug_when>
    <thetext>...on chromium platform.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450362</commentid>
    <comment_count>29</comment_count>
      <attachid>100792</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-08-12 01:45:50 -0700</bug_when>
    <thetext>Comment on attachment 100792
Fix for the out of index error

r=me again :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451035</commentid>
    <comment_count>30</comment_count>
    <who name="Renata Hodovan">rhodovan.u-szeged</who>
    <bug_when>2011-08-15 04:59:39 -0700</bug_when>
    <thetext>Committed r93039: &lt;http://trac.webkit.org/changeset/93039&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>97430</attachid>
            <date>2011-06-16 03:18:18 -0700</date>
            <delta_ts>2011-06-27 05:37:35 -0700</delta_ts>
            <desc>Speed up SVGSMILElement::findInstanceTime</desc>
            <filename>0001-Speed-up-SVGSMILElement-findInstanceTime.patch</filename>
            <type>text/plain</type>
            <size>4253</size>
            <attacher name="Oliver Varga">voliver</attacher>
            
              <data encoding="base64">RnJvbSAyMDJkMjhlYjBhMDAzYjkxMTgxM2FiNDgzZGNlYjMwOWY2NWYyYmM3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBPbGl2ZXIgVmFyZ2EgPFZhcmdhLk9saXZlckBzdHVkLnUtc3pl
Z2VkLmh1PgpEYXRlOiBUaHUsIDE2IEp1biAyMDExIDEyOjE1OjIxICswMjAwClN1YmplY3Q6IFtQ
QVRDSF0gU3BlZWQgdXAgU1ZHU01JTEVsZW1lbnQ6OmZpbmRJbnN0YW5jZVRpbWUKCi0tLQogU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDE0ICsrKysr
CiBTb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NWR1NNSUxFbGVtZW50LmNwcCB8ICAgNjMg
KysrKysrKysrKysrKysrKysrLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgNjQgaW5zZXJ0aW9ucygr
KSwgMTMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGFmYTJmNzYuLmFmYTVlOGIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMS0wNi0xNiAgT2xpdmVyIFZhcmdhICA8VmFyZ2Eu
T2xpdmVyQHN0dWQudS1zemVnZWQuaHU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgU3BlZWQgdXAgU1ZHU01JTEVsZW1lbnQ6OmZpbmRJbnN0YW5jZVRp
bWUgYmVjYXVzZQorICAgICAgICB0aGUgcHJldmlvdXMgc2VhcmNoZXMgZnJvbSB0aGUgYmVnaW5u
aW5nIHdhcyBub3QgZWZmaWNpZW50LgorICAgICAgICBSZXBsYWNlIHRoZSBsaW5lYXIgc2VhcmNo
IHRvIGJpbmFyeSBzZWFyY2ggb24gb3JkZXJlZCBsaXN0LgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEwMjUKKworICAgICAgICBObyBuZXcgdGVzdHMu
IChPT1BTISkKKworICAgICAgICAqIHN2Zy9hbmltYXRpb24vU1ZHU01JTEVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHU01JTEVsZW1lbnQ6OmZpbmRJbnN0YW5jZVRpbWUpOgorCiAy
MDExLTA2LTA4ICBBbGV4YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgWXVyeSBTZW1pa2hhdHNreS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9hbmltYXRpb24vU1ZHU01JTEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
c3ZnL2FuaW1hdGlvbi9TVkdTTUlMRWxlbWVudC5jcHAKaW5kZXggNDdiZDE0Mi4uM2ViZDAwMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TVkdTTUlMRWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TVkdTTUlMRWxlbWVudC5jcHAK
QEAgLTYxOCwyMyArNjE4LDYwIEBAIHZvaWQgU1ZHU01JTEVsZW1lbnQ6OmFkZEVuZFRpbWUoU01J
TFRpbWUgdGltZSkKICAgICAKIFNNSUxUaW1lIFNWR1NNSUxFbGVtZW50OjpmaW5kSW5zdGFuY2VU
aW1lKEJlZ2luT3JFbmQgYmVnaW5PckVuZCwgU01JTFRpbWUgbWluaW11bVRpbWUsIGJvb2wgZXF1
YWxzTWluaW11bU9LKSBjb25zdAogewotICAgIC8vIEZJWE1FOiBUaGlzIHNlYXJjaGVzIGZyb20g
dGhlIGJlZ2lubmluZyB3aGljaCBpcyBpbmVmZmljaWVudC4gVGhlIGxpc3QgaXMgdXN1YWxseSBu
b3QgbG9uZwotICAgIC8vIChvbmUgZW50cnkgaW4gY29tbW9uIGNhc2VzKSBidXQgeW91IGNhbiBj
b25zdHJ1Y3QgYSBjYXNlIHdoZXJlIGl0IGRvZXMgZ3Jvdy4KICAgICBjb25zdCBWZWN0b3I8U01J
TFRpbWU+JiBsaXN0ID0gYmVnaW5PckVuZCA9PSBCZWdpbiA/IG1fYmVnaW5UaW1lcyA6IG1fZW5k
VGltZXM7Ci0gICAgZm9yICh1bnNpZ25lZCBuID0gMDsgbiA8IGxpc3Quc2l6ZSgpOyArK24pIHsK
LSAgICAgICAgU01JTFRpbWUgdGltZSA9IGxpc3Rbbl07CisgICAgY29uc3QgaW50IHNpemVPZkxp
c3QgPSBsaXN0LnNpemUoKTsKKyAgICBpbnQgbGVmdCA9IDA7CisgICAgaW50IHJpZ2h0ID0gc2l6
ZU9mTGlzdCAtIDE7CisgICAgaW50IGNlbnRlciA9IChsZWZ0ICsgcmlnaHQpIC8gMjsKKworICAg
IGlmIChyaWdodCA8IDApCisgICAgICAgIHJldHVybiAoYmVnaW5PckVuZCA9PSBCZWdpbikgPyBT
TUlMVGltZTo6dW5yZXNvbHZlZCgpIDogU01JTFRpbWU6OmluZGVmaW5pdGUoKTsKKworICAgIC8v
IEJpbmFyeSBTZWFyY2guCisgICAgd2hpbGUgKGxlZnQgPCByaWdodCkgeworICAgICAgICBBU1NF
UlQoMCA8PSBjZW50ZXIgJiYgY2VudGVyIDwgc2l6ZU9mTGlzdCk7CisgICAgICAgIFNNSUxUaW1l
IHRpbWUgPSBsaXN0W2NlbnRlcl07CiAgICAgICAgIEFTU0VSVCghdGltZS5pc1VucmVzb2x2ZWQo
KSk7Ci0gICAgICAgIGlmICh0aW1lLmlzSW5kZWZpbml0ZSgpICYmIGJlZ2luT3JFbmQgPT0gQmVn
aW4pIHsKLSAgICAgICAgICAgIC8vICJUaGUgc3BlY2lhbCB2YWx1ZSAiaW5kZWZpbml0ZSIgZG9l
cyBub3QgeWllbGQgYW4gaW5zdGFuY2UgdGltZSBpbiB0aGUgYmVnaW4gbGlzdC4iCi0gICAgICAg
ICAgICBjb250aW51ZTsKKworICAgICAgICBpZiAodGltZSA9PSBtaW5pbXVtVGltZSkKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICBpZiAodGltZSA+IG1pbmltdW1UaW1lKSB7CisgICAgICAg
ICAgICBpZiAoY2VudGVyID4gMCkgeworICAgICAgICAgICAgICAgIHJpZ2h0ID0gY2VudGVyIC0g
MTsKKyAgICAgICAgICAgICAgICBjZW50ZXIgPSAobGVmdCArIHJpZ2h0KSAvIDI7CisgICAgICAg
ICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICByZXR1cm4gbGlzdFswXTsKKyAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgIGxlZnQgPSBjZW50ZXIgKyAxOworICAgICAgICAgICAgY2VudGVy
ID0gKGxlZnQgKyByaWdodCkgLyAyOwogICAgICAgICB9Ci0gICAgICAgIGlmIChlcXVhbHNNaW5p
bXVtT0spIHsKLSAgICAgICAgICAgIGlmICh0aW1lID49IG1pbmltdW1UaW1lKQotICAgICAgICAg
ICAgICAgIHJldHVybiB0aW1lOwotICAgICAgICB9IGVsc2UgaWYgKHRpbWUgPiBtaW5pbXVtVGlt
ZSkKLSAgICAgICAgICAgIHJldHVybiB0aW1lOwogICAgIH0KLSAgICByZXR1cm4gYmVnaW5PckVu
ZCA9PSBCZWdpbiA/IFNNSUxUaW1lOjp1bnJlc29sdmVkKCkgOiBTTUlMVGltZTo6aW5kZWZpbml0
ZSgpOworCisgICAgaWYgKHNpemVPZkxpc3QgLSAxID4gY2VudGVyICYmIGxpc3RbY2VudGVyXSAh
PSBtaW5pbXVtVGltZSkKKyAgICAgICAgY2VudGVyKys7CisKKyAgICBpZiAobGlzdFtjZW50ZXJd
LmlzSW5kZWZpbml0ZSgpICYmIGJlZ2luT3JFbmQgPT0gQmVnaW4pCisgICAgICAgIC8vICJUaGUg
c3BlY2lhbCB2YWx1ZSAiaW5kZWZpbml0ZSIgZG9lcyBub3QgeWllbGQgYW4gaW5zdGFuY2UgdGlt
ZSBpbiB0aGUgYmVnaW4gbGlzdC4iCisgICAgICAgIHJldHVybiBTTUlMVGltZTo6dW5yZXNvbHZl
ZCgpOworCisgICAgaWYgKGxpc3RbY2VudGVyXSA8IG1pbmltdW1UaW1lKQorICAgICAgICByZXR1
cm4gKGJlZ2luT3JFbmQgPT0gQmVnaW4pID8gU01JTFRpbWU6OnVucmVzb2x2ZWQoKSA6IFNNSUxU
aW1lOjppbmRlZmluaXRlKCk7CisKKyAgICAvLyBJZiB0aGUgZXF1YWxzIGlzIE5PVCBhY2NlcHRl
ZCwgd2UgaGF2ZSB0byBmaW5kIGEgYmlnZ2VyIG9uZS4KKyAgICBpZiAobGlzdFtjZW50ZXJdID09
IG1pbmltdW1UaW1lICYmICFlcXVhbHNNaW5pbXVtT0spIHsKKyAgICAgICAgaWYgKGNlbnRlciAr
IDEgPj0gc2l6ZU9mTGlzdCkKKyAgICAgICAgICAgIHJldHVybiAoYmVnaW5PckVuZCA9PSBCZWdp
bikgPyBTTUlMVGltZTo6dW5yZXNvbHZlZCgpIDogU01JTFRpbWU6OmluZGVmaW5pdGUoKTsKKwor
ICAgICAgICAvLyBUaGUgbGlzdCBtYXkgYmUgY29udGFpbnMgbW9yZSBzYW1lIGVsZW1lbnQuCisg
ICAgICAgIHdoaWxlIChsaXN0W2NlbnRlcl0gPT0gbGlzdFtjZW50ZXIgKyAxXSAmJiBjZW50ZXIg
PCBzaXplT2ZMaXN0IC0gMSkKKyAgICAgICAgICAgIGNlbnRlcisrOworCisgICAgICAgIGlmIChs
aXN0W2NlbnRlcl0gPiBtaW5pbXVtVGltZSkKKyAgICAgICAgICAgIHJldHVybiBsaXN0W2NlbnRl
cl07CisKKyAgICAgICAgcmV0dXJuIFNNSUxUaW1lOjp1bnJlc29sdmVkKCk7CisgICAgfQorICAg
IHJldHVybiBsaXN0W2NlbnRlcl07CiB9CiAKIFNNSUxUaW1lIFNWR1NNSUxFbGVtZW50OjpyZXBl
YXRpbmdEdXJhdGlvbigpIGNvbnN0Ci0tIAoxLjcuMC40Cgo=
</data>
<flag name="review"
          id="91376"
          type_id="1"
          status="-"
          setter="zimmermann"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>98707</attachid>
            <date>2011-06-27 05:37:35 -0700</date>
            <delta_ts>2011-06-28 02:30:58 -0700</delta_ts>
            <desc>Speed up SVGSMILElement::findInstanceTime</desc>
            <filename>0001-Speed-up-SVGSMILElement-findInstanceTime.patch</filename>
            <type>text/plain</type>
            <size>9258</size>
            <attacher name="Oliver Varga">voliver</attacher>
            
              <data encoding="base64">RnJvbSA0MzAzMzZjYTFiNzhkYmE0MjEyNDQ5NWYxY2JjZjI0OTU2NTc5ZjdiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBPbGl2ZXIgVmFyZ2EgPFZhcmdhLk9saXZlckBzdHVkLnUtc3pl
Z2VkLmh1PgpEYXRlOiBNb24sIDI3IEp1biAyMDExIDEyOjI3OjU3ICswMjAwClN1YmplY3Q6IFtQ
QVRDSF0gU3BlZWQgdXAgU1ZHU01JTEVsZW1lbnQ6OmZpbmRJbnN0YW5jZVRpbWUKCi0tLQogU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgfCAgIDE3ICsrKysr
KysKIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaCAgICAgIHwgICAg
OCArKy0tCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1N0ZExpYkV4dHJhcy5oICAgICAgICB8
ICAgMTMgKysrKy0tCiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAg
ICAgICB8ICAgMTYgKysrKysrKwogU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TVkdTTUlM
RWxlbWVudC5jcHAgfCAgIDU0ICsrKysrKysrKysrKysrKysrLS0tLS0tCiA1IGZpbGVzIGNoYW5n
ZWQsIDg2IGluc2VydGlvbnMoKyksIDIyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCmluZGV4IDZmODQ0NDQuLjBiYWZmOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIwIEBACisyMDExLTA2LTI3ICBPbGl2ZXIgVmFyZ2EgIDxWYXJnYS5PbGl2ZXJAc3R1
ZC51LXN6ZWdlZC5odT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGRlZCBhIG5ldyBwYXJhbWV0ZXIgdG8gU3RkbGliRXh0cmFzLmg6OmJpbmFyeVNl
cmFyY2ggZnVuY3Rpb24sCisgICAgICAgIHdoYXQgbmFtZSBpcyBpc0VsZW1lbnRDb250YWlucy4g
Rm9yIHRoZSBjYXNlIHdoZW4gbm90IHN1cmUgdGhhdAorICAgICAgICB0aGUgYXJyYXkgY29udGFp
bnMgdGhlIGtleSB2YWx1ZS4gSXQgaXMgbmVlZGVkIGZvciBhbiBzdmcgZnVuY3Rpb24uCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MTAyNQorCisgICAg
ICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmg6CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6Z2V0
U3R1YkluZm8pOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OmdldENhbGxMaW5rSW5mbyk6Cisg
ICAgICAgIChKU0M6OkNvZGVCbG9jazo6Z2V0TWV0aG9kQ2FsbExpbmtJbmZvKToKKyAgICAgICAg
KEpTQzo6Q29kZUJsb2NrOjpieXRlY29kZU9mZnNldCk6CisgICAgICAgICogd3RmL1N0ZExpYkV4
dHJhcy5oOgorICAgICAgICAoV1RGOjpiaW5hcnlTZWFyY2gpOgorCiAyMDExLTA2LTE1ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJh
cnRoLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9j
ay5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCmluZGV4IGMy
NzE0MTUuLjdiYWM4Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9Db2RlQmxvY2suaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJs
b2NrLmgKQEAgLTI0NywxNyArMjQ3LDE3IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIFN0
cnVjdHVyZVN0dWJJbmZvJiBnZXRTdHViSW5mbyhSZXR1cm5BZGRyZXNzUHRyIHJldHVybkFkZHJl
c3MpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiAqKGJpbmFyeVNlYXJjaDxTdHJ1Y3R1
cmVTdHViSW5mbywgdm9pZCosIGdldFN0cnVjdHVyZVN0dWJJbmZvUmV0dXJuTG9jYXRpb24+KG1f
c3RydWN0dXJlU3R1YkluZm9zLmJlZ2luKCksIG1fc3RydWN0dXJlU3R1YkluZm9zLnNpemUoKSwg
cmV0dXJuQWRkcmVzcy52YWx1ZSgpKSk7CisgICAgICAgICAgICByZXR1cm4gKihiaW5hcnlTZWFy
Y2g8U3RydWN0dXJlU3R1YkluZm8sIHZvaWQqLCBnZXRTdHJ1Y3R1cmVTdHViSW5mb1JldHVybkxv
Y2F0aW9uPihtX3N0cnVjdHVyZVN0dWJJbmZvcy5iZWdpbigpLCBtX3N0cnVjdHVyZVN0dWJJbmZv
cy5zaXplKCksIHJldHVybkFkZHJlc3MudmFsdWUoKSwgdHJ1ZSkpOwogICAgICAgICB9CiAKICAg
ICAgICAgQ2FsbExpbmtJbmZvJiBnZXRDYWxsTGlua0luZm8oUmV0dXJuQWRkcmVzc1B0ciByZXR1
cm5BZGRyZXNzKQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gKihiaW5hcnlTZWFyY2g8
Q2FsbExpbmtJbmZvLCB2b2lkKiwgZ2V0Q2FsbExpbmtJbmZvUmV0dXJuTG9jYXRpb24+KG1fY2Fs
bExpbmtJbmZvcy5iZWdpbigpLCBtX2NhbGxMaW5rSW5mb3Muc2l6ZSgpLCByZXR1cm5BZGRyZXNz
LnZhbHVlKCkpKTsKKyAgICAgICAgICAgIHJldHVybiAqKGJpbmFyeVNlYXJjaDxDYWxsTGlua0lu
Zm8sIHZvaWQqLCBnZXRDYWxsTGlua0luZm9SZXR1cm5Mb2NhdGlvbj4obV9jYWxsTGlua0luZm9z
LmJlZ2luKCksIG1fY2FsbExpbmtJbmZvcy5zaXplKCksIHJldHVybkFkZHJlc3MudmFsdWUoKSwg
dHJ1ZSkpOwogICAgICAgICB9CiAKICAgICAgICAgTWV0aG9kQ2FsbExpbmtJbmZvJiBnZXRNZXRo
b2RDYWxsTGlua0luZm8oUmV0dXJuQWRkcmVzc1B0ciByZXR1cm5BZGRyZXNzKQogICAgICAgICB7
Ci0gICAgICAgICAgICByZXR1cm4gKihiaW5hcnlTZWFyY2g8TWV0aG9kQ2FsbExpbmtJbmZvLCB2
b2lkKiwgZ2V0TWV0aG9kQ2FsbExpbmtJbmZvUmV0dXJuTG9jYXRpb24+KG1fbWV0aG9kQ2FsbExp
bmtJbmZvcy5iZWdpbigpLCBtX21ldGhvZENhbGxMaW5rSW5mb3Muc2l6ZSgpLCByZXR1cm5BZGRy
ZXNzLnZhbHVlKCkpKTsKKyAgICAgICAgICAgIHJldHVybiAqKGJpbmFyeVNlYXJjaDxNZXRob2RD
YWxsTGlua0luZm8sIHZvaWQqLCBnZXRNZXRob2RDYWxsTGlua0luZm9SZXR1cm5Mb2NhdGlvbj4o
bV9tZXRob2RDYWxsTGlua0luZm9zLmJlZ2luKCksIG1fbWV0aG9kQ2FsbExpbmtJbmZvcy5zaXpl
KCksIHJldHVybkFkZHJlc3MudmFsdWUoKSwgdHJ1ZSkpOwogICAgICAgICB9CiAKICAgICAgICAg
dW5zaWduZWQgYnl0ZWNvZGVPZmZzZXQoUmV0dXJuQWRkcmVzc1B0ciByZXR1cm5BZGRyZXNzKQpA
QCAtMjY3LDcgKzI2Nyw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgVmVjdG9yPENh
bGxSZXR1cm5PZmZzZXRUb0J5dGVjb2RlT2Zmc2V0PiYgY2FsbEluZGljZXMgPSBtX3JhcmVEYXRh
LT5tX2NhbGxSZXR1cm5JbmRleFZlY3RvcjsKICAgICAgICAgICAgIGlmICghY2FsbEluZGljZXMu
c2l6ZSgpKQogICAgICAgICAgICAgICAgIHJldHVybiAxOwotICAgICAgICAgICAgcmV0dXJuIGJp
bmFyeVNlYXJjaDxDYWxsUmV0dXJuT2Zmc2V0VG9CeXRlY29kZU9mZnNldCwgdW5zaWduZWQsIGdl
dENhbGxSZXR1cm5PZmZzZXQ+KGNhbGxJbmRpY2VzLmJlZ2luKCksIGNhbGxJbmRpY2VzLnNpemUo
KSwgZ2V0SklUQ29kZSgpLm9mZnNldE9mKHJldHVybkFkZHJlc3MudmFsdWUoKSkpLT5ieXRlY29k
ZU9mZnNldDsKKyAgICAgICAgICAgIHJldHVybiBiaW5hcnlTZWFyY2g8Q2FsbFJldHVybk9mZnNl
dFRvQnl0ZWNvZGVPZmZzZXQsIHVuc2lnbmVkLCBnZXRDYWxsUmV0dXJuT2Zmc2V0PihjYWxsSW5k
aWNlcy5iZWdpbigpLCBjYWxsSW5kaWNlcy5zaXplKCksIGdldEpJVENvZGUoKS5vZmZzZXRPZihy
ZXR1cm5BZGRyZXNzLnZhbHVlKCkpLCB0cnVlKS0+Ynl0ZWNvZGVPZmZzZXQ7CiAgICAgICAgIH0K
ICNlbmRpZgogI2lmIEVOQUJMRShJTlRFUlBSRVRFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvU3RkTGliRXh0cmFzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L1N0ZExpYkV4dHJhcy5oCmluZGV4IGE4NTgyZTkuLmU5MmQ3ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvU3RkTGliRXh0cmFzLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9TdGRMaWJFeHRyYXMuaApAQCAtMTI3LDcgKzEyNyw3IEBAIHRlbXBsYXRlPHNp
emVfdCBkaXZpc29yPiBpbmxpbmUgc2l6ZV90IHJvdW5kVXBUb011bHRpcGxlT2Yoc2l6ZV90IHgp
CiAvLyBjb21wYXJlcyByZXN1bHQgd2l0aCBrZXkgKEtleVR5cGVzIHNob3VsZCBiZSBjb21wYXJh
YmxlIHdpdGggJy0tJywgJzwnLCAnPicpLgogLy8gT3B0aW1pemVkIGZvciBjYXNlcyB3aGVyZSB0
aGUgYXJyYXkgY29udGFpbnMgdGhlIGtleSwgY2hlY2tlZCBieSBhc3NlcnRpb25zLgogdGVtcGxh
dGU8dHlwZW5hbWUgQXJyYXlUeXBlLCB0eXBlbmFtZSBLZXlUeXBlLCBLZXlUeXBlKCpleHRyYWN0
S2V5KShBcnJheVR5cGUqKT4KLWlubGluZSBBcnJheVR5cGUqIGJpbmFyeVNlYXJjaChBcnJheVR5
cGUqIGFycmF5LCBzaXplX3Qgc2l6ZSwgS2V5VHlwZSBrZXkpCitpbmxpbmUgQXJyYXlUeXBlKiBi
aW5hcnlTZWFyY2goQXJyYXlUeXBlKiBhcnJheSwgc2l6ZV90IHNpemUsIEtleVR5cGUga2V5LCBi
b29sIGlzRWxlbWVudENvbnRhaW5zKQogewogICAgIC8vIFRoZSBhcnJheSBtdXN0IGNvbnRhaW4g
YXQgbGVhc3Qgb25lIGVsZW1lbnQgKHByZS1jb25kaXRpb24sIGFycmF5IGRvZXMgY29uYXRpbiBr
ZXkpLgogICAgIC8vIElmIHRoZSBhcnJheSBvbmx5IGNvbnRhaW5zIG9uZSBlbGVtZW50LCBubyBu
ZWVkIHRvIGRvIHRoZSBjb21wYXJpc29uLgpAQCAtMTUwLDEyICsxNTAsMTcgQEAgaW5saW5lIEFy
cmF5VHlwZSogYmluYXJ5U2VhcmNoKEFycmF5VHlwZSogYXJyYXksIHNpemVfdCBzaXplLCBLZXlU
eXBlIGtleSkKICAgICAgICAgfQogCiAgICAgICAgIC8vICdzaXplJyBzaG91bGQgbmV2ZXIgcmVh
Y2ggemVyby4KLSAgICAgICAgQVNTRVJUKHNpemUpOworICAgICAgICBpZiAoaXNFbGVtZW50Q29u
dGFpbnMpCisgICAgICAgICAgICBBU1NFUlQoc2l6ZSk7CiAgICAgfQogICAgIAogICAgIC8vIElm
IHdlIHJlYWNoIHRoaXMgcG9pbnQgd2UndmUgY2hvcHBlZCBkb3duIHRvIG9uZSBlbGVtZW50LCBu
byBuZWVkIHRvIGNoZWNrIGl0IG1hdGNoZXMKLSAgICBBU1NFUlQoc2l6ZSA9PSAxKTsKLSAgICBB
U1NFUlQoa2V5ID09IGV4dHJhY3RLZXkoJmFycmF5WzBdKSk7CisgICAgaWYgKGlzRWxlbWVudENv
bnRhaW5zKQorICAgICAgICBBU1NFUlQoc2l6ZSA9PSAxKTsKKworICAgIGlmIChpc0VsZW1lbnRD
b250YWlucykKKyAgICAgICAgQVNTRVJUKGtleSA9PSBleHRyYWN0S2V5KCZhcnJheVswXSkpOwor
CiAgICAgcmV0dXJuICZhcnJheVswXTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDk1NWNiMjYuLmRkMmEx
ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMS0wNi0yNyAgT2xpdmVyIFZhcmdh
ICA8VmFyZ2EuT2xpdmVyQHN0dWQudS1zemVnZWQuaHU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVwbGFjZSB0aGUgbGluZWFyIHNlYXJjaCB0byBi
aW5hcnkgc2VhcmNoIG9uIG9yZGVyZWQgbGlzdC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTYxMDI1CisKKyAgICAgICAgU3BlZWQgdXAgU1ZHU01JTEVs
ZW1lbnQ6OmZpbmRJbnN0YW5jZVRpbWUgYmVjYXVzZQorICAgICAgICB0aGUgcHJldmlvdXMgc2Vh
cmNoZXMgZnJvbSB0aGUgYmVnaW5uaW5nIHdhcyBub3QgZWZmaWNpZW50LgorCisgICAgICAgIE5v
IG5ldyB0ZXN0cyB0aGlzIGlzIG9ubHkgYSAgcGVyZm9ybWFuY2UgdHdlYWsuCisKKyAgICAgICAg
KiBzdmcvYW5pbWF0aW9uL1NWR1NNSUxFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmV4
dHJhY3RUaW1lRnJvbVZlY3Rvcik6CisgICAgICAgIChXZWJDb3JlOjpTVkdTTUlMRWxlbWVudDo6
ZmluZEluc3RhbmNlVGltZSk6CisKIDIwMTEtMDYtMTYgIEhheWF0byBJdG8gIDxoYXlhdG9AY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEhhamltZSBNb3JpdGEuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NWR1NNSUxFbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU1ZHU01JTEVsZW1lbnQuY3BwCmluZGV4IDBmZjM2
N2UuLjM1YjRmOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU1ZH
U01JTEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU1ZHU01J
TEVsZW1lbnQuY3BwCkBAIC02MTYsMjUgKzYxNiw1MSBAQCB2b2lkIFNWR1NNSUxFbGVtZW50Ojph
ZGRFbmRUaW1lKFNNSUxUaW1lIHRpbWUpCiAgICAgZW5kTGlzdENoYW5nZWQoKTsKIH0KICAgICAK
K2lubGluZSBTTUlMVGltZSBleHRyYWN0VGltZUZyb21WZWN0b3IoY29uc3QgU01JTFRpbWUgKnBv
c2l0aW9uKQoreworICAgIHJldHVybiAqcG9zaXRpb247Cit9CisKIFNNSUxUaW1lIFNWR1NNSUxF
bGVtZW50OjpmaW5kSW5zdGFuY2VUaW1lKEJlZ2luT3JFbmQgYmVnaW5PckVuZCwgU01JTFRpbWUg
bWluaW11bVRpbWUsIGJvb2wgZXF1YWxzTWluaW11bU9LKSBjb25zdAogewotICAgIC8vIEZJWE1F
OiBUaGlzIHNlYXJjaGVzIGZyb20gdGhlIGJlZ2lubmluZyB3aGljaCBpcyBpbmVmZmljaWVudC4g
VGhlIGxpc3QgaXMgdXN1YWxseSBub3QgbG9uZwotICAgIC8vIChvbmUgZW50cnkgaW4gY29tbW9u
IGNhc2VzKSBidXQgeW91IGNhbiBjb25zdHJ1Y3QgYSBjYXNlIHdoZXJlIGl0IGRvZXMgZ3Jvdy4K
ICAgICBjb25zdCBWZWN0b3I8U01JTFRpbWU+JiBsaXN0ID0gYmVnaW5PckVuZCA9PSBCZWdpbiA/
IG1fYmVnaW5UaW1lcyA6IG1fZW5kVGltZXM7Ci0gICAgZm9yICh1bnNpZ25lZCBuID0gMDsgbiA8
IGxpc3Quc2l6ZSgpOyArK24pIHsKLSAgICAgICAgU01JTFRpbWUgdGltZSA9IGxpc3Rbbl07Ci0g
ICAgICAgIEFTU0VSVCghdGltZS5pc1VucmVzb2x2ZWQoKSk7Ci0gICAgICAgIGlmICh0aW1lLmlz
SW5kZWZpbml0ZSgpICYmIGJlZ2luT3JFbmQgPT0gQmVnaW4pIHsKLSAgICAgICAgICAgIC8vICJU
aGUgc3BlY2lhbCB2YWx1ZSAiaW5kZWZpbml0ZSIgZG9lcyBub3QgeWllbGQgYW4gaW5zdGFuY2Ug
dGltZSBpbiB0aGUgYmVnaW4gbGlzdC4iCi0gICAgICAgICAgICBjb250aW51ZTsKKyAgICBpbnQg
c2l6ZU9mTGlzdCA9IGxpc3Quc2l6ZSgpOworCisgICAgaWYgKCFzaXplT2ZMaXN0KQorICAgICAg
ICByZXR1cm4gYmVnaW5PckVuZCA9PSBCZWdpbiA/IFNNSUxUaW1lOjp1bnJlc29sdmVkKCkgOiBT
TUlMVGltZTo6aW5kZWZpbml0ZSgpOworCisgICAgY29uc3QgU01JTFRpbWUqIHJlc3VsdCA9IGJp
bmFyeVNlYXJjaDxjb25zdCBTTUlMVGltZSwgU01JTFRpbWUsIGV4dHJhY3RUaW1lRnJvbVZlY3Rv
cj4obGlzdC5iZWdpbigpLCBzaXplT2ZMaXN0LCBtaW5pbXVtVGltZSwgZmFsc2UpOworICAgIGlu
dCBpbmRleE9mUmVzdWx0ID0gKCgodW5zaWduZWQpcmVzdWx0KSAtICgodW5zaWduZWQpbGlzdC5i
ZWdpbigpKSkgLyBzaXplb2YoU01JTFRpbWUpOworCisgICAgaWYgKHNpemVPZkxpc3QgLSAxID4g
aW5kZXhPZlJlc3VsdCAmJiBsaXN0W2luZGV4T2ZSZXN1bHRdIDwgbWluaW11bVRpbWUpCisgICAg
ICAgIGluZGV4T2ZSZXN1bHQrKzsKKworICAgIGlmIChsaXN0W2luZGV4T2ZSZXN1bHRdLmlzSW5k
ZWZpbml0ZSgpICYmIGJlZ2luT3JFbmQgPT0gQmVnaW4pCisgICAgICAgIC8vICJUaGUgc3BlY2lh
bCB2YWx1ZSAiaW5kZWZpbml0ZSIgZG9lcyBub3QgeWllbGQgYW4gaW5zdGFuY2UgdGltZSBpbiB0
aGUgYmVnaW4gbGlzdC4iCisgICAgICAgIHJldHVybiBTTUlMVGltZTo6dW5yZXNvbHZlZCgpOwor
CisgICAgaWYgKGxpc3RbaW5kZXhPZlJlc3VsdF0gPCBtaW5pbXVtVGltZSkKKyAgICAgICAgcmV0
dXJuIGJlZ2luT3JFbmQgPT0gQmVnaW4gPyBTTUlMVGltZTo6dW5yZXNvbHZlZCgpIDogU01JTFRp
bWU6OmluZGVmaW5pdGUoKTsKKworICAgIC8vIElmIHRoZSBlcXVhbHMgaXMgTk9UIGFjY2VwdGVk
LCB3ZSBoYXZlIHRvIGZpbmQgYSBiaWdnZXIgb25lLgorICAgIGlmIChsaXN0W2luZGV4T2ZSZXN1
bHRdID09IG1pbmltdW1UaW1lICYmICFlcXVhbHNNaW5pbXVtT0spIHsKKyAgICAgICAgaWYgKGlu
ZGV4T2ZSZXN1bHQgKyAxID49IHNpemVPZkxpc3QpCisgICAgICAgICAgICByZXR1cm4gYmVnaW5P
ckVuZCA9PSBCZWdpbiA/IFNNSUxUaW1lOjp1bnJlc29sdmVkKCkgOiBTTUlMVGltZTo6aW5kZWZp
bml0ZSgpOworICAgIH0KKworICAgIHdoaWxlIChsaXN0W2luZGV4T2ZSZXN1bHRdID09IGxpc3Rb
aW5kZXhPZlJlc3VsdCArIDFdICYmIGluZGV4T2ZSZXN1bHQgPCBzaXplT2ZMaXN0IC0gMSkKKyAg
ICAgICAgaW5kZXhPZlJlc3VsdCsrOworCisgICAgaWYgKGxpc3RbaW5kZXhPZlJlc3VsdF0gPiBt
aW5pbXVtVGltZSkKKyAgICAgICAgcmV0dXJuIGxpc3RbaW5kZXhPZlJlc3VsdF07CisgICAgaWYg
KGxpc3RbaW5kZXhPZlJlc3VsdF0gPT0gbWluaW11bVRpbWUpIHsKKyAgICAgICAgaWYgKGluZGV4
T2ZSZXN1bHQgKyAxIDwgc2l6ZU9mTGlzdCAtIDEpIHsKKyAgICAgICAgICAgIHJldHVybiBsaXN0
W2luZGV4T2ZSZXN1bHQgKyAxXTsKICAgICAgICAgfQotICAgICAgICBpZiAoZXF1YWxzTWluaW11
bU9LKSB7Ci0gICAgICAgICAgICBpZiAodGltZSA+PSBtaW5pbXVtVGltZSkKLSAgICAgICAgICAg
ICAgICByZXR1cm4gdGltZTsKLSAgICAgICAgfSBlbHNlIGlmICh0aW1lID4gbWluaW11bVRpbWUp
Ci0gICAgICAgICAgICByZXR1cm4gdGltZTsKKyAgICAgICAgcmV0dXJuIGJlZ2luT3JFbmQgPT0g
QmVnaW4gPyBTTUlMVGltZTo6dW5yZXNvbHZlZCgpIDogU01JTFRpbWU6OmluZGVmaW5pdGUoKTsK
ICAgICB9Ci0gICAgcmV0dXJuIGJlZ2luT3JFbmQgPT0gQmVnaW4gPyBTTUlMVGltZTo6dW5yZXNv
bHZlZCgpIDogU01JTFRpbWU6OmluZGVmaW5pdGUoKTsKKworICAgIHJldHVybiBsaXN0W2luZGV4
T2ZSZXN1bHRdOwogfQogCiBTTUlMVGltZSBTVkdTTUlMRWxlbWVudDo6cmVwZWF0aW5nRHVyYXRp
b24oKSBjb25zdAotLSAKMS43LjAuNAoK
</data>
<flag name="review"
          id="92988"
          type_id="1"
          status="-"
          setter="zimmermann"
    />
    <flag name="commit-queue"
          id="92989"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>98887</attachid>
            <date>2011-06-28 02:30:58 -0700</date>
            <delta_ts>2011-06-28 04:45:37 -0700</delta_ts>
            <desc>Speed up SVGSMILElement::findInstanceTime</desc>
            <filename>0001-Speed-up-SVGSMILElement-findInstanceTime.patch</filename>
            <type>text/plain</type>
            <size>7686</size>
            <attacher name="Oliver Varga">voliver</attacher>
            
              <data encoding="base64">RnJvbSA0ZDU5NzdmOGJmYzhlODQ3OGVhMzc2MjI5ODFmZWUzNTI3MmQyMTBjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBPbGl2ZXIgVmFyZ2EgPFZhcmdhLk9saXZlckBzdHVkLnUtc3pl
Z2VkLmh1PgpEYXRlOiBUdWUsIDI4IEp1biAyMDExIDExOjI1OjQ5ICswMjAwClN1YmplY3Q6IFtQ
QVRDSF0gU3BlZWQgdXAgU1ZHU01JTEVsZW1lbnQ6OmZpbmRJbnN0YW5jZVRpbWUKCi0tLQogU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgfCAgIDEyICsrKysr
CiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1N0ZExpYkV4dHJhcy5oICAgICAgICB8ICAgMzEg
KysrKysrKystLS0tCiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAg
ICAgICB8ICAgMTYgKysrKysrCiBTb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NWR1NNSUxF
bGVtZW50LmNwcCB8ICAgNTcgKysrKysrKysrKysrKysrKystLS0tLS0KIDQgZmlsZXMgY2hhbmdl
ZCwgOTAgaW5zZXJ0aW9ucygrKSwgMjYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VM
b2cKaW5kZXggNjFiNGFkMy4uYTUzMmVjNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTUgQEAKKzIwMTEtMDYtMjggIE9saXZlciBWYXJnYSAgPFZhcmdhLk9saXZlckBzdHVk
LnUtc3plZ2VkLmh1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZGVkIGEgbmV3IHBhcmFtZXRlciB0byBTdGRsaWJFeHRyYXMuaDo6YmluYXJ5U2Vy
YXJjaCBmdW5jdGlvbiwKKyAgICAgICAgZm9yIHRoZSBjYXNlIHdoZW4gbm90IHN1cmUgdGhhdCB0
aGUgYXJyYXkgY29udGFpbnMgdGhlIGtleSB2YWx1ZS4KKyAgICAgICAgSXQgaXMgbmVlZGVkIGZv
ciBhbiBzdmcgZnVuY3Rpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02MTAyNQorCisgICAgICAgICogd3RmL1N0ZExpYkV4dHJhcy5oOgorICAgICAg
ICAoV1RGOjpiaW5hcnlTZWFyY2gpOgorCiAyMDExLTA2LTI3ICBSeW9zdWtlIE5pd2EgIDxybml3
YUB3ZWJraXQub3JnPgogCiAgICAgICAgIEJ1aWxkIGZpeCBhdHRlbXB0IGFmdGVyIHI4OTg4NS4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvU3RkTGliRXh0cmFzLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1N0ZExpYkV4dHJhcy5oCmluZGV4IGE4NTgyZTkuLjgx
NTUxZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvU3RkTGliRXh0cmFz
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9TdGRMaWJFeHRyYXMuaApAQCAtMTIz
LDE5ICsxMjMsMjMgQEAgdGVtcGxhdGU8c2l6ZV90IGRpdmlzb3I+IGlubGluZSBzaXplX3Qgcm91
bmRVcFRvTXVsdGlwbGVPZihzaXplX3QgeCkKICAgICByZXR1cm4gKHggKyByZW1haW5kZXJNYXNr
KSAmIH5yZW1haW5kZXJNYXNrOwogfQogCitlbnVtIEJpbmFyeVNlYXJjaE1vZGUgeworICAgIEtl
eU11c3RCZVByZXNlbnRJbkFycmF5LAorICAgIEtleU11c3ROb3RCZVByZXNlbnRJbkFycmF5Cit9
OworCiAvLyBCaW5hcnkgc2VhcmNoIGFsZ29yaXRobSwgY2FsbHMgZXh0cmFjdEtleSBvbiBwcmUt
c29ydGVkIGVsZW1lbnRzIGluIGFycmF5LAogLy8gY29tcGFyZXMgcmVzdWx0IHdpdGgga2V5IChL
ZXlUeXBlcyBzaG91bGQgYmUgY29tcGFyYWJsZSB3aXRoICctLScsICc8JywgJz4nKS4KLS8vIE9w
dGltaXplZCBmb3IgY2FzZXMgd2hlcmUgdGhlIGFycmF5IGNvbnRhaW5zIHRoZSBrZXksIGNoZWNr
ZWQgYnkgYXNzZXJ0aW9ucy4KIHRlbXBsYXRlPHR5cGVuYW1lIEFycmF5VHlwZSwgdHlwZW5hbWUg
S2V5VHlwZSwgS2V5VHlwZSgqZXh0cmFjdEtleSkoQXJyYXlUeXBlKik+Ci1pbmxpbmUgQXJyYXlU
eXBlKiBiaW5hcnlTZWFyY2goQXJyYXlUeXBlKiBhcnJheSwgc2l6ZV90IHNpemUsIEtleVR5cGUg
a2V5KQoraW5saW5lIEFycmF5VHlwZSogYmluYXJ5U2VhcmNoKEFycmF5VHlwZSogYXJyYXksIHNp
emVfdCBzaXplLCBLZXlUeXBlIGtleSwgQmluYXJ5U2VhcmNoTW9kZSBtb2RlID0gS2V5TXVzdEJl
UHJlc2VudEluQXJyYXkpCiB7Ci0gICAgLy8gVGhlIGFycmF5IG11c3QgY29udGFpbiBhdCBsZWFz
dCBvbmUgZWxlbWVudCAocHJlLWNvbmRpdGlvbiwgYXJyYXkgZG9lcyBjb25hdGluIGtleSkuCi0g
ICAgLy8gSWYgdGhlIGFycmF5IG9ubHkgY29udGFpbnMgb25lIGVsZW1lbnQsIG5vIG5lZWQgdG8g
ZG8gdGhlIGNvbXBhcmlzb24uCisgICAgLy8gVGhlIGFycmF5IG11c3QgY29udGFpbiBhdCBsZWFz
dCBvbmUgZWxlbWVudCAocHJlLWNvbmRpdGlvbiwgYXJyYXkgZG9lcyBjb250YWluIGtleSkuCisg
ICAgLy8gSWYgdGhlIGFycmF5IGNvbnRhaW5zIG9ubHkgb25lIGVsZW1lbnQsIG5vIG5lZWQgdG8g
ZG8gdGhlIGNvbXBhcmlzb24uCiAgICAgd2hpbGUgKHNpemUgPiAxKSB7CiAgICAgICAgIC8vIFBp
Y2sgYW4gZWxlbWVudCB0byBjaGVjaywgaGFsZiB3YXkgdGhyb3VnaCB0aGUgYXJyYXksIGFuZCBy
ZWFkIHRoZSB2YWx1ZS4KICAgICAgICAgaW50IHBvcyA9IChzaXplIC0gMSkgPj4gMTsKICAgICAg
ICAgS2V5VHlwZSB2YWwgPSBleHRyYWN0S2V5KCZhcnJheVtwb3NdKTsKLSAgICAgICAgCisKICAg
ICAgICAgLy8gSWYgdGhlIGtleSBtYXRjaGVzLCBzdWNjZXNzIQogICAgICAgICBpZiAodmFsID09
IGtleSkKICAgICAgICAgICAgIHJldHVybiAmYXJyYXlbcG9zXTsKQEAgLTE0OSwxMyArMTUzLDE4
IEBAIGlubGluZSBBcnJheVR5cGUqIGJpbmFyeVNlYXJjaChBcnJheVR5cGUqIGFycmF5LCBzaXpl
X3Qgc2l6ZSwgS2V5VHlwZSBrZXkpCiAgICAgICAgICAgICBhcnJheSArPSAocG9zICsgMSk7CiAg
ICAgICAgIH0KIAotICAgICAgICAvLyAnc2l6ZScgc2hvdWxkIG5ldmVyIHJlYWNoIHplcm8uCi0g
ICAgICAgIEFTU0VSVChzaXplKTsKKyAgICAgICAgLy8gSW4gY2FzZSBvZiBCaW5hcnlTZWFyY2hN
b2RlID0gS2V5TXVzdEJlUHJlc2VudEluQXJyYXkgJ3NpemUnIHNob3VsZCBuZXZlciByZWFjaCB6
ZXJvLgorICAgICAgICBpZiAobW9kZSA9PSBLZXlNdXN0QmVQcmVzZW50SW5BcnJheSkKKyAgICAg
ICAgICAgIEFTU0VSVChzaXplKTsKICAgICB9Ci0gICAgCi0gICAgLy8gSWYgd2UgcmVhY2ggdGhp
cyBwb2ludCB3ZSd2ZSBjaG9wcGVkIGRvd24gdG8gb25lIGVsZW1lbnQsIG5vIG5lZWQgdG8gY2hl
Y2sgaXQgbWF0Y2hlcwotICAgIEFTU0VSVChzaXplID09IDEpOwotICAgIEFTU0VSVChrZXkgPT0g
ZXh0cmFjdEtleSgmYXJyYXlbMF0pKTsKKworICAgIC8vIEluIGNhc2Ugb2YgQmluYXJ5U2VhcmNo
TW9kZSA9IEtleU11c3RCZVByZXNlbnRJbkFycmF5IGlmIHdlIHJlYWNoIHRoaXMgcG9pbnQKKyAg
ICAvLyB3ZSd2ZSBjaG9wcGVkIGRvd24gdG8gb25lIGVsZW1lbnQsIG5vIG5lZWQgdG8gY2hlY2sg
aXQgbWF0Y2hlcworICAgIGlmIChtb2RlID09IEtleU11c3RCZVByZXNlbnRJbkFycmF5KSB7Cisg
ICAgICAgIEFTU0VSVChzaXplID09IDEpOworICAgICAgICBBU1NFUlQoa2V5ID09IGV4dHJhY3RL
ZXkoJmFycmF5WzBdKSk7CisgICAgfQorCiAgICAgcmV0dXJuICZhcnJheVswXTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IGQ5MmJmNzguLjAzMGJhMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAor
MjAxMS0wNi0yOCAgT2xpdmVyIFZhcmdhICA8VmFyZ2EuT2xpdmVyQHN0dWQudS1zemVnZWQuaHU+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVwbGFj
ZSB0aGUgbGluZWFyIHNlYXJjaCB0byBiaW5hcnkgc2VhcmNoIG9uIG9yZGVyZWQgbGlzdC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYxMDI1CisKKyAg
ICAgICAgU3BlZWQgdXAgU1ZHU01JTEVsZW1lbnQ6OmZpbmRJbnN0YW5jZVRpbWUgYmVjYXVzZQor
ICAgICAgICB0aGUgcHJldmlvdXMgc2VhcmNoZXMgZnJvbSB0aGUgYmVnaW5uaW5nIHdhcyBub3Qg
ZWZmaWNpZW50LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyB0aGlzIGlzIG9ubHkgYSAgcGVyZm9y
bWFuY2UgdHdlYWsuCisKKyAgICAgICAgKiBzdmcvYW5pbWF0aW9uL1NWR1NNSUxFbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OmV4dHJhY3RUaW1lRnJvbVZlY3Rvcik6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdTTUlMRWxlbWVudDo6ZmluZEluc3RhbmNlVGltZSk6CisKIDIwMTEtMDYtMjcg
IEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBVbnJl
dmlld2VkLiBGaXggc3R5bGUgZXJyb3IgcmVsYXRlZCB0byB3cm9uZyBpbmNsdWRlIG9yZGVyLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TVkdTTUlMRWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NWR1NNSUxFbGVtZW50LmNwcAppbmRl
eCAwZmYzNjdlLi4yOWFjMGQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0
aW9uL1NWR1NNSUxFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9u
L1NWR1NNSUxFbGVtZW50LmNwcApAQCAtNjE2LDI1ICs2MTYsNTIgQEAgdm9pZCBTVkdTTUlMRWxl
bWVudDo6YWRkRW5kVGltZShTTUlMVGltZSB0aW1lKQogICAgIGVuZExpc3RDaGFuZ2VkKCk7CiB9
CiAgICAgCitpbmxpbmUgU01JTFRpbWUgZXh0cmFjdFRpbWVGcm9tVmVjdG9yKGNvbnN0IFNNSUxU
aW1lKiBwb3NpdGlvbikKK3sKKyAgICByZXR1cm4gKnBvc2l0aW9uOworfQorCiBTTUlMVGltZSBT
VkdTTUlMRWxlbWVudDo6ZmluZEluc3RhbmNlVGltZShCZWdpbk9yRW5kIGJlZ2luT3JFbmQsIFNN
SUxUaW1lIG1pbmltdW1UaW1lLCBib29sIGVxdWFsc01pbmltdW1PSykgY29uc3QKIHsKLSAgICAv
LyBGSVhNRTogVGhpcyBzZWFyY2hlcyBmcm9tIHRoZSBiZWdpbm5pbmcgd2hpY2ggaXMgaW5lZmZp
Y2llbnQuIFRoZSBsaXN0IGlzIHVzdWFsbHkgbm90IGxvbmcKLSAgICAvLyAob25lIGVudHJ5IGlu
IGNvbW1vbiBjYXNlcykgYnV0IHlvdSBjYW4gY29uc3RydWN0IGEgY2FzZSB3aGVyZSBpdCBkb2Vz
IGdyb3cuCiAgICAgY29uc3QgVmVjdG9yPFNNSUxUaW1lPiYgbGlzdCA9IGJlZ2luT3JFbmQgPT0g
QmVnaW4gPyBtX2JlZ2luVGltZXMgOiBtX2VuZFRpbWVzOwotICAgIGZvciAodW5zaWduZWQgbiA9
IDA7IG4gPCBsaXN0LnNpemUoKTsgKytuKSB7Ci0gICAgICAgIFNNSUxUaW1lIHRpbWUgPSBsaXN0
W25dOwotICAgICAgICBBU1NFUlQoIXRpbWUuaXNVbnJlc29sdmVkKCkpOwotICAgICAgICBpZiAo
dGltZS5pc0luZGVmaW5pdGUoKSAmJiBiZWdpbk9yRW5kID09IEJlZ2luKSB7Ci0gICAgICAgICAg
ICAvLyAiVGhlIHNwZWNpYWwgdmFsdWUgImluZGVmaW5pdGUiIGRvZXMgbm90IHlpZWxkIGFuIGlu
c3RhbmNlIHRpbWUgaW4gdGhlIGJlZ2luIGxpc3QuIgotICAgICAgICAgICAgY29udGludWU7Ci0g
ICAgICAgIH0KLSAgICAgICAgaWYgKGVxdWFsc01pbmltdW1PSykgewotICAgICAgICAgICAgaWYg
KHRpbWUgPj0gbWluaW11bVRpbWUpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHRpbWU7Ci0gICAg
ICAgIH0gZWxzZSBpZiAodGltZSA+IG1pbmltdW1UaW1lKQotICAgICAgICAgICAgcmV0dXJuIHRp
bWU7CisgICAgaW50IHNpemVPZkxpc3QgPSBsaXN0LnNpemUoKTsKKworICAgIGlmICghc2l6ZU9m
TGlzdCkKKyAgICAgICAgcmV0dXJuIGJlZ2luT3JFbmQgPT0gQmVnaW4gPyBTTUlMVGltZTo6dW5y
ZXNvbHZlZCgpIDogU01JTFRpbWU6OmluZGVmaW5pdGUoKTsKKworICAgIGNvbnN0IFNNSUxUaW1l
KiByZXN1bHQgPSBiaW5hcnlTZWFyY2g8Y29uc3QgU01JTFRpbWUsIFNNSUxUaW1lLCBleHRyYWN0
VGltZUZyb21WZWN0b3I+KGxpc3QuYmVnaW4oKSwgc2l6ZU9mTGlzdCwgbWluaW11bVRpbWUsIFdU
Rjo6S2V5TXVzdE5vdEJlUHJlc2VudEluQXJyYXkpOworICAgIGludCBpbmRleE9mUmVzdWx0ID0g
cmVzdWx0IC1saXN0LmJlZ2luKCk7CisKKyAgICBpZiAoc2l6ZU9mTGlzdCAtIDEgPiBpbmRleE9m
UmVzdWx0ICYmIGxpc3RbaW5kZXhPZlJlc3VsdF0gPCBtaW5pbXVtVGltZSkKKyAgICAgICAgKytp
bmRleE9mUmVzdWx0OworCisgICAgQVNTRVJUKGluZGV4T2ZSZXN1bHQgPCBzaXplT2ZMaXN0KTsK
KworICAgIC8vICJUaGUgc3BlY2lhbCB2YWx1ZSAiaW5kZWZpbml0ZSIgZG9lcyBub3QgeWllbGQg
YW4gaW5zdGFuY2UgdGltZSBpbiB0aGUgYmVnaW4gbGlzdC4iCisgICAgaWYgKGxpc3RbaW5kZXhP
ZlJlc3VsdF0uaXNJbmRlZmluaXRlKCkgJiYgYmVnaW5PckVuZCA9PSBCZWdpbikKKyAgICAgICAg
cmV0dXJuIFNNSUxUaW1lOjp1bnJlc29sdmVkKCk7CisKKyAgICBpZiAobGlzdFtpbmRleE9mUmVz
dWx0XSA8IG1pbmltdW1UaW1lKQorICAgICAgICByZXR1cm4gYmVnaW5PckVuZCA9PSBCZWdpbiA/
IFNNSUxUaW1lOjp1bnJlc29sdmVkKCkgOiBTTUlMVGltZTo6aW5kZWZpbml0ZSgpOworCisgICAg
Ly8gSWYgdGhlIGVxdWFscyBpcyBOT1QgYWNjZXB0ZWQsIHdlIGhhdmUgdG8gZmluZCBhIGJpZ2dl
ciBvbmUuCisgICAgaWYgKGxpc3RbaW5kZXhPZlJlc3VsdF0gPT0gbWluaW11bVRpbWUgJiYgIWVx
dWFsc01pbmltdW1PSykgeworICAgICAgICBpZiAoaW5kZXhPZlJlc3VsdCArIDEgPj0gc2l6ZU9m
TGlzdCkKKyAgICAgICAgICAgIHJldHVybiBiZWdpbk9yRW5kID09IEJlZ2luID8gU01JTFRpbWU6
OnVucmVzb2x2ZWQoKSA6IFNNSUxUaW1lOjppbmRlZmluaXRlKCk7CiAgICAgfQotICAgIHJldHVy
biBiZWdpbk9yRW5kID09IEJlZ2luID8gU01JTFRpbWU6OnVucmVzb2x2ZWQoKSA6IFNNSUxUaW1l
OjppbmRlZmluaXRlKCk7CisKKyAgICB3aGlsZSAobGlzdFtpbmRleE9mUmVzdWx0XSA9PSBsaXN0
W2luZGV4T2ZSZXN1bHQgKyAxXSAmJiBpbmRleE9mUmVzdWx0IDwgc2l6ZU9mTGlzdCAtIDEpCisg
ICAgICAgICsraW5kZXhPZlJlc3VsdDsKKworICAgIGlmIChsaXN0W2luZGV4T2ZSZXN1bHRdID4g
bWluaW11bVRpbWUpCisgICAgICAgIHJldHVybiBsaXN0W2luZGV4T2ZSZXN1bHRdOworICAgIGlm
IChsaXN0W2luZGV4T2ZSZXN1bHRdID09IG1pbmltdW1UaW1lKSB7CisgICAgICAgIGlmIChpbmRl
eE9mUmVzdWx0ICsgMSA8IHNpemVPZkxpc3QgLSAxKQorICAgICAgICAgICAgcmV0dXJuIGxpc3Rb
aW5kZXhPZlJlc3VsdCArIDFdOworICAgICAgICByZXR1cm4gYmVnaW5PckVuZCA9PSBCZWdpbiA/
IFNNSUxUaW1lOjp1bnJlc29sdmVkKCkgOiBTTUlMVGltZTo6aW5kZWZpbml0ZSgpOworICAgIH0K
KworICAgIHJldHVybiBsaXN0W2luZGV4T2ZSZXN1bHRdOwogfQogCiBTTUlMVGltZSBTVkdTTUlM
RWxlbWVudDo6cmVwZWF0aW5nRHVyYXRpb24oKSBjb25zdAotLSAKMS43LjAuNAoK
</data>
<flag name="review"
          id="93248"
          type_id="1"
          status="-"
          setter="zimmermann"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>98900</attachid>
            <date>2011-06-28 04:45:37 -0700</date>
            <delta_ts>2011-06-29 23:18:48 -0700</delta_ts>
            <desc>Speed up SVGSMILElement::findInstanceTime</desc>
            <filename>0001-Speed-up-SVGSMILElement-findInstanceTime.patch</filename>
            <type>text/plain</type>
            <size>7687</size>
            <attacher name="Oliver Varga">voliver</attacher>
            
              <data encoding="base64">RnJvbSAyMjdmYTlhOGFhYzg5MmZjMjE1ZTIyODY1MGU4ZWE3MmY2Mzg3Y2M0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBPbGl2ZXIgVmFyZ2EgPFZhcmdhLk9saXZlckBzdHVkLnUtc3pl
Z2VkLmh1PgpEYXRlOiBUdWUsIDI4IEp1biAyMDExIDEzOjQwOjM4ICswMjAwClN1YmplY3Q6IFtQ
QVRDSF0gU3BlZWQgdXAgU1ZHU01JTEVsZW1lbnQ6OmZpbmRJbnN0YW5jZVRpbWUKCi0tLQogU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgfCAgIDEyICsrKysr
CiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1N0ZExpYkV4dHJhcy5oICAgICAgICB8ICAgMzEg
KysrKysrKystLS0tCiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAg
ICAgICB8ICAgMTYgKysrKysrCiBTb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NWR1NNSUxF
bGVtZW50LmNwcCB8ICAgNTcgKysrKysrKysrKysrKysrKystLS0tLS0KIDQgZmlsZXMgY2hhbmdl
ZCwgOTAgaW5zZXJ0aW9ucygrKSwgMjYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VM
b2cKaW5kZXggNjFiNGFkMy4uYWE2M2UxOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTUgQEAKKzIwMTEtMDYtMjggIE9saXZlciBWYXJnYSAgPFZhcmdhLk9saXZlckBzdHVk
LnUtc3plZ2VkLmh1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZCBhIG5ldyBwYXJhbWV0ZXIgdG8gU3RkbGliRXh0cmFzLmg6OmJpbmFyeVNlcmFy
Y2ggZnVuY3Rpb24KKyAgICAgICAgdG8gYWxzbyBoYW5kbGUgY2FzZXMgd2hlbiB0aGUgYXJyYXkg
ZG9lcyBub3QgY29udGFpbiB0aGUga2V5IHZhbHVlLgorICAgICAgICBUaGlzIGlzIG5lZWRlZCBm
b3IgYW4gc3ZnIGZ1bmN0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NjEwMjUKKworICAgICAgICAqIHd0Zi9TdGRMaWJFeHRyYXMuaDoKKyAgICAg
ICAgKFdURjo6YmluYXJ5U2VhcmNoKToKKwogMjAxMS0wNi0yNyAgUnlvc3VrZSBOaXdhICA8cm5p
d2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBCdWlsZCBmaXggYXR0ZW1wdCBhZnRlciByODk4ODUu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1N0ZExpYkV4dHJhcy5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9TdGRMaWJFeHRyYXMuaAppbmRleCBhODU4MmU5Li44
MTU1MWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1N0ZExpYkV4dHJh
cy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvU3RkTGliRXh0cmFzLmgKQEAgLTEy
MywxOSArMTIzLDIzIEBAIHRlbXBsYXRlPHNpemVfdCBkaXZpc29yPiBpbmxpbmUgc2l6ZV90IHJv
dW5kVXBUb011bHRpcGxlT2Yoc2l6ZV90IHgpCiAgICAgcmV0dXJuICh4ICsgcmVtYWluZGVyTWFz
aykgJiB+cmVtYWluZGVyTWFzazsKIH0KIAorZW51bSBCaW5hcnlTZWFyY2hNb2RlIHsKKyAgICBL
ZXlNdXN0QmVQcmVzZW50SW5BcnJheSwKKyAgICBLZXlNdXN0Tm90QmVQcmVzZW50SW5BcnJheQor
fTsKKwogLy8gQmluYXJ5IHNlYXJjaCBhbGdvcml0aG0sIGNhbGxzIGV4dHJhY3RLZXkgb24gcHJl
LXNvcnRlZCBlbGVtZW50cyBpbiBhcnJheSwKIC8vIGNvbXBhcmVzIHJlc3VsdCB3aXRoIGtleSAo
S2V5VHlwZXMgc2hvdWxkIGJlIGNvbXBhcmFibGUgd2l0aCAnLS0nLCAnPCcsICc+JykuCi0vLyBP
cHRpbWl6ZWQgZm9yIGNhc2VzIHdoZXJlIHRoZSBhcnJheSBjb250YWlucyB0aGUga2V5LCBjaGVj
a2VkIGJ5IGFzc2VydGlvbnMuCiB0ZW1wbGF0ZTx0eXBlbmFtZSBBcnJheVR5cGUsIHR5cGVuYW1l
IEtleVR5cGUsIEtleVR5cGUoKmV4dHJhY3RLZXkpKEFycmF5VHlwZSopPgotaW5saW5lIEFycmF5
VHlwZSogYmluYXJ5U2VhcmNoKEFycmF5VHlwZSogYXJyYXksIHNpemVfdCBzaXplLCBLZXlUeXBl
IGtleSkKK2lubGluZSBBcnJheVR5cGUqIGJpbmFyeVNlYXJjaChBcnJheVR5cGUqIGFycmF5LCBz
aXplX3Qgc2l6ZSwgS2V5VHlwZSBrZXksIEJpbmFyeVNlYXJjaE1vZGUgbW9kZSA9IEtleU11c3RC
ZVByZXNlbnRJbkFycmF5KQogewotICAgIC8vIFRoZSBhcnJheSBtdXN0IGNvbnRhaW4gYXQgbGVh
c3Qgb25lIGVsZW1lbnQgKHByZS1jb25kaXRpb24sIGFycmF5IGRvZXMgY29uYXRpbiBrZXkpLgot
ICAgIC8vIElmIHRoZSBhcnJheSBvbmx5IGNvbnRhaW5zIG9uZSBlbGVtZW50LCBubyBuZWVkIHRv
IGRvIHRoZSBjb21wYXJpc29uLgorICAgIC8vIFRoZSBhcnJheSBtdXN0IGNvbnRhaW4gYXQgbGVh
c3Qgb25lIGVsZW1lbnQgKHByZS1jb25kaXRpb24sIGFycmF5IGRvZXMgY29udGFpbiBrZXkpLgor
ICAgIC8vIElmIHRoZSBhcnJheSBjb250YWlucyBvbmx5IG9uZSBlbGVtZW50LCBubyBuZWVkIHRv
IGRvIHRoZSBjb21wYXJpc29uLgogICAgIHdoaWxlIChzaXplID4gMSkgewogICAgICAgICAvLyBQ
aWNrIGFuIGVsZW1lbnQgdG8gY2hlY2ssIGhhbGYgd2F5IHRocm91Z2ggdGhlIGFycmF5LCBhbmQg
cmVhZCB0aGUgdmFsdWUuCiAgICAgICAgIGludCBwb3MgPSAoc2l6ZSAtIDEpID4+IDE7CiAgICAg
ICAgIEtleVR5cGUgdmFsID0gZXh0cmFjdEtleSgmYXJyYXlbcG9zXSk7Ci0gICAgICAgIAorCiAg
ICAgICAgIC8vIElmIHRoZSBrZXkgbWF0Y2hlcywgc3VjY2VzcyEKICAgICAgICAgaWYgKHZhbCA9
PSBrZXkpCiAgICAgICAgICAgICByZXR1cm4gJmFycmF5W3Bvc107CkBAIC0xNDksMTMgKzE1Mywx
OCBAQCBpbmxpbmUgQXJyYXlUeXBlKiBiaW5hcnlTZWFyY2goQXJyYXlUeXBlKiBhcnJheSwgc2l6
ZV90IHNpemUsIEtleVR5cGUga2V5KQogICAgICAgICAgICAgYXJyYXkgKz0gKHBvcyArIDEpOwog
ICAgICAgICB9CiAKLSAgICAgICAgLy8gJ3NpemUnIHNob3VsZCBuZXZlciByZWFjaCB6ZXJvLgot
ICAgICAgICBBU1NFUlQoc2l6ZSk7CisgICAgICAgIC8vIEluIGNhc2Ugb2YgQmluYXJ5U2VhcmNo
TW9kZSA9IEtleU11c3RCZVByZXNlbnRJbkFycmF5ICdzaXplJyBzaG91bGQgbmV2ZXIgcmVhY2gg
emVyby4KKyAgICAgICAgaWYgKG1vZGUgPT0gS2V5TXVzdEJlUHJlc2VudEluQXJyYXkpCisgICAg
ICAgICAgICBBU1NFUlQoc2l6ZSk7CiAgICAgfQotICAgIAotICAgIC8vIElmIHdlIHJlYWNoIHRo
aXMgcG9pbnQgd2UndmUgY2hvcHBlZCBkb3duIHRvIG9uZSBlbGVtZW50LCBubyBuZWVkIHRvIGNo
ZWNrIGl0IG1hdGNoZXMKLSAgICBBU1NFUlQoc2l6ZSA9PSAxKTsKLSAgICBBU1NFUlQoa2V5ID09
IGV4dHJhY3RLZXkoJmFycmF5WzBdKSk7CisKKyAgICAvLyBJbiBjYXNlIG9mIEJpbmFyeVNlYXJj
aE1vZGUgPSBLZXlNdXN0QmVQcmVzZW50SW5BcnJheSBpZiB3ZSByZWFjaCB0aGlzIHBvaW50Cisg
ICAgLy8gd2UndmUgY2hvcHBlZCBkb3duIHRvIG9uZSBlbGVtZW50LCBubyBuZWVkIHRvIGNoZWNr
IGl0IG1hdGNoZXMKKyAgICBpZiAobW9kZSA9PSBLZXlNdXN0QmVQcmVzZW50SW5BcnJheSkgewor
ICAgICAgICBBU1NFUlQoc2l6ZSA9PSAxKTsKKyAgICAgICAgQVNTRVJUKGtleSA9PSBleHRyYWN0
S2V5KCZhcnJheVswXSkpOworICAgIH0KKwogICAgIHJldHVybiAmYXJyYXlbMF07CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCBkOTJiZjc4Li4xOGI4ZjA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMTEtMDYtMjggIE9saXZlciBWYXJnYSAgPFZhcmdhLk9saXZlckBzdHVkLnUtc3plZ2VkLmh1
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlcGxh
Y2UgdGhlIGxpbmVhciBzZWFyY2ggdG8gYmluYXJ5IHNlYXJjaCBvbiBvcmRlcmVkIGxpc3QuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MTAyNQorCisg
ICAgICAgIFNwZWVkIHVwIFNWR1NNSUxFbGVtZW50OjpmaW5kSW5zdGFuY2VUaW1lIGJlY2F1c2UK
KyAgICAgICAgdGhlIHByZXZpb3VzIHNlYXJjaGVzIGZyb20gdGhlIGJlZ2lubmluZyB3YXMgbm90
IGVmZmljaWVudC4KKworICAgICAgICBObyBuZXcgdGVzdHMgdGhpcyBpcyBvbmx5IGEgcGVyZm9y
bWFuY2UgdHdlYWsuCisKKyAgICAgICAgKiBzdmcvYW5pbWF0aW9uL1NWR1NNSUxFbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OmV4dHJhY3RUaW1lRnJvbVZlY3Rvcik6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdTTUlMRWxlbWVudDo6ZmluZEluc3RhbmNlVGltZSk6CisKIDIwMTEtMDYtMjcg
IEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBVbnJl
dmlld2VkLiBGaXggc3R5bGUgZXJyb3IgcmVsYXRlZCB0byB3cm9uZyBpbmNsdWRlIG9yZGVyLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TVkdTTUlMRWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NWR1NNSUxFbGVtZW50LmNwcAppbmRl
eCAwZmYzNjdlLi4wZGIzZTI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0
aW9uL1NWR1NNSUxFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9u
L1NWR1NNSUxFbGVtZW50LmNwcApAQCAtNjE2LDI1ICs2MTYsNTIgQEAgdm9pZCBTVkdTTUlMRWxl
bWVudDo6YWRkRW5kVGltZShTTUlMVGltZSB0aW1lKQogICAgIGVuZExpc3RDaGFuZ2VkKCk7CiB9
CiAgICAgCitpbmxpbmUgU01JTFRpbWUgZXh0cmFjdFRpbWVGcm9tVmVjdG9yKGNvbnN0IFNNSUxU
aW1lKiBwb3NpdGlvbikKK3sKKyAgICByZXR1cm4gKnBvc2l0aW9uOworfQorCiBTTUlMVGltZSBT
VkdTTUlMRWxlbWVudDo6ZmluZEluc3RhbmNlVGltZShCZWdpbk9yRW5kIGJlZ2luT3JFbmQsIFNN
SUxUaW1lIG1pbmltdW1UaW1lLCBib29sIGVxdWFsc01pbmltdW1PSykgY29uc3QKIHsKLSAgICAv
LyBGSVhNRTogVGhpcyBzZWFyY2hlcyBmcm9tIHRoZSBiZWdpbm5pbmcgd2hpY2ggaXMgaW5lZmZp
Y2llbnQuIFRoZSBsaXN0IGlzIHVzdWFsbHkgbm90IGxvbmcKLSAgICAvLyAob25lIGVudHJ5IGlu
IGNvbW1vbiBjYXNlcykgYnV0IHlvdSBjYW4gY29uc3RydWN0IGEgY2FzZSB3aGVyZSBpdCBkb2Vz
IGdyb3cuCiAgICAgY29uc3QgVmVjdG9yPFNNSUxUaW1lPiYgbGlzdCA9IGJlZ2luT3JFbmQgPT0g
QmVnaW4gPyBtX2JlZ2luVGltZXMgOiBtX2VuZFRpbWVzOwotICAgIGZvciAodW5zaWduZWQgbiA9
IDA7IG4gPCBsaXN0LnNpemUoKTsgKytuKSB7Ci0gICAgICAgIFNNSUxUaW1lIHRpbWUgPSBsaXN0
W25dOwotICAgICAgICBBU1NFUlQoIXRpbWUuaXNVbnJlc29sdmVkKCkpOwotICAgICAgICBpZiAo
dGltZS5pc0luZGVmaW5pdGUoKSAmJiBiZWdpbk9yRW5kID09IEJlZ2luKSB7Ci0gICAgICAgICAg
ICAvLyAiVGhlIHNwZWNpYWwgdmFsdWUgImluZGVmaW5pdGUiIGRvZXMgbm90IHlpZWxkIGFuIGlu
c3RhbmNlIHRpbWUgaW4gdGhlIGJlZ2luIGxpc3QuIgotICAgICAgICAgICAgY29udGludWU7Ci0g
ICAgICAgIH0KLSAgICAgICAgaWYgKGVxdWFsc01pbmltdW1PSykgewotICAgICAgICAgICAgaWYg
KHRpbWUgPj0gbWluaW11bVRpbWUpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHRpbWU7Ci0gICAg
ICAgIH0gZWxzZSBpZiAodGltZSA+IG1pbmltdW1UaW1lKQotICAgICAgICAgICAgcmV0dXJuIHRp
bWU7CisgICAgaW50IHNpemVPZkxpc3QgPSBsaXN0LnNpemUoKTsKKworICAgIGlmICghc2l6ZU9m
TGlzdCkKKyAgICAgICAgcmV0dXJuIGJlZ2luT3JFbmQgPT0gQmVnaW4gPyBTTUlMVGltZTo6dW5y
ZXNvbHZlZCgpIDogU01JTFRpbWU6OmluZGVmaW5pdGUoKTsKKworICAgIGNvbnN0IFNNSUxUaW1l
KiByZXN1bHQgPSBiaW5hcnlTZWFyY2g8Y29uc3QgU01JTFRpbWUsIFNNSUxUaW1lLCBleHRyYWN0
VGltZUZyb21WZWN0b3I+KGxpc3QuYmVnaW4oKSwgc2l6ZU9mTGlzdCwgbWluaW11bVRpbWUsIFdU
Rjo6S2V5TXVzdE5vdEJlUHJlc2VudEluQXJyYXkpOworICAgIGludCBpbmRleE9mUmVzdWx0ID0g
cmVzdWx0IC0gbGlzdC5iZWdpbigpOworCisgICAgaWYgKHNpemVPZkxpc3QgLSAxID4gaW5kZXhP
ZlJlc3VsdCAmJiBsaXN0W2luZGV4T2ZSZXN1bHRdIDwgbWluaW11bVRpbWUpCisgICAgICAgICsr
aW5kZXhPZlJlc3VsdDsKKworICAgIEFTU0VSVChpbmRleE9mUmVzdWx0IDwgc2l6ZU9mTGlzdCk7
CisKKyAgICAvLyAiVGhlIHNwZWNpYWwgdmFsdWUgImluZGVmaW5pdGUiIGRvZXMgbm90IHlpZWxk
IGFuIGluc3RhbmNlIHRpbWUgaW4gdGhlIGJlZ2luIGxpc3QuIgorICAgIGlmIChsaXN0W2luZGV4
T2ZSZXN1bHRdLmlzSW5kZWZpbml0ZSgpICYmIGJlZ2luT3JFbmQgPT0gQmVnaW4pCisgICAgICAg
IHJldHVybiBTTUlMVGltZTo6dW5yZXNvbHZlZCgpOworCisgICAgaWYgKGxpc3RbaW5kZXhPZlJl
c3VsdF0gPCBtaW5pbXVtVGltZSkKKyAgICAgICAgcmV0dXJuIGJlZ2luT3JFbmQgPT0gQmVnaW4g
PyBTTUlMVGltZTo6dW5yZXNvbHZlZCgpIDogU01JTFRpbWU6OmluZGVmaW5pdGUoKTsKKworICAg
IC8vIElmIHRoZSBlcXVhbHMgaXMgTk9UIGFjY2VwdGVkLCB3ZSBoYXZlIHRvIGZpbmQgYSBiaWdn
ZXIgb25lLgorICAgIGlmIChsaXN0W2luZGV4T2ZSZXN1bHRdID09IG1pbmltdW1UaW1lICYmICFl
cXVhbHNNaW5pbXVtT0spIHsKKyAgICAgICAgaWYgKGluZGV4T2ZSZXN1bHQgKyAxID49IHNpemVP
Zkxpc3QpCisgICAgICAgICAgICByZXR1cm4gYmVnaW5PckVuZCA9PSBCZWdpbiA/IFNNSUxUaW1l
Ojp1bnJlc29sdmVkKCkgOiBTTUlMVGltZTo6aW5kZWZpbml0ZSgpOwogICAgIH0KLSAgICByZXR1
cm4gYmVnaW5PckVuZCA9PSBCZWdpbiA/IFNNSUxUaW1lOjp1bnJlc29sdmVkKCkgOiBTTUlMVGlt
ZTo6aW5kZWZpbml0ZSgpOworCisgICAgd2hpbGUgKGxpc3RbaW5kZXhPZlJlc3VsdF0gPT0gbGlz
dFtpbmRleE9mUmVzdWx0ICsgMV0gJiYgaW5kZXhPZlJlc3VsdCA8IHNpemVPZkxpc3QgLSAxKQor
ICAgICAgICArK2luZGV4T2ZSZXN1bHQ7CisKKyAgICBpZiAobGlzdFtpbmRleE9mUmVzdWx0XSA+
IG1pbmltdW1UaW1lKQorICAgICAgICByZXR1cm4gbGlzdFtpbmRleE9mUmVzdWx0XTsKKyAgICBp
ZiAobGlzdFtpbmRleE9mUmVzdWx0XSA9PSBtaW5pbXVtVGltZSkgeworICAgICAgICBpZiAoaW5k
ZXhPZlJlc3VsdCArIDEgPCBzaXplT2ZMaXN0IC0gMSkKKyAgICAgICAgICAgIHJldHVybiBsaXN0
W2luZGV4T2ZSZXN1bHQgKyAxXTsKKyAgICAgICAgcmV0dXJuIGJlZ2luT3JFbmQgPT0gQmVnaW4g
PyBTTUlMVGltZTo6dW5yZXNvbHZlZCgpIDogU01JTFRpbWU6OmluZGVmaW5pdGUoKTsKKyAgICB9
CisKKyAgICByZXR1cm4gbGlzdFtpbmRleE9mUmVzdWx0XTsKIH0KIAogU01JTFRpbWUgU1ZHU01J
TEVsZW1lbnQ6OnJlcGVhdGluZ0R1cmF0aW9uKCkgY29uc3QKLS0gCjEuNy4wLjQKCg==
</data>
<flag name="review"
          id="93266"
          type_id="1"
          status="-"
          setter="zimmermann"
    />
    <flag name="commit-queue"
          id="93267"
          type_id="3"
          status="-"
          setter="zimmermann"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>99241</attachid>
            <date>2011-06-29 23:18:48 -0700</date>
            <delta_ts>2011-07-12 02:13:05 -0700</delta_ts>
            <desc>Speed up SVGSMILElement::findInstanceTime</desc>
            <filename>0001-Speed-up-SVGSMILElement-findInstanceTime.patch</filename>
            <type>text/plain</type>
            <size>7742</size>
            <attacher name="Oliver Varga">voliver</attacher>
            
              <data encoding="base64">RnJvbSBkY2M0MWQ4MWNjYjMyNWZlOTU4N2Y2M2I5MWJmOWEyNWI0MjZkMjc1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBPbGl2ZXIgVmFyZ2EgPFZhcmdhLk9saXZlckBzdHVkLnUtc3pl
Z2VkLmh1PgpEYXRlOiBXZWQsIDI5IEp1biAyMDExIDA4OjE0OjMyICswMjAwClN1YmplY3Q6IFtQ
QVRDSF0gU3BlZWQgdXAgU1ZHU01JTEVsZW1lbnQ6OmZpbmRJbnN0YW5jZVRpbWUKCi0tLQogU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgfCAgIDE0ICsrKysr
KwogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9TdGRMaWJFeHRyYXMuaCAgICAgICAgfCAgIDMx
ICsrKysrKysrLS0tLQogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAg
ICAgICAgfCAgIDE2ICsrKysrKwogU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TVkdTTUlM
RWxlbWVudC5jcHAgfCAgIDU3ICsrKysrKysrKysrKysrKysrLS0tLS0tCiA0IGZpbGVzIGNoYW5n
ZWQsIDkyIGluc2VydGlvbnMoKyksIDI2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCmluZGV4IDYxYjRhZDMuLjY5NmFkNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE3IEBACisyMDExLTA2LTI4ICBPbGl2ZXIgVmFyZ2EgIDxWYXJnYS5PbGl2ZXJAc3R1
ZC51LXN6ZWdlZC5odT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBTcGVlZCB1cCBTVkdTTUlMRWxlbWVudDo6ZmluZEluc3RhbmNlVGltZS4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYxMDI1CisKKyAgICAg
ICAgQWRkIGEgbmV3IHBhcmFtZXRlciB0byBTdGRsaWJFeHRyYXMuaDo6YmluYXJ5U2VyYXJjaCBm
dW5jdGlvbgorICAgICAgICB0byBhbHNvIGhhbmRsZSBjYXNlcyB3aGVuIHRoZSBhcnJheSBkb2Vz
IG5vdCBjb250YWluIHRoZSBrZXkgdmFsdWUuCisgICAgICAgIFRoaXMgaXMgbmVlZGVkIGZvciBh
biBzdmcgZnVuY3Rpb24uCisKKyAgICAgICAgKiB3dGYvU3RkTGliRXh0cmFzLmg6CisgICAgICAg
IChXVEY6OmJpbmFyeVNlYXJjaCk6CisKIDIwMTEtMDYtMjcgIFJ5b3N1a2UgTml3YSAgPHJuaXdh
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgQnVpbGQgZml4IGF0dGVtcHQgYWZ0ZXIgcjg5ODg1Lgpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9TdGRMaWJFeHRyYXMuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvU3RkTGliRXh0cmFzLmgKaW5kZXggYTg1ODJlOS4uODE1
NTFmZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9TdGRMaWJFeHRyYXMu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1N0ZExpYkV4dHJhcy5oCkBAIC0xMjMs
MTkgKzEyMywyMyBAQCB0ZW1wbGF0ZTxzaXplX3QgZGl2aXNvcj4gaW5saW5lIHNpemVfdCByb3Vu
ZFVwVG9NdWx0aXBsZU9mKHNpemVfdCB4KQogICAgIHJldHVybiAoeCArIHJlbWFpbmRlck1hc2sp
ICYgfnJlbWFpbmRlck1hc2s7CiB9CiAKK2VudW0gQmluYXJ5U2VhcmNoTW9kZSB7CisgICAgS2V5
TXVzdEJlUHJlc2VudEluQXJyYXksCisgICAgS2V5TXVzdE5vdEJlUHJlc2VudEluQXJyYXkKK307
CisKIC8vIEJpbmFyeSBzZWFyY2ggYWxnb3JpdGhtLCBjYWxscyBleHRyYWN0S2V5IG9uIHByZS1z
b3J0ZWQgZWxlbWVudHMgaW4gYXJyYXksCiAvLyBjb21wYXJlcyByZXN1bHQgd2l0aCBrZXkgKEtl
eVR5cGVzIHNob3VsZCBiZSBjb21wYXJhYmxlIHdpdGggJy0tJywgJzwnLCAnPicpLgotLy8gT3B0
aW1pemVkIGZvciBjYXNlcyB3aGVyZSB0aGUgYXJyYXkgY29udGFpbnMgdGhlIGtleSwgY2hlY2tl
ZCBieSBhc3NlcnRpb25zLgogdGVtcGxhdGU8dHlwZW5hbWUgQXJyYXlUeXBlLCB0eXBlbmFtZSBL
ZXlUeXBlLCBLZXlUeXBlKCpleHRyYWN0S2V5KShBcnJheVR5cGUqKT4KLWlubGluZSBBcnJheVR5
cGUqIGJpbmFyeVNlYXJjaChBcnJheVR5cGUqIGFycmF5LCBzaXplX3Qgc2l6ZSwgS2V5VHlwZSBr
ZXkpCitpbmxpbmUgQXJyYXlUeXBlKiBiaW5hcnlTZWFyY2goQXJyYXlUeXBlKiBhcnJheSwgc2l6
ZV90IHNpemUsIEtleVR5cGUga2V5LCBCaW5hcnlTZWFyY2hNb2RlIG1vZGUgPSBLZXlNdXN0QmVQ
cmVzZW50SW5BcnJheSkKIHsKLSAgICAvLyBUaGUgYXJyYXkgbXVzdCBjb250YWluIGF0IGxlYXN0
IG9uZSBlbGVtZW50IChwcmUtY29uZGl0aW9uLCBhcnJheSBkb2VzIGNvbmF0aW4ga2V5KS4KLSAg
ICAvLyBJZiB0aGUgYXJyYXkgb25seSBjb250YWlucyBvbmUgZWxlbWVudCwgbm8gbmVlZCB0byBk
byB0aGUgY29tcGFyaXNvbi4KKyAgICAvLyBUaGUgYXJyYXkgbXVzdCBjb250YWluIGF0IGxlYXN0
IG9uZSBlbGVtZW50IChwcmUtY29uZGl0aW9uLCBhcnJheSBkb2VzIGNvbnRhaW4ga2V5KS4KKyAg
ICAvLyBJZiB0aGUgYXJyYXkgY29udGFpbnMgb25seSBvbmUgZWxlbWVudCwgbm8gbmVlZCB0byBk
byB0aGUgY29tcGFyaXNvbi4KICAgICB3aGlsZSAoc2l6ZSA+IDEpIHsKICAgICAgICAgLy8gUGlj
ayBhbiBlbGVtZW50IHRvIGNoZWNrLCBoYWxmIHdheSB0aHJvdWdoIHRoZSBhcnJheSwgYW5kIHJl
YWQgdGhlIHZhbHVlLgogICAgICAgICBpbnQgcG9zID0gKHNpemUgLSAxKSA+PiAxOwogICAgICAg
ICBLZXlUeXBlIHZhbCA9IGV4dHJhY3RLZXkoJmFycmF5W3Bvc10pOwotICAgICAgICAKKwogICAg
ICAgICAvLyBJZiB0aGUga2V5IG1hdGNoZXMsIHN1Y2Nlc3MhCiAgICAgICAgIGlmICh2YWwgPT0g
a2V5KQogICAgICAgICAgICAgcmV0dXJuICZhcnJheVtwb3NdOwpAQCAtMTQ5LDEzICsxNTMsMTgg
QEAgaW5saW5lIEFycmF5VHlwZSogYmluYXJ5U2VhcmNoKEFycmF5VHlwZSogYXJyYXksIHNpemVf
dCBzaXplLCBLZXlUeXBlIGtleSkKICAgICAgICAgICAgIGFycmF5ICs9IChwb3MgKyAxKTsKICAg
ICAgICAgfQogCi0gICAgICAgIC8vICdzaXplJyBzaG91bGQgbmV2ZXIgcmVhY2ggemVyby4KLSAg
ICAgICAgQVNTRVJUKHNpemUpOworICAgICAgICAvLyBJbiBjYXNlIG9mIEJpbmFyeVNlYXJjaE1v
ZGUgPSBLZXlNdXN0QmVQcmVzZW50SW5BcnJheSAnc2l6ZScgc2hvdWxkIG5ldmVyIHJlYWNoIHpl
cm8uCisgICAgICAgIGlmIChtb2RlID09IEtleU11c3RCZVByZXNlbnRJbkFycmF5KQorICAgICAg
ICAgICAgQVNTRVJUKHNpemUpOwogICAgIH0KLSAgICAKLSAgICAvLyBJZiB3ZSByZWFjaCB0aGlz
IHBvaW50IHdlJ3ZlIGNob3BwZWQgZG93biB0byBvbmUgZWxlbWVudCwgbm8gbmVlZCB0byBjaGVj
ayBpdCBtYXRjaGVzCi0gICAgQVNTRVJUKHNpemUgPT0gMSk7Ci0gICAgQVNTRVJUKGtleSA9PSBl
eHRyYWN0S2V5KCZhcnJheVswXSkpOworCisgICAgLy8gSW4gY2FzZSBvZiBCaW5hcnlTZWFyY2hN
b2RlID0gS2V5TXVzdEJlUHJlc2VudEluQXJyYXkgaWYgd2UgcmVhY2ggdGhpcyBwb2ludAorICAg
IC8vIHdlJ3ZlIGNob3BwZWQgZG93biB0byBvbmUgZWxlbWVudCwgbm8gbmVlZCB0byBjaGVjayBp
dCBtYXRjaGVzCisgICAgaWYgKG1vZGUgPT0gS2V5TXVzdEJlUHJlc2VudEluQXJyYXkpIHsKKyAg
ICAgICAgQVNTRVJUKHNpemUgPT0gMSk7CisgICAgICAgIEFTU0VSVChrZXkgPT0gZXh0cmFjdEtl
eSgmYXJyYXlbMF0pKTsKKyAgICB9CisKICAgICByZXR1cm4gJmFycmF5WzBdOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKaW5kZXggZDkyYmY3OC4uOWUxYjU5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisy
MDExLTA2LTI4ICBPbGl2ZXIgVmFyZ2EgIDxWYXJnYS5PbGl2ZXJAc3R1ZC51LXN6ZWdlZC5odT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTcGVlZCB1
cCBTVkdTTUlMRWxlbWVudDo6ZmluZEluc3RhbmNlVGltZS4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYxMDI1CisKKyAgICAgICAgUmVwbGFjZSB0aGUg
bGluZWFyIHNlYXJjaCB0byBiaW5hcnkgc2VhcmNoIG9uIG9yZGVyZWQgbGlzdCBiZWNhdXNlCisg
ICAgICAgIHRoZSBwcmV2aW91cyBzZWFyY2hlcyBmcm9tIHRoZSBiZWdpbm5pbmcgd2FzIG5vdCBl
ZmZpY2llbnQuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIHRoaXMgaXMgb25seSBhIHBlcmZvcm1h
bmNlIHR3ZWFrLgorCisgICAgICAgICogc3ZnL2FuaW1hdGlvbi9TVkdTTUlMRWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpleHRyYWN0VGltZUZyb21WZWN0b3IpOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHU01JTEVsZW1lbnQ6OmZpbmRJbnN0YW5jZVRpbWUpOgorCiAyMDExLTA2LTI3ICBH
eXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgVW5yZXZp
ZXdlZC4gRml4IHN0eWxlIGVycm9yIHJlbGF0ZWQgdG8gd3JvbmcgaW5jbHVkZSBvcmRlci4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU1ZHU01JTEVsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TVkdTTUlMRWxlbWVudC5jcHAKaW5kZXgg
MGZmMzY3ZS4uMGRiM2UyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlv
bi9TVkdTTUlMRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9T
VkdTTUlMRWxlbWVudC5jcHAKQEAgLTYxNiwyNSArNjE2LDUyIEBAIHZvaWQgU1ZHU01JTEVsZW1l
bnQ6OmFkZEVuZFRpbWUoU01JTFRpbWUgdGltZSkKICAgICBlbmRMaXN0Q2hhbmdlZCgpOwogfQog
ICAgIAoraW5saW5lIFNNSUxUaW1lIGV4dHJhY3RUaW1lRnJvbVZlY3Rvcihjb25zdCBTTUlMVGlt
ZSogcG9zaXRpb24pCit7CisgICAgcmV0dXJuICpwb3NpdGlvbjsKK30KKwogU01JTFRpbWUgU1ZH
U01JTEVsZW1lbnQ6OmZpbmRJbnN0YW5jZVRpbWUoQmVnaW5PckVuZCBiZWdpbk9yRW5kLCBTTUlM
VGltZSBtaW5pbXVtVGltZSwgYm9vbCBlcXVhbHNNaW5pbXVtT0spIGNvbnN0CiB7Ci0gICAgLy8g
RklYTUU6IFRoaXMgc2VhcmNoZXMgZnJvbSB0aGUgYmVnaW5uaW5nIHdoaWNoIGlzIGluZWZmaWNp
ZW50LiBUaGUgbGlzdCBpcyB1c3VhbGx5IG5vdCBsb25nCi0gICAgLy8gKG9uZSBlbnRyeSBpbiBj
b21tb24gY2FzZXMpIGJ1dCB5b3UgY2FuIGNvbnN0cnVjdCBhIGNhc2Ugd2hlcmUgaXQgZG9lcyBn
cm93LgogICAgIGNvbnN0IFZlY3RvcjxTTUlMVGltZT4mIGxpc3QgPSBiZWdpbk9yRW5kID09IEJl
Z2luID8gbV9iZWdpblRpbWVzIDogbV9lbmRUaW1lczsKLSAgICBmb3IgKHVuc2lnbmVkIG4gPSAw
OyBuIDwgbGlzdC5zaXplKCk7ICsrbikgewotICAgICAgICBTTUlMVGltZSB0aW1lID0gbGlzdFtu
XTsKLSAgICAgICAgQVNTRVJUKCF0aW1lLmlzVW5yZXNvbHZlZCgpKTsKLSAgICAgICAgaWYgKHRp
bWUuaXNJbmRlZmluaXRlKCkgJiYgYmVnaW5PckVuZCA9PSBCZWdpbikgewotICAgICAgICAgICAg
Ly8gIlRoZSBzcGVjaWFsIHZhbHVlICJpbmRlZmluaXRlIiBkb2VzIG5vdCB5aWVsZCBhbiBpbnN0
YW5jZSB0aW1lIGluIHRoZSBiZWdpbiBsaXN0LiIKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAg
ICAgICB9Ci0gICAgICAgIGlmIChlcXVhbHNNaW5pbXVtT0spIHsKLSAgICAgICAgICAgIGlmICh0
aW1lID49IG1pbmltdW1UaW1lKQotICAgICAgICAgICAgICAgIHJldHVybiB0aW1lOwotICAgICAg
ICB9IGVsc2UgaWYgKHRpbWUgPiBtaW5pbXVtVGltZSkKLSAgICAgICAgICAgIHJldHVybiB0aW1l
OworICAgIGludCBzaXplT2ZMaXN0ID0gbGlzdC5zaXplKCk7CisKKyAgICBpZiAoIXNpemVPZkxp
c3QpCisgICAgICAgIHJldHVybiBiZWdpbk9yRW5kID09IEJlZ2luID8gU01JTFRpbWU6OnVucmVz
b2x2ZWQoKSA6IFNNSUxUaW1lOjppbmRlZmluaXRlKCk7CisKKyAgICBjb25zdCBTTUlMVGltZSog
cmVzdWx0ID0gYmluYXJ5U2VhcmNoPGNvbnN0IFNNSUxUaW1lLCBTTUlMVGltZSwgZXh0cmFjdFRp
bWVGcm9tVmVjdG9yPihsaXN0LmJlZ2luKCksIHNpemVPZkxpc3QsIG1pbmltdW1UaW1lLCBXVEY6
OktleU11c3ROb3RCZVByZXNlbnRJbkFycmF5KTsKKyAgICBpbnQgaW5kZXhPZlJlc3VsdCA9IHJl
c3VsdCAtIGxpc3QuYmVnaW4oKTsKKworICAgIGlmIChzaXplT2ZMaXN0IC0gMSA+IGluZGV4T2ZS
ZXN1bHQgJiYgbGlzdFtpbmRleE9mUmVzdWx0XSA8IG1pbmltdW1UaW1lKQorICAgICAgICArK2lu
ZGV4T2ZSZXN1bHQ7CisKKyAgICBBU1NFUlQoaW5kZXhPZlJlc3VsdCA8IHNpemVPZkxpc3QpOwor
CisgICAgLy8gIlRoZSBzcGVjaWFsIHZhbHVlICJpbmRlZmluaXRlIiBkb2VzIG5vdCB5aWVsZCBh
biBpbnN0YW5jZSB0aW1lIGluIHRoZSBiZWdpbiBsaXN0LiIKKyAgICBpZiAobGlzdFtpbmRleE9m
UmVzdWx0XS5pc0luZGVmaW5pdGUoKSAmJiBiZWdpbk9yRW5kID09IEJlZ2luKQorICAgICAgICBy
ZXR1cm4gU01JTFRpbWU6OnVucmVzb2x2ZWQoKTsKKworICAgIGlmIChsaXN0W2luZGV4T2ZSZXN1
bHRdIDwgbWluaW11bVRpbWUpCisgICAgICAgIHJldHVybiBiZWdpbk9yRW5kID09IEJlZ2luID8g
U01JTFRpbWU6OnVucmVzb2x2ZWQoKSA6IFNNSUxUaW1lOjppbmRlZmluaXRlKCk7CisKKyAgICAv
LyBJZiB0aGUgZXF1YWxzIGlzIE5PVCBhY2NlcHRlZCwgd2UgaGF2ZSB0byBmaW5kIGEgYmlnZ2Vy
IG9uZS4KKyAgICBpZiAobGlzdFtpbmRleE9mUmVzdWx0XSA9PSBtaW5pbXVtVGltZSAmJiAhZXF1
YWxzTWluaW11bU9LKSB7CisgICAgICAgIGlmIChpbmRleE9mUmVzdWx0ICsgMSA+PSBzaXplT2ZM
aXN0KQorICAgICAgICAgICAgcmV0dXJuIGJlZ2luT3JFbmQgPT0gQmVnaW4gPyBTTUlMVGltZTo6
dW5yZXNvbHZlZCgpIDogU01JTFRpbWU6OmluZGVmaW5pdGUoKTsKICAgICB9Ci0gICAgcmV0dXJu
IGJlZ2luT3JFbmQgPT0gQmVnaW4gPyBTTUlMVGltZTo6dW5yZXNvbHZlZCgpIDogU01JTFRpbWU6
OmluZGVmaW5pdGUoKTsKKworICAgIHdoaWxlIChsaXN0W2luZGV4T2ZSZXN1bHRdID09IGxpc3Rb
aW5kZXhPZlJlc3VsdCArIDFdICYmIGluZGV4T2ZSZXN1bHQgPCBzaXplT2ZMaXN0IC0gMSkKKyAg
ICAgICAgKytpbmRleE9mUmVzdWx0OworCisgICAgaWYgKGxpc3RbaW5kZXhPZlJlc3VsdF0gPiBt
aW5pbXVtVGltZSkKKyAgICAgICAgcmV0dXJuIGxpc3RbaW5kZXhPZlJlc3VsdF07CisgICAgaWYg
KGxpc3RbaW5kZXhPZlJlc3VsdF0gPT0gbWluaW11bVRpbWUpIHsKKyAgICAgICAgaWYgKGluZGV4
T2ZSZXN1bHQgKyAxIDwgc2l6ZU9mTGlzdCAtIDEpCisgICAgICAgICAgICByZXR1cm4gbGlzdFtp
bmRleE9mUmVzdWx0ICsgMV07CisgICAgICAgIHJldHVybiBiZWdpbk9yRW5kID09IEJlZ2luID8g
U01JTFRpbWU6OnVucmVzb2x2ZWQoKSA6IFNNSUxUaW1lOjppbmRlZmluaXRlKCk7CisgICAgfQor
CisgICAgcmV0dXJuIGxpc3RbaW5kZXhPZlJlc3VsdF07CiB9CiAKIFNNSUxUaW1lIFNWR1NNSUxF
bGVtZW50OjpyZXBlYXRpbmdEdXJhdGlvbigpIGNvbnN0Ci0tIAoxLjcuMC40Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>100452</attachid>
            <date>2011-07-12 02:13:05 -0700</date>
            <delta_ts>2011-07-12 05:41:01 -0700</delta_ts>
            <desc>Fix for the out of index error</desc>
            <filename>0001-oliver-jav.patch</filename>
            <type>text/plain</type>
            <size>7852</size>
            <attacher name="Renata Hodovan">rhodovan.u-szeged</attacher>
            
              <data encoding="base64">RnJvbSA1ZWQwMWQ4MTNjMmYyZjg1NmZhNTEyZTNhZmM4YzJlMzQxNjg5NzZjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSZW5hdGEgSG9kb3ZhbiA8cmVuaUB3ZWJraXQub3JnPgpEYXRl
OiBUdWUsIDEyIEp1bCAyMDExIDExOjA4OjM0ICswMjAwClN1YmplY3Q6IFtQQVRDSF0gb2xpdmVy
IGphdi4KCi0tLQogU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAg
ICAgfCAgIDE0ICsrKysrCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1N0ZExpYkV4dHJhcy5o
ICAgICAgICB8ICAgMzEgKysrKysrKystLS0tCiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgICAg
ICAgICAgICAgICAgICAgICAgICB8ICAgMTcgKysrKysrKwogU291cmNlL1dlYkNvcmUvc3ZnL2Fu
aW1hdGlvbi9TVkdTTUlMRWxlbWVudC5jcHAgfCAgIDU5ICsrKysrKysrKysrKysrKysrLS0tLS0t
CiA0IGZpbGVzIGNoYW5nZWQsIDk1IGluc2VydGlvbnMoKyksIDI2IGRlbGV0aW9ucygtKQoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGJiYzU4OWIuLmZkZjE2ZjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDExLTA3LTExICBPbGl2ZXIgVmFyZ2EgIDxW
YXJnYS5PbGl2ZXJAc3R1ZC51LXN6ZWdlZC5odT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBTcGVlZCB1cCBTVkdTTUlMRWxlbWVudDo6ZmluZEluc3Rh
bmNlVGltZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTYxMDI1CisKKyAgICAgICAgQWRkIGEgbmV3IHBhcmFtZXRlciB0byBTdGRsaWJFeHRyYXMuaDo6
YmluYXJ5U2VyYXJjaCBmdW5jdGlvbgorICAgICAgICB0byBhbHNvIGhhbmRsZSBjYXNlcyB3aGVu
IHRoZSBhcnJheSBkb2VzIG5vdCBjb250YWluIHRoZSBrZXkgdmFsdWUuCisgICAgICAgIFRoaXMg
aXMgbmVlZGVkIGZvciBhbiBzdmcgZnVuY3Rpb24uCisKKyAgICAgICAgKiB3dGYvU3RkTGliRXh0
cmFzLmg6CisgICAgICAgIChXVEY6OmJpbmFyeVNlYXJjaCk6CisKIDIwMTEtMDctMDYgIEp1YW4g
Qy4gTW9udGVtYXlvciAgPGptb250QGFwcGxlLmNvbT4KIAogICAgICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQgcnVubmluZyB0ZXN0IDI2MgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3d0Zi9TdGRMaWJFeHRyYXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvU3RkTGliRXh0
cmFzLmgKaW5kZXggYTg1ODJlOS4uODE1NTFmZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9TdGRMaWJFeHRyYXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L1N0ZExpYkV4dHJhcy5oCkBAIC0xMjMsMTkgKzEyMywyMyBAQCB0ZW1wbGF0ZTxzaXplX3QgZGl2
aXNvcj4gaW5saW5lIHNpemVfdCByb3VuZFVwVG9NdWx0aXBsZU9mKHNpemVfdCB4KQogICAgIHJl
dHVybiAoeCArIHJlbWFpbmRlck1hc2spICYgfnJlbWFpbmRlck1hc2s7CiB9CiAKK2VudW0gQmlu
YXJ5U2VhcmNoTW9kZSB7CisgICAgS2V5TXVzdEJlUHJlc2VudEluQXJyYXksCisgICAgS2V5TXVz
dE5vdEJlUHJlc2VudEluQXJyYXkKK307CisKIC8vIEJpbmFyeSBzZWFyY2ggYWxnb3JpdGhtLCBj
YWxscyBleHRyYWN0S2V5IG9uIHByZS1zb3J0ZWQgZWxlbWVudHMgaW4gYXJyYXksCiAvLyBjb21w
YXJlcyByZXN1bHQgd2l0aCBrZXkgKEtleVR5cGVzIHNob3VsZCBiZSBjb21wYXJhYmxlIHdpdGgg
Jy0tJywgJzwnLCAnPicpLgotLy8gT3B0aW1pemVkIGZvciBjYXNlcyB3aGVyZSB0aGUgYXJyYXkg
Y29udGFpbnMgdGhlIGtleSwgY2hlY2tlZCBieSBhc3NlcnRpb25zLgogdGVtcGxhdGU8dHlwZW5h
bWUgQXJyYXlUeXBlLCB0eXBlbmFtZSBLZXlUeXBlLCBLZXlUeXBlKCpleHRyYWN0S2V5KShBcnJh
eVR5cGUqKT4KLWlubGluZSBBcnJheVR5cGUqIGJpbmFyeVNlYXJjaChBcnJheVR5cGUqIGFycmF5
LCBzaXplX3Qgc2l6ZSwgS2V5VHlwZSBrZXkpCitpbmxpbmUgQXJyYXlUeXBlKiBiaW5hcnlTZWFy
Y2goQXJyYXlUeXBlKiBhcnJheSwgc2l6ZV90IHNpemUsIEtleVR5cGUga2V5LCBCaW5hcnlTZWFy
Y2hNb2RlIG1vZGUgPSBLZXlNdXN0QmVQcmVzZW50SW5BcnJheSkKIHsKLSAgICAvLyBUaGUgYXJy
YXkgbXVzdCBjb250YWluIGF0IGxlYXN0IG9uZSBlbGVtZW50IChwcmUtY29uZGl0aW9uLCBhcnJh
eSBkb2VzIGNvbmF0aW4ga2V5KS4KLSAgICAvLyBJZiB0aGUgYXJyYXkgb25seSBjb250YWlucyBv
bmUgZWxlbWVudCwgbm8gbmVlZCB0byBkbyB0aGUgY29tcGFyaXNvbi4KKyAgICAvLyBUaGUgYXJy
YXkgbXVzdCBjb250YWluIGF0IGxlYXN0IG9uZSBlbGVtZW50IChwcmUtY29uZGl0aW9uLCBhcnJh
eSBkb2VzIGNvbnRhaW4ga2V5KS4KKyAgICAvLyBJZiB0aGUgYXJyYXkgY29udGFpbnMgb25seSBv
bmUgZWxlbWVudCwgbm8gbmVlZCB0byBkbyB0aGUgY29tcGFyaXNvbi4KICAgICB3aGlsZSAoc2l6
ZSA+IDEpIHsKICAgICAgICAgLy8gUGljayBhbiBlbGVtZW50IHRvIGNoZWNrLCBoYWxmIHdheSB0
aHJvdWdoIHRoZSBhcnJheSwgYW5kIHJlYWQgdGhlIHZhbHVlLgogICAgICAgICBpbnQgcG9zID0g
KHNpemUgLSAxKSA+PiAxOwogICAgICAgICBLZXlUeXBlIHZhbCA9IGV4dHJhY3RLZXkoJmFycmF5
W3Bvc10pOwotICAgICAgICAKKwogICAgICAgICAvLyBJZiB0aGUga2V5IG1hdGNoZXMsIHN1Y2Nl
c3MhCiAgICAgICAgIGlmICh2YWwgPT0ga2V5KQogICAgICAgICAgICAgcmV0dXJuICZhcnJheVtw
b3NdOwpAQCAtMTQ5LDEzICsxNTMsMTggQEAgaW5saW5lIEFycmF5VHlwZSogYmluYXJ5U2VhcmNo
KEFycmF5VHlwZSogYXJyYXksIHNpemVfdCBzaXplLCBLZXlUeXBlIGtleSkKICAgICAgICAgICAg
IGFycmF5ICs9IChwb3MgKyAxKTsKICAgICAgICAgfQogCi0gICAgICAgIC8vICdzaXplJyBzaG91
bGQgbmV2ZXIgcmVhY2ggemVyby4KLSAgICAgICAgQVNTRVJUKHNpemUpOworICAgICAgICAvLyBJ
biBjYXNlIG9mIEJpbmFyeVNlYXJjaE1vZGUgPSBLZXlNdXN0QmVQcmVzZW50SW5BcnJheSAnc2l6
ZScgc2hvdWxkIG5ldmVyIHJlYWNoIHplcm8uCisgICAgICAgIGlmIChtb2RlID09IEtleU11c3RC
ZVByZXNlbnRJbkFycmF5KQorICAgICAgICAgICAgQVNTRVJUKHNpemUpOwogICAgIH0KLSAgICAK
LSAgICAvLyBJZiB3ZSByZWFjaCB0aGlzIHBvaW50IHdlJ3ZlIGNob3BwZWQgZG93biB0byBvbmUg
ZWxlbWVudCwgbm8gbmVlZCB0byBjaGVjayBpdCBtYXRjaGVzCi0gICAgQVNTRVJUKHNpemUgPT0g
MSk7Ci0gICAgQVNTRVJUKGtleSA9PSBleHRyYWN0S2V5KCZhcnJheVswXSkpOworCisgICAgLy8g
SW4gY2FzZSBvZiBCaW5hcnlTZWFyY2hNb2RlID0gS2V5TXVzdEJlUHJlc2VudEluQXJyYXkgaWYg
d2UgcmVhY2ggdGhpcyBwb2ludAorICAgIC8vIHdlJ3ZlIGNob3BwZWQgZG93biB0byBvbmUgZWxl
bWVudCwgbm8gbmVlZCB0byBjaGVjayBpdCBtYXRjaGVzCisgICAgaWYgKG1vZGUgPT0gS2V5TXVz
dEJlUHJlc2VudEluQXJyYXkpIHsKKyAgICAgICAgQVNTRVJUKHNpemUgPT0gMSk7CisgICAgICAg
IEFTU0VSVChrZXkgPT0gZXh0cmFjdEtleSgmYXJyYXlbMF0pKTsKKyAgICB9CisKICAgICByZXR1
cm4gJmFycmF5WzBdOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTA3MGFkNC4uN2M4MTQ1NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDExLTA3LTExICBPbGl2ZXIgVmFyZ2EgIDxWYXJnYS5P
bGl2ZXJAc3R1ZC51LXN6ZWdlZC5odT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTcGVlZCB1cCBTVkdTTUlMRWxlbWVudDo6ZmluZEluc3RhbmNlVGlt
ZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYxMDI1
CisKKyAgICAgICAgUmVwbGFjZSB0aGUgbGluZWFyIHNlYXJjaCB0byBiaW5hcnkgc2VhcmNoIG9u
IG9yZGVyZWQgbGlzdCBiZWNhdXNlCisgICAgICAgIHRoZSBwcmV2aW91cyBzZWFyY2hlcyBmcm9t
IHRoZSBiZWdpbm5pbmcgd2FzIG5vdCBlZmZpY2llbnQuCisgICAgICAgIE91dCBvZiBpbmRleCBl
cnJvciBmaXhlZCBieSBSZW5hdGEgSG9kb3Zhbi4KKworICAgICAgICBObyBuZXcgdGVzdHMgdGhp
cyBpcyBvbmx5IGEgcGVyZm9ybWFuY2UgdHdlYWsuCisKKyAgICAgICAgKiBzdmcvYW5pbWF0aW9u
L1NWR1NNSUxFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmV4dHJhY3RUaW1lRnJvbVZl
Y3Rvcik6CisgICAgICAgIChXZWJDb3JlOjpTVkdTTUlMRWxlbWVudDo6ZmluZEluc3RhbmNlVGlt
ZSk6CisKIDIwMTEtMDctMDcgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogQWRkIHN1cHBvcnQgZm9yIGNsZWFyaW5nIGNhY2hl
IGFuZCBjb29raWVzIGZyb20gbmV0d29yayBwYW5lbC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9hbmltYXRpb24vU1ZHU01JTEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3Zn
L2FuaW1hdGlvbi9TVkdTTUlMRWxlbWVudC5jcHAKaW5kZXggNGI1MjBjNS4uMGIyNTEyZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TVkdTTUlMRWxlbWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TVkdTTUlMRWxlbWVudC5jcHAKQEAg
LTYxNiwyNSArNjE2LDU0IEBAIHZvaWQgU1ZHU01JTEVsZW1lbnQ6OmFkZEVuZFRpbWUoU01JTFRp
bWUgZXZlbnRUaW1lLCBTTUlMVGltZSBlbmRUaW1lKQogICAgIGVuZExpc3RDaGFuZ2VkKGV2ZW50
VGltZSk7CiB9CiAgICAgCitpbmxpbmUgU01JTFRpbWUgZXh0cmFjdFRpbWVGcm9tVmVjdG9yKGNv
bnN0IFNNSUxUaW1lKiBwb3NpdGlvbikKK3sKKyAgICByZXR1cm4gKnBvc2l0aW9uOworfQorCiBT
TUlMVGltZSBTVkdTTUlMRWxlbWVudDo6ZmluZEluc3RhbmNlVGltZShCZWdpbk9yRW5kIGJlZ2lu
T3JFbmQsIFNNSUxUaW1lIG1pbmltdW1UaW1lLCBib29sIGVxdWFsc01pbmltdW1PSykgY29uc3QK
IHsKLSAgICAvLyBGSVhNRTogVGhpcyBzZWFyY2hlcyBmcm9tIHRoZSBiZWdpbm5pbmcgd2hpY2gg
aXMgaW5lZmZpY2llbnQuIFRoZSBsaXN0IGlzIHVzdWFsbHkgbm90IGxvbmcKLSAgICAvLyAob25l
IGVudHJ5IGluIGNvbW1vbiBjYXNlcykgYnV0IHlvdSBjYW4gY29uc3RydWN0IGEgY2FzZSB3aGVy
ZSBpdCBkb2VzIGdyb3cuCiAgICAgY29uc3QgVmVjdG9yPFNNSUxUaW1lPiYgbGlzdCA9IGJlZ2lu
T3JFbmQgPT0gQmVnaW4gPyBtX2JlZ2luVGltZXMgOiBtX2VuZFRpbWVzOwotICAgIGZvciAodW5z
aWduZWQgbiA9IDA7IG4gPCBsaXN0LnNpemUoKTsgKytuKSB7Ci0gICAgICAgIFNNSUxUaW1lIHRp
bWUgPSBsaXN0W25dOwotICAgICAgICBBU1NFUlQoIXRpbWUuaXNVbnJlc29sdmVkKCkpOwotICAg
ICAgICBpZiAodGltZS5pc0luZGVmaW5pdGUoKSAmJiBiZWdpbk9yRW5kID09IEJlZ2luKSB7Ci0g
ICAgICAgICAgICAvLyAiVGhlIHNwZWNpYWwgdmFsdWUgImluZGVmaW5pdGUiIGRvZXMgbm90IHlp
ZWxkIGFuIGluc3RhbmNlIHRpbWUgaW4gdGhlIGJlZ2luIGxpc3QuIgotICAgICAgICAgICAgY29u
dGludWU7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGVxdWFsc01pbmltdW1PSykgewotICAgICAg
ICAgICAgaWYgKHRpbWUgPj0gbWluaW11bVRpbWUpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHRp
bWU7Ci0gICAgICAgIH0gZWxzZSBpZiAodGltZSA+IG1pbmltdW1UaW1lKQotICAgICAgICAgICAg
cmV0dXJuIHRpbWU7CisgICAgaW50IHNpemVPZkxpc3QgPSBsaXN0LnNpemUoKTsKKworICAgIGlm
ICghc2l6ZU9mTGlzdCkKKyAgICAgICAgcmV0dXJuIGJlZ2luT3JFbmQgPT0gQmVnaW4gPyBTTUlM
VGltZTo6dW5yZXNvbHZlZCgpIDogU01JTFRpbWU6OmluZGVmaW5pdGUoKTsKKworICAgIGNvbnN0
IFNNSUxUaW1lKiByZXN1bHQgPSBiaW5hcnlTZWFyY2g8Y29uc3QgU01JTFRpbWUsIFNNSUxUaW1l
LCBleHRyYWN0VGltZUZyb21WZWN0b3I+KGxpc3QuYmVnaW4oKSwgc2l6ZU9mTGlzdCwgbWluaW11
bVRpbWUsIFdURjo6S2V5TXVzdE5vdEJlUHJlc2VudEluQXJyYXkpOworICAgIGludCBpbmRleE9m
UmVzdWx0ID0gcmVzdWx0IC0gbGlzdC5iZWdpbigpOworCisgICAgaWYgKHNpemVPZkxpc3QgLSAx
ID4gaW5kZXhPZlJlc3VsdCAmJiBsaXN0W2luZGV4T2ZSZXN1bHRdIDwgbWluaW11bVRpbWUpCisg
ICAgICAgICsraW5kZXhPZlJlc3VsdDsKKworICAgIEFTU0VSVChpbmRleE9mUmVzdWx0IDwgc2l6
ZU9mTGlzdCk7CisKKyAgICAvLyAiVGhlIHNwZWNpYWwgdmFsdWUgImluZGVmaW5pdGUiIGRvZXMg
bm90IHlpZWxkIGFuIGluc3RhbmNlIHRpbWUgaW4gdGhlIGJlZ2luIGxpc3QuIgorICAgIGlmIChs
aXN0W2luZGV4T2ZSZXN1bHRdLmlzSW5kZWZpbml0ZSgpICYmIGJlZ2luT3JFbmQgPT0gQmVnaW4p
CisgICAgICAgIHJldHVybiBTTUlMVGltZTo6dW5yZXNvbHZlZCgpOworCisgICAgaWYgKGxpc3Rb
aW5kZXhPZlJlc3VsdF0gPCBtaW5pbXVtVGltZSkKKyAgICAgICAgcmV0dXJuIGJlZ2luT3JFbmQg
PT0gQmVnaW4gPyBTTUlMVGltZTo6dW5yZXNvbHZlZCgpIDogU01JTFRpbWU6OmluZGVmaW5pdGUo
KTsKKworICAgIC8vIElmIHRoZSBlcXVhbHMgaXMgTk9UIGFjY2VwdGVkLCB3ZSBoYXZlIHRvIGZp
bmQgYSBiaWdnZXIgb25lLgorICAgIGlmIChsaXN0W2luZGV4T2ZSZXN1bHRdID09IG1pbmltdW1U
aW1lICYmICFlcXVhbHNNaW5pbXVtT0spIHsKKyAgICAgICAgaWYgKGluZGV4T2ZSZXN1bHQgKyAx
ID49IHNpemVPZkxpc3QpCisgICAgICAgICAgICByZXR1cm4gYmVnaW5PckVuZCA9PSBCZWdpbiA/
IFNNSUxUaW1lOjp1bnJlc29sdmVkKCkgOiBTTUlMVGltZTo6aW5kZWZpbml0ZSgpOworICAgIH0K
KworICAgIGlmIChzaXplT2ZMaXN0ID4gMSkgeworICAgICAgICB3aGlsZSAobGlzdFtpbmRleE9m
UmVzdWx0XSA9PSBsaXN0W2luZGV4T2ZSZXN1bHQgKyAxXSAmJiBpbmRleE9mUmVzdWx0IDwgc2l6
ZU9mTGlzdCAtIDEpCisgICAgICAgICAgICArK2luZGV4T2ZSZXN1bHQ7CisgICAgfQorCisgICAg
aWYgKGxpc3RbaW5kZXhPZlJlc3VsdF0gPiBtaW5pbXVtVGltZSkKKyAgICAgICAgcmV0dXJuIGxp
c3RbaW5kZXhPZlJlc3VsdF07CisgICAgaWYgKGxpc3RbaW5kZXhPZlJlc3VsdF0gPT0gbWluaW11
bVRpbWUpIHsKKyAgICAgICAgaWYgKGluZGV4T2ZSZXN1bHQgKyAxIDwgc2l6ZU9mTGlzdCAtIDEp
CisgICAgICAgICAgICByZXR1cm4gbGlzdFtpbmRleE9mUmVzdWx0ICsgMV07CisgICAgICAgIHJl
dHVybiBiZWdpbk9yRW5kID09IEJlZ2luID8gU01JTFRpbWU6OnVucmVzb2x2ZWQoKSA6IFNNSUxU
aW1lOjppbmRlZmluaXRlKCk7CiAgICAgfQotICAgIHJldHVybiBiZWdpbk9yRW5kID09IEJlZ2lu
ID8gU01JTFRpbWU6OnVucmVzb2x2ZWQoKSA6IFNNSUxUaW1lOjppbmRlZmluaXRlKCk7CisKKyAg
ICByZXR1cm4gbGlzdFtpbmRleE9mUmVzdWx0XTsKIH0KIAogU01JTFRpbWUgU1ZHU01JTEVsZW1l
bnQ6OnJlcGVhdGluZ0R1cmF0aW9uKCkgY29uc3QKLS0gCjEuNy40LjEKCg==
</data>
<flag name="review"
          id="95119"
          type_id="1"
          status="+"
          setter="zimmermann"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>100792</attachid>
            <date>2011-07-14 02:37:55 -0700</date>
            <delta_ts>2011-08-16 12:38:36 -0700</delta_ts>
            <desc>Fix for the out of index error</desc>
            <filename>0001-oliver-jav.patch</filename>
            <type>text/plain</type>
            <size>7810</size>
            <attacher name="Renata Hodovan">rhodovan.u-szeged</attacher>
            
              <data encoding="base64">RnJvbSA1NjBjM2MwMjcwYWQ3ODJkN2Q1OWJiYmIxM2FmYjRjMDVhNmI5ZDMxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSZW5hdGEgSG9kb3ZhbiA8cmVuaUB3ZWJraXQub3JnPgpEYXRl
OiBUaHUsIDE0IEp1bCAyMDExIDExOjIwOjAyICswMjAwClN1YmplY3Q6IFtQQVRDSF0gb2xpdmVy
IGphdgoKLS0tCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAg
ICB8ICAgMTQgKysrKysrCiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1N0ZExpYkV4dHJhcy5o
ICAgICAgICB8ICAgMzEgKysrKysrKystLS0tCiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgICAg
ICAgICAgICAgICAgICAgICAgICB8ICAgMTcgKysrKysrKwogU291cmNlL1dlYkNvcmUvc3ZnL2Fu
aW1hdGlvbi9TVkdTTUlMRWxlbWVudC5jcHAgfCAgIDU3ICsrKysrKysrKysrKysrKysrLS0tLS0t
CiA0IGZpbGVzIGNoYW5nZWQsIDkzIGluc2VydGlvbnMoKyksIDI2IGRlbGV0aW9ucygtKQoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGJiYzU4OWIuLmZkZjE2ZjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDExLTA3LTExICBPbGl2ZXIgVmFyZ2EgIDxW
YXJnYS5PbGl2ZXJAc3R1ZC51LXN6ZWdlZC5odT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBTcGVlZCB1cCBTVkdTTUlMRWxlbWVudDo6ZmluZEluc3Rh
bmNlVGltZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTYxMDI1CisKKyAgICAgICAgQWRkIGEgbmV3IHBhcmFtZXRlciB0byBTdGRsaWJFeHRyYXMuaDo6
YmluYXJ5U2VyYXJjaCBmdW5jdGlvbgorICAgICAgICB0byBhbHNvIGhhbmRsZSBjYXNlcyB3aGVu
IHRoZSBhcnJheSBkb2VzIG5vdCBjb250YWluIHRoZSBrZXkgdmFsdWUuCisgICAgICAgIFRoaXMg
aXMgbmVlZGVkIGZvciBhbiBzdmcgZnVuY3Rpb24uCisKKyAgICAgICAgKiB3dGYvU3RkTGliRXh0
cmFzLmg6CisgICAgICAgIChXVEY6OmJpbmFyeVNlYXJjaCk6CisKIDIwMTEtMDctMDYgIEp1YW4g
Qy4gTW9udGVtYXlvciAgPGptb250QGFwcGxlLmNvbT4KIAogICAgICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQgcnVubmluZyB0ZXN0IDI2MgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3d0Zi9TdGRMaWJFeHRyYXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvU3RkTGliRXh0
cmFzLmgKaW5kZXggYTg1ODJlOS4uODE1NTFmZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9TdGRMaWJFeHRyYXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L1N0ZExpYkV4dHJhcy5oCkBAIC0xMjMsMTkgKzEyMywyMyBAQCB0ZW1wbGF0ZTxzaXplX3QgZGl2
aXNvcj4gaW5saW5lIHNpemVfdCByb3VuZFVwVG9NdWx0aXBsZU9mKHNpemVfdCB4KQogICAgIHJl
dHVybiAoeCArIHJlbWFpbmRlck1hc2spICYgfnJlbWFpbmRlck1hc2s7CiB9CiAKK2VudW0gQmlu
YXJ5U2VhcmNoTW9kZSB7CisgICAgS2V5TXVzdEJlUHJlc2VudEluQXJyYXksCisgICAgS2V5TXVz
dE5vdEJlUHJlc2VudEluQXJyYXkKK307CisKIC8vIEJpbmFyeSBzZWFyY2ggYWxnb3JpdGhtLCBj
YWxscyBleHRyYWN0S2V5IG9uIHByZS1zb3J0ZWQgZWxlbWVudHMgaW4gYXJyYXksCiAvLyBjb21w
YXJlcyByZXN1bHQgd2l0aCBrZXkgKEtleVR5cGVzIHNob3VsZCBiZSBjb21wYXJhYmxlIHdpdGgg
Jy0tJywgJzwnLCAnPicpLgotLy8gT3B0aW1pemVkIGZvciBjYXNlcyB3aGVyZSB0aGUgYXJyYXkg
Y29udGFpbnMgdGhlIGtleSwgY2hlY2tlZCBieSBhc3NlcnRpb25zLgogdGVtcGxhdGU8dHlwZW5h
bWUgQXJyYXlUeXBlLCB0eXBlbmFtZSBLZXlUeXBlLCBLZXlUeXBlKCpleHRyYWN0S2V5KShBcnJh
eVR5cGUqKT4KLWlubGluZSBBcnJheVR5cGUqIGJpbmFyeVNlYXJjaChBcnJheVR5cGUqIGFycmF5
LCBzaXplX3Qgc2l6ZSwgS2V5VHlwZSBrZXkpCitpbmxpbmUgQXJyYXlUeXBlKiBiaW5hcnlTZWFy
Y2goQXJyYXlUeXBlKiBhcnJheSwgc2l6ZV90IHNpemUsIEtleVR5cGUga2V5LCBCaW5hcnlTZWFy
Y2hNb2RlIG1vZGUgPSBLZXlNdXN0QmVQcmVzZW50SW5BcnJheSkKIHsKLSAgICAvLyBUaGUgYXJy
YXkgbXVzdCBjb250YWluIGF0IGxlYXN0IG9uZSBlbGVtZW50IChwcmUtY29uZGl0aW9uLCBhcnJh
eSBkb2VzIGNvbmF0aW4ga2V5KS4KLSAgICAvLyBJZiB0aGUgYXJyYXkgb25seSBjb250YWlucyBv
bmUgZWxlbWVudCwgbm8gbmVlZCB0byBkbyB0aGUgY29tcGFyaXNvbi4KKyAgICAvLyBUaGUgYXJy
YXkgbXVzdCBjb250YWluIGF0IGxlYXN0IG9uZSBlbGVtZW50IChwcmUtY29uZGl0aW9uLCBhcnJh
eSBkb2VzIGNvbnRhaW4ga2V5KS4KKyAgICAvLyBJZiB0aGUgYXJyYXkgY29udGFpbnMgb25seSBv
bmUgZWxlbWVudCwgbm8gbmVlZCB0byBkbyB0aGUgY29tcGFyaXNvbi4KICAgICB3aGlsZSAoc2l6
ZSA+IDEpIHsKICAgICAgICAgLy8gUGljayBhbiBlbGVtZW50IHRvIGNoZWNrLCBoYWxmIHdheSB0
aHJvdWdoIHRoZSBhcnJheSwgYW5kIHJlYWQgdGhlIHZhbHVlLgogICAgICAgICBpbnQgcG9zID0g
KHNpemUgLSAxKSA+PiAxOwogICAgICAgICBLZXlUeXBlIHZhbCA9IGV4dHJhY3RLZXkoJmFycmF5
W3Bvc10pOwotICAgICAgICAKKwogICAgICAgICAvLyBJZiB0aGUga2V5IG1hdGNoZXMsIHN1Y2Nl
c3MhCiAgICAgICAgIGlmICh2YWwgPT0ga2V5KQogICAgICAgICAgICAgcmV0dXJuICZhcnJheVtw
b3NdOwpAQCAtMTQ5LDEzICsxNTMsMTggQEAgaW5saW5lIEFycmF5VHlwZSogYmluYXJ5U2VhcmNo
KEFycmF5VHlwZSogYXJyYXksIHNpemVfdCBzaXplLCBLZXlUeXBlIGtleSkKICAgICAgICAgICAg
IGFycmF5ICs9IChwb3MgKyAxKTsKICAgICAgICAgfQogCi0gICAgICAgIC8vICdzaXplJyBzaG91
bGQgbmV2ZXIgcmVhY2ggemVyby4KLSAgICAgICAgQVNTRVJUKHNpemUpOworICAgICAgICAvLyBJ
biBjYXNlIG9mIEJpbmFyeVNlYXJjaE1vZGUgPSBLZXlNdXN0QmVQcmVzZW50SW5BcnJheSAnc2l6
ZScgc2hvdWxkIG5ldmVyIHJlYWNoIHplcm8uCisgICAgICAgIGlmIChtb2RlID09IEtleU11c3RC
ZVByZXNlbnRJbkFycmF5KQorICAgICAgICAgICAgQVNTRVJUKHNpemUpOwogICAgIH0KLSAgICAK
LSAgICAvLyBJZiB3ZSByZWFjaCB0aGlzIHBvaW50IHdlJ3ZlIGNob3BwZWQgZG93biB0byBvbmUg
ZWxlbWVudCwgbm8gbmVlZCB0byBjaGVjayBpdCBtYXRjaGVzCi0gICAgQVNTRVJUKHNpemUgPT0g
MSk7Ci0gICAgQVNTRVJUKGtleSA9PSBleHRyYWN0S2V5KCZhcnJheVswXSkpOworCisgICAgLy8g
SW4gY2FzZSBvZiBCaW5hcnlTZWFyY2hNb2RlID0gS2V5TXVzdEJlUHJlc2VudEluQXJyYXkgaWYg
d2UgcmVhY2ggdGhpcyBwb2ludAorICAgIC8vIHdlJ3ZlIGNob3BwZWQgZG93biB0byBvbmUgZWxl
bWVudCwgbm8gbmVlZCB0byBjaGVjayBpdCBtYXRjaGVzCisgICAgaWYgKG1vZGUgPT0gS2V5TXVz
dEJlUHJlc2VudEluQXJyYXkpIHsKKyAgICAgICAgQVNTRVJUKHNpemUgPT0gMSk7CisgICAgICAg
IEFTU0VSVChrZXkgPT0gZXh0cmFjdEtleSgmYXJyYXlbMF0pKTsKKyAgICB9CisKICAgICByZXR1
cm4gJmFycmF5WzBdOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTA3MGFkNC4uN2M4MTQ1NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDExLTA3LTExICBPbGl2ZXIgVmFyZ2EgIDxWYXJnYS5P
bGl2ZXJAc3R1ZC51LXN6ZWdlZC5odT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTcGVlZCB1cCBTVkdTTUlMRWxlbWVudDo6ZmluZEluc3RhbmNlVGlt
ZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYxMDI1
CisKKyAgICAgICAgUmVwbGFjZSB0aGUgbGluZWFyIHNlYXJjaCB0byBiaW5hcnkgc2VhcmNoIG9u
IG9yZGVyZWQgbGlzdCBiZWNhdXNlCisgICAgICAgIHRoZSBwcmV2aW91cyBzZWFyY2hlcyBmcm9t
IHRoZSBiZWdpbm5pbmcgd2FzIG5vdCBlZmZpY2llbnQuCisgICAgICAgIE91dCBvZiBpbmRleCBl
cnJvciBmaXhlZCBieSBSZW5hdGEgSG9kb3Zhbi4KKworICAgICAgICBObyBuZXcgdGVzdHMgdGhp
cyBpcyBvbmx5IGEgcGVyZm9ybWFuY2UgdHdlYWsuCisKKyAgICAgICAgKiBzdmcvYW5pbWF0aW9u
L1NWR1NNSUxFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmV4dHJhY3RUaW1lRnJvbVZl
Y3Rvcik6CisgICAgICAgIChXZWJDb3JlOjpTVkdTTUlMRWxlbWVudDo6ZmluZEluc3RhbmNlVGlt
ZSk6CisKIDIwMTEtMDctMDcgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogQWRkIHN1cHBvcnQgZm9yIGNsZWFyaW5nIGNhY2hl
IGFuZCBjb29raWVzIGZyb20gbmV0d29yayBwYW5lbC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9hbmltYXRpb24vU1ZHU01JTEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3Zn
L2FuaW1hdGlvbi9TVkdTTUlMRWxlbWVudC5jcHAKaW5kZXggNGI1MjBjNS4uZDJkZjE1MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TVkdTTUlMRWxlbWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TVkdTTUlMRWxlbWVudC5jcHAKQEAg
LTYxNiwyNSArNjE2LDUyIEBAIHZvaWQgU1ZHU01JTEVsZW1lbnQ6OmFkZEVuZFRpbWUoU01JTFRp
bWUgZXZlbnRUaW1lLCBTTUlMVGltZSBlbmRUaW1lKQogICAgIGVuZExpc3RDaGFuZ2VkKGV2ZW50
VGltZSk7CiB9CiAgICAgCitpbmxpbmUgU01JTFRpbWUgZXh0cmFjdFRpbWVGcm9tVmVjdG9yKGNv
bnN0IFNNSUxUaW1lKiBwb3NpdGlvbikKK3sKKyAgICByZXR1cm4gKnBvc2l0aW9uOworfQorCiBT
TUlMVGltZSBTVkdTTUlMRWxlbWVudDo6ZmluZEluc3RhbmNlVGltZShCZWdpbk9yRW5kIGJlZ2lu
T3JFbmQsIFNNSUxUaW1lIG1pbmltdW1UaW1lLCBib29sIGVxdWFsc01pbmltdW1PSykgY29uc3QK
IHsKLSAgICAvLyBGSVhNRTogVGhpcyBzZWFyY2hlcyBmcm9tIHRoZSBiZWdpbm5pbmcgd2hpY2gg
aXMgaW5lZmZpY2llbnQuIFRoZSBsaXN0IGlzIHVzdWFsbHkgbm90IGxvbmcKLSAgICAvLyAob25l
IGVudHJ5IGluIGNvbW1vbiBjYXNlcykgYnV0IHlvdSBjYW4gY29uc3RydWN0IGEgY2FzZSB3aGVy
ZSBpdCBkb2VzIGdyb3cuCiAgICAgY29uc3QgVmVjdG9yPFNNSUxUaW1lPiYgbGlzdCA9IGJlZ2lu
T3JFbmQgPT0gQmVnaW4gPyBtX2JlZ2luVGltZXMgOiBtX2VuZFRpbWVzOwotICAgIGZvciAodW5z
aWduZWQgbiA9IDA7IG4gPCBsaXN0LnNpemUoKTsgKytuKSB7Ci0gICAgICAgIFNNSUxUaW1lIHRp
bWUgPSBsaXN0W25dOwotICAgICAgICBBU1NFUlQoIXRpbWUuaXNVbnJlc29sdmVkKCkpOwotICAg
ICAgICBpZiAodGltZS5pc0luZGVmaW5pdGUoKSAmJiBiZWdpbk9yRW5kID09IEJlZ2luKSB7Ci0g
ICAgICAgICAgICAvLyAiVGhlIHNwZWNpYWwgdmFsdWUgImluZGVmaW5pdGUiIGRvZXMgbm90IHlp
ZWxkIGFuIGluc3RhbmNlIHRpbWUgaW4gdGhlIGJlZ2luIGxpc3QuIgotICAgICAgICAgICAgY29u
dGludWU7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGVxdWFsc01pbmltdW1PSykgewotICAgICAg
ICAgICAgaWYgKHRpbWUgPj0gbWluaW11bVRpbWUpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHRp
bWU7Ci0gICAgICAgIH0gZWxzZSBpZiAodGltZSA+IG1pbmltdW1UaW1lKQotICAgICAgICAgICAg
cmV0dXJuIHRpbWU7CisgICAgaW50IHNpemVPZkxpc3QgPSBsaXN0LnNpemUoKTsKKworICAgIGlm
ICghc2l6ZU9mTGlzdCkKKyAgICAgICAgcmV0dXJuIGJlZ2luT3JFbmQgPT0gQmVnaW4gPyBTTUlM
VGltZTo6dW5yZXNvbHZlZCgpIDogU01JTFRpbWU6OmluZGVmaW5pdGUoKTsKKworICAgIGNvbnN0
IFNNSUxUaW1lKiByZXN1bHQgPSBiaW5hcnlTZWFyY2g8Y29uc3QgU01JTFRpbWUsIFNNSUxUaW1l
LCBleHRyYWN0VGltZUZyb21WZWN0b3I+KGxpc3QuYmVnaW4oKSwgc2l6ZU9mTGlzdCwgbWluaW11
bVRpbWUsIFdURjo6S2V5TXVzdE5vdEJlUHJlc2VudEluQXJyYXkpOworICAgIGludCBpbmRleE9m
UmVzdWx0ID0gcmVzdWx0IC0gbGlzdC5iZWdpbigpOworCisgICAgaWYgKHNpemVPZkxpc3QgLSAx
ID4gaW5kZXhPZlJlc3VsdCAmJiBsaXN0W2luZGV4T2ZSZXN1bHRdIDwgbWluaW11bVRpbWUpCisg
ICAgICAgICsraW5kZXhPZlJlc3VsdDsKKworICAgIEFTU0VSVChpbmRleE9mUmVzdWx0IDwgc2l6
ZU9mTGlzdCk7CisKKyAgICAvLyAiVGhlIHNwZWNpYWwgdmFsdWUgImluZGVmaW5pdGUiIGRvZXMg
bm90IHlpZWxkIGFuIGluc3RhbmNlIHRpbWUgaW4gdGhlIGJlZ2luIGxpc3QuIgorICAgIGlmIChs
aXN0W2luZGV4T2ZSZXN1bHRdLmlzSW5kZWZpbml0ZSgpICYmIGJlZ2luT3JFbmQgPT0gQmVnaW4p
CisgICAgICAgIHJldHVybiBTTUlMVGltZTo6dW5yZXNvbHZlZCgpOworCisgICAgaWYgKGxpc3Rb
aW5kZXhPZlJlc3VsdF0gPCBtaW5pbXVtVGltZSkKKyAgICAgICAgcmV0dXJuIGJlZ2luT3JFbmQg
PT0gQmVnaW4gPyBTTUlMVGltZTo6dW5yZXNvbHZlZCgpIDogU01JTFRpbWU6OmluZGVmaW5pdGUo
KTsKKworICAgIC8vIElmIHRoZSBlcXVhbHMgaXMgTk9UIGFjY2VwdGVkLCB3ZSBoYXZlIHRvIGZp
bmQgYSBiaWdnZXIgb25lLgorICAgIGlmIChsaXN0W2luZGV4T2ZSZXN1bHRdID09IG1pbmltdW1U
aW1lICYmICFlcXVhbHNNaW5pbXVtT0spIHsKKyAgICAgICAgaWYgKGluZGV4T2ZSZXN1bHQgKyAx
ID49IHNpemVPZkxpc3QpCisgICAgICAgICAgICByZXR1cm4gYmVnaW5PckVuZCA9PSBCZWdpbiA/
IFNNSUxUaW1lOjp1bnJlc29sdmVkKCkgOiBTTUlMVGltZTo6aW5kZWZpbml0ZSgpOwogICAgIH0K
LSAgICByZXR1cm4gYmVnaW5PckVuZCA9PSBCZWdpbiA/IFNNSUxUaW1lOjp1bnJlc29sdmVkKCkg
OiBTTUlMVGltZTo6aW5kZWZpbml0ZSgpOworCisgICAgd2hpbGUgKGluZGV4T2ZSZXN1bHQgPCBz
aXplT2ZMaXN0IC0gMSAmJiBsaXN0W2luZGV4T2ZSZXN1bHRdID09IGxpc3RbaW5kZXhPZlJlc3Vs
dCArIDFdKQorICAgICAgICArK2luZGV4T2ZSZXN1bHQ7CisKKyAgICBpZiAobGlzdFtpbmRleE9m
UmVzdWx0XSA+IG1pbmltdW1UaW1lKQorICAgICAgICByZXR1cm4gbGlzdFtpbmRleE9mUmVzdWx0
XTsKKyAgICBpZiAobGlzdFtpbmRleE9mUmVzdWx0XSA9PSBtaW5pbXVtVGltZSkgeworICAgICAg
ICBpZiAoaW5kZXhPZlJlc3VsdCArIDEgPCBzaXplT2ZMaXN0IC0gMSkKKyAgICAgICAgICAgIHJl
dHVybiBsaXN0W2luZGV4T2ZSZXN1bHQgKyAxXTsKKyAgICAgICAgcmV0dXJuIGJlZ2luT3JFbmQg
PT0gQmVnaW4gPyBTTUlMVGltZTo6dW5yZXNvbHZlZCgpIDogU01JTFRpbWU6OmluZGVmaW5pdGUo
KTsKKyAgICB9CisKKyAgICByZXR1cm4gbGlzdFtpbmRleE9mUmVzdWx0XTsKIH0KIAogU01JTFRp
bWUgU1ZHU01JTEVsZW1lbnQ6OnJlcGVhdGluZ0R1cmF0aW9uKCkgY29uc3QKLS0gCjEuNy40LjEK
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>