<?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>41607</bug_id>
          
          <creation_ts>2010-07-05 05:11:12 -0700</creation_ts>
          <short_desc>DeviceOrientationEvent should use optional properties</short_desc>
          <delta_ts>2010-07-13 05:38:56 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>41608</dependson>
          <blocked>39588</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Steve Block">steveblock</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>hans</cc>
    
    <cc>japhet</cc>
    
    <cc>jorlow</cc>
    
    <cc>kling</cc>
    
    <cc>steveblock</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>246582</commentid>
    <comment_count>0</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-07-05 05:11:12 -0700</bug_when>
    <thetext>The DeviceOrientation spec (http://dev.w3.org/geo/api/spec-source-orientation.html) requires the alpha, beta and gamma properties of DeviceOrientationEvent to all be optional.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247637</commentid>
    <comment_count>1</comment_count>
      <attachid>60754</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-07-07 10:53:33 -0700</bug_when>
    <thetext>Created attachment 60754
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247640</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-07-07 11:02:26 -0700</bug_when>
    <thetext>Attachment 60754 did not build on mac:
Build output: http://webkit-commit-queue.appspot.com/results/3373471</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247643</commentid>
    <comment_count>3</comment_count>
      <attachid>60756</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-07-07 11:08:57 -0700</bug_when>
    <thetext>Created attachment 60756
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>249662</commentid>
    <comment_count>4</comment_count>
      <attachid>60756</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-07-11 16:25:41 -0700</bug_when>
    <thetext>Comment on attachment 60756
Patch

&gt;WebCore/dom/DeviceOrientation.h:66
&gt; +      bool m_canProvideAlpha;
&gt; +      double m_alpha;
&gt; +      bool m_canProvideBeta;
&gt; +      double m_beta;
&gt; +      bool m_canProvideGamma;
&gt; +      double m_gamma;
This member order will cause unnecessary padding. Better to group the doubles and bools.

Patch looks good otherwise.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>249756</commentid>
    <comment_count>5</comment_count>
      <attachid>61208</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-07-12 04:20:24 -0700</bug_when>
    <thetext>Created attachment 61208
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>249769</commentid>
    <comment_count>6</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-07-12 05:26:58 -0700</bug_when>
    <thetext>We should avoid adding new custom functions whenever practical.  It seems like it might be a bit better to add some new WebCore type that represents a double that could be null.  Or have some annotation in the IDL that says to pass a bool/enum ptr to the function and use that to pass back that the result should be null.

I&apos;m not completely against the patch as is (hence no r-).  Adding japhet to see what he thinks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>249778</commentid>
    <comment_count>7</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-07-12 05:38:52 -0700</bug_when>
    <thetext>&gt; We should avoid adding new custom functions whenever practical.  It seems like
&gt; it might be a bit better to add some new WebCore type that represents a double
&gt; that could be null.  Or have some annotation in the IDL that says to pass a
&gt; bool/enum ptr to the function and use that to pass back that the result should
&gt; be null.
Sounds reasonable. I&apos;m totally happy to look into this for a future patch, but it sounds like it might take some time tor reach consensus for the new type/flag. It would be good to land this patch as-is now, as it&apos;s blocking progress on DeviceOrientation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>249793</commentid>
    <comment_count>8</comment_count>
      <attachid>61208</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-07-12 06:17:31 -0700</bug_when>
    <thetext>Comment on attachment 61208
Patch


LayoutTests/fast/dom/DeviceOrientation/script-tests/optional-event-properties.js:39
 +  event.initDeviceOrientationEvent(&quot;&quot;, false, false, null, null, null);
if you used evalAndLog, then this would be printed to the console too, so it&apos;d be easier to read without much additional effort.

WebCore/dom/DeviceOrientation.h:53
 +      DeviceOrientation()
There&apos;s enough code here I&apos;d lean towards putting it in a .cpp file.

WebCore/bindings/js/JSDeviceOrientationEventCustom.cpp:2
 +   * Copyright 2010, The Android Open Source Project
Since these contributions are for sure from Google, should the copyright just read Google?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>249810</commentid>
    <comment_count>9</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-07-12 07:01:47 -0700</bug_when>
    <thetext>&gt; LayoutTests/fast/dom/DeviceOrientation/script-tests/optional-event-properties.js:39
&gt;  +  event.initDeviceOrientationEvent(&quot;&quot;, false, false, null, null, null);
&gt; if you used evalAndLog, then this would be printed to the console too, so it&apos;d be easier to read without much additional effort.
OK, will do

&gt; WebCore/dom/DeviceOrientation.h:53
&gt;  +      DeviceOrientation()
&gt; There&apos;s enough code here I&apos;d lean towards putting it in a .cpp file.
OK

&gt; WebCore/bindings/js/JSDeviceOrientationEventCustom.cpp:2
&gt;  +   * Copyright 2010, The Android Open Source Project
&gt; Since these contributions are for sure from Google, should the copyright just read Google?
All of the other DeviceOrientation patches are copyright Android, so I think it&apos;s best to stick with this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>249817</commentid>
    <comment_count>10</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-07-12 07:09:50 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; &gt; LayoutTests/fast/dom/DeviceOrientation/script-tests/optional-event-properties.js:39
&gt; &gt;  +  event.initDeviceOrientationEvent(&quot;&quot;, false, false, null, null, null);
&gt; &gt; if you used evalAndLog, then this would be printed to the console too, so it&apos;d be easier to read without much additional effort.
&gt; OK, will do
&gt; 
&gt; &gt; WebCore/dom/DeviceOrientation.h:53
&gt; &gt;  +      DeviceOrientation()
&gt; &gt; There&apos;s enough code here I&apos;d lean towards putting it in a .cpp file.
&gt; OK
&gt; 
&gt; &gt; WebCore/bindings/js/JSDeviceOrientationEventCustom.cpp:2
&gt; &gt;  +   * Copyright 2010, The Android Open Source Project
&gt; &gt; Since these contributions are for sure from Google, should the copyright just read Google?
&gt; All of the other DeviceOrientation patches are copyright Android, so I think it&apos;s best to stick with this.

Theres no reason the copyright needs to match.  There also is no strong reason why it needs to be Google rather than the android project beyond the former being closer to WebKit&apos;s conventions and the typical reasons for having the latter don&apos;t apply in this case (unless there&apos;s copied code...?).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>249827</commentid>
    <comment_count>11</comment_count>
      <attachid>61226</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-07-12 07:36:35 -0700</bug_when>
    <thetext>Created attachment 61226
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>249837</commentid>
    <comment_count>12</comment_count>
      <attachid>61226</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-07-12 07:49:16 -0700</bug_when>
    <thetext>Comment on attachment 61226
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250129</commentid>
    <comment_count>13</comment_count>
      <attachid>61283</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-07-12 16:22:24 -0700</bug_when>
    <thetext>Created attachment 61283
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250137</commentid>
    <comment_count>14</comment_count>
      <attachid>61287</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-07-12 16:39:02 -0700</bug_when>
    <thetext>Created attachment 61287
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250389</commentid>
    <comment_count>15</comment_count>
      <attachid>61345</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-07-13 01:42:45 -0700</bug_when>
    <thetext>Created attachment 61345
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250396</commentid>
    <comment_count>16</comment_count>
      <attachid>61345</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-07-13 02:16:26 -0700</bug_when>
    <thetext>Comment on attachment 61345
Patch

rubber stamping because I already r+&apos;ed and the diff hasn&apos;t changed much

in the future, no need to re-upload for minor changes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250397</commentid>
    <comment_count>17</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-07-13 02:26:06 -0700</bug_when>
    <thetext>&gt; rubber stamping because I already r+&apos;ed and the diff hasn&apos;t changed much
Thanks

&gt; in the future, no need to re-upload for minor changes
I know. I was uploading to use the try-bot to make sure I get the correct incantations for the Windows build. Hopefully this one will work!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250424</commentid>
    <comment_count>18</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-07-13 03:37:52 -0700</bug_when>
    <thetext>The Windows EWS bot seems to have given up on my patch. It builds on my local machine, so will land manually and watch the bots.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250437</commentid>
    <comment_count>19</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-07-13 04:37:10 -0700</bug_when>
    <thetext>Committed r63193: &lt;http://trac.webkit.org/changeset/63193&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250446</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-07-13 05:00:56 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/63193 might have broken GTK Linux 64-bit Debug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250450</commentid>
    <comment_count>21</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-07-13 05:38:56 -0700</bug_when>
    <thetext>Fixed with http://trac.webkit.org/changeset/63195</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>60754</attachid>
            <date>2010-07-07 10:53:33 -0700</date>
            <delta_ts>2010-07-07 11:08:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-41607-20100707185330.patch</filename>
            <type>text/plain</type>
            <size>34933</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MjY4MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNTIgQEAKKzIwMTAtMDctMDcgIFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IERldmljZU9yaWVudGF0aW9uRXZlbnQgc2hvdWxkIHVzZSBvcHRpb25hbCBwcm9wZXJ0aWVzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MTYwNworCisg
ICAgICAgIFRoaXMgY2hhbmdlIGFkZHMgYSBuZXcgRGV2aWNlT3JpZW50YXRpb24gY2xhc3Mgd2hp
Y2ggdGFrZXMgY2FyZSBvZiB3aGljaCBvZiB0aGUKKyAgICAgICAgb3B0aW9uYWwgcHJvcGVydGll
cyBhcmUgcHJlc2VudC4gRGV2aWNlT3JpZW50YXRpb25FdmVudCBvd25zIGFuIGluc3RhbmNlIG9m
CisgICAgICAgIERldmljZU9yaWVudGF0aW9uLCByYXRoZXIgdGhhbiBvd25pbmcgdGhlIHByb3Bl
cnRpZXMgZGlyZWN0bHkuCisgICAgICAgIERldmljZU9yaWVudGF0aW9uRXZlbnQgbm93IHJlcXVp
cmVzIGN1c3RvbSBiaW5kaW5ncy4KKworICAgICAgICBUZXN0OiBmYXN0L2RvbS9EZXZpY2VPcmll
bnRhdGlvbi9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmh0bWwKKworICAgICAgICAqIEFuZHJv
aWQuanNjYmluZGluZ3MubWs6CisgICAgICAgICogQW5kcm9pZC52OGJpbmRpbmdzLm1rOgorICAg
ICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAg
ICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNEZXZpY2VPcmllbnRhdGlv
bkV2ZW50Q3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpKU0RldmljZU9yaWVu
dGF0aW9uRXZlbnQ6OmFscGhhKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRGV2aWNlT3JpZW50YXRp
b25FdmVudDo6YmV0YSk6CisgICAgICAgIChXZWJDb3JlOjpKU0RldmljZU9yaWVudGF0aW9uRXZl
bnQ6OmdhbW1hKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRGV2aWNlT3JpZW50YXRpb25FdmVudDo6
aW5pdERldmljZU9yaWVudGF0aW9uRXZlbnQpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3Rv
bS9WOERldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OlY4RGV2aWNlT3JpZW50YXRpb25FdmVudDo6YWxwaGFBY2Nlc3NvckdldHRlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpWOERldmljZU9yaWVudGF0aW9uRXZlbnQ6OmJldGFBY2Nlc3Nvckdl
dHRlcik6CisgICAgICAgIChXZWJDb3JlOjpWOERldmljZU9yaWVudGF0aW9uRXZlbnQ6OmdhbW1h
QWNjZXNzb3JHZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VjhEZXZpY2VPcmllbnRhdGlvbkV2
ZW50Ojppbml0RGV2aWNlT3JpZW50YXRpb25FdmVudENhbGxiYWNrKToKKyAgICAgICAgKiBkb20v
RGV2aWNlT3JpZW50YXRpb24uaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmll
bnRhdGlvbjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uOjpj
YW5Qcm92aWRlQWxwaGEpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb246OmFs
cGhhKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uOjpjYW5Qcm92aWRlQmV0
YSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbjo6YmV0YSk6CisgICAgICAg
IChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbjo6Y2FuUHJvdmlkZUdhbW1hKToKKyAgICAgICAg
KFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uOjpnYW1tYSk6CisgICAgICAgIChXZWJDb3JlOjpE
ZXZpY2VPcmllbnRhdGlvbjo6RGV2aWNlT3JpZW50YXRpb24pOgorICAgICAgICAqIGRvbS9EZXZp
Y2VPcmllbnRhdGlvbkV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0
aW9uRXZlbnQ6OkRldmljZU9yaWVudGF0aW9uRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6RGV2
aWNlT3JpZW50YXRpb25FdmVudDo6aW5pdERldmljZU9yaWVudGF0aW9uRXZlbnQpOgorICAgICAg
ICAqIGRvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpEZXZp
Y2VPcmllbnRhdGlvbkV2ZW50OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3Jp
ZW50YXRpb25FdmVudDo6b3JpZW50YXRpb24pOgorICAgICAgICAqIGRvbS9EZXZpY2VPcmllbnRh
dGlvbkV2ZW50LmlkbDoKKwogMjAxMC0wNy0wNyAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQu
b3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQuCkluZGV4OiBXZWJDb3JlL0FuZHJvaWQuanNjYmlu
ZGluZ3MubWsKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9BbmRyb2lkLmpzY2JpbmRpbmdzLm1rCShy
ZXZpc2lvbiA2MjY2OCkKKysrIFdlYkNvcmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5tawkod29ya2lu
ZyBjb3B5KQpAQCAtNzksMTkgKzc5LDIwIEBAIExPQ0FMX1NSQ19GSUxFUyArPSBcCiAJYmluZGlu
Z3MvanMvSlNDdXN0b21TUUxUcmFuc2FjdGlvbkNhbGxiYWNrLmNwcCBcCiAJYmluZGluZ3MvanMv
SlNDdXN0b21TUUxUcmFuc2FjdGlvbkVycm9yQ2FsbGJhY2suY3BwIFwKIAliaW5kaW5ncy9qcy9K
U0N1c3RvbVZvaWRDYWxsYmFjay5jcHAgXAotCWJpbmRpbmdzL2pzL0pTRGF0YWJhc2VDYWxsYmFj
ay5jcHAgXAotCWJpbmRpbmdzL2pzL0pTRGVza3RvcE5vdGlmaWNhdGlvbnNDdXN0b20uY3BwIFwK
IAliaW5kaW5ncy9qcy9KU0RPTUFwcGxpY2F0aW9uQ2FjaGVDdXN0b20uY3BwIFwKIAliaW5kaW5n
cy9qcy9KU0RPTUJpbmRpbmcuY3BwIFwKLSAgYmluZGluZ3MvanMvSlNET01Gb3JtRGF0YUN1c3Rv
bS5jcHAgXAorCWJpbmRpbmdzL2pzL0pTRE9NRm9ybURhdGFDdXN0b20uY3BwIFwKIAliaW5kaW5n
cy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAgXAogCWJpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFz
ZS5jcHAgXAogCWJpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcCBcCiAJYmluZGluZ3Mv
anMvSlNET01XaW5kb3dTaGVsbC5jcHAgXAorCWJpbmRpbmdzL2pzL0pTRGF0YWJhc2VDYWxsYmFj
ay5jcHAgXAogCWJpbmRpbmdzL2pzL0pTRGF0YUdyaWRDb2x1bW5MaXN0Q3VzdG9tLmNwcCBcCiAJ
YmluZGluZ3MvanMvSlNEYXRhR3JpZERhdGFTb3VyY2UuY3BwIFwKIAliaW5kaW5ncy9qcy9KU0Rh
dGFiYXNlQ3VzdG9tLmNwcCBcCiAJYmluZGluZ3MvanMvSlNEZWRpY2F0ZWRXb3JrZXJDb250ZXh0
Q3VzdG9tLmNwcCBcCisJYmluZGluZ3MvanMvSlNEZXNrdG9wTm90aWZpY2F0aW9uc0N1c3RvbS5j
cHAgXAorCWJpbmRpbmdzL2pzL0pTRGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAgXAog
CWJpbmRpbmdzL2pzL0pTRG9jdW1lbnRDdXN0b20uY3BwIFwKIAliaW5kaW5ncy9qcy9KU0VsZW1l
bnRDdXN0b20uY3BwIFwKIAliaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcCBcCkluZGV4OiBX
ZWJDb3JlL0FuZHJvaWQudjhiaW5kaW5ncy5tawo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0FuZHJv
aWQudjhiaW5kaW5ncy5tawkocmV2aXNpb24gNjI2NjgpCisrKyBXZWJDb3JlL0FuZHJvaWQudjhi
aW5kaW5ncy5tawkod29ya2luZyBjb3B5KQpAQCAtMTA3LDYgKzEwNyw3IEBAIExPQ0FMX1NSQ19G
SUxFUyArPSBcCiAJYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGF0YWJhc2VDYWxsYmFjay5jcHAgXAog
CWJpbmRpbmdzL3Y4L2N1c3RvbS9WOERhdGFiYXNlQ3VzdG9tLmNwcCBcCiAJYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4RGVkaWNhdGVkV29ya2VyQ29udGV4dEN1c3RvbS5jcHAgXAorCWJpbmRpbmdzL3Y4
L2N1c3RvbS9WOERldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwIFwKIAliaW5kaW5ncy92
OC9jdXN0b20vVjhEb2N1bWVudEN1c3RvbS5jcHAgXAogCWJpbmRpbmdzL3Y4L2N1c3RvbS9WOERv
Y3VtZW50TG9jYXRpb25DdXN0b20uY3BwIFwKIAliaW5kaW5ncy92OC9jdXN0b20vVjhFbGVtZW50
Q3VzdG9tLmNwcCBcCkluZGV4OiBXZWJDb3JlL0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDYyNjY4KQorKysgV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNTgwLDYgKzU4MCw3IEBAIFNFVChXZWJDb3Jl
X1NPVVJDRVMKICAgICBiaW5kaW5ncy9qcy9KU0RhdGFHcmlkRGF0YVNvdXJjZS5jcHAKICAgICBi
aW5kaW5ncy9qcy9KU0RlYnVnV3JhcHBlclNldC5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0RlZGlj
YXRlZFdvcmtlckNvbnRleHRDdXN0b20uY3BwCisgICAgYmluZGluZ3MvanMvSlNEZXZpY2VPcmll
bnRhdGlvbkV2ZW50Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTRG9jdW1lbnRDdXN0b20u
Y3BwCiAgICAgYmluZGluZ3MvanMvSlNET01BcHBsaWNhdGlvbkNhY2hlQ3VzdG9tLmNwcAogICAg
IGJpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAKSW5kZXg6IFdlYkNvcmUvR05VbWFrZWZpbGUu
YW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkocmV2aXNpb24gNjI2Njgp
CisrKyBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC00NDYsNiArNDQ2
LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2lu
ZG93U2hlbGwuaCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXIuY3BwIFwKIAlX
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5oIFwKKwlXZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3Mv
anMvSlNEb2N1bWVudEN1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNFbGVtZW50
Q3VzdG9tLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcCBcCkBA
IC03OTUsNiArNzk2LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2RvbS9EYXRh
c2V0RE9NU3RyaW5nTWFwLmggXAogCVdlYkNvcmUvZG9tL0RlY29kZWREYXRhRG9jdW1lbnRQYXJz
ZXIuY3BwIFwKIAlXZWJDb3JlL2RvbS9EZWNvZGVkRGF0YURvY3VtZW50UGFyc2VyLmggXAorCVdl
YkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uLmggXAogCVdlYkNvcmUvZG9tL0RldmljZU9yaWVu
dGF0aW9uQ2xpZW50LmggXAogCVdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxl
ci5jcHAgXAogCVdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5oIFwKSW5k
ZXg6IFdlYkNvcmUvV2ViQ29yZS5neXBpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5n
eXBpCShyZXZpc2lvbiA2MjY2OCkKKysrIFdlYkNvcmUvV2ViQ29yZS5neXBpCSh3b3JraW5nIGNv
cHkpCkBAIC01NDEsNiArNTQxLDcgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0RlZGlj
YXRlZFdvcmtlckNvbnRleHRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9K
U0RlYnVnV3JhcHBlclNldC5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRGVidWdX
cmFwcGVyU2V0LmgnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRGV2aWNlT3JpZW50YXRp
b25FdmVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRG9jdW1lbnRD
dXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0RPTUFwcGxpY2F0aW9uQ2Fj
aGVDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3Bw
JywKQEAgLTczMyw2ICs3MzQsNyBAQAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OERhdGFiYXNlU3luY0N1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOERhdGFHcmlkQ29sdW1uTGlzdEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOERlZGljYXRlZFdvcmtlckNvbnRleHRDdXN0b20uY3BwJywKKyAgICAgICAg
ICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNw
cCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RG9jdW1lbnRMb2NhdGlvbkN1
c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTUZvcm1EYXRh
Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93
Q3VzdG9tLmNwcCcsCkBAIC0xMTE2LDYgKzExMTgsNyBAQAogICAgICAgICAgICAgJ2RvbS9EYXRh
c2V0RE9NU3RyaW5nTWFwLmgnLAogICAgICAgICAgICAgJ2RvbS9EZWNvZGVkRGF0YURvY3VtZW50
UGFyc2VyLmNwcCcsCiAgICAgICAgICAgICAnZG9tL0RlY29kZWREYXRhRG9jdW1lbnRQYXJzZXIu
aCcsCisgICAgICAgICAgICAnZG9tL0RldmljZU9yaWVudGF0aW9uLmgnLAogICAgICAgICAgICAg
J2RvbS9EZXZpY2VPcmllbnRhdGlvbkNsaWVudC5oJywKICAgICAgICAgICAgICdkb20vRGV2aWNl
T3JpZW50YXRpb25Db250cm9sbGVyLmNwcCcsCiAgICAgICAgICAgICAnZG9tL0RldmljZU9yaWVu
dGF0aW9uQ29udHJvbGxlci5oJywKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS5wcm8KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9XZWJDb3JlLnBybwkocmV2aXNpb24gNjI2NjgpCisrKyBXZWJDb3JlL1dl
YkNvcmUucHJvCSh3b3JraW5nIGNvcHkpCkBAIC0yOTgsNiArMjk4LDcgQEAgU09VUkNFUyArPSBc
CiAgICAgYmluZGluZ3MvanMvSlNEYXRhR3JpZERhdGFTb3VyY2UuY3BwIFwKICAgICBiaW5kaW5n
cy9qcy9KU0RlYnVnV3JhcHBlclNldC5jcHAgXAogICAgIGJpbmRpbmdzL2pzL0pTRGVza3RvcE5v
dGlmaWNhdGlvbnNDdXN0b20uY3BwIFwKKyAgICBiaW5kaW5ncy9qcy9KU0RldmljZU9yaWVudGF0
aW9uRXZlbnRDdXN0b20uY3BwIFwKICAgICBiaW5kaW5ncy9qcy9KU0RvY3VtZW50Q3VzdG9tLmNw
cCBcCiAgICAgYmluZGluZ3MvanMvSlNET01Gb3JtRGF0YUN1c3RvbS5jcHAgXAogICAgIGJpbmRp
bmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcCBcCkBAIC0xMjMxLDYgKzEyMzIsNyBAQCBIRUFE
RVJTICs9IFwKICAgICBkb20vQ1NTTWFwcGVkQXR0cmlidXRlRGVjbGFyYXRpb24uaCBcCiAgICAg
ZG9tL0N1c3RvbUV2ZW50LmggXAogICAgIGRvbS9kZWZhdWx0L1BsYXRmb3JtTWVzc2FnZVBvcnRD
aGFubmVsLmggXAorICAgIGRvbS9EZXZpY2VPcmllbnRhdGlvbi5oIFwKICAgICBkb20vRGV2aWNl
T3JpZW50YXRpb25DbGllbnQuaCBcCiAgICAgZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxl
ci5oIFwKICAgICBkb20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5oIFwKSW5kZXg6IFdlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkocmV2aXNpb24gNjI2NjgpCisrKyBXZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0zMjM3Myw2ICsz
MjM3MywxMCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxkb21cRGV2aWNlT3JpZW50YXRpb24uaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJ
CQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxEZXZpY2VPcmllbnRhdGlvbkNsaWVu
dC5oIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KQEAgLTQyNjI0LDYgKzQyNjI4LDU4IEBACiAJCQkJ
CT4NCiAJCQkJPC9GaWxlPg0KIAkJCQk8RmlsZQ0KKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5k
aW5nc1xqc1xKU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwIg0KKwkJCQkJPg0KKwkJ
CQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQkJTmFtZT0iRGVidWd8V2luMzIiDQorCQkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQkJPg0KKwkJCQkJCTxUb29sDQorCQkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkJLz4NCisJCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+DQorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCQlOYW1lPSJSZWxlYXNlfFdp
bjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJCT4NCisJCQkJCQk8
VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJCS8+DQorCQkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQkJTmFt
ZT0iRGVidWdfSW50ZXJuYWx8V2luMzIiDQorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUi
DQorCQkJCQkJPg0KKwkJCQkJCTxUb29sDQorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
DQorCQkJCQkJLz4NCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24NCisJCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb3xXaW4zMiINCisJCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCQk+DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCINCisJCQkJCQkvPg0KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4N
CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm98V2lu
MzIiDQorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQkJPg0KKwkJCQkJCTxU
b29sDQorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkJLz4NCisJCQkJCTwv
RmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCQlOYW1l
PSJEZWJ1Z19BbGx8V2luMzIiDQorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJ
CQkJPg0KKwkJCQkJCTxUb29sDQorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJ
CQkJLz4NCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTwvRmlsZT4NCisJCQkJPEZp
bGUNCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNFbGVtZW50Q3VzdG9tLmNw
cCINCiAJCQkJCT4NCiAJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KSW5kZXg6IFdlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiA2MjY2OCkKKysrIFdlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0x
MTg0LDYgKzExODQsOCBAQAogCQk1NEM1MEY3QjBFODAxREYzMDA5ODMyQTAgLyogWE1MRG9jdW1l
bnRQYXJzZXJMaWJ4bWwyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDU0QzUwRjdBMEU4MDFERjMwMDk4MzJBMCAvKiBYTUxEb2N1bWVudFBhcnNlckxp
YnhtbDIuY3BwICovOyB9OwogCQk1NTBBMEJDOTA4NUY2MDM5MDA3MzUzRDYgLyogUXVhbGlmaWVk
TmFtZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
NTBBMEJDNzA4NUY2MDM5MDA3MzUzRDYgLyogUXVhbGlmaWVkTmFtZS5jcHAgKi87IH07CiAJCTU1
MEEwQkNBMDg1RjYwMzkwMDczNTNENiAvKiBRdWFsaWZpZWROYW1lLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NTBBMEJDODA4NUY2MDM5MDA3MzUzRDYg
LyogUXVhbGlmaWVkTmFtZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCTU5MEUxQjQ5MTFFNEVGNEIwMDY5Rjc4NCAvKiBEZXZpY2VPcmllbnRhdGlv
bi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTkwRTFC
NDgxMUU0RUY0QjAwNjlGNzg0IC8qIERldmljZU9yaWVudGF0aW9uLmggKi87IH07CisJCTU5MEUx
QjRCMTFFNEVGNzAwMDY5Rjc4NCAvKiBKU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTkwRTFCNEEx
MUU0RUY3MDAwNjlGNzg0IC8qIEpTRGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAgKi87
IH07CiAJCTU5MTM5NTNCMTEwNzU4NDUwMDgzRUM1NSAvKiBKTklCcmlkZ2UuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5MTM5NTNBMTEwNzU4NDUwMDgz
RUM1NSAvKiBKTklCcmlkZ2UuaCAqLzsgfTsKIAkJNTkxMzk1M0QxMTA3NTg0RTAwODNFQzU1IC8q
IEpOSUJyaWRnZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1OTEzOTUzQzExMDc1ODRFMDA4M0VDNTUgLyogSk5JQnJpZGdlLmNwcCAqLzsgfTsKIAkJ
NTk2MjI5NzgxMTMzRUZENzAwREM0Q0JCIC8qIEdlb2xvY2F0aW9uUG9zaXRpb25DYWNoZS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1OTYyMjk3NzEx
MzNFRkQ3MDBEQzRDQkIgLyogR2VvbG9jYXRpb25Qb3NpdGlvbkNhY2hlLmNwcCAqLzsgfTsKQEAg
LTY5MTksNiArNjkyMSw4IEBACiAJCTU0QzUwRjdBMEU4MDFERjMwMDk4MzJBMCAvKiBYTUxEb2N1
bWVudFBhcnNlckxpYnhtbDIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gWE1MRG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNTUwQTBCQzcwODVGNjAzOTAwNzM1M0Q2IC8qIFF1YWxpZmllZE5hbWUuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUXVhbGlm
aWVkTmFtZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1Rh
YnMgPSAwOyB9OwogCQk1NTBBMEJDODA4NUY2MDM5MDA3MzUzRDYgLyogUXVhbGlmaWVkTmFtZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRX
aWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBRdWFs
aWZpZWROYW1lLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1Rh
YnMgPSAwOyB9OworCQk1OTBFMUI0ODExRTRFRjRCMDA2OUY3ODQgLyogRGV2aWNlT3JpZW50YXRp
b24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGV2aWNlT3JpZW50YXRpb24u
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTkwRTFCNEExMUU0RUY3MDAwNjlGNzg0
IC8qIEpTRGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1OTEzOTUzQTExMDc1ODQ1MDA4M0VDNTUgLyog
Sk5JQnJpZGdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpOSUJyaWRnZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1OTEzOTUzQzExMDc1ODRFMDA4M0VDNTUg
LyogSk5JQnJpZGdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpO
SUJyaWRnZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU5NjIyOTc3MTEzM0VG
RDcwMERDNENCQiAvKiBHZW9sb2NhdGlvblBvc2l0aW9uQ2FjaGUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR2VvbG9jYXRpb25Qb3NpdGlvbkNhY2hlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE1NzIwLDYgKzE1NzI0LDcgQEAKIAkJQkM0RURF
RjcwQzA4RjQxNDAwN0VERDQ5IC8qIEN1c3RvbSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwog
CQkJY2hpbGRyZW4gPSAoCisJCQkJNTkwRTFCNEExMUU0RUY3MDAwNjlGNzg0IC8qIEpTRGV2aWNl
T3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAgKi8sCiAJCQkJQkMyNzVDQjIxMUM1RTg1QzAwQzky
MDZDIC8qIEpTQXJyYXlCdWZmZXJDdXN0b20uY3BwICovLAogCQkJCTQ5MjI3M0EyMTA4M0IzQjEw
MEVFNUM4NCAvKiBKU0FycmF5QnVmZmVyVmlld0N1c3RvbS5jcHAgKi8sCiAJCQkJODYyNDNEMDAx
MUJDMzFGNzAwQ0MwMDZBIC8qIEpTQXJyYXlCdWZmZXJWaWV3SGVscGVyLmggKi8sCkBAIC0xNjgx
MCw2ICsxNjgxNSw3IEBACiAJCUY1MjNEMzI0MDJERTQ0NzgwMTg2MzVDQSAvKiBkb20gKi8gPSB7
CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTU5MEUxQjQ4MTFFNEVG
NEIwMDY5Rjc4NCAvKiBEZXZpY2VPcmllbnRhdGlvbi5oICovLAogCQkJCUUxQzRERTZEMEVBNzVD
NjUwMDIzQ0NENiAvKiBBY3RpdmVET01PYmplY3QuY3BwICovLAogCQkJCUUxQzRERTY4MEVBNzVD
MUUwMDIzQ0NENiAvKiBBY3RpdmVET01PYmplY3QuaCAqLywKIAkJCQlBOEM0QTdGQzA5RDU2MzI3
MDAwM0FDOEQgLyogQXR0ci5jcHAgKi8sCkBAIC0xOTc2Miw2ICsxOTc2OCw3IEBACiAJCQkJOTdF
RjU2MTExMUU0MDc4MzAwN0UwMjZGIC8qIEhUTUxDb25zdHJ1Y3Rpb25TaXRlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQ0E4QzgxRTExRTNEMzY5MDA4MTJGQjcgLyogQmFja0ZvcndhcmRDb250cm9s
bGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0E4QzgzMTExRTNENTMyMDA4MTJGQjcgLyogQmFj
a0ZvcndhcmRDb250cm9sbGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk1OTBFMUI0OTEx
RTRFRjRCMDA2OUY3ODQgLyogRGV2aWNlT3JpZW50YXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJ
KTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAt
MjIxNDgsNiArMjIxNTUsNyBAQAogCQkJCUJDQThDODFGMTFFM0QzNjkwMDgxMkZCNyAvKiBCYWNr
Rm9yd2FyZENvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNEY0RjVGRkIxMUNCRDJF
MTAwQTE4NkJGIC8qIFJlbW90ZUluc3BlY3RvckZyb250ZW5kMi5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk5N0VGNTYxMDExRTQwNzgzMDA3RTAyNkYgLyogSFRNTENvbnN0cnVjdGlvblNpdGUuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJNTkwRTFCNEIxMUU0RUY3MDAwNjlGNzg0IC8qIEpTRGV2aWNl
T3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5P
bmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKSW5kZXg6IFdlYkNvcmUv
YmluZGluZ3MvanMvSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5j
cHAJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGV2aWNlT3JpZW50YXRp
b25FdmVudEN1c3RvbS5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsODMgQEAKKy8qCisgKiBD
b3B5cmlnaHQgMjAxMCwgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJKU0RldmljZU9yaWVudGF0aW9uRXZlbnQuaCIK
KworI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisKKyNpbmNsdWRlICJEZXZpY2VPcmll
bnRhdGlvbi5oIgorI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uRXZlbnQuaCIKKwordXNpbmcg
bmFtZXNwYWNlIEpTQzsKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitKU1ZhbHVlIEpTRGV2aWNl
T3JpZW50YXRpb25FdmVudDo6YWxwaGEoRXhlY1N0YXRlKiBleGVjKSBjb25zdAoreworICAgIERl
dmljZU9yaWVudGF0aW9uRXZlbnQqIGltcCA9IHN0YXRpY19jYXN0PERldmljZU9yaWVudGF0aW9u
RXZlbnQqPihpbXBsKCkpOworICAgIGlmICghaW1wLT5vcmllbnRhdGlvbigpLT5jYW5Qcm92aWRl
QWxwaGEoKSkKKyAgICAgICAgcmV0dXJuIGpzTnVsbCgpOworICAgIHJldHVybiBqc051bWJlcihl
eGVjLCBpbXAtPm9yaWVudGF0aW9uKCktPmFscGhhKCkpOworfQorCitKU1ZhbHVlIEpTRGV2aWNl
T3JpZW50YXRpb25FdmVudDo6YmV0YShFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0Cit7CisgICAgRGV2
aWNlT3JpZW50YXRpb25FdmVudCogaW1wID0gc3RhdGljX2Nhc3Q8RGV2aWNlT3JpZW50YXRpb25F
dmVudCo+KGltcGwoKSk7CisgICAgaWYgKCFpbXAtPm9yaWVudGF0aW9uKCktPmNhblByb3ZpZGVC
ZXRhKCkpCisgICAgICAgIHJldHVybiBqc051bGwoKTsKKyAgICByZXR1cm4ganNOdW1iZXIoZXhl
YywgaW1wLT5vcmllbnRhdGlvbigpLT5iZXRhKCkpOworfQorCitKU1ZhbHVlIEpTRGV2aWNlT3Jp
ZW50YXRpb25FdmVudDo6Z2FtbWEoRXhlY1N0YXRlKiBleGVjKSBjb25zdAoreworICAgIERldmlj
ZU9yaWVudGF0aW9uRXZlbnQqIGltcCA9IHN0YXRpY19jYXN0PERldmljZU9yaWVudGF0aW9uRXZl
bnQqPihpbXBsKCkpOworICAgIGlmICghaW1wLT5vcmllbnRhdGlvbigpLT5jYW5Qcm92aWRlR2Ft
bWEoKSkKKyAgICAgICAgcmV0dXJuIGpzTnVsbCgpOworICAgIHJldHVybiBqc051bWJlcihleGVj
LCBpbXAtPm9yaWVudGF0aW9uKCktPmdhbW1hKCkpOworfQorCitKU1ZhbHVlIEpTRGV2aWNlT3Jp
ZW50YXRpb25FdmVudDo6aW5pdERldmljZU9yaWVudGF0aW9uRXZlbnQoRXhlY1N0YXRlKiBleGVj
KQoreworICAgIGNvbnN0IFN0cmluZyYgdHlwZSA9IHVzdHJpbmdUb1N0cmluZyhleGVjLT5hcmd1
bWVudCgwKS50b1N0cmluZyhleGVjKSk7CisgICAgYm9vbCBidWJibGVzID0gZXhlYy0+YXJndW1l
bnQoMSkudG9Cb29sZWFuKGV4ZWMpOworICAgIGJvb2wgY2FuY2VsYWJsZSA9IGV4ZWMtPmFyZ3Vt
ZW50KDIpLnRvQm9vbGVhbihleGVjKTsKKyAgICAvLyBJZiBhbHBoYSwgYmV0YSBvciBnYW1tYSBh
cmUgbnVsbCBvciB1bmRlZmluZWQsIG1hcmsgdGhlbSBhcyBub3QgcHJvdmlkZWQuCisgICAgLy8g
T3RoZXJ3aXNlLCB1c2UgdGhlIHN0YW5kYXJkIEphdmFTY3JpcHQgY29udmVyc2lvbi4KKyAgICBi
b29sIGFscGhhUHJvdmlkZWQgPSAhZXhlYy0+YXJndW1lbnQoMykuaXNVbmRlZmluZWRPck51bGwo
KTsKKyAgICBkb3VibGUgYWxwaGEgPSBleGVjLT5hcmd1bWVudCgzKS50b051bWJlcihleGVjKTsK
KyAgICBib29sIGJldGFQcm92aWRlZCA9ICFleGVjLT5hcmd1bWVudCg0KS5pc1VuZGVmaW5lZE9y
TnVsbCgpOworICAgIGRvdWJsZSBiZXRhID0gZXhlYy0+YXJndW1lbnQoNCkudG9OdW1iZXIoZXhl
Yyk7CisgICAgYm9vbCBnYW1tYVByb3ZpZGVkID0gIWV4ZWMtPmFyZ3VtZW50KDUpLmlzVW5kZWZp
bmVkT3JOdWxsKCk7CisgICAgZG91YmxlIGdhbW1hID0gZXhlYy0+YXJndW1lbnQoNSkudG9OdW1i
ZXIoZXhlYyk7CisgICAgUmVmUHRyPERldmljZU9yaWVudGF0aW9uPiBvcmllbnRhdGlvbiA9IERl
dmljZU9yaWVudGF0aW9uOjpjcmVhdGUoYWxwaGFQcm92aWRlZCwgYWxwaGEsIGJldGFQcm92aWRl
ZCwgYmV0YSwgZ2FtbWFQcm92aWRlZCwgZ2FtbWEpOworICAgIERldmljZU9yaWVudGF0aW9uRXZl
bnQqIGltcCA9IHN0YXRpY19jYXN0PERldmljZU9yaWVudGF0aW9uRXZlbnQqPihpbXBsKCkpOwor
ICAgIGltcC0+aW5pdERldmljZU9yaWVudGF0aW9uRXZlbnQodHlwZSwgYnViYmxlcywgY2FuY2Vs
YWJsZSwgb3JpZW50YXRpb24uZ2V0KCkpOworICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoREVWSUNFX09SSUVO
VEFUSU9OKQpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEZXZpY2VPcmllbnRh
dGlvbkV2ZW50Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOERldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwCShyZXZpc2lvbiAwKQorKysg
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9t
LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw5MCBAQAorLyoKKyAqIENvcHlyaWdodCAyMDEw
LCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIlY4RGV2aWNlT3JpZW50YXRpb25FdmVudC5oIgorCisjaWYgRU5BQkxF
KERFVklDRV9PUklFTlRBVElPTikKKworI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uLmgiCisj
aW5jbHVkZSAiVjhCaW5kaW5nLmgiCisjaW5jbHVkZSAiVjhQcm94eS5oIgorCisjaW5jbHVkZSA8
djguaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhE
ZXZpY2VPcmllbnRhdGlvbkV2ZW50OjphbHBoYUFjY2Vzc29yR2V0dGVyKHY4OjpMb2NhbDx2ODo6
U3RyaW5nPiBuYW1lLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQoreworICAgIElOQ19T
VEFUUygiRE9NLkRldmljZU9yaWVudGF0aW9uRXZlbnQuYWxwaGEuX2dldCIpOworICAgIHY4OjpI
YW5kbGU8djg6Ok9iamVjdD4gaG9sZGVyID0gaW5mby5Ib2xkZXIoKTsKKyAgICBEZXZpY2VPcmll
bnRhdGlvbkV2ZW50KiBpbXAgPSBWOERldmljZU9yaWVudGF0aW9uRXZlbnQ6OnRvTmF0aXZlKGhv
bGRlcik7CisgICAgaWYgKCFpbXAtPm9yaWVudGF0aW9uKCktPmNhblByb3ZpZGVBbHBoYSgpKQor
ICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKKyAgICByZXR1cm4gdjg6Ok51bWJlcjo6TmV3KGlt
cC0+b3JpZW50YXRpb24oKS0+YWxwaGEoKSk7Cit9CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBW
OERldmljZU9yaWVudGF0aW9uRXZlbnQ6OmJldGFBY2Nlc3NvckdldHRlcih2ODo6TG9jYWw8djg6
OlN0cmluZz4gbmFtZSwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5mbykKK3sKKyAgICBJTkNf
U1RBVFMoIkRPTS5EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmJldGEuX2dldCIpOworICAgIHY4OjpI
YW5kbGU8djg6Ok9iamVjdD4gaG9sZGVyID0gaW5mby5Ib2xkZXIoKTsKKyAgICBEZXZpY2VPcmll
bnRhdGlvbkV2ZW50KiBpbXAgPSBWOERldmljZU9yaWVudGF0aW9uRXZlbnQ6OnRvTmF0aXZlKGhv
bGRlcik7CisgICAgaWYgKCFpbXAtPm9yaWVudGF0aW9uKCktPmNhblByb3ZpZGVCZXRhKCkpCisg
ICAgICAgIHJldHVybiB2ODo6TnVsbCgpOworICAgIHJldHVybiB2ODo6TnVtYmVyOjpOZXcoaW1w
LT5vcmllbnRhdGlvbigpLT5iZXRhKCkpOworfQorCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhE
ZXZpY2VPcmllbnRhdGlvbkV2ZW50OjpnYW1tYUFjY2Vzc29yR2V0dGVyKHY4OjpMb2NhbDx2ODo6
U3RyaW5nPiBuYW1lLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQoreworICAgIElOQ19T
VEFUUygiRE9NLkRldmljZU9yaWVudGF0aW9uRXZlbnQuZ2FtbWEuX2dldCIpOworICAgIHY4OjpI
YW5kbGU8djg6Ok9iamVjdD4gaG9sZGVyID0gaW5mby5Ib2xkZXIoKTsKKyAgICBEZXZpY2VPcmll
bnRhdGlvbkV2ZW50KiBpbXAgPSBWOERldmljZU9yaWVudGF0aW9uRXZlbnQ6OnRvTmF0aXZlKGhv
bGRlcik7CisgICAgaWYgKCFpbXAtPm9yaWVudGF0aW9uKCktPmNhblByb3ZpZGVHYW1tYSgpKQor
ICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKKyAgICByZXR1cm4gdjg6Ok51bWJlcjo6TmV3KGlt
cC0+b3JpZW50YXRpb24oKS0+Z2FtbWEoKSk7Cit9CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBW
OERldmljZU9yaWVudGF0aW9uRXZlbnQ6OmluaXREZXZpY2VPcmllbnRhdGlvbkV2ZW50Q2FsbGJh
Y2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKK3sKKyAgICBEZXZpY2VPcmllbnRhdGlvbkV2
ZW50KiBpbXAgPSBWOERldmljZU9yaWVudGF0aW9uRXZlbnQ6OnRvTmF0aXZlKGFyZ3MuSG9sZGVy
KCkpOworICAgIFY4UGFyYW1ldGVyPD4gdHlwZSA9IGFyZ3NbMF07CisgICAgYm9vbCBidWJibGVz
ID0gYXJnc1sxXS0+Qm9vbGVhblZhbHVlKCk7CisgICAgYm9vbCBjYW5jZWxhYmxlID0gYXJnc1sy
XS0+Qm9vbGVhblZhbHVlKCk7CisgICAgLy8gSWYgYWxwaGEsIGJldGEgb3IgZ2FtbWEgYXJlIG51
bGwgb3IgdW5kZWZpbmVkLCBtYXJrIHRoZW0gYXMgbm90IHByb3ZpZGVkLgorICAgIC8vIE90aGVy
d2lzZSwgdXNlIHRoZSBzdGFuZGFyZCBKYXZhU2NyaXB0IGNvbnZlcnNpb24uCisgICAgYm9vbCBh
bHBoYVByb3ZpZGVkID0gIWlzVW5kZWZpbmVkT3JOdWxsKGFyZ3NbM10pOworICAgIGRvdWJsZSBh
bHBoYSA9IHN0YXRpY19jYXN0PGRvdWJsZT4oYXJnc1szXS0+TnVtYmVyVmFsdWUoKSk7CisgICAg
Ym9vbCBiZXRhUHJvdmlkZWQgPSAhaXNVbmRlZmluZWRPck51bGwoYXJnc1s0XSk7CisgICAgZG91
YmxlIGJldGEgPSBzdGF0aWNfY2FzdDxkb3VibGU+KGFyZ3NbNF0tPk51bWJlclZhbHVlKCkpOwor
ICAgIGJvb2wgZ2FtbWFQcm92aWRlZCA9ICFpc1VuZGVmaW5lZE9yTnVsbChhcmdzWzVdKTsKKyAg
ICBkb3VibGUgZ2FtbWEgPSBzdGF0aWNfY2FzdDxkb3VibGU+KGFyZ3NbNV0tPk51bWJlclZhbHVl
KCkpOworICAgIFJlZlB0cjxEZXZpY2VPcmllbnRhdGlvbj4gb3JpZW50YXRpb24gPSBEZXZpY2VP
cmllbnRhdGlvbjo6Y3JlYXRlKGFscGhhUHJvdmlkZWQsIGFscGhhLCBiZXRhUHJvdmlkZWQsIGJl
dGEsIGdhbW1hUHJvdmlkZWQsIGdhbW1hKTsKKyAgICBpbXAtPmluaXREZXZpY2VPcmllbnRhdGlv
bkV2ZW50KHR5cGUsIGJ1YmJsZXMsIGNhbmNlbGFibGUsIG9yaWVudGF0aW9uLmdldCgpKTsKKyAg
ICByZXR1cm4gdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCkluZGV4OiBXZWJD
b3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0Rl
dmljZU9yaWVudGF0aW9uLmgJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2RvbS9EZXZpY2VPcmll
bnRhdGlvbi5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDc2IEBACisvKgorICogQ29weXJpZ2h0
IDIwMTAsIFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBgYEFTIElT
JycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIERl
dmljZU9yaWVudGF0aW9uX2gKKyNkZWZpbmUgRGV2aWNlT3JpZW50YXRpb25faAorCisjaW5jbHVk
ZSAiUmVmQ291bnRlZC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERldmljZU9y
aWVudGF0aW9uIDogcHVibGljIFJlZkNvdW50ZWQ8RGV2aWNlT3JpZW50YXRpb24+IHsKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxEZXZpY2VPcmllbnRhdGlvbj4gY3JlYXRlKCkKKyAg
ICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgRGV2aWNlT3JpZW50YXRpb24pOworICAg
IH0KKworICAgIHN0YXRpYyBQYXNzUmVmUHRyPERldmljZU9yaWVudGF0aW9uPiBjcmVhdGUoYm9v
bCBjYW5Qcm92aWRlQWxwaGEsIGRvdWJsZSBhbHBoYSwgYm9vbCBjYW5Qcm92aWRlQmV0YSwgZG91
YmxlIGJldGEsIGJvb2wgY2FuUHJvdmlkZUdhbW1hLCBkb3VibGUgZ2FtbWEpCisgICAgeworICAg
ICAgICByZXR1cm4gYWRvcHRSZWYobmV3IERldmljZU9yaWVudGF0aW9uKGNhblByb3ZpZGVBbHBo
YSwgYWxwaGEsIGNhblByb3ZpZGVCZXRhLCBiZXRhLCBjYW5Qcm92aWRlR2FtbWEsIGdhbW1hKSk7
CisgICAgfQorCisgICAgYm9vbCBjYW5Qcm92aWRlQWxwaGEoKSBjb25zdCB7IHJldHVybiBtX2Nh
blByb3ZpZGVBbHBoYTsgfQorICAgIGRvdWJsZSBhbHBoYSgpIGNvbnN0IHsgcmV0dXJuIG1fYWxw
aGE7IH0KKyAgICBib29sIGNhblByb3ZpZGVCZXRhKCkgY29uc3QgeyByZXR1cm4gbV9jYW5Qcm92
aWRlQmV0YTsgfQorICAgIGRvdWJsZSBiZXRhKCkgY29uc3QgeyByZXR1cm4gbV9iZXRhOyB9Cisg
ICAgYm9vbCBjYW5Qcm92aWRlR2FtbWEoKSBjb25zdCB7IHJldHVybiBtX2NhblByb3ZpZGVHYW1t
YTsgfQorICAgIGRvdWJsZSBnYW1tYSgpIGNvbnN0IHsgcmV0dXJuIG1fZ2FtbWE7IH0KKworcHJp
dmF0ZToKKyAgICBEZXZpY2VPcmllbnRhdGlvbigpCisgICAgICAgIDogbV9jYW5Qcm92aWRlQWxw
aGEoZmFsc2UpCisgICAgICAgICwgbV9jYW5Qcm92aWRlQmV0YShmYWxzZSkKKyAgICAgICAgLCBt
X2NhblByb3ZpZGVHYW1tYShmYWxzZSkge30KKworICAgIERldmljZU9yaWVudGF0aW9uKGJvb2wg
Y2FuUHJvdmlkZUFscGhhLCBkb3VibGUgYWxwaGEsIGJvb2wgY2FuUHJvdmlkZUJldGEsIGRvdWJs
ZSBiZXRhLCBib29sIGNhblByb3ZpZGVHYW1tYSwgZG91YmxlIGdhbW1hKQorICAgICAgICA6IG1f
Y2FuUHJvdmlkZUFscGhhKGNhblByb3ZpZGVBbHBoYSkKKyAgICAgICAgLCBtX2FscGhhKGFscGhh
KQorICAgICAgICAsIG1fY2FuUHJvdmlkZUJldGEoY2FuUHJvdmlkZUJldGEpCisgICAgICAgICwg
bV9iZXRhKGJldGEpCisgICAgICAgICwgbV9jYW5Qcm92aWRlR2FtbWEoY2FuUHJvdmlkZUdhbW1h
KQorICAgICAgICAsIG1fZ2FtbWEoZ2FtbWEpIHt9CisKKyAgICBib29sIG1fY2FuUHJvdmlkZUFs
cGhhOworICAgIGRvdWJsZSBtX2FscGhhOworICAgIGJvb2wgbV9jYW5Qcm92aWRlQmV0YTsKKyAg
ICBkb3VibGUgbV9iZXRhOworICAgIGJvb2wgbV9jYW5Qcm92aWRlR2FtbWE7CisgICAgZG91Ymxl
IG1fZ2FtbWE7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBEZXZp
Y2VPcmllbnRhdGlvbl9oCkluZGV4OiBXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmNw
cAkocmV2aXNpb24gNjI2NjgpCisrKyBXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYsMzUgKzI2LDMwIEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25FdmVudC5oIgogCisjaW5jbHVkZSAiRGV2
aWNlT3JpZW50YXRpb24uaCIKKwogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogRGV2aWNlT3JpZW50YXRpb25FdmVudDo6RGV2aWNlT3JpZW50
YXRpb25FdmVudCgpCi0gICAgOiBtX2FscGhhKDApCi0gICAgLCBtX2JldGEoMCkKLSAgICAsIG1f
Z2FtbWEoMCkKKyAgICA6IG1fb3JpZW50YXRpb24oRGV2aWNlT3JpZW50YXRpb246OmNyZWF0ZSgp
KQogewogfQogCi1EZXZpY2VPcmllbnRhdGlvbkV2ZW50OjpEZXZpY2VPcmllbnRhdGlvbkV2ZW50
KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBkb3VibGUgYWxwaGEsIGRvdWJsZSBiZXRh
LCBkb3VibGUgZ2FtbWEpCitEZXZpY2VPcmllbnRhdGlvbkV2ZW50OjpEZXZpY2VPcmllbnRhdGlv
bkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBEZXZpY2VPcmllbnRhdGlvbiog
b3JpZW50YXRpb24pCiAgICAgOiBFdmVudChldmVudFR5cGUsIGZhbHNlLCBmYWxzZSkgLy8gQ2Fu
J3QgYnViYmxlLCBub3QgY2FuY2VsYWJsZQotICAgICwgbV9hbHBoYShhbHBoYSkKLSAgICAsIG1f
YmV0YShiZXRhKQotICAgICwgbV9nYW1tYShnYW1tYSkKKyAgICAsIG1fb3JpZW50YXRpb24ob3Jp
ZW50YXRpb24pCiB7CiB9CiAKLXZvaWQgRGV2aWNlT3JpZW50YXRpb25FdmVudDo6aW5pdERldmlj
ZU9yaWVudGF0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIGJvb2wgY2Fu
QnViYmxlLCBib29sIGNhbmNlbGFibGUsIGRvdWJsZSBhbHBoYSwgZG91YmxlIGJldGEsIGRvdWJs
ZSBnYW1tYSkKK3ZvaWQgRGV2aWNlT3JpZW50YXRpb25FdmVudDo6aW5pdERldmljZU9yaWVudGF0
aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGJ1YmJsZXMsIGJvb2wgY2Fu
Y2VsYWJsZSwgRGV2aWNlT3JpZW50YXRpb24qIG9yaWVudGF0aW9uKQogewogICAgIGlmIChkaXNw
YXRjaGVkKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGluaXRFdmVudChldmVudFR5cGUsIGNh
bkJ1YmJsZSwgY2FuY2VsYWJsZSk7Ci0KLSAgICBtX2FscGhhID0gYWxwaGE7Ci0gICAgbV9iZXRh
ID0gYmV0YTsKLSAgICBtX2dhbW1hID0gZ2FtbWE7CisgICAgaW5pdEV2ZW50KHR5cGUsIGJ1YmJs
ZXMsIGNhbmNlbGFibGUpOworICAgIG1fb3JpZW50YXRpb24gPSBvcmllbnRhdGlvbjsKIH0KIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRp
b25FdmVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZl
bnQuaAkocmV2aXNpb24gNjI2NjgpCisrKyBXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkV2
ZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDMxICszMSwzMCBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKK2NsYXNzIERldmljZU9yaWVudGF0aW9uOworCiBjbGFzcyBEZXZpY2VPcmllbnRh
dGlvbkV2ZW50IDogcHVibGljIEV2ZW50IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0
cjxEZXZpY2VPcmllbnRhdGlvbkV2ZW50PiBjcmVhdGUoKQogICAgIHsKICAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKG5ldyBEZXZpY2VPcmllbnRhdGlvbkV2ZW50KTsKICAgICB9Ci0gICAgc3RhdGlj
IFBhc3NSZWZQdHI8RGV2aWNlT3JpZW50YXRpb25FdmVudD4gY3JlYXRlKGNvbnN0IEF0b21pY1N0
cmluZyYgZXZlbnRUeXBlLCBkb3VibGUgYWxwaGEsIGRvdWJsZSBiZXRhLCBkb3VibGUgZ2FtbWEp
CisgICAgc3RhdGljIFBhc3NSZWZQdHI8RGV2aWNlT3JpZW50YXRpb25FdmVudD4gY3JlYXRlKGNv
bnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBEZXZpY2VPcmllbnRhdGlvbiogb3JpZW50YXRp
b24pCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IERldmljZU9yaWVudGF0aW9u
RXZlbnQoZXZlbnRUeXBlLCBhbHBoYSwgYmV0YSwgZ2FtbWEpKTsKKyAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBEZXZpY2VPcmllbnRhdGlvbkV2ZW50KGV2ZW50VHlwZSwgb3JpZW50YXRpb24p
KTsKICAgICB9CiAKLSAgICB2b2lkIGluaXREZXZpY2VPcmllbnRhdGlvbkV2ZW50KGNvbnN0IEF0
b21pY1N0cmluZyYgZXZlbnRUeXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBk
b3VibGUgYWxwaGEsIGRvdWJsZSBiZXRhLCBkb3VibGUgZ2FtbWEpOwotICAgIGRvdWJsZSBhbHBo
YSgpIGNvbnN0IHsgcmV0dXJuIG1fYWxwaGE7IH0KLSAgICBkb3VibGUgYmV0YSgpIGNvbnN0IHsg
cmV0dXJuIG1fYmV0YTsgfQotICAgIGRvdWJsZSBnYW1tYSgpIGNvbnN0IHsgcmV0dXJuIG1fZ2Ft
bWE7IH0KKyAgICB2b2lkIGluaXREZXZpY2VPcmllbnRhdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0
cmluZyYgdHlwZSwgYm9vbCBidWJibGVzLCBib29sIGNhbmNlbGFibGUsIERldmljZU9yaWVudGF0
aW9uKik7CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNEZXZpY2VPcmllbnRhdGlvbkV2ZW50KCkgY29u
c3QgeyByZXR1cm4gdHJ1ZTsgfQogCisgICAgRGV2aWNlT3JpZW50YXRpb24qIG9yaWVudGF0aW9u
KCkgY29uc3QgeyByZXR1cm4gbV9vcmllbnRhdGlvbi5nZXQoKTsgfQorCiBwcml2YXRlOgogICAg
IERldmljZU9yaWVudGF0aW9uRXZlbnQoKTsKLSAgICBEZXZpY2VPcmllbnRhdGlvbkV2ZW50KGNv
bnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBkb3VibGUgYWxwaGEsIGRvdWJsZSBiZXRhLCBk
b3VibGUgZ2FtbWEpOworICAgIERldmljZU9yaWVudGF0aW9uRXZlbnQoY29uc3QgQXRvbWljU3Ry
aW5nJiBldmVudFR5cGUsIERldmljZU9yaWVudGF0aW9uKik7CiAKLSAgICBkb3VibGUgbV9hbHBo
YTsKLSAgICBkb3VibGUgbV9iZXRhOwotICAgIGRvdWJsZSBtX2dhbW1hOworICAgIFJlZlB0cjxE
ZXZpY2VPcmllbnRhdGlvbj4gbV9vcmllbnRhdGlvbjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKSW5kZXg6IFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuaWRsCShyZXZpc2lv
biA2MjY2OCkKKysrIFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yOCwxMCArMjgsMTAgQEAgbW9kdWxlIGNvcmUgewogICAgIGludGVyZmFj
ZSBbCiAgICAgICAgIENvbmRpdGlvbmFsPURFVklDRV9PUklFTlRBVElPTgogICAgIF0gRGV2aWNl
T3JpZW50YXRpb25FdmVudCA6IEV2ZW50IHsKLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRv
dWJsZSBhbHBoYTsKLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBiZXRhOwotICAg
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIGdhbW1hOwotICAgICAgICB2b2lkIGluaXRE
ZXZpY2VPcmllbnRhdGlvbkV2ZW50KGluIERPTVN0cmluZyB0eXBlQXJnLCBpbiBib29sZWFuIGNh
bkJ1YmJsZUFyZywgaW4gYm9vbGVhbiBjYW5jZWxhYmxlQXJnLCBpbiBkb3VibGUgYWxwaGEsIGlu
IGRvdWJsZSBiZXRhLCBpbiBkb3VibGUgZ2FtbWEpOworICAgICAgICByZWFkb25seSBhdHRyaWJ1
dGUgW0N1c3RvbV0gZG91YmxlIGFscGhhOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0N1
c3RvbV0gZG91YmxlIGJldGE7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbQ3VzdG9tXSBk
b3VibGUgZ2FtbWE7CisgICAgICAgIFtDdXN0b21dIHZvaWQgaW5pdERldmljZU9yaWVudGF0aW9u
RXZlbnQoaW4gRE9NU3RyaW5nIHR5cGUsIGluIGJvb2xlYW4gYnViYmxlcywgaW4gYm9vbGVhbiBj
YW5jZWxhYmxlLCBpbiBkb3VibGUgYWxwaGEsIGluIGRvdWJsZSBiZXRhLCBpbiBkb3VibGUgZ2Ft
bWEpOwogICAgIH07CiAKIH0KSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDYyNjgxKQorKysgTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTAtMDctMDcg
IFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERldmljZU9yaWVudGF0aW9uRXZlbnQgc2hv
dWxkIHVzZSBvcHRpb25hbCBwcm9wZXJ0aWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00MTYwNworCisgICAgICAgICogZmFzdC9kb20vRGV2aWNlT3Jp
ZW50YXRpb24vb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZG9tL0RldmljZU9yaWVudGF0aW9uL29wdGlvbmFsLWV2ZW50LXByb3Bl
cnRpZXMuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vRGV2aWNlT3JpZW50YXRpb24v
c2NyaXB0LXRlc3RzL29wdGlvbmFsLWV2ZW50LXByb3BlcnRpZXMuanM6IEFkZGVkLgorCiAyMDEw
LTA3LTA3ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgU2FtIFdlaW5pZy4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU9yaWVu
dGF0aW9uL29wdGlvbmFsLWV2ZW50LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU9yaWVudGF0aW9uL29wdGlvbmFsLWV2ZW50
LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFz
dC9kb20vRGV2aWNlT3JpZW50YXRpb24vb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzAgQEAKK1Rlc3RzIHRoZSBvcHRpb25hbCBw
cm9wZXJ0aWVzIG9mIERldmljZU9yaWVudGF0aW9uRXZlbnQuIEVhY2ggcHJvcGVydHkgc2hvdWxk
IGJlIG51bGwgaWYgbm90IHNldCwgb3Igc2V0IHRvIG51bGwgb3IgdW5kZWZpbmVkLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBldmVudC5hbHBoYSA9PSBudWxsIGlzIHRy
dWUKK1BBU1MgZXZlbnQuYmV0YSA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQuZ2FtbWEgPT0g
bnVsbCBpcyB0cnVlCitQQVNTIGV2ZW50LmFscGhhID09IDAgaXMgdHJ1ZQorUEFTUyBldmVudC5i
ZXRhID09IDEgaXMgdHJ1ZQorUEFTUyBldmVudC5nYW1tYSA9PSAyIGlzIHRydWUKK1BBU1MgZXZl
bnQuYWxwaGEgPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2ZW50LmJldGEgPT0gbnVsbCBpcyB0cnVl
CitQQVNTIGV2ZW50LmdhbW1hID09IG51bGwgaXMgdHJ1ZQorUEFTUyBldmVudC5hbHBoYSA9PSAw
IGlzIHRydWUKK1BBU1MgZXZlbnQuYmV0YSA9PSAwIGlzIHRydWUKK1BBU1MgZXZlbnQuZ2FtbWEg
PT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50LmFscGhhID09IG51bGwgaXMgdHJ1ZQorUEFTUyBldmVu
dC5iZXRhID09IG51bGwgaXMgdHJ1ZQorUEFTUyBldmVudC5nYW1tYSA9PSBudWxsIGlzIHRydWUK
K1BBU1MgZXZlbnQuYWxwaGEgPT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50LmJldGEgPT0gMCBpcyB0
cnVlCitQQVNTIGV2ZW50LmdhbW1hID09IDAgaXMgdHJ1ZQorUEFTUyBldmVudC5hbHBoYSA9PSBu
dWxsIGlzIHRydWUKK1BBU1MgZXZlbnQuYmV0YSA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQu
Z2FtbWEgPT0gbnVsbCBpcyB0cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlT3JpZW50
YXRpb24vb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3QvZG9tL0RldmljZU9yaWVudGF0aW9uL29wdGlvbmFsLWV2ZW50LXByb3BlcnRp
ZXMuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU9yaWVu
dGF0aW9uL29wdGlvbmFsLWV2ZW50LXByb3BlcnRpZXMuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSwxMiBAQAorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0i
Li4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdCBzcmM9InNjcmlwdC10ZXN0cy9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0Rl
dmljZU9yaWVudGF0aW9uL3NjcmlwdC10ZXN0cy9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU9yaWVudGF0aW9uL3Nj
cmlwdC10ZXN0cy9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmpzCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlT3JpZW50YXRpb24vc2NyaXB0LXRlc3RzL29wdGlv
bmFsLWV2ZW50LXByb3BlcnRpZXMuanMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDUgQEAKK2Rl
c2NyaXB0aW9uKCJUZXN0cyB0aGUgb3B0aW9uYWwgcHJvcGVydGllcyBvZiBEZXZpY2VPcmllbnRh
dGlvbkV2ZW50LiBFYWNoIHByb3BlcnR5IHNob3VsZCBiZSBudWxsIGlmIG5vdCBzZXQsIG9yIHNl
dCB0byBudWxsIG9yIHVuZGVmaW5lZC4iKTsKKwordmFyIGV2ZW50ID0gZG9jdW1lbnQuY3JlYXRl
RXZlbnQoJ0RldmljZU9yaWVudGF0aW9uRXZlbnQnKTsKKworc2hvdWxkQmVUcnVlKCJldmVudC5h
bHBoYSA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50LmJldGEgPT0gbnVsbCIpOworc2hv
dWxkQmVUcnVlKCJldmVudC5nYW1tYSA9PSBudWxsIik7CisKK2V2ZW50LmluaXREZXZpY2VPcmll
bnRhdGlvbkV2ZW50KCIiLCBmYWxzZSwgZmFsc2UsIDAsIDEsIDIpOworCitzaG91bGRCZVRydWUo
ImV2ZW50LmFscGhhID09IDAiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuYmV0YSA9PSAxIik7Citz
aG91bGRCZVRydWUoImV2ZW50LmdhbW1hID09IDIiKTsKKworZXZlbnQuaW5pdERldmljZU9yaWVu
dGF0aW9uRXZlbnQoKTsKKworc2hvdWxkQmVUcnVlKCJldmVudC5hbHBoYSA9PSBudWxsIik7Citz
aG91bGRCZVRydWUoImV2ZW50LmJldGEgPT0gbnVsbCIpOworc2hvdWxkQmVUcnVlKCJldmVudC5n
YW1tYSA9PSBudWxsIik7CisKK2V2ZW50LmluaXREZXZpY2VPcmllbnRhdGlvbkV2ZW50KCIiLCBm
YWxzZSwgZmFsc2UsIFtdLCBbXSwgW10pOworCitzaG91bGRCZVRydWUoImV2ZW50LmFscGhhID09
IDAiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuYmV0YSA9PSAwIik7CitzaG91bGRCZVRydWUoImV2
ZW50LmdhbW1hID09IDAiKTsKKworZXZlbnQuaW5pdERldmljZU9yaWVudGF0aW9uRXZlbnQoIiIs
IGZhbHNlLCBmYWxzZSwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCk7CisKK3Nob3Vs
ZEJlVHJ1ZSgiZXZlbnQuYWxwaGEgPT0gbnVsbCIpOworc2hvdWxkQmVUcnVlKCJldmVudC5iZXRh
ID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuZ2FtbWEgPT0gbnVsbCIpOworCitldmVu
dC5pbml0RGV2aWNlT3JpZW50YXRpb25FdmVudCgiIiwgZmFsc2UsIGZhbHNlLCAiIiwgIiIsICIi
KTsKKworc2hvdWxkQmVUcnVlKCJldmVudC5hbHBoYSA9PSAwIik7CitzaG91bGRCZVRydWUoImV2
ZW50LmJldGEgPT0gMCIpOworc2hvdWxkQmVUcnVlKCJldmVudC5nYW1tYSA9PSAwIik7CisKK2V2
ZW50LmluaXREZXZpY2VPcmllbnRhdGlvbkV2ZW50KCIiLCBmYWxzZSwgZmFsc2UsIG51bGwsIG51
bGwsIG51bGwpOworCitzaG91bGRCZVRydWUoImV2ZW50LmFscGhhID09IG51bGwiKTsKK3Nob3Vs
ZEJlVHJ1ZSgiZXZlbnQuYmV0YSA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50LmdhbW1h
ID09IG51bGwiKTsKKword2luZG93LnN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>60756</attachid>
            <date>2010-07-07 11:08:57 -0700</date>
            <delta_ts>2010-07-12 04:20:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-41607-20100707190854.patch</filename>
            <type>text/plain</type>
            <size>34937</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MjY4MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNTIgQEAKKzIwMTAtMDctMDcgIFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IERldmljZU9yaWVudGF0aW9uRXZlbnQgc2hvdWxkIHVzZSBvcHRpb25hbCBwcm9wZXJ0aWVzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MTYwNworCisg
ICAgICAgIFRoaXMgY2hhbmdlIGFkZHMgYSBuZXcgRGV2aWNlT3JpZW50YXRpb24gY2xhc3Mgd2hp
Y2ggdGFrZXMgY2FyZSBvZiB3aGljaCBvZiB0aGUKKyAgICAgICAgb3B0aW9uYWwgcHJvcGVydGll
cyBhcmUgcHJlc2VudC4gRGV2aWNlT3JpZW50YXRpb25FdmVudCBvd25zIGFuIGluc3RhbmNlIG9m
CisgICAgICAgIERldmljZU9yaWVudGF0aW9uLCByYXRoZXIgdGhhbiBvd25pbmcgdGhlIHByb3Bl
cnRpZXMgZGlyZWN0bHkuCisgICAgICAgIERldmljZU9yaWVudGF0aW9uRXZlbnQgbm93IHJlcXVp
cmVzIGN1c3RvbSBiaW5kaW5ncy4KKworICAgICAgICBUZXN0OiBmYXN0L2RvbS9EZXZpY2VPcmll
bnRhdGlvbi9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmh0bWwKKworICAgICAgICAqIEFuZHJv
aWQuanNjYmluZGluZ3MubWs6CisgICAgICAgICogQW5kcm9pZC52OGJpbmRpbmdzLm1rOgorICAg
ICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAg
ICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNEZXZpY2VPcmllbnRhdGlv
bkV2ZW50Q3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpKU0RldmljZU9yaWVu
dGF0aW9uRXZlbnQ6OmFscGhhKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRGV2aWNlT3JpZW50YXRp
b25FdmVudDo6YmV0YSk6CisgICAgICAgIChXZWJDb3JlOjpKU0RldmljZU9yaWVudGF0aW9uRXZl
bnQ6OmdhbW1hKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRGV2aWNlT3JpZW50YXRpb25FdmVudDo6
aW5pdERldmljZU9yaWVudGF0aW9uRXZlbnQpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3Rv
bS9WOERldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OlY4RGV2aWNlT3JpZW50YXRpb25FdmVudDo6YWxwaGFBY2Nlc3NvckdldHRlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpWOERldmljZU9yaWVudGF0aW9uRXZlbnQ6OmJldGFBY2Nlc3Nvckdl
dHRlcik6CisgICAgICAgIChXZWJDb3JlOjpWOERldmljZU9yaWVudGF0aW9uRXZlbnQ6OmdhbW1h
QWNjZXNzb3JHZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VjhEZXZpY2VPcmllbnRhdGlvbkV2
ZW50Ojppbml0RGV2aWNlT3JpZW50YXRpb25FdmVudENhbGxiYWNrKToKKyAgICAgICAgKiBkb20v
RGV2aWNlT3JpZW50YXRpb24uaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmll
bnRhdGlvbjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uOjpj
YW5Qcm92aWRlQWxwaGEpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb246OmFs
cGhhKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uOjpjYW5Qcm92aWRlQmV0
YSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbjo6YmV0YSk6CisgICAgICAg
IChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbjo6Y2FuUHJvdmlkZUdhbW1hKToKKyAgICAgICAg
KFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uOjpnYW1tYSk6CisgICAgICAgIChXZWJDb3JlOjpE
ZXZpY2VPcmllbnRhdGlvbjo6RGV2aWNlT3JpZW50YXRpb24pOgorICAgICAgICAqIGRvbS9EZXZp
Y2VPcmllbnRhdGlvbkV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0
aW9uRXZlbnQ6OkRldmljZU9yaWVudGF0aW9uRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6RGV2
aWNlT3JpZW50YXRpb25FdmVudDo6aW5pdERldmljZU9yaWVudGF0aW9uRXZlbnQpOgorICAgICAg
ICAqIGRvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpEZXZp
Y2VPcmllbnRhdGlvbkV2ZW50OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3Jp
ZW50YXRpb25FdmVudDo6b3JpZW50YXRpb24pOgorICAgICAgICAqIGRvbS9EZXZpY2VPcmllbnRh
dGlvbkV2ZW50LmlkbDoKKwogMjAxMC0wNy0wNyAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQu
b3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQuCkluZGV4OiBXZWJDb3JlL0FuZHJvaWQuanNjYmlu
ZGluZ3MubWsKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9BbmRyb2lkLmpzY2JpbmRpbmdzLm1rCShy
ZXZpc2lvbiA2MjY2OCkKKysrIFdlYkNvcmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5tawkod29ya2lu
ZyBjb3B5KQpAQCAtNzksMTkgKzc5LDIwIEBAIExPQ0FMX1NSQ19GSUxFUyArPSBcCiAJYmluZGlu
Z3MvanMvSlNDdXN0b21TUUxUcmFuc2FjdGlvbkNhbGxiYWNrLmNwcCBcCiAJYmluZGluZ3MvanMv
SlNDdXN0b21TUUxUcmFuc2FjdGlvbkVycm9yQ2FsbGJhY2suY3BwIFwKIAliaW5kaW5ncy9qcy9K
U0N1c3RvbVZvaWRDYWxsYmFjay5jcHAgXAotCWJpbmRpbmdzL2pzL0pTRGF0YWJhc2VDYWxsYmFj
ay5jcHAgXAotCWJpbmRpbmdzL2pzL0pTRGVza3RvcE5vdGlmaWNhdGlvbnNDdXN0b20uY3BwIFwK
IAliaW5kaW5ncy9qcy9KU0RPTUFwcGxpY2F0aW9uQ2FjaGVDdXN0b20uY3BwIFwKIAliaW5kaW5n
cy9qcy9KU0RPTUJpbmRpbmcuY3BwIFwKLSAgYmluZGluZ3MvanMvSlNET01Gb3JtRGF0YUN1c3Rv
bS5jcHAgXAorCWJpbmRpbmdzL2pzL0pTRE9NRm9ybURhdGFDdXN0b20uY3BwIFwKIAliaW5kaW5n
cy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAgXAogCWJpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFz
ZS5jcHAgXAogCWJpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcCBcCiAJYmluZGluZ3Mv
anMvSlNET01XaW5kb3dTaGVsbC5jcHAgXAorCWJpbmRpbmdzL2pzL0pTRGF0YWJhc2VDYWxsYmFj
ay5jcHAgXAogCWJpbmRpbmdzL2pzL0pTRGF0YUdyaWRDb2x1bW5MaXN0Q3VzdG9tLmNwcCBcCiAJ
YmluZGluZ3MvanMvSlNEYXRhR3JpZERhdGFTb3VyY2UuY3BwIFwKIAliaW5kaW5ncy9qcy9KU0Rh
dGFiYXNlQ3VzdG9tLmNwcCBcCiAJYmluZGluZ3MvanMvSlNEZWRpY2F0ZWRXb3JrZXJDb250ZXh0
Q3VzdG9tLmNwcCBcCisJYmluZGluZ3MvanMvSlNEZXNrdG9wTm90aWZpY2F0aW9uc0N1c3RvbS5j
cHAgXAorCWJpbmRpbmdzL2pzL0pTRGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAgXAog
CWJpbmRpbmdzL2pzL0pTRG9jdW1lbnRDdXN0b20uY3BwIFwKIAliaW5kaW5ncy9qcy9KU0VsZW1l
bnRDdXN0b20uY3BwIFwKIAliaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcCBcCkluZGV4OiBX
ZWJDb3JlL0FuZHJvaWQudjhiaW5kaW5ncy5tawo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0FuZHJv
aWQudjhiaW5kaW5ncy5tawkocmV2aXNpb24gNjI2NjgpCisrKyBXZWJDb3JlL0FuZHJvaWQudjhi
aW5kaW5ncy5tawkod29ya2luZyBjb3B5KQpAQCAtMTA3LDYgKzEwNyw3IEBAIExPQ0FMX1NSQ19G
SUxFUyArPSBcCiAJYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGF0YWJhc2VDYWxsYmFjay5jcHAgXAog
CWJpbmRpbmdzL3Y4L2N1c3RvbS9WOERhdGFiYXNlQ3VzdG9tLmNwcCBcCiAJYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4RGVkaWNhdGVkV29ya2VyQ29udGV4dEN1c3RvbS5jcHAgXAorCWJpbmRpbmdzL3Y4
L2N1c3RvbS9WOERldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwIFwKIAliaW5kaW5ncy92
OC9jdXN0b20vVjhEb2N1bWVudEN1c3RvbS5jcHAgXAogCWJpbmRpbmdzL3Y4L2N1c3RvbS9WOERv
Y3VtZW50TG9jYXRpb25DdXN0b20uY3BwIFwKIAliaW5kaW5ncy92OC9jdXN0b20vVjhFbGVtZW50
Q3VzdG9tLmNwcCBcCkluZGV4OiBXZWJDb3JlL0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDYyNjY4KQorKysgV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNTgwLDYgKzU4MCw3IEBAIFNFVChXZWJDb3Jl
X1NPVVJDRVMKICAgICBiaW5kaW5ncy9qcy9KU0RhdGFHcmlkRGF0YVNvdXJjZS5jcHAKICAgICBi
aW5kaW5ncy9qcy9KU0RlYnVnV3JhcHBlclNldC5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0RlZGlj
YXRlZFdvcmtlckNvbnRleHRDdXN0b20uY3BwCisgICAgYmluZGluZ3MvanMvSlNEZXZpY2VPcmll
bnRhdGlvbkV2ZW50Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTRG9jdW1lbnRDdXN0b20u
Y3BwCiAgICAgYmluZGluZ3MvanMvSlNET01BcHBsaWNhdGlvbkNhY2hlQ3VzdG9tLmNwcAogICAg
IGJpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAKSW5kZXg6IFdlYkNvcmUvR05VbWFrZWZpbGUu
YW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkocmV2aXNpb24gNjI2Njgp
CisrKyBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC00NDYsNiArNDQ2
LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2lu
ZG93U2hlbGwuaCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXIuY3BwIFwKIAlX
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5oIFwKKwlXZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3Mv
anMvSlNEb2N1bWVudEN1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNFbGVtZW50
Q3VzdG9tLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcCBcCkBA
IC03OTUsNiArNzk2LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2RvbS9EYXRh
c2V0RE9NU3RyaW5nTWFwLmggXAogCVdlYkNvcmUvZG9tL0RlY29kZWREYXRhRG9jdW1lbnRQYXJz
ZXIuY3BwIFwKIAlXZWJDb3JlL2RvbS9EZWNvZGVkRGF0YURvY3VtZW50UGFyc2VyLmggXAorCVdl
YkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uLmggXAogCVdlYkNvcmUvZG9tL0RldmljZU9yaWVu
dGF0aW9uQ2xpZW50LmggXAogCVdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxl
ci5jcHAgXAogCVdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5oIFwKSW5k
ZXg6IFdlYkNvcmUvV2ViQ29yZS5neXBpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5n
eXBpCShyZXZpc2lvbiA2MjY2OCkKKysrIFdlYkNvcmUvV2ViQ29yZS5neXBpCSh3b3JraW5nIGNv
cHkpCkBAIC01NDEsNiArNTQxLDcgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0RlZGlj
YXRlZFdvcmtlckNvbnRleHRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9K
U0RlYnVnV3JhcHBlclNldC5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRGVidWdX
cmFwcGVyU2V0LmgnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRGV2aWNlT3JpZW50YXRp
b25FdmVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRG9jdW1lbnRD
dXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0RPTUFwcGxpY2F0aW9uQ2Fj
aGVDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3Bw
JywKQEAgLTczMyw2ICs3MzQsNyBAQAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OERhdGFiYXNlU3luY0N1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOERhdGFHcmlkQ29sdW1uTGlzdEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOERlZGljYXRlZFdvcmtlckNvbnRleHRDdXN0b20uY3BwJywKKyAgICAgICAg
ICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNw
cCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RG9jdW1lbnRMb2NhdGlvbkN1
c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTUZvcm1EYXRh
Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93
Q3VzdG9tLmNwcCcsCkBAIC0xMTE2LDYgKzExMTgsNyBAQAogICAgICAgICAgICAgJ2RvbS9EYXRh
c2V0RE9NU3RyaW5nTWFwLmgnLAogICAgICAgICAgICAgJ2RvbS9EZWNvZGVkRGF0YURvY3VtZW50
UGFyc2VyLmNwcCcsCiAgICAgICAgICAgICAnZG9tL0RlY29kZWREYXRhRG9jdW1lbnRQYXJzZXIu
aCcsCisgICAgICAgICAgICAnZG9tL0RldmljZU9yaWVudGF0aW9uLmgnLAogICAgICAgICAgICAg
J2RvbS9EZXZpY2VPcmllbnRhdGlvbkNsaWVudC5oJywKICAgICAgICAgICAgICdkb20vRGV2aWNl
T3JpZW50YXRpb25Db250cm9sbGVyLmNwcCcsCiAgICAgICAgICAgICAnZG9tL0RldmljZU9yaWVu
dGF0aW9uQ29udHJvbGxlci5oJywKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS5wcm8KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9XZWJDb3JlLnBybwkocmV2aXNpb24gNjI2NjgpCisrKyBXZWJDb3JlL1dl
YkNvcmUucHJvCSh3b3JraW5nIGNvcHkpCkBAIC0yOTgsNiArMjk4LDcgQEAgU09VUkNFUyArPSBc
CiAgICAgYmluZGluZ3MvanMvSlNEYXRhR3JpZERhdGFTb3VyY2UuY3BwIFwKICAgICBiaW5kaW5n
cy9qcy9KU0RlYnVnV3JhcHBlclNldC5jcHAgXAogICAgIGJpbmRpbmdzL2pzL0pTRGVza3RvcE5v
dGlmaWNhdGlvbnNDdXN0b20uY3BwIFwKKyAgICBiaW5kaW5ncy9qcy9KU0RldmljZU9yaWVudGF0
aW9uRXZlbnRDdXN0b20uY3BwIFwKICAgICBiaW5kaW5ncy9qcy9KU0RvY3VtZW50Q3VzdG9tLmNw
cCBcCiAgICAgYmluZGluZ3MvanMvSlNET01Gb3JtRGF0YUN1c3RvbS5jcHAgXAogICAgIGJpbmRp
bmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcCBcCkBAIC0xMjMxLDYgKzEyMzIsNyBAQCBIRUFE
RVJTICs9IFwKICAgICBkb20vQ1NTTWFwcGVkQXR0cmlidXRlRGVjbGFyYXRpb24uaCBcCiAgICAg
ZG9tL0N1c3RvbUV2ZW50LmggXAogICAgIGRvbS9kZWZhdWx0L1BsYXRmb3JtTWVzc2FnZVBvcnRD
aGFubmVsLmggXAorICAgIGRvbS9EZXZpY2VPcmllbnRhdGlvbi5oIFwKICAgICBkb20vRGV2aWNl
T3JpZW50YXRpb25DbGllbnQuaCBcCiAgICAgZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxl
ci5oIFwKICAgICBkb20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5oIFwKSW5kZXg6IFdlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkocmV2aXNpb24gNjI2NjgpCisrKyBXZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0zMjM3Myw2ICsz
MjM3MywxMCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxkb21cRGV2aWNlT3JpZW50YXRpb24uaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJ
CQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxEZXZpY2VPcmllbnRhdGlvbkNsaWVu
dC5oIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KQEAgLTQyNjI0LDYgKzQyNjI4LDU4IEBACiAJCQkJ
CT4NCiAJCQkJPC9GaWxlPg0KIAkJCQk8RmlsZQ0KKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5k
aW5nc1xqc1xKU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwIg0KKwkJCQkJPg0KKwkJ
CQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQkJTmFtZT0iRGVidWd8V2luMzIiDQorCQkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQkJPg0KKwkJCQkJCTxUb29sDQorCQkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkJLz4NCisJCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+DQorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCQlOYW1lPSJSZWxlYXNlfFdp
bjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJCT4NCisJCQkJCQk8
VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJCS8+DQorCQkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQkJTmFt
ZT0iRGVidWdfSW50ZXJuYWx8V2luMzIiDQorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUi
DQorCQkJCQkJPg0KKwkJCQkJCTxUb29sDQorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
DQorCQkJCQkJLz4NCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24NCisJCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb3xXaW4zMiINCisJCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCQk+DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCINCisJCQkJCQkvPg0KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4N
CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm98V2lu
MzIiDQorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQkJPg0KKwkJCQkJCTxU
b29sDQorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkJLz4NCisJCQkJCTwv
RmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCQlOYW1l
PSJEZWJ1Z19BbGx8V2luMzIiDQorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJ
CQkJPg0KKwkJCQkJCTxUb29sDQorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJ
CQkJLz4NCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTwvRmlsZT4NCisJCQkJPEZp
bGUNCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNFbGVtZW50Q3VzdG9tLmNw
cCINCiAJCQkJCT4NCiAJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KSW5kZXg6IFdlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiA2MjY2OCkKKysrIFdlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0x
MTg0LDYgKzExODQsOCBAQAogCQk1NEM1MEY3QjBFODAxREYzMDA5ODMyQTAgLyogWE1MRG9jdW1l
bnRQYXJzZXJMaWJ4bWwyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDU0QzUwRjdBMEU4MDFERjMwMDk4MzJBMCAvKiBYTUxEb2N1bWVudFBhcnNlckxp
YnhtbDIuY3BwICovOyB9OwogCQk1NTBBMEJDOTA4NUY2MDM5MDA3MzUzRDYgLyogUXVhbGlmaWVk
TmFtZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
NTBBMEJDNzA4NUY2MDM5MDA3MzUzRDYgLyogUXVhbGlmaWVkTmFtZS5jcHAgKi87IH07CiAJCTU1
MEEwQkNBMDg1RjYwMzkwMDczNTNENiAvKiBRdWFsaWZpZWROYW1lLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NTBBMEJDODA4NUY2MDM5MDA3MzUzRDYg
LyogUXVhbGlmaWVkTmFtZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCTU5MEUxQjQ5MTFFNEVGNEIwMDY5Rjc4NCAvKiBEZXZpY2VPcmllbnRhdGlv
bi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTkwRTFC
NDgxMUU0RUY0QjAwNjlGNzg0IC8qIERldmljZU9yaWVudGF0aW9uLmggKi87IH07CisJCTU5MEUx
QjRCMTFFNEVGNzAwMDY5Rjc4NCAvKiBKU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTkwRTFCNEEx
MUU0RUY3MDAwNjlGNzg0IC8qIEpTRGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAgKi87
IH07CiAJCTU5MTM5NTNCMTEwNzU4NDUwMDgzRUM1NSAvKiBKTklCcmlkZ2UuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5MTM5NTNBMTEwNzU4NDUwMDgz
RUM1NSAvKiBKTklCcmlkZ2UuaCAqLzsgfTsKIAkJNTkxMzk1M0QxMTA3NTg0RTAwODNFQzU1IC8q
IEpOSUJyaWRnZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1OTEzOTUzQzExMDc1ODRFMDA4M0VDNTUgLyogSk5JQnJpZGdlLmNwcCAqLzsgfTsKIAkJ
NTk2MjI5NzgxMTMzRUZENzAwREM0Q0JCIC8qIEdlb2xvY2F0aW9uUG9zaXRpb25DYWNoZS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1OTYyMjk3NzEx
MzNFRkQ3MDBEQzRDQkIgLyogR2VvbG9jYXRpb25Qb3NpdGlvbkNhY2hlLmNwcCAqLzsgfTsKQEAg
LTY5MTksNiArNjkyMSw4IEBACiAJCTU0QzUwRjdBMEU4MDFERjMwMDk4MzJBMCAvKiBYTUxEb2N1
bWVudFBhcnNlckxpYnhtbDIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gWE1MRG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNTUwQTBCQzcwODVGNjAzOTAwNzM1M0Q2IC8qIFF1YWxpZmllZE5hbWUuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUXVhbGlm
aWVkTmFtZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1Rh
YnMgPSAwOyB9OwogCQk1NTBBMEJDODA4NUY2MDM5MDA3MzUzRDYgLyogUXVhbGlmaWVkTmFtZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRX
aWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBRdWFs
aWZpZWROYW1lLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1Rh
YnMgPSAwOyB9OworCQk1OTBFMUI0ODExRTRFRjRCMDA2OUY3ODQgLyogRGV2aWNlT3JpZW50YXRp
b24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGV2aWNlT3JpZW50YXRpb24u
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTkwRTFCNEExMUU0RUY3MDAwNjlGNzg0
IC8qIEpTRGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1OTEzOTUzQTExMDc1ODQ1MDA4M0VDNTUgLyog
Sk5JQnJpZGdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpOSUJyaWRnZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1OTEzOTUzQzExMDc1ODRFMDA4M0VDNTUg
LyogSk5JQnJpZGdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpO
SUJyaWRnZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU5NjIyOTc3MTEzM0VG
RDcwMERDNENCQiAvKiBHZW9sb2NhdGlvblBvc2l0aW9uQ2FjaGUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR2VvbG9jYXRpb25Qb3NpdGlvbkNhY2hlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE1NzIwLDYgKzE1NzI0LDcgQEAKIAkJQkM0RURF
RjcwQzA4RjQxNDAwN0VERDQ5IC8qIEN1c3RvbSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwog
CQkJY2hpbGRyZW4gPSAoCisJCQkJNTkwRTFCNEExMUU0RUY3MDAwNjlGNzg0IC8qIEpTRGV2aWNl
T3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAgKi8sCiAJCQkJQkMyNzVDQjIxMUM1RTg1QzAwQzky
MDZDIC8qIEpTQXJyYXlCdWZmZXJDdXN0b20uY3BwICovLAogCQkJCTQ5MjI3M0EyMTA4M0IzQjEw
MEVFNUM4NCAvKiBKU0FycmF5QnVmZmVyVmlld0N1c3RvbS5jcHAgKi8sCiAJCQkJODYyNDNEMDAx
MUJDMzFGNzAwQ0MwMDZBIC8qIEpTQXJyYXlCdWZmZXJWaWV3SGVscGVyLmggKi8sCkBAIC0xNjgx
MCw2ICsxNjgxNSw3IEBACiAJCUY1MjNEMzI0MDJERTQ0NzgwMTg2MzVDQSAvKiBkb20gKi8gPSB7
CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTU5MEUxQjQ4MTFFNEVG
NEIwMDY5Rjc4NCAvKiBEZXZpY2VPcmllbnRhdGlvbi5oICovLAogCQkJCUUxQzRERTZEMEVBNzVD
NjUwMDIzQ0NENiAvKiBBY3RpdmVET01PYmplY3QuY3BwICovLAogCQkJCUUxQzRERTY4MEVBNzVD
MUUwMDIzQ0NENiAvKiBBY3RpdmVET01PYmplY3QuaCAqLywKIAkJCQlBOEM0QTdGQzA5RDU2MzI3
MDAwM0FDOEQgLyogQXR0ci5jcHAgKi8sCkBAIC0xOTc2Miw2ICsxOTc2OCw3IEBACiAJCQkJOTdF
RjU2MTExMUU0MDc4MzAwN0UwMjZGIC8qIEhUTUxDb25zdHJ1Y3Rpb25TaXRlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQ0E4QzgxRTExRTNEMzY5MDA4MTJGQjcgLyogQmFja0ZvcndhcmRDb250cm9s
bGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0E4QzgzMTExRTNENTMyMDA4MTJGQjcgLyogQmFj
a0ZvcndhcmRDb250cm9sbGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk1OTBFMUI0OTEx
RTRFRjRCMDA2OUY3ODQgLyogRGV2aWNlT3JpZW50YXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJ
KTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAt
MjIxNDgsNiArMjIxNTUsNyBAQAogCQkJCUJDQThDODFGMTFFM0QzNjkwMDgxMkZCNyAvKiBCYWNr
Rm9yd2FyZENvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNEY0RjVGRkIxMUNCRDJF
MTAwQTE4NkJGIC8qIFJlbW90ZUluc3BlY3RvckZyb250ZW5kMi5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk5N0VGNTYxMDExRTQwNzgzMDA3RTAyNkYgLyogSFRNTENvbnN0cnVjdGlvblNpdGUuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJNTkwRTFCNEIxMUU0RUY3MDAwNjlGNzg0IC8qIEpTRGV2aWNl
T3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5P
bmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKSW5kZXg6IFdlYkNvcmUv
YmluZGluZ3MvanMvSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5j
cHAJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGV2aWNlT3JpZW50YXRp
b25FdmVudEN1c3RvbS5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsODMgQEAKKy8qCisgKiBD
b3B5cmlnaHQgMjAxMCwgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJKU0RldmljZU9yaWVudGF0aW9uRXZlbnQuaCIK
KworI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisKKyNpbmNsdWRlICJEZXZpY2VPcmll
bnRhdGlvbi5oIgorI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uRXZlbnQuaCIKKwordXNpbmcg
bmFtZXNwYWNlIEpTQzsKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitKU1ZhbHVlIEpTRGV2aWNl
T3JpZW50YXRpb25FdmVudDo6YWxwaGEoRXhlY1N0YXRlKiBleGVjKSBjb25zdAoreworICAgIERl
dmljZU9yaWVudGF0aW9uRXZlbnQqIGltcCA9IHN0YXRpY19jYXN0PERldmljZU9yaWVudGF0aW9u
RXZlbnQqPihpbXBsKCkpOworICAgIGlmICghaW1wLT5vcmllbnRhdGlvbigpLT5jYW5Qcm92aWRl
QWxwaGEoKSkKKyAgICAgICAgcmV0dXJuIGpzTnVsbCgpOworICAgIHJldHVybiBqc051bWJlcihl
eGVjLCBpbXAtPm9yaWVudGF0aW9uKCktPmFscGhhKCkpOworfQorCitKU1ZhbHVlIEpTRGV2aWNl
T3JpZW50YXRpb25FdmVudDo6YmV0YShFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0Cit7CisgICAgRGV2
aWNlT3JpZW50YXRpb25FdmVudCogaW1wID0gc3RhdGljX2Nhc3Q8RGV2aWNlT3JpZW50YXRpb25F
dmVudCo+KGltcGwoKSk7CisgICAgaWYgKCFpbXAtPm9yaWVudGF0aW9uKCktPmNhblByb3ZpZGVC
ZXRhKCkpCisgICAgICAgIHJldHVybiBqc051bGwoKTsKKyAgICByZXR1cm4ganNOdW1iZXIoZXhl
YywgaW1wLT5vcmllbnRhdGlvbigpLT5iZXRhKCkpOworfQorCitKU1ZhbHVlIEpTRGV2aWNlT3Jp
ZW50YXRpb25FdmVudDo6Z2FtbWEoRXhlY1N0YXRlKiBleGVjKSBjb25zdAoreworICAgIERldmlj
ZU9yaWVudGF0aW9uRXZlbnQqIGltcCA9IHN0YXRpY19jYXN0PERldmljZU9yaWVudGF0aW9uRXZl
bnQqPihpbXBsKCkpOworICAgIGlmICghaW1wLT5vcmllbnRhdGlvbigpLT5jYW5Qcm92aWRlR2Ft
bWEoKSkKKyAgICAgICAgcmV0dXJuIGpzTnVsbCgpOworICAgIHJldHVybiBqc051bWJlcihleGVj
LCBpbXAtPm9yaWVudGF0aW9uKCktPmdhbW1hKCkpOworfQorCitKU1ZhbHVlIEpTRGV2aWNlT3Jp
ZW50YXRpb25FdmVudDo6aW5pdERldmljZU9yaWVudGF0aW9uRXZlbnQoRXhlY1N0YXRlKiBleGVj
KQoreworICAgIGNvbnN0IFN0cmluZyYgdHlwZSA9IHVzdHJpbmdUb1N0cmluZyhleGVjLT5hcmd1
bWVudCgwKS50b1N0cmluZyhleGVjKSk7CisgICAgYm9vbCBidWJibGVzID0gZXhlYy0+YXJndW1l
bnQoMSkudG9Cb29sZWFuKGV4ZWMpOworICAgIGJvb2wgY2FuY2VsYWJsZSA9IGV4ZWMtPmFyZ3Vt
ZW50KDIpLnRvQm9vbGVhbihleGVjKTsKKyAgICAvLyBJZiBhbHBoYSwgYmV0YSBvciBnYW1tYSBh
cmUgbnVsbCBvciB1bmRlZmluZWQsIG1hcmsgdGhlbSBhcyBub3QgcHJvdmlkZWQuCisgICAgLy8g
T3RoZXJ3aXNlLCB1c2UgdGhlIHN0YW5kYXJkIEphdmFTY3JpcHQgY29udmVyc2lvbi4KKyAgICBi
b29sIGFscGhhUHJvdmlkZWQgPSAhZXhlYy0+YXJndW1lbnQoMykuaXNVbmRlZmluZWRPck51bGwo
KTsKKyAgICBkb3VibGUgYWxwaGEgPSBleGVjLT5hcmd1bWVudCgzKS50b051bWJlcihleGVjKTsK
KyAgICBib29sIGJldGFQcm92aWRlZCA9ICFleGVjLT5hcmd1bWVudCg0KS5pc1VuZGVmaW5lZE9y
TnVsbCgpOworICAgIGRvdWJsZSBiZXRhID0gZXhlYy0+YXJndW1lbnQoNCkudG9OdW1iZXIoZXhl
Yyk7CisgICAgYm9vbCBnYW1tYVByb3ZpZGVkID0gIWV4ZWMtPmFyZ3VtZW50KDUpLmlzVW5kZWZp
bmVkT3JOdWxsKCk7CisgICAgZG91YmxlIGdhbW1hID0gZXhlYy0+YXJndW1lbnQoNSkudG9OdW1i
ZXIoZXhlYyk7CisgICAgUmVmUHRyPERldmljZU9yaWVudGF0aW9uPiBvcmllbnRhdGlvbiA9IERl
dmljZU9yaWVudGF0aW9uOjpjcmVhdGUoYWxwaGFQcm92aWRlZCwgYWxwaGEsIGJldGFQcm92aWRl
ZCwgYmV0YSwgZ2FtbWFQcm92aWRlZCwgZ2FtbWEpOworICAgIERldmljZU9yaWVudGF0aW9uRXZl
bnQqIGltcCA9IHN0YXRpY19jYXN0PERldmljZU9yaWVudGF0aW9uRXZlbnQqPihpbXBsKCkpOwor
ICAgIGltcC0+aW5pdERldmljZU9yaWVudGF0aW9uRXZlbnQodHlwZSwgYnViYmxlcywgY2FuY2Vs
YWJsZSwgb3JpZW50YXRpb24uZ2V0KCkpOworICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoREVWSUNFX09SSUVO
VEFUSU9OKQpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEZXZpY2VPcmllbnRh
dGlvbkV2ZW50Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOERldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwCShyZXZpc2lvbiAwKQorKysg
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9t
LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw5MCBAQAorLyoKKyAqIENvcHlyaWdodCAyMDEw
LCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIlY4RGV2aWNlT3JpZW50YXRpb25FdmVudC5oIgorCisjaWYgRU5BQkxF
KERFVklDRV9PUklFTlRBVElPTikKKworI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uLmgiCisj
aW5jbHVkZSAiVjhCaW5kaW5nLmgiCisjaW5jbHVkZSAiVjhQcm94eS5oIgorCisjaW5jbHVkZSA8
djguaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhE
ZXZpY2VPcmllbnRhdGlvbkV2ZW50OjphbHBoYUFjY2Vzc29yR2V0dGVyKHY4OjpMb2NhbDx2ODo6
U3RyaW5nPiBuYW1lLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQoreworICAgIElOQ19T
VEFUUygiRE9NLkRldmljZU9yaWVudGF0aW9uRXZlbnQuYWxwaGEuX2dldCIpOworICAgIHY4OjpI
YW5kbGU8djg6Ok9iamVjdD4gaG9sZGVyID0gaW5mby5Ib2xkZXIoKTsKKyAgICBEZXZpY2VPcmll
bnRhdGlvbkV2ZW50KiBpbXAgPSBWOERldmljZU9yaWVudGF0aW9uRXZlbnQ6OnRvTmF0aXZlKGhv
bGRlcik7CisgICAgaWYgKCFpbXAtPm9yaWVudGF0aW9uKCktPmNhblByb3ZpZGVBbHBoYSgpKQor
ICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKKyAgICByZXR1cm4gdjg6Ok51bWJlcjo6TmV3KGlt
cC0+b3JpZW50YXRpb24oKS0+YWxwaGEoKSk7Cit9CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBW
OERldmljZU9yaWVudGF0aW9uRXZlbnQ6OmJldGFBY2Nlc3NvckdldHRlcih2ODo6TG9jYWw8djg6
OlN0cmluZz4gbmFtZSwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5mbykKK3sKKyAgICBJTkNf
U1RBVFMoIkRPTS5EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmJldGEuX2dldCIpOworICAgIHY4OjpI
YW5kbGU8djg6Ok9iamVjdD4gaG9sZGVyID0gaW5mby5Ib2xkZXIoKTsKKyAgICBEZXZpY2VPcmll
bnRhdGlvbkV2ZW50KiBpbXAgPSBWOERldmljZU9yaWVudGF0aW9uRXZlbnQ6OnRvTmF0aXZlKGhv
bGRlcik7CisgICAgaWYgKCFpbXAtPm9yaWVudGF0aW9uKCktPmNhblByb3ZpZGVCZXRhKCkpCisg
ICAgICAgIHJldHVybiB2ODo6TnVsbCgpOworICAgIHJldHVybiB2ODo6TnVtYmVyOjpOZXcoaW1w
LT5vcmllbnRhdGlvbigpLT5iZXRhKCkpOworfQorCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhE
ZXZpY2VPcmllbnRhdGlvbkV2ZW50OjpnYW1tYUFjY2Vzc29yR2V0dGVyKHY4OjpMb2NhbDx2ODo6
U3RyaW5nPiBuYW1lLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQoreworICAgIElOQ19T
VEFUUygiRE9NLkRldmljZU9yaWVudGF0aW9uRXZlbnQuZ2FtbWEuX2dldCIpOworICAgIHY4OjpI
YW5kbGU8djg6Ok9iamVjdD4gaG9sZGVyID0gaW5mby5Ib2xkZXIoKTsKKyAgICBEZXZpY2VPcmll
bnRhdGlvbkV2ZW50KiBpbXAgPSBWOERldmljZU9yaWVudGF0aW9uRXZlbnQ6OnRvTmF0aXZlKGhv
bGRlcik7CisgICAgaWYgKCFpbXAtPm9yaWVudGF0aW9uKCktPmNhblByb3ZpZGVHYW1tYSgpKQor
ICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKKyAgICByZXR1cm4gdjg6Ok51bWJlcjo6TmV3KGlt
cC0+b3JpZW50YXRpb24oKS0+Z2FtbWEoKSk7Cit9CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBW
OERldmljZU9yaWVudGF0aW9uRXZlbnQ6OmluaXREZXZpY2VPcmllbnRhdGlvbkV2ZW50Q2FsbGJh
Y2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKK3sKKyAgICBEZXZpY2VPcmllbnRhdGlvbkV2
ZW50KiBpbXAgPSBWOERldmljZU9yaWVudGF0aW9uRXZlbnQ6OnRvTmF0aXZlKGFyZ3MuSG9sZGVy
KCkpOworICAgIFY4UGFyYW1ldGVyPD4gdHlwZSA9IGFyZ3NbMF07CisgICAgYm9vbCBidWJibGVz
ID0gYXJnc1sxXS0+Qm9vbGVhblZhbHVlKCk7CisgICAgYm9vbCBjYW5jZWxhYmxlID0gYXJnc1sy
XS0+Qm9vbGVhblZhbHVlKCk7CisgICAgLy8gSWYgYWxwaGEsIGJldGEgb3IgZ2FtbWEgYXJlIG51
bGwgb3IgdW5kZWZpbmVkLCBtYXJrIHRoZW0gYXMgbm90IHByb3ZpZGVkLgorICAgIC8vIE90aGVy
d2lzZSwgdXNlIHRoZSBzdGFuZGFyZCBKYXZhU2NyaXB0IGNvbnZlcnNpb24uCisgICAgYm9vbCBh
bHBoYVByb3ZpZGVkID0gIWlzVW5kZWZpbmVkT3JOdWxsKGFyZ3NbM10pOworICAgIGRvdWJsZSBh
bHBoYSA9IHN0YXRpY19jYXN0PGRvdWJsZT4oYXJnc1szXS0+TnVtYmVyVmFsdWUoKSk7CisgICAg
Ym9vbCBiZXRhUHJvdmlkZWQgPSAhaXNVbmRlZmluZWRPck51bGwoYXJnc1s0XSk7CisgICAgZG91
YmxlIGJldGEgPSBzdGF0aWNfY2FzdDxkb3VibGU+KGFyZ3NbNF0tPk51bWJlclZhbHVlKCkpOwor
ICAgIGJvb2wgZ2FtbWFQcm92aWRlZCA9ICFpc1VuZGVmaW5lZE9yTnVsbChhcmdzWzVdKTsKKyAg
ICBkb3VibGUgZ2FtbWEgPSBzdGF0aWNfY2FzdDxkb3VibGU+KGFyZ3NbNV0tPk51bWJlclZhbHVl
KCkpOworICAgIFJlZlB0cjxEZXZpY2VPcmllbnRhdGlvbj4gb3JpZW50YXRpb24gPSBEZXZpY2VP
cmllbnRhdGlvbjo6Y3JlYXRlKGFscGhhUHJvdmlkZWQsIGFscGhhLCBiZXRhUHJvdmlkZWQsIGJl
dGEsIGdhbW1hUHJvdmlkZWQsIGdhbW1hKTsKKyAgICBpbXAtPmluaXREZXZpY2VPcmllbnRhdGlv
bkV2ZW50KHR5cGUsIGJ1YmJsZXMsIGNhbmNlbGFibGUsIG9yaWVudGF0aW9uLmdldCgpKTsKKyAg
ICByZXR1cm4gdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCkluZGV4OiBXZWJD
b3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0Rl
dmljZU9yaWVudGF0aW9uLmgJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2RvbS9EZXZpY2VPcmll
bnRhdGlvbi5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDc2IEBACisvKgorICogQ29weXJpZ2h0
IDIwMTAsIFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBgYEFTIElT
JycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIERl
dmljZU9yaWVudGF0aW9uX2gKKyNkZWZpbmUgRGV2aWNlT3JpZW50YXRpb25faAorCisjaW5jbHVk
ZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBEZXZp
Y2VPcmllbnRhdGlvbiA6IHB1YmxpYyBSZWZDb3VudGVkPERldmljZU9yaWVudGF0aW9uPiB7Citw
dWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8RGV2aWNlT3JpZW50YXRpb24+IGNyZWF0ZSgp
CisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IERldmljZU9yaWVudGF0aW9uKTsK
KyAgICB9CisKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxEZXZpY2VPcmllbnRhdGlvbj4gY3JlYXRl
KGJvb2wgY2FuUHJvdmlkZUFscGhhLCBkb3VibGUgYWxwaGEsIGJvb2wgY2FuUHJvdmlkZUJldGEs
IGRvdWJsZSBiZXRhLCBib29sIGNhblByb3ZpZGVHYW1tYSwgZG91YmxlIGdhbW1hKQorICAgIHsK
KyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBEZXZpY2VPcmllbnRhdGlvbihjYW5Qcm92aWRl
QWxwaGEsIGFscGhhLCBjYW5Qcm92aWRlQmV0YSwgYmV0YSwgY2FuUHJvdmlkZUdhbW1hLCBnYW1t
YSkpOworICAgIH0KKworICAgIGJvb2wgY2FuUHJvdmlkZUFscGhhKCkgY29uc3QgeyByZXR1cm4g
bV9jYW5Qcm92aWRlQWxwaGE7IH0KKyAgICBkb3VibGUgYWxwaGEoKSBjb25zdCB7IHJldHVybiBt
X2FscGhhOyB9CisgICAgYm9vbCBjYW5Qcm92aWRlQmV0YSgpIGNvbnN0IHsgcmV0dXJuIG1fY2Fu
UHJvdmlkZUJldGE7IH0KKyAgICBkb3VibGUgYmV0YSgpIGNvbnN0IHsgcmV0dXJuIG1fYmV0YTsg
fQorICAgIGJvb2wgY2FuUHJvdmlkZUdhbW1hKCkgY29uc3QgeyByZXR1cm4gbV9jYW5Qcm92aWRl
R2FtbWE7IH0KKyAgICBkb3VibGUgZ2FtbWEoKSBjb25zdCB7IHJldHVybiBtX2dhbW1hOyB9CisK
K3ByaXZhdGU6CisgICAgRGV2aWNlT3JpZW50YXRpb24oKQorICAgICAgICA6IG1fY2FuUHJvdmlk
ZUFscGhhKGZhbHNlKQorICAgICAgICAsIG1fY2FuUHJvdmlkZUJldGEoZmFsc2UpCisgICAgICAg
ICwgbV9jYW5Qcm92aWRlR2FtbWEoZmFsc2UpIHt9CisKKyAgICBEZXZpY2VPcmllbnRhdGlvbihi
b29sIGNhblByb3ZpZGVBbHBoYSwgZG91YmxlIGFscGhhLCBib29sIGNhblByb3ZpZGVCZXRhLCBk
b3VibGUgYmV0YSwgYm9vbCBjYW5Qcm92aWRlR2FtbWEsIGRvdWJsZSBnYW1tYSkKKyAgICAgICAg
OiBtX2NhblByb3ZpZGVBbHBoYShjYW5Qcm92aWRlQWxwaGEpCisgICAgICAgICwgbV9hbHBoYShh
bHBoYSkKKyAgICAgICAgLCBtX2NhblByb3ZpZGVCZXRhKGNhblByb3ZpZGVCZXRhKQorICAgICAg
ICAsIG1fYmV0YShiZXRhKQorICAgICAgICAsIG1fY2FuUHJvdmlkZUdhbW1hKGNhblByb3ZpZGVH
YW1tYSkKKyAgICAgICAgLCBtX2dhbW1hKGdhbW1hKSB7fQorCisgICAgYm9vbCBtX2NhblByb3Zp
ZGVBbHBoYTsKKyAgICBkb3VibGUgbV9hbHBoYTsKKyAgICBib29sIG1fY2FuUHJvdmlkZUJldGE7
CisgICAgZG91YmxlIG1fYmV0YTsKKyAgICBib29sIG1fY2FuUHJvdmlkZUdhbW1hOworICAgIGRv
dWJsZSBtX2dhbW1hOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8g
RGV2aWNlT3JpZW50YXRpb25faApJbmRleDogV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25F
dmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25FdmVu
dC5jcHAJKHJldmlzaW9uIDYyNjY4KQorKysgV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25F
dmVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2LDM1ICsyNiwzMCBAQAogI2luY2x1ZGUgImNv
bmZpZy5oIgogI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uRXZlbnQuaCIKIAorI2luY2x1ZGUg
IkRldmljZU9yaWVudGF0aW9uLmgiCisKICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIERldmljZU9yaWVudGF0aW9uRXZlbnQ6OkRldmljZU9y
aWVudGF0aW9uRXZlbnQoKQotICAgIDogbV9hbHBoYSgwKQotICAgICwgbV9iZXRhKDApCi0gICAg
LCBtX2dhbW1hKDApCisgICAgOiBtX29yaWVudGF0aW9uKERldmljZU9yaWVudGF0aW9uOjpjcmVh
dGUoKSkKIHsKIH0KIAotRGV2aWNlT3JpZW50YXRpb25FdmVudDo6RGV2aWNlT3JpZW50YXRpb25F
dmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgZG91YmxlIGFscGhhLCBkb3VibGUg
YmV0YSwgZG91YmxlIGdhbW1hKQorRGV2aWNlT3JpZW50YXRpb25FdmVudDo6RGV2aWNlT3JpZW50
YXRpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgRGV2aWNlT3JpZW50YXRp
b24qIG9yaWVudGF0aW9uKQogICAgIDogRXZlbnQoZXZlbnRUeXBlLCBmYWxzZSwgZmFsc2UpIC8v
IENhbid0IGJ1YmJsZSwgbm90IGNhbmNlbGFibGUKLSAgICAsIG1fYWxwaGEoYWxwaGEpCi0gICAg
LCBtX2JldGEoYmV0YSkKLSAgICAsIG1fZ2FtbWEoZ2FtbWEpCisgICAgLCBtX29yaWVudGF0aW9u
KG9yaWVudGF0aW9uKQogewogfQogCi12b2lkIERldmljZU9yaWVudGF0aW9uRXZlbnQ6OmluaXRE
ZXZpY2VPcmllbnRhdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBib29s
IGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBkb3VibGUgYWxwaGEsIGRvdWJsZSBiZXRhLCBk
b3VibGUgZ2FtbWEpCit2b2lkIERldmljZU9yaWVudGF0aW9uRXZlbnQ6OmluaXREZXZpY2VPcmll
bnRhdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBidWJibGVzLCBib29s
IGNhbmNlbGFibGUsIERldmljZU9yaWVudGF0aW9uKiBvcmllbnRhdGlvbikKIHsKICAgICBpZiAo
ZGlzcGF0Y2hlZCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBpbml0RXZlbnQoZXZlbnRUeXBl
LCBjYW5CdWJibGUsIGNhbmNlbGFibGUpOwotCi0gICAgbV9hbHBoYSA9IGFscGhhOwotICAgIG1f
YmV0YSA9IGJldGE7Ci0gICAgbV9nYW1tYSA9IGdhbW1hOworICAgIGluaXRFdmVudCh0eXBlLCBi
dWJibGVzLCBjYW5jZWxhYmxlKTsKKyAgICBtX29yaWVudGF0aW9uID0gb3JpZW50YXRpb247CiB9
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvZG9tL0RldmljZU9yaWVu
dGF0aW9uRXZlbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlv
bkV2ZW50LmgJKHJldmlzaW9uIDYyNjY4KQorKysgV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRp
b25FdmVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSwzMSArMzEsMzAgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCitjbGFzcyBEZXZpY2VPcmllbnRhdGlvbjsKKwogY2xhc3MgRGV2aWNlT3Jp
ZW50YXRpb25FdmVudCA6IHB1YmxpYyBFdmVudCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NS
ZWZQdHI8RGV2aWNlT3JpZW50YXRpb25FdmVudD4gY3JlYXRlKCkKICAgICB7CiAgICAgICAgIHJl
dHVybiBhZG9wdFJlZihuZXcgRGV2aWNlT3JpZW50YXRpb25FdmVudCk7CiAgICAgfQotICAgIHN0
YXRpYyBQYXNzUmVmUHRyPERldmljZU9yaWVudGF0aW9uRXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9t
aWNTdHJpbmcmIGV2ZW50VHlwZSwgZG91YmxlIGFscGhhLCBkb3VibGUgYmV0YSwgZG91YmxlIGdh
bW1hKQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPERldmljZU9yaWVudGF0aW9uRXZlbnQ+IGNyZWF0
ZShjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgRGV2aWNlT3JpZW50YXRpb24qIG9yaWVu
dGF0aW9uKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBEZXZpY2VPcmllbnRh
dGlvbkV2ZW50KGV2ZW50VHlwZSwgYWxwaGEsIGJldGEsIGdhbW1hKSk7CisgICAgICAgIHJldHVy
biBhZG9wdFJlZihuZXcgRGV2aWNlT3JpZW50YXRpb25FdmVudChldmVudFR5cGUsIG9yaWVudGF0
aW9uKSk7CiAgICAgfQogCi0gICAgdm9pZCBpbml0RGV2aWNlT3JpZW50YXRpb25FdmVudChjb25z
dCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJs
ZSwgZG91YmxlIGFscGhhLCBkb3VibGUgYmV0YSwgZG91YmxlIGdhbW1hKTsKLSAgICBkb3VibGUg
YWxwaGEoKSBjb25zdCB7IHJldHVybiBtX2FscGhhOyB9Ci0gICAgZG91YmxlIGJldGEoKSBjb25z
dCB7IHJldHVybiBtX2JldGE7IH0KLSAgICBkb3VibGUgZ2FtbWEoKSBjb25zdCB7IHJldHVybiBt
X2dhbW1hOyB9CisgICAgdm9pZCBpbml0RGV2aWNlT3JpZW50YXRpb25FdmVudChjb25zdCBBdG9t
aWNTdHJpbmcmIHR5cGUsIGJvb2wgYnViYmxlcywgYm9vbCBjYW5jZWxhYmxlLCBEZXZpY2VPcmll
bnRhdGlvbiopOwogCiAgICAgdmlydHVhbCBib29sIGlzRGV2aWNlT3JpZW50YXRpb25FdmVudCgp
IGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KIAorICAgIERldmljZU9yaWVudGF0aW9uKiBvcmllbnRh
dGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fb3JpZW50YXRpb24uZ2V0KCk7IH0KKwogcHJpdmF0ZToK
ICAgICBEZXZpY2VPcmllbnRhdGlvbkV2ZW50KCk7Ci0gICAgRGV2aWNlT3JpZW50YXRpb25FdmVu
dChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgZG91YmxlIGFscGhhLCBkb3VibGUgYmV0
YSwgZG91YmxlIGdhbW1hKTsKKyAgICBEZXZpY2VPcmllbnRhdGlvbkV2ZW50KGNvbnN0IEF0b21p
Y1N0cmluZyYgZXZlbnRUeXBlLCBEZXZpY2VPcmllbnRhdGlvbiopOwogCi0gICAgZG91YmxlIG1f
YWxwaGE7Ci0gICAgZG91YmxlIG1fYmV0YTsKLSAgICBkb3VibGUgbV9nYW1tYTsKKyAgICBSZWZQ
dHI8RGV2aWNlT3JpZW50YXRpb24+IG1fb3JpZW50YXRpb247CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmlkbAkocmV2
aXNpb24gNjI2NjgpCisrKyBXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmlkbAko
d29ya2luZyBjb3B5KQpAQCAtMjgsMTAgKzI4LDEwIEBAIG1vZHVsZSBjb3JlIHsKICAgICBpbnRl
cmZhY2UgWwogICAgICAgICBDb25kaXRpb25hbD1ERVZJQ0VfT1JJRU5UQVRJT04KICAgICBdIERl
dmljZU9yaWVudGF0aW9uRXZlbnQgOiBFdmVudCB7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBkb3VibGUgYWxwaGE7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgYmV0YTsK
LSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBnYW1tYTsKLSAgICAgICAgdm9pZCBp
bml0RGV2aWNlT3JpZW50YXRpb25FdmVudChpbiBET01TdHJpbmcgdHlwZUFyZywgaW4gYm9vbGVh
biBjYW5CdWJibGVBcmcsIGluIGJvb2xlYW4gY2FuY2VsYWJsZUFyZywgaW4gZG91YmxlIGFscGhh
LCBpbiBkb3VibGUgYmV0YSwgaW4gZG91YmxlIGdhbW1hKTsKKyAgICAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIFtDdXN0b21dIGRvdWJsZSBhbHBoYTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IFtDdXN0b21dIGRvdWJsZSBiZXRhOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0N1c3Rv
bV0gZG91YmxlIGdhbW1hOworICAgICAgICBbQ3VzdG9tXSB2b2lkIGluaXREZXZpY2VPcmllbnRh
dGlvbkV2ZW50KGluIERPTVN0cmluZyB0eXBlLCBpbiBib29sZWFuIGJ1YmJsZXMsIGluIGJvb2xl
YW4gY2FuY2VsYWJsZSwgaW4gZG91YmxlIGFscGhhLCBpbiBkb3VibGUgYmV0YSwgaW4gZG91Ymxl
IGdhbW1hKTsKICAgICB9OwogCiB9CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA2MjY4MSkKKysrIExheW91
dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDEwLTA3
LTA3ICBTdGV2ZSBCbG9jayAgPHN0ZXZlYmxvY2tAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEZXZpY2VPcmllbnRhdGlvbkV2ZW50
IHNob3VsZCB1c2Ugb3B0aW9uYWwgcHJvcGVydGllcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDE2MDcKKworICAgICAgICAqIGZhc3QvZG9tL0Rldmlj
ZU9yaWVudGF0aW9uL29wdGlvbmFsLWV2ZW50LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2RvbS9EZXZpY2VPcmllbnRhdGlvbi9vcHRpb25hbC1ldmVudC1w
cm9wZXJ0aWVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0RldmljZU9yaWVudGF0
aW9uL3NjcmlwdC10ZXN0cy9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmpzOiBBZGRlZC4KKwog
MjAxMC0wNy0wNyAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IFNhbSBXZWluaWcuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VP
cmllbnRhdGlvbi9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VPcmllbnRhdGlvbi9vcHRpb25hbC1l
dmVudC1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3Rz
L2Zhc3QvZG9tL0RldmljZU9yaWVudGF0aW9uL29wdGlvbmFsLWV2ZW50LXByb3BlcnRpZXMtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMwIEBACitUZXN0cyB0aGUgb3B0aW9u
YWwgcHJvcGVydGllcyBvZiBEZXZpY2VPcmllbnRhdGlvbkV2ZW50LiBFYWNoIHByb3BlcnR5IHNo
b3VsZCBiZSBudWxsIGlmIG5vdCBzZXQsIG9yIHNldCB0byBudWxsIG9yIHVuZGVmaW5lZC4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgZXZlbnQuYWxwaGEgPT0gbnVsbCBp
cyB0cnVlCitQQVNTIGV2ZW50LmJldGEgPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2ZW50LmdhbW1h
ID09IG51bGwgaXMgdHJ1ZQorUEFTUyBldmVudC5hbHBoYSA9PSAwIGlzIHRydWUKK1BBU1MgZXZl
bnQuYmV0YSA9PSAxIGlzIHRydWUKK1BBU1MgZXZlbnQuZ2FtbWEgPT0gMiBpcyB0cnVlCitQQVNT
IGV2ZW50LmFscGhhID09IG51bGwgaXMgdHJ1ZQorUEFTUyBldmVudC5iZXRhID09IG51bGwgaXMg
dHJ1ZQorUEFTUyBldmVudC5nYW1tYSA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQuYWxwaGEg
PT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50LmJldGEgPT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50Lmdh
bW1hID09IDAgaXMgdHJ1ZQorUEFTUyBldmVudC5hbHBoYSA9PSBudWxsIGlzIHRydWUKK1BBU1Mg
ZXZlbnQuYmV0YSA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQuZ2FtbWEgPT0gbnVsbCBpcyB0
cnVlCitQQVNTIGV2ZW50LmFscGhhID09IDAgaXMgdHJ1ZQorUEFTUyBldmVudC5iZXRhID09IDAg
aXMgdHJ1ZQorUEFTUyBldmVudC5nYW1tYSA9PSAwIGlzIHRydWUKK1BBU1MgZXZlbnQuYWxwaGEg
PT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2ZW50LmJldGEgPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2
ZW50LmdhbW1hID09IG51bGwgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU9y
aWVudGF0aW9uL29wdGlvbmFsLWV2ZW50LXByb3BlcnRpZXMuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VPcmllbnRhdGlvbi9vcHRpb25hbC1ldmVudC1wcm9w
ZXJ0aWVzLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VP
cmllbnRhdGlvbi9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmh0bWwJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMTIgQEAKKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Rv
bS9EZXZpY2VPcmllbnRhdGlvbi9zY3JpcHQtdGVzdHMvb3B0aW9uYWwtZXZlbnQtcHJvcGVydGll
cy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VPcmllbnRhdGlv
bi9zY3JpcHQtdGVzdHMvb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5qcwkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU9yaWVudGF0aW9uL3NjcmlwdC10ZXN0cy9v
cHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ1IEBA
CitkZXNjcmlwdGlvbigiVGVzdHMgdGhlIG9wdGlvbmFsIHByb3BlcnRpZXMgb2YgRGV2aWNlT3Jp
ZW50YXRpb25FdmVudC4gRWFjaCBwcm9wZXJ0eSBzaG91bGQgYmUgbnVsbCBpZiBub3Qgc2V0LCBv
ciBzZXQgdG8gbnVsbCBvciB1bmRlZmluZWQuIik7CisKK3ZhciBldmVudCA9IGRvY3VtZW50LmNy
ZWF0ZUV2ZW50KCdEZXZpY2VPcmllbnRhdGlvbkV2ZW50Jyk7CisKK3Nob3VsZEJlVHJ1ZSgiZXZl
bnQuYWxwaGEgPT0gbnVsbCIpOworc2hvdWxkQmVUcnVlKCJldmVudC5iZXRhID09IG51bGwiKTsK
K3Nob3VsZEJlVHJ1ZSgiZXZlbnQuZ2FtbWEgPT0gbnVsbCIpOworCitldmVudC5pbml0RGV2aWNl
T3JpZW50YXRpb25FdmVudCgiIiwgZmFsc2UsIGZhbHNlLCAwLCAxLCAyKTsKKworc2hvdWxkQmVU
cnVlKCJldmVudC5hbHBoYSA9PSAwIik7CitzaG91bGRCZVRydWUoImV2ZW50LmJldGEgPT0gMSIp
Oworc2hvdWxkQmVUcnVlKCJldmVudC5nYW1tYSA9PSAyIik7CisKK2V2ZW50LmluaXREZXZpY2VP
cmllbnRhdGlvbkV2ZW50KCk7CisKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuYWxwaGEgPT0gbnVsbCIp
Oworc2hvdWxkQmVUcnVlKCJldmVudC5iZXRhID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZl
bnQuZ2FtbWEgPT0gbnVsbCIpOworCitldmVudC5pbml0RGV2aWNlT3JpZW50YXRpb25FdmVudCgi
IiwgZmFsc2UsIGZhbHNlLCBbXSwgW10sIFtdKTsKKworc2hvdWxkQmVUcnVlKCJldmVudC5hbHBo
YSA9PSAwIik7CitzaG91bGRCZVRydWUoImV2ZW50LmJldGEgPT0gMCIpOworc2hvdWxkQmVUcnVl
KCJldmVudC5nYW1tYSA9PSAwIik7CisKK2V2ZW50LmluaXREZXZpY2VPcmllbnRhdGlvbkV2ZW50
KCIiLCBmYWxzZSwgZmFsc2UsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQpOworCitz
aG91bGRCZVRydWUoImV2ZW50LmFscGhhID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQu
YmV0YSA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50LmdhbW1hID09IG51bGwiKTsKKwor
ZXZlbnQuaW5pdERldmljZU9yaWVudGF0aW9uRXZlbnQoIiIsIGZhbHNlLCBmYWxzZSwgIiIsICIi
LCAiIik7CisKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuYWxwaGEgPT0gMCIpOworc2hvdWxkQmVUcnVl
KCJldmVudC5iZXRhID09IDAiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuZ2FtbWEgPT0gMCIpOwor
CitldmVudC5pbml0RGV2aWNlT3JpZW50YXRpb25FdmVudCgiIiwgZmFsc2UsIGZhbHNlLCBudWxs
LCBudWxsLCBudWxsKTsKKworc2hvdWxkQmVUcnVlKCJldmVudC5hbHBoYSA9PSBudWxsIik7Citz
aG91bGRCZVRydWUoImV2ZW50LmJldGEgPT0gbnVsbCIpOworc2hvdWxkQmVUcnVlKCJldmVudC5n
YW1tYSA9PSBudWxsIik7CisKK3dpbmRvdy5zdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61208</attachid>
            <date>2010-07-12 04:20:24 -0700</date>
            <delta_ts>2010-07-12 07:36:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-41607-20100712122022.patch</filename>
            <type>text/plain</type>
            <size>34959</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MzA2NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNTIgQEAKKzIwMTAtMDctMTIgIFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IERldmljZU9yaWVudGF0aW9uRXZlbnQgc2hvdWxkIHVzZSBvcHRpb25hbCBwcm9wZXJ0aWVzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MTYwNworCisg
ICAgICAgIFRoaXMgY2hhbmdlIGFkZHMgYSBuZXcgRGV2aWNlT3JpZW50YXRpb24gY2xhc3Mgd2hp
Y2ggdGFrZXMgY2FyZSBvZiB3aGljaCBvZiB0aGUKKyAgICAgICAgb3B0aW9uYWwgcHJvcGVydGll
cyBhcmUgcHJlc2VudC4gRGV2aWNlT3JpZW50YXRpb25FdmVudCBvd25zIGFuIGluc3RhbmNlIG9m
CisgICAgICAgIERldmljZU9yaWVudGF0aW9uLCByYXRoZXIgdGhhbiBvd25pbmcgdGhlIHByb3Bl
cnRpZXMgZGlyZWN0bHkuCisgICAgICAgIERldmljZU9yaWVudGF0aW9uRXZlbnQgbm93IHJlcXVp
cmVzIGN1c3RvbSBiaW5kaW5ncy4KKworICAgICAgICBUZXN0OiBmYXN0L2RvbS9EZXZpY2VPcmll
bnRhdGlvbi9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmh0bWwKKworICAgICAgICAqIEFuZHJv
aWQuanNjYmluZGluZ3MubWs6CisgICAgICAgICogQW5kcm9pZC52OGJpbmRpbmdzLm1rOgorICAg
ICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAg
ICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNEZXZpY2VPcmllbnRhdGlv
bkV2ZW50Q3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpKU0RldmljZU9yaWVu
dGF0aW9uRXZlbnQ6OmFscGhhKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRGV2aWNlT3JpZW50YXRp
b25FdmVudDo6YmV0YSk6CisgICAgICAgIChXZWJDb3JlOjpKU0RldmljZU9yaWVudGF0aW9uRXZl
bnQ6OmdhbW1hKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRGV2aWNlT3JpZW50YXRpb25FdmVudDo6
aW5pdERldmljZU9yaWVudGF0aW9uRXZlbnQpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3Rv
bS9WOERldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OlY4RGV2aWNlT3JpZW50YXRpb25FdmVudDo6YWxwaGFBY2Nlc3NvckdldHRlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpWOERldmljZU9yaWVudGF0aW9uRXZlbnQ6OmJldGFBY2Nlc3Nvckdl
dHRlcik6CisgICAgICAgIChXZWJDb3JlOjpWOERldmljZU9yaWVudGF0aW9uRXZlbnQ6OmdhbW1h
QWNjZXNzb3JHZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VjhEZXZpY2VPcmllbnRhdGlvbkV2
ZW50Ojppbml0RGV2aWNlT3JpZW50YXRpb25FdmVudENhbGxiYWNrKToKKyAgICAgICAgKiBkb20v
RGV2aWNlT3JpZW50YXRpb24uaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmll
bnRhdGlvbjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uOjpj
YW5Qcm92aWRlQWxwaGEpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb246OmFs
cGhhKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uOjpjYW5Qcm92aWRlQmV0
YSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbjo6YmV0YSk6CisgICAgICAg
IChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbjo6Y2FuUHJvdmlkZUdhbW1hKToKKyAgICAgICAg
KFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uOjpnYW1tYSk6CisgICAgICAgIChXZWJDb3JlOjpE
ZXZpY2VPcmllbnRhdGlvbjo6RGV2aWNlT3JpZW50YXRpb24pOgorICAgICAgICAqIGRvbS9EZXZp
Y2VPcmllbnRhdGlvbkV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0
aW9uRXZlbnQ6OkRldmljZU9yaWVudGF0aW9uRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6RGV2
aWNlT3JpZW50YXRpb25FdmVudDo6aW5pdERldmljZU9yaWVudGF0aW9uRXZlbnQpOgorICAgICAg
ICAqIGRvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpEZXZp
Y2VPcmllbnRhdGlvbkV2ZW50OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3Jp
ZW50YXRpb25FdmVudDo6b3JpZW50YXRpb24pOgorICAgICAgICAqIGRvbS9EZXZpY2VPcmllbnRh
dGlvbkV2ZW50LmlkbDoKKwogMjAxMC0wNy0xMiAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBOb3QgcmV2aWV3ZWQuIENocm9taXVtIHRlc3RzIGZpeC4K
SW5kZXg6IFdlYkNvcmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5tawo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL0FuZHJvaWQuanNjYmluZGluZ3MubWsJKHJldmlzaW9uIDYzMDY3KQorKysgV2ViQ29yZS9B
bmRyb2lkLmpzY2JpbmRpbmdzLm1rCSh3b3JraW5nIGNvcHkpCkBAIC04MCwxOSArODAsMjAgQEAg
TE9DQUxfU1JDX0ZJTEVTICs9IFwKIAliaW5kaW5ncy9qcy9KU0N1c3RvbVNRTFRyYW5zYWN0aW9u
Q2FsbGJhY2suY3BwIFwKIAliaW5kaW5ncy9qcy9KU0N1c3RvbVNRTFRyYW5zYWN0aW9uRXJyb3JD
YWxsYmFjay5jcHAgXAogCWJpbmRpbmdzL2pzL0pTQ3VzdG9tVm9pZENhbGxiYWNrLmNwcCBcCi0J
YmluZGluZ3MvanMvSlNEYXRhYmFzZUNhbGxiYWNrLmNwcCBcCi0JYmluZGluZ3MvanMvSlNEZXNr
dG9wTm90aWZpY2F0aW9uc0N1c3RvbS5jcHAgXAogCWJpbmRpbmdzL2pzL0pTRE9NQXBwbGljYXRp
b25DYWNoZUN1c3RvbS5jcHAgXAogCWJpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAgXAotICBi
aW5kaW5ncy9qcy9KU0RPTUZvcm1EYXRhQ3VzdG9tLmNwcCBcCisJYmluZGluZ3MvanMvSlNET01G
b3JtRGF0YUN1c3RvbS5jcHAgXAogCWJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcCBc
CiAJYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcCBcCiAJYmluZGluZ3MvanMvSlNET01X
aW5kb3dDdXN0b20uY3BwIFwKIAliaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmNwcCBcCisJ
YmluZGluZ3MvanMvSlNEYXRhYmFzZUNhbGxiYWNrLmNwcCBcCiAJYmluZGluZ3MvanMvSlNEYXRh
R3JpZENvbHVtbkxpc3RDdXN0b20uY3BwIFwKIAliaW5kaW5ncy9qcy9KU0RhdGFHcmlkRGF0YVNv
dXJjZS5jcHAgXAogCWJpbmRpbmdzL2pzL0pTRGF0YWJhc2VDdXN0b20uY3BwIFwKIAliaW5kaW5n
cy9qcy9KU0RlZGljYXRlZFdvcmtlckNvbnRleHRDdXN0b20uY3BwIFwKKwliaW5kaW5ncy9qcy9K
U0Rlc2t0b3BOb3RpZmljYXRpb25zQ3VzdG9tLmNwcCBcCisJYmluZGluZ3MvanMvSlNEZXZpY2VP
cmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcCBcCiAJYmluZGluZ3MvanMvSlNEb2N1bWVudEN1c3Rv
bS5jcHAgXAogCWJpbmRpbmdzL2pzL0pTRWxlbWVudEN1c3RvbS5jcHAgXAogCWJpbmRpbmdzL2pz
L0pTRXZlbnRDdXN0b20uY3BwIFwKSW5kZXg6IFdlYkNvcmUvQW5kcm9pZC52OGJpbmRpbmdzLm1r
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQW5kcm9pZC52OGJpbmRpbmdzLm1rCShyZXZpc2lvbiA2
MzA2NykKKysrIFdlYkNvcmUvQW5kcm9pZC52OGJpbmRpbmdzLm1rCSh3b3JraW5nIGNvcHkpCkBA
IC0xMDgsNiArMTA4LDcgQEAgTE9DQUxfU1JDX0ZJTEVTICs9IFwKIAliaW5kaW5ncy92OC9jdXN0
b20vVjhEYXRhYmFzZUNhbGxiYWNrLmNwcCBcCiAJYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGF0YWJh
c2VDdXN0b20uY3BwIFwKIAliaW5kaW5ncy92OC9jdXN0b20vVjhEZWRpY2F0ZWRXb3JrZXJDb250
ZXh0Q3VzdG9tLmNwcCBcCisJYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGV2aWNlT3JpZW50YXRpb25F
dmVudEN1c3RvbS5jcHAgXAogCWJpbmRpbmdzL3Y4L2N1c3RvbS9WOERvY3VtZW50Q3VzdG9tLmNw
cCBcCiAJYmluZGluZ3MvdjgvY3VzdG9tL1Y4RG9jdW1lbnRMb2NhdGlvbkN1c3RvbS5jcHAgXAog
CWJpbmRpbmdzL3Y4L2N1c3RvbS9WOEVsZW1lbnRDdXN0b20uY3BwIFwKSW5kZXg6IFdlYkNvcmUv
Q01ha2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2
aXNpb24gNjMwNjcpCisrKyBXZWJDb3JlL0NNYWtlTGlzdHMudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC01ODMsNiArNTgzLDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIGJpbmRpbmdzL2pzL0pT
RGF0YUdyaWREYXRhU291cmNlLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0
LmNwcAogICAgIGJpbmRpbmdzL2pzL0pTRGVkaWNhdGVkV29ya2VyQ29udGV4dEN1c3RvbS5jcHAK
KyAgICBiaW5kaW5ncy9qcy9KU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwCiAgICAg
YmluZGluZ3MvanMvSlNEb2N1bWVudEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0RPTUFw
cGxpY2F0aW9uQ2FjaGVDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNw
cApJbmRleDogV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0dO
VW1ha2VmaWxlLmFtCShyZXZpc2lvbiA2MzA2NykKKysrIFdlYkNvcmUvR05VbWFrZWZpbGUuYW0J
KHdvcmtpbmcgY29weSkKQEAgLTQ0Niw2ICs0NDYsNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAog
CVdlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5oIFwKIAlXZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NV3JhcHBlci5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNET01XcmFw
cGVyLmggXAorCVdlYkNvcmUvYmluZGluZ3MvanMvSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3Vz
dG9tLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RvY3VtZW50Q3VzdG9tLmNwcCBcCiAJ
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0VsZW1lbnRDdXN0b20uY3BwIFwKIAlXZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwIFwKQEAgLTc5NCw2ICs3OTUsNyBAQCB3ZWJjb3JlX3Nv
dXJjZXMgKz0gXAogCVdlYkNvcmUvZG9tL0RhdGFzZXRET01TdHJpbmdNYXAuaCBcCiAJV2ViQ29y
ZS9kb20vRGVjb2RlZERhdGFEb2N1bWVudFBhcnNlci5jcHAgXAogCVdlYkNvcmUvZG9tL0RlY29k
ZWREYXRhRG9jdW1lbnRQYXJzZXIuaCBcCisJV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb24u
aCBcCiAJV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25DbGllbnQuaCBcCiAJV2ViQ29yZS9k
b20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmNwcCBcCiAJV2ViQ29yZS9kb20vRGV2aWNl
T3JpZW50YXRpb25Db250cm9sbGVyLmggXApJbmRleDogV2ViQ29yZS9XZWJDb3JlLmd5cGkKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9uIDYzMDY3KQorKysgV2Vi
Q29yZS9XZWJDb3JlLmd5cGkJKHdvcmtpbmcgY29weSkKQEAgLTU0Miw2ICs1NDIsNyBAQAogICAg
ICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRGVkaWNhdGVkV29ya2VyQ29udGV4dEN1c3RvbS5jcHAn
LAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0LmNwcCcsCiAgICAg
ICAgICAgICAnYmluZGluZ3MvanMvSlNEZWJ1Z1dyYXBwZXJTZXQuaCcsCisgICAgICAgICAgICAn
YmluZGluZ3MvanMvSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcCcsCiAgICAgICAg
ICAgICAnYmluZGluZ3MvanMvSlNEb2N1bWVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2Jp
bmRpbmdzL2pzL0pTRE9NQXBwbGljYXRpb25DYWNoZUN1c3RvbS5jcHAnLAogICAgICAgICAgICAg
J2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAnLApAQCAtNzM3LDYgKzczOCw3IEBACiAgICAg
ICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGF0YWJhc2VTeW5jQ3VzdG9tLmNwcCcsCiAg
ICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGF0YUdyaWRDb2x1bW5MaXN0Q3VzdG9t
LmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGVkaWNhdGVkV29ya2Vy
Q29udGV4dEN1c3RvbS5jcHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERl
dmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92
OC9jdXN0b20vVjhEb2N1bWVudExvY2F0aW9uQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4RE9NRm9ybURhdGFDdXN0b20uY3BwJywKICAgICAgICAgICAgICdi
aW5kaW5ncy92OC9jdXN0b20vVjhET01XaW5kb3dDdXN0b20uY3BwJywKQEAgLTExMTksNiArMTEy
MSw3IEBACiAgICAgICAgICAgICAnZG9tL0RhdGFzZXRET01TdHJpbmdNYXAuaCcsCiAgICAgICAg
ICAgICAnZG9tL0RlY29kZWREYXRhRG9jdW1lbnRQYXJzZXIuY3BwJywKICAgICAgICAgICAgICdk
b20vRGVjb2RlZERhdGFEb2N1bWVudFBhcnNlci5oJywKKyAgICAgICAgICAgICdkb20vRGV2aWNl
T3JpZW50YXRpb24uaCcsCiAgICAgICAgICAgICAnZG9tL0RldmljZU9yaWVudGF0aW9uQ2xpZW50
LmgnLAogICAgICAgICAgICAgJ2RvbS9EZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIuY3BwJywK
ICAgICAgICAgICAgICdkb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmgnLApJbmRleDog
V2ViQ29yZS9XZWJDb3JlLnBybwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUucHJvCShy
ZXZpc2lvbiA2MzA2NykKKysrIFdlYkNvcmUvV2ViQ29yZS5wcm8JKHdvcmtpbmcgY29weSkKQEAg
LTI4Niw2ICsyODYsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBiaW5kaW5ncy9qcy9KU0RhdGFHcmlk
RGF0YVNvdXJjZS5jcHAgXAogICAgIGJpbmRpbmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0LmNwcCBc
CiAgICAgYmluZGluZ3MvanMvSlNEZXNrdG9wTm90aWZpY2F0aW9uc0N1c3RvbS5jcHAgXAorICAg
IGJpbmRpbmdzL2pzL0pTRGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAgXAogICAgIGJp
bmRpbmdzL2pzL0pTRG9jdW1lbnRDdXN0b20uY3BwIFwKICAgICBiaW5kaW5ncy9qcy9KU0RPTUZv
cm1EYXRhQ3VzdG9tLmNwcCBcCiAgICAgYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3Bw
IFwKQEAgLTEyMTksNiArMTIyMCw3IEBAIEhFQURFUlMgKz0gXAogICAgIGRvbS9DU1NNYXBwZWRB
dHRyaWJ1dGVEZWNsYXJhdGlvbi5oIFwKICAgICBkb20vQ3VzdG9tRXZlbnQuaCBcCiAgICAgZG9t
L2RlZmF1bHQvUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWwuaCBcCisgICAgZG9tL0RldmljZU9y
aWVudGF0aW9uLmggXAogICAgIGRvbS9EZXZpY2VPcmllbnRhdGlvbkNsaWVudC5oIFwKICAgICBk
b20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmggXAogICAgIGRvbS9EZXZpY2VPcmllbnRh
dGlvbkV2ZW50LmggXApJbmRleDogV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
ago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCShy
ZXZpc2lvbiA2MzA2NykKKysrIFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJ
KHdvcmtpbmcgY29weSkKQEAgLTMyMzY1LDYgKzMyMzY1LDEwIEBACiAJCQkJPg0KIAkJCTwvRmls
ZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxEZXZpY2VPcmllbnRhdGlv
bi5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0i
Li5cZG9tXERldmljZU9yaWVudGF0aW9uQ2xpZW50LmgiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpA
QCAtNDI2MjAsNiArNDI2MjQsNTggQEAKIAkJCQkJPg0KIAkJCQk8L0ZpbGU+DQogCQkJCTxGaWxl
DQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTRGV2aWNlT3JpZW50YXRpb25F
dmVudEN1c3RvbS5jcHAiDQorCQkJCQk+DQorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJ
CQlOYW1lPSJEZWJ1Z3xXaW4zMiINCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJ
CQkJCQk+DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJ
CQkJCQkvPg0KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJCTxGaWxlQ29uZmlndXJh
dGlvbg0KKwkJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQorCQkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiDQorCQkJCQkJPg0KKwkJCQkJCTxUb29sDQorCQkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiDQorCQkJCQkJLz4NCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCQlOYW1lPSJEZWJ1Z19JbnRlcm5hbHxXaW4zMiINCisJ
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCQk+DQorCQkJCQkJPFRvb2wNCisJ
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCQkvPg0KKwkJCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4NCisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJCU5hbWU9IkRlYnVn
X0NhaXJvfFdpbjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJCT4N
CisJCQkJCQk8VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJCS8+
DQorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQor
CQkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb3xXaW4zMiINCisJCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSINCisJCQkJCQk+DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCINCisJCQkJCQkvPg0KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJCTxG
aWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiINCisJCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCQk+DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCQkvPg0KKwkJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4NCisJCQkJPC9GaWxlPg0KKwkJCQk8RmlsZQ0KIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxi
aW5kaW5nc1xqc1xKU0VsZW1lbnRDdXN0b20uY3BwIg0KIAkJCQkJPg0KIAkJCQkJPEZpbGVDb25m
aWd1cmF0aW9uDQpJbmRleDogV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oJKHJldmlzaW9uIDYzMDY3KQorKysgV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTExODIsNiArMTE4Miw4IEBACiAJCTU0QzUwRjdC
MEU4MDFERjMwMDk4MzJBMCAvKiBYTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTRDNTBGN0EwRTgwMURGMzAw
OTgzMkEwIC8qIFhNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAgKi87IH07CiAJCTU1MEEwQkM5
MDg1RjYwMzkwMDczNTNENiAvKiBRdWFsaWZpZWROYW1lLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU1MEEwQkM3MDg1RjYwMzkwMDczNTNENiAvKiBR
dWFsaWZpZWROYW1lLmNwcCAqLzsgfTsKIAkJNTUwQTBCQ0EwODVGNjAzOTAwNzM1M0Q2IC8qIFF1
YWxpZmllZE5hbWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDU1MEEwQkM4MDg1RjYwMzkwMDczNTNENiAvKiBRdWFsaWZpZWROYW1lLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNTkwRTFCNDkxMUU0RUY0
QjAwNjlGNzg0IC8qIERldmljZU9yaWVudGF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1OTBFMUI0ODExRTRFRjRCMDA2OUY3ODQgLyogRGV2aWNl
T3JpZW50YXRpb24uaCAqLzsgfTsKKwkJNTkwRTFCNEIxMUU0RUY3MDAwNjlGNzg0IC8qIEpTRGV2
aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1OTBFMUI0QTExRTRFRjcwMDA2OUY3ODQgLyogSlNEZXZpY2VP
cmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcCAqLzsgfTsKIAkJNTkxMzk1M0IxMTA3NTg0NTAwODNF
QzU1IC8qIEpOSUJyaWRnZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNTkxMzk1M0ExMTA3NTg0NTAwODNFQzU1IC8qIEpOSUJyaWRnZS5oICovOyB9Owog
CQk1OTEzOTUzRDExMDc1ODRFMDA4M0VDNTUgLyogSk5JQnJpZGdlLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5MTM5NTNDMTEwNzU4NEUwMDgzRUM1
NSAvKiBKTklCcmlkZ2UuY3BwICovOyB9OwogCQk1OTYyMjk3ODExMzNFRkQ3MDBEQzRDQkIgLyog
R2VvbG9jYXRpb25Qb3NpdGlvbkNhY2hlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDU5NjIyOTc3MTEzM0VGRDcwMERDNENCQiAvKiBHZW9sb2NhdGlv
blBvc2l0aW9uQ2FjaGUuY3BwICovOyB9OwpAQCAtNjkyMCw2ICs2OTIyLDggQEAKIAkJNTRDNTBG
N0EwRTgwMURGMzAwOTgzMkEwIC8qIFhNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBYTUxEb2N1bWVudFBhcnNlckxpYnhtbDIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NTBBMEJDNzA4NUY2MDM5MDA3MzUz
RDYgLyogUXVhbGlmaWVkTmFtZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBRdWFsaWZpZWROYW1lLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07CiAJCTU1MEEwQkM4MDg1RjYw
MzkwMDczNTNENiAvKiBRdWFsaWZpZWROYW1lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFF1YWxpZmllZE5hbWUuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07CisJCTU5MEUxQjQ4MTFFNEVG
NEIwMDY5Rjc4NCAvKiBEZXZpY2VPcmllbnRhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBEZXZpY2VPcmllbnRhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk1OTBFMUI0QTExRTRFRjcwMDA2OUY3ODQgLyogSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50
Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRGV2aWNl
T3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTU5MTM5NTNBMTEwNzU4NDUwMDgzRUM1NSAvKiBKTklCcmlkZ2UuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSk5JQnJpZGdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTU5MTM5NTNDMTEwNzU4NEUwMDgzRUM1NSAvKiBKTklCcmlkZ2UuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSk5JQnJpZGdlLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNTk2MjI5NzcxMTMzRUZENzAwREM0Q0JCIC8qIEdlb2xvY2F0aW9uUG9z
aXRpb25DYWNoZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHZW9s
b2NhdGlvblBvc2l0aW9uQ2FjaGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MTU3MTksNiArMTU3MjMsNyBAQAogCQlCQzRFREVGNzBDMDhGNDE0MDA3RURENDkgLyogQ3VzdG9t
ICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk1OTBFMUI0
QTExRTRFRjcwMDA2OUY3ODQgLyogSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcCAq
LywKIAkJCQlCQzI3NUNCMjExQzVFODVDMDBDOTIwNkMgLyogSlNBcnJheUJ1ZmZlckN1c3RvbS5j
cHAgKi8sCiAJCQkJNDkyMjczQTIxMDgzQjNCMTAwRUU1Qzg0IC8qIEpTQXJyYXlCdWZmZXJWaWV3
Q3VzdG9tLmNwcCAqLywKIAkJCQk4NjI0M0QwMDExQkMzMUY3MDBDQzAwNkEgLyogSlNBcnJheUJ1
ZmZlclZpZXdIZWxwZXIuaCAqLywKQEAgLTE2ODE2LDYgKzE2ODIxLDcgQEAKIAkJRjUyM0QzMjQw
MkRFNDQ3ODAxODYzNUNBIC8qIGRvbSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hp
bGRyZW4gPSAoCisJCQkJNTkwRTFCNDgxMUU0RUY0QjAwNjlGNzg0IC8qIERldmljZU9yaWVudGF0
aW9uLmggKi8sCiAJCQkJRTFDNERFNkQwRUE3NUM2NTAwMjNDQ0Q2IC8qIEFjdGl2ZURPTU9iamVj
dC5jcHAgKi8sCiAJCQkJRTFDNERFNjgwRUE3NUMxRTAwMjNDQ0Q2IC8qIEFjdGl2ZURPTU9iamVj
dC5oICovLAogCQkJCUE4QzRBN0ZDMDlENTYzMjcwMDAzQUM4RCAvKiBBdHRyLmNwcCAqLywKQEAg
LTE5NzY4LDYgKzE5Nzc0LDcgQEAKIAkJCQlDNTg1QTZGQTExRDRGQjNEMDA0QzNFNEIgLyogSW5k
ZXhlZERhdGFiYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDNTg1QTZGQzExRDRGQjNEMDA0QzNF
NEIgLyogSW5kZXhlZERhdGFiYXNlSW1wbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzU4NUE2RkUx
MUQ0RkIzRDAwNEMzRTRCIC8qIEluZGV4ZWREYXRhYmFzZVJlcXVlc3QuaCBpbiBIZWFkZXJzICov
LAorCQkJCTU5MEUxQjQ5MTFFNEVGNEIwMDY5Rjc4NCAvKiBEZXZpY2VPcmllbnRhdGlvbi5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2lu
ZyA9IDA7CiAJCX07CkBAIC0yMjE1Myw2ICsyMjE2MCw3IEBACiAJCQkJQzU4NUE2RjkxMUQ0RkIz
RDAwNEMzRTRCIC8qIEluZGV4ZWREYXRhYmFzZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDNTg1
QTZGQjExRDRGQjNEMDA0QzNFNEIgLyogSW5kZXhlZERhdGFiYXNlSW1wbC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlDNTg1QTZGRDExRDRGQjNEMDA0QzNFNEIgLyogSW5kZXhlZERhdGFiYXNlUmVx
dWVzdC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1OTBFMUI0QjExRTRFRjcwMDA2OUY3ODQgLyog
SlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsK
IAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpJbmRleDog
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvanMvSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50
Q3VzdG9tLmNwcAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvYmluZGluZ3MvanMvSlNEZXZpY2VP
cmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw4MyBAQAor
LyoKKyAqIENvcHlyaWdodCAyMDEwLCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0Cisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IE9XTkVSIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgor
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkpTRGV2aWNlT3JpZW50YXRpb25F
dmVudC5oIgorCisjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKKworI2luY2x1ZGUgIkRl
dmljZU9yaWVudGF0aW9uLmgiCisjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25FdmVudC5oIgor
Cit1c2luZyBuYW1lc3BhY2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0pTVmFsdWUg
SlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50OjphbHBoYShFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0Cit7
CisgICAgRGV2aWNlT3JpZW50YXRpb25FdmVudCogaW1wID0gc3RhdGljX2Nhc3Q8RGV2aWNlT3Jp
ZW50YXRpb25FdmVudCo+KGltcGwoKSk7CisgICAgaWYgKCFpbXAtPm9yaWVudGF0aW9uKCktPmNh
blByb3ZpZGVBbHBoYSgpKQorICAgICAgICByZXR1cm4ganNOdWxsKCk7CisgICAgcmV0dXJuIGpz
TnVtYmVyKGV4ZWMsIGltcC0+b3JpZW50YXRpb24oKS0+YWxwaGEoKSk7Cit9CisKK0pTVmFsdWUg
SlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50OjpiZXRhKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKK3sK
KyAgICBEZXZpY2VPcmllbnRhdGlvbkV2ZW50KiBpbXAgPSBzdGF0aWNfY2FzdDxEZXZpY2VPcmll
bnRhdGlvbkV2ZW50Kj4oaW1wbCgpKTsKKyAgICBpZiAoIWltcC0+b3JpZW50YXRpb24oKS0+Y2Fu
UHJvdmlkZUJldGEoKSkKKyAgICAgICAgcmV0dXJuIGpzTnVsbCgpOworICAgIHJldHVybiBqc051
bWJlcihleGVjLCBpbXAtPm9yaWVudGF0aW9uKCktPmJldGEoKSk7Cit9CisKK0pTVmFsdWUgSlNE
ZXZpY2VPcmllbnRhdGlvbkV2ZW50OjpnYW1tYShFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0Cit7Cisg
ICAgRGV2aWNlT3JpZW50YXRpb25FdmVudCogaW1wID0gc3RhdGljX2Nhc3Q8RGV2aWNlT3JpZW50
YXRpb25FdmVudCo+KGltcGwoKSk7CisgICAgaWYgKCFpbXAtPm9yaWVudGF0aW9uKCktPmNhblBy
b3ZpZGVHYW1tYSgpKQorICAgICAgICByZXR1cm4ganNOdWxsKCk7CisgICAgcmV0dXJuIGpzTnVt
YmVyKGV4ZWMsIGltcC0+b3JpZW50YXRpb24oKS0+Z2FtbWEoKSk7Cit9CisKK0pTVmFsdWUgSlNE
ZXZpY2VPcmllbnRhdGlvbkV2ZW50Ojppbml0RGV2aWNlT3JpZW50YXRpb25FdmVudChFeGVjU3Rh
dGUqIGV4ZWMpCit7CisgICAgY29uc3QgU3RyaW5nJiB0eXBlID0gdXN0cmluZ1RvU3RyaW5nKGV4
ZWMtPmFyZ3VtZW50KDApLnRvU3RyaW5nKGV4ZWMpKTsKKyAgICBib29sIGJ1YmJsZXMgPSBleGVj
LT5hcmd1bWVudCgxKS50b0Jvb2xlYW4oZXhlYyk7CisgICAgYm9vbCBjYW5jZWxhYmxlID0gZXhl
Yy0+YXJndW1lbnQoMikudG9Cb29sZWFuKGV4ZWMpOworICAgIC8vIElmIGFscGhhLCBiZXRhIG9y
IGdhbW1hIGFyZSBudWxsIG9yIHVuZGVmaW5lZCwgbWFyayB0aGVtIGFzIG5vdCBwcm92aWRlZC4K
KyAgICAvLyBPdGhlcndpc2UsIHVzZSB0aGUgc3RhbmRhcmQgSmF2YVNjcmlwdCBjb252ZXJzaW9u
LgorICAgIGJvb2wgYWxwaGFQcm92aWRlZCA9ICFleGVjLT5hcmd1bWVudCgzKS5pc1VuZGVmaW5l
ZE9yTnVsbCgpOworICAgIGRvdWJsZSBhbHBoYSA9IGV4ZWMtPmFyZ3VtZW50KDMpLnRvTnVtYmVy
KGV4ZWMpOworICAgIGJvb2wgYmV0YVByb3ZpZGVkID0gIWV4ZWMtPmFyZ3VtZW50KDQpLmlzVW5k
ZWZpbmVkT3JOdWxsKCk7CisgICAgZG91YmxlIGJldGEgPSBleGVjLT5hcmd1bWVudCg0KS50b051
bWJlcihleGVjKTsKKyAgICBib29sIGdhbW1hUHJvdmlkZWQgPSAhZXhlYy0+YXJndW1lbnQoNSku
aXNVbmRlZmluZWRPck51bGwoKTsKKyAgICBkb3VibGUgZ2FtbWEgPSBleGVjLT5hcmd1bWVudCg1
KS50b051bWJlcihleGVjKTsKKyAgICBSZWZQdHI8RGV2aWNlT3JpZW50YXRpb24+IG9yaWVudGF0
aW9uID0gRGV2aWNlT3JpZW50YXRpb246OmNyZWF0ZShhbHBoYVByb3ZpZGVkLCBhbHBoYSwgYmV0
YVByb3ZpZGVkLCBiZXRhLCBnYW1tYVByb3ZpZGVkLCBnYW1tYSk7CisgICAgRGV2aWNlT3JpZW50
YXRpb25FdmVudCogaW1wID0gc3RhdGljX2Nhc3Q8RGV2aWNlT3JpZW50YXRpb25FdmVudCo+KGlt
cGwoKSk7CisgICAgaW1wLT5pbml0RGV2aWNlT3JpZW50YXRpb25FdmVudCh0eXBlLCBidWJibGVz
LCBjYW5jZWxhYmxlLCBvcmllbnRhdGlvbi5nZXQoKSk7CisgICAgcmV0dXJuIGpzVW5kZWZpbmVk
KCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShERVZJ
Q0VfT1JJRU5UQVRJT04pCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERldmlj
ZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4RGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAJKHJldmlzaW9u
IDApCisrKyBXZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERldmljZU9yaWVudGF0aW9uRXZl
bnRDdXN0b20uY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDkwIEBACisvKgorICogQ29weXJp
Z2h0IDIwMTAsIFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiVjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50LmgiCisKKyNp
ZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQorCisjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRp
b24uaCIKKyNpbmNsdWRlICJWOEJpbmRpbmcuaCIKKyNpbmNsdWRlICJWOFByb3h5LmgiCisKKyNp
bmNsdWRlIDx2OC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3Y4OjpIYW5kbGU8djg6OlZh
bHVlPiBWOERldmljZU9yaWVudGF0aW9uRXZlbnQ6OmFscGhhQWNjZXNzb3JHZXR0ZXIodjg6Okxv
Y2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCit7Cisg
ICAgSU5DX1NUQVRTKCJET00uRGV2aWNlT3JpZW50YXRpb25FdmVudC5hbHBoYS5fZ2V0Iik7Cisg
ICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBob2xkZXIgPSBpbmZvLkhvbGRlcigpOworICAgIERl
dmljZU9yaWVudGF0aW9uRXZlbnQqIGltcCA9IFY4RGV2aWNlT3JpZW50YXRpb25FdmVudDo6dG9O
YXRpdmUoaG9sZGVyKTsKKyAgICBpZiAoIWltcC0+b3JpZW50YXRpb24oKS0+Y2FuUHJvdmlkZUFs
cGhhKCkpCisgICAgICAgIHJldHVybiB2ODo6TnVsbCgpOworICAgIHJldHVybiB2ODo6TnVtYmVy
OjpOZXcoaW1wLT5vcmllbnRhdGlvbigpLT5hbHBoYSgpKTsKK30KKwordjg6OkhhbmRsZTx2ODo6
VmFsdWU+IFY4RGV2aWNlT3JpZW50YXRpb25FdmVudDo6YmV0YUFjY2Vzc29yR2V0dGVyKHY4OjpM
b2NhbDx2ODo6U3RyaW5nPiBuYW1lLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQorewor
ICAgIElOQ19TVEFUUygiRE9NLkRldmljZU9yaWVudGF0aW9uRXZlbnQuYmV0YS5fZ2V0Iik7Cisg
ICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBob2xkZXIgPSBpbmZvLkhvbGRlcigpOworICAgIERl
dmljZU9yaWVudGF0aW9uRXZlbnQqIGltcCA9IFY4RGV2aWNlT3JpZW50YXRpb25FdmVudDo6dG9O
YXRpdmUoaG9sZGVyKTsKKyAgICBpZiAoIWltcC0+b3JpZW50YXRpb24oKS0+Y2FuUHJvdmlkZUJl
dGEoKSkKKyAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CisgICAgcmV0dXJuIHY4OjpOdW1iZXI6
Ok5ldyhpbXAtPm9yaWVudGF0aW9uKCktPmJldGEoKSk7Cit9CisKK3Y4OjpIYW5kbGU8djg6OlZh
bHVlPiBWOERldmljZU9yaWVudGF0aW9uRXZlbnQ6OmdhbW1hQWNjZXNzb3JHZXR0ZXIodjg6Okxv
Y2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCit7Cisg
ICAgSU5DX1NUQVRTKCJET00uRGV2aWNlT3JpZW50YXRpb25FdmVudC5nYW1tYS5fZ2V0Iik7Cisg
ICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBob2xkZXIgPSBpbmZvLkhvbGRlcigpOworICAgIERl
dmljZU9yaWVudGF0aW9uRXZlbnQqIGltcCA9IFY4RGV2aWNlT3JpZW50YXRpb25FdmVudDo6dG9O
YXRpdmUoaG9sZGVyKTsKKyAgICBpZiAoIWltcC0+b3JpZW50YXRpb24oKS0+Y2FuUHJvdmlkZUdh
bW1hKCkpCisgICAgICAgIHJldHVybiB2ODo6TnVsbCgpOworICAgIHJldHVybiB2ODo6TnVtYmVy
OjpOZXcoaW1wLT5vcmllbnRhdGlvbigpLT5nYW1tYSgpKTsKK30KKwordjg6OkhhbmRsZTx2ODo6
VmFsdWU+IFY4RGV2aWNlT3JpZW50YXRpb25FdmVudDo6aW5pdERldmljZU9yaWVudGF0aW9uRXZl
bnRDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQoreworICAgIERldmljZU9yaWVu
dGF0aW9uRXZlbnQqIGltcCA9IFY4RGV2aWNlT3JpZW50YXRpb25FdmVudDo6dG9OYXRpdmUoYXJn
cy5Ib2xkZXIoKSk7CisgICAgVjhQYXJhbWV0ZXI8PiB0eXBlID0gYXJnc1swXTsKKyAgICBib29s
IGJ1YmJsZXMgPSBhcmdzWzFdLT5Cb29sZWFuVmFsdWUoKTsKKyAgICBib29sIGNhbmNlbGFibGUg
PSBhcmdzWzJdLT5Cb29sZWFuVmFsdWUoKTsKKyAgICAvLyBJZiBhbHBoYSwgYmV0YSBvciBnYW1t
YSBhcmUgbnVsbCBvciB1bmRlZmluZWQsIG1hcmsgdGhlbSBhcyBub3QgcHJvdmlkZWQuCisgICAg
Ly8gT3RoZXJ3aXNlLCB1c2UgdGhlIHN0YW5kYXJkIEphdmFTY3JpcHQgY29udmVyc2lvbi4KKyAg
ICBib29sIGFscGhhUHJvdmlkZWQgPSAhaXNVbmRlZmluZWRPck51bGwoYXJnc1szXSk7CisgICAg
ZG91YmxlIGFscGhhID0gc3RhdGljX2Nhc3Q8ZG91YmxlPihhcmdzWzNdLT5OdW1iZXJWYWx1ZSgp
KTsKKyAgICBib29sIGJldGFQcm92aWRlZCA9ICFpc1VuZGVmaW5lZE9yTnVsbChhcmdzWzRdKTsK
KyAgICBkb3VibGUgYmV0YSA9IHN0YXRpY19jYXN0PGRvdWJsZT4oYXJnc1s0XS0+TnVtYmVyVmFs
dWUoKSk7CisgICAgYm9vbCBnYW1tYVByb3ZpZGVkID0gIWlzVW5kZWZpbmVkT3JOdWxsKGFyZ3Nb
NV0pOworICAgIGRvdWJsZSBnYW1tYSA9IHN0YXRpY19jYXN0PGRvdWJsZT4oYXJnc1s1XS0+TnVt
YmVyVmFsdWUoKSk7CisgICAgUmVmUHRyPERldmljZU9yaWVudGF0aW9uPiBvcmllbnRhdGlvbiA9
IERldmljZU9yaWVudGF0aW9uOjpjcmVhdGUoYWxwaGFQcm92aWRlZCwgYWxwaGEsIGJldGFQcm92
aWRlZCwgYmV0YSwgZ2FtbWFQcm92aWRlZCwgZ2FtbWEpOworICAgIGltcC0+aW5pdERldmljZU9y
aWVudGF0aW9uRXZlbnQodHlwZSwgYnViYmxlcywgY2FuY2VsYWJsZSwgb3JpZW50YXRpb24uZ2V0
KCkpOworICAgIHJldHVybiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKTsKK30KKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKSW5k
ZXg6IFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9kb20vRGV2aWNlT3JpZW50YXRpb24uaAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvZG9tL0Rl
dmljZU9yaWVudGF0aW9uLmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNzYgQEAKKy8qCisgKiBD
b3B5cmlnaHQgMjAxMCwgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBP
UgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
Zm5kZWYgRGV2aWNlT3JpZW50YXRpb25faAorI2RlZmluZSBEZXZpY2VPcmllbnRhdGlvbl9oCisK
KyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Ns
YXNzIERldmljZU9yaWVudGF0aW9uIDogcHVibGljIFJlZkNvdW50ZWQ8RGV2aWNlT3JpZW50YXRp
b24+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxEZXZpY2VPcmllbnRhdGlvbj4g
Y3JlYXRlKCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgRGV2aWNlT3JpZW50
YXRpb24pOworICAgIH0KKworICAgIHN0YXRpYyBQYXNzUmVmUHRyPERldmljZU9yaWVudGF0aW9u
PiBjcmVhdGUoYm9vbCBjYW5Qcm92aWRlQWxwaGEsIGRvdWJsZSBhbHBoYSwgYm9vbCBjYW5Qcm92
aWRlQmV0YSwgZG91YmxlIGJldGEsIGJvb2wgY2FuUHJvdmlkZUdhbW1hLCBkb3VibGUgZ2FtbWEp
CisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IERldmljZU9yaWVudGF0aW9uKGNh
blByb3ZpZGVBbHBoYSwgYWxwaGEsIGNhblByb3ZpZGVCZXRhLCBiZXRhLCBjYW5Qcm92aWRlR2Ft
bWEsIGdhbW1hKSk7CisgICAgfQorCisgICAgZG91YmxlIGFscGhhKCkgY29uc3QgeyByZXR1cm4g
bV9hbHBoYTsgfQorICAgIGRvdWJsZSBiZXRhKCkgY29uc3QgeyByZXR1cm4gbV9iZXRhOyB9Cisg
ICAgZG91YmxlIGdhbW1hKCkgY29uc3QgeyByZXR1cm4gbV9nYW1tYTsgfQorICAgIGJvb2wgY2Fu
UHJvdmlkZUFscGhhKCkgY29uc3QgeyByZXR1cm4gbV9jYW5Qcm92aWRlQWxwaGE7IH0KKyAgICBi
b29sIGNhblByb3ZpZGVCZXRhKCkgY29uc3QgeyByZXR1cm4gbV9jYW5Qcm92aWRlQmV0YTsgfQor
ICAgIGJvb2wgY2FuUHJvdmlkZUdhbW1hKCkgY29uc3QgeyByZXR1cm4gbV9jYW5Qcm92aWRlR2Ft
bWE7IH0KKworcHJpdmF0ZToKKyAgICBEZXZpY2VPcmllbnRhdGlvbigpCisgICAgICAgIDogbV9j
YW5Qcm92aWRlQWxwaGEoZmFsc2UpCisgICAgICAgICwgbV9jYW5Qcm92aWRlQmV0YShmYWxzZSkK
KyAgICAgICAgLCBtX2NhblByb3ZpZGVHYW1tYShmYWxzZSkge30KKworICAgIERldmljZU9yaWVu
dGF0aW9uKGJvb2wgY2FuUHJvdmlkZUFscGhhLCBkb3VibGUgYWxwaGEsIGJvb2wgY2FuUHJvdmlk
ZUJldGEsIGRvdWJsZSBiZXRhLCBib29sIGNhblByb3ZpZGVHYW1tYSwgZG91YmxlIGdhbW1hKQor
ICAgICAgICA6IG1fY2FuUHJvdmlkZUFscGhhKGNhblByb3ZpZGVBbHBoYSkKKyAgICAgICAgLCBt
X2NhblByb3ZpZGVCZXRhKGNhblByb3ZpZGVCZXRhKQorICAgICAgICAsIG1fY2FuUHJvdmlkZUdh
bW1hKGNhblByb3ZpZGVHYW1tYSkKKyAgICAgICAgLCBtX2FscGhhKGFscGhhKQorICAgICAgICAs
IG1fYmV0YShiZXRhKQorICAgICAgICAsIG1fZ2FtbWEoZ2FtbWEpIHt9CisKKyAgICBib29sIG1f
Y2FuUHJvdmlkZUFscGhhOworICAgIGJvb2wgbV9jYW5Qcm92aWRlQmV0YTsKKyAgICBib29sIG1f
Y2FuUHJvdmlkZUdhbW1hOworICAgIGRvdWJsZSBtX2FscGhhOworICAgIGRvdWJsZSBtX2JldGE7
CisgICAgZG91YmxlIG1fZ2FtbWE7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyBEZXZpY2VPcmllbnRhdGlvbl9oCkluZGV4OiBXZWJDb3JlL2RvbS9EZXZpY2VPcmll
bnRhdGlvbkV2ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRh
dGlvbkV2ZW50LmNwcAkocmV2aXNpb24gNjMwNjcpCisrKyBXZWJDb3JlL2RvbS9EZXZpY2VPcmll
bnRhdGlvbkV2ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYsMzUgKzI2LDMwIEBACiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25FdmVudC5oIgogCisj
aW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb24uaCIKKwogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5U
QVRJT04pCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogRGV2aWNlT3JpZW50YXRpb25FdmVudDo6
RGV2aWNlT3JpZW50YXRpb25FdmVudCgpCi0gICAgOiBtX2FscGhhKDApCi0gICAgLCBtX2JldGEo
MCkKLSAgICAsIG1fZ2FtbWEoMCkKKyAgICA6IG1fb3JpZW50YXRpb24oRGV2aWNlT3JpZW50YXRp
b246OmNyZWF0ZSgpKQogewogfQogCi1EZXZpY2VPcmllbnRhdGlvbkV2ZW50OjpEZXZpY2VPcmll
bnRhdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBkb3VibGUgYWxwaGEs
IGRvdWJsZSBiZXRhLCBkb3VibGUgZ2FtbWEpCitEZXZpY2VPcmllbnRhdGlvbkV2ZW50OjpEZXZp
Y2VPcmllbnRhdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBEZXZpY2VP
cmllbnRhdGlvbiogb3JpZW50YXRpb24pCiAgICAgOiBFdmVudChldmVudFR5cGUsIGZhbHNlLCBm
YWxzZSkgLy8gQ2FuJ3QgYnViYmxlLCBub3QgY2FuY2VsYWJsZQotICAgICwgbV9hbHBoYShhbHBo
YSkKLSAgICAsIG1fYmV0YShiZXRhKQotICAgICwgbV9nYW1tYShnYW1tYSkKKyAgICAsIG1fb3Jp
ZW50YXRpb24ob3JpZW50YXRpb24pCiB7CiB9CiAKLXZvaWQgRGV2aWNlT3JpZW50YXRpb25FdmVu
dDo6aW5pdERldmljZU9yaWVudGF0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5
cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIGRvdWJsZSBhbHBoYSwgZG91Ymxl
IGJldGEsIGRvdWJsZSBnYW1tYSkKK3ZvaWQgRGV2aWNlT3JpZW50YXRpb25FdmVudDo6aW5pdERl
dmljZU9yaWVudGF0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGJ1YmJs
ZXMsIGJvb2wgY2FuY2VsYWJsZSwgRGV2aWNlT3JpZW50YXRpb24qIG9yaWVudGF0aW9uKQogewog
ICAgIGlmIChkaXNwYXRjaGVkKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGluaXRFdmVudChl
dmVudFR5cGUsIGNhbkJ1YmJsZSwgY2FuY2VsYWJsZSk7Ci0KLSAgICBtX2FscGhhID0gYWxwaGE7
Ci0gICAgbV9iZXRhID0gYmV0YTsKLSAgICBtX2dhbW1hID0gZ2FtbWE7CisgICAgaW5pdEV2ZW50
KHR5cGUsIGJ1YmJsZXMsIGNhbmNlbGFibGUpOworICAgIG1fb3JpZW50YXRpb24gPSBvcmllbnRh
dGlvbjsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9kb20vRGV2
aWNlT3JpZW50YXRpb25FdmVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0RldmljZU9y
aWVudGF0aW9uRXZlbnQuaAkocmV2aXNpb24gNjMwNjcpCisrKyBXZWJDb3JlL2RvbS9EZXZpY2VP
cmllbnRhdGlvbkV2ZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTMwLDMxICszMCwzMCBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIERldmljZU9yaWVudGF0aW9uOworCiBjbGFzcyBE
ZXZpY2VPcmllbnRhdGlvbkV2ZW50IDogcHVibGljIEV2ZW50IHsKIHB1YmxpYzoKICAgICBzdGF0
aWMgUGFzc1JlZlB0cjxEZXZpY2VPcmllbnRhdGlvbkV2ZW50PiBjcmVhdGUoKQogICAgIHsKICAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBEZXZpY2VPcmllbnRhdGlvbkV2ZW50KTsKICAgICB9
Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8RGV2aWNlT3JpZW50YXRpb25FdmVudD4gY3JlYXRlKGNv
bnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBkb3VibGUgYWxwaGEsIGRvdWJsZSBiZXRhLCBk
b3VibGUgZ2FtbWEpCisgICAgc3RhdGljIFBhc3NSZWZQdHI8RGV2aWNlT3JpZW50YXRpb25FdmVu
dD4gY3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBEZXZpY2VPcmllbnRhdGlv
biogb3JpZW50YXRpb24pCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IERldmlj
ZU9yaWVudGF0aW9uRXZlbnQoZXZlbnRUeXBlLCBhbHBoYSwgYmV0YSwgZ2FtbWEpKTsKKyAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBEZXZpY2VPcmllbnRhdGlvbkV2ZW50KGV2ZW50VHlwZSwg
b3JpZW50YXRpb24pKTsKICAgICB9CiAKLSAgICB2b2lkIGluaXREZXZpY2VPcmllbnRhdGlvbkV2
ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBj
YW5jZWxhYmxlLCBkb3VibGUgYWxwaGEsIGRvdWJsZSBiZXRhLCBkb3VibGUgZ2FtbWEpOwotICAg
IGRvdWJsZSBhbHBoYSgpIGNvbnN0IHsgcmV0dXJuIG1fYWxwaGE7IH0KLSAgICBkb3VibGUgYmV0
YSgpIGNvbnN0IHsgcmV0dXJuIG1fYmV0YTsgfQotICAgIGRvdWJsZSBnYW1tYSgpIGNvbnN0IHsg
cmV0dXJuIG1fZ2FtbWE7IH0KKyAgICB2b2lkIGluaXREZXZpY2VPcmllbnRhdGlvbkV2ZW50KGNv
bnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBidWJibGVzLCBib29sIGNhbmNlbGFibGUsIERl
dmljZU9yaWVudGF0aW9uKik7CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNEZXZpY2VPcmllbnRhdGlv
bkV2ZW50KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogCisgICAgRGV2aWNlT3JpZW50YXRpb24q
IG9yaWVudGF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9vcmllbnRhdGlvbi5nZXQoKTsgfQorCiBw
cml2YXRlOgogICAgIERldmljZU9yaWVudGF0aW9uRXZlbnQoKTsKLSAgICBEZXZpY2VPcmllbnRh
dGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBkb3VibGUgYWxwaGEsIGRv
dWJsZSBiZXRhLCBkb3VibGUgZ2FtbWEpOworICAgIERldmljZU9yaWVudGF0aW9uRXZlbnQoY29u
c3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIERldmljZU9yaWVudGF0aW9uKik7CiAKLSAgICBk
b3VibGUgbV9hbHBoYTsKLSAgICBkb3VibGUgbV9iZXRhOwotICAgIGRvdWJsZSBtX2dhbW1hOwor
ICAgIFJlZlB0cjxEZXZpY2VPcmllbnRhdGlvbj4gbV9vcmllbnRhdGlvbjsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZl
bnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQu
aWRsCShyZXZpc2lvbiA2MzA2NykKKysrIFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZl
bnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOCwxMCArMjgsMTAgQEAgbW9kdWxlIGNvcmUgewog
ICAgIGludGVyZmFjZSBbCiAgICAgICAgIENvbmRpdGlvbmFsPURFVklDRV9PUklFTlRBVElPTgog
ICAgIF0gRGV2aWNlT3JpZW50YXRpb25FdmVudCA6IEV2ZW50IHsKLSAgICAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIGRvdWJsZSBhbHBoYTsKLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJs
ZSBiZXRhOwotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIGdhbW1hOwotICAgICAg
ICB2b2lkIGluaXREZXZpY2VPcmllbnRhdGlvbkV2ZW50KGluIERPTVN0cmluZyB0eXBlQXJnLCBp
biBib29sZWFuIGNhbkJ1YmJsZUFyZywgaW4gYm9vbGVhbiBjYW5jZWxhYmxlQXJnLCBpbiBkb3Vi
bGUgYWxwaGEsIGluIGRvdWJsZSBiZXRhLCBpbiBkb3VibGUgZ2FtbWEpOworICAgICAgICByZWFk
b25seSBhdHRyaWJ1dGUgW0N1c3RvbV0gZG91YmxlIGFscGhhOworICAgICAgICByZWFkb25seSBh
dHRyaWJ1dGUgW0N1c3RvbV0gZG91YmxlIGJldGE7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBbQ3VzdG9tXSBkb3VibGUgZ2FtbWE7CisgICAgICAgIFtDdXN0b21dIHZvaWQgaW5pdERldmlj
ZU9yaWVudGF0aW9uRXZlbnQoaW4gRE9NU3RyaW5nIHR5cGUsIGluIGJvb2xlYW4gYnViYmxlcywg
aW4gYm9vbGVhbiBjYW5jZWxhYmxlLCBpbiBkb3VibGUgYWxwaGEsIGluIGRvdWJsZSBiZXRhLCBp
biBkb3VibGUgZ2FtbWEpOwogICAgIH07CiAKIH0KSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDYzMDY3KQor
KysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTAtMDctMTIgIFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29nbGUuY29tPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERldmljZU9yaWVudGF0
aW9uRXZlbnQgc2hvdWxkIHVzZSBvcHRpb25hbCBwcm9wZXJ0aWVzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MTYwNworCisgICAgICAgICogZmFzdC9k
b20vRGV2aWNlT3JpZW50YXRpb24vb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0RldmljZU9yaWVudGF0aW9uL29wdGlvbmFs
LWV2ZW50LXByb3BlcnRpZXMuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vRGV2aWNl
T3JpZW50YXRpb24vc2NyaXB0LXRlc3RzL29wdGlvbmFsLWV2ZW50LXByb3BlcnRpZXMuanM6IEFk
ZGVkLgorCiAyMDEwLTA3LTEyICBTdGV2ZSBCbG9jayAgPHN0ZXZlYmxvY2tAZ29vZ2xlLmNvbT4K
IAogICAgICAgICBSZXZpZXdlZCBieSBBbGV4ZXkgUHJvc2t1cnlha292LgpJbmRleDogTGF5b3V0
VGVzdHMvZmFzdC9kb20vRGV2aWNlT3JpZW50YXRpb24vb3B0aW9uYWwtZXZlbnQtcHJvcGVydGll
cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNl
T3JpZW50YXRpb24vb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VPcmllbnRhdGlvbi9vcHRpb25h
bC1ldmVudC1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwz
MCBAQAorVGVzdHMgdGhlIG9wdGlvbmFsIHByb3BlcnRpZXMgb2YgRGV2aWNlT3JpZW50YXRpb25F
dmVudC4gRWFjaCBwcm9wZXJ0eSBzaG91bGQgYmUgbnVsbCBpZiBub3Qgc2V0LCBvciBzZXQgdG8g
bnVsbCBvciB1bmRlZmluZWQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNT
IGV2ZW50LmFscGhhID09IG51bGwgaXMgdHJ1ZQorUEFTUyBldmVudC5iZXRhID09IG51bGwgaXMg
dHJ1ZQorUEFTUyBldmVudC5nYW1tYSA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQuYWxwaGEg
PT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50LmJldGEgPT0gMSBpcyB0cnVlCitQQVNTIGV2ZW50Lmdh
bW1hID09IDIgaXMgdHJ1ZQorUEFTUyBldmVudC5hbHBoYSA9PSBudWxsIGlzIHRydWUKK1BBU1Mg
ZXZlbnQuYmV0YSA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQuZ2FtbWEgPT0gbnVsbCBpcyB0
cnVlCitQQVNTIGV2ZW50LmFscGhhID09IDAgaXMgdHJ1ZQorUEFTUyBldmVudC5iZXRhID09IDAg
aXMgdHJ1ZQorUEFTUyBldmVudC5nYW1tYSA9PSAwIGlzIHRydWUKK1BBU1MgZXZlbnQuYWxwaGEg
PT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2ZW50LmJldGEgPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2
ZW50LmdhbW1hID09IG51bGwgaXMgdHJ1ZQorUEFTUyBldmVudC5hbHBoYSA9PSAwIGlzIHRydWUK
K1BBU1MgZXZlbnQuYmV0YSA9PSAwIGlzIHRydWUKK1BBU1MgZXZlbnQuZ2FtbWEgPT0gMCBpcyB0
cnVlCitQQVNTIGV2ZW50LmFscGhhID09IG51bGwgaXMgdHJ1ZQorUEFTUyBldmVudC5iZXRhID09
IG51bGwgaXMgdHJ1ZQorUEFTUyBldmVudC5nYW1tYSA9PSBudWxsIGlzIHRydWUKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L2RvbS9EZXZpY2VPcmllbnRhdGlvbi9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVz
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlT3JpZW50YXRp
b24vb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvZmFzdC9kb20vRGV2aWNlT3JpZW50YXRpb24vb3B0aW9uYWwtZXZlbnQtcHJvcGVydGll
cy5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEyIEBACis8aHRtbD4KKzxoZWFkPgorPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHls
ZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL29wdGlvbmFs
LWV2ZW50LXByb3BlcnRpZXMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlT3JpZW50YXRpb24vc2NyaXB0LXRlc3RzL29w
dGlvbmFsLWV2ZW50LXByb3BlcnRpZXMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9kb20vRGV2aWNlT3JpZW50YXRpb24vc2NyaXB0LXRlc3RzL29wdGlvbmFsLWV2ZW50LXByb3Bl
cnRpZXMuanMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VPcmll
bnRhdGlvbi9zY3JpcHQtdGVzdHMvb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5qcwkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSw0NSBAQAorZGVzY3JpcHRpb24oIlRlc3RzIHRoZSBvcHRpb25hbCBw
cm9wZXJ0aWVzIG9mIERldmljZU9yaWVudGF0aW9uRXZlbnQuIEVhY2ggcHJvcGVydHkgc2hvdWxk
IGJlIG51bGwgaWYgbm90IHNldCwgb3Igc2V0IHRvIG51bGwgb3IgdW5kZWZpbmVkLiIpOworCit2
YXIgZXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnRGV2aWNlT3JpZW50YXRpb25FdmVudCcp
OworCitzaG91bGRCZVRydWUoImV2ZW50LmFscGhhID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1ZSgi
ZXZlbnQuYmV0YSA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50LmdhbW1hID09IG51bGwi
KTsKKworZXZlbnQuaW5pdERldmljZU9yaWVudGF0aW9uRXZlbnQoIiIsIGZhbHNlLCBmYWxzZSwg
MCwgMSwgMik7CisKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuYWxwaGEgPT0gMCIpOworc2hvdWxkQmVU
cnVlKCJldmVudC5iZXRhID09IDEiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuZ2FtbWEgPT0gMiIp
OworCitldmVudC5pbml0RGV2aWNlT3JpZW50YXRpb25FdmVudCgpOworCitzaG91bGRCZVRydWUo
ImV2ZW50LmFscGhhID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuYmV0YSA9PSBudWxs
Iik7CitzaG91bGRCZVRydWUoImV2ZW50LmdhbW1hID09IG51bGwiKTsKKworZXZlbnQuaW5pdERl
dmljZU9yaWVudGF0aW9uRXZlbnQoIiIsIGZhbHNlLCBmYWxzZSwgW10sIFtdLCBbXSk7CisKK3No
b3VsZEJlVHJ1ZSgiZXZlbnQuYWxwaGEgPT0gMCIpOworc2hvdWxkQmVUcnVlKCJldmVudC5iZXRh
ID09IDAiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuZ2FtbWEgPT0gMCIpOworCitldmVudC5pbml0
RGV2aWNlT3JpZW50YXRpb25FdmVudCgiIiwgZmFsc2UsIGZhbHNlLCB1bmRlZmluZWQsIHVuZGVm
aW5lZCwgdW5kZWZpbmVkKTsKKworc2hvdWxkQmVUcnVlKCJldmVudC5hbHBoYSA9PSBudWxsIik7
CitzaG91bGRCZVRydWUoImV2ZW50LmJldGEgPT0gbnVsbCIpOworc2hvdWxkQmVUcnVlKCJldmVu
dC5nYW1tYSA9PSBudWxsIik7CisKK2V2ZW50LmluaXREZXZpY2VPcmllbnRhdGlvbkV2ZW50KCIi
LCBmYWxzZSwgZmFsc2UsICIiLCAiIiwgIiIpOworCitzaG91bGRCZVRydWUoImV2ZW50LmFscGhh
ID09IDAiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuYmV0YSA9PSAwIik7CitzaG91bGRCZVRydWUo
ImV2ZW50LmdhbW1hID09IDAiKTsKKworZXZlbnQuaW5pdERldmljZU9yaWVudGF0aW9uRXZlbnQo
IiIsIGZhbHNlLCBmYWxzZSwgbnVsbCwgbnVsbCwgbnVsbCk7CisKK3Nob3VsZEJlVHJ1ZSgiZXZl
bnQuYWxwaGEgPT0gbnVsbCIpOworc2hvdWxkQmVUcnVlKCJldmVudC5iZXRhID09IG51bGwiKTsK
K3Nob3VsZEJlVHJ1ZSgiZXZlbnQuZ2FtbWEgPT0gbnVsbCIpOworCit3aW5kb3cuc3VjY2Vzc2Z1
bGx5UGFyc2VkID0gdHJ1ZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61226</attachid>
            <date>2010-07-12 07:36:35 -0700</date>
            <delta_ts>2010-07-12 16:22:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-41607-20100712153631.patch</filename>
            <type>text/plain</type>
            <size>41836</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MzA2NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNTQgQEAKKzIwMTAtMDctMTIgIFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IERldmljZU9yaWVudGF0aW9uRXZlbnQgc2hvdWxkIHVzZSBvcHRpb25hbCBwcm9wZXJ0aWVzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MTYwNworCisg
ICAgICAgIFRoaXMgY2hhbmdlIGFkZHMgYSBuZXcgRGV2aWNlT3JpZW50YXRpb24gY2xhc3Mgd2hp
Y2ggdGFrZXMgY2FyZSBvZiB3aGljaCBvZiB0aGUKKyAgICAgICAgb3B0aW9uYWwgcHJvcGVydGll
cyBhcmUgcHJlc2VudC4gRGV2aWNlT3JpZW50YXRpb25FdmVudCBvd25zIGFuIGluc3RhbmNlIG9m
CisgICAgICAgIERldmljZU9yaWVudGF0aW9uLCByYXRoZXIgdGhhbiBvd25pbmcgdGhlIHByb3Bl
cnRpZXMgZGlyZWN0bHkuCisgICAgICAgIERldmljZU9yaWVudGF0aW9uRXZlbnQgbm93IHJlcXVp
cmVzIGN1c3RvbSBiaW5kaW5ncy4KKworICAgICAgICBUZXN0OiBmYXN0L2RvbS9EZXZpY2VPcmll
bnRhdGlvbi9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmh0bWwKKworICAgICAgICAqIEFuZHJv
aWQubWs6CisgICAgICAgICogQW5kcm9pZC5qc2NiaW5kaW5ncy5tazoKKyAgICAgICAgKiBBbmRy
b2lkLnY4YmluZGluZ3MubWs6CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICog
R05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNv
cmUucHJvOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAg
ICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9KU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OkpTRGV2aWNlT3JpZW50YXRpb25FdmVudDo6YWxwaGEpOgorICAgICAgICAoV2Vi
Q29yZTo6SlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50OjpiZXRhKToKKyAgICAgICAgKFdlYkNvcmU6
OkpTRGV2aWNlT3JpZW50YXRpb25FdmVudDo6Z2FtbWEpOgorICAgICAgICAoV2ViQ29yZTo6SlNE
ZXZpY2VPcmllbnRhdGlvbkV2ZW50Ojppbml0RGV2aWNlT3JpZW50YXRpb25FdmVudCk6CisgICAg
ICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5j
cHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6VjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50Ojph
bHBoYUFjY2Vzc29yR2V0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlY4RGV2aWNlT3JpZW50YXRp
b25FdmVudDo6YmV0YUFjY2Vzc29yR2V0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlY4RGV2aWNl
T3JpZW50YXRpb25FdmVudDo6Z2FtbWFBY2Nlc3NvckdldHRlcik6CisgICAgICAgIChXZWJDb3Jl
OjpWOERldmljZU9yaWVudGF0aW9uRXZlbnQ6OmluaXREZXZpY2VPcmllbnRhdGlvbkV2ZW50Q2Fs
bGJhY2spOgorICAgICAgICAqIGRvbS9EZXZpY2VPcmllbnRhdGlvbi5jcHA6IEFkZGVkLgorICAg
ICAgICAqIGRvbS9EZXZpY2VPcmllbnRhdGlvbi5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OkRldmljZU9yaWVudGF0aW9uOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3Jp
ZW50YXRpb246OmNhblByb3ZpZGVBbHBoYSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmll
bnRhdGlvbjo6YWxwaGEpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb246OmNh
blByb3ZpZGVCZXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uOjpiZXRh
KToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uOjpjYW5Qcm92aWRlR2FtbWEp
OgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb246OmdhbW1hKToKKyAgICAgICAg
KFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uOjpEZXZpY2VPcmllbnRhdGlvbik6CisgICAgICAg
ICogZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGV2
aWNlT3JpZW50YXRpb25FdmVudDo6RGV2aWNlT3JpZW50YXRpb25FdmVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbkV2ZW50Ojppbml0RGV2aWNlT3JpZW50YXRpb25FdmVu
dCk6CisgICAgICAgICogZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuaDoKKyAgICAgICAgKFdl
YkNvcmU6OkRldmljZU9yaWVudGF0aW9uRXZlbnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpEZXZpY2VPcmllbnRhdGlvbkV2ZW50OjpvcmllbnRhdGlvbik6CisgICAgICAgICogZG9tL0Rl
dmljZU9yaWVudGF0aW9uRXZlbnQuaWRsOgorCiAyMDEwLTA3LTEyICBQYXZlbCBGZWxkbWFuICA8
cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIE5vdCByZXZpZXdlZC4gQ2hyb21pdW0g
dGVzdHMgZml4LgpJbmRleDogV2ViQ29yZS9BbmRyb2lkLmpzY2JpbmRpbmdzLm1rCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5tawkocmV2aXNpb24gNjMwNjcpCisr
KyBXZWJDb3JlL0FuZHJvaWQuanNjYmluZGluZ3MubWsJKHdvcmtpbmcgY29weSkKQEAgLTgwLDE5
ICs4MCwyMCBAQCBMT0NBTF9TUkNfRklMRVMgKz0gXAogCWJpbmRpbmdzL2pzL0pTQ3VzdG9tU1FM
VHJhbnNhY3Rpb25DYWxsYmFjay5jcHAgXAogCWJpbmRpbmdzL2pzL0pTQ3VzdG9tU1FMVHJhbnNh
Y3Rpb25FcnJvckNhbGxiYWNrLmNwcCBcCiAJYmluZGluZ3MvanMvSlNDdXN0b21Wb2lkQ2FsbGJh
Y2suY3BwIFwKLQliaW5kaW5ncy9qcy9KU0RhdGFiYXNlQ2FsbGJhY2suY3BwIFwKLQliaW5kaW5n
cy9qcy9KU0Rlc2t0b3BOb3RpZmljYXRpb25zQ3VzdG9tLmNwcCBcCiAJYmluZGluZ3MvanMvSlNE
T01BcHBsaWNhdGlvbkNhY2hlQ3VzdG9tLmNwcCBcCiAJYmluZGluZ3MvanMvSlNET01CaW5kaW5n
LmNwcCBcCi0gIGJpbmRpbmdzL2pzL0pTRE9NRm9ybURhdGFDdXN0b20uY3BwIFwKKwliaW5kaW5n
cy9qcy9KU0RPTUZvcm1EYXRhQ3VzdG9tLmNwcCBcCiAJYmluZGluZ3MvanMvSlNET01HbG9iYWxP
YmplY3QuY3BwIFwKIAliaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwIFwKIAliaW5kaW5n
cy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAgXAogCWJpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hl
bGwuY3BwIFwKKwliaW5kaW5ncy9qcy9KU0RhdGFiYXNlQ2FsbGJhY2suY3BwIFwKIAliaW5kaW5n
cy9qcy9KU0RhdGFHcmlkQ29sdW1uTGlzdEN1c3RvbS5jcHAgXAogCWJpbmRpbmdzL2pzL0pTRGF0
YUdyaWREYXRhU291cmNlLmNwcCBcCiAJYmluZGluZ3MvanMvSlNEYXRhYmFzZUN1c3RvbS5jcHAg
XAogCWJpbmRpbmdzL2pzL0pTRGVkaWNhdGVkV29ya2VyQ29udGV4dEN1c3RvbS5jcHAgXAorCWJp
bmRpbmdzL2pzL0pTRGVza3RvcE5vdGlmaWNhdGlvbnNDdXN0b20uY3BwIFwKKwliaW5kaW5ncy9q
cy9KU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwIFwKIAliaW5kaW5ncy9qcy9KU0Rv
Y3VtZW50Q3VzdG9tLmNwcCBcCiAJYmluZGluZ3MvanMvSlNFbGVtZW50Q3VzdG9tLmNwcCBcCiAJ
YmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAgXApJbmRleDogV2ViQ29yZS9BbmRyb2lkLm1r
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQW5kcm9pZC5tawkocmV2aXNpb24gNjMwNjcpCisrKyBX
ZWJDb3JlL0FuZHJvaWQubWsJKHdvcmtpbmcgY29weSkKQEAgLTE0OCw2ICsxNDgsNyBAQCBMT0NB
TF9TUkNfRklMRVMgOj0gJChMT0NBTF9TUkNfRklMRVMpIFwKIAlkb20vTm90YXRpb24uY3BwIFwK
IAlkb20vT3B0aW9uRWxlbWVudC5jcHAgXAogCWRvbS9PcHRpb25Hcm91cEVsZW1lbnQuY3BwIFwK
Kwlkb20vRGV2aWNlT3JpZW50YXRpb24uY3BwIFwKIAlkb20vRGV2aWNlT3JpZW50YXRpb25Db250
cm9sbGVyLmNwcCBcCiAJZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwIFwKIAlkb20vT3Zl
cmZsb3dFdmVudC5jcHAgXApJbmRleDogV2ViQ29yZS9BbmRyb2lkLnY4YmluZGluZ3MubWsKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9BbmRyb2lkLnY4YmluZGluZ3MubWsJKHJldmlzaW9uIDYzMDY3
KQorKysgV2ViQ29yZS9BbmRyb2lkLnY4YmluZGluZ3MubWsJKHdvcmtpbmcgY29weSkKQEAgLTEw
OCw2ICsxMDgsNyBAQCBMT0NBTF9TUkNfRklMRVMgKz0gXAogCWJpbmRpbmdzL3Y4L2N1c3RvbS9W
OERhdGFiYXNlQ2FsbGJhY2suY3BwIFwKIAliaW5kaW5ncy92OC9jdXN0b20vVjhEYXRhYmFzZUN1
c3RvbS5jcHAgXAogCWJpbmRpbmdzL3Y4L2N1c3RvbS9WOERlZGljYXRlZFdvcmtlckNvbnRleHRD
dXN0b20uY3BwIFwKKwliaW5kaW5ncy92OC9jdXN0b20vVjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50
Q3VzdG9tLmNwcCBcCiAJYmluZGluZ3MvdjgvY3VzdG9tL1Y4RG9jdW1lbnRDdXN0b20uY3BwIFwK
IAliaW5kaW5ncy92OC9jdXN0b20vVjhEb2N1bWVudExvY2F0aW9uQ3VzdG9tLmNwcCBcCiAJYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4RWxlbWVudEN1c3RvbS5jcHAgXApJbmRleDogV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0NNYWtlTGlzdHMudHh0CShyZXZpc2lv
biA2MzA2NykKKysrIFdlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTU4
Myw2ICs1ODMsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgYmluZGluZ3MvanMvSlNEYXRh
R3JpZERhdGFTb3VyY2UuY3BwCiAgICAgYmluZGluZ3MvanMvSlNEZWJ1Z1dyYXBwZXJTZXQuY3Bw
CiAgICAgYmluZGluZ3MvanMvSlNEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcAorICAg
IGJpbmRpbmdzL2pzL0pTRGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAKICAgICBiaW5k
aW5ncy9qcy9KU0RvY3VtZW50Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTRE9NQXBwbGlj
YXRpb25DYWNoZUN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwCkBA
IC03NzgsNiArNzc5LDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIGRvbS9DdXN0b21FdmVu
dC5jcHAKICAgICBkb20vRGF0YXNldERPTVN0cmluZ01hcC5jcHAKICAgICBkb20vRGVjb2RlZERh
dGFEb2N1bWVudFBhcnNlci5jcHAKKyAgICBkb20vRGV2aWNlT3JpZW50YXRpb24uY3BwCiAgICAg
ZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5jcHAKICAgICBkb20vRGV2aWNlT3JpZW50
YXRpb25FdmVudC5jcHAKICAgICBkb20vRG9jdW1lbnQuY3BwCkluZGV4OiBXZWJDb3JlL0dOVW1h
a2VmaWxlLmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvR05VbWFrZWZpbGUuYW0JKHJldmlzaW9u
IDYzMDY3KQorKysgV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkod29ya2luZyBjb3B5KQpAQCAtNDQ2
LDYgKzQ0Niw3IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTVdpbmRvd1NoZWxsLmggXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNET01XcmFwcGVyLmNw
cCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXIuaCBcCisJV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwIFwKIAlXZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRG9jdW1lbnRDdXN0b20uY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RWxlbWVudEN1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5j
cHAgXApAQCAtNzk0LDYgKzc5NSw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9k
b20vRGF0YXNldERPTVN0cmluZ01hcC5oIFwKIAlXZWJDb3JlL2RvbS9EZWNvZGVkRGF0YURvY3Vt
ZW50UGFyc2VyLmNwcCBcCiAJV2ViQ29yZS9kb20vRGVjb2RlZERhdGFEb2N1bWVudFBhcnNlci5o
IFwKKwlXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbi5jcHAgXAorCVdlYkNvcmUvZG9tL0Rl
dmljZU9yaWVudGF0aW9uLmggXAogCVdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uQ2xpZW50
LmggXAogCVdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5jcHAgXAogCVdl
YkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5oIFwKSW5kZXg6IFdlYkNvcmUv
V2ViQ29yZS5neXBpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5neXBpCShyZXZpc2lv
biA2MzA2NykKKysrIFdlYkNvcmUvV2ViQ29yZS5neXBpCSh3b3JraW5nIGNvcHkpCkBAIC01NDIs
NiArNTQyLDcgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0RlZGljYXRlZFdvcmtlckNv
bnRleHRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0RlYnVnV3JhcHBl
clNldC5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0Lmgn
LAorICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3Rv
bS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRG9jdW1lbnRDdXN0b20uY3BwJywK
ICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0RPTUFwcGxpY2F0aW9uQ2FjaGVDdXN0b20uY3Bw
JywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwJywKQEAgLTczNyw2
ICs3MzgsNyBAQAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERhdGFiYXNlU3lu
Y0N1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERhdGFHcmlk
Q29sdW1uTGlzdEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OERlZGljYXRlZFdvcmtlckNvbnRleHRDdXN0b20uY3BwJywKKyAgICAgICAgICAgICdiaW5kaW5n
cy92OC9jdXN0b20vVjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcCcsCiAgICAgICAg
ICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RG9jdW1lbnRMb2NhdGlvbkN1c3RvbS5jcHAnLAog
ICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTUZvcm1EYXRhQ3VzdG9tLmNwcCcs
CiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcCcs
CkBAIC0xMTE5LDYgKzExMjEsOCBAQAogICAgICAgICAgICAgJ2RvbS9EYXRhc2V0RE9NU3RyaW5n
TWFwLmgnLAogICAgICAgICAgICAgJ2RvbS9EZWNvZGVkRGF0YURvY3VtZW50UGFyc2VyLmNwcCcs
CiAgICAgICAgICAgICAnZG9tL0RlY29kZWREYXRhRG9jdW1lbnRQYXJzZXIuaCcsCisgICAgICAg
ICAgICAnZG9tL0RldmljZU9yaWVudGF0aW9uLmNwcCcsCisgICAgICAgICAgICAnZG9tL0Rldmlj
ZU9yaWVudGF0aW9uLmgnLAogICAgICAgICAgICAgJ2RvbS9EZXZpY2VPcmllbnRhdGlvbkNsaWVu
dC5oJywKICAgICAgICAgICAgICdkb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmNwcCcs
CiAgICAgICAgICAgICAnZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5oJywKSW5kZXg6
IFdlYkNvcmUvV2ViQ29yZS5wcm8KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnBybwko
cmV2aXNpb24gNjMwNjcpCisrKyBXZWJDb3JlL1dlYkNvcmUucHJvCSh3b3JraW5nIGNvcHkpCkBA
IC0yODYsNiArMjg2LDcgQEAgU09VUkNFUyArPSBcCiAgICAgYmluZGluZ3MvanMvSlNEYXRhR3Jp
ZERhdGFTb3VyY2UuY3BwIFwKICAgICBiaW5kaW5ncy9qcy9KU0RlYnVnV3JhcHBlclNldC5jcHAg
XAogICAgIGJpbmRpbmdzL2pzL0pTRGVza3RvcE5vdGlmaWNhdGlvbnNDdXN0b20uY3BwIFwKKyAg
ICBiaW5kaW5ncy9qcy9KU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwIFwKICAgICBi
aW5kaW5ncy9qcy9KU0RvY3VtZW50Q3VzdG9tLmNwcCBcCiAgICAgYmluZGluZ3MvanMvSlNET01G
b3JtRGF0YUN1c3RvbS5jcHAgXAogICAgIGJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNw
cCBcCkBAIC00NjIsNiArNDYzLDcgQEAgU09VUkNFUyArPSBcCiAgICAgZG9tL0NTU01hcHBlZEF0
dHJpYnV0ZURlY2xhcmF0aW9uLmNwcCBcCiAgICAgZG9tL0N1c3RvbUV2ZW50LmNwcCBcCiAgICAg
ZG9tL0RlY29kZWREYXRhRG9jdW1lbnRQYXJzZXIuY3BwIFwKKyAgICBkb20vRGV2aWNlT3JpZW50
YXRpb24uY3BwIFwKICAgICBkb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmNwcCBcCiAg
ICAgZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwIFwKICAgICBkb20vRG9jdW1lbnQuY3Bw
IFwKQEAgLTEyMTksNiArMTIyMSw3IEBAIEhFQURFUlMgKz0gXAogICAgIGRvbS9DU1NNYXBwZWRB
dHRyaWJ1dGVEZWNsYXJhdGlvbi5oIFwKICAgICBkb20vQ3VzdG9tRXZlbnQuaCBcCiAgICAgZG9t
L2RlZmF1bHQvUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWwuaCBcCisgICAgZG9tL0RldmljZU9y
aWVudGF0aW9uLmggXAogICAgIGRvbS9EZXZpY2VPcmllbnRhdGlvbkNsaWVudC5oIFwKICAgICBk
b20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmggXAogICAgIGRvbS9EZXZpY2VPcmllbnRh
dGlvbkV2ZW50LmggXApJbmRleDogV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
ago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCShy
ZXZpc2lvbiA2MzA2NykKKysrIFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJ
KHdvcmtpbmcgY29weSkKQEAgLTMyMzY1LDYgKzMyMzY1LDE0IEBACiAJCQkJPg0KIAkJCTwvRmls
ZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxEZXZpY2VPcmllbnRhdGlv
bi5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRo
PSIuLlxkb21cRGV2aWNlT3JpZW50YXRpb24uaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8
RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxEZXZpY2VPcmllbnRhdGlvbkNsaWVudC5o
Ig0KIAkJCQk+DQogCQkJPC9GaWxlPg0KQEAgLTQyNjIwLDYgKzQyNjI4LDU4IEBACiAJCQkJCT4N
CiAJCQkJPC9GaWxlPg0KIAkJCQk8RmlsZQ0KKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5n
c1xqc1xKU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwIg0KKwkJCQkJPg0KKwkJCQkJ
PEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQkJTmFtZT0iRGVidWd8V2luMzIiDQorCQkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQkJPg0KKwkJCQkJCTxUb29sDQorCQkJCQkJCU5h
bWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkJLz4NCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+DQorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMy
Ig0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJCT4NCisJCQkJCQk8VG9v
bA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJCS8+DQorCQkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPg0KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQkJTmFtZT0i
RGVidWdfSW50ZXJuYWx8V2luMzIiDQorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQor
CQkJCQkJPg0KKwkJCQkJCTxUb29sDQorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQor
CQkJCQkJLz4NCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24NCisJCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb3xXaW4zMiINCisJCQkJCQlFeGNsdWRlZEZy
b21CdWlsZD0idHJ1ZSINCisJCQkJCQk+DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCINCisJCQkJCQkvPg0KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJ
CQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm98V2luMzIi
DQorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQkJPg0KKwkJCQkJCTxUb29s
DQorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkJLz4NCisJCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+DQorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCQlOYW1lPSJE
ZWJ1Z19BbGx8V2luMzIiDQorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQkJ
Pg0KKwkJCQkJCTxUb29sDQorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkJ
Lz4NCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTwvRmlsZT4NCisJCQkJPEZpbGUN
CiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNFbGVtZW50Q3VzdG9tLmNwcCIN
CiAJCQkJCT4NCiAJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KSW5kZXg6IFdlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiA2MzA2NykKKysrIFdlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xMTgy
LDYgKzExODIsOCBAQAogCQk1NEM1MEY3QjBFODAxREYzMDA5ODMyQTAgLyogWE1MRG9jdW1lbnRQ
YXJzZXJMaWJ4bWwyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDU0QzUwRjdBMEU4MDFERjMwMDk4MzJBMCAvKiBYTUxEb2N1bWVudFBhcnNlckxpYnht
bDIuY3BwICovOyB9OwogCQk1NTBBMEJDOTA4NUY2MDM5MDA3MzUzRDYgLyogUXVhbGlmaWVkTmFt
ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NTBB
MEJDNzA4NUY2MDM5MDA3MzUzRDYgLyogUXVhbGlmaWVkTmFtZS5jcHAgKi87IH07CiAJCTU1MEEw
QkNBMDg1RjYwMzkwMDczNTNENiAvKiBRdWFsaWZpZWROYW1lLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NTBBMEJDODA4NUY2MDM5MDA3MzUzRDYgLyog
UXVhbGlmaWVkTmFtZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCTU5MEUxQjQ5MTFFNEVGNEIwMDY5Rjc4NCAvKiBEZXZpY2VPcmllbnRhdGlvbi5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTkwRTFCNDgx
MUU0RUY0QjAwNjlGNzg0IC8qIERldmljZU9yaWVudGF0aW9uLmggKi87IH07CisJCTU5MEUxQjRC
MTFFNEVGNzAwMDY5Rjc4NCAvKiBKU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTkwRTFCNEExMUU0
RUY3MDAwNjlGNzg0IC8qIEpTRGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAgKi87IH07
CiAJCTU5MTM5NTNCMTEwNzU4NDUwMDgzRUM1NSAvKiBKTklCcmlkZ2UuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5MTM5NTNBMTEwNzU4NDUwMDgzRUM1
NSAvKiBKTklCcmlkZ2UuaCAqLzsgfTsKIAkJNTkxMzk1M0QxMTA3NTg0RTAwODNFQzU1IC8qIEpO
SUJyaWRnZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1OTEzOTUzQzExMDc1ODRFMDA4M0VDNTUgLyogSk5JQnJpZGdlLmNwcCAqLzsgfTsKIAkJNTk2
MjI5NzgxMTMzRUZENzAwREM0Q0JCIC8qIEdlb2xvY2F0aW9uUG9zaXRpb25DYWNoZS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1OTYyMjk3NzExMzNF
RkQ3MDBEQzRDQkIgLyogR2VvbG9jYXRpb25Qb3NpdGlvbkNhY2hlLmNwcCAqLzsgfTsKQEAgLTEx
OTksNiArMTIwMSw3IEBACiAJCTU5QjU5NzczMTEwODY1NkIwMDcxNTlFOCAvKiBCcmlkZ2VKU0Mu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTlCNTk3
NzIxMTA4NjU2QjAwNzE1OUU4IC8qIEJyaWRnZUpTQy5jcHAgKi87IH07CiAJCTU5QjU5Nzc1MTEw
ODY1NzkwMDcxNTlFOCAvKiBCcmlkZ2VKU0MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDU5QjU5Nzc0MTEwODY1NzkwMDcxNTlFOCAvKiBCcmlkZ2VKU0Mu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1OUJD
MzkzRjExMDU0QTEzMDBGRDg1REIgLyogSmF2YVN0cmluZ0pTQy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTlCQzM5M0UxMTA1NEExMzAwRkQ4NURCIC8q
IEphdmFTdHJpbmdKU0MuaCAqLzsgfTsKKwkJNTlEMUMxMDQxMUVCNURDRjAwQjYzOEM4IC8qIERl
dmljZU9yaWVudGF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDU5RDFDMTAzMTFFQjVEQ0YwMEI2MzhDOCAvKiBEZXZpY2VPcmllbnRhdGlvbi5j
cHAgKi87IH07CiAJCTU5RTU2MEE3MTEwNTMzNjYwMEFBMTI1OCAvKiBKYXZhQ2xhc3NKU0MuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5RTU2MEE2MTEw
NTMzNjYwMEFBMTI1OCAvKiBKYXZhQ2xhc3NKU0MuaCAqLzsgfTsKIAkJNTlFNTYwQTkxMTA1MzM2
RjAwQUExMjU4IC8qIEphdmFDbGFzc0pTQy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1OUU1NjBBODExMDUzMzZGMDBBQTEyNTggLyogSmF2YUNsYXNz
SlNDLmNwcCAqLzsgfTsKIAkJNTlFODQyNjYxMTA5RTVBMjAwMDMwNUFEIC8qIEpOSUJyaWRnZUpT
Qy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTlFODQy
NjUxMTA5RTVBMjAwMDMwNUFEIC8qIEpOSUJyaWRnZUpTQy5oICovOyB9OwpAQCAtNjkyMCw2ICs2
OTIzLDggQEAKIAkJNTRDNTBGN0EwRTgwMURGMzAwOTgzMkEwIC8qIFhNTERvY3VtZW50UGFyc2Vy
TGlieG1sMi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBYTUxEb2N1
bWVudFBhcnNlckxpYnhtbDIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NTBB
MEJDNzA4NUY2MDM5MDA3MzUzRDYgLyogUXVhbGlmaWVkTmFtZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBRdWFsaWZpZWROYW1lLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07
CiAJCTU1MEEwQkM4MDg1RjYwMzkwMDczNTNENiAvKiBRdWFsaWZpZWROYW1lLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFF1YWxpZmllZE5hbWUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07
CisJCTU5MEUxQjQ4MTFFNEVGNEIwMDY5Rjc4NCAvKiBEZXZpY2VPcmllbnRhdGlvbi5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEZXZpY2VPcmllbnRhdGlvbi5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk1OTBFMUI0QTExRTRFRjcwMDA2OUY3ODQgLyogSlNEZXZp
Y2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTRGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTU5MTM5NTNBMTEwNzU4NDUwMDgzRUM1NSAvKiBKTklCcmlkZ2Uu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSk5JQnJpZGdlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU5MTM5NTNDMTEwNzU4NEUwMDgzRUM1NSAvKiBKTklCcmlk
Z2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSk5JQnJpZGdlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTk2MjI5NzcxMTMzRUZENzAwREM0Q0JC
IC8qIEdlb2xvY2F0aW9uUG9zaXRpb25DYWNoZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBHZW9sb2NhdGlvblBvc2l0aW9uQ2FjaGUuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtNjkzOCw2ICs2OTQzLDcgQEAKIAkJNTlCNTk3NzIxMTA4NjU2QjAw
NzE1OUU4IC8qIEJyaWRnZUpTQy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5h
bWUgPSBCcmlkZ2VKU0MuY3BwOyBwYXRoID0gYnJpZGdlL2pzYy9CcmlkZ2VKU0MuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1OUI1OTc3NDExMDg2NTc5MDA3MTU5RTggLyogQnJp
ZGdlSlNDLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEJyaWRnZUpTQy5oOyBw
YXRoID0gYnJpZGdlL2pzYy9CcmlkZ2VKU0MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNTlCQzM5M0UxMTA1NEExMzAwRkQ4NURCIC8qIEphdmFTdHJpbmdKU0MuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gSmF2YVN0cmluZ0pTQy5oOyBwYXRoID0ganNjL0phdmFT
dHJpbmdKU0MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTlEMUMxMDMxMUVCNURD
RjAwQjYzOEM4IC8qIERldmljZU9yaWVudGF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IERldmljZU9yaWVudGF0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNTlFNTYwQTYxMTA1MzM2NjAwQUExMjU4IC8qIEphdmFDbGFzc0pTQy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBKYXZhQ2xhc3NKU0MuaDsgcGF0aCA9IGpz
Yy9KYXZhQ2xhc3NKU0MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTlFNTYwQTgx
MTA1MzM2RjAwQUExMjU4IC8qIEphdmFDbGFzc0pTQy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBKYXZhQ2xhc3NKU0MuY3BwOyBwYXRoID0ganNjL0phdmFDbGFzc0pT
Qy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU5RTg0MjY1MTEwOUU1QTIwMDAz
MDVBRCAvKiBKTklCcmlkZ2VKU0MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
Sk5JQnJpZGdlSlNDLmg7IHBhdGggPSBqc2MvSk5JQnJpZGdlSlNDLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0xNTcxOSw2ICsxNTcyNSw3IEBACiAJCUJDNEVERUY3MEMwOEY0MTQw
MDdFREQ0OSAvKiBDdXN0b20gKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVu
ID0gKAorCQkJCTU5MEUxQjRBMTFFNEVGNzAwMDY5Rjc4NCAvKiBKU0RldmljZU9yaWVudGF0aW9u
RXZlbnRDdXN0b20uY3BwICovLAogCQkJCUJDMjc1Q0IyMTFDNUU4NUMwMEM5MjA2QyAvKiBKU0Fy
cmF5QnVmZmVyQ3VzdG9tLmNwcCAqLywKIAkJCQk0OTIyNzNBMjEwODNCM0IxMDBFRTVDODQgLyog
SlNBcnJheUJ1ZmZlclZpZXdDdXN0b20uY3BwICovLAogCQkJCTg2MjQzRDAwMTFCQzMxRjcwMEND
MDA2QSAvKiBKU0FycmF5QnVmZmVyVmlld0hlbHBlci5oICovLApAQCAtMTY4MTYsNiArMTY4MjMs
OCBAQAogCQlGNTIzRDMyNDAyREU0NDc4MDE4NjM1Q0EgLyogZG9tICovID0gewogCQkJaXNhID0g
UEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk1OUQxQzEwMzExRUI1RENGMDBCNjM4Qzgg
LyogRGV2aWNlT3JpZW50YXRpb24uY3BwICovLAorCQkJCTU5MEUxQjQ4MTFFNEVGNEIwMDY5Rjc4
NCAvKiBEZXZpY2VPcmllbnRhdGlvbi5oICovLAogCQkJCUUxQzRERTZEMEVBNzVDNjUwMDIzQ0NE
NiAvKiBBY3RpdmVET01PYmplY3QuY3BwICovLAogCQkJCUUxQzRERTY4MEVBNzVDMUUwMDIzQ0NE
NiAvKiBBY3RpdmVET01PYmplY3QuaCAqLywKIAkJCQlBOEM0QTdGQzA5RDU2MzI3MDAwM0FDOEQg
LyogQXR0ci5jcHAgKi8sCkBAIC0xOTc2OCw2ICsxOTc3Nyw3IEBACiAJCQkJQzU4NUE2RkExMUQ0
RkIzRDAwNEMzRTRCIC8qIEluZGV4ZWREYXRhYmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzU4
NUE2RkMxMUQ0RkIzRDAwNEMzRTRCIC8qIEluZGV4ZWREYXRhYmFzZUltcGwuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUM1ODVBNkZFMTFENEZCM0QwMDRDM0U0QiAvKiBJbmRleGVkRGF0YWJhc2VSZXF1
ZXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQk1OTBFMUI0OTExRTRFRjRCMDA2OUY3ODQgLyogRGV2
aWNlT3JpZW50YXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBs
b3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjIxNTMsNiArMjIxNjMsOCBAQAog
CQkJCUM1ODVBNkY5MTFENEZCM0QwMDRDM0U0QiAvKiBJbmRleGVkRGF0YWJhc2UuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQzU4NUE2RkIxMUQ0RkIzRDAwNEMzRTRCIC8qIEluZGV4ZWREYXRhYmFz
ZUltcGwuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzU4NUE2RkQxMUQ0RkIzRDAwNEMzRTRCIC8q
IEluZGV4ZWREYXRhYmFzZVJlcXVlc3QuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTkwRTFCNEIx
MUU0RUY3MDAwNjlGNzg0IC8qIEpTRGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQk1OUQxQzEwNDExRUI1RENGMDBCNjM4QzggLyogRGV2aWNlT3JpZW50
YXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQ
b3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGV2
aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwCShyZXZpc2lvbiAwKQor
KysgV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3Bw
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDgzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEw
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIkpTRGV2aWNlT3JpZW50YXRpb25FdmVudC5oIgorCisjaWYgRU5BQkxF
KERFVklDRV9PUklFTlRBVElPTikKKworI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uLmgiCisj
aW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25FdmVudC5oIgorCit1c2luZyBuYW1lc3BhY2UgSlND
OworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0pTVmFsdWUgSlNEZXZpY2VPcmllbnRhdGlvbkV2
ZW50OjphbHBoYShFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0Cit7CisgICAgRGV2aWNlT3JpZW50YXRp
b25FdmVudCogaW1wID0gc3RhdGljX2Nhc3Q8RGV2aWNlT3JpZW50YXRpb25FdmVudCo+KGltcGwo
KSk7CisgICAgaWYgKCFpbXAtPm9yaWVudGF0aW9uKCktPmNhblByb3ZpZGVBbHBoYSgpKQorICAg
ICAgICByZXR1cm4ganNOdWxsKCk7CisgICAgcmV0dXJuIGpzTnVtYmVyKGV4ZWMsIGltcC0+b3Jp
ZW50YXRpb24oKS0+YWxwaGEoKSk7Cit9CisKK0pTVmFsdWUgSlNEZXZpY2VPcmllbnRhdGlvbkV2
ZW50OjpiZXRhKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKK3sKKyAgICBEZXZpY2VPcmllbnRhdGlv
bkV2ZW50KiBpbXAgPSBzdGF0aWNfY2FzdDxEZXZpY2VPcmllbnRhdGlvbkV2ZW50Kj4oaW1wbCgp
KTsKKyAgICBpZiAoIWltcC0+b3JpZW50YXRpb24oKS0+Y2FuUHJvdmlkZUJldGEoKSkKKyAgICAg
ICAgcmV0dXJuIGpzTnVsbCgpOworICAgIHJldHVybiBqc051bWJlcihleGVjLCBpbXAtPm9yaWVu
dGF0aW9uKCktPmJldGEoKSk7Cit9CisKK0pTVmFsdWUgSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50
OjpnYW1tYShFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0Cit7CisgICAgRGV2aWNlT3JpZW50YXRpb25F
dmVudCogaW1wID0gc3RhdGljX2Nhc3Q8RGV2aWNlT3JpZW50YXRpb25FdmVudCo+KGltcGwoKSk7
CisgICAgaWYgKCFpbXAtPm9yaWVudGF0aW9uKCktPmNhblByb3ZpZGVHYW1tYSgpKQorICAgICAg
ICByZXR1cm4ganNOdWxsKCk7CisgICAgcmV0dXJuIGpzTnVtYmVyKGV4ZWMsIGltcC0+b3JpZW50
YXRpb24oKS0+Z2FtbWEoKSk7Cit9CisKK0pTVmFsdWUgSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50
Ojppbml0RGV2aWNlT3JpZW50YXRpb25FdmVudChFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAgY29u
c3QgU3RyaW5nJiB0eXBlID0gdXN0cmluZ1RvU3RyaW5nKGV4ZWMtPmFyZ3VtZW50KDApLnRvU3Ry
aW5nKGV4ZWMpKTsKKyAgICBib29sIGJ1YmJsZXMgPSBleGVjLT5hcmd1bWVudCgxKS50b0Jvb2xl
YW4oZXhlYyk7CisgICAgYm9vbCBjYW5jZWxhYmxlID0gZXhlYy0+YXJndW1lbnQoMikudG9Cb29s
ZWFuKGV4ZWMpOworICAgIC8vIElmIGFscGhhLCBiZXRhIG9yIGdhbW1hIGFyZSBudWxsIG9yIHVu
ZGVmaW5lZCwgbWFyayB0aGVtIGFzIG5vdCBwcm92aWRlZC4KKyAgICAvLyBPdGhlcndpc2UsIHVz
ZSB0aGUgc3RhbmRhcmQgSmF2YVNjcmlwdCBjb252ZXJzaW9uLgorICAgIGJvb2wgYWxwaGFQcm92
aWRlZCA9ICFleGVjLT5hcmd1bWVudCgzKS5pc1VuZGVmaW5lZE9yTnVsbCgpOworICAgIGRvdWJs
ZSBhbHBoYSA9IGV4ZWMtPmFyZ3VtZW50KDMpLnRvTnVtYmVyKGV4ZWMpOworICAgIGJvb2wgYmV0
YVByb3ZpZGVkID0gIWV4ZWMtPmFyZ3VtZW50KDQpLmlzVW5kZWZpbmVkT3JOdWxsKCk7CisgICAg
ZG91YmxlIGJldGEgPSBleGVjLT5hcmd1bWVudCg0KS50b051bWJlcihleGVjKTsKKyAgICBib29s
IGdhbW1hUHJvdmlkZWQgPSAhZXhlYy0+YXJndW1lbnQoNSkuaXNVbmRlZmluZWRPck51bGwoKTsK
KyAgICBkb3VibGUgZ2FtbWEgPSBleGVjLT5hcmd1bWVudCg1KS50b051bWJlcihleGVjKTsKKyAg
ICBSZWZQdHI8RGV2aWNlT3JpZW50YXRpb24+IG9yaWVudGF0aW9uID0gRGV2aWNlT3JpZW50YXRp
b246OmNyZWF0ZShhbHBoYVByb3ZpZGVkLCBhbHBoYSwgYmV0YVByb3ZpZGVkLCBiZXRhLCBnYW1t
YVByb3ZpZGVkLCBnYW1tYSk7CisgICAgRGV2aWNlT3JpZW50YXRpb25FdmVudCogaW1wID0gc3Rh
dGljX2Nhc3Q8RGV2aWNlT3JpZW50YXRpb25FdmVudCo+KGltcGwoKSk7CisgICAgaW1wLT5pbml0
RGV2aWNlT3JpZW50YXRpb25FdmVudCh0eXBlLCBidWJibGVzLCBjYW5jZWxhYmxlLCBvcmllbnRh
dGlvbi5nZXQoKSk7CisgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Cit9CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCkluZGV4
OiBXZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0
b20uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGV2aWNl
T3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOERldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDkwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIlY4RGV2aWNlT3JpZW50YXRpb25FdmVudC5oIgorCisjaWYgRU5BQkxFKERFVklDRV9P
UklFTlRBVElPTikKKworI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uLmgiCisjaW5jbHVkZSAi
VjhCaW5kaW5nLmgiCisjaW5jbHVkZSAiVjhQcm94eS5oIgorCisjaW5jbHVkZSA8djguaD4KKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEZXZpY2VPcmll
bnRhdGlvbkV2ZW50OjphbHBoYUFjY2Vzc29yR2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBu
YW1lLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQoreworICAgIElOQ19TVEFUUygiRE9N
LkRldmljZU9yaWVudGF0aW9uRXZlbnQuYWxwaGEuX2dldCIpOworICAgIHY4OjpIYW5kbGU8djg6
Ok9iamVjdD4gaG9sZGVyID0gaW5mby5Ib2xkZXIoKTsKKyAgICBEZXZpY2VPcmllbnRhdGlvbkV2
ZW50KiBpbXAgPSBWOERldmljZU9yaWVudGF0aW9uRXZlbnQ6OnRvTmF0aXZlKGhvbGRlcik7Cisg
ICAgaWYgKCFpbXAtPm9yaWVudGF0aW9uKCktPmNhblByb3ZpZGVBbHBoYSgpKQorICAgICAgICBy
ZXR1cm4gdjg6Ok51bGwoKTsKKyAgICByZXR1cm4gdjg6Ok51bWJlcjo6TmV3KGltcC0+b3JpZW50
YXRpb24oKS0+YWxwaGEoKSk7Cit9CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERldmljZU9y
aWVudGF0aW9uRXZlbnQ6OmJldGFBY2Nlc3NvckdldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4g
bmFtZSwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5mbykKK3sKKyAgICBJTkNfU1RBVFMoIkRP
TS5EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmJldGEuX2dldCIpOworICAgIHY4OjpIYW5kbGU8djg6
Ok9iamVjdD4gaG9sZGVyID0gaW5mby5Ib2xkZXIoKTsKKyAgICBEZXZpY2VPcmllbnRhdGlvbkV2
ZW50KiBpbXAgPSBWOERldmljZU9yaWVudGF0aW9uRXZlbnQ6OnRvTmF0aXZlKGhvbGRlcik7Cisg
ICAgaWYgKCFpbXAtPm9yaWVudGF0aW9uKCktPmNhblByb3ZpZGVCZXRhKCkpCisgICAgICAgIHJl
dHVybiB2ODo6TnVsbCgpOworICAgIHJldHVybiB2ODo6TnVtYmVyOjpOZXcoaW1wLT5vcmllbnRh
dGlvbigpLT5iZXRhKCkpOworfQorCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEZXZpY2VPcmll
bnRhdGlvbkV2ZW50OjpnYW1tYUFjY2Vzc29yR2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBu
YW1lLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQoreworICAgIElOQ19TVEFUUygiRE9N
LkRldmljZU9yaWVudGF0aW9uRXZlbnQuZ2FtbWEuX2dldCIpOworICAgIHY4OjpIYW5kbGU8djg6
Ok9iamVjdD4gaG9sZGVyID0gaW5mby5Ib2xkZXIoKTsKKyAgICBEZXZpY2VPcmllbnRhdGlvbkV2
ZW50KiBpbXAgPSBWOERldmljZU9yaWVudGF0aW9uRXZlbnQ6OnRvTmF0aXZlKGhvbGRlcik7Cisg
ICAgaWYgKCFpbXAtPm9yaWVudGF0aW9uKCktPmNhblByb3ZpZGVHYW1tYSgpKQorICAgICAgICBy
ZXR1cm4gdjg6Ok51bGwoKTsKKyAgICByZXR1cm4gdjg6Ok51bWJlcjo6TmV3KGltcC0+b3JpZW50
YXRpb24oKS0+Z2FtbWEoKSk7Cit9CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERldmljZU9y
aWVudGF0aW9uRXZlbnQ6OmluaXREZXZpY2VPcmllbnRhdGlvbkV2ZW50Q2FsbGJhY2soY29uc3Qg
djg6OkFyZ3VtZW50cyYgYXJncykKK3sKKyAgICBEZXZpY2VPcmllbnRhdGlvbkV2ZW50KiBpbXAg
PSBWOERldmljZU9yaWVudGF0aW9uRXZlbnQ6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOworICAg
IFY4UGFyYW1ldGVyPD4gdHlwZSA9IGFyZ3NbMF07CisgICAgYm9vbCBidWJibGVzID0gYXJnc1sx
XS0+Qm9vbGVhblZhbHVlKCk7CisgICAgYm9vbCBjYW5jZWxhYmxlID0gYXJnc1syXS0+Qm9vbGVh
blZhbHVlKCk7CisgICAgLy8gSWYgYWxwaGEsIGJldGEgb3IgZ2FtbWEgYXJlIG51bGwgb3IgdW5k
ZWZpbmVkLCBtYXJrIHRoZW0gYXMgbm90IHByb3ZpZGVkLgorICAgIC8vIE90aGVyd2lzZSwgdXNl
IHRoZSBzdGFuZGFyZCBKYXZhU2NyaXB0IGNvbnZlcnNpb24uCisgICAgYm9vbCBhbHBoYVByb3Zp
ZGVkID0gIWlzVW5kZWZpbmVkT3JOdWxsKGFyZ3NbM10pOworICAgIGRvdWJsZSBhbHBoYSA9IHN0
YXRpY19jYXN0PGRvdWJsZT4oYXJnc1szXS0+TnVtYmVyVmFsdWUoKSk7CisgICAgYm9vbCBiZXRh
UHJvdmlkZWQgPSAhaXNVbmRlZmluZWRPck51bGwoYXJnc1s0XSk7CisgICAgZG91YmxlIGJldGEg
PSBzdGF0aWNfY2FzdDxkb3VibGU+KGFyZ3NbNF0tPk51bWJlclZhbHVlKCkpOworICAgIGJvb2wg
Z2FtbWFQcm92aWRlZCA9ICFpc1VuZGVmaW5lZE9yTnVsbChhcmdzWzVdKTsKKyAgICBkb3VibGUg
Z2FtbWEgPSBzdGF0aWNfY2FzdDxkb3VibGU+KGFyZ3NbNV0tPk51bWJlclZhbHVlKCkpOworICAg
IFJlZlB0cjxEZXZpY2VPcmllbnRhdGlvbj4gb3JpZW50YXRpb24gPSBEZXZpY2VPcmllbnRhdGlv
bjo6Y3JlYXRlKGFscGhhUHJvdmlkZWQsIGFscGhhLCBiZXRhUHJvdmlkZWQsIGJldGEsIGdhbW1h
UHJvdmlkZWQsIGdhbW1hKTsKKyAgICBpbXAtPmluaXREZXZpY2VPcmllbnRhdGlvbkV2ZW50KHR5
cGUsIGJ1YmJsZXMsIGNhbmNlbGFibGUsIG9yaWVudGF0aW9uLmdldCgpKTsKKyAgICByZXR1cm4g
djg6OkhhbmRsZTx2ODo6VmFsdWU+KCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmIC8vIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCkluZGV4OiBXZWJDb3JlL2RvbS9E
ZXZpY2VPcmllbnRhdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vRGV2aWNlT3Jp
ZW50YXRpb24uY3BwCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRp
b24uY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDg5IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uLmgiCisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworUGFzc1JlZlB0cjxEZXZpY2VPcmllbnRhdGlvbj4gRGV2aWNlT3JpZW50YXRp
b246OmNyZWF0ZSgpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBEZXZpY2VPcmllbnRhdGlv
bik7Cit9CisKK1Bhc3NSZWZQdHI8RGV2aWNlT3JpZW50YXRpb24+IERldmljZU9yaWVudGF0aW9u
OjpjcmVhdGUoYm9vbCBjYW5Qcm92aWRlQWxwaGEsIGRvdWJsZSBhbHBoYSwgYm9vbCBjYW5Qcm92
aWRlQmV0YSwgZG91YmxlIGJldGEsIGJvb2wgY2FuUHJvdmlkZUdhbW1hLCBkb3VibGUgZ2FtbWEp
Cit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBEZXZpY2VPcmllbnRhdGlvbihjYW5Qcm92aWRl
QWxwaGEsIGFscGhhLCBjYW5Qcm92aWRlQmV0YSwgYmV0YSwgY2FuUHJvdmlkZUdhbW1hLCBnYW1t
YSkpOworfQorCisKK0RldmljZU9yaWVudGF0aW9uOjpEZXZpY2VPcmllbnRhdGlvbigpCisgICAg
OiBtX2NhblByb3ZpZGVBbHBoYShmYWxzZSkKKyAgICAsIG1fY2FuUHJvdmlkZUJldGEoZmFsc2Up
CisgICAgLCBtX2NhblByb3ZpZGVHYW1tYShmYWxzZSkKK3sKK30KKworRGV2aWNlT3JpZW50YXRp
b246OkRldmljZU9yaWVudGF0aW9uKGJvb2wgY2FuUHJvdmlkZUFscGhhLCBkb3VibGUgYWxwaGEs
IGJvb2wgY2FuUHJvdmlkZUJldGEsIGRvdWJsZSBiZXRhLCBib29sIGNhblByb3ZpZGVHYW1tYSwg
ZG91YmxlIGdhbW1hKQorICAgIDogbV9jYW5Qcm92aWRlQWxwaGEoY2FuUHJvdmlkZUFscGhhKQor
ICAgICwgbV9jYW5Qcm92aWRlQmV0YShjYW5Qcm92aWRlQmV0YSkKKyAgICAsIG1fY2FuUHJvdmlk
ZUdhbW1hKGNhblByb3ZpZGVHYW1tYSkKKyAgICAsIG1fYWxwaGEoYWxwaGEpCisgICAgLCBtX2Jl
dGEoYmV0YSkKKyAgICAsIG1fZ2FtbWEoZ2FtbWEpCit7Cit9CisKK2RvdWJsZSBEZXZpY2VPcmll
bnRhdGlvbjo6YWxwaGEoKSBjb25zdAoreworICAgIHJldHVybiBtX2FscGhhOworfQorCitkb3Vi
bGUgRGV2aWNlT3JpZW50YXRpb246OmJldGEoKSBjb25zdAoreworICAgIHJldHVybiBtX2JldGE7
Cit9CisKK2RvdWJsZSBEZXZpY2VPcmllbnRhdGlvbjo6Z2FtbWEoKSBjb25zdAoreworICAgIHJl
dHVybiBtX2dhbW1hOworfQorCitib29sIERldmljZU9yaWVudGF0aW9uOjpjYW5Qcm92aWRlQWxw
aGEoKSBjb25zdAoreworICAgIHJldHVybiBtX2NhblByb3ZpZGVBbHBoYTsKK30KKworYm9vbCBE
ZXZpY2VPcmllbnRhdGlvbjo6Y2FuUHJvdmlkZUJldGEoKSBjb25zdAoreworICAgIHJldHVybiBt
X2NhblByb3ZpZGVCZXRhOworfQorCitib29sIERldmljZU9yaWVudGF0aW9uOjpjYW5Qcm92aWRl
R2FtbWEoKSBjb25zdAoreworICAgIHJldHVybiBtX2NhblByb3ZpZGVHYW1tYTsKK30KKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb24u
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbi5oCShyZXZpc2lv
biAwKQorKysgV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb24uaAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSw2MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgRGV2aWNlT3JpZW50YXRpb25faAorI2Rl
ZmluZSBEZXZpY2VPcmllbnRhdGlvbl9oCisKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgor
I2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xh
c3MgRGV2aWNlT3JpZW50YXRpb24gOiBwdWJsaWMgUmVmQ291bnRlZDxEZXZpY2VPcmllbnRhdGlv
bj4geworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPERldmljZU9yaWVudGF0aW9uPiBj
cmVhdGUoKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxEZXZpY2VPcmllbnRhdGlvbj4gY3JlYXRl
KGJvb2wgY2FuUHJvdmlkZUFscGhhLCBkb3VibGUgYWxwaGEsIGJvb2wgY2FuUHJvdmlkZUJldGEs
IGRvdWJsZSBiZXRhLCBib29sIGNhblByb3ZpZGVHYW1tYSwgZG91YmxlIGdhbW1hKTsKKworICAg
IGRvdWJsZSBhbHBoYSgpIGNvbnN0OworICAgIGRvdWJsZSBiZXRhKCkgY29uc3Q7CisgICAgZG91
YmxlIGdhbW1hKCkgY29uc3Q7CisgICAgYm9vbCBjYW5Qcm92aWRlQWxwaGEoKSBjb25zdDsKKyAg
ICBib29sIGNhblByb3ZpZGVCZXRhKCkgY29uc3Q7CisgICAgYm9vbCBjYW5Qcm92aWRlR2FtbWEo
KSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBEZXZpY2VPcmllbnRhdGlvbigpOworICAgIERldmlj
ZU9yaWVudGF0aW9uKGJvb2wgY2FuUHJvdmlkZUFscGhhLCBkb3VibGUgYWxwaGEsIGJvb2wgY2Fu
UHJvdmlkZUJldGEsIGRvdWJsZSBiZXRhLCBib29sIGNhblByb3ZpZGVHYW1tYSwgZG91YmxlIGdh
bW1hKTsKKworICAgIGJvb2wgbV9jYW5Qcm92aWRlQWxwaGE7CisgICAgYm9vbCBtX2NhblByb3Zp
ZGVCZXRhOworICAgIGJvb2wgbV9jYW5Qcm92aWRlR2FtbWE7CisgICAgZG91YmxlIG1fYWxwaGE7
CisgICAgZG91YmxlIG1fYmV0YTsKKyAgICBkb3VibGUgbV9nYW1tYTsKK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIERldmljZU9yaWVudGF0aW9uX2gKSW5kZXg6IFdl
YkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwCShyZXZpc2lvbiA2MzA2NykKKysrIFdl
YkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
NiwzNSArMjYsMzAgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJEZXZpY2VPcmll
bnRhdGlvbkV2ZW50LmgiCiAKKyNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbi5oIgorCiAjaWYg
RU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBEZXZp
Y2VPcmllbnRhdGlvbkV2ZW50OjpEZXZpY2VPcmllbnRhdGlvbkV2ZW50KCkKLSAgICA6IG1fYWxw
aGEoMCkKLSAgICAsIG1fYmV0YSgwKQotICAgICwgbV9nYW1tYSgwKQorICAgIDogbV9vcmllbnRh
dGlvbihEZXZpY2VPcmllbnRhdGlvbjo6Y3JlYXRlKCkpCiB7CiB9CiAKLURldmljZU9yaWVudGF0
aW9uRXZlbnQ6OkRldmljZU9yaWVudGF0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVu
dFR5cGUsIGRvdWJsZSBhbHBoYSwgZG91YmxlIGJldGEsIGRvdWJsZSBnYW1tYSkKK0RldmljZU9y
aWVudGF0aW9uRXZlbnQ6OkRldmljZU9yaWVudGF0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5n
JiBldmVudFR5cGUsIERldmljZU9yaWVudGF0aW9uKiBvcmllbnRhdGlvbikKICAgICA6IEV2ZW50
KGV2ZW50VHlwZSwgZmFsc2UsIGZhbHNlKSAvLyBDYW4ndCBidWJibGUsIG5vdCBjYW5jZWxhYmxl
Ci0gICAgLCBtX2FscGhhKGFscGhhKQotICAgICwgbV9iZXRhKGJldGEpCi0gICAgLCBtX2dhbW1h
KGdhbW1hKQorICAgICwgbV9vcmllbnRhdGlvbihvcmllbnRhdGlvbikKIHsKIH0KIAotdm9pZCBE
ZXZpY2VPcmllbnRhdGlvbkV2ZW50Ojppbml0RGV2aWNlT3JpZW50YXRpb25FdmVudChjb25zdCBB
dG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwg
ZG91YmxlIGFscGhhLCBkb3VibGUgYmV0YSwgZG91YmxlIGdhbW1hKQordm9pZCBEZXZpY2VPcmll
bnRhdGlvbkV2ZW50Ojppbml0RGV2aWNlT3JpZW50YXRpb25FdmVudChjb25zdCBBdG9taWNTdHJp
bmcmIHR5cGUsIGJvb2wgYnViYmxlcywgYm9vbCBjYW5jZWxhYmxlLCBEZXZpY2VPcmllbnRhdGlv
biogb3JpZW50YXRpb24pCiB7CiAgICAgaWYgKGRpc3BhdGNoZWQoKSkKICAgICAgICAgcmV0dXJu
OwogCi0gICAgaW5pdEV2ZW50KGV2ZW50VHlwZSwgY2FuQnViYmxlLCBjYW5jZWxhYmxlKTsKLQot
ICAgIG1fYWxwaGEgPSBhbHBoYTsKLSAgICBtX2JldGEgPSBiZXRhOwotICAgIG1fZ2FtbWEgPSBn
YW1tYTsKKyAgICBpbml0RXZlbnQodHlwZSwgYnViYmxlcywgY2FuY2VsYWJsZSk7CisgICAgbV9v
cmllbnRhdGlvbiA9IG9yaWVudGF0aW9uOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCklu
ZGV4OiBXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5oCShyZXZpc2lvbiA2MzA2NykKKysr
IFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuaAkod29ya2luZyBjb3B5KQpAQCAt
MzAsMzEgKzMwLDMwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgRGV2aWNlT3Jp
ZW50YXRpb247CisKIGNsYXNzIERldmljZU9yaWVudGF0aW9uRXZlbnQgOiBwdWJsaWMgRXZlbnQg
ewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPERldmljZU9yaWVudGF0aW9uRXZlbnQ+
IGNyZWF0ZSgpCiAgICAgewogICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IERldmljZU9yaWVu
dGF0aW9uRXZlbnQpOwogICAgIH0KLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxEZXZpY2VPcmllbnRh
dGlvbkV2ZW50PiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIGRvdWJsZSBh
bHBoYSwgZG91YmxlIGJldGEsIGRvdWJsZSBnYW1tYSkKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxE
ZXZpY2VPcmllbnRhdGlvbkV2ZW50PiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5
cGUsIERldmljZU9yaWVudGF0aW9uKiBvcmllbnRhdGlvbikKICAgICB7Ci0gICAgICAgIHJldHVy
biBhZG9wdFJlZihuZXcgRGV2aWNlT3JpZW50YXRpb25FdmVudChldmVudFR5cGUsIGFscGhhLCBi
ZXRhLCBnYW1tYSkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IERldmljZU9yaWVudGF0
aW9uRXZlbnQoZXZlbnRUeXBlLCBvcmllbnRhdGlvbikpOwogICAgIH0KIAotICAgIHZvaWQgaW5p
dERldmljZU9yaWVudGF0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIGJv
b2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIGRvdWJsZSBhbHBoYSwgZG91YmxlIGJldGEs
IGRvdWJsZSBnYW1tYSk7Ci0gICAgZG91YmxlIGFscGhhKCkgY29uc3QgeyByZXR1cm4gbV9hbHBo
YTsgfQotICAgIGRvdWJsZSBiZXRhKCkgY29uc3QgeyByZXR1cm4gbV9iZXRhOyB9Ci0gICAgZG91
YmxlIGdhbW1hKCkgY29uc3QgeyByZXR1cm4gbV9nYW1tYTsgfQorICAgIHZvaWQgaW5pdERldmlj
ZU9yaWVudGF0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGJ1YmJsZXMs
IGJvb2wgY2FuY2VsYWJsZSwgRGV2aWNlT3JpZW50YXRpb24qKTsKIAogICAgIHZpcnR1YWwgYm9v
bCBpc0RldmljZU9yaWVudGF0aW9uRXZlbnQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAKKyAg
ICBEZXZpY2VPcmllbnRhdGlvbiogb3JpZW50YXRpb24oKSBjb25zdCB7IHJldHVybiBtX29yaWVu
dGF0aW9uLmdldCgpOyB9CisKIHByaXZhdGU6CiAgICAgRGV2aWNlT3JpZW50YXRpb25FdmVudCgp
OwotICAgIERldmljZU9yaWVudGF0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5
cGUsIGRvdWJsZSBhbHBoYSwgZG91YmxlIGJldGEsIGRvdWJsZSBnYW1tYSk7CisgICAgRGV2aWNl
T3JpZW50YXRpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgRGV2aWNlT3Jp
ZW50YXRpb24qKTsKIAotICAgIGRvdWJsZSBtX2FscGhhOwotICAgIGRvdWJsZSBtX2JldGE7Ci0g
ICAgZG91YmxlIG1fZ2FtbWE7CisgICAgUmVmUHRyPERldmljZU9yaWVudGF0aW9uPiBtX29yaWVu
dGF0aW9uOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9kb20v
RGV2aWNlT3JpZW50YXRpb25FdmVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vRGV2
aWNlT3JpZW50YXRpb25FdmVudC5pZGwJKHJldmlzaW9uIDYzMDY3KQorKysgV2ViQ29yZS9kb20v
RGV2aWNlT3JpZW50YXRpb25FdmVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDEwICsyOCwx
MCBAQCBtb2R1bGUgY29yZSB7CiAgICAgaW50ZXJmYWNlIFsKICAgICAgICAgQ29uZGl0aW9uYWw9
REVWSUNFX09SSUVOVEFUSU9OCiAgICAgXSBEZXZpY2VPcmllbnRhdGlvbkV2ZW50IDogRXZlbnQg
ewotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIGFscGhhOwotICAgICAgICByZWFk
b25seSBhdHRyaWJ1dGUgZG91YmxlIGJldGE7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBk
b3VibGUgZ2FtbWE7Ci0gICAgICAgIHZvaWQgaW5pdERldmljZU9yaWVudGF0aW9uRXZlbnQoaW4g
RE9NU3RyaW5nIHR5cGVBcmcsIGluIGJvb2xlYW4gY2FuQnViYmxlQXJnLCBpbiBib29sZWFuIGNh
bmNlbGFibGVBcmcsIGluIGRvdWJsZSBhbHBoYSwgaW4gZG91YmxlIGJldGEsIGluIGRvdWJsZSBn
YW1tYSk7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbQ3VzdG9tXSBkb3VibGUgYWxwaGE7
CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbQ3VzdG9tXSBkb3VibGUgYmV0YTsKKyAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIFtDdXN0b21dIGRvdWJsZSBnYW1tYTsKKyAgICAgICAgW0N1
c3RvbV0gdm9pZCBpbml0RGV2aWNlT3JpZW50YXRpb25FdmVudChpbiBET01TdHJpbmcgdHlwZSwg
aW4gYm9vbGVhbiBidWJibGVzLCBpbiBib29sZWFuIGNhbmNlbGFibGUsIGluIGRvdWJsZSBhbHBo
YSwgaW4gZG91YmxlIGJldGEsIGluIGRvdWJsZSBnYW1tYSk7CiAgICAgfTsKIAogfQpJbmRleDog
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxv
ZwkocmV2aXNpb24gNjMwNjcpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxNCBAQAorMjAxMC0wNy0xMiAgU3RldmUgQmxvY2sgIDxzdGV2ZWJsb2Nr
QGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgRGV2aWNlT3JpZW50YXRpb25FdmVudCBzaG91bGQgdXNlIG9wdGlvbmFsIHByb3BlcnRp
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQxNjA3
CisKKyAgICAgICAgKiBmYXN0L2RvbS9EZXZpY2VPcmllbnRhdGlvbi9vcHRpb25hbC1ldmVudC1w
cm9wZXJ0aWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vRGV2aWNl
T3JpZW50YXRpb24vb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2RvbS9EZXZpY2VPcmllbnRhdGlvbi9zY3JpcHQtdGVzdHMvb3B0aW9uYWwtZXZl
bnQtcHJvcGVydGllcy5qczogQWRkZWQuCisKIDIwMTAtMDctMTIgIFN0ZXZlIEJsb2NrICA8c3Rl
dmVibG9ja0Bnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQcm9za3Vy
eWFrb3YuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VPcmllbnRhdGlvbi9vcHRp
b25hbC1ldmVudC1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L2RvbS9EZXZpY2VPcmllbnRhdGlvbi9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVz
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0Rldmlj
ZU9yaWVudGF0aW9uL29wdGlvbmFsLWV2ZW50LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDM3IEBACitUZXN0cyB0aGUgb3B0aW9uYWwgcHJvcGVydGllcyBv
ZiBEZXZpY2VPcmllbnRhdGlvbkV2ZW50LiBFYWNoIHByb3BlcnR5IHNob3VsZCBiZSBudWxsIGlm
IG5vdCBzZXQsIG9yIHNldCB0byBudWxsIG9yIHVuZGVmaW5lZC4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKK2V2ZW50ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0RldmljZU9yaWVu
dGF0aW9uRXZlbnQnKQorUEFTUyBldmVudC5hbHBoYSA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZl
bnQuYmV0YSA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQuZ2FtbWEgPT0gbnVsbCBpcyB0cnVl
CitldmVudC5pbml0RGV2aWNlT3JpZW50YXRpb25FdmVudCgnJywgZmFsc2UsIGZhbHNlLCAwLCAx
LCAyKQorUEFTUyBldmVudC5hbHBoYSA9PSAwIGlzIHRydWUKK1BBU1MgZXZlbnQuYmV0YSA9PSAx
IGlzIHRydWUKK1BBU1MgZXZlbnQuZ2FtbWEgPT0gMiBpcyB0cnVlCitldmVudC5pbml0RGV2aWNl
T3JpZW50YXRpb25FdmVudCgpCitQQVNTIGV2ZW50LmFscGhhID09IG51bGwgaXMgdHJ1ZQorUEFT
UyBldmVudC5iZXRhID09IG51bGwgaXMgdHJ1ZQorUEFTUyBldmVudC5nYW1tYSA9PSBudWxsIGlz
IHRydWUKK2V2ZW50LmluaXREZXZpY2VPcmllbnRhdGlvbkV2ZW50KCcnLCBmYWxzZSwgZmFsc2Us
IFtdLCBbXSwgW10pCitQQVNTIGV2ZW50LmFscGhhID09IDAgaXMgdHJ1ZQorUEFTUyBldmVudC5i
ZXRhID09IDAgaXMgdHJ1ZQorUEFTUyBldmVudC5nYW1tYSA9PSAwIGlzIHRydWUKK2V2ZW50Lmlu
aXREZXZpY2VPcmllbnRhdGlvbkV2ZW50KCcnLCBmYWxzZSwgZmFsc2UsIHVuZGVmaW5lZCwgdW5k
ZWZpbmVkLCB1bmRlZmluZWQpCitQQVNTIGV2ZW50LmFscGhhID09IG51bGwgaXMgdHJ1ZQorUEFT
UyBldmVudC5iZXRhID09IG51bGwgaXMgdHJ1ZQorUEFTUyBldmVudC5nYW1tYSA9PSBudWxsIGlz
IHRydWUKK2V2ZW50LmluaXREZXZpY2VPcmllbnRhdGlvbkV2ZW50KCcnLCBmYWxzZSwgZmFsc2Us
ICcnLCAnJywgJycpCitQQVNTIGV2ZW50LmFscGhhID09IDAgaXMgdHJ1ZQorUEFTUyBldmVudC5i
ZXRhID09IDAgaXMgdHJ1ZQorUEFTUyBldmVudC5nYW1tYSA9PSAwIGlzIHRydWUKK2V2ZW50Lmlu
aXREZXZpY2VPcmllbnRhdGlvbkV2ZW50KCcnLCBmYWxzZSwgZmFsc2UsIG51bGwsIG51bGwsIG51
bGwpCitQQVNTIGV2ZW50LmFscGhhID09IG51bGwgaXMgdHJ1ZQorUEFTUyBldmVudC5iZXRhID09
IG51bGwgaXMgdHJ1ZQorUEFTUyBldmVudC5nYW1tYSA9PSBudWxsIGlzIHRydWUKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L2RvbS9EZXZpY2VPcmllbnRhdGlvbi9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVz
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlT3JpZW50YXRp
b24vb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvZmFzdC9kb20vRGV2aWNlT3JpZW50YXRpb24vb3B0aW9uYWwtZXZlbnQtcHJvcGVydGll
cy5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEyIEBACis8aHRtbD4KKzxoZWFkPgorPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHls
ZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL29wdGlvbmFs
LWV2ZW50LXByb3BlcnRpZXMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlT3JpZW50YXRpb24vc2NyaXB0LXRlc3RzL29w
dGlvbmFsLWV2ZW50LXByb3BlcnRpZXMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9kb20vRGV2aWNlT3JpZW50YXRpb24vc2NyaXB0LXRlc3RzL29wdGlvbmFsLWV2ZW50LXByb3Bl
cnRpZXMuanMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VPcmll
bnRhdGlvbi9zY3JpcHQtdGVzdHMvb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5qcwkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSw0MCBAQAorZGVzY3JpcHRpb24oIlRlc3RzIHRoZSBvcHRpb25hbCBw
cm9wZXJ0aWVzIG9mIERldmljZU9yaWVudGF0aW9uRXZlbnQuIEVhY2ggcHJvcGVydHkgc2hvdWxk
IGJlIG51bGwgaWYgbm90IHNldCwgb3Igc2V0IHRvIG51bGwgb3IgdW5kZWZpbmVkLiIpOworCit2
YXIgZXZlbnQ7CisKK2V2YWxBbmRMb2coImV2ZW50ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0Rl
dmljZU9yaWVudGF0aW9uRXZlbnQnKSIpOworc2hvdWxkQmVUcnVlKCJldmVudC5hbHBoYSA9PSBu
dWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50LmJldGEgPT0gbnVsbCIpOworc2hvdWxkQmVUcnVl
KCJldmVudC5nYW1tYSA9PSBudWxsIik7CisKK2V2YWxBbmRMb2coImV2ZW50LmluaXREZXZpY2VP
cmllbnRhdGlvbkV2ZW50KCcnLCBmYWxzZSwgZmFsc2UsIDAsIDEsIDIpIik7CitzaG91bGRCZVRy
dWUoImV2ZW50LmFscGhhID09IDAiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuYmV0YSA9PSAxIik7
CitzaG91bGRCZVRydWUoImV2ZW50LmdhbW1hID09IDIiKTsKKworZXZhbEFuZExvZygiZXZlbnQu
aW5pdERldmljZU9yaWVudGF0aW9uRXZlbnQoKSIpOworc2hvdWxkQmVUcnVlKCJldmVudC5hbHBo
YSA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50LmJldGEgPT0gbnVsbCIpOworc2hvdWxk
QmVUcnVlKCJldmVudC5nYW1tYSA9PSBudWxsIik7CisKK2V2YWxBbmRMb2coImV2ZW50LmluaXRE
ZXZpY2VPcmllbnRhdGlvbkV2ZW50KCcnLCBmYWxzZSwgZmFsc2UsIFtdLCBbXSwgW10pIik7Citz
aG91bGRCZVRydWUoImV2ZW50LmFscGhhID09IDAiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuYmV0
YSA9PSAwIik7CitzaG91bGRCZVRydWUoImV2ZW50LmdhbW1hID09IDAiKTsKKworZXZhbEFuZExv
ZygiZXZlbnQuaW5pdERldmljZU9yaWVudGF0aW9uRXZlbnQoJycsIGZhbHNlLCBmYWxzZSwgdW5k
ZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCkiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuYWxw
aGEgPT0gbnVsbCIpOworc2hvdWxkQmVUcnVlKCJldmVudC5iZXRhID09IG51bGwiKTsKK3Nob3Vs
ZEJlVHJ1ZSgiZXZlbnQuZ2FtbWEgPT0gbnVsbCIpOworCitldmFsQW5kTG9nKCJldmVudC5pbml0
RGV2aWNlT3JpZW50YXRpb25FdmVudCgnJywgZmFsc2UsIGZhbHNlLCAnJywgJycsICcnKSIpOwor
c2hvdWxkQmVUcnVlKCJldmVudC5hbHBoYSA9PSAwIik7CitzaG91bGRCZVRydWUoImV2ZW50LmJl
dGEgPT0gMCIpOworc2hvdWxkQmVUcnVlKCJldmVudC5nYW1tYSA9PSAwIik7CisKK2V2YWxBbmRM
b2coImV2ZW50LmluaXREZXZpY2VPcmllbnRhdGlvbkV2ZW50KCcnLCBmYWxzZSwgZmFsc2UsIG51
bGwsIG51bGwsIG51bGwpIik7CitzaG91bGRCZVRydWUoImV2ZW50LmFscGhhID09IG51bGwiKTsK
K3Nob3VsZEJlVHJ1ZSgiZXZlbnQuYmV0YSA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50
LmdhbW1hID09IG51bGwiKTsKKword2luZG93LnN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61283</attachid>
            <date>2010-07-12 16:22:24 -0700</date>
            <delta_ts>2010-07-12 16:38:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-41607-20100713002222.patch</filename>
            <type>text/plain</type>
            <size>13912</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MzEzMSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNTUgQEAKKzIwMTAtMDctMTIgIFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IERldmljZU9yaWVudGF0aW9uRXZlbnQgc2hvdWxkIHVzZSBvcHRpb25hbCBwcm9wZXJ0aWVzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MTYwNworCisg
ICAgICAgIFRoaXMgY2hhbmdlIGFkZHMgYSBuZXcgRGV2aWNlT3JpZW50YXRpb24gY2xhc3Mgd2hp
Y2ggdGFrZXMgY2FyZSBvZiB3aGljaCBvZiB0aGUKKyAgICAgICAgb3B0aW9uYWwgcHJvcGVydGll
cyBhcmUgcHJlc2VudC4gRGV2aWNlT3JpZW50YXRpb25FdmVudCBvd25zIGFuIGluc3RhbmNlIG9m
CisgICAgICAgIERldmljZU9yaWVudGF0aW9uLCByYXRoZXIgdGhhbiBvd25pbmcgdGhlIHByb3Bl
cnRpZXMgZGlyZWN0bHkuCisgICAgICAgIERldmljZU9yaWVudGF0aW9uRXZlbnQgbm93IHJlcXVp
cmVzIGN1c3RvbSBiaW5kaW5ncy4KKworICAgICAgICBUZXN0OiBmYXN0L2RvbS9EZXZpY2VPcmll
bnRhdGlvbi9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmh0bWwKKworICAgICAgICAqIEFuZHJv
aWQubWs6CisgICAgICAgICogQW5kcm9pZC5qc2NiaW5kaW5ncy5tazoKKyAgICAgICAgKiBBbmRy
b2lkLnY4YmluZGluZ3MubWs6CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICog
R05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNv
cmUucHJvOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAg
ICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRGV2
aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6
SlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50OjphbHBoYSk6CisgICAgICAgIChXZWJDb3JlOjpKU0Rl
dmljZU9yaWVudGF0aW9uRXZlbnQ6OmJldGEpOgorICAgICAgICAoV2ViQ29yZTo6SlNEZXZpY2VP
cmllbnRhdGlvbkV2ZW50OjpnYW1tYSk6CisgICAgICAgIChXZWJDb3JlOjpKU0RldmljZU9yaWVu
dGF0aW9uRXZlbnQ6OmluaXREZXZpY2VPcmllbnRhdGlvbkV2ZW50KToKKyAgICAgICAgKiBiaW5k
aW5ncy92OC9jdXN0b20vVjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlOjpWOERldmljZU9yaWVudGF0aW9uRXZlbnQ6OmFscGhhQWNjZXNz
b3JHZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50Ojpi
ZXRhQWNjZXNzb3JHZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VjhEZXZpY2VPcmllbnRhdGlv
bkV2ZW50OjpnYW1tYUFjY2Vzc29yR2V0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlY4RGV2aWNl
T3JpZW50YXRpb25FdmVudDo6aW5pdERldmljZU9yaWVudGF0aW9uRXZlbnRDYWxsYmFjayk6Cisg
ICAgICAgICogZG9tL0RldmljZU9yaWVudGF0aW9uLmNwcDogQWRkZWQuCisgICAgICAgICogZG9t
L0RldmljZU9yaWVudGF0aW9uLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3Jp
ZW50YXRpb246OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbjo6
Y2FuUHJvdmlkZUFscGhhKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uOjph
bHBoYSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbjo6Y2FuUHJvdmlkZUJl
dGEpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb246OmJldGEpOgorICAgICAg
ICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb246OmNhblByb3ZpZGVHYW1tYSk6CisgICAgICAg
IChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbjo6Z2FtbWEpOgorICAgICAgICAoV2ViQ29yZTo6
RGV2aWNlT3JpZW50YXRpb246OkRldmljZU9yaWVudGF0aW9uKToKKyAgICAgICAgKiBkb20vRGV2
aWNlT3JpZW50YXRpb25FdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRh
dGlvbkV2ZW50OjpEZXZpY2VPcmllbnRhdGlvbkV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRl
dmljZU9yaWVudGF0aW9uRXZlbnQ6OmluaXREZXZpY2VPcmllbnRhdGlvbkV2ZW50KToKKyAgICAg
ICAgKiBkb20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5oOgorICAgICAgICAoV2ViQ29yZTo6RGV2
aWNlT3JpZW50YXRpb25FdmVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU9y
aWVudGF0aW9uRXZlbnQ6Om9yaWVudGF0aW9uKToKKyAgICAgICAgKiBkb20vRGV2aWNlT3JpZW50
YXRpb25FdmVudC5pZGw6CisKIDIwMTAtMDctMTIgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQu
b3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQuICBBdHRlbXB0IHRvIGZpeCBDaHJvbWl1bSBXaW5k
b3dzIGJ1aWxkLgpJbmRleDogV2ViQ29yZS9BbmRyb2lkLmpzY2JpbmRpbmdzLm1rCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KSW5kZXg6IFdlYkNvcmUvQW5kcm9pZC5tawo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkluZGV4OiBXZWJDb3JlL0Fu
ZHJvaWQudjhiaW5kaW5ncy5tawo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkluZGV4OiBXZWJDb3JlL0NNYWtlTGlzdHMu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDYzMTMx
KQorKysgV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNTg0LDYgKzU4
NCw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBiaW5kaW5ncy9qcy9KU0RhdGFHcmlkRGF0
YVNvdXJjZS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0RlYnVnV3JhcHBlclNldC5jcHAKICAgICBi
aW5kaW5ncy9qcy9KU0RlZGljYXRlZFdvcmtlckNvbnRleHRDdXN0b20uY3BwCisgICAgYmluZGlu
Z3MvanMvSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pz
L0pTRG9jdW1lbnRDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNET01BcHBsaWNhdGlvbkNh
Y2hlQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAKQEAgLTc3OCw2
ICs3NzksNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgZG9tL0N1c3RvbUV2ZW50LmNwcAog
ICAgIGRvbS9EYXRhc2V0RE9NU3RyaW5nTWFwLmNwcAogICAgIGRvbS9EZWNvZGVkRGF0YURvY3Vt
ZW50UGFyc2VyLmNwcAorICAgIGRvbS9EZXZpY2VPcmllbnRhdGlvbi5jcHAKICAgICBkb20vRGV2
aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmNwcAogICAgIGRvbS9EZXZpY2VPcmllbnRhdGlvbkV2
ZW50LmNwcAogICAgIGRvbS9Eb2N1bWVudC5jcHAKSW5kZXg6IFdlYkNvcmUvR05VbWFrZWZpbGUu
YW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkocmV2aXNpb24gNjMxMzEp
CisrKyBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC00NTIsNiArNDUy
LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2lu
ZG93U2hlbGwuaCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXIuY3BwIFwKIAlX
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5oIFwKKwlXZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3Mv
anMvSlNEb2N1bWVudEN1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNFbGVtZW50
Q3VzdG9tLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcCBcCkBA
IC04MDAsNiArODAxLDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2RvbS9EYXRh
c2V0RE9NU3RyaW5nTWFwLmggXAogCVdlYkNvcmUvZG9tL0RlY29kZWREYXRhRG9jdW1lbnRQYXJz
ZXIuY3BwIFwKIAlXZWJDb3JlL2RvbS9EZWNvZGVkRGF0YURvY3VtZW50UGFyc2VyLmggXAorCVdl
YkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uLmNwcCBcCisJV2ViQ29yZS9kb20vRGV2aWNlT3Jp
ZW50YXRpb24uaCBcCiAJV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25DbGllbnQuaCBcCiAJ
V2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmNwcCBcCiAJV2ViQ29yZS9k
b20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmggXApJbmRleDogV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9uIDYzMTMx
KQorKysgV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHdvcmtpbmcgY29weSkKQEAgLTU0Miw2ICs1NDIs
NyBAQAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRGVkaWNhdGVkV29ya2VyQ29udGV4dEN1
c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0LmNw
cCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNEZWJ1Z1dyYXBwZXJTZXQuaCcsCisgICAg
ICAgICAgICAnYmluZGluZ3MvanMvSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcCcs
CiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNEb2N1bWVudEN1c3RvbS5jcHAnLAogICAgICAg
ICAgICAgJ2JpbmRpbmdzL2pzL0pTRE9NQXBwbGljYXRpb25DYWNoZUN1c3RvbS5jcHAnLAogICAg
ICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAnLApAQCAtNzM3LDYgKzczOCw3
IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGF0YWJhc2VTeW5jQ3VzdG9t
LmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGF0YUdyaWRDb2x1bW5M
aXN0Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGVkaWNh
dGVkV29ya2VyQ29udGV4dEN1c3RvbS5jcHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOERldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdi
aW5kaW5ncy92OC9jdXN0b20vVjhEb2N1bWVudExvY2F0aW9uQ3VzdG9tLmNwcCcsCiAgICAgICAg
ICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NRm9ybURhdGFDdXN0b20uY3BwJywKICAgICAg
ICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhET01XaW5kb3dDdXN0b20uY3BwJywKQEAgLTEx
MTksNiArMTEyMSw4IEBACiAgICAgICAgICAgICAnZG9tL0RhdGFzZXRET01TdHJpbmdNYXAuaCcs
CiAgICAgICAgICAgICAnZG9tL0RlY29kZWREYXRhRG9jdW1lbnRQYXJzZXIuY3BwJywKICAgICAg
ICAgICAgICdkb20vRGVjb2RlZERhdGFEb2N1bWVudFBhcnNlci5oJywKKyAgICAgICAgICAgICdk
b20vRGV2aWNlT3JpZW50YXRpb24uY3BwJywKKyAgICAgICAgICAgICdkb20vRGV2aWNlT3JpZW50
YXRpb24uaCcsCiAgICAgICAgICAgICAnZG9tL0RldmljZU9yaWVudGF0aW9uQ2xpZW50LmgnLAog
ICAgICAgICAgICAgJ2RvbS9EZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIuY3BwJywKICAgICAg
ICAgICAgICdkb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmgnLApJbmRleDogV2ViQ29y
ZS9XZWJDb3JlLnBybwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09CkluZGV4OiBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2oJKHJldmlzaW9uIDYzMTMxKQorKysgV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvagkod29ya2luZyBjb3B5KQpAQCAtMzIzODEsNiArMzIzODEsMTQgQEAKIAkJCQk+
DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXERldmlj
ZU9yaWVudGF0aW9uLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXGRvbVxEZXZpY2VPcmllbnRhdGlvbi5oIg0KKwkJCQk+DQorCQkJPC9G
aWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXERldmljZU9yaWVudGF0
aW9uQ2xpZW50LmgiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpAQCAtNDI2ODgsNiArNDI2OTYsNTgg
QEAKIAkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCiAJCQkJPC9GaWxlPg0KIAkJCQk8RmlsZQ0K
KwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU0RldmljZU9yaWVudGF0aW9uRXZl
bnRDdXN0b20uY3BwIg0KKwkJCQkJPg0KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQkJ
TmFtZT0iRGVidWd8V2luMzIiDQorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJ
CQkJPg0KKwkJCQkJCTxUb29sDQorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJ
CQkJLz4NCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24NCisJCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxk
PSJ0cnVlIg0KKwkJCQkJCT4NCisJCQkJCQk8VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIg0KKwkJCQkJCS8+DQorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQkJPEZp
bGVDb25maWd1cmF0aW9uDQorCQkJCQkJTmFtZT0iRGVidWdfSW50ZXJuYWx8V2luMzIiDQorCQkJ
CQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQkJPg0KKwkJCQkJCTxUb29sDQorCQkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkJLz4NCisJCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+DQorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCQlOYW1lPSJEZWJ1Z19D
YWlyb3xXaW4zMiINCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCQk+DQor
CQkJCQkJPFRvb2wNCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCQkvPg0K
KwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJ
CQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm98V2luMzIiDQorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiDQorCQkJCQkJPg0KKwkJCQkJCTxUb29sDQorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiDQorCQkJCQkJLz4NCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24NCisJCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiDQorCQkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQkJPg0KKwkJCQkJCTxUb29sDQorCQkJCQkJCU5h
bWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkJLz4NCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+DQorCQkJCTwvRmlsZT4NCisJCQkJPEZpbGUNCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmlu
ZGluZ3NcanNcSlNFdmVudEN1c3RvbS5jcHAiDQogCQkJCQk+DQogCQkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24NCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09CkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUu
Y3BwCShyZXZpc2lvbiA2MzEzMSkKKysrIFdlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0Fs
bEluT25lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjIsNiArNjIsNyBAQAogI2luY2x1ZGUgIkpT
RGVidWdXcmFwcGVyU2V0LmNwcCIKICNpbmNsdWRlICJKU0RlZGljYXRlZFdvcmtlckNvbnRleHRD
dXN0b20uY3BwIgogI2luY2x1ZGUgIkpTRGVza3RvcE5vdGlmaWNhdGlvbnNDdXN0b20uY3BwIgor
I2luY2x1ZGUgIkpTRGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAiCiAjaW5jbHVkZSAi
SlNEb2N1bWVudEN1c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNFbGVtZW50Q3VzdG9tLmNwcCIKICNp
bmNsdWRlICJKU0V2ZW50Q3VzdG9tLmNwcCIKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3MvanMvSlNE
ZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkluZGV4OiBXZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KSW5kZXg6IFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09CkluZGV4OiBXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbi5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KSW5k
ZXg6IFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwCShyZXZpc2lvbiA2MzEzMSkK
KysrIFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yNiwzNSArMjYsMzAgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJEZXZp
Y2VPcmllbnRhdGlvbkV2ZW50LmgiCiAKKyNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbi5oIgor
CiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBEZXZpY2VPcmllbnRhdGlvbkV2ZW50OjpEZXZpY2VPcmllbnRhdGlvbkV2ZW50KCkKLSAgICA6
IG1fYWxwaGEoMCkKLSAgICAsIG1fYmV0YSgwKQotICAgICwgbV9nYW1tYSgwKQorICAgIDogbV9v
cmllbnRhdGlvbihEZXZpY2VPcmllbnRhdGlvbjo6Y3JlYXRlKCkpCiB7CiB9CiAKLURldmljZU9y
aWVudGF0aW9uRXZlbnQ6OkRldmljZU9yaWVudGF0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5n
JiBldmVudFR5cGUsIGRvdWJsZSBhbHBoYSwgZG91YmxlIGJldGEsIGRvdWJsZSBnYW1tYSkKK0Rl
dmljZU9yaWVudGF0aW9uRXZlbnQ6OkRldmljZU9yaWVudGF0aW9uRXZlbnQoY29uc3QgQXRvbWlj
U3RyaW5nJiBldmVudFR5cGUsIERldmljZU9yaWVudGF0aW9uKiBvcmllbnRhdGlvbikKICAgICA6
IEV2ZW50KGV2ZW50VHlwZSwgZmFsc2UsIGZhbHNlKSAvLyBDYW4ndCBidWJibGUsIG5vdCBjYW5j
ZWxhYmxlCi0gICAgLCBtX2FscGhhKGFscGhhKQotICAgICwgbV9iZXRhKGJldGEpCi0gICAgLCBt
X2dhbW1hKGdhbW1hKQorICAgICwgbV9vcmllbnRhdGlvbihvcmllbnRhdGlvbikKIHsKIH0KIAot
dm9pZCBEZXZpY2VPcmllbnRhdGlvbkV2ZW50Ojppbml0RGV2aWNlT3JpZW50YXRpb25FdmVudChj
b25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2Vs
YWJsZSwgZG91YmxlIGFscGhhLCBkb3VibGUgYmV0YSwgZG91YmxlIGdhbW1hKQordm9pZCBEZXZp
Y2VPcmllbnRhdGlvbkV2ZW50Ojppbml0RGV2aWNlT3JpZW50YXRpb25FdmVudChjb25zdCBBdG9t
aWNTdHJpbmcmIHR5cGUsIGJvb2wgYnViYmxlcywgYm9vbCBjYW5jZWxhYmxlLCBEZXZpY2VPcmll
bnRhdGlvbiogb3JpZW50YXRpb24pCiB7CiAgICAgaWYgKGRpc3BhdGNoZWQoKSkKICAgICAgICAg
cmV0dXJuOwogCi0gICAgaW5pdEV2ZW50KGV2ZW50VHlwZSwgY2FuQnViYmxlLCBjYW5jZWxhYmxl
KTsKLQotICAgIG1fYWxwaGEgPSBhbHBoYTsKLSAgICBtX2JldGEgPSBiZXRhOwotICAgIG1fZ2Ft
bWEgPSBnYW1tYTsKKyAgICBpbml0RXZlbnQodHlwZSwgYnViYmxlcywgY2FuY2VsYWJsZSk7Cisg
ICAgbV9vcmllbnRhdGlvbiA9IG9yaWVudGF0aW9uOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCkluZGV4OiBXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5oCShyZXZpc2lvbiA2MzEz
MSkKKysrIFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuaAkod29ya2luZyBjb3B5
KQpAQCAtMzAsMzEgKzMwLDMwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgRGV2
aWNlT3JpZW50YXRpb247CisKIGNsYXNzIERldmljZU9yaWVudGF0aW9uRXZlbnQgOiBwdWJsaWMg
RXZlbnQgewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPERldmljZU9yaWVudGF0aW9u
RXZlbnQ+IGNyZWF0ZSgpCiAgICAgewogICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IERldmlj
ZU9yaWVudGF0aW9uRXZlbnQpOwogICAgIH0KLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxEZXZpY2VP
cmllbnRhdGlvbkV2ZW50PiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIGRv
dWJsZSBhbHBoYSwgZG91YmxlIGJldGEsIGRvdWJsZSBnYW1tYSkKKyAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxEZXZpY2VPcmllbnRhdGlvbkV2ZW50PiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiBl
dmVudFR5cGUsIERldmljZU9yaWVudGF0aW9uKiBvcmllbnRhdGlvbikKICAgICB7Ci0gICAgICAg
IHJldHVybiBhZG9wdFJlZihuZXcgRGV2aWNlT3JpZW50YXRpb25FdmVudChldmVudFR5cGUsIGFs
cGhhLCBiZXRhLCBnYW1tYSkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IERldmljZU9y
aWVudGF0aW9uRXZlbnQoZXZlbnRUeXBlLCBvcmllbnRhdGlvbikpOwogICAgIH0KIAotICAgIHZv
aWQgaW5pdERldmljZU9yaWVudGF0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5
cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIGRvdWJsZSBhbHBoYSwgZG91Ymxl
IGJldGEsIGRvdWJsZSBnYW1tYSk7Ci0gICAgZG91YmxlIGFscGhhKCkgY29uc3QgeyByZXR1cm4g
bV9hbHBoYTsgfQotICAgIGRvdWJsZSBiZXRhKCkgY29uc3QgeyByZXR1cm4gbV9iZXRhOyB9Ci0g
ICAgZG91YmxlIGdhbW1hKCkgY29uc3QgeyByZXR1cm4gbV9nYW1tYTsgfQorICAgIHZvaWQgaW5p
dERldmljZU9yaWVudGF0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGJ1
YmJsZXMsIGJvb2wgY2FuY2VsYWJsZSwgRGV2aWNlT3JpZW50YXRpb24qKTsKIAogICAgIHZpcnR1
YWwgYm9vbCBpc0RldmljZU9yaWVudGF0aW9uRXZlbnQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9
CiAKKyAgICBEZXZpY2VPcmllbnRhdGlvbiogb3JpZW50YXRpb24oKSBjb25zdCB7IHJldHVybiBt
X29yaWVudGF0aW9uLmdldCgpOyB9CisKIHByaXZhdGU6CiAgICAgRGV2aWNlT3JpZW50YXRpb25F
dmVudCgpOwotICAgIERldmljZU9yaWVudGF0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBl
dmVudFR5cGUsIGRvdWJsZSBhbHBoYSwgZG91YmxlIGJldGEsIGRvdWJsZSBnYW1tYSk7CisgICAg
RGV2aWNlT3JpZW50YXRpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgRGV2
aWNlT3JpZW50YXRpb24qKTsKIAotICAgIGRvdWJsZSBtX2FscGhhOwotICAgIGRvdWJsZSBtX2Jl
dGE7Ci0gICAgZG91YmxlIG1fZ2FtbWE7CisgICAgUmVmUHRyPERldmljZU9yaWVudGF0aW9uPiBt
X29yaWVudGF0aW9uOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29y
ZS9kb20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpJbmRleDogTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0Rl
dmljZU9yaWVudGF0aW9uL29wdGlvbmFsLWV2ZW50LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU9yaWVudGF0aW9uL29w
dGlvbmFsLWV2ZW50LXByb3BlcnRpZXMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L2RvbS9EZXZpY2VPcmllbnRhdGlvbi9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmh0bWwJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VPcmllbnRhdGlvbi9v
cHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTIg
QEAKKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3Jj
PSJzY3JpcHQtdGVzdHMvb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VPcmll
bnRhdGlvbi9zY3JpcHQtdGVzdHMvb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61287</attachid>
            <date>2010-07-12 16:39:02 -0700</date>
            <delta_ts>2010-07-13 01:42:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-41607-20100713003858.patch</filename>
            <type>text/plain</type>
            <size>42509</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MzEzNykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNTUgQEAKKzIwMTAtMDctMTIgIFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IERldmljZU9yaWVudGF0aW9uRXZlbnQgc2hvdWxkIHVzZSBvcHRpb25hbCBwcm9wZXJ0aWVzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MTYwNworCisg
ICAgICAgIFRoaXMgY2hhbmdlIGFkZHMgYSBuZXcgRGV2aWNlT3JpZW50YXRpb24gY2xhc3Mgd2hp
Y2ggdGFrZXMgY2FyZSBvZiB3aGljaCBvZiB0aGUKKyAgICAgICAgb3B0aW9uYWwgcHJvcGVydGll
cyBhcmUgcHJlc2VudC4gRGV2aWNlT3JpZW50YXRpb25FdmVudCBvd25zIGFuIGluc3RhbmNlIG9m
CisgICAgICAgIERldmljZU9yaWVudGF0aW9uLCByYXRoZXIgdGhhbiBvd25pbmcgdGhlIHByb3Bl
cnRpZXMgZGlyZWN0bHkuCisgICAgICAgIERldmljZU9yaWVudGF0aW9uRXZlbnQgbm93IHJlcXVp
cmVzIGN1c3RvbSBiaW5kaW5ncy4KKworICAgICAgICBUZXN0OiBmYXN0L2RvbS9EZXZpY2VPcmll
bnRhdGlvbi9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmh0bWwKKworICAgICAgICAqIEFuZHJv
aWQubWs6CisgICAgICAgICogQW5kcm9pZC5qc2NiaW5kaW5ncy5tazoKKyAgICAgICAgKiBBbmRy
b2lkLnY4YmluZGluZ3MubWs6CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICog
R05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNv
cmUucHJvOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAg
ICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRGV2
aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6
SlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50OjphbHBoYSk6CisgICAgICAgIChXZWJDb3JlOjpKU0Rl
dmljZU9yaWVudGF0aW9uRXZlbnQ6OmJldGEpOgorICAgICAgICAoV2ViQ29yZTo6SlNEZXZpY2VP
cmllbnRhdGlvbkV2ZW50OjpnYW1tYSk6CisgICAgICAgIChXZWJDb3JlOjpKU0RldmljZU9yaWVu
dGF0aW9uRXZlbnQ6OmluaXREZXZpY2VPcmllbnRhdGlvbkV2ZW50KToKKyAgICAgICAgKiBiaW5k
aW5ncy92OC9jdXN0b20vVjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlOjpWOERldmljZU9yaWVudGF0aW9uRXZlbnQ6OmFscGhhQWNjZXNz
b3JHZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50Ojpi
ZXRhQWNjZXNzb3JHZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VjhEZXZpY2VPcmllbnRhdGlv
bkV2ZW50OjpnYW1tYUFjY2Vzc29yR2V0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlY4RGV2aWNl
T3JpZW50YXRpb25FdmVudDo6aW5pdERldmljZU9yaWVudGF0aW9uRXZlbnRDYWxsYmFjayk6Cisg
ICAgICAgICogZG9tL0RldmljZU9yaWVudGF0aW9uLmNwcDogQWRkZWQuCisgICAgICAgICogZG9t
L0RldmljZU9yaWVudGF0aW9uLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3Jp
ZW50YXRpb246OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbjo6
Y2FuUHJvdmlkZUFscGhhKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uOjph
bHBoYSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbjo6Y2FuUHJvdmlkZUJl
dGEpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb246OmJldGEpOgorICAgICAg
ICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb246OmNhblByb3ZpZGVHYW1tYSk6CisgICAgICAg
IChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbjo6Z2FtbWEpOgorICAgICAgICAoV2ViQ29yZTo6
RGV2aWNlT3JpZW50YXRpb246OkRldmljZU9yaWVudGF0aW9uKToKKyAgICAgICAgKiBkb20vRGV2
aWNlT3JpZW50YXRpb25FdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRh
dGlvbkV2ZW50OjpEZXZpY2VPcmllbnRhdGlvbkV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRl
dmljZU9yaWVudGF0aW9uRXZlbnQ6OmluaXREZXZpY2VPcmllbnRhdGlvbkV2ZW50KToKKyAgICAg
ICAgKiBkb20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5oOgorICAgICAgICAoV2ViQ29yZTo6RGV2
aWNlT3JpZW50YXRpb25FdmVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU9y
aWVudGF0aW9uRXZlbnQ6Om9yaWVudGF0aW9uKToKKyAgICAgICAgKiBkb20vRGV2aWNlT3JpZW50
YXRpb25FdmVudC5pZGw6CisKIDIwMTAtMDctMTIgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQu
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCkluZGV4OiBXZWJDb3JlL0Fu
ZHJvaWQuanNjYmluZGluZ3MubWsKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9BbmRyb2lkLmpzY2Jp
bmRpbmdzLm1rCShyZXZpc2lvbiA2MzEzNykKKysrIFdlYkNvcmUvQW5kcm9pZC5qc2NiaW5kaW5n
cy5tawkod29ya2luZyBjb3B5KQpAQCAtODAsMTkgKzgwLDIwIEBAIExPQ0FMX1NSQ19GSUxFUyAr
PSBcCiAJYmluZGluZ3MvanMvSlNDdXN0b21TUUxUcmFuc2FjdGlvbkNhbGxiYWNrLmNwcCBcCiAJ
YmluZGluZ3MvanMvSlNDdXN0b21TUUxUcmFuc2FjdGlvbkVycm9yQ2FsbGJhY2suY3BwIFwKIAli
aW5kaW5ncy9qcy9KU0N1c3RvbVZvaWRDYWxsYmFjay5jcHAgXAotCWJpbmRpbmdzL2pzL0pTRGF0
YWJhc2VDYWxsYmFjay5jcHAgXAotCWJpbmRpbmdzL2pzL0pTRGVza3RvcE5vdGlmaWNhdGlvbnND
dXN0b20uY3BwIFwKIAliaW5kaW5ncy9qcy9KU0RPTUFwcGxpY2F0aW9uQ2FjaGVDdXN0b20uY3Bw
IFwKIAliaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwIFwKLSAgYmluZGluZ3MvanMvSlNET01G
b3JtRGF0YUN1c3RvbS5jcHAgXAorCWJpbmRpbmdzL2pzL0pTRE9NRm9ybURhdGFDdXN0b20uY3Bw
IFwKIAliaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAgXAogCWJpbmRpbmdzL2pzL0pT
RE9NV2luZG93QmFzZS5jcHAgXAogCWJpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcCBc
CiAJYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5jcHAgXAorCWJpbmRpbmdzL2pzL0pTRGF0
YWJhc2VDYWxsYmFjay5jcHAgXAogCWJpbmRpbmdzL2pzL0pTRGF0YUdyaWRDb2x1bW5MaXN0Q3Vz
dG9tLmNwcCBcCiAJYmluZGluZ3MvanMvSlNEYXRhR3JpZERhdGFTb3VyY2UuY3BwIFwKIAliaW5k
aW5ncy9qcy9KU0RhdGFiYXNlQ3VzdG9tLmNwcCBcCiAJYmluZGluZ3MvanMvSlNEZWRpY2F0ZWRX
b3JrZXJDb250ZXh0Q3VzdG9tLmNwcCBcCisJYmluZGluZ3MvanMvSlNEZXNrdG9wTm90aWZpY2F0
aW9uc0N1c3RvbS5jcHAgXAorCWJpbmRpbmdzL2pzL0pTRGV2aWNlT3JpZW50YXRpb25FdmVudEN1
c3RvbS5jcHAgXAogCWJpbmRpbmdzL2pzL0pTRG9jdW1lbnRDdXN0b20uY3BwIFwKIAliaW5kaW5n
cy9qcy9KU0VsZW1lbnRDdXN0b20uY3BwIFwKIAliaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNw
cCBcCkluZGV4OiBXZWJDb3JlL0FuZHJvaWQubWsKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9BbmRy
b2lkLm1rCShyZXZpc2lvbiA2MzEzNykKKysrIFdlYkNvcmUvQW5kcm9pZC5tawkod29ya2luZyBj
b3B5KQpAQCAtMTQ4LDYgKzE0OCw3IEBAIExPQ0FMX1NSQ19GSUxFUyA6PSAkKExPQ0FMX1NSQ19G
SUxFUykgXAogCWRvbS9Ob3RhdGlvbi5jcHAgXAogCWRvbS9PcHRpb25FbGVtZW50LmNwcCBcCiAJ
ZG9tL09wdGlvbkdyb3VwRWxlbWVudC5jcHAgXAorCWRvbS9EZXZpY2VPcmllbnRhdGlvbi5jcHAg
XAogCWRvbS9EZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIuY3BwIFwKIAlkb20vRGV2aWNlT3Jp
ZW50YXRpb25FdmVudC5jcHAgXAogCWRvbS9PdmVyZmxvd0V2ZW50LmNwcCBcCkluZGV4OiBXZWJD
b3JlL0FuZHJvaWQudjhiaW5kaW5ncy5tawo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0FuZHJvaWQu
djhiaW5kaW5ncy5tawkocmV2aXNpb24gNjMxMzcpCisrKyBXZWJDb3JlL0FuZHJvaWQudjhiaW5k
aW5ncy5tawkod29ya2luZyBjb3B5KQpAQCAtMTA4LDYgKzEwOCw3IEBAIExPQ0FMX1NSQ19GSUxF
UyArPSBcCiAJYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGF0YWJhc2VDYWxsYmFjay5jcHAgXAogCWJp
bmRpbmdzL3Y4L2N1c3RvbS9WOERhdGFiYXNlQ3VzdG9tLmNwcCBcCiAJYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4RGVkaWNhdGVkV29ya2VyQ29udGV4dEN1c3RvbS5jcHAgXAorCWJpbmRpbmdzL3Y4L2N1
c3RvbS9WOERldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwIFwKIAliaW5kaW5ncy92OC9j
dXN0b20vVjhEb2N1bWVudEN1c3RvbS5jcHAgXAogCWJpbmRpbmdzL3Y4L2N1c3RvbS9WOERvY3Vt
ZW50TG9jYXRpb25DdXN0b20uY3BwIFwKIAliaW5kaW5ncy92OC9jdXN0b20vVjhFbGVtZW50Q3Vz
dG9tLmNwcCBcCkluZGV4OiBXZWJDb3JlL0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDYzMTM3KQorKysgV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNTg0LDYgKzU4NCw3IEBAIFNFVChXZWJDb3JlX1NP
VVJDRVMKICAgICBiaW5kaW5ncy9qcy9KU0RhdGFHcmlkRGF0YVNvdXJjZS5jcHAKICAgICBiaW5k
aW5ncy9qcy9KU0RlYnVnV3JhcHBlclNldC5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0RlZGljYXRl
ZFdvcmtlckNvbnRleHRDdXN0b20uY3BwCisgICAgYmluZGluZ3MvanMvSlNEZXZpY2VPcmllbnRh
dGlvbkV2ZW50Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTRG9jdW1lbnRDdXN0b20uY3Bw
CiAgICAgYmluZGluZ3MvanMvSlNET01BcHBsaWNhdGlvbkNhY2hlQ3VzdG9tLmNwcAogICAgIGJp
bmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAKQEAgLTc3OCw2ICs3NzksNyBAQCBTRVQoV2ViQ29y
ZV9TT1VSQ0VTCiAgICAgZG9tL0N1c3RvbUV2ZW50LmNwcAogICAgIGRvbS9EYXRhc2V0RE9NU3Ry
aW5nTWFwLmNwcAogICAgIGRvbS9EZWNvZGVkRGF0YURvY3VtZW50UGFyc2VyLmNwcAorICAgIGRv
bS9EZXZpY2VPcmllbnRhdGlvbi5jcHAKICAgICBkb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9s
bGVyLmNwcAogICAgIGRvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmNwcAogICAgIGRvbS9Eb2N1
bWVudC5jcHAKSW5kZXg6IFdlYkNvcmUvR05VbWFrZWZpbGUuYW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9HTlVtYWtlZmlsZS5hbQkocmV2aXNpb24gNjMxMzcpCisrKyBXZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC00NTIsNiArNDUyLDcgQEAgd2ViY29yZV9zb3VyY2Vz
ICs9IFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuaCBcCiAJV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXIuY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NV3JhcHBlci5oIFwKKwlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGV2aWNlT3JpZW50YXRpb25F
dmVudEN1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNEb2N1bWVudEN1c3RvbS5j
cHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNFbGVtZW50Q3VzdG9tLmNwcCBcCiAJV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcCBcCkBAIC04MDAsNiArODAxLDggQEAgd2Vi
Y29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2RvbS9EYXRhc2V0RE9NU3RyaW5nTWFwLmggXAog
CVdlYkNvcmUvZG9tL0RlY29kZWREYXRhRG9jdW1lbnRQYXJzZXIuY3BwIFwKIAlXZWJDb3JlL2Rv
bS9EZWNvZGVkRGF0YURvY3VtZW50UGFyc2VyLmggXAorCVdlYkNvcmUvZG9tL0RldmljZU9yaWVu
dGF0aW9uLmNwcCBcCisJV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb24uaCBcCiAJV2ViQ29y
ZS9kb20vRGV2aWNlT3JpZW50YXRpb25DbGllbnQuaCBcCiAJV2ViQ29yZS9kb20vRGV2aWNlT3Jp
ZW50YXRpb25Db250cm9sbGVyLmNwcCBcCiAJV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25D
b250cm9sbGVyLmggXApJbmRleDogV2ViQ29yZS9XZWJDb3JlLmd5cGkKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9uIDYzMTM3KQorKysgV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkJKHdvcmtpbmcgY29weSkKQEAgLTU0Miw2ICs1NDIsNyBAQAogICAgICAgICAgICAgJ2Jp
bmRpbmdzL2pzL0pTRGVkaWNhdGVkV29ya2VyQ29udGV4dEN1c3RvbS5jcHAnLAogICAgICAgICAg
ICAgJ2JpbmRpbmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0LmNwcCcsCiAgICAgICAgICAgICAnYmlu
ZGluZ3MvanMvSlNEZWJ1Z1dyYXBwZXJTZXQuaCcsCisgICAgICAgICAgICAnYmluZGluZ3MvanMv
SlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGlu
Z3MvanMvSlNEb2N1bWVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pT
RE9NQXBwbGljYXRpb25DYWNoZUN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pz
L0pTRE9NQmluZGluZy5jcHAnLApAQCAtNzM3LDYgKzczOCw3IEBACiAgICAgICAgICAgICAnYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4RGF0YWJhc2VTeW5jQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAn
YmluZGluZ3MvdjgvY3VzdG9tL1Y4RGF0YUdyaWRDb2x1bW5MaXN0Q3VzdG9tLmNwcCcsCiAgICAg
ICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGVkaWNhdGVkV29ya2VyQ29udGV4dEN1c3Rv
bS5jcHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERldmljZU9yaWVudGF0
aW9uRXZlbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhE
b2N1bWVudExvY2F0aW9uQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4RE9NRm9ybURhdGFDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9j
dXN0b20vVjhET01XaW5kb3dDdXN0b20uY3BwJywKQEAgLTExMTksNiArMTEyMSw4IEBACiAgICAg
ICAgICAgICAnZG9tL0RhdGFzZXRET01TdHJpbmdNYXAuaCcsCiAgICAgICAgICAgICAnZG9tL0Rl
Y29kZWREYXRhRG9jdW1lbnRQYXJzZXIuY3BwJywKICAgICAgICAgICAgICdkb20vRGVjb2RlZERh
dGFEb2N1bWVudFBhcnNlci5oJywKKyAgICAgICAgICAgICdkb20vRGV2aWNlT3JpZW50YXRpb24u
Y3BwJywKKyAgICAgICAgICAgICdkb20vRGV2aWNlT3JpZW50YXRpb24uaCcsCiAgICAgICAgICAg
ICAnZG9tL0RldmljZU9yaWVudGF0aW9uQ2xpZW50LmgnLAogICAgICAgICAgICAgJ2RvbS9EZXZp
Y2VPcmllbnRhdGlvbkNvbnRyb2xsZXIuY3BwJywKICAgICAgICAgICAgICdkb20vRGV2aWNlT3Jp
ZW50YXRpb25Db250cm9sbGVyLmgnLApJbmRleDogV2ViQ29yZS9XZWJDb3JlLnBybwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUucHJvCShyZXZpc2lvbiA2MzEzNykKKysrIFdlYkNvcmUv
V2ViQ29yZS5wcm8JKHdvcmtpbmcgY29weSkKQEAgLTI4Niw2ICsyODYsNyBAQCBTT1VSQ0VTICs9
IFwKICAgICBiaW5kaW5ncy9qcy9KU0RhdGFHcmlkRGF0YVNvdXJjZS5jcHAgXAogICAgIGJpbmRp
bmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0LmNwcCBcCiAgICAgYmluZGluZ3MvanMvSlNEZXNrdG9w
Tm90aWZpY2F0aW9uc0N1c3RvbS5jcHAgXAorICAgIGJpbmRpbmdzL2pzL0pTRGV2aWNlT3JpZW50
YXRpb25FdmVudEN1c3RvbS5jcHAgXAogICAgIGJpbmRpbmdzL2pzL0pTRG9jdW1lbnRDdXN0b20u
Y3BwIFwKICAgICBiaW5kaW5ncy9qcy9KU0RPTUZvcm1EYXRhQ3VzdG9tLmNwcCBcCiAgICAgYmlu
ZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwIFwKQEAgLTQ2Miw2ICs0NjMsNyBAQCBTT1VS
Q0VTICs9IFwKICAgICBkb20vQ1NTTWFwcGVkQXR0cmlidXRlRGVjbGFyYXRpb24uY3BwIFwKICAg
ICBkb20vQ3VzdG9tRXZlbnQuY3BwIFwKICAgICBkb20vRGVjb2RlZERhdGFEb2N1bWVudFBhcnNl
ci5jcHAgXAorICAgIGRvbS9EZXZpY2VPcmllbnRhdGlvbi5jcHAgXAogICAgIGRvbS9EZXZpY2VP
cmllbnRhdGlvbkNvbnRyb2xsZXIuY3BwIFwKICAgICBkb20vRGV2aWNlT3JpZW50YXRpb25FdmVu
dC5jcHAgXAogICAgIGRvbS9Eb2N1bWVudC5jcHAgXApAQCAtMTIxOSw2ICsxMjIxLDcgQEAgSEVB
REVSUyArPSBcCiAgICAgZG9tL0NTU01hcHBlZEF0dHJpYnV0ZURlY2xhcmF0aW9uLmggXAogICAg
IGRvbS9DdXN0b21FdmVudC5oIFwKICAgICBkb20vZGVmYXVsdC9QbGF0Zm9ybU1lc3NhZ2VQb3J0
Q2hhbm5lbC5oIFwKKyAgICBkb20vRGV2aWNlT3JpZW50YXRpb24uaCBcCiAgICAgZG9tL0Rldmlj
ZU9yaWVudGF0aW9uQ2xpZW50LmggXAogICAgIGRvbS9EZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xs
ZXIuaCBcCiAgICAgZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuaCBcCkluZGV4OiBXZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHJldmlzaW9uIDYzMTM3KQorKysgV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkod29ya2luZyBjb3B5KQpAQCAtMzIzODEsNiAr
MzIzODEsMTQgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZl
UGF0aD0iLi5cZG9tXERldmljZU9yaWVudGF0aW9uLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4N
CisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxEZXZpY2VPcmllbnRhdGlvbi5o
Ig0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5c
ZG9tXERldmljZU9yaWVudGF0aW9uQ2xpZW50LmgiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpAQCAt
NDI2MzYsNiArNDI2NDQsNTggQEAKIAkJCQkJPg0KIAkJCQk8L0ZpbGU+DQogCQkJCTxGaWxlDQor
CQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTRGV2aWNlT3JpZW50YXRpb25FdmVu
dEN1c3RvbS5jcHAiDQorCQkJCQk+DQorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCQlO
YW1lPSJEZWJ1Z3xXaW4zMiINCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJ
CQk+DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJ
CQkvPg0KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJCTxGaWxlQ29uZmlndXJhdGlv
bg0KKwkJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiDQorCQkJCQkJPg0KKwkJCQkJCTxUb29sDQorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiDQorCQkJCQkJLz4NCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24NCisJCQkJCQlOYW1lPSJEZWJ1Z19JbnRlcm5hbHxXaW4zMiINCisJCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCQk+DQorCQkJCQkJPFRvb2wNCisJCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCQkvPg0KKwkJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4NCisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJCU5hbWU9IkRlYnVnX0Nh
aXJvfFdpbjMyIg0KKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJCT4NCisJ
CQkJCQk8VG9vbA0KKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJCS8+DQor
CQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJ
CQkJTmFtZT0iUmVsZWFzZV9DYWlyb3xXaW4zMiINCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSINCisJCQkJCQk+DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCINCisJCQkJCQkvPg0KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJCTxGaWxl
Q29uZmlndXJhdGlvbg0KKwkJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiINCisJCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCQk+DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCQkvPg0KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4NCisJCQkJPC9GaWxlPg0KKwkJCQk8RmlsZQ0KIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5k
aW5nc1xqc1xKU0VsZW1lbnRDdXN0b20uY3BwIg0KIAkJCQkJPg0KIAkJCQkJPEZpbGVDb25maWd1
cmF0aW9uDQpJbmRleDogV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJ
KHJldmlzaW9uIDYzMTM3KQorKysgV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTExODIsNiArMTE4Miw4IEBACiAJCTU0QzUwRjdCMEU4
MDFERjMwMDk4MzJBMCAvKiBYTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTRDNTBGN0EwRTgwMURGMzAwOTgz
MkEwIC8qIFhNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAgKi87IH07CiAJCTU1MEEwQkM5MDg1
RjYwMzkwMDczNTNENiAvKiBRdWFsaWZpZWROYW1lLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU1MEEwQkM3MDg1RjYwMzkwMDczNTNENiAvKiBRdWFs
aWZpZWROYW1lLmNwcCAqLzsgfTsKIAkJNTUwQTBCQ0EwODVGNjAzOTAwNzM1M0Q2IC8qIFF1YWxp
ZmllZE5hbWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDU1MEEwQkM4MDg1RjYwMzkwMDczNTNENiAvKiBRdWFsaWZpZWROYW1lLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNTkwRTFCNDkxMUU0RUY0QjAw
NjlGNzg0IC8qIERldmljZU9yaWVudGF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1OTBFMUI0ODExRTRFRjRCMDA2OUY3ODQgLyogRGV2aWNlT3Jp
ZW50YXRpb24uaCAqLzsgfTsKKwkJNTkwRTFCNEIxMUU0RUY3MDAwNjlGNzg0IC8qIEpTRGV2aWNl
T3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1OTBFMUI0QTExRTRFRjcwMDA2OUY3ODQgLyogSlNEZXZpY2VPcmll
bnRhdGlvbkV2ZW50Q3VzdG9tLmNwcCAqLzsgfTsKIAkJNTkxMzk1M0IxMTA3NTg0NTAwODNFQzU1
IC8qIEpOSUJyaWRnZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNTkxMzk1M0ExMTA3NTg0NTAwODNFQzU1IC8qIEpOSUJyaWRnZS5oICovOyB9OwogCQk1
OTEzOTUzRDExMDc1ODRFMDA4M0VDNTUgLyogSk5JQnJpZGdlLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5MTM5NTNDMTEwNzU4NEUwMDgzRUM1NSAv
KiBKTklCcmlkZ2UuY3BwICovOyB9OwogCQk1OTYyMjk3ODExMzNFRkQ3MDBEQzRDQkIgLyogR2Vv
bG9jYXRpb25Qb3NpdGlvbkNhY2hlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDU5NjIyOTc3MTEzM0VGRDcwMERDNENCQiAvKiBHZW9sb2NhdGlvblBv
c2l0aW9uQ2FjaGUuY3BwICovOyB9OwpAQCAtMTE5OSw2ICsxMjAxLDcgQEAKIAkJNTlCNTk3NzMx
MTA4NjU2QjAwNzE1OUU4IC8qIEJyaWRnZUpTQy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1OUI1OTc3MjExMDg2NTZCMDA3MTU5RTggLyogQnJpZGdl
SlNDLmNwcCAqLzsgfTsKIAkJNTlCNTk3NzUxMTA4NjU3OTAwNzE1OUU4IC8qIEJyaWRnZUpTQy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTlCNTk3NzQx
MTA4NjU3OTAwNzE1OUU4IC8qIEJyaWRnZUpTQy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTU5QkMzOTNGMTEwNTRBMTMwMEZEODVEQiAvKiBKYXZh
U3RyaW5nSlNDLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1OUJDMzkzRTExMDU0QTEzMDBGRDg1REIgLyogSmF2YVN0cmluZ0pTQy5oICovOyB9OworCQk1
OUQxQzEwNDExRUI1RENGMDBCNjM4QzggLyogRGV2aWNlT3JpZW50YXRpb24uY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTlEMUMxMDMxMUVCNURDRjAw
QjYzOEM4IC8qIERldmljZU9yaWVudGF0aW9uLmNwcCAqLzsgfTsKIAkJNTlFNTYwQTcxMTA1MzM2
NjAwQUExMjU4IC8qIEphdmFDbGFzc0pTQy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTlFNTYwQTYxMTA1MzM2NjAwQUExMjU4IC8qIEphdmFDbGFzc0pT
Qy5oICovOyB9OwogCQk1OUU1NjBBOTExMDUzMzZGMDBBQTEyNTggLyogSmF2YUNsYXNzSlNDLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5RTU2MEE4
MTEwNTMzNkYwMEFBMTI1OCAvKiBKYXZhQ2xhc3NKU0MuY3BwICovOyB9OwogCQk1OUU4NDI2NjEx
MDlFNUEyMDAwMzA1QUQgLyogSk5JQnJpZGdlSlNDLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1OUU4NDI2NTExMDlFNUEyMDAwMzA1QUQgLyogSk5JQnJp
ZGdlSlNDLmggKi87IH07CkBAIC02OTIwLDYgKzY5MjMsOCBAQAogCQk1NEM1MEY3QTBFODAxREYz
MDA5ODMyQTAgLyogWE1MRG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFhNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU1MEEwQkM3MDg1RjYwMzkwMDczNTNENiAvKiBRdWFs
aWZpZWROYW1lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFF1YWxpZmllZE5hbWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0
YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKIAkJNTUwQTBCQzgwODVGNjAzOTAwNzM1M0Q2
IC8qIFF1YWxpZmllZE5hbWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUXVhbGlmaWVkTmFtZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0
YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKKwkJNTkwRTFCNDgxMUU0RUY0QjAwNjlGNzg0
IC8qIERldmljZU9yaWVudGF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IERldmljZU9yaWVudGF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU5MEUx
QjRBMTFFNEVGNzAwMDY5Rjc4NCAvKiBKU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNEZXZpY2VPcmllbnRhdGlv
bkV2ZW50Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTkxMzk1M0Ex
MTA3NTg0NTAwODNFQzU1IC8qIEpOSUJyaWRnZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKTklCcmlkZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTkxMzk1
M0MxMTA3NTg0RTAwODNFQzU1IC8qIEpOSUJyaWRnZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBKTklCcmlkZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1OTYyMjk3NzExMzNFRkQ3MDBEQzRDQkIgLyogR2VvbG9jYXRpb25Qb3NpdGlvbkNhY2hl
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdlb2xvY2F0aW9uUG9z
aXRpb25DYWNoZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02OTM4LDYgKzY5
NDMsNyBAQAogCQk1OUI1OTc3MjExMDg2NTZCMDA3MTU5RTggLyogQnJpZGdlSlNDLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEJyaWRnZUpTQy5jcHA7IHBhdGggPSBi
cmlkZ2UvanNjL0JyaWRnZUpTQy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU5
QjU5Nzc0MTEwODY1NzkwMDcxNTlFOCAvKiBCcmlkZ2VKU0MuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gQnJpZGdlSlNDLmg7IHBhdGggPSBicmlkZ2UvanNjL0JyaWRnZUpTQy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1OUJDMzkzRTExMDU0QTEzMDBGRDg1REIg
LyogSmF2YVN0cmluZ0pTQy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBKYXZh
U3RyaW5nSlNDLmg7IHBhdGggPSBqc2MvSmF2YVN0cmluZ0pTQy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk1OUQxQzEwMzExRUI1RENGMDBCNjM4QzggLyogRGV2aWNlT3JpZW50YXRp
b24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGV2aWNlT3JpZW50
YXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1OUU1NjBBNjExMDUzMzY2
MDBBQTEyNTggLyogSmF2YUNsYXNzSlNDLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFt
ZSA9IEphdmFDbGFzc0pTQy5oOyBwYXRoID0ganNjL0phdmFDbGFzc0pTQy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk1OUU1NjBBODExMDUzMzZGMDBBQTEyNTggLyogSmF2YUNsYXNz
SlNDLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEphdmFDbGFzc0pT
Qy5jcHA7IHBhdGggPSBqc2MvSmF2YUNsYXNzSlNDLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNTlFODQyNjUxMTA5RTVBMjAwMDMwNUFEIC8qIEpOSUJyaWRnZUpTQy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBKTklCcmlkZ2VKU0MuaDsgcGF0aCA9IGpzYy9K
TklCcmlkZ2VKU0MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE1NzE5LDYgKzE1
NzI1LDcgQEAKIAkJQkM0RURFRjcwQzA4RjQxNDAwN0VERDQ5IC8qIEN1c3RvbSAqLyA9IHsKIAkJ
CWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJNTkwRTFCNEExMUU0RUY3MDAw
NjlGNzg0IC8qIEpTRGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAgKi8sCiAJCQkJQkMy
NzVDQjIxMUM1RTg1QzAwQzkyMDZDIC8qIEpTQXJyYXlCdWZmZXJDdXN0b20uY3BwICovLAogCQkJ
CTQ5MjI3M0EyMTA4M0IzQjEwMEVFNUM4NCAvKiBKU0FycmF5QnVmZmVyVmlld0N1c3RvbS5jcHAg
Ki8sCiAJCQkJODYyNDNEMDAxMUJDMzFGNzAwQ0MwMDZBIC8qIEpTQXJyYXlCdWZmZXJWaWV3SGVs
cGVyLmggKi8sCkBAIC0xNjgxNiw2ICsxNjgyMyw4IEBACiAJCUY1MjNEMzI0MDJERTQ0NzgwMTg2
MzVDQSAvKiBkb20gKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAor
CQkJCTU5RDFDMTAzMTFFQjVEQ0YwMEI2MzhDOCAvKiBEZXZpY2VPcmllbnRhdGlvbi5jcHAgKi8s
CisJCQkJNTkwRTFCNDgxMUU0RUY0QjAwNjlGNzg0IC8qIERldmljZU9yaWVudGF0aW9uLmggKi8s
CiAJCQkJRTFDNERFNkQwRUE3NUM2NTAwMjNDQ0Q2IC8qIEFjdGl2ZURPTU9iamVjdC5jcHAgKi8s
CiAJCQkJRTFDNERFNjgwRUE3NUMxRTAwMjNDQ0Q2IC8qIEFjdGl2ZURPTU9iamVjdC5oICovLAog
CQkJCUE4QzRBN0ZDMDlENTYzMjcwMDAzQUM4RCAvKiBBdHRyLmNwcCAqLywKQEAgLTE5NzY4LDYg
KzE5Nzc3LDcgQEAKIAkJCQlDNTg1QTZGQTExRDRGQjNEMDA0QzNFNEIgLyogSW5kZXhlZERhdGFi
YXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDNTg1QTZGQzExRDRGQjNEMDA0QzNFNEIgLyogSW5k
ZXhlZERhdGFiYXNlSW1wbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzU4NUE2RkUxMUQ0RkIzRDAw
NEMzRTRCIC8qIEluZGV4ZWREYXRhYmFzZVJlcXVlc3QuaCBpbiBIZWFkZXJzICovLAorCQkJCTU5
MEUxQjQ5MTFFNEVGNEIwMDY5Rjc4NCAvKiBEZXZpY2VPcmllbnRhdGlvbi5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJ
CX07CkBAIC0yMjE1Myw2ICsyMjE2Myw4IEBACiAJCQkJQzU4NUE2RjkxMUQ0RkIzRDAwNEMzRTRC
IC8qIEluZGV4ZWREYXRhYmFzZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDNTg1QTZGQjExRDRG
QjNEMDA0QzNFNEIgLyogSW5kZXhlZERhdGFiYXNlSW1wbC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlDNTg1QTZGRDExRDRGQjNEMDA0QzNFNEIgLyogSW5kZXhlZERhdGFiYXNlUmVxdWVzdC5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQk1OTBFMUI0QjExRTRFRjcwMDA2OUY3ODQgLyogSlNEZXZpY2VP
cmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTU5RDFDMTA0MTFF
QjVEQ0YwMEI2MzhDOCAvKiBEZXZpY2VPcmllbnRhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKSW5k
ZXg6IFdlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHAJKHJldmlzaW9u
IDYzMTM3KQorKysgV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC02Miw2ICs2Miw3IEBACiAjaW5jbHVkZSAiSlNEZWJ1Z1dyYXBwZXJT
ZXQuY3BwIgogI2luY2x1ZGUgIkpTRGVkaWNhdGVkV29ya2VyQ29udGV4dEN1c3RvbS5jcHAiCiAj
aW5jbHVkZSAiSlNEZXNrdG9wTm90aWZpY2F0aW9uc0N1c3RvbS5jcHAiCisjaW5jbHVkZSAiSlNE
ZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU0RvY3VtZW50Q3Vz
dG9tLmNwcCIKICNpbmNsdWRlICJKU0VsZW1lbnRDdXN0b20uY3BwIgogI2luY2x1ZGUgIkpTRXZl
bnRDdXN0b20uY3BwIgpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RldmljZU9yaWVudGF0
aW9uRXZlbnRDdXN0b20uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvanMvSlNE
ZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUv
YmluZGluZ3MvanMvSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSw4MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlICJKU0RldmljZU9yaWVudGF0aW9uRXZlbnQuaCIKKworI2lmIEVOQUJMRShERVZJQ0VfT1JJ
RU5UQVRJT04pCisKKyNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbi5oIgorI2luY2x1ZGUgIkRl
dmljZU9yaWVudGF0aW9uRXZlbnQuaCIKKwordXNpbmcgbmFtZXNwYWNlIEpTQzsKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitKU1ZhbHVlIEpTRGV2aWNlT3JpZW50YXRpb25FdmVudDo6YWxwaGEo
RXhlY1N0YXRlKiBleGVjKSBjb25zdAoreworICAgIERldmljZU9yaWVudGF0aW9uRXZlbnQqIGlt
cCA9IHN0YXRpY19jYXN0PERldmljZU9yaWVudGF0aW9uRXZlbnQqPihpbXBsKCkpOworICAgIGlm
ICghaW1wLT5vcmllbnRhdGlvbigpLT5jYW5Qcm92aWRlQWxwaGEoKSkKKyAgICAgICAgcmV0dXJu
IGpzTnVsbCgpOworICAgIHJldHVybiBqc051bWJlcihleGVjLCBpbXAtPm9yaWVudGF0aW9uKCkt
PmFscGhhKCkpOworfQorCitKU1ZhbHVlIEpTRGV2aWNlT3JpZW50YXRpb25FdmVudDo6YmV0YShF
eGVjU3RhdGUqIGV4ZWMpIGNvbnN0Cit7CisgICAgRGV2aWNlT3JpZW50YXRpb25FdmVudCogaW1w
ID0gc3RhdGljX2Nhc3Q8RGV2aWNlT3JpZW50YXRpb25FdmVudCo+KGltcGwoKSk7CisgICAgaWYg
KCFpbXAtPm9yaWVudGF0aW9uKCktPmNhblByb3ZpZGVCZXRhKCkpCisgICAgICAgIHJldHVybiBq
c051bGwoKTsKKyAgICByZXR1cm4ganNOdW1iZXIoZXhlYywgaW1wLT5vcmllbnRhdGlvbigpLT5i
ZXRhKCkpOworfQorCitKU1ZhbHVlIEpTRGV2aWNlT3JpZW50YXRpb25FdmVudDo6Z2FtbWEoRXhl
Y1N0YXRlKiBleGVjKSBjb25zdAoreworICAgIERldmljZU9yaWVudGF0aW9uRXZlbnQqIGltcCA9
IHN0YXRpY19jYXN0PERldmljZU9yaWVudGF0aW9uRXZlbnQqPihpbXBsKCkpOworICAgIGlmICgh
aW1wLT5vcmllbnRhdGlvbigpLT5jYW5Qcm92aWRlR2FtbWEoKSkKKyAgICAgICAgcmV0dXJuIGpz
TnVsbCgpOworICAgIHJldHVybiBqc051bWJlcihleGVjLCBpbXAtPm9yaWVudGF0aW9uKCktPmdh
bW1hKCkpOworfQorCitKU1ZhbHVlIEpTRGV2aWNlT3JpZW50YXRpb25FdmVudDo6aW5pdERldmlj
ZU9yaWVudGF0aW9uRXZlbnQoRXhlY1N0YXRlKiBleGVjKQoreworICAgIGNvbnN0IFN0cmluZyYg
dHlwZSA9IHVzdHJpbmdUb1N0cmluZyhleGVjLT5hcmd1bWVudCgwKS50b1N0cmluZyhleGVjKSk7
CisgICAgYm9vbCBidWJibGVzID0gZXhlYy0+YXJndW1lbnQoMSkudG9Cb29sZWFuKGV4ZWMpOwor
ICAgIGJvb2wgY2FuY2VsYWJsZSA9IGV4ZWMtPmFyZ3VtZW50KDIpLnRvQm9vbGVhbihleGVjKTsK
KyAgICAvLyBJZiBhbHBoYSwgYmV0YSBvciBnYW1tYSBhcmUgbnVsbCBvciB1bmRlZmluZWQsIG1h
cmsgdGhlbSBhcyBub3QgcHJvdmlkZWQuCisgICAgLy8gT3RoZXJ3aXNlLCB1c2UgdGhlIHN0YW5k
YXJkIEphdmFTY3JpcHQgY29udmVyc2lvbi4KKyAgICBib29sIGFscGhhUHJvdmlkZWQgPSAhZXhl
Yy0+YXJndW1lbnQoMykuaXNVbmRlZmluZWRPck51bGwoKTsKKyAgICBkb3VibGUgYWxwaGEgPSBl
eGVjLT5hcmd1bWVudCgzKS50b051bWJlcihleGVjKTsKKyAgICBib29sIGJldGFQcm92aWRlZCA9
ICFleGVjLT5hcmd1bWVudCg0KS5pc1VuZGVmaW5lZE9yTnVsbCgpOworICAgIGRvdWJsZSBiZXRh
ID0gZXhlYy0+YXJndW1lbnQoNCkudG9OdW1iZXIoZXhlYyk7CisgICAgYm9vbCBnYW1tYVByb3Zp
ZGVkID0gIWV4ZWMtPmFyZ3VtZW50KDUpLmlzVW5kZWZpbmVkT3JOdWxsKCk7CisgICAgZG91Ymxl
IGdhbW1hID0gZXhlYy0+YXJndW1lbnQoNSkudG9OdW1iZXIoZXhlYyk7CisgICAgUmVmUHRyPERl
dmljZU9yaWVudGF0aW9uPiBvcmllbnRhdGlvbiA9IERldmljZU9yaWVudGF0aW9uOjpjcmVhdGUo
YWxwaGFQcm92aWRlZCwgYWxwaGEsIGJldGFQcm92aWRlZCwgYmV0YSwgZ2FtbWFQcm92aWRlZCwg
Z2FtbWEpOworICAgIERldmljZU9yaWVudGF0aW9uRXZlbnQqIGltcCA9IHN0YXRpY19jYXN0PERl
dmljZU9yaWVudGF0aW9uRXZlbnQqPihpbXBsKCkpOworICAgIGltcC0+aW5pdERldmljZU9yaWVu
dGF0aW9uRXZlbnQodHlwZSwgYnViYmxlcywgY2FuY2VsYWJsZSwgb3JpZW50YXRpb24uZ2V0KCkp
OworICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKKyNlbmRpZiAvLyBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQpJbmRleDogV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERldmljZU9yaWVudGF0aW9u
RXZlbnRDdXN0b20uY3BwCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSw5MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQor
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJWOERl
dmljZU9yaWVudGF0aW9uRXZlbnQuaCIKKworI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04p
CisKKyNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbi5oIgorI2luY2x1ZGUgIlY4QmluZGluZy5o
IgorI2luY2x1ZGUgIlY4UHJveHkuaCIKKworI2luY2x1ZGUgPHY4Lmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKwordjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGV2aWNlT3JpZW50YXRpb25FdmVu
dDo6YWxwaGFBY2Nlc3NvckdldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgY29uc3Qg
djg6OkFjY2Vzc29ySW5mbyYgaW5mbykKK3sKKyAgICBJTkNfU1RBVFMoIkRPTS5EZXZpY2VPcmll
bnRhdGlvbkV2ZW50LmFscGhhLl9nZXQiKTsKKyAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGhv
bGRlciA9IGluZm8uSG9sZGVyKCk7CisgICAgRGV2aWNlT3JpZW50YXRpb25FdmVudCogaW1wID0g
VjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50Ojp0b05hdGl2ZShob2xkZXIpOworICAgIGlmICghaW1w
LT5vcmllbnRhdGlvbigpLT5jYW5Qcm92aWRlQWxwaGEoKSkKKyAgICAgICAgcmV0dXJuIHY4OjpO
dWxsKCk7CisgICAgcmV0dXJuIHY4OjpOdW1iZXI6Ok5ldyhpbXAtPm9yaWVudGF0aW9uKCktPmFs
cGhhKCkpOworfQorCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEZXZpY2VPcmllbnRhdGlvbkV2
ZW50OjpiZXRhQWNjZXNzb3JHZXR0ZXIodjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0
IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCit7CisgICAgSU5DX1NUQVRTKCJET00uRGV2aWNlT3Jp
ZW50YXRpb25FdmVudC5iZXRhLl9nZXQiKTsKKyAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGhv
bGRlciA9IGluZm8uSG9sZGVyKCk7CisgICAgRGV2aWNlT3JpZW50YXRpb25FdmVudCogaW1wID0g
VjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50Ojp0b05hdGl2ZShob2xkZXIpOworICAgIGlmICghaW1w
LT5vcmllbnRhdGlvbigpLT5jYW5Qcm92aWRlQmV0YSgpKQorICAgICAgICByZXR1cm4gdjg6Ok51
bGwoKTsKKyAgICByZXR1cm4gdjg6Ok51bWJlcjo6TmV3KGltcC0+b3JpZW50YXRpb24oKS0+YmV0
YSgpKTsKK30KKwordjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGV2aWNlT3JpZW50YXRpb25FdmVu
dDo6Z2FtbWFBY2Nlc3NvckdldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgY29uc3Qg
djg6OkFjY2Vzc29ySW5mbyYgaW5mbykKK3sKKyAgICBJTkNfU1RBVFMoIkRPTS5EZXZpY2VPcmll
bnRhdGlvbkV2ZW50LmdhbW1hLl9nZXQiKTsKKyAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGhv
bGRlciA9IGluZm8uSG9sZGVyKCk7CisgICAgRGV2aWNlT3JpZW50YXRpb25FdmVudCogaW1wID0g
VjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50Ojp0b05hdGl2ZShob2xkZXIpOworICAgIGlmICghaW1w
LT5vcmllbnRhdGlvbigpLT5jYW5Qcm92aWRlR2FtbWEoKSkKKyAgICAgICAgcmV0dXJuIHY4OjpO
dWxsKCk7CisgICAgcmV0dXJuIHY4OjpOdW1iZXI6Ok5ldyhpbXAtPm9yaWVudGF0aW9uKCktPmdh
bW1hKCkpOworfQorCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEZXZpY2VPcmllbnRhdGlvbkV2
ZW50Ojppbml0RGV2aWNlT3JpZW50YXRpb25FdmVudENhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVu
dHMmIGFyZ3MpCit7CisgICAgRGV2aWNlT3JpZW50YXRpb25FdmVudCogaW1wID0gVjhEZXZpY2VP
cmllbnRhdGlvbkV2ZW50Ojp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKKyAgICBWOFBhcmFtZXRl
cjw+IHR5cGUgPSBhcmdzWzBdOworICAgIGJvb2wgYnViYmxlcyA9IGFyZ3NbMV0tPkJvb2xlYW5W
YWx1ZSgpOworICAgIGJvb2wgY2FuY2VsYWJsZSA9IGFyZ3NbMl0tPkJvb2xlYW5WYWx1ZSgpOwor
ICAgIC8vIElmIGFscGhhLCBiZXRhIG9yIGdhbW1hIGFyZSBudWxsIG9yIHVuZGVmaW5lZCwgbWFy
ayB0aGVtIGFzIG5vdCBwcm92aWRlZC4KKyAgICAvLyBPdGhlcndpc2UsIHVzZSB0aGUgc3RhbmRh
cmQgSmF2YVNjcmlwdCBjb252ZXJzaW9uLgorICAgIGJvb2wgYWxwaGFQcm92aWRlZCA9ICFpc1Vu
ZGVmaW5lZE9yTnVsbChhcmdzWzNdKTsKKyAgICBkb3VibGUgYWxwaGEgPSBzdGF0aWNfY2FzdDxk
b3VibGU+KGFyZ3NbM10tPk51bWJlclZhbHVlKCkpOworICAgIGJvb2wgYmV0YVByb3ZpZGVkID0g
IWlzVW5kZWZpbmVkT3JOdWxsKGFyZ3NbNF0pOworICAgIGRvdWJsZSBiZXRhID0gc3RhdGljX2Nh
c3Q8ZG91YmxlPihhcmdzWzRdLT5OdW1iZXJWYWx1ZSgpKTsKKyAgICBib29sIGdhbW1hUHJvdmlk
ZWQgPSAhaXNVbmRlZmluZWRPck51bGwoYXJnc1s1XSk7CisgICAgZG91YmxlIGdhbW1hID0gc3Rh
dGljX2Nhc3Q8ZG91YmxlPihhcmdzWzVdLT5OdW1iZXJWYWx1ZSgpKTsKKyAgICBSZWZQdHI8RGV2
aWNlT3JpZW50YXRpb24+IG9yaWVudGF0aW9uID0gRGV2aWNlT3JpZW50YXRpb246OmNyZWF0ZShh
bHBoYVByb3ZpZGVkLCBhbHBoYSwgYmV0YVByb3ZpZGVkLCBiZXRhLCBnYW1tYVByb3ZpZGVkLCBn
YW1tYSk7CisgICAgaW1wLT5pbml0RGV2aWNlT3JpZW50YXRpb25FdmVudCh0eXBlLCBidWJibGVz
LCBjYW5jZWxhYmxlLCBvcmllbnRhdGlvbi5nZXQoKSk7CisgICAgcmV0dXJuIHY4OjpIYW5kbGU8
djg6OlZhbHVlPigpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBF
TkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQpJbmRleDogV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50
YXRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uLmNw
cAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uLmNwcAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSw4OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUgorICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
CisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbi5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K1Bhc3NSZWZQdHI8RGV2aWNlT3JpZW50YXRpb24+IERldmljZU9yaWVudGF0aW9uOjpjcmVhdGUo
KQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgRGV2aWNlT3JpZW50YXRpb24pOworfQorCitQ
YXNzUmVmUHRyPERldmljZU9yaWVudGF0aW9uPiBEZXZpY2VPcmllbnRhdGlvbjo6Y3JlYXRlKGJv
b2wgY2FuUHJvdmlkZUFscGhhLCBkb3VibGUgYWxwaGEsIGJvb2wgY2FuUHJvdmlkZUJldGEsIGRv
dWJsZSBiZXRhLCBib29sIGNhblByb3ZpZGVHYW1tYSwgZG91YmxlIGdhbW1hKQoreworICAgIHJl
dHVybiBhZG9wdFJlZihuZXcgRGV2aWNlT3JpZW50YXRpb24oY2FuUHJvdmlkZUFscGhhLCBhbHBo
YSwgY2FuUHJvdmlkZUJldGEsIGJldGEsIGNhblByb3ZpZGVHYW1tYSwgZ2FtbWEpKTsKK30KKwor
CitEZXZpY2VPcmllbnRhdGlvbjo6RGV2aWNlT3JpZW50YXRpb24oKQorICAgIDogbV9jYW5Qcm92
aWRlQWxwaGEoZmFsc2UpCisgICAgLCBtX2NhblByb3ZpZGVCZXRhKGZhbHNlKQorICAgICwgbV9j
YW5Qcm92aWRlR2FtbWEoZmFsc2UpCit7Cit9CisKK0RldmljZU9yaWVudGF0aW9uOjpEZXZpY2VP
cmllbnRhdGlvbihib29sIGNhblByb3ZpZGVBbHBoYSwgZG91YmxlIGFscGhhLCBib29sIGNhblBy
b3ZpZGVCZXRhLCBkb3VibGUgYmV0YSwgYm9vbCBjYW5Qcm92aWRlR2FtbWEsIGRvdWJsZSBnYW1t
YSkKKyAgICA6IG1fY2FuUHJvdmlkZUFscGhhKGNhblByb3ZpZGVBbHBoYSkKKyAgICAsIG1fY2Fu
UHJvdmlkZUJldGEoY2FuUHJvdmlkZUJldGEpCisgICAgLCBtX2NhblByb3ZpZGVHYW1tYShjYW5Q
cm92aWRlR2FtbWEpCisgICAgLCBtX2FscGhhKGFscGhhKQorICAgICwgbV9iZXRhKGJldGEpCisg
ICAgLCBtX2dhbW1hKGdhbW1hKQoreworfQorCitkb3VibGUgRGV2aWNlT3JpZW50YXRpb246OmFs
cGhhKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9hbHBoYTsKK30KKworZG91YmxlIERldmljZU9y
aWVudGF0aW9uOjpiZXRhKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9iZXRhOworfQorCitkb3Vi
bGUgRGV2aWNlT3JpZW50YXRpb246OmdhbW1hKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9nYW1t
YTsKK30KKworYm9vbCBEZXZpY2VPcmllbnRhdGlvbjo6Y2FuUHJvdmlkZUFscGhhKCkgY29uc3QK
K3sKKyAgICByZXR1cm4gbV9jYW5Qcm92aWRlQWxwaGE7Cit9CisKK2Jvb2wgRGV2aWNlT3JpZW50
YXRpb246OmNhblByb3ZpZGVCZXRhKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9jYW5Qcm92aWRl
QmV0YTsKK30KKworYm9vbCBEZXZpY2VPcmllbnRhdGlvbjo6Y2FuUHJvdmlkZUdhbW1hKCkgY29u
c3QKK3sKKyAgICByZXR1cm4gbV9jYW5Qcm92aWRlR2FtbWE7Cit9CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb24uaAkocmV2aXNpb24gMCkKKysrIFdl
YkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uLmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNjAg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgT1dORVIgT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaWZuZGVmIERldmljZU9yaWVudGF0aW9uX2gKKyNkZWZpbmUgRGV2aWNl
T3JpZW50YXRpb25faAorCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3
dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERldmljZU9y
aWVudGF0aW9uIDogcHVibGljIFJlZkNvdW50ZWQ8RGV2aWNlT3JpZW50YXRpb24+IHsKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxEZXZpY2VPcmllbnRhdGlvbj4gY3JlYXRlKCk7Cisg
ICAgc3RhdGljIFBhc3NSZWZQdHI8RGV2aWNlT3JpZW50YXRpb24+IGNyZWF0ZShib29sIGNhblBy
b3ZpZGVBbHBoYSwgZG91YmxlIGFscGhhLCBib29sIGNhblByb3ZpZGVCZXRhLCBkb3VibGUgYmV0
YSwgYm9vbCBjYW5Qcm92aWRlR2FtbWEsIGRvdWJsZSBnYW1tYSk7CisKKyAgICBkb3VibGUgYWxw
aGEoKSBjb25zdDsKKyAgICBkb3VibGUgYmV0YSgpIGNvbnN0OworICAgIGRvdWJsZSBnYW1tYSgp
IGNvbnN0OworICAgIGJvb2wgY2FuUHJvdmlkZUFscGhhKCkgY29uc3Q7CisgICAgYm9vbCBjYW5Q
cm92aWRlQmV0YSgpIGNvbnN0OworICAgIGJvb2wgY2FuUHJvdmlkZUdhbW1hKCkgY29uc3Q7CisK
K3ByaXZhdGU6CisgICAgRGV2aWNlT3JpZW50YXRpb24oKTsKKyAgICBEZXZpY2VPcmllbnRhdGlv
bihib29sIGNhblByb3ZpZGVBbHBoYSwgZG91YmxlIGFscGhhLCBib29sIGNhblByb3ZpZGVCZXRh
LCBkb3VibGUgYmV0YSwgYm9vbCBjYW5Qcm92aWRlR2FtbWEsIGRvdWJsZSBnYW1tYSk7CisKKyAg
ICBib29sIG1fY2FuUHJvdmlkZUFscGhhOworICAgIGJvb2wgbV9jYW5Qcm92aWRlQmV0YTsKKyAg
ICBib29sIG1fY2FuUHJvdmlkZUdhbW1hOworICAgIGRvdWJsZSBtX2FscGhhOworICAgIGRvdWJs
ZSBtX2JldGE7CisgICAgZG91YmxlIG1fZ2FtbWE7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZiAvLyBEZXZpY2VPcmllbnRhdGlvbl9oCkluZGV4OiBXZWJDb3JlL2RvbS9E
ZXZpY2VPcmllbnRhdGlvbkV2ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9EZXZp
Y2VPcmllbnRhdGlvbkV2ZW50LmNwcAkocmV2aXNpb24gNjMxMzcpCisrKyBXZWJDb3JlL2RvbS9E
ZXZpY2VPcmllbnRhdGlvbkV2ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYsMzUgKzI2LDMw
IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25FdmVu
dC5oIgogCisjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb24uaCIKKwogI2lmIEVOQUJMRShERVZJ
Q0VfT1JJRU5UQVRJT04pCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogRGV2aWNlT3JpZW50YXRp
b25FdmVudDo6RGV2aWNlT3JpZW50YXRpb25FdmVudCgpCi0gICAgOiBtX2FscGhhKDApCi0gICAg
LCBtX2JldGEoMCkKLSAgICAsIG1fZ2FtbWEoMCkKKyAgICA6IG1fb3JpZW50YXRpb24oRGV2aWNl
T3JpZW50YXRpb246OmNyZWF0ZSgpKQogewogfQogCi1EZXZpY2VPcmllbnRhdGlvbkV2ZW50OjpE
ZXZpY2VPcmllbnRhdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBkb3Vi
bGUgYWxwaGEsIGRvdWJsZSBiZXRhLCBkb3VibGUgZ2FtbWEpCitEZXZpY2VPcmllbnRhdGlvbkV2
ZW50OjpEZXZpY2VPcmllbnRhdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBl
LCBEZXZpY2VPcmllbnRhdGlvbiogb3JpZW50YXRpb24pCiAgICAgOiBFdmVudChldmVudFR5cGUs
IGZhbHNlLCBmYWxzZSkgLy8gQ2FuJ3QgYnViYmxlLCBub3QgY2FuY2VsYWJsZQotICAgICwgbV9h
bHBoYShhbHBoYSkKLSAgICAsIG1fYmV0YShiZXRhKQotICAgICwgbV9nYW1tYShnYW1tYSkKKyAg
ICAsIG1fb3JpZW50YXRpb24ob3JpZW50YXRpb24pCiB7CiB9CiAKLXZvaWQgRGV2aWNlT3JpZW50
YXRpb25FdmVudDo6aW5pdERldmljZU9yaWVudGF0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5n
JiBldmVudFR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIGRvdWJsZSBhbHBo
YSwgZG91YmxlIGJldGEsIGRvdWJsZSBnYW1tYSkKK3ZvaWQgRGV2aWNlT3JpZW50YXRpb25FdmVu
dDo6aW5pdERldmljZU9yaWVudGF0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBi
b29sIGJ1YmJsZXMsIGJvb2wgY2FuY2VsYWJsZSwgRGV2aWNlT3JpZW50YXRpb24qIG9yaWVudGF0
aW9uKQogewogICAgIGlmIChkaXNwYXRjaGVkKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlu
aXRFdmVudChldmVudFR5cGUsIGNhbkJ1YmJsZSwgY2FuY2VsYWJsZSk7Ci0KLSAgICBtX2FscGhh
ID0gYWxwaGE7Ci0gICAgbV9iZXRhID0gYmV0YTsKLSAgICBtX2dhbW1hID0gZ2FtbWE7CisgICAg
aW5pdEV2ZW50KHR5cGUsIGJ1YmJsZXMsIGNhbmNlbGFibGUpOworICAgIG1fb3JpZW50YXRpb24g
PSBvcmllbnRhdGlvbjsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29y
ZS9kb20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9t
L0RldmljZU9yaWVudGF0aW9uRXZlbnQuaAkocmV2aXNpb24gNjMxMzcpCisrKyBXZWJDb3JlL2Rv
bS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTMwLDMxICszMCwz
MCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIERldmljZU9yaWVudGF0aW9uOwor
CiBjbGFzcyBEZXZpY2VPcmllbnRhdGlvbkV2ZW50IDogcHVibGljIEV2ZW50IHsKIHB1YmxpYzoK
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxEZXZpY2VPcmllbnRhdGlvbkV2ZW50PiBjcmVhdGUoKQog
ICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBEZXZpY2VPcmllbnRhdGlvbkV2ZW50
KTsKICAgICB9Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8RGV2aWNlT3JpZW50YXRpb25FdmVudD4g
Y3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBkb3VibGUgYWxwaGEsIGRvdWJs
ZSBiZXRhLCBkb3VibGUgZ2FtbWEpCisgICAgc3RhdGljIFBhc3NSZWZQdHI8RGV2aWNlT3JpZW50
YXRpb25FdmVudD4gY3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBEZXZpY2VP
cmllbnRhdGlvbiogb3JpZW50YXRpb24pCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IERldmljZU9yaWVudGF0aW9uRXZlbnQoZXZlbnRUeXBlLCBhbHBoYSwgYmV0YSwgZ2FtbWEp
KTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBEZXZpY2VPcmllbnRhdGlvbkV2ZW50KGV2
ZW50VHlwZSwgb3JpZW50YXRpb24pKTsKICAgICB9CiAKLSAgICB2b2lkIGluaXREZXZpY2VPcmll
bnRhdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBib29sIGNhbkJ1YmJs
ZSwgYm9vbCBjYW5jZWxhYmxlLCBkb3VibGUgYWxwaGEsIGRvdWJsZSBiZXRhLCBkb3VibGUgZ2Ft
bWEpOwotICAgIGRvdWJsZSBhbHBoYSgpIGNvbnN0IHsgcmV0dXJuIG1fYWxwaGE7IH0KLSAgICBk
b3VibGUgYmV0YSgpIGNvbnN0IHsgcmV0dXJuIG1fYmV0YTsgfQotICAgIGRvdWJsZSBnYW1tYSgp
IGNvbnN0IHsgcmV0dXJuIG1fZ2FtbWE7IH0KKyAgICB2b2lkIGluaXREZXZpY2VPcmllbnRhdGlv
bkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBidWJibGVzLCBib29sIGNhbmNl
bGFibGUsIERldmljZU9yaWVudGF0aW9uKik7CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNEZXZpY2VP
cmllbnRhdGlvbkV2ZW50KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogCisgICAgRGV2aWNlT3Jp
ZW50YXRpb24qIG9yaWVudGF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9vcmllbnRhdGlvbi5nZXQo
KTsgfQorCiBwcml2YXRlOgogICAgIERldmljZU9yaWVudGF0aW9uRXZlbnQoKTsKLSAgICBEZXZp
Y2VPcmllbnRhdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBkb3VibGUg
YWxwaGEsIGRvdWJsZSBiZXRhLCBkb3VibGUgZ2FtbWEpOworICAgIERldmljZU9yaWVudGF0aW9u
RXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIERldmljZU9yaWVudGF0aW9uKik7
CiAKLSAgICBkb3VibGUgbV9hbHBoYTsKLSAgICBkb3VibGUgbV9iZXRhOwotICAgIGRvdWJsZSBt
X2dhbW1hOworICAgIFJlZlB0cjxEZXZpY2VPcmllbnRhdGlvbj4gbV9vcmllbnRhdGlvbjsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvZG9tL0RldmljZU9yaWVu
dGF0aW9uRXZlbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0
aW9uRXZlbnQuaWRsCShyZXZpc2lvbiA2MzEzNykKKysrIFdlYkNvcmUvZG9tL0RldmljZU9yaWVu
dGF0aW9uRXZlbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOCwxMCArMjgsMTAgQEAgbW9kdWxl
IGNvcmUgewogICAgIGludGVyZmFjZSBbCiAgICAgICAgIENvbmRpdGlvbmFsPURFVklDRV9PUklF
TlRBVElPTgogICAgIF0gRGV2aWNlT3JpZW50YXRpb25FdmVudCA6IEV2ZW50IHsKLSAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBhbHBoYTsKLSAgICAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIGRvdWJsZSBiZXRhOwotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIGdhbW1h
OwotICAgICAgICB2b2lkIGluaXREZXZpY2VPcmllbnRhdGlvbkV2ZW50KGluIERPTVN0cmluZyB0
eXBlQXJnLCBpbiBib29sZWFuIGNhbkJ1YmJsZUFyZywgaW4gYm9vbGVhbiBjYW5jZWxhYmxlQXJn
LCBpbiBkb3VibGUgYWxwaGEsIGluIGRvdWJsZSBiZXRhLCBpbiBkb3VibGUgZ2FtbWEpOworICAg
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0N1c3RvbV0gZG91YmxlIGFscGhhOworICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgW0N1c3RvbV0gZG91YmxlIGJldGE7CisgICAgICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBbQ3VzdG9tXSBkb3VibGUgZ2FtbWE7CisgICAgICAgIFtDdXN0b21dIHZvaWQg
aW5pdERldmljZU9yaWVudGF0aW9uRXZlbnQoaW4gRE9NU3RyaW5nIHR5cGUsIGluIGJvb2xlYW4g
YnViYmxlcywgaW4gYm9vbGVhbiBjYW5jZWxhYmxlLCBpbiBkb3VibGUgYWxwaGEsIGluIGRvdWJs
ZSBiZXRhLCBpbiBkb3VibGUgZ2FtbWEpOwogICAgIH07CiAKIH0KSW5kZXg6IExheW91dFRlc3Rz
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9u
IDYzMTM3KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0zMjks
NiArMzI5LDE3IEBACiAKIDIwMTAtMDctMTIgIFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29n
bGUuY29tPgogCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IERldmljZU9yaWVudGF0aW9uRXZlbnQgc2hvdWxkIHVzZSBvcHRpb25hbCBwcm9wZXJ0aWVzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MTYwNworCisg
ICAgICAgICogZmFzdC9kb20vRGV2aWNlT3JpZW50YXRpb24vb3B0aW9uYWwtZXZlbnQtcHJvcGVy
dGllcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0RldmljZU9yaWVu
dGF0aW9uL29wdGlvbmFsLWV2ZW50LXByb3BlcnRpZXMuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9kb20vRGV2aWNlT3JpZW50YXRpb24vc2NyaXB0LXRlc3RzL29wdGlvbmFsLWV2ZW50LXBy
b3BlcnRpZXMuanM6IEFkZGVkLgorCisyMDEwLTA3LTEyICBTdGV2ZSBCbG9jayAgPHN0ZXZlYmxv
Y2tAZ29vZ2xlLmNvbT4KKwogICAgICAgICBSZXZpZXdlZCBieSBBbGV4ZXkgUHJvc2t1cnlha292
LgogCiAgICAgICAgIFhQYXRoIHN1YnN0cmluZyBmdW5jdGlvbiBkb2VzIG5vdCBjb3JyZWN0bHkg
aGFuZGxlIG5vbi1wb3NpdGl2ZSB2YWx1ZXMgZm9yIHRoZSBwb3NpdGlvbiBhcmd1bWVudApJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlT3JpZW50YXRpb24vb3B0aW9uYWwtZXZlbnQt
cHJvcGVydGllcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9k
b20vRGV2aWNlT3JpZW50YXRpb24vb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VPcmllbnRhdGlv
bi9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSwzNyBAQAorVGVzdHMgdGhlIG9wdGlvbmFsIHByb3BlcnRpZXMgb2YgRGV2aWNlT3Jp
ZW50YXRpb25FdmVudC4gRWFjaCBwcm9wZXJ0eSBzaG91bGQgYmUgbnVsbCBpZiBub3Qgc2V0LCBv
ciBzZXQgdG8gbnVsbCBvciB1bmRlZmluZWQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworCitldmVudCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdEZXZpY2VPcmllbnRhdGlvbkV2ZW50
JykKK1BBU1MgZXZlbnQuYWxwaGEgPT0gbnVsbCBpcyB0cnVlCitQQVNTIGV2ZW50LmJldGEgPT0g
bnVsbCBpcyB0cnVlCitQQVNTIGV2ZW50LmdhbW1hID09IG51bGwgaXMgdHJ1ZQorZXZlbnQuaW5p
dERldmljZU9yaWVudGF0aW9uRXZlbnQoJycsIGZhbHNlLCBmYWxzZSwgMCwgMSwgMikKK1BBU1Mg
ZXZlbnQuYWxwaGEgPT0gMCBpcyB0cnVlCitQQVNTIGV2ZW50LmJldGEgPT0gMSBpcyB0cnVlCitQ
QVNTIGV2ZW50LmdhbW1hID09IDIgaXMgdHJ1ZQorZXZlbnQuaW5pdERldmljZU9yaWVudGF0aW9u
RXZlbnQoKQorUEFTUyBldmVudC5hbHBoYSA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQuYmV0
YSA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQuZ2FtbWEgPT0gbnVsbCBpcyB0cnVlCitldmVu
dC5pbml0RGV2aWNlT3JpZW50YXRpb25FdmVudCgnJywgZmFsc2UsIGZhbHNlLCBbXSwgW10sIFtd
KQorUEFTUyBldmVudC5hbHBoYSA9PSAwIGlzIHRydWUKK1BBU1MgZXZlbnQuYmV0YSA9PSAwIGlz
IHRydWUKK1BBU1MgZXZlbnQuZ2FtbWEgPT0gMCBpcyB0cnVlCitldmVudC5pbml0RGV2aWNlT3Jp
ZW50YXRpb25FdmVudCgnJywgZmFsc2UsIGZhbHNlLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5k
ZWZpbmVkKQorUEFTUyBldmVudC5hbHBoYSA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQuYmV0
YSA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQuZ2FtbWEgPT0gbnVsbCBpcyB0cnVlCitldmVu
dC5pbml0RGV2aWNlT3JpZW50YXRpb25FdmVudCgnJywgZmFsc2UsIGZhbHNlLCAnJywgJycsICcn
KQorUEFTUyBldmVudC5hbHBoYSA9PSAwIGlzIHRydWUKK1BBU1MgZXZlbnQuYmV0YSA9PSAwIGlz
IHRydWUKK1BBU1MgZXZlbnQuZ2FtbWEgPT0gMCBpcyB0cnVlCitldmVudC5pbml0RGV2aWNlT3Jp
ZW50YXRpb25FdmVudCgnJywgZmFsc2UsIGZhbHNlLCBudWxsLCBudWxsLCBudWxsKQorUEFTUyBl
dmVudC5hbHBoYSA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQuYmV0YSA9PSBudWxsIGlzIHRy
dWUKK1BBU1MgZXZlbnQuZ2FtbWEgPT0gbnVsbCBpcyB0cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9k
b20vRGV2aWNlT3JpZW50YXRpb24vb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0RldmljZU9yaWVudGF0aW9uL29wdGlvbmFs
LWV2ZW50LXByb3BlcnRpZXMuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3Qv
ZG9tL0RldmljZU9yaWVudGF0aW9uL29wdGlvbmFsLWV2ZW50LXByb3BlcnRpZXMuaHRtbAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwxMiBAQAorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9vcHRpb25hbC1ldmVudC1wcm9w
ZXJ0aWVzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL2Zhc3QvZG9tL0RldmljZU9yaWVudGF0aW9uL3NjcmlwdC10ZXN0cy9vcHRpb25hbC1ldmVu
dC1wcm9wZXJ0aWVzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0Rldmlj
ZU9yaWVudGF0aW9uL3NjcmlwdC10ZXN0cy9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmpzCShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlT3JpZW50YXRpb24vc2Ny
aXB0LXRlc3RzL29wdGlvbmFsLWV2ZW50LXByb3BlcnRpZXMuanMJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsNDAgQEAKK2Rlc2NyaXB0aW9uKCJUZXN0cyB0aGUgb3B0aW9uYWwgcHJvcGVydGllcyBv
ZiBEZXZpY2VPcmllbnRhdGlvbkV2ZW50LiBFYWNoIHByb3BlcnR5IHNob3VsZCBiZSBudWxsIGlm
IG5vdCBzZXQsIG9yIHNldCB0byBudWxsIG9yIHVuZGVmaW5lZC4iKTsKKwordmFyIGV2ZW50Owor
CitldmFsQW5kTG9nKCJldmVudCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdEZXZpY2VPcmllbnRh
dGlvbkV2ZW50JykiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuYWxwaGEgPT0gbnVsbCIpOworc2hv
dWxkQmVUcnVlKCJldmVudC5iZXRhID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuZ2Ft
bWEgPT0gbnVsbCIpOworCitldmFsQW5kTG9nKCJldmVudC5pbml0RGV2aWNlT3JpZW50YXRpb25F
dmVudCgnJywgZmFsc2UsIGZhbHNlLCAwLCAxLCAyKSIpOworc2hvdWxkQmVUcnVlKCJldmVudC5h
bHBoYSA9PSAwIik7CitzaG91bGRCZVRydWUoImV2ZW50LmJldGEgPT0gMSIpOworc2hvdWxkQmVU
cnVlKCJldmVudC5nYW1tYSA9PSAyIik7CisKK2V2YWxBbmRMb2coImV2ZW50LmluaXREZXZpY2VP
cmllbnRhdGlvbkV2ZW50KCkiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuYWxwaGEgPT0gbnVsbCIp
Oworc2hvdWxkQmVUcnVlKCJldmVudC5iZXRhID09IG51bGwiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZl
bnQuZ2FtbWEgPT0gbnVsbCIpOworCitldmFsQW5kTG9nKCJldmVudC5pbml0RGV2aWNlT3JpZW50
YXRpb25FdmVudCgnJywgZmFsc2UsIGZhbHNlLCBbXSwgW10sIFtdKSIpOworc2hvdWxkQmVUcnVl
KCJldmVudC5hbHBoYSA9PSAwIik7CitzaG91bGRCZVRydWUoImV2ZW50LmJldGEgPT0gMCIpOwor
c2hvdWxkQmVUcnVlKCJldmVudC5nYW1tYSA9PSAwIik7CisKK2V2YWxBbmRMb2coImV2ZW50Lmlu
aXREZXZpY2VPcmllbnRhdGlvbkV2ZW50KCcnLCBmYWxzZSwgZmFsc2UsIHVuZGVmaW5lZCwgdW5k
ZWZpbmVkLCB1bmRlZmluZWQpIik7CitzaG91bGRCZVRydWUoImV2ZW50LmFscGhhID09IG51bGwi
KTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuYmV0YSA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2
ZW50LmdhbW1hID09IG51bGwiKTsKKworZXZhbEFuZExvZygiZXZlbnQuaW5pdERldmljZU9yaWVu
dGF0aW9uRXZlbnQoJycsIGZhbHNlLCBmYWxzZSwgJycsICcnLCAnJykiKTsKK3Nob3VsZEJlVHJ1
ZSgiZXZlbnQuYWxwaGEgPT0gMCIpOworc2hvdWxkQmVUcnVlKCJldmVudC5iZXRhID09IDAiKTsK
K3Nob3VsZEJlVHJ1ZSgiZXZlbnQuZ2FtbWEgPT0gMCIpOworCitldmFsQW5kTG9nKCJldmVudC5p
bml0RGV2aWNlT3JpZW50YXRpb25FdmVudCgnJywgZmFsc2UsIGZhbHNlLCBudWxsLCBudWxsLCBu
dWxsKSIpOworc2hvdWxkQmVUcnVlKCJldmVudC5hbHBoYSA9PSBudWxsIik7CitzaG91bGRCZVRy
dWUoImV2ZW50LmJldGEgPT0gbnVsbCIpOworc2hvdWxkQmVUcnVlKCJldmVudC5nYW1tYSA9PSBu
dWxsIik7CisKK3dpbmRvdy5zdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61345</attachid>
            <date>2010-07-13 01:42:45 -0700</date>
            <delta_ts>2010-07-13 02:16:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-41607-20100713094242.patch</filename>
            <type>text/plain</type>
            <size>42526</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MzE4MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNTUgQEAKKzIwMTAtMDctMTIgIFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IERldmljZU9yaWVudGF0aW9uRXZlbnQgc2hvdWxkIHVzZSBvcHRpb25hbCBwcm9wZXJ0aWVzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MTYwNworCisg
ICAgICAgIFRoaXMgY2hhbmdlIGFkZHMgYSBuZXcgRGV2aWNlT3JpZW50YXRpb24gY2xhc3Mgd2hp
Y2ggdGFrZXMgY2FyZSBvZiB3aGljaCBvZiB0aGUKKyAgICAgICAgb3B0aW9uYWwgcHJvcGVydGll
cyBhcmUgcHJlc2VudC4gRGV2aWNlT3JpZW50YXRpb25FdmVudCBvd25zIGFuIGluc3RhbmNlIG9m
CisgICAgICAgIERldmljZU9yaWVudGF0aW9uLCByYXRoZXIgdGhhbiBvd25pbmcgdGhlIHByb3Bl
cnRpZXMgZGlyZWN0bHkuCisgICAgICAgIERldmljZU9yaWVudGF0aW9uRXZlbnQgbm93IHJlcXVp
cmVzIGN1c3RvbSBiaW5kaW5ncy4KKworICAgICAgICBUZXN0OiBmYXN0L2RvbS9EZXZpY2VPcmll
bnRhdGlvbi9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmh0bWwKKworICAgICAgICAqIEFuZHJv
aWQubWs6CisgICAgICAgICogQW5kcm9pZC5qc2NiaW5kaW5ncy5tazoKKyAgICAgICAgKiBBbmRy
b2lkLnY4YmluZGluZ3MubWs6CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICog
R05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNv
cmUucHJvOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAg
ICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRGV2
aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6
SlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50OjphbHBoYSk6CisgICAgICAgIChXZWJDb3JlOjpKU0Rl
dmljZU9yaWVudGF0aW9uRXZlbnQ6OmJldGEpOgorICAgICAgICAoV2ViQ29yZTo6SlNEZXZpY2VP
cmllbnRhdGlvbkV2ZW50OjpnYW1tYSk6CisgICAgICAgIChXZWJDb3JlOjpKU0RldmljZU9yaWVu
dGF0aW9uRXZlbnQ6OmluaXREZXZpY2VPcmllbnRhdGlvbkV2ZW50KToKKyAgICAgICAgKiBiaW5k
aW5ncy92OC9jdXN0b20vVjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlOjpWOERldmljZU9yaWVudGF0aW9uRXZlbnQ6OmFscGhhQWNjZXNz
b3JHZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50Ojpi
ZXRhQWNjZXNzb3JHZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VjhEZXZpY2VPcmllbnRhdGlv
bkV2ZW50OjpnYW1tYUFjY2Vzc29yR2V0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlY4RGV2aWNl
T3JpZW50YXRpb25FdmVudDo6aW5pdERldmljZU9yaWVudGF0aW9uRXZlbnRDYWxsYmFjayk6Cisg
ICAgICAgICogZG9tL0RldmljZU9yaWVudGF0aW9uLmNwcDogQWRkZWQuCisgICAgICAgICogZG9t
L0RldmljZU9yaWVudGF0aW9uLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3Jp
ZW50YXRpb246OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbjo6
Y2FuUHJvdmlkZUFscGhhKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uOjph
bHBoYSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbjo6Y2FuUHJvdmlkZUJl
dGEpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb246OmJldGEpOgorICAgICAg
ICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb246OmNhblByb3ZpZGVHYW1tYSk6CisgICAgICAg
IChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbjo6Z2FtbWEpOgorICAgICAgICAoV2ViQ29yZTo6
RGV2aWNlT3JpZW50YXRpb246OkRldmljZU9yaWVudGF0aW9uKToKKyAgICAgICAgKiBkb20vRGV2
aWNlT3JpZW50YXRpb25FdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRh
dGlvbkV2ZW50OjpEZXZpY2VPcmllbnRhdGlvbkV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRl
dmljZU9yaWVudGF0aW9uRXZlbnQ6OmluaXREZXZpY2VPcmllbnRhdGlvbkV2ZW50KToKKyAgICAg
ICAgKiBkb20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5oOgorICAgICAgICAoV2ViQ29yZTo6RGV2
aWNlT3JpZW50YXRpb25FdmVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU9y
aWVudGF0aW9uRXZlbnQ6Om9yaWVudGF0aW9uKToKKyAgICAgICAgKiBkb20vRGV2aWNlT3JpZW50
YXRpb25FdmVudC5pZGw6CisKIDIwMTAtMDctMTIgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQu
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCkluZGV4OiBXZWJDb3JlL0Fu
ZHJvaWQuanNjYmluZGluZ3MubWsKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9BbmRyb2lkLmpzY2Jp
bmRpbmdzLm1rCShyZXZpc2lvbiA2MzE4MSkKKysrIFdlYkNvcmUvQW5kcm9pZC5qc2NiaW5kaW5n
cy5tawkod29ya2luZyBjb3B5KQpAQCAtODAsMTkgKzgwLDIwIEBAIExPQ0FMX1NSQ19GSUxFUyAr
PSBcCiAJYmluZGluZ3MvanMvSlNDdXN0b21TUUxUcmFuc2FjdGlvbkNhbGxiYWNrLmNwcCBcCiAJ
YmluZGluZ3MvanMvSlNDdXN0b21TUUxUcmFuc2FjdGlvbkVycm9yQ2FsbGJhY2suY3BwIFwKIAli
aW5kaW5ncy9qcy9KU0N1c3RvbVZvaWRDYWxsYmFjay5jcHAgXAotCWJpbmRpbmdzL2pzL0pTRGF0
YWJhc2VDYWxsYmFjay5jcHAgXAotCWJpbmRpbmdzL2pzL0pTRGVza3RvcE5vdGlmaWNhdGlvbnND
dXN0b20uY3BwIFwKIAliaW5kaW5ncy9qcy9KU0RPTUFwcGxpY2F0aW9uQ2FjaGVDdXN0b20uY3Bw
IFwKIAliaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwIFwKLSAgYmluZGluZ3MvanMvSlNET01G
b3JtRGF0YUN1c3RvbS5jcHAgXAorCWJpbmRpbmdzL2pzL0pTRE9NRm9ybURhdGFDdXN0b20uY3Bw
IFwKIAliaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAgXAogCWJpbmRpbmdzL2pzL0pT
RE9NV2luZG93QmFzZS5jcHAgXAogCWJpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcCBc
CiAJYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5jcHAgXAorCWJpbmRpbmdzL2pzL0pTRGF0
YWJhc2VDYWxsYmFjay5jcHAgXAogCWJpbmRpbmdzL2pzL0pTRGF0YUdyaWRDb2x1bW5MaXN0Q3Vz
dG9tLmNwcCBcCiAJYmluZGluZ3MvanMvSlNEYXRhR3JpZERhdGFTb3VyY2UuY3BwIFwKIAliaW5k
aW5ncy9qcy9KU0RhdGFiYXNlQ3VzdG9tLmNwcCBcCiAJYmluZGluZ3MvanMvSlNEZWRpY2F0ZWRX
b3JrZXJDb250ZXh0Q3VzdG9tLmNwcCBcCisJYmluZGluZ3MvanMvSlNEZXNrdG9wTm90aWZpY2F0
aW9uc0N1c3RvbS5jcHAgXAorCWJpbmRpbmdzL2pzL0pTRGV2aWNlT3JpZW50YXRpb25FdmVudEN1
c3RvbS5jcHAgXAogCWJpbmRpbmdzL2pzL0pTRG9jdW1lbnRDdXN0b20uY3BwIFwKIAliaW5kaW5n
cy9qcy9KU0VsZW1lbnRDdXN0b20uY3BwIFwKIAliaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNw
cCBcCkluZGV4OiBXZWJDb3JlL0FuZHJvaWQubWsKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9BbmRy
b2lkLm1rCShyZXZpc2lvbiA2MzE4MSkKKysrIFdlYkNvcmUvQW5kcm9pZC5tawkod29ya2luZyBj
b3B5KQpAQCAtMTQ4LDYgKzE0OCw3IEBAIExPQ0FMX1NSQ19GSUxFUyA6PSAkKExPQ0FMX1NSQ19G
SUxFUykgXAogCWRvbS9Ob3RhdGlvbi5jcHAgXAogCWRvbS9PcHRpb25FbGVtZW50LmNwcCBcCiAJ
ZG9tL09wdGlvbkdyb3VwRWxlbWVudC5jcHAgXAorCWRvbS9EZXZpY2VPcmllbnRhdGlvbi5jcHAg
XAogCWRvbS9EZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIuY3BwIFwKIAlkb20vRGV2aWNlT3Jp
ZW50YXRpb25FdmVudC5jcHAgXAogCWRvbS9PdmVyZmxvd0V2ZW50LmNwcCBcCkluZGV4OiBXZWJD
b3JlL0FuZHJvaWQudjhiaW5kaW5ncy5tawo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0FuZHJvaWQu
djhiaW5kaW5ncy5tawkocmV2aXNpb24gNjMxODEpCisrKyBXZWJDb3JlL0FuZHJvaWQudjhiaW5k
aW5ncy5tawkod29ya2luZyBjb3B5KQpAQCAtMTA4LDYgKzEwOCw3IEBAIExPQ0FMX1NSQ19GSUxF
UyArPSBcCiAJYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGF0YWJhc2VDYWxsYmFjay5jcHAgXAogCWJp
bmRpbmdzL3Y4L2N1c3RvbS9WOERhdGFiYXNlQ3VzdG9tLmNwcCBcCiAJYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4RGVkaWNhdGVkV29ya2VyQ29udGV4dEN1c3RvbS5jcHAgXAorCWJpbmRpbmdzL3Y4L2N1
c3RvbS9WOERldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwIFwKIAliaW5kaW5ncy92OC9j
dXN0b20vVjhEb2N1bWVudEN1c3RvbS5jcHAgXAogCWJpbmRpbmdzL3Y4L2N1c3RvbS9WOERvY3Vt
ZW50TG9jYXRpb25DdXN0b20uY3BwIFwKIAliaW5kaW5ncy92OC9jdXN0b20vVjhFbGVtZW50Q3Vz
dG9tLmNwcCBcCkluZGV4OiBXZWJDb3JlL0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDYzMTgxKQorKysgV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNTg0LDYgKzU4NCw3IEBAIFNFVChXZWJDb3JlX1NP
VVJDRVMKICAgICBiaW5kaW5ncy9qcy9KU0RhdGFHcmlkRGF0YVNvdXJjZS5jcHAKICAgICBiaW5k
aW5ncy9qcy9KU0RlYnVnV3JhcHBlclNldC5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0RlZGljYXRl
ZFdvcmtlckNvbnRleHRDdXN0b20uY3BwCisgICAgYmluZGluZ3MvanMvSlNEZXZpY2VPcmllbnRh
dGlvbkV2ZW50Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTRG9jdW1lbnRDdXN0b20uY3Bw
CiAgICAgYmluZGluZ3MvanMvSlNET01BcHBsaWNhdGlvbkNhY2hlQ3VzdG9tLmNwcAogICAgIGJp
bmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAKQEAgLTc3OCw2ICs3NzksNyBAQCBTRVQoV2ViQ29y
ZV9TT1VSQ0VTCiAgICAgZG9tL0N1c3RvbUV2ZW50LmNwcAogICAgIGRvbS9EYXRhc2V0RE9NU3Ry
aW5nTWFwLmNwcAogICAgIGRvbS9EZWNvZGVkRGF0YURvY3VtZW50UGFyc2VyLmNwcAorICAgIGRv
bS9EZXZpY2VPcmllbnRhdGlvbi5jcHAKICAgICBkb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9s
bGVyLmNwcAogICAgIGRvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmNwcAogICAgIGRvbS9Eb2N1
bWVudC5jcHAKSW5kZXg6IFdlYkNvcmUvR05VbWFrZWZpbGUuYW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9HTlVtYWtlZmlsZS5hbQkocmV2aXNpb24gNjMxODEpCisrKyBXZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC00NTIsNiArNDUyLDcgQEAgd2ViY29yZV9zb3VyY2Vz
ICs9IFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuaCBcCiAJV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXIuY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NV3JhcHBlci5oIFwKKwlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGV2aWNlT3JpZW50YXRpb25F
dmVudEN1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNEb2N1bWVudEN1c3RvbS5j
cHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNFbGVtZW50Q3VzdG9tLmNwcCBcCiAJV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcCBcCkBAIC04MDAsNiArODAxLDggQEAgd2Vi
Y29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2RvbS9EYXRhc2V0RE9NU3RyaW5nTWFwLmggXAog
CVdlYkNvcmUvZG9tL0RlY29kZWREYXRhRG9jdW1lbnRQYXJzZXIuY3BwIFwKIAlXZWJDb3JlL2Rv
bS9EZWNvZGVkRGF0YURvY3VtZW50UGFyc2VyLmggXAorCVdlYkNvcmUvZG9tL0RldmljZU9yaWVu
dGF0aW9uLmNwcCBcCisJV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb24uaCBcCiAJV2ViQ29y
ZS9kb20vRGV2aWNlT3JpZW50YXRpb25DbGllbnQuaCBcCiAJV2ViQ29yZS9kb20vRGV2aWNlT3Jp
ZW50YXRpb25Db250cm9sbGVyLmNwcCBcCiAJV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25D
b250cm9sbGVyLmggXApJbmRleDogV2ViQ29yZS9XZWJDb3JlLmd5cGkKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9uIDYzMTgxKQorKysgV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkJKHdvcmtpbmcgY29weSkKQEAgLTU0Miw2ICs1NDIsNyBAQAogICAgICAgICAgICAgJ2Jp
bmRpbmdzL2pzL0pTRGVkaWNhdGVkV29ya2VyQ29udGV4dEN1c3RvbS5jcHAnLAogICAgICAgICAg
ICAgJ2JpbmRpbmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0LmNwcCcsCiAgICAgICAgICAgICAnYmlu
ZGluZ3MvanMvSlNEZWJ1Z1dyYXBwZXJTZXQuaCcsCisgICAgICAgICAgICAnYmluZGluZ3MvanMv
SlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGlu
Z3MvanMvSlNEb2N1bWVudEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pT
RE9NQXBwbGljYXRpb25DYWNoZUN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pz
L0pTRE9NQmluZGluZy5jcHAnLApAQCAtNzM3LDYgKzczOCw3IEBACiAgICAgICAgICAgICAnYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4RGF0YWJhc2VTeW5jQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAn
YmluZGluZ3MvdjgvY3VzdG9tL1Y4RGF0YUdyaWRDb2x1bW5MaXN0Q3VzdG9tLmNwcCcsCiAgICAg
ICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGVkaWNhdGVkV29ya2VyQ29udGV4dEN1c3Rv
bS5jcHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERldmljZU9yaWVudGF0
aW9uRXZlbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhE
b2N1bWVudExvY2F0aW9uQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4RE9NRm9ybURhdGFDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9j
dXN0b20vVjhET01XaW5kb3dDdXN0b20uY3BwJywKQEAgLTExMTksNiArMTEyMSw4IEBACiAgICAg
ICAgICAgICAnZG9tL0RhdGFzZXRET01TdHJpbmdNYXAuaCcsCiAgICAgICAgICAgICAnZG9tL0Rl
Y29kZWREYXRhRG9jdW1lbnRQYXJzZXIuY3BwJywKICAgICAgICAgICAgICdkb20vRGVjb2RlZERh
dGFEb2N1bWVudFBhcnNlci5oJywKKyAgICAgICAgICAgICdkb20vRGV2aWNlT3JpZW50YXRpb24u
Y3BwJywKKyAgICAgICAgICAgICdkb20vRGV2aWNlT3JpZW50YXRpb24uaCcsCiAgICAgICAgICAg
ICAnZG9tL0RldmljZU9yaWVudGF0aW9uQ2xpZW50LmgnLAogICAgICAgICAgICAgJ2RvbS9EZXZp
Y2VPcmllbnRhdGlvbkNvbnRyb2xsZXIuY3BwJywKICAgICAgICAgICAgICdkb20vRGV2aWNlT3Jp
ZW50YXRpb25Db250cm9sbGVyLmgnLApJbmRleDogV2ViQ29yZS9XZWJDb3JlLnBybwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUucHJvCShyZXZpc2lvbiA2MzE4MSkKKysrIFdlYkNvcmUv
V2ViQ29yZS5wcm8JKHdvcmtpbmcgY29weSkKQEAgLTI4Niw2ICsyODYsNyBAQCBTT1VSQ0VTICs9
IFwKICAgICBiaW5kaW5ncy9qcy9KU0RhdGFHcmlkRGF0YVNvdXJjZS5jcHAgXAogICAgIGJpbmRp
bmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0LmNwcCBcCiAgICAgYmluZGluZ3MvanMvSlNEZXNrdG9w
Tm90aWZpY2F0aW9uc0N1c3RvbS5jcHAgXAorICAgIGJpbmRpbmdzL2pzL0pTRGV2aWNlT3JpZW50
YXRpb25FdmVudEN1c3RvbS5jcHAgXAogICAgIGJpbmRpbmdzL2pzL0pTRG9jdW1lbnRDdXN0b20u
Y3BwIFwKICAgICBiaW5kaW5ncy9qcy9KU0RPTUZvcm1EYXRhQ3VzdG9tLmNwcCBcCiAgICAgYmlu
ZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwIFwKQEAgLTQ2Miw2ICs0NjMsNyBAQCBTT1VS
Q0VTICs9IFwKICAgICBkb20vQ1NTTWFwcGVkQXR0cmlidXRlRGVjbGFyYXRpb24uY3BwIFwKICAg
ICBkb20vQ3VzdG9tRXZlbnQuY3BwIFwKICAgICBkb20vRGVjb2RlZERhdGFEb2N1bWVudFBhcnNl
ci5jcHAgXAorICAgIGRvbS9EZXZpY2VPcmllbnRhdGlvbi5jcHAgXAogICAgIGRvbS9EZXZpY2VP
cmllbnRhdGlvbkNvbnRyb2xsZXIuY3BwIFwKICAgICBkb20vRGV2aWNlT3JpZW50YXRpb25FdmVu
dC5jcHAgXAogICAgIGRvbS9Eb2N1bWVudC5jcHAgXApAQCAtMTIxOSw2ICsxMjIxLDcgQEAgSEVB
REVSUyArPSBcCiAgICAgZG9tL0NTU01hcHBlZEF0dHJpYnV0ZURlY2xhcmF0aW9uLmggXAogICAg
IGRvbS9DdXN0b21FdmVudC5oIFwKICAgICBkb20vZGVmYXVsdC9QbGF0Zm9ybU1lc3NhZ2VQb3J0
Q2hhbm5lbC5oIFwKKyAgICBkb20vRGV2aWNlT3JpZW50YXRpb24uaCBcCiAgICAgZG9tL0Rldmlj
ZU9yaWVudGF0aW9uQ2xpZW50LmggXAogICAgIGRvbS9EZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xs
ZXIuaCBcCiAgICAgZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuaCBcCkluZGV4OiBXZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHJldmlzaW9uIDYzMTgxKQorKysgV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkod29ya2luZyBjb3B5KQpAQCAtMzIzODEsNiAr
MzIzODEsMTQgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZl
UGF0aD0iLi5cZG9tXERldmljZU9yaWVudGF0aW9uLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4N
CisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxEZXZpY2VPcmllbnRhdGlvbi5o
Ig0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5c
ZG9tXERldmljZU9yaWVudGF0aW9uQ2xpZW50LmgiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpAQCAt
NDI2ODgsNiArNDI2OTYsNTggQEAKIAkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCiAJCQkJPC9G
aWxlPg0KIAkJCQk8RmlsZQ0KKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU0Rl
dmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwIg0KKwkJCQkJPg0KKwkJCQkJPEZpbGVDb25m
aWd1cmF0aW9uDQorCQkJCQkJTmFtZT0iRGVidWd8V2luMzIiDQorCQkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiDQorCQkJCQkJPg0KKwkJCQkJCTxUb29sDQorCQkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiDQorCQkJCQkJLz4NCisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KKwkJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJCT4NCisJCQkJCQk8VG9vbA0KKwkJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJCS8+DQorCQkJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPg0KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQkJTmFtZT0iRGVidWdfSW50
ZXJuYWx8V2luMzIiDQorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQkJPg0K
KwkJCQkJCTxUb29sDQorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkJLz4N
CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJ
CQkJCQlOYW1lPSJEZWJ1Z19DYWlyb3xXaW4zMiINCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSINCisJCQkJCQk+DQorCQkJCQkJPFRvb2wNCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCINCisJCQkJCQkvPg0KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJCTxGaWxl
Q29uZmlndXJhdGlvbg0KKwkJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm98V2luMzIiDQorCQkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQkJPg0KKwkJCQkJCTxUb29sDQorCQkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkJLz4NCisJCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+DQorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCQlOYW1lPSJEZWJ1Z19BbGx8
V2luMzIiDQorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQkJPg0KKwkJCQkJ
CTxUb29sDQorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkJLz4NCisJCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTwvRmlsZT4NCisJCQkJPEZpbGUNCiAJCQkJCVJl
bGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNFdmVudEN1c3RvbS5jcHAiDQogCQkJCQk+DQog
CQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gNjMxODEpCisrKyBXZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTE4Miw2ICsxMTgyLDgg
QEAKIAkJNTRDNTBGN0IwRTgwMURGMzAwOTgzMkEwIC8qIFhNTERvY3VtZW50UGFyc2VyTGlieG1s
Mi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NEM1
MEY3QTBFODAxREYzMDA5ODMyQTAgLyogWE1MRG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcCAqLzsg
fTsKIAkJNTUwQTBCQzkwODVGNjAzOTAwNzM1M0Q2IC8qIFF1YWxpZmllZE5hbWUuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTUwQTBCQzcwODVGNjAz
OTAwNzM1M0Q2IC8qIFF1YWxpZmllZE5hbWUuY3BwICovOyB9OwogCQk1NTBBMEJDQTA4NUY2MDM5
MDA3MzUzRDYgLyogUXVhbGlmaWVkTmFtZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTUwQTBCQzgwODVGNjAzOTAwNzM1M0Q2IC8qIFF1YWxpZmllZE5h
bWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk1
OTBFMUI0OTExRTRFRjRCMDA2OUY3ODQgLyogRGV2aWNlT3JpZW50YXRpb24uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5MEUxQjQ4MTFFNEVGNEIwMDY5
Rjc4NCAvKiBEZXZpY2VPcmllbnRhdGlvbi5oICovOyB9OworCQk1OTBFMUI0QjExRTRFRjcwMDA2
OUY3ODQgLyogSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5MEUxQjRBMTFFNEVGNzAwMDY5Rjc4
NCAvKiBKU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwICovOyB9OwogCQk1OTEzOTUz
QjExMDc1ODQ1MDA4M0VDNTUgLyogSk5JQnJpZGdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1OTEzOTUzQTExMDc1ODQ1MDA4M0VDNTUgLyogSk5JQnJp
ZGdlLmggKi87IH07CiAJCTU5MTM5NTNEMTEwNzU4NEUwMDgzRUM1NSAvKiBKTklCcmlkZ2UuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTkxMzk1M0Mx
MTA3NTg0RTAwODNFQzU1IC8qIEpOSUJyaWRnZS5jcHAgKi87IH07CiAJCTU5NjIyOTc4MTEzM0VG
RDcwMERDNENCQiAvKiBHZW9sb2NhdGlvblBvc2l0aW9uQ2FjaGUuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTk2MjI5NzcxMTMzRUZENzAwREM0Q0JC
IC8qIEdlb2xvY2F0aW9uUG9zaXRpb25DYWNoZS5jcHAgKi87IH07CkBAIC0xMTk5LDYgKzEyMDEs
NyBAQAogCQk1OUI1OTc3MzExMDg2NTZCMDA3MTU5RTggLyogQnJpZGdlSlNDLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5QjU5NzcyMTEwODY1NkIw
MDcxNTlFOCAvKiBCcmlkZ2VKU0MuY3BwICovOyB9OwogCQk1OUI1OTc3NTExMDg2NTc5MDA3MTU5
RTggLyogQnJpZGdlSlNDLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1OUI1OTc3NDExMDg2NTc5MDA3MTU5RTggLyogQnJpZGdlSlNDLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTlCQzM5M0YxMTA1NEEx
MzAwRkQ4NURCIC8qIEphdmFTdHJpbmdKU0MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDU5QkMzOTNFMTEwNTRBMTMwMEZEODVEQiAvKiBKYXZhU3RyaW5n
SlNDLmggKi87IH07CisJCTU5RDFDMTA0MTFFQjVEQ0YwMEI2MzhDOCAvKiBEZXZpY2VPcmllbnRh
dGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
OUQxQzEwMzExRUI1RENGMDBCNjM4QzggLyogRGV2aWNlT3JpZW50YXRpb24uY3BwICovOyB9Owog
CQk1OUU1NjBBNzExMDUzMzY2MDBBQTEyNTggLyogSmF2YUNsYXNzSlNDLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1OUU1NjBBNjExMDUzMzY2MDBBQTEy
NTggLyogSmF2YUNsYXNzSlNDLmggKi87IH07CiAJCTU5RTU2MEE5MTEwNTMzNkYwMEFBMTI1OCAv
KiBKYXZhQ2xhc3NKU0MuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNTlFNTYwQTgxMTA1MzM2RjAwQUExMjU4IC8qIEphdmFDbGFzc0pTQy5jcHAgKi87
IH07CiAJCTU5RTg0MjY2MTEwOUU1QTIwMDAzMDVBRCAvKiBKTklCcmlkZ2VKU0MuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5RTg0MjY1MTEwOUU1QTIw
MDAzMDVBRCAvKiBKTklCcmlkZ2VKU0MuaCAqLzsgfTsKQEAgLTY5MjAsNiArNjkyMyw4IEBACiAJ
CTU0QzUwRjdBMEU4MDFERjMwMDk4MzJBMCAvKiBYTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gWE1MRG9jdW1lbnRQYXJzZXJM
aWJ4bWwyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTUwQTBCQzcwODVGNjAz
OTAwNzM1M0Q2IC8qIFF1YWxpZmllZE5hbWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUXVhbGlmaWVkTmFtZS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwogCQk1NTBBMEJD
ODA4NUY2MDM5MDA3MzUzRDYgLyogUXVhbGlmaWVkTmFtZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBRdWFsaWZpZWROYW1lLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OworCQk1OTBFMUI0
ODExRTRFRjRCMDA2OUY3ODQgLyogRGV2aWNlT3JpZW50YXRpb24uaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRGV2aWNlT3JpZW50YXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNTkwRTFCNEExMUU0RUY3MDAwNjlGNzg0IC8qIEpTRGV2aWNlT3JpZW50YXRp
b25FdmVudEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk1OTEzOTUzQTExMDc1ODQ1MDA4M0VDNTUgLyogSk5JQnJpZGdlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpOSUJyaWRnZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk1OTEzOTUzQzExMDc1ODRFMDA4M0VDNTUgLyogSk5JQnJpZGdlLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpOSUJyaWRnZS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU5NjIyOTc3MTEzM0VGRDcwMERDNENCQiAvKiBHZW9sb2Nh
dGlvblBvc2l0aW9uQ2FjaGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gR2VvbG9jYXRpb25Qb3NpdGlvbkNhY2hlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTY5MzgsNiArNjk0Myw3IEBACiAJCTU5QjU5NzcyMTEwODY1NkIwMDcxNTlFOCAvKiBC
cmlkZ2VKU0MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gQnJpZGdl
SlNDLmNwcDsgcGF0aCA9IGJyaWRnZS9qc2MvQnJpZGdlSlNDLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNTlCNTk3NzQxMTA4NjU3OTAwNzE1OUU4IC8qIEJyaWRnZUpTQy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBCcmlkZ2VKU0MuaDsgcGF0aCA9IGJyaWRn
ZS9qc2MvQnJpZGdlSlNDLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU5QkMzOTNF
MTEwNTRBMTMwMEZEODVEQiAvKiBKYXZhU3RyaW5nSlNDLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IEphdmFTdHJpbmdKU0MuaDsgcGF0aCA9IGpzYy9KYXZhU3RyaW5nSlNDLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU5RDFDMTAzMTFFQjVEQ0YwMEI2MzhDOCAv
KiBEZXZpY2VPcmllbnRhdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBEZXZpY2VPcmllbnRhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTU5RTU2MEE2MTEwNTMzNjYwMEFBMTI1OCAvKiBKYXZhQ2xhc3NKU0MuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gSmF2YUNsYXNzSlNDLmg7IHBhdGggPSBqc2MvSmF2YUNsYXNz
SlNDLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU5RTU2MEE4MTEwNTMzNkYwMEFB
MTI1OCAvKiBKYXZhQ2xhc3NKU0MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBu
YW1lID0gSmF2YUNsYXNzSlNDLmNwcDsgcGF0aCA9IGpzYy9KYXZhQ2xhc3NKU0MuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1OUU4NDI2NTExMDlFNUEyMDAwMzA1QUQgLyogSk5J
QnJpZGdlSlNDLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEpOSUJyaWRnZUpT
Qy5oOyBwYXRoID0ganNjL0pOSUJyaWRnZUpTQy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMTU3MTksNiArMTU3MjUsNyBAQAogCQlCQzRFREVGNzBDMDhGNDE0MDA3RURENDkgLyog
Q3VzdG9tICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk1
OTBFMUI0QTExRTRFRjcwMDA2OUY3ODQgLyogSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9t
LmNwcCAqLywKIAkJCQlCQzI3NUNCMjExQzVFODVDMDBDOTIwNkMgLyogSlNBcnJheUJ1ZmZlckN1
c3RvbS5jcHAgKi8sCiAJCQkJNDkyMjczQTIxMDgzQjNCMTAwRUU1Qzg0IC8qIEpTQXJyYXlCdWZm
ZXJWaWV3Q3VzdG9tLmNwcCAqLywKIAkJCQk4NjI0M0QwMDExQkMzMUY3MDBDQzAwNkEgLyogSlNB
cnJheUJ1ZmZlclZpZXdIZWxwZXIuaCAqLywKQEAgLTE2ODE2LDYgKzE2ODIzLDggQEAKIAkJRjUy
M0QzMjQwMkRFNDQ3ODAxODYzNUNBIC8qIGRvbSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwog
CQkJY2hpbGRyZW4gPSAoCisJCQkJNTlEMUMxMDMxMUVCNURDRjAwQjYzOEM4IC8qIERldmljZU9y
aWVudGF0aW9uLmNwcCAqLywKKwkJCQk1OTBFMUI0ODExRTRFRjRCMDA2OUY3ODQgLyogRGV2aWNl
T3JpZW50YXRpb24uaCAqLywKIAkJCQlFMUM0REU2RDBFQTc1QzY1MDAyM0NDRDYgLyogQWN0aXZl
RE9NT2JqZWN0LmNwcCAqLywKIAkJCQlFMUM0REU2ODBFQTc1QzFFMDAyM0NDRDYgLyogQWN0aXZl
RE9NT2JqZWN0LmggKi8sCiAJCQkJQThDNEE3RkMwOUQ1NjMyNzAwMDNBQzhEIC8qIEF0dHIuY3Bw
ICovLApAQCAtMTk3NjgsNiArMTk3NzcsNyBAQAogCQkJCUM1ODVBNkZBMTFENEZCM0QwMDRDM0U0
QiAvKiBJbmRleGVkRGF0YWJhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUM1ODVBNkZDMTFENEZC
M0QwMDRDM0U0QiAvKiBJbmRleGVkRGF0YWJhc2VJbXBsLmggaW4gSGVhZGVycyAqLywKIAkJCQlD
NTg1QTZGRTExRDRGQjNEMDA0QzNFNEIgLyogSW5kZXhlZERhdGFiYXNlUmVxdWVzdC5oIGluIEhl
YWRlcnMgKi8sCisJCQkJNTkwRTFCNDkxMUU0RUY0QjAwNjlGNzg0IC8qIERldmljZU9yaWVudGF0
aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rw
cm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTIyMTUzLDYgKzIyMTYzLDggQEAKIAkJCQlDNTg1QTZG
OTExRDRGQjNEMDA0QzNFNEIgLyogSW5kZXhlZERhdGFiYXNlLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUM1ODVBNkZCMTFENEZCM0QwMDRDM0U0QiAvKiBJbmRleGVkRGF0YWJhc2VJbXBsLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUM1ODVBNkZEMTFENEZCM0QwMDRDM0U0QiAvKiBJbmRleGVkRGF0
YWJhc2VSZXF1ZXN0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTU5MEUxQjRCMTFFNEVGNzAwMDY5
Rjc4NCAvKiBKU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJNTlEMUMxMDQxMUVCNURDRjAwQjYzOEM4IC8qIERldmljZU9yaWVudGF0aW9uLmNwcCBp
biBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Np
bmcgPSAwOwogCQl9OwpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5P
bmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbElu
T25lLmNwcAkocmV2aXNpb24gNjMxODEpCisrKyBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGlu
Z3NBbGxJbk9uZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYyLDYgKzYyLDcgQEAKICNpbmNsdWRl
ICJKU0RlYnVnV3JhcHBlclNldC5jcHAiCiAjaW5jbHVkZSAiSlNEZWRpY2F0ZWRXb3JrZXJDb250
ZXh0Q3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU0Rlc2t0b3BOb3RpZmljYXRpb25zQ3VzdG9tLmNw
cCIKKyNpbmNsdWRlICJKU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwIgogI2luY2x1
ZGUgIkpTRG9jdW1lbnRDdXN0b20uY3BwIgogI2luY2x1ZGUgIkpTRWxlbWVudEN1c3RvbS5jcHAi
CiAjaW5jbHVkZSAiSlNFdmVudEN1c3RvbS5jcHAiCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwCShyZXZpc2lv
biAwKQorKysgV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0
b20uY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDgzIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIkpTRGV2aWNlT3JpZW50YXRpb25FdmVudC5oIgorCisjaWYg
RU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKKworI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9u
LmgiCisjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25FdmVudC5oIgorCit1c2luZyBuYW1lc3Bh
Y2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0pTVmFsdWUgSlNEZXZpY2VPcmllbnRh
dGlvbkV2ZW50OjphbHBoYShFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0Cit7CisgICAgRGV2aWNlT3Jp
ZW50YXRpb25FdmVudCogaW1wID0gc3RhdGljX2Nhc3Q8RGV2aWNlT3JpZW50YXRpb25FdmVudCo+
KGltcGwoKSk7CisgICAgaWYgKCFpbXAtPm9yaWVudGF0aW9uKCktPmNhblByb3ZpZGVBbHBoYSgp
KQorICAgICAgICByZXR1cm4ganNOdWxsKCk7CisgICAgcmV0dXJuIGpzTnVtYmVyKGV4ZWMsIGlt
cC0+b3JpZW50YXRpb24oKS0+YWxwaGEoKSk7Cit9CisKK0pTVmFsdWUgSlNEZXZpY2VPcmllbnRh
dGlvbkV2ZW50OjpiZXRhKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKK3sKKyAgICBEZXZpY2VPcmll
bnRhdGlvbkV2ZW50KiBpbXAgPSBzdGF0aWNfY2FzdDxEZXZpY2VPcmllbnRhdGlvbkV2ZW50Kj4o
aW1wbCgpKTsKKyAgICBpZiAoIWltcC0+b3JpZW50YXRpb24oKS0+Y2FuUHJvdmlkZUJldGEoKSkK
KyAgICAgICAgcmV0dXJuIGpzTnVsbCgpOworICAgIHJldHVybiBqc051bWJlcihleGVjLCBpbXAt
Pm9yaWVudGF0aW9uKCktPmJldGEoKSk7Cit9CisKK0pTVmFsdWUgSlNEZXZpY2VPcmllbnRhdGlv
bkV2ZW50OjpnYW1tYShFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0Cit7CisgICAgRGV2aWNlT3JpZW50
YXRpb25FdmVudCogaW1wID0gc3RhdGljX2Nhc3Q8RGV2aWNlT3JpZW50YXRpb25FdmVudCo+KGlt
cGwoKSk7CisgICAgaWYgKCFpbXAtPm9yaWVudGF0aW9uKCktPmNhblByb3ZpZGVHYW1tYSgpKQor
ICAgICAgICByZXR1cm4ganNOdWxsKCk7CisgICAgcmV0dXJuIGpzTnVtYmVyKGV4ZWMsIGltcC0+
b3JpZW50YXRpb24oKS0+Z2FtbWEoKSk7Cit9CisKK0pTVmFsdWUgSlNEZXZpY2VPcmllbnRhdGlv
bkV2ZW50Ojppbml0RGV2aWNlT3JpZW50YXRpb25FdmVudChFeGVjU3RhdGUqIGV4ZWMpCit7Cisg
ICAgY29uc3QgU3RyaW5nJiB0eXBlID0gdXN0cmluZ1RvU3RyaW5nKGV4ZWMtPmFyZ3VtZW50KDAp
LnRvU3RyaW5nKGV4ZWMpKTsKKyAgICBib29sIGJ1YmJsZXMgPSBleGVjLT5hcmd1bWVudCgxKS50
b0Jvb2xlYW4oZXhlYyk7CisgICAgYm9vbCBjYW5jZWxhYmxlID0gZXhlYy0+YXJndW1lbnQoMiku
dG9Cb29sZWFuKGV4ZWMpOworICAgIC8vIElmIGFscGhhLCBiZXRhIG9yIGdhbW1hIGFyZSBudWxs
IG9yIHVuZGVmaW5lZCwgbWFyayB0aGVtIGFzIG5vdCBwcm92aWRlZC4KKyAgICAvLyBPdGhlcndp
c2UsIHVzZSB0aGUgc3RhbmRhcmQgSmF2YVNjcmlwdCBjb252ZXJzaW9uLgorICAgIGJvb2wgYWxw
aGFQcm92aWRlZCA9ICFleGVjLT5hcmd1bWVudCgzKS5pc1VuZGVmaW5lZE9yTnVsbCgpOworICAg
IGRvdWJsZSBhbHBoYSA9IGV4ZWMtPmFyZ3VtZW50KDMpLnRvTnVtYmVyKGV4ZWMpOworICAgIGJv
b2wgYmV0YVByb3ZpZGVkID0gIWV4ZWMtPmFyZ3VtZW50KDQpLmlzVW5kZWZpbmVkT3JOdWxsKCk7
CisgICAgZG91YmxlIGJldGEgPSBleGVjLT5hcmd1bWVudCg0KS50b051bWJlcihleGVjKTsKKyAg
ICBib29sIGdhbW1hUHJvdmlkZWQgPSAhZXhlYy0+YXJndW1lbnQoNSkuaXNVbmRlZmluZWRPck51
bGwoKTsKKyAgICBkb3VibGUgZ2FtbWEgPSBleGVjLT5hcmd1bWVudCg1KS50b051bWJlcihleGVj
KTsKKyAgICBSZWZQdHI8RGV2aWNlT3JpZW50YXRpb24+IG9yaWVudGF0aW9uID0gRGV2aWNlT3Jp
ZW50YXRpb246OmNyZWF0ZShhbHBoYVByb3ZpZGVkLCBhbHBoYSwgYmV0YVByb3ZpZGVkLCBiZXRh
LCBnYW1tYVByb3ZpZGVkLCBnYW1tYSk7CisgICAgRGV2aWNlT3JpZW50YXRpb25FdmVudCogaW1w
ID0gc3RhdGljX2Nhc3Q8RGV2aWNlT3JpZW50YXRpb25FdmVudCo+KGltcGwoKSk7CisgICAgaW1w
LT5pbml0RGV2aWNlT3JpZW50YXRpb25FdmVudCh0eXBlLCBidWJibGVzLCBjYW5jZWxhYmxlLCBv
cmllbnRhdGlvbi5nZXQoKSk7CisgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04p
CkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERldmljZU9yaWVudGF0aW9uRXZl
bnRDdXN0b20uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
RGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAJKHJldmlzaW9uIDApCisrKyBXZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwCShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDkwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgYGBBUyBJUycnIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SCisgKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIlY4RGV2aWNlT3JpZW50YXRpb25FdmVudC5oIgorCisjaWYgRU5BQkxFKERF
VklDRV9PUklFTlRBVElPTikKKworI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uLmgiCisjaW5j
bHVkZSAiVjhCaW5kaW5nLmgiCisjaW5jbHVkZSAiVjhQcm94eS5oIgorCisjaW5jbHVkZSA8djgu
aD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEZXZp
Y2VPcmllbnRhdGlvbkV2ZW50OjphbHBoYUFjY2Vzc29yR2V0dGVyKHY4OjpMb2NhbDx2ODo6U3Ry
aW5nPiBuYW1lLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQoreworICAgIElOQ19TVEFU
UygiRE9NLkRldmljZU9yaWVudGF0aW9uRXZlbnQuYWxwaGEuX2dldCIpOworICAgIHY4OjpIYW5k
bGU8djg6Ok9iamVjdD4gaG9sZGVyID0gaW5mby5Ib2xkZXIoKTsKKyAgICBEZXZpY2VPcmllbnRh
dGlvbkV2ZW50KiBpbXAgPSBWOERldmljZU9yaWVudGF0aW9uRXZlbnQ6OnRvTmF0aXZlKGhvbGRl
cik7CisgICAgaWYgKCFpbXAtPm9yaWVudGF0aW9uKCktPmNhblByb3ZpZGVBbHBoYSgpKQorICAg
ICAgICByZXR1cm4gdjg6Ok51bGwoKTsKKyAgICByZXR1cm4gdjg6Ok51bWJlcjo6TmV3KGltcC0+
b3JpZW50YXRpb24oKS0+YWxwaGEoKSk7Cit9CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERl
dmljZU9yaWVudGF0aW9uRXZlbnQ6OmJldGFBY2Nlc3NvckdldHRlcih2ODo6TG9jYWw8djg6OlN0
cmluZz4gbmFtZSwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5mbykKK3sKKyAgICBJTkNfU1RB
VFMoIkRPTS5EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmJldGEuX2dldCIpOworICAgIHY4OjpIYW5k
bGU8djg6Ok9iamVjdD4gaG9sZGVyID0gaW5mby5Ib2xkZXIoKTsKKyAgICBEZXZpY2VPcmllbnRh
dGlvbkV2ZW50KiBpbXAgPSBWOERldmljZU9yaWVudGF0aW9uRXZlbnQ6OnRvTmF0aXZlKGhvbGRl
cik7CisgICAgaWYgKCFpbXAtPm9yaWVudGF0aW9uKCktPmNhblByb3ZpZGVCZXRhKCkpCisgICAg
ICAgIHJldHVybiB2ODo6TnVsbCgpOworICAgIHJldHVybiB2ODo6TnVtYmVyOjpOZXcoaW1wLT5v
cmllbnRhdGlvbigpLT5iZXRhKCkpOworfQorCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEZXZp
Y2VPcmllbnRhdGlvbkV2ZW50OjpnYW1tYUFjY2Vzc29yR2V0dGVyKHY4OjpMb2NhbDx2ODo6U3Ry
aW5nPiBuYW1lLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQoreworICAgIElOQ19TVEFU
UygiRE9NLkRldmljZU9yaWVudGF0aW9uRXZlbnQuZ2FtbWEuX2dldCIpOworICAgIHY4OjpIYW5k
bGU8djg6Ok9iamVjdD4gaG9sZGVyID0gaW5mby5Ib2xkZXIoKTsKKyAgICBEZXZpY2VPcmllbnRh
dGlvbkV2ZW50KiBpbXAgPSBWOERldmljZU9yaWVudGF0aW9uRXZlbnQ6OnRvTmF0aXZlKGhvbGRl
cik7CisgICAgaWYgKCFpbXAtPm9yaWVudGF0aW9uKCktPmNhblByb3ZpZGVHYW1tYSgpKQorICAg
ICAgICByZXR1cm4gdjg6Ok51bGwoKTsKKyAgICByZXR1cm4gdjg6Ok51bWJlcjo6TmV3KGltcC0+
b3JpZW50YXRpb24oKS0+Z2FtbWEoKSk7Cit9CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERl
dmljZU9yaWVudGF0aW9uRXZlbnQ6OmluaXREZXZpY2VPcmllbnRhdGlvbkV2ZW50Q2FsbGJhY2so
Y29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKK3sKKyAgICBEZXZpY2VPcmllbnRhdGlvbkV2ZW50
KiBpbXAgPSBWOERldmljZU9yaWVudGF0aW9uRXZlbnQ6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkp
OworICAgIFY4UGFyYW1ldGVyPD4gdHlwZSA9IGFyZ3NbMF07CisgICAgYm9vbCBidWJibGVzID0g
YXJnc1sxXS0+Qm9vbGVhblZhbHVlKCk7CisgICAgYm9vbCBjYW5jZWxhYmxlID0gYXJnc1syXS0+
Qm9vbGVhblZhbHVlKCk7CisgICAgLy8gSWYgYWxwaGEsIGJldGEgb3IgZ2FtbWEgYXJlIG51bGwg
b3IgdW5kZWZpbmVkLCBtYXJrIHRoZW0gYXMgbm90IHByb3ZpZGVkLgorICAgIC8vIE90aGVyd2lz
ZSwgdXNlIHRoZSBzdGFuZGFyZCBKYXZhU2NyaXB0IGNvbnZlcnNpb24uCisgICAgYm9vbCBhbHBo
YVByb3ZpZGVkID0gIWlzVW5kZWZpbmVkT3JOdWxsKGFyZ3NbM10pOworICAgIGRvdWJsZSBhbHBo
YSA9IHN0YXRpY19jYXN0PGRvdWJsZT4oYXJnc1szXS0+TnVtYmVyVmFsdWUoKSk7CisgICAgYm9v
bCBiZXRhUHJvdmlkZWQgPSAhaXNVbmRlZmluZWRPck51bGwoYXJnc1s0XSk7CisgICAgZG91Ymxl
IGJldGEgPSBzdGF0aWNfY2FzdDxkb3VibGU+KGFyZ3NbNF0tPk51bWJlclZhbHVlKCkpOworICAg
IGJvb2wgZ2FtbWFQcm92aWRlZCA9ICFpc1VuZGVmaW5lZE9yTnVsbChhcmdzWzVdKTsKKyAgICBk
b3VibGUgZ2FtbWEgPSBzdGF0aWNfY2FzdDxkb3VibGU+KGFyZ3NbNV0tPk51bWJlclZhbHVlKCkp
OworICAgIFJlZlB0cjxEZXZpY2VPcmllbnRhdGlvbj4gb3JpZW50YXRpb24gPSBEZXZpY2VPcmll
bnRhdGlvbjo6Y3JlYXRlKGFscGhhUHJvdmlkZWQsIGFscGhhLCBiZXRhUHJvdmlkZWQsIGJldGEs
IGdhbW1hUHJvdmlkZWQsIGdhbW1hKTsKKyAgICBpbXAtPmluaXREZXZpY2VPcmllbnRhdGlvbkV2
ZW50KHR5cGUsIGJ1YmJsZXMsIGNhbmNlbGFibGUsIG9yaWVudGF0aW9uLmdldCgpKTsKKyAgICBy
ZXR1cm4gdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworI2VuZGlmIC8vIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCkluZGV4OiBXZWJDb3Jl
L2RvbS9EZXZpY2VPcmllbnRhdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vRGV2
aWNlT3JpZW50YXRpb24uY3BwCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9kb20vRGV2aWNlT3Jp
ZW50YXRpb24uY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDg5IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uLmgiCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworUGFzc1JlZlB0cjxEZXZpY2VPcmllbnRhdGlvbj4gRGV2aWNlT3Jp
ZW50YXRpb246OmNyZWF0ZSgpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBEZXZpY2VPcmll
bnRhdGlvbik7Cit9CisKK1Bhc3NSZWZQdHI8RGV2aWNlT3JpZW50YXRpb24+IERldmljZU9yaWVu
dGF0aW9uOjpjcmVhdGUoYm9vbCBjYW5Qcm92aWRlQWxwaGEsIGRvdWJsZSBhbHBoYSwgYm9vbCBj
YW5Qcm92aWRlQmV0YSwgZG91YmxlIGJldGEsIGJvb2wgY2FuUHJvdmlkZUdhbW1hLCBkb3VibGUg
Z2FtbWEpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBEZXZpY2VPcmllbnRhdGlvbihjYW5Q
cm92aWRlQWxwaGEsIGFscGhhLCBjYW5Qcm92aWRlQmV0YSwgYmV0YSwgY2FuUHJvdmlkZUdhbW1h
LCBnYW1tYSkpOworfQorCisKK0RldmljZU9yaWVudGF0aW9uOjpEZXZpY2VPcmllbnRhdGlvbigp
CisgICAgOiBtX2NhblByb3ZpZGVBbHBoYShmYWxzZSkKKyAgICAsIG1fY2FuUHJvdmlkZUJldGEo
ZmFsc2UpCisgICAgLCBtX2NhblByb3ZpZGVHYW1tYShmYWxzZSkKK3sKK30KKworRGV2aWNlT3Jp
ZW50YXRpb246OkRldmljZU9yaWVudGF0aW9uKGJvb2wgY2FuUHJvdmlkZUFscGhhLCBkb3VibGUg
YWxwaGEsIGJvb2wgY2FuUHJvdmlkZUJldGEsIGRvdWJsZSBiZXRhLCBib29sIGNhblByb3ZpZGVH
YW1tYSwgZG91YmxlIGdhbW1hKQorICAgIDogbV9jYW5Qcm92aWRlQWxwaGEoY2FuUHJvdmlkZUFs
cGhhKQorICAgICwgbV9jYW5Qcm92aWRlQmV0YShjYW5Qcm92aWRlQmV0YSkKKyAgICAsIG1fY2Fu
UHJvdmlkZUdhbW1hKGNhblByb3ZpZGVHYW1tYSkKKyAgICAsIG1fYWxwaGEoYWxwaGEpCisgICAg
LCBtX2JldGEoYmV0YSkKKyAgICAsIG1fZ2FtbWEoZ2FtbWEpCit7Cit9CisKK2RvdWJsZSBEZXZp
Y2VPcmllbnRhdGlvbjo6YWxwaGEoKSBjb25zdAoreworICAgIHJldHVybiBtX2FscGhhOworfQor
Citkb3VibGUgRGV2aWNlT3JpZW50YXRpb246OmJldGEoKSBjb25zdAoreworICAgIHJldHVybiBt
X2JldGE7Cit9CisKK2RvdWJsZSBEZXZpY2VPcmllbnRhdGlvbjo6Z2FtbWEoKSBjb25zdAorewor
ICAgIHJldHVybiBtX2dhbW1hOworfQorCitib29sIERldmljZU9yaWVudGF0aW9uOjpjYW5Qcm92
aWRlQWxwaGEoKSBjb25zdAoreworICAgIHJldHVybiBtX2NhblByb3ZpZGVBbHBoYTsKK30KKwor
Ym9vbCBEZXZpY2VPcmllbnRhdGlvbjo6Y2FuUHJvdmlkZUJldGEoKSBjb25zdAoreworICAgIHJl
dHVybiBtX2NhblByb3ZpZGVCZXRhOworfQorCitib29sIERldmljZU9yaWVudGF0aW9uOjpjYW5Q
cm92aWRlR2FtbWEoKSBjb25zdAoreworICAgIHJldHVybiBtX2NhblByb3ZpZGVHYW1tYTsKK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50
YXRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbi5oCShy
ZXZpc2lvbiAwKQorKysgV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb24uaAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSw2MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgRGV2aWNlT3JpZW50YXRpb25f
aAorI2RlZmluZSBEZXZpY2VPcmllbnRhdGlvbl9oCisKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0
ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworY2xhc3MgRGV2aWNlT3JpZW50YXRpb24gOiBwdWJsaWMgUmVmQ291bnRlZDxEZXZpY2VPcmll
bnRhdGlvbj4geworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPERldmljZU9yaWVudGF0
aW9uPiBjcmVhdGUoKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxEZXZpY2VPcmllbnRhdGlvbj4g
Y3JlYXRlKGJvb2wgY2FuUHJvdmlkZUFscGhhLCBkb3VibGUgYWxwaGEsIGJvb2wgY2FuUHJvdmlk
ZUJldGEsIGRvdWJsZSBiZXRhLCBib29sIGNhblByb3ZpZGVHYW1tYSwgZG91YmxlIGdhbW1hKTsK
KworICAgIGRvdWJsZSBhbHBoYSgpIGNvbnN0OworICAgIGRvdWJsZSBiZXRhKCkgY29uc3Q7Cisg
ICAgZG91YmxlIGdhbW1hKCkgY29uc3Q7CisgICAgYm9vbCBjYW5Qcm92aWRlQWxwaGEoKSBjb25z
dDsKKyAgICBib29sIGNhblByb3ZpZGVCZXRhKCkgY29uc3Q7CisgICAgYm9vbCBjYW5Qcm92aWRl
R2FtbWEoKSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBEZXZpY2VPcmllbnRhdGlvbigpOworICAg
IERldmljZU9yaWVudGF0aW9uKGJvb2wgY2FuUHJvdmlkZUFscGhhLCBkb3VibGUgYWxwaGEsIGJv
b2wgY2FuUHJvdmlkZUJldGEsIGRvdWJsZSBiZXRhLCBib29sIGNhblByb3ZpZGVHYW1tYSwgZG91
YmxlIGdhbW1hKTsKKworICAgIGJvb2wgbV9jYW5Qcm92aWRlQWxwaGE7CisgICAgYm9vbCBtX2Nh
blByb3ZpZGVCZXRhOworICAgIGJvb2wgbV9jYW5Qcm92aWRlR2FtbWE7CisgICAgZG91YmxlIG1f
YWxwaGE7CisgICAgZG91YmxlIG1fYmV0YTsKKyAgICBkb3VibGUgbV9nYW1tYTsKK307CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIERldmljZU9yaWVudGF0aW9uX2gKSW5k
ZXg6IFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwCShyZXZpc2lvbiA2MzE4MSkK
KysrIFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yNiwzNSArMjYsMzAgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJEZXZp
Y2VPcmllbnRhdGlvbkV2ZW50LmgiCiAKKyNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbi5oIgor
CiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBEZXZpY2VPcmllbnRhdGlvbkV2ZW50OjpEZXZpY2VPcmllbnRhdGlvbkV2ZW50KCkKLSAgICA6
IG1fYWxwaGEoMCkKLSAgICAsIG1fYmV0YSgwKQotICAgICwgbV9nYW1tYSgwKQorICAgIDogbV9v
cmllbnRhdGlvbihEZXZpY2VPcmllbnRhdGlvbjo6Y3JlYXRlKCkpCiB7CiB9CiAKLURldmljZU9y
aWVudGF0aW9uRXZlbnQ6OkRldmljZU9yaWVudGF0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5n
JiBldmVudFR5cGUsIGRvdWJsZSBhbHBoYSwgZG91YmxlIGJldGEsIGRvdWJsZSBnYW1tYSkKK0Rl
dmljZU9yaWVudGF0aW9uRXZlbnQ6OkRldmljZU9yaWVudGF0aW9uRXZlbnQoY29uc3QgQXRvbWlj
U3RyaW5nJiBldmVudFR5cGUsIERldmljZU9yaWVudGF0aW9uKiBvcmllbnRhdGlvbikKICAgICA6
IEV2ZW50KGV2ZW50VHlwZSwgZmFsc2UsIGZhbHNlKSAvLyBDYW4ndCBidWJibGUsIG5vdCBjYW5j
ZWxhYmxlCi0gICAgLCBtX2FscGhhKGFscGhhKQotICAgICwgbV9iZXRhKGJldGEpCi0gICAgLCBt
X2dhbW1hKGdhbW1hKQorICAgICwgbV9vcmllbnRhdGlvbihvcmllbnRhdGlvbikKIHsKIH0KIAot
dm9pZCBEZXZpY2VPcmllbnRhdGlvbkV2ZW50Ojppbml0RGV2aWNlT3JpZW50YXRpb25FdmVudChj
b25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2Vs
YWJsZSwgZG91YmxlIGFscGhhLCBkb3VibGUgYmV0YSwgZG91YmxlIGdhbW1hKQordm9pZCBEZXZp
Y2VPcmllbnRhdGlvbkV2ZW50Ojppbml0RGV2aWNlT3JpZW50YXRpb25FdmVudChjb25zdCBBdG9t
aWNTdHJpbmcmIHR5cGUsIGJvb2wgYnViYmxlcywgYm9vbCBjYW5jZWxhYmxlLCBEZXZpY2VPcmll
bnRhdGlvbiogb3JpZW50YXRpb24pCiB7CiAgICAgaWYgKGRpc3BhdGNoZWQoKSkKICAgICAgICAg
cmV0dXJuOwogCi0gICAgaW5pdEV2ZW50KGV2ZW50VHlwZSwgY2FuQnViYmxlLCBjYW5jZWxhYmxl
KTsKLQotICAgIG1fYWxwaGEgPSBhbHBoYTsKLSAgICBtX2JldGEgPSBiZXRhOwotICAgIG1fZ2Ft
bWEgPSBnYW1tYTsKKyAgICBpbml0RXZlbnQodHlwZSwgYnViYmxlcywgY2FuY2VsYWJsZSk7Cisg
ICAgbV9vcmllbnRhdGlvbiA9IG9yaWVudGF0aW9uOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCkluZGV4OiBXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5oCShyZXZpc2lvbiA2MzE4
MSkKKysrIFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuaAkod29ya2luZyBjb3B5
KQpAQCAtMzAsMzEgKzMwLDMwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgRGV2
aWNlT3JpZW50YXRpb247CisKIGNsYXNzIERldmljZU9yaWVudGF0aW9uRXZlbnQgOiBwdWJsaWMg
RXZlbnQgewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPERldmljZU9yaWVudGF0aW9u
RXZlbnQ+IGNyZWF0ZSgpCiAgICAgewogICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IERldmlj
ZU9yaWVudGF0aW9uRXZlbnQpOwogICAgIH0KLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxEZXZpY2VP
cmllbnRhdGlvbkV2ZW50PiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIGRv
dWJsZSBhbHBoYSwgZG91YmxlIGJldGEsIGRvdWJsZSBnYW1tYSkKKyAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxEZXZpY2VPcmllbnRhdGlvbkV2ZW50PiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiBl
dmVudFR5cGUsIERldmljZU9yaWVudGF0aW9uKiBvcmllbnRhdGlvbikKICAgICB7Ci0gICAgICAg
IHJldHVybiBhZG9wdFJlZihuZXcgRGV2aWNlT3JpZW50YXRpb25FdmVudChldmVudFR5cGUsIGFs
cGhhLCBiZXRhLCBnYW1tYSkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IERldmljZU9y
aWVudGF0aW9uRXZlbnQoZXZlbnRUeXBlLCBvcmllbnRhdGlvbikpOwogICAgIH0KIAotICAgIHZv
aWQgaW5pdERldmljZU9yaWVudGF0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5
cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIGRvdWJsZSBhbHBoYSwgZG91Ymxl
IGJldGEsIGRvdWJsZSBnYW1tYSk7Ci0gICAgZG91YmxlIGFscGhhKCkgY29uc3QgeyByZXR1cm4g
bV9hbHBoYTsgfQotICAgIGRvdWJsZSBiZXRhKCkgY29uc3QgeyByZXR1cm4gbV9iZXRhOyB9Ci0g
ICAgZG91YmxlIGdhbW1hKCkgY29uc3QgeyByZXR1cm4gbV9nYW1tYTsgfQorICAgIHZvaWQgaW5p
dERldmljZU9yaWVudGF0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGJ1
YmJsZXMsIGJvb2wgY2FuY2VsYWJsZSwgRGV2aWNlT3JpZW50YXRpb24qKTsKIAogICAgIHZpcnR1
YWwgYm9vbCBpc0RldmljZU9yaWVudGF0aW9uRXZlbnQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9
CiAKKyAgICBEZXZpY2VPcmllbnRhdGlvbiogb3JpZW50YXRpb24oKSBjb25zdCB7IHJldHVybiBt
X29yaWVudGF0aW9uLmdldCgpOyB9CisKIHByaXZhdGU6CiAgICAgRGV2aWNlT3JpZW50YXRpb25F
dmVudCgpOwotICAgIERldmljZU9yaWVudGF0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBl
dmVudFR5cGUsIGRvdWJsZSBhbHBoYSwgZG91YmxlIGJldGEsIGRvdWJsZSBnYW1tYSk7CisgICAg
RGV2aWNlT3JpZW50YXRpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgRGV2
aWNlT3JpZW50YXRpb24qKTsKIAotICAgIGRvdWJsZSBtX2FscGhhOwotICAgIGRvdWJsZSBtX2Jl
dGE7Ci0gICAgZG91YmxlIG1fZ2FtbWE7CisgICAgUmVmUHRyPERldmljZU9yaWVudGF0aW9uPiBt
X29yaWVudGF0aW9uOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29y
ZS9kb20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9k
b20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5pZGwJKHJldmlzaW9uIDYzMTgxKQorKysgV2ViQ29y
ZS9kb20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDEw
ICsyOCwxMCBAQCBtb2R1bGUgY29yZSB7CiAgICAgaW50ZXJmYWNlIFsKICAgICAgICAgQ29uZGl0
aW9uYWw9REVWSUNFX09SSUVOVEFUSU9OCiAgICAgXSBEZXZpY2VPcmllbnRhdGlvbkV2ZW50IDog
RXZlbnQgewotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIGFscGhhOwotICAgICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIGJldGE7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBkb3VibGUgZ2FtbWE7Ci0gICAgICAgIHZvaWQgaW5pdERldmljZU9yaWVudGF0aW9uRXZl
bnQoaW4gRE9NU3RyaW5nIHR5cGVBcmcsIGluIGJvb2xlYW4gY2FuQnViYmxlQXJnLCBpbiBib29s
ZWFuIGNhbmNlbGFibGVBcmcsIGluIGRvdWJsZSBhbHBoYSwgaW4gZG91YmxlIGJldGEsIGluIGRv
dWJsZSBnYW1tYSk7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbQ3VzdG9tXSBkb3VibGUg
YWxwaGE7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbQ3VzdG9tXSBkb3VibGUgYmV0YTsK
KyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtDdXN0b21dIGRvdWJsZSBnYW1tYTsKKyAgICAg
ICAgW0N1c3RvbV0gdm9pZCBpbml0RGV2aWNlT3JpZW50YXRpb25FdmVudChpbiBET01TdHJpbmcg
dHlwZSwgaW4gYm9vbGVhbiBidWJibGVzLCBpbiBib29sZWFuIGNhbmNlbGFibGUsIGluIGRvdWJs
ZSBhbHBoYSwgaW4gZG91YmxlIGJldGEsIGluIGRvdWJsZSBnYW1tYSk7CiAgICAgfTsKIAogfQpJ
bmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0No
YW5nZUxvZwkocmV2aXNpb24gNjMxODEpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTQ5MCw2ICs0OTAsMTcgQEAKIAogMjAxMC0wNy0xMiAgU3RldmUgQmxvY2sg
IDxzdGV2ZWJsb2NrQGdvb2dsZS5jb20+CiAKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgRGV2aWNlT3JpZW50YXRpb25FdmVudCBzaG91bGQgdXNlIG9wdGlv
bmFsIHByb3BlcnRpZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQxNjA3CisKKyAgICAgICAgKiBmYXN0L2RvbS9EZXZpY2VPcmllbnRhdGlvbi9vcHRp
b25hbC1ldmVudC1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFz
dC9kb20vRGV2aWNlT3JpZW50YXRpb24vb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9EZXZpY2VPcmllbnRhdGlvbi9zY3JpcHQtdGVzdHMv
b3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5qczogQWRkZWQuCisKKzIwMTAtMDctMTIgIFN0ZXZl
IEJsb2NrICA8c3RldmVibG9ja0Bnb29nbGUuY29tPgorCiAgICAgICAgIFJldmlld2VkIGJ5IEFs
ZXhleSBQcm9za3VyeWFrb3YuCiAKICAgICAgICAgWFBhdGggc3Vic3RyaW5nIGZ1bmN0aW9uIGRv
ZXMgbm90IGNvcnJlY3RseSBoYW5kbGUgbm9uLXBvc2l0aXZlIHZhbHVlcyBmb3IgdGhlIHBvc2l0
aW9uIGFyZ3VtZW50CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VPcmllbnRhdGlv
bi9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VPcmllbnRhdGlvbi9vcHRpb25hbC1ldmVudC1wcm9w
ZXJ0aWVzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9t
L0RldmljZU9yaWVudGF0aW9uL29wdGlvbmFsLWV2ZW50LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM3IEBACitUZXN0cyB0aGUgb3B0aW9uYWwgcHJvcGVy
dGllcyBvZiBEZXZpY2VPcmllbnRhdGlvbkV2ZW50LiBFYWNoIHByb3BlcnR5IHNob3VsZCBiZSBu
dWxsIGlmIG5vdCBzZXQsIG9yIHNldCB0byBudWxsIG9yIHVuZGVmaW5lZC4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK2V2ZW50ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0Rldmlj
ZU9yaWVudGF0aW9uRXZlbnQnKQorUEFTUyBldmVudC5hbHBoYSA9PSBudWxsIGlzIHRydWUKK1BB
U1MgZXZlbnQuYmV0YSA9PSBudWxsIGlzIHRydWUKK1BBU1MgZXZlbnQuZ2FtbWEgPT0gbnVsbCBp
cyB0cnVlCitldmVudC5pbml0RGV2aWNlT3JpZW50YXRpb25FdmVudCgnJywgZmFsc2UsIGZhbHNl
LCAwLCAxLCAyKQorUEFTUyBldmVudC5hbHBoYSA9PSAwIGlzIHRydWUKK1BBU1MgZXZlbnQuYmV0
YSA9PSAxIGlzIHRydWUKK1BBU1MgZXZlbnQuZ2FtbWEgPT0gMiBpcyB0cnVlCitldmVudC5pbml0
RGV2aWNlT3JpZW50YXRpb25FdmVudCgpCitQQVNTIGV2ZW50LmFscGhhID09IG51bGwgaXMgdHJ1
ZQorUEFTUyBldmVudC5iZXRhID09IG51bGwgaXMgdHJ1ZQorUEFTUyBldmVudC5nYW1tYSA9PSBu
dWxsIGlzIHRydWUKK2V2ZW50LmluaXREZXZpY2VPcmllbnRhdGlvbkV2ZW50KCcnLCBmYWxzZSwg
ZmFsc2UsIFtdLCBbXSwgW10pCitQQVNTIGV2ZW50LmFscGhhID09IDAgaXMgdHJ1ZQorUEFTUyBl
dmVudC5iZXRhID09IDAgaXMgdHJ1ZQorUEFTUyBldmVudC5nYW1tYSA9PSAwIGlzIHRydWUKK2V2
ZW50LmluaXREZXZpY2VPcmllbnRhdGlvbkV2ZW50KCcnLCBmYWxzZSwgZmFsc2UsIHVuZGVmaW5l
ZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQpCitQQVNTIGV2ZW50LmFscGhhID09IG51bGwgaXMgdHJ1
ZQorUEFTUyBldmVudC5iZXRhID09IG51bGwgaXMgdHJ1ZQorUEFTUyBldmVudC5nYW1tYSA9PSBu
dWxsIGlzIHRydWUKK2V2ZW50LmluaXREZXZpY2VPcmllbnRhdGlvbkV2ZW50KCcnLCBmYWxzZSwg
ZmFsc2UsICcnLCAnJywgJycpCitQQVNTIGV2ZW50LmFscGhhID09IDAgaXMgdHJ1ZQorUEFTUyBl
dmVudC5iZXRhID09IDAgaXMgdHJ1ZQorUEFTUyBldmVudC5nYW1tYSA9PSAwIGlzIHRydWUKK2V2
ZW50LmluaXREZXZpY2VPcmllbnRhdGlvbkV2ZW50KCcnLCBmYWxzZSwgZmFsc2UsIG51bGwsIG51
bGwsIG51bGwpCitQQVNTIGV2ZW50LmFscGhhID09IG51bGwgaXMgdHJ1ZQorUEFTUyBldmVudC5i
ZXRhID09IG51bGwgaXMgdHJ1ZQorUEFTUyBldmVudC5nYW1tYSA9PSBudWxsIGlzIHRydWUKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZpY2VPcmllbnRhdGlvbi9vcHRpb25hbC1ldmVudC1wcm9w
ZXJ0aWVzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlT3Jp
ZW50YXRpb24vb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5odG1sCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlT3JpZW50YXRpb24vb3B0aW9uYWwtZXZlbnQtcHJv
cGVydGllcy5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEyIEBACis8aHRtbD4KKzxoZWFk
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVz
dC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL29w
dGlvbmFsLWV2ZW50LXByb3BlcnRpZXMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vRGV2aWNlT3JpZW50YXRpb24vc2NyaXB0LXRl
c3RzL29wdGlvbmFsLWV2ZW50LXByb3BlcnRpZXMuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9kb20vRGV2aWNlT3JpZW50YXRpb24vc2NyaXB0LXRlc3RzL29wdGlvbmFsLWV2ZW50
LXByb3BlcnRpZXMuanMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9EZXZp
Y2VPcmllbnRhdGlvbi9zY3JpcHQtdGVzdHMvb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5qcwko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSw0MCBAQAorZGVzY3JpcHRpb24oIlRlc3RzIHRoZSBvcHRp
b25hbCBwcm9wZXJ0aWVzIG9mIERldmljZU9yaWVudGF0aW9uRXZlbnQuIEVhY2ggcHJvcGVydHkg
c2hvdWxkIGJlIG51bGwgaWYgbm90IHNldCwgb3Igc2V0IHRvIG51bGwgb3IgdW5kZWZpbmVkLiIp
OworCit2YXIgZXZlbnQ7CisKK2V2YWxBbmRMb2coImV2ZW50ID0gZG9jdW1lbnQuY3JlYXRlRXZl
bnQoJ0RldmljZU9yaWVudGF0aW9uRXZlbnQnKSIpOworc2hvdWxkQmVUcnVlKCJldmVudC5hbHBo
YSA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50LmJldGEgPT0gbnVsbCIpOworc2hvdWxk
QmVUcnVlKCJldmVudC5nYW1tYSA9PSBudWxsIik7CisKK2V2YWxBbmRMb2coImV2ZW50LmluaXRE
ZXZpY2VPcmllbnRhdGlvbkV2ZW50KCcnLCBmYWxzZSwgZmFsc2UsIDAsIDEsIDIpIik7CitzaG91
bGRCZVRydWUoImV2ZW50LmFscGhhID09IDAiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuYmV0YSA9
PSAxIik7CitzaG91bGRCZVRydWUoImV2ZW50LmdhbW1hID09IDIiKTsKKworZXZhbEFuZExvZygi
ZXZlbnQuaW5pdERldmljZU9yaWVudGF0aW9uRXZlbnQoKSIpOworc2hvdWxkQmVUcnVlKCJldmVu
dC5hbHBoYSA9PSBudWxsIik7CitzaG91bGRCZVRydWUoImV2ZW50LmJldGEgPT0gbnVsbCIpOwor
c2hvdWxkQmVUcnVlKCJldmVudC5nYW1tYSA9PSBudWxsIik7CisKK2V2YWxBbmRMb2coImV2ZW50
LmluaXREZXZpY2VPcmllbnRhdGlvbkV2ZW50KCcnLCBmYWxzZSwgZmFsc2UsIFtdLCBbXSwgW10p
Iik7CitzaG91bGRCZVRydWUoImV2ZW50LmFscGhhID09IDAiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZl
bnQuYmV0YSA9PSAwIik7CitzaG91bGRCZVRydWUoImV2ZW50LmdhbW1hID09IDAiKTsKKworZXZh
bEFuZExvZygiZXZlbnQuaW5pdERldmljZU9yaWVudGF0aW9uRXZlbnQoJycsIGZhbHNlLCBmYWxz
ZSwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCkiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZl
bnQuYWxwaGEgPT0gbnVsbCIpOworc2hvdWxkQmVUcnVlKCJldmVudC5iZXRhID09IG51bGwiKTsK
K3Nob3VsZEJlVHJ1ZSgiZXZlbnQuZ2FtbWEgPT0gbnVsbCIpOworCitldmFsQW5kTG9nKCJldmVu
dC5pbml0RGV2aWNlT3JpZW50YXRpb25FdmVudCgnJywgZmFsc2UsIGZhbHNlLCAnJywgJycsICcn
KSIpOworc2hvdWxkQmVUcnVlKCJldmVudC5hbHBoYSA9PSAwIik7CitzaG91bGRCZVRydWUoImV2
ZW50LmJldGEgPT0gMCIpOworc2hvdWxkQmVUcnVlKCJldmVudC5nYW1tYSA9PSAwIik7CisKK2V2
YWxBbmRMb2coImV2ZW50LmluaXREZXZpY2VPcmllbnRhdGlvbkV2ZW50KCcnLCBmYWxzZSwgZmFs
c2UsIG51bGwsIG51bGwsIG51bGwpIik7CitzaG91bGRCZVRydWUoImV2ZW50LmFscGhhID09IG51
bGwiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQuYmV0YSA9PSBudWxsIik7CitzaG91bGRCZVRydWUo
ImV2ZW50LmdhbW1hID09IG51bGwiKTsKKword2luZG93LnN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7Cg==
</data>
<flag name="review"
          id="49358"
          type_id="1"
          status="+"
          setter="jorlow"
    />
          </attachment>
      

    </bug>

</bugzilla>