<?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>59249</bug_id>
          
          <creation_ts>2011-04-22 15:28:24 -0700</creation_ts>
          <short_desc>Colliding isinf/isnan between C99 and C++11 with GCC &gt;=4.6</short_desc>
          <delta_ts>2012-06-11 12:55:51 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>86465</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Xan Lopez">xan.lopez</reporter>
          <assigned_to name="Allan Sandfeld Jensen">allan.jensen</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>buildbot</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>evan</cc>
    
    <cc>menard</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>391147</commentid>
    <comment_count>0</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2011-04-22 15:28:24 -0700</bug_when>
    <thetext>Compilation of WebKit with GCC 4.6.0 C++0x mode fails for various reasons, but the only interesting/complicated one is related to the new isnan/isinf functions introduced in C++0x. Trying to compile with -std=c++0x gives the following:

In file included from ../../Source/JavaScriptCore/runtime/JSValue.h:31:0,
                 from ../../Source/JavaScriptCore/runtime/CallData.h:32,
                 from ../../Source/JavaScriptCore/runtime/Executable.h:29,
                 from ../../Source/JavaScriptCore/bytecode/EvalCodeCache.h:32,
                 from ../../Source/JavaScriptCore/bytecode/CodeBlock.h:33,
                 from ../../Source/JavaScriptCore/bytecompiler/BytecodeGenerator.h:33,
                 from ../../Source/JavaScriptCore/jsc.cpp:25:
../../Source/JavaScriptCore/wtf/MathExtras.h:243:12: error: ‘isinf’ is already declared in this scope
../../Source/JavaScriptCore/wtf/MathExtras.h:244:12: error: ‘isnan’ is already declared in this scope

This happens because in C++0x mode (but not otherwise) there&apos;s a conflicting extern declaration in bits/mathcalls.h, something like:

extern int isinf(double);

so we get a collision in the global namespace. According to the C++ standard it&apos;s undefined whether the functions will be present in the global namespace or not, so I don&apos;t think this can be considered a bug in GCC.

We can protect those two lines in MathExtras.h with a &quot;am I using C++0x in GCC&quot; #ifdef, like:

diff --git a/Source/JavaScriptCore/wtf/MathExtras.h b/Source/JavaScriptCore/wtf/MathExtras.h
index fac187c..78eb467 100644
--- a/Source/JavaScriptCore/wtf/MathExtras.h
+++ b/Source/JavaScriptCore/wtf/MathExtras.h
@@ -240,8 +240,10 @@ inline int clampToInteger(unsigned value)

 #if !COMPILER(MSVC) &amp;&amp; !(COMPILER(RVCT) &amp;&amp; PLATFORM(BREWMP)) &amp;&amp; !OS(SOLARIS) &amp;&amp; !OS(SYMBIAN)
 using std::isfinite;
+#ifndef __GXX_EXPERIMENTAL_CXX0X__
 using std::isinf;
 using std::isnan;
+#endif
 using std::signbit;
 #endif

but then the next problem arises:

../../Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp: In member function ‘JSC::RegisterID* JSC::BytecodeGenerator::emitLoad(JSC::RegisterID*, double)’:
../../Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp:1109:21: error: call of overloaded ‘isnan(double&amp;)’ is ambiguous
../../Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp:1109:21: note: candidates are:
/usr/include/bits/mathcalls.h:235:1: note: int isnan(double)
/usr/lib/gcc/x86_64-redhat-linux/4.6.0/../../../../include/c++/4.6.0/cmath:558:3: note: bool std::isnan(long double)
/usr/lib/gcc/x86_64-redhat-linux/4.6.0/../../../../include/c++/4.6.0/cmath:554:3: note: bool std::isnan(double)
/usr/lib/gcc/x86_64-redhat-linux/4.6.0/../../../../include/c++/4.6.0/cmath:550:3: note: bool std::isnan(float)

The issue here is that this file (and others) have a &quot;using namespace std;&quot; and use isinf/isnan without the std:: prefix, so the compiler cannot tell whether the user wants the C99 version in the global namespace or the C++0x version in std. If the line is removed the ambiguity is gone, although now we&apos;ll be using the C99 functions if we just write &quot;isinf&quot; (we&apos;d use the C++ ones if we wrote std::isinf). This is not ideal, I suppose, but at least it works.

I think with some changes in WebKit we could get a better solution, namely one that ends up using the C++ methods throughout *and* compiles correctly under GCC 4.6.0 C++0x. We can:

- Remove the &quot;using std::isinf/isnan/etc&quot; from MathExtras.h for GCC C++0x, at least.
- Remove math.h from all of WebKit
- Change all uses of unprefixed isnan/isinf in WebKit to be &quot;std::isnan/isinf&quot;. This way the function call is not ambiguous and we get the C++ version, as we want. This would not only work in modern GCC versions, but also in the old ones and the ARM compiler, where the cmath functions are never present in the global namespace.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>391153</commentid>
    <comment_count>1</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2011-04-22 15:34:05 -0700</bug_when>
    <thetext>CCing Darin, Daniel has told me he has worked on this area before.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>391176</commentid>
    <comment_count>2</comment_count>
      <attachid>90789</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2011-04-22 15:59:39 -0700</bug_when>
    <thetext>Created attachment 90789
namespacestdisnan.diff

Before we do bigger changes, this is the minimal patch needed to make things compile under GCC 4.6.0 + C++0x.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>391177</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-22 16:02:30 -0700</bug_when>
    <thetext>Attachment 90789 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source...&quot; exit_code: 1

Source/WebCore/html/NumberInputType.cpp:51:  Use &apos;using namespace std;&apos; instead of &apos;using std::numeric_limits;&apos;.  [build/using_std] [4]
Total errors found: 1 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>391191</commentid>
    <comment_count>4</comment_count>
      <attachid>90792</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2011-04-22 16:10:16 -0700</bug_when>
    <thetext>Created attachment 90792
namespacestdisnan.diff

OK style bot, have it your way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>391398</commentid>
    <comment_count>5</comment_count>
      <attachid>90792</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-04-22 21:46:40 -0700</bug_when>
    <thetext>Comment on attachment 90792
namespacestdisnan.diff

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

&gt; Source/JavaScriptCore/ChangeLog:9
&gt; +        Don&apos;t use &quot;using namespace std;&quot; in files where isnan or isinf are
&gt; +        used, since it can lead to ambiguity in C++0x compilers. See the

This is not a very maintainable rule, and following it makes the code base less consistent. I hope that there is a better solution.

Is this a gcc bug, or expected behavior?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>391426</commentid>
    <comment_count>6</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2011-04-22 23:19:22 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 90792 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=90792&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/ChangeLog:9
&gt; &gt; +        Don&apos;t use &quot;using namespace std;&quot; in files where isnan or isinf are
&gt; &gt; +        used, since it can lead to ambiguity in C++0x compilers. See the
&gt; 
&gt; This is not a very maintainable rule, and following it makes the code base less consistent. I hope that there is a better solution.

I can&apos;t really think of any, but there might be. My proposed long-term solution of getting rid of math.h and always using std:: in front of the functions also requires not to use &quot;using namespace std;&quot;, at least in the files where isnan/isinf are called, so it wouldn&apos;t be a huge improvement in that regard, I suppose.

&gt; 
&gt; Is this a gcc bug, or expected behavior?

The spec, AFAICU, leaves undefined whether or not the functions are also present in the global namespace (on top of being in std::), so I don&apos;t think it&apos;s a bug but just the way it happens to be on GCC. For details see section 17.6.1.2 (4) of http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3092.pdf</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393748</commentid>
    <comment_count>7</comment_count>
    <who name="Evan Martin">evan</who>
    <bug_when>2011-04-27 13:29:48 -0700</bug_when>
    <thetext>It seems the core goal is that WebKit wants to use a namespace-unqualified isinf/isnan.  Can&apos;t we hack the headers to make this just work?

E.g. in C++0x mode, in MathExtras.h, #include the file that might define the C99 isinf.  Then test for it with #ifdef, and if it&apos;s *not* present do the &quot;using&quot; line to get the std:: one.

That way you always exit MathExtras.h with at most one isinf in scope.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393766</commentid>
    <comment_count>8</comment_count>
      <attachid>90792</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-04-27 13:45:19 -0700</bug_when>
    <thetext>Comment on attachment 90792
namespacestdisnan.diff

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

&gt;&gt;&gt; Source/JavaScriptCore/ChangeLog:9
&gt;&gt;&gt; +        used, since it can lead to ambiguity in C++0x compilers. See the
&gt;&gt; 
&gt;&gt; This is not a very maintainable rule, and following it makes the code base less consistent. I hope that there is a better solution.
&gt;&gt; 
&gt;&gt; Is this a gcc bug, or expected behavior?
&gt; 
&gt; I can&apos;t really think of any, but there might be. My proposed long-term solution of getting rid of math.h and always using std:: in front of the functions also requires not to use &quot;using namespace std;&quot;, at least in the files where isnan/isinf are called, so it wouldn&apos;t be a huge improvement in that regard, I suppose.

The right thing to do is to find a fix in MathExtras.h. The goal is to be able to call isinf and isnan directly; there must be way to do that.

Please do *not* start making these changes to all the files using MathExtras.h.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>398376</commentid>
    <comment_count>9</comment_count>
      <attachid>92342</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-05-04 16:24:05 -0700</bug_when>
    <thetext>Created attachment 92342
Another patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>398379</commentid>
    <comment_count>10</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-05-04 16:26:15 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 90792 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=90792&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/JavaScriptCore/ChangeLog:9
&gt; &gt;&gt;&gt; +        used, since it can lead to ambiguity in C++0x compilers. See the
&gt; &gt;&gt; 
&gt; &gt;&gt; This is not a very maintainable rule, and following it makes the code base less consistent. I hope that there is a better solution.
&gt; &gt;&gt; 
&gt; &gt;&gt; Is this a gcc bug, or expected behavior?
&gt; &gt; 
&gt; &gt; I can&apos;t really think of any, but there might be. My proposed long-term solution of getting rid of math.h and always using std:: in front of the functions also requires not to use &quot;using namespace std;&quot;, at least in the files where isnan/isinf are called, so it wouldn&apos;t be a huge improvement in that regard, I suppose.
&gt; 
&gt; The right thing to do is to find a fix in MathExtras.h. The goal is to be able to call isinf and isnan directly; there must be way to do that.
&gt; 
&gt; Please do *not* start making these changes to all the files using MathExtras.h.

Hi Darin,

If you look at my approach it limits the modifications but there is still an issue.

I have to specify std in some places otherwise I have :

../../../webkit/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp:1109:21: error: call of overloaded &apos;isnan(double&amp;)&apos; is ambiguous
../../../webkit/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp:1109:21: note: candidates are:
/usr/include/bits/mathcalls.h:235:12: note: int isnan(double)
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.6.0/../../../../include/c++/4.6.0/cmath:558:3: note: bool std::isnan(long double)
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.6.0/../../../../include/c++/4.6.0/cmath:554:3: note: bool std::isnan(double)
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.6.0/../../../../include/c++/4.6.0/cmath:550:3: note: bool std::isnan(float)

because /usr/include/bits/mathcalls.h:235:12: note: int isnan(double) is in the global namespace and in a if condition it becomes ambiguous.

Btw I didn&apos;t bother doing a changelog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>398386</commentid>
    <comment_count>11</comment_count>
    <who name="Evan Martin">evan</who>
    <bug_when>2011-05-04 16:29:54 -0700</bug_when>
    <thetext>It appears at least one of those files has a &quot;using namespace std&quot; in it.
Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp:39:using namespace std;

I wonder how hard it would be to remove that.

Unfortunately, there are 392 instances of &apos;using namespace std&apos; in the WebKit codebase.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>398425</commentid>
    <comment_count>12</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-05-04 17:12:06 -0700</bug_when>
    <thetext>Attachment 92342 did not build on win:
Build output: http://queues.webkit.org/results/8557732</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>398924</commentid>
    <comment_count>13</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-05-05 12:29:12 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; It appears at least one of those files has a &quot;using namespace std&quot; in it.
&gt; Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp:39:using namespace std;
&gt; 
&gt; I wonder how hard it would be to remove that.
&gt; 
&gt; Unfortunately, there are 392 instances of &apos;using namespace std&apos; in the WebKit codebase.

A solution could be to get rid of using namespace std and fix the code accordingly and when isnan and friends are in the std then it&apos;s fine and we just namespace the WebKit implementation of isnan and friends into &quot;std&quot;. Globally using namespace std always lead to name conflicts at some points (based on my little experience).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>398928</commentid>
    <comment_count>14</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-05-05 12:31:08 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; A solution could be to get rid of using namespace std

We don’t want to do this for the whole project just because of the math headers being screwed up on some platform. There should not be a isnan function both in the global namespace and in namespace std on any platform. Platforms that have that have a broken C++ library and we should find a workaround for that brokenness.

&gt; Globally using namespace std always lead to name conflicts at some points (based on my little experience).

What do you mean by “globally using”? Are you saying no one can ever use “using namespace std”? That does not correspond to my experience.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>398942</commentid>
    <comment_count>15</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-05-05 12:48:06 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (In reply to comment #13)
&gt; &gt; A solution could be to get rid of using namespace std
&gt; 
&gt; We don’t want to do this for the whole project just because of the math headers being screwed up on some platform. There should not be a isnan function both in the global namespace and in namespace std on any platform. Platforms that have that have a broken C++ library and we should find a workaround for that brokenness.

Well this I agree, it&apos;s stupid.

&gt; 
&gt; &gt; Globally using namespace std always lead to name conflicts at some points (based on my little experience).
&gt; 
&gt; What do you mean by “globally using”? Are you saying no one can ever use “using namespace std”? That does not correspond to my experience.

I&apos;m saying that if you do :

using namespace std;
using namespace other;

you may have name collisions. That&apos;s why I always used std::X but I&apos;m fine with what you say. I&apos;ll try to come up with an acceptable workaround.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>398953</commentid>
    <comment_count>16</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-05-05 12:58:03 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; I&apos;m saying that if you do :
&gt; 
&gt; using namespace std;
&gt; using namespace other;
&gt; 
&gt; you may have name collisions.

Yes, exactly. And if you do, then you can’t use using namespace for both.

But that’s not what’s happening here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>399024</commentid>
    <comment_count>17</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-05-05 14:16:06 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; (In reply to comment #15)
&gt; &gt; I&apos;m saying that if you do :
&gt; &gt; 
&gt; &gt; using namespace std;
&gt; &gt; using namespace other;
&gt; &gt; 
&gt; &gt; you may have name collisions.
&gt; 
&gt; Yes, exactly. And if you do, then you can’t use using namespace for both.
&gt; 
&gt; But that’s not what’s happening here.

So I investigated a bit with a simple example like this :

#include &lt;stdlib.h&gt;
#include &lt;cmath&gt;
#include &lt;stdio.h&gt;

using namespace std;

int main(int argc, char** argv)
{
    double number = 0;
    if (isnan(number))
    {
        printf(&quot;Nan\n&quot;);
    }
    return 0;
}

and to compile call g++ main.cpp -std=c++0x -std=gnu++0x -o test.

It reproduces the issue. Now if I turn off the c++0x support it compiles fine.

The real issue is that the c++0x standard removes the prohibition on C++ headers declaring C names in the global namespace. Our problem here (even in the example) is that indirectly math.h is included therefore the error comes.

I&apos;m not really sure how the compiler can solve that. The float overloads seems new in gcc 4.6.0 that&apos;s why it only fails with 4.6.0.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>399121</commentid>
    <comment_count>18</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-05-05 15:50:27 -0700</bug_when>
    <thetext>Yes, clearly a library bug. We need to work around it. The GCC people got this wrong. That result can’t possibly be correct!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>399128</commentid>
    <comment_count>19</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-05-05 15:57:34 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; Yes, clearly a library bug. We need to work around it. The GCC people got this wrong. That result can’t possibly be correct!

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48891

Just so that they help us...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>623926</commentid>
    <comment_count>20</comment_count>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-05-15 05:17:19 -0700</bug_when>
    <thetext>See bug #86465 for the same problem with GCC 4.7, but solved.

Not that many files needed to have &apos;using namespace std&apos; removed, and the few that did always only used std::min, std::max or std::numeric_limits.

My patch in bug #86465, solves the problem for the problematic files, but moving forward I would suggest adding:
using std::min
using std::max
using std::numeric_limits

to MathExtra.h so many files might avoid having to include the whole std namespace.

Also note that the style-checker currently is trying to enforce &apos;using namespace std&apos; (why??) and thus trying to make the situation worse instead of better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>623933</commentid>
    <comment_count>21</comment_count>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-05-15 05:32:36 -0700</bug_when>
    <thetext>I hadn&apos;t taken GCC 4.6 into account when making the patch for GCC 4.7. 

I suggest making the check in MathExtra.h into:
#if !COMPILER(MSVC) &amp;&amp; !COMPILER(RVCT) &amp;&amp; !OS(SOLARIS)
using std::isfinite;
#if !COMPILER_SUPPORTS(CXX_ISINF_ISNAN)
using std::isinf;
using std::isnan;
#endif
using std::signbit;
#endif

And setting WTF_COMPILER_SUPPORTS_CXX_ISINF_ISNAN for compilers that has isinf and isnan in the global namespace.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624218</commentid>
    <comment_count>22</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-05-15 10:11:16 -0700</bug_when>
    <thetext>MathExtras.h is supposed to deal with functions from &lt;math.h&gt;. Since min, max, and numeric_limits are not from that file, I don’t think they belong in here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628918</commentid>
    <comment_count>23</comment_count>
      <attachid>142978</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-05-21 03:05:27 -0700</bug_when>
    <thetext>Created attachment 142978
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628921</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-21 03:08:55 -0700</bug_when>
    <thetext>Attachment 142978 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WTF/ChangeLog&apos;, u&apos;Source/WTF/wtf/Co...&quot; exit_code: 1
Source/WTF/wtf/MathExtras.h:292:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Source/WTF/wtf/MathExtras.h:298:  Use &apos;using namespace std;&apos; instead of &apos;using std::wtf_isinf;&apos;.  [build/using_std] [4]
Source/WTF/wtf/MathExtras.h:299:  Use &apos;using namespace std;&apos; instead of &apos;using std::wtf_isnan;&apos;.  [build/using_std] [4]
Total errors found: 3 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628928</commentid>
    <comment_count>25</comment_count>
      <attachid>142982</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-05-21 03:24:43 -0700</bug_when>
    <thetext>Created attachment 142982
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629076</commentid>
    <comment_count>26</comment_count>
      <attachid>142982</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-21 07:23:38 -0700</bug_when>
    <thetext>Comment on attachment 142982
Patch

Clearing flags on attachment: 142982

Committed r117779: &lt;http://trac.webkit.org/changeset/117779&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629077</commentid>
    <comment_count>27</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-21 07:23:44 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>646183</commentid>
    <comment_count>28</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-06-11 12:55:51 -0700</bug_when>
    <thetext>This broke GCC build for some versions, bug 88721.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90789</attachid>
            <date>2011-04-22 15:59:39 -0700</date>
            <delta_ts>2011-04-22 16:10:16 -0700</delta_ts>
            <desc>namespacestdisnan.diff</desc>
            <filename>namespacestdisnan.diff</filename>
            <type>text/plain</type>
            <size>8586</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSBhYjRjZWM1NzhmMmIwMTA4OTg3ZDJhNTMwZjU2MTc5ZGJjM2I3ZTM2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBYYW4gTG9wZXogPHhsb3BlekBpZ2FsaWEuY29tPgpEYXRlOiBG
cmksIDIyIEFwciAyMDExIDE1OjU3OjU2IC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gU291cmNlL1dl
YkNvcmU6CgoyMDExLTA0LTIyICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KCiAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgogICAgICAgIENvbGxpZGluZyBpc2luZi9p
c25hbiBiZXR3ZWVuIEM5OSBhbmQgQysrMHggd2l0aCBHQ0MgNC42LjAKICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTkyNDkKCiAgICAgICAgRG9uJ3QgdXNl
ICJ1c2luZyBuYW1lc3BhY2Ugc3RkOyIgaW4gZmlsZXMgd2hlcmUgaXNuYW4gb3IgaXNpbmYgYXJl
CiAgICAgICAgdXNlZCwgc2luY2UgaXQgY2FuIGxlYWQgdG8gYW1iaWd1aXR5IGluIEMrKzB4IGNv
bXBpbGVycy4gU2VlIHRoZQogICAgICAgIGJ1ZyBmb3IgbW9yZSBkZXRhaWxzLgoKICAgICAgICAq
IGh0bWwvSFRNTElucHV0RWxlbWVudC5jcHA6IGRyb3AgInVzaW5nIG5hbWVzcGFjZSBzdGQ7Igog
ICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjphcHBseVN0ZXApOiB1c2Ugc3RkOjog
cHJlZml4IGV4cGxpY3RseS4KICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6c3Rl
cFVwRnJvbVJlbmRlcmVyKTogZGl0dG8uCiAgICAgICAgKiBodG1sL051bWJlcklucHV0VHlwZS5j
cHA6IGRvIHVzaW5nIHN0ZDo6bnVtZXJpY19saW1pdHM7IGluc3RlYWQKICAgICAgICBvZiB1c2lu
ZyBuYW1lc3BhY2Ugc3RkOwoKU291cmNlL0phdmFTY3JpcHRDb3JlOgoKMjAxMS0wNC0yMiAgWGFu
IExvcGV6ICA8eGxvcGV6QGlnYWxpYS5jb20+CgogICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgoKICAgICAgICBDb2xsaWRpbmcgaXNpbmYvaXNuYW4gYmV0d2VlbiBDOTkgYW5kIEMr
KzB4IHdpdGggR0NDIDQuNi4wCiAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTU5MjQ5CgogICAgICAgIERvbid0IHVzZSAidXNpbmcgbmFtZXNwYWNlIHN0ZDsi
IGluIGZpbGVzIHdoZXJlIGlzbmFuIG9yIGlzaW5mIGFyZQogICAgICAgIHVzZWQsIHNpbmNlIGl0
IGNhbiBsZWFkIHRvIGFtYmlndWl0eSBpbiBDKysweCBjb21waWxlcnMuIFNlZSB0aGUKICAgICAg
ICBidWcgZm9yIG1vcmUgZGV0YWlscy4KCiAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0ZWNvZGVH
ZW5lcmF0b3IuY3BwOiBkcm9wICJ1c2luZyBuYW1lc3BhY2Ugc3RkOyIKICAgICAgICAoSlNDOjpC
eXRlY29kZUdlbmVyYXRvcjo6Qnl0ZWNvZGVHZW5lcmF0b3IpOiB1c2Ugc3RkOjogcHJlZml4IGV4
cGxpY3RseS4KICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6bmV3UmVnaXN0ZXIpOiBk
aXR0by4KICAgICAgICAqIHd0Zi9NYXRoRXh0cmFzLmg6IGRvIG5vdCBpbXBvcnQgaXNuYW4gYW5k
IGlzaW5mIGludG8gdGhlIGdsb2JhbAogICAgICAgIG5hbWVzcGFjZSB3aXRoIEdDQyBpbiBDKysw
eCBtb2RlLCBzaW5jZSBpdCB3aWxsIGNvbGxpZGUgd2l0aCB0aGUKICAgICAgICBDOTkgZnVuY3Rp
b25zLgotLS0KIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAg
ICAgIHwgICAxOCArKysrKysrKysrKysrKysrKysKIC4uLi9ieXRlY29tcGlsZXIvQnl0ZWNvZGVH
ZW5lcmF0b3IuY3BwICAgICAgICAgICAgIHwgICAgNiArKy0tLS0KIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvTWF0aEV4dHJhcy5oICAgICAgICAgICAgIHwgICAgMiArKwogU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDE3ICsrKysrKysrKysr
KysrKysrCiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwICAgICAgICAg
ICB8ICAgMTAgKysrKy0tLS0tLQogU291cmNlL1dlYkNvcmUvaHRtbC9OdW1iZXJJbnB1dFR5cGUu
Y3BwICAgICAgICAgICAgfCAgICAyICstCiA2IGZpbGVzIGNoYW5nZWQsIDQ0IGluc2VydGlvbnMo
KyksIDExIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDAwNWZmZDUu
LjU3YTU4YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEx
LTA0LTIyICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb2xsaWRpbmcgaXNpbmYvaXNuYW4gYmV0
d2VlbiBDOTkgYW5kIEMrKzB4IHdpdGggR0NDIDQuNi4wCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01OTI0OQorCisgICAgICAgIERvbid0IHVzZSAidXNp
bmcgbmFtZXNwYWNlIHN0ZDsiIGluIGZpbGVzIHdoZXJlIGlzbmFuIG9yIGlzaW5mIGFyZQorICAg
ICAgICB1c2VkLCBzaW5jZSBpdCBjYW4gbGVhZCB0byBhbWJpZ3VpdHkgaW4gQysrMHggY29tcGls
ZXJzLiBTZWUgdGhlCisgICAgICAgIGJ1ZyBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgICAgICog
Ynl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcDogZHJvcCAidXNpbmcgbmFtZXNwYWNl
IHN0ZDsiCisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjpCeXRlY29kZUdlbmVyYXRv
cik6IHVzZSBzdGQ6OiBwcmVmaXggZXhwbGljdGx5LgorICAgICAgICAoSlNDOjpCeXRlY29kZUdl
bmVyYXRvcjo6bmV3UmVnaXN0ZXIpOiBkaXR0by4KKyAgICAgICAgKiB3dGYvTWF0aEV4dHJhcy5o
OiBkbyBub3QgaW1wb3J0IGlzbmFuIGFuZCBpc2luZiBpbnRvIHRoZSBnbG9iYWwKKyAgICAgICAg
bmFtZXNwYWNlIHdpdGggR0NDIGluIEMrKzB4IG1vZGUsIHNpbmNlIGl0IHdpbGwgY29sbGlkZSB3
aXRoIHRoZQorICAgICAgICBDOTkgZnVuY3Rpb25zLgorCiAyMDExLTA0LTIyICBQYXRyaWNrIEdh
bnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIEJ1aWxk
IGZpeCBmb3IgRU5BQkxFKElOVEVSUFJFVEVSKSBhZnRlciByODQ1NTYuCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3Bw
CmluZGV4IDgzZTQ1OTIuLjM2MTZjN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCkBAIC0zNiw4ICszNiw2
IEBACiAjaW5jbHVkZSAiU2NvcGVDaGFpbi5oIgogI2luY2x1ZGUgIlVTdHJpbmcuaCIKIAotdXNp
bmcgbmFtZXNwYWNlIHN0ZDsKLQogbmFtZXNwYWNlIEpTQyB7CiAKIC8qCkBAIC0yNjcsNyArMjY1
LDcgQEAgQnl0ZWNvZGVHZW5lcmF0b3I6OkJ5dGVjb2RlR2VuZXJhdG9yKFByb2dyYW1Ob2RlKiBw
cm9ncmFtTm9kZSwgU2NvcGVDaGFpbk5vZGUqIHMKICAgICAgICAgICAgIAogICAgICAgICAgICAg
aWYgKGVudHJ5LmlzTnVsbCgpKQogICAgICAgICAgICAgICAgIG5ld0dsb2JhbHMuYWRkKGZ1bmN0
aW9uLT5pZGVudCgpLmltcGwoKSk7Ci0gICAgICAgICAgICBmdW5jdGlvbkluZm9baV0gPSBtYWtl
X3BhaXIoZW50cnkuZ2V0SW5kZXgoKSwgZW50cnkuaXNSZWFkT25seSgpKTsKKyAgICAgICAgICAg
IGZ1bmN0aW9uSW5mb1tpXSA9IHN0ZDo6bWFrZV9wYWlyKGVudHJ5LmdldEluZGV4KCksIGVudHJ5
LmlzUmVhZE9ubHkoKSk7CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIFZlY3Rvcjxib29s
LCAxNj4gc2hvdWxkQ3JlYXRlVmFyKHZhclN0YWNrLnNpemUoKSk7CkBAIC02MzYsNyArNjM0LDcg
QEAgYm9vbCBCeXRlY29kZUdlbmVyYXRvcjo6aXNMb2NhbENvbnN0YW50KGNvbnN0IElkZW50aWZp
ZXImIGlkZW50KQogUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6Om5ld1JlZ2lzdGVyKCkK
IHsKICAgICBtX2NhbGxlZVJlZ2lzdGVycy5hcHBlbmQobV9jYWxsZWVSZWdpc3RlcnMuc2l6ZSgp
KTsKLSAgICBtX2NvZGVCbG9jay0+bV9udW1DYWxsZWVSZWdpc3RlcnMgPSBtYXg8aW50PihtX2Nv
ZGVCbG9jay0+bV9udW1DYWxsZWVSZWdpc3RlcnMsIG1fY2FsbGVlUmVnaXN0ZXJzLnNpemUoKSk7
CisgICAgbV9jb2RlQmxvY2stPm1fbnVtQ2FsbGVlUmVnaXN0ZXJzID0gc3RkOjptYXg8aW50Piht
X2NvZGVCbG9jay0+bV9udW1DYWxsZWVSZWdpc3RlcnMsIG1fY2FsbGVlUmVnaXN0ZXJzLnNpemUo
KSk7CiAgICAgcmV0dXJuICZtX2NhbGxlZVJlZ2lzdGVycy5sYXN0KCk7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvTWF0aEV4dHJhcy5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi9NYXRoRXh0cmFzLmgKaW5kZXggZmFjMTg3Yy4uNzhlYjQ2NyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9NYXRoRXh0cmFzLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9NYXRoRXh0cmFzLmgKQEAgLTI0MCw4ICsyNDAsMTAgQEAgaW5s
aW5lIGludCBjbGFtcFRvSW50ZWdlcih1bnNpZ25lZCB2YWx1ZSkKIAogI2lmICFDT01QSUxFUihN
U1ZDKSAmJiAhKENPTVBJTEVSKFJWQ1QpICYmIFBMQVRGT1JNKEJSRVdNUCkpICYmICFPUyhTT0xB
UklTKSAmJiAhT1MoU1lNQklBTikKIHVzaW5nIHN0ZDo6aXNmaW5pdGU7CisjaWZuZGVmIF9fR1hY
X0VYUEVSSU1FTlRBTF9DWFgwWF9fCiB1c2luZyBzdGQ6OmlzaW5mOwogdXNpbmcgc3RkOjppc25h
bjsKKyNlbmRpZgogdXNpbmcgc3RkOjpzaWduYml0OwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4
MDI5MDQzLi5kNzc0NzQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTEtMDQtMjIg
IFhhbiBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIENvbGxpZGluZyBpc2luZi9pc25hbiBiZXR3ZWVuIEM5
OSBhbmQgQysrMHggd2l0aCBHQ0MgNC42LjAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTU5MjQ5CisKKyAgICAgICAgRG9uJ3QgdXNlICJ1c2luZyBuYW1l
c3BhY2Ugc3RkOyIgaW4gZmlsZXMgd2hlcmUgaXNuYW4gb3IgaXNpbmYgYXJlCisgICAgICAgIHVz
ZWQsIHNpbmNlIGl0IGNhbiBsZWFkIHRvIGFtYmlndWl0eSBpbiBDKysweCBjb21waWxlcnMuIFNl
ZSB0aGUKKyAgICAgICAgYnVnIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICAgICAgKiBodG1sL0hU
TUxJbnB1dEVsZW1lbnQuY3BwOiBkcm9wICJ1c2luZyBuYW1lc3BhY2Ugc3RkOyIKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OmFwcGx5U3RlcCk6IHVzZSBzdGQ6OiBwcmVmaXgg
ZXhwbGljdGx5LgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6c3RlcFVwRnJv
bVJlbmRlcmVyKTogZGl0dG8uCisgICAgICAgICogaHRtbC9OdW1iZXJJbnB1dFR5cGUuY3BwOiBk
byB1c2luZyBzdGQ6Om51bWVyaWNfbGltaXRzOyBpbnN0ZWFkCisgICAgICAgIG9mIHVzaW5nIG5h
bWVzcGFjZSBzdGQ7CisKIDIwMTEtMDQtMjIgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTElucHV0RWxlbWVudC5jcHAKaW5kZXggNjMwOTc4YS4uMmM0ODFhOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCkBAIC01NCw4ICs1NCw2IEBACiAjaW5jbHVk
ZSA8d3RmL01hdGhFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKLXVz
aW5nIG5hbWVzcGFjZSBzdGQ7Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNw
YWNlIEhUTUxOYW1lczsKQEAgLTMyNSw3ICszMjMsNyBAQCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6
OmFwcGx5U3RlcChkb3VibGUgY291bnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgICAgICBlYyA9
IElOVkFMSURfU1RBVEVfRVJSOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIGNvbnN0IGRv
dWJsZSBuYW4gPSBudW1lcmljX2xpbWl0czxkb3VibGU+OjpxdWlldF9OYU4oKTsKKyAgICBjb25z
dCBkb3VibGUgbmFuID0gc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjpxdWlldF9OYU4oKTsK
ICAgICBkb3VibGUgY3VycmVudCA9IG1faW5wdXRUeXBlLT5wYXJzZVRvRG91YmxlV2l0aERlY2lt
YWxQbGFjZXModmFsdWUoKSwgbmFuLCAmY3VycmVudERlY2ltYWxQbGFjZXMpOwogICAgIGlmICgh
aXNmaW5pdGUoY3VycmVudCkpIHsKICAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VSUjsKQEAg
LTM0NSw3ICszNDMsNyBAQCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OmFwcGx5U3RlcChkb3VibGUg
Y291bnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgICAgICBuZXdWYWx1ZSA9IG1faW5wdXRUeXBl
LT5taW5pbXVtKCk7CiAgICAgdW5zaWduZWQgYmFzZURlY2ltYWxQbGFjZXM7CiAgICAgZG91Ymxl
IGJhc2UgPSBtX2lucHV0VHlwZS0+c3RlcEJhc2VXaXRoRGVjaW1hbFBsYWNlcygmYmFzZURlY2lt
YWxQbGFjZXMpOwotICAgIGJhc2VEZWNpbWFsUGxhY2VzID0gbWluKGJhc2VEZWNpbWFsUGxhY2Vz
LCAxNnUpOworICAgIGJhc2VEZWNpbWFsUGxhY2VzID0gc3RkOjptaW4oYmFzZURlY2ltYWxQbGFj
ZXMsIDE2dSk7CiAgICAgaWYgKG5ld1ZhbHVlIDwgcG93KDEwLjAsIDIxLjApKSB7CiAgICAgICBp
ZiAoc3RlcE1pc21hdGNoKHZhbHVlKCkpKSB7CiAgICAgICAgICAgICBkb3VibGUgc2NhbGUgPSBw
b3coMTAuMCwgc3RhdGljX2Nhc3Q8ZG91YmxlPihtYXgoc3RlcERlY2ltYWxQbGFjZXMsIGN1cnJl
bnREZWNpbWFsUGxhY2VzKSkpOwpAQCAtMTM4MCw3ICsxMzc4LDcgQEAgdm9pZCBIVE1MSW5wdXRF
bGVtZW50OjpzdGVwVXBGcm9tUmVuZGVyZXIoaW50IG4pCiAgICAgZWxzZSBpZiAoIWdldEFsbG93
ZWRWYWx1ZVN0ZXBXaXRoRGVjaW1hbFBsYWNlcygmc3RlcCwgJnN0ZXBEZWNpbWFsUGxhY2VzKSkK
ICAgICAgICAgcmV0dXJuOwogICAgIGJhc2UgPSBtX2lucHV0VHlwZS0+c3RlcEJhc2VXaXRoRGVj
aW1hbFBsYWNlcygmYmFzZURlY2ltYWxQbGFjZXMpOwotICAgIGJhc2VEZWNpbWFsUGxhY2VzID0g
bWluKGJhc2VEZWNpbWFsUGxhY2VzLCAxNnUpOworICAgIGJhc2VEZWNpbWFsUGxhY2VzID0gc3Rk
OjptaW4oYmFzZURlY2ltYWxQbGFjZXMsIDE2dSk7CiAKICAgICBpbnQgc2lnbjsKICAgICBpZiAo
c3RlcCA+IDApCkBAIC0xMzkwLDcgKzEzODgsNyBAQCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnN0
ZXBVcEZyb21SZW5kZXJlcihpbnQgbikKICAgICBlbHNlCiAgICAgICAgIHNpZ24gPSAwOwogCi0g
ICAgY29uc3QgZG91YmxlIG5hbiA9IG51bWVyaWNfbGltaXRzPGRvdWJsZT46OnF1aWV0X05hTigp
OworICAgIGNvbnN0IGRvdWJsZSBuYW4gPSBzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OnF1
aWV0X05hTigpOwogICAgIFN0cmluZyBjdXJyZW50U3RyaW5nVmFsdWUgPSB2YWx1ZSgpOwogICAg
IGRvdWJsZSBjdXJyZW50ID0gbV9pbnB1dFR5cGUtPnBhcnNlVG9Eb3VibGUoY3VycmVudFN0cmlu
Z1ZhbHVlLCBuYW4pOwogICAgIGlmICghaXNmaW5pdGUoY3VycmVudCkpIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvTnVtYmVySW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvTnVtYmVySW5wdXRUeXBlLmNwcAppbmRleCBhZjMwMzQ1Li4wMmJjNjIwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL051bWJlcklucHV0VHlwZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9OdW1iZXJJbnB1dFR5cGUuY3BwCkBAIC00OCw3ICs0OCw3IEBACiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7Ci11c2luZyBuYW1l
c3BhY2Ugc3RkOwordXNpbmcgc3RkOjpudW1lcmljX2xpbWl0czsKIAogc3RhdGljIGNvbnN0IGRv
dWJsZSBudW1iZXJEZWZhdWx0U3RlcCA9IDEuMDsKIHN0YXRpYyBjb25zdCBkb3VibGUgbnVtYmVy
U3RlcFNjYWxlRmFjdG9yID0gMS4wOwotLSAKMS43LjQuNAoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90792</attachid>
            <date>2011-04-22 16:10:16 -0700</date>
            <delta_ts>2012-05-21 03:05:04 -0700</delta_ts>
            <desc>namespacestdisnan.diff</desc>
            <filename>namespacestdisnan.diff</filename>
            <type>text/plain</type>
            <size>11878</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSBiZGEzNzA2MGFjMzQxMDczYzY1ZmI4MGM1MGZjYjdjMWU3ODE5YzIyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBYYW4gTG9wZXogPHhsb3BlekBpZ2FsaWEuY29tPgpEYXRlOiBG
cmksIDIyIEFwciAyMDExIDE1OjU3OjU2IC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gU291cmNlL1dl
YkNvcmU6CgoyMDExLTA0LTIyICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KCiAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgogICAgICAgIENvbGxpZGluZyBpc2luZi9p
c25hbiBiZXR3ZWVuIEM5OSBhbmQgQysrMHggd2l0aCBHQ0MgNC42LjAKICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTkyNDkKCiAgICAgICAgRG9uJ3QgdXNl
ICJ1c2luZyBuYW1lc3BhY2Ugc3RkOyIgaW4gZmlsZXMgd2hlcmUgaXNuYW4gb3IgaXNpbmYgYXJl
CiAgICAgICAgdXNlZCwgc2luY2UgaXQgY2FuIGxlYWQgdG8gYW1iaWd1aXR5IGluIEMrKzB4IGNv
bXBpbGVycy4gU2VlIHRoZQogICAgICAgIGJ1ZyBmb3IgbW9yZSBkZXRhaWxzLgoKICAgICAgICAq
IGh0bWwvSFRNTElucHV0RWxlbWVudC5jcHA6IGRyb3AgInVzaW5nIG5hbWVzcGFjZSBzdGQ7Igog
ICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjphcHBseVN0ZXApOiB1c2Ugc3RkOjog
cHJlZml4IGV4cGxpY3RseS4KICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6c3Rl
cFVwRnJvbVJlbmRlcmVyKTogZGl0dG8uCiAgICAgICAgKiBodG1sL051bWJlcklucHV0VHlwZS5j
cHA6CiAgICAgICAgKFdlYkNvcmU6Ok51bWJlcklucHV0VHlwZTo6dmFsdWVBc051bWJlcik6IGRy
b3AgInVzaW5nIG5hbWVzcGFjZSBzdGQ7IgogICAgICAgIChXZWJDb3JlOjpOdW1iZXJJbnB1dFR5
cGU6OnNldFZhbHVlQXNOdW1iZXIpOiB1c2Ugc3RkOjogcHJlZml4IGV4cGxpY2l0bHkuCiAgICAg
ICAgKFdlYkNvcmU6Ok51bWJlcklucHV0VHlwZTo6cmFuZ2VVbmRlcmZsb3cpOiBkaXR0by4KICAg
ICAgICAoV2ViQ29yZTo6TnVtYmVySW5wdXRUeXBlOjpyYW5nZU92ZXJmbG93KTogZGl0dG8uCiAg
ICAgICAgKFdlYkNvcmU6Ok51bWJlcklucHV0VHlwZTo6bWluaW11bSk6IGRpdHRvLgogICAgICAg
IChXZWJDb3JlOjpOdW1iZXJJbnB1dFR5cGU6Om1heGltdW0pOiBkaXR0by4KICAgICAgICAoV2Vi
Q29yZTo6TnVtYmVySW5wdXRUeXBlOjp2aXNpYmxlVmFsdWUpOiBkaXR0by4KClNvdXJjZS9KYXZh
U2NyaXB0Q29yZToKCjIwMTEtMDQtMjIgIFhhbiBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgoK
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiAgICAgICAgQ29sbGlkaW5nIGlz
aW5mL2lzbmFuIGJldHdlZW4gQzk5IGFuZCBDKysweCB3aXRoIEdDQyA0LjYuMAogICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01OTI0OQoKICAgICAgICBEb24n
dCB1c2UgInVzaW5nIG5hbWVzcGFjZSBzdGQ7IiBpbiBmaWxlcyB3aGVyZSBpc25hbiBvciBpc2lu
ZiBhcmUKICAgICAgICB1c2VkLCBzaW5jZSBpdCBjYW4gbGVhZCB0byBhbWJpZ3VpdHkgaW4gQysr
MHggY29tcGlsZXJzLiBTZWUgdGhlCiAgICAgICAgYnVnIGZvciBtb3JlIGRldGFpbHMuCgogICAg
ICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcDogZHJvcCAidXNpbmcgbmFt
ZXNwYWNlIHN0ZDsiCiAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OkJ5dGVjb2RlR2Vu
ZXJhdG9yKTogdXNlIHN0ZDo6IHByZWZpeCBleHBsaWN0bHkuCiAgICAgICAgKEpTQzo6Qnl0ZWNv
ZGVHZW5lcmF0b3I6Om5ld1JlZ2lzdGVyKTogZGl0dG8uCiAgICAgICAgKiB3dGYvTWF0aEV4dHJh
cy5oOiBkbyBub3QgaW1wb3J0IGlzbmFuIGFuZCBpc2luZiBpbnRvIHRoZSBnbG9iYWwKICAgICAg
ICBuYW1lc3BhY2Ugd2l0aCBHQ0MgaW4gQysrMHggbW9kZSwgc2luY2UgaXQgd2lsbCBjb2xsaWRl
IHdpdGggdGhlCiAgICAgICAgQzk5IGZ1bmN0aW9ucy4KLS0tCiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICB8ICAgMTggKysrKysrKysrKysrKysrCiAu
Li4vYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcCAgICAgICAgICAgICB8ICAgIDYg
Ky0tLQogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9NYXRoRXh0cmFzLmggICAgICAgICAgICAg
fCAgICAyICsKIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHwgICAyMyArKysrKysrKysrKysrKysrKysrKwogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
SW5wdXRFbGVtZW50LmNwcCAgICAgICAgICAgfCAgIDEwICsrKy0tLS0tCiBTb3VyY2UvV2ViQ29y
ZS9odG1sL051bWJlcklucHV0VHlwZS5jcHAgICAgICAgICAgICB8ICAgMTcgKysrKysrKy0tLS0t
LS0KIDYgZmlsZXMgY2hhbmdlZCwgNTcgaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0pCgpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggMDA1ZmZkNS4uNTdhNThhMiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDQtMjIgIFhhbiBMb3BleiAgPHhs
b3BlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIENvbGxpZGluZyBpc2luZi9pc25hbiBiZXR3ZWVuIEM5OSBhbmQgQysrMHggd2l0
aCBHQ0MgNC42LjAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTU5MjQ5CisKKyAgICAgICAgRG9uJ3QgdXNlICJ1c2luZyBuYW1lc3BhY2Ugc3RkOyIgaW4g
ZmlsZXMgd2hlcmUgaXNuYW4gb3IgaXNpbmYgYXJlCisgICAgICAgIHVzZWQsIHNpbmNlIGl0IGNh
biBsZWFkIHRvIGFtYmlndWl0eSBpbiBDKysweCBjb21waWxlcnMuIFNlZSB0aGUKKyAgICAgICAg
YnVnIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0ZWNvZGVH
ZW5lcmF0b3IuY3BwOiBkcm9wICJ1c2luZyBuYW1lc3BhY2Ugc3RkOyIKKyAgICAgICAgKEpTQzo6
Qnl0ZWNvZGVHZW5lcmF0b3I6OkJ5dGVjb2RlR2VuZXJhdG9yKTogdXNlIHN0ZDo6IHByZWZpeCBl
eHBsaWN0bHkuCisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjpuZXdSZWdpc3Rlcik6
IGRpdHRvLgorICAgICAgICAqIHd0Zi9NYXRoRXh0cmFzLmg6IGRvIG5vdCBpbXBvcnQgaXNuYW4g
YW5kIGlzaW5mIGludG8gdGhlIGdsb2JhbAorICAgICAgICBuYW1lc3BhY2Ugd2l0aCBHQ0MgaW4g
QysrMHggbW9kZSwgc2luY2UgaXQgd2lsbCBjb2xsaWRlIHdpdGggdGhlCisgICAgICAgIEM5OSBm
dW5jdGlvbnMuCisKIDIwMTEtMDQtMjIgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gQnVpbGQgZml4IGZvciBFTkFCTEUoSU5URVJQ
UkVURVIpIGFmdGVyIHI4NDU1Ni4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKaW5kZXggODNlNDU5Mi4uMzYxNmM3
ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29k
ZUdlbmVyYXRvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9C
eXRlY29kZUdlbmVyYXRvci5jcHAKQEAgLTM2LDggKzM2LDYgQEAKICNpbmNsdWRlICJTY29wZUNo
YWluLmgiCiAjaW5jbHVkZSAiVVN0cmluZy5oIgogCi11c2luZyBuYW1lc3BhY2Ugc3RkOwotCiBu
YW1lc3BhY2UgSlNDIHsKIAogLyoKQEAgLTI2Nyw3ICsyNjUsNyBAQCBCeXRlY29kZUdlbmVyYXRv
cjo6Qnl0ZWNvZGVHZW5lcmF0b3IoUHJvZ3JhbU5vZGUqIHByb2dyYW1Ob2RlLCBTY29wZUNoYWlu
Tm9kZSogcwogICAgICAgICAgICAgCiAgICAgICAgICAgICBpZiAoZW50cnkuaXNOdWxsKCkpCiAg
ICAgICAgICAgICAgICAgbmV3R2xvYmFscy5hZGQoZnVuY3Rpb24tPmlkZW50KCkuaW1wbCgpKTsK
LSAgICAgICAgICAgIGZ1bmN0aW9uSW5mb1tpXSA9IG1ha2VfcGFpcihlbnRyeS5nZXRJbmRleCgp
LCBlbnRyeS5pc1JlYWRPbmx5KCkpOworICAgICAgICAgICAgZnVuY3Rpb25JbmZvW2ldID0gc3Rk
OjptYWtlX3BhaXIoZW50cnkuZ2V0SW5kZXgoKSwgZW50cnkuaXNSZWFkT25seSgpKTsKICAgICAg
ICAgfQogICAgICAgICAKICAgICAgICAgVmVjdG9yPGJvb2wsIDE2PiBzaG91bGRDcmVhdGVWYXIo
dmFyU3RhY2suc2l6ZSgpKTsKQEAgLTYzNiw3ICs2MzQsNyBAQCBib29sIEJ5dGVjb2RlR2VuZXJh
dG9yOjppc0xvY2FsQ29uc3RhbnQoY29uc3QgSWRlbnRpZmllciYgaWRlbnQpCiBSZWdpc3RlcklE
KiBCeXRlY29kZUdlbmVyYXRvcjo6bmV3UmVnaXN0ZXIoKQogewogICAgIG1fY2FsbGVlUmVnaXN0
ZXJzLmFwcGVuZChtX2NhbGxlZVJlZ2lzdGVycy5zaXplKCkpOwotICAgIG1fY29kZUJsb2NrLT5t
X251bUNhbGxlZVJlZ2lzdGVycyA9IG1heDxpbnQ+KG1fY29kZUJsb2NrLT5tX251bUNhbGxlZVJl
Z2lzdGVycywgbV9jYWxsZWVSZWdpc3RlcnMuc2l6ZSgpKTsKKyAgICBtX2NvZGVCbG9jay0+bV9u
dW1DYWxsZWVSZWdpc3RlcnMgPSBzdGQ6Om1heDxpbnQ+KG1fY29kZUJsb2NrLT5tX251bUNhbGxl
ZVJlZ2lzdGVycywgbV9jYWxsZWVSZWdpc3RlcnMuc2l6ZSgpKTsKICAgICByZXR1cm4gJm1fY2Fs
bGVlUmVnaXN0ZXJzLmxhc3QoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9NYXRoRXh0cmFzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL01hdGhFeHRy
YXMuaAppbmRleCBmYWMxODdjLi43OGViNDY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL01hdGhFeHRyYXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL01h
dGhFeHRyYXMuaApAQCAtMjQwLDggKzI0MCwxMCBAQCBpbmxpbmUgaW50IGNsYW1wVG9JbnRlZ2Vy
KHVuc2lnbmVkIHZhbHVlKQogCiAjaWYgIUNPTVBJTEVSKE1TVkMpICYmICEoQ09NUElMRVIoUlZD
VCkgJiYgUExBVEZPUk0oQlJFV01QKSkgJiYgIU9TKFNPTEFSSVMpICYmICFPUyhTWU1CSUFOKQog
dXNpbmcgc3RkOjppc2Zpbml0ZTsKKyNpZm5kZWYgX19HWFhfRVhQRVJJTUVOVEFMX0NYWDBYX18K
IHVzaW5nIHN0ZDo6aXNpbmY7CiB1c2luZyBzdGQ6OmlzbmFuOworI2VuZGlmCiB1c2luZyBzdGQ6
OnNpZ25iaXQ7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDgwMjkwNDMuLmM0OWMwOTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxMS0wNC0yMiAgWGFuIExvcGV6ICA8eGxvcGV6QGln
YWxpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQ29sbGlkaW5nIGlzaW5mL2lzbmFuIGJldHdlZW4gQzk5IGFuZCBDKysweCB3aXRoIEdDQyA0
LjYuMAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTky
NDkKKworICAgICAgICBEb24ndCB1c2UgInVzaW5nIG5hbWVzcGFjZSBzdGQ7IiBpbiBmaWxlcyB3
aGVyZSBpc25hbiBvciBpc2luZiBhcmUKKyAgICAgICAgdXNlZCwgc2luY2UgaXQgY2FuIGxlYWQg
dG8gYW1iaWd1aXR5IGluIEMrKzB4IGNvbXBpbGVycy4gU2VlIHRoZQorICAgICAgICBidWcgZm9y
IG1vcmUgZGV0YWlscy4KKworICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5jcHA6IGRy
b3AgInVzaW5nIG5hbWVzcGFjZSBzdGQ7IgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxl
bWVudDo6YXBwbHlTdGVwKTogdXNlIHN0ZDo6IHByZWZpeCBleHBsaWN0bHkuCisgICAgICAgIChX
ZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpzdGVwVXBGcm9tUmVuZGVyZXIpOiBkaXR0by4KKyAg
ICAgICAgKiBodG1sL051bWJlcklucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOdW1i
ZXJJbnB1dFR5cGU6OnZhbHVlQXNOdW1iZXIpOiBkcm9wICJ1c2luZyBuYW1lc3BhY2Ugc3RkOyIK
KyAgICAgICAgKFdlYkNvcmU6Ok51bWJlcklucHV0VHlwZTo6c2V0VmFsdWVBc051bWJlcik6IHVz
ZSBzdGQ6OiBwcmVmaXggZXhwbGljaXRseS4KKyAgICAgICAgKFdlYkNvcmU6Ok51bWJlcklucHV0
VHlwZTo6cmFuZ2VVbmRlcmZsb3cpOiBkaXR0by4KKyAgICAgICAgKFdlYkNvcmU6Ok51bWJlcklu
cHV0VHlwZTo6cmFuZ2VPdmVyZmxvdyk6IGRpdHRvLgorICAgICAgICAoV2ViQ29yZTo6TnVtYmVy
SW5wdXRUeXBlOjptaW5pbXVtKTogZGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpOdW1iZXJJbnB1
dFR5cGU6Om1heGltdW0pOiBkaXR0by4KKyAgICAgICAgKFdlYkNvcmU6Ok51bWJlcklucHV0VHlw
ZTo6dmlzaWJsZVZhbHVlKTogZGl0dG8uCisKIDIwMTEtMDQtMjIgIERhbiBCZXJuc3RlaW4gIDxt
aXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKaW5kZXggNjMwOTc4YS4uMmM0ODFhOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCkBAIC01NCw4ICs1NCw2
IEBACiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0
cmFzLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBzdGQ7Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
dXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKQEAgLTMyNSw3ICszMjMsNyBAQCB2b2lkIEhUTUxJ
bnB1dEVsZW1lbnQ6OmFwcGx5U3RlcChkb3VibGUgY291bnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQog
ICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwogICAgICAgICByZXR1cm47CiAgICAgfQot
ICAgIGNvbnN0IGRvdWJsZSBuYW4gPSBudW1lcmljX2xpbWl0czxkb3VibGU+OjpxdWlldF9OYU4o
KTsKKyAgICBjb25zdCBkb3VibGUgbmFuID0gc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+Ojpx
dWlldF9OYU4oKTsKICAgICBkb3VibGUgY3VycmVudCA9IG1faW5wdXRUeXBlLT5wYXJzZVRvRG91
YmxlV2l0aERlY2ltYWxQbGFjZXModmFsdWUoKSwgbmFuLCAmY3VycmVudERlY2ltYWxQbGFjZXMp
OwogICAgIGlmICghaXNmaW5pdGUoY3VycmVudCkpIHsKICAgICAgICAgZWMgPSBJTlZBTElEX1NU
QVRFX0VSUjsKQEAgLTM0NSw3ICszNDMsNyBAQCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OmFwcGx5
U3RlcChkb3VibGUgY291bnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgICAgICBuZXdWYWx1ZSA9
IG1faW5wdXRUeXBlLT5taW5pbXVtKCk7CiAgICAgdW5zaWduZWQgYmFzZURlY2ltYWxQbGFjZXM7
CiAgICAgZG91YmxlIGJhc2UgPSBtX2lucHV0VHlwZS0+c3RlcEJhc2VXaXRoRGVjaW1hbFBsYWNl
cygmYmFzZURlY2ltYWxQbGFjZXMpOwotICAgIGJhc2VEZWNpbWFsUGxhY2VzID0gbWluKGJhc2VE
ZWNpbWFsUGxhY2VzLCAxNnUpOworICAgIGJhc2VEZWNpbWFsUGxhY2VzID0gc3RkOjptaW4oYmFz
ZURlY2ltYWxQbGFjZXMsIDE2dSk7CiAgICAgaWYgKG5ld1ZhbHVlIDwgcG93KDEwLjAsIDIxLjAp
KSB7CiAgICAgICBpZiAoc3RlcE1pc21hdGNoKHZhbHVlKCkpKSB7CiAgICAgICAgICAgICBkb3Vi
bGUgc2NhbGUgPSBwb3coMTAuMCwgc3RhdGljX2Nhc3Q8ZG91YmxlPihtYXgoc3RlcERlY2ltYWxQ
bGFjZXMsIGN1cnJlbnREZWNpbWFsUGxhY2VzKSkpOwpAQCAtMTM4MCw3ICsxMzc4LDcgQEAgdm9p
ZCBIVE1MSW5wdXRFbGVtZW50OjpzdGVwVXBGcm9tUmVuZGVyZXIoaW50IG4pCiAgICAgZWxzZSBp
ZiAoIWdldEFsbG93ZWRWYWx1ZVN0ZXBXaXRoRGVjaW1hbFBsYWNlcygmc3RlcCwgJnN0ZXBEZWNp
bWFsUGxhY2VzKSkKICAgICAgICAgcmV0dXJuOwogICAgIGJhc2UgPSBtX2lucHV0VHlwZS0+c3Rl
cEJhc2VXaXRoRGVjaW1hbFBsYWNlcygmYmFzZURlY2ltYWxQbGFjZXMpOwotICAgIGJhc2VEZWNp
bWFsUGxhY2VzID0gbWluKGJhc2VEZWNpbWFsUGxhY2VzLCAxNnUpOworICAgIGJhc2VEZWNpbWFs
UGxhY2VzID0gc3RkOjptaW4oYmFzZURlY2ltYWxQbGFjZXMsIDE2dSk7CiAKICAgICBpbnQgc2ln
bjsKICAgICBpZiAoc3RlcCA+IDApCkBAIC0xMzkwLDcgKzEzODgsNyBAQCB2b2lkIEhUTUxJbnB1
dEVsZW1lbnQ6OnN0ZXBVcEZyb21SZW5kZXJlcihpbnQgbikKICAgICBlbHNlCiAgICAgICAgIHNp
Z24gPSAwOwogCi0gICAgY29uc3QgZG91YmxlIG5hbiA9IG51bWVyaWNfbGltaXRzPGRvdWJsZT46
OnF1aWV0X05hTigpOworICAgIGNvbnN0IGRvdWJsZSBuYW4gPSBzdGQ6Om51bWVyaWNfbGltaXRz
PGRvdWJsZT46OnF1aWV0X05hTigpOwogICAgIFN0cmluZyBjdXJyZW50U3RyaW5nVmFsdWUgPSB2
YWx1ZSgpOwogICAgIGRvdWJsZSBjdXJyZW50ID0gbV9pbnB1dFR5cGUtPnBhcnNlVG9Eb3VibGUo
Y3VycmVudFN0cmluZ1ZhbHVlLCBuYW4pOwogICAgIGlmICghaXNmaW5pdGUoY3VycmVudCkpIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTnVtYmVySW5wdXRUeXBlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvTnVtYmVySW5wdXRUeXBlLmNwcAppbmRleCBhZjMwMzQ1Li4yNjYy
ZDJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL051bWJlcklucHV0VHlwZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9OdW1iZXJJbnB1dFR5cGUuY3BwCkBAIC00OCw3ICs0
OCw2IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7
Ci11c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBzdGF0aWMgY29uc3QgZG91YmxlIG51bWJlckRlZmF1
bHRTdGVwID0gMS4wOwogc3RhdGljIGNvbnN0IGRvdWJsZSBudW1iZXJTdGVwU2NhbGVGYWN0b3Ig
PSAxLjA7CkBAIC02NSwxNiArNjQsMTYgQEAgY29uc3QgQXRvbWljU3RyaW5nJiBOdW1iZXJJbnB1
dFR5cGU6OmZvcm1Db250cm9sVHlwZSgpIGNvbnN0CiAKIGRvdWJsZSBOdW1iZXJJbnB1dFR5cGU6
OnZhbHVlQXNOdW1iZXIoKSBjb25zdAogewotICAgIHJldHVybiBwYXJzZVRvRG91YmxlKGVsZW1l
bnQoKS0+dmFsdWUoKSwgbnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCkpOworICAg
IHJldHVybiBwYXJzZVRvRG91YmxlKGVsZW1lbnQoKS0+dmFsdWUoKSwgc3RkOjpudW1lcmljX2xp
bWl0czxkb3VibGU+OjpxdWlldF9OYU4oKSk7CiB9CiAKIHZvaWQgTnVtYmVySW5wdXRUeXBlOjpz
ZXRWYWx1ZUFzTnVtYmVyKGRvdWJsZSBuZXdWYWx1ZSwgRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0
CiB7Ci0gICAgaWYgKG5ld1ZhbHVlIDwgLW51bWVyaWNfbGltaXRzPGZsb2F0Pjo6bWF4KCkpIHsK
KyAgICBpZiAobmV3VmFsdWUgPCAtc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46Om1heCgpKSB7
CiAgICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7CiAgICAgICAgIHJldHVybjsKICAgICB9
Ci0gICAgaWYgKG5ld1ZhbHVlID4gbnVtZXJpY19saW1pdHM8ZmxvYXQ+OjptYXgoKSkgeworICAg
IGlmIChuZXdWYWx1ZSA+IHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjptYXgoKSkgewogICAg
ICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAt
OTQsMTQgKzkzLDE0IEBAIGJvb2wgTnVtYmVySW5wdXRUeXBlOjp0eXBlTWlzbWF0Y2goKSBjb25z
dAogCiBib29sIE51bWJlcklucHV0VHlwZTo6cmFuZ2VVbmRlcmZsb3coY29uc3QgU3RyaW5nJiB2
YWx1ZSkgY29uc3QKIHsKLSAgICBjb25zdCBkb3VibGUgbmFuID0gbnVtZXJpY19saW1pdHM8ZG91
YmxlPjo6cXVpZXRfTmFOKCk7CisgICAgY29uc3QgZG91YmxlIG5hbiA9IHN0ZDo6bnVtZXJpY19s
aW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCk7CiAgICAgZG91YmxlIGRvdWJsZVZhbHVlID0gcGFy
c2VUb0RvdWJsZSh2YWx1ZSwgbmFuKTsKICAgICByZXR1cm4gaXNmaW5pdGUoZG91YmxlVmFsdWUp
ICYmIGRvdWJsZVZhbHVlIDwgbWluaW11bSgpOwogfQogCiBib29sIE51bWJlcklucHV0VHlwZTo6
cmFuZ2VPdmVyZmxvdyhjb25zdCBTdHJpbmcmIHZhbHVlKSBjb25zdAogewotICAgIGNvbnN0IGRv
dWJsZSBuYW4gPSBudW1lcmljX2xpbWl0czxkb3VibGU+OjpxdWlldF9OYU4oKTsKKyAgICBjb25z
dCBkb3VibGUgbmFuID0gc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjpxdWlldF9OYU4oKTsK
ICAgICBkb3VibGUgZG91YmxlVmFsdWUgPSBwYXJzZVRvRG91YmxlKHZhbHVlLCBuYW4pOwogICAg
IHJldHVybiBpc2Zpbml0ZShkb3VibGVWYWx1ZSkgJiYgZG91YmxlVmFsdWUgPiBtYXhpbXVtKCk7
CiB9CkBAIC0xMTMsMTIgKzExMiwxMiBAQCBib29sIE51bWJlcklucHV0VHlwZTo6c3VwcG9ydHNS
YW5nZUxpbWl0YXRpb24oKSBjb25zdAogCiBkb3VibGUgTnVtYmVySW5wdXRUeXBlOjptaW5pbXVt
KCkgY29uc3QKIHsKLSAgICByZXR1cm4gcGFyc2VUb0RvdWJsZShlbGVtZW50KCktPmZhc3RHZXRB
dHRyaWJ1dGUobWluQXR0ciksIC1udW1lcmljX2xpbWl0czxmbG9hdD46Om1heCgpKTsKKyAgICBy
ZXR1cm4gcGFyc2VUb0RvdWJsZShlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWluQXR0ciks
IC1zdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6bWF4KCkpOwogfQogCiBkb3VibGUgTnVtYmVy
SW5wdXRUeXBlOjptYXhpbXVtKCkgY29uc3QKIHsKLSAgICByZXR1cm4gcGFyc2VUb0RvdWJsZShl
bGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWF4QXR0ciksIG51bWVyaWNfbGltaXRzPGZsb2F0
Pjo6bWF4KCkpOworICAgIHJldHVybiBwYXJzZVRvRG91YmxlKGVsZW1lbnQoKS0+ZmFzdEdldEF0
dHJpYnV0ZShtYXhBdHRyKSwgc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46Om1heCgpKTsKIH0K
IAogYm9vbCBOdW1iZXJJbnB1dFR5cGU6OnN0ZXBNaXNtYXRjaChjb25zdCBTdHJpbmcmIHZhbHVl
LCBkb3VibGUgc3RlcCkgY29uc3QKQEAgLTIyMiw3ICsyMjEsNyBAQCBTdHJpbmcgTnVtYmVySW5w
dXRUeXBlOjp2aXNpYmxlVmFsdWUoKSBjb25zdAogICAgIFN0cmluZyBjdXJyZW50VmFsdWUgPSBl
bGVtZW50KCktPnZhbHVlKCk7CiAgICAgaWYgKGN1cnJlbnRWYWx1ZS5pc0VtcHR5KCkpCiAgICAg
ICAgIHJldHVybiBjdXJyZW50VmFsdWU7Ci0gICAgZG91YmxlIGRvdWJsZVZhbHVlID0gbnVtZXJp
Y19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCk7CisgICAgZG91YmxlIGRvdWJsZVZhbHVlID0g
c3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjpxdWlldF9OYU4oKTsKICAgICB1bnNpZ25lZCBk
ZWNpbWFsUGxhY2U7CiAgICAgcGFyc2VUb0RvdWJsZUZvck51bWJlclR5cGVXaXRoRGVjaW1hbFBs
YWNlcyhjdXJyZW50VmFsdWUsICZkb3VibGVWYWx1ZSwgJmRlY2ltYWxQbGFjZSk7CiAgICAgU3Ry
aW5nIGxvY2FsaXplZCA9IGZvcm1hdExvY2FsaXplZE51bWJlcihkb3VibGVWYWx1ZSwgZGVjaW1h
bFBsYWNlKTsKLS0gCjEuNy40LjQKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>92342</attachid>
            <date>2011-05-04 16:24:05 -0700</date>
            <delta_ts>2012-05-21 03:05:12 -0700</delta_ts>
            <desc>Another patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>4473</size>
            <attacher name="Alexis Menard (darktears)">menard</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVH
ZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29k
ZUdlbmVyYXRvci5jcHAKaW5kZXggMWMxMjZkZS4uNDVkNzQ1OSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAK
QEAgLTExMDYsNyArMTEwNiw3IEBAIFJlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0
TG9hZChSZWdpc3RlcklEKiBkc3QsIGRvdWJsZSBudW1iZXIpCiAgICAgLy8gRklYTUU6IE91ciBo
YXNoIHRhYmxlcyB3b24ndCBob2xkIGluZmluaXR5LCBzbyB3ZSBtYWtlIGEgbmV3IEpTVmFsdWUg
ZWFjaCB0aW1lLgogICAgIC8vIExhdGVyIHdlIGNhbiBkbyB0aGUgZXh0cmEgd29yayB0byBoYW5k
bGUgdGhhdCBsaWtlIHRoZSBvdGhlciBjYXNlcy4gIFRoZXkgYWxzbyBkb24ndAogICAgIC8vIHdv
cmsgY29ycmVjdGx5IHdpdGggTmFOIGFzIGEga2V5LgotICAgIGlmIChpc25hbihudW1iZXIpIHx8
IG51bWJlciA9PSBIYXNoVHJhaXRzPGRvdWJsZT46OmVtcHR5VmFsdWUoKSB8fCBIYXNoVHJhaXRz
PGRvdWJsZT46OmlzRGVsZXRlZFZhbHVlKG51bWJlcikpCisgICAgaWYgKHN0ZDo6aXNuYW4obnVt
YmVyKSB8fCBudW1iZXIgPT0gSGFzaFRyYWl0czxkb3VibGU+OjplbXB0eVZhbHVlKCkgfHwgSGFz
aFRyYWl0czxkb3VibGU+Ojppc0RlbGV0ZWRWYWx1ZShudW1iZXIpKQogICAgICAgICByZXR1cm4g
ZW1pdExvYWQoZHN0LCBqc051bWJlcihudW1iZXIpKTsKICAgICBKU1ZhbHVlJiB2YWx1ZUluTWFw
ID0gbV9udW1iZXJNYXAuYWRkKG51bWJlciwgSlNWYWx1ZSgpKS5maXJzdC0+c2Vjb25kOwogICAg
IGlmICghdmFsdWVJbk1hcCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
TWF0aEV4dHJhcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9NYXRoRXh0cmFzLmgKaW5k
ZXggZmFjMTg3Yy4uMWM2ZWJkYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9NYXRoRXh0cmFzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9NYXRoRXh0cmFz
LmgKQEAgLTEzNyw4ICsxMzcsMTAgQEAgaW5saW5lIGRvdWJsZSB0cnVuYyhkb3VibGUgbnVtKSB7
IHJldHVybiBudW0gPiAwID8gZmxvb3IobnVtKSA6IGNlaWwobnVtKTsgfQogaW5saW5lIGxvbmcg
bG9uZyBhYnMobG9uZyBsb25nIG51bSkgeyByZXR1cm4gX2FiczY0KG51bSk7IH0KICNlbmRpZgog
CisjaWZuZGVmIF9fR1hYX0VYUEVSSU1FTlRBTF9DWFgwWF9fCiBpbmxpbmUgYm9vbCBpc2luZihk
b3VibGUgbnVtKSB7IHJldHVybiAhX2Zpbml0ZShudW0pICYmICFfaXNuYW4obnVtKTsgfQogaW5s
aW5lIGJvb2wgaXNuYW4oZG91YmxlIG51bSkgeyByZXR1cm4gISFfaXNuYW4obnVtKTsgfQorI2Vu
ZGlmCiBpbmxpbmUgYm9vbCBzaWduYml0KGRvdWJsZSBudW0pIHsgcmV0dXJuIF9jb3B5c2lnbigx
LjAsIG51bSkgPCAwOyB9CiAKIGlubGluZSBkb3VibGUgbmV4dGFmdGVyKGRvdWJsZSB4LCBkb3Vi
bGUgeSkgeyByZXR1cm4gX25leHRhZnRlcih4LCB5KTsgfQpAQCAtMjQwLDggKzI0MiwxMCBAQCBp
bmxpbmUgaW50IGNsYW1wVG9JbnRlZ2VyKHVuc2lnbmVkIHZhbHVlKQogCiAjaWYgIUNPTVBJTEVS
KE1TVkMpICYmICEoQ09NUElMRVIoUlZDVCkgJiYgUExBVEZPUk0oQlJFV01QKSkgJiYgIU9TKFNP
TEFSSVMpICYmICFPUyhTWU1CSUFOKQogdXNpbmcgc3RkOjppc2Zpbml0ZTsKKyNpZm5kZWYgX19H
WFhfRVhQRVJJTUVOVEFMX0NYWDBYX18KIHVzaW5nIHN0ZDo6aXNpbmY7CiB1c2luZyBzdGQ6Omlz
bmFuOworI2VuZGlmCiB1c2luZyBzdGQ6OnNpZ25iaXQ7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNHZW9sb2NhdGlvbkN1c3RvbS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0dlb2xvY2F0aW9uQ3VzdG9tLmNwcAppbmRleCBiOTNj
NGNlLi4yZmMxMzNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0dl
b2xvY2F0aW9uQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0dl
b2xvY2F0aW9uQ3VzdG9tLmNwcApAQCAtODAsNyArODAsNyBAQCBzdGF0aWMgUGFzc1JlZlB0cjxQ
b3NpdGlvbk9wdGlvbnM+IGNyZWF0ZVBvc2l0aW9uT3B0aW9ucyhFeGVjU3RhdGUqIGV4ZWMsIEpT
VmFsdQogICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCiAgICAgICAgICAgICByZXR1
cm4gMDsKICAgICAgICAgLy8gSWYgdGhlIHZhbHVlIGlzIHBvc2l0aXZlIGluZmluaXR5LCB0aGVy
ZSdzIG5vdGhpbmcgdG8gZG8uCi0gICAgICAgIGlmICghKGlzaW5mKHRpbWVvdXROdW1iZXIpICYm
ICh0aW1lb3V0TnVtYmVyID4gMCkpKSB7CisgICAgICAgIGlmICghKHN0ZDo6aXNpbmYodGltZW91
dE51bWJlcikgJiYgKHRpbWVvdXROdW1iZXIgPiAwKSkpIHsKICAgICAgICAgICAgIC8vIFdyYXAg
dG8gaW50MzIgYW5kIGZvcmNlIG5vbi1uZWdhdGl2ZSB0byBtYXRjaCBiZWhhdmlvciBvZiB3aW5k
b3cuc2V0VGltZW91dC4KICAgICAgICAgICAgIG9wdGlvbnMtPnNldFRpbWVvdXQobWF4KDAsIHRp
bWVvdXRWYWx1ZS50b0ludDMyKGV4ZWMpKSk7CiAgICAgICAgICAgICBpZiAoZXhlYy0+aGFkRXhj
ZXB0aW9uKCkpCkBAIC05NSw3ICs5NSw3IEBAIHN0YXRpYyBQYXNzUmVmUHRyPFBvc2l0aW9uT3B0
aW9ucz4gY3JlYXRlUG9zaXRpb25PcHRpb25zKEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1CiAgICAg
ICAgIGRvdWJsZSBtYXhpbXVtQWdlTnVtYmVyID0gbWF4aW11bUFnZVZhbHVlLnRvTnVtYmVyKGV4
ZWMpOwogICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCiAgICAgICAgICAgICByZXR1
cm4gMDsKLSAgICAgICAgaWYgKGlzaW5mKG1heGltdW1BZ2VOdW1iZXIpICYmIChtYXhpbXVtQWdl
TnVtYmVyID4gMCkpIHsKKyAgICAgICAgaWYgKHN0ZDo6aXNpbmYobWF4aW11bUFnZU51bWJlcikg
JiYgKG1heGltdW1BZ2VOdW1iZXIgPiAwKSkgewogICAgICAgICAgICAgLy8gSWYgdGhlIHZhbHVl
IGlzIHBvc2l0aXZlIGluZmluaXR5LCBjbGVhciBtYXhpbXVtQWdlLgogICAgICAgICAgICAgb3B0
aW9ucy0+Y2xlYXJNYXhpbXVtQWdlKCk7CiAgICAgICAgIH0gZWxzZSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAppbmRleCBmOWNjYWY5Li5lOTQwMGFhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKQEAgLTMzMiw3ICszMzIsNyBAQCB2
b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OmFwcGx5U3RlcChkb3VibGUgY291bnQsIEV4Y2VwdGlvbkNv
ZGUmIGVjKQogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGRvdWJsZSBuZXdWYWx1ZSA9IGN1
cnJlbnQgKyBzdGVwICogY291bnQ7Ci0gICAgaWYgKGlzaW5mKG5ld1ZhbHVlKSkgeworICAgIGlm
IChzdGQ6OmlzaW5mKG5ld1ZhbHVlKSkgewogICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJS
OwogICAgICAgICByZXR1cm47CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9OdW1iZXJJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9OdW1iZXJJbnB1dFR5
cGUuY3BwCmluZGV4IDAzZjRjYjMuLjdiZTI2MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvTnVtYmVySW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL051bWJl
cklucHV0VHlwZS5jcHAKQEAgLTEzMiw3ICsxMzIsNyBAQCBib29sIE51bWJlcklucHV0VHlwZTo6
c3RlcE1pc21hdGNoKGNvbnN0IFN0cmluZyYgdmFsdWUsIGRvdWJsZSBzdGVwKSBjb25zdAogICAg
IGlmICghcGFyc2VUb0RvdWJsZUZvck51bWJlclR5cGUodmFsdWUsICZkb3VibGVWYWx1ZSkpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICBkb3VibGVWYWx1ZSA9IGZhYnMoZG91YmxlVmFsdWUg
LSBzdGVwQmFzZSgpKTsKLSAgICBpZiAoaXNpbmYoZG91YmxlVmFsdWUpKQorICAgIGlmIChzdGQ6
OmlzaW5mKGRvdWJsZVZhbHVlKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIC8vIGRvdWJs
ZSdzIGZyYWN0aW9uYWwgcGFydCBzaXplIGlzIERCTF9NQU5fRElHLWJpdC4gSWYgdGhlIGN1cnJl
bnQgdmFsdWUKICAgICAvLyBpcyBncmVhdGVyIHRoYW4gc3RlcCoyXkRCTF9NQU5UX0RJRywgdGhl
IGZvbGxvd2luZyBjb21wdXRhdGlvbiBmb3IK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142978</attachid>
            <date>2012-05-21 03:05:27 -0700</date>
            <delta_ts>2012-05-21 03:24:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59249-20120521120538.patch</filename>
            <type>text/plain</type>
            <size>4027</size>
            <attacher name="Allan Sandfeld Jensen">allan.jensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3NzQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDdjZTRhMzRkOTQ3NDg2ZDAzZjNmMWU2
MDRmZjhlNTM2ZGI3ODJhM2QuLmExNWIzY2MwYzQ3NjYzZWJlNTNkYWU0ZjMxZDc2YTcwNjhiZThl
NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDUtMjEgIEFsbGFuIFNhbmRmZWxkIEplbnNl
biAgPGFsbGFuLmplbnNlbkBub2tpYS5jb20+CisKKyAgICAgICAgQ29sbGlkaW5nIGlzaW5mL2lz
bmFuIGJldHdlZW4gQzk5IGFuZCBDKysxMSB3aXRoIEdDQyA+PTQuNgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTkyNDkKKworICAgICAgICBSZXZpZXdl
ZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBXb3JrYXJvdW5kIHRoZSBpc2luZiBhbmQgaXNu
YW4gY29uZmxpY3QgaW4gR0NDIEMrKzExLgorCisgICAgICAgICogd3RmL0NvbXBpbGVyLmg6Cisg
ICAgICAgICogd3RmL01hdGhFeHRyYXMuaDoKKyAgICAgICAgKHN0ZDo6d3RmX2lzaW5mKToKKyAg
ICAgICAgKHN0ZDo6d3RmX2lzbmFuKToKKwogMjAxMi0wNS0yMSAgQW5kcmVhcyBLbGluZyAgPGts
aW5nQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMTE3NTAxKTogSWNvbkRhdGFi
YXNlIGFzc2VydHMgb24gc3RhcnR1cCBpbiBzeW5jaHJvbm91c0ljb25Gb3JQYWdlVVJMKCkuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Db21waWxlci5oIGIvU291cmNlL1dURi93dGYvQ29t
cGlsZXIuaAppbmRleCAzMTU3NTVkNWVkNWFkOWM1OTIyMTc0MDg2ZDk0ZTE2YmU3YmUyMzcwLi4w
ZDczNDg5NTdmNmU5NjU5YTg3MTAyODVlY2NmZTE0YWVjMjI3ODVkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL3d0Zi9Db21waWxlci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0NvbXBpbGVyLmgKQEAg
LTMyLDYgKzMyLDkgQEAKIC8qIENPTVBJTEVSX1NVUFBPUlRTKCkgLSB3aGV0aGVyIHRoZSBjb21w
aWxlciBiZWluZyB1c2VkIHRvIGJ1aWxkIHRoZSBwcm9qZWN0IHN1cHBvcnRzIHRoZSBnaXZlbiBm
ZWF0dXJlLiAqLwogI2RlZmluZSBDT01QSUxFUl9TVVBQT1JUUyhXVEZfQ09NUElMRVJfRkVBVFVS
RSkgKGRlZmluZWQgV1RGX0NPTVBJTEVSX1NVUFBPUlRTXyMjV1RGX0NPTVBJTEVSX0ZFQVRVUkUg
ICYmIFdURl9DT01QSUxFUl9TVVBQT1JUU18jI1dURl9DT01QSUxFUl9GRUFUVVJFKQogCisvKiBD
T01QSUxFUl9RVUlSSygpIC0gd2hldGhlciB0aGUgY29tcGlsZXIgYmVpbmcgdXNlZCB0byBidWls
ZCB0aGUgcHJvamVjdCByZXF1aXJlcyBhIGdpdmVuIHF1aXJrcy4gKi8KKyNkZWZpbmUgQ09NUElM
RVJfUVVJUksoV1RGX0NPTVBJTEVSX1FVSVJLKSAoZGVmaW5lZCBXVEZfQ09NUElMRVJfUVVJUksj
I1dURl9DT01QSUxFUl9RVUlSSyAgJiYgV1RGX0NPTVBJTEVSX1FVSVJLXyMjV1RGX0NPTVBJTEVS
X1FVSVJLKQorCiAvKiA9PT09IENPTVBJTEVSKCkgLSB0aGUgY29tcGlsZXIgYmVpbmcgdXNlZCB0
byBidWlsZCB0aGUgcHJvamVjdCA9PT09ICovCiAKIC8qIENPTVBJTEVSKENMQU5HKSAtIENsYW5n
ICAqLwpAQCAtOTUsMTUgKzk4LDIwIEBACiAjZGVmaW5lIFdURl9DT01QSUxFUl9HQ0MgMQogI2Rl
ZmluZSBHQ0NfVkVSU0lPTiAoX19HTlVDX18gKiAxMDAwMCArIF9fR05VQ19NSU5PUl9fICogMTAw
ICsgX19HTlVDX1BBVENITEVWRUxfXykKICNkZWZpbmUgR0NDX1ZFUlNJT05fQVRfTEVBU1QobWFq
b3IsIG1pbm9yLCBwYXRjaCkgKEdDQ19WRVJTSU9OID49IChtYWpvciAqIDEwMDAwICsgbWlub3Ig
KiAxMDAgKyBwYXRjaCkpCisjZWxzZQorLyogRGVmaW5lIHRoaXMgZm9yICFHQ0MgY29tcGlsZXJz
LCBqdXN0IHNvIHdlIGNhbiB3cml0ZSB0aGluZ3MgbGlrZSBHQ0NfVkVSU0lPTl9BVF9MRUFTVCg0
LCAxLCAwKS4gKi8KKyNkZWZpbmUgR0NDX1ZFUlNJT05fQVRfTEVBU1QobWFqb3IsIG1pbm9yLCBw
YXRjaCkgMAorI2VuZGlmCiAKIC8qIFNwZWNpZmljIGNvbXBpbGVyIGZlYXR1cmVzICovCi0jaWYg
IUNPTVBJTEVSKENMQU5HKSAmJiBHQ0NfVkVSU0lPTl9BVF9MRUFTVCg0LCA2LCAwKSAmJiBkZWZp
bmVkKF9fR1hYX0VYUEVSSU1FTlRBTF9DWFgwWF9fKQorI2lmIENPTVBJTEVSKEdDQykgJiYgIUNP
TVBJTEVSKENMQU5HKQorI2lmIEdDQ19WRVJTSU9OX0FUX0xFQVNUKDQsIDcsIDApICYmIF9fY3Bs
dXNwbHVzID49IDIwMTEwM0wKKyNkZWZpbmUgV1RGX0NPTVBJTEVSX1NVUFBPUlRTX0NYWF9OVUxM
UFRSIDEKKyNkZWZpbmUgV1RGX0NPTVBJTEVSX1FVSVJLX0dDQzExX0dMT0JBTF9JU0lORl9JU05B
TiAxCisjZWxpZiBHQ0NfVkVSU0lPTl9BVF9MRUFTVCg0LCA2LCAwKSAmJiBkZWZpbmVkKF9fR1hY
X0VYUEVSSU1FTlRBTF9DWFgwWF9fKQogI2RlZmluZSBXVEZfQ09NUElMRVJfU1VQUE9SVFNfQ1hY
X05VTExQVFIgMSAKKyNkZWZpbmUgV1RGX0NPTVBJTEVSX1FVSVJLX0dDQzExX0dMT0JBTF9JU0lO
Rl9JU05BTiAxCiAjZW5kaWYKLQotI2Vsc2UKLS8qIERlZmluZSB0aGlzIGZvciAhR0NDIGNvbXBp
bGVycywganVzdCBzbyB3ZSBjYW4gd3JpdGUgdGhpbmdzIGxpa2UgR0NDX1ZFUlNJT05fQVRfTEVB
U1QoNCwgMSwgMCkuICovCi0jZGVmaW5lIEdDQ19WRVJTSU9OX0FUX0xFQVNUKG1ham9yLCBtaW5v
ciwgcGF0Y2gpIDAKICNlbmRpZgogCiAvKiBDT01QSUxFUihNSU5HVykgLSBNaW5HVyBHQ0MgKi8K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL01hdGhFeHRyYXMuaCBiL1NvdXJjZS9XVEYvd3Rm
L01hdGhFeHRyYXMuaAppbmRleCBlOGViZDZiYTFjMzUyNTdmODljYzJlOTJkODEzMzMzYzJiMDFi
OTZhLi45NTZmYzk0Y2MwZDQzZDA5MmMwZDBmY2RiN2VmNjg4Mjc1NzMyOTU4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL3d0Zi9NYXRoRXh0cmFzLmgKKysrIGIvU291cmNlL1dURi93dGYvTWF0aEV4
dHJhcy5oCkBAIC0yNzksMTEgKzI3OSwzMCBAQCBpbmxpbmUgYm9vbCBpc1dpdGhpbkludFJhbmdl
KGZsb2F0IHgpCiAKICNpZiAhQ09NUElMRVIoTVNWQykgJiYgIUNPTVBJTEVSKFJWQ1QpICYmICFP
UyhTT0xBUklTKQogdXNpbmcgc3RkOjppc2Zpbml0ZTsKKyNpZiAhQ09NUElMRVJfUVVJUksoR0ND
MTFfR0xPQkFMX0lTSU5GX0lTTkFOKQogdXNpbmcgc3RkOjppc2luZjsKIHVzaW5nIHN0ZDo6aXNu
YW47CisjZW5kaWYKIHVzaW5nIHN0ZDo6c2lnbmJpdDsKICNlbmRpZgogCisjaWYgQ09NUElMRVJf
UVVJUksoR0NDMTFfR0xPQkFMX0lTSU5GX0lTTkFOKQorLy8gQSB3b3JrYXJvdW5kIHRvIGF2b2lk
IGNvbmZsaWN0aW5nIGRlY2xhcmF0aW9ucyBvZiBpc2luZiBhbmQgaXNuYW4gd2hlbiBjb21waWxp
bmcgd2l0aCBHQ0MgaW4gQysrMTEgbW9kZS4KK25hbWVzcGFjZSBzdGQgeworICAgIGNvbnN0ZXhw
ciBib29sIHd0Zl9pc2luZihmbG9hdCBmKSB7IHJldHVybiBzdGQ6OmlzaW5mKGYpOyB9CisgICAg
Y29uc3RleHByIGJvb2wgd3RmX2lzaW5mKGRvdWJsZSBkKSB7IHJldHVybiBzdGQ6OmlzaW5mKGQp
OyB9CisgICAgY29uc3RleHByIGJvb2wgd3RmX2lzbmFuKGZsb2F0IGYpIHsgcmV0dXJuIHN0ZDo6
aXNuYW4oZik7IH0KKyAgICBjb25zdGV4cHIgYm9vbCB3dGZfaXNuYW4oZG91YmxlIGQpIHsgcmV0
dXJuIHN0ZDo6aXNuYW4oZCk7IH0KK307CisKK3VzaW5nIHN0ZDo6d3RmX2lzaW5mOwordXNpbmcg
c3RkOjp3dGZfaXNuYW47CisKKyNkZWZpbmUgaXNpbmYoeCkgd3RmX2lzaW5mKHgpCisjZGVmaW5l
IGlzbmFuKHgpIHd0Zl9pc25hbih4KQorI2VuZGlmCisKKwogLy8gZGVjb21wb3NlICdudW1iZXIn
IHRvIGl0cyBzaWduLCBleHBvbmVudCwgYW5kIG1hbnRpc3NhIGNvbXBvbmVudHMuCiAvLyBUaGUg
cmVzdWx0IGlzIGludGVycHJldGVkIGFzOgogLy8gICAgIChzaWduID8gLTEgOiAxKSAqIHBvdygy
LCBleHBvbmVudCkgKiAobWFudGlzc2EgLyAoMSA8PCA1MikpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142982</attachid>
            <date>2012-05-21 03:24:43 -0700</date>
            <delta_ts>2012-05-21 07:23:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59249-20120521122454.patch</filename>
            <type>text/plain</type>
            <size>4029</size>
            <attacher name="Allan Sandfeld Jensen">allan.jensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3NzQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDdjZTRhMzRkOTQ3NDg2ZDAzZjNmMWU2
MDRmZjhlNTM2ZGI3ODJhM2QuLmExNWIzY2MwYzQ3NjYzZWJlNTNkYWU0ZjMxZDc2YTcwNjhiZThl
NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDUtMjEgIEFsbGFuIFNhbmRmZWxkIEplbnNl
biAgPGFsbGFuLmplbnNlbkBub2tpYS5jb20+CisKKyAgICAgICAgQ29sbGlkaW5nIGlzaW5mL2lz
bmFuIGJldHdlZW4gQzk5IGFuZCBDKysxMSB3aXRoIEdDQyA+PTQuNgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTkyNDkKKworICAgICAgICBSZXZpZXdl
ZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBXb3JrYXJvdW5kIHRoZSBpc2luZiBhbmQgaXNu
YW4gY29uZmxpY3QgaW4gR0NDIEMrKzExLgorCisgICAgICAgICogd3RmL0NvbXBpbGVyLmg6Cisg
ICAgICAgICogd3RmL01hdGhFeHRyYXMuaDoKKyAgICAgICAgKHN0ZDo6d3RmX2lzaW5mKToKKyAg
ICAgICAgKHN0ZDo6d3RmX2lzbmFuKToKKwogMjAxMi0wNS0yMSAgQW5kcmVhcyBLbGluZyAgPGts
aW5nQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMTE3NTAxKTogSWNvbkRhdGFi
YXNlIGFzc2VydHMgb24gc3RhcnR1cCBpbiBzeW5jaHJvbm91c0ljb25Gb3JQYWdlVVJMKCkuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Db21waWxlci5oIGIvU291cmNlL1dURi93dGYvQ29t
cGlsZXIuaAppbmRleCAzMTU3NTVkNWVkNWFkOWM1OTIyMTc0MDg2ZDk0ZTE2YmU3YmUyMzcwLi5h
YzI3ODU3NzEyNjMyYWE2NWU0MTI5NWQ2MzRlM2IyMzEwZWE3M2EyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL3d0Zi9Db21waWxlci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0NvbXBpbGVyLmgKQEAg
LTMyLDYgKzMyLDkgQEAKIC8qIENPTVBJTEVSX1NVUFBPUlRTKCkgLSB3aGV0aGVyIHRoZSBjb21w
aWxlciBiZWluZyB1c2VkIHRvIGJ1aWxkIHRoZSBwcm9qZWN0IHN1cHBvcnRzIHRoZSBnaXZlbiBm
ZWF0dXJlLiAqLwogI2RlZmluZSBDT01QSUxFUl9TVVBQT1JUUyhXVEZfQ09NUElMRVJfRkVBVFVS
RSkgKGRlZmluZWQgV1RGX0NPTVBJTEVSX1NVUFBPUlRTXyMjV1RGX0NPTVBJTEVSX0ZFQVRVUkUg
ICYmIFdURl9DT01QSUxFUl9TVVBQT1JUU18jI1dURl9DT01QSUxFUl9GRUFUVVJFKQogCisvKiBD
T01QSUxFUl9RVUlSSygpIC0gd2hldGhlciB0aGUgY29tcGlsZXIgYmVpbmcgdXNlZCB0byBidWls
ZCB0aGUgcHJvamVjdCByZXF1aXJlcyBhIGdpdmVuIHF1aXJrLiAqLworI2RlZmluZSBDT01QSUxF
Ul9RVUlSSyhXVEZfQ09NUElMRVJfUVVJUkspIChkZWZpbmVkIFdURl9DT01QSUxFUl9RVUlSS18j
I1dURl9DT01QSUxFUl9RVUlSSyAgJiYgV1RGX0NPTVBJTEVSX1FVSVJLXyMjV1RGX0NPTVBJTEVS
X1FVSVJLKQorCiAvKiA9PT09IENPTVBJTEVSKCkgLSB0aGUgY29tcGlsZXIgYmVpbmcgdXNlZCB0
byBidWlsZCB0aGUgcHJvamVjdCA9PT09ICovCiAKIC8qIENPTVBJTEVSKENMQU5HKSAtIENsYW5n
ICAqLwpAQCAtOTUsMTUgKzk4LDIyIEBACiAjZGVmaW5lIFdURl9DT01QSUxFUl9HQ0MgMQogI2Rl
ZmluZSBHQ0NfVkVSU0lPTiAoX19HTlVDX18gKiAxMDAwMCArIF9fR05VQ19NSU5PUl9fICogMTAw
ICsgX19HTlVDX1BBVENITEVWRUxfXykKICNkZWZpbmUgR0NDX1ZFUlNJT05fQVRfTEVBU1QobWFq
b3IsIG1pbm9yLCBwYXRjaCkgKEdDQ19WRVJTSU9OID49IChtYWpvciAqIDEwMDAwICsgbWlub3Ig
KiAxMDAgKyBwYXRjaCkpCisjZWxzZQorLyogRGVmaW5lIHRoaXMgZm9yICFHQ0MgY29tcGlsZXJz
LCBqdXN0IHNvIHdlIGNhbiB3cml0ZSB0aGluZ3MgbGlrZSBHQ0NfVkVSU0lPTl9BVF9MRUFTVCg0
LCAxLCAwKS4gKi8KKyNkZWZpbmUgR0NDX1ZFUlNJT05fQVRfTEVBU1QobWFqb3IsIG1pbm9yLCBw
YXRjaCkgMAorI2VuZGlmCiAKIC8qIFNwZWNpZmljIGNvbXBpbGVyIGZlYXR1cmVzICovCi0jaWYg
IUNPTVBJTEVSKENMQU5HKSAmJiBHQ0NfVkVSU0lPTl9BVF9MRUFTVCg0LCA2LCAwKSAmJiBkZWZp
bmVkKF9fR1hYX0VYUEVSSU1FTlRBTF9DWFgwWF9fKQorI2lmIENPTVBJTEVSKEdDQykgJiYgIUNP
TVBJTEVSKENMQU5HKQorI2lmIEdDQ19WRVJTSU9OX0FUX0xFQVNUKDQsIDcsIDApICYmIF9fY3Bs
dXNwbHVzID49IDIwMTEwM0wKKyNkZWZpbmUgV1RGX0NPTVBJTEVSX1NVUFBPUlRTX0NYWF9OVUxM
UFRSIDEKKyNkZWZpbmUgV1RGX0NPTVBJTEVSX1FVSVJLX0dDQzExX0dMT0JBTF9JU0lORl9JU05B
TiAxCisKKyNlbGlmIEdDQ19WRVJTSU9OX0FUX0xFQVNUKDQsIDYsIDApICYmIGRlZmluZWQoX19H
WFhfRVhQRVJJTUVOVEFMX0NYWDBYX18pCiAjZGVmaW5lIFdURl9DT01QSUxFUl9TVVBQT1JUU19D
WFhfTlVMTFBUUiAxIAorI2RlZmluZSBXVEZfQ09NUElMRVJfUVVJUktfR0NDMTFfR0xPQkFMX0lT
SU5GX0lTTkFOIDEKICNlbmRpZgogCi0jZWxzZQotLyogRGVmaW5lIHRoaXMgZm9yICFHQ0MgY29t
cGlsZXJzLCBqdXN0IHNvIHdlIGNhbiB3cml0ZSB0aGluZ3MgbGlrZSBHQ0NfVkVSU0lPTl9BVF9M
RUFTVCg0LCAxLCAwKS4gKi8KLSNkZWZpbmUgR0NDX1ZFUlNJT05fQVRfTEVBU1QobWFqb3IsIG1p
bm9yLCBwYXRjaCkgMAogI2VuZGlmCiAKIC8qIENPTVBJTEVSKE1JTkdXKSAtIE1pbkdXIEdDQyAq
LwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvTWF0aEV4dHJhcy5oIGIvU291cmNlL1dURi93
dGYvTWF0aEV4dHJhcy5oCmluZGV4IGU4ZWJkNmJhMWMzNTI1N2Y4OWNjMmU5MmQ4MTMzMzNjMmIw
MWI5NmEuLjk1NmZjOTRjYzBkNDNkMDkyYzBkMGZjZGI3ZWY2ODgyNzU3MzI5NTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvd3RmL01hdGhFeHRyYXMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9NYXRo
RXh0cmFzLmgKQEAgLTI3OSwxMSArMjc5LDMwIEBAIGlubGluZSBib29sIGlzV2l0aGluSW50UmFu
Z2UoZmxvYXQgeCkKIAogI2lmICFDT01QSUxFUihNU1ZDKSAmJiAhQ09NUElMRVIoUlZDVCkgJiYg
IU9TKFNPTEFSSVMpCiB1c2luZyBzdGQ6OmlzZmluaXRlOworI2lmICFDT01QSUxFUl9RVUlSSyhH
Q0MxMV9HTE9CQUxfSVNJTkZfSVNOQU4pCiB1c2luZyBzdGQ6OmlzaW5mOwogdXNpbmcgc3RkOjpp
c25hbjsKKyNlbmRpZgogdXNpbmcgc3RkOjpzaWduYml0OwogI2VuZGlmCiAKKyNpZiBDT01QSUxF
Ul9RVUlSSyhHQ0MxMV9HTE9CQUxfSVNJTkZfSVNOQU4pCisvLyBBIHdvcmthcm91bmQgdG8gYXZv
aWQgY29uZmxpY3RpbmcgZGVjbGFyYXRpb25zIG9mIGlzaW5mIGFuZCBpc25hbiB3aGVuIGNvbXBp
bGluZyB3aXRoIEdDQyBpbiBDKysxMSBtb2RlLgorbmFtZXNwYWNlIHN0ZCB7CisgICAgY29uc3Rl
eHByIGJvb2wgd3RmX2lzaW5mKGZsb2F0IGYpIHsgcmV0dXJuIHN0ZDo6aXNpbmYoZik7IH0KKyAg
ICBjb25zdGV4cHIgYm9vbCB3dGZfaXNpbmYoZG91YmxlIGQpIHsgcmV0dXJuIHN0ZDo6aXNpbmYo
ZCk7IH0KKyAgICBjb25zdGV4cHIgYm9vbCB3dGZfaXNuYW4oZmxvYXQgZikgeyByZXR1cm4gc3Rk
Ojppc25hbihmKTsgfQorICAgIGNvbnN0ZXhwciBib29sIHd0Zl9pc25hbihkb3VibGUgZCkgeyBy
ZXR1cm4gc3RkOjppc25hbihkKTsgfQorfTsKKwordXNpbmcgc3RkOjp3dGZfaXNpbmY7Cit1c2lu
ZyBzdGQ6Ond0Zl9pc25hbjsKKworI2RlZmluZSBpc2luZih4KSB3dGZfaXNpbmYoeCkKKyNkZWZp
bmUgaXNuYW4oeCkgd3RmX2lzbmFuKHgpCisjZW5kaWYKKworCiAvLyBkZWNvbXBvc2UgJ251bWJl
cicgdG8gaXRzIHNpZ24sIGV4cG9uZW50LCBhbmQgbWFudGlzc2EgY29tcG9uZW50cy4KIC8vIFRo
ZSByZXN1bHQgaXMgaW50ZXJwcmV0ZWQgYXM6CiAvLyAgICAgKHNpZ24gPyAtMSA6IDEpICogcG93
KDIsIGV4cG9uZW50KSAqIChtYW50aXNzYSAvICgxIDw8IDUyKSkK
</data>

          </attachment>
      

    </bug>

</bugzilla>