<?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>71518</bug_id>
          
          <creation_ts>2011-11-03 16:24:37 -0700</creation_ts>
          <short_desc>[Chromium] gamepad changes to the public interface of Chromium port</short_desc>
          <delta_ts>2011-11-15 12:05:54 -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>WebKit API</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>http://dvcs.w3.org/hg/webevents/raw-file/default/gamepad.html</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>71753</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Scott Graham">scottmg</reporter>
          <assigned_to name="Scott Graham">scottmg</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>495857</commentid>
    <comment_count>0</comment_count>
    <who name="Scott Graham">scottmg</who>
    <bug_when>2011-11-03 16:24:37 -0700</bug_when>
    <thetext>Includes only the gamepad changes that touch the public interface of the Chromium port. (There&apos;s no &quot;Component: WebKit Chromium&quot;?)

See also https://bugs.webkit.org/show_bug.cgi?id=69451 and http://codereview.chromium.org/8345027</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495865</commentid>
    <comment_count>1</comment_count>
      <attachid>113572</attachid>
    <who name="Scott Graham">scottmg</who>
    <bug_when>2011-11-03 16:28:21 -0700</bug_when>
    <thetext>Created attachment 113572
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495869</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-03 16:29:54 -0700</bug_when>
    <thetext>Please wait for approval from fishd@chromium.org before submitting because this patch contains changes to the Chromium public API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496709</commentid>
    <comment_count>3</comment_count>
      <attachid>113572</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-11-05 14:56:48 -0700</bug_when>
    <thetext>Comment on attachment 113572
Patch

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

&gt; Source/WebKit/chromium/public/WebGamepads.h:29
&gt; +const int maximumGamepadIdLength = 128;

we normally define these within the class so that they are scoped to the class name.

also you might consider following WebInputEvent as a guide here.  it uses the term
fooLengthCap instead of maximumFooLength.  i think it would make sense for WebGamepad
to define axesLengthCap and buttonsLengthCap.

&gt; Source/WebKit/chromium/public/WebGamepads.h:35
&gt; +public:

how about defining a default constructor?  i know you intend to treat this
as POD data, and POD types technically should not have any methods, but in
practice a constructor is OK.  see WebInputEvent, which works similarly.

&gt; Source/WebKit/chromium/public/WebGamepads.h:50
&gt; +    unsigned numAxes;

uber-nit: we usually spell out &quot;numberOf&quot; instead of using the common &quot;num&quot; abbreviation.  however, in this case, had you considered using a Length suffix?  it might be nice for it to be axes and axesLength instead of axes and numberOfAxes (just as descriptive, but starts with axes so that the first letter is also lower-case).  this way you would have axes, axesLength, and axesLengthCap.

&gt; Source/WebKit/chromium/public/WebGamepads.h:64
&gt; +class WebGamepads {

one top-level type per file is the rule for webkit APIs.

nit: when a class&apos;s name is the same as one of its member variables, i usually look to
rename one of them.  that way you avoid code having confusing expressions like &quot;foo.foo&quot;
In this case you could rename gamepads to items, or you could rename WebGamepads to
WebGamepad{Array,List,Vector}.

&gt; Source/WebKit/chromium/public/WebGamepads.h:67
&gt; +    int numGamepads;

above, you use unsigned for numAxes and numButtons.  should be unsigned here too?

&gt; Source/WebKit/chromium/public/WebKitPlatformSupport.h:112
&gt; +    // Gamepad -------------------------------------------------------------

nit: add a new line after separator comment.

&gt; Source/WebKit/chromium/public/WebKitPlatformSupport.h:113
&gt; +    virtual void pollGamepads(WebGamepads&amp; pads) { pads.numGamepads = 0; }

question unrelated to this patch: would there be any benefit to knowing which gamepad the application has selected?

i don&apos;t know what&apos;s better, but it also occurred to me that &quot;sample&quot; might be a nice prefix for this method.
sampleGamepads or sampleAvailableGamepads.  another idea is query: queryGamepads, queryAvailableGamepads.
i&apos;m just mentioning the &quot;Available&quot; modifier, as it might be useful.  not sure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497342</commentid>
    <comment_count>4</comment_count>
      <attachid>113572</attachid>
    <who name="Scott Graham">scottmg</who>
    <bug_when>2011-11-07 11:44:21 -0800</bug_when>
    <thetext>Comment on attachment 113572
Patch

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

&gt;&gt; Source/WebKit/chromium/public/WebGamepads.h:29
&gt;&gt; +const int maximumGamepadIdLength = 128;
&gt; 
&gt; we normally define these within the class so that they are scoped to the class name.
&gt; 
&gt; also you might consider following WebInputEvent as a guide here.  it uses the term
&gt; fooLengthCap instead of maximumFooLength.  i think it would make sense for WebGamepad
&gt; to define axesLengthCap and buttonsLengthCap.

Renamed and made more local following style in WebInputEvent.

&gt;&gt; Source/WebKit/chromium/public/WebGamepads.h:35
&gt;&gt; +public:
&gt; 
&gt; how about defining a default constructor?  i know you intend to treat this
&gt; as POD data, and POD types technically should not have any methods, but in
&gt; practice a constructor is OK.  see WebInputEvent, which works similarly.

Done.

&gt;&gt; Source/WebKit/chromium/public/WebGamepads.h:50
&gt;&gt; +    unsigned numAxes;
&gt; 
&gt; uber-nit: we usually spell out &quot;numberOf&quot; instead of using the common &quot;num&quot; abbreviation.  however, in this case, had you considered using a Length suffix?  it might be nice for it to be axes and axesLength instead of axes and numberOfAxes (just as descriptive, but starts with axes so that the first letter is also lower-case).  this way you would have axes, axesLength, and axesLengthCap.

Done.

&gt;&gt; Source/WebKit/chromium/public/WebGamepads.h:64
&gt;&gt; +class WebGamepads {
&gt; 
&gt; one top-level type per file is the rule for webkit APIs.
&gt; 
&gt; nit: when a class&apos;s name is the same as one of its member variables, i usually look to
&gt; rename one of them.  that way you avoid code having confusing expressions like &quot;foo.foo&quot;
&gt; In this case you could rename gamepads to items, or you could rename WebGamepads to
&gt; WebGamepad{Array,List,Vector}.

I put WebGamepad inside WebGamepads to avoid multiple top level. It seemed sort of heavy to make a new file for just the container, and it would separate the pieces that need to be one POD as a unit, so I thought they felt better together. Happy to move to separate files if that&apos;s preferred though.

Went with .items and .length on top level structure.

&gt;&gt; Source/WebKit/chromium/public/WebGamepads.h:67
&gt;&gt; +    int numGamepads;
&gt; 
&gt; above, you use unsigned for numAxes and numButtons.  should be unsigned here too?

Done.

&gt;&gt; Source/WebKit/chromium/public/WebKitPlatformSupport.h:112
&gt;&gt; +    // Gamepad -------------------------------------------------------------
&gt; 
&gt; nit: add a new line after separator comment.

Done.

&gt;&gt; Source/WebKit/chromium/public/WebKitPlatformSupport.h:113
&gt;&gt; +    virtual void pollGamepads(WebGamepads&amp; pads) { pads.numGamepads = 0; }
&gt; 
&gt; question unrelated to this patch: would there be any benefit to knowing which gamepad the application has selected?
&gt; 
&gt; i don&apos;t know what&apos;s better, but it also occurred to me that &quot;sample&quot; might be a nice prefix for this method.
&gt; sampleGamepads or sampleAvailableGamepads.  another idea is query: queryGamepads, queryAvailableGamepads.
&gt; i&apos;m just mentioning the &quot;Available&quot; modifier, as it might be useful.  not sure.

I don&apos;t understand the question; the application can use all of the gamepads simultaneously so there&apos;s no real selection to be done. We could potentially introduce the concept of a &quot;primary&quot; gamepad but I&apos;m not sure if it&apos;s well-defined.

Changed to sampleGamepads as that sounds nicer. At the moment &quot;Available&quot; feels redundant to me, but I could be convinced otherwise.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497343</commentid>
    <comment_count>5</comment_count>
      <attachid>113902</attachid>
    <who name="Scott Graham">scottmg</who>
    <bug_when>2011-11-07 11:44:41 -0800</bug_when>
    <thetext>Created attachment 113902
updates per review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497558</commentid>
    <comment_count>6</comment_count>
      <attachid>113948</attachid>
    <who name="Scott Graham">scottmg</who>
    <bug_when>2011-11-07 16:01:41 -0800</bug_when>
    <thetext>Created attachment 113948
update for runtime enable landed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497581</commentid>
    <comment_count>7</comment_count>
      <attachid>113948</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-07 16:29:30 -0800</bug_when>
    <thetext>Comment on attachment 113948
update for runtime enable landed

Attachment 113948 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10332790</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497588</commentid>
    <comment_count>8</comment_count>
      <attachid>113955</attachid>
    <who name="Scott Graham">scottmg</who>
    <bug_when>2011-11-07 16:35:38 -0800</bug_when>
    <thetext>Created attachment 113955
update to ToT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498282</commentid>
    <comment_count>9</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-11-08 11:33:34 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; I don&apos;t understand the question; the application can use all of the gamepads simultaneously so there&apos;s no real selection to be done. We could potentially introduce the concept of a &quot;primary&quot; gamepad but I&apos;m not sure if it&apos;s well-defined.
&gt; 
&gt; Changed to sampleGamepads as that sounds nicer. At the moment &quot;Available&quot; feels redundant to me, but I could be convinced otherwise.

Ah, I hadn&apos;t considered an app taking input from multiple gamepads at once.  That makes complete sense though!  Thanks for the clarification.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498409</commentid>
    <comment_count>10</comment_count>
      <attachid>113955</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-11-08 13:45:25 -0800</bug_when>
    <thetext>Comment on attachment 113955
update to ToT

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

&gt; Source/WebKit/chromium/public/WebGamepads.h:35
&gt; +    class WebGamepad {

nit: we usually reserve the Web-prefix for top-level types.  Inner types drop the prefix.

I guess this is bike-shedding territory, but all things considered, how about moving
WebGamepad back to the top-level, and then eliminate WebGamepads in favor of just having
the sampleGamepads function return a |const WebGamepad*| that is terminated by an empty
WebGamepad structure or return the length as an out parameter?

  virtual const WebGamepad* sampleGamepads(); // Terminated by &quot;empty&quot; WebGamepad
  virtual const WebGamepad* sampleGamepads(unsigned* length);
  virtual unsigned sampleGamepads(const WebGamepad**);
  virtual unsigned sampleGamepads(WebGamepad* buffer, unsigned bufferLength); // Returns number of WebGamepad elements, up to bufferLength, that are filled in.

Finally, you could also go with:

  virtual WebVector&lt;WebGamepad&gt; sampleGamepads();

^^^ Perhaps the cost of copying is worth the improved code simplicity?

If you don&apos;t like such options, then my next suggestion is WebGamepad as a top-level type
with WebGamepads as its own top-level type.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498425</commentid>
    <comment_count>11</comment_count>
      <attachid>113955</attachid>
    <who name="Scott Graham">scottmg</who>
    <bug_when>2011-11-08 14:16:45 -0800</bug_when>
    <thetext>Comment on attachment 113955
update to ToT

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

&gt;&gt; Source/WebKit/chromium/public/WebGamepads.h:35

&gt; 
&gt; nit: we usually reserve the Web-prefix for top-level types.  Inner types drop the prefix.
&gt; 
&gt; I guess this is bike-shedding territory, but all things considered, how about moving
&gt; WebGamepad back to the top-level, and then eliminate WebGamepads in favor of just having
&gt; the sampleGamepads function return a |const WebGamepad*| that is terminated by an empty
&gt; WebGamepad structure or return the length as an out parameter?
&gt; 
&gt;   virtual const WebGamepad* sampleGamepads(); // Terminated by &quot;empty&quot; WebGamepad
&gt;   virtual const WebGamepad* sampleGamepads(unsigned* length);
&gt;   virtual unsigned sampleGamepads(const WebGamepad**);
&gt;   virtual unsigned sampleGamepads(WebGamepad* buffer, unsigned bufferLength); // Returns number of WebGamepad elements, up to bufferLength, that are filled in.
&gt; 
&gt; Finally, you could also go with:
&gt; 
&gt;   virtual WebVector&lt;WebGamepad&gt; sampleGamepads();
&gt; 
&gt; ^^^ Perhaps the cost of copying is worth the improved code simplicity?
&gt; 
&gt; If you don&apos;t like such options, then my next suggestion is WebGamepad as a top-level type
&gt; with WebGamepads as its own top-level type.

OK. I prefer

virtual unsigned sampleGamepads(WebGamepad* buffer, unsigned bufferLength);

if that&apos;s agreeable. That seems worth it to get rid of one of the types.

I will avoid &quot;empty&quot; termination because when gamepads are removed, the others that are still connected must not change indices. That means we&apos;d have to have both &quot;disconnected&quot; and &quot;end-of-list&quot; which seems confusing.

Using that prototype should also still allow a fixed size one-time allocation of this structure on the Chromium side.

Given the localized usage and limited number of calls (i.e. one) to this API, the minor improvement in simplicity doesn&apos;t seem worth the copy (to me).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499060</commentid>
    <comment_count>12</comment_count>
    <who name="Scott Graham">scottmg</who>
    <bug_when>2011-11-09 09:25:47 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 113955 [details])

&gt; &gt; I guess this is bike-shedding territory, but all things considered, how about moving
&gt; &gt; WebGamepad back to the top-level, and then eliminate WebGamepads in favor of just having
&gt; &gt; the sampleGamepads function return a |const WebGamepad*| that is terminated by an empty
&gt; &gt; WebGamepad structure or return the length as an out parameter?
&gt; &gt; 
&gt; &gt;   virtual const WebGamepad* sampleGamepads(); // Terminated by &quot;empty&quot; WebGamepad
&gt; &gt;   virtual const WebGamepad* sampleGamepads(unsigned* length);
&gt; &gt;   virtual unsigned sampleGamepads(const WebGamepad**);
&gt; &gt;   virtual unsigned sampleGamepads(WebGamepad* buffer, unsigned bufferLength); // Returns number of WebGamepad elements, up to bufferLength, that are filled in.
&gt; &gt; 
&gt; &gt; Finally, you could also go with:
&gt; &gt; 
&gt; &gt;   virtual WebVector&lt;WebGamepad&gt; sampleGamepads();
&gt; &gt; 
&gt; &gt; ^^^ Perhaps the cost of copying is worth the improved code simplicity?
&gt; &gt; 
&gt; &gt; If you don&apos;t like such options, then my next suggestion is WebGamepad as a top-level type
&gt; &gt; with WebGamepads as its own top-level type.
&gt;
&gt;I prefer
&gt; 
&gt; virtual unsigned sampleGamepads(WebGamepad* buffer, unsigned bufferLength);
&gt; 
&gt; if that&apos;s agreeable. That seems worth it to get rid of one of the types.

Having gone through and changed this, I kind of don&apos;t like it now. It adds noise down through the glue code that has to track the maximum and actual lengths in function signatures, and those lengths are disconnected from the buffer.

So, I intend to go with the &quot;two top-level types&quot; option now, as I think it&apos;s a bit tidier, when considering the consumers of this API.

(Apologies for dithering on this relatively minor point)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499103</commentid>
    <comment_count>13</comment_count>
      <attachid>114308</attachid>
    <who name="Scott Graham">scottmg</who>
    <bug_when>2011-11-09 10:07:47 -0800</bug_when>
    <thetext>Created attachment 114308
separate top level types</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499281</commentid>
    <comment_count>14</comment_count>
      <attachid>114345</attachid>
    <who name="Scott Graham">scottmg</who>
    <bug_when>2011-11-09 13:05:37 -0800</bug_when>
    <thetext>Created attachment 114345
whitespace</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499489</commentid>
    <comment_count>15</comment_count>
      <attachid>114345</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-11-09 17:00:31 -0800</bug_when>
    <thetext>Comment on attachment 114345
whitespace

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

&gt; Source/WebKit/chromium/public/WebGamepad.h:31
&gt; +// This structure is intentionally POD and fixed size so that it can be shared

nit: &quot;can be [stored in] shared&quot;

&gt; Source/WebKit/chromium/public/WebGamepad.h:53
&gt; +    unsigned index;

i&apos;m not entirely sure why this is needed.  why wouldn&apos;t you just leave holes in WebGamepads?  or, is this so that you can avoid wasting storage space for the holes?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499497</commentid>
    <comment_count>16</comment_count>
      <attachid>114398</attachid>
    <who name="Scott Graham">scottmg</who>
    <bug_when>2011-11-09 17:06:43 -0800</bug_when>
    <thetext>Created attachment 114398
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499502</commentid>
    <comment_count>17</comment_count>
      <attachid>114345</attachid>
    <who name="Scott Graham">scottmg</who>
    <bug_when>2011-11-09 17:08:47 -0800</bug_when>
    <thetext>Comment on attachment 114345
whitespace

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

&gt;&gt; Source/WebKit/chromium/public/WebGamepad.h:31
&gt;&gt; +// This structure is intentionally POD and fixed size so that it can be shared
&gt; 
&gt; nit: &quot;can be [stored in] shared&quot;

Done.

&gt;&gt; Source/WebKit/chromium/public/WebGamepad.h:53
&gt;&gt; +    unsigned index;
&gt; 
&gt; i&apos;m not entirely sure why this is needed.  why wouldn&apos;t you just leave holes in WebGamepads?  or, is this so that you can avoid wasting storage space for the holes?

Agreed, removed. (It was needed in a previous iteration that attempted to send each pad separately so to know where to slot it.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502941</commentid>
    <comment_count>18</comment_count>
    <who name="Scott Graham">scottmg</who>
    <bug_when>2011-11-15 08:53:50 -0800</bug_when>
    <thetext>Hey Darin, you had previously r+&apos;d with comments, but I fat fingered when uploading the tweaks. Could I get you to r+ again?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503125</commentid>
    <comment_count>19</comment_count>
      <attachid>114398</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-15 12:05:49 -0800</bug_when>
    <thetext>Comment on attachment 114398
Patch

Clearing flags on attachment: 114398

Committed r100306: &lt;http://trac.webkit.org/changeset/100306&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503126</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-15 12:05:54 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113572</attachid>
            <date>2011-11-03 16:28:21 -0700</date>
            <delta_ts>2011-11-07 11:44:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71518-20111103162820.patch</filename>
            <type>text/plain</type>
            <size>7425</size>
            <attacher name="Scott Graham">scottmg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTkyMjkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
MDFjNjM4OWU4NTg0NTE0NmQ1ZmZiOWRjZDk1MTJmODIwNjkyMjllMC4uZDQwNDk5OTNmYmJkZTM4
ZTNjNGYyYTlkNmU4ZGZhYjI3NjlmN2MxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyNyBAQAorMjAxMS0xMS0wMyAgU2NvdHQgR3JhaGFtICA8c2NvdHRtZ0BjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgW0Nocm9taXVtXSBnYW1lcGFkIGNoYW5nZXMgdG8gdGhlIHB1Ymxp
YyBpbnRlcmZhY2Ugb2YgQ2hyb21pdW0gcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE1MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGRzIHN0dWJzIGZvciBDaHJvbWl1bSBwb3J0LCBhbmQgZGVm
aW5lcyBzaGFyZWQgbWVtb3J5IHN0cnVjdHVyZSB0bworICAgICAgICBiZSB1c2VkIGJldHdlZW4g
YnJvd3NlciBhbmQgV2ViS2l0LgorCisgICAgICAgIEluY2x1ZGVzIGp1c3QgdGhlIHBhcnRzIHRo
YXQgdG91Y2ggdGhlIHB1YmxpYyBpbnRlcmZhY2Ugc28gdGhleSBjYW4gYmUKKyAgICAgICAgcmV2
aWV3ZWQgc2VwYXJhdGVseS4gU2VlIGFsc286CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02OTQ1MSBhbmQKKyAgICAgICAgaHR0cDovL2NvZGVyZXZpZXcu
Y2hyb21pdW0ub3JnLzgzNDUwMjcKKworICAgICAgICAqIFdlYktpdC5neXA6CisgICAgICAgICog
cHVibGljL1dlYkdhbWVwYWRzLmg6IEFkZGVkLgorICAgICAgICAqIHB1YmxpYy9XZWJLaXRQbGF0
Zm9ybVN1cHBvcnQuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViS2l0UGxhdGZvcm1TdXBwb3J0Ojpw
b2xsR2FtZXBhZHMpOgorICAgICAgICAqIHB1YmxpYy9XZWJSdW50aW1lRmVhdHVyZXMuaDoKKyAg
ICAgICAgKiBzcmMvV2ViUnVudGltZUZlYXR1cmVzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UnVudGltZUZlYXR1cmVzOjplbmFibGVHYW1lcGFkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUnVu
dGltZUZlYXR1cmVzOjppc0dhbWVwYWRFbmFibGVkKToKKwogMjAxMS0xMS0wMyAgRmFkeSBTYW11
ZWwgIDxmc2FtdWVsQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbQ2hyb21pdW1dIFJlZmFjdG9y
IFdlYkZyYW1lSW1wbDo6Y3JlYXRlRnJhbWVWaWV3KCkgdG8gdXNlIEZyYW1lOmNyZWF0ZVZpZXcK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cCBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAppbmRleCA1ZDgzYzg0YjAyYjYzYjIxNTQzZWQ3Zjkw
NTEwMmI2YmNiODc5ODI4Li5lMDRjYWU1YjllOWE4NmEyNjE3ZTNmNTE4ZTEzMDUwNjMwNjQyNjlk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCkBAIC0xOTEsNiArMTkxLDcgQEAKICAgICAg
ICAgICAgICAgICAncHVibGljL1dlYkZvbnRDYWNoZS5oJywKICAgICAgICAgICAgICAgICAncHVi
bGljL1dlYkZvcm1Db250cm9sRWxlbWVudC5oJywKICAgICAgICAgICAgICAgICAncHVibGljL1dl
YkZvcm1FbGVtZW50LmgnLAorICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViR2FtZXBhZHMuaCcs
CiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJHZW9sb2NhdGlvbkNsaWVudC5oJywKICAgICAg
ICAgICAgICAgICAncHVibGljL1dlYkdlb2xvY2F0aW9uQ2xpZW50TW9jay5oJywKICAgICAgICAg
ICAgICAgICAncHVibGljL1dlYkdlb2xvY2F0aW9uQ29udHJvbGxlci5oJywKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkdhbWVwYWRzLmggYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3B1YmxpYy9XZWJHYW1lcGFkcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI0YzFkYjZmZWM2
ZDBkNTJhYjJlOWY0OTBkYjU3YzBlZGU4YmQ5MDIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJHYW1lcGFkcy5oCkBAIC0wLDAgKzEsNzUgQEAKKy8v
IENvcHlyaWdodCAoQykgMjAxMSwgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8v
CisvLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKy8vIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorLy8KKy8vIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisv
LyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisvLyAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorLy8gICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorLy8gICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKy8vCisvLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorLy8gQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisvLyBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRQorLy8gQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
CisvLyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUgorLy8gU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKKy8vIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VAorLy8gTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorLy8gT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNICisvLyBEQU1BR0Uu
CisKKyNpZm5kZWYgV2ViR2FtZXBhZHNfaAorI2RlZmluZSBXZWJHYW1lcGFkc19oCisKK25hbWVz
cGFjZSBXZWJLaXQgeworCitjb25zdCBpbnQgbWF4aW11bUdhbWVwYWRJZExlbmd0aCA9IDEyODsK
K2NvbnN0IGludCBtYXhpbXVtR2FtZXBhZEF4ZXMgPSAxNjsKK2NvbnN0IGludCBtYXhpbXVtR2Ft
ZXBhZEJ1dHRvbnMgPSAxNjsKK2NvbnN0IGludCBtYXhpbXVtR2FtZXBhZHMgPSA0OworCitjbGFz
cyBXZWJHYW1lcGFkIHsKK3B1YmxpYzoKKyAgICAvLyBJcyB0aGVyZSBhIGdhbWVwYWQgY29ubmVj
dGVkIGF0IHRoaXMgaW5kZXg/CisgICAgYm9vbCBjb25uZWN0ZWQ7CisKKyAgICAvLyBJbmRleCBv
ZiBHYW1lcGFkIGluIEdhbWVwYWRzIGFycmF5LgorICAgIHVuc2lnbmVkIGluZGV4OworCisgICAg
Ly8gRGV2aWNlIGlkZW50aWZpZXIgKGJhc2VkIG9uIG1hbnVmYWN0dXJlciwgbW9kZWwsIGV0Yy4p
LgorICAgIGNoYXIgaWRbbWF4aW11bUdhbWVwYWRJZExlbmd0aF07CisKKyAgICAvLyBNb25vdG9u
aWNhbGx5IGluY3JlYXNpbmcgdmFsdWUgcmVmZXJyaW5nIHRvIHdoZW4gdGhlIGRhdGEgd2VyZSBs
YXN0CisgICAgLy8gdXBkYXRlZC4KKyAgICB1bnNpZ25lZCBsb25nIGxvbmcgdGltZXN0YW1wOwor
CisgICAgLy8gTnVtYmVyIG9mIHZhbGlkIGVudHJpZXMgaW4gdGhlIGF4ZXMgYXJyYXkuCisgICAg
dW5zaWduZWQgbnVtQXhlczsKKworICAgIC8vIE5vcm1hbGl6ZWQgdmFsdWVzIHJlcHJlc2VudGlu
ZyBheGVzLCBpbiB0aGUgcmFuZ2UgWy0xLi4xXS4KKyAgICBmbG9hdCBheGVzW21heGltdW1HYW1l
cGFkQXhlc107CisKKyAgICAvLyBOdW1iZXIgb2YgdmFsaWQgZW50cmllcyBpbiB0aGUgYnV0dG9u
cyBhcnJheS4KKyAgICB1bnNpZ25lZCBudW1CdXR0b25zOworCisgICAgLy8gTm9ybWFsaXplZCB2
YWx1ZXMgcmVwcmVzZW50aW5nIGJ1dHRvbnMsIGluIHRoZSByYW5nZSBbMC4uMV0uCisgICAgZmxv
YXQgYnV0dG9uc1ttYXhpbXVtR2FtZXBhZEJ1dHRvbnNdOworfTsKKworLy8gVGhpcyBzdHJ1Y3R1
cmUgaXMgaW50ZW50aW9uYWxseSBQT0QgYW5kIGZpeGVkIHNpemUgc28gdGhhdCBpdCBjYW4gYmUg
c2hhcmVkCisvLyBtZW1vcnkgYmV0d2VlbiBoYXJkd2FyZSBwb2xsaW5nIHRocmVhZHMgYW5kIHRo
ZSByZXN0IG9mIHRoZSBicm93c2VyLgorY2xhc3MgV2ViR2FtZXBhZHMgeworcHVibGljOgorICAg
IC8vIE51bWJlciBvZiB2YWxpZCBlbnRyaWVzIGluIHRoZSBnYW1lcGFkcyBhcnJheS4KKyAgICBp
bnQgbnVtR2FtZXBhZHM7CisKKyAgICAvLyBHYW1lcGFkIGRhdGEgZm9yIE4gc2VwYXJhdGUgZ2Ft
ZXBhZCBkZXZpY2VzLgorICAgIFdlYkdhbWVwYWQgZ2FtZXBhZHNbbWF4aW11bUdhbWVwYWRzXTsK
K307CisKK30KKworI2VuZGlmIC8vIFdlYkdhbWVwYWRzX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYktpdFBsYXRmb3JtU3VwcG9ydC5oIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViS2l0UGxhdGZvcm1TdXBwb3J0LmgKaW5kZXggNTI4MTQ3
OTRkOWQyMTRhY2JjM2U4YzE3MjRhMjNlMDVhMTdlZTJhYi4uNjM3NTIyNTg3MDFiMWM0ODEyMzgx
ZTA0ZDhiNzdkY2MxNWVhMDJiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViS2l0UGxhdGZvcm1TdXBwb3J0LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9wdWJsaWMvV2ViS2l0UGxhdGZvcm1TdXBwb3J0LmgKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNs
dWRlICJXZWJBdWRpb0RldmljZS5oIgogI2luY2x1ZGUgIldlYkNvbW1vbi5oIgogI2luY2x1ZGUg
IldlYkRhdGEuaCIKKyNpbmNsdWRlICJXZWJHYW1lcGFkcy5oIgogI2luY2x1ZGUgIldlYkxvY2Fs
aXplZFN0cmluZy5oIgogI2luY2x1ZGUgIldlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIgogI2lu
Y2x1ZGUgIldlYlN0cmluZy5oIgpAQCAtMTA4LDYgKzEwOSwxMCBAQCBwdWJsaWM6CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlVSTCYgdXJsLCBib29sIGlz
TG9jYWxTdG9yYWdlKSB7IH0KIAogCisgICAgLy8gR2FtZXBhZCAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgdmlydHVhbCB2
b2lkIHBvbGxHYW1lcGFkcyhXZWJHYW1lcGFkcyYgcGFkcykgeyBwYWRzLm51bUdhbWVwYWRzID0g
MDsgfQorCisKICAgICAvLyBIaXN0b3J5IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogICAgIC8vIFJldHVybnMgdGhlIGhhc2gg
Zm9yIHRoZSBnaXZlbiBjYW5vbmljYWxpemVkIFVSTCBmb3IgdXNlIGluIHZpc2l0ZWQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlJ1bnRpbWVGZWF0dXJlcy5o
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViUnVudGltZUZlYXR1cmVzLmgKaW5k
ZXggNmMzZDI5OTA3NWNlZDhkOTEwOGJjMjRhNzcxNTNmNDJkYWE3YmJjMy4uOWIyMWNiMjA5N2E1
MzZkZmM5ZTIyN2ZlZGU1M2M1MzkxYWM1MTc5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViUnVudGltZUZlYXR1cmVzLmgKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViUnVudGltZUZlYXR1cmVzLmgKQEAgLTExOCw2ICsxMTgsOSBAQCBw
dWJsaWM6CiAgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgdm9pZCBlbmFibGVWaWRlb1RyYWNrKGJv
b2wpOwogICAgIFdFQktJVF9FWFBPUlQgc3RhdGljIGJvb2wgaXNWaWRlb1RyYWNrRW5hYmxlZCgp
OwogCisgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgdm9pZCBlbmFibGVHYW1lcGFkKGJvb2wpOwor
ICAgIFdFQktJVF9FWFBPUlQgc3RhdGljIGJvb2wgaXNHYW1lcGFkRW5hYmxlZCgpOworCiBwcml2
YXRlOgogICAgIFdlYlJ1bnRpbWVGZWF0dXJlcygpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYlJ1bnRpbWVGZWF0dXJlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJSdW50aW1lRmVhdHVyZXMuY3BwCmluZGV4IDZiMjgzM2E5ZWI5MTll
MzkxNmY1NmMwOTk0Njc0ZTQ1MjI1MDA0ZTUuLjU4ZjExZWI0YTI2ZTNkOWUwMGJjM2U3NzI0YzJi
ODBmMjZlMmUyODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlJ1
bnRpbWVGZWF0dXJlcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUnVu
dGltZUZlYXR1cmVzLmNwcApAQCAtNDE0LDQgKzQxNCwxNiBAQCBib29sIFdlYlJ1bnRpbWVGZWF0
dXJlczo6aXNWaWRlb1RyYWNrRW5hYmxlZCgpCiAjZW5kaWYKIH0KIAordm9pZCBXZWJSdW50aW1l
RmVhdHVyZXM6OmVuYWJsZUdhbWVwYWQoYm9vbCBlbmFibGUpCit7CisgICAgLy8gU3R1YiB1bnRp
bCBjaGFuZ2VzIHRvIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJs
ZWRGZWF0dXJlcy5oIGxhbmRlZC4KKyAgICBVTlVTRURfUEFSQU0oZW5hYmxlKTsKK30KKworYm9v
bCBXZWJSdW50aW1lRmVhdHVyZXM6OmlzR2FtZXBhZEVuYWJsZWQoKQoreworICAgIC8vIFN0dWIg
dW50aWwgY2hhbmdlcyB0byBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVF
bmFibGVkRmVhdHVyZXMuaCBsYW5kZWQuCisgICAgcmV0dXJuIGZhbHNlOworfQorCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113902</attachid>
            <date>2011-11-07 11:44:41 -0800</date>
            <delta_ts>2011-11-07 16:01:37 -0800</delta_ts>
            <desc>updates per review</desc>
            <filename>bug-71518-20111107114440.patch</filename>
            <type>text/plain</type>
            <size>7845</size>
            <attacher name="Scott Graham">scottmg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTkyMjkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
MDFjNjM4OWU4NTg0NTE0NmQ1ZmZiOWRjZDk1MTJmODIwNjkyMjllMC4uZDQwNDk5OTNmYmJkZTM4
ZTNjNGYyYTlkNmU4ZGZhYjI3NjlmN2MxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyNyBAQAorMjAxMS0xMS0wMyAgU2NvdHQgR3JhaGFtICA8c2NvdHRtZ0BjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgW0Nocm9taXVtXSBnYW1lcGFkIGNoYW5nZXMgdG8gdGhlIHB1Ymxp
YyBpbnRlcmZhY2Ugb2YgQ2hyb21pdW0gcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE1MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGRzIHN0dWJzIGZvciBDaHJvbWl1bSBwb3J0LCBhbmQgZGVm
aW5lcyBzaGFyZWQgbWVtb3J5IHN0cnVjdHVyZSB0bworICAgICAgICBiZSB1c2VkIGJldHdlZW4g
YnJvd3NlciBhbmQgV2ViS2l0LgorCisgICAgICAgIEluY2x1ZGVzIGp1c3QgdGhlIHBhcnRzIHRo
YXQgdG91Y2ggdGhlIHB1YmxpYyBpbnRlcmZhY2Ugc28gdGhleSBjYW4gYmUKKyAgICAgICAgcmV2
aWV3ZWQgc2VwYXJhdGVseS4gU2VlIGFsc286CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02OTQ1MSBhbmQKKyAgICAgICAgaHR0cDovL2NvZGVyZXZpZXcu
Y2hyb21pdW0ub3JnLzgzNDUwMjcKKworICAgICAgICAqIFdlYktpdC5neXA6CisgICAgICAgICog
cHVibGljL1dlYkdhbWVwYWRzLmg6IEFkZGVkLgorICAgICAgICAqIHB1YmxpYy9XZWJLaXRQbGF0
Zm9ybVN1cHBvcnQuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViS2l0UGxhdGZvcm1TdXBwb3J0Ojpw
b2xsR2FtZXBhZHMpOgorICAgICAgICAqIHB1YmxpYy9XZWJSdW50aW1lRmVhdHVyZXMuaDoKKyAg
ICAgICAgKiBzcmMvV2ViUnVudGltZUZlYXR1cmVzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UnVudGltZUZlYXR1cmVzOjplbmFibGVHYW1lcGFkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUnVu
dGltZUZlYXR1cmVzOjppc0dhbWVwYWRFbmFibGVkKToKKwogMjAxMS0xMS0wMyAgRmFkeSBTYW11
ZWwgIDxmc2FtdWVsQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbQ2hyb21pdW1dIFJlZmFjdG9y
IFdlYkZyYW1lSW1wbDo6Y3JlYXRlRnJhbWVWaWV3KCkgdG8gdXNlIEZyYW1lOmNyZWF0ZVZpZXcK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cCBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAppbmRleCA1ZDgzYzg0YjAyYjYzYjIxNTQzZWQ3Zjkw
NTEwMmI2YmNiODc5ODI4Li5lMDRjYWU1YjllOWE4NmEyNjE3ZTNmNTE4ZTEzMDUwNjMwNjQyNjlk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCkBAIC0xOTEsNiArMTkxLDcgQEAKICAgICAg
ICAgICAgICAgICAncHVibGljL1dlYkZvbnRDYWNoZS5oJywKICAgICAgICAgICAgICAgICAncHVi
bGljL1dlYkZvcm1Db250cm9sRWxlbWVudC5oJywKICAgICAgICAgICAgICAgICAncHVibGljL1dl
YkZvcm1FbGVtZW50LmgnLAorICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViR2FtZXBhZHMuaCcs
CiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJHZW9sb2NhdGlvbkNsaWVudC5oJywKICAgICAg
ICAgICAgICAgICAncHVibGljL1dlYkdlb2xvY2F0aW9uQ2xpZW50TW9jay5oJywKICAgICAgICAg
ICAgICAgICAncHVibGljL1dlYkdlb2xvY2F0aW9uQ29udHJvbGxlci5oJywKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkdhbWVwYWRzLmggYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3B1YmxpYy9XZWJHYW1lcGFkcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU5YjJmYzczNDVj
OTFmZDY5MWU1ZTk4ODFjMGY0OGY4YzA2NTRlYjEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJHYW1lcGFkcy5oCkBAIC0wLDAgKzEsOTEgQEAKKy8v
IENvcHlyaWdodCAoQykgMjAxMSwgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8v
CisvLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKy8vIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorLy8KKy8vIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisv
LyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisvLyAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorLy8gICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorLy8gICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKy8vCisvLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorLy8gQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisvLyBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRQorLy8gQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
CisvLyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUgorLy8gU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKKy8vIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VAorLy8gTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorLy8gT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNICisvLyBEQU1BR0Uu
CisKKyNpZm5kZWYgV2ViR2FtZXBhZHNfaAorI2RlZmluZSBXZWJHYW1lcGFkc19oCisKKyNpbmNs
dWRlICJXZWJDb21tb24uaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKKy8vIFRoaXMgc3RydWN0
dXJlIGlzIGludGVudGlvbmFsbHkgUE9EIGFuZCBmaXhlZCBzaXplIHNvIHRoYXQgaXQgY2FuIGJl
IHNoYXJlZAorLy8gbWVtb3J5IGJldHdlZW4gaGFyZHdhcmUgcG9sbGluZyB0aHJlYWRzIGFuZCB0
aGUgcmVzdCBvZiB0aGUgYnJvd3Nlci4KK2NsYXNzIFdlYkdhbWVwYWRzIHsKK3B1YmxpYzoKKyAg
ICBjbGFzcyBXZWJHYW1lcGFkIHsKKyAgICBwdWJsaWM6CisgICAgICAgIHN0YXRpYyBjb25zdCBz
aXplX3QgaWRMZW5ndGhDYXAgPSAxMjg7CisgICAgICAgIHN0YXRpYyBjb25zdCBzaXplX3QgYXhl
c0xlbmd0aENhcCA9IDE2OworICAgICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGJ1dHRvbnNMZW5n
dGhDYXAgPSAxNjsKKworICAgICAgICBXZWJHYW1lcGFkKCkKKyAgICAgICAgICAgIDogY29ubmVj
dGVkKGZhbHNlKQorICAgICAgICAgICAgLCBpbmRleChzdGF0aWNfY2FzdDx1bnNpZ25lZD4oLTEp
KQorICAgICAgICAgICAgLCB0aW1lc3RhbXAoMCkKKyAgICAgICAgICAgICwgYXhlc0xlbmd0aCgw
KQorICAgICAgICAgICAgLCBidXR0b25zTGVuZ3RoKDApCisgICAgICAgIHsKKyAgICAgICAgICAg
IGlkWzBdID0gMDsKKyAgICAgICAgfQorCisgICAgICAgIC8vIElzIHRoZXJlIGEgZ2FtZXBhZCBj
b25uZWN0ZWQgYXQgdGhpcyBpbmRleD8KKyAgICAgICAgYm9vbCBjb25uZWN0ZWQ7CisKKyAgICAg
ICAgLy8gSW5kZXggb2YgR2FtZXBhZCBpbiBHYW1lcGFkcyBhcnJheS4KKyAgICAgICAgdW5zaWdu
ZWQgaW5kZXg7CisKKyAgICAgICAgLy8gRGV2aWNlIGlkZW50aWZpZXIgKGJhc2VkIG9uIG1hbnVm
YWN0dXJlciwgbW9kZWwsIGV0Yy4pLgorICAgICAgICBXZWJVQ2hhciBpZFtpZExlbmd0aENhcF07
CisKKyAgICAgICAgLy8gTW9ub3RvbmljYWxseSBpbmNyZWFzaW5nIHZhbHVlIHJlZmVycmluZyB0
byB3aGVuIHRoZSBkYXRhIHdlcmUgbGFzdAorICAgICAgICAvLyB1cGRhdGVkLgorICAgICAgICB1
bnNpZ25lZCBsb25nIGxvbmcgdGltZXN0YW1wOworCisgICAgICAgIC8vIE51bWJlciBvZiB2YWxp
ZCBlbnRyaWVzIGluIHRoZSBheGVzIGFycmF5LgorICAgICAgICB1bnNpZ25lZCBheGVzTGVuZ3Ro
OworCisgICAgICAgIC8vIE5vcm1hbGl6ZWQgdmFsdWVzIHJlcHJlc2VudGluZyBheGVzLCBpbiB0
aGUgcmFuZ2UgWy0xLi4xXS4KKyAgICAgICAgZmxvYXQgYXhlc1theGVzTGVuZ3RoQ2FwXTsKKwor
ICAgICAgICAvLyBOdW1iZXIgb2YgdmFsaWQgZW50cmllcyBpbiB0aGUgYnV0dG9ucyBhcnJheS4K
KyAgICAgICAgdW5zaWduZWQgYnV0dG9uc0xlbmd0aDsKKworICAgICAgICAvLyBOb3JtYWxpemVk
IHZhbHVlcyByZXByZXNlbnRpbmcgYnV0dG9ucywgaW4gdGhlIHJhbmdlIFswLi4xXS4KKyAgICAg
ICAgZmxvYXQgYnV0dG9uc1tidXR0b25zTGVuZ3RoQ2FwXTsKKyAgICB9OworCisgICAgV2ViR2Ft
ZXBhZHMoKQorICAgICAgICA6IGxlbmd0aCgwKSB7IH0KKworICAgIHN0YXRpYyBjb25zdCBzaXpl
X3QgaXRlbXNMZW5ndGhDYXAgPSA0OworCisgICAgLy8gTnVtYmVyIG9mIHZhbGlkIGVudHJpZXMg
aW4gdGhlIGl0ZW1zIGFycmF5LgorICAgIHVuc2lnbmVkIGxlbmd0aDsKKworICAgIC8vIEdhbWVw
YWQgZGF0YSBmb3IgTiBzZXBhcmF0ZSBnYW1lcGFkIGRldmljZXMuCisgICAgV2ViR2FtZXBhZCBp
dGVtc1tpdGVtc0xlbmd0aENhcF07Cit9OworCit9CisKKyNlbmRpZiAvLyBXZWJHYW1lcGFkc19o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJLaXRQbGF0Zm9y
bVN1cHBvcnQuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYktpdFBsYXRmb3Jt
U3VwcG9ydC5oCmluZGV4IDUyODE0Nzk0ZDlkMjE0YWNiYzNlOGMxNzI0YTIzZTA1YTE3ZWUyYWIu
LjQ2MjE1MjMyYzEwOTlkODEwODFhZTA4YjMxNzkyZjY5NDljZGJkNDIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYktpdFBsYXRmb3JtU3VwcG9ydC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYktpdFBsYXRmb3JtU3VwcG9ydC5oCkBA
IC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiV2ViQXVkaW9EZXZpY2UuaCIKICNpbmNsdWRlICJX
ZWJDb21tb24uaCIKICNpbmNsdWRlICJXZWJEYXRhLmgiCisjaW5jbHVkZSAiV2ViR2FtZXBhZHMu
aCIKICNpbmNsdWRlICJXZWJMb2NhbGl6ZWRTdHJpbmcuaCIKICNpbmNsdWRlICJXZWJTZXJpYWxp
emVkU2NyaXB0VmFsdWUuaCIKICNpbmNsdWRlICJXZWJTdHJpbmcuaCIKQEAgLTEwOCw2ICsxMDks
MTEgQEAgcHVibGljOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBXZWJVUkwmIHVybCwgYm9vbCBpc0xvY2FsU3RvcmFnZSkgeyB9CiAKIAorICAgIC8vIEdhbWVw
YWQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQorCisgICAgdmlydHVhbCB2b2lkIHNhbXBsZUdhbWVwYWRzKFdlYkdhbWVwYWRzJiBw
YWRzKSB7IHBhZHMubGVuZ3RoID0gMDsgfQorCisKICAgICAvLyBIaXN0b3J5IC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogICAg
IC8vIFJldHVybnMgdGhlIGhhc2ggZm9yIHRoZSBnaXZlbiBjYW5vbmljYWxpemVkIFVSTCBmb3Ig
dXNlIGluIHZpc2l0ZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYlJ1bnRpbWVGZWF0dXJlcy5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
UnVudGltZUZlYXR1cmVzLmgKaW5kZXggNmMzZDI5OTA3NWNlZDhkOTEwOGJjMjRhNzcxNTNmNDJk
YWE3YmJjMy4uOWIyMWNiMjA5N2E1MzZkZmM5ZTIyN2ZlZGU1M2M1MzkxYWM1MTc5YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViUnVudGltZUZlYXR1cmVzLmgK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViUnVudGltZUZlYXR1cmVzLmgK
QEAgLTExOCw2ICsxMTgsOSBAQCBwdWJsaWM6CiAgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgdm9p
ZCBlbmFibGVWaWRlb1RyYWNrKGJvb2wpOwogICAgIFdFQktJVF9FWFBPUlQgc3RhdGljIGJvb2wg
aXNWaWRlb1RyYWNrRW5hYmxlZCgpOwogCisgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgdm9pZCBl
bmFibGVHYW1lcGFkKGJvb2wpOworICAgIFdFQktJVF9FWFBPUlQgc3RhdGljIGJvb2wgaXNHYW1l
cGFkRW5hYmxlZCgpOworCiBwcml2YXRlOgogICAgIFdlYlJ1bnRpbWVGZWF0dXJlcygpOwogfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlJ1bnRpbWVGZWF0dXJl
cy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJSdW50aW1lRmVhdHVyZXMuY3Bw
CmluZGV4IDZiMjgzM2E5ZWI5MTllMzkxNmY1NmMwOTk0Njc0ZTQ1MjI1MDA0ZTUuLjU4ZjExZWI0
YTI2ZTNkOWUwMGJjM2U3NzI0YzJiODBmMjZlMmUyODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlJ1bnRpbWVGZWF0dXJlcy5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViUnVudGltZUZlYXR1cmVzLmNwcApAQCAtNDE0LDQgKzQxNCwxNiBA
QCBib29sIFdlYlJ1bnRpbWVGZWF0dXJlczo6aXNWaWRlb1RyYWNrRW5hYmxlZCgpCiAjZW5kaWYK
IH0KIAordm9pZCBXZWJSdW50aW1lRmVhdHVyZXM6OmVuYWJsZUdhbWVwYWQoYm9vbCBlbmFibGUp
Cit7CisgICAgLy8gU3R1YiB1bnRpbCBjaGFuZ2VzIHRvIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIGxhbmRlZC4KKyAgICBVTlVTRURfUEFS
QU0oZW5hYmxlKTsKK30KKworYm9vbCBXZWJSdW50aW1lRmVhdHVyZXM6OmlzR2FtZXBhZEVuYWJs
ZWQoKQoreworICAgIC8vIFN0dWIgdW50aWwgY2hhbmdlcyB0byBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCBsYW5kZWQuCisgICAgcmV0dXJu
IGZhbHNlOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113948</attachid>
            <date>2011-11-07 16:01:41 -0800</date>
            <delta_ts>2011-11-07 16:35:35 -0800</delta_ts>
            <desc>update for runtime enable landed</desc>
            <filename>bug-71518-20111107160140.patch</filename>
            <type>text/plain</type>
            <size>7841</size>
            <attacher name="Scott Graham">scottmg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTkyMjkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
MDFjNjM4OWU4NTg0NTE0NmQ1ZmZiOWRjZDk1MTJmODIwNjkyMjllMC4uODE1N2MwNzViNThiNWJi
NjcwZDIyOTM0YTA3ZDE3MTc1YmU1NDFhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyNyBAQAorMjAxMS0xMS0wMyAgU2NvdHQgR3JhaGFtICA8c2NvdHRtZ0BjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgW0Nocm9taXVtXSBnYW1lcGFkIGNoYW5nZXMgdG8gdGhlIHB1Ymxp
YyBpbnRlcmZhY2Ugb2YgQ2hyb21pdW0gcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE1MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGRzIHN0dWJzIGZvciBDaHJvbWl1bSBwb3J0LCBhbmQgZGVm
aW5lcyBzaGFyZWQgbWVtb3J5IHN0cnVjdHVyZSB0bworICAgICAgICBiZSB1c2VkIGJldHdlZW4g
YnJvd3NlciBhbmQgV2ViS2l0LgorCisgICAgICAgIEluY2x1ZGVzIGp1c3QgdGhlIHBhcnRzIHRo
YXQgdG91Y2ggdGhlIHB1YmxpYyBpbnRlcmZhY2Ugc28gdGhleSBjYW4gYmUKKyAgICAgICAgcmV2
aWV3ZWQgc2VwYXJhdGVseS4gU2VlIGFsc286CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02OTQ1MSBhbmQKKyAgICAgICAgaHR0cDovL2NvZGVyZXZpZXcu
Y2hyb21pdW0ub3JnLzgzNDUwMjcKKworICAgICAgICAqIFdlYktpdC5neXA6CisgICAgICAgICog
cHVibGljL1dlYkdhbWVwYWRzLmg6IEFkZGVkLgorICAgICAgICAqIHB1YmxpYy9XZWJLaXRQbGF0
Zm9ybVN1cHBvcnQuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViS2l0UGxhdGZvcm1TdXBwb3J0Ojpz
YW1wbGVHYW1lcGFkcyk6CisgICAgICAgICogcHVibGljL1dlYlJ1bnRpbWVGZWF0dXJlcy5oOgor
ICAgICAgICAqIHNyYy9XZWJSdW50aW1lRmVhdHVyZXMuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJSdW50aW1lRmVhdHVyZXM6OmVuYWJsZUdhbWVwYWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJS
dW50aW1lRmVhdHVyZXM6OmlzR2FtZXBhZEVuYWJsZWQpOgorCiAyMDExLTExLTAzICBGYWR5IFNh
bXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0gUmVmYWN0
b3IgV2ViRnJhbWVJbXBsOjpjcmVhdGVGcmFtZVZpZXcoKSB0byB1c2UgRnJhbWU6Y3JlYXRlVmll
dwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCmluZGV4IDVkODNjODRiMDJiNjNiMjE1NDNlZDdm
OTA1MTAyYjZiY2I4Nzk4MjguLmUwNGNhZTViOWU5YTg2YTI2MTdlM2Y1MThlMTMwNTA2MzA2NDI2
OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAorKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKQEAgLTE5MSw2ICsxOTEsNyBAQAogICAg
ICAgICAgICAgICAgICdwdWJsaWMvV2ViRm9udENhY2hlLmgnLAogICAgICAgICAgICAgICAgICdw
dWJsaWMvV2ViRm9ybUNvbnRyb2xFbGVtZW50LmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMv
V2ViRm9ybUVsZW1lbnQuaCcsCisgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJHYW1lcGFkcy5o
JywKICAgICAgICAgICAgICAgICAncHVibGljL1dlYkdlb2xvY2F0aW9uQ2xpZW50LmgnLAogICAg
ICAgICAgICAgICAgICdwdWJsaWMvV2ViR2VvbG9jYXRpb25DbGllbnRNb2NrLmgnLAogICAgICAg
ICAgICAgICAgICdwdWJsaWMvV2ViR2VvbG9jYXRpb25Db250cm9sbGVyLmgnLApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViR2FtZXBhZHMuaCBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkdhbWVwYWRzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTliMmZjNzM0
NWM5MWZkNjkxZTVlOTg4MWMwZjQ4ZjhjMDY1NGViMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkdhbWVwYWRzLmgKQEAgLTAsMCArMSw5MSBAQAor
Ly8gQ29weXJpZ2h0IChDKSAyMDExLCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
Ly8KKy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorLy8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisvLworLy8gMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
Ky8vICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKy8vIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisvLyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisvLyAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorLy8KKy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisvLyBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKy8vIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFCisvLyBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8gRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwKKy8vIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCisvLyBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgorLy8gQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUCisvLyBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisvLyBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gKKy8vIERBTUFH
RS4KKworI2lmbmRlZiBXZWJHYW1lcGFkc19oCisjZGVmaW5lIFdlYkdhbWVwYWRzX2gKKworI2lu
Y2x1ZGUgIldlYkNvbW1vbi5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworLy8gVGhpcyBzdHJ1
Y3R1cmUgaXMgaW50ZW50aW9uYWxseSBQT0QgYW5kIGZpeGVkIHNpemUgc28gdGhhdCBpdCBjYW4g
YmUgc2hhcmVkCisvLyBtZW1vcnkgYmV0d2VlbiBoYXJkd2FyZSBwb2xsaW5nIHRocmVhZHMgYW5k
IHRoZSByZXN0IG9mIHRoZSBicm93c2VyLgorY2xhc3MgV2ViR2FtZXBhZHMgeworcHVibGljOgor
ICAgIGNsYXNzIFdlYkdhbWVwYWQgeworICAgIHB1YmxpYzoKKyAgICAgICAgc3RhdGljIGNvbnN0
IHNpemVfdCBpZExlbmd0aENhcCA9IDEyODsKKyAgICAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBh
eGVzTGVuZ3RoQ2FwID0gMTY7CisgICAgICAgIHN0YXRpYyBjb25zdCBzaXplX3QgYnV0dG9uc0xl
bmd0aENhcCA9IDE2OworCisgICAgICAgIFdlYkdhbWVwYWQoKQorICAgICAgICAgICAgOiBjb25u
ZWN0ZWQoZmFsc2UpCisgICAgICAgICAgICAsIGluZGV4KHN0YXRpY19jYXN0PHVuc2lnbmVkPigt
MSkpCisgICAgICAgICAgICAsIHRpbWVzdGFtcCgwKQorICAgICAgICAgICAgLCBheGVzTGVuZ3Ro
KDApCisgICAgICAgICAgICAsIGJ1dHRvbnNMZW5ndGgoMCkKKyAgICAgICAgeworICAgICAgICAg
ICAgaWRbMF0gPSAwOworICAgICAgICB9CisKKyAgICAgICAgLy8gSXMgdGhlcmUgYSBnYW1lcGFk
IGNvbm5lY3RlZCBhdCB0aGlzIGluZGV4PworICAgICAgICBib29sIGNvbm5lY3RlZDsKKworICAg
ICAgICAvLyBJbmRleCBvZiBHYW1lcGFkIGluIEdhbWVwYWRzIGFycmF5LgorICAgICAgICB1bnNp
Z25lZCBpbmRleDsKKworICAgICAgICAvLyBEZXZpY2UgaWRlbnRpZmllciAoYmFzZWQgb24gbWFu
dWZhY3R1cmVyLCBtb2RlbCwgZXRjLikuCisgICAgICAgIFdlYlVDaGFyIGlkW2lkTGVuZ3RoQ2Fw
XTsKKworICAgICAgICAvLyBNb25vdG9uaWNhbGx5IGluY3JlYXNpbmcgdmFsdWUgcmVmZXJyaW5n
IHRvIHdoZW4gdGhlIGRhdGEgd2VyZSBsYXN0CisgICAgICAgIC8vIHVwZGF0ZWQuCisgICAgICAg
IHVuc2lnbmVkIGxvbmcgbG9uZyB0aW1lc3RhbXA7CisKKyAgICAgICAgLy8gTnVtYmVyIG9mIHZh
bGlkIGVudHJpZXMgaW4gdGhlIGF4ZXMgYXJyYXkuCisgICAgICAgIHVuc2lnbmVkIGF4ZXNMZW5n
dGg7CisKKyAgICAgICAgLy8gTm9ybWFsaXplZCB2YWx1ZXMgcmVwcmVzZW50aW5nIGF4ZXMsIGlu
IHRoZSByYW5nZSBbLTEuLjFdLgorICAgICAgICBmbG9hdCBheGVzW2F4ZXNMZW5ndGhDYXBdOwor
CisgICAgICAgIC8vIE51bWJlciBvZiB2YWxpZCBlbnRyaWVzIGluIHRoZSBidXR0b25zIGFycmF5
LgorICAgICAgICB1bnNpZ25lZCBidXR0b25zTGVuZ3RoOworCisgICAgICAgIC8vIE5vcm1hbGl6
ZWQgdmFsdWVzIHJlcHJlc2VudGluZyBidXR0b25zLCBpbiB0aGUgcmFuZ2UgWzAuLjFdLgorICAg
ICAgICBmbG9hdCBidXR0b25zW2J1dHRvbnNMZW5ndGhDYXBdOworICAgIH07CisKKyAgICBXZWJH
YW1lcGFkcygpCisgICAgICAgIDogbGVuZ3RoKDApIHsgfQorCisgICAgc3RhdGljIGNvbnN0IHNp
emVfdCBpdGVtc0xlbmd0aENhcCA9IDQ7CisKKyAgICAvLyBOdW1iZXIgb2YgdmFsaWQgZW50cmll
cyBpbiB0aGUgaXRlbXMgYXJyYXkuCisgICAgdW5zaWduZWQgbGVuZ3RoOworCisgICAgLy8gR2Ft
ZXBhZCBkYXRhIGZvciBOIHNlcGFyYXRlIGdhbWVwYWQgZGV2aWNlcy4KKyAgICBXZWJHYW1lcGFk
IGl0ZW1zW2l0ZW1zTGVuZ3RoQ2FwXTsKK307CisKK30KKworI2VuZGlmIC8vIFdlYkdhbWVwYWRz
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYktpdFBsYXRm
b3JtU3VwcG9ydC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViS2l0UGxhdGZv
cm1TdXBwb3J0LmgKaW5kZXggNTI4MTQ3OTRkOWQyMTRhY2JjM2U4YzE3MjRhMjNlMDVhMTdlZTJh
Yi4uNDYyMTUyMzJjMTA5OWQ4MTA4MWFlMDhiMzE3OTJmNjk0OWNkYmQ0MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViS2l0UGxhdGZvcm1TdXBwb3J0LmgKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViS2l0UGxhdGZvcm1TdXBwb3J0LmgK
QEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJXZWJBdWRpb0RldmljZS5oIgogI2luY2x1ZGUg
IldlYkNvbW1vbi5oIgogI2luY2x1ZGUgIldlYkRhdGEuaCIKKyNpbmNsdWRlICJXZWJHYW1lcGFk
cy5oIgogI2luY2x1ZGUgIldlYkxvY2FsaXplZFN0cmluZy5oIgogI2luY2x1ZGUgIldlYlNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZS5oIgogI2luY2x1ZGUgIldlYlN0cmluZy5oIgpAQCAtMTA4LDYgKzEw
OSwxMSBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IFdlYlVSTCYgdXJsLCBib29sIGlzTG9jYWxTdG9yYWdlKSB7IH0KIAogCisgICAgLy8gR2Ft
ZXBhZCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCisKKyAgICB2aXJ0dWFsIHZvaWQgc2FtcGxlR2FtZXBhZHMoV2ViR2FtZXBhZHMm
IHBhZHMpIHsgcGFkcy5sZW5ndGggPSAwOyB9CisKKwogICAgIC8vIEhpc3RvcnkgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiAg
ICAgLy8gUmV0dXJucyB0aGUgaGFzaCBmb3IgdGhlIGdpdmVuIGNhbm9uaWNhbGl6ZWQgVVJMIGZv
ciB1c2UgaW4gdmlzaXRlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJs
aWMvV2ViUnVudGltZUZlYXR1cmVzLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9X
ZWJSdW50aW1lRmVhdHVyZXMuaAppbmRleCA2YzNkMjk5MDc1Y2VkOGQ5MTA4YmMyNGE3NzE1M2Y0
MmRhYTdiYmMzLi45YjIxY2IyMDk3YTUzNmRmYzllMjI3ZmVkZTUzYzUzOTFhYzUxNzliIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJSdW50aW1lRmVhdHVyZXMu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJSdW50aW1lRmVhdHVyZXMu
aApAQCAtMTE4LDYgKzExOCw5IEBAIHB1YmxpYzoKICAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyB2
b2lkIGVuYWJsZVZpZGVvVHJhY2soYm9vbCk7CiAgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgYm9v
bCBpc1ZpZGVvVHJhY2tFbmFibGVkKCk7CiAKKyAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyB2b2lk
IGVuYWJsZUdhbWVwYWQoYm9vbCk7CisgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgYm9vbCBpc0dh
bWVwYWRFbmFibGVkKCk7CisKIHByaXZhdGU6CiAgICAgV2ViUnVudGltZUZlYXR1cmVzKCk7CiB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUnVudGltZUZlYXR1
cmVzLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlJ1bnRpbWVGZWF0dXJlcy5j
cHAKaW5kZXggNmIyODMzYTllYjkxOWUzOTE2ZjU2YzA5OTQ2NzRlNDUyMjUwMDRlNS4uYTg1YWEx
Y2RlNjY4NzM1OTgyOTY4N2YwZjkyMTVlYzUwNjVkNWY4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViUnVudGltZUZlYXR1cmVzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJSdW50aW1lRmVhdHVyZXMuY3BwCkBAIC00MTQsNCArNDE0LDIy
IEBAIGJvb2wgV2ViUnVudGltZUZlYXR1cmVzOjppc1ZpZGVvVHJhY2tFbmFibGVkKCkKICNlbmRp
ZgogfQogCit2b2lkIFdlYlJ1bnRpbWVGZWF0dXJlczo6ZW5hYmxlR2FtZXBhZChib29sIGVuYWJs
ZSkKK3sKKyNpZiBFTkFCTEUoR0FNRVBBRCkKKyAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpz
ZXRHYW1lcGFkc0VuYWJsZWQoZW5hYmxlKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGVuYWJs
ZSk7CisjZW5kaWYKK30KKworYm9vbCBXZWJSdW50aW1lRmVhdHVyZXM6OmlzR2FtZXBhZEVuYWJs
ZWQoKQoreworI2lmIEVOQUJMRShHQU1FUEFEKQorICAgIHJldHVybiBSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpnYW1lcGFkc0VuYWJsZWQoKTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2Vu
ZGlmCit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113955</attachid>
            <date>2011-11-07 16:35:38 -0800</date>
            <delta_ts>2011-11-09 10:07:44 -0800</delta_ts>
            <desc>update to ToT</desc>
            <filename>bug-71518-20111107163537.patch</filename>
            <type>text/plain</type>
            <size>7806</size>
            <attacher name="Scott Graham">scottmg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTk0OTcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
YjE4MmJjOTBiZmE3NTM1MjdiOTc5ZDIyYzIyOWMxOWQyY2Y2MmIzNC4uM2QzODBhZTRlNTc2M2Mw
YjE2OWJhN2I5ZTlkNTQ4ZjNlYjI2Njc0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyNyBAQAorMjAxMS0xMS0wNyAgU2NvdHQgR3JhaGFtICA8c2NvdHRtZ0BjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgW0Nocm9taXVtXSBnYW1lcGFkIGNoYW5nZXMgdG8gdGhlIHB1Ymxp
YyBpbnRlcmZhY2Ugb2YgQ2hyb21pdW0gcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE1MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGRzIHN0dWJzIGZvciBDaHJvbWl1bSBwb3J0LCBhbmQgZGVm
aW5lcyBzaGFyZWQgbWVtb3J5IHN0cnVjdHVyZSB0bworICAgICAgICBiZSB1c2VkIGJldHdlZW4g
YnJvd3NlciBhbmQgV2ViS2l0LgorCisgICAgICAgIEluY2x1ZGVzIGp1c3QgdGhlIHBhcnRzIHRo
YXQgdG91Y2ggdGhlIHB1YmxpYyBpbnRlcmZhY2Ugc28gdGhleSBjYW4gYmUKKyAgICAgICAgcmV2
aWV3ZWQgc2VwYXJhdGVseS4gU2VlIGFsc286CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02OTQ1MSBhbmQKKyAgICAgICAgaHR0cDovL2NvZGVyZXZpZXcu
Y2hyb21pdW0ub3JnLzgzNDUwMjcKKworICAgICAgICAqIFdlYktpdC5neXA6CisgICAgICAgICog
cHVibGljL1dlYkdhbWVwYWRzLmg6IEFkZGVkLgorICAgICAgICAqIHB1YmxpYy9XZWJLaXRQbGF0
Zm9ybVN1cHBvcnQuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViS2l0UGxhdGZvcm1TdXBwb3J0Ojpz
YW1wbGVHYW1lcGFkcyk6CisgICAgICAgICogcHVibGljL1dlYlJ1bnRpbWVGZWF0dXJlcy5oOgor
ICAgICAgICAqIHNyYy9XZWJSdW50aW1lRmVhdHVyZXMuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJSdW50aW1lRmVhdHVyZXM6OmVuYWJsZUdhbWVwYWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJS
dW50aW1lRmVhdHVyZXM6OmlzR2FtZXBhZEVuYWJsZWQpOgorCiAyMDExLTExLTA3ICBCZXRoIERh
a2luICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NzE0OTAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vV2ViS2l0Lmd5cCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAppbmRleCA1
ZDgzYzg0YjAyYjYzYjIxNTQzZWQ3ZjkwNTEwMmI2YmNiODc5ODI4Li5lMDRjYWU1YjllOWE4NmEy
NjE3ZTNmNTE4ZTEzMDUwNjMwNjQyNjlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL1dlYktpdC5neXAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCkBA
IC0xOTEsNiArMTkxLDcgQEAKICAgICAgICAgICAgICAgICAncHVibGljL1dlYkZvbnRDYWNoZS5o
JywKICAgICAgICAgICAgICAgICAncHVibGljL1dlYkZvcm1Db250cm9sRWxlbWVudC5oJywKICAg
ICAgICAgICAgICAgICAncHVibGljL1dlYkZvcm1FbGVtZW50LmgnLAorICAgICAgICAgICAgICAg
ICdwdWJsaWMvV2ViR2FtZXBhZHMuaCcsCiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJHZW9s
b2NhdGlvbkNsaWVudC5oJywKICAgICAgICAgICAgICAgICAncHVibGljL1dlYkdlb2xvY2F0aW9u
Q2xpZW50TW9jay5oJywKICAgICAgICAgICAgICAgICAncHVibGljL1dlYkdlb2xvY2F0aW9uQ29u
dHJvbGxlci5oJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dl
YkdhbWVwYWRzLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJHYW1lcGFkcy5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU5YjJmYzczNDVjOTFmZDY5MWU1ZTk4ODFjMGY0OGY4YzA2NTRlYjEKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJHYW1lcGFk
cy5oCkBAIC0wLDAgKzEsOTEgQEAKKy8vIENvcHlyaWdodCAoQykgMjAxMSwgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vCisvLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKy8vIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OgorLy8KKy8vIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisvLyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisvLyAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorLy8gICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorLy8gICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKy8vCisvLyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAor
Ly8gQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCisvLyBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorLy8gQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUKKy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisvLyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgorLy8gU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIKKy8vIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorLy8gTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorLy8gT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNICisvLyBEQU1BR0UuCisKKyNpZm5kZWYgV2ViR2FtZXBhZHNfaAorI2RlZmlu
ZSBXZWJHYW1lcGFkc19oCisKKyNpbmNsdWRlICJXZWJDb21tb24uaCIKKworbmFtZXNwYWNlIFdl
YktpdCB7CisKKy8vIFRoaXMgc3RydWN0dXJlIGlzIGludGVudGlvbmFsbHkgUE9EIGFuZCBmaXhl
ZCBzaXplIHNvIHRoYXQgaXQgY2FuIGJlIHNoYXJlZAorLy8gbWVtb3J5IGJldHdlZW4gaGFyZHdh
cmUgcG9sbGluZyB0aHJlYWRzIGFuZCB0aGUgcmVzdCBvZiB0aGUgYnJvd3Nlci4KK2NsYXNzIFdl
YkdhbWVwYWRzIHsKK3B1YmxpYzoKKyAgICBjbGFzcyBXZWJHYW1lcGFkIHsKKyAgICBwdWJsaWM6
CisgICAgICAgIHN0YXRpYyBjb25zdCBzaXplX3QgaWRMZW5ndGhDYXAgPSAxMjg7CisgICAgICAg
IHN0YXRpYyBjb25zdCBzaXplX3QgYXhlc0xlbmd0aENhcCA9IDE2OworICAgICAgICBzdGF0aWMg
Y29uc3Qgc2l6ZV90IGJ1dHRvbnNMZW5ndGhDYXAgPSAxNjsKKworICAgICAgICBXZWJHYW1lcGFk
KCkKKyAgICAgICAgICAgIDogY29ubmVjdGVkKGZhbHNlKQorICAgICAgICAgICAgLCBpbmRleChz
dGF0aWNfY2FzdDx1bnNpZ25lZD4oLTEpKQorICAgICAgICAgICAgLCB0aW1lc3RhbXAoMCkKKyAg
ICAgICAgICAgICwgYXhlc0xlbmd0aCgwKQorICAgICAgICAgICAgLCBidXR0b25zTGVuZ3RoKDAp
CisgICAgICAgIHsKKyAgICAgICAgICAgIGlkWzBdID0gMDsKKyAgICAgICAgfQorCisgICAgICAg
IC8vIElzIHRoZXJlIGEgZ2FtZXBhZCBjb25uZWN0ZWQgYXQgdGhpcyBpbmRleD8KKyAgICAgICAg
Ym9vbCBjb25uZWN0ZWQ7CisKKyAgICAgICAgLy8gSW5kZXggb2YgR2FtZXBhZCBpbiBHYW1lcGFk
cyBhcnJheS4KKyAgICAgICAgdW5zaWduZWQgaW5kZXg7CisKKyAgICAgICAgLy8gRGV2aWNlIGlk
ZW50aWZpZXIgKGJhc2VkIG9uIG1hbnVmYWN0dXJlciwgbW9kZWwsIGV0Yy4pLgorICAgICAgICBX
ZWJVQ2hhciBpZFtpZExlbmd0aENhcF07CisKKyAgICAgICAgLy8gTW9ub3RvbmljYWxseSBpbmNy
ZWFzaW5nIHZhbHVlIHJlZmVycmluZyB0byB3aGVuIHRoZSBkYXRhIHdlcmUgbGFzdAorICAgICAg
ICAvLyB1cGRhdGVkLgorICAgICAgICB1bnNpZ25lZCBsb25nIGxvbmcgdGltZXN0YW1wOworCisg
ICAgICAgIC8vIE51bWJlciBvZiB2YWxpZCBlbnRyaWVzIGluIHRoZSBheGVzIGFycmF5LgorICAg
ICAgICB1bnNpZ25lZCBheGVzTGVuZ3RoOworCisgICAgICAgIC8vIE5vcm1hbGl6ZWQgdmFsdWVz
IHJlcHJlc2VudGluZyBheGVzLCBpbiB0aGUgcmFuZ2UgWy0xLi4xXS4KKyAgICAgICAgZmxvYXQg
YXhlc1theGVzTGVuZ3RoQ2FwXTsKKworICAgICAgICAvLyBOdW1iZXIgb2YgdmFsaWQgZW50cmll
cyBpbiB0aGUgYnV0dG9ucyBhcnJheS4KKyAgICAgICAgdW5zaWduZWQgYnV0dG9uc0xlbmd0aDsK
KworICAgICAgICAvLyBOb3JtYWxpemVkIHZhbHVlcyByZXByZXNlbnRpbmcgYnV0dG9ucywgaW4g
dGhlIHJhbmdlIFswLi4xXS4KKyAgICAgICAgZmxvYXQgYnV0dG9uc1tidXR0b25zTGVuZ3RoQ2Fw
XTsKKyAgICB9OworCisgICAgV2ViR2FtZXBhZHMoKQorICAgICAgICA6IGxlbmd0aCgwKSB7IH0K
KworICAgIHN0YXRpYyBjb25zdCBzaXplX3QgaXRlbXNMZW5ndGhDYXAgPSA0OworCisgICAgLy8g
TnVtYmVyIG9mIHZhbGlkIGVudHJpZXMgaW4gdGhlIGl0ZW1zIGFycmF5LgorICAgIHVuc2lnbmVk
IGxlbmd0aDsKKworICAgIC8vIEdhbWVwYWQgZGF0YSBmb3IgTiBzZXBhcmF0ZSBnYW1lcGFkIGRl
dmljZXMuCisgICAgV2ViR2FtZXBhZCBpdGVtc1tpdGVtc0xlbmd0aENhcF07Cit9OworCit9CisK
KyNlbmRpZiAvLyBXZWJHYW1lcGFkc19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3B1YmxpYy9XZWJLaXRQbGF0Zm9ybVN1cHBvcnQuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYktpdFBsYXRmb3JtU3VwcG9ydC5oCmluZGV4IDUyODE0Nzk0ZDlkMjE0YWNi
YzNlOGMxNzI0YTIzZTA1YTE3ZWUyYWIuLjQ2MjE1MjMyYzEwOTlkODEwODFhZTA4YjMxNzkyZjY5
NDljZGJkNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYktp
dFBsYXRmb3JtU3VwcG9ydC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dl
YktpdFBsYXRmb3JtU3VwcG9ydC5oCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiV2ViQXVk
aW9EZXZpY2UuaCIKICNpbmNsdWRlICJXZWJDb21tb24uaCIKICNpbmNsdWRlICJXZWJEYXRhLmgi
CisjaW5jbHVkZSAiV2ViR2FtZXBhZHMuaCIKICNpbmNsdWRlICJXZWJMb2NhbGl6ZWRTdHJpbmcu
aCIKICNpbmNsdWRlICJXZWJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCIKICNpbmNsdWRlICJXZWJT
dHJpbmcuaCIKQEAgLTEwOCw2ICsxMDksMTEgQEAgcHVibGljOgogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBXZWJVUkwmIHVybCwgYm9vbCBpc0xvY2FsU3RvcmFn
ZSkgeyB9CiAKIAorICAgIC8vIEdhbWVwYWQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisgICAgdmlydHVhbCB2b2lkIHNhbXBs
ZUdhbWVwYWRzKFdlYkdhbWVwYWRzJiBwYWRzKSB7IHBhZHMubGVuZ3RoID0gMDsgfQorCisKICAg
ICAvLyBIaXN0b3J5IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KIAogICAgIC8vIFJldHVybnMgdGhlIGhhc2ggZm9yIHRoZSBnaXZl
biBjYW5vbmljYWxpemVkIFVSTCBmb3IgdXNlIGluIHZpc2l0ZWQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlJ1bnRpbWVGZWF0dXJlcy5oIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViUnVudGltZUZlYXR1cmVzLmgKaW5kZXggNmMzZDI5OTA3
NWNlZDhkOTEwOGJjMjRhNzcxNTNmNDJkYWE3YmJjMy4uOWIyMWNiMjA5N2E1MzZkZmM5ZTIyN2Zl
ZGU1M2M1MzkxYWM1MTc5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJs
aWMvV2ViUnVudGltZUZlYXR1cmVzLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJs
aWMvV2ViUnVudGltZUZlYXR1cmVzLmgKQEAgLTExOCw2ICsxMTgsOSBAQCBwdWJsaWM6CiAgICAg
V0VCS0lUX0VYUE9SVCBzdGF0aWMgdm9pZCBlbmFibGVWaWRlb1RyYWNrKGJvb2wpOwogICAgIFdF
QktJVF9FWFBPUlQgc3RhdGljIGJvb2wgaXNWaWRlb1RyYWNrRW5hYmxlZCgpOwogCisgICAgV0VC
S0lUX0VYUE9SVCBzdGF0aWMgdm9pZCBlbmFibGVHYW1lcGFkKGJvb2wpOworICAgIFdFQktJVF9F
WFBPUlQgc3RhdGljIGJvb2wgaXNHYW1lcGFkRW5hYmxlZCgpOworCiBwcml2YXRlOgogICAgIFdl
YlJ1bnRpbWVGZWF0dXJlcygpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlJ1bnRpbWVGZWF0dXJlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJSdW50aW1lRmVhdHVyZXMuY3BwCmluZGV4IDZiMjgzM2E5ZWI5MTllMzkxNmY1NmMwOTk0
Njc0ZTQ1MjI1MDA0ZTUuLmE4NWFhMWNkZTY2ODczNTk4Mjk2ODdmMGY5MjE1ZWM1MDY1ZDVmODQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlJ1bnRpbWVGZWF0dXJl
cy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUnVudGltZUZlYXR1cmVz
LmNwcApAQCAtNDE0LDQgKzQxNCwyMiBAQCBib29sIFdlYlJ1bnRpbWVGZWF0dXJlczo6aXNWaWRl
b1RyYWNrRW5hYmxlZCgpCiAjZW5kaWYKIH0KIAordm9pZCBXZWJSdW50aW1lRmVhdHVyZXM6OmVu
YWJsZUdhbWVwYWQoYm9vbCBlbmFibGUpCit7CisjaWYgRU5BQkxFKEdBTUVQQUQpCisgICAgUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2V0R2FtZXBhZHNFbmFibGVkKGVuYWJsZSk7CisjZWxzZQor
ICAgIFVOVVNFRF9QQVJBTShlbmFibGUpOworI2VuZGlmCit9CisKK2Jvb2wgV2ViUnVudGltZUZl
YXR1cmVzOjppc0dhbWVwYWRFbmFibGVkKCkKK3sKKyNpZiBFTkFCTEUoR0FNRVBBRCkKKyAgICBy
ZXR1cm4gUnVudGltZUVuYWJsZWRGZWF0dXJlczo6Z2FtZXBhZHNFbmFibGVkKCk7CisjZWxzZQor
ICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgorfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114308</attachid>
            <date>2011-11-09 10:07:47 -0800</date>
            <delta_ts>2011-11-09 13:05:32 -0800</delta_ts>
            <desc>separate top level types</desc>
            <filename>bug-71518-20111109100746.patch</filename>
            <type>text/plain</type>
            <size>9782</size>
            <attacher name="Scott Graham">scottmg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTk1MDEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
YjE4MmJjOTBiZmE3NTM1MjdiOTc5ZDIyYzIyOWMxOWQyY2Y2MmIzNC4uN2M1OGU1ZTg3OTU3NjY1
ZTAyZTk5YmRjNjQzMmY0ZDg0NmY5YjhmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwzMCBAQAorMjAxMS0xMS0wOSAgU2NvdHQgR3JhaGFtICA8c2NvdHRtZ0BjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgW0Nocm9taXVtXSBnYW1lcGFkIGNoYW5nZXMgdG8gdGhlIHB1Ymxp
YyBpbnRlcmZhY2Ugb2YgQ2hyb21pdW0gcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE1MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGRzIHN0dWJzIGZvciBDaHJvbWl1bSBwb3J0LCBhbmQgZGVm
aW5lcyBzaGFyZWQgbWVtb3J5IHN0cnVjdHVyZSB0bworICAgICAgICBiZSB1c2VkIGJldHdlZW4g
YnJvd3NlciBhbmQgV2ViS2l0LgorCisgICAgICAgIEluY2x1ZGVzIGp1c3QgdGhlIHBhcnRzIHRo
YXQgdG91Y2ggdGhlIHB1YmxpYyBpbnRlcmZhY2Ugc28gdGhleSBjYW4gYmUKKyAgICAgICAgcmV2
aWV3ZWQgc2VwYXJhdGVseS4gU2VlIGFsc286CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02OTQ1MSBhbmQKKyAgICAgICAgaHR0cDovL2NvZGVyZXZpZXcu
Y2hyb21pdW0ub3JnLzgzNDUwMjcKKworICAgICAgICAqIFdlYktpdC5neXA6CisgICAgICAgICog
cHVibGljL1dlYkdhbWVwYWQuaDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYkdhbWVwYWQ6
OldlYkdhbWVwYWQpOgorICAgICAgICAqIHB1YmxpYy9XZWJHYW1lcGFkcy5oOiBBZGRlZC4KKyAg
ICAgICAgKFdlYktpdDo6V2ViR2FtZXBhZHM6OldlYkdhbWVwYWRzKToKKyAgICAgICAgKiBwdWJs
aWMvV2ViS2l0UGxhdGZvcm1TdXBwb3J0Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYktpdFBsYXRm
b3JtU3VwcG9ydDo6c2FtcGxlR2FtZXBhZHMpOgorICAgICAgICAqIHB1YmxpYy9XZWJSdW50aW1l
RmVhdHVyZXMuaDoKKyAgICAgICAgKiBzcmMvV2ViUnVudGltZUZlYXR1cmVzLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUnVudGltZUZlYXR1cmVzOjplbmFibGVHYW1lcGFkKToKKyAgICAgICAg
KFdlYktpdDo6V2ViUnVudGltZUZlYXR1cmVzOjppc0dhbWVwYWRFbmFibGVkKToKKwogMjAxMS0x
MS0wNyAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CiAKICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNDkwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktp
dC5neXAKaW5kZXggNWQ4M2M4NGIwMmI2M2IyMTU0M2VkN2Y5MDUxMDJiNmJjYjg3OTgyOC4uMjIz
ZmQ1OTJkOTkwZjBhMjY0NTUxM2E4NzM4YWIyNjIyNzcwNDlhMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
V2ViS2l0Lmd5cApAQCAtMTkxLDYgKzE5MSw4IEBACiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9X
ZWJGb250Q2FjaGUuaCcsCiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJGb3JtQ29udHJvbEVs
ZW1lbnQuaCcsCiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJGb3JtRWxlbWVudC5oJywKKyAg
ICAgICAgICAgICAgICAncHVibGljL1dlYkdhbWVwYWQuaCcsCisgICAgICAgICAgICAgICAgJ3B1
YmxpYy9XZWJHYW1lcGFkcy5oJywKICAgICAgICAgICAgICAgICAncHVibGljL1dlYkdlb2xvY2F0
aW9uQ2xpZW50LmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViR2VvbG9jYXRpb25DbGll
bnRNb2NrLmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViR2VvbG9jYXRpb25Db250cm9s
bGVyLmgnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViR2Ft
ZXBhZC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViR2FtZXBhZC5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjQ4YzQ0ZTIwMjMxZTU4MWRmODI1Y2UxNjQ5NmQ2MjQxYjBhZTFiOGEKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJHYW1lcGFkLmgKQEAg
LTAsMCArMSw3NyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDExLCBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorLy8KKy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorLy8gbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6Cisv
LworLy8gMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKy8vICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKy8vIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisvLyAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisvLyAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLy8KKy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisvLyBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKy8vIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisvLyBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwKKy8vIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCisvLyBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUgorLy8gQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUCisvLyBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisvLyBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0gKKy8vIERBTUFHRS4KKworI2lmbmRlZiBXZWJHYW1lcGFkX2gKKyNkZWZpbmUgV2ViR2Ft
ZXBhZF9oCisKKyNpbmNsdWRlICJXZWJDb21tb24uaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisK
Ky8vIFRoaXMgc3RydWN0dXJlIGlzIGludGVudGlvbmFsbHkgUE9EIGFuZCBmaXhlZCBzaXplIHNv
IHRoYXQgaXQgY2FuIGJlIHNoYXJlZAorLy8gbWVtb3J5IGJldHdlZW4gaGFyZHdhcmUgcG9sbGlu
ZyB0aHJlYWRzIGFuZCB0aGUgcmVzdCBvZiB0aGUgYnJvd3Nlci4gU2VlCisvLyBhbHNvIFdlYkdh
bWVwYWRzLmguCitjbGFzcyBXZWJHYW1lcGFkIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgY29uc3Qg
c2l6ZV90IGlkTGVuZ3RoQ2FwID0gMTI4OworICAgIHN0YXRpYyBjb25zdCBzaXplX3QgYXhlc0xl
bmd0aENhcCA9IDE2OworICAgIHN0YXRpYyBjb25zdCBzaXplX3QgYnV0dG9uc0xlbmd0aENhcCA9
IDE2OworCisgICAgV2ViR2FtZXBhZCgpCisgICAgICAgIDogY29ubmVjdGVkKGZhbHNlKQorICAg
ICAgICAsIHRpbWVzdGFtcCgwKQorICAgICAgICAsIGF4ZXNMZW5ndGgoMCkKKyAgICAgICAgLCBi
dXR0b25zTGVuZ3RoKDApCisgICAgeworICAgICAgICBpZFswXSA9IDA7CisgICAgfQorCisgICAg
Ly8gSXMgdGhlcmUgYSBnYW1lcGFkIGNvbm5lY3RlZCBhdCB0aGlzIGluZGV4PworICAgIGJvb2wg
Y29ubmVjdGVkOworCisgICAgLy8gSW5kZXggb2YgdGhpcyBnYW1lcGFkIGluIHRoZSBnYW1lcGFk
cyBhcnJheS4KKyAgICB1bnNpZ25lZCBpbmRleDsKKworICAgIC8vIERldmljZSBpZGVudGlmaWVy
IChiYXNlZCBvbiBtYW51ZmFjdHVyZXIsIG1vZGVsLCBldGMuKS4KKyAgICBXZWJVQ2hhciBpZFtp
ZExlbmd0aENhcF07CisKKyAgICAvLyBNb25vdG9uaWNhbGx5IGluY3JlYXNpbmcgdmFsdWUgcmVm
ZXJyaW5nIHRvIHdoZW4gdGhlIGRhdGEgd2VyZSBsYXN0CisgICAgLy8gdXBkYXRlZC4KKyAgICB1
bnNpZ25lZCBsb25nIGxvbmcgdGltZXN0YW1wOworCisgICAgLy8gTnVtYmVyIG9mIHZhbGlkIGVu
dHJpZXMgaW4gdGhlIGF4ZXMgYXJyYXkuCisgICAgdW5zaWduZWQgYXhlc0xlbmd0aDsKKworICAg
IC8vIE5vcm1hbGl6ZWQgdmFsdWVzIHJlcHJlc2VudGluZyBheGVzLCBpbiB0aGUgcmFuZ2UgWy0x
Li4xXS4KKyAgICBmbG9hdCBheGVzW2F4ZXNMZW5ndGhDYXBdOworCisgICAgLy8gTnVtYmVyIG9m
IHZhbGlkIGVudHJpZXMgaW4gdGhlIGJ1dHRvbnMgYXJyYXkuCisgICAgdW5zaWduZWQgYnV0dG9u
c0xlbmd0aDsKKworICAgIC8vIE5vcm1hbGl6ZWQgdmFsdWVzIHJlcHJlc2VudGluZyBidXR0b25z
LCBpbiB0aGUgcmFuZ2UgWzAuLjFdLgorICAgIGZsb2F0IGJ1dHRvbnNbYnV0dG9uc0xlbmd0aENh
cF07Cit9OworCit9CisKKyNlbmRpZiAvLyBXZWJHYW1lcGFkX2gKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkdhbWVwYWRzLmggYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJHYW1lcGFkcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU0MWQwN2ZlOTMwZWE4ZWE0
ZTcxOWFmZTc0YTE3MDlkYjMxZWYxYjUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJHYW1lcGFkcy5oCkBAIC0wLDAgKzEsNTAgQEAKKy8vIENvcHly
aWdodCAoQykgMjAxMSwgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vCisvLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKy8vIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorLy8KKy8vIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisvLyAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisvLyAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorLy8gICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorLy8gICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
Ky8vCisvLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorLy8gQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisvLyBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRQorLy8gQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisvLyBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUgorLy8gU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKKy8vIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorLy8g
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWQorLy8gT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNICisvLyBEQU1BR0UuCisKKyNp
Zm5kZWYgV2ViR2FtZXBhZHNfaAorI2RlZmluZSBXZWJHYW1lcGFkc19oCisKKyNpbmNsdWRlICJX
ZWJHYW1lcGFkLmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCisvLyBUaGlzIHN0cnVjdHVyZSBp
cyBpbnRlbnRpb25hbGx5IFBPRCBhbmQgZml4ZWQgc2l6ZSBzbyB0aGF0IGl0IGNhbiBiZSBzaGFy
ZWQKKy8vIG1lbW9yeSBiZXR3ZWVuIGhhcmR3YXJlIHBvbGxpbmcgdGhyZWFkcyBhbmQgdGhlIHJl
c3Qgb2YgdGhlIGJyb3dzZXIuCitjbGFzcyBXZWJHYW1lcGFkcyB7CitwdWJsaWM6CisKKyAgICBX
ZWJHYW1lcGFkcygpCisgICAgICAgIDogbGVuZ3RoKDApIHsgfQorCisgICAgc3RhdGljIGNvbnN0
IHNpemVfdCBpdGVtc0xlbmd0aENhcCA9IDQ7CisKKyAgICAvLyBOdW1iZXIgb2YgdmFsaWQgZW50
cmllcyBpbiB0aGUgaXRlbXMgYXJyYXkuCisgICAgdW5zaWduZWQgbGVuZ3RoOworCisgICAgLy8g
R2FtZXBhZCBkYXRhIGZvciBOIHNlcGFyYXRlIGdhbWVwYWQgZGV2aWNlcy4KKyAgICBXZWJHYW1l
cGFkIGl0ZW1zW2l0ZW1zTGVuZ3RoQ2FwXTsKK307CisKK30KKworI2VuZGlmIC8vIFdlYkdhbWVw
YWRzX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYktpdFBs
YXRmb3JtU3VwcG9ydC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViS2l0UGxh
dGZvcm1TdXBwb3J0LmgKaW5kZXggNTI4MTQ3OTRkOWQyMTRhY2JjM2U4YzE3MjRhMjNlMDVhMTdl
ZTJhYi4uNzM1OTRkNzc1MTQ0YWJmNjJmNTc4OTE0Mzg3M2E4OTkzYTg4NzhmMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViS2l0UGxhdGZvcm1TdXBwb3J0LmgK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViS2l0UGxhdGZvcm1TdXBwb3J0
LmgKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJXZWJBdWRpb0RldmljZS5oIgogI2luY2x1
ZGUgIldlYkNvbW1vbi5oIgogI2luY2x1ZGUgIldlYkRhdGEuaCIKKyNpbmNsdWRlICJXZWJHYW1l
cGFkcy5oIgogI2luY2x1ZGUgIldlYkxvY2FsaXplZFN0cmluZy5oIgogI2luY2x1ZGUgIldlYlNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIgogI2luY2x1ZGUgIldlYlN0cmluZy5oIgpAQCAtMTA4LDYg
KzEwOSwxMSBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IFdlYlVSTCYgdXJsLCBib29sIGlzTG9jYWxTdG9yYWdlKSB7IH0KIAogCisgICAgLy8g
R2FtZXBhZCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCisKKyAgICB2aXJ0dWFsIHZvaWQgc2FtcGxlR2FtZXBhZHMoV2ViR2FtZXBh
ZHMmIGludG8pIHsgaW50by5sZW5ndGggPSAwOyB9CisKKwogICAgIC8vIEhpc3RvcnkgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQog
CiAgICAgLy8gUmV0dXJucyB0aGUgaGFzaCBmb3IgdGhlIGdpdmVuIGNhbm9uaWNhbGl6ZWQgVVJM
IGZvciB1c2UgaW4gdmlzaXRlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViUnVudGltZUZlYXR1cmVzLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9XZWJSdW50aW1lRmVhdHVyZXMuaAppbmRleCA2YzNkMjk5MDc1Y2VkOGQ5MTA4YmMyNGE3NzE1
M2Y0MmRhYTdiYmMzLi45YjIxY2IyMDk3YTUzNmRmYzllMjI3ZmVkZTUzYzUzOTFhYzUxNzliIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJSdW50aW1lRmVhdHVy
ZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJSdW50aW1lRmVhdHVy
ZXMuaApAQCAtMTE4LDYgKzExOCw5IEBAIHB1YmxpYzoKICAgICBXRUJLSVRfRVhQT1JUIHN0YXRp
YyB2b2lkIGVuYWJsZVZpZGVvVHJhY2soYm9vbCk7CiAgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMg
Ym9vbCBpc1ZpZGVvVHJhY2tFbmFibGVkKCk7CiAKKyAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyB2
b2lkIGVuYWJsZUdhbWVwYWQoYm9vbCk7CisgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgYm9vbCBp
c0dhbWVwYWRFbmFibGVkKCk7CisKIHByaXZhdGU6CiAgICAgV2ViUnVudGltZUZlYXR1cmVzKCk7
CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUnVudGltZUZl
YXR1cmVzLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlJ1bnRpbWVGZWF0dXJl
cy5jcHAKaW5kZXggNmIyODMzYTllYjkxOWUzOTE2ZjU2YzA5OTQ2NzRlNDUyMjUwMDRlNS4uYTg1
YWExY2RlNjY4NzM1OTgyOTY4N2YwZjkyMTVlYzUwNjVkNWY4NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUnVudGltZUZlYXR1cmVzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJSdW50aW1lRmVhdHVyZXMuY3BwCkBAIC00MTQsNCArNDE0
LDIyIEBAIGJvb2wgV2ViUnVudGltZUZlYXR1cmVzOjppc1ZpZGVvVHJhY2tFbmFibGVkKCkKICNl
bmRpZgogfQogCit2b2lkIFdlYlJ1bnRpbWVGZWF0dXJlczo6ZW5hYmxlR2FtZXBhZChib29sIGVu
YWJsZSkKK3sKKyNpZiBFTkFCTEUoR0FNRVBBRCkKKyAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjpzZXRHYW1lcGFkc0VuYWJsZWQoZW5hYmxlKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGVu
YWJsZSk7CisjZW5kaWYKK30KKworYm9vbCBXZWJSdW50aW1lRmVhdHVyZXM6OmlzR2FtZXBhZEVu
YWJsZWQoKQoreworI2lmIEVOQUJMRShHQU1FUEFEKQorICAgIHJldHVybiBSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpnYW1lcGFkc0VuYWJsZWQoKTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOwor
I2VuZGlmCit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114345</attachid>
            <date>2011-11-09 13:05:37 -0800</date>
            <delta_ts>2011-11-09 17:10:04 -0800</delta_ts>
            <desc>whitespace</desc>
            <filename>bug-71518-20111109130535.patch</filename>
            <type>text/plain</type>
            <size>9780</size>
            <attacher name="Scott Graham">scottmg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTk1MDEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
YjE4MmJjOTBiZmE3NTM1MjdiOTc5ZDIyYzIyOWMxOWQyY2Y2MmIzNC4uN2M1OGU1ZTg3OTU3NjY1
ZTAyZTk5YmRjNjQzMmY0ZDg0NmY5YjhmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwzMCBAQAorMjAxMS0xMS0wOSAgU2NvdHQgR3JhaGFtICA8c2NvdHRtZ0BjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgW0Nocm9taXVtXSBnYW1lcGFkIGNoYW5nZXMgdG8gdGhlIHB1Ymxp
YyBpbnRlcmZhY2Ugb2YgQ2hyb21pdW0gcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE1MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGRzIHN0dWJzIGZvciBDaHJvbWl1bSBwb3J0LCBhbmQgZGVm
aW5lcyBzaGFyZWQgbWVtb3J5IHN0cnVjdHVyZSB0bworICAgICAgICBiZSB1c2VkIGJldHdlZW4g
YnJvd3NlciBhbmQgV2ViS2l0LgorCisgICAgICAgIEluY2x1ZGVzIGp1c3QgdGhlIHBhcnRzIHRo
YXQgdG91Y2ggdGhlIHB1YmxpYyBpbnRlcmZhY2Ugc28gdGhleSBjYW4gYmUKKyAgICAgICAgcmV2
aWV3ZWQgc2VwYXJhdGVseS4gU2VlIGFsc286CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02OTQ1MSBhbmQKKyAgICAgICAgaHR0cDovL2NvZGVyZXZpZXcu
Y2hyb21pdW0ub3JnLzgzNDUwMjcKKworICAgICAgICAqIFdlYktpdC5neXA6CisgICAgICAgICog
cHVibGljL1dlYkdhbWVwYWQuaDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYkdhbWVwYWQ6
OldlYkdhbWVwYWQpOgorICAgICAgICAqIHB1YmxpYy9XZWJHYW1lcGFkcy5oOiBBZGRlZC4KKyAg
ICAgICAgKFdlYktpdDo6V2ViR2FtZXBhZHM6OldlYkdhbWVwYWRzKToKKyAgICAgICAgKiBwdWJs
aWMvV2ViS2l0UGxhdGZvcm1TdXBwb3J0Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYktpdFBsYXRm
b3JtU3VwcG9ydDo6c2FtcGxlR2FtZXBhZHMpOgorICAgICAgICAqIHB1YmxpYy9XZWJSdW50aW1l
RmVhdHVyZXMuaDoKKyAgICAgICAgKiBzcmMvV2ViUnVudGltZUZlYXR1cmVzLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUnVudGltZUZlYXR1cmVzOjplbmFibGVHYW1lcGFkKToKKyAgICAgICAg
KFdlYktpdDo6V2ViUnVudGltZUZlYXR1cmVzOjppc0dhbWVwYWRFbmFibGVkKToKKwogMjAxMS0x
MS0wNyAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CiAKICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNDkwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktp
dC5neXAKaW5kZXggNWQ4M2M4NGIwMmI2M2IyMTU0M2VkN2Y5MDUxMDJiNmJjYjg3OTgyOC4uMjIz
ZmQ1OTJkOTkwZjBhMjY0NTUxM2E4NzM4YWIyNjIyNzcwNDlhMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
V2ViS2l0Lmd5cApAQCAtMTkxLDYgKzE5MSw4IEBACiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9X
ZWJGb250Q2FjaGUuaCcsCiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJGb3JtQ29udHJvbEVs
ZW1lbnQuaCcsCiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJGb3JtRWxlbWVudC5oJywKKyAg
ICAgICAgICAgICAgICAncHVibGljL1dlYkdhbWVwYWQuaCcsCisgICAgICAgICAgICAgICAgJ3B1
YmxpYy9XZWJHYW1lcGFkcy5oJywKICAgICAgICAgICAgICAgICAncHVibGljL1dlYkdlb2xvY2F0
aW9uQ2xpZW50LmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViR2VvbG9jYXRpb25DbGll
bnRNb2NrLmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViR2VvbG9jYXRpb25Db250cm9s
bGVyLmgnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViR2Ft
ZXBhZC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViR2FtZXBhZC5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjQ4YzQ0ZTIwMjMxZTU4MWRmODI1Y2UxNjQ5NmQ2MjQxYjBhZTFiOGEKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJHYW1lcGFkLmgKQEAg
LTAsMCArMSw3NyBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDExLCBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorLy8KKy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorLy8gbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6Cisv
LworLy8gMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKy8vICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKy8vIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisvLyAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisvLyAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLy8KKy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisvLyBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKy8vIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisvLyBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwKKy8vIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCisvLyBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUgorLy8gQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUCisvLyBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisvLyBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0gKKy8vIERBTUFHRS4KKworI2lmbmRlZiBXZWJHYW1lcGFkX2gKKyNkZWZpbmUgV2ViR2Ft
ZXBhZF9oCisKKyNpbmNsdWRlICJXZWJDb21tb24uaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisK
Ky8vIFRoaXMgc3RydWN0dXJlIGlzIGludGVudGlvbmFsbHkgUE9EIGFuZCBmaXhlZCBzaXplIHNv
IHRoYXQgaXQgY2FuIGJlIHNoYXJlZAorLy8gbWVtb3J5IGJldHdlZW4gaGFyZHdhcmUgcG9sbGlu
ZyB0aHJlYWRzIGFuZCB0aGUgcmVzdCBvZiB0aGUgYnJvd3Nlci4gU2VlCisvLyBhbHNvIFdlYkdh
bWVwYWRzLmguCitjbGFzcyBXZWJHYW1lcGFkIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgY29uc3Qg
c2l6ZV90IGlkTGVuZ3RoQ2FwID0gMTI4OworICAgIHN0YXRpYyBjb25zdCBzaXplX3QgYXhlc0xl
bmd0aENhcCA9IDE2OworICAgIHN0YXRpYyBjb25zdCBzaXplX3QgYnV0dG9uc0xlbmd0aENhcCA9
IDE2OworCisgICAgV2ViR2FtZXBhZCgpCisgICAgICAgIDogY29ubmVjdGVkKGZhbHNlKQorICAg
ICAgICAsIHRpbWVzdGFtcCgwKQorICAgICAgICAsIGF4ZXNMZW5ndGgoMCkKKyAgICAgICAgLCBi
dXR0b25zTGVuZ3RoKDApCisgICAgeworICAgICAgICBpZFswXSA9IDA7CisgICAgfQorCisgICAg
Ly8gSXMgdGhlcmUgYSBnYW1lcGFkIGNvbm5lY3RlZCBhdCB0aGlzIGluZGV4PworICAgIGJvb2wg
Y29ubmVjdGVkOworCisgICAgLy8gSW5kZXggb2YgdGhpcyBnYW1lcGFkIGluIHRoZSBnYW1lcGFk
cyBhcnJheS4KKyAgICB1bnNpZ25lZCBpbmRleDsKKworICAgIC8vIERldmljZSBpZGVudGlmaWVy
IChiYXNlZCBvbiBtYW51ZmFjdHVyZXIsIG1vZGVsLCBldGMuKS4KKyAgICBXZWJVQ2hhciBpZFtp
ZExlbmd0aENhcF07CisKKyAgICAvLyBNb25vdG9uaWNhbGx5IGluY3JlYXNpbmcgdmFsdWUgcmVm
ZXJyaW5nIHRvIHdoZW4gdGhlIGRhdGEgd2VyZSBsYXN0CisgICAgLy8gdXBkYXRlZC4KKyAgICB1
bnNpZ25lZCBsb25nIGxvbmcgdGltZXN0YW1wOworCisgICAgLy8gTnVtYmVyIG9mIHZhbGlkIGVu
dHJpZXMgaW4gdGhlIGF4ZXMgYXJyYXkuCisgICAgdW5zaWduZWQgYXhlc0xlbmd0aDsKKworICAg
IC8vIE5vcm1hbGl6ZWQgdmFsdWVzIHJlcHJlc2VudGluZyBheGVzLCBpbiB0aGUgcmFuZ2UgWy0x
Li4xXS4KKyAgICBmbG9hdCBheGVzW2F4ZXNMZW5ndGhDYXBdOworCisgICAgLy8gTnVtYmVyIG9m
IHZhbGlkIGVudHJpZXMgaW4gdGhlIGJ1dHRvbnMgYXJyYXkuCisgICAgdW5zaWduZWQgYnV0dG9u
c0xlbmd0aDsKKworICAgIC8vIE5vcm1hbGl6ZWQgdmFsdWVzIHJlcHJlc2VudGluZyBidXR0b25z
LCBpbiB0aGUgcmFuZ2UgWzAuLjFdLgorICAgIGZsb2F0IGJ1dHRvbnNbYnV0dG9uc0xlbmd0aENh
cF07Cit9OworCit9CisKKyNlbmRpZiAvLyBXZWJHYW1lcGFkX2gKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkdhbWVwYWRzLmggYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJHYW1lcGFkcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc0YzE1MTQwZDkzYjE0YjZi
YTJlYjc5Y2RjZTA4MGZiYWE4ZTY1NjEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJHYW1lcGFkcy5oCkBAIC0wLDAgKzEsNDkgQEAKKy8vIENvcHly
aWdodCAoQykgMjAxMSwgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vCisvLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKy8vIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorLy8KKy8vIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisvLyAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisvLyAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorLy8gICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorLy8gICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
Ky8vCisvLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorLy8gQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisvLyBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRQorLy8gQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy8vIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisvLyBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUgorLy8gU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKKy8vIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorLy8g
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWQorLy8gT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNICisvLyBEQU1BR0UuCisKKyNp
Zm5kZWYgV2ViR2FtZXBhZHNfaAorI2RlZmluZSBXZWJHYW1lcGFkc19oCisKKyNpbmNsdWRlICJX
ZWJHYW1lcGFkLmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCisvLyBUaGlzIHN0cnVjdHVyZSBp
cyBpbnRlbnRpb25hbGx5IFBPRCBhbmQgZml4ZWQgc2l6ZSBzbyB0aGF0IGl0IGNhbiBiZSBzaGFy
ZWQKKy8vIG1lbW9yeSBiZXR3ZWVuIGhhcmR3YXJlIHBvbGxpbmcgdGhyZWFkcyBhbmQgdGhlIHJl
c3Qgb2YgdGhlIGJyb3dzZXIuCitjbGFzcyBXZWJHYW1lcGFkcyB7CitwdWJsaWM6CisgICAgV2Vi
R2FtZXBhZHMoKQorICAgICAgICA6IGxlbmd0aCgwKSB7IH0KKworICAgIHN0YXRpYyBjb25zdCBz
aXplX3QgaXRlbXNMZW5ndGhDYXAgPSA0OworCisgICAgLy8gTnVtYmVyIG9mIHZhbGlkIGVudHJp
ZXMgaW4gdGhlIGl0ZW1zIGFycmF5LgorICAgIHVuc2lnbmVkIGxlbmd0aDsKKworICAgIC8vIEdh
bWVwYWQgZGF0YSBmb3IgTiBzZXBhcmF0ZSBnYW1lcGFkIGRldmljZXMuCisgICAgV2ViR2FtZXBh
ZCBpdGVtc1tpdGVtc0xlbmd0aENhcF07Cit9OworCit9CisKKyNlbmRpZiAvLyBXZWJHYW1lcGFk
c19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJLaXRQbGF0
Zm9ybVN1cHBvcnQuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYktpdFBsYXRm
b3JtU3VwcG9ydC5oCmluZGV4IDUyODE0Nzk0ZDlkMjE0YWNiYzNlOGMxNzI0YTIzZTA1YTE3ZWUy
YWIuLjczNTk0ZDc3NTE0NGFiZjYyZjU3ODkxNDM4NzNhODk5M2E4ODc4ZjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYktpdFBsYXRmb3JtU3VwcG9ydC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYktpdFBsYXRmb3JtU3VwcG9ydC5o
CkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiV2ViQXVkaW9EZXZpY2UuaCIKICNpbmNsdWRl
ICJXZWJDb21tb24uaCIKICNpbmNsdWRlICJXZWJEYXRhLmgiCisjaW5jbHVkZSAiV2ViR2FtZXBh
ZHMuaCIKICNpbmNsdWRlICJXZWJMb2NhbGl6ZWRTdHJpbmcuaCIKICNpbmNsdWRlICJXZWJTZXJp
YWxpemVkU2NyaXB0VmFsdWUuaCIKICNpbmNsdWRlICJXZWJTdHJpbmcuaCIKQEAgLTEwOCw2ICsx
MDksMTEgQEAgcHVibGljOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBXZWJVUkwmIHVybCwgYm9vbCBpc0xvY2FsU3RvcmFnZSkgeyB9CiAKIAorICAgIC8vIEdh
bWVwYWQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQorCisgICAgdmlydHVhbCB2b2lkIHNhbXBsZUdhbWVwYWRzKFdlYkdhbWVwYWRz
JiBpbnRvKSB7IGludG8ubGVuZ3RoID0gMDsgfQorCisKICAgICAvLyBIaXN0b3J5IC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAog
ICAgIC8vIFJldHVybnMgdGhlIGhhc2ggZm9yIHRoZSBnaXZlbiBjYW5vbmljYWxpemVkIFVSTCBm
b3IgdXNlIGluIHZpc2l0ZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYlJ1bnRpbWVGZWF0dXJlcy5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMv
V2ViUnVudGltZUZlYXR1cmVzLmgKaW5kZXggNmMzZDI5OTA3NWNlZDhkOTEwOGJjMjRhNzcxNTNm
NDJkYWE3YmJjMy4uOWIyMWNiMjA5N2E1MzZkZmM5ZTIyN2ZlZGU1M2M1MzkxYWM1MTc5YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViUnVudGltZUZlYXR1cmVz
LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViUnVudGltZUZlYXR1cmVz
LmgKQEAgLTExOCw2ICsxMTgsOSBAQCBwdWJsaWM6CiAgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMg
dm9pZCBlbmFibGVWaWRlb1RyYWNrKGJvb2wpOwogICAgIFdFQktJVF9FWFBPUlQgc3RhdGljIGJv
b2wgaXNWaWRlb1RyYWNrRW5hYmxlZCgpOwogCisgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgdm9p
ZCBlbmFibGVHYW1lcGFkKGJvb2wpOworICAgIFdFQktJVF9FWFBPUlQgc3RhdGljIGJvb2wgaXNH
YW1lcGFkRW5hYmxlZCgpOworCiBwcml2YXRlOgogICAgIFdlYlJ1bnRpbWVGZWF0dXJlcygpOwog
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlJ1bnRpbWVGZWF0
dXJlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJSdW50aW1lRmVhdHVyZXMu
Y3BwCmluZGV4IDZiMjgzM2E5ZWI5MTllMzkxNmY1NmMwOTk0Njc0ZTQ1MjI1MDA0ZTUuLmE4NWFh
MWNkZTY2ODczNTk4Mjk2ODdmMGY5MjE1ZWM1MDY1ZDVmODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYlJ1bnRpbWVGZWF0dXJlcy5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViUnVudGltZUZlYXR1cmVzLmNwcApAQCAtNDE0LDQgKzQxNCwy
MiBAQCBib29sIFdlYlJ1bnRpbWVGZWF0dXJlczo6aXNWaWRlb1RyYWNrRW5hYmxlZCgpCiAjZW5k
aWYKIH0KIAordm9pZCBXZWJSdW50aW1lRmVhdHVyZXM6OmVuYWJsZUdhbWVwYWQoYm9vbCBlbmFi
bGUpCit7CisjaWYgRU5BQkxFKEdBTUVQQUQpCisgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2V0R2FtZXBhZHNFbmFibGVkKGVuYWJsZSk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShlbmFi
bGUpOworI2VuZGlmCit9CisKK2Jvb2wgV2ViUnVudGltZUZlYXR1cmVzOjppc0dhbWVwYWRFbmFi
bGVkKCkKK3sKKyNpZiBFTkFCTEUoR0FNRVBBRCkKKyAgICByZXR1cm4gUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6Z2FtZXBhZHNFbmFibGVkKCk7CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsKKyNl
bmRpZgorfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114398</attachid>
            <date>2011-11-09 17:06:43 -0800</date>
            <delta_ts>2011-11-15 12:05:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71518-20111109170642.patch</filename>
            <type>text/plain</type>
            <size>9718</size>
            <attacher name="Scott Graham">scottmg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTk1MDEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
YjE4MmJjOTBiZmE3NTM1MjdiOTc5ZDIyYzIyOWMxOWQyY2Y2MmIzNC4uN2M1OGU1ZTg3OTU3NjY1
ZTAyZTk5YmRjNjQzMmY0ZDg0NmY5YjhmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwzMCBAQAorMjAxMS0xMS0wOSAgU2NvdHQgR3JhaGFtICA8c2NvdHRtZ0BjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgW0Nocm9taXVtXSBnYW1lcGFkIGNoYW5nZXMgdG8gdGhlIHB1Ymxp
YyBpbnRlcmZhY2Ugb2YgQ2hyb21pdW0gcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE1MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGRzIHN0dWJzIGZvciBDaHJvbWl1bSBwb3J0LCBhbmQgZGVm
aW5lcyBzaGFyZWQgbWVtb3J5IHN0cnVjdHVyZSB0bworICAgICAgICBiZSB1c2VkIGJldHdlZW4g
YnJvd3NlciBhbmQgV2ViS2l0LgorCisgICAgICAgIEluY2x1ZGVzIGp1c3QgdGhlIHBhcnRzIHRo
YXQgdG91Y2ggdGhlIHB1YmxpYyBpbnRlcmZhY2Ugc28gdGhleSBjYW4gYmUKKyAgICAgICAgcmV2
aWV3ZWQgc2VwYXJhdGVseS4gU2VlIGFsc286CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02OTQ1MSBhbmQKKyAgICAgICAgaHR0cDovL2NvZGVyZXZpZXcu
Y2hyb21pdW0ub3JnLzgzNDUwMjcKKworICAgICAgICAqIFdlYktpdC5neXA6CisgICAgICAgICog
cHVibGljL1dlYkdhbWVwYWQuaDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYkdhbWVwYWQ6
OldlYkdhbWVwYWQpOgorICAgICAgICAqIHB1YmxpYy9XZWJHYW1lcGFkcy5oOiBBZGRlZC4KKyAg
ICAgICAgKFdlYktpdDo6V2ViR2FtZXBhZHM6OldlYkdhbWVwYWRzKToKKyAgICAgICAgKiBwdWJs
aWMvV2ViS2l0UGxhdGZvcm1TdXBwb3J0Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYktpdFBsYXRm
b3JtU3VwcG9ydDo6c2FtcGxlR2FtZXBhZHMpOgorICAgICAgICAqIHB1YmxpYy9XZWJSdW50aW1l
RmVhdHVyZXMuaDoKKyAgICAgICAgKiBzcmMvV2ViUnVudGltZUZlYXR1cmVzLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUnVudGltZUZlYXR1cmVzOjplbmFibGVHYW1lcGFkKToKKyAgICAgICAg
KFdlYktpdDo6V2ViUnVudGltZUZlYXR1cmVzOjppc0dhbWVwYWRFbmFibGVkKToKKwogMjAxMS0x
MS0wNyAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CiAKICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNDkwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktp
dC5neXAKaW5kZXggNWQ4M2M4NGIwMmI2M2IyMTU0M2VkN2Y5MDUxMDJiNmJjYjg3OTgyOC4uMjIz
ZmQ1OTJkOTkwZjBhMjY0NTUxM2E4NzM4YWIyNjIyNzcwNDlhMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
V2ViS2l0Lmd5cApAQCAtMTkxLDYgKzE5MSw4IEBACiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9X
ZWJGb250Q2FjaGUuaCcsCiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJGb3JtQ29udHJvbEVs
ZW1lbnQuaCcsCiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJGb3JtRWxlbWVudC5oJywKKyAg
ICAgICAgICAgICAgICAncHVibGljL1dlYkdhbWVwYWQuaCcsCisgICAgICAgICAgICAgICAgJ3B1
YmxpYy9XZWJHYW1lcGFkcy5oJywKICAgICAgICAgICAgICAgICAncHVibGljL1dlYkdlb2xvY2F0
aW9uQ2xpZW50LmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViR2VvbG9jYXRpb25DbGll
bnRNb2NrLmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViR2VvbG9jYXRpb25Db250cm9s
bGVyLmgnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViR2Ft
ZXBhZC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViR2FtZXBhZC5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmNkYzA5Y2QyNzAxNDgwN2ZjMGE5MzZkZTYyMjRkOTQ5ZmM4M2JjMzQKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJHYW1lcGFkLmgKQEAg
LTAsMCArMSw3NCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDExLCBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorLy8KKy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorLy8gbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6Cisv
LworLy8gMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKy8vICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKy8vIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisvLyAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisvLyAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLy8KKy8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisvLyBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKy8vIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisvLyBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLy8g
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwKKy8vIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCisvLyBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUgorLy8gQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUCisvLyBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisvLyBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0gKKy8vIERBTUFHRS4KKworI2lmbmRlZiBXZWJHYW1lcGFkX2gKKyNkZWZpbmUgV2ViR2Ft
ZXBhZF9oCisKKyNpbmNsdWRlICJXZWJDb21tb24uaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisK
Ky8vIFRoaXMgc3RydWN0dXJlIGlzIGludGVudGlvbmFsbHkgUE9EIGFuZCBmaXhlZCBzaXplIHNv
IHRoYXQgaXQgY2FuIGJlIHNoYXJlZAorLy8gbWVtb3J5IGJldHdlZW4gaGFyZHdhcmUgcG9sbGlu
ZyB0aHJlYWRzIGFuZCB0aGUgcmVzdCBvZiB0aGUgYnJvd3Nlci4gU2VlCisvLyBhbHNvIFdlYkdh
bWVwYWRzLmguCitjbGFzcyBXZWJHYW1lcGFkIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgY29uc3Qg
c2l6ZV90IGlkTGVuZ3RoQ2FwID0gMTI4OworICAgIHN0YXRpYyBjb25zdCBzaXplX3QgYXhlc0xl
bmd0aENhcCA9IDE2OworICAgIHN0YXRpYyBjb25zdCBzaXplX3QgYnV0dG9uc0xlbmd0aENhcCA9
IDE2OworCisgICAgV2ViR2FtZXBhZCgpCisgICAgICAgIDogY29ubmVjdGVkKGZhbHNlKQorICAg
ICAgICAsIHRpbWVzdGFtcCgwKQorICAgICAgICAsIGF4ZXNMZW5ndGgoMCkKKyAgICAgICAgLCBi
dXR0b25zTGVuZ3RoKDApCisgICAgeworICAgICAgICBpZFswXSA9IDA7CisgICAgfQorCisgICAg
Ly8gSXMgdGhlcmUgYSBnYW1lcGFkIGNvbm5lY3RlZCBhdCB0aGlzIGluZGV4PworICAgIGJvb2wg
Y29ubmVjdGVkOworCisgICAgLy8gRGV2aWNlIGlkZW50aWZpZXIgKGJhc2VkIG9uIG1hbnVmYWN0
dXJlciwgbW9kZWwsIGV0Yy4pLgorICAgIFdlYlVDaGFyIGlkW2lkTGVuZ3RoQ2FwXTsKKworICAg
IC8vIE1vbm90b25pY2FsbHkgaW5jcmVhc2luZyB2YWx1ZSByZWZlcnJpbmcgdG8gd2hlbiB0aGUg
ZGF0YSB3ZXJlIGxhc3QKKyAgICAvLyB1cGRhdGVkLgorICAgIHVuc2lnbmVkIGxvbmcgbG9uZyB0
aW1lc3RhbXA7CisKKyAgICAvLyBOdW1iZXIgb2YgdmFsaWQgZW50cmllcyBpbiB0aGUgYXhlcyBh
cnJheS4KKyAgICB1bnNpZ25lZCBheGVzTGVuZ3RoOworCisgICAgLy8gTm9ybWFsaXplZCB2YWx1
ZXMgcmVwcmVzZW50aW5nIGF4ZXMsIGluIHRoZSByYW5nZSBbLTEuLjFdLgorICAgIGZsb2F0IGF4
ZXNbYXhlc0xlbmd0aENhcF07CisKKyAgICAvLyBOdW1iZXIgb2YgdmFsaWQgZW50cmllcyBpbiB0
aGUgYnV0dG9ucyBhcnJheS4KKyAgICB1bnNpZ25lZCBidXR0b25zTGVuZ3RoOworCisgICAgLy8g
Tm9ybWFsaXplZCB2YWx1ZXMgcmVwcmVzZW50aW5nIGJ1dHRvbnMsIGluIHRoZSByYW5nZSBbMC4u
MV0uCisgICAgZmxvYXQgYnV0dG9uc1tidXR0b25zTGVuZ3RoQ2FwXTsKK307CisKK30KKworI2Vu
ZGlmIC8vIFdlYkdhbWVwYWRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViR2FtZXBhZHMuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkdh
bWVwYWRzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYjFjYzE4ZWY4NmZiODg4NjY0MjAxYmE2MmYxZTRiYmVhYjEy
ZmQ4MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dl
YkdhbWVwYWRzLmgKQEAgLTAsMCArMSw1MCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDExLCBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8KKy8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorLy8gbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6CisvLworLy8gMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy8vICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKy8vIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisvLyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisvLyAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLy8KKy8vIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycgQU5ECisvLyBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKy8vIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisvLyBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQorLy8gRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKy8vIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCisv
LyBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUgorLy8gQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisvLyBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisv
LyBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0gKKy8vIERBTUFHRS4KKworI2lmbmRlZiBXZWJHYW1lcGFkc19o
CisjZGVmaW5lIFdlYkdhbWVwYWRzX2gKKworI2luY2x1ZGUgIldlYkdhbWVwYWQuaCIKKworbmFt
ZXNwYWNlIFdlYktpdCB7CisKKy8vIFRoaXMgc3RydWN0dXJlIGlzIGludGVudGlvbmFsbHkgUE9E
IGFuZCBmaXhlZCBzaXplIHNvIHRoYXQgaXQgY2FuIGJlIHN0b3JlZAorLy8gaW4gc2hhcmVkIG1l
bW9yeSBiZXR3ZWVuIGhhcmR3YXJlIHBvbGxpbmcgdGhyZWFkcyBhbmQgdGhlIHJlc3Qgb2YgdGhl
CisvLyBicm93c2VyLgorY2xhc3MgV2ViR2FtZXBhZHMgeworcHVibGljOgorICAgIFdlYkdhbWVw
YWRzKCkKKyAgICAgICAgOiBsZW5ndGgoMCkgeyB9CisKKyAgICBzdGF0aWMgY29uc3Qgc2l6ZV90
IGl0ZW1zTGVuZ3RoQ2FwID0gNDsKKworICAgIC8vIE51bWJlciBvZiB2YWxpZCBlbnRyaWVzIGlu
IHRoZSBpdGVtcyBhcnJheS4KKyAgICB1bnNpZ25lZCBsZW5ndGg7CisKKyAgICAvLyBHYW1lcGFk
IGRhdGEgZm9yIE4gc2VwYXJhdGUgZ2FtZXBhZCBkZXZpY2VzLgorICAgIFdlYkdhbWVwYWQgaXRl
bXNbaXRlbXNMZW5ndGhDYXBdOworfTsKKworfQorCisjZW5kaWYgLy8gV2ViR2FtZXBhZHNfaApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViS2l0UGxhdGZvcm1T
dXBwb3J0LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJLaXRQbGF0Zm9ybVN1
cHBvcnQuaAppbmRleCA1MjgxNDc5NGQ5ZDIxNGFjYmMzZThjMTcyNGEyM2UwNWExN2VlMmFiLi43
MzU5NGQ3NzUxNDRhYmY2MmY1Nzg5MTQzODczYTg5OTNhODg3OGYwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJLaXRQbGF0Zm9ybVN1cHBvcnQuaAorKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJLaXRQbGF0Zm9ybVN1cHBvcnQuaApAQCAt
MzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIldlYkF1ZGlvRGV2aWNlLmgiCiAjaW5jbHVkZSAiV2Vi
Q29tbW9uLmgiCiAjaW5jbHVkZSAiV2ViRGF0YS5oIgorI2luY2x1ZGUgIldlYkdhbWVwYWRzLmgi
CiAjaW5jbHVkZSAiV2ViTG9jYWxpemVkU3RyaW5nLmgiCiAjaW5jbHVkZSAiV2ViU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlLmgiCiAjaW5jbHVkZSAiV2ViU3RyaW5nLmgiCkBAIC0xMDgsNiArMTA5LDEx
IEBAIHB1YmxpYzoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
V2ViVVJMJiB1cmwsIGJvb2wgaXNMb2NhbFN0b3JhZ2UpIHsgfQogCiAKKyAgICAvLyBHYW1lcGFk
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KKworICAgIHZpcnR1YWwgdm9pZCBzYW1wbGVHYW1lcGFkcyhXZWJHYW1lcGFkcyYgaW50
bykgeyBpbnRvLmxlbmd0aCA9IDA7IH0KKworCiAgICAgLy8gSGlzdG9yeSAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKICAgICAv
LyBSZXR1cm5zIHRoZSBoYXNoIGZvciB0aGUgZ2l2ZW4gY2Fub25pY2FsaXplZCBVUkwgZm9yIHVz
ZSBpbiB2aXNpdGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9X
ZWJSdW50aW1lRmVhdHVyZXMuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlJ1
bnRpbWVGZWF0dXJlcy5oCmluZGV4IDZjM2QyOTkwNzVjZWQ4ZDkxMDhiYzI0YTc3MTUzZjQyZGFh
N2JiYzMuLjliMjFjYjIwOTdhNTM2ZGZjOWUyMjdmZWRlNTNjNTM5MWFjNTE3OWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlJ1bnRpbWVGZWF0dXJlcy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlJ1bnRpbWVGZWF0dXJlcy5oCkBA
IC0xMTgsNiArMTE4LDkgQEAgcHVibGljOgogICAgIFdFQktJVF9FWFBPUlQgc3RhdGljIHZvaWQg
ZW5hYmxlVmlkZW9UcmFjayhib29sKTsKICAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyBib29sIGlz
VmlkZW9UcmFja0VuYWJsZWQoKTsKIAorICAgIFdFQktJVF9FWFBPUlQgc3RhdGljIHZvaWQgZW5h
YmxlR2FtZXBhZChib29sKTsKKyAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyBib29sIGlzR2FtZXBh
ZEVuYWJsZWQoKTsKKwogcHJpdmF0ZToKICAgICBXZWJSdW50aW1lRmVhdHVyZXMoKTsKIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJSdW50aW1lRmVhdHVyZXMu
Y3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUnVudGltZUZlYXR1cmVzLmNwcApp
bmRleCA2YjI4MzNhOWViOTE5ZTM5MTZmNTZjMDk5NDY3NGU0NTIyNTAwNGU1Li5hODVhYTFjZGU2
Njg3MzU5ODI5Njg3ZjBmOTIxNWVjNTA2NWQ1Zjg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJSdW50aW1lRmVhdHVyZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlJ1bnRpbWVGZWF0dXJlcy5jcHAKQEAgLTQxNCw0ICs0MTQsMjIgQEAg
Ym9vbCBXZWJSdW50aW1lRmVhdHVyZXM6OmlzVmlkZW9UcmFja0VuYWJsZWQoKQogI2VuZGlmCiB9
CiAKK3ZvaWQgV2ViUnVudGltZUZlYXR1cmVzOjplbmFibGVHYW1lcGFkKGJvb2wgZW5hYmxlKQor
eworI2lmIEVOQUJMRShHQU1FUEFEKQorICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldEdh
bWVwYWRzRW5hYmxlZChlbmFibGUpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZW5hYmxlKTsK
KyNlbmRpZgorfQorCitib29sIFdlYlJ1bnRpbWVGZWF0dXJlczo6aXNHYW1lcGFkRW5hYmxlZCgp
Cit7CisjaWYgRU5BQkxFKEdBTUVQQUQpCisgICAgcmV0dXJuIFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OmdhbWVwYWRzRW5hYmxlZCgpOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYK
K30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>