<?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>37046</bug_id>
          
          <creation_ts>2010-04-02 14:42:38 -0700</creation_ts>
          <short_desc>Create a class that can be extended to prevent objects from being placed on the heap</short_desc>
          <delta_ts>2010-06-18 01:33:54 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>37008</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Andy Estes">aestes</reporter>
          <assigned_to name="Andy Estes">aestes</assigned_to>
          <cc>joepeck</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>208075</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2010-04-02 14:42:38 -0700</bug_when>
    <thetext>Classes that wish to prohibit clients from allocating them on the heap can extend a class that will make operator new and operator delete private, thereby preventing heap and placement new allocation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208079</commentid>
    <comment_count>1</comment_count>
      <attachid>52452</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2010-04-02 14:55:49 -0700</bug_when>
    <thetext>Created attachment 52452
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208091</commentid>
    <comment_count>2</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-04-02 15:15:02 -0700</bug_when>
    <thetext>&gt; + *  Copyright (C) 2010 Apple Computer, Inc.

I&apos;ve seen people remove &quot;Computer&quot; and make this just &quot;Apple, Inc.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208093</commentid>
    <comment_count>3</comment_count>
      <attachid>52456</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2010-04-02 15:16:56 -0700</bug_when>
    <thetext>Created attachment 52456
patch (v2)

Changed comments to be grammatically correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208096</commentid>
    <comment_count>4</comment_count>
      <attachid>52457</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2010-04-02 15:19:45 -0700</bug_when>
    <thetext>Created attachment 52457
patch (v3)

Corrected copyright line in NonHeapAllocatable.h.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208097</commentid>
    <comment_count>5</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2010-04-02 15:20:12 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; &gt; + *  Copyright (C) 2010 Apple Computer, Inc.
&gt; 
&gt; I&apos;ve seen people remove &quot;Computer&quot; and make this just &quot;Apple, Inc.&quot;

Good catch, thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208105</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-04-02 15:26:55 -0700</bug_when>
    <thetext>We normally use BSD license for new code. I think that canonical text is at &lt;http://webkit.org/coding/bsd-license.html&gt; now, but very few files follow it exactly at the moment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208107</commentid>
    <comment_count>7</comment_count>
      <attachid>52459</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2010-04-02 15:29:52 -0700</bug_when>
    <thetext>Created attachment 52459
patch (v4)

Fourth time&apos;s a charm.  I had a typo in one of the build files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208112</commentid>
    <comment_count>8</comment_count>
      <attachid>52459</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2010-04-02 15:33:21 -0700</bug_when>
    <thetext>Comment on attachment 52459
patch (v4)

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208113</commentid>
    <comment_count>9</comment_count>
      <attachid>52459</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2010-04-02 15:34:21 -0700</bug_when>
    <thetext>Comment on attachment 52459
patch (v4)

Oops! I think you still have the LGPL license instead of BSD.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208119</commentid>
    <comment_count>10</comment_count>
      <attachid>52461</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2010-04-02 15:56:00 -0700</bug_when>
    <thetext>Created attachment 52461
patch (v5)

Use BSD license in NonHeapAllocatable.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208138</commentid>
    <comment_count>11</comment_count>
      <attachid>52461</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2010-04-02 16:30:07 -0700</bug_when>
    <thetext>Comment on attachment 52461
patch (v5)

I&apos;m not sure this class is a good idea. It can&apos;t stop an object from being a data member of another object, including one being allocated on the heap. So it doesn&apos;t truly prevent heap allocation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208140</commentid>
    <comment_count>12</comment_count>
      <attachid>52464</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2010-04-02 16:32:17 -0700</bug_when>
    <thetext>Created attachment 52464
patch (v6)

Fixed up the copyright line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208144</commentid>
    <comment_count>13</comment_count>
      <attachid>52464</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2010-04-02 16:44:12 -0700</bug_when>
    <thetext>Comment on attachment 52464
patch (v6)

r- for same reasons as previous patch and per discussion w/ Andy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208257</commentid>
    <comment_count>14</comment_count>
      <attachid>52464</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2010-04-03 01:16:19 -0700</bug_when>
    <thetext>Comment on attachment 52464
patch (v6)

&gt; +class NonHeapAllocatable {
&gt; +    private:
&gt; +        // Prohibit new and delete.
&gt; +        void* operator new(size_t);
&gt; +        void operator delete(void*);
&gt; +
&gt; +        // Prohibit array new and delete.
&gt; +        void* operator new[](size_t);
&gt; +        void operator delete[](void*);
&gt; +
&gt; +        // Prohibit placement new and delete.
&gt; +        void* operator new(size_t, void*);
&gt; +        void* operator new[](size_t, void*);
&gt; +        void operator delete(void*, void*);
&gt; +        void operator delete[](void*, void*);
&gt; +};

We typically don’t indent the “private:” like this.  The body of the class should be shifted left by one indentation level.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>223085</commentid>
    <comment_count>15</comment_count>
      <attachid>52464</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-09 14:39:35 -0700</bug_when>
    <thetext>Comment on attachment 52464
patch (v6)

Patch looks good to me.  Mark is right about the indent though, meaning we can&apos;t cq this as-is.  You can use webkit-patch land-safely once you&apos;ve modified locally to have it automatically fill in the reviewer and upload a patch for the commit-queue (if you&apos;re a committer).  If you&apos;re not a committer, you&apos;ll have to just post it for review/commit again or get someone to land it for you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>223088</commentid>
    <comment_count>16</comment_count>
      <attachid>52464</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-05-09 14:47:53 -0700</bug_when>
    <thetext>Comment on attachment 52464
patch (v6)

Does this actually work? I tried something like this a while back for the class RenderStyle and the technique failed. Have you tried deriving from this and then using new and delete on that class?

I also don&apos;t entirely understand what placement new and delete have to do with heap allocation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>223116</commentid>
    <comment_count>17</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2010-05-09 17:40:34 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; (From update of attachment 52464 [details])
&gt; Does this actually work?

No, unfortunately not.  For instance, the following heap allocation wouldn&apos;t be prevented by NonHeapAllocatable:

class StackOnlyObject : public NonHeapAllocatable {}
class Wrapper {
    StackOnlyObject obj;
}
Wrapper* wrapper = new Wrapper();

I moved forward with the pop-up blocking patch without this, but neglected to clear the review flag.  Sorry about that!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52452</attachid>
            <date>2010-04-02 14:55:49 -0700</date>
            <delta_ts>2010-04-02 15:16:56 -0700</delta_ts>
            <desc>patch</desc>
            <filename>37046.patch</filename>
            <type>text/plain</type>
            <size>9083</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDU3MDI0KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMDQtMDIgIEFuZHkgRXN0
ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIENsYXNzZXMgdGhhdCB3aXNoIHRvIHByb2hpYml0IGJlaW5nIGFsbG9j
YXRlZCBvbiB0aGUgaGVhcCBjYW4gZXh0ZW5kCisgICAgICAgIE5vbkhlYXBBbGxvY2F0YWJsZSwg
d2hpY2ggbWFrZSByZWd1bGFyLCBhcnJheSBhbmQgcGxhY2VtZW50IHZlcnNpb25zIG9mCisgICAg
ICAgIG9wZXJhdG9yIG5ldyBhbmQgb3BlcmF0b3IgZGVsZXRlIHByaXZhdGUuCisKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3MDQ2CisKKyAgICAgICAg
KiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS5neXBpOgorICAgICAg
ICAqIEphdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvajoKKyAgICAgICAgKiBKYXZh
U2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHd0Zi9Ob25I
ZWFwQWxsb2NhdGFibGUuaDogQWRkZWQuCisKIDIwMTAtMDQtMDIgIEdlb2ZmcmV5IEdhcmVuICA8
Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBCdWlsZCBmaXg6IHVwZGF0ZWQgdGhlIC5kZWYg
ZmlsZS4KSW5kZXg6IEphdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IEphdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCShyZXZpc2lvbiA1NzAyNCkKKysrIEphdmFT
Y3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC0yNDUsNiArMjQ1LDcg
QEAgamF2YXNjcmlwdGNvcmVfc291cmNlcyArPSBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL01haW5U
aHJlYWQuaCBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL01hdGhFeHRyYXMuaCBcCiAJSmF2YVNjcmlw
dENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oIFwKKwlKYXZhU2NyaXB0Q29yZS93dGYvTm90SGVhcEFs
bG9jYXRhYmxlLmggXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJsZS5oIFwKIAlKYXZh
U2NyaXB0Q29yZS93dGYvTm90Rm91bmQuaCBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5
UHRyLmggXApJbmRleDogSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpCShyZXZpc2lvbiA1NzAy
NCkKKysrIEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmd5cGkJKHdvcmtpbmcgY29weSkK
QEAgLTM3NCw2ICszNzQsNyBAQAogICAgICAgICAgICAgJ3d0Zi9NYWxsb2Nab25lU3VwcG9ydC5o
JywKICAgICAgICAgICAgICd3dGYvTWF0aEV4dHJhcy5oJywKICAgICAgICAgICAgICd3dGYvTWVz
c2FnZVF1ZXVlLmgnLAorICAgICAgICAgICAgJ3d0Zi9Ob3RIZWFwQWxsb2NhdGFibGUuaCcsCiAg
ICAgICAgICAgICAnd3RmL05vbmNvcHlhYmxlLmgnLAogICAgICAgICAgICAgJ3d0Zi9Ob3RGb3Vu
ZC5oJywKICAgICAgICAgICAgICd3dGYvT3duQXJyYXlQdHIuaCcsCkluZGV4OiBKYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNwcm9qCShyZXZp
c2lvbiA1NzAyNCkKKysrIEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYv
V1RGLnZjcHJvagkod29ya2luZyBjb3B5KQpAQCAtMzg5LDYgKzM4OSwxMCBAQAogCQkJPg0KIAkJ
PC9GaWxlPg0KIAkJPEZpbGUNCisJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHd0ZlxOb3RIZWFwQWxs
b2NhdGFibGUuaCINCisJCQk+DQorCQk8L0ZpbGU+DQorCQk8RmlsZQ0KIAkJCVJlbGF0aXZlUGF0
aD0iLi5cLi5cd3RmXE5vbmNvcHlhYmxlLmgiDQogCQkJPg0KIAkJPC9GaWxlPg0KSW5kZXg6IEph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkocmV2aXNpb24gNTcwMjQpCisrKyBKYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xNzEsNiAr
MTcxLDcgQEAKIAkJMThCQUI1NTQxMERBRTA2NjAwMEQ5NDVCIC8qIFRocmVhZElkZW50aWZpZXJE
YXRhUHRocmVhZHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDE4QkFCNTI4MTBEQURGQ0QwMDBEOTQ1QiAvKiBUaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJl
YWRzLmggKi87IH07CiAJCTFDNjE1MTZDMEVCQUM3QTAwMDMxMzc2RiAvKiBQcm9maWxlclNlcnZl
ci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDNjE1
MTZBMEVCQUM3QTAwMDMxMzc2RiAvKiBQcm9maWxlclNlcnZlci5tbSAqLzsgc2V0dGluZ3MgPSB7
Q09NUElMRVJfRkxBR1MgPSAiLWZuby1zdHJpY3QtYWxpYXNpbmciOyB9OyB9OwogCQkxQzYxNTE2
RDBFQkFDN0EwMDAzMTM3NkYgLyogUHJvZmlsZXJTZXJ2ZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDNjE1MTZCMEVCQUM3QTAwMDMxMzc2RiAvKiBQ
cm9maWxlclNlcnZlci5oICovOyB9OworCQkyNTk2QjYxRTExNjU2OTAxMDA3OTgxM0YgLyogTm9u
SGVhcEFsbG9jYXRhYmxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAyNUQ1NUI1QTExNjU2MTFEMDA5NUVBMTQgLyogTm9uSGVhcEFsbG9jYXRhYmxlLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDEzNTlD
RjMwRkREODlBRDAwMjA2MTgwIC8qIERhdGVDb252ZXJzaW9uLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBEMjEyMDIyOTBBRDQzMTBDMDBFRDc5QjYgLyog
RGF0ZUNvbnZlcnNpb24uaCAqLzsgfTsKIAkJNDEzNTlDRjYwRkREODlDQjAwMjA2MTgwIC8qIERh
dGVNYXRoLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxMzU5Q0Y0MEZERDg5Q0IwMDIwNjE4MCAvKiBEYXRlTWF0aC5jcHAgKi87IH07CiAJCTQxMzU5
Q0Y3MEZERDg5Q0IwMDIwNjE4MCAvKiBEYXRlTWF0aC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzNTlDRjUwRkREODlDQjAwMjA2MTgwIC8qIERhdGVN
YXRoLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAg
LTY0OCw2ICs2NDksNyBAQAogCQkxQzkwNTE0NTBCQTlFOEE3MDA4MUU5RDAgLyogQmFzZS54Y2Nv
bmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IHBhdGggPSBCYXNlLnhjY29uZmlnOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0FBOEI0QTBEMzJDMzlBMDA0MUJDRkYgLyogSmF2
YVNjcmlwdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKYXZhU2NyaXB0Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQUE4QjRCMEQzMkMzOUEwMDQxQkNGRiAv
KiBKYXZhU2NyaXB0Q29yZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKYXZh
U2NyaXB0Q29yZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyNUQ1NUI1QTExNjU2
MTFEMDA5NUVBMTQgLyogTm9uSGVhcEFsbG9jYXRhYmxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IE5vbkhlYXBBbGxvY2F0YWJsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk0MTM1OUNGNDBGREQ4OUNCMDAyMDYxODAgLyogRGF0ZU1hdGguY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGF0ZU1hdGguY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0MTM1OUNGNTBGREQ4OUNCMDAyMDYxODAgLyogRGF0ZU1hdGguaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGF0ZU1hdGguaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDQwQjdBRUQwRkFGN0ZDQjAwNzMzMjNFIC8qIE93blB0ckNvbW1v
bi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBPd25QdHJDb21tb24uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMzEsNiArMTMzMyw3IEBACiAJCQkJNURCRDE4
QUYwQzU0MDFBNzAwQzE1RUFFIC8qIE1hbGxvY1pvbmVTdXBwb3J0LmggKi8sCiAJCQkJQkNGNjU1
M0IwQTIwNDhERTAwMzhBMTk0IC8qIE1hdGhFeHRyYXMuaCAqLywKIAkJCQlFMUVFNzk4QjBENkNB
NTNEMDBGRUEzQkEgLyogTWVzc2FnZVF1ZXVlLmggKi8sCisJCQkJMjVENTVCNUExMTY1NjExRDAw
OTVFQTE0IC8qIE5vbkhlYXBBbGxvY2F0YWJsZS5oICovLAogCQkJCTkzMDNGNTY5MDk5MTE5MDAw
MEFENzFCOCAvKiBOb25jb3B5YWJsZS5oICovLAogCQkJCUMwQTI3MjNGMEU1MDlGMUUwMEU5NkUx
NSAvKiBOb3RGb3VuZC5oICovLAogCQkJCTkzMDNGNUE0MDk5MTFBNTgwMEFENzFCOCAvKiBPd25B
cnJheVB0ci5oICovLApAQCAtMTkxMyw2ICsxOTE2LDcgQEAKIAkJCQlBNzZFRTY1OTBGQUU1OUQ1
MDAzRjA2OUEgLyogTmF0aXZlRnVuY3Rpb25XcmFwcGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk3
RUZGMDA2NDBFQzA1QTlBMDBBQTdDOTMgLyogTm9kZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJ
CUJDMThDNDNGMEUxNkY1Q0QwMEIzNDQ2MCAvKiBOb2Rlcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MjU5NkI2MUUxMTY1NjkwMTAwNzk4MTNGIC8qIE5vbkhlYXBBbGxvY2F0YWJsZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQkMxOEM0NDAwRTE2RjVDRDAwQjM0NDYwIC8qIE5vbmNvcHlhYmxlLmggaW4g
SGVhZGVycyAqLywKIAkJCQlDMEEyNzI2MzBFNTBBMDYzMDBFOTZFMTUgLyogTm90Rm91bmQuaCBp
biBIZWFkZXJzICovLAogCQkJCUJDMThDNDQxMEUxNkY1Q0QwMEIzNDQ2MCAvKiBOdW1iZXJDb25z
dHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCkluZGV4OiBKYXZhU2NyaXB0Q29yZS93dGYvTm9uSGVh
cEFsbG9jYXRhYmxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvd3RmL05vbkhlYXBB
bGxvY2F0YWJsZS5oCShyZXZpc2lvbiAwKQorKysgSmF2YVNjcmlwdENvcmUvd3RmL05vbkhlYXBB
bGxvY2F0YWJsZS5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ5IEBACisvKgorICogIENvcHly
aWdodCAoQykgMjAxMCBBcHBsZSBDb21wdXRlciwgSW5jLgorICoKKyAqICBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMK
KyAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
OyBlaXRoZXIKKyAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVS
Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo
ZSBHTlUKKyAqICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5
OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiAgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBG
bG9vciwKKyAqICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKworI2lmbmRl
ZiBOb25IZWFwQWxsb2NhdGFibGVfaAorI2RlZmluZSBOb25IZWFwQWxsb2NhdGFibGVfaAorCisv
LyBXZSBkb24ndCB3YW50IGFyZ3VtZW50LWRlcGVuZGVudCBsb29rdXAgdG8gcHVsbCBpbiBldmVy
eXRoaW5nIGZyb20gdGhlIFdURgorLy8gbmFtZXNwYWNlIHdoZW4geW91IHVzZSBOb25IZWFwQWxs
b2NhdGFibGUsIHNvIHB1dCBpdCBpbiBpdHMgb3duIG5hbWVzcGFjZS4KKworbmFtZXNwYWNlIFdU
Rk5vbkhlYXBBbGxvY2F0YWJsZSB7CisKK2NsYXNzIE5vbkhlYXBBbGxvY2F0YWJsZSB7CisgICAg
cHJpdmF0ZToKKyAgICAgICAgLy8gcHJvaGliaXQgbmV3IGFuZCBkZWxldGUKKyAgICAgICAgdm9p
ZCogb3BlcmF0b3IgbmV3KHNpemVfdCk7CisgICAgICAgIHZvaWQgb3BlcmF0b3IgZGVsZXRlKHZv
aWQqKTsKKworICAgICAgICAvLyBwcm9oaWJpdCBhcnJheSBuZXcgYW5kIGRlbGV0ZQorICAgICAg
ICB2b2lkKiBvcGVyYXRvciBuZXdbXShzaXplX3QpOworICAgICAgICB2b2lkIG9wZXJhdG9yIGRl
bGV0ZVtdKHZvaWQqKTsKKworICAgICAgICAvLyBwcm9oaWJpdCBwbGFjZW1lbnQgbmV3IGFuZCBk
ZWxldGUKKyAgICAgICAgdm9pZCogb3BlcmF0b3IgbmV3KHNpemVfdCwgdm9pZCopOworICAgICAg
ICB2b2lkKiBvcGVyYXRvciBuZXdbXShzaXplX3QsIHZvaWQqKTsKKyAgICAgICAgdm9pZCBvcGVy
YXRvciBkZWxldGUodm9pZCosIHZvaWQqKTsKKyAgICAgICAgdm9pZCBvcGVyYXRvciBkZWxldGVb
XSh2b2lkKiwgdm9pZCopOworfTsKK30gLy8gbmFtZXNwYWNlIFdURk5vbkhlYXBBbGxvY2F0YWJs
ZQorCit1c2luZyBXVEZOb25IZWFwQWxsb2NhdGFibGU6Ok5vbkhlYXBBbGxvY2F0YWJsZTsKKwor
I2VuZGlmIC8vIE5vbkhlYXBBbGxvY2F0YWJsZV9oCkluZGV4OiBXZWJDb3JlL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gNTcwMjQpCisrKyBXZWJD
b3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEwLTA0LTAy
ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDbGFzc2VzIHRoYXQgd2lzaCB0byBwcm9oaWJpdCBi
ZWluZyBhbGxvY2F0ZWQgb24gdGhlIGhlYXAgY2FuIGV4dGVuZAorICAgICAgICBOb25IZWFwQWxs
b2NhdGFibGUsIHdoaWNoIG1ha2UgcmVndWxhciwgYXJyYXkgYW5kIHBsYWNlbWVudCB2ZXJzaW9u
cyBvZgorICAgICAgICBvcGVyYXRvciBuZXcgYW5kIG9wZXJhdG9yIGRlbGV0ZSBwcml2YXRlLgor
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzA0Ngor
CisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbkhlYXBBbGxvY2F0YWJsZS5oOiBB
ZGRlZC4KKwogMjAxMC0wNC0wMiAgQW5kcmV3IFNjaGVya3VzICA8c2NoZXJrdXNAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbiBhbmQgRXJpYyBTZWlkZWwu
CkluZGV4OiBXZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25IZWFwQWxsb2NhdGFibGUu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25IZWFwQWxs
b2NhdGFibGUuaAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvd3Rm
L05vbkhlYXBBbGxvY2F0YWJsZS5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQgQEAKKyNpZm5k
ZWYgV2ViQ29yZV9GV0RfTm9uSGVhcEFsbG9jYXRhYmxlX2gKKyNkZWZpbmUgV2ViQ29yZV9GV0Rf
Tm9uSGVhcEFsbG9jYXRhYmxlX2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Ob25IZWFwQWxs
b2NhdGFibGUuaD4KKyNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52456</attachid>
            <date>2010-04-02 15:16:56 -0700</date>
            <delta_ts>2010-04-02 15:19:45 -0700</delta_ts>
            <desc>patch (v2)</desc>
            <filename>37046.patch</filename>
            <type>text/plain</type>
            <size>9086</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDU3MDI0KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMDQtMDIgIEFuZHkgRXN0
ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIENsYXNzZXMgdGhhdCB3aXNoIHRvIHByb2hpYml0IGJlaW5nIGFsbG9j
YXRlZCBvbiB0aGUgaGVhcCBjYW4gZXh0ZW5kCisgICAgICAgIE5vbkhlYXBBbGxvY2F0YWJsZSwg
d2hpY2ggbWFrZSByZWd1bGFyLCBhcnJheSBhbmQgcGxhY2VtZW50IHZlcnNpb25zIG9mCisgICAg
ICAgIG9wZXJhdG9yIG5ldyBhbmQgb3BlcmF0b3IgZGVsZXRlIHByaXZhdGUuCisKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3MDQ2CisKKyAgICAgICAg
KiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS5neXBpOgorICAgICAg
ICAqIEphdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvajoKKyAgICAgICAgKiBKYXZh
U2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHd0Zi9Ob25I
ZWFwQWxsb2NhdGFibGUuaDogQWRkZWQuCisKIDIwMTAtMDQtMDIgIEdlb2ZmcmV5IEdhcmVuICA8
Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBCdWlsZCBmaXg6IHVwZGF0ZWQgdGhlIC5kZWYg
ZmlsZS4KSW5kZXg6IEphdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IEphdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCShyZXZpc2lvbiA1NzAyNCkKKysrIEphdmFT
Y3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC0yNDUsNiArMjQ1LDcg
QEAgamF2YXNjcmlwdGNvcmVfc291cmNlcyArPSBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL01haW5U
aHJlYWQuaCBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL01hdGhFeHRyYXMuaCBcCiAJSmF2YVNjcmlw
dENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oIFwKKwlKYXZhU2NyaXB0Q29yZS93dGYvTm90SGVhcEFs
bG9jYXRhYmxlLmggXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJsZS5oIFwKIAlKYXZh
U2NyaXB0Q29yZS93dGYvTm90Rm91bmQuaCBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5
UHRyLmggXApJbmRleDogSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpCShyZXZpc2lvbiA1NzAy
NCkKKysrIEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmd5cGkJKHdvcmtpbmcgY29weSkK
QEAgLTM3NCw2ICszNzQsNyBAQAogICAgICAgICAgICAgJ3d0Zi9NYWxsb2Nab25lU3VwcG9ydC5o
JywKICAgICAgICAgICAgICd3dGYvTWF0aEV4dHJhcy5oJywKICAgICAgICAgICAgICd3dGYvTWVz
c2FnZVF1ZXVlLmgnLAorICAgICAgICAgICAgJ3d0Zi9Ob3RIZWFwQWxsb2NhdGFibGUuaCcsCiAg
ICAgICAgICAgICAnd3RmL05vbmNvcHlhYmxlLmgnLAogICAgICAgICAgICAgJ3d0Zi9Ob3RGb3Vu
ZC5oJywKICAgICAgICAgICAgICd3dGYvT3duQXJyYXlQdHIuaCcsCkluZGV4OiBKYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNwcm9qCShyZXZp
c2lvbiA1NzAyNCkKKysrIEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYv
V1RGLnZjcHJvagkod29ya2luZyBjb3B5KQpAQCAtMzg5LDYgKzM4OSwxMCBAQAogCQkJPg0KIAkJ
PC9GaWxlPg0KIAkJPEZpbGUNCisJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHd0ZlxOb3RIZWFwQWxs
b2NhdGFibGUuaCINCisJCQk+DQorCQk8L0ZpbGU+DQorCQk8RmlsZQ0KIAkJCVJlbGF0aXZlUGF0
aD0iLi5cLi5cd3RmXE5vbmNvcHlhYmxlLmgiDQogCQkJPg0KIAkJPC9GaWxlPg0KSW5kZXg6IEph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkocmV2aXNpb24gNTcwMjQpCisrKyBKYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xNzEsNiAr
MTcxLDcgQEAKIAkJMThCQUI1NTQxMERBRTA2NjAwMEQ5NDVCIC8qIFRocmVhZElkZW50aWZpZXJE
YXRhUHRocmVhZHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDE4QkFCNTI4MTBEQURGQ0QwMDBEOTQ1QiAvKiBUaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJl
YWRzLmggKi87IH07CiAJCTFDNjE1MTZDMEVCQUM3QTAwMDMxMzc2RiAvKiBQcm9maWxlclNlcnZl
ci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDNjE1
MTZBMEVCQUM3QTAwMDMxMzc2RiAvKiBQcm9maWxlclNlcnZlci5tbSAqLzsgc2V0dGluZ3MgPSB7
Q09NUElMRVJfRkxBR1MgPSAiLWZuby1zdHJpY3QtYWxpYXNpbmciOyB9OyB9OwogCQkxQzYxNTE2
RDBFQkFDN0EwMDAzMTM3NkYgLyogUHJvZmlsZXJTZXJ2ZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDNjE1MTZCMEVCQUM3QTAwMDMxMzc2RiAvKiBQ
cm9maWxlclNlcnZlci5oICovOyB9OworCQkyNTk2QjYxRTExNjU2OTAxMDA3OTgxM0YgLyogTm9u
SGVhcEFsbG9jYXRhYmxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAyNUQ1NUI1QTExNjU2MTFEMDA5NUVBMTQgLyogTm9uSGVhcEFsbG9jYXRhYmxlLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDEzNTlD
RjMwRkREODlBRDAwMjA2MTgwIC8qIERhdGVDb252ZXJzaW9uLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBEMjEyMDIyOTBBRDQzMTBDMDBFRDc5QjYgLyog
RGF0ZUNvbnZlcnNpb24uaCAqLzsgfTsKIAkJNDEzNTlDRjYwRkREODlDQjAwMjA2MTgwIC8qIERh
dGVNYXRoLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxMzU5Q0Y0MEZERDg5Q0IwMDIwNjE4MCAvKiBEYXRlTWF0aC5jcHAgKi87IH07CiAJCTQxMzU5
Q0Y3MEZERDg5Q0IwMDIwNjE4MCAvKiBEYXRlTWF0aC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzNTlDRjUwRkREODlDQjAwMjA2MTgwIC8qIERhdGVN
YXRoLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAg
LTY0OCw2ICs2NDksNyBAQAogCQkxQzkwNTE0NTBCQTlFOEE3MDA4MUU5RDAgLyogQmFzZS54Y2Nv
bmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IHBhdGggPSBCYXNlLnhjY29uZmlnOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0FBOEI0QTBEMzJDMzlBMDA0MUJDRkYgLyogSmF2
YVNjcmlwdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKYXZhU2NyaXB0Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQUE4QjRCMEQzMkMzOUEwMDQxQkNGRiAv
KiBKYXZhU2NyaXB0Q29yZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKYXZh
U2NyaXB0Q29yZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyNUQ1NUI1QTExNjU2
MTFEMDA5NUVBMTQgLyogTm9uSGVhcEFsbG9jYXRhYmxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IE5vbkhlYXBBbGxvY2F0YWJsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk0MTM1OUNGNDBGREQ4OUNCMDAyMDYxODAgLyogRGF0ZU1hdGguY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGF0ZU1hdGguY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0MTM1OUNGNTBGREQ4OUNCMDAyMDYxODAgLyogRGF0ZU1hdGguaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGF0ZU1hdGguaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDQwQjdBRUQwRkFGN0ZDQjAwNzMzMjNFIC8qIE93blB0ckNvbW1v
bi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBPd25QdHJDb21tb24uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMzEsNiArMTMzMyw3IEBACiAJCQkJNURCRDE4
QUYwQzU0MDFBNzAwQzE1RUFFIC8qIE1hbGxvY1pvbmVTdXBwb3J0LmggKi8sCiAJCQkJQkNGNjU1
M0IwQTIwNDhERTAwMzhBMTk0IC8qIE1hdGhFeHRyYXMuaCAqLywKIAkJCQlFMUVFNzk4QjBENkNB
NTNEMDBGRUEzQkEgLyogTWVzc2FnZVF1ZXVlLmggKi8sCisJCQkJMjVENTVCNUExMTY1NjExRDAw
OTVFQTE0IC8qIE5vbkhlYXBBbGxvY2F0YWJsZS5oICovLAogCQkJCTkzMDNGNTY5MDk5MTE5MDAw
MEFENzFCOCAvKiBOb25jb3B5YWJsZS5oICovLAogCQkJCUMwQTI3MjNGMEU1MDlGMUUwMEU5NkUx
NSAvKiBOb3RGb3VuZC5oICovLAogCQkJCTkzMDNGNUE0MDk5MTFBNTgwMEFENzFCOCAvKiBPd25B
cnJheVB0ci5oICovLApAQCAtMTkxMyw2ICsxOTE2LDcgQEAKIAkJCQlBNzZFRTY1OTBGQUU1OUQ1
MDAzRjA2OUEgLyogTmF0aXZlRnVuY3Rpb25XcmFwcGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk3
RUZGMDA2NDBFQzA1QTlBMDBBQTdDOTMgLyogTm9kZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJ
CUJDMThDNDNGMEUxNkY1Q0QwMEIzNDQ2MCAvKiBOb2Rlcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MjU5NkI2MUUxMTY1NjkwMTAwNzk4MTNGIC8qIE5vbkhlYXBBbGxvY2F0YWJsZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQkMxOEM0NDAwRTE2RjVDRDAwQjM0NDYwIC8qIE5vbmNvcHlhYmxlLmggaW4g
SGVhZGVycyAqLywKIAkJCQlDMEEyNzI2MzBFNTBBMDYzMDBFOTZFMTUgLyogTm90Rm91bmQuaCBp
biBIZWFkZXJzICovLAogCQkJCUJDMThDNDQxMEUxNkY1Q0QwMEIzNDQ2MCAvKiBOdW1iZXJDb25z
dHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCkluZGV4OiBKYXZhU2NyaXB0Q29yZS93dGYvTm9uSGVh
cEFsbG9jYXRhYmxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvd3RmL05vbkhlYXBB
bGxvY2F0YWJsZS5oCShyZXZpc2lvbiAwKQorKysgSmF2YVNjcmlwdENvcmUvd3RmL05vbkhlYXBB
bGxvY2F0YWJsZS5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ5IEBACisvKgorICogIENvcHly
aWdodCAoQykgMjAxMCBBcHBsZSBDb21wdXRlciwgSW5jLgorICoKKyAqICBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMK
KyAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
OyBlaXRoZXIKKyAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVS
Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo
ZSBHTlUKKyAqICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5
OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiAgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBG
bG9vciwKKyAqICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKworI2lmbmRl
ZiBOb25IZWFwQWxsb2NhdGFibGVfaAorI2RlZmluZSBOb25IZWFwQWxsb2NhdGFibGVfaAorCisv
LyBXZSBkb24ndCB3YW50IGFyZ3VtZW50LWRlcGVuZGVudCBsb29rdXAgdG8gcHVsbCBpbiBldmVy
eXRoaW5nIGZyb20gdGhlIFdURgorLy8gbmFtZXNwYWNlIHdoZW4geW91IHVzZSBOb25IZWFwQWxs
b2NhdGFibGUsIHNvIHB1dCBpdCBpbiBpdHMgb3duIG5hbWVzcGFjZS4KKworbmFtZXNwYWNlIFdU
Rk5vbkhlYXBBbGxvY2F0YWJsZSB7CisKK2NsYXNzIE5vbkhlYXBBbGxvY2F0YWJsZSB7CisgICAg
cHJpdmF0ZToKKyAgICAgICAgLy8gUHJvaGliaXQgbmV3IGFuZCBkZWxldGUuCisgICAgICAgIHZv
aWQqIG9wZXJhdG9yIG5ldyhzaXplX3QpOworICAgICAgICB2b2lkIG9wZXJhdG9yIGRlbGV0ZSh2
b2lkKik7CisKKyAgICAgICAgLy8gUHJvaGliaXQgYXJyYXkgbmV3IGFuZCBkZWxldGUuCisgICAg
ICAgIHZvaWQqIG9wZXJhdG9yIG5ld1tdKHNpemVfdCk7CisgICAgICAgIHZvaWQgb3BlcmF0b3Ig
ZGVsZXRlW10odm9pZCopOworCisgICAgICAgIC8vIFByb2hpYml0IHBsYWNlbWVudCBuZXcgYW5k
IGRlbGV0ZS4KKyAgICAgICAgdm9pZCogb3BlcmF0b3IgbmV3KHNpemVfdCwgdm9pZCopOworICAg
ICAgICB2b2lkKiBvcGVyYXRvciBuZXdbXShzaXplX3QsIHZvaWQqKTsKKyAgICAgICAgdm9pZCBv
cGVyYXRvciBkZWxldGUodm9pZCosIHZvaWQqKTsKKyAgICAgICAgdm9pZCBvcGVyYXRvciBkZWxl
dGVbXSh2b2lkKiwgdm9pZCopOworfTsKK30gLy8gbmFtZXNwYWNlIFdURk5vbkhlYXBBbGxvY2F0
YWJsZQorCit1c2luZyBXVEZOb25IZWFwQWxsb2NhdGFibGU6Ok5vbkhlYXBBbGxvY2F0YWJsZTsK
KworI2VuZGlmIC8vIE5vbkhlYXBBbGxvY2F0YWJsZV9oCkluZGV4OiBXZWJDb3JlL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gNTcwMjQpCisrKyBX
ZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEwLTA0
LTAyICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDbGFzc2VzIHRoYXQgd2lzaCB0byBwcm9oaWJp
dCBiZWluZyBhbGxvY2F0ZWQgb24gdGhlIGhlYXAgY2FuIGV4dGVuZAorICAgICAgICBOb25IZWFw
QWxsb2NhdGFibGUsIHdoaWNoIG1ha2UgcmVndWxhciwgYXJyYXkgYW5kIHBsYWNlbWVudCB2ZXJz
aW9ucyBvZgorICAgICAgICBvcGVyYXRvciBuZXcgYW5kIG9wZXJhdG9yIGRlbGV0ZSBwcml2YXRl
LgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzA0
NgorCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbkhlYXBBbGxvY2F0YWJsZS5o
OiBBZGRlZC4KKwogMjAxMC0wNC0wMiAgQW5kcmV3IFNjaGVya3VzICA8c2NoZXJrdXNAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbiBhbmQgRXJpYyBTZWlk
ZWwuCkluZGV4OiBXZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25IZWFwQWxsb2NhdGFi
bGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25IZWFw
QWxsb2NhdGFibGUuaAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMv
d3RmL05vbkhlYXBBbGxvY2F0YWJsZS5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQgQEAKKyNp
Zm5kZWYgV2ViQ29yZV9GV0RfTm9uSGVhcEFsbG9jYXRhYmxlX2gKKyNkZWZpbmUgV2ViQ29yZV9G
V0RfTm9uSGVhcEFsbG9jYXRhYmxlX2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Ob25IZWFw
QWxsb2NhdGFibGUuaD4KKyNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52457</attachid>
            <date>2010-04-02 15:19:45 -0700</date>
            <delta_ts>2010-04-02 15:29:52 -0700</delta_ts>
            <desc>patch (v3)</desc>
            <filename>37046.patch</filename>
            <type>text/plain</type>
            <size>9077</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDU3MDI0KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMDQtMDIgIEFuZHkgRXN0
ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIENsYXNzZXMgdGhhdCB3aXNoIHRvIHByb2hpYml0IGJlaW5nIGFsbG9j
YXRlZCBvbiB0aGUgaGVhcCBjYW4gZXh0ZW5kCisgICAgICAgIE5vbkhlYXBBbGxvY2F0YWJsZSwg
d2hpY2ggbWFrZSByZWd1bGFyLCBhcnJheSBhbmQgcGxhY2VtZW50IHZlcnNpb25zIG9mCisgICAg
ICAgIG9wZXJhdG9yIG5ldyBhbmQgb3BlcmF0b3IgZGVsZXRlIHByaXZhdGUuCisKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3MDQ2CisKKyAgICAgICAg
KiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS5neXBpOgorICAgICAg
ICAqIEphdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvajoKKyAgICAgICAgKiBKYXZh
U2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHd0Zi9Ob25I
ZWFwQWxsb2NhdGFibGUuaDogQWRkZWQuCisKIDIwMTAtMDQtMDIgIEdlb2ZmcmV5IEdhcmVuICA8
Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBCdWlsZCBmaXg6IHVwZGF0ZWQgdGhlIC5kZWYg
ZmlsZS4KSW5kZXg6IEphdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IEphdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCShyZXZpc2lvbiA1NzAyNCkKKysrIEphdmFT
Y3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC0yNDUsNiArMjQ1LDcg
QEAgamF2YXNjcmlwdGNvcmVfc291cmNlcyArPSBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL01haW5U
aHJlYWQuaCBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL01hdGhFeHRyYXMuaCBcCiAJSmF2YVNjcmlw
dENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oIFwKKwlKYXZhU2NyaXB0Q29yZS93dGYvTm90SGVhcEFs
bG9jYXRhYmxlLmggXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJsZS5oIFwKIAlKYXZh
U2NyaXB0Q29yZS93dGYvTm90Rm91bmQuaCBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5
UHRyLmggXApJbmRleDogSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpCShyZXZpc2lvbiA1NzAy
NCkKKysrIEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmd5cGkJKHdvcmtpbmcgY29weSkK
QEAgLTM3NCw2ICszNzQsNyBAQAogICAgICAgICAgICAgJ3d0Zi9NYWxsb2Nab25lU3VwcG9ydC5o
JywKICAgICAgICAgICAgICd3dGYvTWF0aEV4dHJhcy5oJywKICAgICAgICAgICAgICd3dGYvTWVz
c2FnZVF1ZXVlLmgnLAorICAgICAgICAgICAgJ3d0Zi9Ob3RIZWFwQWxsb2NhdGFibGUuaCcsCiAg
ICAgICAgICAgICAnd3RmL05vbmNvcHlhYmxlLmgnLAogICAgICAgICAgICAgJ3d0Zi9Ob3RGb3Vu
ZC5oJywKICAgICAgICAgICAgICd3dGYvT3duQXJyYXlQdHIuaCcsCkluZGV4OiBKYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNwcm9qCShyZXZp
c2lvbiA1NzAyNCkKKysrIEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYv
V1RGLnZjcHJvagkod29ya2luZyBjb3B5KQpAQCAtMzg5LDYgKzM4OSwxMCBAQAogCQkJPg0KIAkJ
PC9GaWxlPg0KIAkJPEZpbGUNCisJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHd0ZlxOb3RIZWFwQWxs
b2NhdGFibGUuaCINCisJCQk+DQorCQk8L0ZpbGU+DQorCQk8RmlsZQ0KIAkJCVJlbGF0aXZlUGF0
aD0iLi5cLi5cd3RmXE5vbmNvcHlhYmxlLmgiDQogCQkJPg0KIAkJPC9GaWxlPg0KSW5kZXg6IEph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkocmV2aXNpb24gNTcwMjQpCisrKyBKYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xNzEsNiAr
MTcxLDcgQEAKIAkJMThCQUI1NTQxMERBRTA2NjAwMEQ5NDVCIC8qIFRocmVhZElkZW50aWZpZXJE
YXRhUHRocmVhZHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDE4QkFCNTI4MTBEQURGQ0QwMDBEOTQ1QiAvKiBUaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJl
YWRzLmggKi87IH07CiAJCTFDNjE1MTZDMEVCQUM3QTAwMDMxMzc2RiAvKiBQcm9maWxlclNlcnZl
ci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDNjE1
MTZBMEVCQUM3QTAwMDMxMzc2RiAvKiBQcm9maWxlclNlcnZlci5tbSAqLzsgc2V0dGluZ3MgPSB7
Q09NUElMRVJfRkxBR1MgPSAiLWZuby1zdHJpY3QtYWxpYXNpbmciOyB9OyB9OwogCQkxQzYxNTE2
RDBFQkFDN0EwMDAzMTM3NkYgLyogUHJvZmlsZXJTZXJ2ZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDNjE1MTZCMEVCQUM3QTAwMDMxMzc2RiAvKiBQ
cm9maWxlclNlcnZlci5oICovOyB9OworCQkyNTk2QjYxRTExNjU2OTAxMDA3OTgxM0YgLyogTm9u
SGVhcEFsbG9jYXRhYmxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAyNUQ1NUI1QTExNjU2MTFEMDA5NUVBMTQgLyogTm9uSGVhcEFsbG9jYXRhYmxlLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDEzNTlD
RjMwRkREODlBRDAwMjA2MTgwIC8qIERhdGVDb252ZXJzaW9uLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBEMjEyMDIyOTBBRDQzMTBDMDBFRDc5QjYgLyog
RGF0ZUNvbnZlcnNpb24uaCAqLzsgfTsKIAkJNDEzNTlDRjYwRkREODlDQjAwMjA2MTgwIC8qIERh
dGVNYXRoLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxMzU5Q0Y0MEZERDg5Q0IwMDIwNjE4MCAvKiBEYXRlTWF0aC5jcHAgKi87IH07CiAJCTQxMzU5
Q0Y3MEZERDg5Q0IwMDIwNjE4MCAvKiBEYXRlTWF0aC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzNTlDRjUwRkREODlDQjAwMjA2MTgwIC8qIERhdGVN
YXRoLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAg
LTY0OCw2ICs2NDksNyBAQAogCQkxQzkwNTE0NTBCQTlFOEE3MDA4MUU5RDAgLyogQmFzZS54Y2Nv
bmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IHBhdGggPSBCYXNlLnhjY29uZmlnOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0FBOEI0QTBEMzJDMzlBMDA0MUJDRkYgLyogSmF2
YVNjcmlwdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKYXZhU2NyaXB0Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQUE4QjRCMEQzMkMzOUEwMDQxQkNGRiAv
KiBKYXZhU2NyaXB0Q29yZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKYXZh
U2NyaXB0Q29yZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyNUQ1NUI1QTExNjU2
MTFEMDA5NUVBMTQgLyogTm9uSGVhcEFsbG9jYXRhYmxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IE5vbkhlYXBBbGxvY2F0YWJsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk0MTM1OUNGNDBGREQ4OUNCMDAyMDYxODAgLyogRGF0ZU1hdGguY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGF0ZU1hdGguY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0MTM1OUNGNTBGREQ4OUNCMDAyMDYxODAgLyogRGF0ZU1hdGguaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGF0ZU1hdGguaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDQwQjdBRUQwRkFGN0ZDQjAwNzMzMjNFIC8qIE93blB0ckNvbW1v
bi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBPd25QdHJDb21tb24uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMzEsNiArMTMzMyw3IEBACiAJCQkJNURCRDE4
QUYwQzU0MDFBNzAwQzE1RUFFIC8qIE1hbGxvY1pvbmVTdXBwb3J0LmggKi8sCiAJCQkJQkNGNjU1
M0IwQTIwNDhERTAwMzhBMTk0IC8qIE1hdGhFeHRyYXMuaCAqLywKIAkJCQlFMUVFNzk4QjBENkNB
NTNEMDBGRUEzQkEgLyogTWVzc2FnZVF1ZXVlLmggKi8sCisJCQkJMjVENTVCNUExMTY1NjExRDAw
OTVFQTE0IC8qIE5vbkhlYXBBbGxvY2F0YWJsZS5oICovLAogCQkJCTkzMDNGNTY5MDk5MTE5MDAw
MEFENzFCOCAvKiBOb25jb3B5YWJsZS5oICovLAogCQkJCUMwQTI3MjNGMEU1MDlGMUUwMEU5NkUx
NSAvKiBOb3RGb3VuZC5oICovLAogCQkJCTkzMDNGNUE0MDk5MTFBNTgwMEFENzFCOCAvKiBPd25B
cnJheVB0ci5oICovLApAQCAtMTkxMyw2ICsxOTE2LDcgQEAKIAkJCQlBNzZFRTY1OTBGQUU1OUQ1
MDAzRjA2OUEgLyogTmF0aXZlRnVuY3Rpb25XcmFwcGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk3
RUZGMDA2NDBFQzA1QTlBMDBBQTdDOTMgLyogTm9kZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJ
CUJDMThDNDNGMEUxNkY1Q0QwMEIzNDQ2MCAvKiBOb2Rlcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MjU5NkI2MUUxMTY1NjkwMTAwNzk4MTNGIC8qIE5vbkhlYXBBbGxvY2F0YWJsZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQkMxOEM0NDAwRTE2RjVDRDAwQjM0NDYwIC8qIE5vbmNvcHlhYmxlLmggaW4g
SGVhZGVycyAqLywKIAkJCQlDMEEyNzI2MzBFNTBBMDYzMDBFOTZFMTUgLyogTm90Rm91bmQuaCBp
biBIZWFkZXJzICovLAogCQkJCUJDMThDNDQxMEUxNkY1Q0QwMEIzNDQ2MCAvKiBOdW1iZXJDb25z
dHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCkluZGV4OiBKYXZhU2NyaXB0Q29yZS93dGYvTm9uSGVh
cEFsbG9jYXRhYmxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvd3RmL05vbkhlYXBB
bGxvY2F0YWJsZS5oCShyZXZpc2lvbiAwKQorKysgSmF2YVNjcmlwdENvcmUvd3RmL05vbkhlYXBB
bGxvY2F0YWJsZS5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ5IEBACisvKgorICogIENvcHly
aWdodCAoQykgMjAxMCBBcHBsZSwgSW5jLgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBz
b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNl
bnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIK
KyAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U
WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAq
ICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisg
KiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZQorICogIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhl
IGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiAgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAq
ICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKworI2lmbmRlZiBOb25IZWFw
QWxsb2NhdGFibGVfaAorI2RlZmluZSBOb25IZWFwQWxsb2NhdGFibGVfaAorCisvLyBXZSBkb24n
dCB3YW50IGFyZ3VtZW50LWRlcGVuZGVudCBsb29rdXAgdG8gcHVsbCBpbiBldmVyeXRoaW5nIGZy
b20gdGhlIFdURgorLy8gbmFtZXNwYWNlIHdoZW4geW91IHVzZSBOb25IZWFwQWxsb2NhdGFibGUs
IHNvIHB1dCBpdCBpbiBpdHMgb3duIG5hbWVzcGFjZS4KKworbmFtZXNwYWNlIFdURk5vbkhlYXBB
bGxvY2F0YWJsZSB7CisKK2NsYXNzIE5vbkhlYXBBbGxvY2F0YWJsZSB7CisgICAgcHJpdmF0ZToK
KyAgICAgICAgLy8gUHJvaGliaXQgbmV3IGFuZCBkZWxldGUuCisgICAgICAgIHZvaWQqIG9wZXJh
dG9yIG5ldyhzaXplX3QpOworICAgICAgICB2b2lkIG9wZXJhdG9yIGRlbGV0ZSh2b2lkKik7CisK
KyAgICAgICAgLy8gUHJvaGliaXQgYXJyYXkgbmV3IGFuZCBkZWxldGUuCisgICAgICAgIHZvaWQq
IG9wZXJhdG9yIG5ld1tdKHNpemVfdCk7CisgICAgICAgIHZvaWQgb3BlcmF0b3IgZGVsZXRlW10o
dm9pZCopOworCisgICAgICAgIC8vIFByb2hpYml0IHBsYWNlbWVudCBuZXcgYW5kIGRlbGV0ZS4K
KyAgICAgICAgdm9pZCogb3BlcmF0b3IgbmV3KHNpemVfdCwgdm9pZCopOworICAgICAgICB2b2lk
KiBvcGVyYXRvciBuZXdbXShzaXplX3QsIHZvaWQqKTsKKyAgICAgICAgdm9pZCBvcGVyYXRvciBk
ZWxldGUodm9pZCosIHZvaWQqKTsKKyAgICAgICAgdm9pZCBvcGVyYXRvciBkZWxldGVbXSh2b2lk
Kiwgdm9pZCopOworfTsKK30gLy8gbmFtZXNwYWNlIFdURk5vbkhlYXBBbGxvY2F0YWJsZQorCit1
c2luZyBXVEZOb25IZWFwQWxsb2NhdGFibGU6Ok5vbkhlYXBBbGxvY2F0YWJsZTsKKworI2VuZGlm
IC8vIE5vbkhlYXBBbGxvY2F0YWJsZV9oCkluZGV4OiBXZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gNTcwMjQpCisrKyBXZWJDb3JlL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEwLTA0LTAyICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBDbGFzc2VzIHRoYXQgd2lzaCB0byBwcm9oaWJpdCBiZWluZyBh
bGxvY2F0ZWQgb24gdGhlIGhlYXAgY2FuIGV4dGVuZAorICAgICAgICBOb25IZWFwQWxsb2NhdGFi
bGUsIHdoaWNoIG1ha2UgcmVndWxhciwgYXJyYXkgYW5kIHBsYWNlbWVudCB2ZXJzaW9ucyBvZgor
ICAgICAgICBvcGVyYXRvciBuZXcgYW5kIG9wZXJhdG9yIGRlbGV0ZSBwcml2YXRlLgorCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzA0NgorCisgICAg
ICAgICogRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbkhlYXBBbGxvY2F0YWJsZS5oOiBBZGRlZC4K
KwogMjAxMC0wNC0wMiAgQW5kcmV3IFNjaGVya3VzICA8c2NoZXJrdXNAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbiBhbmQgRXJpYyBTZWlkZWwuCkluZGV4
OiBXZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25IZWFwQWxsb2NhdGFibGUuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25IZWFwQWxsb2NhdGFi
bGUuaAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbkhl
YXBBbGxvY2F0YWJsZS5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQgQEAKKyNpZm5kZWYgV2Vi
Q29yZV9GV0RfTm9uSGVhcEFsbG9jYXRhYmxlX2gKKyNkZWZpbmUgV2ViQ29yZV9GV0RfTm9uSGVh
cEFsbG9jYXRhYmxlX2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Ob25IZWFwQWxsb2NhdGFi
bGUuaD4KKyNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52459</attachid>
            <date>2010-04-02 15:29:52 -0700</date>
            <delta_ts>2010-04-02 15:56:00 -0700</delta_ts>
            <desc>patch (v4)</desc>
            <filename>37046.patch</filename>
            <type>text/plain</type>
            <size>9077</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDU3MDI0KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMDQtMDIgIEFuZHkgRXN0
ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIENsYXNzZXMgdGhhdCB3aXNoIHRvIHByb2hpYml0IGJlaW5nIGFsbG9j
YXRlZCBvbiB0aGUgaGVhcCBjYW4gZXh0ZW5kCisgICAgICAgIE5vbkhlYXBBbGxvY2F0YWJsZSwg
d2hpY2ggbWFrZSByZWd1bGFyLCBhcnJheSBhbmQgcGxhY2VtZW50IHZlcnNpb25zIG9mCisgICAg
ICAgIG9wZXJhdG9yIG5ldyBhbmQgb3BlcmF0b3IgZGVsZXRlIHByaXZhdGUuCisKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3MDQ2CisKKyAgICAgICAg
KiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS5neXBpOgorICAgICAg
ICAqIEphdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvajoKKyAgICAgICAgKiBKYXZh
U2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHd0Zi9Ob25I
ZWFwQWxsb2NhdGFibGUuaDogQWRkZWQuCisKIDIwMTAtMDQtMDIgIEdlb2ZmcmV5IEdhcmVuICA8
Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBCdWlsZCBmaXg6IHVwZGF0ZWQgdGhlIC5kZWYg
ZmlsZS4KSW5kZXg6IEphdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IEphdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCShyZXZpc2lvbiA1NzAyNCkKKysrIEphdmFT
Y3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC0yNDUsNiArMjQ1LDcg
QEAgamF2YXNjcmlwdGNvcmVfc291cmNlcyArPSBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL01haW5U
aHJlYWQuaCBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL01hdGhFeHRyYXMuaCBcCiAJSmF2YVNjcmlw
dENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oIFwKKwlKYXZhU2NyaXB0Q29yZS93dGYvTm9uSGVhcEFs
bG9jYXRhYmxlLmggXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJsZS5oIFwKIAlKYXZh
U2NyaXB0Q29yZS93dGYvTm90Rm91bmQuaCBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5
UHRyLmggXApJbmRleDogSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpCShyZXZpc2lvbiA1NzAy
NCkKKysrIEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmd5cGkJKHdvcmtpbmcgY29weSkK
QEAgLTM3NCw2ICszNzQsNyBAQAogICAgICAgICAgICAgJ3d0Zi9NYWxsb2Nab25lU3VwcG9ydC5o
JywKICAgICAgICAgICAgICd3dGYvTWF0aEV4dHJhcy5oJywKICAgICAgICAgICAgICd3dGYvTWVz
c2FnZVF1ZXVlLmgnLAorICAgICAgICAgICAgJ3d0Zi9Ob25IZWFwQWxsb2NhdGFibGUuaCcsCiAg
ICAgICAgICAgICAnd3RmL05vbmNvcHlhYmxlLmgnLAogICAgICAgICAgICAgJ3d0Zi9Ob3RGb3Vu
ZC5oJywKICAgICAgICAgICAgICd3dGYvT3duQXJyYXlQdHIuaCcsCkluZGV4OiBKYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNwcm9qCShyZXZp
c2lvbiA1NzAyNCkKKysrIEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYv
V1RGLnZjcHJvagkod29ya2luZyBjb3B5KQpAQCAtMzg5LDYgKzM4OSwxMCBAQAogCQkJPg0KIAkJ
PC9GaWxlPg0KIAkJPEZpbGUNCisJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHd0ZlxOb25IZWFwQWxs
b2NhdGFibGUuaCINCisJCQk+DQorCQk8L0ZpbGU+DQorCQk8RmlsZQ0KIAkJCVJlbGF0aXZlUGF0
aD0iLi5cLi5cd3RmXE5vbmNvcHlhYmxlLmgiDQogCQkJPg0KIAkJPC9GaWxlPg0KSW5kZXg6IEph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkocmV2aXNpb24gNTcwMjQpCisrKyBKYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xNzEsNiAr
MTcxLDcgQEAKIAkJMThCQUI1NTQxMERBRTA2NjAwMEQ5NDVCIC8qIFRocmVhZElkZW50aWZpZXJE
YXRhUHRocmVhZHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDE4QkFCNTI4MTBEQURGQ0QwMDBEOTQ1QiAvKiBUaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJl
YWRzLmggKi87IH07CiAJCTFDNjE1MTZDMEVCQUM3QTAwMDMxMzc2RiAvKiBQcm9maWxlclNlcnZl
ci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDNjE1
MTZBMEVCQUM3QTAwMDMxMzc2RiAvKiBQcm9maWxlclNlcnZlci5tbSAqLzsgc2V0dGluZ3MgPSB7
Q09NUElMRVJfRkxBR1MgPSAiLWZuby1zdHJpY3QtYWxpYXNpbmciOyB9OyB9OwogCQkxQzYxNTE2
RDBFQkFDN0EwMDAzMTM3NkYgLyogUHJvZmlsZXJTZXJ2ZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDNjE1MTZCMEVCQUM3QTAwMDMxMzc2RiAvKiBQ
cm9maWxlclNlcnZlci5oICovOyB9OworCQkyNTk2QjYxRTExNjU2OTAxMDA3OTgxM0YgLyogTm9u
SGVhcEFsbG9jYXRhYmxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAyNUQ1NUI1QTExNjU2MTFEMDA5NUVBMTQgLyogTm9uSGVhcEFsbG9jYXRhYmxlLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDEzNTlD
RjMwRkREODlBRDAwMjA2MTgwIC8qIERhdGVDb252ZXJzaW9uLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBEMjEyMDIyOTBBRDQzMTBDMDBFRDc5QjYgLyog
RGF0ZUNvbnZlcnNpb24uaCAqLzsgfTsKIAkJNDEzNTlDRjYwRkREODlDQjAwMjA2MTgwIC8qIERh
dGVNYXRoLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxMzU5Q0Y0MEZERDg5Q0IwMDIwNjE4MCAvKiBEYXRlTWF0aC5jcHAgKi87IH07CiAJCTQxMzU5
Q0Y3MEZERDg5Q0IwMDIwNjE4MCAvKiBEYXRlTWF0aC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzNTlDRjUwRkREODlDQjAwMjA2MTgwIC8qIERhdGVN
YXRoLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAg
LTY0OCw2ICs2NDksNyBAQAogCQkxQzkwNTE0NTBCQTlFOEE3MDA4MUU5RDAgLyogQmFzZS54Y2Nv
bmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IHBhdGggPSBCYXNlLnhjY29uZmlnOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0FBOEI0QTBEMzJDMzlBMDA0MUJDRkYgLyogSmF2
YVNjcmlwdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKYXZhU2NyaXB0Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQUE4QjRCMEQzMkMzOUEwMDQxQkNGRiAv
KiBKYXZhU2NyaXB0Q29yZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKYXZh
U2NyaXB0Q29yZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyNUQ1NUI1QTExNjU2
MTFEMDA5NUVBMTQgLyogTm9uSGVhcEFsbG9jYXRhYmxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IE5vbkhlYXBBbGxvY2F0YWJsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk0MTM1OUNGNDBGREQ4OUNCMDAyMDYxODAgLyogRGF0ZU1hdGguY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGF0ZU1hdGguY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0MTM1OUNGNTBGREQ4OUNCMDAyMDYxODAgLyogRGF0ZU1hdGguaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGF0ZU1hdGguaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDQwQjdBRUQwRkFGN0ZDQjAwNzMzMjNFIC8qIE93blB0ckNvbW1v
bi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBPd25QdHJDb21tb24uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMzEsNiArMTMzMyw3IEBACiAJCQkJNURCRDE4
QUYwQzU0MDFBNzAwQzE1RUFFIC8qIE1hbGxvY1pvbmVTdXBwb3J0LmggKi8sCiAJCQkJQkNGNjU1
M0IwQTIwNDhERTAwMzhBMTk0IC8qIE1hdGhFeHRyYXMuaCAqLywKIAkJCQlFMUVFNzk4QjBENkNB
NTNEMDBGRUEzQkEgLyogTWVzc2FnZVF1ZXVlLmggKi8sCisJCQkJMjVENTVCNUExMTY1NjExRDAw
OTVFQTE0IC8qIE5vbkhlYXBBbGxvY2F0YWJsZS5oICovLAogCQkJCTkzMDNGNTY5MDk5MTE5MDAw
MEFENzFCOCAvKiBOb25jb3B5YWJsZS5oICovLAogCQkJCUMwQTI3MjNGMEU1MDlGMUUwMEU5NkUx
NSAvKiBOb3RGb3VuZC5oICovLAogCQkJCTkzMDNGNUE0MDk5MTFBNTgwMEFENzFCOCAvKiBPd25B
cnJheVB0ci5oICovLApAQCAtMTkxMyw2ICsxOTE2LDcgQEAKIAkJCQlBNzZFRTY1OTBGQUU1OUQ1
MDAzRjA2OUEgLyogTmF0aXZlRnVuY3Rpb25XcmFwcGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk3
RUZGMDA2NDBFQzA1QTlBMDBBQTdDOTMgLyogTm9kZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJ
CUJDMThDNDNGMEUxNkY1Q0QwMEIzNDQ2MCAvKiBOb2Rlcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MjU5NkI2MUUxMTY1NjkwMTAwNzk4MTNGIC8qIE5vbkhlYXBBbGxvY2F0YWJsZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQkMxOEM0NDAwRTE2RjVDRDAwQjM0NDYwIC8qIE5vbmNvcHlhYmxlLmggaW4g
SGVhZGVycyAqLywKIAkJCQlDMEEyNzI2MzBFNTBBMDYzMDBFOTZFMTUgLyogTm90Rm91bmQuaCBp
biBIZWFkZXJzICovLAogCQkJCUJDMThDNDQxMEUxNkY1Q0QwMEIzNDQ2MCAvKiBOdW1iZXJDb25z
dHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCkluZGV4OiBKYXZhU2NyaXB0Q29yZS93dGYvTm9uSGVh
cEFsbG9jYXRhYmxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvd3RmL05vbkhlYXBB
bGxvY2F0YWJsZS5oCShyZXZpc2lvbiAwKQorKysgSmF2YVNjcmlwdENvcmUvd3RmL05vbkhlYXBB
bGxvY2F0YWJsZS5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ5IEBACisvKgorICogIENvcHly
aWdodCAoQykgMjAxMCBBcHBsZSwgSW5jLgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBz
b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNl
bnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIK
KyAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U
WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAq
ICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisg
KiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZQorICogIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhl
IGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiAgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAq
ICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKworI2lmbmRlZiBOb25IZWFw
QWxsb2NhdGFibGVfaAorI2RlZmluZSBOb25IZWFwQWxsb2NhdGFibGVfaAorCisvLyBXZSBkb24n
dCB3YW50IGFyZ3VtZW50LWRlcGVuZGVudCBsb29rdXAgdG8gcHVsbCBpbiBldmVyeXRoaW5nIGZy
b20gdGhlIFdURgorLy8gbmFtZXNwYWNlIHdoZW4geW91IHVzZSBOb25IZWFwQWxsb2NhdGFibGUs
IHNvIHB1dCBpdCBpbiBpdHMgb3duIG5hbWVzcGFjZS4KKworbmFtZXNwYWNlIFdURk5vbkhlYXBB
bGxvY2F0YWJsZSB7CisKK2NsYXNzIE5vbkhlYXBBbGxvY2F0YWJsZSB7CisgICAgcHJpdmF0ZToK
KyAgICAgICAgLy8gUHJvaGliaXQgbmV3IGFuZCBkZWxldGUuCisgICAgICAgIHZvaWQqIG9wZXJh
dG9yIG5ldyhzaXplX3QpOworICAgICAgICB2b2lkIG9wZXJhdG9yIGRlbGV0ZSh2b2lkKik7CisK
KyAgICAgICAgLy8gUHJvaGliaXQgYXJyYXkgbmV3IGFuZCBkZWxldGUuCisgICAgICAgIHZvaWQq
IG9wZXJhdG9yIG5ld1tdKHNpemVfdCk7CisgICAgICAgIHZvaWQgb3BlcmF0b3IgZGVsZXRlW10o
dm9pZCopOworCisgICAgICAgIC8vIFByb2hpYml0IHBsYWNlbWVudCBuZXcgYW5kIGRlbGV0ZS4K
KyAgICAgICAgdm9pZCogb3BlcmF0b3IgbmV3KHNpemVfdCwgdm9pZCopOworICAgICAgICB2b2lk
KiBvcGVyYXRvciBuZXdbXShzaXplX3QsIHZvaWQqKTsKKyAgICAgICAgdm9pZCBvcGVyYXRvciBk
ZWxldGUodm9pZCosIHZvaWQqKTsKKyAgICAgICAgdm9pZCBvcGVyYXRvciBkZWxldGVbXSh2b2lk
Kiwgdm9pZCopOworfTsKK30gLy8gbmFtZXNwYWNlIFdURk5vbkhlYXBBbGxvY2F0YWJsZQorCit1
c2luZyBXVEZOb25IZWFwQWxsb2NhdGFibGU6Ok5vbkhlYXBBbGxvY2F0YWJsZTsKKworI2VuZGlm
IC8vIE5vbkhlYXBBbGxvY2F0YWJsZV9oCkluZGV4OiBXZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gNTcwMjQpCisrKyBXZWJDb3JlL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEwLTA0LTAyICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBDbGFzc2VzIHRoYXQgd2lzaCB0byBwcm9oaWJpdCBiZWluZyBh
bGxvY2F0ZWQgb24gdGhlIGhlYXAgY2FuIGV4dGVuZAorICAgICAgICBOb25IZWFwQWxsb2NhdGFi
bGUsIHdoaWNoIG1ha2UgcmVndWxhciwgYXJyYXkgYW5kIHBsYWNlbWVudCB2ZXJzaW9ucyBvZgor
ICAgICAgICBvcGVyYXRvciBuZXcgYW5kIG9wZXJhdG9yIGRlbGV0ZSBwcml2YXRlLgorCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzA0NgorCisgICAg
ICAgICogRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbkhlYXBBbGxvY2F0YWJsZS5oOiBBZGRlZC4K
KwogMjAxMC0wNC0wMiAgQW5kcmV3IFNjaGVya3VzICA8c2NoZXJrdXNAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbiBhbmQgRXJpYyBTZWlkZWwuCkluZGV4
OiBXZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25IZWFwQWxsb2NhdGFibGUuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25IZWFwQWxsb2NhdGFi
bGUuaAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbkhl
YXBBbGxvY2F0YWJsZS5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQgQEAKKyNpZm5kZWYgV2Vi
Q29yZV9GV0RfTm9uSGVhcEFsbG9jYXRhYmxlX2gKKyNkZWZpbmUgV2ViQ29yZV9GV0RfTm9uSGVh
cEFsbG9jYXRhYmxlX2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Ob25IZWFwQWxsb2NhdGFi
bGUuaD4KKyNlbmRpZgo=
</data>
<flag name="review"
          id="35948"
          type_id="1"
          status="-"
          setter="ggaren"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52461</attachid>
            <date>2010-04-02 15:56:00 -0700</date>
            <delta_ts>2010-04-02 16:32:17 -0700</delta_ts>
            <desc>patch (v5)</desc>
            <filename>37046.patch</filename>
            <type>text/plain</type>
            <size>9587</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDU3MDI0KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMDQtMDIgIEFuZHkgRXN0
ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIENsYXNzZXMgdGhhdCB3aXNoIHRvIHByb2hpYml0IGJlaW5nIGFsbG9j
YXRlZCBvbiB0aGUgaGVhcCBjYW4gZXh0ZW5kCisgICAgICAgIE5vbkhlYXBBbGxvY2F0YWJsZSwg
d2hpY2ggbWFrZSByZWd1bGFyLCBhcnJheSBhbmQgcGxhY2VtZW50IHZlcnNpb25zIG9mCisgICAg
ICAgIG9wZXJhdG9yIG5ldyBhbmQgb3BlcmF0b3IgZGVsZXRlIHByaXZhdGUuCisKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3MDQ2CisKKyAgICAgICAg
KiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS5neXBpOgorICAgICAg
ICAqIEphdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvajoKKyAgICAgICAgKiBKYXZh
U2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHd0Zi9Ob25I
ZWFwQWxsb2NhdGFibGUuaDogQWRkZWQuCisKIDIwMTAtMDQtMDIgIEdlb2ZmcmV5IEdhcmVuICA8
Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBCdWlsZCBmaXg6IHVwZGF0ZWQgdGhlIC5kZWYg
ZmlsZS4KSW5kZXg6IEphdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IEphdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCShyZXZpc2lvbiA1NzAyNCkKKysrIEphdmFT
Y3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC0yNDUsNiArMjQ1LDcg
QEAgamF2YXNjcmlwdGNvcmVfc291cmNlcyArPSBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL01haW5U
aHJlYWQuaCBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL01hdGhFeHRyYXMuaCBcCiAJSmF2YVNjcmlw
dENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oIFwKKwlKYXZhU2NyaXB0Q29yZS93dGYvTm9uSGVhcEFs
bG9jYXRhYmxlLmggXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJsZS5oIFwKIAlKYXZh
U2NyaXB0Q29yZS93dGYvTm90Rm91bmQuaCBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5
UHRyLmggXApJbmRleDogSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpCShyZXZpc2lvbiA1NzAy
NCkKKysrIEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmd5cGkJKHdvcmtpbmcgY29weSkK
QEAgLTM3NCw2ICszNzQsNyBAQAogICAgICAgICAgICAgJ3d0Zi9NYWxsb2Nab25lU3VwcG9ydC5o
JywKICAgICAgICAgICAgICd3dGYvTWF0aEV4dHJhcy5oJywKICAgICAgICAgICAgICd3dGYvTWVz
c2FnZVF1ZXVlLmgnLAorICAgICAgICAgICAgJ3d0Zi9Ob25IZWFwQWxsb2NhdGFibGUuaCcsCiAg
ICAgICAgICAgICAnd3RmL05vbmNvcHlhYmxlLmgnLAogICAgICAgICAgICAgJ3d0Zi9Ob3RGb3Vu
ZC5oJywKICAgICAgICAgICAgICd3dGYvT3duQXJyYXlQdHIuaCcsCkluZGV4OiBKYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNwcm9qCShyZXZp
c2lvbiA1NzAyNCkKKysrIEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYv
V1RGLnZjcHJvagkod29ya2luZyBjb3B5KQpAQCAtMzg5LDYgKzM4OSwxMCBAQAogCQkJPg0KIAkJ
PC9GaWxlPg0KIAkJPEZpbGUNCisJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHd0ZlxOb25IZWFwQWxs
b2NhdGFibGUuaCINCisJCQk+DQorCQk8L0ZpbGU+DQorCQk8RmlsZQ0KIAkJCVJlbGF0aXZlUGF0
aD0iLi5cLi5cd3RmXE5vbmNvcHlhYmxlLmgiDQogCQkJPg0KIAkJPC9GaWxlPg0KSW5kZXg6IEph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkocmV2aXNpb24gNTcwMjQpCisrKyBKYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xNzEsNiAr
MTcxLDcgQEAKIAkJMThCQUI1NTQxMERBRTA2NjAwMEQ5NDVCIC8qIFRocmVhZElkZW50aWZpZXJE
YXRhUHRocmVhZHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDE4QkFCNTI4MTBEQURGQ0QwMDBEOTQ1QiAvKiBUaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJl
YWRzLmggKi87IH07CiAJCTFDNjE1MTZDMEVCQUM3QTAwMDMxMzc2RiAvKiBQcm9maWxlclNlcnZl
ci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDNjE1
MTZBMEVCQUM3QTAwMDMxMzc2RiAvKiBQcm9maWxlclNlcnZlci5tbSAqLzsgc2V0dGluZ3MgPSB7
Q09NUElMRVJfRkxBR1MgPSAiLWZuby1zdHJpY3QtYWxpYXNpbmciOyB9OyB9OwogCQkxQzYxNTE2
RDBFQkFDN0EwMDAzMTM3NkYgLyogUHJvZmlsZXJTZXJ2ZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDNjE1MTZCMEVCQUM3QTAwMDMxMzc2RiAvKiBQ
cm9maWxlclNlcnZlci5oICovOyB9OworCQkyNTk2QjYxRTExNjU2OTAxMDA3OTgxM0YgLyogTm9u
SGVhcEFsbG9jYXRhYmxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAyNUQ1NUI1QTExNjU2MTFEMDA5NUVBMTQgLyogTm9uSGVhcEFsbG9jYXRhYmxlLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDEzNTlD
RjMwRkREODlBRDAwMjA2MTgwIC8qIERhdGVDb252ZXJzaW9uLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBEMjEyMDIyOTBBRDQzMTBDMDBFRDc5QjYgLyog
RGF0ZUNvbnZlcnNpb24uaCAqLzsgfTsKIAkJNDEzNTlDRjYwRkREODlDQjAwMjA2MTgwIC8qIERh
dGVNYXRoLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxMzU5Q0Y0MEZERDg5Q0IwMDIwNjE4MCAvKiBEYXRlTWF0aC5jcHAgKi87IH07CiAJCTQxMzU5
Q0Y3MEZERDg5Q0IwMDIwNjE4MCAvKiBEYXRlTWF0aC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzNTlDRjUwRkREODlDQjAwMjA2MTgwIC8qIERhdGVN
YXRoLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAg
LTY0OCw2ICs2NDksNyBAQAogCQkxQzkwNTE0NTBCQTlFOEE3MDA4MUU5RDAgLyogQmFzZS54Y2Nv
bmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IHBhdGggPSBCYXNlLnhjY29uZmlnOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0FBOEI0QTBEMzJDMzlBMDA0MUJDRkYgLyogSmF2
YVNjcmlwdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKYXZhU2NyaXB0Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQUE4QjRCMEQzMkMzOUEwMDQxQkNGRiAv
KiBKYXZhU2NyaXB0Q29yZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKYXZh
U2NyaXB0Q29yZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyNUQ1NUI1QTExNjU2
MTFEMDA5NUVBMTQgLyogTm9uSGVhcEFsbG9jYXRhYmxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IE5vbkhlYXBBbGxvY2F0YWJsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk0MTM1OUNGNDBGREQ4OUNCMDAyMDYxODAgLyogRGF0ZU1hdGguY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGF0ZU1hdGguY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0MTM1OUNGNTBGREQ4OUNCMDAyMDYxODAgLyogRGF0ZU1hdGguaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGF0ZU1hdGguaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDQwQjdBRUQwRkFGN0ZDQjAwNzMzMjNFIC8qIE93blB0ckNvbW1v
bi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBPd25QdHJDb21tb24uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMzEsNiArMTMzMyw3IEBACiAJCQkJNURCRDE4
QUYwQzU0MDFBNzAwQzE1RUFFIC8qIE1hbGxvY1pvbmVTdXBwb3J0LmggKi8sCiAJCQkJQkNGNjU1
M0IwQTIwNDhERTAwMzhBMTk0IC8qIE1hdGhFeHRyYXMuaCAqLywKIAkJCQlFMUVFNzk4QjBENkNB
NTNEMDBGRUEzQkEgLyogTWVzc2FnZVF1ZXVlLmggKi8sCisJCQkJMjVENTVCNUExMTY1NjExRDAw
OTVFQTE0IC8qIE5vbkhlYXBBbGxvY2F0YWJsZS5oICovLAogCQkJCTkzMDNGNTY5MDk5MTE5MDAw
MEFENzFCOCAvKiBOb25jb3B5YWJsZS5oICovLAogCQkJCUMwQTI3MjNGMEU1MDlGMUUwMEU5NkUx
NSAvKiBOb3RGb3VuZC5oICovLAogCQkJCTkzMDNGNUE0MDk5MTFBNTgwMEFENzFCOCAvKiBPd25B
cnJheVB0ci5oICovLApAQCAtMTkxMyw2ICsxOTE2LDcgQEAKIAkJCQlBNzZFRTY1OTBGQUU1OUQ1
MDAzRjA2OUEgLyogTmF0aXZlRnVuY3Rpb25XcmFwcGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk3
RUZGMDA2NDBFQzA1QTlBMDBBQTdDOTMgLyogTm9kZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJ
CUJDMThDNDNGMEUxNkY1Q0QwMEIzNDQ2MCAvKiBOb2Rlcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MjU5NkI2MUUxMTY1NjkwMTAwNzk4MTNGIC8qIE5vbkhlYXBBbGxvY2F0YWJsZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQkMxOEM0NDAwRTE2RjVDRDAwQjM0NDYwIC8qIE5vbmNvcHlhYmxlLmggaW4g
SGVhZGVycyAqLywKIAkJCQlDMEEyNzI2MzBFNTBBMDYzMDBFOTZFMTUgLyogTm90Rm91bmQuaCBp
biBIZWFkZXJzICovLAogCQkJCUJDMThDNDQxMEUxNkY1Q0QwMEIzNDQ2MCAvKiBOdW1iZXJDb25z
dHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCkluZGV4OiBKYXZhU2NyaXB0Q29yZS93dGYvTm9uSGVh
cEFsbG9jYXRhYmxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvd3RmL05vbkhlYXBB
bGxvY2F0YWJsZS5oCShyZXZpc2lvbiAwKQorKysgSmF2YVNjcmlwdENvcmUvd3RmL05vbkhlYXBB
bGxvY2F0YWJsZS5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEwIEFwcGxlLCBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgKiAgICB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICoKKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSwKKyAqICAgIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24KKyAqICAgIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyDigJxBUyBJ
U+KAnSBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMgQkUgTElBQkxFCisgKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorICogREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IK
KyAqIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSCisgKiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorICogT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBOb25IZWFwQWxs
b2NhdGFibGVfaAorI2RlZmluZSBOb25IZWFwQWxsb2NhdGFibGVfaAorCisvLyBXZSBkb24ndCB3
YW50IGFyZ3VtZW50LWRlcGVuZGVudCBsb29rdXAgdG8gcHVsbCBpbiBldmVyeXRoaW5nIGZyb20g
dGhlIFdURgorLy8gbmFtZXNwYWNlIHdoZW4geW91IHVzZSBOb25IZWFwQWxsb2NhdGFibGUsIHNv
IHB1dCBpdCBpbiBpdHMgb3duIG5hbWVzcGFjZS4KKworbmFtZXNwYWNlIFdURk5vbkhlYXBBbGxv
Y2F0YWJsZSB7CisKK2NsYXNzIE5vbkhlYXBBbGxvY2F0YWJsZSB7CisgICAgcHJpdmF0ZToKKyAg
ICAgICAgLy8gUHJvaGliaXQgbmV3IGFuZCBkZWxldGUuCisgICAgICAgIHZvaWQqIG9wZXJhdG9y
IG5ldyhzaXplX3QpOworICAgICAgICB2b2lkIG9wZXJhdG9yIGRlbGV0ZSh2b2lkKik7CisKKyAg
ICAgICAgLy8gUHJvaGliaXQgYXJyYXkgbmV3IGFuZCBkZWxldGUuCisgICAgICAgIHZvaWQqIG9w
ZXJhdG9yIG5ld1tdKHNpemVfdCk7CisgICAgICAgIHZvaWQgb3BlcmF0b3IgZGVsZXRlW10odm9p
ZCopOworCisgICAgICAgIC8vIFByb2hpYml0IHBsYWNlbWVudCBuZXcgYW5kIGRlbGV0ZS4KKyAg
ICAgICAgdm9pZCogb3BlcmF0b3IgbmV3KHNpemVfdCwgdm9pZCopOworICAgICAgICB2b2lkKiBv
cGVyYXRvciBuZXdbXShzaXplX3QsIHZvaWQqKTsKKyAgICAgICAgdm9pZCBvcGVyYXRvciBkZWxl
dGUodm9pZCosIHZvaWQqKTsKKyAgICAgICAgdm9pZCBvcGVyYXRvciBkZWxldGVbXSh2b2lkKiwg
dm9pZCopOworfTsKK30gLy8gbmFtZXNwYWNlIFdURk5vbkhlYXBBbGxvY2F0YWJsZQorCit1c2lu
ZyBXVEZOb25IZWFwQWxsb2NhdGFibGU6Ok5vbkhlYXBBbGxvY2F0YWJsZTsKKworI2VuZGlmIC8v
IE5vbkhlYXBBbGxvY2F0YWJsZV9oCkluZGV4OiBXZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gNTcwMjQpCisrKyBXZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEwLTA0LTAyICBBbmR5IEVz
dGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBDbGFzc2VzIHRoYXQgd2lzaCB0byBwcm9oaWJpdCBiZWluZyBhbGxv
Y2F0ZWQgb24gdGhlIGhlYXAgY2FuIGV4dGVuZAorICAgICAgICBOb25IZWFwQWxsb2NhdGFibGUs
IHdoaWNoIG1ha2UgcmVndWxhciwgYXJyYXkgYW5kIHBsYWNlbWVudCB2ZXJzaW9ucyBvZgorICAg
ICAgICBvcGVyYXRvciBuZXcgYW5kIG9wZXJhdG9yIGRlbGV0ZSBwcml2YXRlLgorCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzA0NgorCisgICAgICAg
ICogRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbkhlYXBBbGxvY2F0YWJsZS5oOiBBZGRlZC4KKwog
MjAxMC0wNC0wMiAgQW5kcmV3IFNjaGVya3VzICA8c2NoZXJrdXNAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbiBhbmQgRXJpYyBTZWlkZWwuCkluZGV4OiBX
ZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25IZWFwQWxsb2NhdGFibGUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25IZWFwQWxsb2NhdGFibGUu
aAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbkhlYXBB
bGxvY2F0YWJsZS5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQgQEAKKyNpZm5kZWYgV2ViQ29y
ZV9GV0RfTm9uSGVhcEFsbG9jYXRhYmxlX2gKKyNkZWZpbmUgV2ViQ29yZV9GV0RfTm9uSGVhcEFs
bG9jYXRhYmxlX2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Ob25IZWFwQWxsb2NhdGFibGUu
aD4KKyNlbmRpZgo=
</data>
<flag name="review"
          id="35951"
          type_id="1"
          status="-"
          setter="mjs"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52464</attachid>
            <date>2010-04-02 16:32:17 -0700</date>
            <delta_ts>2010-06-11 12:05:53 -0700</delta_ts>
            <desc>patch (v6)</desc>
            <filename>37046.patch</filename>
            <type>text/plain</type>
            <size>9608</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDU3MDI0KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMDQtMDIgIEFuZHkgRXN0
ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIENsYXNzZXMgdGhhdCB3aXNoIHRvIHByb2hpYml0IGJlaW5nIGFsbG9j
YXRlZCBvbiB0aGUgaGVhcCBjYW4gZXh0ZW5kCisgICAgICAgIE5vbkhlYXBBbGxvY2F0YWJsZSwg
d2hpY2ggbWFrZSByZWd1bGFyLCBhcnJheSBhbmQgcGxhY2VtZW50IHZlcnNpb25zIG9mCisgICAg
ICAgIG9wZXJhdG9yIG5ldyBhbmQgb3BlcmF0b3IgZGVsZXRlIHByaXZhdGUuCisKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3MDQ2CisKKyAgICAgICAg
KiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS5neXBpOgorICAgICAg
ICAqIEphdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvajoKKyAgICAgICAgKiBKYXZh
U2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHd0Zi9Ob25I
ZWFwQWxsb2NhdGFibGUuaDogQWRkZWQuCisKIDIwMTAtMDQtMDIgIEdlb2ZmcmV5IEdhcmVuICA8
Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBCdWlsZCBmaXg6IHVwZGF0ZWQgdGhlIC5kZWYg
ZmlsZS4KSW5kZXg6IEphdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IEphdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCShyZXZpc2lvbiA1NzAyNCkKKysrIEphdmFT
Y3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC0yNDUsNiArMjQ1LDcg
QEAgamF2YXNjcmlwdGNvcmVfc291cmNlcyArPSBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL01haW5U
aHJlYWQuaCBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL01hdGhFeHRyYXMuaCBcCiAJSmF2YVNjcmlw
dENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oIFwKKwlKYXZhU2NyaXB0Q29yZS93dGYvTm9uSGVhcEFs
bG9jYXRhYmxlLmggXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJsZS5oIFwKIAlKYXZh
U2NyaXB0Q29yZS93dGYvTm90Rm91bmQuaCBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5
UHRyLmggXApJbmRleDogSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpCShyZXZpc2lvbiA1NzAy
NCkKKysrIEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmd5cGkJKHdvcmtpbmcgY29weSkK
QEAgLTM3NCw2ICszNzQsNyBAQAogICAgICAgICAgICAgJ3d0Zi9NYWxsb2Nab25lU3VwcG9ydC5o
JywKICAgICAgICAgICAgICd3dGYvTWF0aEV4dHJhcy5oJywKICAgICAgICAgICAgICd3dGYvTWVz
c2FnZVF1ZXVlLmgnLAorICAgICAgICAgICAgJ3d0Zi9Ob25IZWFwQWxsb2NhdGFibGUuaCcsCiAg
ICAgICAgICAgICAnd3RmL05vbmNvcHlhYmxlLmgnLAogICAgICAgICAgICAgJ3d0Zi9Ob3RGb3Vu
ZC5oJywKICAgICAgICAgICAgICd3dGYvT3duQXJyYXlQdHIuaCcsCkluZGV4OiBKYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNwcm9qCShyZXZp
c2lvbiA1NzAyNCkKKysrIEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYv
V1RGLnZjcHJvagkod29ya2luZyBjb3B5KQpAQCAtMzg5LDYgKzM4OSwxMCBAQAogCQkJPg0KIAkJ
PC9GaWxlPg0KIAkJPEZpbGUNCisJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHd0ZlxOb25IZWFwQWxs
b2NhdGFibGUuaCINCisJCQk+DQorCQk8L0ZpbGU+DQorCQk8RmlsZQ0KIAkJCVJlbGF0aXZlUGF0
aD0iLi5cLi5cd3RmXE5vbmNvcHlhYmxlLmgiDQogCQkJPg0KIAkJPC9GaWxlPg0KSW5kZXg6IEph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkocmV2aXNpb24gNTcwMjQpCisrKyBKYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xNzEsNiAr
MTcxLDcgQEAKIAkJMThCQUI1NTQxMERBRTA2NjAwMEQ5NDVCIC8qIFRocmVhZElkZW50aWZpZXJE
YXRhUHRocmVhZHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDE4QkFCNTI4MTBEQURGQ0QwMDBEOTQ1QiAvKiBUaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJl
YWRzLmggKi87IH07CiAJCTFDNjE1MTZDMEVCQUM3QTAwMDMxMzc2RiAvKiBQcm9maWxlclNlcnZl
ci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDNjE1
MTZBMEVCQUM3QTAwMDMxMzc2RiAvKiBQcm9maWxlclNlcnZlci5tbSAqLzsgc2V0dGluZ3MgPSB7
Q09NUElMRVJfRkxBR1MgPSAiLWZuby1zdHJpY3QtYWxpYXNpbmciOyB9OyB9OwogCQkxQzYxNTE2
RDBFQkFDN0EwMDAzMTM3NkYgLyogUHJvZmlsZXJTZXJ2ZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDNjE1MTZCMEVCQUM3QTAwMDMxMzc2RiAvKiBQ
cm9maWxlclNlcnZlci5oICovOyB9OworCQkyNTk2QjYxRTExNjU2OTAxMDA3OTgxM0YgLyogTm9u
SGVhcEFsbG9jYXRhYmxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAyNUQ1NUI1QTExNjU2MTFEMDA5NUVBMTQgLyogTm9uSGVhcEFsbG9jYXRhYmxlLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDEzNTlD
RjMwRkREODlBRDAwMjA2MTgwIC8qIERhdGVDb252ZXJzaW9uLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBEMjEyMDIyOTBBRDQzMTBDMDBFRDc5QjYgLyog
RGF0ZUNvbnZlcnNpb24uaCAqLzsgfTsKIAkJNDEzNTlDRjYwRkREODlDQjAwMjA2MTgwIC8qIERh
dGVNYXRoLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxMzU5Q0Y0MEZERDg5Q0IwMDIwNjE4MCAvKiBEYXRlTWF0aC5jcHAgKi87IH07CiAJCTQxMzU5
Q0Y3MEZERDg5Q0IwMDIwNjE4MCAvKiBEYXRlTWF0aC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzNTlDRjUwRkREODlDQjAwMjA2MTgwIC8qIERhdGVN
YXRoLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAg
LTY0OCw2ICs2NDksNyBAQAogCQkxQzkwNTE0NTBCQTlFOEE3MDA4MUU5RDAgLyogQmFzZS54Y2Nv
bmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IHBhdGggPSBCYXNlLnhjY29uZmlnOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0FBOEI0QTBEMzJDMzlBMDA0MUJDRkYgLyogSmF2
YVNjcmlwdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKYXZhU2NyaXB0Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQUE4QjRCMEQzMkMzOUEwMDQxQkNGRiAv
KiBKYXZhU2NyaXB0Q29yZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKYXZh
U2NyaXB0Q29yZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyNUQ1NUI1QTExNjU2
MTFEMDA5NUVBMTQgLyogTm9uSGVhcEFsbG9jYXRhYmxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IE5vbkhlYXBBbGxvY2F0YWJsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk0MTM1OUNGNDBGREQ4OUNCMDAyMDYxODAgLyogRGF0ZU1hdGguY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGF0ZU1hdGguY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0MTM1OUNGNTBGREQ4OUNCMDAyMDYxODAgLyogRGF0ZU1hdGguaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGF0ZU1hdGguaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDQwQjdBRUQwRkFGN0ZDQjAwNzMzMjNFIC8qIE93blB0ckNvbW1v
bi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBPd25QdHJDb21tb24uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMzEsNiArMTMzMyw3IEBACiAJCQkJNURCRDE4
QUYwQzU0MDFBNzAwQzE1RUFFIC8qIE1hbGxvY1pvbmVTdXBwb3J0LmggKi8sCiAJCQkJQkNGNjU1
M0IwQTIwNDhERTAwMzhBMTk0IC8qIE1hdGhFeHRyYXMuaCAqLywKIAkJCQlFMUVFNzk4QjBENkNB
NTNEMDBGRUEzQkEgLyogTWVzc2FnZVF1ZXVlLmggKi8sCisJCQkJMjVENTVCNUExMTY1NjExRDAw
OTVFQTE0IC8qIE5vbkhlYXBBbGxvY2F0YWJsZS5oICovLAogCQkJCTkzMDNGNTY5MDk5MTE5MDAw
MEFENzFCOCAvKiBOb25jb3B5YWJsZS5oICovLAogCQkJCUMwQTI3MjNGMEU1MDlGMUUwMEU5NkUx
NSAvKiBOb3RGb3VuZC5oICovLAogCQkJCTkzMDNGNUE0MDk5MTFBNTgwMEFENzFCOCAvKiBPd25B
cnJheVB0ci5oICovLApAQCAtMTkxMyw2ICsxOTE2LDcgQEAKIAkJCQlBNzZFRTY1OTBGQUU1OUQ1
MDAzRjA2OUEgLyogTmF0aXZlRnVuY3Rpb25XcmFwcGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk3
RUZGMDA2NDBFQzA1QTlBMDBBQTdDOTMgLyogTm9kZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJ
CUJDMThDNDNGMEUxNkY1Q0QwMEIzNDQ2MCAvKiBOb2Rlcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MjU5NkI2MUUxMTY1NjkwMTAwNzk4MTNGIC8qIE5vbkhlYXBBbGxvY2F0YWJsZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQkMxOEM0NDAwRTE2RjVDRDAwQjM0NDYwIC8qIE5vbmNvcHlhYmxlLmggaW4g
SGVhZGVycyAqLywKIAkJCQlDMEEyNzI2MzBFNTBBMDYzMDBFOTZFMTUgLyogTm90Rm91bmQuaCBp
biBIZWFkZXJzICovLAogCQkJCUJDMThDNDQxMEUxNkY1Q0QwMEIzNDQ2MCAvKiBOdW1iZXJDb25z
dHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCkluZGV4OiBKYXZhU2NyaXB0Q29yZS93dGYvTm9uSGVh
cEFsbG9jYXRhYmxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvd3RmL05vbkhlYXBB
bGxvY2F0YWJsZS5oCShyZXZpc2lvbiAwKQorKysgSmF2YVNjcmlwdENvcmUvd3RmL05vbkhlYXBB
bGxvY2F0YWJsZS5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEwIEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisg
KiAgICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICoKKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAqICAgIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24KKyAq
ICAgIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyDigJxBUyBJU+KAnSBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFCisgKiBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAor
ICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IKKyAqIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCisgKiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLAorICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2lmbmRlZiBOb25IZWFwQWxsb2NhdGFibGVfaAorI2RlZmluZSBOb25IZWFwQWxsb2NhdGFi
bGVfaAorCisvLyBXZSBkb24ndCB3YW50IGFyZ3VtZW50LWRlcGVuZGVudCBsb29rdXAgdG8gcHVs
bCBpbiBldmVyeXRoaW5nIGZyb20gdGhlIFdURgorLy8gbmFtZXNwYWNlIHdoZW4geW91IHVzZSBO
b25IZWFwQWxsb2NhdGFibGUsIHNvIHB1dCBpdCBpbiBpdHMgb3duIG5hbWVzcGFjZS4KKworbmFt
ZXNwYWNlIFdURk5vbkhlYXBBbGxvY2F0YWJsZSB7CisKK2NsYXNzIE5vbkhlYXBBbGxvY2F0YWJs
ZSB7CisgICAgcHJpdmF0ZToKKyAgICAgICAgLy8gUHJvaGliaXQgbmV3IGFuZCBkZWxldGUuCisg
ICAgICAgIHZvaWQqIG9wZXJhdG9yIG5ldyhzaXplX3QpOworICAgICAgICB2b2lkIG9wZXJhdG9y
IGRlbGV0ZSh2b2lkKik7CisKKyAgICAgICAgLy8gUHJvaGliaXQgYXJyYXkgbmV3IGFuZCBkZWxl
dGUuCisgICAgICAgIHZvaWQqIG9wZXJhdG9yIG5ld1tdKHNpemVfdCk7CisgICAgICAgIHZvaWQg
b3BlcmF0b3IgZGVsZXRlW10odm9pZCopOworCisgICAgICAgIC8vIFByb2hpYml0IHBsYWNlbWVu
dCBuZXcgYW5kIGRlbGV0ZS4KKyAgICAgICAgdm9pZCogb3BlcmF0b3IgbmV3KHNpemVfdCwgdm9p
ZCopOworICAgICAgICB2b2lkKiBvcGVyYXRvciBuZXdbXShzaXplX3QsIHZvaWQqKTsKKyAgICAg
ICAgdm9pZCBvcGVyYXRvciBkZWxldGUodm9pZCosIHZvaWQqKTsKKyAgICAgICAgdm9pZCBvcGVy
YXRvciBkZWxldGVbXSh2b2lkKiwgdm9pZCopOworfTsKK30gLy8gbmFtZXNwYWNlIFdURk5vbkhl
YXBBbGxvY2F0YWJsZQorCit1c2luZyBXVEZOb25IZWFwQWxsb2NhdGFibGU6Ok5vbkhlYXBBbGxv
Y2F0YWJsZTsKKworI2VuZGlmIC8vIE5vbkhlYXBBbGxvY2F0YWJsZV9oCkluZGV4OiBXZWJDb3Jl
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gNTcw
MjQpCisrKyBXZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBA
CisyMDEwLTA0LTAyICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDbGFzc2VzIHRoYXQgd2lzaCB0
byBwcm9oaWJpdCBiZWluZyBhbGxvY2F0ZWQgb24gdGhlIGhlYXAgY2FuIGV4dGVuZAorICAgICAg
ICBOb25IZWFwQWxsb2NhdGFibGUsIHdoaWNoIG1ha2UgcmVndWxhciwgYXJyYXkgYW5kIHBsYWNl
bWVudCB2ZXJzaW9ucyBvZgorICAgICAgICBvcGVyYXRvciBuZXcgYW5kIG9wZXJhdG9yIGRlbGV0
ZSBwcml2YXRlLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0zNzA0NgorCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbkhlYXBBbGxv
Y2F0YWJsZS5oOiBBZGRlZC4KKwogMjAxMC0wNC0wMiAgQW5kcmV3IFNjaGVya3VzICA8c2NoZXJr
dXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbiBhbmQg
RXJpYyBTZWlkZWwuCkluZGV4OiBXZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25IZWFw
QWxsb2NhdGFibGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0
Zi9Ob25IZWFwQWxsb2NhdGFibGUuaAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvRm9yd2FyZGlu
Z0hlYWRlcnMvd3RmL05vbkhlYXBBbGxvY2F0YWJsZS5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDQgQEAKKyNpZm5kZWYgV2ViQ29yZV9GV0RfTm9uSGVhcEFsbG9jYXRhYmxlX2gKKyNkZWZpbmUg
V2ViQ29yZV9GV0RfTm9uSGVhcEFsbG9jYXRhYmxlX2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29y
ZS9Ob25IZWFwQWxsb2NhdGFibGUuaD4KKyNlbmRpZgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>