<?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>83848</bug_id>
          
          <creation_ts>2012-04-12 18:41:05 -0700</creation_ts>
          <short_desc>Support size_t multiplication and division operators on LayoutUnit</short_desc>
          <delta_ts>2013-01-07 09:27:04 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</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>
          
          <blocked>60318</blocked>
    
    <blocked>104700</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Emil A Eklund">eae</reporter>
          <assigned_to name="Julien Chaffraix">jchaffraix</assigned_to>
          <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>leviw</cc>
    
    <cc>peter+ews</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>601732</commentid>
    <comment_count>0</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-04-12 18:41:05 -0700</bug_when>
    <thetext>Add size_t versions of operator* and operator/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601734</commentid>
    <comment_count>1</comment_count>
      <attachid>137018</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-04-12 18:46:13 -0700</bug_when>
    <thetext>Created attachment 137018
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601755</commentid>
    <comment_count>2</comment_count>
      <attachid>137018</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-04-12 19:12:57 -0700</bug_when>
    <thetext>Comment on attachment 137018
Patch

Attachment 137018 did not pass win-ews (win):
Output: http://queues.webkit.org/results/12395558</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601758</commentid>
    <comment_count>3</comment_count>
      <attachid>137018</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-04-12 19:19:36 -0700</bug_when>
    <thetext>Comment on attachment 137018
Patch

Attachment 137018 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/12395561</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601768</commentid>
    <comment_count>4</comment_count>
      <attachid>137018</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-04-12 19:30:42 -0700</bug_when>
    <thetext>Comment on attachment 137018
Patch

Attachment 137018 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/12395567</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602281</commentid>
    <comment_count>5</comment_count>
      <attachid>137117</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-04-13 11:43:43 -0700</bug_when>
    <thetext>Created attachment 137117
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602345</commentid>
    <comment_count>6</comment_count>
      <attachid>137132</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-04-13 13:11:09 -0700</bug_when>
    <thetext>Created attachment 137132
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602347</commentid>
    <comment_count>7</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-04-13 13:13:20 -0700</bug_when>
    <thetext>The only difference between patch2 and 3 is the ChangeLog entry.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602470</commentid>
    <comment_count>8</comment_count>
      <attachid>137132</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-04-13 15:49:29 -0700</bug_when>
    <thetext>Comment on attachment 137132
Patch

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

&gt; Source/WebCore/platform/FractionalLayoutUnit.h:40
&gt; +#define LAYOUT_UNIT_SIZE_T

Not a huge fan of the naming. First it should be an HAVE() macro as it is about the underlying platform. Then the name doesn&apos;t speak to me, how about HAVE_SEPARATE_SIZE_T_UNIT? (it really should be ARE_SIZE_T_UNSIGNED_DIFFERENT_UNIT but we don&apos;t have a general ARE() macro).

I wonder if we shouldn&apos;t put that in Platform.h as we do with the other macros, which would force rebuilding everything. Maybe someone else has some ideas on the matter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602495</commentid>
    <comment_count>9</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-04-13 16:17:37 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 137132 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=137132&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/FractionalLayoutUnit.h:40
&gt; &gt; +#define LAYOUT_UNIT_SIZE_T
&gt; 
&gt; Not a huge fan of the naming. First it should be an HAVE() macro as it is about the underlying platform. Then the name doesn&apos;t speak to me, how about HAVE_SEPARATE_SIZE_T_UNIT? (it really should be ARE_SIZE_T_UNSIGNED_DIFFERENT_UNIT but we don&apos;t have a general ARE() macro).
&gt; 
&gt; I wonder if we shouldn&apos;t put that in Platform.h as we do with the other macros, which would force rebuilding everything. Maybe someone else has some ideas on the matter.

Seems fair. Do you think we should have a separate macro or just repeat the or clause for each function?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602521</commentid>
    <comment_count>10</comment_count>
      <attachid>137132</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-04-13 16:48:10 -0700</bug_when>
    <thetext>Comment on attachment 137132
Patch

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

&gt;&gt;&gt; Source/WebCore/platform/FractionalLayoutUnit.h:40
&gt;&gt;&gt; +#define LAYOUT_UNIT_SIZE_T
&gt;&gt; 
&gt;&gt; Not a huge fan of the naming. First it should be an HAVE() macro as it is about the underlying platform. Then the name doesn&apos;t speak to me, how about HAVE_SEPARATE_SIZE_T_UNIT? (it really should be ARE_SIZE_T_UNSIGNED_DIFFERENT_UNIT but we don&apos;t have a general ARE() macro).
&gt;&gt; 
&gt;&gt; I wonder if we shouldn&apos;t put that in Platform.h as we do with the other macros, which would force rebuilding everything. Maybe someone else has some ideas on the matter.
&gt; 
&gt; Seems fair. Do you think we should have a separate macro or just repeat the or clause for each function?

If nobody objects to an inline definition, I would rather use the ARE_SIZE_T_UNSIGNED_DIFFERENT_UNIT (or equivalent), repeated each time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602715</commentid>
    <comment_count>11</comment_count>
      <attachid>137222</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-04-14 18:37:51 -0700</bug_when>
    <thetext>Created attachment 137222
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602728</commentid>
    <comment_count>12</comment_count>
      <attachid>137222</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-04-14 20:16:29 -0700</bug_when>
    <thetext>Comment on attachment 137222
Patch

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

&gt; Source/WebCore/platform/FractionalLayoutUnit.h:41
&gt; +#if PLATFORM(CHROMIUM) || PLATFORM(MAC)
&gt; +#define ARE_SIZE_T_UNSIGNED_DIFFERENT_UNIT
&gt; +#endif

This feels like something which belongs in a more central place.  I&apos;m not sure.  MathExtras?  Maybe there is some other header in wtf in which thsi would make sense?  Is this really the only place we have this trouble?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>603202</commentid>
    <comment_count>13</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-04-16 09:26:16 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 137222 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=137222&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/FractionalLayoutUnit.h:41
&gt; &gt; +#if PLATFORM(CHROMIUM) || PLATFORM(MAC)
&gt; &gt; +#define ARE_SIZE_T_UNSIGNED_DIFFERENT_UNIT
&gt; &gt; +#endif
&gt; 
&gt; This feels like something which belongs in a more central place.  I&apos;m not sure.  MathExtras?  Maybe there is some other header in wtf in which thsi would make sense?  Is this really the only place we have this trouble?

I haven&apos;t found any other places where we have a function that can either take an unsigned int or a size_t, generally we tend to use one or the other.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604103</commentid>
    <comment_count>14</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-04-17 10:07:14 -0700</bug_when>
    <thetext>I&apos;m happy to move the definition elsewhere if you think that makes sense. Another option would be to keep it where it is for now and move it once we start using it elsewhere.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604118</commentid>
    <comment_count>15</comment_count>
      <attachid>137222</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-04-17 10:24:51 -0700</bug_when>
    <thetext>Comment on attachment 137222
Patch

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

&gt;&gt;&gt; Source/WebCore/platform/FractionalLayoutUnit.h:41
&gt;&gt;&gt; +#endif
&gt;&gt; 
&gt;&gt; This feels like something which belongs in a more central place.  I&apos;m not sure.  MathExtras?  Maybe there is some other header in wtf in which thsi would make sense?  Is this really the only place we have this trouble?
&gt; 
&gt; I haven&apos;t found any other places where we have a function that can either take an unsigned int or a size_t, generally we tend to use one or the other.

I haven&apos;t heard any strong objections to keeping the #define here. The only people who commented felt like it may belong somewhere else but nothing substantial (Eric thought of MathExtras.h, I thought about Platform.h but it felt clunky). Based on your assessment, I feel like it&apos;s fine to keep it here for now. If someone objects, it can moved appropriately.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604196</commentid>
    <comment_count>16</comment_count>
      <attachid>137222</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-17 11:52:08 -0700</bug_when>
    <thetext>Comment on attachment 137222
Patch

Clearing flags on attachment: 137222

Committed r114404: &lt;http://trac.webkit.org/changeset/114404&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604197</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-17 11:52:14 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604321</commentid>
    <comment_count>18</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-04-17 13:59:25 -0700</bug_when>
    <thetext>Reverted as it broke a couple of the chromium bots.

I&apos;m not convinced this approach is going to work as the chromium linux release and valgrind bots seems to have conflicting ideas of whether or not size_t and unisgned are interchangeable, despite having the same architecture.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622364</commentid>
    <comment_count>19</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-05-12 08:53:17 -0700</bug_when>
    <thetext>We should not add size_t versions, since our current overloading is based on basic C types. Instead we should add all the basic C types (except maybe the char ones), short, int, long, long long, unsigned short, unsigned, unsigned long, unsigned long long. Once we have all those covered, that takes care of size_t automatically because it’s one of those types.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>794096</commentid>
    <comment_count>20</comment_count>
      <attachid>180037</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-12-18 15:07:51 -0800</bug_when>
    <thetext>Created attachment 180037
Updated patch: add overloaded operators for most unsigned types, per Darin&apos;s suggestion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>794112</commentid>
    <comment_count>21</comment_count>
      <attachid>180037</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-12-18 15:20:14 -0800</bug_when>
    <thetext>Comment on attachment 180037
Updated patch: add overloaded operators for most unsigned types, per Darin&apos;s suggestion.

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

&gt; Tools/TestWebKitAPI/Tests/WebCore/LayoutUnit.cpp:194
&gt; +    ASSERT_EQ((LayoutUnit(400) / aHundredSizeT).toInt(), aHundredSizeT);

This appears to say 400/100 = 100?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>794113</commentid>
    <comment_count>22</comment_count>
      <attachid>180037</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-12-18 15:20:43 -0800</bug_when>
    <thetext>Comment on attachment 180037
Updated patch: add overloaded operators for most unsigned types, per Darin&apos;s suggestion.

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        Add size_t versions of multiplication and division operators to FractionalLayoutUnit

You should update the bug description as you are in fact not adding size_t versions of the operators.

&gt; Tools/TestWebKitAPI/Tests/WebCore/LayoutUnit.cpp:150
&gt; +    size_t aHundredSizeT = 100;

I&apos;d like to see a test for cases where the value is larger than MAX_INT.

Something like the quarterMax code below but with std::numeric_limits&lt;size_t&gt;::max.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>794120</commentid>
    <comment_count>23</comment_count>
      <attachid>180045</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-12-18 15:50:40 -0800</bug_when>
    <thetext>Created attachment 180045
Updated patch without the bad multipliciation test and with an overflowing test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>794122</commentid>
    <comment_count>24</comment_count>
      <attachid>180046</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-12-18 15:53:40 -0800</bug_when>
    <thetext>Created attachment 180046
Updated patch 3: Forgot to update the ChangeLog after the bug rename.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>794279</commentid>
    <comment_count>25</comment_count>
      <attachid>180046</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-12-18 19:32:26 -0800</bug_when>
    <thetext>Comment on attachment 180046
Updated patch 3: Forgot to update the ChangeLog after the bug rename.

Attachment 180046 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15404492</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>794692</commentid>
    <comment_count>26</comment_count>
      <attachid>180172</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-12-19 08:29:45 -0800</bug_when>
    <thetext>Created attachment 180172
Updated patch 4: fixed signed / unsigned comparison in the tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>794726</commentid>
    <comment_count>27</comment_count>
      <attachid>180172</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-12-19 09:09:39 -0800</bug_when>
    <thetext>Comment on attachment 180172
Updated patch 4: fixed signed / unsigned comparison in the tests.

Attachment 180172 did not pass win-ews (win):
Output: http://queues.webkit.org/results/15401700</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>794742</commentid>
    <comment_count>28</comment_count>
      <attachid>180172</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-19 09:26:03 -0800</bug_when>
    <thetext>Comment on attachment 180172
Updated patch 4: fixed signed / unsigned comparison in the tests.

Attachment 180172 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/15410707</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>794744</commentid>
    <comment_count>29</comment_count>
      <attachid>180172</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2012-12-19 09:28:28 -0800</bug_when>
    <thetext>Comment on attachment 180172
Updated patch 4: fixed signed / unsigned comparison in the tests.

Attachment 180172 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/15413652</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>794766</commentid>
    <comment_count>30</comment_count>
      <attachid>180172</attachid>
    <who name="Peter Beverloo (cr-android ews)">peter+ews</who>
    <bug_when>2012-12-19 09:57:08 -0800</bug_when>
    <thetext>Comment on attachment 180172
Updated patch 4: fixed signed / unsigned comparison in the tests.

Attachment 180172 did not pass cr-android-ews (chromium-android):
Output: http://queues.webkit.org/results/15405716</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>794771</commentid>
    <comment_count>31</comment_count>
      <attachid>180187</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-12-19 10:00:33 -0800</bug_when>
    <thetext>Created attachment 180187
Updated patch 5: sigh, fix the EWS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>794873</commentid>
    <comment_count>32</comment_count>
      <attachid>180187</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-12-19 13:04:34 -0800</bug_when>
    <thetext>Comment on attachment 180187
Updated patch 5: sigh, fix the EWS.

Attachment 180187 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15401746</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>794926</commentid>
    <comment_count>33</comment_count>
      <attachid>180187</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-12-19 14:08:56 -0800</bug_when>
    <thetext>Comment on attachment 180187
Updated patch 5: sigh, fix the EWS.

Attachment 180187 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15413711</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>794938</commentid>
    <comment_count>34</comment_count>
      <attachid>180225</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-12-19 14:18:05 -0800</bug_when>
    <thetext>Created attachment 180225
Proposed fix 6: This time passing on mac FOR REAL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795505</commentid>
    <comment_count>35</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-12-20 09:47:30 -0800</bug_when>
    <thetext>(In reply to comment #34)
&gt; Created an attachment (id=180225) [details]
&gt; Proposed fix 6: This time passing on mac FOR REAL.

Woo!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801336</commentid>
    <comment_count>36</comment_count>
      <attachid>180225</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-07 09:26:58 -0800</bug_when>
    <thetext>Comment on attachment 180225
Proposed fix 6: This time passing on mac FOR REAL.

Clearing flags on attachment: 180225

Committed r138952: &lt;http://trac.webkit.org/changeset/138952&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801337</commentid>
    <comment_count>37</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-07 09:27:04 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137018</attachid>
            <date>2012-04-12 18:46:13 -0700</date>
            <delta_ts>2012-04-13 11:43:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83848-20120412184612.patch</filename>
            <type>text/plain</type>
            <size>3990</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNDA2OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDEyLTA0LTEyICBFbWlsIEEg
RWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgc2l6ZV90IHZlcnNpb25z
IG9mIG11bHRpcGxpY2F0aW9uIGFuZCBkaXZpc2lvbiBvcGVyYXRvcnMgdG8gRnJhY3Rpb25hbExh
eW91dFVuaXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTgzODQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
Tm8gbmV3IHRlc3RzLgorCisgICAgICAgICogcGxhdGZvcm0vRnJhY3Rpb25hbExheW91dFVuaXQu
aDoKKyAgICAgICAgKEZyYWN0aW9uYWxMYXlvdXRVbml0KToKKyAgICAgICAgKFdlYkNvcmU6OkZy
YWN0aW9uYWxMYXlvdXRVbml0OjpGcmFjdGlvbmFsTGF5b3V0VW5pdCk6CisgICAgICAgIChXZWJD
b3JlOjpGcmFjdGlvbmFsTGF5b3V0VW5pdDo6aXNJbkJvdW5kcyk6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6Om9wZXJhdG9yKik6CisgICAgICAgIChXZWJDb3JlOjpvcGVy
YXRvci8pOgorCiAyMDEyLTA0LTEyICBEYXZpZCBEb3J3aW4gIDxkZG9yd2luQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBBZGQgRW5jcnlwdGVkIE1lZGlhIEV4dGVuc2lvbnMgZXZlbnRzIGFuZCBl
cnJvcnMgdG8gSFRNTE1lZGlhRWxlbWVudApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
RnJhY3Rpb25hbExheW91dFVuaXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9GcmFjdGlvbmFsTGF5b3V0VW5pdC5oCShyZXZpc2lvbiAxMTM3MzApCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9GcmFjdGlvbmFsTGF5b3V0VW5pdC5oCSh3b3JraW5nIGNvcHkpCkBA
IC0zNiw2ICszNiwxMCBAQAogI2luY2x1ZGUgPG1hdGguaD4KICNpbmNsdWRlIDxzdGRsaWIuaD4K
IAorI2lmIFBMQVRGT1JNKENIUk9NSVVNKSB8fCBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKFdJ
TikgfHwgUExBVEZPUk0oUVQpCisjZGVmaW5lIExBWU9VVF9VTklUX1NJWkVfVAorI2VuZGlmCisK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIGNvbnN0IGludCBrRml4ZWRQb2ludERlbm9t
aW5hdG9yID0gNjA7CkBAIC01MSw2ICs1NSw5IEBAIHB1YmxpYzoKICAgICBGcmFjdGlvbmFsTGF5
b3V0VW5pdChmbG9hdCB2YWx1ZSkgeyBBU1NFUlQoaXNJbkJvdW5kcyh2YWx1ZSkpOyBtX3ZhbHVl
ID0gdmFsdWUgKiBrRml4ZWRQb2ludERlbm9taW5hdG9yOyB9CiAgICAgRnJhY3Rpb25hbExheW91
dFVuaXQoZG91YmxlIHZhbHVlKSB7IEFTU0VSVChpc0luQm91bmRzKHZhbHVlKSk7IG1fdmFsdWUg
PSB2YWx1ZSAqIGtGaXhlZFBvaW50RGVub21pbmF0b3I7IH0KICAgICBGcmFjdGlvbmFsTGF5b3V0
VW5pdChjb25zdCBGcmFjdGlvbmFsTGF5b3V0VW5pdCYgdmFsdWUpIHsgbV92YWx1ZSA9IHZhbHVl
LnJhd1ZhbHVlKCk7IH0KKyNpZmRlZiBMQVlPVVRfVU5JVF9TSVpFX1QKKyAgICBGcmFjdGlvbmFs
TGF5b3V0VW5pdChzaXplX3QgdmFsdWUpIHsgQVNTRVJUKGlzSW5Cb3VuZHModmFsdWUpKTsgbV92
YWx1ZSA9IHN0YXRpY19jYXN0PGludD4odmFsdWUgKiBrRml4ZWRQb2ludERlbm9taW5hdG9yKTsg
fQorI2VuZGlmCiAKICAgICBpbmxpbmUgaW50IHRvSW50KCkgY29uc3QgeyByZXR1cm4gbV92YWx1
ZSAvIGtGaXhlZFBvaW50RGVub21pbmF0b3I7IH0KICAgICBpbmxpbmUgdW5zaWduZWQgdG9VbnNp
Z25lZCgpIGNvbnN0IHsgQVNTRVJUKG1fdmFsdWUgPj0gMCk7IHJldHVybiB0b0ludCgpOyB9CkBA
IC0xMjYsNiArMTMzLDEyIEBAIHByaXZhdGU6CiAgICAgewogICAgICAgICByZXR1cm4gOjphYnMo
dmFsdWUpIDw9IHN0ZDo6bnVtZXJpY19saW1pdHM8aW50Pjo6bWF4KCkgLyBrRml4ZWRQb2ludERl
bm9taW5hdG9yOwogICAgIH0KKyNpZmRlZiBMQVlPVVRfVU5JVF9TSVpFX1QKKyAgICBpbmxpbmUg
Ym9vbCBpc0luQm91bmRzKHNpemVfdCB2YWx1ZSkKKyAgICB7CisgICAgICAgIHJldHVybiB2YWx1
ZSA8PSBzdGF0aWNfY2FzdDxzaXplX3Q+KHN0ZDo6bnVtZXJpY19saW1pdHM8aW50Pjo6bWF4KCkp
IC8ga0ZpeGVkUG9pbnREZW5vbWluYXRvcjsKKyAgICB9CisjZW5kaWYKIAogICAgIGludCBtX3Zh
bHVlOwogfTsKQEAgLTMzMSw2ICszNDQsMTMgQEAgaW5saW5lIEZyYWN0aW9uYWxMYXlvdXRVbml0
IG9wZXJhdG9yKihjbwogICAgIHJldHVybiBhICogRnJhY3Rpb25hbExheW91dFVuaXQoYik7CiB9
CiAKKyNpZmRlZiBMQVlPVVRfVU5JVF9TSVpFX1QKK2lubGluZSBGcmFjdGlvbmFsTGF5b3V0VW5p
dCBvcGVyYXRvciooY29uc3QgRnJhY3Rpb25hbExheW91dFVuaXQmIGEsIHNpemVfdCBiKQorewor
ICAgIHJldHVybiBhICogRnJhY3Rpb25hbExheW91dFVuaXQoYik7Cit9CisjZW5kaWYKKwogaW5s
aW5lIEZyYWN0aW9uYWxMYXlvdXRVbml0IG9wZXJhdG9yKih1bnNpZ25lZCBhLCBjb25zdCBGcmFj
dGlvbmFsTGF5b3V0VW5pdCYgYikKIHsKICAgICByZXR1cm4gRnJhY3Rpb25hbExheW91dFVuaXQo
YSkgKiBiOwpAQCAtMzUxLDYgKzM3MSwxMyBAQCBpbmxpbmUgZG91YmxlIG9wZXJhdG9yKihjb25z
dCBkb3VibGUgYSwgCiAgICAgcmV0dXJuIGEgKiBiLnRvRG91YmxlKCk7CiB9CiAKKyNpZmRlZiBM
QVlPVVRfVU5JVF9TSVpFX1QKK2lubGluZSBGcmFjdGlvbmFsTGF5b3V0VW5pdCBvcGVyYXRvcioo
c2l6ZV90IGEsIGNvbnN0IEZyYWN0aW9uYWxMYXlvdXRVbml0JiBiKQoreworICAgIHJldHVybiBG
cmFjdGlvbmFsTGF5b3V0VW5pdChhKSAqIGI7Cit9CisjZW5kaWYKKwogaW5saW5lIEZyYWN0aW9u
YWxMYXlvdXRVbml0IG9wZXJhdG9yLyhjb25zdCBGcmFjdGlvbmFsTGF5b3V0VW5pdCYgYSwgY29u
c3QgRnJhY3Rpb25hbExheW91dFVuaXQmIGIpCiB7CiAgICAgRnJhY3Rpb25hbExheW91dFVuaXQg
cmV0dXJuVmFsOwpAQCAtMzc5LDYgKzQwNiwxMyBAQCBpbmxpbmUgRnJhY3Rpb25hbExheW91dFVu
aXQgb3BlcmF0b3IvKGNvCiAgICAgcmV0dXJuIGEgLyBGcmFjdGlvbmFsTGF5b3V0VW5pdChiKTsK
IH0KIAorI2lmZGVmIExBWU9VVF9VTklUX1NJWkVfVAoraW5saW5lIEZyYWN0aW9uYWxMYXlvdXRV
bml0IG9wZXJhdG9yLyhjb25zdCBGcmFjdGlvbmFsTGF5b3V0VW5pdCYgYSwgc2l6ZV90IGIpCit7
CisgICAgcmV0dXJuIGEgLyBGcmFjdGlvbmFsTGF5b3V0VW5pdChiKTsKK30KKyNlbmRpZgorCiBp
bmxpbmUgZmxvYXQgb3BlcmF0b3IvKGNvbnN0IGZsb2F0IGEsIGNvbnN0IEZyYWN0aW9uYWxMYXlv
dXRVbml0JiBiKQogewogICAgIHJldHVybiBhIC8gYi50b0Zsb2F0KCk7CkBAIC0zOTQsNiArNDI4
LDEzIEBAIGlubGluZSBGcmFjdGlvbmFsTGF5b3V0VW5pdCBvcGVyYXRvci8odW4KICAgICByZXR1
cm4gRnJhY3Rpb25hbExheW91dFVuaXQoYSkgLyBiOwogfQogCisjaWZkZWYgTEFZT1VUX1VOSVRf
U0laRV9UCitpbmxpbmUgRnJhY3Rpb25hbExheW91dFVuaXQgb3BlcmF0b3IvKHNpemVfdCBhLCBj
b25zdCBGcmFjdGlvbmFsTGF5b3V0VW5pdCYgYikKK3sKKyAgICByZXR1cm4gRnJhY3Rpb25hbExh
eW91dFVuaXQoYSkgLyBiOworfQorI2VuZGlmCisKIGlubGluZSBGcmFjdGlvbmFsTGF5b3V0VW5p
dCBvcGVyYXRvcisoY29uc3QgRnJhY3Rpb25hbExheW91dFVuaXQmIGEsIGNvbnN0IEZyYWN0aW9u
YWxMYXlvdXRVbml0JiBiKQogewogICAgIEZyYWN0aW9uYWxMYXlvdXRVbml0IHJldHVyblZhbDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137117</attachid>
            <date>2012-04-13 11:43:43 -0700</date>
            <delta_ts>2012-04-13 13:11:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83848-20120413114342.patch</filename>
            <type>text/plain</type>
            <size>3972</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNDEyNikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDEyLTA0LTEzICBFbWlsIEEg
RWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgc2l6ZV90IHZlcnNpb25z
IG9mIG11bHRpcGxpY2F0aW9uIGFuZCBkaXZpc2lvbiBvcGVyYXRvcnMgdG8gRnJhY3Rpb25hbExh
eW91dFVuaXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTgzODQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
Tm8gbmV3IHRlc3RzLgorCisgICAgICAgICogcGxhdGZvcm0vRnJhY3Rpb25hbExheW91dFVuaXQu
aDoKKyAgICAgICAgKEZyYWN0aW9uYWxMYXlvdXRVbml0KToKKyAgICAgICAgKFdlYkNvcmU6OkZy
YWN0aW9uYWxMYXlvdXRVbml0OjpGcmFjdGlvbmFsTGF5b3V0VW5pdCk6CisgICAgICAgIChXZWJD
b3JlOjpGcmFjdGlvbmFsTGF5b3V0VW5pdDo6aXNJbkJvdW5kcyk6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6Om9wZXJhdG9yKik6CisgICAgICAgIChXZWJDb3JlOjpvcGVy
YXRvci8pOgorCiAyMDEyLTA0LTEzICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGV4Y2VwdGlvbiBpbiBoZWFwIHByb2ZpbGVy
IHdoZW4gZXhwYW5kaW5nIGEgY2xhc3MgaW4gc3VtbWFyeSB2aWV3CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9GcmFjdGlvbmFsTGF5b3V0VW5pdC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0ZyYWN0aW9uYWxMYXlvdXRVbml0LmgJKHJldmlzaW9uIDExNDEy
NikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZyYWN0aW9uYWxMYXlvdXRVbml0LmgJKHdv
cmtpbmcgY29weSkKQEAgLTM2LDYgKzM2LDEwIEBACiAjaW5jbHVkZSA8bWF0aC5oPgogI2luY2x1
ZGUgPHN0ZGxpYi5oPgogCisjaWYgUExBVEZPUk0oQ0hST01JVU0pIHx8IFBMQVRGT1JNKE1BQykK
KyNkZWZpbmUgTEFZT1VUX1VOSVRfU0laRV9UCisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBzdGF0aWMgY29uc3QgaW50IGtGaXhlZFBvaW50RGVub21pbmF0b3IgPSA2MDsKQEAgLTUx
LDYgKzU1LDkgQEAgcHVibGljOgogICAgIEZyYWN0aW9uYWxMYXlvdXRVbml0KGZsb2F0IHZhbHVl
KSB7IEFTU0VSVChpc0luQm91bmRzKHZhbHVlKSk7IG1fdmFsdWUgPSB2YWx1ZSAqIGtGaXhlZFBv
aW50RGVub21pbmF0b3I7IH0KICAgICBGcmFjdGlvbmFsTGF5b3V0VW5pdChkb3VibGUgdmFsdWUp
IHsgQVNTRVJUKGlzSW5Cb3VuZHModmFsdWUpKTsgbV92YWx1ZSA9IHZhbHVlICoga0ZpeGVkUG9p
bnREZW5vbWluYXRvcjsgfQogICAgIEZyYWN0aW9uYWxMYXlvdXRVbml0KGNvbnN0IEZyYWN0aW9u
YWxMYXlvdXRVbml0JiB2YWx1ZSkgeyBtX3ZhbHVlID0gdmFsdWUucmF3VmFsdWUoKTsgfQorI2lm
ZGVmIExBWU9VVF9VTklUX1NJWkVfVAorICAgIEZyYWN0aW9uYWxMYXlvdXRVbml0KHNpemVfdCB2
YWx1ZSkgeyBBU1NFUlQoaXNJbkJvdW5kcyh2YWx1ZSkpOyBtX3ZhbHVlID0gc3RhdGljX2Nhc3Q8
aW50Pih2YWx1ZSAqIGtGaXhlZFBvaW50RGVub21pbmF0b3IpOyB9CisjZW5kaWYKIAogICAgIGlu
bGluZSBpbnQgdG9JbnQoKSBjb25zdCB7IHJldHVybiBtX3ZhbHVlIC8ga0ZpeGVkUG9pbnREZW5v
bWluYXRvcjsgfQogICAgIGlubGluZSB1bnNpZ25lZCB0b1Vuc2lnbmVkKCkgY29uc3QgeyBBU1NF
UlQobV92YWx1ZSA+PSAwKTsgcmV0dXJuIHRvSW50KCk7IH0KQEAgLTEyNiw2ICsxMzMsMTIgQEAg
cHJpdmF0ZToKICAgICB7CiAgICAgICAgIHJldHVybiA6OmZhYnModmFsdWUpIDw9IHN0ZDo6bnVt
ZXJpY19saW1pdHM8aW50Pjo6bWF4KCkgLyBrRml4ZWRQb2ludERlbm9taW5hdG9yOwogICAgIH0K
KyNpZmRlZiBMQVlPVVRfVU5JVF9TSVpFX1QKKyAgICBpbmxpbmUgYm9vbCBpc0luQm91bmRzKHNp
emVfdCB2YWx1ZSkKKyAgICB7CisgICAgICAgIHJldHVybiB2YWx1ZSA8PSBzdGF0aWNfY2FzdDxz
aXplX3Q+KHN0ZDo6bnVtZXJpY19saW1pdHM8aW50Pjo6bWF4KCkpIC8ga0ZpeGVkUG9pbnREZW5v
bWluYXRvcjsKKyAgICB9CisjZW5kaWYKIAogICAgIGludCBtX3ZhbHVlOwogfTsKQEAgLTMzMSw2
ICszNDQsMTMgQEAgaW5saW5lIEZyYWN0aW9uYWxMYXlvdXRVbml0IG9wZXJhdG9yKihjbwogICAg
IHJldHVybiBhICogRnJhY3Rpb25hbExheW91dFVuaXQoYik7CiB9CiAKKyNpZmRlZiBMQVlPVVRf
VU5JVF9TSVpFX1QKK2lubGluZSBGcmFjdGlvbmFsTGF5b3V0VW5pdCBvcGVyYXRvciooY29uc3Qg
RnJhY3Rpb25hbExheW91dFVuaXQmIGEsIHNpemVfdCBiKQoreworICAgIHJldHVybiBhICogRnJh
Y3Rpb25hbExheW91dFVuaXQoYik7Cit9CisjZW5kaWYKKwogaW5saW5lIEZyYWN0aW9uYWxMYXlv
dXRVbml0IG9wZXJhdG9yKih1bnNpZ25lZCBhLCBjb25zdCBGcmFjdGlvbmFsTGF5b3V0VW5pdCYg
YikKIHsKICAgICByZXR1cm4gRnJhY3Rpb25hbExheW91dFVuaXQoYSkgKiBiOwpAQCAtMzUxLDYg
KzM3MSwxMyBAQCBpbmxpbmUgZG91YmxlIG9wZXJhdG9yKihjb25zdCBkb3VibGUgYSwgCiAgICAg
cmV0dXJuIGEgKiBiLnRvRG91YmxlKCk7CiB9CiAKKyNpZmRlZiBMQVlPVVRfVU5JVF9TSVpFX1QK
K2lubGluZSBGcmFjdGlvbmFsTGF5b3V0VW5pdCBvcGVyYXRvciooc2l6ZV90IGEsIGNvbnN0IEZy
YWN0aW9uYWxMYXlvdXRVbml0JiBiKQoreworICAgIHJldHVybiBGcmFjdGlvbmFsTGF5b3V0VW5p
dChhKSAqIGI7Cit9CisjZW5kaWYKKwogaW5saW5lIEZyYWN0aW9uYWxMYXlvdXRVbml0IG9wZXJh
dG9yLyhjb25zdCBGcmFjdGlvbmFsTGF5b3V0VW5pdCYgYSwgY29uc3QgRnJhY3Rpb25hbExheW91
dFVuaXQmIGIpCiB7CiAgICAgRnJhY3Rpb25hbExheW91dFVuaXQgcmV0dXJuVmFsOwpAQCAtMzc5
LDYgKzQwNiwxMyBAQCBpbmxpbmUgRnJhY3Rpb25hbExheW91dFVuaXQgb3BlcmF0b3IvKGNvCiAg
ICAgcmV0dXJuIGEgLyBGcmFjdGlvbmFsTGF5b3V0VW5pdChiKTsKIH0KIAorI2lmZGVmIExBWU9V
VF9VTklUX1NJWkVfVAoraW5saW5lIEZyYWN0aW9uYWxMYXlvdXRVbml0IG9wZXJhdG9yLyhjb25z
dCBGcmFjdGlvbmFsTGF5b3V0VW5pdCYgYSwgc2l6ZV90IGIpCit7CisgICAgcmV0dXJuIGEgLyBG
cmFjdGlvbmFsTGF5b3V0VW5pdChiKTsKK30KKyNlbmRpZgorCiBpbmxpbmUgZmxvYXQgb3BlcmF0
b3IvKGNvbnN0IGZsb2F0IGEsIGNvbnN0IEZyYWN0aW9uYWxMYXlvdXRVbml0JiBiKQogewogICAg
IHJldHVybiBhIC8gYi50b0Zsb2F0KCk7CkBAIC0zOTQsNiArNDI4LDEzIEBAIGlubGluZSBGcmFj
dGlvbmFsTGF5b3V0VW5pdCBvcGVyYXRvci8odW4KICAgICByZXR1cm4gRnJhY3Rpb25hbExheW91
dFVuaXQoYSkgLyBiOwogfQogCisjaWZkZWYgTEFZT1VUX1VOSVRfU0laRV9UCitpbmxpbmUgRnJh
Y3Rpb25hbExheW91dFVuaXQgb3BlcmF0b3IvKHNpemVfdCBhLCBjb25zdCBGcmFjdGlvbmFsTGF5
b3V0VW5pdCYgYikKK3sKKyAgICByZXR1cm4gRnJhY3Rpb25hbExheW91dFVuaXQoYSkgLyBiOwor
fQorI2VuZGlmCisKIGlubGluZSBGcmFjdGlvbmFsTGF5b3V0VW5pdCBvcGVyYXRvcisoY29uc3Qg
RnJhY3Rpb25hbExheW91dFVuaXQmIGEsIGNvbnN0IEZyYWN0aW9uYWxMYXlvdXRVbml0JiBiKQog
ewogICAgIEZyYWN0aW9uYWxMYXlvdXRVbml0IHJldHVyblZhbDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137132</attachid>
            <date>2012-04-13 13:11:09 -0700</date>
            <delta_ts>2012-04-14 18:37:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83848-20120413131108.patch</filename>
            <type>text/plain</type>
            <size>4092</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNDE1NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDEyLTA0LTEzICBFbWlsIEEg
RWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgc2l6ZV90IHZlcnNpb25z
IG9mIG11bHRpcGxpY2F0aW9uIGFuZCBkaXZpc2lvbiBvcGVyYXRvcnMgdG8gRnJhY3Rpb25hbExh
eW91dFVuaXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTgzODQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIHNpemVfdCB2ZXJzaW9ucyBvZiBvcGVyYXRvciogYW5kIG9wZXJhdG9yLyBmb3IgcGxhdGZv
cm1zIHdoZXJlIHRoZXJlCisgICAgICAgIGlzIG5vIGFtYmlndWl0eSBiZXR3ZWVuIHVuc2lnbmVk
IGludCBhbmQgc2l6ZV90LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gbmV3IGZ1bmN0aW9u
YWxpdHkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9GcmFjdGlvbmFsTGF5b3V0VW5pdC5oOgorICAg
ICAgICAoRnJhY3Rpb25hbExheW91dFVuaXQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhY3Rpb25h
bExheW91dFVuaXQ6OkZyYWN0aW9uYWxMYXlvdXRVbml0KToKKyAgICAgICAgKFdlYkNvcmU6OkZy
YWN0aW9uYWxMYXlvdXRVbml0Ojppc0luQm91bmRzKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6b3BlcmF0b3IqKToKKyAgICAgICAgKFdlYkNvcmU6Om9wZXJhdG9yLyk6
CisKIDIwMTItMDQtMTMgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMTQxNDAuCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9GcmFjdGlvbmFsTGF5b3V0VW5pdC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZyYWN0aW9uYWxMYXlvdXRVbml0LmgJKHJldmlzaW9u
IDExNDEyNikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZyYWN0aW9uYWxMYXlvdXRVbml0
LmgJKHdvcmtpbmcgY29weSkKQEAgLTM2LDYgKzM2LDEwIEBACiAjaW5jbHVkZSA8bWF0aC5oPgog
I2luY2x1ZGUgPHN0ZGxpYi5oPgogCisjaWYgUExBVEZPUk0oQ0hST01JVU0pIHx8IFBMQVRGT1JN
KE1BQykKKyNkZWZpbmUgTEFZT1VUX1VOSVRfU0laRV9UCisjZW5kaWYKKwogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBzdGF0aWMgY29uc3QgaW50IGtGaXhlZFBvaW50RGVub21pbmF0b3IgPSA2MDsK
QEAgLTUxLDYgKzU1LDkgQEAgcHVibGljOgogICAgIEZyYWN0aW9uYWxMYXlvdXRVbml0KGZsb2F0
IHZhbHVlKSB7IEFTU0VSVChpc0luQm91bmRzKHZhbHVlKSk7IG1fdmFsdWUgPSB2YWx1ZSAqIGtG
aXhlZFBvaW50RGVub21pbmF0b3I7IH0KICAgICBGcmFjdGlvbmFsTGF5b3V0VW5pdChkb3VibGUg
dmFsdWUpIHsgQVNTRVJUKGlzSW5Cb3VuZHModmFsdWUpKTsgbV92YWx1ZSA9IHZhbHVlICoga0Zp
eGVkUG9pbnREZW5vbWluYXRvcjsgfQogICAgIEZyYWN0aW9uYWxMYXlvdXRVbml0KGNvbnN0IEZy
YWN0aW9uYWxMYXlvdXRVbml0JiB2YWx1ZSkgeyBtX3ZhbHVlID0gdmFsdWUucmF3VmFsdWUoKTsg
fQorI2lmZGVmIExBWU9VVF9VTklUX1NJWkVfVAorICAgIEZyYWN0aW9uYWxMYXlvdXRVbml0KHNp
emVfdCB2YWx1ZSkgeyBBU1NFUlQoaXNJbkJvdW5kcyh2YWx1ZSkpOyBtX3ZhbHVlID0gc3RhdGlj
X2Nhc3Q8aW50Pih2YWx1ZSAqIGtGaXhlZFBvaW50RGVub21pbmF0b3IpOyB9CisjZW5kaWYKIAog
ICAgIGlubGluZSBpbnQgdG9JbnQoKSBjb25zdCB7IHJldHVybiBtX3ZhbHVlIC8ga0ZpeGVkUG9p
bnREZW5vbWluYXRvcjsgfQogICAgIGlubGluZSB1bnNpZ25lZCB0b1Vuc2lnbmVkKCkgY29uc3Qg
eyBBU1NFUlQobV92YWx1ZSA+PSAwKTsgcmV0dXJuIHRvSW50KCk7IH0KQEAgLTEyNiw2ICsxMzMs
MTIgQEAgcHJpdmF0ZToKICAgICB7CiAgICAgICAgIHJldHVybiA6OmZhYnModmFsdWUpIDw9IHN0
ZDo6bnVtZXJpY19saW1pdHM8aW50Pjo6bWF4KCkgLyBrRml4ZWRQb2ludERlbm9taW5hdG9yOwog
ICAgIH0KKyNpZmRlZiBMQVlPVVRfVU5JVF9TSVpFX1QKKyAgICBpbmxpbmUgYm9vbCBpc0luQm91
bmRzKHNpemVfdCB2YWx1ZSkKKyAgICB7CisgICAgICAgIHJldHVybiB2YWx1ZSA8PSBzdGF0aWNf
Y2FzdDxzaXplX3Q+KHN0ZDo6bnVtZXJpY19saW1pdHM8aW50Pjo6bWF4KCkpIC8ga0ZpeGVkUG9p
bnREZW5vbWluYXRvcjsKKyAgICB9CisjZW5kaWYKIAogICAgIGludCBtX3ZhbHVlOwogfTsKQEAg
LTMzMSw2ICszNDQsMTMgQEAgaW5saW5lIEZyYWN0aW9uYWxMYXlvdXRVbml0IG9wZXJhdG9yKihj
bwogICAgIHJldHVybiBhICogRnJhY3Rpb25hbExheW91dFVuaXQoYik7CiB9CiAKKyNpZmRlZiBM
QVlPVVRfVU5JVF9TSVpFX1QKK2lubGluZSBGcmFjdGlvbmFsTGF5b3V0VW5pdCBvcGVyYXRvcioo
Y29uc3QgRnJhY3Rpb25hbExheW91dFVuaXQmIGEsIHNpemVfdCBiKQoreworICAgIHJldHVybiBh
ICogRnJhY3Rpb25hbExheW91dFVuaXQoYik7Cit9CisjZW5kaWYKKwogaW5saW5lIEZyYWN0aW9u
YWxMYXlvdXRVbml0IG9wZXJhdG9yKih1bnNpZ25lZCBhLCBjb25zdCBGcmFjdGlvbmFsTGF5b3V0
VW5pdCYgYikKIHsKICAgICByZXR1cm4gRnJhY3Rpb25hbExheW91dFVuaXQoYSkgKiBiOwpAQCAt
MzUxLDYgKzM3MSwxMyBAQCBpbmxpbmUgZG91YmxlIG9wZXJhdG9yKihjb25zdCBkb3VibGUgYSwg
CiAgICAgcmV0dXJuIGEgKiBiLnRvRG91YmxlKCk7CiB9CiAKKyNpZmRlZiBMQVlPVVRfVU5JVF9T
SVpFX1QKK2lubGluZSBGcmFjdGlvbmFsTGF5b3V0VW5pdCBvcGVyYXRvciooc2l6ZV90IGEsIGNv
bnN0IEZyYWN0aW9uYWxMYXlvdXRVbml0JiBiKQoreworICAgIHJldHVybiBGcmFjdGlvbmFsTGF5
b3V0VW5pdChhKSAqIGI7Cit9CisjZW5kaWYKKwogaW5saW5lIEZyYWN0aW9uYWxMYXlvdXRVbml0
IG9wZXJhdG9yLyhjb25zdCBGcmFjdGlvbmFsTGF5b3V0VW5pdCYgYSwgY29uc3QgRnJhY3Rpb25h
bExheW91dFVuaXQmIGIpCiB7CiAgICAgRnJhY3Rpb25hbExheW91dFVuaXQgcmV0dXJuVmFsOwpA
QCAtMzc5LDYgKzQwNiwxMyBAQCBpbmxpbmUgRnJhY3Rpb25hbExheW91dFVuaXQgb3BlcmF0b3Iv
KGNvCiAgICAgcmV0dXJuIGEgLyBGcmFjdGlvbmFsTGF5b3V0VW5pdChiKTsKIH0KIAorI2lmZGVm
IExBWU9VVF9VTklUX1NJWkVfVAoraW5saW5lIEZyYWN0aW9uYWxMYXlvdXRVbml0IG9wZXJhdG9y
Lyhjb25zdCBGcmFjdGlvbmFsTGF5b3V0VW5pdCYgYSwgc2l6ZV90IGIpCit7CisgICAgcmV0dXJu
IGEgLyBGcmFjdGlvbmFsTGF5b3V0VW5pdChiKTsKK30KKyNlbmRpZgorCiBpbmxpbmUgZmxvYXQg
b3BlcmF0b3IvKGNvbnN0IGZsb2F0IGEsIGNvbnN0IEZyYWN0aW9uYWxMYXlvdXRVbml0JiBiKQog
ewogICAgIHJldHVybiBhIC8gYi50b0Zsb2F0KCk7CkBAIC0zOTQsNiArNDI4LDEzIEBAIGlubGlu
ZSBGcmFjdGlvbmFsTGF5b3V0VW5pdCBvcGVyYXRvci8odW4KICAgICByZXR1cm4gRnJhY3Rpb25h
bExheW91dFVuaXQoYSkgLyBiOwogfQogCisjaWZkZWYgTEFZT1VUX1VOSVRfU0laRV9UCitpbmxp
bmUgRnJhY3Rpb25hbExheW91dFVuaXQgb3BlcmF0b3IvKHNpemVfdCBhLCBjb25zdCBGcmFjdGlv
bmFsTGF5b3V0VW5pdCYgYikKK3sKKyAgICByZXR1cm4gRnJhY3Rpb25hbExheW91dFVuaXQoYSkg
LyBiOworfQorI2VuZGlmCisKIGlubGluZSBGcmFjdGlvbmFsTGF5b3V0VW5pdCBvcGVyYXRvciso
Y29uc3QgRnJhY3Rpb25hbExheW91dFVuaXQmIGEsIGNvbnN0IEZyYWN0aW9uYWxMYXlvdXRVbml0
JiBiKQogewogICAgIEZyYWN0aW9uYWxMYXlvdXRVbml0IHJldHVyblZhbDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137222</attachid>
            <date>2012-04-14 18:37:51 -0700</date>
            <delta_ts>2012-04-18 12:20:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83848-20120414183750.patch</filename>
            <type>text/plain</type>
            <size>4204</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNDE1NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDEyLTA0LTE0ICBFbWlsIEEg
RWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgc2l6ZV90IHZlcnNpb25z
IG9mIG11bHRpcGxpY2F0aW9uIGFuZCBkaXZpc2lvbiBvcGVyYXRvcnMgdG8gRnJhY3Rpb25hbExh
eW91dFVuaXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTgzODQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIHNpemVfdCB2ZXJzaW9ucyBvZiBvcGVyYXRvciogYW5kIG9wZXJhdG9yLyBmb3IgcGxhdGZv
cm1zIHdoZXJlIHRoZXJlCisgICAgICAgIGlzIG5vIGFtYmlndWl0eSBiZXR3ZWVuIHVuc2lnbmVk
IGludCBhbmQgc2l6ZV90LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gbmV3IGZ1bmN0aW9u
YWxpdHkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9GcmFjdGlvbmFsTGF5b3V0VW5pdC5oOgorICAg
ICAgICAoRnJhY3Rpb25hbExheW91dFVuaXQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhY3Rpb25h
bExheW91dFVuaXQ6OkZyYWN0aW9uYWxMYXlvdXRVbml0KToKKyAgICAgICAgKFdlYkNvcmU6OkZy
YWN0aW9uYWxMYXlvdXRVbml0Ojppc0luQm91bmRzKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6b3BlcmF0b3IqKToKKyAgICAgICAgKFdlYkNvcmU6Om9wZXJhdG9yLyk6
CisKIDIwMTItMDQtMTMgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMTQxNDAuCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9GcmFjdGlvbmFsTGF5b3V0VW5pdC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZyYWN0aW9uYWxMYXlvdXRVbml0LmgJKHJldmlzaW9u
IDExNDEyNikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZyYWN0aW9uYWxMYXlvdXRVbml0
LmgJKHdvcmtpbmcgY29weSkKQEAgLTM2LDYgKzM2LDEwIEBACiAjaW5jbHVkZSA8bWF0aC5oPgog
I2luY2x1ZGUgPHN0ZGxpYi5oPgogCisjaWYgUExBVEZPUk0oQ0hST01JVU0pIHx8IFBMQVRGT1JN
KE1BQykKKyNkZWZpbmUgQVJFX1NJWkVfVF9VTlNJR05FRF9ESUZGRVJFTlRfVU5JVAorI2VuZGlm
CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIGNvbnN0IGludCBrRml4ZWRQb2ludERl
bm9taW5hdG9yID0gNjA7CkBAIC01MSw2ICs1NSw5IEBAIHB1YmxpYzoKICAgICBGcmFjdGlvbmFs
TGF5b3V0VW5pdChmbG9hdCB2YWx1ZSkgeyBBU1NFUlQoaXNJbkJvdW5kcyh2YWx1ZSkpOyBtX3Zh
bHVlID0gdmFsdWUgKiBrRml4ZWRQb2ludERlbm9taW5hdG9yOyB9CiAgICAgRnJhY3Rpb25hbExh
eW91dFVuaXQoZG91YmxlIHZhbHVlKSB7IEFTU0VSVChpc0luQm91bmRzKHZhbHVlKSk7IG1fdmFs
dWUgPSB2YWx1ZSAqIGtGaXhlZFBvaW50RGVub21pbmF0b3I7IH0KICAgICBGcmFjdGlvbmFsTGF5
b3V0VW5pdChjb25zdCBGcmFjdGlvbmFsTGF5b3V0VW5pdCYgdmFsdWUpIHsgbV92YWx1ZSA9IHZh
bHVlLnJhd1ZhbHVlKCk7IH0KKyNpZmRlZiBBUkVfU0laRV9UX1VOU0lHTkVEX0RJRkZFUkVOVF9V
TklUCisgICAgRnJhY3Rpb25hbExheW91dFVuaXQoc2l6ZV90IHZhbHVlKSB7IEFTU0VSVChpc0lu
Qm91bmRzKHZhbHVlKSk7IG1fdmFsdWUgPSBzdGF0aWNfY2FzdDxpbnQ+KHZhbHVlICoga0ZpeGVk
UG9pbnREZW5vbWluYXRvcik7IH0KKyNlbmRpZgogCiAgICAgaW5saW5lIGludCB0b0ludCgpIGNv
bnN0IHsgcmV0dXJuIG1fdmFsdWUgLyBrRml4ZWRQb2ludERlbm9taW5hdG9yOyB9CiAgICAgaW5s
aW5lIHVuc2lnbmVkIHRvVW5zaWduZWQoKSBjb25zdCB7IEFTU0VSVChtX3ZhbHVlID49IDApOyBy
ZXR1cm4gdG9JbnQoKTsgfQpAQCAtMTI2LDYgKzEzMywxMiBAQCBwcml2YXRlOgogICAgIHsKICAg
ICAgICAgcmV0dXJuIDo6ZmFicyh2YWx1ZSkgPD0gc3RkOjpudW1lcmljX2xpbWl0czxpbnQ+Ojpt
YXgoKSAvIGtGaXhlZFBvaW50RGVub21pbmF0b3I7CiAgICAgfQorI2lmZGVmIEFSRV9TSVpFX1Rf
VU5TSUdORURfRElGRkVSRU5UX1VOSVQKKyAgICBpbmxpbmUgYm9vbCBpc0luQm91bmRzKHNpemVf
dCB2YWx1ZSkKKyAgICB7CisgICAgICAgIHJldHVybiB2YWx1ZSA8PSBzdGF0aWNfY2FzdDxzaXpl
X3Q+KHN0ZDo6bnVtZXJpY19saW1pdHM8aW50Pjo6bWF4KCkpIC8ga0ZpeGVkUG9pbnREZW5vbWlu
YXRvcjsKKyAgICB9CisjZW5kaWYKIAogICAgIGludCBtX3ZhbHVlOwogfTsKQEAgLTMzMSw2ICsz
NDQsMTMgQEAgaW5saW5lIEZyYWN0aW9uYWxMYXlvdXRVbml0IG9wZXJhdG9yKihjbwogICAgIHJl
dHVybiBhICogRnJhY3Rpb25hbExheW91dFVuaXQoYik7CiB9CiAKKyNpZmRlZiBBUkVfU0laRV9U
X1VOU0lHTkVEX0RJRkZFUkVOVF9VTklUCitpbmxpbmUgRnJhY3Rpb25hbExheW91dFVuaXQgb3Bl
cmF0b3IqKGNvbnN0IEZyYWN0aW9uYWxMYXlvdXRVbml0JiBhLCBzaXplX3QgYikKK3sKKyAgICBy
ZXR1cm4gYSAqIEZyYWN0aW9uYWxMYXlvdXRVbml0KGIpOworfQorI2VuZGlmCisKIGlubGluZSBG
cmFjdGlvbmFsTGF5b3V0VW5pdCBvcGVyYXRvcioodW5zaWduZWQgYSwgY29uc3QgRnJhY3Rpb25h
bExheW91dFVuaXQmIGIpCiB7CiAgICAgcmV0dXJuIEZyYWN0aW9uYWxMYXlvdXRVbml0KGEpICog
YjsKQEAgLTM1MSw2ICszNzEsMTMgQEAgaW5saW5lIGRvdWJsZSBvcGVyYXRvciooY29uc3QgZG91
YmxlIGEsIAogICAgIHJldHVybiBhICogYi50b0RvdWJsZSgpOwogfQogCisjaWZkZWYgQVJFX1NJ
WkVfVF9VTlNJR05FRF9ESUZGRVJFTlRfVU5JVAoraW5saW5lIEZyYWN0aW9uYWxMYXlvdXRVbml0
IG9wZXJhdG9yKihzaXplX3QgYSwgY29uc3QgRnJhY3Rpb25hbExheW91dFVuaXQmIGIpCit7Cisg
ICAgcmV0dXJuIEZyYWN0aW9uYWxMYXlvdXRVbml0KGEpICogYjsKK30KKyNlbmRpZgorCiBpbmxp
bmUgRnJhY3Rpb25hbExheW91dFVuaXQgb3BlcmF0b3IvKGNvbnN0IEZyYWN0aW9uYWxMYXlvdXRV
bml0JiBhLCBjb25zdCBGcmFjdGlvbmFsTGF5b3V0VW5pdCYgYikKIHsKICAgICBGcmFjdGlvbmFs
TGF5b3V0VW5pdCByZXR1cm5WYWw7CkBAIC0zNzksNiArNDA2LDEzIEBAIGlubGluZSBGcmFjdGlv
bmFsTGF5b3V0VW5pdCBvcGVyYXRvci8oY28KICAgICByZXR1cm4gYSAvIEZyYWN0aW9uYWxMYXlv
dXRVbml0KGIpOwogfQogCisjaWZkZWYgQVJFX1NJWkVfVF9VTlNJR05FRF9ESUZGRVJFTlRfVU5J
VAoraW5saW5lIEZyYWN0aW9uYWxMYXlvdXRVbml0IG9wZXJhdG9yLyhjb25zdCBGcmFjdGlvbmFs
TGF5b3V0VW5pdCYgYSwgc2l6ZV90IGIpCit7CisgICAgcmV0dXJuIGEgLyBGcmFjdGlvbmFsTGF5
b3V0VW5pdChiKTsKK30KKyNlbmRpZgorCiBpbmxpbmUgZmxvYXQgb3BlcmF0b3IvKGNvbnN0IGZs
b2F0IGEsIGNvbnN0IEZyYWN0aW9uYWxMYXlvdXRVbml0JiBiKQogewogICAgIHJldHVybiBhIC8g
Yi50b0Zsb2F0KCk7CkBAIC0zOTQsNiArNDI4LDEzIEBAIGlubGluZSBGcmFjdGlvbmFsTGF5b3V0
VW5pdCBvcGVyYXRvci8odW4KICAgICByZXR1cm4gRnJhY3Rpb25hbExheW91dFVuaXQoYSkgLyBi
OwogfQogCisjaWZkZWYgQVJFX1NJWkVfVF9VTlNJR05FRF9ESUZGRVJFTlRfVU5JVAoraW5saW5l
IEZyYWN0aW9uYWxMYXlvdXRVbml0IG9wZXJhdG9yLyhzaXplX3QgYSwgY29uc3QgRnJhY3Rpb25h
bExheW91dFVuaXQmIGIpCit7CisgICAgcmV0dXJuIEZyYWN0aW9uYWxMYXlvdXRVbml0KGEpIC8g
YjsKK30KKyNlbmRpZgorCiBpbmxpbmUgRnJhY3Rpb25hbExheW91dFVuaXQgb3BlcmF0b3IrKGNv
bnN0IEZyYWN0aW9uYWxMYXlvdXRVbml0JiBhLCBjb25zdCBGcmFjdGlvbmFsTGF5b3V0VW5pdCYg
YikKIHsKICAgICBGcmFjdGlvbmFsTGF5b3V0VW5pdCByZXR1cm5WYWw7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180037</attachid>
            <date>2012-12-18 15:07:51 -0800</date>
            <delta_ts>2012-12-18 15:50:37 -0800</delta_ts>
            <desc>Updated patch: add overloaded operators for most unsigned types, per Darin&apos;s suggestion.</desc>
            <filename>bug-83848-20121218150508.patch</filename>
            <type>text/plain</type>
            <size>8266</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4MDQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2Y0ODlhNmU1NWNmZmIx
NTAyOGQyMDhjMGViYTNkYWRkNjA0Y2U0Mi4uZjcxMGEyMWM4MzFlM2E5MGMzZjAwNmMwNTgzMTY2
NDE0NDNiYjBlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTEyLTE4ICBKdWxp
ZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCBzaXpl
X3QgdmVyc2lvbnMgb2YgbXVsdGlwbGljYXRpb24gYW5kIGRpdmlzaW9uIG9wZXJhdG9ycyB0byBG
cmFjdGlvbmFsTGF5b3V0VW5pdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODM4NDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBQZXIgRGFyaW4ncyBzdWdnZXN0aW9uLCBhZGRpbmcgYSB2ZXJzaW9uIG9mIHRo
ZSBvcGVyYXRvciBmb3IgYWxsIHVuc2lnbmVkIHR5cGVzIChidXQgdW5zaWduZWQKKyAgICAgICAg
Y2hhcikuIFRoaXMgc2hvdWxkIGF1dG9tYXRpY2FsbHkgY292ZXIgc2l6ZV90IGFzIGl0IHNob3Vs
ZCBiZSBvbmUgb2YgdGhlc2UuCisKKyAgICAgICAgVGVzdDogVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJDb3JlL0xheW91dFVuaXQuY3BwCisKKyAgICAgICAgKiBwbGF0Zm9ybS9MYXlvdXRVbml0Lmg6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRVbml0OjpMYXlvdXRVbml0KToKKyAgICAgICAgKFdl
YkNvcmU6Om9wZXJhdG9yKik6CisgICAgICAgIChXZWJDb3JlOjpvcGVyYXRvci8pOgorICAgICAg
ICBBZGRlZCB0aGUgb3BlcmF0b3JzIGFuZCAocG9zc2libHkgc2F0dXJhdGluZykgY29uc3RydWN0
b3JzIGZvciB1bnNpZ25lZCBzaG9ydCwgdW5zaWduZWQgbG9uZywKKyAgICAgICAgdW5zaWduZWQg
bG9uZyBsb25nLgorCiAyMDEyLTEyLTE4ICBIYW5zIE11bGxlciAgPGhtdWxsZXJAYWRvYmUuY29t
PgogCiAgICAgICAgIFtDU1MgRXhjbHVzaW9uc10gc2hhcGUtaW5zaWRlIGxheW91dCBmYWlscyB0
byBhZGp1c3QgZmlyc3QgbGluZSBjb3JyZWN0bHkgZm9yIHdyaXRpbmctbW9kZTogdmVydGljYWwt
cmwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xheW91dFVuaXQuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xheW91dFVuaXQuaAppbmRleCBhYTc2NjgyNjUwZWFkZWQ3
NjE1MDY3MDA2MDRhYzE1MWEzNzllMDFlLi45NjlmY2U3NWRjODUzOWUzZTgyMDllZDIzNmNmNTQ0
MzQxOWVmYTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MYXlvdXRVbml0
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGF5b3V0VW5pdC5oCkBAIC02NiwxNSAr
NjYsMjkgQEAgY29uc3QgaW50IGludE1pbkZvckxheW91dFVuaXQgPSBJTlRfTUlOIC8ga0VmZmVj
dGl2ZUZpeGVkUG9pbnREZW5vbWluYXRvcjsKIAogY2xhc3MgTGF5b3V0VW5pdCB7CiBwdWJsaWM6
Ci0gICAgLy8gRklYTUU6IElkZWFsbHkgd2Ugd291bGQgaGF2ZSBzaXplX3QgdmVyc2lvbnMgb2Yg
dGhlIGNvbnN0cnVjdG9yIGFuZCBvcGVyYXRvcnMuCi0gICAgLy8gSG93ZXZlciBkdWUgdG8gY29t
cGlsZXIgYW5kIHBsYXRmb3JtIGRpZmZlcmVuY2VzIGFkZGluZyB0aG9zZSBhcmUgbm9uLXRyaXZp
YWwuCi0gICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
Mzg0OCBmb3IgZGV0YWlscy4KLSAgICAKICAgICBMYXlvdXRVbml0KCkgOiBtX3ZhbHVlKDApIHsg
fQogI2lmIEVOQUJMRShTVUJQSVhFTF9MQVlPVVQpCiAgICAgTGF5b3V0VW5pdChpbnQgdmFsdWUp
IHsgc2V0VmFsdWUodmFsdWUpOyB9CiAgICAgTGF5b3V0VW5pdCh1bnNpZ25lZCBzaG9ydCB2YWx1
ZSkgeyBzZXRWYWx1ZSh2YWx1ZSk7IH0KICAgICBMYXlvdXRVbml0KHVuc2lnbmVkIHZhbHVlKSB7
IHNldFZhbHVlKHZhbHVlKTsgfQorICAgIExheW91dFVuaXQodW5zaWduZWQgbG9uZyB2YWx1ZSkK
KyAgICB7CisjaWYgRU5BQkxFKFNBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykKKyAgICAgICAg
bV92YWx1ZSA9IGNsYW1wVG88aW50Pih2YWx1ZSAqIGtFZmZlY3RpdmVGaXhlZFBvaW50RGVub21p
bmF0b3IpOworI2Vsc2UKKyAgICAgICAgUkVQT1JUX09WRVJGTE9XKGlzSW5Cb3VuZHMoc3RhdGlj
X2Nhc3Q8dW5zaWduZWQ+KHZhbHVlKSkpOworICAgICAgICBtX3ZhbHVlID0gdmFsdWUgKiBrRWZm
ZWN0aXZlRml4ZWRQb2ludERlbm9taW5hdG9yOworI2VuZGlmCisgICAgfQorICAgIExheW91dFVu
aXQodW5zaWduZWQgbG9uZyBsb25nIHZhbHVlKQorICAgIHsKKyNpZiBFTkFCTEUoU0FUVVJBVEVE
X0xBWU9VVF9BUklUSE1FVElDKQorICAgICAgICBtX3ZhbHVlID0gY2xhbXBUbzxpbnQ+KHZhbHVl
ICoga0VmZmVjdGl2ZUZpeGVkUG9pbnREZW5vbWluYXRvcik7CisjZWxzZQorICAgICAgICBSRVBP
UlRfT1ZFUkZMT1coaXNJbkJvdW5kcyhzdGF0aWNfY2FzdDx1bnNpZ25lZD4odmFsdWUpKSk7Cisg
ICAgICAgIG1fdmFsdWUgPSB2YWx1ZSAqIGtFZmZlY3RpdmVGaXhlZFBvaW50RGVub21pbmF0b3I7
CisjZW5kaWYKKyAgICB9CiAgICAgTGF5b3V0VW5pdChmbG9hdCB2YWx1ZSkKICAgICB7CiAjaWYg
RU5BQkxFKFNBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykKQEAgLTk3LDYgKzExMSw4IEBAIHB1
YmxpYzoKICAgICBMYXlvdXRVbml0KGludCB2YWx1ZSkgeyBSRVBPUlRfT1ZFUkZMT1coaXNJbkJv
dW5kcyh2YWx1ZSkpOyBtX3ZhbHVlID0gdmFsdWU7IH0KICAgICBMYXlvdXRVbml0KHVuc2lnbmVk
IHNob3J0IHZhbHVlKSB7IFJFUE9SVF9PVkVSRkxPVyhpc0luQm91bmRzKHZhbHVlKSk7IG1fdmFs
dWUgPSB2YWx1ZTsgfQogICAgIExheW91dFVuaXQodW5zaWduZWQgdmFsdWUpIHsgUkVQT1JUX09W
RVJGTE9XKGlzSW5Cb3VuZHModmFsdWUpKTsgbV92YWx1ZSA9IHZhbHVlOyB9CisgICAgTGF5b3V0
VW5pdCh1bnNpZ25lZCBsb25nIGxvbmcgdmFsdWUpIHsgUkVQT1JUX09WRVJGTE9XKGlzSW5Cb3Vu
ZHMoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHZhbHVlKSkpOyBtX3ZhbHVlID0gdmFsdWU7IH0KKyAg
ICBMYXlvdXRVbml0KHVuc2lnbmVkIGxvbmcgdmFsdWUpIHsgUkVQT1JUX09WRVJGTE9XKGlzSW5C
b3VuZHMoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHZhbHVlKSkpOyBtX3ZhbHVlID0gdmFsdWU7IH0K
ICAgICBMYXlvdXRVbml0KGZsb2F0IHZhbHVlKSB7IFJFUE9SVF9PVkVSRkxPVyhpc0luQm91bmRz
KHZhbHVlKSk7IG1fdmFsdWUgPSB2YWx1ZTsgfQogICAgIExheW91dFVuaXQoZG91YmxlIHZhbHVl
KSB7IFJFUE9SVF9PVkVSRkxPVyhpc0luQm91bmRzKHZhbHVlKSk7IG1fdmFsdWUgPSB2YWx1ZTsg
fQogI2VuZGlmCkBAIC01MjksMTYgKzU0NSw0NiBAQCBpbmxpbmUgTGF5b3V0VW5pdCBvcGVyYXRv
ciooY29uc3QgTGF5b3V0VW5pdCYgYSwgaW50IGIpCiAgICAgcmV0dXJuIGEgKiBMYXlvdXRVbml0
KGIpOwogfQogCitpbmxpbmUgTGF5b3V0VW5pdCBvcGVyYXRvciooY29uc3QgTGF5b3V0VW5pdCYg
YSwgdW5zaWduZWQgc2hvcnQgYikKK3sKKyAgICByZXR1cm4gYSAqIExheW91dFVuaXQoYik7Cit9
CisKIGlubGluZSBMYXlvdXRVbml0IG9wZXJhdG9yKihjb25zdCBMYXlvdXRVbml0JiBhLCB1bnNp
Z25lZCBiKQogewogICAgIHJldHVybiBhICogTGF5b3V0VW5pdChiKTsKIH0KIAoraW5saW5lIExh
eW91dFVuaXQgb3BlcmF0b3IqKGNvbnN0IExheW91dFVuaXQmIGEsIHVuc2lnbmVkIGxvbmcgYikK
K3sKKyAgICByZXR1cm4gYSAqIExheW91dFVuaXQoYik7Cit9CisKK2lubGluZSBMYXlvdXRVbml0
IG9wZXJhdG9yKihjb25zdCBMYXlvdXRVbml0JiBhLCB1bnNpZ25lZCBsb25nIGxvbmcgYikKK3sK
KyAgICByZXR1cm4gYSAqIExheW91dFVuaXQoYik7Cit9CisKK2lubGluZSBMYXlvdXRVbml0IG9w
ZXJhdG9yKih1bnNpZ25lZCBzaG9ydCBhLCBjb25zdCBMYXlvdXRVbml0JiBiKQoreworICAgIHJl
dHVybiBMYXlvdXRVbml0KGEpICogYjsKK30KKwogaW5saW5lIExheW91dFVuaXQgb3BlcmF0b3Iq
KHVuc2lnbmVkIGEsIGNvbnN0IExheW91dFVuaXQmIGIpCiB7CiAgICAgcmV0dXJuIExheW91dFVu
aXQoYSkgKiBiOwogfQogCitpbmxpbmUgTGF5b3V0VW5pdCBvcGVyYXRvcioodW5zaWduZWQgbG9u
ZyBhLCBjb25zdCBMYXlvdXRVbml0JiBiKQoreworICAgIHJldHVybiBMYXlvdXRVbml0KGEpICog
YjsKK30KKworaW5saW5lIExheW91dFVuaXQgb3BlcmF0b3IqKHVuc2lnbmVkIGxvbmcgbG9uZyBh
LCBjb25zdCBMYXlvdXRVbml0JiBiKQoreworICAgIHJldHVybiBMYXlvdXRVbml0KGEpICogYjsK
K30KKwogaW5saW5lIExheW91dFVuaXQgb3BlcmF0b3IqKGNvbnN0IGludCBhLCBjb25zdCBMYXlv
dXRVbml0JiBiKQogewogICAgIHJldHVybiBMYXlvdXRVbml0KGEpICogYjsKQEAgLTU4NSwxMSAr
NjMxLDI2IEBAIGlubGluZSBMYXlvdXRVbml0IG9wZXJhdG9yLyhjb25zdCBMYXlvdXRVbml0JiBh
LCBpbnQgYikKICAgICByZXR1cm4gYSAvIExheW91dFVuaXQoYik7CiB9CiAKK2lubGluZSBMYXlv
dXRVbml0IG9wZXJhdG9yLyhjb25zdCBMYXlvdXRVbml0JiBhLCB1bnNpZ25lZCBzaG9ydCBiKQor
eworICAgIHJldHVybiBhIC8gTGF5b3V0VW5pdChiKTsKK30KKwogaW5saW5lIExheW91dFVuaXQg
b3BlcmF0b3IvKGNvbnN0IExheW91dFVuaXQmIGEsIHVuc2lnbmVkIGIpCiB7CiAgICAgcmV0dXJu
IGEgLyBMYXlvdXRVbml0KGIpOwogfQogCitpbmxpbmUgTGF5b3V0VW5pdCBvcGVyYXRvci8oY29u
c3QgTGF5b3V0VW5pdCYgYSwgdW5zaWduZWQgbG9uZyBiKQoreworICAgIHJldHVybiBhIC8gTGF5
b3V0VW5pdChiKTsKK30KKworaW5saW5lIExheW91dFVuaXQgb3BlcmF0b3IvKGNvbnN0IExheW91
dFVuaXQmIGEsIHVuc2lnbmVkIGxvbmcgbG9uZyBiKQoreworICAgIHJldHVybiBhIC8gTGF5b3V0
VW5pdChiKTsKK30KKwogaW5saW5lIGZsb2F0IG9wZXJhdG9yLyhjb25zdCBmbG9hdCBhLCBjb25z
dCBMYXlvdXRVbml0JiBiKQogewogICAgIHJldHVybiBhIC8gYi50b0Zsb2F0KCk7CkBAIC02MDUs
MTEgKzY2NiwyNiBAQCBpbmxpbmUgTGF5b3V0VW5pdCBvcGVyYXRvci8oY29uc3QgaW50IGEsIGNv
bnN0IExheW91dFVuaXQmIGIpCiAgICAgcmV0dXJuIExheW91dFVuaXQoYSkgLyBiOwogfQogCitp
bmxpbmUgTGF5b3V0VW5pdCBvcGVyYXRvci8odW5zaWduZWQgc2hvcnQgYSwgY29uc3QgTGF5b3V0
VW5pdCYgYikKK3sKKyAgICByZXR1cm4gTGF5b3V0VW5pdChhKSAvIGI7Cit9CisKIGlubGluZSBM
YXlvdXRVbml0IG9wZXJhdG9yLyh1bnNpZ25lZCBhLCBjb25zdCBMYXlvdXRVbml0JiBiKQogewog
ICAgIHJldHVybiBMYXlvdXRVbml0KGEpIC8gYjsKIH0KIAoraW5saW5lIExheW91dFVuaXQgb3Bl
cmF0b3IvKHVuc2lnbmVkIGxvbmcgYSwgY29uc3QgTGF5b3V0VW5pdCYgYikKK3sKKyAgICByZXR1
cm4gTGF5b3V0VW5pdChhKSAvIGI7Cit9CisKK2lubGluZSBMYXlvdXRVbml0IG9wZXJhdG9yLyh1
bnNpZ25lZCBsb25nIGxvbmcgYSwgY29uc3QgTGF5b3V0VW5pdCYgYikKK3sKKyAgICByZXR1cm4g
TGF5b3V0VW5pdChhKSAvIGI7Cit9CisKIGlubGluZSBMYXlvdXRVbml0IG9wZXJhdG9yKyhjb25z
dCBMYXlvdXRVbml0JiBhLCBjb25zdCBMYXlvdXRVbml0JiBiKQogewogICAgIExheW91dFVuaXQg
cmV0dXJuVmFsOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9n
CmluZGV4IGZmMjQwNWIxMTc5NTZiMTA3NWUwZWYxMGNiOWJlNzVlZTNjNzNhM2EuLmQ0OWMxYTNm
NzU3NjNjNzZlOTY4MDNjMjYzMDJlYzI1OTJkNTFiODUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5n
ZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0xMi0xOCAg
SnVsaWVuIENoYWZmcmFpeCAgPGpjaGFmZnJhaXhAd2Via2l0Lm9yZz4KKworICAgICAgICBBZGQg
c2l6ZV90IHZlcnNpb25zIG9mIG11bHRpcGxpY2F0aW9uIGFuZCBkaXZpc2lvbiBvcGVyYXRvcnMg
dG8gRnJhY3Rpb25hbExheW91dFVuaXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTgzODQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvTGF5b3V0VW5pdC5j
cHA6CisgICAgICAgIEFkZGVkIHNvbWUgc2ltcGxlIHRlc3RzIGZvciB0aGUgbmV3IG9wZXJhdG9y
cyB1c2luZyBzaXplX3QuCisKIDIwMTItMTItMTggIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgQ29uc2lkZXIgcmVtb3ZpbmcgLS1wYXVzZS1iZWZvcmUtdGVzdGlu
ZyBvcHRpb24KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9M
YXlvdXRVbml0LmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9MYXlvdXRV
bml0LmNwcAppbmRleCA4ZTRjMDRmYTZmOTY2NjY1MTUxNWZlODBlZjkxZjI3OWMwMzkxODI1Li5l
ZDk1MjlhZTFjZWNkY2MyM2JkYjljZjgxOTVhNmYzNTg5ZjJiY2E2IDEwMDY0NAotLS0gYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvTGF5b3V0VW5pdC5jcHAKKysrIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0xheW91dFVuaXQuY3BwCkBAIC0xNDYsNyArMTQ2
LDEyIEBAIFRFU1QoV2ViQ29yZSwgTGF5b3V0VW5pdE11bHRpcGxpY2F0aW9uKQogICAgIEFTU0VS
VF9FUSgoTGF5b3V0VW5pdCgxMDApICogTGF5b3V0VW5pdCgzLjMzKSkucm91bmQoKSwgMzMzKTsK
ICAgICBBU1NFUlRfRVEoKExheW91dFVuaXQoLTEwMCkgKiBMYXlvdXRVbml0KDMuMzMpKS5yb3Vu
ZCgpLCAtMzMzKTsKICAgICBBU1NFUlRfRVEoKExheW91dFVuaXQoLTEwMCkgKiBMYXlvdXRVbml0
KC0zLjMzKSkucm91bmQoKSwgMzMzKTsKLSAgICAKKworICAgIHNpemVfdCBhSHVuZHJlZFNpemVU
ID0gMTAwOworICAgIEFTU0VSVF9FUSgoTGF5b3V0VW5pdChhSHVuZHJlZFNpemVUKSAqIExheW91
dFVuaXQoMSkpLnRvSW50KCksIGFIdW5kcmVkU2l6ZVQpOworICAgIEFTU0VSVF9FUSgoYUh1bmRy
ZWRTaXplVCAqIExheW91dFVuaXQoNCkpLnRvSW50KCksIDQgKiBhSHVuZHJlZFNpemVUKTsKKyAg
ICBBU1NFUlRfRVEoKExheW91dFVuaXQoNCkgKiBhSHVuZHJlZFNpemVUKS50b0ludCgpLCA0ICog
YUh1bmRyZWRTaXplVCk7CisKICAgICBpbnQgcXVhcnRlck1heCA9IGludE1heEZvckxheW91dFVu
aXQgLyA0OwogICAgIEFTU0VSVF9FUSgoTGF5b3V0VW5pdChxdWFydGVyTWF4KSAqIExheW91dFVu
aXQoMikpLnRvSW50KCksIHF1YXJ0ZXJNYXggKiAyKTsKICAgICBBU1NFUlRfRVEoKExheW91dFVu
aXQocXVhcnRlck1heCkgKiBMYXlvdXRVbml0KDMpKS50b0ludCgpLCBxdWFydGVyTWF4ICogMyk7
CkBAIC0xODMsNiArMTg4LDExIEBAIFRFU1QoV2ViQ29yZSwgTGF5b3V0VW5pdERpdmlzaW9uKQog
ICAgIEFTU0VSVF9GTE9BVF9FUSgoTGF5b3V0VW5pdCgtMSkgLyBMYXlvdXRVbml0KC0yKSkudG9G
bG9hdCgpLCAwLjVmKTsKICAgICBBU1NFUlRfRkxPQVRfRVEoKExheW91dFVuaXQoLTAuNSkgLyBM
YXlvdXRVbml0KC0yKSkudG9GbG9hdCgpLCAwLjI1Zik7CiAgICAgCisgICAgc2l6ZV90IGFIdW5k
cmVkU2l6ZVQgPSAxMDA7CisgICAgQVNTRVJUX0VRKChMYXlvdXRVbml0KGFIdW5kcmVkU2l6ZVQp
IC8gTGF5b3V0VW5pdCgyKSkudG9JbnQoKSwgYUh1bmRyZWRTaXplVCAvIDIpOworICAgIEFTU0VS
VF9FUSgoYUh1bmRyZWRTaXplVCAvIExheW91dFVuaXQoNCkpLnRvSW50KCksIGFIdW5kcmVkU2l6
ZVQgLyA0KTsKKyAgICBBU1NFUlRfRVEoKExheW91dFVuaXQoNDAwKSAvIGFIdW5kcmVkU2l6ZVQp
LnRvSW50KCksIGFIdW5kcmVkU2l6ZVQpOworCiAgICAgQVNTRVJUX0VRKChMYXlvdXRVbml0KGlu
dE1heEZvckxheW91dFVuaXQpIC8gTGF5b3V0VW5pdCgyKSkudG9JbnQoKSwgaW50TWF4Rm9yTGF5
b3V0VW5pdCAvIDIpOwogICAgIEFTU0VSVF9FUSgoTGF5b3V0VW5pdChpbnRNYXhGb3JMYXlvdXRV
bml0KSAvIExheW91dFVuaXQoMC41KSkudG9JbnQoKSwgaW50TWF4Rm9yTGF5b3V0VW5pdCk7CiB9
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180045</attachid>
            <date>2012-12-18 15:50:40 -0800</date>
            <delta_ts>2012-12-18 15:53:38 -0800</delta_ts>
            <desc>Updated patch without the bad multipliciation test and with an overflowing test.</desc>
            <filename>bug-83848-20121218154757.patch</filename>
            <type>text/plain</type>
            <size>8833</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4MDY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODhhOTUwZjc0YzRlY2Rk
ZTVkNmRlZWIzOGZiYTQ3Y2I1ZjRkYTI4YS4uYzc0NzIyNDYzM2Q1YjVjYTdiOTBmNzVlNWE3NmQ1
ZTYxNmEzNjE2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTEyLTE4ICBKdWxp
ZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCBzaXpl
X3QgdmVyc2lvbnMgb2YgbXVsdGlwbGljYXRpb24gYW5kIGRpdmlzaW9uIG9wZXJhdG9ycyB0byBG
cmFjdGlvbmFsTGF5b3V0VW5pdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODM4NDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBQZXIgRGFyaW4ncyBzdWdnZXN0aW9uLCBhZGRpbmcgYSB2ZXJzaW9uIG9mIHRo
ZSBvcGVyYXRvciBmb3IgYWxsIHVuc2lnbmVkIHR5cGVzIChidXQgdW5zaWduZWQKKyAgICAgICAg
Y2hhcikuIFRoaXMgc2hvdWxkIGF1dG9tYXRpY2FsbHkgY292ZXIgc2l6ZV90IGFzIGl0IHNob3Vs
ZCBiZSBvbmUgb2YgdGhlc2UuCisKKyAgICAgICAgVGVzdDogVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJDb3JlL0xheW91dFVuaXQuY3BwCisKKyAgICAgICAgKiBwbGF0Zm9ybS9MYXlvdXRVbml0Lmg6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRVbml0OjpMYXlvdXRVbml0KToKKyAgICAgICAgKFdl
YkNvcmU6Om9wZXJhdG9yKik6CisgICAgICAgIChXZWJDb3JlOjpvcGVyYXRvci8pOgorICAgICAg
ICBBZGRlZCB0aGUgb3BlcmF0b3JzIGFuZCAocG9zc2libHkgc2F0dXJhdGluZykgY29uc3RydWN0
b3JzIGZvciB1bnNpZ25lZCBzaG9ydCwgdW5zaWduZWQgbG9uZywKKyAgICAgICAgdW5zaWduZWQg
bG9uZyBsb25nLgorCiAyMDEyLTEyLTE4ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBs
ZS5jb20+CiAKICAgICAgICAgW01hY10gQWRkIEJ1aWxkIFBoYXNlIHRvIENoZWNrIEhlYWRlcnMg
Zm9yIEluYXBwcm9wcmlhdGUgTWFjcm9zIChQbGF0Zm9ybS5oIG1hY3JvcykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xheW91dFVuaXQuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0xheW91dFVuaXQuaAppbmRleCAzMzU4OTQwZTRhM2E5YzUxNzRhYzljZWNiY2YxODQw
NWM2YjFkYmFjLi40YjQwY2UwODhmYmFmZWZhMGQ2MDk1OGRlM2RkNWM5ZmJhYTAxNmUwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MYXlvdXRVbml0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vTGF5b3V0VW5pdC5oCkBAIC02NiwxNSArNjYsMjkgQEAgY29uc3Qg
aW50IGludE1pbkZvckxheW91dFVuaXQgPSBJTlRfTUlOIC8ga0VmZmVjdGl2ZUZpeGVkUG9pbnRE
ZW5vbWluYXRvcjsKIAogY2xhc3MgTGF5b3V0VW5pdCB7CiBwdWJsaWM6Ci0gICAgLy8gRklYTUU6
IElkZWFsbHkgd2Ugd291bGQgaGF2ZSBzaXplX3QgdmVyc2lvbnMgb2YgdGhlIGNvbnN0cnVjdG9y
IGFuZCBvcGVyYXRvcnMuCi0gICAgLy8gSG93ZXZlciBkdWUgdG8gY29tcGlsZXIgYW5kIHBsYXRm
b3JtIGRpZmZlcmVuY2VzIGFkZGluZyB0aG9zZSBhcmUgbm9uLXRyaXZpYWwuCi0gICAgLy8gU2Vl
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Mzg0OCBmb3IgZGV0YWls
cy4KLSAgICAKICAgICBMYXlvdXRVbml0KCkgOiBtX3ZhbHVlKDApIHsgfQogI2lmIEVOQUJMRShT
VUJQSVhFTF9MQVlPVVQpCiAgICAgTGF5b3V0VW5pdChpbnQgdmFsdWUpIHsgc2V0VmFsdWUodmFs
dWUpOyB9CiAgICAgTGF5b3V0VW5pdCh1bnNpZ25lZCBzaG9ydCB2YWx1ZSkgeyBzZXRWYWx1ZSh2
YWx1ZSk7IH0KICAgICBMYXlvdXRVbml0KHVuc2lnbmVkIHZhbHVlKSB7IHNldFZhbHVlKHZhbHVl
KTsgfQorICAgIExheW91dFVuaXQodW5zaWduZWQgbG9uZyB2YWx1ZSkKKyAgICB7CisjaWYgRU5B
QkxFKFNBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykKKyAgICAgICAgbV92YWx1ZSA9IGNsYW1w
VG88aW50Pih2YWx1ZSAqIGtFZmZlY3RpdmVGaXhlZFBvaW50RGVub21pbmF0b3IpOworI2Vsc2UK
KyAgICAgICAgUkVQT1JUX09WRVJGTE9XKGlzSW5Cb3VuZHMoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+
KHZhbHVlKSkpOworICAgICAgICBtX3ZhbHVlID0gdmFsdWUgKiBrRWZmZWN0aXZlRml4ZWRQb2lu
dERlbm9taW5hdG9yOworI2VuZGlmCisgICAgfQorICAgIExheW91dFVuaXQodW5zaWduZWQgbG9u
ZyBsb25nIHZhbHVlKQorICAgIHsKKyNpZiBFTkFCTEUoU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1F
VElDKQorICAgICAgICBtX3ZhbHVlID0gY2xhbXBUbzxpbnQ+KHZhbHVlICoga0VmZmVjdGl2ZUZp
eGVkUG9pbnREZW5vbWluYXRvcik7CisjZWxzZQorICAgICAgICBSRVBPUlRfT1ZFUkZMT1coaXNJ
bkJvdW5kcyhzdGF0aWNfY2FzdDx1bnNpZ25lZD4odmFsdWUpKSk7CisgICAgICAgIG1fdmFsdWUg
PSB2YWx1ZSAqIGtFZmZlY3RpdmVGaXhlZFBvaW50RGVub21pbmF0b3I7CisjZW5kaWYKKyAgICB9
CiAgICAgTGF5b3V0VW5pdChmbG9hdCB2YWx1ZSkKICAgICB7CiAjaWYgRU5BQkxFKFNBVFVSQVRF
RF9MQVlPVVRfQVJJVEhNRVRJQykKQEAgLTk3LDYgKzExMSw4IEBAIHB1YmxpYzoKICAgICBMYXlv
dXRVbml0KGludCB2YWx1ZSkgeyBSRVBPUlRfT1ZFUkZMT1coaXNJbkJvdW5kcyh2YWx1ZSkpOyBt
X3ZhbHVlID0gdmFsdWU7IH0KICAgICBMYXlvdXRVbml0KHVuc2lnbmVkIHNob3J0IHZhbHVlKSB7
IFJFUE9SVF9PVkVSRkxPVyhpc0luQm91bmRzKHZhbHVlKSk7IG1fdmFsdWUgPSB2YWx1ZTsgfQog
ICAgIExheW91dFVuaXQodW5zaWduZWQgdmFsdWUpIHsgUkVQT1JUX09WRVJGTE9XKGlzSW5Cb3Vu
ZHModmFsdWUpKTsgbV92YWx1ZSA9IHZhbHVlOyB9CisgICAgTGF5b3V0VW5pdCh1bnNpZ25lZCBs
b25nIGxvbmcgdmFsdWUpIHsgUkVQT1JUX09WRVJGTE9XKGlzSW5Cb3VuZHMoc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KHZhbHVlKSkpOyBtX3ZhbHVlID0gdmFsdWU7IH0KKyAgICBMYXlvdXRVbml0KHVu
c2lnbmVkIGxvbmcgdmFsdWUpIHsgUkVQT1JUX09WRVJGTE9XKGlzSW5Cb3VuZHMoc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KHZhbHVlKSkpOyBtX3ZhbHVlID0gdmFsdWU7IH0KICAgICBMYXlvdXRVbml0
KGZsb2F0IHZhbHVlKSB7IFJFUE9SVF9PVkVSRkxPVyhpc0luQm91bmRzKHZhbHVlKSk7IG1fdmFs
dWUgPSB2YWx1ZTsgfQogICAgIExheW91dFVuaXQoZG91YmxlIHZhbHVlKSB7IFJFUE9SVF9PVkVS
RkxPVyhpc0luQm91bmRzKHZhbHVlKSk7IG1fdmFsdWUgPSB2YWx1ZTsgfQogI2VuZGlmCkBAIC01
MjksMTYgKzU0NSw0NiBAQCBpbmxpbmUgTGF5b3V0VW5pdCBvcGVyYXRvciooY29uc3QgTGF5b3V0
VW5pdCYgYSwgaW50IGIpCiAgICAgcmV0dXJuIGEgKiBMYXlvdXRVbml0KGIpOwogfQogCitpbmxp
bmUgTGF5b3V0VW5pdCBvcGVyYXRvciooY29uc3QgTGF5b3V0VW5pdCYgYSwgdW5zaWduZWQgc2hv
cnQgYikKK3sKKyAgICByZXR1cm4gYSAqIExheW91dFVuaXQoYik7Cit9CisKIGlubGluZSBMYXlv
dXRVbml0IG9wZXJhdG9yKihjb25zdCBMYXlvdXRVbml0JiBhLCB1bnNpZ25lZCBiKQogewogICAg
IHJldHVybiBhICogTGF5b3V0VW5pdChiKTsKIH0KIAoraW5saW5lIExheW91dFVuaXQgb3BlcmF0
b3IqKGNvbnN0IExheW91dFVuaXQmIGEsIHVuc2lnbmVkIGxvbmcgYikKK3sKKyAgICByZXR1cm4g
YSAqIExheW91dFVuaXQoYik7Cit9CisKK2lubGluZSBMYXlvdXRVbml0IG9wZXJhdG9yKihjb25z
dCBMYXlvdXRVbml0JiBhLCB1bnNpZ25lZCBsb25nIGxvbmcgYikKK3sKKyAgICByZXR1cm4gYSAq
IExheW91dFVuaXQoYik7Cit9CisKK2lubGluZSBMYXlvdXRVbml0IG9wZXJhdG9yKih1bnNpZ25l
ZCBzaG9ydCBhLCBjb25zdCBMYXlvdXRVbml0JiBiKQoreworICAgIHJldHVybiBMYXlvdXRVbml0
KGEpICogYjsKK30KKwogaW5saW5lIExheW91dFVuaXQgb3BlcmF0b3IqKHVuc2lnbmVkIGEsIGNv
bnN0IExheW91dFVuaXQmIGIpCiB7CiAgICAgcmV0dXJuIExheW91dFVuaXQoYSkgKiBiOwogfQog
CitpbmxpbmUgTGF5b3V0VW5pdCBvcGVyYXRvcioodW5zaWduZWQgbG9uZyBhLCBjb25zdCBMYXlv
dXRVbml0JiBiKQoreworICAgIHJldHVybiBMYXlvdXRVbml0KGEpICogYjsKK30KKworaW5saW5l
IExheW91dFVuaXQgb3BlcmF0b3IqKHVuc2lnbmVkIGxvbmcgbG9uZyBhLCBjb25zdCBMYXlvdXRV
bml0JiBiKQoreworICAgIHJldHVybiBMYXlvdXRVbml0KGEpICogYjsKK30KKwogaW5saW5lIExh
eW91dFVuaXQgb3BlcmF0b3IqKGNvbnN0IGludCBhLCBjb25zdCBMYXlvdXRVbml0JiBiKQogewog
ICAgIHJldHVybiBMYXlvdXRVbml0KGEpICogYjsKQEAgLTU4NSwxMSArNjMxLDI2IEBAIGlubGlu
ZSBMYXlvdXRVbml0IG9wZXJhdG9yLyhjb25zdCBMYXlvdXRVbml0JiBhLCBpbnQgYikKICAgICBy
ZXR1cm4gYSAvIExheW91dFVuaXQoYik7CiB9CiAKK2lubGluZSBMYXlvdXRVbml0IG9wZXJhdG9y
Lyhjb25zdCBMYXlvdXRVbml0JiBhLCB1bnNpZ25lZCBzaG9ydCBiKQoreworICAgIHJldHVybiBh
IC8gTGF5b3V0VW5pdChiKTsKK30KKwogaW5saW5lIExheW91dFVuaXQgb3BlcmF0b3IvKGNvbnN0
IExheW91dFVuaXQmIGEsIHVuc2lnbmVkIGIpCiB7CiAgICAgcmV0dXJuIGEgLyBMYXlvdXRVbml0
KGIpOwogfQogCitpbmxpbmUgTGF5b3V0VW5pdCBvcGVyYXRvci8oY29uc3QgTGF5b3V0VW5pdCYg
YSwgdW5zaWduZWQgbG9uZyBiKQoreworICAgIHJldHVybiBhIC8gTGF5b3V0VW5pdChiKTsKK30K
KworaW5saW5lIExheW91dFVuaXQgb3BlcmF0b3IvKGNvbnN0IExheW91dFVuaXQmIGEsIHVuc2ln
bmVkIGxvbmcgbG9uZyBiKQoreworICAgIHJldHVybiBhIC8gTGF5b3V0VW5pdChiKTsKK30KKwog
aW5saW5lIGZsb2F0IG9wZXJhdG9yLyhjb25zdCBmbG9hdCBhLCBjb25zdCBMYXlvdXRVbml0JiBi
KQogewogICAgIHJldHVybiBhIC8gYi50b0Zsb2F0KCk7CkBAIC02MDUsMTEgKzY2NiwyNiBAQCBp
bmxpbmUgTGF5b3V0VW5pdCBvcGVyYXRvci8oY29uc3QgaW50IGEsIGNvbnN0IExheW91dFVuaXQm
IGIpCiAgICAgcmV0dXJuIExheW91dFVuaXQoYSkgLyBiOwogfQogCitpbmxpbmUgTGF5b3V0VW5p
dCBvcGVyYXRvci8odW5zaWduZWQgc2hvcnQgYSwgY29uc3QgTGF5b3V0VW5pdCYgYikKK3sKKyAg
ICByZXR1cm4gTGF5b3V0VW5pdChhKSAvIGI7Cit9CisKIGlubGluZSBMYXlvdXRVbml0IG9wZXJh
dG9yLyh1bnNpZ25lZCBhLCBjb25zdCBMYXlvdXRVbml0JiBiKQogewogICAgIHJldHVybiBMYXlv
dXRVbml0KGEpIC8gYjsKIH0KIAoraW5saW5lIExheW91dFVuaXQgb3BlcmF0b3IvKHVuc2lnbmVk
IGxvbmcgYSwgY29uc3QgTGF5b3V0VW5pdCYgYikKK3sKKyAgICByZXR1cm4gTGF5b3V0VW5pdChh
KSAvIGI7Cit9CisKK2lubGluZSBMYXlvdXRVbml0IG9wZXJhdG9yLyh1bnNpZ25lZCBsb25nIGxv
bmcgYSwgY29uc3QgTGF5b3V0VW5pdCYgYikKK3sKKyAgICByZXR1cm4gTGF5b3V0VW5pdChhKSAv
IGI7Cit9CisKIGlubGluZSBMYXlvdXRVbml0IG9wZXJhdG9yKyhjb25zdCBMYXlvdXRVbml0JiBh
LCBjb25zdCBMYXlvdXRVbml0JiBiKQogewogICAgIExheW91dFVuaXQgcmV0dXJuVmFsOwpkaWZm
IC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGExMjYzN2Fl
YzI0MTM1NzdlMTFkZTRiMWQzZWFhNzFmOTAzZTgyZTYuLjFmOWNjOTEyZjc1ZmVjOWU4NzlmYzQz
NmM3ZDYyOGUyYzEzMjlhOWIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29s
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0xMi0xOCAgSnVsaWVuIENoYWZmcmFp
eCAgPGpjaGFmZnJhaXhAd2Via2l0Lm9yZz4KKworICAgICAgICBBZGQgc2l6ZV90IHZlcnNpb25z
IG9mIG11bHRpcGxpY2F0aW9uIGFuZCBkaXZpc2lvbiBvcGVyYXRvcnMgdG8gRnJhY3Rpb25hbExh
eW91dFVuaXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTgzODQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvTGF5b3V0VW5pdC5jcHA6CisgICAgICAgIEFk
ZGVkIHNvbWUgc2ltcGxlIHRlc3RzIGZvciB0aGUgbmV3IG9wZXJhdG9ycyB1c2luZyBzaXplX3Qu
CisKIDIwMTItMTItMTggIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAog
ICAgICAgICBbTWFjXSBBZGQgQnVpbGQgUGhhc2UgdG8gQ2hlY2sgSGVhZGVycyBmb3IgSW5hcHBy
b3ByaWF0ZSBNYWNyb3MgKFBsYXRmb3JtLmggbWFjcm9zKQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0xheW91dFVuaXQuY3BwIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJDb3JlL0xheW91dFVuaXQuY3BwCmluZGV4IGU2NzkxOWFkM2MzYmRiYjhh
ODQ3Mzg5MDAwNzM4NjExZWVlYzg3MGEuLjdmMTdkYzIzOTI5YTcxZmU0YjE2MzcyZWU1MzNlYzc1
ZGYwMjJiNWUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9M
YXlvdXRVbml0LmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvTGF5
b3V0VW5pdC5jcHAKQEAgLTE0NiwxMiArMTQ2LDIyIEBAIFRFU1QoV2ViQ29yZUxheW91dFVuaXQs
IExheW91dFVuaXRNdWx0aXBsaWNhdGlvbikKICAgICBBU1NFUlRfRVEoKExheW91dFVuaXQoMTAw
KSAqIExheW91dFVuaXQoMy4zMykpLnJvdW5kKCksIDMzMyk7CiAgICAgQVNTRVJUX0VRKChMYXlv
dXRVbml0KC0xMDApICogTGF5b3V0VW5pdCgzLjMzKSkucm91bmQoKSwgLTMzMyk7CiAgICAgQVNT
RVJUX0VRKChMYXlvdXRVbml0KC0xMDApICogTGF5b3V0VW5pdCgtMy4zMykpLnJvdW5kKCksIDMz
Myk7Ci0gICAgCisKKyAgICBzaXplX3QgYUh1bmRyZWRTaXplVCA9IDEwMDsKKyAgICBBU1NFUlRf
RVEoKExheW91dFVuaXQoYUh1bmRyZWRTaXplVCkgKiBMYXlvdXRVbml0KDEpKS50b0ludCgpLCBh
SHVuZHJlZFNpemVUKTsKKyAgICBBU1NFUlRfRVEoKGFIdW5kcmVkU2l6ZVQgKiBMYXlvdXRVbml0
KDQpKS50b0ludCgpLCA0ICogYUh1bmRyZWRTaXplVCk7CisgICAgQVNTRVJUX0VRKChMYXlvdXRV
bml0KDQpICogYUh1bmRyZWRTaXplVCkudG9JbnQoKSwgNCAqIGFIdW5kcmVkU2l6ZVQpOworCiAg
ICAgaW50IHF1YXJ0ZXJNYXggPSBpbnRNYXhGb3JMYXlvdXRVbml0IC8gNDsKICAgICBBU1NFUlRf
RVEoKExheW91dFVuaXQocXVhcnRlck1heCkgKiBMYXlvdXRVbml0KDIpKS50b0ludCgpLCBxdWFy
dGVyTWF4ICogMik7CiAgICAgQVNTRVJUX0VRKChMYXlvdXRVbml0KHF1YXJ0ZXJNYXgpICogTGF5
b3V0VW5pdCgzKSkudG9JbnQoKSwgcXVhcnRlck1heCAqIDMpOwogICAgIEFTU0VSVF9FUSgoTGF5
b3V0VW5pdChxdWFydGVyTWF4KSAqIExheW91dFVuaXQoNCkpLnRvSW50KCksIHF1YXJ0ZXJNYXgg
KiA0KTsKICAgICBBU1NFUlRfRVEoKExheW91dFVuaXQocXVhcnRlck1heCkgKiBMYXlvdXRVbml0
KDUpKS50b0ludCgpLCBpbnRNYXhGb3JMYXlvdXRVbml0KTsKKworICAgIHNpemVfdCBvdmVyZmxv
d0ludFNpemVUID0gaW50TWF4Rm9yTGF5b3V0VW5pdCAqIDQ7CisgICAgQVNTRVJUX0VRKChMYXlv
dXRVbml0KG92ZXJmbG93SW50U2l6ZVQpICogTGF5b3V0VW5pdCgyKSkudG9JbnQoKSwgaW50TWF4
Rm9yTGF5b3V0VW5pdCk7CisgICAgQVNTRVJUX0VRKChvdmVyZmxvd0ludFNpemVUICogTGF5b3V0
VW5pdCg0KSkudG9JbnQoKSwgaW50TWF4Rm9yTGF5b3V0VW5pdCk7CisgICAgQVNTRVJUX0VRKChM
YXlvdXRVbml0KDQpICogb3ZlcmZsb3dJbnRTaXplVCkudG9JbnQoKSwgaW50TWF4Rm9yTGF5b3V0
VW5pdCk7CiB9CiAKIFRFU1QoV2ViQ29yZUxheW91dFVuaXQsIExheW91dFVuaXREaXZpc2lvbikK
QEAgLTE4Myw2ICsxOTMsMTEgQEAgVEVTVChXZWJDb3JlTGF5b3V0VW5pdCwgTGF5b3V0VW5pdERp
dmlzaW9uKQogICAgIEFTU0VSVF9GTE9BVF9FUSgoTGF5b3V0VW5pdCgtMSkgLyBMYXlvdXRVbml0
KC0yKSkudG9GbG9hdCgpLCAwLjVmKTsKICAgICBBU1NFUlRfRkxPQVRfRVEoKExheW91dFVuaXQo
LTAuNSkgLyBMYXlvdXRVbml0KC0yKSkudG9GbG9hdCgpLCAwLjI1Zik7CiAgICAgCisgICAgc2l6
ZV90IGFIdW5kcmVkU2l6ZVQgPSAxMDA7CisgICAgQVNTRVJUX0VRKChMYXlvdXRVbml0KGFIdW5k
cmVkU2l6ZVQpIC8gTGF5b3V0VW5pdCgyKSkudG9JbnQoKSwgYUh1bmRyZWRTaXplVCAvIDIpOwor
ICAgIEFTU0VSVF9FUSgoYUh1bmRyZWRTaXplVCAvIExheW91dFVuaXQoNCkpLnRvSW50KCksIGFI
dW5kcmVkU2l6ZVQgLyA0KTsKKyAgICBBU1NFUlRfRVEoKExheW91dFVuaXQoNDAwKSAvIGFIdW5k
cmVkU2l6ZVQpLnRvSW50KCksIDQpOworCiAgICAgQVNTRVJUX0VRKChMYXlvdXRVbml0KGludE1h
eEZvckxheW91dFVuaXQpIC8gTGF5b3V0VW5pdCgyKSkudG9JbnQoKSwgaW50TWF4Rm9yTGF5b3V0
VW5pdCAvIDIpOwogICAgIEFTU0VSVF9FUSgoTGF5b3V0VW5pdChpbnRNYXhGb3JMYXlvdXRVbml0
KSAvIExheW91dFVuaXQoMC41KSkudG9JbnQoKSwgaW50TWF4Rm9yTGF5b3V0VW5pdCk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180046</attachid>
            <date>2012-12-18 15:53:40 -0800</date>
            <delta_ts>2012-12-19 08:29:42 -0800</delta_ts>
            <desc>Updated patch 3: Forgot to update the ChangeLog after the bug rename.</desc>
            <filename>bug-83848-20121218155057.patch</filename>
            <type>text/plain</type>
            <size>8809</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4MDY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODhhOTUwZjc0YzRlY2Rk
ZTVkNmRlZWIzOGZiYTQ3Y2I1ZjRkYTI4YS4uM2FhM2U0OGI5MDNhZmYxZGJlMWFkYzM2N2EzNzQy
YzcwZWRhMzBkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTEyLTE4ICBKdWxp
ZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgorCisgICAgICAgIFN1cHBvcnQg
c2l6ZV90IG11bHRpcGxpY2F0aW9uIGFuZCBkaXZpc2lvbiBvcGVyYXRvcnMgb24gTGF5b3V0VW5p
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODM4NDgK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQZXIgRGFy
aW4ncyBzdWdnZXN0aW9uLCBhZGRpbmcgYSB2ZXJzaW9uIG9mIHRoZSBvcGVyYXRvciBmb3IgbW9z
dCB1bnNpZ25lZCB0eXBlcyAoZXhjbHVkaW5nCisgICAgICAgIG9ubHkgdW5zaWduZWQgY2hhciku
IFRoaXMgc2hvdWxkIGF1dG9tYXRpY2FsbHkgY292ZXIgc2l6ZV90IGFzIGl0IHNob3VsZCBiZSBv
bmUgb2YgdGhlc2UuCisKKyAgICAgICAgVGVzdDogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3Jl
L0xheW91dFVuaXQuY3BwCisKKyAgICAgICAgKiBwbGF0Zm9ybS9MYXlvdXRVbml0Lmg6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXRVbml0OjpMYXlvdXRVbml0KToKKyAgICAgICAgKFdlYkNvcmU6
Om9wZXJhdG9yKik6CisgICAgICAgIChXZWJDb3JlOjpvcGVyYXRvci8pOgorICAgICAgICBBZGRl
ZCB0aGUgb3BlcmF0b3JzIGFuZCAocG9zc2libHkgc2F0dXJhdGluZykgY29uc3RydWN0b3JzIGZv
ciB1bnNpZ25lZCBzaG9ydCwgdW5zaWduZWQgbG9uZywKKyAgICAgICAgdW5zaWduZWQgbG9uZyBs
b25nLgorCiAyMDEyLTEyLTE4ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+
CiAKICAgICAgICAgW01hY10gQWRkIEJ1aWxkIFBoYXNlIHRvIENoZWNrIEhlYWRlcnMgZm9yIElu
YXBwcm9wcmlhdGUgTWFjcm9zIChQbGF0Zm9ybS5oIG1hY3JvcykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0xheW91dFVuaXQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0xheW91dFVuaXQuaAppbmRleCAzMzU4OTQwZTRhM2E5YzUxNzRhYzljZWNiY2YxODQwNWM2YjFk
YmFjLi40YjQwY2UwODhmYmFmZWZhMGQ2MDk1OGRlM2RkNWM5ZmJhYTAxNmUwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MYXlvdXRVbml0LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vTGF5b3V0VW5pdC5oCkBAIC02NiwxNSArNjYsMjkgQEAgY29uc3QgaW50IGlu
dE1pbkZvckxheW91dFVuaXQgPSBJTlRfTUlOIC8ga0VmZmVjdGl2ZUZpeGVkUG9pbnREZW5vbWlu
YXRvcjsKIAogY2xhc3MgTGF5b3V0VW5pdCB7CiBwdWJsaWM6Ci0gICAgLy8gRklYTUU6IElkZWFs
bHkgd2Ugd291bGQgaGF2ZSBzaXplX3QgdmVyc2lvbnMgb2YgdGhlIGNvbnN0cnVjdG9yIGFuZCBv
cGVyYXRvcnMuCi0gICAgLy8gSG93ZXZlciBkdWUgdG8gY29tcGlsZXIgYW5kIHBsYXRmb3JtIGRp
ZmZlcmVuY2VzIGFkZGluZyB0aG9zZSBhcmUgbm9uLXRyaXZpYWwuCi0gICAgLy8gU2VlIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Mzg0OCBmb3IgZGV0YWlscy4KLSAg
ICAKICAgICBMYXlvdXRVbml0KCkgOiBtX3ZhbHVlKDApIHsgfQogI2lmIEVOQUJMRShTVUJQSVhF
TF9MQVlPVVQpCiAgICAgTGF5b3V0VW5pdChpbnQgdmFsdWUpIHsgc2V0VmFsdWUodmFsdWUpOyB9
CiAgICAgTGF5b3V0VW5pdCh1bnNpZ25lZCBzaG9ydCB2YWx1ZSkgeyBzZXRWYWx1ZSh2YWx1ZSk7
IH0KICAgICBMYXlvdXRVbml0KHVuc2lnbmVkIHZhbHVlKSB7IHNldFZhbHVlKHZhbHVlKTsgfQor
ICAgIExheW91dFVuaXQodW5zaWduZWQgbG9uZyB2YWx1ZSkKKyAgICB7CisjaWYgRU5BQkxFKFNB
VFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykKKyAgICAgICAgbV92YWx1ZSA9IGNsYW1wVG88aW50
Pih2YWx1ZSAqIGtFZmZlY3RpdmVGaXhlZFBvaW50RGVub21pbmF0b3IpOworI2Vsc2UKKyAgICAg
ICAgUkVQT1JUX09WRVJGTE9XKGlzSW5Cb3VuZHMoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHZhbHVl
KSkpOworICAgICAgICBtX3ZhbHVlID0gdmFsdWUgKiBrRWZmZWN0aXZlRml4ZWRQb2ludERlbm9t
aW5hdG9yOworI2VuZGlmCisgICAgfQorICAgIExheW91dFVuaXQodW5zaWduZWQgbG9uZyBsb25n
IHZhbHVlKQorICAgIHsKKyNpZiBFTkFCTEUoU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKQor
ICAgICAgICBtX3ZhbHVlID0gY2xhbXBUbzxpbnQ+KHZhbHVlICoga0VmZmVjdGl2ZUZpeGVkUG9p
bnREZW5vbWluYXRvcik7CisjZWxzZQorICAgICAgICBSRVBPUlRfT1ZFUkZMT1coaXNJbkJvdW5k
cyhzdGF0aWNfY2FzdDx1bnNpZ25lZD4odmFsdWUpKSk7CisgICAgICAgIG1fdmFsdWUgPSB2YWx1
ZSAqIGtFZmZlY3RpdmVGaXhlZFBvaW50RGVub21pbmF0b3I7CisjZW5kaWYKKyAgICB9CiAgICAg
TGF5b3V0VW5pdChmbG9hdCB2YWx1ZSkKICAgICB7CiAjaWYgRU5BQkxFKFNBVFVSQVRFRF9MQVlP
VVRfQVJJVEhNRVRJQykKQEAgLTk3LDYgKzExMSw4IEBAIHB1YmxpYzoKICAgICBMYXlvdXRVbml0
KGludCB2YWx1ZSkgeyBSRVBPUlRfT1ZFUkZMT1coaXNJbkJvdW5kcyh2YWx1ZSkpOyBtX3ZhbHVl
ID0gdmFsdWU7IH0KICAgICBMYXlvdXRVbml0KHVuc2lnbmVkIHNob3J0IHZhbHVlKSB7IFJFUE9S
VF9PVkVSRkxPVyhpc0luQm91bmRzKHZhbHVlKSk7IG1fdmFsdWUgPSB2YWx1ZTsgfQogICAgIExh
eW91dFVuaXQodW5zaWduZWQgdmFsdWUpIHsgUkVQT1JUX09WRVJGTE9XKGlzSW5Cb3VuZHModmFs
dWUpKTsgbV92YWx1ZSA9IHZhbHVlOyB9CisgICAgTGF5b3V0VW5pdCh1bnNpZ25lZCBsb25nIGxv
bmcgdmFsdWUpIHsgUkVQT1JUX09WRVJGTE9XKGlzSW5Cb3VuZHMoc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KHZhbHVlKSkpOyBtX3ZhbHVlID0gdmFsdWU7IH0KKyAgICBMYXlvdXRVbml0KHVuc2lnbmVk
IGxvbmcgdmFsdWUpIHsgUkVQT1JUX09WRVJGTE9XKGlzSW5Cb3VuZHMoc3RhdGljX2Nhc3Q8dW5z
aWduZWQ+KHZhbHVlKSkpOyBtX3ZhbHVlID0gdmFsdWU7IH0KICAgICBMYXlvdXRVbml0KGZsb2F0
IHZhbHVlKSB7IFJFUE9SVF9PVkVSRkxPVyhpc0luQm91bmRzKHZhbHVlKSk7IG1fdmFsdWUgPSB2
YWx1ZTsgfQogICAgIExheW91dFVuaXQoZG91YmxlIHZhbHVlKSB7IFJFUE9SVF9PVkVSRkxPVyhp
c0luQm91bmRzKHZhbHVlKSk7IG1fdmFsdWUgPSB2YWx1ZTsgfQogI2VuZGlmCkBAIC01MjksMTYg
KzU0NSw0NiBAQCBpbmxpbmUgTGF5b3V0VW5pdCBvcGVyYXRvciooY29uc3QgTGF5b3V0VW5pdCYg
YSwgaW50IGIpCiAgICAgcmV0dXJuIGEgKiBMYXlvdXRVbml0KGIpOwogfQogCitpbmxpbmUgTGF5
b3V0VW5pdCBvcGVyYXRvciooY29uc3QgTGF5b3V0VW5pdCYgYSwgdW5zaWduZWQgc2hvcnQgYikK
K3sKKyAgICByZXR1cm4gYSAqIExheW91dFVuaXQoYik7Cit9CisKIGlubGluZSBMYXlvdXRVbml0
IG9wZXJhdG9yKihjb25zdCBMYXlvdXRVbml0JiBhLCB1bnNpZ25lZCBiKQogewogICAgIHJldHVy
biBhICogTGF5b3V0VW5pdChiKTsKIH0KIAoraW5saW5lIExheW91dFVuaXQgb3BlcmF0b3IqKGNv
bnN0IExheW91dFVuaXQmIGEsIHVuc2lnbmVkIGxvbmcgYikKK3sKKyAgICByZXR1cm4gYSAqIExh
eW91dFVuaXQoYik7Cit9CisKK2lubGluZSBMYXlvdXRVbml0IG9wZXJhdG9yKihjb25zdCBMYXlv
dXRVbml0JiBhLCB1bnNpZ25lZCBsb25nIGxvbmcgYikKK3sKKyAgICByZXR1cm4gYSAqIExheW91
dFVuaXQoYik7Cit9CisKK2lubGluZSBMYXlvdXRVbml0IG9wZXJhdG9yKih1bnNpZ25lZCBzaG9y
dCBhLCBjb25zdCBMYXlvdXRVbml0JiBiKQoreworICAgIHJldHVybiBMYXlvdXRVbml0KGEpICog
YjsKK30KKwogaW5saW5lIExheW91dFVuaXQgb3BlcmF0b3IqKHVuc2lnbmVkIGEsIGNvbnN0IExh
eW91dFVuaXQmIGIpCiB7CiAgICAgcmV0dXJuIExheW91dFVuaXQoYSkgKiBiOwogfQogCitpbmxp
bmUgTGF5b3V0VW5pdCBvcGVyYXRvcioodW5zaWduZWQgbG9uZyBhLCBjb25zdCBMYXlvdXRVbml0
JiBiKQoreworICAgIHJldHVybiBMYXlvdXRVbml0KGEpICogYjsKK30KKworaW5saW5lIExheW91
dFVuaXQgb3BlcmF0b3IqKHVuc2lnbmVkIGxvbmcgbG9uZyBhLCBjb25zdCBMYXlvdXRVbml0JiBi
KQoreworICAgIHJldHVybiBMYXlvdXRVbml0KGEpICogYjsKK30KKwogaW5saW5lIExheW91dFVu
aXQgb3BlcmF0b3IqKGNvbnN0IGludCBhLCBjb25zdCBMYXlvdXRVbml0JiBiKQogewogICAgIHJl
dHVybiBMYXlvdXRVbml0KGEpICogYjsKQEAgLTU4NSwxMSArNjMxLDI2IEBAIGlubGluZSBMYXlv
dXRVbml0IG9wZXJhdG9yLyhjb25zdCBMYXlvdXRVbml0JiBhLCBpbnQgYikKICAgICByZXR1cm4g
YSAvIExheW91dFVuaXQoYik7CiB9CiAKK2lubGluZSBMYXlvdXRVbml0IG9wZXJhdG9yLyhjb25z
dCBMYXlvdXRVbml0JiBhLCB1bnNpZ25lZCBzaG9ydCBiKQoreworICAgIHJldHVybiBhIC8gTGF5
b3V0VW5pdChiKTsKK30KKwogaW5saW5lIExheW91dFVuaXQgb3BlcmF0b3IvKGNvbnN0IExheW91
dFVuaXQmIGEsIHVuc2lnbmVkIGIpCiB7CiAgICAgcmV0dXJuIGEgLyBMYXlvdXRVbml0KGIpOwog
fQogCitpbmxpbmUgTGF5b3V0VW5pdCBvcGVyYXRvci8oY29uc3QgTGF5b3V0VW5pdCYgYSwgdW5z
aWduZWQgbG9uZyBiKQoreworICAgIHJldHVybiBhIC8gTGF5b3V0VW5pdChiKTsKK30KKworaW5s
aW5lIExheW91dFVuaXQgb3BlcmF0b3IvKGNvbnN0IExheW91dFVuaXQmIGEsIHVuc2lnbmVkIGxv
bmcgbG9uZyBiKQoreworICAgIHJldHVybiBhIC8gTGF5b3V0VW5pdChiKTsKK30KKwogaW5saW5l
IGZsb2F0IG9wZXJhdG9yLyhjb25zdCBmbG9hdCBhLCBjb25zdCBMYXlvdXRVbml0JiBiKQogewog
ICAgIHJldHVybiBhIC8gYi50b0Zsb2F0KCk7CkBAIC02MDUsMTEgKzY2NiwyNiBAQCBpbmxpbmUg
TGF5b3V0VW5pdCBvcGVyYXRvci8oY29uc3QgaW50IGEsIGNvbnN0IExheW91dFVuaXQmIGIpCiAg
ICAgcmV0dXJuIExheW91dFVuaXQoYSkgLyBiOwogfQogCitpbmxpbmUgTGF5b3V0VW5pdCBvcGVy
YXRvci8odW5zaWduZWQgc2hvcnQgYSwgY29uc3QgTGF5b3V0VW5pdCYgYikKK3sKKyAgICByZXR1
cm4gTGF5b3V0VW5pdChhKSAvIGI7Cit9CisKIGlubGluZSBMYXlvdXRVbml0IG9wZXJhdG9yLyh1
bnNpZ25lZCBhLCBjb25zdCBMYXlvdXRVbml0JiBiKQogewogICAgIHJldHVybiBMYXlvdXRVbml0
KGEpIC8gYjsKIH0KIAoraW5saW5lIExheW91dFVuaXQgb3BlcmF0b3IvKHVuc2lnbmVkIGxvbmcg
YSwgY29uc3QgTGF5b3V0VW5pdCYgYikKK3sKKyAgICByZXR1cm4gTGF5b3V0VW5pdChhKSAvIGI7
Cit9CisKK2lubGluZSBMYXlvdXRVbml0IG9wZXJhdG9yLyh1bnNpZ25lZCBsb25nIGxvbmcgYSwg
Y29uc3QgTGF5b3V0VW5pdCYgYikKK3sKKyAgICByZXR1cm4gTGF5b3V0VW5pdChhKSAvIGI7Cit9
CisKIGlubGluZSBMYXlvdXRVbml0IG9wZXJhdG9yKyhjb25zdCBMYXlvdXRVbml0JiBhLCBjb25z
dCBMYXlvdXRVbml0JiBiKQogewogICAgIExheW91dFVuaXQgcmV0dXJuVmFsOwpkaWZmIC0tZ2l0
IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGExMjYzN2FlYzI0MTM1
NzdlMTFkZTRiMWQzZWFhNzFmOTAzZTgyZTYuLjU4MmI4OGY5NTZlM2M3NWE2NTJmM2FlNjk5MjFk
OWE2ZDk4NzNlMDIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0xMi0xOCAgSnVsaWVuIENoYWZmcmFpeCAgPGpj
aGFmZnJhaXhAd2Via2l0Lm9yZz4KKworICAgICAgICBTdXBwb3J0IHNpemVfdCBtdWx0aXBsaWNh
dGlvbiBhbmQgZGl2aXNpb24gb3BlcmF0b3JzIG9uIExheW91dFVuaXQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgzODQ4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YkNvcmUvTGF5b3V0VW5pdC5jcHA6CisgICAgICAgIEFkZGVkIHNvbWUgc2ltcGxlIHRlc3RzIGZv
ciB0aGUgbmV3IG9wZXJhdG9ycyB1c2luZyBzaXplX3QuCisKIDIwMTItMTItMTggIEpvc2VwaCBQ
ZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBbTWFjXSBBZGQgQnVpbGQg
UGhhc2UgdG8gQ2hlY2sgSGVhZGVycyBmb3IgSW5hcHByb3ByaWF0ZSBNYWNyb3MgKFBsYXRmb3Jt
LmggbWFjcm9zKQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3Jl
L0xheW91dFVuaXQuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0xheW91
dFVuaXQuY3BwCmluZGV4IGU2NzkxOWFkM2MzYmRiYjhhODQ3Mzg5MDAwNzM4NjExZWVlYzg3MGEu
LjdmMTdkYzIzOTI5YTcxZmU0YjE2MzcyZWU1MzNlYzc1ZGYwMjJiNWUgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9MYXlvdXRVbml0LmNwcAorKysgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvTGF5b3V0VW5pdC5jcHAKQEAgLTE0NiwxMiAr
MTQ2LDIyIEBAIFRFU1QoV2ViQ29yZUxheW91dFVuaXQsIExheW91dFVuaXRNdWx0aXBsaWNhdGlv
bikKICAgICBBU1NFUlRfRVEoKExheW91dFVuaXQoMTAwKSAqIExheW91dFVuaXQoMy4zMykpLnJv
dW5kKCksIDMzMyk7CiAgICAgQVNTRVJUX0VRKChMYXlvdXRVbml0KC0xMDApICogTGF5b3V0VW5p
dCgzLjMzKSkucm91bmQoKSwgLTMzMyk7CiAgICAgQVNTRVJUX0VRKChMYXlvdXRVbml0KC0xMDAp
ICogTGF5b3V0VW5pdCgtMy4zMykpLnJvdW5kKCksIDMzMyk7Ci0gICAgCisKKyAgICBzaXplX3Qg
YUh1bmRyZWRTaXplVCA9IDEwMDsKKyAgICBBU1NFUlRfRVEoKExheW91dFVuaXQoYUh1bmRyZWRT
aXplVCkgKiBMYXlvdXRVbml0KDEpKS50b0ludCgpLCBhSHVuZHJlZFNpemVUKTsKKyAgICBBU1NF
UlRfRVEoKGFIdW5kcmVkU2l6ZVQgKiBMYXlvdXRVbml0KDQpKS50b0ludCgpLCA0ICogYUh1bmRy
ZWRTaXplVCk7CisgICAgQVNTRVJUX0VRKChMYXlvdXRVbml0KDQpICogYUh1bmRyZWRTaXplVCku
dG9JbnQoKSwgNCAqIGFIdW5kcmVkU2l6ZVQpOworCiAgICAgaW50IHF1YXJ0ZXJNYXggPSBpbnRN
YXhGb3JMYXlvdXRVbml0IC8gNDsKICAgICBBU1NFUlRfRVEoKExheW91dFVuaXQocXVhcnRlck1h
eCkgKiBMYXlvdXRVbml0KDIpKS50b0ludCgpLCBxdWFydGVyTWF4ICogMik7CiAgICAgQVNTRVJU
X0VRKChMYXlvdXRVbml0KHF1YXJ0ZXJNYXgpICogTGF5b3V0VW5pdCgzKSkudG9JbnQoKSwgcXVh
cnRlck1heCAqIDMpOwogICAgIEFTU0VSVF9FUSgoTGF5b3V0VW5pdChxdWFydGVyTWF4KSAqIExh
eW91dFVuaXQoNCkpLnRvSW50KCksIHF1YXJ0ZXJNYXggKiA0KTsKICAgICBBU1NFUlRfRVEoKExh
eW91dFVuaXQocXVhcnRlck1heCkgKiBMYXlvdXRVbml0KDUpKS50b0ludCgpLCBpbnRNYXhGb3JM
YXlvdXRVbml0KTsKKworICAgIHNpemVfdCBvdmVyZmxvd0ludFNpemVUID0gaW50TWF4Rm9yTGF5
b3V0VW5pdCAqIDQ7CisgICAgQVNTRVJUX0VRKChMYXlvdXRVbml0KG92ZXJmbG93SW50U2l6ZVQp
ICogTGF5b3V0VW5pdCgyKSkudG9JbnQoKSwgaW50TWF4Rm9yTGF5b3V0VW5pdCk7CisgICAgQVNT
RVJUX0VRKChvdmVyZmxvd0ludFNpemVUICogTGF5b3V0VW5pdCg0KSkudG9JbnQoKSwgaW50TWF4
Rm9yTGF5b3V0VW5pdCk7CisgICAgQVNTRVJUX0VRKChMYXlvdXRVbml0KDQpICogb3ZlcmZsb3dJ
bnRTaXplVCkudG9JbnQoKSwgaW50TWF4Rm9yTGF5b3V0VW5pdCk7CiB9CiAKIFRFU1QoV2ViQ29y
ZUxheW91dFVuaXQsIExheW91dFVuaXREaXZpc2lvbikKQEAgLTE4Myw2ICsxOTMsMTEgQEAgVEVT
VChXZWJDb3JlTGF5b3V0VW5pdCwgTGF5b3V0VW5pdERpdmlzaW9uKQogICAgIEFTU0VSVF9GTE9B
VF9FUSgoTGF5b3V0VW5pdCgtMSkgLyBMYXlvdXRVbml0KC0yKSkudG9GbG9hdCgpLCAwLjVmKTsK
ICAgICBBU1NFUlRfRkxPQVRfRVEoKExheW91dFVuaXQoLTAuNSkgLyBMYXlvdXRVbml0KC0yKSku
dG9GbG9hdCgpLCAwLjI1Zik7CiAgICAgCisgICAgc2l6ZV90IGFIdW5kcmVkU2l6ZVQgPSAxMDA7
CisgICAgQVNTRVJUX0VRKChMYXlvdXRVbml0KGFIdW5kcmVkU2l6ZVQpIC8gTGF5b3V0VW5pdCgy
KSkudG9JbnQoKSwgYUh1bmRyZWRTaXplVCAvIDIpOworICAgIEFTU0VSVF9FUSgoYUh1bmRyZWRT
aXplVCAvIExheW91dFVuaXQoNCkpLnRvSW50KCksIGFIdW5kcmVkU2l6ZVQgLyA0KTsKKyAgICBB
U1NFUlRfRVEoKExheW91dFVuaXQoNDAwKSAvIGFIdW5kcmVkU2l6ZVQpLnRvSW50KCksIDQpOwor
CiAgICAgQVNTRVJUX0VRKChMYXlvdXRVbml0KGludE1heEZvckxheW91dFVuaXQpIC8gTGF5b3V0
VW5pdCgyKSkudG9JbnQoKSwgaW50TWF4Rm9yTGF5b3V0VW5pdCAvIDIpOwogICAgIEFTU0VSVF9F
USgoTGF5b3V0VW5pdChpbnRNYXhGb3JMYXlvdXRVbml0KSAvIExheW91dFVuaXQoMC41KSkudG9J
bnQoKSwgaW50TWF4Rm9yTGF5b3V0VW5pdCk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180172</attachid>
            <date>2012-12-19 08:29:45 -0800</date>
            <delta_ts>2012-12-19 10:00:29 -0800</delta_ts>
            <desc>Updated patch 4: fixed signed / unsigned comparison in the tests.</desc>
            <filename>bug-83848-20121219082702.patch</filename>
            <type>text/plain</type>
            <size>8771</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4MTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGIzYjkwYjgzZGUzN2I1
NTJjYjBmNTJhZTQ1NWQ1YjEzZGYwOGVjMi4uODE2MDc3ODk5NWExNTA1ZjA4OGFmMzQxYzAyYTYy
ZTQ3OGE0YTkxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTEyLTE5ICBKdWxp
ZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgorCisgICAgICAgIFN1cHBvcnQg
c2l6ZV90IG11bHRpcGxpY2F0aW9uIGFuZCBkaXZpc2lvbiBvcGVyYXRvcnMgb24gTGF5b3V0VW5p
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODM4NDgK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQZXIgRGFy
aW4ncyBzdWdnZXN0aW9uLCBhZGRpbmcgYSB2ZXJzaW9uIG9mIHRoZSBvcGVyYXRvciBmb3IgbW9z
dCB1bnNpZ25lZCB0eXBlcyAoZXhjbHVkaW5nCisgICAgICAgIG9ubHkgdW5zaWduZWQgY2hhciku
IFRoaXMgc2hvdWxkIGF1dG9tYXRpY2FsbHkgY292ZXIgc2l6ZV90IGFzIGl0IHNob3VsZCBiZSBv
bmUgb2YgdGhlc2UuCisKKyAgICAgICAgVGVzdDogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3Jl
L0xheW91dFVuaXQuY3BwCisKKyAgICAgICAgKiBwbGF0Zm9ybS9MYXlvdXRVbml0Lmg6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXRVbml0OjpMYXlvdXRVbml0KToKKyAgICAgICAgKFdlYkNvcmU6
Om9wZXJhdG9yKik6CisgICAgICAgIChXZWJDb3JlOjpvcGVyYXRvci8pOgorICAgICAgICBBZGRl
ZCB0aGUgb3BlcmF0b3JzIGFuZCAocG9zc2libHkgc2F0dXJhdGluZykgY29uc3RydWN0b3JzIGZv
ciB1bnNpZ25lZCBzaG9ydCwgdW5zaWduZWQgbG9uZywKKyAgICAgICAgdW5zaWduZWQgbG9uZyBs
b25nLgorCiAyMDEyLTEyLTE5ICBIYXlhdG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBFeHBvc2UgV2ViS2l0U2hhZG93Um9vdCBjb25zdHJ1Y3RvciB0byBET01XaW5kb3cu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MYXlvdXRVbml0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9MYXlvdXRVbml0LmgKaW5kZXggMzM1ODk0MGU0YTNhOWM1MTc0
YWM5Y2VjYmNmMTg0MDVjNmIxZGJhYy4uNGI0MGNlMDg4ZmJhZmVmYTBkNjA5NThkZTNkZDVjOWZi
YWEwMTZlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGF5b3V0VW5pdC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xheW91dFVuaXQuaApAQCAtNjYsMTUgKzY2
LDI5IEBAIGNvbnN0IGludCBpbnRNaW5Gb3JMYXlvdXRVbml0ID0gSU5UX01JTiAvIGtFZmZlY3Rp
dmVGaXhlZFBvaW50RGVub21pbmF0b3I7CiAKIGNsYXNzIExheW91dFVuaXQgewogcHVibGljOgot
ICAgIC8vIEZJWE1FOiBJZGVhbGx5IHdlIHdvdWxkIGhhdmUgc2l6ZV90IHZlcnNpb25zIG9mIHRo
ZSBjb25zdHJ1Y3RvciBhbmQgb3BlcmF0b3JzLgotICAgIC8vIEhvd2V2ZXIgZHVlIHRvIGNvbXBp
bGVyIGFuZCBwbGF0Zm9ybSBkaWZmZXJlbmNlcyBhZGRpbmcgdGhvc2UgYXJlIG5vbi10cml2aWFs
LgotICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODM4
NDggZm9yIGRldGFpbHMuCi0gICAgCiAgICAgTGF5b3V0VW5pdCgpIDogbV92YWx1ZSgwKSB7IH0K
ICNpZiBFTkFCTEUoU1VCUElYRUxfTEFZT1VUKQogICAgIExheW91dFVuaXQoaW50IHZhbHVlKSB7
IHNldFZhbHVlKHZhbHVlKTsgfQogICAgIExheW91dFVuaXQodW5zaWduZWQgc2hvcnQgdmFsdWUp
IHsgc2V0VmFsdWUodmFsdWUpOyB9CiAgICAgTGF5b3V0VW5pdCh1bnNpZ25lZCB2YWx1ZSkgeyBz
ZXRWYWx1ZSh2YWx1ZSk7IH0KKyAgICBMYXlvdXRVbml0KHVuc2lnbmVkIGxvbmcgdmFsdWUpCisg
ICAgeworI2lmIEVOQUJMRShTQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpCisgICAgICAgIG1f
dmFsdWUgPSBjbGFtcFRvPGludD4odmFsdWUgKiBrRWZmZWN0aXZlRml4ZWRQb2ludERlbm9taW5h
dG9yKTsKKyNlbHNlCisgICAgICAgIFJFUE9SVF9PVkVSRkxPVyhpc0luQm91bmRzKHN0YXRpY19j
YXN0PHVuc2lnbmVkPih2YWx1ZSkpKTsKKyAgICAgICAgbV92YWx1ZSA9IHZhbHVlICoga0VmZmVj
dGl2ZUZpeGVkUG9pbnREZW5vbWluYXRvcjsKKyNlbmRpZgorICAgIH0KKyAgICBMYXlvdXRVbml0
KHVuc2lnbmVkIGxvbmcgbG9uZyB2YWx1ZSkKKyAgICB7CisjaWYgRU5BQkxFKFNBVFVSQVRFRF9M
QVlPVVRfQVJJVEhNRVRJQykKKyAgICAgICAgbV92YWx1ZSA9IGNsYW1wVG88aW50Pih2YWx1ZSAq
IGtFZmZlY3RpdmVGaXhlZFBvaW50RGVub21pbmF0b3IpOworI2Vsc2UKKyAgICAgICAgUkVQT1JU
X09WRVJGTE9XKGlzSW5Cb3VuZHMoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHZhbHVlKSkpOworICAg
ICAgICBtX3ZhbHVlID0gdmFsdWUgKiBrRWZmZWN0aXZlRml4ZWRQb2ludERlbm9taW5hdG9yOwor
I2VuZGlmCisgICAgfQogICAgIExheW91dFVuaXQoZmxvYXQgdmFsdWUpCiAgICAgewogI2lmIEVO
QUJMRShTQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpCkBAIC05Nyw2ICsxMTEsOCBAQCBwdWJs
aWM6CiAgICAgTGF5b3V0VW5pdChpbnQgdmFsdWUpIHsgUkVQT1JUX09WRVJGTE9XKGlzSW5Cb3Vu
ZHModmFsdWUpKTsgbV92YWx1ZSA9IHZhbHVlOyB9CiAgICAgTGF5b3V0VW5pdCh1bnNpZ25lZCBz
aG9ydCB2YWx1ZSkgeyBSRVBPUlRfT1ZFUkZMT1coaXNJbkJvdW5kcyh2YWx1ZSkpOyBtX3ZhbHVl
ID0gdmFsdWU7IH0KICAgICBMYXlvdXRVbml0KHVuc2lnbmVkIHZhbHVlKSB7IFJFUE9SVF9PVkVS
RkxPVyhpc0luQm91bmRzKHZhbHVlKSk7IG1fdmFsdWUgPSB2YWx1ZTsgfQorICAgIExheW91dFVu
aXQodW5zaWduZWQgbG9uZyBsb25nIHZhbHVlKSB7IFJFUE9SVF9PVkVSRkxPVyhpc0luQm91bmRz
KHN0YXRpY19jYXN0PHVuc2lnbmVkPih2YWx1ZSkpKTsgbV92YWx1ZSA9IHZhbHVlOyB9CisgICAg
TGF5b3V0VW5pdCh1bnNpZ25lZCBsb25nIHZhbHVlKSB7IFJFUE9SVF9PVkVSRkxPVyhpc0luQm91
bmRzKHN0YXRpY19jYXN0PHVuc2lnbmVkPih2YWx1ZSkpKTsgbV92YWx1ZSA9IHZhbHVlOyB9CiAg
ICAgTGF5b3V0VW5pdChmbG9hdCB2YWx1ZSkgeyBSRVBPUlRfT1ZFUkZMT1coaXNJbkJvdW5kcyh2
YWx1ZSkpOyBtX3ZhbHVlID0gdmFsdWU7IH0KICAgICBMYXlvdXRVbml0KGRvdWJsZSB2YWx1ZSkg
eyBSRVBPUlRfT1ZFUkZMT1coaXNJbkJvdW5kcyh2YWx1ZSkpOyBtX3ZhbHVlID0gdmFsdWU7IH0K
ICNlbmRpZgpAQCAtNTI5LDE2ICs1NDUsNDYgQEAgaW5saW5lIExheW91dFVuaXQgb3BlcmF0b3Iq
KGNvbnN0IExheW91dFVuaXQmIGEsIGludCBiKQogICAgIHJldHVybiBhICogTGF5b3V0VW5pdChi
KTsKIH0KIAoraW5saW5lIExheW91dFVuaXQgb3BlcmF0b3IqKGNvbnN0IExheW91dFVuaXQmIGEs
IHVuc2lnbmVkIHNob3J0IGIpCit7CisgICAgcmV0dXJuIGEgKiBMYXlvdXRVbml0KGIpOworfQor
CiBpbmxpbmUgTGF5b3V0VW5pdCBvcGVyYXRvciooY29uc3QgTGF5b3V0VW5pdCYgYSwgdW5zaWdu
ZWQgYikKIHsKICAgICByZXR1cm4gYSAqIExheW91dFVuaXQoYik7CiB9CiAKK2lubGluZSBMYXlv
dXRVbml0IG9wZXJhdG9yKihjb25zdCBMYXlvdXRVbml0JiBhLCB1bnNpZ25lZCBsb25nIGIpCit7
CisgICAgcmV0dXJuIGEgKiBMYXlvdXRVbml0KGIpOworfQorCitpbmxpbmUgTGF5b3V0VW5pdCBv
cGVyYXRvciooY29uc3QgTGF5b3V0VW5pdCYgYSwgdW5zaWduZWQgbG9uZyBsb25nIGIpCit7Cisg
ICAgcmV0dXJuIGEgKiBMYXlvdXRVbml0KGIpOworfQorCitpbmxpbmUgTGF5b3V0VW5pdCBvcGVy
YXRvcioodW5zaWduZWQgc2hvcnQgYSwgY29uc3QgTGF5b3V0VW5pdCYgYikKK3sKKyAgICByZXR1
cm4gTGF5b3V0VW5pdChhKSAqIGI7Cit9CisKIGlubGluZSBMYXlvdXRVbml0IG9wZXJhdG9yKih1
bnNpZ25lZCBhLCBjb25zdCBMYXlvdXRVbml0JiBiKQogewogICAgIHJldHVybiBMYXlvdXRVbml0
KGEpICogYjsKIH0KIAoraW5saW5lIExheW91dFVuaXQgb3BlcmF0b3IqKHVuc2lnbmVkIGxvbmcg
YSwgY29uc3QgTGF5b3V0VW5pdCYgYikKK3sKKyAgICByZXR1cm4gTGF5b3V0VW5pdChhKSAqIGI7
Cit9CisKK2lubGluZSBMYXlvdXRVbml0IG9wZXJhdG9yKih1bnNpZ25lZCBsb25nIGxvbmcgYSwg
Y29uc3QgTGF5b3V0VW5pdCYgYikKK3sKKyAgICByZXR1cm4gTGF5b3V0VW5pdChhKSAqIGI7Cit9
CisKIGlubGluZSBMYXlvdXRVbml0IG9wZXJhdG9yKihjb25zdCBpbnQgYSwgY29uc3QgTGF5b3V0
VW5pdCYgYikKIHsKICAgICByZXR1cm4gTGF5b3V0VW5pdChhKSAqIGI7CkBAIC01ODUsMTEgKzYz
MSwyNiBAQCBpbmxpbmUgTGF5b3V0VW5pdCBvcGVyYXRvci8oY29uc3QgTGF5b3V0VW5pdCYgYSwg
aW50IGIpCiAgICAgcmV0dXJuIGEgLyBMYXlvdXRVbml0KGIpOwogfQogCitpbmxpbmUgTGF5b3V0
VW5pdCBvcGVyYXRvci8oY29uc3QgTGF5b3V0VW5pdCYgYSwgdW5zaWduZWQgc2hvcnQgYikKK3sK
KyAgICByZXR1cm4gYSAvIExheW91dFVuaXQoYik7Cit9CisKIGlubGluZSBMYXlvdXRVbml0IG9w
ZXJhdG9yLyhjb25zdCBMYXlvdXRVbml0JiBhLCB1bnNpZ25lZCBiKQogewogICAgIHJldHVybiBh
IC8gTGF5b3V0VW5pdChiKTsKIH0KIAoraW5saW5lIExheW91dFVuaXQgb3BlcmF0b3IvKGNvbnN0
IExheW91dFVuaXQmIGEsIHVuc2lnbmVkIGxvbmcgYikKK3sKKyAgICByZXR1cm4gYSAvIExheW91
dFVuaXQoYik7Cit9CisKK2lubGluZSBMYXlvdXRVbml0IG9wZXJhdG9yLyhjb25zdCBMYXlvdXRV
bml0JiBhLCB1bnNpZ25lZCBsb25nIGxvbmcgYikKK3sKKyAgICByZXR1cm4gYSAvIExheW91dFVu
aXQoYik7Cit9CisKIGlubGluZSBmbG9hdCBvcGVyYXRvci8oY29uc3QgZmxvYXQgYSwgY29uc3Qg
TGF5b3V0VW5pdCYgYikKIHsKICAgICByZXR1cm4gYSAvIGIudG9GbG9hdCgpOwpAQCAtNjA1LDEx
ICs2NjYsMjYgQEAgaW5saW5lIExheW91dFVuaXQgb3BlcmF0b3IvKGNvbnN0IGludCBhLCBjb25z
dCBMYXlvdXRVbml0JiBiKQogICAgIHJldHVybiBMYXlvdXRVbml0KGEpIC8gYjsKIH0KIAoraW5s
aW5lIExheW91dFVuaXQgb3BlcmF0b3IvKHVuc2lnbmVkIHNob3J0IGEsIGNvbnN0IExheW91dFVu
aXQmIGIpCit7CisgICAgcmV0dXJuIExheW91dFVuaXQoYSkgLyBiOworfQorCiBpbmxpbmUgTGF5
b3V0VW5pdCBvcGVyYXRvci8odW5zaWduZWQgYSwgY29uc3QgTGF5b3V0VW5pdCYgYikKIHsKICAg
ICByZXR1cm4gTGF5b3V0VW5pdChhKSAvIGI7CiB9CiAKK2lubGluZSBMYXlvdXRVbml0IG9wZXJh
dG9yLyh1bnNpZ25lZCBsb25nIGEsIGNvbnN0IExheW91dFVuaXQmIGIpCit7CisgICAgcmV0dXJu
IExheW91dFVuaXQoYSkgLyBiOworfQorCitpbmxpbmUgTGF5b3V0VW5pdCBvcGVyYXRvci8odW5z
aWduZWQgbG9uZyBsb25nIGEsIGNvbnN0IExheW91dFVuaXQmIGIpCit7CisgICAgcmV0dXJuIExh
eW91dFVuaXQoYSkgLyBiOworfQorCiBpbmxpbmUgTGF5b3V0VW5pdCBvcGVyYXRvcisoY29uc3Qg
TGF5b3V0VW5pdCYgYSwgY29uc3QgTGF5b3V0VW5pdCYgYikKIHsKICAgICBMYXlvdXRVbml0IHJl
dHVyblZhbDsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwpp
bmRleCA2NGEzMGRjZmQzOGNiZGI4YWQ1Y2I5ODgwN2I0OWQ1MjYwN2Q2MjhjLi45ZTNlZmE5ZGNh
MGE2M2UzZjQwMWVlMjlmY2M1NDBiZmU5M2MzMDgxIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VM
b2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMTItMTkgIEp1
bGllbiBDaGFmZnJhaXggIDxqY2hhZmZyYWl4QHdlYmtpdC5vcmc+CisKKyAgICAgICAgU3VwcG9y
dCBzaXplX3QgbXVsdGlwbGljYXRpb24gYW5kIGRpdmlzaW9uIG9wZXJhdG9ycyBvbiBMYXlvdXRV
bml0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Mzg0
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0xheW91dFVuaXQuY3BwOgorICAgICAgICBBZGRlZCBz
b21lIHNpbXBsZSB0ZXN0cyBmb3IgdGhlIG5ldyBvcGVyYXRvcnMgdXNpbmcgc2l6ZV90LgorCiAy
MDEyLTEyLTE5ICBUaGlhZ28gTWFyY29zIFAuIFNhbnRvcyAgPHRoaWFnby5zYW50b3NAaW50ZWwu
Y29tPgogCiAgICAgICAgIFtFRkxdIE1vdmUgSW1hZ2VEaWZmIHRvIHRoZSBUb29scyBkaXJlY3Rv
cnkgcm9vdApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0xh
eW91dFVuaXQuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0xheW91dFVu
aXQuY3BwCmluZGV4IGU2NzkxOWFkM2MzYmRiYjhhODQ3Mzg5MDAwNzM4NjExZWVlYzg3MGEuLmVl
ZDkzOWEzNTBjMzRjY2E0ODgxMzQ2N2FiOGViNzI5NjQyZGM3NzggMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9MYXlvdXRVbml0LmNwcAorKysgYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvTGF5b3V0VW5pdC5jcHAKQEAgLTE0NiwxMiArMTQ2
LDIyIEBAIFRFU1QoV2ViQ29yZUxheW91dFVuaXQsIExheW91dFVuaXRNdWx0aXBsaWNhdGlvbikK
ICAgICBBU1NFUlRfRVEoKExheW91dFVuaXQoMTAwKSAqIExheW91dFVuaXQoMy4zMykpLnJvdW5k
KCksIDMzMyk7CiAgICAgQVNTRVJUX0VRKChMYXlvdXRVbml0KC0xMDApICogTGF5b3V0VW5pdCgz
LjMzKSkucm91bmQoKSwgLTMzMyk7CiAgICAgQVNTRVJUX0VRKChMYXlvdXRVbml0KC0xMDApICog
TGF5b3V0VW5pdCgtMy4zMykpLnJvdW5kKCksIDMzMyk7Ci0gICAgCisKKyAgICBzaXplX3QgYUh1
bmRyZWRTaXplVCA9IDEwMDsKKyAgICBBU1NFUlRfRVEoKExheW91dFVuaXQoYUh1bmRyZWRTaXpl
VCkgKiBMYXlvdXRVbml0KDEpKS50b0ludCgpLCBzdGF0aWNfY2FzdDxpbnQ+KHN0YXRhSHVuZHJl
ZFNpemVUKSk7CisgICAgQVNTRVJUX0VRKChhSHVuZHJlZFNpemVUICogTGF5b3V0VW5pdCg0KSku
dG9JbnQoKSwgNCAqIGFIdW5kcmVkU2l6ZVQpOworICAgIEFTU0VSVF9FUSgoTGF5b3V0VW5pdCg0
KSAqIGFIdW5kcmVkU2l6ZVQpLnRvSW50KCksIDQgKiBhSHVuZHJlZFNpemVUKTsKKwogICAgIGlu
dCBxdWFydGVyTWF4ID0gaW50TWF4Rm9yTGF5b3V0VW5pdCAvIDQ7CiAgICAgQVNTRVJUX0VRKChM
YXlvdXRVbml0KHF1YXJ0ZXJNYXgpICogTGF5b3V0VW5pdCgyKSkudG9JbnQoKSwgcXVhcnRlck1h
eCAqIDIpOwogICAgIEFTU0VSVF9FUSgoTGF5b3V0VW5pdChxdWFydGVyTWF4KSAqIExheW91dFVu
aXQoMykpLnRvSW50KCksIHF1YXJ0ZXJNYXggKiAzKTsKICAgICBBU1NFUlRfRVEoKExheW91dFVu
aXQocXVhcnRlck1heCkgKiBMYXlvdXRVbml0KDQpKS50b0ludCgpLCBxdWFydGVyTWF4ICogNCk7
CiAgICAgQVNTRVJUX0VRKChMYXlvdXRVbml0KHF1YXJ0ZXJNYXgpICogTGF5b3V0VW5pdCg1KSku
dG9JbnQoKSwgaW50TWF4Rm9yTGF5b3V0VW5pdCk7CisKKyAgICBzaXplX3Qgb3ZlcmZsb3dJbnRT
aXplVCA9IGludE1heEZvckxheW91dFVuaXQgKiA0OworICAgIEFTU0VSVF9FUSgoTGF5b3V0VW5p
dChvdmVyZmxvd0ludFNpemVUKSAqIExheW91dFVuaXQoMikpLnRvSW50KCksIGludE1heEZvckxh
eW91dFVuaXQpOworICAgIEFTU0VSVF9FUSgob3ZlcmZsb3dJbnRTaXplVCAqIExheW91dFVuaXQo
NCkpLnRvSW50KCksIGludE1heEZvckxheW91dFVuaXQpOworICAgIEFTU0VSVF9FUSgoTGF5b3V0
VW5pdCg0KSAqIG92ZXJmbG93SW50U2l6ZVQpLnRvSW50KCksIGludE1heEZvckxheW91dFVuaXQp
OwogfQogCiBURVNUKFdlYkNvcmVMYXlvdXRVbml0LCBMYXlvdXRVbml0RGl2aXNpb24pCkBAIC0x
ODMsNiArMTkzLDExIEBAIFRFU1QoV2ViQ29yZUxheW91dFVuaXQsIExheW91dFVuaXREaXZpc2lv
bikKICAgICBBU1NFUlRfRkxPQVRfRVEoKExheW91dFVuaXQoLTEpIC8gTGF5b3V0VW5pdCgtMikp
LnRvRmxvYXQoKSwgMC41Zik7CiAgICAgQVNTRVJUX0ZMT0FUX0VRKChMYXlvdXRVbml0KC0wLjUp
IC8gTGF5b3V0VW5pdCgtMikpLnRvRmxvYXQoKSwgMC4yNWYpOwogICAgIAorICAgIHNpemVfdCBh
SHVuZHJlZFNpemVUID0gMTAwOworICAgIEFTU0VSVF9FUSgoTGF5b3V0VW5pdChhSHVuZHJlZFNp
emVUKSAvIExheW91dFVuaXQoMikpLnRvSW50KCksIGFIdW5kcmVkU2l6ZVQgLyAyKTsKKyAgICBB
U1NFUlRfRVEoKGFIdW5kcmVkU2l6ZVQgLyBMYXlvdXRVbml0KDQpKS50b0ludCgpLCBhSHVuZHJl
ZFNpemVUIC8gNCk7CisgICAgQVNTRVJUX0VRKChMYXlvdXRVbml0KDQwMCkgLyBhSHVuZHJlZFNp
emVUKS50b0ludCgpLCA0KTsKKwogICAgIEFTU0VSVF9FUSgoTGF5b3V0VW5pdChpbnRNYXhGb3JM
YXlvdXRVbml0KSAvIExheW91dFVuaXQoMikpLnRvSW50KCksIGludE1heEZvckxheW91dFVuaXQg
LyAyKTsKICAgICBBU1NFUlRfRVEoKExheW91dFVuaXQoaW50TWF4Rm9yTGF5b3V0VW5pdCkgLyBM
YXlvdXRVbml0KDAuNSkpLnRvSW50KCksIGludE1heEZvckxheW91dFVuaXQpOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180187</attachid>
            <date>2012-12-19 10:00:33 -0800</date>
            <delta_ts>2012-12-19 14:18:02 -0800</delta_ts>
            <desc>Updated patch 5: sigh, fix the EWS.</desc>
            <filename>bug-83848-20121219095750.patch</filename>
            <type>text/plain</type>
            <size>8767</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4MTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGIzYjkwYjgzZGUzN2I1
NTJjYjBmNTJhZTQ1NWQ1YjEzZGYwOGVjMi4uODE2MDc3ODk5NWExNTA1ZjA4OGFmMzQxYzAyYTYy
ZTQ3OGE0YTkxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTEyLTE5ICBKdWxp
ZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgorCisgICAgICAgIFN1cHBvcnQg
c2l6ZV90IG11bHRpcGxpY2F0aW9uIGFuZCBkaXZpc2lvbiBvcGVyYXRvcnMgb24gTGF5b3V0VW5p
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODM4NDgK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQZXIgRGFy
aW4ncyBzdWdnZXN0aW9uLCBhZGRpbmcgYSB2ZXJzaW9uIG9mIHRoZSBvcGVyYXRvciBmb3IgbW9z
dCB1bnNpZ25lZCB0eXBlcyAoZXhjbHVkaW5nCisgICAgICAgIG9ubHkgdW5zaWduZWQgY2hhciku
IFRoaXMgc2hvdWxkIGF1dG9tYXRpY2FsbHkgY292ZXIgc2l6ZV90IGFzIGl0IHNob3VsZCBiZSBv
bmUgb2YgdGhlc2UuCisKKyAgICAgICAgVGVzdDogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3Jl
L0xheW91dFVuaXQuY3BwCisKKyAgICAgICAgKiBwbGF0Zm9ybS9MYXlvdXRVbml0Lmg6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXRVbml0OjpMYXlvdXRVbml0KToKKyAgICAgICAgKFdlYkNvcmU6
Om9wZXJhdG9yKik6CisgICAgICAgIChXZWJDb3JlOjpvcGVyYXRvci8pOgorICAgICAgICBBZGRl
ZCB0aGUgb3BlcmF0b3JzIGFuZCAocG9zc2libHkgc2F0dXJhdGluZykgY29uc3RydWN0b3JzIGZv
ciB1bnNpZ25lZCBzaG9ydCwgdW5zaWduZWQgbG9uZywKKyAgICAgICAgdW5zaWduZWQgbG9uZyBs
b25nLgorCiAyMDEyLTEyLTE5ICBIYXlhdG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBFeHBvc2UgV2ViS2l0U2hhZG93Um9vdCBjb25zdHJ1Y3RvciB0byBET01XaW5kb3cu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MYXlvdXRVbml0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9MYXlvdXRVbml0LmgKaW5kZXggMzM1ODk0MGU0YTNhOWM1MTc0
YWM5Y2VjYmNmMTg0MDVjNmIxZGJhYy4uNGI0MGNlMDg4ZmJhZmVmYTBkNjA5NThkZTNkZDVjOWZi
YWEwMTZlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGF5b3V0VW5pdC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xheW91dFVuaXQuaApAQCAtNjYsMTUgKzY2
LDI5IEBAIGNvbnN0IGludCBpbnRNaW5Gb3JMYXlvdXRVbml0ID0gSU5UX01JTiAvIGtFZmZlY3Rp
dmVGaXhlZFBvaW50RGVub21pbmF0b3I7CiAKIGNsYXNzIExheW91dFVuaXQgewogcHVibGljOgot
ICAgIC8vIEZJWE1FOiBJZGVhbGx5IHdlIHdvdWxkIGhhdmUgc2l6ZV90IHZlcnNpb25zIG9mIHRo
ZSBjb25zdHJ1Y3RvciBhbmQgb3BlcmF0b3JzLgotICAgIC8vIEhvd2V2ZXIgZHVlIHRvIGNvbXBp
bGVyIGFuZCBwbGF0Zm9ybSBkaWZmZXJlbmNlcyBhZGRpbmcgdGhvc2UgYXJlIG5vbi10cml2aWFs
LgotICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODM4
NDggZm9yIGRldGFpbHMuCi0gICAgCiAgICAgTGF5b3V0VW5pdCgpIDogbV92YWx1ZSgwKSB7IH0K
ICNpZiBFTkFCTEUoU1VCUElYRUxfTEFZT1VUKQogICAgIExheW91dFVuaXQoaW50IHZhbHVlKSB7
IHNldFZhbHVlKHZhbHVlKTsgfQogICAgIExheW91dFVuaXQodW5zaWduZWQgc2hvcnQgdmFsdWUp
IHsgc2V0VmFsdWUodmFsdWUpOyB9CiAgICAgTGF5b3V0VW5pdCh1bnNpZ25lZCB2YWx1ZSkgeyBz
ZXRWYWx1ZSh2YWx1ZSk7IH0KKyAgICBMYXlvdXRVbml0KHVuc2lnbmVkIGxvbmcgdmFsdWUpCisg
ICAgeworI2lmIEVOQUJMRShTQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpCisgICAgICAgIG1f
dmFsdWUgPSBjbGFtcFRvPGludD4odmFsdWUgKiBrRWZmZWN0aXZlRml4ZWRQb2ludERlbm9taW5h
dG9yKTsKKyNlbHNlCisgICAgICAgIFJFUE9SVF9PVkVSRkxPVyhpc0luQm91bmRzKHN0YXRpY19j
YXN0PHVuc2lnbmVkPih2YWx1ZSkpKTsKKyAgICAgICAgbV92YWx1ZSA9IHZhbHVlICoga0VmZmVj
dGl2ZUZpeGVkUG9pbnREZW5vbWluYXRvcjsKKyNlbmRpZgorICAgIH0KKyAgICBMYXlvdXRVbml0
KHVuc2lnbmVkIGxvbmcgbG9uZyB2YWx1ZSkKKyAgICB7CisjaWYgRU5BQkxFKFNBVFVSQVRFRF9M
QVlPVVRfQVJJVEhNRVRJQykKKyAgICAgICAgbV92YWx1ZSA9IGNsYW1wVG88aW50Pih2YWx1ZSAq
IGtFZmZlY3RpdmVGaXhlZFBvaW50RGVub21pbmF0b3IpOworI2Vsc2UKKyAgICAgICAgUkVQT1JU
X09WRVJGTE9XKGlzSW5Cb3VuZHMoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHZhbHVlKSkpOworICAg
ICAgICBtX3ZhbHVlID0gdmFsdWUgKiBrRWZmZWN0aXZlRml4ZWRQb2ludERlbm9taW5hdG9yOwor
I2VuZGlmCisgICAgfQogICAgIExheW91dFVuaXQoZmxvYXQgdmFsdWUpCiAgICAgewogI2lmIEVO
QUJMRShTQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpCkBAIC05Nyw2ICsxMTEsOCBAQCBwdWJs
aWM6CiAgICAgTGF5b3V0VW5pdChpbnQgdmFsdWUpIHsgUkVQT1JUX09WRVJGTE9XKGlzSW5Cb3Vu
ZHModmFsdWUpKTsgbV92YWx1ZSA9IHZhbHVlOyB9CiAgICAgTGF5b3V0VW5pdCh1bnNpZ25lZCBz
aG9ydCB2YWx1ZSkgeyBSRVBPUlRfT1ZFUkZMT1coaXNJbkJvdW5kcyh2YWx1ZSkpOyBtX3ZhbHVl
ID0gdmFsdWU7IH0KICAgICBMYXlvdXRVbml0KHVuc2lnbmVkIHZhbHVlKSB7IFJFUE9SVF9PVkVS
RkxPVyhpc0luQm91bmRzKHZhbHVlKSk7IG1fdmFsdWUgPSB2YWx1ZTsgfQorICAgIExheW91dFVu
aXQodW5zaWduZWQgbG9uZyBsb25nIHZhbHVlKSB7IFJFUE9SVF9PVkVSRkxPVyhpc0luQm91bmRz
KHN0YXRpY19jYXN0PHVuc2lnbmVkPih2YWx1ZSkpKTsgbV92YWx1ZSA9IHZhbHVlOyB9CisgICAg
TGF5b3V0VW5pdCh1bnNpZ25lZCBsb25nIHZhbHVlKSB7IFJFUE9SVF9PVkVSRkxPVyhpc0luQm91
bmRzKHN0YXRpY19jYXN0PHVuc2lnbmVkPih2YWx1ZSkpKTsgbV92YWx1ZSA9IHZhbHVlOyB9CiAg
ICAgTGF5b3V0VW5pdChmbG9hdCB2YWx1ZSkgeyBSRVBPUlRfT1ZFUkZMT1coaXNJbkJvdW5kcyh2
YWx1ZSkpOyBtX3ZhbHVlID0gdmFsdWU7IH0KICAgICBMYXlvdXRVbml0KGRvdWJsZSB2YWx1ZSkg
eyBSRVBPUlRfT1ZFUkZMT1coaXNJbkJvdW5kcyh2YWx1ZSkpOyBtX3ZhbHVlID0gdmFsdWU7IH0K
ICNlbmRpZgpAQCAtNTI5LDE2ICs1NDUsNDYgQEAgaW5saW5lIExheW91dFVuaXQgb3BlcmF0b3Iq
KGNvbnN0IExheW91dFVuaXQmIGEsIGludCBiKQogICAgIHJldHVybiBhICogTGF5b3V0VW5pdChi
KTsKIH0KIAoraW5saW5lIExheW91dFVuaXQgb3BlcmF0b3IqKGNvbnN0IExheW91dFVuaXQmIGEs
IHVuc2lnbmVkIHNob3J0IGIpCit7CisgICAgcmV0dXJuIGEgKiBMYXlvdXRVbml0KGIpOworfQor
CiBpbmxpbmUgTGF5b3V0VW5pdCBvcGVyYXRvciooY29uc3QgTGF5b3V0VW5pdCYgYSwgdW5zaWdu
ZWQgYikKIHsKICAgICByZXR1cm4gYSAqIExheW91dFVuaXQoYik7CiB9CiAKK2lubGluZSBMYXlv
dXRVbml0IG9wZXJhdG9yKihjb25zdCBMYXlvdXRVbml0JiBhLCB1bnNpZ25lZCBsb25nIGIpCit7
CisgICAgcmV0dXJuIGEgKiBMYXlvdXRVbml0KGIpOworfQorCitpbmxpbmUgTGF5b3V0VW5pdCBv
cGVyYXRvciooY29uc3QgTGF5b3V0VW5pdCYgYSwgdW5zaWduZWQgbG9uZyBsb25nIGIpCit7Cisg
ICAgcmV0dXJuIGEgKiBMYXlvdXRVbml0KGIpOworfQorCitpbmxpbmUgTGF5b3V0VW5pdCBvcGVy
YXRvcioodW5zaWduZWQgc2hvcnQgYSwgY29uc3QgTGF5b3V0VW5pdCYgYikKK3sKKyAgICByZXR1
cm4gTGF5b3V0VW5pdChhKSAqIGI7Cit9CisKIGlubGluZSBMYXlvdXRVbml0IG9wZXJhdG9yKih1
bnNpZ25lZCBhLCBjb25zdCBMYXlvdXRVbml0JiBiKQogewogICAgIHJldHVybiBMYXlvdXRVbml0
KGEpICogYjsKIH0KIAoraW5saW5lIExheW91dFVuaXQgb3BlcmF0b3IqKHVuc2lnbmVkIGxvbmcg
YSwgY29uc3QgTGF5b3V0VW5pdCYgYikKK3sKKyAgICByZXR1cm4gTGF5b3V0VW5pdChhKSAqIGI7
Cit9CisKK2lubGluZSBMYXlvdXRVbml0IG9wZXJhdG9yKih1bnNpZ25lZCBsb25nIGxvbmcgYSwg
Y29uc3QgTGF5b3V0VW5pdCYgYikKK3sKKyAgICByZXR1cm4gTGF5b3V0VW5pdChhKSAqIGI7Cit9
CisKIGlubGluZSBMYXlvdXRVbml0IG9wZXJhdG9yKihjb25zdCBpbnQgYSwgY29uc3QgTGF5b3V0
VW5pdCYgYikKIHsKICAgICByZXR1cm4gTGF5b3V0VW5pdChhKSAqIGI7CkBAIC01ODUsMTEgKzYz
MSwyNiBAQCBpbmxpbmUgTGF5b3V0VW5pdCBvcGVyYXRvci8oY29uc3QgTGF5b3V0VW5pdCYgYSwg
aW50IGIpCiAgICAgcmV0dXJuIGEgLyBMYXlvdXRVbml0KGIpOwogfQogCitpbmxpbmUgTGF5b3V0
VW5pdCBvcGVyYXRvci8oY29uc3QgTGF5b3V0VW5pdCYgYSwgdW5zaWduZWQgc2hvcnQgYikKK3sK
KyAgICByZXR1cm4gYSAvIExheW91dFVuaXQoYik7Cit9CisKIGlubGluZSBMYXlvdXRVbml0IG9w
ZXJhdG9yLyhjb25zdCBMYXlvdXRVbml0JiBhLCB1bnNpZ25lZCBiKQogewogICAgIHJldHVybiBh
IC8gTGF5b3V0VW5pdChiKTsKIH0KIAoraW5saW5lIExheW91dFVuaXQgb3BlcmF0b3IvKGNvbnN0
IExheW91dFVuaXQmIGEsIHVuc2lnbmVkIGxvbmcgYikKK3sKKyAgICByZXR1cm4gYSAvIExheW91
dFVuaXQoYik7Cit9CisKK2lubGluZSBMYXlvdXRVbml0IG9wZXJhdG9yLyhjb25zdCBMYXlvdXRV
bml0JiBhLCB1bnNpZ25lZCBsb25nIGxvbmcgYikKK3sKKyAgICByZXR1cm4gYSAvIExheW91dFVu
aXQoYik7Cit9CisKIGlubGluZSBmbG9hdCBvcGVyYXRvci8oY29uc3QgZmxvYXQgYSwgY29uc3Qg
TGF5b3V0VW5pdCYgYikKIHsKICAgICByZXR1cm4gYSAvIGIudG9GbG9hdCgpOwpAQCAtNjA1LDEx
ICs2NjYsMjYgQEAgaW5saW5lIExheW91dFVuaXQgb3BlcmF0b3IvKGNvbnN0IGludCBhLCBjb25z
dCBMYXlvdXRVbml0JiBiKQogICAgIHJldHVybiBMYXlvdXRVbml0KGEpIC8gYjsKIH0KIAoraW5s
aW5lIExheW91dFVuaXQgb3BlcmF0b3IvKHVuc2lnbmVkIHNob3J0IGEsIGNvbnN0IExheW91dFVu
aXQmIGIpCit7CisgICAgcmV0dXJuIExheW91dFVuaXQoYSkgLyBiOworfQorCiBpbmxpbmUgTGF5
b3V0VW5pdCBvcGVyYXRvci8odW5zaWduZWQgYSwgY29uc3QgTGF5b3V0VW5pdCYgYikKIHsKICAg
ICByZXR1cm4gTGF5b3V0VW5pdChhKSAvIGI7CiB9CiAKK2lubGluZSBMYXlvdXRVbml0IG9wZXJh
dG9yLyh1bnNpZ25lZCBsb25nIGEsIGNvbnN0IExheW91dFVuaXQmIGIpCit7CisgICAgcmV0dXJu
IExheW91dFVuaXQoYSkgLyBiOworfQorCitpbmxpbmUgTGF5b3V0VW5pdCBvcGVyYXRvci8odW5z
aWduZWQgbG9uZyBsb25nIGEsIGNvbnN0IExheW91dFVuaXQmIGIpCit7CisgICAgcmV0dXJuIExh
eW91dFVuaXQoYSkgLyBiOworfQorCiBpbmxpbmUgTGF5b3V0VW5pdCBvcGVyYXRvcisoY29uc3Qg
TGF5b3V0VW5pdCYgYSwgY29uc3QgTGF5b3V0VW5pdCYgYikKIHsKICAgICBMYXlvdXRVbml0IHJl
dHVyblZhbDsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwpp
bmRleCA2NGEzMGRjZmQzOGNiZGI4YWQ1Y2I5ODgwN2I0OWQ1MjYwN2Q2MjhjLi45ZTNlZmE5ZGNh
MGE2M2UzZjQwMWVlMjlmY2M1NDBiZmU5M2MzMDgxIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VM
b2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMTItMTkgIEp1
bGllbiBDaGFmZnJhaXggIDxqY2hhZmZyYWl4QHdlYmtpdC5vcmc+CisKKyAgICAgICAgU3VwcG9y
dCBzaXplX3QgbXVsdGlwbGljYXRpb24gYW5kIGRpdmlzaW9uIG9wZXJhdG9ycyBvbiBMYXlvdXRV
bml0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Mzg0
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0xheW91dFVuaXQuY3BwOgorICAgICAgICBBZGRlZCBz
b21lIHNpbXBsZSB0ZXN0cyBmb3IgdGhlIG5ldyBvcGVyYXRvcnMgdXNpbmcgc2l6ZV90LgorCiAy
MDEyLTEyLTE5ICBUaGlhZ28gTWFyY29zIFAuIFNhbnRvcyAgPHRoaWFnby5zYW50b3NAaW50ZWwu
Y29tPgogCiAgICAgICAgIFtFRkxdIE1vdmUgSW1hZ2VEaWZmIHRvIHRoZSBUb29scyBkaXJlY3Rv
cnkgcm9vdApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0xh
eW91dFVuaXQuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0xheW91dFVu
aXQuY3BwCmluZGV4IGU2NzkxOWFkM2MzYmRiYjhhODQ3Mzg5MDAwNzM4NjExZWVlYzg3MGEuLjMx
ZDE5NTk3NDI2YjRjNmNjMTYzZmFiNTVjMmU1Njk4YTJkODEyMzcgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9MYXlvdXRVbml0LmNwcAorKysgYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvTGF5b3V0VW5pdC5jcHAKQEAgLTE0NiwxMiArMTQ2
LDIyIEBAIFRFU1QoV2ViQ29yZUxheW91dFVuaXQsIExheW91dFVuaXRNdWx0aXBsaWNhdGlvbikK
ICAgICBBU1NFUlRfRVEoKExheW91dFVuaXQoMTAwKSAqIExheW91dFVuaXQoMy4zMykpLnJvdW5k
KCksIDMzMyk7CiAgICAgQVNTRVJUX0VRKChMYXlvdXRVbml0KC0xMDApICogTGF5b3V0VW5pdCgz
LjMzKSkucm91bmQoKSwgLTMzMyk7CiAgICAgQVNTRVJUX0VRKChMYXlvdXRVbml0KC0xMDApICog
TGF5b3V0VW5pdCgtMy4zMykpLnJvdW5kKCksIDMzMyk7Ci0gICAgCisKKyAgICBzaXplX3QgYUh1
bmRyZWRTaXplVCA9IDEwMDsKKyAgICBBU1NFUlRfRVEoKExheW91dFVuaXQoYUh1bmRyZWRTaXpl
VCkgKiBMYXlvdXRVbml0KDEpKS50b0ludCgpLCBzdGF0aWNfY2FzdDxpbnQ+KGFIdW5kcmVkU2l6
ZVQpKTsKKyAgICBBU1NFUlRfRVEoKGFIdW5kcmVkU2l6ZVQgKiBMYXlvdXRVbml0KDQpKS50b0lu
dCgpLCA0ICogYUh1bmRyZWRTaXplVCk7CisgICAgQVNTRVJUX0VRKChMYXlvdXRVbml0KDQpICog
YUh1bmRyZWRTaXplVCkudG9JbnQoKSwgNCAqIGFIdW5kcmVkU2l6ZVQpOworCiAgICAgaW50IHF1
YXJ0ZXJNYXggPSBpbnRNYXhGb3JMYXlvdXRVbml0IC8gNDsKICAgICBBU1NFUlRfRVEoKExheW91
dFVuaXQocXVhcnRlck1heCkgKiBMYXlvdXRVbml0KDIpKS50b0ludCgpLCBxdWFydGVyTWF4ICog
Mik7CiAgICAgQVNTRVJUX0VRKChMYXlvdXRVbml0KHF1YXJ0ZXJNYXgpICogTGF5b3V0VW5pdCgz
KSkudG9JbnQoKSwgcXVhcnRlck1heCAqIDMpOwogICAgIEFTU0VSVF9FUSgoTGF5b3V0VW5pdChx
dWFydGVyTWF4KSAqIExheW91dFVuaXQoNCkpLnRvSW50KCksIHF1YXJ0ZXJNYXggKiA0KTsKICAg
ICBBU1NFUlRfRVEoKExheW91dFVuaXQocXVhcnRlck1heCkgKiBMYXlvdXRVbml0KDUpKS50b0lu
dCgpLCBpbnRNYXhGb3JMYXlvdXRVbml0KTsKKworICAgIHNpemVfdCBvdmVyZmxvd0ludFNpemVU
ID0gaW50TWF4Rm9yTGF5b3V0VW5pdCAqIDQ7CisgICAgQVNTRVJUX0VRKChMYXlvdXRVbml0KG92
ZXJmbG93SW50U2l6ZVQpICogTGF5b3V0VW5pdCgyKSkudG9JbnQoKSwgaW50TWF4Rm9yTGF5b3V0
VW5pdCk7CisgICAgQVNTRVJUX0VRKChvdmVyZmxvd0ludFNpemVUICogTGF5b3V0VW5pdCg0KSku
dG9JbnQoKSwgaW50TWF4Rm9yTGF5b3V0VW5pdCk7CisgICAgQVNTRVJUX0VRKChMYXlvdXRVbml0
KDQpICogb3ZlcmZsb3dJbnRTaXplVCkudG9JbnQoKSwgaW50TWF4Rm9yTGF5b3V0VW5pdCk7CiB9
CiAKIFRFU1QoV2ViQ29yZUxheW91dFVuaXQsIExheW91dFVuaXREaXZpc2lvbikKQEAgLTE4Myw2
ICsxOTMsMTEgQEAgVEVTVChXZWJDb3JlTGF5b3V0VW5pdCwgTGF5b3V0VW5pdERpdmlzaW9uKQog
ICAgIEFTU0VSVF9GTE9BVF9FUSgoTGF5b3V0VW5pdCgtMSkgLyBMYXlvdXRVbml0KC0yKSkudG9G
bG9hdCgpLCAwLjVmKTsKICAgICBBU1NFUlRfRkxPQVRfRVEoKExheW91dFVuaXQoLTAuNSkgLyBM
YXlvdXRVbml0KC0yKSkudG9GbG9hdCgpLCAwLjI1Zik7CiAgICAgCisgICAgc2l6ZV90IGFIdW5k
cmVkU2l6ZVQgPSAxMDA7CisgICAgQVNTRVJUX0VRKChMYXlvdXRVbml0KGFIdW5kcmVkU2l6ZVQp
IC8gTGF5b3V0VW5pdCgyKSkudG9JbnQoKSwgYUh1bmRyZWRTaXplVCAvIDIpOworICAgIEFTU0VS
VF9FUSgoYUh1bmRyZWRTaXplVCAvIExheW91dFVuaXQoNCkpLnRvSW50KCksIGFIdW5kcmVkU2l6
ZVQgLyA0KTsKKyAgICBBU1NFUlRfRVEoKExheW91dFVuaXQoNDAwKSAvIGFIdW5kcmVkU2l6ZVQp
LnRvSW50KCksIDQpOworCiAgICAgQVNTRVJUX0VRKChMYXlvdXRVbml0KGludE1heEZvckxheW91
dFVuaXQpIC8gTGF5b3V0VW5pdCgyKSkudG9JbnQoKSwgaW50TWF4Rm9yTGF5b3V0VW5pdCAvIDIp
OwogICAgIEFTU0VSVF9FUSgoTGF5b3V0VW5pdChpbnRNYXhGb3JMYXlvdXRVbml0KSAvIExheW91
dFVuaXQoMC41KSkudG9JbnQoKSwgaW50TWF4Rm9yTGF5b3V0VW5pdCk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180225</attachid>
            <date>2012-12-19 14:18:05 -0800</date>
            <delta_ts>2013-01-07 09:26:57 -0800</delta_ts>
            <desc>Proposed fix 6: This time passing on mac FOR REAL.</desc>
            <filename>bug-83848-20121219141521.patch</filename>
            <type>text/plain</type>
            <size>8681</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4MTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGIzYjkwYjgzZGUzN2I1
NTJjYjBmNTJhZTQ1NWQ1YjEzZGYwOGVjMi4uODE2MDc3ODk5NWExNTA1ZjA4OGFmMzQxYzAyYTYy
ZTQ3OGE0YTkxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTEyLTE5ICBKdWxp
ZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgorCisgICAgICAgIFN1cHBvcnQg
c2l6ZV90IG11bHRpcGxpY2F0aW9uIGFuZCBkaXZpc2lvbiBvcGVyYXRvcnMgb24gTGF5b3V0VW5p
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODM4NDgK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQZXIgRGFy
aW4ncyBzdWdnZXN0aW9uLCBhZGRpbmcgYSB2ZXJzaW9uIG9mIHRoZSBvcGVyYXRvciBmb3IgbW9z
dCB1bnNpZ25lZCB0eXBlcyAoZXhjbHVkaW5nCisgICAgICAgIG9ubHkgdW5zaWduZWQgY2hhciku
IFRoaXMgc2hvdWxkIGF1dG9tYXRpY2FsbHkgY292ZXIgc2l6ZV90IGFzIGl0IHNob3VsZCBiZSBv
bmUgb2YgdGhlc2UuCisKKyAgICAgICAgVGVzdDogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3Jl
L0xheW91dFVuaXQuY3BwCisKKyAgICAgICAgKiBwbGF0Zm9ybS9MYXlvdXRVbml0Lmg6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXRVbml0OjpMYXlvdXRVbml0KToKKyAgICAgICAgKFdlYkNvcmU6
Om9wZXJhdG9yKik6CisgICAgICAgIChXZWJDb3JlOjpvcGVyYXRvci8pOgorICAgICAgICBBZGRl
ZCB0aGUgb3BlcmF0b3JzIGFuZCAocG9zc2libHkgc2F0dXJhdGluZykgY29uc3RydWN0b3JzIGZv
ciB1bnNpZ25lZCBzaG9ydCwgdW5zaWduZWQgbG9uZywKKyAgICAgICAgdW5zaWduZWQgbG9uZyBs
b25nLgorCiAyMDEyLTEyLTE5ICBIYXlhdG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBFeHBvc2UgV2ViS2l0U2hhZG93Um9vdCBjb25zdHJ1Y3RvciB0byBET01XaW5kb3cu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MYXlvdXRVbml0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9MYXlvdXRVbml0LmgKaW5kZXggMzM1ODk0MGU0YTNhOWM1MTc0
YWM5Y2VjYmNmMTg0MDVjNmIxZGJhYy4uNGI0MGNlMDg4ZmJhZmVmYTBkNjA5NThkZTNkZDVjOWZi
YWEwMTZlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGF5b3V0VW5pdC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xheW91dFVuaXQuaApAQCAtNjYsMTUgKzY2
LDI5IEBAIGNvbnN0IGludCBpbnRNaW5Gb3JMYXlvdXRVbml0ID0gSU5UX01JTiAvIGtFZmZlY3Rp
dmVGaXhlZFBvaW50RGVub21pbmF0b3I7CiAKIGNsYXNzIExheW91dFVuaXQgewogcHVibGljOgot
ICAgIC8vIEZJWE1FOiBJZGVhbGx5IHdlIHdvdWxkIGhhdmUgc2l6ZV90IHZlcnNpb25zIG9mIHRo
ZSBjb25zdHJ1Y3RvciBhbmQgb3BlcmF0b3JzLgotICAgIC8vIEhvd2V2ZXIgZHVlIHRvIGNvbXBp
bGVyIGFuZCBwbGF0Zm9ybSBkaWZmZXJlbmNlcyBhZGRpbmcgdGhvc2UgYXJlIG5vbi10cml2aWFs
LgotICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODM4
NDggZm9yIGRldGFpbHMuCi0gICAgCiAgICAgTGF5b3V0VW5pdCgpIDogbV92YWx1ZSgwKSB7IH0K
ICNpZiBFTkFCTEUoU1VCUElYRUxfTEFZT1VUKQogICAgIExheW91dFVuaXQoaW50IHZhbHVlKSB7
IHNldFZhbHVlKHZhbHVlKTsgfQogICAgIExheW91dFVuaXQodW5zaWduZWQgc2hvcnQgdmFsdWUp
IHsgc2V0VmFsdWUodmFsdWUpOyB9CiAgICAgTGF5b3V0VW5pdCh1bnNpZ25lZCB2YWx1ZSkgeyBz
ZXRWYWx1ZSh2YWx1ZSk7IH0KKyAgICBMYXlvdXRVbml0KHVuc2lnbmVkIGxvbmcgdmFsdWUpCisg
ICAgeworI2lmIEVOQUJMRShTQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpCisgICAgICAgIG1f
dmFsdWUgPSBjbGFtcFRvPGludD4odmFsdWUgKiBrRWZmZWN0aXZlRml4ZWRQb2ludERlbm9taW5h
dG9yKTsKKyNlbHNlCisgICAgICAgIFJFUE9SVF9PVkVSRkxPVyhpc0luQm91bmRzKHN0YXRpY19j
YXN0PHVuc2lnbmVkPih2YWx1ZSkpKTsKKyAgICAgICAgbV92YWx1ZSA9IHZhbHVlICoga0VmZmVj
dGl2ZUZpeGVkUG9pbnREZW5vbWluYXRvcjsKKyNlbmRpZgorICAgIH0KKyAgICBMYXlvdXRVbml0
KHVuc2lnbmVkIGxvbmcgbG9uZyB2YWx1ZSkKKyAgICB7CisjaWYgRU5BQkxFKFNBVFVSQVRFRF9M
QVlPVVRfQVJJVEhNRVRJQykKKyAgICAgICAgbV92YWx1ZSA9IGNsYW1wVG88aW50Pih2YWx1ZSAq
IGtFZmZlY3RpdmVGaXhlZFBvaW50RGVub21pbmF0b3IpOworI2Vsc2UKKyAgICAgICAgUkVQT1JU
X09WRVJGTE9XKGlzSW5Cb3VuZHMoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHZhbHVlKSkpOworICAg
ICAgICBtX3ZhbHVlID0gdmFsdWUgKiBrRWZmZWN0aXZlRml4ZWRQb2ludERlbm9taW5hdG9yOwor
I2VuZGlmCisgICAgfQogICAgIExheW91dFVuaXQoZmxvYXQgdmFsdWUpCiAgICAgewogI2lmIEVO
QUJMRShTQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpCkBAIC05Nyw2ICsxMTEsOCBAQCBwdWJs
aWM6CiAgICAgTGF5b3V0VW5pdChpbnQgdmFsdWUpIHsgUkVQT1JUX09WRVJGTE9XKGlzSW5Cb3Vu
ZHModmFsdWUpKTsgbV92YWx1ZSA9IHZhbHVlOyB9CiAgICAgTGF5b3V0VW5pdCh1bnNpZ25lZCBz
aG9ydCB2YWx1ZSkgeyBSRVBPUlRfT1ZFUkZMT1coaXNJbkJvdW5kcyh2YWx1ZSkpOyBtX3ZhbHVl
ID0gdmFsdWU7IH0KICAgICBMYXlvdXRVbml0KHVuc2lnbmVkIHZhbHVlKSB7IFJFUE9SVF9PVkVS
RkxPVyhpc0luQm91bmRzKHZhbHVlKSk7IG1fdmFsdWUgPSB2YWx1ZTsgfQorICAgIExheW91dFVu
aXQodW5zaWduZWQgbG9uZyBsb25nIHZhbHVlKSB7IFJFUE9SVF9PVkVSRkxPVyhpc0luQm91bmRz
KHN0YXRpY19jYXN0PHVuc2lnbmVkPih2YWx1ZSkpKTsgbV92YWx1ZSA9IHZhbHVlOyB9CisgICAg
TGF5b3V0VW5pdCh1bnNpZ25lZCBsb25nIHZhbHVlKSB7IFJFUE9SVF9PVkVSRkxPVyhpc0luQm91
bmRzKHN0YXRpY19jYXN0PHVuc2lnbmVkPih2YWx1ZSkpKTsgbV92YWx1ZSA9IHZhbHVlOyB9CiAg
ICAgTGF5b3V0VW5pdChmbG9hdCB2YWx1ZSkgeyBSRVBPUlRfT1ZFUkZMT1coaXNJbkJvdW5kcyh2
YWx1ZSkpOyBtX3ZhbHVlID0gdmFsdWU7IH0KICAgICBMYXlvdXRVbml0KGRvdWJsZSB2YWx1ZSkg
eyBSRVBPUlRfT1ZFUkZMT1coaXNJbkJvdW5kcyh2YWx1ZSkpOyBtX3ZhbHVlID0gdmFsdWU7IH0K
ICNlbmRpZgpAQCAtNTI5LDE2ICs1NDUsNDYgQEAgaW5saW5lIExheW91dFVuaXQgb3BlcmF0b3Iq
KGNvbnN0IExheW91dFVuaXQmIGEsIGludCBiKQogICAgIHJldHVybiBhICogTGF5b3V0VW5pdChi
KTsKIH0KIAoraW5saW5lIExheW91dFVuaXQgb3BlcmF0b3IqKGNvbnN0IExheW91dFVuaXQmIGEs
IHVuc2lnbmVkIHNob3J0IGIpCit7CisgICAgcmV0dXJuIGEgKiBMYXlvdXRVbml0KGIpOworfQor
CiBpbmxpbmUgTGF5b3V0VW5pdCBvcGVyYXRvciooY29uc3QgTGF5b3V0VW5pdCYgYSwgdW5zaWdu
ZWQgYikKIHsKICAgICByZXR1cm4gYSAqIExheW91dFVuaXQoYik7CiB9CiAKK2lubGluZSBMYXlv
dXRVbml0IG9wZXJhdG9yKihjb25zdCBMYXlvdXRVbml0JiBhLCB1bnNpZ25lZCBsb25nIGIpCit7
CisgICAgcmV0dXJuIGEgKiBMYXlvdXRVbml0KGIpOworfQorCitpbmxpbmUgTGF5b3V0VW5pdCBv
cGVyYXRvciooY29uc3QgTGF5b3V0VW5pdCYgYSwgdW5zaWduZWQgbG9uZyBsb25nIGIpCit7Cisg
ICAgcmV0dXJuIGEgKiBMYXlvdXRVbml0KGIpOworfQorCitpbmxpbmUgTGF5b3V0VW5pdCBvcGVy
YXRvcioodW5zaWduZWQgc2hvcnQgYSwgY29uc3QgTGF5b3V0VW5pdCYgYikKK3sKKyAgICByZXR1
cm4gTGF5b3V0VW5pdChhKSAqIGI7Cit9CisKIGlubGluZSBMYXlvdXRVbml0IG9wZXJhdG9yKih1
bnNpZ25lZCBhLCBjb25zdCBMYXlvdXRVbml0JiBiKQogewogICAgIHJldHVybiBMYXlvdXRVbml0
KGEpICogYjsKIH0KIAoraW5saW5lIExheW91dFVuaXQgb3BlcmF0b3IqKHVuc2lnbmVkIGxvbmcg
YSwgY29uc3QgTGF5b3V0VW5pdCYgYikKK3sKKyAgICByZXR1cm4gTGF5b3V0VW5pdChhKSAqIGI7
Cit9CisKK2lubGluZSBMYXlvdXRVbml0IG9wZXJhdG9yKih1bnNpZ25lZCBsb25nIGxvbmcgYSwg
Y29uc3QgTGF5b3V0VW5pdCYgYikKK3sKKyAgICByZXR1cm4gTGF5b3V0VW5pdChhKSAqIGI7Cit9
CisKIGlubGluZSBMYXlvdXRVbml0IG9wZXJhdG9yKihjb25zdCBpbnQgYSwgY29uc3QgTGF5b3V0
VW5pdCYgYikKIHsKICAgICByZXR1cm4gTGF5b3V0VW5pdChhKSAqIGI7CkBAIC01ODUsMTEgKzYz
MSwyNiBAQCBpbmxpbmUgTGF5b3V0VW5pdCBvcGVyYXRvci8oY29uc3QgTGF5b3V0VW5pdCYgYSwg
aW50IGIpCiAgICAgcmV0dXJuIGEgLyBMYXlvdXRVbml0KGIpOwogfQogCitpbmxpbmUgTGF5b3V0
VW5pdCBvcGVyYXRvci8oY29uc3QgTGF5b3V0VW5pdCYgYSwgdW5zaWduZWQgc2hvcnQgYikKK3sK
KyAgICByZXR1cm4gYSAvIExheW91dFVuaXQoYik7Cit9CisKIGlubGluZSBMYXlvdXRVbml0IG9w
ZXJhdG9yLyhjb25zdCBMYXlvdXRVbml0JiBhLCB1bnNpZ25lZCBiKQogewogICAgIHJldHVybiBh
IC8gTGF5b3V0VW5pdChiKTsKIH0KIAoraW5saW5lIExheW91dFVuaXQgb3BlcmF0b3IvKGNvbnN0
IExheW91dFVuaXQmIGEsIHVuc2lnbmVkIGxvbmcgYikKK3sKKyAgICByZXR1cm4gYSAvIExheW91
dFVuaXQoYik7Cit9CisKK2lubGluZSBMYXlvdXRVbml0IG9wZXJhdG9yLyhjb25zdCBMYXlvdXRV
bml0JiBhLCB1bnNpZ25lZCBsb25nIGxvbmcgYikKK3sKKyAgICByZXR1cm4gYSAvIExheW91dFVu
aXQoYik7Cit9CisKIGlubGluZSBmbG9hdCBvcGVyYXRvci8oY29uc3QgZmxvYXQgYSwgY29uc3Qg
TGF5b3V0VW5pdCYgYikKIHsKICAgICByZXR1cm4gYSAvIGIudG9GbG9hdCgpOwpAQCAtNjA1LDEx
ICs2NjYsMjYgQEAgaW5saW5lIExheW91dFVuaXQgb3BlcmF0b3IvKGNvbnN0IGludCBhLCBjb25z
dCBMYXlvdXRVbml0JiBiKQogICAgIHJldHVybiBMYXlvdXRVbml0KGEpIC8gYjsKIH0KIAoraW5s
aW5lIExheW91dFVuaXQgb3BlcmF0b3IvKHVuc2lnbmVkIHNob3J0IGEsIGNvbnN0IExheW91dFVu
aXQmIGIpCit7CisgICAgcmV0dXJuIExheW91dFVuaXQoYSkgLyBiOworfQorCiBpbmxpbmUgTGF5
b3V0VW5pdCBvcGVyYXRvci8odW5zaWduZWQgYSwgY29uc3QgTGF5b3V0VW5pdCYgYikKIHsKICAg
ICByZXR1cm4gTGF5b3V0VW5pdChhKSAvIGI7CiB9CiAKK2lubGluZSBMYXlvdXRVbml0IG9wZXJh
dG9yLyh1bnNpZ25lZCBsb25nIGEsIGNvbnN0IExheW91dFVuaXQmIGIpCit7CisgICAgcmV0dXJu
IExheW91dFVuaXQoYSkgLyBiOworfQorCitpbmxpbmUgTGF5b3V0VW5pdCBvcGVyYXRvci8odW5z
aWduZWQgbG9uZyBsb25nIGEsIGNvbnN0IExheW91dFVuaXQmIGIpCit7CisgICAgcmV0dXJuIExh
eW91dFVuaXQoYSkgLyBiOworfQorCiBpbmxpbmUgTGF5b3V0VW5pdCBvcGVyYXRvcisoY29uc3Qg
TGF5b3V0VW5pdCYgYSwgY29uc3QgTGF5b3V0VW5pdCYgYikKIHsKICAgICBMYXlvdXRVbml0IHJl
dHVyblZhbDsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwpp
bmRleCA2NGEzMGRjZmQzOGNiZGI4YWQ1Y2I5ODgwN2I0OWQ1MjYwN2Q2MjhjLi45ZTNlZmE5ZGNh
MGE2M2UzZjQwMWVlMjlmY2M1NDBiZmU5M2MzMDgxIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VM
b2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMTItMTkgIEp1
bGllbiBDaGFmZnJhaXggIDxqY2hhZmZyYWl4QHdlYmtpdC5vcmc+CisKKyAgICAgICAgU3VwcG9y
dCBzaXplX3QgbXVsdGlwbGljYXRpb24gYW5kIGRpdmlzaW9uIG9wZXJhdG9ycyBvbiBMYXlvdXRV
bml0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Mzg0
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0xheW91dFVuaXQuY3BwOgorICAgICAgICBBZGRlZCBz
b21lIHNpbXBsZSB0ZXN0cyBmb3IgdGhlIG5ldyBvcGVyYXRvcnMgdXNpbmcgc2l6ZV90LgorCiAy
MDEyLTEyLTE5ICBUaGlhZ28gTWFyY29zIFAuIFNhbnRvcyAgPHRoaWFnby5zYW50b3NAaW50ZWwu
Y29tPgogCiAgICAgICAgIFtFRkxdIE1vdmUgSW1hZ2VEaWZmIHRvIHRoZSBUb29scyBkaXJlY3Rv
cnkgcm9vdApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0xh
eW91dFVuaXQuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0xheW91dFVu
aXQuY3BwCmluZGV4IGU2NzkxOWFkM2MzYmRiYjhhODQ3Mzg5MDAwNzM4NjExZWVlYzg3MGEuLmFj
OTBjYTVmYjJlNThkMmM4NjliNmEyOWU3ZDMyNmVhN2QzMzU1NGUgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9MYXlvdXRVbml0LmNwcAorKysgYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvTGF5b3V0VW5pdC5jcHAKQEAgLTE0NiwxMiArMTQ2
LDIyIEBAIFRFU1QoV2ViQ29yZUxheW91dFVuaXQsIExheW91dFVuaXRNdWx0aXBsaWNhdGlvbikK
ICAgICBBU1NFUlRfRVEoKExheW91dFVuaXQoMTAwKSAqIExheW91dFVuaXQoMy4zMykpLnJvdW5k
KCksIDMzMyk7CiAgICAgQVNTRVJUX0VRKChMYXlvdXRVbml0KC0xMDApICogTGF5b3V0VW5pdCgz
LjMzKSkucm91bmQoKSwgLTMzMyk7CiAgICAgQVNTRVJUX0VRKChMYXlvdXRVbml0KC0xMDApICog
TGF5b3V0VW5pdCgtMy4zMykpLnJvdW5kKCksIDMzMyk7Ci0gICAgCisKKyAgICBzaXplX3QgYUh1
bmRyZWRTaXplVCA9IDEwMDsKKyAgICBBU1NFUlRfRVEoKExheW91dFVuaXQoYUh1bmRyZWRTaXpl
VCkgKiBMYXlvdXRVbml0KDEpKS50b0ludCgpLCAxMDApOworICAgIEFTU0VSVF9FUSgoYUh1bmRy
ZWRTaXplVCAqIExheW91dFVuaXQoNCkpLnRvSW50KCksIDQwMCk7CisgICAgQVNTRVJUX0VRKChM
YXlvdXRVbml0KDQpICogYUh1bmRyZWRTaXplVCkudG9JbnQoKSwgNDAwKTsKKwogICAgIGludCBx
dWFydGVyTWF4ID0gaW50TWF4Rm9yTGF5b3V0VW5pdCAvIDQ7CiAgICAgQVNTRVJUX0VRKChMYXlv
dXRVbml0KHF1YXJ0ZXJNYXgpICogTGF5b3V0VW5pdCgyKSkudG9JbnQoKSwgcXVhcnRlck1heCAq
IDIpOwogICAgIEFTU0VSVF9FUSgoTGF5b3V0VW5pdChxdWFydGVyTWF4KSAqIExheW91dFVuaXQo
MykpLnRvSW50KCksIHF1YXJ0ZXJNYXggKiAzKTsKICAgICBBU1NFUlRfRVEoKExheW91dFVuaXQo
cXVhcnRlck1heCkgKiBMYXlvdXRVbml0KDQpKS50b0ludCgpLCBxdWFydGVyTWF4ICogNCk7CiAg
ICAgQVNTRVJUX0VRKChMYXlvdXRVbml0KHF1YXJ0ZXJNYXgpICogTGF5b3V0VW5pdCg1KSkudG9J
bnQoKSwgaW50TWF4Rm9yTGF5b3V0VW5pdCk7CisKKyAgICBzaXplX3Qgb3ZlcmZsb3dJbnRTaXpl
VCA9IGludE1heEZvckxheW91dFVuaXQgKiA0OworICAgIEFTU0VSVF9FUSgoTGF5b3V0VW5pdChv
dmVyZmxvd0ludFNpemVUKSAqIExheW91dFVuaXQoMikpLnRvSW50KCksIGludE1heEZvckxheW91
dFVuaXQpOworICAgIEFTU0VSVF9FUSgob3ZlcmZsb3dJbnRTaXplVCAqIExheW91dFVuaXQoNCkp
LnRvSW50KCksIGludE1heEZvckxheW91dFVuaXQpOworICAgIEFTU0VSVF9FUSgoTGF5b3V0VW5p
dCg0KSAqIG92ZXJmbG93SW50U2l6ZVQpLnRvSW50KCksIGludE1heEZvckxheW91dFVuaXQpOwog
fQogCiBURVNUKFdlYkNvcmVMYXlvdXRVbml0LCBMYXlvdXRVbml0RGl2aXNpb24pCkBAIC0xODMs
NiArMTkzLDExIEBAIFRFU1QoV2ViQ29yZUxheW91dFVuaXQsIExheW91dFVuaXREaXZpc2lvbikK
ICAgICBBU1NFUlRfRkxPQVRfRVEoKExheW91dFVuaXQoLTEpIC8gTGF5b3V0VW5pdCgtMikpLnRv
RmxvYXQoKSwgMC41Zik7CiAgICAgQVNTRVJUX0ZMT0FUX0VRKChMYXlvdXRVbml0KC0wLjUpIC8g
TGF5b3V0VW5pdCgtMikpLnRvRmxvYXQoKSwgMC4yNWYpOwogICAgIAorICAgIHNpemVfdCBhSHVu
ZHJlZFNpemVUID0gMTAwOworICAgIEFTU0VSVF9FUSgoTGF5b3V0VW5pdChhSHVuZHJlZFNpemVU
KSAvIExheW91dFVuaXQoMikpLnRvSW50KCksIDUwKTsKKyAgICBBU1NFUlRfRVEoKGFIdW5kcmVk
U2l6ZVQgLyBMYXlvdXRVbml0KDQpKS50b0ludCgpLCAyNSk7CisgICAgQVNTRVJUX0VRKChMYXlv
dXRVbml0KDQwMCkgLyBhSHVuZHJlZFNpemVUKS50b0ludCgpLCA0KTsKKwogICAgIEFTU0VSVF9F
USgoTGF5b3V0VW5pdChpbnRNYXhGb3JMYXlvdXRVbml0KSAvIExheW91dFVuaXQoMikpLnRvSW50
KCksIGludE1heEZvckxheW91dFVuaXQgLyAyKTsKICAgICBBU1NFUlRfRVEoKExheW91dFVuaXQo
aW50TWF4Rm9yTGF5b3V0VW5pdCkgLyBMYXlvdXRVbml0KDAuNSkpLnRvSW50KCksIGludE1heEZv
ckxheW91dFVuaXQpOwogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>