<?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>42265</bug_id>
          
          <creation_ts>2010-07-14 08:31:03 -0700</creation_ts>
          <short_desc>Runtime feature switch for device orientation</short_desc>
          <delta_ts>2010-07-21 03:42:52 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>42380</dependson>
    
    <dependson>42648</dependson>
          <blocked>41616</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Hans Wennborg">hans</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>fishd</cc>
    
    <cc>gustavo</cc>
    
    <cc>jorlow</cc>
    
    <cc>steveblock</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>251202</commentid>
    <comment_count>0</comment_count>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2010-07-14 08:31:03 -0700</bug_when>
    <thetext>Runtime feature switch for device orientation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251208</commentid>
    <comment_count>1</comment_count>
      <attachid>61526</attachid>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2010-07-14 08:37:54 -0700</bug_when>
    <thetext>Created attachment 61526
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251212</commentid>
    <comment_count>2</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-07-14 08:52:17 -0700</bug_when>
    <thetext>Attachment 61526 did not build on qt:
Build output: http://webkit-commit-queue.appspot.com/results/3430277</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251213</commentid>
    <comment_count>3</comment_count>
      <attachid>61526</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-07-14 08:55:09 -0700</bug_when>
    <thetext>Comment on attachment 61526
Patch

WebCore/bindings/generic/RuntimeEnabledFeatures.cpp:50
 +  bool RuntimeEnabledFeatures::isDeviceOrientationEventEnabled = true;
I think you can omit &quot;Event&quot; from all of these names.


WebCore/page/DOMWindow.cpp:1416
 +      else if (eventType == eventNames().deviceorientationEvent &amp;&amp; frame() &amp;&amp; frame()-&gt;page() &amp;&amp; RuntimeEnabledFeatures::deviceOrientationEventEnabled())
I&apos;d slightly prefer putting this logic into the deviceOrientation() method and having that return 0 if it&apos;s turned off at runtime.  (And thus check for it being null here.)

At very least, you should add a double check in that method to make sure it only gets instantiated when it&apos;s enabled.


Please add a test in chromium to verify this stuff can&apos;t be seen when the flag is off.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251220</commentid>
    <comment_count>4</comment_count>
      <attachid>61526</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-07-14 09:03:16 -0700</bug_when>
    <thetext>Comment on attachment 61526
Patch

WebCore/bindings/generic/RuntimeEnabledFeatures.h:116
 +  #if ENABLE(DEVICE_ORIENTATION)
It looks like some features choose to guard these blocks, others don&apos;t. I think we shouldn&apos;t use guards unless we need to, it just clutters the code.

WebCore/bindings/generic/RuntimeEnabledFeatures.h:117
 +      static void setDeviceOrientationEventEnabled(bool isEnabled) { isDeviceOrientationEventEnabled = isEnabled; }
I think the flag should just be named for the feature, ie &apos;DeviceOrientation&apos;, in keeping with the other features.

WebCore/page/DOMWindow.idl:308
 +          attribute [Conditional=DEVICE_ORIENTATION,EnabledAtRuntime] EventListener ondeviceorientation;
There should probably be a space here, though I notice the rest of the file is inconsistent</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251256</commentid>
    <comment_count>5</comment_count>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2010-07-14 10:11:34 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 61526 [details])
&gt; WebCore/bindings/generic/RuntimeEnabledFeatures.cpp:50
&gt;  +  bool RuntimeEnabledFeatures::isDeviceOrientationEventEnabled = true;
&gt; I think you can omit &quot;Event&quot; from all of these names.
Done. (Except deviceOrientationEventEnabled() which is needed for the bindings)

&gt; 
&gt; 
&gt; WebCore/page/DOMWindow.cpp:1416
&gt;  +      else if (eventType == eventNames().deviceorientationEvent &amp;&amp; frame() &amp;&amp; frame()-&gt;page() &amp;&amp; RuntimeEnabledFeatures::deviceOrientationEventEnabled())
&gt; I&apos;d slightly prefer putting this logic into the deviceOrientation() method and having that return 0 if it&apos;s turned off at runtime.  (And thus check for it being null here.)
Instantiation is not done in deviceOrientation(), but in the initializer list of the Page constructor, so checking the flag there.

&gt; 
&gt; 
&gt; Please add a test in chromium to verify this stuff can&apos;t be seen when the flag is off.
Will do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251257</commentid>
    <comment_count>6</comment_count>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2010-07-14 10:12:05 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 61526 [details])
&gt; WebCore/bindings/generic/RuntimeEnabledFeatures.h:116
&gt;  +  #if ENABLE(DEVICE_ORIENTATION)
&gt; It looks like some features choose to guard these blocks, others don&apos;t. I think we shouldn&apos;t use guards unless we need to, it just clutters the code.
Done. Removing the gurads.

&gt; 
&gt; WebCore/bindings/generic/RuntimeEnabledFeatures.h:117
&gt;  +      static void setDeviceOrientationEventEnabled(bool isEnabled) { isDeviceOrientationEventEnabled = isEnabled; }
&gt; I think the flag should just be named for the feature, ie &apos;DeviceOrientation&apos;, in keeping with the other features.
Done.

&gt; 
&gt; WebCore/page/DOMWindow.idl:308
&gt;  +          attribute [Conditional=DEVICE_ORIENTATION,EnabledAtRuntime] EventListener ondeviceorientation;
&gt; There should probably be a space here, though I notice the rest of the file is inconsistent
Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251258</commentid>
    <comment_count>7</comment_count>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2010-07-14 10:13:49 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Attachment 61526 [details] did not build on qt:
&gt; Build output: http://webkit-commit-queue.appspot.com/results/3430277

Not sure what to do about this. Seems the problem is that WebKit/WebCore/bindings/generic isn&apos;t on the search path for include files (only WebCore/bindings and WebCore/bindings/js is).

Do you think this is an error in my code (i.e. one is not allowed to use that header from where I use it), or something that should be fixed in the Qt makefiles?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251259</commentid>
    <comment_count>8</comment_count>
      <attachid>61531</attachid>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2010-07-14 10:14:40 -0700</bug_when>
    <thetext>Created attachment 61531
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251267</commentid>
    <comment_count>9</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-07-14 10:25:55 -0700</bug_when>
    <thetext>Attachment 61531 did not build on qt:
Build output: http://webkit-commit-queue.appspot.com/results/3490286</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251319</commentid>
    <comment_count>10</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-07-14 11:34:23 -0700</bug_when>
    <thetext>Darin should take a look as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251321</commentid>
    <comment_count>11</comment_count>
      <attachid>61531</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-07-14 11:34:47 -0700</bug_when>
    <thetext>Comment on attachment 61531
Patch

WebCore/page/Page.cpp:143
 +      , m_deviceOrientationController(RuntimeEnabledFeatures::deviceOrientationEnabled() ? new DeviceOrientationController(this, deviceOrientationClient) : 0)
Should we be creating this lazily on first use?  I see that at least the geolocation one isn&apos;t, but maybe that should be changed too?  (It&apos;s a shame to slow down Page creation for features that may or may never be accessed.  Doing this lazily is generally the webkit way.)  It&apos;s ok to do this in another patch, but I think it should be done unless there&apos;s a good reason not to.

WebKit/chromium/src/WebRuntimeFeatures.cpp:231
 +  #if ENABLE(DEVICE_ORIENTATION)
Do we need these guards?  It seems like not.


WebKit/chromium/src/WebRuntimeFeatures.cpp:236
 +  bool WebRuntimeFeatures::isDeviceOrientationEnabled()
Interesting.  I was going to say the same here, but I realized that we don&apos;t want it to say true when support isn&apos;t even compiled in.  But then I realized I could say the same about what&apos;s in WebCore as well.  I almost wonder if it should default to false if the feature isn&apos;t compiled in.  But in that case, we should probably do the same for the other features.

What do you think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251330</commentid>
    <comment_count>12</comment_count>
      <attachid>61531</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-07-14 11:43:32 -0700</bug_when>
    <thetext>Comment on attachment 61531
Patch

lgtm, other than the qt build problem</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251331</commentid>
    <comment_count>13</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-07-14 11:46:15 -0700</bug_when>
    <thetext>&gt; Should we be creating this lazily on first use?
I don&apos;t think this is a big deal. The controller is a very thin shim. If we&apos;re to change this, let&apos;s change them all in a separate patch.

&gt; WebKit/chromium/src/WebRuntimeFeatures.cpp:236
&gt;  +  bool WebRuntimeFeatures::isDeviceOrientationEnabled()
&gt; Interesting.  I was going to say the same here, but I realized that we don&apos;t
&gt; want it to say true when support isn&apos;t even compiled in.  But then I realized I
&gt; could say the same about what&apos;s in WebCore as well.  I almost wonder if it
&gt; should default to false if the feature isn&apos;t compiled in.  But in that case, we
&gt; should probably do the same for the other features.
I think that in general, we should use as few guards as possible. I think it&apos;s fine for the runtime feature to default to true, even if it&apos;s never used because the calling code is behind an enable guard.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251335</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-07-14 11:49:59 -0700</bug_when>
    <thetext>Attachment 61531 did not build on gtk:
Build output: http://webkit-commit-queue.appspot.com/results/3527153</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251338</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-07-14 11:54:03 -0700</bug_when>
    <thetext>Attachment 61531 did not build on win:
Build output: http://webkit-commit-queue.appspot.com/results/3476308</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251803</commentid>
    <comment_count>16</comment_count>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2010-07-15 04:31:13 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 61531 [details])
&gt; WebCore/page/Page.cpp:143
&gt;  +      , m_deviceOrientationController(RuntimeEnabledFeatures::deviceOrientationEnabled() ? new DeviceOrientationController(this, deviceOrientationClient) : 0)
&gt; Should we be creating this lazily on first use?  I see that at least the geolocation one isn&apos;t, but maybe that should be changed too?  (It&apos;s a shame to slow down Page creation for features that may or may never be accessed.  Doing this lazily is generally the webkit way.)  It&apos;s ok to do this in another patch, but I think it should be done unless there&apos;s a good reason not to.
Let&apos;s aim for doing it in another patch, then.

&gt; 
&gt; WebKit/chromium/src/WebRuntimeFeatures.cpp:231
&gt;  +  #if ENABLE(DEVICE_ORIENTATION)
&gt; Do we need these guards?  It seems like not.
Right, let&apos;s remove it.

&gt; 
&gt; 
&gt; WebKit/chromium/src/WebRuntimeFeatures.cpp:236
&gt;  +  bool WebRuntimeFeatures::isDeviceOrientationEnabled()
&gt; Interesting.  I was going to say the same here, but I realized that we don&apos;t want it to say true when support isn&apos;t even compiled in.  But then I realized I could say the same about what&apos;s in WebCore as well.  I almost wonder if it should default to false if the feature isn&apos;t compiled in.  But in that case, we should probably do the same for the other features.
&gt; 
&gt; What do you think?
I don&apos;t think it matters as much what the flag in WebCore is when the feature is not compiled in, as calling code in WebCore would be behind compile-time enable guard anyway.

In Chromium, we&apos;re going to flip the compile-time flag anyway (and expect it to be on, as some code will break without it), so we might as well drop the guards here as well. And I agree with Steve that the fever guards we need, the better.


Uploading new patch with changes to the makefiles to hopefully make the ews bots happy. We should watch this closely when it lands eventually to make sure nothing else breaks. Please chime in if I have missed any obvious build file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251804</commentid>
    <comment_count>17</comment_count>
      <attachid>61640</attachid>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2010-07-15 04:31:43 -0700</bug_when>
    <thetext>Created attachment 61640
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251805</commentid>
    <comment_count>18</comment_count>
      <attachid>61640</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-07-15 04:35:39 -0700</bug_when>
    <thetext>Comment on attachment 61640
Patch

r=me

Not setting r+ yet as this apparently halts pending EWS bots</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251806</commentid>
    <comment_count>19</comment_count>
      <attachid>61640</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-07-15 04:36:54 -0700</bug_when>
    <thetext>Comment on attachment 61640
Patch

r=me

please create subsequent bugs and link to them before landing tho</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251807</commentid>
    <comment_count>20</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-07-15 04:37:38 -0700</bug_when>
    <thetext>o...switched back from a r+ for ews bots</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251808</commentid>
    <comment_count>21</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-07-15 04:40:35 -0700</bug_when>
    <thetext>Attachment 61640 did not build on qt:
Build output: http://webkit-commit-queue.appspot.com/results/3567017</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251813</commentid>
    <comment_count>22</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-07-15 04:52:58 -0700</bug_when>
    <thetext>Looks like you might need a prerequisite patch to add RuntimeEnabledFeatures.cpp to all the builds and to fix the guards!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251819</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-07-15 05:06:02 -0700</bug_when>
    <thetext>Attachment 61640 did not build on gtk:
Build output: http://webkit-commit-queue.appspot.com/results/3345726</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>251822</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-07-15 05:16:30 -0700</bug_when>
    <thetext>Attachment 61640 did not build on win:
Build output: http://webkit-commit-queue.appspot.com/results/3559029</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253692</commentid>
    <comment_count>25</comment_count>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2010-07-20 06:37:23 -0700</bug_when>
    <thetext>Sorry for the delay.

Filed bug for discussion of lazily initializing Page members: Bug 42635

Since the patch from Bug 42380 has landed, the EWS bots should hopefully be happy with this patch now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253693</commentid>
    <comment_count>26</comment_count>
      <attachid>62066</attachid>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2010-07-20 06:37:46 -0700</bug_when>
    <thetext>Created attachment 62066
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253721</commentid>
    <comment_count>27</comment_count>
      <attachid>62066</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-07-20 07:56:17 -0700</bug_when>
    <thetext>Comment on attachment 62066
Patch

r=me

Looks like the Windows EWS bot is dead, so go ahead and submit and watch the build bots.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253784</commentid>
    <comment_count>28</comment_count>
      <attachid>62066</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-20 10:08:41 -0700</bug_when>
    <thetext>Comment on attachment 62066
Patch

Clearing flags on attachment: 62066

Committed r63750: &lt;http://trac.webkit.org/changeset/63750&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253785</commentid>
    <comment_count>29</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-20 10:08:48 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253828</commentid>
    <comment_count>30</comment_count>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2010-07-20 11:18:51 -0700</bug_when>
    <thetext>Reopening. This had to be rolled out, as it broke the Windows build.

Will look into what happened tomorrow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254178</commentid>
    <comment_count>31</comment_count>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2010-07-21 02:25:05 -0700</bug_when>
    <thetext>Uploading new patch that also adds bindings/generic to the WebCore.vcproj/WebCoreCommon.vsprops file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254179</commentid>
    <comment_count>32</comment_count>
      <attachid>62159</attachid>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2010-07-21 02:25:38 -0700</bug_when>
    <thetext>Created attachment 62159
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254190</commentid>
    <comment_count>33</comment_count>
      <attachid>62159</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-07-21 03:11:39 -0700</bug_when>
    <thetext>Comment on attachment 62159
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254199</commentid>
    <comment_count>34</comment_count>
      <attachid>62159</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-21 03:42:45 -0700</bug_when>
    <thetext>Comment on attachment 62159
Patch

Clearing flags on attachment: 62159

Committed r63810: &lt;http://trac.webkit.org/changeset/63810&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254200</commentid>
    <comment_count>35</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-21 03:42:52 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61526</attachid>
            <date>2010-07-14 08:37:54 -0700</date>
            <delta_ts>2010-07-14 10:14:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42265-20100714163752.patch</filename>
            <type>text/plain</type>
            <size>8474</size>
            <attacher name="Hans Wennborg">hans</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NjQyOGY5MDFlZDQ0MjIyNmY3MjRiYjYzMDg5Y2VjODNmYjM4ZDhmOS4uNGZkNjA4ODgxNTNkOWE4
ZjRhMzE4NzYxMzRhYjk1NDgwYWM1Y2NhNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxMC0wNy0xNCAgSGFu
cyBXZW5uYm9yZyAgPGhhbnNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFJ1bnRpbWUgZmVhdHVyZSBzd2l0Y2ggZm9yIGRldmlj
ZSBvcmllbnRhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NDIyNjUKKworICAgICAgICBBZGQgYSBydW50aW1lIGZlYXR1cmUgc3dpdGNoIHRoYXQg
ZGVjaWRlcyB3aGV0aGVyIGRldmljZSBvcmllbnRhdGlvbgorICAgICAgICBldmVudHMgYXJlIGF2
YWlsYWJsZSBvciBub3QuIERlZmF1bHRzIHRvIHRydWUuCisKKyAgICAgICAgKiBiaW5kaW5ncy9n
ZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2dl
bmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oOgorICAgICAgICAoV2ViQ29yZTo6UnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6c2V0RGV2aWNlT3JpZW50YXRpb25FdmVudEVuYWJsZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6ZGV2aWNlT3JpZW50YXRpb25F
dmVudEVuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6
b25kZXZpY2VvcmllbnRhdGlvbkVuYWJsZWQpOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6YWRkRXZlbnRMaXN0ZW5lcik6CisgICAg
ICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnJlbW92ZUV2ZW50TGlzdGVuZXIpOgorICAgICAgICAo
V2ViQ29yZTo6RE9NV2luZG93OjpyZW1vdmVBbGxFdmVudExpc3RlbmVycyk6CisgICAgICAgICog
cGFnZS9ET01XaW5kb3cuaWRsOgorCiAyMDEwLTA3LTE0ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5y
ZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCBy
NjMzMDUuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJs
ZWRGZWF0dXJlcy5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRG
ZWF0dXJlcy5jcHAKaW5kZXggN2Q0ZTVjMTc1YzZiZGQ4ODliZDI4NmQ2OGYwNGNhNWQ2M2NkYWYw
MC4uODFjNmRkODE1NDExODZjNjRjMjdjNjcwODUxMDMxOTk4Zjc5MTk4MyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwCisrKyBi
L1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcApAQCAt
NDcsNiArNDcsNyBAQCBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzSW5kZXhlZERCRW5h
YmxlZCA9IGZhbHNlOwogYm9vbCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjppc1dlYkdMRW5hYmxl
ZCA9IGZhbHNlOwogYm9vbCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjppc1B1c2hTdGF0ZUVuYWJs
ZWQgPSBmYWxzZTsKIGJvb2wgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6aXNUb3VjaEVuYWJsZWQg
PSB0cnVlOworYm9vbCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjppc0RldmljZU9yaWVudGF0aW9u
RXZlbnRFbmFibGVkID0gdHJ1ZTsKIAogI2lmIEVOQUJMRShWSURFTykKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCBiL1dlYkNv
cmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKaW5kZXggNzNiYmYw
ZmY5ZjZkYjk1NjZhMDY2YmMwMzUyNDg0YTBmNzMzNmY4Ni4uNTM1M2JjNmYyNjljZDhjNzRmMDY2
MzJhNTRmNmQ4MjBhYTQ5MTU4MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmlj
L1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMv
UnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCkBAIC0xMTMsNiArMTEzLDEyIEBAIHB1YmxpYzoKICAg
ICBzdGF0aWMgYm9vbCBvbnRvdWNoY2FuY2VsRW5hYmxlZCgpIHsgcmV0dXJuIGlzVG91Y2hFbmFi
bGVkOyB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisgICAgc3Rh
dGljIHZvaWQgc2V0RGV2aWNlT3JpZW50YXRpb25FdmVudEVuYWJsZWQoYm9vbCBpc0VuYWJsZWQp
IHsgaXNEZXZpY2VPcmllbnRhdGlvbkV2ZW50RW5hYmxlZCA9IGlzRW5hYmxlZDsgfQorICAgIHN0
YXRpYyBib29sIGRldmljZU9yaWVudGF0aW9uRXZlbnRFbmFibGVkKCkgeyByZXR1cm4gaXNEZXZp
Y2VPcmllbnRhdGlvbkV2ZW50RW5hYmxlZDsgfQorICAgIHN0YXRpYyBib29sIG9uZGV2aWNlb3Jp
ZW50YXRpb25FbmFibGVkKCkgeyByZXR1cm4gaXNEZXZpY2VPcmllbnRhdGlvbkV2ZW50RW5hYmxl
ZDsgfQorI2VuZGlmCisKIHByaXZhdGU6CiAgICAgLy8gTmV2ZXIgaW5zdGFudGlhdGUuCiAgICAg
UnVudGltZUVuYWJsZWRGZWF0dXJlcygpIHsgfQpAQCAtMTI2LDYgKzEzMiw3IEBAIHByaXZhdGU6
CiAgICAgc3RhdGljIGJvb2wgaXNXZWJHTEVuYWJsZWQ7CiAgICAgc3RhdGljIGJvb2wgaXNQdXNo
U3RhdGVFbmFibGVkOwogICAgIHN0YXRpYyBib29sIGlzVG91Y2hFbmFibGVkOworICAgIHN0YXRp
YyBib29sIGlzRGV2aWNlT3JpZW50YXRpb25FdmVudEVuYWJsZWQ7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcCBiL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IDVlYmU2NTlhMjlhYzdkZjQwMDhlN2MzYzRk
NzIxMmJmNDdkNWJjOTEuLjUwYjQwNTAwZDE1NjU0MWRlN2M3Mzc0ZjcwZGE4YWU1N2IyM2I5OWEg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1dlYkNvcmUvcGFn
ZS9ET01XaW5kb3cuY3BwCkBAIC02OSw2ICs2OSw3IEBACiAjaW5jbHVkZSAiUGVyZm9ybWFuY2Uu
aCIKICNpbmNsdWRlICJQbGF0Zm9ybVNjcmVlbi5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5n
LmgiCisjaW5jbHVkZSAiUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIgogI2luY2x1ZGUgIlNjcmVl
bi5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU2VyaWFsaXplZFNj
cmlwdFZhbHVlLmgiCkBAIC0xNDEyLDggKzE0MTMsOCBAQCBib29sIERPTVdpbmRvdzo6YWRkRXZl
bnRMaXN0ZW5lcihjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgUGFzc1JlZlB0cjxFdmVu
dAogICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuYmVmb3JldW5sb2FkRXZl
bnQgJiYgYWxsb3dzQmVmb3JlVW5sb2FkTGlzdGVuZXJzKHRoaXMpKQogICAgICAgICBhZGRCZWZv
cmVVbmxvYWRFdmVudExpc3RlbmVyKHRoaXMpOwogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJ
T04pCi0gICAgZWxzZSBpZiAoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5kZXZpY2VvcmllbnRh
dGlvbkV2ZW50ICYmIGZyYW1lKCkgJiYgZnJhbWUoKS0+cGFnZSgpKQotICAgICAgICBmcmFtZSgp
LT5wYWdlKCktPmRldmljZU9yaWVudGF0aW9uKCktPmFkZExpc3RlbmVyKHRoaXMpOworICAgIGVs
c2UgaWYgKGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuZGV2aWNlb3JpZW50YXRpb25FdmVudCAm
JiBmcmFtZSgpICYmIGZyYW1lKCktPnBhZ2UoKSAmJiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpk
ZXZpY2VPcmllbnRhdGlvbkV2ZW50RW5hYmxlZCgpKQorICAgICAgICBmcmFtZSgpLT5wYWdlKCkt
PmRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcigpLT5hZGRMaXN0ZW5lcih0aGlzKTsKICNlbmRp
ZgogCiAgICAgcmV0dXJuIHRydWU7CkBAIC0xNDI5LDggKzE0MzAsOCBAQCBib29sIERPTVdpbmRv
dzo6cmVtb3ZlRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgRXZl
bnRMaXN0ZW5lcgogICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuYmVmb3Jl
dW5sb2FkRXZlbnQgJiYgYWxsb3dzQmVmb3JlVW5sb2FkTGlzdGVuZXJzKHRoaXMpKQogICAgICAg
ICByZW1vdmVCZWZvcmVVbmxvYWRFdmVudExpc3RlbmVyKHRoaXMpOwogI2lmIEVOQUJMRShERVZJ
Q0VfT1JJRU5UQVRJT04pCi0gICAgZWxzZSBpZiAoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5k
ZXZpY2VvcmllbnRhdGlvbkV2ZW50ICYmIGZyYW1lKCkgJiYgZnJhbWUoKS0+cGFnZSgpKQotICAg
ICAgICBmcmFtZSgpLT5wYWdlKCktPmRldmljZU9yaWVudGF0aW9uKCktPnJlbW92ZUxpc3RlbmVy
KHRoaXMpOworICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuZGV2aWNlb3Jp
ZW50YXRpb25FdmVudCAmJiBmcmFtZSgpICYmIGZyYW1lKCktPnBhZ2UoKSAmJiBSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpkZXZpY2VPcmllbnRhdGlvbkV2ZW50RW5hYmxlZCgpKQorICAgICAgICBm
cmFtZSgpLT5wYWdlKCktPmRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcigpLT5yZW1vdmVMaXN0
ZW5lcih0aGlzKTsKICNlbmRpZgogCiAgICAgcmV0dXJuIHRydWU7CkBAIC0xNTA3LDggKzE1MDgs
OCBAQCB2b2lkIERPTVdpbmRvdzo6cmVtb3ZlQWxsRXZlbnRMaXN0ZW5lcnMoKQogICAgIEV2ZW50
VGFyZ2V0OjpyZW1vdmVBbGxFdmVudExpc3RlbmVycygpOwogCiAjaWYgRU5BQkxFKERFVklDRV9P
UklFTlRBVElPTikKLSAgICBpZiAoZnJhbWUoKSAmJiBmcmFtZSgpLT5wYWdlKCkpCi0gICAgICAg
IGZyYW1lKCktPnBhZ2UoKS0+ZGV2aWNlT3JpZW50YXRpb24oKS0+cmVtb3ZlQWxsTGlzdGVuZXJz
KHRoaXMpOworICAgIGlmIChmcmFtZSgpICYmIGZyYW1lKCktPnBhZ2UoKSAmJiBSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpkZXZpY2VPcmllbnRhdGlvbkV2ZW50RW5hYmxlZCgpKQorICAgICAgICBm
cmFtZSgpLT5wYWdlKCktPmRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcigpLT5yZW1vdmVBbGxM
aXN0ZW5lcnModGhpcyk7CiAjZW5kaWYKIAogICAgIHJlbW92ZUFsbFVubG9hZEV2ZW50TGlzdGVu
ZXJzKHRoaXMpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9XZWJD
b3JlL3BhZ2UvRE9NV2luZG93LmlkbAppbmRleCBjNTAwZWU3ZjQ5ZDYzZDg4ZDVlZjFlZTVlOTRm
ZmIyOGE5NGVlZTA1Li5hOTc1NmYyN2M1NjYzYzk2ZDAwYzkzNjE0YTg5OTJkNzZlYzM2NzA1IDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAorKysgYi9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmlkbApAQCAtMzA0LDggKzMwNCw4IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAg
ICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPVRPVUNIX0VWRU5UUyxFbmFibGVkQXRSdW50aW1lXSBF
dmVudExpc3RlbmVyIG9udG91Y2hlbmQ7CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9
VE9VQ0hfRVZFTlRTLEVuYWJsZWRBdFJ1bnRpbWVdIEV2ZW50TGlzdGVuZXIgb250b3VjaGNhbmNl
bDsKIAotICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPURFVklDRV9PUklFTlRBVElPTl0g
RGV2aWNlT3JpZW50YXRpb25FdmVudENvbnN0cnVjdG9yIERldmljZU9yaWVudGF0aW9uRXZlbnQ7
Ci0gICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9REVWSUNFX09SSUVOVEFUSU9OXSBFdmVu
dExpc3RlbmVyIG9uZGV2aWNlb3JpZW50YXRpb247CisgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0
aW9uYWw9REVWSUNFX09SSUVOVEFUSU9OLEVuYWJsZWRBdFJ1bnRpbWVdIERldmljZU9yaWVudGF0
aW9uRXZlbnRDb25zdHJ1Y3RvciBEZXZpY2VPcmllbnRhdGlvbkV2ZW50OworICAgICAgICBhdHRy
aWJ1dGUgW0NvbmRpdGlvbmFsPURFVklDRV9PUklFTlRBVElPTixFbmFibGVkQXRSdW50aW1lXSBF
dmVudExpc3RlbmVyIG9uZGV2aWNlb3JpZW50YXRpb247CiAKICAgICAgICAgLy8gRXZlbnRUYXJn
ZXQgaW50ZXJmYWNlCiAgICAgICAgIFtDdXN0b21dIHZvaWQgYWRkRXZlbnRMaXN0ZW5lcihpbiBE
T01TdHJpbmcgdHlwZSwKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDk5MzRlNjEzMjE3MDI2YzEzMDY4OTQ2M2Mz
ZDViYTcyNzM4YjFmNzIuLmNmYmFhNTg5M2UwY2UzZDA3NGRlYTc2MTY3MzBkNjJjMzVhMmYxNTQg
MTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEwLTA3LTE0ICBIYW5zIFdlbm5ib3Jn
ICA8aGFuc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgUnVudGltZSBmZWF0dXJlIHN3aXRjaCBmb3IgZGV2aWNlIG9yaWVudGF0
aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjI2
NQorCisgICAgICAgIEFkZCBhIHJ1bnRpbWUgZmVhdHVyZSBzd2l0Y2ggdGhhdCBkZWNpZGVzIHdo
ZXRoZXIgZGV2aWNlIG9yaWVudGF0aW9uCisgICAgICAgIGV2ZW50cyBhcmUgYXZhaWxhYmxlIG9y
IG5vdC4gRGVmYXVsdHMgdG8gdHJ1ZS4KKworICAgICAgICAqIHB1YmxpYy9XZWJSdW50aW1lRmVh
dHVyZXMuaDoKKyAgICAgICAgKiBzcmMvV2ViUnVudGltZUZlYXR1cmVzLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUnVudGltZUZlYXR1cmVzOjplbmFibGVEZXZpY2VPcmllbnRhdGlvbik6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlJ1bnRpbWVGZWF0dXJlczo6aXNEZXZpY2VPcmllbnRhdGlvbkVu
YWJsZWQpOgorCiAyMDEwLTA3LTE0ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdt
YWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByNjMzMDUuCmRpZmYg
LS1naXQgYS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlJ1bnRpbWVGZWF0dXJlcy5oIGIvV2Vi
S2l0L2Nocm9taXVtL3B1YmxpYy9XZWJSdW50aW1lRmVhdHVyZXMuaAppbmRleCAwM2ZmNjgxOTY2
ZjI2ZDdlY2NlZGNmNGU2MjFmMDExNjEwODgyNzFmLi45NTMwN2EyY2I2MTg3NjA5ODgyZmMwNzNl
NzcyYjk4NjQ2YTYxNjc5IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlJ1
bnRpbWVGZWF0dXJlcy5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViUnVudGltZUZl
YXR1cmVzLmgKQEAgLTc3LDYgKzc3LDkgQEAgcHVibGljOgogICAgIFdFQktJVF9BUEkgc3RhdGlj
IHZvaWQgZW5hYmxlVG91Y2goYm9vbCk7CiAgICAgV0VCS0lUX0FQSSBzdGF0aWMgYm9vbCBpc1Rv
dWNoRW5hYmxlZCgpOwogCisgICAgV0VCS0lUX0FQSSBzdGF0aWMgdm9pZCBlbmFibGVEZXZpY2VP
cmllbnRhdGlvbihib29sKTsKKyAgICBXRUJLSVRfQVBJIHN0YXRpYyBib29sIGlzRGV2aWNlT3Jp
ZW50YXRpb25FbmFibGVkKCk7CisKIHByaXZhdGU6CiAgICAgV2ViUnVudGltZUZlYXR1cmVzKCk7
CiB9OwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJSdW50aW1lRmVhdHVyZXMu
Y3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJSdW50aW1lRmVhdHVyZXMuY3BwCmluZGV4IDU5
NWE0N2Y0N2E1YzUwODk5MjU1MDg3MGU1MWFmNjU5MTlkMmFkZGIuLmVmNGE2ODYzYmM2ODQ0MGI4
MGE3ZDkxOTlmY2FlMDA4NmIwOWE5OGIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViUnVudGltZUZlYXR1cmVzLmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlJ1bnRp
bWVGZWF0dXJlcy5jcHAKQEAgLTIyNiw0ICsyMjYsMjAgQEAgYm9vbCBXZWJSdW50aW1lRmVhdHVy
ZXM6OmlzVG91Y2hFbmFibGVkKCkKICNlbmRpZgogfQogCit2b2lkIFdlYlJ1bnRpbWVGZWF0dXJl
czo6ZW5hYmxlRGV2aWNlT3JpZW50YXRpb24oYm9vbCBlbmFibGUpCit7CisjaWYgRU5BQkxFKERF
VklDRV9PUklFTlRBVElPTikKKyAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXREZXZpY2VP
cmllbnRhdGlvbkV2ZW50RW5hYmxlZChlbmFibGUpOworI2VuZGlmCit9CisKK2Jvb2wgV2ViUnVu
dGltZUZlYXR1cmVzOjppc0RldmljZU9yaWVudGF0aW9uRW5hYmxlZCgpCit7CisjaWYgRU5BQkxF
KERFVklDRV9PUklFTlRBVElPTikKKyAgICByZXR1cm4gUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
ZGV2aWNlT3JpZW50YXRpb25FdmVudEVuYWJsZWQoKTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNl
OworI2VuZGlmCit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61531</attachid>
            <date>2010-07-14 10:14:40 -0700</date>
            <delta_ts>2010-07-15 04:31:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42265-20100714181437.patch</filename>
            <type>text/plain</type>
            <size>9221</size>
            <attacher name="Hans Wennborg">hans</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NjQyOGY5MDFlZDQ0MjIyNmY3MjRiYjYzMDg5Y2VjODNmYjM4ZDhmOS4uNGZkNjA4ODgxNTNkOWE4
ZjRhMzE4NzYxMzRhYjk1NDgwYWM1Y2NhNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxMC0wNy0xNCAgSGFu
cyBXZW5uYm9yZyAgPGhhbnNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFJ1bnRpbWUgZmVhdHVyZSBzd2l0Y2ggZm9yIGRldmlj
ZSBvcmllbnRhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NDIyNjUKKworICAgICAgICBBZGQgYSBydW50aW1lIGZlYXR1cmUgc3dpdGNoIHRoYXQg
ZGVjaWRlcyB3aGV0aGVyIGRldmljZSBvcmllbnRhdGlvbgorICAgICAgICBldmVudHMgYXJlIGF2
YWlsYWJsZSBvciBub3QuIERlZmF1bHRzIHRvIHRydWUuCisKKyAgICAgICAgKiBiaW5kaW5ncy9n
ZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2dl
bmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oOgorICAgICAgICAoV2ViQ29yZTo6UnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6c2V0RGV2aWNlT3JpZW50YXRpb25FdmVudEVuYWJsZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6ZGV2aWNlT3JpZW50YXRpb25F
dmVudEVuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6
b25kZXZpY2VvcmllbnRhdGlvbkVuYWJsZWQpOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6YWRkRXZlbnRMaXN0ZW5lcik6CisgICAg
ICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnJlbW92ZUV2ZW50TGlzdGVuZXIpOgorICAgICAgICAo
V2ViQ29yZTo6RE9NV2luZG93OjpyZW1vdmVBbGxFdmVudExpc3RlbmVycyk6CisgICAgICAgICog
cGFnZS9ET01XaW5kb3cuaWRsOgorCiAyMDEwLTA3LTE0ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5y
ZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCBy
NjMzMDUuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJs
ZWRGZWF0dXJlcy5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRG
ZWF0dXJlcy5jcHAKaW5kZXggN2Q0ZTVjMTc1YzZiZGQ4ODliZDI4NmQ2OGYwNGNhNWQ2M2NkYWYw
MC4uMTUzZjk5NWNkOWY3NmI0ZTFjMWIyOGQ1NDYzMDU3M2QzOTc3OWE2ZCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwCisrKyBi
L1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcApAQCAt
NDcsNiArNDcsNyBAQCBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzSW5kZXhlZERCRW5h
YmxlZCA9IGZhbHNlOwogYm9vbCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjppc1dlYkdMRW5hYmxl
ZCA9IGZhbHNlOwogYm9vbCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjppc1B1c2hTdGF0ZUVuYWJs
ZWQgPSBmYWxzZTsKIGJvb2wgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6aXNUb3VjaEVuYWJsZWQg
PSB0cnVlOworYm9vbCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjppc0RldmljZU9yaWVudGF0aW9u
RW5hYmxlZCA9IHRydWU7CiAKICNpZiBFTkFCTEUoVklERU8pCiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmggYi9XZWJDb3JlL2Jp
bmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCmluZGV4IDczYmJmMGZmOWY2
ZGI5NTY2YTA2NmJjMDM1MjQ4NGEwZjczMzZmODYuLmQ4ZWFlMjNjMjZiZjY4MGI1NGRhMWVjMjY3
MWU4M2IwMDkxZDhiMWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50
aW1lRW5hYmxlZEZlYXR1cmVzLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRp
bWVFbmFibGVkRmVhdHVyZXMuaApAQCAtMTEzLDYgKzExMywxMSBAQCBwdWJsaWM6CiAgICAgc3Rh
dGljIGJvb2wgb250b3VjaGNhbmNlbEVuYWJsZWQoKSB7IHJldHVybiBpc1RvdWNoRW5hYmxlZDsg
fQogI2VuZGlmCiAKKyAgICBzdGF0aWMgdm9pZCBzZXREZXZpY2VPcmllbnRhdGlvbkVuYWJsZWQo
Ym9vbCBpc0VuYWJsZWQpIHsgaXNEZXZpY2VPcmllbnRhdGlvbkVuYWJsZWQgPSBpc0VuYWJsZWQ7
IH0KKyAgICBzdGF0aWMgYm9vbCBkZXZpY2VPcmllbnRhdGlvbkVuYWJsZWQoKSB7IHJldHVybiBp
c0RldmljZU9yaWVudGF0aW9uRW5hYmxlZDsgfQorICAgIHN0YXRpYyBib29sIGRldmljZU9yaWVu
dGF0aW9uRXZlbnRFbmFibGVkKCkgeyByZXR1cm4gaXNEZXZpY2VPcmllbnRhdGlvbkVuYWJsZWQ7
IH0KKyAgICBzdGF0aWMgYm9vbCBvbmRldmljZW9yaWVudGF0aW9uRW5hYmxlZCgpIHsgcmV0dXJu
IGlzRGV2aWNlT3JpZW50YXRpb25FbmFibGVkOyB9CisKIHByaXZhdGU6CiAgICAgLy8gTmV2ZXIg
aW5zdGFudGlhdGUuCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlcygpIHsgfQpAQCAtMTI2LDYg
KzEzMSw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIGJvb2wgaXNXZWJHTEVuYWJsZWQ7CiAgICAg
c3RhdGljIGJvb2wgaXNQdXNoU3RhdGVFbmFibGVkOwogICAgIHN0YXRpYyBib29sIGlzVG91Y2hF
bmFibGVkOworICAgIHN0YXRpYyBib29sIGlzRGV2aWNlT3JpZW50YXRpb25FbmFibGVkOwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5jcHAgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAppbmRleCA1ZWJlNjU5YTI5YWM3
ZGY0MDA4ZTdjM2M0ZDcyMTJiZjQ3ZDViYzkxLi4yNWI5Mjc4NzhhMTQ4MGY1YjZhZmZkYzRjOTY1
OTQwMzQ1ZGRiYWE3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysg
Yi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtMTQxMiw4ICsxNDEyLDggQEAgYm9vbCBE
T01XaW5kb3c6OmFkZEV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUs
IFBhc3NSZWZQdHI8RXZlbnQKICAgICBlbHNlIGlmIChldmVudFR5cGUgPT0gZXZlbnROYW1lcygp
LmJlZm9yZXVubG9hZEV2ZW50ICYmIGFsbG93c0JlZm9yZVVubG9hZExpc3RlbmVycyh0aGlzKSkK
ICAgICAgICAgYWRkQmVmb3JlVW5sb2FkRXZlbnRMaXN0ZW5lcih0aGlzKTsKICNpZiBFTkFCTEUo
REVWSUNFX09SSUVOVEFUSU9OKQotICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSBldmVudE5hbWVz
KCkuZGV2aWNlb3JpZW50YXRpb25FdmVudCAmJiBmcmFtZSgpICYmIGZyYW1lKCktPnBhZ2UoKSkK
LSAgICAgICAgZnJhbWUoKS0+cGFnZSgpLT5kZXZpY2VPcmllbnRhdGlvbigpLT5hZGRMaXN0ZW5l
cih0aGlzKTsKKyAgICBlbHNlIGlmIChldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLmRldmljZW9y
aWVudGF0aW9uRXZlbnQgJiYgZnJhbWUoKSAmJiBmcmFtZSgpLT5wYWdlKCkgJiYgZnJhbWUoKS0+
cGFnZSgpLT5kZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIoKSkKKyAgICAgICAgZnJhbWUoKS0+
cGFnZSgpLT5kZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIoKS0+YWRkTGlzdGVuZXIodGhpcyk7
CiAjZW5kaWYKIAogICAgIHJldHVybiB0cnVlOwpAQCAtMTQyOSw4ICsxNDI5LDggQEAgYm9vbCBE
T01XaW5kb3c6OnJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5
cGUsIEV2ZW50TGlzdGVuZXIKICAgICBlbHNlIGlmIChldmVudFR5cGUgPT0gZXZlbnROYW1lcygp
LmJlZm9yZXVubG9hZEV2ZW50ICYmIGFsbG93c0JlZm9yZVVubG9hZExpc3RlbmVycyh0aGlzKSkK
ICAgICAgICAgcmVtb3ZlQmVmb3JlVW5sb2FkRXZlbnRMaXN0ZW5lcih0aGlzKTsKICNpZiBFTkFC
TEUoREVWSUNFX09SSUVOVEFUSU9OKQotICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSBldmVudE5h
bWVzKCkuZGV2aWNlb3JpZW50YXRpb25FdmVudCAmJiBmcmFtZSgpICYmIGZyYW1lKCktPnBhZ2Uo
KSkKLSAgICAgICAgZnJhbWUoKS0+cGFnZSgpLT5kZXZpY2VPcmllbnRhdGlvbigpLT5yZW1vdmVM
aXN0ZW5lcih0aGlzKTsKKyAgICBlbHNlIGlmIChldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLmRl
dmljZW9yaWVudGF0aW9uRXZlbnQgJiYgZnJhbWUoKSAmJiBmcmFtZSgpLT5wYWdlKCkgJiYgZnJh
bWUoKS0+cGFnZSgpLT5kZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIoKSkKKyAgICAgICAgZnJh
bWUoKS0+cGFnZSgpLT5kZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIoKS0+cmVtb3ZlTGlzdGVu
ZXIodGhpcyk7CiAjZW5kaWYKIAogICAgIHJldHVybiB0cnVlOwpAQCAtMTUwNyw4ICsxNTA3LDgg
QEAgdm9pZCBET01XaW5kb3c6OnJlbW92ZUFsbEV2ZW50TGlzdGVuZXJzKCkKICAgICBFdmVudFRh
cmdldDo6cmVtb3ZlQWxsRXZlbnRMaXN0ZW5lcnMoKTsKIAogI2lmIEVOQUJMRShERVZJQ0VfT1JJ
RU5UQVRJT04pCi0gICAgaWYgKGZyYW1lKCkgJiYgZnJhbWUoKS0+cGFnZSgpKQotICAgICAgICBm
cmFtZSgpLT5wYWdlKCktPmRldmljZU9yaWVudGF0aW9uKCktPnJlbW92ZUFsbExpc3RlbmVycyh0
aGlzKTsKKyAgICBpZiAoZnJhbWUoKSAmJiBmcmFtZSgpLT5wYWdlKCkgJiYgZnJhbWUoKS0+cGFn
ZSgpLT5kZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIoKSkKKyAgICAgICAgZnJhbWUoKS0+cGFn
ZSgpLT5kZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIoKS0+cmVtb3ZlQWxsTGlzdGVuZXJzKHRo
aXMpOwogI2VuZGlmCiAKICAgICByZW1vdmVBbGxVbmxvYWRFdmVudExpc3RlbmVycyh0aGlzKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsIGIvV2ViQ29yZS9wYWdlL0RP
TVdpbmRvdy5pZGwKaW5kZXggYzUwMGVlN2Y0OWQ2M2Q4OGQ1ZWYxZWU1ZTk0ZmZiMjhhOTRlZWUw
NS4uODI1MjFiYTgwOTQ1ZjQ3NDAwYWMwNzJlOTMyZDg5YmM5OWVjNDE4NSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKKysrIGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5p
ZGwKQEAgLTMwNCw4ICszMDQsOCBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgYXR0cmlidXRl
IFtDb25kaXRpb25hbD1UT1VDSF9FVkVOVFMsRW5hYmxlZEF0UnVudGltZV0gRXZlbnRMaXN0ZW5l
ciBvbnRvdWNoZW5kOwogICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPVRPVUNIX0VWRU5U
UyxFbmFibGVkQXRSdW50aW1lXSBFdmVudExpc3RlbmVyIG9udG91Y2hjYW5jZWw7CiAKLSAgICAg
ICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1ERVZJQ0VfT1JJRU5UQVRJT05dIERldmljZU9yaWVu
dGF0aW9uRXZlbnRDb25zdHJ1Y3RvciBEZXZpY2VPcmllbnRhdGlvbkV2ZW50OwotICAgICAgICBh
dHRyaWJ1dGUgW0NvbmRpdGlvbmFsPURFVklDRV9PUklFTlRBVElPTl0gRXZlbnRMaXN0ZW5lciBv
bmRldmljZW9yaWVudGF0aW9uOworICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPURFVklD
RV9PUklFTlRBVElPTiwgRW5hYmxlZEF0UnVudGltZV0gRGV2aWNlT3JpZW50YXRpb25FdmVudENv
bnN0cnVjdG9yIERldmljZU9yaWVudGF0aW9uRXZlbnQ7CisgICAgICAgIGF0dHJpYnV0ZSBbQ29u
ZGl0aW9uYWw9REVWSUNFX09SSUVOVEFUSU9OLCBFbmFibGVkQXRSdW50aW1lXSBFdmVudExpc3Rl
bmVyIG9uZGV2aWNlb3JpZW50YXRpb247CiAKICAgICAgICAgLy8gRXZlbnRUYXJnZXQgaW50ZXJm
YWNlCiAgICAgICAgIFtDdXN0b21dIHZvaWQgYWRkRXZlbnRMaXN0ZW5lcihpbiBET01TdHJpbmcg
dHlwZSwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1dlYkNvcmUvcGFnZS9Q
YWdlLmNwcAppbmRleCA1OWMyMjM4Yzk5YzJmOWEwMTM5MTc2NzZiYWM2OTdmOTM1OTc4Yzg3Li5h
YWYzZDRjZmVkMWFjOTk2YjFlMTNmOTIxN2U4MTI1NzJiZjk0NDIxIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC01Nyw2ICs1
Nyw3IEBACiAjaW5jbHVkZSAiUHJvZ3Jlc3NUcmFja2VyLmgiCiAjaW5jbHVkZSAiUmVuZGVyVGhl
bWUuaCIKICNpbmNsdWRlICJSZW5kZXJXaWRnZXQuaCIKKyNpbmNsdWRlICJSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzLmgiCiAjaW5jbHVkZSAiU2NyaXB0Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIlNl
bGVjdGlvbkNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgpAQCAtMTM5LDcgKzE0
MCw3IEBAIFBhZ2U6OlBhZ2UoQ2hyb21lQ2xpZW50KiBjaHJvbWVDbGllbnQsIENvbnRleHRNZW51
Q2xpZW50KiBjb250ZXh0TWVudUNsaWVudCwgRWRpCiAgICAgLCBtX2dlb2xvY2F0aW9uQ29udHJv
bGxlcihuZXcgR2VvbG9jYXRpb25Db250cm9sbGVyKHRoaXMsIGdlb2xvY2F0aW9uQ29udHJvbGxl
ckNsaWVudCkpCiAjZW5kaWYKICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQotICAgICwg
bV9kZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIobmV3IERldmljZU9yaWVudGF0aW9uQ29udHJv
bGxlcih0aGlzLCBkZXZpY2VPcmllbnRhdGlvbkNsaWVudCkpCisgICAgLCBtX2RldmljZU9yaWVu
dGF0aW9uQ29udHJvbGxlcihSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpkZXZpY2VPcmllbnRhdGlv
bkVuYWJsZWQoKSA/IG5ldyBEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIodGhpcywgZGV2aWNl
T3JpZW50YXRpb25DbGllbnQpIDogMCkKICNlbmRpZgogI2lmIEVOQUJMRShJTlBVVF9TUEVFQ0gp
CiAgICAgLCBtX3NwZWVjaElucHV0Q2xpZW50KDApCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA5OTM0ZTYxMzIx
NzAyNmMxMzA2ODk0NjNjM2Q1YmE3MjczOGIxZjcyLi5jZmJhYTU4OTNlMGNlM2QwNzRkZWE3NjE2
NzMwZDYyYzM1YTJmMTU0IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisr
KyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMC0wNy0x
NCAgSGFucyBXZW5uYm9yZyAgPGhhbnNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJ1bnRpbWUgZmVhdHVyZSBzd2l0Y2ggZm9y
IGRldmljZSBvcmllbnRhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NDIyNjUKKworICAgICAgICBBZGQgYSBydW50aW1lIGZlYXR1cmUgc3dpdGNo
IHRoYXQgZGVjaWRlcyB3aGV0aGVyIGRldmljZSBvcmllbnRhdGlvbgorICAgICAgICBldmVudHMg
YXJlIGF2YWlsYWJsZSBvciBub3QuIERlZmF1bHRzIHRvIHRydWUuCisKKyAgICAgICAgKiBwdWJs
aWMvV2ViUnVudGltZUZlYXR1cmVzLmg6CisgICAgICAgICogc3JjL1dlYlJ1bnRpbWVGZWF0dXJl
cy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlJ1bnRpbWVGZWF0dXJlczo6ZW5hYmxlRGV2aWNl
T3JpZW50YXRpb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJSdW50aW1lRmVhdHVyZXM6OmlzRGV2
aWNlT3JpZW50YXRpb25FbmFibGVkKToKKwogMjAxMC0wNy0xNCAgU2hlcmlmZiBCb3QgIDx3ZWJr
aXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBv
dXQgcjYzMzA1LgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJSdW50aW1l
RmVhdHVyZXMuaCBiL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViUnVudGltZUZlYXR1cmVzLmgK
aW5kZXggMDNmZjY4MTk2NmYyNmQ3ZWNjZWRjZjRlNjIxZjAxMTYxMDg4MjcxZi4uOTUzMDdhMmNi
NjE4NzYwOTg4MmZjMDczZTc3MmI5ODY0NmE2MTY3OSAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9t
aXVtL3B1YmxpYy9XZWJSdW50aW1lRmVhdHVyZXMuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYlJ1bnRpbWVGZWF0dXJlcy5oCkBAIC03Nyw2ICs3Nyw5IEBAIHB1YmxpYzoKICAgICBX
RUJLSVRfQVBJIHN0YXRpYyB2b2lkIGVuYWJsZVRvdWNoKGJvb2wpOwogICAgIFdFQktJVF9BUEkg
c3RhdGljIGJvb2wgaXNUb3VjaEVuYWJsZWQoKTsKIAorICAgIFdFQktJVF9BUEkgc3RhdGljIHZv
aWQgZW5hYmxlRGV2aWNlT3JpZW50YXRpb24oYm9vbCk7CisgICAgV0VCS0lUX0FQSSBzdGF0aWMg
Ym9vbCBpc0RldmljZU9yaWVudGF0aW9uRW5hYmxlZCgpOworCiBwcml2YXRlOgogICAgIFdlYlJ1
bnRpbWVGZWF0dXJlcygpOwogfTsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
UnVudGltZUZlYXR1cmVzLmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUnVudGltZUZlYXR1
cmVzLmNwcAppbmRleCA1OTVhNDdmNDdhNWM1MDg5OTI1NTA4NzBlNTFhZjY1OTE5ZDJhZGRiLi4w
YWU1MjJlNzM0MGZlYmQzMzM5YThiOGM1NzIxYWMxMTkyZjJjNzYxIDEwMDY0NAotLS0gYS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlJ1bnRpbWVGZWF0dXJlcy5jcHAKKysrIGIvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJSdW50aW1lRmVhdHVyZXMuY3BwCkBAIC0yMjYsNCArMjI2LDIwIEBAIGJvb2wg
V2ViUnVudGltZUZlYXR1cmVzOjppc1RvdWNoRW5hYmxlZCgpCiAjZW5kaWYKIH0KIAordm9pZCBX
ZWJSdW50aW1lRmVhdHVyZXM6OmVuYWJsZURldmljZU9yaWVudGF0aW9uKGJvb2wgZW5hYmxlKQor
eworI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisgICAgUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2V0RGV2aWNlT3JpZW50YXRpb25FbmFibGVkKGVuYWJsZSk7CisjZW5kaWYKK30KKwor
Ym9vbCBXZWJSdW50aW1lRmVhdHVyZXM6OmlzRGV2aWNlT3JpZW50YXRpb25FbmFibGVkKCkKK3sK
KyNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQorICAgIHJldHVybiBSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpkZXZpY2VPcmllbnRhdGlvbkVuYWJsZWQoKTsKKyNlbHNlCisgICAgcmV0dXJu
IGZhbHNlOworI2VuZGlmCit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61640</attachid>
            <date>2010-07-15 04:31:43 -0700</date>
            <delta_ts>2010-07-20 06:37:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42265-20100715123141.patch</filename>
            <type>text/plain</type>
            <size>11559</size>
            <attacher name="Hans Wennborg">hans</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0CmluZGV4IDQyYzhiYjc3ZWY3YzhlNTM3NDc1OTNhYmVkMWJjOTRkZTU5NWNhNmUuLmFhNDM0
ZDY4YmNiM2JmZWNhZWQxYjQzZDUyOGFiYTRiNjE1NzA4MTYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKKysrIGIvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMiw2ICsyLDcg
QEAgU0VUKFdlYkNvcmVfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIke1dFQkNPUkVfRElSfSIK
ICAgICAiJHtXRUJDT1JFX0RJUn0vYWNjZXNzaWJpbGl0eSIKICAgICAiJHtXRUJDT1JFX0RJUn0v
YmluZGluZ3MiCisgICAgIiR7V0VCQ09SRV9ESVJ9L2JpbmRpbmdzL2dlbmVyaWMiCiAgICAgIiR7
V0VCQ09SRV9ESVJ9L2JpbmRpbmdzL2pzIgogICAgICIke1dFQkNPUkVfRElSfS9icmlkZ2UiCiAg
ICAgIiR7V0VCQ09SRV9ESVJ9L2JyaWRnZS9jIgpAQCAtNTU3LDYgKzU1OCw4IEBAIFNFVChXZWJD
b3JlX1NPVVJDRVMKIAogICAgIGJpbmRpbmdzL1NjcmlwdENvbnRyb2xsZXJCYXNlLmNwcAogCisg
ICAgYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcAorCiAgICAgYmlu
ZGluZ3MvanMvRE9NT2JqZWN0SGFzaFRhYmxlTWFwLmNwcAogICAgIGJpbmRpbmdzL2pzL0RPTVdy
YXBwZXJXb3JsZC5jcHAKICAgICBiaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuY3BwCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDZjODlkZTkx
NTE1YzQzNzQ0YWNiZWEwMjZlMmQyZTM3NzNmYTkxODUuLmI5MWM4MjBlMmVlMDMwNjNjOTQ0ZmUw
Y2I5NDI2M2E1MjgyZDA1NWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dl
YkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTAtMDctMTUgIEhhbnMgV2VubmJv
cmcgIDxoYW5zQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBSdW50aW1lIGZlYXR1cmUgc3dpdGNoIGZvciBkZXZpY2Ugb3JpZW50
YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQy
MjY1CisKKyAgICAgICAgQWRkIGEgcnVudGltZSBmZWF0dXJlIHN3aXRjaCB0aGF0IGRlY2lkZXMg
d2hldGhlciBkZXZpY2Ugb3JpZW50YXRpb24KKyAgICAgICAgZXZlbnRzIGFyZSBhdmFpbGFibGUg
b3Igbm90LiBEZWZhdWx0cyB0byB0cnVlLgorCisgICAgICAgICogYmluZGluZ3MvZ2VuZXJpYy9S
dW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9nZW5lcmljL1J1
bnRpbWVFbmFibGVkRmVhdHVyZXMuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNldERldmljZU9yaWVudGF0aW9uRXZlbnRFbmFibGVkKToKKyAgICAgICAgKFdl
YkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmRldmljZU9yaWVudGF0aW9uRXZlbnRFbmFi
bGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6Om9uZGV2aWNl
b3JpZW50YXRpb25FbmFibGVkKToKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpET01XaW5kb3c6OmFkZEV2ZW50TGlzdGVuZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6RE9NV2luZG93OjpyZW1vdmVFdmVudExpc3RlbmVyKToKKyAgICAgICAgKFdlYkNvcmU6
OkRPTVdpbmRvdzo6cmVtb3ZlQWxsRXZlbnRMaXN0ZW5lcnMpOgorICAgICAgICAqIHBhZ2UvRE9N
V2luZG93LmlkbDoKKwogMjAxMC0wNy0xNSAgTmlrb2xhcyBaaW1tZXJtYW5uICA8bnppbW1lcm1h
bm5AcmltLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEaXJrIFNjaHVsemUuCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRl
eCBiZWMwZWM1MWNmNDkxZWEzZThkNDU2NmE0ZjAwNDUxMzg2NTAwMGQ1Li4yZDA5YmNkODVmZGY4
NTI1MGMxNTQwMTNlZmJhOWE5MTc4OTkxNTU1IDEwMDY0NAotLS0gYS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTE0LDYgKzE0LDcgQEAgd2Vi
Y29yZV9jcHBmbGFncyArPSBcCiAJLUkkKHNyY2RpcikvV2ViS2l0L2d0ay93ZWJraXQgXAogCS1J
JChzcmNkaXIpL1dlYkNvcmUgXAogCS1JJChzcmNkaXIpL1dlYkNvcmUvYWNjZXNzaWJpbGl0eSBc
CisJLUkkKHNyY2RpcikvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljIFwKIAktSSQoc3JjZGlyKS9X
ZWJDb3JlL2JpbmRpbmdzL2pzIFwKIAktSSQoc3JjZGlyKS9XZWJDb3JlL2JpbmRpbmdzL2dvYmpl
Y3QgXAogCS1JJChzcmNkaXIpL1dlYkNvcmUvYnJpZGdlIFwKQEAgLTYyMCw2ICs2MjEsOCBAQCB3
ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
VGFibGVIZWFkZXJDb250YWluZXIuaCBcCiAJV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlUYWJsZVJvdy5jcHAgXAogCVdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
VGFibGVSb3cuaCBcCisJV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVh
dHVyZXMuY3BwIFwKKwlXZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0
dXJlcy5oIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVy
LmggXAogCVdlYkNvcmUvYmluZGluZ3MvanMvRE9NT2JqZWN0SGFzaFRhYmxlTWFwLmNwcCBcCiAJ
V2ViQ29yZS9iaW5kaW5ncy9qcy9ET01PYmplY3RIYXNoVGFibGVNYXAuaCBcCmRpZmYgLS1naXQg
YS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCBjMTc3NjAz
OGE2Y2U1OGY0ZmFkMzA2MGNjM2QzZjA3ZDk3NTJlMmQ4Li44MjU1ZTYxNTgyOGIxODRiODI5NmI2
Yzc1ZGE3MWE0ZjU4NWQ4MjlhIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBi
L1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTE3Miw2ICsxNzIsNyBAQCBJTkNMVURFUEFUSCA9IFwK
ICAgICAkJFBXRCBcCiAgICAgJCRQV0QvYWNjZXNzaWJpbGl0eSBcCiAgICAgJCRQV0QvYmluZGlu
Z3MgXAorICAgICQkUFdEL2JpbmRpbmdzL2dlbmVyaWMgXAogICAgICQkUFdEL2JpbmRpbmdzL2pz
IFwKICAgICAkJFBXRC9icmlkZ2UgXAogICAgICQkUFdEL2JyaWRnZS9jIFwKQEAgLTI2Nyw2ICsy
NjgsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJs
ZUhlYWRlckNvbnRhaW5lci5jcHAgXCAgICAKICAgICBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlUYWJsZVJvdy5jcHAgXCAgICAKICAgICBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3Bw
IFwKKyAgICBiaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwIFwKICAg
ICBiaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuY3BwIFwKICAgICBiaW5kaW5ncy9qcy9ET01PYmpl
Y3RIYXNoVGFibGVNYXAuY3BwIFwKICAgICBiaW5kaW5ncy9qcy9ET01XcmFwcGVyV29ybGQuY3Bw
IFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZl
YXR1cmVzLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1
cmVzLmNwcAppbmRleCA3ZDRlNWMxNzVjNmJkZDg4OWJkMjg2ZDY4ZjA0Y2E1ZDYzY2RhZjAwLi4x
NTNmOTk1Y2Q5Zjc2YjRlMWMxYjI4ZDU0NjMwNTczZDM5Nzc5YTZkIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHAKKysrIGIvV2Vi
Q29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwCkBAIC00Nyw2
ICs0Nyw3IEBAIGJvb2wgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6aXNJbmRleGVkREJFbmFibGVk
ID0gZmFsc2U7CiBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzV2ViR0xFbmFibGVkID0g
ZmFsc2U7CiBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzUHVzaFN0YXRlRW5hYmxlZCA9
IGZhbHNlOwogYm9vbCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjppc1RvdWNoRW5hYmxlZCA9IHRy
dWU7Citib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzRGV2aWNlT3JpZW50YXRpb25FbmFi
bGVkID0gdHJ1ZTsKIAogI2lmIEVOQUJMRShWSURFTykKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9i
aW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCBiL1dlYkNvcmUvYmluZGlu
Z3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKaW5kZXggNzNiYmYwZmY5ZjZkYjk1
NjZhMDY2YmMwMzUyNDg0YTBmNzMzNmY4Ni4uZDhlYWUyM2MyNmJmNjgwYjU0ZGExZWMyNjcxZTgz
YjAwOTFkOGIxZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVF
bmFibGVkRmVhdHVyZXMuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVu
YWJsZWRGZWF0dXJlcy5oCkBAIC0xMTMsNiArMTEzLDExIEBAIHB1YmxpYzoKICAgICBzdGF0aWMg
Ym9vbCBvbnRvdWNoY2FuY2VsRW5hYmxlZCgpIHsgcmV0dXJuIGlzVG91Y2hFbmFibGVkOyB9CiAj
ZW5kaWYKIAorICAgIHN0YXRpYyB2b2lkIHNldERldmljZU9yaWVudGF0aW9uRW5hYmxlZChib29s
IGlzRW5hYmxlZCkgeyBpc0RldmljZU9yaWVudGF0aW9uRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQor
ICAgIHN0YXRpYyBib29sIGRldmljZU9yaWVudGF0aW9uRW5hYmxlZCgpIHsgcmV0dXJuIGlzRGV2
aWNlT3JpZW50YXRpb25FbmFibGVkOyB9CisgICAgc3RhdGljIGJvb2wgZGV2aWNlT3JpZW50YXRp
b25FdmVudEVuYWJsZWQoKSB7IHJldHVybiBpc0RldmljZU9yaWVudGF0aW9uRW5hYmxlZDsgfQor
ICAgIHN0YXRpYyBib29sIG9uZGV2aWNlb3JpZW50YXRpb25FbmFibGVkKCkgeyByZXR1cm4gaXNE
ZXZpY2VPcmllbnRhdGlvbkVuYWJsZWQ7IH0KKwogcHJpdmF0ZToKICAgICAvLyBOZXZlciBpbnN0
YW50aWF0ZS4KICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzKCkgeyB9CkBAIC0xMjYsNiArMTMx
LDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgYm9vbCBpc1dlYkdMRW5hYmxlZDsKICAgICBzdGF0
aWMgYm9vbCBpc1B1c2hTdGF0ZUVuYWJsZWQ7CiAgICAgc3RhdGljIGJvb2wgaXNUb3VjaEVuYWJs
ZWQ7CisgICAgc3RhdGljIGJvb2wgaXNEZXZpY2VPcmllbnRhdGlvbkVuYWJsZWQ7CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmNwcCBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IDVlYmU2NTlhMjlhYzdkZjQw
MDhlN2MzYzRkNzIxMmJmNDdkNWJjOTEuLjI1YjkyNzg3OGExNDgwZjViNmFmZmRjNGM5NjU5NDAz
NDVkZGJhYTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCkBAIC0xNDEyLDggKzE0MTIsOCBAQCBib29sIERPTVdp
bmRvdzo6YWRkRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgUGFz
c1JlZlB0cjxFdmVudAogICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuYmVm
b3JldW5sb2FkRXZlbnQgJiYgYWxsb3dzQmVmb3JlVW5sb2FkTGlzdGVuZXJzKHRoaXMpKQogICAg
ICAgICBhZGRCZWZvcmVVbmxvYWRFdmVudExpc3RlbmVyKHRoaXMpOwogI2lmIEVOQUJMRShERVZJ
Q0VfT1JJRU5UQVRJT04pCi0gICAgZWxzZSBpZiAoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5k
ZXZpY2VvcmllbnRhdGlvbkV2ZW50ICYmIGZyYW1lKCkgJiYgZnJhbWUoKS0+cGFnZSgpKQotICAg
ICAgICBmcmFtZSgpLT5wYWdlKCktPmRldmljZU9yaWVudGF0aW9uKCktPmFkZExpc3RlbmVyKHRo
aXMpOworICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuZGV2aWNlb3JpZW50
YXRpb25FdmVudCAmJiBmcmFtZSgpICYmIGZyYW1lKCktPnBhZ2UoKSAmJiBmcmFtZSgpLT5wYWdl
KCktPmRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcigpKQorICAgICAgICBmcmFtZSgpLT5wYWdl
KCktPmRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcigpLT5hZGRMaXN0ZW5lcih0aGlzKTsKICNl
bmRpZgogCiAgICAgcmV0dXJuIHRydWU7CkBAIC0xNDI5LDggKzE0MjksOCBAQCBib29sIERPTVdp
bmRvdzo6cmVtb3ZlRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwg
RXZlbnRMaXN0ZW5lcgogICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuYmVm
b3JldW5sb2FkRXZlbnQgJiYgYWxsb3dzQmVmb3JlVW5sb2FkTGlzdGVuZXJzKHRoaXMpKQogICAg
ICAgICByZW1vdmVCZWZvcmVVbmxvYWRFdmVudExpc3RlbmVyKHRoaXMpOwogI2lmIEVOQUJMRShE
RVZJQ0VfT1JJRU5UQVRJT04pCi0gICAgZWxzZSBpZiAoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMo
KS5kZXZpY2VvcmllbnRhdGlvbkV2ZW50ICYmIGZyYW1lKCkgJiYgZnJhbWUoKS0+cGFnZSgpKQot
ICAgICAgICBmcmFtZSgpLT5wYWdlKCktPmRldmljZU9yaWVudGF0aW9uKCktPnJlbW92ZUxpc3Rl
bmVyKHRoaXMpOworICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuZGV2aWNl
b3JpZW50YXRpb25FdmVudCAmJiBmcmFtZSgpICYmIGZyYW1lKCktPnBhZ2UoKSAmJiBmcmFtZSgp
LT5wYWdlKCktPmRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcigpKQorICAgICAgICBmcmFtZSgp
LT5wYWdlKCktPmRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcigpLT5yZW1vdmVMaXN0ZW5lcih0
aGlzKTsKICNlbmRpZgogCiAgICAgcmV0dXJuIHRydWU7CkBAIC0xNTA3LDggKzE1MDcsOCBAQCB2
b2lkIERPTVdpbmRvdzo6cmVtb3ZlQWxsRXZlbnRMaXN0ZW5lcnMoKQogICAgIEV2ZW50VGFyZ2V0
OjpyZW1vdmVBbGxFdmVudExpc3RlbmVycygpOwogCiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRB
VElPTikKLSAgICBpZiAoZnJhbWUoKSAmJiBmcmFtZSgpLT5wYWdlKCkpCi0gICAgICAgIGZyYW1l
KCktPnBhZ2UoKS0+ZGV2aWNlT3JpZW50YXRpb24oKS0+cmVtb3ZlQWxsTGlzdGVuZXJzKHRoaXMp
OworICAgIGlmIChmcmFtZSgpICYmIGZyYW1lKCktPnBhZ2UoKSAmJiBmcmFtZSgpLT5wYWdlKCkt
PmRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcigpKQorICAgICAgICBmcmFtZSgpLT5wYWdlKCkt
PmRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcigpLT5yZW1vdmVBbGxMaXN0ZW5lcnModGhpcyk7
CiAjZW5kaWYKIAogICAgIHJlbW92ZUFsbFVubG9hZEV2ZW50TGlzdGVuZXJzKHRoaXMpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9XZWJDb3JlL3BhZ2UvRE9NV2lu
ZG93LmlkbAppbmRleCBjNTAwZWU3ZjQ5ZDYzZDg4ZDVlZjFlZTVlOTRmZmIyOGE5NGVlZTA1Li44
MjUyMWJhODA5NDVmNDc0MDBhYzA3MmU5MzJkODliYzk5ZWM0MTg1IDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BhZ2UvRE9NV2luZG93LmlkbAorKysgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApA
QCAtMzA0LDggKzMwNCw4IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBhdHRyaWJ1dGUgW0Nv
bmRpdGlvbmFsPVRPVUNIX0VWRU5UUyxFbmFibGVkQXRSdW50aW1lXSBFdmVudExpc3RlbmVyIG9u
dG91Y2hlbmQ7CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9VE9VQ0hfRVZFTlRTLEVu
YWJsZWRBdFJ1bnRpbWVdIEV2ZW50TGlzdGVuZXIgb250b3VjaGNhbmNlbDsKIAotICAgICAgICBh
dHRyaWJ1dGUgW0NvbmRpdGlvbmFsPURFVklDRV9PUklFTlRBVElPTl0gRGV2aWNlT3JpZW50YXRp
b25FdmVudENvbnN0cnVjdG9yIERldmljZU9yaWVudGF0aW9uRXZlbnQ7Ci0gICAgICAgIGF0dHJp
YnV0ZSBbQ29uZGl0aW9uYWw9REVWSUNFX09SSUVOVEFUSU9OXSBFdmVudExpc3RlbmVyIG9uZGV2
aWNlb3JpZW50YXRpb247CisgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9REVWSUNFX09S
SUVOVEFUSU9OLCBFbmFibGVkQXRSdW50aW1lXSBEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q29uc3Ry
dWN0b3IgRGV2aWNlT3JpZW50YXRpb25FdmVudDsKKyAgICAgICAgYXR0cmlidXRlIFtDb25kaXRp
b25hbD1ERVZJQ0VfT1JJRU5UQVRJT04sIEVuYWJsZWRBdFJ1bnRpbWVdIEV2ZW50TGlzdGVuZXIg
b25kZXZpY2VvcmllbnRhdGlvbjsKIAogICAgICAgICAvLyBFdmVudFRhcmdldCBpbnRlcmZhY2UK
ICAgICAgICAgW0N1c3RvbV0gdm9pZCBhZGRFdmVudExpc3RlbmVyKGluIERPTVN0cmluZyB0eXBl
LApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvV2ViQ29yZS9wYWdlL1BhZ2Uu
Y3BwCmluZGV4IDU5YzIyMzhjOTljMmY5YTAxMzkxNzY3NmJhYzY5N2Y5MzU5NzhjODcuLmFhZjNk
NGNmZWQxYWM5OTZiMWUxM2Y5MjE3ZTgxMjU3MmJmOTQ0MjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGFnZS9QYWdlLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTU3LDYgKzU3LDcg
QEAKICNpbmNsdWRlICJQcm9ncmVzc1RyYWNrZXIuaCIKICNpbmNsdWRlICJSZW5kZXJUaGVtZS5o
IgogI2luY2x1ZGUgIlJlbmRlcldpZGdldC5oIgorI2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVh
dHVyZXMuaCIKICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiU2VsZWN0
aW9uQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCkBAIC0xMzksNyArMTQwLDcg
QEAgUGFnZTo6UGFnZShDaHJvbWVDbGllbnQqIGNocm9tZUNsaWVudCwgQ29udGV4dE1lbnVDbGll
bnQqIGNvbnRleHRNZW51Q2xpZW50LCBFZGkKICAgICAsIG1fZ2VvbG9jYXRpb25Db250cm9sbGVy
KG5ldyBHZW9sb2NhdGlvbkNvbnRyb2xsZXIodGhpcywgZ2VvbG9jYXRpb25Db250cm9sbGVyQ2xp
ZW50KSkKICNlbmRpZgogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCi0gICAgLCBtX2Rl
dmljZU9yaWVudGF0aW9uQ29udHJvbGxlcihuZXcgRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVy
KHRoaXMsIGRldmljZU9yaWVudGF0aW9uQ2xpZW50KSkKKyAgICAsIG1fZGV2aWNlT3JpZW50YXRp
b25Db250cm9sbGVyKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmRldmljZU9yaWVudGF0aW9uRW5h
YmxlZCgpID8gbmV3IERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcih0aGlzLCBkZXZpY2VPcmll
bnRhdGlvbkNsaWVudCkgOiAwKQogI2VuZGlmCiAjaWYgRU5BQkxFKElOUFVUX1NQRUVDSCkKICAg
ICAsIG1fc3BlZWNoSW5wdXRDbGllbnQoMCkKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDUxMmYyMmNmNjgyNjNm
OWJkMGY1MTkxY2NhZDcyZDQ0NThjZDgzZTMuLjU5NDA4ZmM4NzY2OWEwODEyYWNjYTJjOTg0ZmMz
ZTA0Mzc5YWU4YzUgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEwLTA3LTE1ICBI
YW5zIFdlbm5ib3JnICA8aGFuc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUnVudGltZSBmZWF0dXJlIHN3aXRjaCBmb3IgZGV2
aWNlIG9yaWVudGF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD00MjI2NQorCisgICAgICAgIEFkZCBhIHJ1bnRpbWUgZmVhdHVyZSBzd2l0Y2ggdGhh
dCBkZWNpZGVzIHdoZXRoZXIgZGV2aWNlIG9yaWVudGF0aW9uCisgICAgICAgIGV2ZW50cyBhcmUg
YXZhaWxhYmxlIG9yIG5vdC4gRGVmYXVsdHMgdG8gdHJ1ZS4KKworICAgICAgICAqIHB1YmxpYy9X
ZWJSdW50aW1lRmVhdHVyZXMuaDoKKyAgICAgICAgKiBzcmMvV2ViUnVudGltZUZlYXR1cmVzLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViUnVudGltZUZlYXR1cmVzOjplbmFibGVEZXZpY2VPcmll
bnRhdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYlJ1bnRpbWVGZWF0dXJlczo6aXNEZXZpY2VP
cmllbnRhdGlvbkVuYWJsZWQpOgorCiAyMDEwLTA3LTE1ICBQYXZlbCBQb2Rpdmlsb3YgIDxwb2Rp
dmlsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFl1cnkgU2VtaWtoYXRz
a3kuCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlJ1bnRpbWVGZWF0dXJl
cy5oIGIvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJSdW50aW1lRmVhdHVyZXMuaAppbmRleCAw
M2ZmNjgxOTY2ZjI2ZDdlY2NlZGNmNGU2MjFmMDExNjEwODgyNzFmLi45NTMwN2EyY2I2MTg3NjA5
ODgyZmMwNzNlNzcyYjk4NjQ2YTYxNjc5IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYlJ1bnRpbWVGZWF0dXJlcy5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
UnVudGltZUZlYXR1cmVzLmgKQEAgLTc3LDYgKzc3LDkgQEAgcHVibGljOgogICAgIFdFQktJVF9B
UEkgc3RhdGljIHZvaWQgZW5hYmxlVG91Y2goYm9vbCk7CiAgICAgV0VCS0lUX0FQSSBzdGF0aWMg
Ym9vbCBpc1RvdWNoRW5hYmxlZCgpOwogCisgICAgV0VCS0lUX0FQSSBzdGF0aWMgdm9pZCBlbmFi
bGVEZXZpY2VPcmllbnRhdGlvbihib29sKTsKKyAgICBXRUJLSVRfQVBJIHN0YXRpYyBib29sIGlz
RGV2aWNlT3JpZW50YXRpb25FbmFibGVkKCk7CisKIHByaXZhdGU6CiAgICAgV2ViUnVudGltZUZl
YXR1cmVzKCk7CiB9OwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJSdW50aW1l
RmVhdHVyZXMuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJSdW50aW1lRmVhdHVyZXMuY3Bw
CmluZGV4IDU5NWE0N2Y0N2E1YzUwODk5MjU1MDg3MGU1MWFmNjU5MTlkMmFkZGIuLmVmYjI4N2M2
ZThhNmJkNDBjNGRmZjM3ZWQyMzgyYTk4ZTVlY2M3MWMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViUnVudGltZUZlYXR1cmVzLmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlJ1bnRpbWVGZWF0dXJlcy5jcHAKQEAgLTIyNiw0ICsyMjYsMTQgQEAgYm9vbCBXZWJSdW50
aW1lRmVhdHVyZXM6OmlzVG91Y2hFbmFibGVkKCkKICNlbmRpZgogfQogCit2b2lkIFdlYlJ1bnRp
bWVGZWF0dXJlczo6ZW5hYmxlRGV2aWNlT3JpZW50YXRpb24oYm9vbCBlbmFibGUpCit7CisgICAg
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0RGV2aWNlT3JpZW50YXRpb25FbmFibGVkKGVuYWJs
ZSk7Cit9CisKK2Jvb2wgV2ViUnVudGltZUZlYXR1cmVzOjppc0RldmljZU9yaWVudGF0aW9uRW5h
YmxlZCgpCit7CisgICAgcmV0dXJuIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmRldmljZU9yaWVu
dGF0aW9uRW5hYmxlZCgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62066</attachid>
            <date>2010-07-20 06:37:46 -0700</date>
            <delta_ts>2010-07-21 02:25:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42265-20100720143744.patch</filename>
            <type>text/plain</type>
            <size>9214</size>
            <attacher name="Hans Wennborg">hans</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
M2E0YjI1ZDQ1ZGExYjU5ZDJjMjc2MzZjNzEwOTA2MTFmMjM0NTNhOC4uMGQzYjQxMmU0NTVmOWZk
M2JmMGM1YWExODVhZTEwZjY4YWM3Y2NmMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAxMC0wNy0yMCAgSGFu
cyBXZW5uYm9yZyAgPGhhbnNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFJ1bnRpbWUgZmVhdHVyZSBzd2l0Y2ggZm9yIGRldmlj
ZSBvcmllbnRhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NDIyNjUKKworICAgICAgICBBZGQgYSBydW50aW1lIGZlYXR1cmUgc3dpdGNoIHRoYXQg
ZGVjaWRlcyB3aGV0aGVyIGRldmljZSBvcmllbnRhdGlvbgorICAgICAgICBldmVudHMgYXJlIGF2
YWlsYWJsZSBvciBub3QuIERlZmF1bHRzIHRvIHRydWUuCisKKyAgICAgICAgKiBiaW5kaW5ncy9n
ZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2dl
bmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oOgorICAgICAgICAoV2ViQ29yZTo6UnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6c2V0RGV2aWNlT3JpZW50YXRpb25FbmFibGVkKToKKyAgICAgICAg
KFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmRldmljZU9yaWVudGF0aW9uRW5hYmxl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpkZXZpY2VPcmll
bnRhdGlvbkV2ZW50RW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpvbmRldmljZW9yaWVudGF0aW9uRW5hYmxlZCk6CisgICAgICAgICogcGFnZS9ET01X
aW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjphZGRFdmVudExpc3RlbmVy
KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6cmVtb3ZlRXZlbnRMaXN0ZW5lcik6Cisg
ICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnJlbW92ZUFsbEV2ZW50TGlzdGVuZXJzKToKKyAg
ICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6CisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBhZ2U6OlBhZ2UpOgorCiAyMDEwLTA3LTIwICBBbGV4YW5kZXIgUGF2
bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwg
RmVsZG1hbi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5h
YmxlZEZlYXR1cmVzLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxl
ZEZlYXR1cmVzLmNwcAppbmRleCA3ZDRlNWMxNzVjNmJkZDg4OWJkMjg2ZDY4ZjA0Y2E1ZDYzY2Rh
ZjAwLi4xNTNmOTk1Y2Q5Zjc2YjRlMWMxYjI4ZDU0NjMwNTczZDM5Nzc5YTZkIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHAKKysr
IGIvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwCkBA
IC00Nyw2ICs0Nyw3IEBAIGJvb2wgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6aXNJbmRleGVkREJF
bmFibGVkID0gZmFsc2U7CiBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzV2ViR0xFbmFi
bGVkID0gZmFsc2U7CiBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzUHVzaFN0YXRlRW5h
YmxlZCA9IGZhbHNlOwogYm9vbCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjppc1RvdWNoRW5hYmxl
ZCA9IHRydWU7Citib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzRGV2aWNlT3JpZW50YXRp
b25FbmFibGVkID0gdHJ1ZTsKIAogI2lmIEVOQUJMRShWSURFTykKIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCBiL1dlYkNvcmUv
YmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKaW5kZXggNzNiYmYwZmY5
ZjZkYjk1NjZhMDY2YmMwMzUyNDg0YTBmNzMzNmY4Ni4uZDhlYWUyM2MyNmJmNjgwYjU0ZGExZWMy
NjcxZTgzYjAwOTFkOGIxZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1
bnRpbWVFbmFibGVkRmVhdHVyZXMuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVu
dGltZUVuYWJsZWRGZWF0dXJlcy5oCkBAIC0xMTMsNiArMTEzLDExIEBAIHB1YmxpYzoKICAgICBz
dGF0aWMgYm9vbCBvbnRvdWNoY2FuY2VsRW5hYmxlZCgpIHsgcmV0dXJuIGlzVG91Y2hFbmFibGVk
OyB9CiAjZW5kaWYKIAorICAgIHN0YXRpYyB2b2lkIHNldERldmljZU9yaWVudGF0aW9uRW5hYmxl
ZChib29sIGlzRW5hYmxlZCkgeyBpc0RldmljZU9yaWVudGF0aW9uRW5hYmxlZCA9IGlzRW5hYmxl
ZDsgfQorICAgIHN0YXRpYyBib29sIGRldmljZU9yaWVudGF0aW9uRW5hYmxlZCgpIHsgcmV0dXJu
IGlzRGV2aWNlT3JpZW50YXRpb25FbmFibGVkOyB9CisgICAgc3RhdGljIGJvb2wgZGV2aWNlT3Jp
ZW50YXRpb25FdmVudEVuYWJsZWQoKSB7IHJldHVybiBpc0RldmljZU9yaWVudGF0aW9uRW5hYmxl
ZDsgfQorICAgIHN0YXRpYyBib29sIG9uZGV2aWNlb3JpZW50YXRpb25FbmFibGVkKCkgeyByZXR1
cm4gaXNEZXZpY2VPcmllbnRhdGlvbkVuYWJsZWQ7IH0KKwogcHJpdmF0ZToKICAgICAvLyBOZXZl
ciBpbnN0YW50aWF0ZS4KICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzKCkgeyB9CkBAIC0xMjYs
NiArMTMxLDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgYm9vbCBpc1dlYkdMRW5hYmxlZDsKICAg
ICBzdGF0aWMgYm9vbCBpc1B1c2hTdGF0ZUVuYWJsZWQ7CiAgICAgc3RhdGljIGJvb2wgaXNUb3Vj
aEVuYWJsZWQ7CisgICAgc3RhdGljIGJvb2wgaXNEZXZpY2VPcmllbnRhdGlvbkVuYWJsZWQ7CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmNwcCBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IDkxOGE4M2EwNmNl
YjQ3MjBkODliZTFlNTVhZTgxYjU1MzlhNWRkMGIuLjA2MmQwZGYxYWIyY2Q2N2UxMWRmYTdjYWQ4
Y2Y1YzI4NmE1YzgwM2EgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisr
KyBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCkBAIC0xNDEzLDggKzE0MTMsOCBAQCBib29s
IERPTVdpbmRvdzo6YWRkRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlw
ZSwgUGFzc1JlZlB0cjxFdmVudAogICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSBldmVudE5hbWVz
KCkuYmVmb3JldW5sb2FkRXZlbnQgJiYgYWxsb3dzQmVmb3JlVW5sb2FkTGlzdGVuZXJzKHRoaXMp
KQogICAgICAgICBhZGRCZWZvcmVVbmxvYWRFdmVudExpc3RlbmVyKHRoaXMpOwogI2lmIEVOQUJM
RShERVZJQ0VfT1JJRU5UQVRJT04pCi0gICAgZWxzZSBpZiAoZXZlbnRUeXBlID09IGV2ZW50TmFt
ZXMoKS5kZXZpY2VvcmllbnRhdGlvbkV2ZW50ICYmIGZyYW1lKCkgJiYgZnJhbWUoKS0+cGFnZSgp
KQotICAgICAgICBmcmFtZSgpLT5wYWdlKCktPmRldmljZU9yaWVudGF0aW9uKCktPmFkZExpc3Rl
bmVyKHRoaXMpOworICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuZGV2aWNl
b3JpZW50YXRpb25FdmVudCAmJiBmcmFtZSgpICYmIGZyYW1lKCktPnBhZ2UoKSAmJiBmcmFtZSgp
LT5wYWdlKCktPmRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcigpKQorICAgICAgICBmcmFtZSgp
LT5wYWdlKCktPmRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcigpLT5hZGRMaXN0ZW5lcih0aGlz
KTsKICNlbmRpZgogCiAgICAgcmV0dXJuIHRydWU7CkBAIC0xNDMwLDggKzE0MzAsOCBAQCBib29s
IERPTVdpbmRvdzo6cmVtb3ZlRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50
VHlwZSwgRXZlbnRMaXN0ZW5lcgogICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSBldmVudE5hbWVz
KCkuYmVmb3JldW5sb2FkRXZlbnQgJiYgYWxsb3dzQmVmb3JlVW5sb2FkTGlzdGVuZXJzKHRoaXMp
KQogICAgICAgICByZW1vdmVCZWZvcmVVbmxvYWRFdmVudExpc3RlbmVyKHRoaXMpOwogI2lmIEVO
QUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCi0gICAgZWxzZSBpZiAoZXZlbnRUeXBlID09IGV2ZW50
TmFtZXMoKS5kZXZpY2VvcmllbnRhdGlvbkV2ZW50ICYmIGZyYW1lKCkgJiYgZnJhbWUoKS0+cGFn
ZSgpKQotICAgICAgICBmcmFtZSgpLT5wYWdlKCktPmRldmljZU9yaWVudGF0aW9uKCktPnJlbW92
ZUxpc3RlbmVyKHRoaXMpOworICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCku
ZGV2aWNlb3JpZW50YXRpb25FdmVudCAmJiBmcmFtZSgpICYmIGZyYW1lKCktPnBhZ2UoKSAmJiBm
cmFtZSgpLT5wYWdlKCktPmRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcigpKQorICAgICAgICBm
cmFtZSgpLT5wYWdlKCktPmRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcigpLT5yZW1vdmVMaXN0
ZW5lcih0aGlzKTsKICNlbmRpZgogCiAgICAgcmV0dXJuIHRydWU7CkBAIC0xNTA4LDggKzE1MDgs
OCBAQCB2b2lkIERPTVdpbmRvdzo6cmVtb3ZlQWxsRXZlbnRMaXN0ZW5lcnMoKQogICAgIEV2ZW50
VGFyZ2V0OjpyZW1vdmVBbGxFdmVudExpc3RlbmVycygpOwogCiAjaWYgRU5BQkxFKERFVklDRV9P
UklFTlRBVElPTikKLSAgICBpZiAoZnJhbWUoKSAmJiBmcmFtZSgpLT5wYWdlKCkpCi0gICAgICAg
IGZyYW1lKCktPnBhZ2UoKS0+ZGV2aWNlT3JpZW50YXRpb24oKS0+cmVtb3ZlQWxsTGlzdGVuZXJz
KHRoaXMpOworICAgIGlmIChmcmFtZSgpICYmIGZyYW1lKCktPnBhZ2UoKSAmJiBmcmFtZSgpLT5w
YWdlKCktPmRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcigpKQorICAgICAgICBmcmFtZSgpLT5w
YWdlKCktPmRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcigpLT5yZW1vdmVBbGxMaXN0ZW5lcnMo
dGhpcyk7CiAjZW5kaWYKIAogICAgIHJlbW92ZUFsbFVubG9hZEV2ZW50TGlzdGVuZXJzKHRoaXMp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmlkbAppbmRleCBjNTAwZWU3ZjQ5ZDYzZDg4ZDVlZjFlZTVlOTRmZmIyOGE5NGVl
ZTA1Li44MjUyMWJhODA5NDVmNDc0MDBhYzA3MmU5MzJkODliYzk5ZWM0MTg1IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAorKysgYi9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmlkbApAQCAtMzA0LDggKzMwNCw4IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBhdHRyaWJ1
dGUgW0NvbmRpdGlvbmFsPVRPVUNIX0VWRU5UUyxFbmFibGVkQXRSdW50aW1lXSBFdmVudExpc3Rl
bmVyIG9udG91Y2hlbmQ7CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9VE9VQ0hfRVZF
TlRTLEVuYWJsZWRBdFJ1bnRpbWVdIEV2ZW50TGlzdGVuZXIgb250b3VjaGNhbmNlbDsKIAotICAg
ICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPURFVklDRV9PUklFTlRBVElPTl0gRGV2aWNlT3Jp
ZW50YXRpb25FdmVudENvbnN0cnVjdG9yIERldmljZU9yaWVudGF0aW9uRXZlbnQ7Ci0gICAgICAg
IGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9REVWSUNFX09SSUVOVEFUSU9OXSBFdmVudExpc3RlbmVy
IG9uZGV2aWNlb3JpZW50YXRpb247CisgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9REVW
SUNFX09SSUVOVEFUSU9OLCBFbmFibGVkQXRSdW50aW1lXSBEZXZpY2VPcmllbnRhdGlvbkV2ZW50
Q29uc3RydWN0b3IgRGV2aWNlT3JpZW50YXRpb25FdmVudDsKKyAgICAgICAgYXR0cmlidXRlIFtD
b25kaXRpb25hbD1ERVZJQ0VfT1JJRU5UQVRJT04sIEVuYWJsZWRBdFJ1bnRpbWVdIEV2ZW50TGlz
dGVuZXIgb25kZXZpY2VvcmllbnRhdGlvbjsKIAogICAgICAgICAvLyBFdmVudFRhcmdldCBpbnRl
cmZhY2UKICAgICAgICAgW0N1c3RvbV0gdm9pZCBhZGRFdmVudExpc3RlbmVyKGluIERPTVN0cmlu
ZyB0eXBlLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvV2ViQ29yZS9wYWdl
L1BhZ2UuY3BwCmluZGV4IDU5YzIyMzhjOTljMmY5YTAxMzkxNzY3NmJhYzY5N2Y5MzU5NzhjODcu
LmFhZjNkNGNmZWQxYWM5OTZiMWUxM2Y5MjE3ZTgxMjU3MmJmOTQ0MjEgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTU3LDYg
KzU3LDcgQEAKICNpbmNsdWRlICJQcm9ncmVzc1RyYWNrZXIuaCIKICNpbmNsdWRlICJSZW5kZXJU
aGVtZS5oIgogI2luY2x1ZGUgIlJlbmRlcldpZGdldC5oIgorI2luY2x1ZGUgIlJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXMuaCIKICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAi
U2VsZWN0aW9uQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCkBAIC0xMzksNyAr
MTQwLDcgQEAgUGFnZTo6UGFnZShDaHJvbWVDbGllbnQqIGNocm9tZUNsaWVudCwgQ29udGV4dE1l
bnVDbGllbnQqIGNvbnRleHRNZW51Q2xpZW50LCBFZGkKICAgICAsIG1fZ2VvbG9jYXRpb25Db250
cm9sbGVyKG5ldyBHZW9sb2NhdGlvbkNvbnRyb2xsZXIodGhpcywgZ2VvbG9jYXRpb25Db250cm9s
bGVyQ2xpZW50KSkKICNlbmRpZgogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCi0gICAg
LCBtX2RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcihuZXcgRGV2aWNlT3JpZW50YXRpb25Db250
cm9sbGVyKHRoaXMsIGRldmljZU9yaWVudGF0aW9uQ2xpZW50KSkKKyAgICAsIG1fZGV2aWNlT3Jp
ZW50YXRpb25Db250cm9sbGVyKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmRldmljZU9yaWVudGF0
aW9uRW5hYmxlZCgpID8gbmV3IERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcih0aGlzLCBkZXZp
Y2VPcmllbnRhdGlvbkNsaWVudCkgOiAwKQogI2VuZGlmCiAjaWYgRU5BQkxFKElOUFVUX1NQRUVD
SCkKICAgICAsIG1fc3BlZWNoSW5wdXRDbGllbnQoMCkKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDhhODdhNjRh
NTgwYzY2YzNjMzVhMmQ4NzVmZWQ3NDkyYTYyMDg0YzIuLjg0NjZhOWNjYzU3NWU5MWRkNDk4ZjJj
NjIzZThlYzUxODYyOTQ1YzMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEwLTA3
LTIwICBIYW5zIFdlbm5ib3JnICA8aGFuc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUnVudGltZSBmZWF0dXJlIHN3aXRjaCBm
b3IgZGV2aWNlIG9yaWVudGF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD00MjI2NQorCisgICAgICAgIEFkZCBhIHJ1bnRpbWUgZmVhdHVyZSBzd2l0
Y2ggdGhhdCBkZWNpZGVzIHdoZXRoZXIgZGV2aWNlIG9yaWVudGF0aW9uCisgICAgICAgIGV2ZW50
cyBhcmUgYXZhaWxhYmxlIG9yIG5vdC4gRGVmYXVsdHMgdG8gdHJ1ZS4KKworICAgICAgICAqIHB1
YmxpYy9XZWJSdW50aW1lRmVhdHVyZXMuaDoKKyAgICAgICAgKiBzcmMvV2ViUnVudGltZUZlYXR1
cmVzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUnVudGltZUZlYXR1cmVzOjplbmFibGVEZXZp
Y2VPcmllbnRhdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYlJ1bnRpbWVGZWF0dXJlczo6aXNE
ZXZpY2VPcmllbnRhdGlvbkVuYWJsZWQpOgorCiAyMDEwLTA3LTE5ICBWaWN0b3JpYSBLaXJzdCAg
PHZya0Bnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhdmlkIExldmluLgpkaWZm
IC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJSdW50aW1lRmVhdHVyZXMuaCBiL1dl
YktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViUnVudGltZUZlYXR1cmVzLmgKaW5kZXggMDNmZjY4MTk2
NmYyNmQ3ZWNjZWRjZjRlNjIxZjAxMTYxMDg4MjcxZi4uOTUzMDdhMmNiNjE4NzYwOTg4MmZjMDcz
ZTc3MmI5ODY0NmE2MTY3OSAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJS
dW50aW1lRmVhdHVyZXMuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlJ1bnRpbWVG
ZWF0dXJlcy5oCkBAIC03Nyw2ICs3Nyw5IEBAIHB1YmxpYzoKICAgICBXRUJLSVRfQVBJIHN0YXRp
YyB2b2lkIGVuYWJsZVRvdWNoKGJvb2wpOwogICAgIFdFQktJVF9BUEkgc3RhdGljIGJvb2wgaXNU
b3VjaEVuYWJsZWQoKTsKIAorICAgIFdFQktJVF9BUEkgc3RhdGljIHZvaWQgZW5hYmxlRGV2aWNl
T3JpZW50YXRpb24oYm9vbCk7CisgICAgV0VCS0lUX0FQSSBzdGF0aWMgYm9vbCBpc0RldmljZU9y
aWVudGF0aW9uRW5hYmxlZCgpOworCiBwcml2YXRlOgogICAgIFdlYlJ1bnRpbWVGZWF0dXJlcygp
OwogfTsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUnVudGltZUZlYXR1cmVz
LmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUnVudGltZUZlYXR1cmVzLmNwcAppbmRleCA1
OTVhNDdmNDdhNWM1MDg5OTI1NTA4NzBlNTFhZjY1OTE5ZDJhZGRiLi5lZmIyODdjNmU4YTZiZDQw
YzRkZmYzN2VkMjM4MmE5OGU1ZWNjNzFjIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlJ1bnRpbWVGZWF0dXJlcy5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJSdW50
aW1lRmVhdHVyZXMuY3BwCkBAIC0yMjYsNCArMjI2LDE0IEBAIGJvb2wgV2ViUnVudGltZUZlYXR1
cmVzOjppc1RvdWNoRW5hYmxlZCgpCiAjZW5kaWYKIH0KIAordm9pZCBXZWJSdW50aW1lRmVhdHVy
ZXM6OmVuYWJsZURldmljZU9yaWVudGF0aW9uKGJvb2wgZW5hYmxlKQoreworICAgIFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OnNldERldmljZU9yaWVudGF0aW9uRW5hYmxlZChlbmFibGUpOworfQor
Citib29sIFdlYlJ1bnRpbWVGZWF0dXJlczo6aXNEZXZpY2VPcmllbnRhdGlvbkVuYWJsZWQoKQor
eworICAgIHJldHVybiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpkZXZpY2VPcmllbnRhdGlvbkVu
YWJsZWQoKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62159</attachid>
            <date>2010-07-21 02:25:38 -0700</date>
            <delta_ts>2010-07-21 03:42:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42265-20100721102535.patch</filename>
            <type>text/plain</type>
            <size>15482</size>
            <attacher name="Hans Wennborg">hans</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NGFmNzExMDczNGU1ODMyOGQ1OGQ4OTg3ZDlhOThiOGI4MzlkNThkOS4uNWU5ZjI0MWM2OTA1YzUx
OGZjOWM2MjhjY2VkZTE0NmQ0YjdkYTBhMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAxMC0wNy0yMSAgSGFu
cyBXZW5uYm9yZyAgPGhhbnNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFJ1bnRpbWUgZmVhdHVyZSBzd2l0Y2ggZm9yIGRldmlj
ZSBvcmllbnRhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NDIyNjUKKworICAgICAgICBBZGQgYSBydW50aW1lIGZlYXR1cmUgc3dpdGNoIHRoYXQg
ZGVjaWRlcyB3aGV0aGVyIGRldmljZSBvcmllbnRhdGlvbgorICAgICAgICBldmVudHMgYXJlIGF2
YWlsYWJsZSBvciBub3QuIERlZmF1bHRzIHRvIHRydWUuCisKKyAgICAgICAgKiBXZWJDb3JlLnZj
cHJvai9XZWJDb3JlQ29tbW9uLnZzcHJvcHM6IEFkZCBiaW5kaW5ncy9nZW5lcmljIHRvIGluY2x1
ZGUgcGF0aC4KKyAgICAgICAgKiBiaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVy
ZXMuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJl
cy5oOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0RGV2aWNl
T3JpZW50YXRpb25FbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVh
dHVyZXM6OmRldmljZU9yaWVudGF0aW9uRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpkZXZpY2VPcmllbnRhdGlvbkV2ZW50RW5hYmxlZCk6CisgICAg
ICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpvbmRldmljZW9yaWVudGF0aW9u
RW5hYmxlZCk6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RE9NV2luZG93OjphZGRFdmVudExpc3RlbmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdp
bmRvdzo6cmVtb3ZlRXZlbnRMaXN0ZW5lcik6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6
OnJlbW92ZUFsbEV2ZW50TGlzdGVuZXJzKToKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6
CisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OlBhZ2Up
OgorCiAyMDEwLTA3LTIwICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmVDb21tb24udnNwcm9wcyBiL1dlYkNvcmUvV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZUNvbW1vbi52c3Byb3BzCmluZGV4IDljNjY2YTE3OGM1M2QwMGRjMDA5ZmM5
NjYyMDY5OTE3OTFlYzc2ZjcuLjc1ZDRkZWFkMDA5OTg4NzRjNWU1MGQ3Y2FlMmRkMzIxN2UxYTcz
YzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZUNvbW1vbi52c3By
b3BzCisrKyBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZUNvbW1vbi52c3Byb3BzCkBA
IC03LDcgKzcsNyBAQAogCT4NCiAJPFRvb2wNCiAJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQot
CQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDskKFByb2plY3REaXIpLi4mcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGFjY2Vzc2liaWxpdHkmcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKS4uXGFjY2Vzc2liaWxpdHlcd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxi
cmlkZ2UmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGJyaWRnZVxjJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcikuLlxicmlkZ2VcanNjJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxjc3Mm
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGVkaXRpbmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKS4uXHJlbmRlcmluZyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccmVuZGVyaW5nXHN0
eWxlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxiaW5kaW5ncyZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpLi5cYmluZGluZ3NcanMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGRvbSZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cZG9tXGRlZmF1bHQmcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKS4uXGhpc3RvcnkmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGh0bWwmcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGh0bWxcY2FudmFzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERp
cikuLlxpbnNwZWN0b3ImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlciZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpLi5cbG9hZGVyXGFwcGNhY2hlJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxsb2FkZXJcYXJjaGl2ZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cbG9hZGVy
XGFyY2hpdmVcY2YmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlclxpY29uJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlxub3RpZmljYXRpb25zJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxwYWdlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwYWdlXGFuaW1hdGlvbiZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGFnZVx3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKS4uXHBsYXRmb3JtJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxhbmlt
YXRpb24mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXG1vY2smcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXHNxbCZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
Li5ccGxhdGZvcm1cd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxuZXR3
b3JrJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxuZXR3b3JrXHdpbiZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cY2YmcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0
Zm9ybVxncmFwaGljc1xmaWx0ZXJzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9y
bVxncmFwaGljc1xvcGVudHlwZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1c
Z3JhcGhpY3NcdHJhbnNmb3JtcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1c
dGV4dCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cdGV4dFx0cmFuc2NvZGVy
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxncmFwaGljc1x3aW4mcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHhtbCZxdW90OzsmcXVvdDskKFdlYktpdE91dHB1dERpcilc
b2JqXFdlYkNvcmVcRGVyaXZlZFNvdXJjZXMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBs
dWdpbnMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsdWdpbnNcd2luJnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcikuLlxzdmdcYW5pbWF0aW9uJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpciku
LlxzdmdcZ3JhcGhpY3MmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHN2Z1xncmFwaGljc1xm
aWx0ZXJzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxzdmcmcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKS4uXHdtbCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cc3RvcmFnZSZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpLi5cd2Vic29ja2V0cyZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
Li5cd29ya2VycyZxdW90OzsmcXVvdDskKFdlYktpdE91dHB1dERpcilcaW5jbHVkZSZxdW90Ozsm
cXVvdDskKFdlYktpdE91dHB1dERpcilcaW5jbHVkZVxwcml2YXRlJnF1b3Q7OyZxdW90OyQoV2Vi
S2l0T3V0cHV0RGlyKVxpbmNsdWRlXEphdmFTY3JpcHRDb3JlJnF1b3Q7OyZxdW90OyQoV2ViS2l0
T3V0cHV0RGlyKVxpbmNsdWRlXHByaXZhdGVcSmF2YVNjcmlwdENvcmUmcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKS4uXEZvcndhcmRpbmdIZWFkZXJzJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFy
aWVzRGlyKVxpbmNsdWRlJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRl
XHByaXZhdGUmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGVccHJpdmF0
ZVxKYXZhU2NyaXB0Q29yZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVk
ZVxwdGhyZWFkcyZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZVxzcWxp
dGUmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGVcSmF2YVNjcmlwdENv
cmUmcXVvdDsiDQorCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDskKFByb2pl
Y3REaXIpLi4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGFjY2Vzc2liaWxpdHkmcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGFjY2Vzc2liaWxpdHlcd2luJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcikuLlxicmlkZ2UmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGJyaWRnZVxjJnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxicmlkZ2VcanNjJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxjc3MmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGVkaXRpbmcmcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKS4uXHJlbmRlcmluZyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5c
cmVuZGVyaW5nXHN0eWxlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxiaW5kaW5ncyZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpLi5cYmluZGluZ3NcZ2VuZXJpYyZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpLi5cYmluZGluZ3NcanMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGRvbSZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cZG9tXGRlZmF1bHQmcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKS4uXGhpc3RvcnkmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGh0bWwmcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGh0bWxcY2FudmFzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERp
cikuLlxpbnNwZWN0b3ImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlciZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpLi5cbG9hZGVyXGFwcGNhY2hlJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxsb2FkZXJcYXJjaGl2ZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cbG9hZGVy
XGFyY2hpdmVcY2YmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlclxpY29uJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlxub3RpZmljYXRpb25zJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxwYWdlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwYWdlXGFuaW1hdGlvbiZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGFnZVx3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKS4uXHBsYXRmb3JtJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxhbmlt
YXRpb24mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXG1vY2smcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXHNxbCZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
Li5ccGxhdGZvcm1cd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxuZXR3
b3JrJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxuZXR3b3JrXHdpbiZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cY2YmcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0
Zm9ybVxncmFwaGljc1xmaWx0ZXJzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9y
bVxncmFwaGljc1xvcGVudHlwZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1c
Z3JhcGhpY3NcdHJhbnNmb3JtcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1c
dGV4dCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cdGV4dFx0cmFuc2NvZGVy
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxncmFwaGljc1x3aW4mcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHhtbCZxdW90OzsmcXVvdDskKFdlYktpdE91dHB1dERpcilc
b2JqXFdlYkNvcmVcRGVyaXZlZFNvdXJjZXMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBs
dWdpbnMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsdWdpbnNcd2luJnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcikuLlxzdmdcYW5pbWF0aW9uJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpciku
LlxzdmdcZ3JhcGhpY3MmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHN2Z1xncmFwaGljc1xm
aWx0ZXJzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxzdmcmcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKS4uXHdtbCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cc3RvcmFnZSZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpLi5cd2Vic29ja2V0cyZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
Li5cd29ya2VycyZxdW90OzsmcXVvdDskKFdlYktpdE91dHB1dERpcilcaW5jbHVkZSZxdW90Ozsm
cXVvdDskKFdlYktpdE91dHB1dERpcilcaW5jbHVkZVxwcml2YXRlJnF1b3Q7OyZxdW90OyQoV2Vi
S2l0T3V0cHV0RGlyKVxpbmNsdWRlXEphdmFTY3JpcHRDb3JlJnF1b3Q7OyZxdW90OyQoV2ViS2l0
T3V0cHV0RGlyKVxpbmNsdWRlXHByaXZhdGVcSmF2YVNjcmlwdENvcmUmcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKS4uXEZvcndhcmRpbmdIZWFkZXJzJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFy
aWVzRGlyKVxpbmNsdWRlJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRl
XHByaXZhdGUmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGVccHJpdmF0
ZVxKYXZhU2NyaXB0Q29yZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVk
ZVxwdGhyZWFkcyZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZVxzcWxp
dGUmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGVcSmF2YVNjcmlwdENv
cmUmcXVvdDsiDQogCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX19XSU4zMl9fO0RJU0FCTEVf
M0RfUkVOREVSSU5HO1dFQkNPUkVfQ09OVEVYVF9NRU5VUyINCiAJCVVzZVByZWNvbXBpbGVkSGVh
ZGVyPSIyIg0KIAkJUHJlY29tcGlsZWRIZWFkZXJUaHJvdWdoPSJXZWJDb3JlUHJlZml4LmgiDQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVy
ZXMuY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMu
Y3BwCmluZGV4IDdkNGU1YzE3NWM2YmRkODg5YmQyODZkNjhmMDRjYTVkNjNjZGFmMDAuLjE1M2Y5
OTVjZDlmNzZiNGUxYzFiMjhkNTQ2MzA1NzNkMzk3NzlhNmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
YmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcAorKysgYi9XZWJDb3Jl
L2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHAKQEAgLTQ3LDYgKzQ3
LDcgQEAgYm9vbCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjppc0luZGV4ZWREQkVuYWJsZWQgPSBm
YWxzZTsKIGJvb2wgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6aXNXZWJHTEVuYWJsZWQgPSBmYWxz
ZTsKIGJvb2wgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6aXNQdXNoU3RhdGVFbmFibGVkID0gZmFs
c2U7CiBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzVG91Y2hFbmFibGVkID0gdHJ1ZTsK
K2Jvb2wgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6aXNEZXZpY2VPcmllbnRhdGlvbkVuYWJsZWQg
PSB0cnVlOwogCiAjaWYgRU5BQkxFKFZJREVPKQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRp
bmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIGIvV2ViQ29yZS9iaW5kaW5ncy9n
ZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAppbmRleCA3M2JiZjBmZjlmNmRiOTU2NmEw
NjZiYzAzNTI0ODRhMGY3MzM2Zjg2Li5kOGVhZTIzYzI2YmY2ODBiNTRkYTFlYzI2NzFlODNiMDA5
MWQ4YjFlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJs
ZWRGZWF0dXJlcy5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxl
ZEZlYXR1cmVzLmgKQEAgLTExMyw2ICsxMTMsMTEgQEAgcHVibGljOgogICAgIHN0YXRpYyBib29s
IG9udG91Y2hjYW5jZWxFbmFibGVkKCkgeyByZXR1cm4gaXNUb3VjaEVuYWJsZWQ7IH0KICNlbmRp
ZgogCisgICAgc3RhdGljIHZvaWQgc2V0RGV2aWNlT3JpZW50YXRpb25FbmFibGVkKGJvb2wgaXNF
bmFibGVkKSB7IGlzRGV2aWNlT3JpZW50YXRpb25FbmFibGVkID0gaXNFbmFibGVkOyB9CisgICAg
c3RhdGljIGJvb2wgZGV2aWNlT3JpZW50YXRpb25FbmFibGVkKCkgeyByZXR1cm4gaXNEZXZpY2VP
cmllbnRhdGlvbkVuYWJsZWQ7IH0KKyAgICBzdGF0aWMgYm9vbCBkZXZpY2VPcmllbnRhdGlvbkV2
ZW50RW5hYmxlZCgpIHsgcmV0dXJuIGlzRGV2aWNlT3JpZW50YXRpb25FbmFibGVkOyB9CisgICAg
c3RhdGljIGJvb2wgb25kZXZpY2VvcmllbnRhdGlvbkVuYWJsZWQoKSB7IHJldHVybiBpc0Rldmlj
ZU9yaWVudGF0aW9uRW5hYmxlZDsgfQorCiBwcml2YXRlOgogICAgIC8vIE5ldmVyIGluc3RhbnRp
YXRlLgogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMoKSB7IH0KQEAgLTEyNiw2ICsxMzEsNyBA
QCBwcml2YXRlOgogICAgIHN0YXRpYyBib29sIGlzV2ViR0xFbmFibGVkOwogICAgIHN0YXRpYyBi
b29sIGlzUHVzaFN0YXRlRW5hYmxlZDsKICAgICBzdGF0aWMgYm9vbCBpc1RvdWNoRW5hYmxlZDsK
KyAgICBzdGF0aWMgYm9vbCBpc0RldmljZU9yaWVudGF0aW9uRW5hYmxlZDsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3Bw
IGIvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggOTE4YTgzYTA2Y2ViNDcyMGQ4OWJl
MWU1NWFlODFiNTUzOWE1ZGQwYi4uMDYyZDBkZjFhYjJjZDY3ZTExZGZhN2NhZDhjZjVjMjg2YTVj
ODAzYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKKysrIGIvV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAgLTE0MTMsOCArMTQxMyw4IEBAIGJvb2wgRE9NV2luZG93
OjphZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBQYXNzUmVm
UHRyPEV2ZW50CiAgICAgZWxzZSBpZiAoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5iZWZvcmV1
bmxvYWRFdmVudCAmJiBhbGxvd3NCZWZvcmVVbmxvYWRMaXN0ZW5lcnModGhpcykpCiAgICAgICAg
IGFkZEJlZm9yZVVubG9hZEV2ZW50TGlzdGVuZXIodGhpcyk7CiAjaWYgRU5BQkxFKERFVklDRV9P
UklFTlRBVElPTikKLSAgICBlbHNlIGlmIChldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLmRldmlj
ZW9yaWVudGF0aW9uRXZlbnQgJiYgZnJhbWUoKSAmJiBmcmFtZSgpLT5wYWdlKCkpCi0gICAgICAg
IGZyYW1lKCktPnBhZ2UoKS0+ZGV2aWNlT3JpZW50YXRpb24oKS0+YWRkTGlzdGVuZXIodGhpcyk7
CisgICAgZWxzZSBpZiAoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5kZXZpY2VvcmllbnRhdGlv
bkV2ZW50ICYmIGZyYW1lKCkgJiYgZnJhbWUoKS0+cGFnZSgpICYmIGZyYW1lKCktPnBhZ2UoKS0+
ZGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKCkpCisgICAgICAgIGZyYW1lKCktPnBhZ2UoKS0+
ZGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKCktPmFkZExpc3RlbmVyKHRoaXMpOwogI2VuZGlm
CiAKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTE0MzAsOCArMTQzMCw4IEBAIGJvb2wgRE9NV2luZG93
OjpyZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBFdmVu
dExpc3RlbmVyCiAgICAgZWxzZSBpZiAoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5iZWZvcmV1
bmxvYWRFdmVudCAmJiBhbGxvd3NCZWZvcmVVbmxvYWRMaXN0ZW5lcnModGhpcykpCiAgICAgICAg
IHJlbW92ZUJlZm9yZVVubG9hZEV2ZW50TGlzdGVuZXIodGhpcyk7CiAjaWYgRU5BQkxFKERFVklD
RV9PUklFTlRBVElPTikKLSAgICBlbHNlIGlmIChldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLmRl
dmljZW9yaWVudGF0aW9uRXZlbnQgJiYgZnJhbWUoKSAmJiBmcmFtZSgpLT5wYWdlKCkpCi0gICAg
ICAgIGZyYW1lKCktPnBhZ2UoKS0+ZGV2aWNlT3JpZW50YXRpb24oKS0+cmVtb3ZlTGlzdGVuZXIo
dGhpcyk7CisgICAgZWxzZSBpZiAoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5kZXZpY2Vvcmll
bnRhdGlvbkV2ZW50ICYmIGZyYW1lKCkgJiYgZnJhbWUoKS0+cGFnZSgpICYmIGZyYW1lKCktPnBh
Z2UoKS0+ZGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKCkpCisgICAgICAgIGZyYW1lKCktPnBh
Z2UoKS0+ZGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKCktPnJlbW92ZUxpc3RlbmVyKHRoaXMp
OwogI2VuZGlmCiAKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTE1MDgsOCArMTUwOCw4IEBAIHZvaWQg
RE9NV2luZG93OjpyZW1vdmVBbGxFdmVudExpc3RlbmVycygpCiAgICAgRXZlbnRUYXJnZXQ6OnJl
bW92ZUFsbEV2ZW50TGlzdGVuZXJzKCk7CiAKICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9O
KQotICAgIGlmIChmcmFtZSgpICYmIGZyYW1lKCktPnBhZ2UoKSkKLSAgICAgICAgZnJhbWUoKS0+
cGFnZSgpLT5kZXZpY2VPcmllbnRhdGlvbigpLT5yZW1vdmVBbGxMaXN0ZW5lcnModGhpcyk7Cisg
ICAgaWYgKGZyYW1lKCkgJiYgZnJhbWUoKS0+cGFnZSgpICYmIGZyYW1lKCktPnBhZ2UoKS0+ZGV2
aWNlT3JpZW50YXRpb25Db250cm9sbGVyKCkpCisgICAgICAgIGZyYW1lKCktPnBhZ2UoKS0+ZGV2
aWNlT3JpZW50YXRpb25Db250cm9sbGVyKCktPnJlbW92ZUFsbExpc3RlbmVycyh0aGlzKTsKICNl
bmRpZgogCiAgICAgcmVtb3ZlQWxsVW5sb2FkRXZlbnRMaXN0ZW5lcnModGhpcyk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbCBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cu
aWRsCmluZGV4IGM1MDBlZTdmNDlkNjNkODhkNWVmMWVlNWU5NGZmYjI4YTk0ZWVlMDUuLjgyNTIx
YmE4MDk0NWY0NzQwMGFjMDcyZTkzMmQ4OWJjOTllYzQxODUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCkBAIC0z
MDQsOCArMzA0LDggQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0
aW9uYWw9VE9VQ0hfRVZFTlRTLEVuYWJsZWRBdFJ1bnRpbWVdIEV2ZW50TGlzdGVuZXIgb250b3Vj
aGVuZDsKICAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1UT1VDSF9FVkVOVFMsRW5hYmxl
ZEF0UnVudGltZV0gRXZlbnRMaXN0ZW5lciBvbnRvdWNoY2FuY2VsOwogCi0gICAgICAgIGF0dHJp
YnV0ZSBbQ29uZGl0aW9uYWw9REVWSUNFX09SSUVOVEFUSU9OXSBEZXZpY2VPcmllbnRhdGlvbkV2
ZW50Q29uc3RydWN0b3IgRGV2aWNlT3JpZW50YXRpb25FdmVudDsKLSAgICAgICAgYXR0cmlidXRl
IFtDb25kaXRpb25hbD1ERVZJQ0VfT1JJRU5UQVRJT05dIEV2ZW50TGlzdGVuZXIgb25kZXZpY2Vv
cmllbnRhdGlvbjsKKyAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1ERVZJQ0VfT1JJRU5U
QVRJT04sIEVuYWJsZWRBdFJ1bnRpbWVdIERldmljZU9yaWVudGF0aW9uRXZlbnRDb25zdHJ1Y3Rv
ciBEZXZpY2VPcmllbnRhdGlvbkV2ZW50OworICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFs
PURFVklDRV9PUklFTlRBVElPTiwgRW5hYmxlZEF0UnVudGltZV0gRXZlbnRMaXN0ZW5lciBvbmRl
dmljZW9yaWVudGF0aW9uOwogCiAgICAgICAgIC8vIEV2ZW50VGFyZ2V0IGludGVyZmFjZQogICAg
ICAgICBbQ3VzdG9tXSB2b2lkIGFkZEV2ZW50TGlzdGVuZXIoaW4gRE9NU3RyaW5nIHR5cGUsCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAK
aW5kZXggNTljMjIzOGM5OWMyZjlhMDEzOTE3Njc2YmFjNjk3ZjkzNTk3OGM4Ny4uYWFmM2Q0Y2Zl
ZDFhYzk5NmIxZTEzZjkyMTdlODEyNTcyYmY5NDQyMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdl
L1BhZ2UuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtNTcsNiArNTcsNyBAQAog
I2luY2x1ZGUgIlByb2dyZXNzVHJhY2tlci5oIgogI2luY2x1ZGUgIlJlbmRlclRoZW1lLmgiCiAj
aW5jbHVkZSAiUmVuZGVyV2lkZ2V0LmgiCisjaW5jbHVkZSAiUnVudGltZUVuYWJsZWRGZWF0dXJl
cy5oIgogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJTZWxlY3Rpb25D
b250cm9sbGVyLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKQEAgLTEzOSw3ICsxNDAsNyBAQCBQ
YWdlOjpQYWdlKENocm9tZUNsaWVudCogY2hyb21lQ2xpZW50LCBDb250ZXh0TWVudUNsaWVudCog
Y29udGV4dE1lbnVDbGllbnQsIEVkaQogICAgICwgbV9nZW9sb2NhdGlvbkNvbnRyb2xsZXIobmV3
IEdlb2xvY2F0aW9uQ29udHJvbGxlcih0aGlzLCBnZW9sb2NhdGlvbkNvbnRyb2xsZXJDbGllbnQp
KQogI2VuZGlmCiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKLSAgICAsIG1fZGV2aWNl
T3JpZW50YXRpb25Db250cm9sbGVyKG5ldyBEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIodGhp
cywgZGV2aWNlT3JpZW50YXRpb25DbGllbnQpKQorICAgICwgbV9kZXZpY2VPcmllbnRhdGlvbkNv
bnRyb2xsZXIoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6ZGV2aWNlT3JpZW50YXRpb25FbmFibGVk
KCkgPyBuZXcgRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKHRoaXMsIGRldmljZU9yaWVudGF0
aW9uQ2xpZW50KSA6IDApCiAjZW5kaWYKICNpZiBFTkFCTEUoSU5QVVRfU1BFRUNIKQogICAgICwg
bV9zcGVlY2hJbnB1dENsaWVudCgwKQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggODQ2MGNiMGVkMmYwYWZkNjc2
MTlhMzc4MThiNGEyNzUyNWY3MDE2Ny4uYTczMGFhY2IxOGRiMjFlMWEyMTM3YjUyNzA2Yzg1NjVh
YmJkZjFhMyAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTAtMDctMjEgIEhhbnMg
V2VubmJvcmcgIDxoYW5zQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBSdW50aW1lIGZlYXR1cmUgc3dpdGNoIGZvciBkZXZpY2Ug
b3JpZW50YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTQyMjY1CisKKyAgICAgICAgQWRkIGEgcnVudGltZSBmZWF0dXJlIHN3aXRjaCB0aGF0IGRl
Y2lkZXMgd2hldGhlciBkZXZpY2Ugb3JpZW50YXRpb24KKyAgICAgICAgZXZlbnRzIGFyZSBhdmFp
bGFibGUgb3Igbm90LiBEZWZhdWx0cyB0byB0cnVlLgorCisgICAgICAgICogcHVibGljL1dlYlJ1
bnRpbWVGZWF0dXJlcy5oOgorICAgICAgICAqIHNyYy9XZWJSdW50aW1lRmVhdHVyZXMuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJSdW50aW1lRmVhdHVyZXM6OmVuYWJsZURldmljZU9yaWVudGF0
aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViUnVudGltZUZlYXR1cmVzOjppc0RldmljZU9yaWVu
dGF0aW9uRW5hYmxlZCk6CisKIDIwMTAtMDctMjEgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0Bj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KZGlmZiAt
LWdpdCBhL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViUnVudGltZUZlYXR1cmVzLmggYi9XZWJL
aXQvY2hyb21pdW0vcHVibGljL1dlYlJ1bnRpbWVGZWF0dXJlcy5oCmluZGV4IDAzZmY2ODE5NjZm
MjZkN2VjY2VkY2Y0ZTYyMWYwMTE2MTA4ODI3MWYuLjk1MzA3YTJjYjYxODc2MDk4ODJmYzA3M2U3
NzJiOTg2NDZhNjE2NzkgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViUnVu
dGltZUZlYXR1cmVzLmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJSdW50aW1lRmVh
dHVyZXMuaApAQCAtNzcsNiArNzcsOSBAQCBwdWJsaWM6CiAgICAgV0VCS0lUX0FQSSBzdGF0aWMg
dm9pZCBlbmFibGVUb3VjaChib29sKTsKICAgICBXRUJLSVRfQVBJIHN0YXRpYyBib29sIGlzVG91
Y2hFbmFibGVkKCk7CiAKKyAgICBXRUJLSVRfQVBJIHN0YXRpYyB2b2lkIGVuYWJsZURldmljZU9y
aWVudGF0aW9uKGJvb2wpOworICAgIFdFQktJVF9BUEkgc3RhdGljIGJvb2wgaXNEZXZpY2VPcmll
bnRhdGlvbkVuYWJsZWQoKTsKKwogcHJpdmF0ZToKICAgICBXZWJSdW50aW1lRmVhdHVyZXMoKTsK
IH07CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlJ1bnRpbWVGZWF0dXJlcy5j
cHAgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlJ1bnRpbWVGZWF0dXJlcy5jcHAKaW5kZXggNTk1
YTQ3ZjQ3YTVjNTA4OTkyNTUwODcwZTUxYWY2NTkxOWQyYWRkYi4uZWZiMjg3YzZlOGE2YmQ0MGM0
ZGZmMzdlZDIzODJhOThlNWVjYzcxYyAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJSdW50aW1lRmVhdHVyZXMuY3BwCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUnVudGlt
ZUZlYXR1cmVzLmNwcApAQCAtMjI2LDQgKzIyNiwxNCBAQCBib29sIFdlYlJ1bnRpbWVGZWF0dXJl
czo6aXNUb3VjaEVuYWJsZWQoKQogI2VuZGlmCiB9CiAKK3ZvaWQgV2ViUnVudGltZUZlYXR1cmVz
OjplbmFibGVEZXZpY2VPcmllbnRhdGlvbihib29sIGVuYWJsZSkKK3sKKyAgICBSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpzZXREZXZpY2VPcmllbnRhdGlvbkVuYWJsZWQoZW5hYmxlKTsKK30KKwor
Ym9vbCBXZWJSdW50aW1lRmVhdHVyZXM6OmlzRGV2aWNlT3JpZW50YXRpb25FbmFibGVkKCkKK3sK
KyAgICByZXR1cm4gUnVudGltZUVuYWJsZWRGZWF0dXJlczo6ZGV2aWNlT3JpZW50YXRpb25FbmFi
bGVkKCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>