<?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>69018</bug_id>
          
          <creation_ts>2011-09-28 12:39:20 -0700</creation_ts>
          <short_desc>add more stack dumping methods</short_desc>
          <delta_ts>2011-10-06 06:42:22 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gavin Peters">gavinp</reporter>
          <assigned_to name="Gavin Peters">gavinp</assigned_to>
          <cc>ap</cc>
    
    <cc>aroben</cc>
    
    <cc>barraclough</cc>
    
    <cc>darin</cc>
    
    <cc>ggaren</cc>
    
    <cc>kling</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>474911</commentid>
    <comment_count>0</comment_count>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-09-28 12:39:20 -0700</bug_when>
    <thetext>add more stack dumping methods</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474918</commentid>
    <comment_count>1</comment_count>
      <attachid>109057</attachid>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-09-28 12:43:44 -0700</bug_when>
    <thetext>Created attachment 109057
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474967</commentid>
    <comment_count>2</comment_count>
      <attachid>109057</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-09-28 13:31:31 -0700</bug_when>
    <thetext>Comment on attachment 109057
Patch

Attachment 109057 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/9884595</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475018</commentid>
    <comment_count>3</comment_count>
      <attachid>109057</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-09-28 14:27:14 -0700</bug_when>
    <thetext>Comment on attachment 109057
Patch

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

&gt; Source/JavaScriptCore/wtf/Assertions.cpp:169
&gt; +void WTFSaveBacktrace(void** stack, int* size)

&quot;WTFGetBacktrace&quot; is a better name to indicate and out parameter.

&gt; Source/JavaScriptCore/wtf/Assertions.cpp:181
&gt; +// ugly: returns string allocated by malloc, which must be freed.
&gt; +char* WTFPrettifyStackframe(void* addr)

Please return a PassOwnPtr instead.

&gt; Source/JavaScriptCore/wtf/Assertions.cpp:193
&gt; +        char* mallocedName = (char*) malloc(strlen(mangledName)+1);

Please use fastMalloc instead of malloc. Please use C++ cast instead of C cast.

&gt; Source/JavaScriptCore/wtf/Assertions.cpp:194
&gt; +        strcpy(mallocedName, mangledName);

Please use strncpy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475430</commentid>
    <comment_count>4</comment_count>
      <attachid>109164</attachid>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-09-29 08:03:53 -0700</bug_when>
    <thetext>Created attachment 109164
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475431</commentid>
    <comment_count>5</comment_count>
      <attachid>109057</attachid>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-09-29 08:07:06 -0700</bug_when>
    <thetext>Comment on attachment 109057
Patch

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

I&apos;ve redone it to make the memory allocation much more clear.

&gt;&gt; Source/JavaScriptCore/wtf/Assertions.cpp:169
&gt;&gt; +void WTFSaveBacktrace(void** stack, int* size)
&gt; 
&gt; &quot;WTFGetBacktrace&quot; is a better name to indicate and out parameter.

Yes, it is.  Done.

&gt;&gt; Source/JavaScriptCore/wtf/Assertions.cpp:193
&gt;&gt; +        char* mallocedName = (char*) malloc(strlen(mangledName)+1);
&gt; 
&gt; Please use fastMalloc instead of malloc. Please use C++ cast instead of C cast.

Hrm.  The only reason to use malloc() here is for paralellism with abi::__cxa_demangle() which is going to use malloc no matter what.  So now I&apos;d have to make a copy, and if i&apos;m not mistaken, OwnPtr/PassOwnPtr use delete and not fastFree or delete[].  So I&apos;m going to a WTFString instead.  Let me know what you think.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475551</commentid>
    <comment_count>6</comment_count>
      <attachid>109181</attachid>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-09-29 11:45:28 -0700</bug_when>
    <thetext>Created attachment 109181
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475555</commentid>
    <comment_count>7</comment_count>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-09-29 11:46:53 -0700</bug_when>
    <thetext>This most recent patch should fix the windows build, but I wonder what to do about QT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475590</commentid>
    <comment_count>8</comment_count>
      <attachid>109181</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-09-29 12:19:38 -0700</bug_when>
    <thetext>Comment on attachment 109181
Patch

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

&gt; Source/JavaScriptCore/wtf/Assertions.cpp:77
&gt; +    if (mangledName) {
&gt; +        char* cxaDemangled = abi::__cxa_demangle(mangledName, 0, 0, 0);
&gt; +        if (cxaDemangled) {
&gt; +            CString demangledName = cxaDemangled;
&gt; +            cxaDemangled = 0;
&gt; +            return demangledName;
&gt; +        }
&gt; +        return CString(mangledName);

CString is a good choice, since want to pass the string to printf.

However, you have a memory leak here. You need to free the buffer returned by abi::__cxa_demangle. Assigning 0 to it is meaningless.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475592</commentid>
    <comment_count>9</comment_count>
      <attachid>109186</attachid>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-09-29 12:23:09 -0700</bug_when>
    <thetext>Created attachment 109186
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475593</commentid>
    <comment_count>10</comment_count>
      <attachid>109181</attachid>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-09-29 12:24:00 -0700</bug_when>
    <thetext>Comment on attachment 109181
Patch

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

&gt;&gt; Source/JavaScriptCore/wtf/Assertions.cpp:77
&gt;&gt; +        return CString(mangledName);
&gt; 
&gt; CString is a good choice, since want to pass the string to printf.
&gt; 
&gt; However, you have a memory leak here. You need to free the buffer returned by abi::__cxa_demangle. Assigning 0 to it is meaningless.

Ugh.  I don&apos;t know how that got there.
Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475597</commentid>
    <comment_count>11</comment_count>
      <attachid>109187</attachid>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-09-29 12:31:33 -0700</bug_when>
    <thetext>Created attachment 109187
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475598</commentid>
    <comment_count>12</comment_count>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-09-29 12:32:00 -0700</bug_when>
    <thetext>new patch tosses the zeroing of the automatic, since it&apos;s not clarifying or helpful.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475601</commentid>
    <comment_count>13</comment_count>
      <attachid>109187</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-09-29 12:33:50 -0700</bug_when>
    <thetext>Comment on attachment 109187
Patch

Ready to go, but needs a solution to keep Qt building.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475626</commentid>
    <comment_count>14</comment_count>
      <attachid>109193</attachid>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-09-29 13:05:34 -0700</bug_when>
    <thetext>Created attachment 109193
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475627</commentid>
    <comment_count>15</comment_count>
      <attachid>109193</attachid>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-09-29 13:06:00 -0700</bug_when>
    <thetext>Comment on attachment 109193
Patch

This patch should fix the QT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475629</commentid>
    <comment_count>16</comment_count>
      <attachid>109194</attachid>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-09-29 13:10:25 -0700</bug_when>
    <thetext>Created attachment 109194
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475634</commentid>
    <comment_count>17</comment_count>
      <attachid>109194</attachid>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-09-29 13:12:51 -0700</bug_when>
    <thetext>Comment on attachment 109194
Patch

Now using &amp;&amp; and ||.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475645</commentid>
    <comment_count>18</comment_count>
      <attachid>109194</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-09-29 13:32:34 -0700</bug_when>
    <thetext>Comment on attachment 109194
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475676</commentid>
    <comment_count>19</comment_count>
      <attachid>109194</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-09-29 14:27:14 -0700</bug_when>
    <thetext>Comment on attachment 109194
Patch

Attachment 109194 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/9889493</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476075</commentid>
    <comment_count>20</comment_count>
      <attachid>109295</attachid>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-09-30 07:05:42 -0700</bug_when>
    <thetext>Created attachment 109295
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476076</commentid>
    <comment_count>21</comment_count>
      <attachid>109295</attachid>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-09-30 07:07:10 -0700</bug_when>
    <thetext>Comment on attachment 109295
Patch

This patch much more aggressively excludes itself from QT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476095</commentid>
    <comment_count>22</comment_count>
      <attachid>109299</attachid>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-09-30 08:13:56 -0700</bug_when>
    <thetext>Created attachment 109299
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476096</commentid>
    <comment_count>23</comment_count>
      <attachid>109299</attachid>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-09-30 08:15:04 -0700</bug_when>
    <thetext>Comment on attachment 109299
Patch

Windows failed, again, so I tightened up the restrictions there.  Let&apos;s wait on bots before landing this.

Plenty of code doesn&apos;t like seeing &lt;CString.h&gt; included in Assertions.h.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476100</commentid>
    <comment_count>24</comment_count>
      <attachid>109300</attachid>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-09-30 08:29:02 -0700</bug_when>
    <thetext>Created attachment 109300
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476102</commentid>
    <comment_count>25</comment_count>
      <attachid>109300</attachid>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-09-30 08:29:47 -0700</bug_when>
    <thetext>Comment on attachment 109300
Patch

This (hopefully final) revision of the bug removes the CString, since it was a big part of our problem on both QT and Windows platforms.

Let&apos;s wait for the builders...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476144</commentid>
    <comment_count>26</comment_count>
      <attachid>109304</attachid>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-09-30 10:14:12 -0700</bug_when>
    <thetext>Created attachment 109304
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476147</commentid>
    <comment_count>27</comment_count>
      <attachid>109304</attachid>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-09-30 10:14:55 -0700</bug_when>
    <thetext>Comment on attachment 109304
Patch

Apparent problem in winbase.h, trying to change the include ordering.  Let&apos;s wait for the windows builder...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476148</commentid>
    <comment_count>28</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-30 10:16:06 -0700</bug_when>
    <thetext>Attachment 109304 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/JavaScriptCore/wtf/Assertions.cpp:50:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 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>476191</commentid>
    <comment_count>29</comment_count>
      <attachid>109316</attachid>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-09-30 11:16:53 -0700</bug_when>
    <thetext>Created attachment 109316
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476196</commentid>
    <comment_count>30</comment_count>
      <attachid>109316</attachid>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-09-30 11:19:52 -0700</bug_when>
    <thetext>Comment on attachment 109316
Patch

it seems capturestackbacktrace is in dbghelp.h on some machines.  let&apos;s see if the builders get happy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476197</commentid>
    <comment_count>31</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-30 11:20:04 -0700</bug_when>
    <thetext>Attachment 109316 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/JavaScriptCore/wtf/Assertions.cpp:50:  Alphabetical sorting problem.  [build/include_order] [4]
Source/JavaScriptCore/wtf/Assertions.cpp:51:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 2 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>477072</commentid>
    <comment_count>32</comment_count>
      <attachid>109494</attachid>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-10-03 10:49:10 -0700</bug_when>
    <thetext>Created attachment 109494
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477075</commentid>
    <comment_count>33</comment_count>
      <attachid>109494</attachid>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-10-03 10:52:17 -0700</bug_when>
    <thetext>Comment on attachment 109494
Patch

Thanks aroben for helping me sort out trouble with Windows builders.  This upload should (let&apos;s wait and see...) fix the issues there.

RtlCaptureStackBackTrace was in kernel32.dll back to XP, but isn&apos;t in the SDK used for the WebKit windows port; the new approach of finding the symbol in the DLL should cope with that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477230</commentid>
    <comment_count>34</comment_count>
      <attachid>109494</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-10-03 14:02:28 -0700</bug_when>
    <thetext>Comment on attachment 109494
Patch

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

&gt; Source/JavaScriptCore/wtf/Assertions.cpp:145
&gt;  }
&gt;  
&gt; +
&gt; +
&gt;  void WTFReportAssertionFailure(const char* file, int line, const char* function, const char* assertion)

Please don’t add these extra blank lines.

&gt; Source/JavaScriptCore/wtf/Assertions.cpp:198
&gt; -    static const int maxFrames = 32;
&gt; +    enum { maxFrames = 32 };

Why did you change this to an enum?

&gt; Source/JavaScriptCore/wtf/Assertions.cpp:221
&gt; +        if (cxaDemangled)
&gt; +            free(cxaDemangled);

Since you can call free on a null pointer and it is a no-op, I suggest removing the if statement.

&gt; Source/JavaScriptCore/wtf/Assertions.h:156
&gt; +WTF_EXPORT_PRIVATE void WTFReportBacktrace();
&gt; +
&gt; +
&gt;  #ifdef __cplusplus

We normally use just one blank line, not two.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477373</commentid>
    <comment_count>35</comment_count>
      <attachid>109494</attachid>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-10-03 17:30:11 -0700</bug_when>
    <thetext>Comment on attachment 109494
Patch

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

&gt;&gt; Source/JavaScriptCore/wtf/Assertions.cpp:145
&gt;&gt;  void WTFReportAssertionFailure(const char* file, int line, const char* function, const char* assertion)
&gt; 
&gt; Please don’t add these extra blank lines.

Fixed.

&gt;&gt; Source/JavaScriptCore/wtf/Assertions.cpp:198
&gt;&gt; +    enum { maxFrames = 32 };
&gt; 
&gt; Why did you change this to an enum?

Two reasons:

1. I&apos;m more confident that an enum value is a constant expression in all applications, which is good, since array bounds require a constant expression.  On the other hand, it was working as array bounds before.

2. I know that enums will never be in the data segment, or generate code in the text segment.  That&apos;s not always true of const values, particularly static const values.  It&apos;s probably usually true of them, though.

Both of those reasons combine to suggest enum values are slightly favoured for this type of integer use.

&gt;&gt; Source/JavaScriptCore/wtf/Assertions.cpp:221
&gt;&gt; +            free(cxaDemangled);
&gt; 
&gt; Since you can call free on a null pointer and it is a no-op, I suggest removing the if statement.

Done.

&gt;&gt; Source/JavaScriptCore/wtf/Assertions.h:156
&gt;&gt;  #ifdef __cplusplus
&gt; 
&gt; We normally use just one blank line, not two.

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477374</commentid>
    <comment_count>36</comment_count>
      <attachid>109560</attachid>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-10-03 17:32:04 -0700</bug_when>
    <thetext>Created attachment 109560
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477597</commentid>
    <comment_count>37</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-10-04 07:45:18 -0700</bug_when>
    <thetext>(In reply to comment #35)
&gt; &gt;&gt; Source/JavaScriptCore/wtf/Assertions.cpp:198
&gt; &gt;&gt; +    enum { maxFrames = 32 };
&gt; &gt; 
&gt; &gt; Why did you change this to an enum?
&gt; 
&gt; Two reasons:
&gt; 
&gt; 1. I&apos;m more confident that an enum value is a constant expression in all applications, which is good, since array bounds require a constant expression.  On the other hand, it was working as array bounds before.
&gt; 
&gt; 2. I know that enums will never be in the data segment, or generate code in the text segment.  That&apos;s not always true of const values, particularly static const values.  It&apos;s probably usually true of them, though.
&gt; 
&gt; Both of those reasons combine to suggest enum values are slightly favoured for this type of integer use.

Those reasons are both wrong. Integer constants work fine in C++. Switching to enum for an integer constant reflects a habit that dates back to the properties of C, does not apply in C++, and is not appropriate for WebKit code.

A minore pont, but a gratuitous change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477598</commentid>
    <comment_count>38</comment_count>
      <attachid>109560</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-10-04 07:47:01 -0700</bug_when>
    <thetext>Comment on attachment 109560
Patch

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

&gt; Source/JavaScriptCore/wtf/Assertions.cpp:196
&gt; -    static const int maxFrames = 32;
&gt; +    enum { maxFrames = 32 };

As mentioned in my comment in this bug, I strongly discourage the C-style use of enum here. Reflects FUD about C++ integer constants that is not founded.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477604</commentid>
    <comment_count>39</comment_count>
      <attachid>109560</attachid>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-10-04 08:06:18 -0700</bug_when>
    <thetext>Comment on attachment 109560
Patch

I&apos;ll land it myself after removing the enum.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477617</commentid>
    <comment_count>40</comment_count>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-10-04 08:39:00 -0700</bug_when>
    <thetext>Committed r96595: &lt;http://trac.webkit.org/changeset/96595&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477836</commentid>
    <comment_count>41</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-10-04 12:19:31 -0700</bug_when>
    <thetext>This patch appears to have broken GTK builds:
http://build.webkit.org/builders/GTK%20Linux%2064-bit%20Debug/builds/26610/steps/compile-webkit/logs/stdio</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477891</commentid>
    <comment_count>42</comment_count>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-10-04 13:41:11 -0700</bug_when>
    <thetext>Fix coming shortly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478346</commentid>
    <comment_count>43</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-10-05 07:40:37 -0700</bug_when>
    <thetext>This caused bug 69424.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479121</commentid>
    <comment_count>44</comment_count>
      <attachid>109956</attachid>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-10-06 06:35:15 -0700</bug_when>
    <thetext>Created attachment 109956
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479125</commentid>
    <comment_count>45</comment_count>
      <attachid>109956</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-10-06 06:38:00 -0700</bug_when>
    <thetext>Comment on attachment 109956
Patch

I think it would be slightly better to add these exports as part of a patch that makes use of them. But doing it this way is OK too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479128</commentid>
    <comment_count>46</comment_count>
    <who name="Gavin Peters">gavinp</who>
    <bug_when>2011-10-06 06:42:22 -0700</bug_when>
    <thetext>Committed r96809: &lt;http://trac.webkit.org/changeset/96809&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109057</attachid>
            <date>2011-09-28 12:43:44 -0700</date>
            <delta_ts>2011-09-29 08:07:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69018-20110928154343.patch</filename>
            <type>text/plain</type>
            <size>5338</size>
            <attacher name="Gavin Peters">gavinp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTU4MDIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGYz
M2Y2NTQ5MDhlZDkzMTVmZGJmNTMxOWI5ZDM2Mjg1ODFlYjk0NWIuLjA2OTU0YjlmOWMyODAyMjg4
NDQxYzJmOTI2MGQ4YjNjZTk4MTI3NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE4IEBACisyMDExLTA5LTI4ICBHYXZpbiBQZXRlcnMgIDxnYXZpbnBAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIGFkZCBtb3JlIHN0YWNrIGR1bXBpbmcgbWV0aG9kcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwMTgKKworICAgICAgICBJbiBh
ZGRpdGlvbiB0byBXVEZSZXBvcnRCYWNrdHJhY2UsIHRoaXMgYWRkcyB0aGUgY3Jvc3MtcGxhdGZv
cm0gV1RGU2F2ZUJhY2t0cmFjZSwgd2hpY2ggbGV0cworICAgICAgICBXZWJLaXQgcHJvZ3JhbW1h
dGljYWxseSByZXRyaWV2ZSB0aGUgY3VycmVudCBzdGFjay4gIFRoaXMgaXMgdXNlZnVsIGlmIHlv
dSBuZWVkIHRvIGFkZCBtb3JlCisgICAgICAgIHJlcG9ydGluZyB0byBmaWVsZCBjcmFzaCByZXBv
cnQgdXBsb2FkcywgaWYgeW91J3JlIHRyYWNraW5nIGRvd24gYW4gaXJyZXByb2R1Y2FibGUgYnVn
LAorICAgICAgICBmb3IgaW5zdGFuY2UuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiB3dGYvQXNzZXJ0aW9ucy5jcHA6CisgICAgICAgICogd3RmL0Fz
c2VydGlvbnMuaDoKKwogMjAxMS0wOS0yMiAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29t
PgogCiAgICAgICAgIEdldFNjb3BlZFZhciBzaG91bGQgaGF2ZSB2YWx1ZSBwcm9maWxpbmcKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQXNzZXJ0aW9ucy5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuY3BwCmluZGV4IDg4ZGM2MWE4ZDE2ZDZi
NzEzMzY0OWNkZDYwMWMyNjExOTVkZGExZDYuLjBkMGMwNjIxODlkNTkzM2JjODM4MzQ1NjMyY2Yx
ZGYxMjllNTc4ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQXNzZXJ0
aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRpb25zLmNwcApA
QCAtNDksNyArNDksNyBAQAogI2luY2x1ZGUgPHdpbmRvd3MuaD4KICNlbmRpZgogCi0jaWYgUExB
VEZPUk0oTUFDKQorI2lmIE9TKERBUldJTikgfHwgT1MoTElOVVgpCiAjaW5jbHVkZSA8Y3h4YWJp
Lmg+CiAjaW5jbHVkZSA8ZGxmY24uaD4KICNpbmNsdWRlIDxleGVjaW5mby5oPgpAQCAtMTY2LDMy
ICsxNjYsNTIgQEAgdm9pZCBXVEZSZXBvcnRBcmd1bWVudEFzc2VydGlvbkZhaWx1cmUoY29uc3Qg
Y2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIqIGYKICAgICBwcmludENhbGxTaXRlKGZp
bGUsIGxpbmUsIGZ1bmN0aW9uKTsKIH0KIAordm9pZCBXVEZTYXZlQmFja3RyYWNlKHZvaWQqKiBz
dGFjaywgaW50KiBzaXplKQoreworI2lmIE9TKERBUldJTikgfHwgT1MoTElOVVgpCisgICAgKnNp
emUgPSBiYWNrdHJhY2Uoc3RhY2ssICpzaXplKTsKKyNlbGlmIE9TKFdJTkRPV1MpCisgICAgKnNp
emUgPSBDYXB0dXJlU3RhY2tCYWNrVHJhY2UoMiwgKnNpemUsIHN0YWNrLCAwKTsKKyNlbHNlCisg
ICAgKnNpemUgPSAwOworI2VuZGlmCit9CisKKy8vIHVnbHk6IHJldHVybnMgc3RyaW5nIGFsbG9j
YXRlZCBieSBtYWxsb2MsIHdoaWNoIG11c3QgYmUgZnJlZWQuCitjaGFyKiBXVEZQcmV0dGlmeVN0
YWNrZnJhbWUodm9pZCogYWRkcikKK3sKKyNpZiBPUyhEQVJXSU4pIG9yIE9TKExJTlVYKQorICAg
IGNvbnN0IGNoYXIqIG1hbmdsZWROYW1lID0gMDsKKyAgICBEbF9pbmZvIGluZm87CisgICAgaWYg
KGRsYWRkcihhZGRyLCAmaW5mbykgJiYgaW5mby5kbGlfc25hbWUpCisgICAgICAgIG1hbmdsZWRO
YW1lID0gaW5mby5kbGlfc25hbWU7CisKKyAgICBpZiAobWFuZ2xlZE5hbWUpIHsKKyAgICAgICAg
Y2hhciogZGVtYW5nbGVkTmFtZSA9IGFiaTo6X19jeGFfZGVtYW5nbGUobWFuZ2xlZE5hbWUsIDAs
IDAsIDApOworICAgICAgICBpZiAoZGVtYW5nbGVkTmFtZSkKKyAgICAgICAgICAgIHJldHVybiBk
ZW1hbmdsZWROYW1lOworICAgICAgICBjaGFyKiBtYWxsb2NlZE5hbWUgPSAoY2hhciopIG1hbGxv
YyhzdHJsZW4obWFuZ2xlZE5hbWUpKzEpOworICAgICAgICBzdHJjcHkobWFsbG9jZWROYW1lLCBt
YW5nbGVkTmFtZSk7CisgICAgICAgIHJldHVybiBtYWxsb2NlZE5hbWU7CisgICAgfQorI2VuZGlm
CisgICAgcmV0dXJuIDA7Cit9CisKIHZvaWQgV1RGUmVwb3J0QmFja3RyYWNlKCkKIHsKLSNpZiBQ
TEFURk9STShNQUMpCi0gICAgc3RhdGljIGNvbnN0IGludCBtYXhGcmFtZXMgPSAzMjsKKyAgICBl
bnVtIHsgbWF4RnJhbWVzID0gMzIgfTsKICAgICB2b2lkKiBzYW1wbGVzW21heEZyYW1lc107Ci0g
ICAgaW50IGZyYW1lcyA9IGJhY2t0cmFjZShzYW1wbGVzLCBtYXhGcmFtZXMpOwotCisgICAgaW50
IGZyYW1lcyA9IG1heEZyYW1lczsKKyAgICBXVEZTYXZlQmFja3RyYWNlKHNhbXBsZXMsICZmcmFt
ZXMpOwogICAgIGZvciAoaW50IGkgPSAxOyBpIDwgZnJhbWVzOyArK2kpIHsKLSAgICAgICAgdm9p
ZCogcG9pbnRlciA9IHNhbXBsZXNbaV07Ci0KLSAgICAgICAgLy8gVHJ5IHRvIGdldCBhIHN5bWJv
bCBuYW1lIGZyb20gdGhlIGR5bmFtaWMgbGlua2VyLgotICAgICAgICBEbF9pbmZvIGluZm87Ci0g
ICAgICAgIGlmIChkbGFkZHIocG9pbnRlciwgJmluZm8pICYmIGluZm8uZGxpX3NuYW1lKSB7Ci0g
ICAgICAgICAgICBjb25zdCBjaGFyKiBtYW5nbGVkTmFtZSA9IGluZm8uZGxpX3NuYW1lOwotCi0g
ICAgICAgICAgICAvLyBBc3N1bWUgYysrICYgdHJ5IHRvIGRlbWFuZ2xlIHRoZSBuYW1lLgotICAg
ICAgICAgICAgY2hhciogZGVtYW5nbGVkTmFtZSA9IGFiaTo6X19jeGFfZGVtYW5nbGUobWFuZ2xl
ZE5hbWUsIDAsIDAsIDApOwotICAgICAgICAgICAgaWYgKGRlbWFuZ2xlZE5hbWUpIHsKLSAgICAg
ICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIiUtM2QgJXNcbiIsIGksIGRlbWFuZ2xlZE5hbWUp
OwotICAgICAgICAgICAgICAgIGZyZWUoZGVtYW5nbGVkTmFtZSk7Ci0gICAgICAgICAgICB9IGVs
c2UKLSAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIiUtM2QgJXNcbiIsIGksIG1hbmds
ZWROYW1lKTsKKyAgICAgICAgY2hhciogcHJldHR5ID0gV1RGUHJldHRpZnlTdGFja2ZyYW1lKHNh
bXBsZXNbaV0pOworICAgICAgICBpZiAocHJldHR5KSB7CisgICAgICAgICAgICBmcHJpbnRmKHN0
ZGVyciwgIiUtM2QgJXAgJXNcbiIsIGksIHNhbXBsZXNbaV0sIHByZXR0eSk7CisgICAgICAgICAg
ICBmcmVlKHByZXR0eSk7CiAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgZnByaW50ZihzdGRl
cnIsICIlLTNkICVwXG4iLCBpLCBwb2ludGVyKTsKKyAgICAgICAgICAgIGZwcmludGYoc3RkZXJy
LCAiJS0zZCAlcFxuIiwgaSwgc2FtcGxlc1tpXSk7CiAgICAgfQotI2VuZGlmCiB9CiAKIHZvaWQg
V1RGUmVwb3J0RmF0YWxFcnJvcihjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hh
ciogZnVuY3Rpb24sIGNvbnN0IGNoYXIqIGZvcm1hdCwgLi4uKQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRpb25zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL0Fzc2VydGlvbnMuaAppbmRleCAzMGZlNjBmZjNmNzU0NzY2ZjFlMmU3OWQxYzIwNWJjYTBm
MWQwOGU1Li4zMTZiYzY4NGE5ODI4M2IyYjI0MDkyYzc0MDM2ZjUxMWI5YjkyZjliIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuaApAQCAtMTQ0LDEyICsxNDQsMTYgQEAgdHlw
ZWRlZiBzdHJ1Y3QgewogV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgV1RGUmVwb3J0QXNzZXJ0aW9u
RmFpbHVyZShjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciogZnVuY3Rpb24s
IGNvbnN0IGNoYXIqIGFzc2VydGlvbik7CiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZSZXBv
cnRBc3NlcnRpb25GYWlsdXJlV2l0aE1lc3NhZ2UoY29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUs
IGNvbnN0IGNoYXIqIGZ1bmN0aW9uLCBjb25zdCBjaGFyKiBhc3NlcnRpb24sIGNvbnN0IGNoYXIq
IGZvcm1hdCwgLi4uKSBXVEZfQVRUUklCVVRFX1BSSU5URig1LCA2KTsKIFdURl9FWFBPUlRfUFJJ
VkFURSB2b2lkIFdURlJlcG9ydEFyZ3VtZW50QXNzZXJ0aW9uRmFpbHVyZShjb25zdCBjaGFyKiBm
aWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciogZnVuY3Rpb24sIGNvbnN0IGNoYXIqIGFyZ05hbWUs
IGNvbnN0IGNoYXIqIGFzc2VydGlvbik7Ci1XVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZSZXBv
cnRCYWNrdHJhY2UoKTsKIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURlJlcG9ydEZhdGFsRXJy
b3IoY29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uLCBjb25z
dCBjaGFyKiBmb3JtYXQsIC4uLikgV1RGX0FUVFJJQlVURV9QUklOVEYoNCwgNSk7CiBXVEZfRVhQ
T1JUX1BSSVZBVEUgdm9pZCBXVEZSZXBvcnRFcnJvcihjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGlu
ZSwgY29uc3QgY2hhciogZnVuY3Rpb24sIGNvbnN0IGNoYXIqIGZvcm1hdCwgLi4uKSBXVEZfQVRU
UklCVVRFX1BSSU5URig0LCA1KTsKIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURkxvZyhXVEZM
b2dDaGFubmVsKiwgY29uc3QgY2hhciogZm9ybWF0LCAuLi4pIFdURl9BVFRSSUJVVEVfUFJJTlRG
KDIsIDMpOwogV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgV1RGTG9nVmVyYm9zZShjb25zdCBjaGFy
KiBmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciogZnVuY3Rpb24sIFdURkxvZ0NoYW5uZWwqLCBj
b25zdCBjaGFyKiBmb3JtYXQsIC4uLikgV1RGX0FUVFJJQlVURV9QUklOVEYoNSwgNik7CiAKK1dU
Rl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURlNhdmVCYWNrdHJhY2Uodm9pZCoqIHN0YWNrLCBpbnQq
IHNpemUpOworV1RGX0VYUE9SVF9QUklWQVRFIGNoYXIqIFdURlByZXR0aWZ5U3RhY2tmcmFtZSh2
b2lkKiBhZGRyKTsKK1dURl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURlJlcG9ydEJhY2t0cmFjZSgp
OworCisKICNpZmRlZiBfX2NwbHVzcGx1cwogfQogI2VuZGlmCg==
</data>
<flag name="review"
          id="106333"
          type_id="1"
          status="-"
          setter="gavinp"
    />
    <flag name="commit-queue"
          id="106334"
          type_id="3"
          status="-"
          setter="gavinp"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109164</attachid>
            <date>2011-09-29 08:03:53 -0700</date>
            <delta_ts>2011-09-29 11:45:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69018-20110929110352.patch</filename>
            <type>text/plain</type>
            <size>5621</size>
            <attacher name="Gavin Peters">gavinp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTU4MDIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGYz
M2Y2NTQ5MDhlZDkzMTVmZGJmNTMxOWI5ZDM2Mjg1ODFlYjk0NWIuLjZlNmM5Y2E2MjU5ZjZkM2M1
NDVkNjNmZTg1ZGE4Yzc3YjYzM2Y5M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE4IEBACisyMDExLTA5LTI4ICBHYXZpbiBQZXRlcnMgIDxnYXZpbnBAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIGFkZCBtb3JlIHN0YWNrIGR1bXBpbmcgbWV0aG9kcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwMTgKKworICAgICAgICBJbiBh
ZGRpdGlvbiB0byBXVEZSZXBvcnRCYWNrdHJhY2UsIHRoaXMgYWRkcyB0aGUgY3Jvc3MtcGxhdGZv
cm0gV1RGR2V0QmFja3RyYWNlLCB3aGljaCBsZXRzCisgICAgICAgIFdlYktpdCBwcm9ncmFtbWF0
aWNhbGx5IHJldHJpZXZlIHRoZSBjdXJyZW50IHN0YWNrLiAgVGhpcyBpcyB1c2VmdWwgaWYgeW91
IG5lZWQgdG8gYWRkIG1vcmUKKyAgICAgICAgcmVwb3J0aW5nIHRvIGZpZWxkIGNyYXNoIHJlcG9y
dCB1cGxvYWRzLCBpZiB5b3UncmUgdHJhY2tpbmcgZG93biBhbiBpcnJlcHJvZHVjYWJsZSBidWcs
CisgICAgICAgIGZvciBpbnN0YW5jZS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHd0Zi9Bc3NlcnRpb25zLmNwcDoKKyAgICAgICAgKiB3dGYvQXNz
ZXJ0aW9ucy5oOgorCiAyMDExLTA5LTIyICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+
CiAKICAgICAgICAgR2V0U2NvcGVkVmFyIHNob3VsZCBoYXZlIHZhbHVlIHByb2ZpbGluZwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRpb25zLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvQXNzZXJ0aW9ucy5jcHAKaW5kZXggODhkYzYxYThkMTZkNmI3
MTMzNjQ5Y2RkNjAxYzI2MTE5NWRkYTFkNi4uNmRhYWQ1ODE1ZjlmNDdlOGM0MTExZGE2YjJhM2Iy
ZjZhYTEzZjMzNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRp
b25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuY3BwCkBA
IC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSA8c3RkaW8uaD4KICNpbmNsdWRlIDxzdGRhcmcuaD4K
ICNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKICNp
ZiBQTEFURk9STShNQUMpCiAjaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ0ZTdHJpbmcuaD4KQEAg
LTQ5LDcgKzUwLDcgQEAKICNpbmNsdWRlIDx3aW5kb3dzLmg+CiAjZW5kaWYKIAotI2lmIFBMQVRG
T1JNKE1BQykKKyNpZiBPUyhEQVJXSU4pIHx8IE9TKExJTlVYKQogI2luY2x1ZGUgPGN4eGFiaS5o
PgogI2luY2x1ZGUgPGRsZmNuLmg+CiAjaW5jbHVkZSA8ZXhlY2luZm8uaD4KQEAgLTE0MCw2ICsx
NDEsMjkgQEAgc3RhdGljIHZvaWQgcHJpbnRDYWxsU2l0ZShjb25zdCBjaGFyKiBmaWxlLCBpbnQg
bGluZSwgY29uc3QgY2hhciogZnVuY3Rpb24pCiAjZW5kaWYKIH0KIAorc3RhdGljIENTdHJpbmcg
cHJldHRpZnlTdGFja2ZyYW1lKHZvaWQqIGFkZHIpCit7CisjaWYgT1MoREFSV0lOKSBvciBPUyhM
SU5VWCkKKyAgICBjb25zdCBjaGFyKiBtYW5nbGVkTmFtZSA9IDA7CisgICAgRGxfaW5mbyBpbmZv
OworICAgIGlmIChkbGFkZHIoYWRkciwgJmluZm8pICYmIGluZm8uZGxpX3NuYW1lKQorICAgICAg
ICBtYW5nbGVkTmFtZSA9IGluZm8uZGxpX3NuYW1lOworCisgICAgaWYgKG1hbmdsZWROYW1lKSB7
CisgICAgICAgIGNoYXIqIGN4YURlbWFuZ2xlZCA9IGFiaTo6X19jeGFfZGVtYW5nbGUobWFuZ2xl
ZE5hbWUsIDAsIDAsIDApOworICAgICAgICBpZiAoY3hhRGVtYW5nbGVkKSB7CisgICAgICAgICAg
ICBDU3RyaW5nIGRlbWFuZ2xlZE5hbWUgPSBjeGFEZW1hbmdsZWQ7CisgICAgICAgICAgICBjeGFE
ZW1hbmdsZWQgPSAwOworICAgICAgICAgICAgcmV0dXJuIGRlbWFuZ2xlZE5hbWU7CisgICAgICAg
IH0KKyAgICAgICAgcmV0dXJuIENTdHJpbmcobWFuZ2xlZE5hbWUpOworICAgIH0KKyNlbmRpZgor
ICAgIHJldHVybiBDU3RyaW5nKCk7Cit9CisKKworCiB2b2lkIFdURlJlcG9ydEFzc2VydGlvbkZh
aWx1cmUoY29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uLCBj
b25zdCBjaGFyKiBhc3NlcnRpb24pCiB7CiAgICAgaWYgKGFzc2VydGlvbikKQEAgLTE2NiwzMiAr
MTkwLDMwIEBAIHZvaWQgV1RGUmVwb3J0QXJndW1lbnRBc3NlcnRpb25GYWlsdXJlKGNvbnN0IGNo
YXIqIGZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyKiBmCiAgICAgcHJpbnRDYWxsU2l0ZShmaWxl
LCBsaW5lLCBmdW5jdGlvbik7CiB9CiAKK3ZvaWQgV1RGR2V0QmFja3RyYWNlKHZvaWQqKiBzdGFj
aywgaW50KiBzaXplKQoreworI2lmIE9TKERBUldJTikgfHwgT1MoTElOVVgpCisgICAgKnNpemUg
PSBiYWNrdHJhY2Uoc3RhY2ssICpzaXplKTsKKyNlbGlmIE9TKFdJTkRPV1MpCisgICAgKnNpemUg
PSBDYXB0dXJlU3RhY2tCYWNrVHJhY2UoMiwgKnNpemUsIHN0YWNrLCAwKTsKKyNlbHNlCisgICAg
KnNpemUgPSAwOworI2VuZGlmCit9CisKIHZvaWQgV1RGUmVwb3J0QmFja3RyYWNlKCkKIHsKLSNp
ZiBQTEFURk9STShNQUMpCi0gICAgc3RhdGljIGNvbnN0IGludCBtYXhGcmFtZXMgPSAzMjsKKyAg
ICBlbnVtIHsgbWF4RnJhbWVzID0gMzIgfTsKICAgICB2b2lkKiBzYW1wbGVzW21heEZyYW1lc107
Ci0gICAgaW50IGZyYW1lcyA9IGJhY2t0cmFjZShzYW1wbGVzLCBtYXhGcmFtZXMpOwotCisgICAg
aW50IGZyYW1lcyA9IG1heEZyYW1lczsKKyAgICBXVEZHZXRCYWNrdHJhY2Uoc2FtcGxlcywgJmZy
YW1lcyk7CiAgICAgZm9yIChpbnQgaSA9IDE7IGkgPCBmcmFtZXM7ICsraSkgewotICAgICAgICB2
b2lkKiBwb2ludGVyID0gc2FtcGxlc1tpXTsKLQotICAgICAgICAvLyBUcnkgdG8gZ2V0IGEgc3lt
Ym9sIG5hbWUgZnJvbSB0aGUgZHluYW1pYyBsaW5rZXIuCi0gICAgICAgIERsX2luZm8gaW5mbzsK
LSAgICAgICAgaWYgKGRsYWRkcihwb2ludGVyLCAmaW5mbykgJiYgaW5mby5kbGlfc25hbWUpIHsK
LSAgICAgICAgICAgIGNvbnN0IGNoYXIqIG1hbmdsZWROYW1lID0gaW5mby5kbGlfc25hbWU7Ci0K
LSAgICAgICAgICAgIC8vIEFzc3VtZSBjKysgJiB0cnkgdG8gZGVtYW5nbGUgdGhlIG5hbWUuCi0g
ICAgICAgICAgICBjaGFyKiBkZW1hbmdsZWROYW1lID0gYWJpOjpfX2N4YV9kZW1hbmdsZShtYW5n
bGVkTmFtZSwgMCwgMCwgMCk7Ci0gICAgICAgICAgICBpZiAoZGVtYW5nbGVkTmFtZSkgewotICAg
ICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiJS0zZCAlc1xuIiwgaSwgZGVtYW5nbGVkTmFt
ZSk7Ci0gICAgICAgICAgICAgICAgZnJlZShkZW1hbmdsZWROYW1lKTsKLSAgICAgICAgICAgIH0g
ZWxzZQotICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiJS0zZCAlc1xuIiwgaSwgbWFu
Z2xlZE5hbWUpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAi
JS0zZCAlcFxuIiwgaSwgcG9pbnRlcik7CisgICAgICAgIENTdHJpbmcgcHJldHR5ID0gcHJldHRp
ZnlTdGFja2ZyYW1lKHNhbXBsZXNbaV0pOworICAgICAgICBpZiAoIXByZXR0eS5pc051bGwoKSkK
KyAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiJS0zZCAlcCAlc1xuIiwgaSwgc2FtcGxlc1tp
XSwgcHJldHR5LmRhdGEoKSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGZwcmludGYoc3Rk
ZXJyLCAiJS0zZCAlcFxuIiwgaSwgc2FtcGxlc1tpXSk7CiAgICAgfQotI2VuZGlmCiB9CiAKIHZv
aWQgV1RGUmVwb3J0RmF0YWxFcnJvcihjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSwgY29uc3Qg
Y2hhciogZnVuY3Rpb24sIGNvbnN0IGNoYXIqIGZvcm1hdCwgLi4uKQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRpb25zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL0Fzc2VydGlvbnMuaAppbmRleCAzMGZlNjBmZjNmNzU0NzY2ZjFlMmU3OWQxYzIwNWJj
YTBmMWQwOGU1Li5hZTljNTEwMDBiN2FmZDZiOGRkMTE2MTI5M2RhYTU0NzQ2YmNmMzI5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuaApAQCAtMTQ0LDEyICsxNDQsMTUgQEAg
dHlwZWRlZiBzdHJ1Y3QgewogV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgV1RGUmVwb3J0QXNzZXJ0
aW9uRmFpbHVyZShjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciogZnVuY3Rp
b24sIGNvbnN0IGNoYXIqIGFzc2VydGlvbik7CiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZS
ZXBvcnRBc3NlcnRpb25GYWlsdXJlV2l0aE1lc3NhZ2UoY29uc3QgY2hhciogZmlsZSwgaW50IGxp
bmUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uLCBjb25zdCBjaGFyKiBhc3NlcnRpb24sIGNvbnN0IGNo
YXIqIGZvcm1hdCwgLi4uKSBXVEZfQVRUUklCVVRFX1BSSU5URig1LCA2KTsKIFdURl9FWFBPUlRf
UFJJVkFURSB2b2lkIFdURlJlcG9ydEFyZ3VtZW50QXNzZXJ0aW9uRmFpbHVyZShjb25zdCBjaGFy
KiBmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciogZnVuY3Rpb24sIGNvbnN0IGNoYXIqIGFyZ05h
bWUsIGNvbnN0IGNoYXIqIGFzc2VydGlvbik7Ci1XVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZS
ZXBvcnRCYWNrdHJhY2UoKTsKIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURlJlcG9ydEZhdGFs
RXJyb3IoY29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uLCBj
b25zdCBjaGFyKiBmb3JtYXQsIC4uLikgV1RGX0FUVFJJQlVURV9QUklOVEYoNCwgNSk7CiBXVEZf
RVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZSZXBvcnRFcnJvcihjb25zdCBjaGFyKiBmaWxlLCBpbnQg
bGluZSwgY29uc3QgY2hhciogZnVuY3Rpb24sIGNvbnN0IGNoYXIqIGZvcm1hdCwgLi4uKSBXVEZf
QVRUUklCVVRFX1BSSU5URig0LCA1KTsKIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURkxvZyhX
VEZMb2dDaGFubmVsKiwgY29uc3QgY2hhciogZm9ybWF0LCAuLi4pIFdURl9BVFRSSUJVVEVfUFJJ
TlRGKDIsIDMpOwogV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgV1RGTG9nVmVyYm9zZShjb25zdCBj
aGFyKiBmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciogZnVuY3Rpb24sIFdURkxvZ0NoYW5uZWwq
LCBjb25zdCBjaGFyKiBmb3JtYXQsIC4uLikgV1RGX0FUVFJJQlVURV9QUklOVEYoNSwgNik7CiAK
K1dURl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURkdldEJhY2t0cmFjZSh2b2lkKiogc3RhY2ssIGlu
dCogc2l6ZSk7CitXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZSZXBvcnRCYWNrdHJhY2UoKTsK
KworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109181</attachid>
            <date>2011-09-29 11:45:28 -0700</date>
            <delta_ts>2011-09-29 12:24:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69018-20110929144527.patch</filename>
            <type>text/plain</type>
            <size>5763</size>
            <attacher name="Gavin Peters">gavinp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTU4MDIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGYz
M2Y2NTQ5MDhlZDkzMTVmZGJmNTMxOWI5ZDM2Mjg1ODFlYjk0NWIuLjZlNmM5Y2E2MjU5ZjZkM2M1
NDVkNjNmZTg1ZGE4Yzc3YjYzM2Y5M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE4IEBACisyMDExLTA5LTI4ICBHYXZpbiBQZXRlcnMgIDxnYXZpbnBAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIGFkZCBtb3JlIHN0YWNrIGR1bXBpbmcgbWV0aG9kcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwMTgKKworICAgICAgICBJbiBh
ZGRpdGlvbiB0byBXVEZSZXBvcnRCYWNrdHJhY2UsIHRoaXMgYWRkcyB0aGUgY3Jvc3MtcGxhdGZv
cm0gV1RGR2V0QmFja3RyYWNlLCB3aGljaCBsZXRzCisgICAgICAgIFdlYktpdCBwcm9ncmFtbWF0
aWNhbGx5IHJldHJpZXZlIHRoZSBjdXJyZW50IHN0YWNrLiAgVGhpcyBpcyB1c2VmdWwgaWYgeW91
IG5lZWQgdG8gYWRkIG1vcmUKKyAgICAgICAgcmVwb3J0aW5nIHRvIGZpZWxkIGNyYXNoIHJlcG9y
dCB1cGxvYWRzLCBpZiB5b3UncmUgdHJhY2tpbmcgZG93biBhbiBpcnJlcHJvZHVjYWJsZSBidWcs
CisgICAgICAgIGZvciBpbnN0YW5jZS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHd0Zi9Bc3NlcnRpb25zLmNwcDoKKyAgICAgICAgKiB3dGYvQXNz
ZXJ0aW9ucy5oOgorCiAyMDExLTA5LTIyICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+
CiAKICAgICAgICAgR2V0U2NvcGVkVmFyIHNob3VsZCBoYXZlIHZhbHVlIHByb2ZpbGluZwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRpb25zLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvQXNzZXJ0aW9ucy5jcHAKaW5kZXggODhkYzYxYThkMTZkNmI3
MTMzNjQ5Y2RkNjAxYzI2MTE5NWRkYTFkNi4uYTliM2Q5NzRjZmJkYjMxZDU2MzM1M2ZjM2RlNWRm
NzgxOTYxMTFkNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRp
b25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuY3BwCkBA
IC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSA8c3RkaW8uaD4KICNpbmNsdWRlIDxzdGRhcmcuaD4K
ICNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKICNp
ZiBQTEFURk9STShNQUMpCiAjaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ0ZTdHJpbmcuaD4KQEAg
LTQ2LDE1ICs0Nyw0MSBAQAogI2VuZGlmCiAKICNpZiBPUyhXSU5ET1dTKQorI2luY2x1ZGUgPHdp
bmJhc2UuaD4KICNpbmNsdWRlIDx3aW5kb3dzLmg+CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKE1B
QykKKyNpZiBPUyhEQVJXSU4pIHx8IE9TKExJTlVYKQogI2luY2x1ZGUgPGN4eGFiaS5oPgogI2lu
Y2x1ZGUgPGRsZmNuLmg+CiAjaW5jbHVkZSA8ZXhlY2luZm8uaD4KICNlbmRpZgogCituYW1lc3Bh
Y2UgeworCitzdGF0aWMgQ1N0cmluZyBwcmV0dGlmeVN0YWNrZnJhbWUodm9pZCogYWRkcikKK3sK
KyNpZiBPUyhEQVJXSU4pIG9yIE9TKExJTlVYKQorICAgIGNvbnN0IGNoYXIqIG1hbmdsZWROYW1l
ID0gMDsKKyAgICBEbF9pbmZvIGluZm87CisgICAgaWYgKGRsYWRkcihhZGRyLCAmaW5mbykgJiYg
aW5mby5kbGlfc25hbWUpCisgICAgICAgIG1hbmdsZWROYW1lID0gaW5mby5kbGlfc25hbWU7CisK
KyAgICBpZiAobWFuZ2xlZE5hbWUpIHsKKyAgICAgICAgY2hhciogY3hhRGVtYW5nbGVkID0gYWJp
OjpfX2N4YV9kZW1hbmdsZShtYW5nbGVkTmFtZSwgMCwgMCwgMCk7CisgICAgICAgIGlmIChjeGFE
ZW1hbmdsZWQpIHsKKyAgICAgICAgICAgIENTdHJpbmcgZGVtYW5nbGVkTmFtZSA9IGN4YURlbWFu
Z2xlZDsKKyAgICAgICAgICAgIGN4YURlbWFuZ2xlZCA9IDA7CisgICAgICAgICAgICByZXR1cm4g
ZGVtYW5nbGVkTmFtZTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gQ1N0cmluZyhtYW5nbGVk
TmFtZSk7CisgICAgfQorI2VuZGlmCisgICAgcmV0dXJuIENTdHJpbmcoKTsKK30KKworfSAvLyBh
bm9uIG5hbWVzcGFjZQorCiBleHRlcm4gIkMiIHsKIAogV1RGX0FUVFJJQlVURV9QUklOVEYoMSwg
MCkKQEAgLTE0MCw2ICsxNjcsOCBAQCBzdGF0aWMgdm9pZCBwcmludENhbGxTaXRlKGNvbnN0IGNo
YXIqIGZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyKiBmdW5jdGlvbikKICNlbmRpZgogfQogCisK
Kwogdm9pZCBXVEZSZXBvcnRBc3NlcnRpb25GYWlsdXJlKGNvbnN0IGNoYXIqIGZpbGUsIGludCBs
aW5lLCBjb25zdCBjaGFyKiBmdW5jdGlvbiwgY29uc3QgY2hhciogYXNzZXJ0aW9uKQogewogICAg
IGlmIChhc3NlcnRpb24pCkBAIC0xNjYsMzIgKzE5NSwzMCBAQCB2b2lkIFdURlJlcG9ydEFyZ3Vt
ZW50QXNzZXJ0aW9uRmFpbHVyZShjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hh
ciogZgogICAgIHByaW50Q2FsbFNpdGUoZmlsZSwgbGluZSwgZnVuY3Rpb24pOwogfQogCit2b2lk
IFdURkdldEJhY2t0cmFjZSh2b2lkKiogc3RhY2ssIGludCogc2l6ZSkKK3sKKyNpZiBPUyhEQVJX
SU4pIHx8IE9TKExJTlVYKQorICAgICpzaXplID0gYmFja3RyYWNlKHN0YWNrLCAqc2l6ZSk7Cisj
ZWxpZiBPUyhXSU5ET1dTKQorICAgICpzaXplID0gQ2FwdHVyZVN0YWNrQmFja1RyYWNlKDIsICpz
aXplLCBzdGFjaywgMCk7CisjZWxzZQorICAgICpzaXplID0gMDsKKyNlbmRpZgorfQorCiB2b2lk
IFdURlJlcG9ydEJhY2t0cmFjZSgpCiB7Ci0jaWYgUExBVEZPUk0oTUFDKQotICAgIHN0YXRpYyBj
b25zdCBpbnQgbWF4RnJhbWVzID0gMzI7CisgICAgZW51bSB7IG1heEZyYW1lcyA9IDMyIH07CiAg
ICAgdm9pZCogc2FtcGxlc1ttYXhGcmFtZXNdOwotICAgIGludCBmcmFtZXMgPSBiYWNrdHJhY2Uo
c2FtcGxlcywgbWF4RnJhbWVzKTsKLQorICAgIGludCBmcmFtZXMgPSBtYXhGcmFtZXM7CisgICAg
V1RGR2V0QmFja3RyYWNlKHNhbXBsZXMsICZmcmFtZXMpOwogICAgIGZvciAoaW50IGkgPSAxOyBp
IDwgZnJhbWVzOyArK2kpIHsKLSAgICAgICAgdm9pZCogcG9pbnRlciA9IHNhbXBsZXNbaV07Ci0K
LSAgICAgICAgLy8gVHJ5IHRvIGdldCBhIHN5bWJvbCBuYW1lIGZyb20gdGhlIGR5bmFtaWMgbGlu
a2VyLgotICAgICAgICBEbF9pbmZvIGluZm87Ci0gICAgICAgIGlmIChkbGFkZHIocG9pbnRlciwg
JmluZm8pICYmIGluZm8uZGxpX3NuYW1lKSB7Ci0gICAgICAgICAgICBjb25zdCBjaGFyKiBtYW5n
bGVkTmFtZSA9IGluZm8uZGxpX3NuYW1lOwotCi0gICAgICAgICAgICAvLyBBc3N1bWUgYysrICYg
dHJ5IHRvIGRlbWFuZ2xlIHRoZSBuYW1lLgotICAgICAgICAgICAgY2hhciogZGVtYW5nbGVkTmFt
ZSA9IGFiaTo6X19jeGFfZGVtYW5nbGUobWFuZ2xlZE5hbWUsIDAsIDAsIDApOwotICAgICAgICAg
ICAgaWYgKGRlbWFuZ2xlZE5hbWUpIHsKLSAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwg
IiUtM2QgJXNcbiIsIGksIGRlbWFuZ2xlZE5hbWUpOwotICAgICAgICAgICAgICAgIGZyZWUoZGVt
YW5nbGVkTmFtZSk7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICBmcHJpbnRm
KHN0ZGVyciwgIiUtM2QgJXNcbiIsIGksIG1hbmdsZWROYW1lKTsKLSAgICAgICAgfSBlbHNlCi0g
ICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIiUtM2QgJXBcbiIsIGksIHBvaW50ZXIpOworICAg
ICAgICBDU3RyaW5nIHByZXR0eSA9IHByZXR0aWZ5U3RhY2tmcmFtZShzYW1wbGVzW2ldKTsKKyAg
ICAgICAgaWYgKCFwcmV0dHkuaXNOdWxsKCkpCisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwg
IiUtM2QgJXAgJXNcbiIsIGksIHNhbXBsZXNbaV0sIHByZXR0eS5kYXRhKCkpOworICAgICAgICBl
bHNlCisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIiUtM2QgJXBcbiIsIGksIHNhbXBsZXNb
aV0pOwogICAgIH0KLSNlbmRpZgogfQogCiB2b2lkIFdURlJlcG9ydEZhdGFsRXJyb3IoY29uc3Qg
Y2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uLCBjb25zdCBjaGFyKiBm
b3JtYXQsIC4uLikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQXNzZXJ0
aW9ucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRpb25zLmgKaW5kZXggMzBm
ZTYwZmYzZjc1NDc2NmYxZTJlNzlkMWMyMDViY2EwZjFkMDhlNS4uYWU5YzUxMDAwYjdhZmQ2Yjhk
ZDExNjEyOTNkYWE1NDc0NmJjZjMyOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3d0Zi9Bc3NlcnRpb25zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRp
b25zLmgKQEAgLTE0NCwxMiArMTQ0LDE1IEBAIHR5cGVkZWYgc3RydWN0IHsKIFdURl9FWFBPUlRf
UFJJVkFURSB2b2lkIFdURlJlcG9ydEFzc2VydGlvbkZhaWx1cmUoY29uc3QgY2hhciogZmlsZSwg
aW50IGxpbmUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uLCBjb25zdCBjaGFyKiBhc3NlcnRpb24pOwog
V1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgV1RGUmVwb3J0QXNzZXJ0aW9uRmFpbHVyZVdpdGhNZXNz
YWdlKGNvbnN0IGNoYXIqIGZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyKiBmdW5jdGlvbiwgY29u
c3QgY2hhciogYXNzZXJ0aW9uLCBjb25zdCBjaGFyKiBmb3JtYXQsIC4uLikgV1RGX0FUVFJJQlVU
RV9QUklOVEYoNSwgNik7CiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZSZXBvcnRBcmd1bWVu
dEFzc2VydGlvbkZhaWx1cmUoY29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIq
IGZ1bmN0aW9uLCBjb25zdCBjaGFyKiBhcmdOYW1lLCBjb25zdCBjaGFyKiBhc3NlcnRpb24pOwot
V1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgV1RGUmVwb3J0QmFja3RyYWNlKCk7CiBXVEZfRVhQT1JU
X1BSSVZBVEUgdm9pZCBXVEZSZXBvcnRGYXRhbEVycm9yKGNvbnN0IGNoYXIqIGZpbGUsIGludCBs
aW5lLCBjb25zdCBjaGFyKiBmdW5jdGlvbiwgY29uc3QgY2hhciogZm9ybWF0LCAuLi4pIFdURl9B
VFRSSUJVVEVfUFJJTlRGKDQsIDUpOwogV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgV1RGUmVwb3J0
RXJyb3IoY29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uLCBj
b25zdCBjaGFyKiBmb3JtYXQsIC4uLikgV1RGX0FUVFJJQlVURV9QUklOVEYoNCwgNSk7CiBXVEZf
RVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZMb2coV1RGTG9nQ2hhbm5lbCosIGNvbnN0IGNoYXIqIGZv
cm1hdCwgLi4uKSBXVEZfQVRUUklCVVRFX1BSSU5URigyLCAzKTsKIFdURl9FWFBPUlRfUFJJVkFU
RSB2b2lkIFdURkxvZ1ZlcmJvc2UoY29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNo
YXIqIGZ1bmN0aW9uLCBXVEZMb2dDaGFubmVsKiwgY29uc3QgY2hhciogZm9ybWF0LCAuLi4pIFdU
Rl9BVFRSSUJVVEVfUFJJTlRGKDUsIDYpOwogCitXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZH
ZXRCYWNrdHJhY2Uodm9pZCoqIHN0YWNrLCBpbnQqIHNpemUpOworV1RGX0VYUE9SVF9QUklWQVRF
IHZvaWQgV1RGUmVwb3J0QmFja3RyYWNlKCk7CisKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAj
ZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109186</attachid>
            <date>2011-09-29 12:23:09 -0700</date>
            <delta_ts>2011-09-29 12:31:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69018-20110929152307.patch</filename>
            <type>text/plain</type>
            <size>5796</size>
            <attacher name="Gavin Peters">gavinp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTU4MDIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGYz
M2Y2NTQ5MDhlZDkzMTVmZGJmNTMxOWI5ZDM2Mjg1ODFlYjk0NWIuLjZlNmM5Y2E2MjU5ZjZkM2M1
NDVkNjNmZTg1ZGE4Yzc3YjYzM2Y5M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE4IEBACisyMDExLTA5LTI4ICBHYXZpbiBQZXRlcnMgIDxnYXZpbnBAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIGFkZCBtb3JlIHN0YWNrIGR1bXBpbmcgbWV0aG9kcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwMTgKKworICAgICAgICBJbiBh
ZGRpdGlvbiB0byBXVEZSZXBvcnRCYWNrdHJhY2UsIHRoaXMgYWRkcyB0aGUgY3Jvc3MtcGxhdGZv
cm0gV1RGR2V0QmFja3RyYWNlLCB3aGljaCBsZXRzCisgICAgICAgIFdlYktpdCBwcm9ncmFtbWF0
aWNhbGx5IHJldHJpZXZlIHRoZSBjdXJyZW50IHN0YWNrLiAgVGhpcyBpcyB1c2VmdWwgaWYgeW91
IG5lZWQgdG8gYWRkIG1vcmUKKyAgICAgICAgcmVwb3J0aW5nIHRvIGZpZWxkIGNyYXNoIHJlcG9y
dCB1cGxvYWRzLCBpZiB5b3UncmUgdHJhY2tpbmcgZG93biBhbiBpcnJlcHJvZHVjYWJsZSBidWcs
CisgICAgICAgIGZvciBpbnN0YW5jZS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHd0Zi9Bc3NlcnRpb25zLmNwcDoKKyAgICAgICAgKiB3dGYvQXNz
ZXJ0aW9ucy5oOgorCiAyMDExLTA5LTIyICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+
CiAKICAgICAgICAgR2V0U2NvcGVkVmFyIHNob3VsZCBoYXZlIHZhbHVlIHByb2ZpbGluZwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRpb25zLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvQXNzZXJ0aW9ucy5jcHAKaW5kZXggODhkYzYxYThkMTZkNmI3
MTMzNjQ5Y2RkNjAxYzI2MTE5NWRkYTFkNi4uMzVmNGY3MTViZTY2ZmJiNWQyYmJjMzA5ZjIxOWNm
NTA0NjkxM2NkYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRp
b25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuY3BwCkBA
IC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSA8c3RkaW8uaD4KICNpbmNsdWRlIDxzdGRhcmcuaD4K
ICNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKICNp
ZiBQTEFURk9STShNQUMpCiAjaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ0ZTdHJpbmcuaD4KQEAg
LTQ2LDE1ICs0Nyw0MiBAQAogI2VuZGlmCiAKICNpZiBPUyhXSU5ET1dTKQorI2luY2x1ZGUgPHdp
bmJhc2UuaD4KICNpbmNsdWRlIDx3aW5kb3dzLmg+CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKE1B
QykKKyNpZiBPUyhEQVJXSU4pIHx8IE9TKExJTlVYKQogI2luY2x1ZGUgPGN4eGFiaS5oPgogI2lu
Y2x1ZGUgPGRsZmNuLmg+CiAjaW5jbHVkZSA8ZXhlY2luZm8uaD4KICNlbmRpZgogCituYW1lc3Bh
Y2UgeworCitzdGF0aWMgQ1N0cmluZyBwcmV0dGlmeVN0YWNrZnJhbWUodm9pZCogYWRkcikKK3sK
KyNpZiBPUyhEQVJXSU4pIG9yIE9TKExJTlVYKQorICAgIGNvbnN0IGNoYXIqIG1hbmdsZWROYW1l
ID0gMDsKKyAgICBEbF9pbmZvIGluZm87CisgICAgaWYgKGRsYWRkcihhZGRyLCAmaW5mbykgJiYg
aW5mby5kbGlfc25hbWUpCisgICAgICAgIG1hbmdsZWROYW1lID0gaW5mby5kbGlfc25hbWU7CisK
KyAgICBpZiAobWFuZ2xlZE5hbWUpIHsKKyAgICAgICAgY2hhciogY3hhRGVtYW5nbGVkID0gYWJp
OjpfX2N4YV9kZW1hbmdsZShtYW5nbGVkTmFtZSwgMCwgMCwgMCk7CisgICAgICAgIGlmIChjeGFE
ZW1hbmdsZWQpIHsKKyAgICAgICAgICAgIENTdHJpbmcgZGVtYW5nbGVkTmFtZSA9IGN4YURlbWFu
Z2xlZDsKKyAgICAgICAgICAgIGZyZWUoY3hhRGVtYW5nbGVkKTsKKyAgICAgICAgICAgIGN4YURl
bWFuZ2xlZCA9IDA7CisgICAgICAgICAgICByZXR1cm4gZGVtYW5nbGVkTmFtZTsKKyAgICAgICAg
fQorICAgICAgICByZXR1cm4gQ1N0cmluZyhtYW5nbGVkTmFtZSk7CisgICAgfQorI2VuZGlmCisg
ICAgcmV0dXJuIENTdHJpbmcoKTsKK30KKworfSAvLyBhbm9uIG5hbWVzcGFjZQorCiBleHRlcm4g
IkMiIHsKIAogV1RGX0FUVFJJQlVURV9QUklOVEYoMSwgMCkKQEAgLTE0MCw2ICsxNjgsOCBAQCBz
dGF0aWMgdm9pZCBwcmludENhbGxTaXRlKGNvbnN0IGNoYXIqIGZpbGUsIGludCBsaW5lLCBjb25z
dCBjaGFyKiBmdW5jdGlvbikKICNlbmRpZgogfQogCisKKwogdm9pZCBXVEZSZXBvcnRBc3NlcnRp
b25GYWlsdXJlKGNvbnN0IGNoYXIqIGZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyKiBmdW5jdGlv
biwgY29uc3QgY2hhciogYXNzZXJ0aW9uKQogewogICAgIGlmIChhc3NlcnRpb24pCkBAIC0xNjYs
MzIgKzE5NiwzMCBAQCB2b2lkIFdURlJlcG9ydEFyZ3VtZW50QXNzZXJ0aW9uRmFpbHVyZShjb25z
dCBjaGFyKiBmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciogZgogICAgIHByaW50Q2FsbFNpdGUo
ZmlsZSwgbGluZSwgZnVuY3Rpb24pOwogfQogCit2b2lkIFdURkdldEJhY2t0cmFjZSh2b2lkKiog
c3RhY2ssIGludCogc2l6ZSkKK3sKKyNpZiBPUyhEQVJXSU4pIHx8IE9TKExJTlVYKQorICAgICpz
aXplID0gYmFja3RyYWNlKHN0YWNrLCAqc2l6ZSk7CisjZWxpZiBPUyhXSU5ET1dTKQorICAgICpz
aXplID0gQ2FwdHVyZVN0YWNrQmFja1RyYWNlKDIsICpzaXplLCBzdGFjaywgMCk7CisjZWxzZQor
ICAgICpzaXplID0gMDsKKyNlbmRpZgorfQorCiB2b2lkIFdURlJlcG9ydEJhY2t0cmFjZSgpCiB7
Ci0jaWYgUExBVEZPUk0oTUFDKQotICAgIHN0YXRpYyBjb25zdCBpbnQgbWF4RnJhbWVzID0gMzI7
CisgICAgZW51bSB7IG1heEZyYW1lcyA9IDMyIH07CiAgICAgdm9pZCogc2FtcGxlc1ttYXhGcmFt
ZXNdOwotICAgIGludCBmcmFtZXMgPSBiYWNrdHJhY2Uoc2FtcGxlcywgbWF4RnJhbWVzKTsKLQor
ICAgIGludCBmcmFtZXMgPSBtYXhGcmFtZXM7CisgICAgV1RGR2V0QmFja3RyYWNlKHNhbXBsZXMs
ICZmcmFtZXMpOwogICAgIGZvciAoaW50IGkgPSAxOyBpIDwgZnJhbWVzOyArK2kpIHsKLSAgICAg
ICAgdm9pZCogcG9pbnRlciA9IHNhbXBsZXNbaV07Ci0KLSAgICAgICAgLy8gVHJ5IHRvIGdldCBh
IHN5bWJvbCBuYW1lIGZyb20gdGhlIGR5bmFtaWMgbGlua2VyLgotICAgICAgICBEbF9pbmZvIGlu
Zm87Ci0gICAgICAgIGlmIChkbGFkZHIocG9pbnRlciwgJmluZm8pICYmIGluZm8uZGxpX3NuYW1l
KSB7Ci0gICAgICAgICAgICBjb25zdCBjaGFyKiBtYW5nbGVkTmFtZSA9IGluZm8uZGxpX3NuYW1l
OwotCi0gICAgICAgICAgICAvLyBBc3N1bWUgYysrICYgdHJ5IHRvIGRlbWFuZ2xlIHRoZSBuYW1l
LgotICAgICAgICAgICAgY2hhciogZGVtYW5nbGVkTmFtZSA9IGFiaTo6X19jeGFfZGVtYW5nbGUo
bWFuZ2xlZE5hbWUsIDAsIDAsIDApOwotICAgICAgICAgICAgaWYgKGRlbWFuZ2xlZE5hbWUpIHsK
LSAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIiUtM2QgJXNcbiIsIGksIGRlbWFuZ2xl
ZE5hbWUpOwotICAgICAgICAgICAgICAgIGZyZWUoZGVtYW5nbGVkTmFtZSk7Ci0gICAgICAgICAg
ICB9IGVsc2UKLSAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIiUtM2QgJXNcbiIsIGks
IG1hbmdsZWROYW1lKTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBmcHJpbnRmKHN0ZGVy
ciwgIiUtM2QgJXBcbiIsIGksIHBvaW50ZXIpOworICAgICAgICBDU3RyaW5nIHByZXR0eSA9IHBy
ZXR0aWZ5U3RhY2tmcmFtZShzYW1wbGVzW2ldKTsKKyAgICAgICAgaWYgKCFwcmV0dHkuaXNOdWxs
KCkpCisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIiUtM2QgJXAgJXNcbiIsIGksIHNhbXBs
ZXNbaV0sIHByZXR0eS5kYXRhKCkpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBmcHJpbnRm
KHN0ZGVyciwgIiUtM2QgJXBcbiIsIGksIHNhbXBsZXNbaV0pOwogICAgIH0KLSNlbmRpZgogfQog
CiB2b2lkIFdURlJlcG9ydEZhdGFsRXJyb3IoY29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNv
bnN0IGNoYXIqIGZ1bmN0aW9uLCBjb25zdCBjaGFyKiBmb3JtYXQsIC4uLikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQXNzZXJ0aW9ucy5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9Bc3NlcnRpb25zLmgKaW5kZXggMzBmZTYwZmYzZjc1NDc2NmYxZTJlNzlkMWMy
MDViY2EwZjFkMDhlNS4uYWU5YzUxMDAwYjdhZmQ2YjhkZDExNjEyOTNkYWE1NDc0NmJjZjMyOSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRpb25zLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRpb25zLmgKQEAgLTE0NCwxMiArMTQ0LDE1
IEBAIHR5cGVkZWYgc3RydWN0IHsKIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURlJlcG9ydEFz
c2VydGlvbkZhaWx1cmUoY29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIqIGZ1
bmN0aW9uLCBjb25zdCBjaGFyKiBhc3NlcnRpb24pOwogV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQg
V1RGUmVwb3J0QXNzZXJ0aW9uRmFpbHVyZVdpdGhNZXNzYWdlKGNvbnN0IGNoYXIqIGZpbGUsIGlu
dCBsaW5lLCBjb25zdCBjaGFyKiBmdW5jdGlvbiwgY29uc3QgY2hhciogYXNzZXJ0aW9uLCBjb25z
dCBjaGFyKiBmb3JtYXQsIC4uLikgV1RGX0FUVFJJQlVURV9QUklOVEYoNSwgNik7CiBXVEZfRVhQ
T1JUX1BSSVZBVEUgdm9pZCBXVEZSZXBvcnRBcmd1bWVudEFzc2VydGlvbkZhaWx1cmUoY29uc3Qg
Y2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uLCBjb25zdCBjaGFyKiBh
cmdOYW1lLCBjb25zdCBjaGFyKiBhc3NlcnRpb24pOwotV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQg
V1RGUmVwb3J0QmFja3RyYWNlKCk7CiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZSZXBvcnRG
YXRhbEVycm9yKGNvbnN0IGNoYXIqIGZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyKiBmdW5jdGlv
biwgY29uc3QgY2hhciogZm9ybWF0LCAuLi4pIFdURl9BVFRSSUJVVEVfUFJJTlRGKDQsIDUpOwog
V1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgV1RGUmVwb3J0RXJyb3IoY29uc3QgY2hhciogZmlsZSwg
aW50IGxpbmUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uLCBjb25zdCBjaGFyKiBmb3JtYXQsIC4uLikg
V1RGX0FUVFJJQlVURV9QUklOVEYoNCwgNSk7CiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZM
b2coV1RGTG9nQ2hhbm5lbCosIGNvbnN0IGNoYXIqIGZvcm1hdCwgLi4uKSBXVEZfQVRUUklCVVRF
X1BSSU5URigyLCAzKTsKIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURkxvZ1ZlcmJvc2UoY29u
c3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uLCBXVEZMb2dDaGFu
bmVsKiwgY29uc3QgY2hhciogZm9ybWF0LCAuLi4pIFdURl9BVFRSSUJVVEVfUFJJTlRGKDUsIDYp
OwogCitXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZHZXRCYWNrdHJhY2Uodm9pZCoqIHN0YWNr
LCBpbnQqIHNpemUpOworV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgV1RGUmVwb3J0QmFja3RyYWNl
KCk7CisKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109187</attachid>
            <date>2011-09-29 12:31:33 -0700</date>
            <delta_ts>2011-09-29 13:05:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69018-20110929153131.patch</filename>
            <type>text/plain</type>
            <size>5765</size>
            <attacher name="Gavin Peters">gavinp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTU4MDIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGYz
M2Y2NTQ5MDhlZDkzMTVmZGJmNTMxOWI5ZDM2Mjg1ODFlYjk0NWIuLjZlNmM5Y2E2MjU5ZjZkM2M1
NDVkNjNmZTg1ZGE4Yzc3YjYzM2Y5M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE4IEBACisyMDExLTA5LTI4ICBHYXZpbiBQZXRlcnMgIDxnYXZpbnBAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIGFkZCBtb3JlIHN0YWNrIGR1bXBpbmcgbWV0aG9kcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwMTgKKworICAgICAgICBJbiBh
ZGRpdGlvbiB0byBXVEZSZXBvcnRCYWNrdHJhY2UsIHRoaXMgYWRkcyB0aGUgY3Jvc3MtcGxhdGZv
cm0gV1RGR2V0QmFja3RyYWNlLCB3aGljaCBsZXRzCisgICAgICAgIFdlYktpdCBwcm9ncmFtbWF0
aWNhbGx5IHJldHJpZXZlIHRoZSBjdXJyZW50IHN0YWNrLiAgVGhpcyBpcyB1c2VmdWwgaWYgeW91
IG5lZWQgdG8gYWRkIG1vcmUKKyAgICAgICAgcmVwb3J0aW5nIHRvIGZpZWxkIGNyYXNoIHJlcG9y
dCB1cGxvYWRzLCBpZiB5b3UncmUgdHJhY2tpbmcgZG93biBhbiBpcnJlcHJvZHVjYWJsZSBidWcs
CisgICAgICAgIGZvciBpbnN0YW5jZS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHd0Zi9Bc3NlcnRpb25zLmNwcDoKKyAgICAgICAgKiB3dGYvQXNz
ZXJ0aW9ucy5oOgorCiAyMDExLTA5LTIyICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+
CiAKICAgICAgICAgR2V0U2NvcGVkVmFyIHNob3VsZCBoYXZlIHZhbHVlIHByb2ZpbGluZwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRpb25zLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvQXNzZXJ0aW9ucy5jcHAKaW5kZXggODhkYzYxYThkMTZkNmI3
MTMzNjQ5Y2RkNjAxYzI2MTE5NWRkYTFkNi4uNDk0NjU1Y2IyYzIwZmNlOTg2MTUwMzFmNmUyNmQ3
ZjdhNzQxY2RjMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRp
b25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuY3BwCkBA
IC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSA8c3RkaW8uaD4KICNpbmNsdWRlIDxzdGRhcmcuaD4K
ICNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKICNp
ZiBQTEFURk9STShNQUMpCiAjaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ0ZTdHJpbmcuaD4KQEAg
LTQ2LDE1ICs0Nyw0MSBAQAogI2VuZGlmCiAKICNpZiBPUyhXSU5ET1dTKQorI2luY2x1ZGUgPHdp
bmJhc2UuaD4KICNpbmNsdWRlIDx3aW5kb3dzLmg+CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKE1B
QykKKyNpZiBPUyhEQVJXSU4pIHx8IE9TKExJTlVYKQogI2luY2x1ZGUgPGN4eGFiaS5oPgogI2lu
Y2x1ZGUgPGRsZmNuLmg+CiAjaW5jbHVkZSA8ZXhlY2luZm8uaD4KICNlbmRpZgogCituYW1lc3Bh
Y2UgeworCitzdGF0aWMgQ1N0cmluZyBwcmV0dGlmeVN0YWNrZnJhbWUodm9pZCogYWRkcikKK3sK
KyNpZiBPUyhEQVJXSU4pIG9yIE9TKExJTlVYKQorICAgIGNvbnN0IGNoYXIqIG1hbmdsZWROYW1l
ID0gMDsKKyAgICBEbF9pbmZvIGluZm87CisgICAgaWYgKGRsYWRkcihhZGRyLCAmaW5mbykgJiYg
aW5mby5kbGlfc25hbWUpCisgICAgICAgIG1hbmdsZWROYW1lID0gaW5mby5kbGlfc25hbWU7CisK
KyAgICBpZiAobWFuZ2xlZE5hbWUpIHsKKyAgICAgICAgY2hhciogY3hhRGVtYW5nbGVkID0gYWJp
OjpfX2N4YV9kZW1hbmdsZShtYW5nbGVkTmFtZSwgMCwgMCwgMCk7CisgICAgICAgIGlmIChjeGFE
ZW1hbmdsZWQpIHsKKyAgICAgICAgICAgIENTdHJpbmcgZGVtYW5nbGVkTmFtZSA9IGN4YURlbWFu
Z2xlZDsKKyAgICAgICAgICAgIGZyZWUoY3hhRGVtYW5nbGVkKTsKKyAgICAgICAgICAgIHJldHVy
biBkZW1hbmdsZWROYW1lOworICAgICAgICB9CisgICAgICAgIHJldHVybiBDU3RyaW5nKG1hbmds
ZWROYW1lKTsKKyAgICB9CisjZW5kaWYKKyAgICByZXR1cm4gQ1N0cmluZygpOworfQorCit9IC8v
IGFub24gbmFtZXNwYWNlCisKIGV4dGVybiAiQyIgewogCiBXVEZfQVRUUklCVVRFX1BSSU5URigx
LCAwKQpAQCAtMTQwLDYgKzE2Nyw4IEBAIHN0YXRpYyB2b2lkIHByaW50Q2FsbFNpdGUoY29uc3Qg
Y2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uKQogI2VuZGlmCiB9CiAK
KworCiB2b2lkIFdURlJlcG9ydEFzc2VydGlvbkZhaWx1cmUoY29uc3QgY2hhciogZmlsZSwgaW50
IGxpbmUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uLCBjb25zdCBjaGFyKiBhc3NlcnRpb24pCiB7CiAg
ICAgaWYgKGFzc2VydGlvbikKQEAgLTE2NiwzMiArMTk1LDMwIEBAIHZvaWQgV1RGUmVwb3J0QXJn
dW1lbnRBc3NlcnRpb25GYWlsdXJlKGNvbnN0IGNoYXIqIGZpbGUsIGludCBsaW5lLCBjb25zdCBj
aGFyKiBmCiAgICAgcHJpbnRDYWxsU2l0ZShmaWxlLCBsaW5lLCBmdW5jdGlvbik7CiB9CiAKK3Zv
aWQgV1RGR2V0QmFja3RyYWNlKHZvaWQqKiBzdGFjaywgaW50KiBzaXplKQoreworI2lmIE9TKERB
UldJTikgfHwgT1MoTElOVVgpCisgICAgKnNpemUgPSBiYWNrdHJhY2Uoc3RhY2ssICpzaXplKTsK
KyNlbGlmIE9TKFdJTkRPV1MpCisgICAgKnNpemUgPSBDYXB0dXJlU3RhY2tCYWNrVHJhY2UoMiwg
KnNpemUsIHN0YWNrLCAwKTsKKyNlbHNlCisgICAgKnNpemUgPSAwOworI2VuZGlmCit9CisKIHZv
aWQgV1RGUmVwb3J0QmFja3RyYWNlKCkKIHsKLSNpZiBQTEFURk9STShNQUMpCi0gICAgc3RhdGlj
IGNvbnN0IGludCBtYXhGcmFtZXMgPSAzMjsKKyAgICBlbnVtIHsgbWF4RnJhbWVzID0gMzIgfTsK
ICAgICB2b2lkKiBzYW1wbGVzW21heEZyYW1lc107Ci0gICAgaW50IGZyYW1lcyA9IGJhY2t0cmFj
ZShzYW1wbGVzLCBtYXhGcmFtZXMpOwotCisgICAgaW50IGZyYW1lcyA9IG1heEZyYW1lczsKKyAg
ICBXVEZHZXRCYWNrdHJhY2Uoc2FtcGxlcywgJmZyYW1lcyk7CiAgICAgZm9yIChpbnQgaSA9IDE7
IGkgPCBmcmFtZXM7ICsraSkgewotICAgICAgICB2b2lkKiBwb2ludGVyID0gc2FtcGxlc1tpXTsK
LQotICAgICAgICAvLyBUcnkgdG8gZ2V0IGEgc3ltYm9sIG5hbWUgZnJvbSB0aGUgZHluYW1pYyBs
aW5rZXIuCi0gICAgICAgIERsX2luZm8gaW5mbzsKLSAgICAgICAgaWYgKGRsYWRkcihwb2ludGVy
LCAmaW5mbykgJiYgaW5mby5kbGlfc25hbWUpIHsKLSAgICAgICAgICAgIGNvbnN0IGNoYXIqIG1h
bmdsZWROYW1lID0gaW5mby5kbGlfc25hbWU7Ci0KLSAgICAgICAgICAgIC8vIEFzc3VtZSBjKysg
JiB0cnkgdG8gZGVtYW5nbGUgdGhlIG5hbWUuCi0gICAgICAgICAgICBjaGFyKiBkZW1hbmdsZWRO
YW1lID0gYWJpOjpfX2N4YV9kZW1hbmdsZShtYW5nbGVkTmFtZSwgMCwgMCwgMCk7Ci0gICAgICAg
ICAgICBpZiAoZGVtYW5nbGVkTmFtZSkgewotICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJy
LCAiJS0zZCAlc1xuIiwgaSwgZGVtYW5nbGVkTmFtZSk7Ci0gICAgICAgICAgICAgICAgZnJlZShk
ZW1hbmdsZWROYW1lKTsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIGZwcmlu
dGYoc3RkZXJyLCAiJS0zZCAlc1xuIiwgaSwgbWFuZ2xlZE5hbWUpOwotICAgICAgICB9IGVsc2UK
LSAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiJS0zZCAlcFxuIiwgaSwgcG9pbnRlcik7Cisg
ICAgICAgIENTdHJpbmcgcHJldHR5ID0gcHJldHRpZnlTdGFja2ZyYW1lKHNhbXBsZXNbaV0pOwor
ICAgICAgICBpZiAoIXByZXR0eS5pc051bGwoKSkKKyAgICAgICAgICAgIGZwcmludGYoc3RkZXJy
LCAiJS0zZCAlcCAlc1xuIiwgaSwgc2FtcGxlc1tpXSwgcHJldHR5LmRhdGEoKSk7CisgICAgICAg
IGVsc2UKKyAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiJS0zZCAlcFxuIiwgaSwgc2FtcGxl
c1tpXSk7CiAgICAgfQotI2VuZGlmCiB9CiAKIHZvaWQgV1RGUmVwb3J0RmF0YWxFcnJvcihjb25z
dCBjaGFyKiBmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciogZnVuY3Rpb24sIGNvbnN0IGNoYXIq
IGZvcm1hdCwgLi4uKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Bc3Nl
cnRpb25zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuaAppbmRleCAz
MGZlNjBmZjNmNzU0NzY2ZjFlMmU3OWQxYzIwNWJjYTBmMWQwOGU1Li5hZTljNTEwMDBiN2FmZDZi
OGRkMTE2MTI5M2RhYTU0NzQ2YmNmMzI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL0Fzc2VydGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Fzc2Vy
dGlvbnMuaApAQCAtMTQ0LDEyICsxNDQsMTUgQEAgdHlwZWRlZiBzdHJ1Y3QgewogV1RGX0VYUE9S
VF9QUklWQVRFIHZvaWQgV1RGUmVwb3J0QXNzZXJ0aW9uRmFpbHVyZShjb25zdCBjaGFyKiBmaWxl
LCBpbnQgbGluZSwgY29uc3QgY2hhciogZnVuY3Rpb24sIGNvbnN0IGNoYXIqIGFzc2VydGlvbik7
CiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZSZXBvcnRBc3NlcnRpb25GYWlsdXJlV2l0aE1l
c3NhZ2UoY29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uLCBj
b25zdCBjaGFyKiBhc3NlcnRpb24sIGNvbnN0IGNoYXIqIGZvcm1hdCwgLi4uKSBXVEZfQVRUUklC
VVRFX1BSSU5URig1LCA2KTsKIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURlJlcG9ydEFyZ3Vt
ZW50QXNzZXJ0aW9uRmFpbHVyZShjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hh
ciogZnVuY3Rpb24sIGNvbnN0IGNoYXIqIGFyZ05hbWUsIGNvbnN0IGNoYXIqIGFzc2VydGlvbik7
Ci1XVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZSZXBvcnRCYWNrdHJhY2UoKTsKIFdURl9FWFBP
UlRfUFJJVkFURSB2b2lkIFdURlJlcG9ydEZhdGFsRXJyb3IoY29uc3QgY2hhciogZmlsZSwgaW50
IGxpbmUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uLCBjb25zdCBjaGFyKiBmb3JtYXQsIC4uLikgV1RG
X0FUVFJJQlVURV9QUklOVEYoNCwgNSk7CiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZSZXBv
cnRFcnJvcihjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciogZnVuY3Rpb24s
IGNvbnN0IGNoYXIqIGZvcm1hdCwgLi4uKSBXVEZfQVRUUklCVVRFX1BSSU5URig0LCA1KTsKIFdU
Rl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURkxvZyhXVEZMb2dDaGFubmVsKiwgY29uc3QgY2hhciog
Zm9ybWF0LCAuLi4pIFdURl9BVFRSSUJVVEVfUFJJTlRGKDIsIDMpOwogV1RGX0VYUE9SVF9QUklW
QVRFIHZvaWQgV1RGTG9nVmVyYm9zZShjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSwgY29uc3Qg
Y2hhciogZnVuY3Rpb24sIFdURkxvZ0NoYW5uZWwqLCBjb25zdCBjaGFyKiBmb3JtYXQsIC4uLikg
V1RGX0FUVFJJQlVURV9QUklOVEYoNSwgNik7CiAKK1dURl9FWFBPUlRfUFJJVkFURSB2b2lkIFdU
RkdldEJhY2t0cmFjZSh2b2lkKiogc3RhY2ssIGludCogc2l6ZSk7CitXVEZfRVhQT1JUX1BSSVZB
VEUgdm9pZCBXVEZSZXBvcnRCYWNrdHJhY2UoKTsKKworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0K
ICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109193</attachid>
            <date>2011-09-29 13:05:34 -0700</date>
            <delta_ts>2011-09-29 13:10:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69018-20110929160532.patch</filename>
            <type>text/plain</type>
            <size>5783</size>
            <attacher name="Gavin Peters">gavinp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTU4MDIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGYz
M2Y2NTQ5MDhlZDkzMTVmZGJmNTMxOWI5ZDM2Mjg1ODFlYjk0NWIuLjZlNmM5Y2E2MjU5ZjZkM2M1
NDVkNjNmZTg1ZGE4Yzc3YjYzM2Y5M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE4IEBACisyMDExLTA5LTI4ICBHYXZpbiBQZXRlcnMgIDxnYXZpbnBAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIGFkZCBtb3JlIHN0YWNrIGR1bXBpbmcgbWV0aG9kcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwMTgKKworICAgICAgICBJbiBh
ZGRpdGlvbiB0byBXVEZSZXBvcnRCYWNrdHJhY2UsIHRoaXMgYWRkcyB0aGUgY3Jvc3MtcGxhdGZv
cm0gV1RGR2V0QmFja3RyYWNlLCB3aGljaCBsZXRzCisgICAgICAgIFdlYktpdCBwcm9ncmFtbWF0
aWNhbGx5IHJldHJpZXZlIHRoZSBjdXJyZW50IHN0YWNrLiAgVGhpcyBpcyB1c2VmdWwgaWYgeW91
IG5lZWQgdG8gYWRkIG1vcmUKKyAgICAgICAgcmVwb3J0aW5nIHRvIGZpZWxkIGNyYXNoIHJlcG9y
dCB1cGxvYWRzLCBpZiB5b3UncmUgdHJhY2tpbmcgZG93biBhbiBpcnJlcHJvZHVjYWJsZSBidWcs
CisgICAgICAgIGZvciBpbnN0YW5jZS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHd0Zi9Bc3NlcnRpb25zLmNwcDoKKyAgICAgICAgKiB3dGYvQXNz
ZXJ0aW9ucy5oOgorCiAyMDExLTA5LTIyICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+
CiAKICAgICAgICAgR2V0U2NvcGVkVmFyIHNob3VsZCBoYXZlIHZhbHVlIHByb2ZpbGluZwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRpb25zLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvQXNzZXJ0aW9ucy5jcHAKaW5kZXggODhkYzYxYThkMTZkNmI3
MTMzNjQ5Y2RkNjAxYzI2MTE5NWRkYTFkNi4uYWNhODc2NTFlM2Q4YWYxNTQxZGQ4OWY1YzA5NzRi
OGE5YTEyNmVhOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRp
b25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuY3BwCkBA
IC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSA8c3RkaW8uaD4KICNpbmNsdWRlIDxzdGRhcmcuaD4K
ICNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKICNp
ZiBQTEFURk9STShNQUMpCiAjaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ0ZTdHJpbmcuaD4KQEAg
LTQ2LDE1ICs0Nyw0MSBAQAogI2VuZGlmCiAKICNpZiBPUyhXSU5ET1dTKQorI2luY2x1ZGUgPHdp
bmJhc2UuaD4KICNpbmNsdWRlIDx3aW5kb3dzLmg+CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKE1B
QykKKyNpZiBPUyhEQVJXSU4pIHx8IE9TKExJTlVYKQogI2luY2x1ZGUgPGN4eGFiaS5oPgogI2lu
Y2x1ZGUgPGRsZmNuLmg+CiAjaW5jbHVkZSA8ZXhlY2luZm8uaD4KICNlbmRpZgogCituYW1lc3Bh
Y2UgeworCitzdGF0aWMgQ1N0cmluZyBwcmV0dGlmeVN0YWNrZnJhbWUodm9pZCogYWRkcikKK3sK
KyNpZiBPUyhEQVJXSU4pIG9yIE9TKExJTlVYKSBhbmQgIVBMQVRGT1JNKFFUKQorICAgIGNvbnN0
IGNoYXIqIG1hbmdsZWROYW1lID0gMDsKKyAgICBEbF9pbmZvIGluZm87CisgICAgaWYgKGRsYWRk
cihhZGRyLCAmaW5mbykgJiYgaW5mby5kbGlfc25hbWUpCisgICAgICAgIG1hbmdsZWROYW1lID0g
aW5mby5kbGlfc25hbWU7CisKKyAgICBpZiAobWFuZ2xlZE5hbWUpIHsKKyAgICAgICAgY2hhciog
Y3hhRGVtYW5nbGVkID0gYWJpOjpfX2N4YV9kZW1hbmdsZShtYW5nbGVkTmFtZSwgMCwgMCwgMCk7
CisgICAgICAgIGlmIChjeGFEZW1hbmdsZWQpIHsKKyAgICAgICAgICAgIENTdHJpbmcgZGVtYW5n
bGVkTmFtZSA9IGN4YURlbWFuZ2xlZDsKKyAgICAgICAgICAgIGZyZWUoY3hhRGVtYW5nbGVkKTsK
KyAgICAgICAgICAgIHJldHVybiBkZW1hbmdsZWROYW1lOworICAgICAgICB9CisgICAgICAgIHJl
dHVybiBDU3RyaW5nKG1hbmdsZWROYW1lKTsKKyAgICB9CisjZW5kaWYKKyAgICByZXR1cm4gQ1N0
cmluZygpOworfQorCit9IC8vIGFub24gbmFtZXNwYWNlCisKIGV4dGVybiAiQyIgewogCiBXVEZf
QVRUUklCVVRFX1BSSU5URigxLCAwKQpAQCAtMTQwLDYgKzE2Nyw4IEBAIHN0YXRpYyB2b2lkIHBy
aW50Q2FsbFNpdGUoY29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIqIGZ1bmN0
aW9uKQogI2VuZGlmCiB9CiAKKworCiB2b2lkIFdURlJlcG9ydEFzc2VydGlvbkZhaWx1cmUoY29u
c3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uLCBjb25zdCBjaGFy
KiBhc3NlcnRpb24pCiB7CiAgICAgaWYgKGFzc2VydGlvbikKQEAgLTE2NiwzMiArMTk1LDMwIEBA
IHZvaWQgV1RGUmVwb3J0QXJndW1lbnRBc3NlcnRpb25GYWlsdXJlKGNvbnN0IGNoYXIqIGZpbGUs
IGludCBsaW5lLCBjb25zdCBjaGFyKiBmCiAgICAgcHJpbnRDYWxsU2l0ZShmaWxlLCBsaW5lLCBm
dW5jdGlvbik7CiB9CiAKK3ZvaWQgV1RGR2V0QmFja3RyYWNlKHZvaWQqKiBzdGFjaywgaW50KiBz
aXplKQoreworI2lmIE9TKERBUldJTikgfHwgT1MoTElOVVgpCisgICAgKnNpemUgPSBiYWNrdHJh
Y2Uoc3RhY2ssICpzaXplKTsKKyNlbGlmIE9TKFdJTkRPV1MpCisgICAgKnNpemUgPSBDYXB0dXJl
U3RhY2tCYWNrVHJhY2UoMiwgKnNpemUsIHN0YWNrLCAwKTsKKyNlbHNlCisgICAgKnNpemUgPSAw
OworI2VuZGlmCit9CisKIHZvaWQgV1RGUmVwb3J0QmFja3RyYWNlKCkKIHsKLSNpZiBQTEFURk9S
TShNQUMpCi0gICAgc3RhdGljIGNvbnN0IGludCBtYXhGcmFtZXMgPSAzMjsKKyAgICBlbnVtIHsg
bWF4RnJhbWVzID0gMzIgfTsKICAgICB2b2lkKiBzYW1wbGVzW21heEZyYW1lc107Ci0gICAgaW50
IGZyYW1lcyA9IGJhY2t0cmFjZShzYW1wbGVzLCBtYXhGcmFtZXMpOwotCisgICAgaW50IGZyYW1l
cyA9IG1heEZyYW1lczsKKyAgICBXVEZHZXRCYWNrdHJhY2Uoc2FtcGxlcywgJmZyYW1lcyk7CiAg
ICAgZm9yIChpbnQgaSA9IDE7IGkgPCBmcmFtZXM7ICsraSkgewotICAgICAgICB2b2lkKiBwb2lu
dGVyID0gc2FtcGxlc1tpXTsKLQotICAgICAgICAvLyBUcnkgdG8gZ2V0IGEgc3ltYm9sIG5hbWUg
ZnJvbSB0aGUgZHluYW1pYyBsaW5rZXIuCi0gICAgICAgIERsX2luZm8gaW5mbzsKLSAgICAgICAg
aWYgKGRsYWRkcihwb2ludGVyLCAmaW5mbykgJiYgaW5mby5kbGlfc25hbWUpIHsKLSAgICAgICAg
ICAgIGNvbnN0IGNoYXIqIG1hbmdsZWROYW1lID0gaW5mby5kbGlfc25hbWU7Ci0KLSAgICAgICAg
ICAgIC8vIEFzc3VtZSBjKysgJiB0cnkgdG8gZGVtYW5nbGUgdGhlIG5hbWUuCi0gICAgICAgICAg
ICBjaGFyKiBkZW1hbmdsZWROYW1lID0gYWJpOjpfX2N4YV9kZW1hbmdsZShtYW5nbGVkTmFtZSwg
MCwgMCwgMCk7Ci0gICAgICAgICAgICBpZiAoZGVtYW5nbGVkTmFtZSkgewotICAgICAgICAgICAg
ICAgIGZwcmludGYoc3RkZXJyLCAiJS0zZCAlc1xuIiwgaSwgZGVtYW5nbGVkTmFtZSk7Ci0gICAg
ICAgICAgICAgICAgZnJlZShkZW1hbmdsZWROYW1lKTsKLSAgICAgICAgICAgIH0gZWxzZQotICAg
ICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiJS0zZCAlc1xuIiwgaSwgbWFuZ2xlZE5hbWUp
OwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiJS0zZCAlcFxu
IiwgaSwgcG9pbnRlcik7CisgICAgICAgIENTdHJpbmcgcHJldHR5ID0gcHJldHRpZnlTdGFja2Zy
YW1lKHNhbXBsZXNbaV0pOworICAgICAgICBpZiAoIXByZXR0eS5pc051bGwoKSkKKyAgICAgICAg
ICAgIGZwcmludGYoc3RkZXJyLCAiJS0zZCAlcCAlc1xuIiwgaSwgc2FtcGxlc1tpXSwgcHJldHR5
LmRhdGEoKSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiJS0z
ZCAlcFxuIiwgaSwgc2FtcGxlc1tpXSk7CiAgICAgfQotI2VuZGlmCiB9CiAKIHZvaWQgV1RGUmVw
b3J0RmF0YWxFcnJvcihjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciogZnVu
Y3Rpb24sIGNvbnN0IGNoYXIqIGZvcm1hdCwgLi4uKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi9Bc3NlcnRpb25zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Fz
c2VydGlvbnMuaAppbmRleCAzMGZlNjBmZjNmNzU0NzY2ZjFlMmU3OWQxYzIwNWJjYTBmMWQwOGU1
Li5hZTljNTEwMDBiN2FmZDZiOGRkMTE2MTI5M2RhYTU0NzQ2YmNmMzI5IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuaApAQCAtMTQ0LDEyICsxNDQsMTUgQEAgdHlwZWRlZiBz
dHJ1Y3QgewogV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgV1RGUmVwb3J0QXNzZXJ0aW9uRmFpbHVy
ZShjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciogZnVuY3Rpb24sIGNvbnN0
IGNoYXIqIGFzc2VydGlvbik7CiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZSZXBvcnRBc3Nl
cnRpb25GYWlsdXJlV2l0aE1lc3NhZ2UoY29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0
IGNoYXIqIGZ1bmN0aW9uLCBjb25zdCBjaGFyKiBhc3NlcnRpb24sIGNvbnN0IGNoYXIqIGZvcm1h
dCwgLi4uKSBXVEZfQVRUUklCVVRFX1BSSU5URig1LCA2KTsKIFdURl9FWFBPUlRfUFJJVkFURSB2
b2lkIFdURlJlcG9ydEFyZ3VtZW50QXNzZXJ0aW9uRmFpbHVyZShjb25zdCBjaGFyKiBmaWxlLCBp
bnQgbGluZSwgY29uc3QgY2hhciogZnVuY3Rpb24sIGNvbnN0IGNoYXIqIGFyZ05hbWUsIGNvbnN0
IGNoYXIqIGFzc2VydGlvbik7Ci1XVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZSZXBvcnRCYWNr
dHJhY2UoKTsKIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURlJlcG9ydEZhdGFsRXJyb3IoY29u
c3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uLCBjb25zdCBjaGFy
KiBmb3JtYXQsIC4uLikgV1RGX0FUVFJJQlVURV9QUklOVEYoNCwgNSk7CiBXVEZfRVhQT1JUX1BS
SVZBVEUgdm9pZCBXVEZSZXBvcnRFcnJvcihjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSwgY29u
c3QgY2hhciogZnVuY3Rpb24sIGNvbnN0IGNoYXIqIGZvcm1hdCwgLi4uKSBXVEZfQVRUUklCVVRF
X1BSSU5URig0LCA1KTsKIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURkxvZyhXVEZMb2dDaGFu
bmVsKiwgY29uc3QgY2hhciogZm9ybWF0LCAuLi4pIFdURl9BVFRSSUJVVEVfUFJJTlRGKDIsIDMp
OwogV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgV1RGTG9nVmVyYm9zZShjb25zdCBjaGFyKiBmaWxl
LCBpbnQgbGluZSwgY29uc3QgY2hhciogZnVuY3Rpb24sIFdURkxvZ0NoYW5uZWwqLCBjb25zdCBj
aGFyKiBmb3JtYXQsIC4uLikgV1RGX0FUVFJJQlVURV9QUklOVEYoNSwgNik7CiAKK1dURl9FWFBP
UlRfUFJJVkFURSB2b2lkIFdURkdldEJhY2t0cmFjZSh2b2lkKiogc3RhY2ssIGludCogc2l6ZSk7
CitXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZSZXBvcnRCYWNrdHJhY2UoKTsKKworCiAjaWZk
ZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109194</attachid>
            <date>2011-09-29 13:10:25 -0700</date>
            <delta_ts>2011-09-30 07:05:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69018-20110929161023.patch</filename>
            <type>text/plain</type>
            <size>5784</size>
            <attacher name="Gavin Peters">gavinp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTU4MDIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGYz
M2Y2NTQ5MDhlZDkzMTVmZGJmNTMxOWI5ZDM2Mjg1ODFlYjk0NWIuLjZlNmM5Y2E2MjU5ZjZkM2M1
NDVkNjNmZTg1ZGE4Yzc3YjYzM2Y5M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE4IEBACisyMDExLTA5LTI4ICBHYXZpbiBQZXRlcnMgIDxnYXZpbnBAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIGFkZCBtb3JlIHN0YWNrIGR1bXBpbmcgbWV0aG9kcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwMTgKKworICAgICAgICBJbiBh
ZGRpdGlvbiB0byBXVEZSZXBvcnRCYWNrdHJhY2UsIHRoaXMgYWRkcyB0aGUgY3Jvc3MtcGxhdGZv
cm0gV1RGR2V0QmFja3RyYWNlLCB3aGljaCBsZXRzCisgICAgICAgIFdlYktpdCBwcm9ncmFtbWF0
aWNhbGx5IHJldHJpZXZlIHRoZSBjdXJyZW50IHN0YWNrLiAgVGhpcyBpcyB1c2VmdWwgaWYgeW91
IG5lZWQgdG8gYWRkIG1vcmUKKyAgICAgICAgcmVwb3J0aW5nIHRvIGZpZWxkIGNyYXNoIHJlcG9y
dCB1cGxvYWRzLCBpZiB5b3UncmUgdHJhY2tpbmcgZG93biBhbiBpcnJlcHJvZHVjYWJsZSBidWcs
CisgICAgICAgIGZvciBpbnN0YW5jZS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHd0Zi9Bc3NlcnRpb25zLmNwcDoKKyAgICAgICAgKiB3dGYvQXNz
ZXJ0aW9ucy5oOgorCiAyMDExLTA5LTIyICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+
CiAKICAgICAgICAgR2V0U2NvcGVkVmFyIHNob3VsZCBoYXZlIHZhbHVlIHByb2ZpbGluZwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRpb25zLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvQXNzZXJ0aW9ucy5jcHAKaW5kZXggODhkYzYxYThkMTZkNmI3
MTMzNjQ5Y2RkNjAxYzI2MTE5NWRkYTFkNi4uOWZiNDVkODA2MmJmNWQ2OTliNjgyYzQ5YTEwMDc0
ODRmOWJmMWVlMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRp
b25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuY3BwCkBA
IC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSA8c3RkaW8uaD4KICNpbmNsdWRlIDxzdGRhcmcuaD4K
ICNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKICNp
ZiBQTEFURk9STShNQUMpCiAjaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ0ZTdHJpbmcuaD4KQEAg
LTQ2LDE1ICs0Nyw0MSBAQAogI2VuZGlmCiAKICNpZiBPUyhXSU5ET1dTKQorI2luY2x1ZGUgPHdp
bmJhc2UuaD4KICNpbmNsdWRlIDx3aW5kb3dzLmg+CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKE1B
QykKKyNpZiBPUyhEQVJXSU4pIHx8IE9TKExJTlVYKQogI2luY2x1ZGUgPGN4eGFiaS5oPgogI2lu
Y2x1ZGUgPGRsZmNuLmg+CiAjaW5jbHVkZSA8ZXhlY2luZm8uaD4KICNlbmRpZgogCituYW1lc3Bh
Y2UgeworCitzdGF0aWMgQ1N0cmluZyBwcmV0dGlmeVN0YWNrZnJhbWUodm9pZCogYWRkcikKK3sK
KyNpZiAhUExBVEZPUk0oUVQpICYmIChPUyhEQVJXSU4pIHx8IE9TKExJTlVYKSkKKyAgICBjb25z
dCBjaGFyKiBtYW5nbGVkTmFtZSA9IDA7CisgICAgRGxfaW5mbyBpbmZvOworICAgIGlmIChkbGFk
ZHIoYWRkciwgJmluZm8pICYmIGluZm8uZGxpX3NuYW1lKQorICAgICAgICBtYW5nbGVkTmFtZSA9
IGluZm8uZGxpX3NuYW1lOworCisgICAgaWYgKG1hbmdsZWROYW1lKSB7CisgICAgICAgIGNoYXIq
IGN4YURlbWFuZ2xlZCA9IGFiaTo6X19jeGFfZGVtYW5nbGUobWFuZ2xlZE5hbWUsIDAsIDAsIDAp
OworICAgICAgICBpZiAoY3hhRGVtYW5nbGVkKSB7CisgICAgICAgICAgICBDU3RyaW5nIGRlbWFu
Z2xlZE5hbWUgPSBjeGFEZW1hbmdsZWQ7CisgICAgICAgICAgICBmcmVlKGN4YURlbWFuZ2xlZCk7
CisgICAgICAgICAgICByZXR1cm4gZGVtYW5nbGVkTmFtZTsKKyAgICAgICAgfQorICAgICAgICBy
ZXR1cm4gQ1N0cmluZyhtYW5nbGVkTmFtZSk7CisgICAgfQorI2VuZGlmCisgICAgcmV0dXJuIENT
dHJpbmcoKTsKK30KKworfSAvLyBhbm9uIG5hbWVzcGFjZQorCiBleHRlcm4gIkMiIHsKIAogV1RG
X0FUVFJJQlVURV9QUklOVEYoMSwgMCkKQEAgLTE0MCw2ICsxNjcsOCBAQCBzdGF0aWMgdm9pZCBw
cmludENhbGxTaXRlKGNvbnN0IGNoYXIqIGZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyKiBmdW5j
dGlvbikKICNlbmRpZgogfQogCisKKwogdm9pZCBXVEZSZXBvcnRBc3NlcnRpb25GYWlsdXJlKGNv
bnN0IGNoYXIqIGZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyKiBmdW5jdGlvbiwgY29uc3QgY2hh
ciogYXNzZXJ0aW9uKQogewogICAgIGlmIChhc3NlcnRpb24pCkBAIC0xNjYsMzIgKzE5NSwzMCBA
QCB2b2lkIFdURlJlcG9ydEFyZ3VtZW50QXNzZXJ0aW9uRmFpbHVyZShjb25zdCBjaGFyKiBmaWxl
LCBpbnQgbGluZSwgY29uc3QgY2hhciogZgogICAgIHByaW50Q2FsbFNpdGUoZmlsZSwgbGluZSwg
ZnVuY3Rpb24pOwogfQogCit2b2lkIFdURkdldEJhY2t0cmFjZSh2b2lkKiogc3RhY2ssIGludCog
c2l6ZSkKK3sKKyNpZiBPUyhEQVJXSU4pIHx8IE9TKExJTlVYKQorICAgICpzaXplID0gYmFja3Ry
YWNlKHN0YWNrLCAqc2l6ZSk7CisjZWxpZiBPUyhXSU5ET1dTKQorICAgICpzaXplID0gQ2FwdHVy
ZVN0YWNrQmFja1RyYWNlKDIsICpzaXplLCBzdGFjaywgMCk7CisjZWxzZQorICAgICpzaXplID0g
MDsKKyNlbmRpZgorfQorCiB2b2lkIFdURlJlcG9ydEJhY2t0cmFjZSgpCiB7Ci0jaWYgUExBVEZP
Uk0oTUFDKQotICAgIHN0YXRpYyBjb25zdCBpbnQgbWF4RnJhbWVzID0gMzI7CisgICAgZW51bSB7
IG1heEZyYW1lcyA9IDMyIH07CiAgICAgdm9pZCogc2FtcGxlc1ttYXhGcmFtZXNdOwotICAgIGlu
dCBmcmFtZXMgPSBiYWNrdHJhY2Uoc2FtcGxlcywgbWF4RnJhbWVzKTsKLQorICAgIGludCBmcmFt
ZXMgPSBtYXhGcmFtZXM7CisgICAgV1RGR2V0QmFja3RyYWNlKHNhbXBsZXMsICZmcmFtZXMpOwog
ICAgIGZvciAoaW50IGkgPSAxOyBpIDwgZnJhbWVzOyArK2kpIHsKLSAgICAgICAgdm9pZCogcG9p
bnRlciA9IHNhbXBsZXNbaV07Ci0KLSAgICAgICAgLy8gVHJ5IHRvIGdldCBhIHN5bWJvbCBuYW1l
IGZyb20gdGhlIGR5bmFtaWMgbGlua2VyLgotICAgICAgICBEbF9pbmZvIGluZm87Ci0gICAgICAg
IGlmIChkbGFkZHIocG9pbnRlciwgJmluZm8pICYmIGluZm8uZGxpX3NuYW1lKSB7Ci0gICAgICAg
ICAgICBjb25zdCBjaGFyKiBtYW5nbGVkTmFtZSA9IGluZm8uZGxpX3NuYW1lOwotCi0gICAgICAg
ICAgICAvLyBBc3N1bWUgYysrICYgdHJ5IHRvIGRlbWFuZ2xlIHRoZSBuYW1lLgotICAgICAgICAg
ICAgY2hhciogZGVtYW5nbGVkTmFtZSA9IGFiaTo6X19jeGFfZGVtYW5nbGUobWFuZ2xlZE5hbWUs
IDAsIDAsIDApOwotICAgICAgICAgICAgaWYgKGRlbWFuZ2xlZE5hbWUpIHsKLSAgICAgICAgICAg
ICAgICBmcHJpbnRmKHN0ZGVyciwgIiUtM2QgJXNcbiIsIGksIGRlbWFuZ2xlZE5hbWUpOwotICAg
ICAgICAgICAgICAgIGZyZWUoZGVtYW5nbGVkTmFtZSk7Ci0gICAgICAgICAgICB9IGVsc2UKLSAg
ICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIiUtM2QgJXNcbiIsIGksIG1hbmdsZWROYW1l
KTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIiUtM2QgJXBc
biIsIGksIHBvaW50ZXIpOworICAgICAgICBDU3RyaW5nIHByZXR0eSA9IHByZXR0aWZ5U3RhY2tm
cmFtZShzYW1wbGVzW2ldKTsKKyAgICAgICAgaWYgKCFwcmV0dHkuaXNOdWxsKCkpCisgICAgICAg
ICAgICBmcHJpbnRmKHN0ZGVyciwgIiUtM2QgJXAgJXNcbiIsIGksIHNhbXBsZXNbaV0sIHByZXR0
eS5kYXRhKCkpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIiUt
M2QgJXBcbiIsIGksIHNhbXBsZXNbaV0pOwogICAgIH0KLSNlbmRpZgogfQogCiB2b2lkIFdURlJl
cG9ydEZhdGFsRXJyb3IoY29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIqIGZ1
bmN0aW9uLCBjb25zdCBjaGFyKiBmb3JtYXQsIC4uLikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvQXNzZXJ0aW9ucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9B
c3NlcnRpb25zLmgKaW5kZXggMzBmZTYwZmYzZjc1NDc2NmYxZTJlNzlkMWMyMDViY2EwZjFkMDhl
NS4uYWU5YzUxMDAwYjdhZmQ2YjhkZDExNjEyOTNkYWE1NDc0NmJjZjMyOSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRpb25zLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi9Bc3NlcnRpb25zLmgKQEAgLTE0NCwxMiArMTQ0LDE1IEBAIHR5cGVkZWYg
c3RydWN0IHsKIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURlJlcG9ydEFzc2VydGlvbkZhaWx1
cmUoY29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uLCBjb25z
dCBjaGFyKiBhc3NlcnRpb24pOwogV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgV1RGUmVwb3J0QXNz
ZXJ0aW9uRmFpbHVyZVdpdGhNZXNzYWdlKGNvbnN0IGNoYXIqIGZpbGUsIGludCBsaW5lLCBjb25z
dCBjaGFyKiBmdW5jdGlvbiwgY29uc3QgY2hhciogYXNzZXJ0aW9uLCBjb25zdCBjaGFyKiBmb3Jt
YXQsIC4uLikgV1RGX0FUVFJJQlVURV9QUklOVEYoNSwgNik7CiBXVEZfRVhQT1JUX1BSSVZBVEUg
dm9pZCBXVEZSZXBvcnRBcmd1bWVudEFzc2VydGlvbkZhaWx1cmUoY29uc3QgY2hhciogZmlsZSwg
aW50IGxpbmUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uLCBjb25zdCBjaGFyKiBhcmdOYW1lLCBjb25z
dCBjaGFyKiBhc3NlcnRpb24pOwotV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgV1RGUmVwb3J0QmFj
a3RyYWNlKCk7CiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZSZXBvcnRGYXRhbEVycm9yKGNv
bnN0IGNoYXIqIGZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyKiBmdW5jdGlvbiwgY29uc3QgY2hh
ciogZm9ybWF0LCAuLi4pIFdURl9BVFRSSUJVVEVfUFJJTlRGKDQsIDUpOwogV1RGX0VYUE9SVF9Q
UklWQVRFIHZvaWQgV1RGUmVwb3J0RXJyb3IoY29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNv
bnN0IGNoYXIqIGZ1bmN0aW9uLCBjb25zdCBjaGFyKiBmb3JtYXQsIC4uLikgV1RGX0FUVFJJQlVU
RV9QUklOVEYoNCwgNSk7CiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZMb2coV1RGTG9nQ2hh
bm5lbCosIGNvbnN0IGNoYXIqIGZvcm1hdCwgLi4uKSBXVEZfQVRUUklCVVRFX1BSSU5URigyLCAz
KTsKIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURkxvZ1ZlcmJvc2UoY29uc3QgY2hhciogZmls
ZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uLCBXVEZMb2dDaGFubmVsKiwgY29uc3Qg
Y2hhciogZm9ybWF0LCAuLi4pIFdURl9BVFRSSUJVVEVfUFJJTlRGKDUsIDYpOwogCitXVEZfRVhQ
T1JUX1BSSVZBVEUgdm9pZCBXVEZHZXRCYWNrdHJhY2Uodm9pZCoqIHN0YWNrLCBpbnQqIHNpemUp
OworV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgV1RGUmVwb3J0QmFja3RyYWNlKCk7CisKKwogI2lm
ZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109295</attachid>
            <date>2011-09-30 07:05:42 -0700</date>
            <delta_ts>2011-09-30 08:13:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69018-20110930100540.patch</filename>
            <type>text/plain</type>
            <size>5897</size>
            <attacher name="Gavin Peters">gavinp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTU4MDIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGYz
M2Y2NTQ5MDhlZDkzMTVmZGJmNTMxOWI5ZDM2Mjg1ODFlYjk0NWIuLjZlNmM5Y2E2MjU5ZjZkM2M1
NDVkNjNmZTg1ZGE4Yzc3YjYzM2Y5M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE4IEBACisyMDExLTA5LTI4ICBHYXZpbiBQZXRlcnMgIDxnYXZpbnBAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIGFkZCBtb3JlIHN0YWNrIGR1bXBpbmcgbWV0aG9kcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwMTgKKworICAgICAgICBJbiBh
ZGRpdGlvbiB0byBXVEZSZXBvcnRCYWNrdHJhY2UsIHRoaXMgYWRkcyB0aGUgY3Jvc3MtcGxhdGZv
cm0gV1RGR2V0QmFja3RyYWNlLCB3aGljaCBsZXRzCisgICAgICAgIFdlYktpdCBwcm9ncmFtbWF0
aWNhbGx5IHJldHJpZXZlIHRoZSBjdXJyZW50IHN0YWNrLiAgVGhpcyBpcyB1c2VmdWwgaWYgeW91
IG5lZWQgdG8gYWRkIG1vcmUKKyAgICAgICAgcmVwb3J0aW5nIHRvIGZpZWxkIGNyYXNoIHJlcG9y
dCB1cGxvYWRzLCBpZiB5b3UncmUgdHJhY2tpbmcgZG93biBhbiBpcnJlcHJvZHVjYWJsZSBidWcs
CisgICAgICAgIGZvciBpbnN0YW5jZS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHd0Zi9Bc3NlcnRpb25zLmNwcDoKKyAgICAgICAgKiB3dGYvQXNz
ZXJ0aW9ucy5oOgorCiAyMDExLTA5LTIyICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+
CiAKICAgICAgICAgR2V0U2NvcGVkVmFyIHNob3VsZCBoYXZlIHZhbHVlIHByb2ZpbGluZwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRpb25zLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvQXNzZXJ0aW9ucy5jcHAKaW5kZXggODhkYzYxYThkMTZkNmI3
MTMzNjQ5Y2RkNjAxYzI2MTE5NWRkYTFkNi4uNzJmZWYwMjRhMTQ3ZjI1ZDQ4MWNjMTI2Mjg2NTUw
MDcxMWNkNzQ0NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRp
b25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuY3BwCkBA
IC0zNyw2ICszNywxMCBAQAogI2luY2x1ZGUgPHN0ZGFyZy5oPgogI2luY2x1ZGUgPHN0cmluZy5o
PgogCisjaWYgIVBMQVRGT1JNKFFUKQorI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KKyNl
bmRpZgorCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NGU3Ry
aW5nLmg+CiAjZW5kaWYKQEAgLTQ2LDE1ICs1MCw0MyBAQAogI2VuZGlmCiAKICNpZiBPUyhXSU5E
T1dTKQorI2luY2x1ZGUgPHdpbmJhc2UuaD4KICNpbmNsdWRlIDx3aW5kb3dzLmg+CiAjZW5kaWYK
IAotI2lmIFBMQVRGT1JNKE1BQykKKyNpZiBPUyhEQVJXSU4pIHx8IE9TKExJTlVYKQogI2luY2x1
ZGUgPGN4eGFiaS5oPgogI2luY2x1ZGUgPGRsZmNuLmg+CiAjaW5jbHVkZSA8ZXhlY2luZm8uaD4K
ICNlbmRpZgogCituYW1lc3BhY2UgeworCisjaWYgIVBMQVRGT1JNKFFUKQorc3RhdGljIENTdHJp
bmcgcHJldHRpZnlTdGFja2ZyYW1lKHZvaWQqIGFkZHIpCit7CisjaWYgT1MoREFSV0lOKSB8fCBP
UyhMSU5VWCkKKyAgICBjb25zdCBjaGFyKiBtYW5nbGVkTmFtZSA9IDA7CisgICAgRGxfaW5mbyBp
bmZvOworICAgIGlmIChkbGFkZHIoYWRkciwgJmluZm8pICYmIGluZm8uZGxpX3NuYW1lKQorICAg
ICAgICBtYW5nbGVkTmFtZSA9IGluZm8uZGxpX3NuYW1lOworCisgICAgaWYgKG1hbmdsZWROYW1l
KSB7CisgICAgICAgIGNoYXIqIGN4YURlbWFuZ2xlZCA9IGFiaTo6X19jeGFfZGVtYW5nbGUobWFu
Z2xlZE5hbWUsIDAsIDAsIDApOworICAgICAgICBpZiAoY3hhRGVtYW5nbGVkKSB7CisgICAgICAg
ICAgICBDU3RyaW5nIGRlbWFuZ2xlZE5hbWUgPSBjeGFEZW1hbmdsZWQ7CisgICAgICAgICAgICBm
cmVlKGN4YURlbWFuZ2xlZCk7CisgICAgICAgICAgICByZXR1cm4gZGVtYW5nbGVkTmFtZTsKKyAg
ICAgICAgfQorICAgICAgICByZXR1cm4gQ1N0cmluZyhtYW5nbGVkTmFtZSk7CisgICAgfQorI2Vu
ZGlmCisgICAgcmV0dXJuIENTdHJpbmcoKTsKK30KKyNlbmRpZgorCit9IC8vIGFub24gbmFtZXNw
YWNlCisKIGV4dGVybiAiQyIgewogCiBXVEZfQVRUUklCVVRFX1BSSU5URigxLCAwKQpAQCAtMTQw
LDYgKzE3Miw4IEBAIHN0YXRpYyB2b2lkIHByaW50Q2FsbFNpdGUoY29uc3QgY2hhciogZmlsZSwg
aW50IGxpbmUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uKQogI2VuZGlmCiB9CiAKKworCiB2b2lkIFdU
RlJlcG9ydEFzc2VydGlvbkZhaWx1cmUoY29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0
IGNoYXIqIGZ1bmN0aW9uLCBjb25zdCBjaGFyKiBhc3NlcnRpb24pCiB7CiAgICAgaWYgKGFzc2Vy
dGlvbikKQEAgLTE2NiwzMiArMjAwLDM0IEBAIHZvaWQgV1RGUmVwb3J0QXJndW1lbnRBc3NlcnRp
b25GYWlsdXJlKGNvbnN0IGNoYXIqIGZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyKiBmCiAgICAg
cHJpbnRDYWxsU2l0ZShmaWxlLCBsaW5lLCBmdW5jdGlvbik7CiB9CiAKK3ZvaWQgV1RGR2V0QmFj
a3RyYWNlKHZvaWQqKiBzdGFjaywgaW50KiBzaXplKQoreworI2lmIE9TKERBUldJTikgfHwgT1Mo
TElOVVgpCisgICAgKnNpemUgPSBiYWNrdHJhY2Uoc3RhY2ssICpzaXplKTsKKyNlbGlmIE9TKFdJ
TkRPV1MpCisgICAgKnNpemUgPSBDYXB0dXJlU3RhY2tCYWNrVHJhY2UoMiwgKnNpemUsIHN0YWNr
LCAwKTsKKyNlbHNlCisgICAgKnNpemUgPSAwOworI2VuZGlmCit9CisKIHZvaWQgV1RGUmVwb3J0
QmFja3RyYWNlKCkKIHsKLSNpZiBQTEFURk9STShNQUMpCi0gICAgc3RhdGljIGNvbnN0IGludCBt
YXhGcmFtZXMgPSAzMjsKKyAgICBlbnVtIHsgbWF4RnJhbWVzID0gMzIgfTsKICAgICB2b2lkKiBz
YW1wbGVzW21heEZyYW1lc107Ci0gICAgaW50IGZyYW1lcyA9IGJhY2t0cmFjZShzYW1wbGVzLCBt
YXhGcmFtZXMpOwotCisgICAgaW50IGZyYW1lcyA9IG1heEZyYW1lczsKKyAgICBXVEZHZXRCYWNr
dHJhY2Uoc2FtcGxlcywgJmZyYW1lcyk7CiAgICAgZm9yIChpbnQgaSA9IDE7IGkgPCBmcmFtZXM7
ICsraSkgewotICAgICAgICB2b2lkKiBwb2ludGVyID0gc2FtcGxlc1tpXTsKLQotICAgICAgICAv
LyBUcnkgdG8gZ2V0IGEgc3ltYm9sIG5hbWUgZnJvbSB0aGUgZHluYW1pYyBsaW5rZXIuCi0gICAg
ICAgIERsX2luZm8gaW5mbzsKLSAgICAgICAgaWYgKGRsYWRkcihwb2ludGVyLCAmaW5mbykgJiYg
aW5mby5kbGlfc25hbWUpIHsKLSAgICAgICAgICAgIGNvbnN0IGNoYXIqIG1hbmdsZWROYW1lID0g
aW5mby5kbGlfc25hbWU7Ci0KLSAgICAgICAgICAgIC8vIEFzc3VtZSBjKysgJiB0cnkgdG8gZGVt
YW5nbGUgdGhlIG5hbWUuCi0gICAgICAgICAgICBjaGFyKiBkZW1hbmdsZWROYW1lID0gYWJpOjpf
X2N4YV9kZW1hbmdsZShtYW5nbGVkTmFtZSwgMCwgMCwgMCk7Ci0gICAgICAgICAgICBpZiAoZGVt
YW5nbGVkTmFtZSkgewotICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiJS0zZCAlc1xu
IiwgaSwgZGVtYW5nbGVkTmFtZSk7Ci0gICAgICAgICAgICAgICAgZnJlZShkZW1hbmdsZWROYW1l
KTsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAi
JS0zZCAlc1xuIiwgaSwgbWFuZ2xlZE5hbWUpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAg
IGZwcmludGYoc3RkZXJyLCAiJS0zZCAlcFxuIiwgaSwgcG9pbnRlcik7Ci0gICAgfQorI2lmICFQ
TEFURk9STShRVCkKKyAgICAgICAgQ1N0cmluZyBwcmV0dHkgPSBwcmV0dGlmeVN0YWNrZnJhbWUo
c2FtcGxlc1tpXSk7CisgICAgICAgIGlmICghcHJldHR5LmlzTnVsbCgpKQorICAgICAgICAgICAg
ZnByaW50ZihzdGRlcnIsICIlLTNkICVwICVzXG4iLCBpLCBzYW1wbGVzW2ldLCBwcmV0dHkuZGF0
YSgpKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICIlLTNkICVw
XG4iLCBpLCBzYW1wbGVzW2ldKTsKKyNlbHNlCisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiJS0z
ZCAlcFxuIiwgaSwgc2FtcGxlc1tpXSk7CiAjZW5kaWYKKyAgICB9CiB9CiAKIHZvaWQgV1RGUmVw
b3J0RmF0YWxFcnJvcihjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciogZnVu
Y3Rpb24sIGNvbnN0IGNoYXIqIGZvcm1hdCwgLi4uKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi9Bc3NlcnRpb25zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Fz
c2VydGlvbnMuaAppbmRleCAzMGZlNjBmZjNmNzU0NzY2ZjFlMmU3OWQxYzIwNWJjYTBmMWQwOGU1
Li5hZTljNTEwMDBiN2FmZDZiOGRkMTE2MTI5M2RhYTU0NzQ2YmNmMzI5IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuaApAQCAtMTQ0LDEyICsxNDQsMTUgQEAgdHlwZWRlZiBz
dHJ1Y3QgewogV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgV1RGUmVwb3J0QXNzZXJ0aW9uRmFpbHVy
ZShjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciogZnVuY3Rpb24sIGNvbnN0
IGNoYXIqIGFzc2VydGlvbik7CiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZSZXBvcnRBc3Nl
cnRpb25GYWlsdXJlV2l0aE1lc3NhZ2UoY29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0
IGNoYXIqIGZ1bmN0aW9uLCBjb25zdCBjaGFyKiBhc3NlcnRpb24sIGNvbnN0IGNoYXIqIGZvcm1h
dCwgLi4uKSBXVEZfQVRUUklCVVRFX1BSSU5URig1LCA2KTsKIFdURl9FWFBPUlRfUFJJVkFURSB2
b2lkIFdURlJlcG9ydEFyZ3VtZW50QXNzZXJ0aW9uRmFpbHVyZShjb25zdCBjaGFyKiBmaWxlLCBp
bnQgbGluZSwgY29uc3QgY2hhciogZnVuY3Rpb24sIGNvbnN0IGNoYXIqIGFyZ05hbWUsIGNvbnN0
IGNoYXIqIGFzc2VydGlvbik7Ci1XVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZSZXBvcnRCYWNr
dHJhY2UoKTsKIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURlJlcG9ydEZhdGFsRXJyb3IoY29u
c3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uLCBjb25zdCBjaGFy
KiBmb3JtYXQsIC4uLikgV1RGX0FUVFJJQlVURV9QUklOVEYoNCwgNSk7CiBXVEZfRVhQT1JUX1BS
SVZBVEUgdm9pZCBXVEZSZXBvcnRFcnJvcihjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSwgY29u
c3QgY2hhciogZnVuY3Rpb24sIGNvbnN0IGNoYXIqIGZvcm1hdCwgLi4uKSBXVEZfQVRUUklCVVRF
X1BSSU5URig0LCA1KTsKIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURkxvZyhXVEZMb2dDaGFu
bmVsKiwgY29uc3QgY2hhciogZm9ybWF0LCAuLi4pIFdURl9BVFRSSUJVVEVfUFJJTlRGKDIsIDMp
OwogV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgV1RGTG9nVmVyYm9zZShjb25zdCBjaGFyKiBmaWxl
LCBpbnQgbGluZSwgY29uc3QgY2hhciogZnVuY3Rpb24sIFdURkxvZ0NoYW5uZWwqLCBjb25zdCBj
aGFyKiBmb3JtYXQsIC4uLikgV1RGX0FUVFJJQlVURV9QUklOVEYoNSwgNik7CiAKK1dURl9FWFBP
UlRfUFJJVkFURSB2b2lkIFdURkdldEJhY2t0cmFjZSh2b2lkKiogc3RhY2ssIGludCogc2l6ZSk7
CitXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZSZXBvcnRCYWNrdHJhY2UoKTsKKworCiAjaWZk
ZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109299</attachid>
            <date>2011-09-30 08:13:56 -0700</date>
            <delta_ts>2011-09-30 08:28:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69018-20110930111354.patch</filename>
            <type>text/plain</type>
            <size>5984</size>
            <attacher name="Gavin Peters">gavinp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTU4MDIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGYz
M2Y2NTQ5MDhlZDkzMTVmZGJmNTMxOWI5ZDM2Mjg1ODFlYjk0NWIuLjZlNmM5Y2E2MjU5ZjZkM2M1
NDVkNjNmZTg1ZGE4Yzc3YjYzM2Y5M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE4IEBACisyMDExLTA5LTI4ICBHYXZpbiBQZXRlcnMgIDxnYXZpbnBAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIGFkZCBtb3JlIHN0YWNrIGR1bXBpbmcgbWV0aG9kcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwMTgKKworICAgICAgICBJbiBh
ZGRpdGlvbiB0byBXVEZSZXBvcnRCYWNrdHJhY2UsIHRoaXMgYWRkcyB0aGUgY3Jvc3MtcGxhdGZv
cm0gV1RGR2V0QmFja3RyYWNlLCB3aGljaCBsZXRzCisgICAgICAgIFdlYktpdCBwcm9ncmFtbWF0
aWNhbGx5IHJldHJpZXZlIHRoZSBjdXJyZW50IHN0YWNrLiAgVGhpcyBpcyB1c2VmdWwgaWYgeW91
IG5lZWQgdG8gYWRkIG1vcmUKKyAgICAgICAgcmVwb3J0aW5nIHRvIGZpZWxkIGNyYXNoIHJlcG9y
dCB1cGxvYWRzLCBpZiB5b3UncmUgdHJhY2tpbmcgZG93biBhbiBpcnJlcHJvZHVjYWJsZSBidWcs
CisgICAgICAgIGZvciBpbnN0YW5jZS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHd0Zi9Bc3NlcnRpb25zLmNwcDoKKyAgICAgICAgKiB3dGYvQXNz
ZXJ0aW9ucy5oOgorCiAyMDExLTA5LTIyICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+
CiAKICAgICAgICAgR2V0U2NvcGVkVmFyIHNob3VsZCBoYXZlIHZhbHVlIHByb2ZpbGluZwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRpb25zLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvQXNzZXJ0aW9ucy5jcHAKaW5kZXggODhkYzYxYThkMTZkNmI3
MTMzNjQ5Y2RkNjAxYzI2MTE5NWRkYTFkNi4uOGQyMjIzNTQ3MDIwZjk0NDcwNmYxNjJiYjY0Yzkx
NmU4MjVmYjUyMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRp
b25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuY3BwCkBA
IC0zNyw2ICszNywxMCBAQAogI2luY2x1ZGUgPHN0ZGFyZy5oPgogI2luY2x1ZGUgPHN0cmluZy5o
PgogCisjaWYgIVBMQVRGT1JNKFFUKSAmJiAoT1MoREFSV0lOKSB8fCBPUyhMSU5VWCkpCisjaW5j
bHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgorI2VuZGlmCisKICNpZiBQTEFURk9STShNQUMpCiAj
aW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ0ZTdHJpbmcuaD4KICNlbmRpZgpAQCAtNDYsMTUgKzUw
LDQzIEBACiAjZW5kaWYKIAogI2lmIE9TKFdJTkRPV1MpCisjaW5jbHVkZSA8d2luYmFzZS5oPgog
I2luY2x1ZGUgPHdpbmRvd3MuaD4KICNlbmRpZgogCi0jaWYgUExBVEZPUk0oTUFDKQorI2lmIE9T
KERBUldJTikgfHwgT1MoTElOVVgpCiAjaW5jbHVkZSA8Y3h4YWJpLmg+CiAjaW5jbHVkZSA8ZGxm
Y24uaD4KICNpbmNsdWRlIDxleGVjaW5mby5oPgogI2VuZGlmCiAKK25hbWVzcGFjZSB7CisKKyNp
ZiAhUExBVEZPUk0oUVQpICYmIChPUyhEQVJXSU4pIHx8IE9TKExJTlVYKSkKK3N0YXRpYyBDU3Ry
aW5nIHByZXR0aWZ5U3RhY2tmcmFtZSh2b2lkKiBhZGRyKQoreworI2lmIE9TKERBUldJTikgfHwg
T1MoTElOVVgpCisgICAgY29uc3QgY2hhciogbWFuZ2xlZE5hbWUgPSAwOworICAgIERsX2luZm8g
aW5mbzsKKyAgICBpZiAoZGxhZGRyKGFkZHIsICZpbmZvKSAmJiBpbmZvLmRsaV9zbmFtZSkKKyAg
ICAgICAgbWFuZ2xlZE5hbWUgPSBpbmZvLmRsaV9zbmFtZTsKKworICAgIGlmIChtYW5nbGVkTmFt
ZSkgeworICAgICAgICBjaGFyKiBjeGFEZW1hbmdsZWQgPSBhYmk6Ol9fY3hhX2RlbWFuZ2xlKG1h
bmdsZWROYW1lLCAwLCAwLCAwKTsKKyAgICAgICAgaWYgKGN4YURlbWFuZ2xlZCkgeworICAgICAg
ICAgICAgQ1N0cmluZyBkZW1hbmdsZWROYW1lID0gY3hhRGVtYW5nbGVkOworICAgICAgICAgICAg
ZnJlZShjeGFEZW1hbmdsZWQpOworICAgICAgICAgICAgcmV0dXJuIGRlbWFuZ2xlZE5hbWU7Cisg
ICAgICAgIH0KKyAgICAgICAgcmV0dXJuIENTdHJpbmcobWFuZ2xlZE5hbWUpOworICAgIH0KKyNl
bmRpZgorICAgIHJldHVybiBDU3RyaW5nKCk7Cit9CisjZW5kaWYKKworfSAvLyBhbm9uIG5hbWVz
cGFjZQorCiBleHRlcm4gIkMiIHsKIAogV1RGX0FUVFJJQlVURV9QUklOVEYoMSwgMCkKQEAgLTE0
MCw2ICsxNzIsOCBAQCBzdGF0aWMgdm9pZCBwcmludENhbGxTaXRlKGNvbnN0IGNoYXIqIGZpbGUs
IGludCBsaW5lLCBjb25zdCBjaGFyKiBmdW5jdGlvbikKICNlbmRpZgogfQogCisKKwogdm9pZCBX
VEZSZXBvcnRBc3NlcnRpb25GYWlsdXJlKGNvbnN0IGNoYXIqIGZpbGUsIGludCBsaW5lLCBjb25z
dCBjaGFyKiBmdW5jdGlvbiwgY29uc3QgY2hhciogYXNzZXJ0aW9uKQogewogICAgIGlmIChhc3Nl
cnRpb24pCkBAIC0xNjYsMzIgKzIwMCwzNCBAQCB2b2lkIFdURlJlcG9ydEFyZ3VtZW50QXNzZXJ0
aW9uRmFpbHVyZShjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciogZgogICAg
IHByaW50Q2FsbFNpdGUoZmlsZSwgbGluZSwgZnVuY3Rpb24pOwogfQogCit2b2lkIFdURkdldEJh
Y2t0cmFjZSh2b2lkKiogc3RhY2ssIGludCogc2l6ZSkKK3sKKyNpZiBPUyhEQVJXSU4pIHx8IE9T
KExJTlVYKQorICAgICpzaXplID0gYmFja3RyYWNlKHN0YWNrLCAqc2l6ZSk7CisjZWxpZiBPUyhX
SU5ET1dTKQorICAgICpzaXplID0gQ2FwdHVyZVN0YWNrQmFja1RyYWNlKDIsICpzaXplLCBzdGFj
aywgMCk7CisjZWxzZQorICAgICpzaXplID0gMDsKKyNlbmRpZgorfQorCiB2b2lkIFdURlJlcG9y
dEJhY2t0cmFjZSgpCiB7Ci0jaWYgUExBVEZPUk0oTUFDKQotICAgIHN0YXRpYyBjb25zdCBpbnQg
bWF4RnJhbWVzID0gMzI7CisgICAgZW51bSB7IG1heEZyYW1lcyA9IDMyIH07CiAgICAgdm9pZCog
c2FtcGxlc1ttYXhGcmFtZXNdOwotICAgIGludCBmcmFtZXMgPSBiYWNrdHJhY2Uoc2FtcGxlcywg
bWF4RnJhbWVzKTsKLQorICAgIGludCBmcmFtZXMgPSBtYXhGcmFtZXM7CisgICAgV1RGR2V0QmFj
a3RyYWNlKHNhbXBsZXMsICZmcmFtZXMpOwogICAgIGZvciAoaW50IGkgPSAxOyBpIDwgZnJhbWVz
OyArK2kpIHsKLSAgICAgICAgdm9pZCogcG9pbnRlciA9IHNhbXBsZXNbaV07Ci0KLSAgICAgICAg
Ly8gVHJ5IHRvIGdldCBhIHN5bWJvbCBuYW1lIGZyb20gdGhlIGR5bmFtaWMgbGlua2VyLgotICAg
ICAgICBEbF9pbmZvIGluZm87Ci0gICAgICAgIGlmIChkbGFkZHIocG9pbnRlciwgJmluZm8pICYm
IGluZm8uZGxpX3NuYW1lKSB7Ci0gICAgICAgICAgICBjb25zdCBjaGFyKiBtYW5nbGVkTmFtZSA9
IGluZm8uZGxpX3NuYW1lOwotCi0gICAgICAgICAgICAvLyBBc3N1bWUgYysrICYgdHJ5IHRvIGRl
bWFuZ2xlIHRoZSBuYW1lLgotICAgICAgICAgICAgY2hhciogZGVtYW5nbGVkTmFtZSA9IGFiaTo6
X19jeGFfZGVtYW5nbGUobWFuZ2xlZE5hbWUsIDAsIDAsIDApOwotICAgICAgICAgICAgaWYgKGRl
bWFuZ2xlZE5hbWUpIHsKLSAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIiUtM2QgJXNc
biIsIGksIGRlbWFuZ2xlZE5hbWUpOwotICAgICAgICAgICAgICAgIGZyZWUoZGVtYW5nbGVkTmFt
ZSk7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwg
IiUtM2QgJXNcbiIsIGksIG1hbmdsZWROYW1lKTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAg
ICBmcHJpbnRmKHN0ZGVyciwgIiUtM2QgJXBcbiIsIGksIHBvaW50ZXIpOwotICAgIH0KKyNpZiAh
UExBVEZPUk0oUVQpICYmIChPUyhEQVJXSU4pIHx8IE9TKExJTlVYKSkKKyAgICAgICAgQ1N0cmlu
ZyBwcmV0dHkgPSBwcmV0dGlmeVN0YWNrZnJhbWUoc2FtcGxlc1tpXSk7CisgICAgICAgIGlmICgh
cHJldHR5LmlzTnVsbCgpKQorICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICIlLTNkICVwICVz
XG4iLCBpLCBzYW1wbGVzW2ldLCBwcmV0dHkuZGF0YSgpKTsKKyAgICAgICAgZWxzZQorICAgICAg
ICAgICAgZnByaW50ZihzdGRlcnIsICIlLTNkICVwXG4iLCBpLCBzYW1wbGVzW2ldKTsKKyNlbHNl
CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiJS0zZCAlcFxuIiwgaSwgc2FtcGxlc1tpXSk7CiAj
ZW5kaWYKKyAgICB9CiB9CiAKIHZvaWQgV1RGUmVwb3J0RmF0YWxFcnJvcihjb25zdCBjaGFyKiBm
aWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciogZnVuY3Rpb24sIGNvbnN0IGNoYXIqIGZvcm1hdCwg
Li4uKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRpb25zLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuaAppbmRleCAzMGZlNjBmZjNm
NzU0NzY2ZjFlMmU3OWQxYzIwNWJjYTBmMWQwOGU1Li5hZTljNTEwMDBiN2FmZDZiOGRkMTE2MTI5
M2RhYTU0NzQ2YmNmMzI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Fz
c2VydGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuaApA
QCAtMTQ0LDEyICsxNDQsMTUgQEAgdHlwZWRlZiBzdHJ1Y3QgewogV1RGX0VYUE9SVF9QUklWQVRF
IHZvaWQgV1RGUmVwb3J0QXNzZXJ0aW9uRmFpbHVyZShjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGlu
ZSwgY29uc3QgY2hhciogZnVuY3Rpb24sIGNvbnN0IGNoYXIqIGFzc2VydGlvbik7CiBXVEZfRVhQ
T1JUX1BSSVZBVEUgdm9pZCBXVEZSZXBvcnRBc3NlcnRpb25GYWlsdXJlV2l0aE1lc3NhZ2UoY29u
c3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uLCBjb25zdCBjaGFy
KiBhc3NlcnRpb24sIGNvbnN0IGNoYXIqIGZvcm1hdCwgLi4uKSBXVEZfQVRUUklCVVRFX1BSSU5U
Rig1LCA2KTsKIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURlJlcG9ydEFyZ3VtZW50QXNzZXJ0
aW9uRmFpbHVyZShjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciogZnVuY3Rp
b24sIGNvbnN0IGNoYXIqIGFyZ05hbWUsIGNvbnN0IGNoYXIqIGFzc2VydGlvbik7Ci1XVEZfRVhQ
T1JUX1BSSVZBVEUgdm9pZCBXVEZSZXBvcnRCYWNrdHJhY2UoKTsKIFdURl9FWFBPUlRfUFJJVkFU
RSB2b2lkIFdURlJlcG9ydEZhdGFsRXJyb3IoY29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNv
bnN0IGNoYXIqIGZ1bmN0aW9uLCBjb25zdCBjaGFyKiBmb3JtYXQsIC4uLikgV1RGX0FUVFJJQlVU
RV9QUklOVEYoNCwgNSk7CiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZSZXBvcnRFcnJvcihj
b25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciogZnVuY3Rpb24sIGNvbnN0IGNo
YXIqIGZvcm1hdCwgLi4uKSBXVEZfQVRUUklCVVRFX1BSSU5URig0LCA1KTsKIFdURl9FWFBPUlRf
UFJJVkFURSB2b2lkIFdURkxvZyhXVEZMb2dDaGFubmVsKiwgY29uc3QgY2hhciogZm9ybWF0LCAu
Li4pIFdURl9BVFRSSUJVVEVfUFJJTlRGKDIsIDMpOwogV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQg
V1RGTG9nVmVyYm9zZShjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciogZnVu
Y3Rpb24sIFdURkxvZ0NoYW5uZWwqLCBjb25zdCBjaGFyKiBmb3JtYXQsIC4uLikgV1RGX0FUVFJJ
QlVURV9QUklOVEYoNSwgNik7CiAKK1dURl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURkdldEJhY2t0
cmFjZSh2b2lkKiogc3RhY2ssIGludCogc2l6ZSk7CitXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBX
VEZSZXBvcnRCYWNrdHJhY2UoKTsKKworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109300</attachid>
            <date>2011-09-30 08:29:02 -0700</date>
            <delta_ts>2011-09-30 10:14:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69018-20110930112901.patch</filename>
            <type>text/plain</type>
            <size>5314</size>
            <attacher name="Gavin Peters">gavinp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTU4MDIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGYz
M2Y2NTQ5MDhlZDkzMTVmZGJmNTMxOWI5ZDM2Mjg1ODFlYjk0NWIuLjZlNmM5Y2E2MjU5ZjZkM2M1
NDVkNjNmZTg1ZGE4Yzc3YjYzM2Y5M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE4IEBACisyMDExLTA5LTI4ICBHYXZpbiBQZXRlcnMgIDxnYXZpbnBAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIGFkZCBtb3JlIHN0YWNrIGR1bXBpbmcgbWV0aG9kcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwMTgKKworICAgICAgICBJbiBh
ZGRpdGlvbiB0byBXVEZSZXBvcnRCYWNrdHJhY2UsIHRoaXMgYWRkcyB0aGUgY3Jvc3MtcGxhdGZv
cm0gV1RGR2V0QmFja3RyYWNlLCB3aGljaCBsZXRzCisgICAgICAgIFdlYktpdCBwcm9ncmFtbWF0
aWNhbGx5IHJldHJpZXZlIHRoZSBjdXJyZW50IHN0YWNrLiAgVGhpcyBpcyB1c2VmdWwgaWYgeW91
IG5lZWQgdG8gYWRkIG1vcmUKKyAgICAgICAgcmVwb3J0aW5nIHRvIGZpZWxkIGNyYXNoIHJlcG9y
dCB1cGxvYWRzLCBpZiB5b3UncmUgdHJhY2tpbmcgZG93biBhbiBpcnJlcHJvZHVjYWJsZSBidWcs
CisgICAgICAgIGZvciBpbnN0YW5jZS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHd0Zi9Bc3NlcnRpb25zLmNwcDoKKyAgICAgICAgKiB3dGYvQXNz
ZXJ0aW9ucy5oOgorCiAyMDExLTA5LTIyICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+
CiAKICAgICAgICAgR2V0U2NvcGVkVmFyIHNob3VsZCBoYXZlIHZhbHVlIHByb2ZpbGluZwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRpb25zLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvQXNzZXJ0aW9ucy5jcHAKaW5kZXggODhkYzYxYThkMTZkNmI3
MTMzNjQ5Y2RkNjAxYzI2MTE5NWRkYTFkNi4uMzc1ZDJkODY2ZmE5YzZhNThlZjQxODBkMjllNTk0
Y2I3MmVmNzQyYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRp
b25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuY3BwCkBA
IC00NiwxMCArNDYsMTEgQEAKICNlbmRpZgogCiAjaWYgT1MoV0lORE9XUykKKyNpbmNsdWRlIDx3
aW5iYXNlLmg+CiAjaW5jbHVkZSA8d2luZG93cy5oPgogI2VuZGlmCiAKLSNpZiBQTEFURk9STShN
QUMpCisjaWYgT1MoREFSV0lOKSB8fCBPUyhMSU5VWCkKICNpbmNsdWRlIDxjeHhhYmkuaD4KICNp
bmNsdWRlIDxkbGZjbi5oPgogI2luY2x1ZGUgPGV4ZWNpbmZvLmg+CkBAIC0xNDAsNiArMTQxLDgg
QEAgc3RhdGljIHZvaWQgcHJpbnRDYWxsU2l0ZShjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSwg
Y29uc3QgY2hhciogZnVuY3Rpb24pCiAjZW5kaWYKIH0KIAorCisKIHZvaWQgV1RGUmVwb3J0QXNz
ZXJ0aW9uRmFpbHVyZShjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciogZnVu
Y3Rpb24sIGNvbnN0IGNoYXIqIGFzc2VydGlvbikKIHsKICAgICBpZiAoYXNzZXJ0aW9uKQpAQCAt
MTY2LDMyICsxNjksNDQgQEAgdm9pZCBXVEZSZXBvcnRBcmd1bWVudEFzc2VydGlvbkZhaWx1cmUo
Y29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIqIGYKICAgICBwcmludENhbGxT
aXRlKGZpbGUsIGxpbmUsIGZ1bmN0aW9uKTsKIH0KIAordm9pZCBXVEZHZXRCYWNrdHJhY2Uodm9p
ZCoqIHN0YWNrLCBpbnQqIHNpemUpCit7CisjaWYgT1MoREFSV0lOKSB8fCBPUyhMSU5VWCkKKyAg
ICAqc2l6ZSA9IGJhY2t0cmFjZShzdGFjaywgKnNpemUpOworI2VsaWYgT1MoV0lORE9XUykKKyAg
ICAqc2l6ZSA9IENhcHR1cmVTdGFja0JhY2tUcmFjZSgyLCAqc2l6ZSwgc3RhY2ssIDApOworI2Vs
c2UKKyAgICAqc2l6ZSA9IDA7CisjZW5kaWYKK30KKwogdm9pZCBXVEZSZXBvcnRCYWNrdHJhY2Uo
KQogewotI2lmIFBMQVRGT1JNKE1BQykKLSAgICBzdGF0aWMgY29uc3QgaW50IG1heEZyYW1lcyA9
IDMyOworICAgIGVudW0geyBtYXhGcmFtZXMgPSAzMiB9OwogICAgIHZvaWQqIHNhbXBsZXNbbWF4
RnJhbWVzXTsKLSAgICBpbnQgZnJhbWVzID0gYmFja3RyYWNlKHNhbXBsZXMsIG1heEZyYW1lcyk7
CisgICAgaW50IGZyYW1lcyA9IG1heEZyYW1lczsKKworICAgIFdURkdldEJhY2t0cmFjZShzYW1w
bGVzLCAmZnJhbWVzKTsKIAogICAgIGZvciAoaW50IGkgPSAxOyBpIDwgZnJhbWVzOyArK2kpIHsK
LSAgICAgICAgdm9pZCogcG9pbnRlciA9IHNhbXBsZXNbaV07CisgICAgICAgIGNvbnN0IGNoYXIq
IG1hbmdsZWROYW1lID0gMDsKKyAgICAgICAgY2hhciogY3hhRGVtYW5nbGVkID0gMDsKIAotICAg
ICAgICAvLyBUcnkgdG8gZ2V0IGEgc3ltYm9sIG5hbWUgZnJvbSB0aGUgZHluYW1pYyBsaW5rZXIu
CisjaWYgIVBMQVRGT1JNKFFUKSAmJiAoT1MoREFSV0lOKSB8fCBPUyhMSU5VWCkpCiAgICAgICAg
IERsX2luZm8gaW5mbzsKLSAgICAgICAgaWYgKGRsYWRkcihwb2ludGVyLCAmaW5mbykgJiYgaW5m
by5kbGlfc25hbWUpIHsKLSAgICAgICAgICAgIGNvbnN0IGNoYXIqIG1hbmdsZWROYW1lID0gaW5m
by5kbGlfc25hbWU7Ci0KLSAgICAgICAgICAgIC8vIEFzc3VtZSBjKysgJiB0cnkgdG8gZGVtYW5n
bGUgdGhlIG5hbWUuCi0gICAgICAgICAgICBjaGFyKiBkZW1hbmdsZWROYW1lID0gYWJpOjpfX2N4
YV9kZW1hbmdsZShtYW5nbGVkTmFtZSwgMCwgMCwgMCk7Ci0gICAgICAgICAgICBpZiAoZGVtYW5n
bGVkTmFtZSkgewotICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiJS0zZCAlc1xuIiwg
aSwgZGVtYW5nbGVkTmFtZSk7Ci0gICAgICAgICAgICAgICAgZnJlZShkZW1hbmdsZWROYW1lKTsK
LSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiJS0z
ZCAlc1xuIiwgaSwgbWFuZ2xlZE5hbWUpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIGZw
cmludGYoc3RkZXJyLCAiJS0zZCAlcFxuIiwgaSwgcG9pbnRlcik7Ci0gICAgfQorICAgICAgICBp
ZiAoZGxhZGRyKHNhbXBsZXNbaV0sICZpbmZvKSAmJiBpbmZvLmRsaV9zbmFtZSkKKyAgICAgICAg
ICAgIG1hbmdsZWROYW1lID0gaW5mby5kbGlfc25hbWU7CisgICAgICAgIGlmIChtYW5nbGVkTmFt
ZSkKKyAgICAgICAgICAgIGN4YURlbWFuZ2xlZCA9IGFiaTo6X19jeGFfZGVtYW5nbGUobWFuZ2xl
ZE5hbWUsIDAsIDAsIDApOwogI2VuZGlmCisgICAgICAgIGlmIChtYW5nbGVkTmFtZSB8fCBjeGFE
ZW1hbmdsZWQpCisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIiUtM2QgJXAgJXNcbiIsIGks
IHNhbXBsZXNbaV0sIGN4YURlbWFuZ2xlZCA/IGN4YURlbWFuZ2xlZCA6IG1hbmdsZWROYW1lKTsK
KyAgICAgICAgZWxzZQorICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICIlLTNkICVwXG4iLCBp
LCBzYW1wbGVzW2ldKTsKKworICAgICAgICBpZiAoY3hhRGVtYW5nbGVkKQorICAgICAgICAgICAg
ZnJlZShjeGFEZW1hbmdsZWQpOworICAgIH0KIH0KIAogdm9pZCBXVEZSZXBvcnRGYXRhbEVycm9y
KGNvbnN0IGNoYXIqIGZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyKiBmdW5jdGlvbiwgY29uc3Qg
Y2hhciogZm9ybWF0LCAuLi4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L0Fzc2VydGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQXNzZXJ0aW9ucy5oCmlu
ZGV4IDMwZmU2MGZmM2Y3NTQ3NjZmMWUyZTc5ZDFjMjA1YmNhMGYxZDA4ZTUuLmFlOWM1MTAwMGI3
YWZkNmI4ZGQxMTYxMjkzZGFhNTQ3NDZiY2YzMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvQXNzZXJ0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
QXNzZXJ0aW9ucy5oCkBAIC0xNDQsMTIgKzE0NCwxNSBAQCB0eXBlZGVmIHN0cnVjdCB7CiBXVEZf
RVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZSZXBvcnRBc3NlcnRpb25GYWlsdXJlKGNvbnN0IGNoYXIq
IGZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyKiBmdW5jdGlvbiwgY29uc3QgY2hhciogYXNzZXJ0
aW9uKTsKIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURlJlcG9ydEFzc2VydGlvbkZhaWx1cmVX
aXRoTWVzc2FnZShjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciogZnVuY3Rp
b24sIGNvbnN0IGNoYXIqIGFzc2VydGlvbiwgY29uc3QgY2hhciogZm9ybWF0LCAuLi4pIFdURl9B
VFRSSUJVVEVfUFJJTlRGKDUsIDYpOwogV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgV1RGUmVwb3J0
QXJndW1lbnRBc3NlcnRpb25GYWlsdXJlKGNvbnN0IGNoYXIqIGZpbGUsIGludCBsaW5lLCBjb25z
dCBjaGFyKiBmdW5jdGlvbiwgY29uc3QgY2hhciogYXJnTmFtZSwgY29uc3QgY2hhciogYXNzZXJ0
aW9uKTsKLVdURl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURlJlcG9ydEJhY2t0cmFjZSgpOwogV1RG
X0VYUE9SVF9QUklWQVRFIHZvaWQgV1RGUmVwb3J0RmF0YWxFcnJvcihjb25zdCBjaGFyKiBmaWxl
LCBpbnQgbGluZSwgY29uc3QgY2hhciogZnVuY3Rpb24sIGNvbnN0IGNoYXIqIGZvcm1hdCwgLi4u
KSBXVEZfQVRUUklCVVRFX1BSSU5URig0LCA1KTsKIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIFdU
RlJlcG9ydEVycm9yKGNvbnN0IGNoYXIqIGZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyKiBmdW5j
dGlvbiwgY29uc3QgY2hhciogZm9ybWF0LCAuLi4pIFdURl9BVFRSSUJVVEVfUFJJTlRGKDQsIDUp
OwogV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgV1RGTG9nKFdURkxvZ0NoYW5uZWwqLCBjb25zdCBj
aGFyKiBmb3JtYXQsIC4uLikgV1RGX0FUVFJJQlVURV9QUklOVEYoMiwgMyk7CiBXVEZfRVhQT1JU
X1BSSVZBVEUgdm9pZCBXVEZMb2dWZXJib3NlKGNvbnN0IGNoYXIqIGZpbGUsIGludCBsaW5lLCBj
b25zdCBjaGFyKiBmdW5jdGlvbiwgV1RGTG9nQ2hhbm5lbCosIGNvbnN0IGNoYXIqIGZvcm1hdCwg
Li4uKSBXVEZfQVRUUklCVVRFX1BSSU5URig1LCA2KTsKIAorV1RGX0VYUE9SVF9QUklWQVRFIHZv
aWQgV1RGR2V0QmFja3RyYWNlKHZvaWQqKiBzdGFjaywgaW50KiBzaXplKTsKK1dURl9FWFBPUlRf
UFJJVkFURSB2b2lkIFdURlJlcG9ydEJhY2t0cmFjZSgpOworCisKICNpZmRlZiBfX2NwbHVzcGx1
cwogfQogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109304</attachid>
            <date>2011-09-30 10:14:12 -0700</date>
            <delta_ts>2011-09-30 11:16:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69018-20110930131410.patch</filename>
            <type>text/plain</type>
            <size>5330</size>
            <attacher name="Gavin Peters">gavinp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTYzOTcKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGI5
Mjc5OTdlODBlYjJjMWNiZmU0ZGNkN2RhNWU4ZDAxOGI2ZjUwMTYuLjg3NmQwMjlkZTM0ZDljNTJh
NjU2Y2RlZWE2Zjc0ZTJiOTIwYjgyZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE4IEBACisyMDExLTA5LTI4ICBHYXZpbiBQZXRlcnMgIDxnYXZpbnBAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIGFkZCBtb3JlIHN0YWNrIGR1bXBpbmcgbWV0aG9kcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwMTgKKworICAgICAgICBJbiBh
ZGRpdGlvbiB0byBXVEZSZXBvcnRCYWNrdHJhY2UsIHRoaXMgYWRkcyB0aGUgY3Jvc3MtcGxhdGZv
cm0gV1RGR2V0QmFja3RyYWNlLCB3aGljaCBsZXRzCisgICAgICAgIFdlYktpdCBwcm9ncmFtbWF0
aWNhbGx5IHJldHJpZXZlIHRoZSBjdXJyZW50IHN0YWNrLiAgVGhpcyBpcyB1c2VmdWwgaWYgeW91
IG5lZWQgdG8gYWRkIG1vcmUKKyAgICAgICAgcmVwb3J0aW5nIHRvIGZpZWxkIGNyYXNoIHJlcG9y
dCB1cGxvYWRzLCBpZiB5b3UncmUgdHJhY2tpbmcgZG93biBhbiBpcnJlcHJvZHVjYWJsZSBidWcs
CisgICAgICAgIGZvciBpbnN0YW5jZS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHd0Zi9Bc3NlcnRpb25zLmNwcDoKKyAgICAgICAgKiB3dGYvQXNz
ZXJ0aW9ucy5oOgorCiAyMDExLTA5LTI5ICBZdXFpYW5nIFhpYW4gIDx5dXFpYW5nLnhpYW5AaW50
ZWwuY29tPgogCiAgICAgICAgIEFkZCBvcF9jYWxsL29wX2NvbnN0cnVjdG9yIHN1cHBvcnQgdG8g
SlNWQUxVRTMyXzY0IERGRyBKSVQKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvQXNzZXJ0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMu
Y3BwCmluZGV4IDg4ZGM2MWE4ZDE2ZDZiNzEzMzY0OWNkZDYwMWMyNjExOTVkZGExZDYuLmQ2YzRk
NTljNDg2MzFhMzRjYjVhMmI5NzI5ODdiZGRjNTk1ZTZlMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93dGYvQXNzZXJ0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9Bc3NlcnRpb25zLmNwcApAQCAtNDcsOSArNDcsMTAgQEAKIAogI2lmIE9TKFdJTkRP
V1MpCiAjaW5jbHVkZSA8d2luZG93cy5oPgorI2luY2x1ZGUgPHdpbmJhc2UuaD4KICNlbmRpZgog
Ci0jaWYgUExBVEZPUk0oTUFDKQorI2lmIE9TKERBUldJTikgfHwgT1MoTElOVVgpCiAjaW5jbHVk
ZSA8Y3h4YWJpLmg+CiAjaW5jbHVkZSA8ZGxmY24uaD4KICNpbmNsdWRlIDxleGVjaW5mby5oPgpA
QCAtMTQwLDYgKzE0MSw4IEBAIHN0YXRpYyB2b2lkIHByaW50Q2FsbFNpdGUoY29uc3QgY2hhciog
ZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uKQogI2VuZGlmCiB9CiAKKworCiB2
b2lkIFdURlJlcG9ydEFzc2VydGlvbkZhaWx1cmUoY29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUs
IGNvbnN0IGNoYXIqIGZ1bmN0aW9uLCBjb25zdCBjaGFyKiBhc3NlcnRpb24pCiB7CiAgICAgaWYg
KGFzc2VydGlvbikKQEAgLTE2NiwzMiArMTY5LDQ0IEBAIHZvaWQgV1RGUmVwb3J0QXJndW1lbnRB
c3NlcnRpb25GYWlsdXJlKGNvbnN0IGNoYXIqIGZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyKiBm
CiAgICAgcHJpbnRDYWxsU2l0ZShmaWxlLCBsaW5lLCBmdW5jdGlvbik7CiB9CiAKK3ZvaWQgV1RG
R2V0QmFja3RyYWNlKHZvaWQqKiBzdGFjaywgaW50KiBzaXplKQoreworI2lmIE9TKERBUldJTikg
fHwgT1MoTElOVVgpCisgICAgKnNpemUgPSBiYWNrdHJhY2Uoc3RhY2ssICpzaXplKTsKKyNlbGlm
IE9TKFdJTkRPV1MpCisgICAgKnNpemUgPSBDYXB0dXJlU3RhY2tCYWNrVHJhY2UoMiwgKnNpemUs
IHN0YWNrLCAwKTsKKyNlbHNlCisgICAgKnNpemUgPSAwOworI2VuZGlmCit9CisKIHZvaWQgV1RG
UmVwb3J0QmFja3RyYWNlKCkKIHsKLSNpZiBQTEFURk9STShNQUMpCi0gICAgc3RhdGljIGNvbnN0
IGludCBtYXhGcmFtZXMgPSAzMjsKKyAgICBlbnVtIHsgbWF4RnJhbWVzID0gMzIgfTsKICAgICB2
b2lkKiBzYW1wbGVzW21heEZyYW1lc107Ci0gICAgaW50IGZyYW1lcyA9IGJhY2t0cmFjZShzYW1w
bGVzLCBtYXhGcmFtZXMpOworICAgIGludCBmcmFtZXMgPSBtYXhGcmFtZXM7CisKKyAgICBXVEZH
ZXRCYWNrdHJhY2Uoc2FtcGxlcywgJmZyYW1lcyk7CiAKICAgICBmb3IgKGludCBpID0gMTsgaSA8
IGZyYW1lczsgKytpKSB7Ci0gICAgICAgIHZvaWQqIHBvaW50ZXIgPSBzYW1wbGVzW2ldOworICAg
ICAgICBjb25zdCBjaGFyKiBtYW5nbGVkTmFtZSA9IDA7CisgICAgICAgIGNoYXIqIGN4YURlbWFu
Z2xlZCA9IDA7CiAKLSAgICAgICAgLy8gVHJ5IHRvIGdldCBhIHN5bWJvbCBuYW1lIGZyb20gdGhl
IGR5bmFtaWMgbGlua2VyLgorI2lmICFQTEFURk9STShRVCkgJiYgKE9TKERBUldJTikgfHwgT1Mo
TElOVVgpKQogICAgICAgICBEbF9pbmZvIGluZm87Ci0gICAgICAgIGlmIChkbGFkZHIocG9pbnRl
ciwgJmluZm8pICYmIGluZm8uZGxpX3NuYW1lKSB7Ci0gICAgICAgICAgICBjb25zdCBjaGFyKiBt
YW5nbGVkTmFtZSA9IGluZm8uZGxpX3NuYW1lOwotCi0gICAgICAgICAgICAvLyBBc3N1bWUgYysr
ICYgdHJ5IHRvIGRlbWFuZ2xlIHRoZSBuYW1lLgotICAgICAgICAgICAgY2hhciogZGVtYW5nbGVk
TmFtZSA9IGFiaTo6X19jeGFfZGVtYW5nbGUobWFuZ2xlZE5hbWUsIDAsIDAsIDApOwotICAgICAg
ICAgICAgaWYgKGRlbWFuZ2xlZE5hbWUpIHsKLSAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVy
ciwgIiUtM2QgJXNcbiIsIGksIGRlbWFuZ2xlZE5hbWUpOwotICAgICAgICAgICAgICAgIGZyZWUo
ZGVtYW5nbGVkTmFtZSk7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICBmcHJp
bnRmKHN0ZGVyciwgIiUtM2QgJXNcbiIsIGksIG1hbmdsZWROYW1lKTsKLSAgICAgICAgfSBlbHNl
Ci0gICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIiUtM2QgJXBcbiIsIGksIHBvaW50ZXIpOwot
ICAgIH0KKyAgICAgICAgaWYgKGRsYWRkcihzYW1wbGVzW2ldLCAmaW5mbykgJiYgaW5mby5kbGlf
c25hbWUpCisgICAgICAgICAgICBtYW5nbGVkTmFtZSA9IGluZm8uZGxpX3NuYW1lOworICAgICAg
ICBpZiAobWFuZ2xlZE5hbWUpCisgICAgICAgICAgICBjeGFEZW1hbmdsZWQgPSBhYmk6Ol9fY3hh
X2RlbWFuZ2xlKG1hbmdsZWROYW1lLCAwLCAwLCAwKTsKICNlbmRpZgorICAgICAgICBpZiAobWFu
Z2xlZE5hbWUgfHwgY3hhRGVtYW5nbGVkKQorICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICIl
LTNkICVwICVzXG4iLCBpLCBzYW1wbGVzW2ldLCBjeGFEZW1hbmdsZWQgPyBjeGFEZW1hbmdsZWQg
OiBtYW5nbGVkTmFtZSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGZwcmludGYoc3RkZXJy
LCAiJS0zZCAlcFxuIiwgaSwgc2FtcGxlc1tpXSk7CisKKyAgICAgICAgaWYgKGN4YURlbWFuZ2xl
ZCkKKyAgICAgICAgICAgIGZyZWUoY3hhRGVtYW5nbGVkKTsKKyAgICB9CiB9CiAKIHZvaWQgV1RG
UmVwb3J0RmF0YWxFcnJvcihjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciog
ZnVuY3Rpb24sIGNvbnN0IGNoYXIqIGZvcm1hdCwgLi4uKQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRpb25zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L0Fzc2VydGlvbnMuaAppbmRleCAzMGZlNjBmZjNmNzU0NzY2ZjFlMmU3OWQxYzIwNWJjYTBmMWQw
OGU1Li5hZTljNTEwMDBiN2FmZDZiOGRkMTE2MTI5M2RhYTU0NzQ2YmNmMzI5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuaApAQCAtMTQ0LDEyICsxNDQsMTUgQEAgdHlwZWRl
ZiBzdHJ1Y3QgewogV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgV1RGUmVwb3J0QXNzZXJ0aW9uRmFp
bHVyZShjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciogZnVuY3Rpb24sIGNv
bnN0IGNoYXIqIGFzc2VydGlvbik7CiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZSZXBvcnRB
c3NlcnRpb25GYWlsdXJlV2l0aE1lc3NhZ2UoY29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNv
bnN0IGNoYXIqIGZ1bmN0aW9uLCBjb25zdCBjaGFyKiBhc3NlcnRpb24sIGNvbnN0IGNoYXIqIGZv
cm1hdCwgLi4uKSBXVEZfQVRUUklCVVRFX1BSSU5URig1LCA2KTsKIFdURl9FWFBPUlRfUFJJVkFU
RSB2b2lkIFdURlJlcG9ydEFyZ3VtZW50QXNzZXJ0aW9uRmFpbHVyZShjb25zdCBjaGFyKiBmaWxl
LCBpbnQgbGluZSwgY29uc3QgY2hhciogZnVuY3Rpb24sIGNvbnN0IGNoYXIqIGFyZ05hbWUsIGNv
bnN0IGNoYXIqIGFzc2VydGlvbik7Ci1XVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZSZXBvcnRC
YWNrdHJhY2UoKTsKIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURlJlcG9ydEZhdGFsRXJyb3Io
Y29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uLCBjb25zdCBj
aGFyKiBmb3JtYXQsIC4uLikgV1RGX0FUVFJJQlVURV9QUklOVEYoNCwgNSk7CiBXVEZfRVhQT1JU
X1BSSVZBVEUgdm9pZCBXVEZSZXBvcnRFcnJvcihjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSwg
Y29uc3QgY2hhciogZnVuY3Rpb24sIGNvbnN0IGNoYXIqIGZvcm1hdCwgLi4uKSBXVEZfQVRUUklC
VVRFX1BSSU5URig0LCA1KTsKIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURkxvZyhXVEZMb2dD
aGFubmVsKiwgY29uc3QgY2hhciogZm9ybWF0LCAuLi4pIFdURl9BVFRSSUJVVEVfUFJJTlRGKDIs
IDMpOwogV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgV1RGTG9nVmVyYm9zZShjb25zdCBjaGFyKiBm
aWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciogZnVuY3Rpb24sIFdURkxvZ0NoYW5uZWwqLCBjb25z
dCBjaGFyKiBmb3JtYXQsIC4uLikgV1RGX0FUVFJJQlVURV9QUklOVEYoNSwgNik7CiAKK1dURl9F
WFBPUlRfUFJJVkFURSB2b2lkIFdURkdldEJhY2t0cmFjZSh2b2lkKiogc3RhY2ssIGludCogc2l6
ZSk7CitXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZSZXBvcnRCYWNrdHJhY2UoKTsKKworCiAj
aWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109316</attachid>
            <date>2011-09-30 11:16:53 -0700</date>
            <delta_ts>2011-10-03 10:49:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69018-20110930141651.patch</filename>
            <type>text/plain</type>
            <size>5352</size>
            <attacher name="Gavin Peters">gavinp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTYzOTcKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGI5
Mjc5OTdlODBlYjJjMWNiZmU0ZGNkN2RhNWU4ZDAxOGI2ZjUwMTYuLjg3NmQwMjlkZTM0ZDljNTJh
NjU2Y2RlZWE2Zjc0ZTJiOTIwYjgyZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE4IEBACisyMDExLTA5LTI4ICBHYXZpbiBQZXRlcnMgIDxnYXZpbnBAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIGFkZCBtb3JlIHN0YWNrIGR1bXBpbmcgbWV0aG9kcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwMTgKKworICAgICAgICBJbiBh
ZGRpdGlvbiB0byBXVEZSZXBvcnRCYWNrdHJhY2UsIHRoaXMgYWRkcyB0aGUgY3Jvc3MtcGxhdGZv
cm0gV1RGR2V0QmFja3RyYWNlLCB3aGljaCBsZXRzCisgICAgICAgIFdlYktpdCBwcm9ncmFtbWF0
aWNhbGx5IHJldHJpZXZlIHRoZSBjdXJyZW50IHN0YWNrLiAgVGhpcyBpcyB1c2VmdWwgaWYgeW91
IG5lZWQgdG8gYWRkIG1vcmUKKyAgICAgICAgcmVwb3J0aW5nIHRvIGZpZWxkIGNyYXNoIHJlcG9y
dCB1cGxvYWRzLCBpZiB5b3UncmUgdHJhY2tpbmcgZG93biBhbiBpcnJlcHJvZHVjYWJsZSBidWcs
CisgICAgICAgIGZvciBpbnN0YW5jZS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHd0Zi9Bc3NlcnRpb25zLmNwcDoKKyAgICAgICAgKiB3dGYvQXNz
ZXJ0aW9ucy5oOgorCiAyMDExLTA5LTI5ICBZdXFpYW5nIFhpYW4gIDx5dXFpYW5nLnhpYW5AaW50
ZWwuY29tPgogCiAgICAgICAgIEFkZCBvcF9jYWxsL29wX2NvbnN0cnVjdG9yIHN1cHBvcnQgdG8g
SlNWQUxVRTMyXzY0IERGRyBKSVQKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvQXNzZXJ0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMu
Y3BwCmluZGV4IDg4ZGM2MWE4ZDE2ZDZiNzEzMzY0OWNkZDYwMWMyNjExOTVkZGExZDYuLmUxZmYy
OWUxM2ExZDlmMjVjODdmNmFjYjAwOThjZmE0ZmQwOGQxODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93dGYvQXNzZXJ0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9Bc3NlcnRpb25zLmNwcApAQCAtNDcsOSArNDcsMTEgQEAKIAogI2lmIE9TKFdJTkRP
V1MpCiAjaW5jbHVkZSA8d2luZG93cy5oPgorI2luY2x1ZGUgPHdpbmJhc2UuaD4KKyNpbmNsdWRl
IDxkYmdoZWxwLmg+CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKE1BQykKKyNpZiBPUyhEQVJXSU4p
IHx8IE9TKExJTlVYKQogI2luY2x1ZGUgPGN4eGFiaS5oPgogI2luY2x1ZGUgPGRsZmNuLmg+CiAj
aW5jbHVkZSA8ZXhlY2luZm8uaD4KQEAgLTE0MCw2ICsxNDIsOCBAQCBzdGF0aWMgdm9pZCBwcmlu
dENhbGxTaXRlKGNvbnN0IGNoYXIqIGZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyKiBmdW5jdGlv
bikKICNlbmRpZgogfQogCisKKwogdm9pZCBXVEZSZXBvcnRBc3NlcnRpb25GYWlsdXJlKGNvbnN0
IGNoYXIqIGZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyKiBmdW5jdGlvbiwgY29uc3QgY2hhciog
YXNzZXJ0aW9uKQogewogICAgIGlmIChhc3NlcnRpb24pCkBAIC0xNjYsMzIgKzE3MCw0NCBAQCB2
b2lkIFdURlJlcG9ydEFyZ3VtZW50QXNzZXJ0aW9uRmFpbHVyZShjb25zdCBjaGFyKiBmaWxlLCBp
bnQgbGluZSwgY29uc3QgY2hhciogZgogICAgIHByaW50Q2FsbFNpdGUoZmlsZSwgbGluZSwgZnVu
Y3Rpb24pOwogfQogCit2b2lkIFdURkdldEJhY2t0cmFjZSh2b2lkKiogc3RhY2ssIGludCogc2l6
ZSkKK3sKKyNpZiBPUyhEQVJXSU4pIHx8IE9TKExJTlVYKQorICAgICpzaXplID0gYmFja3RyYWNl
KHN0YWNrLCAqc2l6ZSk7CisjZWxpZiBPUyhXSU5ET1dTKQorICAgICpzaXplID0gQ2FwdHVyZVN0
YWNrQmFja1RyYWNlKDEsICpzaXplLCBzdGFjaywgMCk7CisjZWxzZQorICAgICpzaXplID0gMDsK
KyNlbmRpZgorfQorCiB2b2lkIFdURlJlcG9ydEJhY2t0cmFjZSgpCiB7Ci0jaWYgUExBVEZPUk0o
TUFDKQotICAgIHN0YXRpYyBjb25zdCBpbnQgbWF4RnJhbWVzID0gMzI7CisgICAgZW51bSB7IG1h
eEZyYW1lcyA9IDMyIH07CiAgICAgdm9pZCogc2FtcGxlc1ttYXhGcmFtZXNdOwotICAgIGludCBm
cmFtZXMgPSBiYWNrdHJhY2Uoc2FtcGxlcywgbWF4RnJhbWVzKTsKKyAgICBpbnQgZnJhbWVzID0g
bWF4RnJhbWVzOworCisgICAgV1RGR2V0QmFja3RyYWNlKHNhbXBsZXMsICZmcmFtZXMpOwogCiAg
ICAgZm9yIChpbnQgaSA9IDE7IGkgPCBmcmFtZXM7ICsraSkgewotICAgICAgICB2b2lkKiBwb2lu
dGVyID0gc2FtcGxlc1tpXTsKKyAgICAgICAgY29uc3QgY2hhciogbWFuZ2xlZE5hbWUgPSAwOwor
ICAgICAgICBjaGFyKiBjeGFEZW1hbmdsZWQgPSAwOwogCi0gICAgICAgIC8vIFRyeSB0byBnZXQg
YSBzeW1ib2wgbmFtZSBmcm9tIHRoZSBkeW5hbWljIGxpbmtlci4KKyNpZiAhUExBVEZPUk0oUVQp
ICYmIChPUyhEQVJXSU4pIHx8IE9TKExJTlVYKSkKICAgICAgICAgRGxfaW5mbyBpbmZvOwotICAg
ICAgICBpZiAoZGxhZGRyKHBvaW50ZXIsICZpbmZvKSAmJiBpbmZvLmRsaV9zbmFtZSkgewotICAg
ICAgICAgICAgY29uc3QgY2hhciogbWFuZ2xlZE5hbWUgPSBpbmZvLmRsaV9zbmFtZTsKLQotICAg
ICAgICAgICAgLy8gQXNzdW1lIGMrKyAmIHRyeSB0byBkZW1hbmdsZSB0aGUgbmFtZS4KLSAgICAg
ICAgICAgIGNoYXIqIGRlbWFuZ2xlZE5hbWUgPSBhYmk6Ol9fY3hhX2RlbWFuZ2xlKG1hbmdsZWRO
YW1lLCAwLCAwLCAwKTsKLSAgICAgICAgICAgIGlmIChkZW1hbmdsZWROYW1lKSB7Ci0gICAgICAg
ICAgICAgICAgZnByaW50ZihzdGRlcnIsICIlLTNkICVzXG4iLCBpLCBkZW1hbmdsZWROYW1lKTsK
LSAgICAgICAgICAgICAgICBmcmVlKGRlbWFuZ2xlZE5hbWUpOwotICAgICAgICAgICAgfSBlbHNl
Ci0gICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICIlLTNkICVzXG4iLCBpLCBtYW5nbGVk
TmFtZSk7Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICIlLTNk
ICVwXG4iLCBpLCBwb2ludGVyKTsKLSAgICB9CisgICAgICAgIGlmIChkbGFkZHIoc2FtcGxlc1tp
XSwgJmluZm8pICYmIGluZm8uZGxpX3NuYW1lKQorICAgICAgICAgICAgbWFuZ2xlZE5hbWUgPSBp
bmZvLmRsaV9zbmFtZTsKKyAgICAgICAgaWYgKG1hbmdsZWROYW1lKQorICAgICAgICAgICAgY3hh
RGVtYW5nbGVkID0gYWJpOjpfX2N4YV9kZW1hbmdsZShtYW5nbGVkTmFtZSwgMCwgMCwgMCk7CiAj
ZW5kaWYKKyAgICAgICAgaWYgKG1hbmdsZWROYW1lIHx8IGN4YURlbWFuZ2xlZCkKKyAgICAgICAg
ICAgIGZwcmludGYoc3RkZXJyLCAiJS0zZCAlcCAlc1xuIiwgaSwgc2FtcGxlc1tpXSwgY3hhRGVt
YW5nbGVkID8gY3hhRGVtYW5nbGVkIDogbWFuZ2xlZE5hbWUpOworICAgICAgICBlbHNlCisgICAg
ICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIiUtM2QgJXBcbiIsIGksIHNhbXBsZXNbaV0pOworCisg
ICAgICAgIGlmIChjeGFEZW1hbmdsZWQpCisgICAgICAgICAgICBmcmVlKGN4YURlbWFuZ2xlZCk7
CisgICAgfQogfQogCiB2b2lkIFdURlJlcG9ydEZhdGFsRXJyb3IoY29uc3QgY2hhciogZmlsZSwg
aW50IGxpbmUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uLCBjb25zdCBjaGFyKiBmb3JtYXQsIC4uLikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQXNzZXJ0aW9ucy5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRpb25zLmgKaW5kZXggMzBmZTYwZmYzZjc1NDc2
NmYxZTJlNzlkMWMyMDViY2EwZjFkMDhlNS4uYWU5YzUxMDAwYjdhZmQ2YjhkZDExNjEyOTNkYWE1
NDc0NmJjZjMyOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRp
b25zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRpb25zLmgKQEAgLTE0
NCwxMiArMTQ0LDE1IEBAIHR5cGVkZWYgc3RydWN0IHsKIFdURl9FWFBPUlRfUFJJVkFURSB2b2lk
IFdURlJlcG9ydEFzc2VydGlvbkZhaWx1cmUoY29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNv
bnN0IGNoYXIqIGZ1bmN0aW9uLCBjb25zdCBjaGFyKiBhc3NlcnRpb24pOwogV1RGX0VYUE9SVF9Q
UklWQVRFIHZvaWQgV1RGUmVwb3J0QXNzZXJ0aW9uRmFpbHVyZVdpdGhNZXNzYWdlKGNvbnN0IGNo
YXIqIGZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyKiBmdW5jdGlvbiwgY29uc3QgY2hhciogYXNz
ZXJ0aW9uLCBjb25zdCBjaGFyKiBmb3JtYXQsIC4uLikgV1RGX0FUVFJJQlVURV9QUklOVEYoNSwg
Nik7CiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZSZXBvcnRBcmd1bWVudEFzc2VydGlvbkZh
aWx1cmUoY29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uLCBj
b25zdCBjaGFyKiBhcmdOYW1lLCBjb25zdCBjaGFyKiBhc3NlcnRpb24pOwotV1RGX0VYUE9SVF9Q
UklWQVRFIHZvaWQgV1RGUmVwb3J0QmFja3RyYWNlKCk7CiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9p
ZCBXVEZSZXBvcnRGYXRhbEVycm9yKGNvbnN0IGNoYXIqIGZpbGUsIGludCBsaW5lLCBjb25zdCBj
aGFyKiBmdW5jdGlvbiwgY29uc3QgY2hhciogZm9ybWF0LCAuLi4pIFdURl9BVFRSSUJVVEVfUFJJ
TlRGKDQsIDUpOwogV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgV1RGUmVwb3J0RXJyb3IoY29uc3Qg
Y2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uLCBjb25zdCBjaGFyKiBm
b3JtYXQsIC4uLikgV1RGX0FUVFJJQlVURV9QUklOVEYoNCwgNSk7CiBXVEZfRVhQT1JUX1BSSVZB
VEUgdm9pZCBXVEZMb2coV1RGTG9nQ2hhbm5lbCosIGNvbnN0IGNoYXIqIGZvcm1hdCwgLi4uKSBX
VEZfQVRUUklCVVRFX1BSSU5URigyLCAzKTsKIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURkxv
Z1ZlcmJvc2UoY29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9u
LCBXVEZMb2dDaGFubmVsKiwgY29uc3QgY2hhciogZm9ybWF0LCAuLi4pIFdURl9BVFRSSUJVVEVf
UFJJTlRGKDUsIDYpOwogCitXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZHZXRCYWNrdHJhY2Uo
dm9pZCoqIHN0YWNrLCBpbnQqIHNpemUpOworV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgV1RGUmVw
b3J0QmFja3RyYWNlKCk7CisKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109494</attachid>
            <date>2011-10-03 10:49:10 -0700</date>
            <delta_ts>2011-10-03 17:31:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69018-20111003134908.patch</filename>
            <type>text/plain</type>
            <size>5949</size>
            <attacher name="Gavin Peters">gavinp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTYzOTcKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGI5
Mjc5OTdlODBlYjJjMWNiZmU0ZGNkN2RhNWU4ZDAxOGI2ZjUwMTYuLjg3NmQwMjlkZTM0ZDljNTJh
NjU2Y2RlZWE2Zjc0ZTJiOTIwYjgyZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE4IEBACisyMDExLTA5LTI4ICBHYXZpbiBQZXRlcnMgIDxnYXZpbnBAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIGFkZCBtb3JlIHN0YWNrIGR1bXBpbmcgbWV0aG9kcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwMTgKKworICAgICAgICBJbiBh
ZGRpdGlvbiB0byBXVEZSZXBvcnRCYWNrdHJhY2UsIHRoaXMgYWRkcyB0aGUgY3Jvc3MtcGxhdGZv
cm0gV1RGR2V0QmFja3RyYWNlLCB3aGljaCBsZXRzCisgICAgICAgIFdlYktpdCBwcm9ncmFtbWF0
aWNhbGx5IHJldHJpZXZlIHRoZSBjdXJyZW50IHN0YWNrLiAgVGhpcyBpcyB1c2VmdWwgaWYgeW91
IG5lZWQgdG8gYWRkIG1vcmUKKyAgICAgICAgcmVwb3J0aW5nIHRvIGZpZWxkIGNyYXNoIHJlcG9y
dCB1cGxvYWRzLCBpZiB5b3UncmUgdHJhY2tpbmcgZG93biBhbiBpcnJlcHJvZHVjYWJsZSBidWcs
CisgICAgICAgIGZvciBpbnN0YW5jZS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHd0Zi9Bc3NlcnRpb25zLmNwcDoKKyAgICAgICAgKiB3dGYvQXNz
ZXJ0aW9ucy5oOgorCiAyMDExLTA5LTI5ICBZdXFpYW5nIFhpYW4gIDx5dXFpYW5nLnhpYW5AaW50
ZWwuY29tPgogCiAgICAgICAgIEFkZCBvcF9jYWxsL29wX2NvbnN0cnVjdG9yIHN1cHBvcnQgdG8g
SlNWQUxVRTMyXzY0IERGRyBKSVQKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvQXNzZXJ0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMu
Y3BwCmluZGV4IDg4ZGM2MWE4ZDE2ZDZiNzEzMzY0OWNkZDYwMWMyNjExOTVkZGExZDYuLjgwMDMx
MmNkM2FkOTJlMmNjMzYxYWI5NmYxMGIwNjllN2M5MDZlNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93dGYvQXNzZXJ0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9Bc3NlcnRpb25zLmNwcApAQCAtNDksNyArNDksNyBAQAogI2luY2x1ZGUgPHdpbmRv
d3MuaD4KICNlbmRpZgogCi0jaWYgUExBVEZPUk0oTUFDKQorI2lmIE9TKERBUldJTikgfHwgT1Mo
TElOVVgpCiAjaW5jbHVkZSA8Y3h4YWJpLmg+CiAjaW5jbHVkZSA8ZGxmY24uaD4KICNpbmNsdWRl
IDxleGVjaW5mby5oPgpAQCAtMTQwLDYgKzE0MCw4IEBAIHN0YXRpYyB2b2lkIHByaW50Q2FsbFNp
dGUoY29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uKQogI2Vu
ZGlmCiB9CiAKKworCiB2b2lkIFdURlJlcG9ydEFzc2VydGlvbkZhaWx1cmUoY29uc3QgY2hhciog
ZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uLCBjb25zdCBjaGFyKiBhc3NlcnRp
b24pCiB7CiAgICAgaWYgKGFzc2VydGlvbikKQEAgLTE2NiwzMiArMTY4LDU4IEBAIHZvaWQgV1RG
UmVwb3J0QXJndW1lbnRBc3NlcnRpb25GYWlsdXJlKGNvbnN0IGNoYXIqIGZpbGUsIGludCBsaW5l
LCBjb25zdCBjaGFyKiBmCiAgICAgcHJpbnRDYWxsU2l0ZShmaWxlLCBsaW5lLCBmdW5jdGlvbik7
CiB9CiAKK3ZvaWQgV1RGR2V0QmFja3RyYWNlKHZvaWQqKiBzdGFjaywgaW50KiBzaXplKQorewor
I2lmIE9TKERBUldJTikgfHwgT1MoTElOVVgpCisgICAgKnNpemUgPSBiYWNrdHJhY2Uoc3RhY2ss
ICpzaXplKTsKKyNlbGlmIE9TKFdJTkRPV1MpCisgICAgLy8gVGhlIENhcHR1cmVTdGFja0JhY2tU
cmFjZSBmdW5jdGlvbiBpcyBhdmFpbGFibGUgaW4gWFAsIGJ1dCBpdCBpcyBub3QgZGVmaW5lZAor
ICAgIC8vIGluIHRoZSBXaW5kb3dzIFNlcnZlciAyMDAzIFIyIFBsYXRmb3JtIFNESy4gU28sIHdl
J2xsIGdyYWIgdGhlIGZ1bmN0aW9uCisgICAgLy8gdGhyb3VnaCBHZXRQcm9jQWRkcmVzcy4KKyAg
ICB0eXBlZGVmIFdPUkQgKE5UQVBJKiBSdGxDYXB0dXJlU3RhY2tCYWNrVHJhY2VGdW5jKShEV09S
RCwgRFdPUkQsIFBWT0lEKiwgUERXT1JEKTsKKyAgICBITU9EVUxFIGtlcm5lbDMyID0gOjpHZXRN
b2R1bGVIYW5kbGVXKEwiS2VybmVsMzIuZGxsIik7CisgICAgaWYgKCFrZXJuZWwzMikgeworICAg
ICAgICAqc2l6ZSA9IDA7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgUnRsQ2FwdHVyZVN0
YWNrQmFja1RyYWNlRnVuYyBjYXB0dXJlU3RhY2tCYWNrVHJhY2VGdW5jID0gcmVpbnRlcnByZXRf
Y2FzdDxSdGxDYXB0dXJlU3RhY2tCYWNrVHJhY2VGdW5jPigKKyAgICAgICAgOjpHZXRQcm9jQWRk
cmVzcyhrZXJuZWwzMiwgIlJ0bENhcHR1cmVTdGFja0JhY2tUcmFjZSIpKTsKKyAgICBpZiAoY2Fw
dHVyZVN0YWNrQmFja1RyYWNlRnVuYykKKyAgICAgICAgKnNpemUgPSBjYXB0dXJlU3RhY2tCYWNr
VHJhY2VGdW5jKDEsICpzaXplLCBzdGFjaywgMCk7CisgICAgZWxzZQorICAgICAgICAqc2l6ZSA9
IDA7CisjZWxzZQorICAgICpzaXplID0gMDsKKyNlbmRpZgorfQorCiB2b2lkIFdURlJlcG9ydEJh
Y2t0cmFjZSgpCiB7Ci0jaWYgUExBVEZPUk0oTUFDKQotICAgIHN0YXRpYyBjb25zdCBpbnQgbWF4
RnJhbWVzID0gMzI7CisgICAgZW51bSB7IG1heEZyYW1lcyA9IDMyIH07CiAgICAgdm9pZCogc2Ft
cGxlc1ttYXhGcmFtZXNdOwotICAgIGludCBmcmFtZXMgPSBiYWNrdHJhY2Uoc2FtcGxlcywgbWF4
RnJhbWVzKTsKKyAgICBpbnQgZnJhbWVzID0gbWF4RnJhbWVzOworCisgICAgV1RGR2V0QmFja3Ry
YWNlKHNhbXBsZXMsICZmcmFtZXMpOwogCiAgICAgZm9yIChpbnQgaSA9IDE7IGkgPCBmcmFtZXM7
ICsraSkgewotICAgICAgICB2b2lkKiBwb2ludGVyID0gc2FtcGxlc1tpXTsKKyAgICAgICAgY29u
c3QgY2hhciogbWFuZ2xlZE5hbWUgPSAwOworICAgICAgICBjaGFyKiBjeGFEZW1hbmdsZWQgPSAw
OwogCi0gICAgICAgIC8vIFRyeSB0byBnZXQgYSBzeW1ib2wgbmFtZSBmcm9tIHRoZSBkeW5hbWlj
IGxpbmtlci4KKyNpZiAhUExBVEZPUk0oUVQpICYmIChPUyhEQVJXSU4pIHx8IE9TKExJTlVYKSkK
ICAgICAgICAgRGxfaW5mbyBpbmZvOwotICAgICAgICBpZiAoZGxhZGRyKHBvaW50ZXIsICZpbmZv
KSAmJiBpbmZvLmRsaV9zbmFtZSkgewotICAgICAgICAgICAgY29uc3QgY2hhciogbWFuZ2xlZE5h
bWUgPSBpbmZvLmRsaV9zbmFtZTsKLQotICAgICAgICAgICAgLy8gQXNzdW1lIGMrKyAmIHRyeSB0
byBkZW1hbmdsZSB0aGUgbmFtZS4KLSAgICAgICAgICAgIGNoYXIqIGRlbWFuZ2xlZE5hbWUgPSBh
Ymk6Ol9fY3hhX2RlbWFuZ2xlKG1hbmdsZWROYW1lLCAwLCAwLCAwKTsKLSAgICAgICAgICAgIGlm
IChkZW1hbmdsZWROYW1lKSB7Ci0gICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICIlLTNk
ICVzXG4iLCBpLCBkZW1hbmdsZWROYW1lKTsKLSAgICAgICAgICAgICAgICBmcmVlKGRlbWFuZ2xl
ZE5hbWUpOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgZnByaW50ZihzdGRl
cnIsICIlLTNkICVzXG4iLCBpLCBtYW5nbGVkTmFtZSk7Ci0gICAgICAgIH0gZWxzZQotICAgICAg
ICAgICAgZnByaW50ZihzdGRlcnIsICIlLTNkICVwXG4iLCBpLCBwb2ludGVyKTsKLSAgICB9Cisg
ICAgICAgIGlmIChkbGFkZHIoc2FtcGxlc1tpXSwgJmluZm8pICYmIGluZm8uZGxpX3NuYW1lKQor
ICAgICAgICAgICAgbWFuZ2xlZE5hbWUgPSBpbmZvLmRsaV9zbmFtZTsKKyAgICAgICAgaWYgKG1h
bmdsZWROYW1lKQorICAgICAgICAgICAgY3hhRGVtYW5nbGVkID0gYWJpOjpfX2N4YV9kZW1hbmds
ZShtYW5nbGVkTmFtZSwgMCwgMCwgMCk7CiAjZW5kaWYKKyAgICAgICAgaWYgKG1hbmdsZWROYW1l
IHx8IGN4YURlbWFuZ2xlZCkKKyAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiJS0zZCAlcCAl
c1xuIiwgaSwgc2FtcGxlc1tpXSwgY3hhRGVtYW5nbGVkID8gY3hhRGVtYW5nbGVkIDogbWFuZ2xl
ZE5hbWUpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIiUtM2Qg
JXBcbiIsIGksIHNhbXBsZXNbaV0pOworCisgICAgICAgIGlmIChjeGFEZW1hbmdsZWQpCisgICAg
ICAgICAgICBmcmVlKGN4YURlbWFuZ2xlZCk7CisgICAgfQogfQogCiB2b2lkIFdURlJlcG9ydEZh
dGFsRXJyb3IoY29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9u
LCBjb25zdCBjaGFyKiBmb3JtYXQsIC4uLikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvQXNzZXJ0aW9ucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRp
b25zLmgKaW5kZXggMzBmZTYwZmYzZjc1NDc2NmYxZTJlNzlkMWMyMDViY2EwZjFkMDhlNS4uYWU5
YzUxMDAwYjdhZmQ2YjhkZDExNjEyOTNkYWE1NDc0NmJjZjMyOSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRpb25zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9Bc3NlcnRpb25zLmgKQEAgLTE0NCwxMiArMTQ0LDE1IEBAIHR5cGVkZWYgc3RydWN0
IHsKIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURlJlcG9ydEFzc2VydGlvbkZhaWx1cmUoY29u
c3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uLCBjb25zdCBjaGFy
KiBhc3NlcnRpb24pOwogV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgV1RGUmVwb3J0QXNzZXJ0aW9u
RmFpbHVyZVdpdGhNZXNzYWdlKGNvbnN0IGNoYXIqIGZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFy
KiBmdW5jdGlvbiwgY29uc3QgY2hhciogYXNzZXJ0aW9uLCBjb25zdCBjaGFyKiBmb3JtYXQsIC4u
LikgV1RGX0FUVFJJQlVURV9QUklOVEYoNSwgNik7CiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBX
VEZSZXBvcnRBcmd1bWVudEFzc2VydGlvbkZhaWx1cmUoY29uc3QgY2hhciogZmlsZSwgaW50IGxp
bmUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uLCBjb25zdCBjaGFyKiBhcmdOYW1lLCBjb25zdCBjaGFy
KiBhc3NlcnRpb24pOwotV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgV1RGUmVwb3J0QmFja3RyYWNl
KCk7CiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZSZXBvcnRGYXRhbEVycm9yKGNvbnN0IGNo
YXIqIGZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyKiBmdW5jdGlvbiwgY29uc3QgY2hhciogZm9y
bWF0LCAuLi4pIFdURl9BVFRSSUJVVEVfUFJJTlRGKDQsIDUpOwogV1RGX0VYUE9SVF9QUklWQVRF
IHZvaWQgV1RGUmVwb3J0RXJyb3IoY29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNo
YXIqIGZ1bmN0aW9uLCBjb25zdCBjaGFyKiBmb3JtYXQsIC4uLikgV1RGX0FUVFJJQlVURV9QUklO
VEYoNCwgNSk7CiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZMb2coV1RGTG9nQ2hhbm5lbCos
IGNvbnN0IGNoYXIqIGZvcm1hdCwgLi4uKSBXVEZfQVRUUklCVVRFX1BSSU5URigyLCAzKTsKIFdU
Rl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURkxvZ1ZlcmJvc2UoY29uc3QgY2hhciogZmlsZSwgaW50
IGxpbmUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uLCBXVEZMb2dDaGFubmVsKiwgY29uc3QgY2hhciog
Zm9ybWF0LCAuLi4pIFdURl9BVFRSSUJVVEVfUFJJTlRGKDUsIDYpOwogCitXVEZfRVhQT1JUX1BS
SVZBVEUgdm9pZCBXVEZHZXRCYWNrdHJhY2Uodm9pZCoqIHN0YWNrLCBpbnQqIHNpemUpOworV1RG
X0VYUE9SVF9QUklWQVRFIHZvaWQgV1RGUmVwb3J0QmFja3RyYWNlKCk7CisKKwogI2lmZGVmIF9f
Y3BsdXNwbHVzCiB9CiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109560</attachid>
            <date>2011-10-03 17:32:04 -0700</date>
            <delta_ts>2011-10-06 06:35:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69018-20111003203202.patch</filename>
            <type>text/plain</type>
            <size>5673</size>
            <attacher name="Gavin Peters">gavinp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTYzOTcKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGI5
Mjc5OTdlODBlYjJjMWNiZmU0ZGNkN2RhNWU4ZDAxOGI2ZjUwMTYuLjg3NmQwMjlkZTM0ZDljNTJh
NjU2Y2RlZWE2Zjc0ZTJiOTIwYjgyZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE4IEBACisyMDExLTA5LTI4ICBHYXZpbiBQZXRlcnMgIDxnYXZpbnBAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIGFkZCBtb3JlIHN0YWNrIGR1bXBpbmcgbWV0aG9kcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwMTgKKworICAgICAgICBJbiBh
ZGRpdGlvbiB0byBXVEZSZXBvcnRCYWNrdHJhY2UsIHRoaXMgYWRkcyB0aGUgY3Jvc3MtcGxhdGZv
cm0gV1RGR2V0QmFja3RyYWNlLCB3aGljaCBsZXRzCisgICAgICAgIFdlYktpdCBwcm9ncmFtbWF0
aWNhbGx5IHJldHJpZXZlIHRoZSBjdXJyZW50IHN0YWNrLiAgVGhpcyBpcyB1c2VmdWwgaWYgeW91
IG5lZWQgdG8gYWRkIG1vcmUKKyAgICAgICAgcmVwb3J0aW5nIHRvIGZpZWxkIGNyYXNoIHJlcG9y
dCB1cGxvYWRzLCBpZiB5b3UncmUgdHJhY2tpbmcgZG93biBhbiBpcnJlcHJvZHVjYWJsZSBidWcs
CisgICAgICAgIGZvciBpbnN0YW5jZS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHd0Zi9Bc3NlcnRpb25zLmNwcDoKKyAgICAgICAgKiB3dGYvQXNz
ZXJ0aW9ucy5oOgorCiAyMDExLTA5LTI5ICBZdXFpYW5nIFhpYW4gIDx5dXFpYW5nLnhpYW5AaW50
ZWwuY29tPgogCiAgICAgICAgIEFkZCBvcF9jYWxsL29wX2NvbnN0cnVjdG9yIHN1cHBvcnQgdG8g
SlNWQUxVRTMyXzY0IERGRyBKSVQKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvQXNzZXJ0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMu
Y3BwCmluZGV4IDg4ZGM2MWE4ZDE2ZDZiNzEzMzY0OWNkZDYwMWMyNjExOTVkZGExZDYuLmJiYTIz
ZDhmNDU3NDM4YmU1NjQwNDBjMzY2N2E4YjVmNjU2OTdkNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93dGYvQXNzZXJ0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9Bc3NlcnRpb25zLmNwcApAQCAtNDksNyArNDksNyBAQAogI2luY2x1ZGUgPHdpbmRv
d3MuaD4KICNlbmRpZgogCi0jaWYgUExBVEZPUk0oTUFDKQorI2lmIE9TKERBUldJTikgfHwgT1Mo
TElOVVgpCiAjaW5jbHVkZSA8Y3h4YWJpLmg+CiAjaW5jbHVkZSA8ZGxmY24uaD4KICNpbmNsdWRl
IDxleGVjaW5mby5oPgpAQCAtMTY2LDMyICsxNjYsNTYgQEAgdm9pZCBXVEZSZXBvcnRBcmd1bWVu
dEFzc2VydGlvbkZhaWx1cmUoY29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIq
IGYKICAgICBwcmludENhbGxTaXRlKGZpbGUsIGxpbmUsIGZ1bmN0aW9uKTsKIH0KIAordm9pZCBX
VEZHZXRCYWNrdHJhY2Uodm9pZCoqIHN0YWNrLCBpbnQqIHNpemUpCit7CisjaWYgT1MoREFSV0lO
KSB8fCBPUyhMSU5VWCkKKyAgICAqc2l6ZSA9IGJhY2t0cmFjZShzdGFjaywgKnNpemUpOworI2Vs
aWYgT1MoV0lORE9XUykKKyAgICAvLyBUaGUgQ2FwdHVyZVN0YWNrQmFja1RyYWNlIGZ1bmN0aW9u
IGlzIGF2YWlsYWJsZSBpbiBYUCwgYnV0IGl0IGlzIG5vdCBkZWZpbmVkCisgICAgLy8gaW4gdGhl
IFdpbmRvd3MgU2VydmVyIDIwMDMgUjIgUGxhdGZvcm0gU0RLLiBTbywgd2UnbGwgZ3JhYiB0aGUg
ZnVuY3Rpb24KKyAgICAvLyB0aHJvdWdoIEdldFByb2NBZGRyZXNzLgorICAgIHR5cGVkZWYgV09S
RCAoTlRBUEkqIFJ0bENhcHR1cmVTdGFja0JhY2tUcmFjZUZ1bmMpKERXT1JELCBEV09SRCwgUFZP
SUQqLCBQRFdPUkQpOworICAgIEhNT0RVTEUga2VybmVsMzIgPSA6OkdldE1vZHVsZUhhbmRsZVco
TCJLZXJuZWwzMi5kbGwiKTsKKyAgICBpZiAoIWtlcm5lbDMyKSB7CisgICAgICAgICpzaXplID0g
MDsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBSdGxDYXB0dXJlU3RhY2tCYWNrVHJhY2VG
dW5jIGNhcHR1cmVTdGFja0JhY2tUcmFjZUZ1bmMgPSByZWludGVycHJldF9jYXN0PFJ0bENhcHR1
cmVTdGFja0JhY2tUcmFjZUZ1bmM+KAorICAgICAgICA6OkdldFByb2NBZGRyZXNzKGtlcm5lbDMy
LCAiUnRsQ2FwdHVyZVN0YWNrQmFja1RyYWNlIikpOworICAgIGlmIChjYXB0dXJlU3RhY2tCYWNr
VHJhY2VGdW5jKQorICAgICAgICAqc2l6ZSA9IGNhcHR1cmVTdGFja0JhY2tUcmFjZUZ1bmMoMSwg
KnNpemUsIHN0YWNrLCAwKTsKKyAgICBlbHNlCisgICAgICAgICpzaXplID0gMDsKKyNlbHNlCisg
ICAgKnNpemUgPSAwOworI2VuZGlmCit9CisKIHZvaWQgV1RGUmVwb3J0QmFja3RyYWNlKCkKIHsK
LSNpZiBQTEFURk9STShNQUMpCi0gICAgc3RhdGljIGNvbnN0IGludCBtYXhGcmFtZXMgPSAzMjsK
KyAgICBlbnVtIHsgbWF4RnJhbWVzID0gMzIgfTsKICAgICB2b2lkKiBzYW1wbGVzW21heEZyYW1l
c107Ci0gICAgaW50IGZyYW1lcyA9IGJhY2t0cmFjZShzYW1wbGVzLCBtYXhGcmFtZXMpOworICAg
IGludCBmcmFtZXMgPSBtYXhGcmFtZXM7CisKKyAgICBXVEZHZXRCYWNrdHJhY2Uoc2FtcGxlcywg
JmZyYW1lcyk7CiAKICAgICBmb3IgKGludCBpID0gMTsgaSA8IGZyYW1lczsgKytpKSB7Ci0gICAg
ICAgIHZvaWQqIHBvaW50ZXIgPSBzYW1wbGVzW2ldOworICAgICAgICBjb25zdCBjaGFyKiBtYW5n
bGVkTmFtZSA9IDA7CisgICAgICAgIGNoYXIqIGN4YURlbWFuZ2xlZCA9IDA7CiAKLSAgICAgICAg
Ly8gVHJ5IHRvIGdldCBhIHN5bWJvbCBuYW1lIGZyb20gdGhlIGR5bmFtaWMgbGlua2VyLgorI2lm
ICFQTEFURk9STShRVCkgJiYgKE9TKERBUldJTikgfHwgT1MoTElOVVgpKQogICAgICAgICBEbF9p
bmZvIGluZm87Ci0gICAgICAgIGlmIChkbGFkZHIocG9pbnRlciwgJmluZm8pICYmIGluZm8uZGxp
X3NuYW1lKSB7Ci0gICAgICAgICAgICBjb25zdCBjaGFyKiBtYW5nbGVkTmFtZSA9IGluZm8uZGxp
X3NuYW1lOwotCi0gICAgICAgICAgICAvLyBBc3N1bWUgYysrICYgdHJ5IHRvIGRlbWFuZ2xlIHRo
ZSBuYW1lLgotICAgICAgICAgICAgY2hhciogZGVtYW5nbGVkTmFtZSA9IGFiaTo6X19jeGFfZGVt
YW5nbGUobWFuZ2xlZE5hbWUsIDAsIDAsIDApOwotICAgICAgICAgICAgaWYgKGRlbWFuZ2xlZE5h
bWUpIHsKLSAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIiUtM2QgJXNcbiIsIGksIGRl
bWFuZ2xlZE5hbWUpOwotICAgICAgICAgICAgICAgIGZyZWUoZGVtYW5nbGVkTmFtZSk7Ci0gICAg
ICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIiUtM2QgJXNc
biIsIGksIG1hbmdsZWROYW1lKTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBmcHJpbnRm
KHN0ZGVyciwgIiUtM2QgJXBcbiIsIGksIHBvaW50ZXIpOwotICAgIH0KKyAgICAgICAgaWYgKGRs
YWRkcihzYW1wbGVzW2ldLCAmaW5mbykgJiYgaW5mby5kbGlfc25hbWUpCisgICAgICAgICAgICBt
YW5nbGVkTmFtZSA9IGluZm8uZGxpX3NuYW1lOworICAgICAgICBpZiAobWFuZ2xlZE5hbWUpCisg
ICAgICAgICAgICBjeGFEZW1hbmdsZWQgPSBhYmk6Ol9fY3hhX2RlbWFuZ2xlKG1hbmdsZWROYW1l
LCAwLCAwLCAwKTsKICNlbmRpZgorICAgICAgICBpZiAobWFuZ2xlZE5hbWUgfHwgY3hhRGVtYW5n
bGVkKQorICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICIlLTNkICVwICVzXG4iLCBpLCBzYW1w
bGVzW2ldLCBjeGFEZW1hbmdsZWQgPyBjeGFEZW1hbmdsZWQgOiBtYW5nbGVkTmFtZSk7CisgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiJS0zZCAlcFxuIiwgaSwgc2Ft
cGxlc1tpXSk7CisgICAgICAgIGZyZWUoY3hhRGVtYW5nbGVkKTsKKyAgICB9CiB9CiAKIHZvaWQg
V1RGUmVwb3J0RmF0YWxFcnJvcihjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hh
ciogZnVuY3Rpb24sIGNvbnN0IGNoYXIqIGZvcm1hdCwgLi4uKQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9Bc3NlcnRpb25zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL0Fzc2VydGlvbnMuaAppbmRleCAzMGZlNjBmZjNmNzU0NzY2ZjFlMmU3OWQxYzIwNWJjYTBm
MWQwOGU1Li42NzRkYjQ5NjkwMWQzMGU4MzY0OWM3YmY4NmQwYWY5M2MyNjZlYTMyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd3RmL0Fzc2VydGlvbnMuaApAQCAtMTQ0LDEyICsxNDQsMTQgQEAgdHlw
ZWRlZiBzdHJ1Y3QgewogV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgV1RGUmVwb3J0QXNzZXJ0aW9u
RmFpbHVyZShjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciogZnVuY3Rpb24s
IGNvbnN0IGNoYXIqIGFzc2VydGlvbik7CiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZSZXBv
cnRBc3NlcnRpb25GYWlsdXJlV2l0aE1lc3NhZ2UoY29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUs
IGNvbnN0IGNoYXIqIGZ1bmN0aW9uLCBjb25zdCBjaGFyKiBhc3NlcnRpb24sIGNvbnN0IGNoYXIq
IGZvcm1hdCwgLi4uKSBXVEZfQVRUUklCVVRFX1BSSU5URig1LCA2KTsKIFdURl9FWFBPUlRfUFJJ
VkFURSB2b2lkIFdURlJlcG9ydEFyZ3VtZW50QXNzZXJ0aW9uRmFpbHVyZShjb25zdCBjaGFyKiBm
aWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciogZnVuY3Rpb24sIGNvbnN0IGNoYXIqIGFyZ05hbWUs
IGNvbnN0IGNoYXIqIGFzc2VydGlvbik7Ci1XVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZSZXBv
cnRCYWNrdHJhY2UoKTsKIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURlJlcG9ydEZhdGFsRXJy
b3IoY29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uLCBjb25z
dCBjaGFyKiBmb3JtYXQsIC4uLikgV1RGX0FUVFJJQlVURV9QUklOVEYoNCwgNSk7CiBXVEZfRVhQ
T1JUX1BSSVZBVEUgdm9pZCBXVEZSZXBvcnRFcnJvcihjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGlu
ZSwgY29uc3QgY2hhciogZnVuY3Rpb24sIGNvbnN0IGNoYXIqIGZvcm1hdCwgLi4uKSBXVEZfQVRU
UklCVVRFX1BSSU5URig0LCA1KTsKIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURkxvZyhXVEZM
b2dDaGFubmVsKiwgY29uc3QgY2hhciogZm9ybWF0LCAuLi4pIFdURl9BVFRSSUJVVEVfUFJJTlRG
KDIsIDMpOwogV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgV1RGTG9nVmVyYm9zZShjb25zdCBjaGFy
KiBmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciogZnVuY3Rpb24sIFdURkxvZ0NoYW5uZWwqLCBj
b25zdCBjaGFyKiBmb3JtYXQsIC4uLikgV1RGX0FUVFJJQlVURV9QUklOVEYoNSwgNik7CiAKK1dU
Rl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURkdldEJhY2t0cmFjZSh2b2lkKiogc3RhY2ssIGludCog
c2l6ZSk7CitXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZSZXBvcnRCYWNrdHJhY2UoKTsKKwog
I2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109956</attachid>
            <date>2011-10-06 06:35:15 -0700</date>
            <delta_ts>2011-10-06 06:38:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69018-20111006093514.patch</filename>
            <type>text/plain</type>
            <size>2122</size>
            <attacher name="Gavin Peters">gavinp</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTY3MDgKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGEx
ZjI3NDliMTY5NjhmODY0OGZiNWM5ZjdiMTE4NjAwOGQwNjliZWIuLmU2ZTBjYzNiYjVlZjg0MGU2
N2RhNjllYjA0NDhhMzk4MjgwMmE4MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE2IEBACisyMDExLTEwLTA2ICBHYXZpbiBQZXRlcnMgIDxnYXZpbnBAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIGV4cG9ydCBuZXcgc3RhY2sgZHVtcGluZyBtZXRob2QKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDE4CisKKyAgICAgICAgVGhl
IG9yaWdpbmFsIGxhbmRpbmcgb2YgYnVnIDY5MDE4IGRpZG4ndCBleHBvcnQgV1RGR2V0QmFja3Ry
YWNlLCBzbyB0aGF0IHdoZW4gYnVnIDY5NDUzIGxhbmRlZCwgdGhlIGZpcnN0IHVzZQorICAgICAg
ICBvZiB0aGlzIGZ1bmN0aW9uLCBtYW55IGJ1aWxkcyBicm9rZS4gIFNvIGhlcmUgd2UgYWRkIHRo
ZSBleHBvcnRzLCBzbyB0aGF0IHRoZSBmdW5jdGlvbiBpcyB1c2FibGUuCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS5leHA6
CisgICAgICAgICogSmF2YVNjcmlwdENvcmUudmNwcm9qL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLmRlZjoKKwogMjAxMS0xMC0wNSAgR2F2aW4gUGV0ZXJzICA8Z2F2aW5wQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBSRUdSRVNTSU9OIChyOTY1OTUpOiBXVEZSZXBvcnRCYWNrdHJhY2Ug
bGlzdGVkIGFzIHRoZSB0b3AgZnJhbWUgaW4gYWxsIGFzc2VydGlvbiBiYWNrdHJhY2VzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cAppbmRleCBmYzhjZDIxOWI0NTI2YWM0
MDhmMTU0ZjJkZTZmYjQ3YThiZDRmOWYwLi5hZTY3MWFkZDE4MTA0MDhlZDAxZGYzMjUxYTU2ZjY4
YjAyNzA5NzJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUuZXhwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKQEAg
LTkwLDYgKzkwLDcgQEAgX0pTV2Vha09iamVjdE1hcENyZWF0ZQogX0pTV2Vha09iamVjdE1hcEdl
dAogX0pTV2Vha09iamVjdE1hcFJlbW92ZQogX0pTV2Vha09iamVjdE1hcFNldAorX1dURkdldEJh
Y2t0cmFjZQogX1dURkxvZwogX1dURkxvZ1ZlcmJvc2UKIF9XVEZSZXBvcnRBcmd1bWVudEFzc2Vy
dGlvbkZhaWx1cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVmIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS5kZWYKaW5kZXggMTMyODg2MTFlZmJmYTM3ODY3NTg1M2RmZWE5M2U0YTFmMmY5OTFm
Ny4uNTFkMThmMmY3NDQxYTQzNjMxMGY1MWM2MmYyOWNlMDMzZTJkY2ZkYSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS5kZWYKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYKQEAgLTM3Nyw2
ICszNzcsNyBAQCBFWFBPUlRTCiAgICAgP3dyaXRhYmxlQFByb3BlcnR5RGVzY3JpcHRvckBKU0NA
QFFCRV9OWFoKICAgICA/d3JpdGVCYXJyaWVyQEhhbmRsZUhlYXBASlNDQEBRQUVYUEFWSlNWYWx1
ZUAyQEFCVjMyQEBaCiAgICAgP3lpZWxkQFdURkBAWUFYWFoKKyAgICBXVEZHZXRCYWNrdHJhY2UK
ICAgICBXVEZMb2cKICAgICBXVEZMb2dWZXJib3NlCiAgICAgV1RGUmVwb3J0QXJndW1lbnRBc3Nl
cnRpb25GYWlsdXJlCg==
</data>
<flag name="review"
          id="107308"
          type_id="1"
          status="+"
          setter="aroben"
    />
          </attachment>
      

    </bug>

</bugzilla>