<?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>39479</bug_id>
          
          <creation_ts>2010-05-21 03:24:22 -0700</creation_ts>
          <short_desc>Add DeviceOrientation and DeviceOrientationClient</short_desc>
          <delta_ts>2010-05-21 09:07:55 -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>
          
          <blocked>30335</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Steve Block">steveblock</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>gustavo</cc>
    
    <cc>hans</cc>
    
    <cc>jorlow</cc>
    
    <cc>steveblock</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>228830</commentid>
    <comment_count>0</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-05-21 03:24:22 -0700</bug_when>
    <thetext>Add DeviceOrientation and DeviceOrientationClient</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>228832</commentid>
    <comment_count>1</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-05-21 03:27:18 -0700</bug_when>
    <thetext>This is the next step in implementing DeviceOrientation. See Bug 30335</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>228838</commentid>
    <comment_count>2</comment_count>
      <attachid>56692</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-05-21 03:44:29 -0700</bug_when>
    <thetext>Created attachment 56692
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>228844</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-21 03:53:43 -0700</bug_when>
    <thetext>Attachment 56692 did not build on mac:
Build output: http://webkit-commit-queue.appspot.com/results/2248475</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>228845</commentid>
    <comment_count>4</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-05-21 03:54:48 -0700</bug_when>
    <thetext>Attachment 56692 did not build on qt:
Build output: http://webkit-commit-queue.appspot.com/results/2288390</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>228846</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-05-21 04:03:22 -0700</bug_when>
    <thetext>Attachment 56692 did not build on gtk:
Build output: http://webkit-commit-queue.appspot.com/results/2264396</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>228848</commentid>
    <comment_count>6</comment_count>
      <attachid>56692</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-05-21 04:03:34 -0700</bug_when>
    <thetext>Comment on attachment 56692
Patch

You forget WebCore/CMakeLists.txt and visual studio.

WebCore/dom/DeviceOrientation.h:38
 +      // TODO: Add methods to start and stop the service.
FIXME

WebCore/dom/DeviceOrientation.cpp:45
 +      // TODO: Fire DeviceOrientationEvents on the window object of all frames
FIXME</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>228853</commentid>
    <comment_count>7</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-05-21 04:16:55 -0700</bug_when>
    <thetext>&gt; You forget WebCore/CMakeLists.txt and visual studio.
Looks like I did with my first patch too - will fix here.

&gt; WebCore/dom/DeviceOrientation.h:38
&gt;  +      // TODO: Add methods to start and stop the service.
&gt; FIXME
Done</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>228855</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-05-21 04:19:29 -0700</bug_when>
    <thetext>Attachment 56692 did not build on chromium:
Build output: http://webkit-commit-queue.appspot.com/results/2261407</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>228887</commentid>
    <comment_count>9</comment_count>
      <attachid>56705</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-05-21 06:53:27 -0700</bug_when>
    <thetext>Created attachment 56705
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>228888</commentid>
    <comment_count>10</comment_count>
      <attachid>56705</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-05-21 07:00:56 -0700</bug_when>
    <thetext>Comment on attachment 56705
Patch

WebCore/ChangeLog:14
 +          No new tests are possible at this time.
Please explain why.  And promise to land them soon.  :-)

WebCore/dom/DeviceOrientation.cpp:47
 +      UNUSED_PARAM(alpha);
You may need to include wtf/UnusedParam.h

WebKit/chromium/src/WebViewImpl.cpp:264
 +                          0));
I don&apos;t know why these are split across multiple lines like this, but it doesn&apos;t match WebKit style...so mind putting these all on one line?

WebKit/mac/WebView/WebView.mm:666
 +      _private-&gt;page = new Page(new WebChromeClient(self), new WebContextMenuClient(self), new WebEditorClient(self), new WebDragClient(self), new WebInspectorClient(self), new WebPluginHalterClient(self), geolocationControllerClient, deviceOrientationClient);
Where is deviceOrientationClient defined?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>228890</commentid>
    <comment_count>11</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-05-21 07:09:18 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 56705 [details])
&gt; WebCore/ChangeLog:14
&gt;  +          No new tests are possible at this time.
&gt; Please explain why.  And promise to land them soon.  :-)
Done

&gt; WebCore/dom/DeviceOrientation.cpp:47
&gt;  +      UNUSED_PARAM(alpha);
&gt; You may need to include wtf/UnusedParam.h
Done

&gt; WebKit/chromium/src/WebViewImpl.cpp:264
&gt;  +                          0));
&gt; I don&apos;t know why these are split across multiple lines like this, but it doesn&apos;t match WebKit style...so mind putting these all on one line?
Done

&gt; WebKit/mac/WebView/WebView.mm:666
&gt;  +      _private-&gt;page = new Page(new WebChromeClient(self), new WebContextMenuClient(self), new WebEditorClient(self), new WebDragClient(self), new WebInspectorClient(self), new WebPluginHalterClient(self), geolocationControllerClient, deviceOrientationClient);
&gt; Where is deviceOrientationClient defined?
On the line above. Since all the other params are named, I thought it best to do it like this rather than use 0. What do you think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>228892</commentid>
    <comment_count>12</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-05-21 07:12:35 -0700</bug_when>
    <thetext> 
&gt; &gt; WebKit/mac/WebView/WebView.mm:666
&gt; &gt;  +      _private-&gt;page = new Page(new WebChromeClient(self), new WebContextMenuClient(self), new WebEditorClient(self), new WebDragClient(self), new WebInspectorClient(self), new WebPluginHalterClient(self), geolocationControllerClient, deviceOrientationClient);
&gt; &gt; Where is deviceOrientationClient defined?
&gt; On the line above. Since all the other params are named, I thought it best to do it like this rather than use 0. What do you think?

Oh yeah...forgot objective c always names stuff like that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>228908</commentid>
    <comment_count>13</comment_count>
      <attachid>56708</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-05-21 07:50:27 -0700</bug_when>
    <thetext>Created attachment 56708
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>228912</commentid>
    <comment_count>14</comment_count>
      <attachid>56708</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-05-21 07:56:41 -0700</bug_when>
    <thetext>Comment on attachment 56708
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>228943</commentid>
    <comment_count>15</comment_count>
      <attachid>56708</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-05-21 09:07:42 -0700</bug_when>
    <thetext>Comment on attachment 56708
Patch

Clearing flags on attachment: 56708

Committed r59935: &lt;http://trac.webkit.org/changeset/59935&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>228944</commentid>
    <comment_count>16</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2010-05-21 09:07:55 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56692</attachid>
            <date>2010-05-21 03:44:29 -0700</date>
            <delta_ts>2010-05-21 06:53:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-39479-20100521114427.patch</filename>
            <type>text/plain</type>
            <size>19203</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1OTkyMikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzYgQEAKKzIwMTAtMDUtMjEgIFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCBEZXZpY2VPcmllbnRhdGlvbiBhbmQgRGV2aWNlT3JpZW50YXRpb25DbGllbnQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM5NDc5CisKKyAgICAg
ICAgVGhlIHBhZ2Ugb3ducyBhIERldmljZU9yaWVudGF0aW9uIG9iamVjdCwgd2hpY2ggaGFzIGEg
cG9pbnRlciB0byBhCisgICAgICAgIERldmljZU9yaWVudGF0aW9uQ2xpZW50IG9iamVjdCBwcm92
aWRlZCBieSB0aGUgZW1iZWRkZXIuIFRoZQorICAgICAgICBEZXZpY2VPcmllbnRhdGlvbiBvYmpl
Y3QgZm9yd2FyZHMgcmVxdWVzdHMgdG8gc3RhcnQgbGlzdGVuaW5nIHRvCisgICAgICAgIG9yaWVu
dGF0aW9uIHRvIHRoZSBjbGllbnQsIGFuZCB3aGVuIHVwZGF0ZXMgYXJlIGF2YWlsYWJsZSwgZmly
ZXMgYQorICAgICAgICBEZXZpY2VPcmllbnRhdGlvbkV2ZW50IG9uIHRoZSB3aW5kb3cgb2JqZWN0
LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBhcmUgcG9zc2libGUgYXQgdGhpcyB0aW1lLgorCisg
ICAgICAgICogQW5kcm9pZC5tazoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAg
KiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGRvbS9EZXZpY2VPcmllbnRh
dGlvbi5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb246OkRl
dmljZU9yaWVudGF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uOjpv
bkRldmljZU9yaWVudGF0aW9uQ2hhbmdlKToKKyAgICAgICAgKiBkb20vRGV2aWNlT3JpZW50YXRp
b24uaDogQWRkZWQuCisgICAgICAgICogZG9tL0RldmljZU9yaWVudGF0aW9uQ2xpZW50Lmg6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25DbGllbnQ6On5EZXZpY2VP
cmllbnRhdGlvbkNsaWVudCk6CisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlBhZ2U6OlBhZ2UpOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICAoV2Vi
Q29yZTo6UGFnZTo6ZGV2aWNlT3JpZW50YXRpb24pOgorICAgICAgICAqIHN2Zy9ncmFwaGljcy9T
VkdJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdJbWFnZTo6ZGF0YUNoYW5nZWQpOgor
CiAyMDEwLTA1LTIxICBLd2FuZyBZdWwgU2VvICA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCkluZGV4OiBXZWJDb3JlL0FuZHJvaWQubWsK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9BbmRyb2lkLm1rCShyZXZpc2lvbiA1OTkxOCkKKysrIFdl
YkNvcmUvQW5kcm9pZC5tawkod29ya2luZyBjb3B5KQpAQCAtMTQ1LDYgKzE0NSw3IEBAIExPQ0FM
X1NSQ19GSUxFUyA6PSAkKExPQ0FMX1NSQ19GSUxFUykgXAogCWRvbS9Ob3RhdGlvbi5jcHAgXAog
CWRvbS9PcHRpb25FbGVtZW50LmNwcCBcCiAJZG9tL09wdGlvbkdyb3VwRWxlbWVudC5jcHAgXAor
CWRvbS9EZXZpY2VPcmllbnRhdGlvbi5jcHAgXAogCWRvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50
LmNwcCBcCiAJZG9tL092ZXJmbG93RXZlbnQuY3BwIFwKIAlkb20vUGFnZVRyYW5zaXRpb25FdmVu
dC5jcHAgXApJbmRleDogV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL0dOVW1ha2VmaWxlLmFtCShyZXZpc2lvbiA1OTkxOCkKKysrIFdlYkNvcmUvR05VbWFrZWZp
bGUuYW0JKHdvcmtpbmcgY29weSkKQEAgLTc2OSw2ICs3NjksOSBAQCB3ZWJjb3JlX3NvdXJjZXMg
Kz0gXAogCVdlYkNvcmUvZG9tL0RPTUNvcmVFeGNlcHRpb24uaCBcCiAJV2ViQ29yZS9kb20vRE9N
SW1wbGVtZW50YXRpb24uY3BwIFwKIAlXZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRhdGlvbi5oIFwK
KwlXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbi5jcHAgXAorCVdlYkNvcmUvZG9tL0Rldmlj
ZU9yaWVudGF0aW9uLmggXAorCVdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uQ2xpZW50Lmgg
XAogCVdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwIFwKIAlXZWJDb3JlL2Rv
bS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmggXAogCVdlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBc
CkluZGV4OiBXZWJDb3JlL1dlYkNvcmUuZ3lwaQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNv
cmUuZ3lwaQkocmV2aXNpb24gNTk5MTgpCisrKyBXZWJDb3JlL1dlYkNvcmUuZ3lwaQkod29ya2lu
ZyBjb3B5KQpAQCAtMTEwMyw2ICsxMTAzLDkgQEAKICAgICAgICAgICAgICdkb20vRE9NQ29yZUV4
Y2VwdGlvbi5oJywKICAgICAgICAgICAgICdkb20vRE9NSW1wbGVtZW50YXRpb24uY3BwJywKICAg
ICAgICAgICAgICdkb20vRE9NSW1wbGVtZW50YXRpb24uaCcsCisgICAgICAgICAgICAnZG9tL0Rl
dmljZU9yaWVudGF0aW9uLmNwcCcsCisgICAgICAgICAgICAnZG9tL0RldmljZU9yaWVudGF0aW9u
LmgnLAorICAgICAgICAgICAgJ2RvbS9EZXZpY2VPcmllbnRhdGlvbkNsaWVudC5oJywKICAgICAg
ICAgICAgICdkb20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAnLAogICAgICAgICAgICAgJ2Rv
bS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmgnLAogICAgICAgICAgICAgJ2RvbS9Eb2N1bWVudC5j
cHAnLApJbmRleDogV2ViQ29yZS9XZWJDb3JlLnBybwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dl
YkNvcmUucHJvCShyZXZpc2lvbiA1OTkxOCkKKysrIFdlYkNvcmUvV2ViQ29yZS5wcm8JKHdvcmtp
bmcgY29weSkKQEAgLTQ2Myw2ICs0NjMsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBkb20vQ29udGFp
bmVyTm9kZS5jcHAgXAogICAgIGRvbS9DU1NNYXBwZWRBdHRyaWJ1dGVEZWNsYXJhdGlvbi5jcHAg
XAogICAgIGRvbS9DdXN0b21FdmVudC5jcHAgXAorICAgIGRvbS9EZXZpY2VPcmllbnRhdGlvbi5j
cHAgXAogICAgIGRvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmNwcCBcCiAgICAgZG9tL0RvY3Vt
ZW50LmNwcCBcCiAgICAgZG9tL0RvY3VtZW50RnJhZ21lbnQuY3BwIFwKQEAgLTExODksNiArMTE5
MCw4IEBAIEhFQURFUlMgKz0gXAogICAgIGRvbS9DU1NNYXBwZWRBdHRyaWJ1dGVEZWNsYXJhdGlv
bi5oIFwKICAgICBkb20vQ3VzdG9tRXZlbnQuaCBcCiAgICAgZG9tL2RlZmF1bHQvUGxhdGZvcm1N
ZXNzYWdlUG9ydENoYW5uZWwuaCBcCisgICAgZG9tL0RldmljZU9yaWVudGF0aW9uLmggXAorICAg
IGRvbS9EZXZpY2VPcmllbnRhdGlvbkNsaWVudC5oIFwKICAgICBkb20vRGV2aWNlT3JpZW50YXRp
b25FdmVudC5oIFwKICAgICBkb20vRG9jdW1lbnRGcmFnbWVudC5oIFwKICAgICBkb20vRG9jdW1l
bnQuaCBcCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagko
cmV2aXNpb24gNTk5MTgpCisrKyBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTE3MSw2ICsxMTcxLDkgQEAKIAkJNTlBODVFQTQxMTlE
NjhFQzAwREVGMUVGIC8qIERldmljZU9yaWVudGF0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5QTg1RUEzMTE5RDY4RUMwMERFRjFFRiAv
KiBEZXZpY2VPcmllbnRhdGlvbkV2ZW50LmggKi87IH07CiAJCTU5QTg2MDA2MTE5REFGN0YwMERF
RjFFRiAvKiBKU0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTlBODYwMDUxMTlEQUY3RjAwREVGMUVGIC8qIEpT
RGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAgKi87IH07CiAJCTU5QTg2MDA4MTE5REFGQTEwMERF
RjFFRiAvKiBKU0RldmljZU9yaWVudGF0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5QTg2MDA3MTE5REFGQTEwMERFRjFFRiAvKiBKU0Rl
dmljZU9yaWVudGF0aW9uRXZlbnQuaCAqLzsgfTsKKwkJNTlBOEYxRDQxMUE2OTUwODAwMUFDMzRB
IC8qIERldmljZU9yaWVudGF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDU5QThGMUQzMTFBNjk1MDgwMDFBQzM0QSAvKiBEZXZpY2VPcmllbnRh
dGlvbi5jcHAgKi87IH07CisJCTU5QThGMUQ2MTFBNjk1MTMwMDFBQzM0QSAvKiBEZXZpY2VPcmll
bnRhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTlBOEYxRDUxMUE2OTUxMzAwMUFDMzRBIC8qIERldmljZU9yaWVudGF0aW9uLmggKi87IH07CisJ
CTU5QThGMUQ4MTFBNjk1MjAwMDFBQzM0QSAvKiBEZXZpY2VPcmllbnRhdGlvbkNsaWVudC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTlBOEYxRDcxMUE2
OTUyMDAwMUFDMzRBIC8qIERldmljZU9yaWVudGF0aW9uQ2xpZW50LmggKi87IH07CiAJCTU5QTlF
N0IwMTEwNDc1ODgwMERGQjRDMSAvKiBKYXZhSW5zdGFuY2VKU0MuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTlBOUU3QUYxMTA0NzU4ODAwREZCNEMx
IC8qIEphdmFJbnN0YW5jZUpTQy5jcHAgKi87IH07CiAJCTU5QTlFN0IyMTEwNDc1OTQwMERGQjRD
MSAvKiBKYXZhSW5zdGFuY2VKU0MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDU5QTlFN0IxMTEwNDc1OTQwMERGQjRDMSAvKiBKYXZhSW5zdGFuY2VKU0Mu
aCAqLzsgfTsKIAkJNTlCNTk3NzMxMTA4NjU2QjAwNzE1OUU4IC8qIEJyaWRnZUpTQy5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1OUI1OTc3MjExMDg2
NTZCMDA3MTU5RTggLyogQnJpZGdlSlNDLmNwcCAqLzsgfTsKQEAgLTY3NzksNiArNjc4Miw5IEBA
CiAJCTU5QTg1RUFBMTE5RDdCNkUwMERFRjFFRiAvKiBEZXZpY2VPcmllbnRhdGlvbkV2ZW50Lmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBEZXZpY2VPcmllbnRhdGlvbkV2ZW50LmlkbDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTlBODYwMDUxMTlEQUY3RjAwREVGMUVGIC8qIEpT
RGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk1OUE4NjAwNzExOURBRkExMDBERUYxRUYgLyogSlNEZXZpY2VPcmllbnRhdGlv
bkV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRGV2aWNlT3JpZW50
YXRpb25FdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1OUE4RjFEMzExQTY5
NTA4MDAxQUMzNEEgLyogRGV2aWNlT3JpZW50YXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gRGV2aWNlT3JpZW50YXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk1OUE4RjFENTExQTY5NTEzMDAxQUMzNEEgLyogRGV2aWNlT3JpZW50YXRp
b24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGV2aWNlT3JpZW50YXRpb24u
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTlBOEYxRDcxMUE2OTUyMDAwMUFDMzRB
IC8qIERldmljZU9yaWVudGF0aW9uQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IERldmljZU9yaWVudGF0aW9uQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTU5QTlFN0FGMTEwNDc1ODgwMERGQjRDMSAvKiBKYXZhSW5zdGFuY2VKU0MuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gSmF2YUluc3RhbmNlSlNDLmNwcDsg
cGF0aCA9IGpzYy9KYXZhSW5zdGFuY2VKU0MuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1OUE5RTdCMTExMDQ3NTk0MDBERkI0QzEgLyogSmF2YUluc3RhbmNlSlNDLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEphdmFJbnN0YW5jZUpTQy5oOyBwYXRoID0ganNj
L0phdmFJbnN0YW5jZUpTQy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1OUI1OTc3
MjExMDg2NTZCMDA3MTU5RTggLyogQnJpZGdlSlNDLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgbmFtZSA9IEJyaWRnZUpTQy5jcHA7IHBhdGggPSBicmlkZ2UvanNjL0JyaWRnZUpT
Qy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjQyMSw2ICsxNjQyNyw5IEBA
CiAJCUY1MjNEMzI0MDJERTQ0NzgwMTg2MzVDQSAvKiBkb20gKi8gPSB7CiAJCQlpc2EgPSBQQlhH
cm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTU5QThGMUQ3MTFBNjk1MjAwMDFBQzM0QSAvKiBE
ZXZpY2VPcmllbnRhdGlvbkNsaWVudC5oICovLAorCQkJCTU5QThGMUQ1MTFBNjk1MTMwMDFBQzM0
QSAvKiBEZXZpY2VPcmllbnRhdGlvbi5oICovLAorCQkJCTU5QThGMUQzMTFBNjk1MDgwMDFBQzM0
QSAvKiBEZXZpY2VPcmllbnRhdGlvbi5jcHAgKi8sCiAJCQkJNTlBODVFQUExMTlEN0I2RTAwREVG
MUVGIC8qIERldmljZU9yaWVudGF0aW9uRXZlbnQuaWRsICovLAogCQkJCTU5QTg1RUEzMTE5RDY4
RUMwMERFRjFFRiAvKiBEZXZpY2VPcmllbnRhdGlvbkV2ZW50LmggKi8sCiAJCQkJNTlBODVFQTEx
MTlENjhEOTAwREVGMUVGIC8qIERldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwICovLApAQCAtMTky
ODYsNiArMTkyOTUsOCBAQAogCQkJCTU5QTg1RUE0MTE5RDY4RUMwMERFRjFFRiAvKiBEZXZpY2VP
cmllbnRhdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk1OUE4NjAwODExOURBRkExMDBE
RUYxRUYgLyogSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQky
RTNGQUEwOTExQTM2QkYxMDA1NzY2MjQgLyogQ3Jvc3NUaHJlYWRUYXNrLmggaW4gSGVhZGVycyAq
LywKKwkJCQk1OUE4RjFENjExQTY5NTEzMDAxQUMzNEEgLyogRGV2aWNlT3JpZW50YXRpb24uaCBp
biBIZWFkZXJzICovLAorCQkJCTU5QThGMUQ4MTFBNjk1MjAwMDFBQzM0QSAvKiBEZXZpY2VPcmll
bnRhdGlvbkNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxv
eW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yMTU3MSw2ICsyMTU4Miw3IEBACiAJ
CQkJNTEzMjdENjExMUEzM0EyQjAwNEY5RDY1IC8qIFNpbmtEb2N1bWVudC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk1OUE4NUVBMjExOUQ2OEQ5MDBERUYxRUYgLyogRGV2aWNlT3JpZW50YXRpb25F
dmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1OUE4NjAwNjExOURBRjdGMDBERUYxRUYgLyog
SlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTU5QThGMUQ0
MTFBNjk1MDgwMDFBQzM0QSAvKiBEZXZpY2VPcmllbnRhdGlvbi5jcHAgaW4gU291cmNlcyAqLywK
IAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsK
SW5kZXg6IFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbi5jcHAJKHJldmlzaW9uIDApCisrKyBXZWJDb3Jl
L2RvbS9EZXZpY2VPcmllbnRhdGlvbi5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTEgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgMjAxMCwgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBPV05FUiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbi5o
IgorCisjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKKworI2luY2x1ZGUgIkRldmljZU9y
aWVudGF0aW9uQ2xpZW50LmgiCisjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25FdmVudC5oIgor
I2luY2x1ZGUgIkZyYW1lLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworRGV2aWNlT3JpZW50
YXRpb246OkRldmljZU9yaWVudGF0aW9uKFBhZ2UqIHBhZ2UsIERldmljZU9yaWVudGF0aW9uQ2xp
ZW50KiBjbGllbnQpCisgICAgOiBtX3BhZ2UocGFnZSkKKyAgICAsIG1fY2xpZW50KGNsaWVudCkK
K3sKK30KKwordm9pZCBEZXZpY2VPcmllbnRhdGlvbjo6b25EZXZpY2VPcmllbnRhdGlvbkNoYW5n
ZShkb3VibGUgYWxwaGEsIGRvdWJsZSBiZXRhLCBkb3VibGUgZ2FtbWEpCit7CisgICAgLy8gVE9E
TzogRmlyZSBEZXZpY2VPcmllbnRhdGlvbkV2ZW50cyBvbiB0aGUgd2luZG93IG9iamVjdCBvZiBh
bGwgZnJhbWVzCisgICAgLy8gdGhhdCBhcmUgbGlzdGVuaW5nIHRvIG9yaWVudGF0aW9uLgorfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoREVWSUNFX09SSUVO
VEFUSU9OKQpJbmRleDogV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb24uaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbi5oCShyZXZpc2lvbiAwKQorKysgV2Vi
Q29yZS9kb20vRGV2aWNlT3JpZW50YXRpb24uaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0OSBA
QAorLyoKKyAqIENvcHlyaWdodCAyMDEwLCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUIE9XTkVSIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2lmbmRlZiBEZXZpY2VPcmllbnRhdGlvbl9oCisjZGVmaW5lIERldmljZU9yaWVu
dGF0aW9uX2gKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBEZXZpY2VPcmllbnRhdGlv
bkNsaWVudDsKK2NsYXNzIFBhZ2U7CisKK2NsYXNzIERldmljZU9yaWVudGF0aW9uIHsKK3B1Ymxp
YzoKKyAgICBEZXZpY2VPcmllbnRhdGlvbihQYWdlKiwgRGV2aWNlT3JpZW50YXRpb25DbGllbnQq
KTsKKworICAgIC8vIFRPRE86IEFkZCBtZXRob2RzIHRvIHN0YXJ0IGFuZCBzdG9wIHRoZSBzZXJ2
aWNlLgorCisgICAgdm9pZCBvbkRldmljZU9yaWVudGF0aW9uQ2hhbmdlKGRvdWJsZSBhbHBoYSwg
ZG91YmxlIGJldGEsIGRvdWJsZSBnYW1tYSk7CisKK3ByaXZhdGU6CisgICAgUGFnZSogbV9wYWdl
OworICAgIERldmljZU9yaWVudGF0aW9uQ2xpZW50KiBtX2NsaWVudDsKK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIERldmljZU9yaWVudGF0aW9uX2gKSW5kZXg6IFdl
YkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9kb20vRGV2aWNlT3JpZW50YXRpb25DbGllbnQuaAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUv
ZG9tL0RldmljZU9yaWVudGF0aW9uQ2xpZW50LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDIg
QEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxMCwgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVj
dAorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBPV05FUiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpZm5kZWYgRGV2aWNlT3JpZW50YXRpb25DbGllbnRfaAorI2RlZmluZSBEZXZp
Y2VPcmllbnRhdGlvbkNsaWVudF9oCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRGV2
aWNlT3JpZW50YXRpb25DbGllbnQgeworcHVibGljOgorICAgIHZpcnR1YWwgdm9pZCBzdGFydFVw
ZGF0aW5nKCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzdG9wVXBkYXRpbmcoKSA9IDA7CisKK3By
b3RlY3RlZDoKKyAgICB2aXJ0dWFsIH5EZXZpY2VPcmllbnRhdGlvbkNsaWVudCgpIHt9Cit9Owor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBEZXZpY2VPcmllbnRhdGlvbkNs
aWVudF9oCkluZGV4OiBXZWJDb3JlL3BhZ2UvUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9wYWdlL1BhZ2UuY3BwCShyZXZpc2lvbiA1OTkxOCkKKysrIFdlYkNvcmUvcGFnZS9QYWdlLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMTA4LDcgKzEwOCw3IEBAIHN0YXRpYyB2b2lkIG5ldHdvcmtT
dGF0ZUNoYW5nZWQoKQogICAgICAgICBmcmFtZXNbaV0tPmRvY3VtZW50KCktPmRpc3BhdGNoV2lu
ZG93RXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWUsIGZhbHNlLCBmYWxzZSkpOwogfQogCi1Q
YWdlOjpQYWdlKENocm9tZUNsaWVudCogY2hyb21lQ2xpZW50LCBDb250ZXh0TWVudUNsaWVudCog
Y29udGV4dE1lbnVDbGllbnQsIEVkaXRvckNsaWVudCogZWRpdG9yQ2xpZW50LCBEcmFnQ2xpZW50
KiBkcmFnQ2xpZW50LCBJbnNwZWN0b3JDbGllbnQqIGluc3BlY3RvckNsaWVudCwgUGx1Z2luSGFs
dGVyQ2xpZW50KiBwbHVnaW5IYWx0ZXJDbGllbnQsIEdlb2xvY2F0aW9uQ29udHJvbGxlckNsaWVu
dCogZ2VvbG9jYXRpb25Db250cm9sbGVyQ2xpZW50KQorUGFnZTo6UGFnZShDaHJvbWVDbGllbnQq
IGNocm9tZUNsaWVudCwgQ29udGV4dE1lbnVDbGllbnQqIGNvbnRleHRNZW51Q2xpZW50LCBFZGl0
b3JDbGllbnQqIGVkaXRvckNsaWVudCwgRHJhZ0NsaWVudCogZHJhZ0NsaWVudCwgSW5zcGVjdG9y
Q2xpZW50KiBpbnNwZWN0b3JDbGllbnQsIFBsdWdpbkhhbHRlckNsaWVudCogcGx1Z2luSGFsdGVy
Q2xpZW50LCBHZW9sb2NhdGlvbkNvbnRyb2xsZXJDbGllbnQqIGdlb2xvY2F0aW9uQ29udHJvbGxl
ckNsaWVudCwgRGV2aWNlT3JpZW50YXRpb25DbGllbnQqIGRldmljZU9yaWVudGF0aW9uQ2xpZW50
KQogICAgIDogbV9jaHJvbWUobmV3IENocm9tZSh0aGlzLCBjaHJvbWVDbGllbnQpKQogICAgICwg
bV9kcmFnQ2FyZXRDb250cm9sbGVyKG5ldyBTZWxlY3Rpb25Db250cm9sbGVyKDAsIHRydWUpKQog
I2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCkBAIC0xMjQsNiArMTI0LDkgQEAgUGFnZTo6UGFnZShD
aHJvbWVDbGllbnQqIGNocm9tZUNsaWVudCwgQwogI2lmIEVOQUJMRShDTElFTlRfQkFTRURfR0VP
TE9DQVRJT04pCiAgICAgLCBtX2dlb2xvY2F0aW9uQ29udHJvbGxlcihuZXcgR2VvbG9jYXRpb25D
b250cm9sbGVyKHRoaXMsIGdlb2xvY2F0aW9uQ29udHJvbGxlckNsaWVudCkpCiAjZW5kaWYKKyNp
ZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQorICAgICwgbV9kZXZpY2VPcmllbnRhdGlvbihu
ZXcgRGV2aWNlT3JpZW50YXRpb24odGhpcywgZGV2aWNlT3JpZW50YXRpb25DbGllbnQpKQorI2Vu
ZGlmCiAgICAgLCBtX3NldHRpbmdzKG5ldyBTZXR0aW5ncyh0aGlzKSkKICAgICAsIG1fcHJvZ3Jl
c3MobmV3IFByb2dyZXNzVHJhY2tlcikKICAgICAsIG1fYmFja0ZvcndhcmRMaXN0KEJhY2tGb3J3
YXJkTGlzdDo6Y3JlYXRlKHRoaXMpKQpJbmRleDogV2ViQ29yZS9wYWdlL1BhZ2UuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3BhZ2UvUGFnZS5oCShyZXZpc2lvbiA1OTkxOCkKKysrIFdlYkNvcmUv
cGFnZS9QYWdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQyLDYgKzQyLDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIGNsYXNzIENocm9tZUNsaWVudDsKICAgICBjbGFzcyBDb250ZXh0TWVudUNs
aWVudDsKICAgICBjbGFzcyBDb250ZXh0TWVudUNvbnRyb2xsZXI7CisgICAgY2xhc3MgRGV2aWNl
T3JpZW50YXRpb247CisgICAgY2xhc3MgRGV2aWNlT3JpZW50YXRpb25DbGllbnQ7CiAgICAgY2xh
c3MgRG9jdW1lbnQ7CiAgICAgY2xhc3MgRHJhZ0NsaWVudDsKICAgICBjbGFzcyBEcmFnQ29udHJv
bGxlcjsKQEAgLTg1LDcgKzg3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHB1YmxpYzoK
ICAgICAgICAgc3RhdGljIHZvaWQgc2V0TmVlZHNSZWFwcGx5U3R5bGVzKCk7CiAKLSAgICAgICAg
UGFnZShDaHJvbWVDbGllbnQqLCBDb250ZXh0TWVudUNsaWVudCosIEVkaXRvckNsaWVudCosIERy
YWdDbGllbnQqLCBJbnNwZWN0b3JDbGllbnQqLCBQbHVnaW5IYWx0ZXJDbGllbnQqLCBHZW9sb2Nh
dGlvbkNvbnRyb2xsZXJDbGllbnQqKTsKKyAgICAgICAgUGFnZShDaHJvbWVDbGllbnQqLCBDb250
ZXh0TWVudUNsaWVudCosIEVkaXRvckNsaWVudCosIERyYWdDbGllbnQqLCBJbnNwZWN0b3JDbGll
bnQqLCBQbHVnaW5IYWx0ZXJDbGllbnQqLCBHZW9sb2NhdGlvbkNvbnRyb2xsZXJDbGllbnQqLCBE
ZXZpY2VPcmllbnRhdGlvbkNsaWVudCopOwogICAgICAgICB+UGFnZSgpOwogCiAgICAgICAgIFJl
bmRlclRoZW1lKiB0aGVtZSgpIGNvbnN0IHsgcmV0dXJuIG1fdGhlbWUuZ2V0KCk7IH07CkBAIC0x
NDUsNiArMTQ3LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2lmIEVOQUJMRShDTElFTlRfQkFT
RURfR0VPTE9DQVRJT04pCiAgICAgICAgIEdlb2xvY2F0aW9uQ29udHJvbGxlciogZ2VvbG9jYXRp
b25Db250cm9sbGVyKCkgY29uc3QgeyByZXR1cm4gbV9nZW9sb2NhdGlvbkNvbnRyb2xsZXIuZ2V0
KCk7IH0KICNlbmRpZgorI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisgICAgICAgIERl
dmljZU9yaWVudGF0aW9uKiBkZXZpY2VPcmllbnRhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fZGV2
aWNlT3JpZW50YXRpb24uZ2V0KCk7IH0KKyNlbmRpZgogICAgICAgICBTZXR0aW5ncyogc2V0dGlu
Z3MoKSBjb25zdCB7IHJldHVybiBtX3NldHRpbmdzLmdldCgpOyB9CiAgICAgICAgIFByb2dyZXNz
VHJhY2tlciogcHJvZ3Jlc3MoKSBjb25zdCB7IHJldHVybiBtX3Byb2dyZXNzLmdldCgpOyB9CiAg
ICAgICAgIApAQCAtMjUzLDYgKzI1OCw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNpZiBFTkFC
TEUoQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKQogICAgICAgICBPd25QdHI8R2VvbG9jYXRpb25D
b250cm9sbGVyPiBtX2dlb2xvY2F0aW9uQ29udHJvbGxlcjsKICNlbmRpZgorI2lmIEVOQUJMRShE
RVZJQ0VfT1JJRU5UQVRJT04pCisgICAgICAgIE93blB0cjxEZXZpY2VPcmllbnRhdGlvbj4gbV9k
ZXZpY2VPcmllbnRhdGlvbjsKKyNlbmRpZgogICAgICAgICBPd25QdHI8U2V0dGluZ3M+IG1fc2V0
dGluZ3M7CiAgICAgICAgIE93blB0cjxQcm9ncmVzc1RyYWNrZXI+IG1fcHJvZ3Jlc3M7CiAgICAg
ICAgIApJbmRleDogV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcAkocmV2aXNpb24gNTk5MTgpCisr
KyBXZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1
NSw3ICsyNTUsNyBAQCBib29sIFNWR0ltYWdlOjpkYXRhQ2hhbmdlZChib29sIGFsbERhdGFSCiAg
ICAgICAgIC8vIEZJWE1FOiBJZiB0aGlzIFNWRyBlbmRzIHVwIGxvYWRpbmcgaXRzZWxmLCB3ZSBt
aWdodCBsZWFrIHRoZSB3b3JsZC4KICAgICAgICAgLy8gVGhlIGNvbW1lbnQgc2FpZCB0aGF0IHRo
ZSBDYWNoZSBjb2RlIGRvZXMgbm90IGtub3cgYWJvdXQgQ2FjaGVkSW1hZ2VzCiAgICAgICAgIC8v
IGhvbGRpbmcgRnJhbWVzIGFuZCB3b24ndCBrbm93IHRvIGJyZWFrIHRoZSBjeWNsZS4gQnV0IAot
ICAgICAgICBtX3BhZ2Uuc2V0KG5ldyBQYWdlKG1fY2hyb21lQ2xpZW50LmdldCgpLCBkdW1teUNv
bnRleHRNZW51Q2xpZW50LCBkdW1teUVkaXRvckNsaWVudCwgZHVtbXlEcmFnQ2xpZW50LCBkdW1t
eUluc3BlY3RvckNsaWVudCwgMCwgMCkpOworICAgICAgICBtX3BhZ2Uuc2V0KG5ldyBQYWdlKG1f
Y2hyb21lQ2xpZW50LmdldCgpLCBkdW1teUNvbnRleHRNZW51Q2xpZW50LCBkdW1teUVkaXRvckNs
aWVudCwgZHVtbXlEcmFnQ2xpZW50LCBkdW1teUluc3BlY3RvckNsaWVudCwgMCwgMCwgMCkpOwog
ICAgICAgICBtX3BhZ2UtPnNldHRpbmdzKCktPnNldE1lZGlhRW5hYmxlZChmYWxzZSk7CiAgICAg
ICAgIG1fcGFnZS0+c2V0dGluZ3MoKS0+c2V0SmF2YVNjcmlwdEVuYWJsZWQoZmFsc2UpOwogICAg
ICAgICBtX3BhZ2UtPnNldHRpbmdzKCktPnNldFBsdWdpbnNFbmFibGVkKGZhbHNlKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56705</attachid>
            <date>2010-05-21 06:53:27 -0700</date>
            <delta_ts>2010-05-21 07:50:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-39479-20100521145324.patch</filename>
            <type>text/plain</type>
            <size>31022</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1OTkyOSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzkgQEAKKzIwMTAtMDUtMjEgIFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCBEZXZpY2VPcmllbnRhdGlvbiBhbmQgRGV2aWNlT3JpZW50YXRpb25DbGllbnQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM5NDc5CisKKyAgICAg
ICAgVGhlIHBhZ2Ugb3ducyBhIERldmljZU9yaWVudGF0aW9uIG9iamVjdCwgd2hpY2ggaGFzIGEg
cG9pbnRlciB0byBhCisgICAgICAgIERldmljZU9yaWVudGF0aW9uQ2xpZW50IG9iamVjdCBwcm92
aWRlZCBieSB0aGUgZW1iZWRkZXIuIFRoZQorICAgICAgICBEZXZpY2VPcmllbnRhdGlvbiBvYmpl
Y3QgZm9yd2FyZHMgcmVxdWVzdHMgdG8gc3RhcnQgbGlzdGVuaW5nIHRvCisgICAgICAgIG9yaWVu
dGF0aW9uIHRvIHRoZSBjbGllbnQsIGFuZCB3aGVuIHVwZGF0ZXMgYXJlIGF2YWlsYWJsZSwgZmly
ZXMgYQorICAgICAgICBEZXZpY2VPcmllbnRhdGlvbkV2ZW50IG9uIHRoZSB3aW5kb3cgb2JqZWN0
LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBhcmUgcG9zc2libGUgYXQgdGhpcyB0aW1lLgorCisg
ICAgICAgICogQW5kcm9pZC5tazoKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAg
KiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLmJhc2UuZXhwOgorICAgICAgICAq
IFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvagorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgKiBkb20vRGV2aWNlT3JpZW50YXRpb24uY3BwOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uOjpEZXZpY2VPcmllbnRhdGlvbik6
CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbjo6b25EZXZpY2VPcmllbnRhdGlv
bkNoYW5nZSk6CisgICAgICAgICogZG9tL0RldmljZU9yaWVudGF0aW9uLmg6IEFkZGVkLgorICAg
ICAgICAqIGRvbS9EZXZpY2VPcmllbnRhdGlvbkNsaWVudC5oOiBBZGRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OkRldmljZU9yaWVudGF0aW9uQ2xpZW50Ojp+RGV2aWNlT3JpZW50YXRpb25DbGllbnQp
OgorICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpQYWdl
KToKKyAgICAgICAgKiBwYWdlL1BhZ2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OmRldmlj
ZU9yaWVudGF0aW9uKToKKyAgICAgICAgKiBzdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHSW1hZ2U6OmRhdGFDaGFuZ2VkKToKKwogMjAxMC0wNS0xNyAgUGhp
bGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgRXJpYyBDYXJsc29uLgpJbmRleDogV2ViQ29yZS9BbmRyb2lkLm1rCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvQW5kcm9pZC5tawkocmV2aXNpb24gNTk5MjMpCisrKyBXZWJDb3JlL0FuZHJvaWQu
bWsJKHdvcmtpbmcgY29weSkKQEAgLTE0NSw2ICsxNDUsNyBAQCBMT0NBTF9TUkNfRklMRVMgOj0g
JChMT0NBTF9TUkNfRklMRVMpIFwKIAlkb20vTm90YXRpb24uY3BwIFwKIAlkb20vT3B0aW9uRWxl
bWVudC5jcHAgXAogCWRvbS9PcHRpb25Hcm91cEVsZW1lbnQuY3BwIFwKKwlkb20vRGV2aWNlT3Jp
ZW50YXRpb24uY3BwIFwKIAlkb20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAgXAogCWRvbS9P
dmVyZmxvd0V2ZW50LmNwcCBcCiAJZG9tL1BhZ2VUcmFuc2l0aW9uRXZlbnQuY3BwIFwKSW5kZXg6
IFdlYkNvcmUvQ01ha2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dAkocmV2aXNpb24gNTk5MjMpCisrKyBXZWJDb3JlL0NNYWtlTGlzdHMudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0xMzksNiArMTM5LDcgQEAgU0VUKFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgZG9t
L0N1c3RvbUV2ZW50LmlkbAogICAgIGRvbS9ET01Db3JlRXhjZXB0aW9uLmlkbAogICAgIGRvbS9E
T01JbXBsZW1lbnRhdGlvbi5pZGwKKyAgICBkb20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5pZGwK
ICAgICBkb20vRG9jdW1lbnQuaWRsCiAgICAgZG9tL0RvY3VtZW50RnJhZ21lbnQuaWRsCiAgICAg
ZG9tL0RvY3VtZW50VHlwZS5pZGwKQEAgLTc0Nyw2ICs3NDgsOCBAQCBTRVQoV2ViQ29yZV9TT1VS
Q0VTCiAgICAgZG9tL0NvbnRhaW5lck5vZGUuY3BwCiAgICAgZG9tL0N1c3RvbUV2ZW50LmNwcAog
ICAgIGRvbS9ET01JbXBsZW1lbnRhdGlvbi5jcHAKKyAgICBkb20vRGV2aWNlT3JpZW50YXRpb24u
Y3BwCisgICAgZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwCiAgICAgZG9tL0RvY3VtZW50
LmNwcAogICAgIGRvbS9Eb2N1bWVudEZyYWdtZW50LmNwcAogICAgIGRvbS9Eb2N1bWVudFR5cGUu
Y3BwCkluZGV4OiBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
R05VbWFrZWZpbGUuYW0JKHJldmlzaW9uIDU5OTIzKQorKysgV2ViQ29yZS9HTlVtYWtlZmlsZS5h
bQkod29ya2luZyBjb3B5KQpAQCAtNzY5LDYgKzc2OSw5IEBAIHdlYmNvcmVfc291cmNlcyArPSBc
CiAJV2ViQ29yZS9kb20vRE9NQ29yZUV4Y2VwdGlvbi5oIFwKIAlXZWJDb3JlL2RvbS9ET01JbXBs
ZW1lbnRhdGlvbi5jcHAgXAogCVdlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0aW9uLmggXAorCVdl
YkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uLmNwcCBcCisJV2ViQ29yZS9kb20vRGV2aWNlT3Jp
ZW50YXRpb24uaCBcCisJV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25DbGllbnQuaCBcCiAJ
V2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAgXAogCVdlYkNvcmUvZG9tL0Rl
dmljZU9yaWVudGF0aW9uRXZlbnQuaCBcCiAJV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIFwKSW5k
ZXg6IFdlYkNvcmUvV2ViQ29yZS5iYXNlLmV4cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNv
cmUuYmFzZS5leHAJKHJldmlzaW9uIDU5OTIzKQorKysgV2ViQ29yZS9XZWJDb3JlLmJhc2UuZXhw
CSh3b3JraW5nIGNvcHkpCkBAIC01MjQsNyArNTI0LDcgQEAgX19aTjdXZWJDb3JlNFBhZ2U2Z29C
YWNrRXYKIF9fWk43V2ViQ29yZTRQYWdlOGdvVG9JdGVtRVBOU18xMUhpc3RvcnlJdGVtRU5TXzEz
RnJhbWVMb2FkVHlwZUUKIF9fWk43V2ViQ29yZTRQYWdlOWdvRm9yd2FyZEV2CiBfX1pON1dlYkNv
cmU0UGFnZTlpbml0R3JvdXBFdgotX19aTjdXZWJDb3JlNFBhZ2VDMUVQTlNfMTJDaHJvbWVDbGll
bnRFUE5TXzE3Q29udGV4dE1lbnVDbGllbnRFUE5TXzEyRWRpdG9yQ2xpZW50RVBOU18xMERyYWdD
bGllbnRFUE5TXzE1SW5zcGVjdG9yQ2xpZW50RVBOU18xOFBsdWdpbkhhbHRlckNsaWVudEVQTlNf
MjdHZW9sb2NhdGlvbkNvbnRyb2xsZXJDbGllbnRFCitfX1pON1dlYkNvcmU0UGFnZUMxRVBOU18x
MkNocm9tZUNsaWVudEVQTlNfMTdDb250ZXh0TWVudUNsaWVudEVQTlNfMTJFZGl0b3JDbGllbnRF
UE5TXzEwRHJhZ0NsaWVudEVQTlNfMTVJbnNwZWN0b3JDbGllbnRFUE5TXzE4UGx1Z2luSGFsdGVy
Q2xpZW50RVBOU18yN0dlb2xvY2F0aW9uQ29udHJvbGxlckNsaWVudEVQTlNfMjNEZXZpY2VPcmll
bnRhdGlvbkNsaWVudEUKIF9fWk43V2ViQ29yZTRQYWdlRDFFdgogX19aTjdXZWJDb3JlNGNvcmVF
UDIwTlNVUkxQcm90ZWN0aW9uU3BhY2UKIF9fWk43V2ViQ29yZTR0b0pTRVBOM0pTQzlFeGVjU3Rh
dGVFUE5TXzE3SlNET01HbG9iYWxPYmplY3RFUE5TXzE5Q1NTU3R5bGVEZWNsYXJhdGlvbkUKSW5k
ZXg6IFdlYkNvcmUvV2ViQ29yZS5neXBpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5n
eXBpCShyZXZpc2lvbiA1OTkyMykKKysrIFdlYkNvcmUvV2ViQ29yZS5neXBpCSh3b3JraW5nIGNv
cHkpCkBAIC0xMTAzLDYgKzExMDMsOSBAQAogICAgICAgICAgICAgJ2RvbS9ET01Db3JlRXhjZXB0
aW9uLmgnLAogICAgICAgICAgICAgJ2RvbS9ET01JbXBsZW1lbnRhdGlvbi5jcHAnLAogICAgICAg
ICAgICAgJ2RvbS9ET01JbXBsZW1lbnRhdGlvbi5oJywKKyAgICAgICAgICAgICdkb20vRGV2aWNl
T3JpZW50YXRpb24uY3BwJywKKyAgICAgICAgICAgICdkb20vRGV2aWNlT3JpZW50YXRpb24uaCcs
CisgICAgICAgICAgICAnZG9tL0RldmljZU9yaWVudGF0aW9uQ2xpZW50LmgnLAogICAgICAgICAg
ICAgJ2RvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmNwcCcsCiAgICAgICAgICAgICAnZG9tL0Rl
dmljZU9yaWVudGF0aW9uRXZlbnQuaCcsCiAgICAgICAgICAgICAnZG9tL0RvY3VtZW50LmNwcCcs
CkluZGV4OiBXZWJDb3JlL1dlYkNvcmUucHJvCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29y
ZS5wcm8JKHJldmlzaW9uIDU5OTIzKQorKysgV2ViQ29yZS9XZWJDb3JlLnBybwkod29ya2luZyBj
b3B5KQpAQCAtNDYzLDYgKzQ2Myw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGRvbS9Db250YWluZXJO
b2RlLmNwcCBcCiAgICAgZG9tL0NTU01hcHBlZEF0dHJpYnV0ZURlY2xhcmF0aW9uLmNwcCBcCiAg
ICAgZG9tL0N1c3RvbUV2ZW50LmNwcCBcCisgICAgZG9tL0RldmljZU9yaWVudGF0aW9uLmNwcCBc
CiAgICAgZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwIFwKICAgICBkb20vRG9jdW1lbnQu
Y3BwIFwKICAgICBkb20vRG9jdW1lbnRGcmFnbWVudC5jcHAgXApAQCAtMTE4OSw2ICsxMTkwLDgg
QEAgSEVBREVSUyArPSBcCiAgICAgZG9tL0NTU01hcHBlZEF0dHJpYnV0ZURlY2xhcmF0aW9uLmgg
XAogICAgIGRvbS9DdXN0b21FdmVudC5oIFwKICAgICBkb20vZGVmYXVsdC9QbGF0Zm9ybU1lc3Nh
Z2VQb3J0Q2hhbm5lbC5oIFwKKyAgICBkb20vRGV2aWNlT3JpZW50YXRpb24uaCBcCisgICAgZG9t
L0RldmljZU9yaWVudGF0aW9uQ2xpZW50LmggXAogICAgIGRvbS9EZXZpY2VPcmllbnRhdGlvbkV2
ZW50LmggXAogICAgIGRvbS9Eb2N1bWVudEZyYWdtZW50LmggXAogICAgIGRvbS9Eb2N1bWVudC5o
IFwKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkocmV2aXNpb24gNTk5
MjMpCisrKyBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCSh3b3JraW5nIGNv
cHkpCkBAIC0yNzM3LDYgKzI3MzcsNjIgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxl
DQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialxXZWJDb3JlXERlcml2
ZWRTb3VyY2VzXEpTRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAiDQorCQkJCT4NCisJCQkJPEZp
bGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVk
RnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NM
Q29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJ
PEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KKwkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9
IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0K
KwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnX0ludGVybmFsfFdpbjMy
Ig0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0K
KwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnX0Nh
aXJvfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJ
CQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9
IlJlbGVhc2VfQ2Fpcm98V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJ
CQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJ
CS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0K
KwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRy
dWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
DQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCTwvRmlsZT4NCisJCQk8
RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcV2ViQ29yZVxE
ZXJpdmVkU291cmNlc1xKU0RldmljZU9yaWVudGF0aW9uRXZlbnQuaCINCisJCQkJPg0KKwkJCTwv
RmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxv
YmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNEb2N1bWVudC5jcHAiDQogCQkJCT4N
CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uDQpAQCAtMjk0MTcsNiArMjk0NzMsMjYgQEAKIAkJCQk+
DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXERldmlj
ZU9yaWVudGF0aW9uLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXGRvbVxEZXZpY2VPcmllbnRhdGlvbi5oIg0KKwkJCQk+DQorCQkJPC9G
aWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXERldmljZU9yaWVudGF0
aW9uQ2xpZW50LmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRp
dmVQYXRoPSIuLlxkb21cRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAiDQorCQkJCT4NCisJCQk8
L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cRGV2aWNlT3JpZW50
YXRpb25FdmVudC5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0
aXZlUGF0aD0iLi5cZG9tXERvY3VtZW50LmNwcCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCkluZGV4
OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gNTk5
MjMpCisrKyBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2lu
ZyBjb3B5KQpAQCAtMTE3MSw2ICsxMTcxLDkgQEAKIAkJNTlBODVFQTQxMTlENjhFQzAwREVGMUVG
IC8qIERldmljZU9yaWVudGF0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDU5QTg1RUEzMTE5RDY4RUMwMERFRjFFRiAvKiBEZXZpY2VPcmll
bnRhdGlvbkV2ZW50LmggKi87IH07CiAJCTU5QTg2MDA2MTE5REFGN0YwMERFRjFFRiAvKiBKU0Rl
dmljZU9yaWVudGF0aW9uRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTlBODYwMDUxMTlEQUY3RjAwREVGMUVGIC8qIEpTRGV2aWNlT3JpZW50
YXRpb25FdmVudC5jcHAgKi87IH07CiAJCTU5QTg2MDA4MTE5REFGQTEwMERFRjFFRiAvKiBKU0Rl
dmljZU9yaWVudGF0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDU5QTg2MDA3MTE5REFGQTEwMERFRjFFRiAvKiBKU0RldmljZU9yaWVudGF0
aW9uRXZlbnQuaCAqLzsgfTsKKwkJNTlBOEYxRDQxMUE2OTUwODAwMUFDMzRBIC8qIERldmljZU9y
aWVudGF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDU5QThGMUQzMTFBNjk1MDgwMDFBQzM0QSAvKiBEZXZpY2VPcmllbnRhdGlvbi5jcHAgKi87
IH07CisJCTU5QThGMUQ2MTFBNjk1MTMwMDFBQzM0QSAvKiBEZXZpY2VPcmllbnRhdGlvbi5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTlBOEYxRDUxMUE2
OTUxMzAwMUFDMzRBIC8qIERldmljZU9yaWVudGF0aW9uLmggKi87IH07CisJCTU5QThGMUQ4MTFB
Njk1MjAwMDFBQzM0QSAvKiBEZXZpY2VPcmllbnRhdGlvbkNsaWVudC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTlBOEYxRDcxMUE2OTUyMDAwMUFDMzRB
IC8qIERldmljZU9yaWVudGF0aW9uQ2xpZW50LmggKi87IH07CiAJCTU5QTlFN0IwMTEwNDc1ODgw
MERGQjRDMSAvKiBKYXZhSW5zdGFuY2VKU0MuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTlBOUU3QUYxMTA0NzU4ODAwREZCNEMxIC8qIEphdmFJbnN0
YW5jZUpTQy5jcHAgKi87IH07CiAJCTU5QTlFN0IyMTEwNDc1OTQwMERGQjRDMSAvKiBKYXZhSW5z
dGFuY2VKU0MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDU5QTlFN0IxMTEwNDc1OTQwMERGQjRDMSAvKiBKYXZhSW5zdGFuY2VKU0MuaCAqLzsgfTsKIAkJ
NTlCNTk3NzMxMTA4NjU2QjAwNzE1OUU4IC8qIEJyaWRnZUpTQy5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1OUI1OTc3MjExMDg2NTZCMDA3MTU5RTgg
LyogQnJpZGdlSlNDLmNwcCAqLzsgfTsKQEAgLTY3NzksNiArNjc4Miw5IEBACiAJCTU5QTg1RUFB
MTE5RDdCNkUwMERFRjFFRiAvKiBEZXZpY2VPcmllbnRhdGlvbkV2ZW50LmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBEZXZpY2VPcmllbnRhdGlvbkV2ZW50LmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNTlBODYwMDUxMTlEQUY3RjAwREVGMUVGIC8qIEpTRGV2aWNlT3JpZW50
YXRpb25FdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0Rl
dmljZU9yaWVudGF0aW9uRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1
OUE4NjAwNzExOURBRkExMDBERUYxRUYgLyogSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRGV2aWNlT3JpZW50YXRpb25FdmVudC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1OUE4RjFEMzExQTY5NTA4MDAxQUMzNEEg
LyogRGV2aWNlT3JpZW50YXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gRGV2aWNlT3JpZW50YXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk1OUE4RjFENTExQTY5NTEzMDAxQUMzNEEgLyogRGV2aWNlT3JpZW50YXRpb24uaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGV2aWNlT3JpZW50YXRpb24uaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTlBOEYxRDcxMUE2OTUyMDAwMUFDMzRBIC8qIERldmljZU9y
aWVudGF0aW9uQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERldmlj
ZU9yaWVudGF0aW9uQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU5QTlF
N0FGMTEwNDc1ODgwMERGQjRDMSAvKiBKYXZhSW5zdGFuY2VKU0MuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gSmF2YUluc3RhbmNlSlNDLmNwcDsgcGF0aCA9IGpzYy9K
YXZhSW5zdGFuY2VKU0MuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1OUE5RTdC
MTExMDQ3NTk0MDBERkI0QzEgLyogSmF2YUluc3RhbmNlSlNDLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IEphdmFJbnN0YW5jZUpTQy5oOyBwYXRoID0ganNjL0phdmFJbnN0YW5j
ZUpTQy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1OUI1OTc3MjExMDg2NTZCMDA3
MTU5RTggLyogQnJpZGdlSlNDLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFt
ZSA9IEJyaWRnZUpTQy5jcHA7IHBhdGggPSBicmlkZ2UvanNjL0JyaWRnZUpTQy5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjQyMSw2ICsxNjQyNyw5IEBACiAJCUY1MjNEMzI0
MDJERTQ0NzgwMTg2MzVDQSAvKiBkb20gKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNo
aWxkcmVuID0gKAorCQkJCTU5QThGMUQ3MTFBNjk1MjAwMDFBQzM0QSAvKiBEZXZpY2VPcmllbnRh
dGlvbkNsaWVudC5oICovLAorCQkJCTU5QThGMUQ1MTFBNjk1MTMwMDFBQzM0QSAvKiBEZXZpY2VP
cmllbnRhdGlvbi5oICovLAorCQkJCTU5QThGMUQzMTFBNjk1MDgwMDFBQzM0QSAvKiBEZXZpY2VP
cmllbnRhdGlvbi5jcHAgKi8sCiAJCQkJNTlBODVFQUExMTlEN0I2RTAwREVGMUVGIC8qIERldmlj
ZU9yaWVudGF0aW9uRXZlbnQuaWRsICovLAogCQkJCTU5QTg1RUEzMTE5RDY4RUMwMERFRjFFRiAv
KiBEZXZpY2VPcmllbnRhdGlvbkV2ZW50LmggKi8sCiAJCQkJNTlBODVFQTExMTlENjhEOTAwREVG
MUVGIC8qIERldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwICovLApAQCAtMTkyODYsNiArMTkyOTUs
OCBAQAogCQkJCTU5QTg1RUE0MTE5RDY4RUMwMERFRjFFRiAvKiBEZXZpY2VPcmllbnRhdGlvbkV2
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk1OUE4NjAwODExOURBRkExMDBERUYxRUYgLyogSlNE
ZXZpY2VPcmllbnRhdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTNGQUEwOTExQTM2
QkYxMDA1NzY2MjQgLyogQ3Jvc3NUaHJlYWRUYXNrLmggaW4gSGVhZGVycyAqLywKKwkJCQk1OUE4
RjFENjExQTY5NTEzMDAxQUMzNEEgLyogRGV2aWNlT3JpZW50YXRpb24uaCBpbiBIZWFkZXJzICov
LAorCQkJCTU5QThGMUQ4MTFBNjk1MjAwMDFBQzM0QSAvKiBEZXZpY2VPcmllbnRhdGlvbkNsaWVu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJv
Y2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yMTU3MSw2ICsyMTU4Miw3IEBACiAJCQkJNTEzMjdENjEx
MUEzM0EyQjAwNEY5RDY1IC8qIFNpbmtEb2N1bWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1
OUE4NUVBMjExOUQ2OEQ5MDBERUYxRUYgLyogRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk1OUE4NjAwNjExOURBRjdGMDBERUYxRUYgLyogSlNEZXZpY2VPcmll
bnRhdGlvbkV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTU5QThGMUQ0MTFBNjk1MDgwMDFB
QzM0QSAvKiBEZXZpY2VPcmllbnRhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQly
dW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKSW5kZXg6IFdlYkNv
cmUvZG9tL0RldmljZU9yaWVudGF0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9E
ZXZpY2VPcmllbnRhdGlvbi5jcHAJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2RvbS9EZXZpY2VP
cmllbnRhdGlvbi5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5
cmlnaHQgMjAxMCwgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbi5oIgorCisjaWYgRU5B
QkxFKERFVklDRV9PUklFTlRBVElPTikKKworI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uQ2xp
ZW50LmgiCisjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25FdmVudC5oIgorI2luY2x1ZGUgIkZy
YW1lLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworRGV2aWNlT3JpZW50YXRpb246OkRldmlj
ZU9yaWVudGF0aW9uKFBhZ2UqIHBhZ2UsIERldmljZU9yaWVudGF0aW9uQ2xpZW50KiBjbGllbnQp
CisgICAgOiBtX3BhZ2UocGFnZSkKKyAgICAsIG1fY2xpZW50KGNsaWVudCkKK3sKK30KKwordm9p
ZCBEZXZpY2VPcmllbnRhdGlvbjo6b25EZXZpY2VPcmllbnRhdGlvbkNoYW5nZShkb3VibGUgYWxw
aGEsIGRvdWJsZSBiZXRhLCBkb3VibGUgZ2FtbWEpCit7CisgICAgLy8gRklYTUU6IEZpcmUgRGV2
aWNlT3JpZW50YXRpb25FdmVudHMgb24gdGhlIHdpbmRvdyBvYmplY3Qgb2YgYWxsIGZyYW1lcwor
ICAgIC8vIHRoYXQgYXJlIGxpc3RlbmluZyB0byBvcmllbnRhdGlvbi4KKyAgICBVTlVTRURfUEFS
QU0oYWxwaGEpOworICAgIFVOVVNFRF9QQVJBTShiZXRhKTsKKyAgICBVTlVTRURfUEFSQU0oZ2Ft
bWEpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoREVW
SUNFX09SSUVOVEFUSU9OKQpJbmRleDogV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb24uaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbi5oCShyZXZpc2lvbiAw
KQorKysgV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb24uaAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDEwLCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJj
ZSBQcm9qZWN0CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIE9XTkVSIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBEZXZpY2VPcmllbnRhdGlvbl9oCisjZGVmaW5lIERl
dmljZU9yaWVudGF0aW9uX2gKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBEZXZpY2VP
cmllbnRhdGlvbkNsaWVudDsKK2NsYXNzIFBhZ2U7CisKK2NsYXNzIERldmljZU9yaWVudGF0aW9u
IHsKK3B1YmxpYzoKKyAgICBEZXZpY2VPcmllbnRhdGlvbihQYWdlKiwgRGV2aWNlT3JpZW50YXRp
b25DbGllbnQqKTsKKworICAgIC8vIEZJWE1FOiBBZGQgbWV0aG9kcyB0byBzdGFydCBhbmQgc3Rv
cCB0aGUgc2VydmljZS4KKworICAgIHZvaWQgb25EZXZpY2VPcmllbnRhdGlvbkNoYW5nZShkb3Vi
bGUgYWxwaGEsIGRvdWJsZSBiZXRhLCBkb3VibGUgZ2FtbWEpOworCitwcml2YXRlOgorICAgIFBh
Z2UqIG1fcGFnZTsKKyAgICBEZXZpY2VPcmllbnRhdGlvbkNsaWVudCogbV9jbGllbnQ7Cit9Owor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBEZXZpY2VPcmllbnRhdGlvbl9o
CkluZGV4OiBXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkNsaWVudC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uQ2xpZW50LmgJKHJldmlzaW9uIDApCisr
KyBXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkNsaWVudC5oCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDQyIEBACisvKgorICogQ29weXJpZ2h0IDIwMTAsIFRoZSBBbmRyb2lkIE9wZW4gU291
cmNlIFByb2plY3QKKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgT1dORVIgT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIERldmljZU9yaWVudGF0aW9uQ2xpZW50X2gKKyNk
ZWZpbmUgRGV2aWNlT3JpZW50YXRpb25DbGllbnRfaAorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIERldmljZU9yaWVudGF0aW9uQ2xpZW50IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIHZv
aWQgc3RhcnRVcGRhdGluZygpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgc3RvcFVwZGF0aW5nKCkg
PSAwOworCitwcm90ZWN0ZWQ6CisgICAgdmlydHVhbCB+RGV2aWNlT3JpZW50YXRpb25DbGllbnQo
KSB7fQorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRGV2aWNlT3Jp
ZW50YXRpb25DbGllbnRfaApJbmRleDogV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcGFnZS9QYWdlLmNwcAkocmV2aXNpb24gNTk5MjMpCisrKyBXZWJDb3JlL3Bh
Z2UvUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJD
b250ZXh0TWVudUNsaWVudC5oIgogI2luY2x1ZGUgIkNvbnRleHRNZW51Q29udHJvbGxlci5oIgog
I2luY2x1ZGUgIkRPTVdpbmRvdy5oIgorI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uLmgiCiAj
aW5jbHVkZSAiRHJhZ0NvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJFZGl0b3JDbGllbnQuaCIKICNp
bmNsdWRlICJFdmVudC5oIgpAQCAtMTA4LDcgKzEwOSw3IEBAIHN0YXRpYyB2b2lkIG5ldHdvcmtT
dGF0ZUNoYW5nZWQoKQogICAgICAgICBmcmFtZXNbaV0tPmRvY3VtZW50KCktPmRpc3BhdGNoV2lu
ZG93RXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWUsIGZhbHNlLCBmYWxzZSkpOwogfQogCi1Q
YWdlOjpQYWdlKENocm9tZUNsaWVudCogY2hyb21lQ2xpZW50LCBDb250ZXh0TWVudUNsaWVudCog
Y29udGV4dE1lbnVDbGllbnQsIEVkaXRvckNsaWVudCogZWRpdG9yQ2xpZW50LCBEcmFnQ2xpZW50
KiBkcmFnQ2xpZW50LCBJbnNwZWN0b3JDbGllbnQqIGluc3BlY3RvckNsaWVudCwgUGx1Z2luSGFs
dGVyQ2xpZW50KiBwbHVnaW5IYWx0ZXJDbGllbnQsIEdlb2xvY2F0aW9uQ29udHJvbGxlckNsaWVu
dCogZ2VvbG9jYXRpb25Db250cm9sbGVyQ2xpZW50KQorUGFnZTo6UGFnZShDaHJvbWVDbGllbnQq
IGNocm9tZUNsaWVudCwgQ29udGV4dE1lbnVDbGllbnQqIGNvbnRleHRNZW51Q2xpZW50LCBFZGl0
b3JDbGllbnQqIGVkaXRvckNsaWVudCwgRHJhZ0NsaWVudCogZHJhZ0NsaWVudCwgSW5zcGVjdG9y
Q2xpZW50KiBpbnNwZWN0b3JDbGllbnQsIFBsdWdpbkhhbHRlckNsaWVudCogcGx1Z2luSGFsdGVy
Q2xpZW50LCBHZW9sb2NhdGlvbkNvbnRyb2xsZXJDbGllbnQqIGdlb2xvY2F0aW9uQ29udHJvbGxl
ckNsaWVudCwgRGV2aWNlT3JpZW50YXRpb25DbGllbnQqIGRldmljZU9yaWVudGF0aW9uQ2xpZW50
KQogICAgIDogbV9jaHJvbWUobmV3IENocm9tZSh0aGlzLCBjaHJvbWVDbGllbnQpKQogICAgICwg
bV9kcmFnQ2FyZXRDb250cm9sbGVyKG5ldyBTZWxlY3Rpb25Db250cm9sbGVyKDAsIHRydWUpKQog
I2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCkBAIC0xMjQsNiArMTI1LDkgQEAgUGFnZTo6UGFnZShD
aHJvbWVDbGllbnQqIGNocm9tZUNsaWVudCwgQwogI2lmIEVOQUJMRShDTElFTlRfQkFTRURfR0VP
TE9DQVRJT04pCiAgICAgLCBtX2dlb2xvY2F0aW9uQ29udHJvbGxlcihuZXcgR2VvbG9jYXRpb25D
b250cm9sbGVyKHRoaXMsIGdlb2xvY2F0aW9uQ29udHJvbGxlckNsaWVudCkpCiAjZW5kaWYKKyNp
ZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQorICAgICwgbV9kZXZpY2VPcmllbnRhdGlvbihu
ZXcgRGV2aWNlT3JpZW50YXRpb24odGhpcywgZGV2aWNlT3JpZW50YXRpb25DbGllbnQpKQorI2Vu
ZGlmCiAgICAgLCBtX3NldHRpbmdzKG5ldyBTZXR0aW5ncyh0aGlzKSkKICAgICAsIG1fcHJvZ3Jl
c3MobmV3IFByb2dyZXNzVHJhY2tlcikKICAgICAsIG1fYmFja0ZvcndhcmRMaXN0KEJhY2tGb3J3
YXJkTGlzdDo6Y3JlYXRlKHRoaXMpKQpAQCAtMTU4LDYgKzE2Miw5IEBAIFBhZ2U6OlBhZ2UoQ2hy
b21lQ2xpZW50KiBjaHJvbWVDbGllbnQsIEMKICNpZiAhRU5BQkxFKENMSUVOVF9CQVNFRF9HRU9M
T0NBVElPTikKICAgICBVTlVTRURfUEFSQU0oZ2VvbG9jYXRpb25Db250cm9sbGVyQ2xpZW50KTsK
ICNlbmRpZgorI2lmICFFTkFCTEUoQ0xJRU5UX0RFVklDRV9PUklFTlRBVElPTikKKyAgICBVTlVT
RURfUEFSQU0oZGV2aWNlT3JpZW50YXRpb25DbGllbnQpOworI2VuZGlmCiAKICAgICBpZiAoIWFs
bFBhZ2VzKSB7CiAgICAgICAgIGFsbFBhZ2VzID0gbmV3IEhhc2hTZXQ8UGFnZSo+OwpJbmRleDog
V2ViQ29yZS9wYWdlL1BhZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvUGFnZS5oCShy
ZXZpc2lvbiA1OTkyMykKKysrIFdlYkNvcmUvcGFnZS9QYWdlLmgJKHdvcmtpbmcgY29weSkKQEAg
LTQyLDYgKzQyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIENocm9tZUNsaWVu
dDsKICAgICBjbGFzcyBDb250ZXh0TWVudUNsaWVudDsKICAgICBjbGFzcyBDb250ZXh0TWVudUNv
bnRyb2xsZXI7CisgICAgY2xhc3MgRGV2aWNlT3JpZW50YXRpb247CisgICAgY2xhc3MgRGV2aWNl
T3JpZW50YXRpb25DbGllbnQ7CiAgICAgY2xhc3MgRG9jdW1lbnQ7CiAgICAgY2xhc3MgRHJhZ0Ns
aWVudDsKICAgICBjbGFzcyBEcmFnQ29udHJvbGxlcjsKQEAgLTg1LDcgKzg3LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIHZvaWQgc2V0TmVlZHNS
ZWFwcGx5U3R5bGVzKCk7CiAKLSAgICAgICAgUGFnZShDaHJvbWVDbGllbnQqLCBDb250ZXh0TWVu
dUNsaWVudCosIEVkaXRvckNsaWVudCosIERyYWdDbGllbnQqLCBJbnNwZWN0b3JDbGllbnQqLCBQ
bHVnaW5IYWx0ZXJDbGllbnQqLCBHZW9sb2NhdGlvbkNvbnRyb2xsZXJDbGllbnQqKTsKKyAgICAg
ICAgUGFnZShDaHJvbWVDbGllbnQqLCBDb250ZXh0TWVudUNsaWVudCosIEVkaXRvckNsaWVudCos
IERyYWdDbGllbnQqLCBJbnNwZWN0b3JDbGllbnQqLCBQbHVnaW5IYWx0ZXJDbGllbnQqLCBHZW9s
b2NhdGlvbkNvbnRyb2xsZXJDbGllbnQqLCBEZXZpY2VPcmllbnRhdGlvbkNsaWVudCopOwogICAg
ICAgICB+UGFnZSgpOwogCiAgICAgICAgIFJlbmRlclRoZW1lKiB0aGVtZSgpIGNvbnN0IHsgcmV0
dXJuIG1fdGhlbWUuZ2V0KCk7IH07CkBAIC0xNDUsNiArMTQ3LDkgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogI2lmIEVOQUJMRShDTElFTlRfQkFTRURfR0VPTE9DQVRJT04pCiAgICAgICAgIEdlb2xv
Y2F0aW9uQ29udHJvbGxlciogZ2VvbG9jYXRpb25Db250cm9sbGVyKCkgY29uc3QgeyByZXR1cm4g
bV9nZW9sb2NhdGlvbkNvbnRyb2xsZXIuZ2V0KCk7IH0KICNlbmRpZgorI2lmIEVOQUJMRShERVZJ
Q0VfT1JJRU5UQVRJT04pCisgICAgICAgIERldmljZU9yaWVudGF0aW9uKiBkZXZpY2VPcmllbnRh
dGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fZGV2aWNlT3JpZW50YXRpb24uZ2V0KCk7IH0KKyNlbmRp
ZgogICAgICAgICBTZXR0aW5ncyogc2V0dGluZ3MoKSBjb25zdCB7IHJldHVybiBtX3NldHRpbmdz
LmdldCgpOyB9CiAgICAgICAgIFByb2dyZXNzVHJhY2tlciogcHJvZ3Jlc3MoKSBjb25zdCB7IHJl
dHVybiBtX3Byb2dyZXNzLmdldCgpOyB9CiAgICAgICAgIApAQCAtMjUzLDYgKzI1OCw5IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICNpZiBFTkFCTEUoQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKQog
ICAgICAgICBPd25QdHI8R2VvbG9jYXRpb25Db250cm9sbGVyPiBtX2dlb2xvY2F0aW9uQ29udHJv
bGxlcjsKICNlbmRpZgorI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisgICAgICAgIE93
blB0cjxEZXZpY2VPcmllbnRhdGlvbj4gbV9kZXZpY2VPcmllbnRhdGlvbjsKKyNlbmRpZgogICAg
ICAgICBPd25QdHI8U2V0dGluZ3M+IG1fc2V0dGluZ3M7CiAgICAgICAgIE93blB0cjxQcm9ncmVz
c1RyYWNrZXI+IG1fcHJvZ3Jlc3M7CiAgICAgICAgIApJbmRleDogV2ViQ29yZS9zdmcvZ3JhcGhp
Y3MvU1ZHSW1hZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0lt
YWdlLmNwcAkocmV2aXNpb24gNTk5MjMpCisrKyBXZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFn
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1NSw3ICsyNTUsNyBAQCBib29sIFNWR0ltYWdlOjpk
YXRhQ2hhbmdlZChib29sIGFsbERhdGFSCiAgICAgICAgIC8vIEZJWE1FOiBJZiB0aGlzIFNWRyBl
bmRzIHVwIGxvYWRpbmcgaXRzZWxmLCB3ZSBtaWdodCBsZWFrIHRoZSB3b3JsZC4KICAgICAgICAg
Ly8gVGhlIGNvbW1lbnQgc2FpZCB0aGF0IHRoZSBDYWNoZSBjb2RlIGRvZXMgbm90IGtub3cgYWJv
dXQgQ2FjaGVkSW1hZ2VzCiAgICAgICAgIC8vIGhvbGRpbmcgRnJhbWVzIGFuZCB3b24ndCBrbm93
IHRvIGJyZWFrIHRoZSBjeWNsZS4gQnV0IAotICAgICAgICBtX3BhZ2Uuc2V0KG5ldyBQYWdlKG1f
Y2hyb21lQ2xpZW50LmdldCgpLCBkdW1teUNvbnRleHRNZW51Q2xpZW50LCBkdW1teUVkaXRvckNs
aWVudCwgZHVtbXlEcmFnQ2xpZW50LCBkdW1teUluc3BlY3RvckNsaWVudCwgMCwgMCkpOworICAg
ICAgICBtX3BhZ2Uuc2V0KG5ldyBQYWdlKG1fY2hyb21lQ2xpZW50LmdldCgpLCBkdW1teUNvbnRl
eHRNZW51Q2xpZW50LCBkdW1teUVkaXRvckNsaWVudCwgZHVtbXlEcmFnQ2xpZW50LCBkdW1teUlu
c3BlY3RvckNsaWVudCwgMCwgMCwgMCkpOwogICAgICAgICBtX3BhZ2UtPnNldHRpbmdzKCktPnNl
dE1lZGlhRW5hYmxlZChmYWxzZSk7CiAgICAgICAgIG1fcGFnZS0+c2V0dGluZ3MoKS0+c2V0SmF2
YVNjcmlwdEVuYWJsZWQoZmFsc2UpOwogICAgICAgICBtX3BhZ2UtPnNldHRpbmdzKCktPnNldFBs
dWdpbnNFbmFibGVkKGZhbHNlKTsKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkocmV2aXNpb24gNTk5MjkpCisr
KyBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTAtMDUtMjEgIFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29nbGUuY29tPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBEZXZpY2VP
cmllbnRhdGlvbiBhbmQgRGV2aWNlT3JpZW50YXRpb25DbGllbnQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM5NDc5CisKKyAgICAgICAgKiBzcmMvV2Vi
Vmlld0ltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6V2ViVmlld0ltcGwp
OgorCiAyMDEwLTA1LTIwICBWaWV0LVRydW5nIEx1dSAgPHZpZXR0cnVuZ2x1dUBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gRmlzaGVyLgpJbmRleDogV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJWaWV3SW1wbC5jcHAJKHJldmlzaW9uIDU5OTIzKQorKysgV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJWaWV3SW1wbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2MCw2ICsyNjAsNyBAQCBX
ZWJWaWV3SW1wbDo6V2ViVmlld0ltcGwoV2ViVmlld0NsaWVudCogCiAgICAgICAgICAgICAgICAg
ICAgICAgICAmbV9kcmFnQ2xpZW50SW1wbCwKICAgICAgICAgICAgICAgICAgICAgICAgICZtX2lu
c3BlY3RvckNsaWVudEltcGwsCiAgICAgICAgICAgICAgICAgICAgICAgICAwLAorICAgICAgICAg
ICAgICAgICAgICAgICAgMCwKICAgICAgICAgICAgICAgICAgICAgICAgIDApKTsKIAogICAgIG1f
cGFnZS0+YmFja0ZvcndhcmRMaXN0KCktPnNldENsaWVudCgmbV9iYWNrRm9yd2FyZExpc3RDbGll
bnRJbXBsKTsKSW5kZXg6IFdlYktpdC9ndGsvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktp
dC9ndGsvQ2hhbmdlTG9nCShyZXZpc2lvbiA1OTkyOSkKKysrIFdlYktpdC9ndGsvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAtMDUtMjEgIFN0ZXZlIEJsb2Nr
ICA8c3RldmVibG9ja0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZCBEZXZpY2VPcmllbnRhdGlvbiBhbmQgRGV2aWNlT3JpZW50
YXRpb25DbGllbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTM5NDc5CisKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2Vidmlldy5jcHA6CisgICAgICAg
ICh3ZWJraXRfd2ViX3ZpZXdfaW5pdCk6CisKIDIwMTAtMDUtMTkgIFNoZXJpZmYgQm90ICA8d2Vi
a2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcg
b3V0IHI1OTI0MC4KSW5kZXg6IFdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCShyZXZpc2lv
biA1OTkyMykKKysrIFdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yNzk4LDcgKzI3OTgsNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3ZpZXdf
aW5pdChXZWJLaXRXCiAgICAgcHJpdi0+aW1Db250ZXh0ID0gZ3RrX2ltX211bHRpY29udGV4dF9u
ZXcoKTsKIAogICAgIFdlYktpdDo6SW5zcGVjdG9yQ2xpZW50KiBpbnNwZWN0b3JDbGllbnQgPSBu
ZXcgV2ViS2l0OjpJbnNwZWN0b3JDbGllbnQod2ViVmlldyk7Ci0gICAgcHJpdi0+Y29yZVBhZ2Ug
PSBuZXcgUGFnZShuZXcgV2ViS2l0OjpDaHJvbWVDbGllbnQod2ViVmlldyksIG5ldyBXZWJLaXQ6
OkNvbnRleHRNZW51Q2xpZW50KHdlYlZpZXcpLCBuZXcgV2ViS2l0OjpFZGl0b3JDbGllbnQod2Vi
VmlldyksIG5ldyBXZWJLaXQ6OkRyYWdDbGllbnQod2ViVmlldyksIGluc3BlY3RvckNsaWVudCwg
MCwgMCk7CisgICAgcHJpdi0+Y29yZVBhZ2UgPSBuZXcgUGFnZShuZXcgV2ViS2l0OjpDaHJvbWVD
bGllbnQod2ViVmlldyksIG5ldyBXZWJLaXQ6OkNvbnRleHRNZW51Q2xpZW50KHdlYlZpZXcpLCBu
ZXcgV2ViS2l0OjpFZGl0b3JDbGllbnQod2ViVmlldyksIG5ldyBXZWJLaXQ6OkRyYWdDbGllbnQo
d2ViVmlldyksIGluc3BlY3RvckNsaWVudCwgMCwgMCwgMCk7CiAKICAgICAvLyBXZSBhbHNvIGFk
ZCBhIHNpbXBsZSB3cmFwcGVyIGNsYXNzIHRvIHByb3ZpZGUgdGhlIHB1YmxpYwogICAgIC8vIGlu
dGVyZmFjZSBmb3IgdGhlIFdlYiBJbnNwZWN0b3IuCkluZGV4OiBXZWJLaXQvbWFjL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJLaXQvbWFjL0NoYW5nZUxvZwkocmV2aXNpb24gNTk5MjkpCisr
KyBXZWJLaXQvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisy
MDEwLTA1LTIxICBTdGV2ZSBCbG9jayAgPHN0ZXZlYmxvY2tAZ29vZ2xlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgRGV2aWNlT3JpZW50
YXRpb24gYW5kIERldmljZU9yaWVudGF0aW9uQ2xpZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTQ3OQorCisgICAgICAgICogV2ViVmlldy9XZWJW
aWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFt
ZU5hbWU6Z3JvdXBOYW1lOnVzZXNEb2N1bWVudFZpZXdzOl0pOgorCiAyMDEwLTA1LTIwICBNaWtl
IFRob2xlICA8bXRob2xlQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXZlIEh5
YXR0LgpJbmRleDogV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHJldmlzaW9uIDU5OTIzKQorKysgV2ViS2l0
L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTY2Miw3ICs2NjIsOCBA
QCAtICh2b2lkKV9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5hCiAjZWxzZQogICAgIFdl
Ykdlb2xvY2F0aW9uQ29udHJvbGxlckNsaWVudCogZ2VvbG9jYXRpb25Db250cm9sbGVyQ2xpZW50
ID0gMDsKICNlbmRpZgotICAgIF9wcml2YXRlLT5wYWdlID0gbmV3IFBhZ2UobmV3IFdlYkNocm9t
ZUNsaWVudChzZWxmKSwgbmV3IFdlYkNvbnRleHRNZW51Q2xpZW50KHNlbGYpLCBuZXcgV2ViRWRp
dG9yQ2xpZW50KHNlbGYpLCBuZXcgV2ViRHJhZ0NsaWVudChzZWxmKSwgbmV3IFdlYkluc3BlY3Rv
ckNsaWVudChzZWxmKSwgbmV3IFdlYlBsdWdpbkhhbHRlckNsaWVudChzZWxmKSwgZ2VvbG9jYXRp
b25Db250cm9sbGVyQ2xpZW50KTsKKyAgICBEZXZpY2VPcmllbnRhdGlvbkNsaWVudCogZGV2aWNl
T3JpZW50YXRpb25DbGllbnQgPSAwOworICAgIF9wcml2YXRlLT5wYWdlID0gbmV3IFBhZ2UobmV3
IFdlYkNocm9tZUNsaWVudChzZWxmKSwgbmV3IFdlYkNvbnRleHRNZW51Q2xpZW50KHNlbGYpLCBu
ZXcgV2ViRWRpdG9yQ2xpZW50KHNlbGYpLCBuZXcgV2ViRHJhZ0NsaWVudChzZWxmKSwgbmV3IFdl
Ykluc3BlY3RvckNsaWVudChzZWxmKSwgbmV3IFdlYlBsdWdpbkhhbHRlckNsaWVudChzZWxmKSwg
Z2VvbG9jYXRpb25Db250cm9sbGVyQ2xpZW50LCBkZXZpY2VPcmllbnRhdGlvbkNsaWVudCk7CiAK
ICAgICBfcHJpdmF0ZS0+cGFnZS0+c2V0Q2FuU3RhcnRNZWRpYShbc2VsZiB3aW5kb3ddKTsKICAg
ICBfcHJpdmF0ZS0+cGFnZS0+c2V0dGluZ3MoKS0+c2V0TG9jYWxTdG9yYWdlRGF0YWJhc2VQYXRo
KFtbc2VsZiBwcmVmZXJlbmNlc10gX2xvY2FsU3RvcmFnZURhdGFiYXNlUGF0aF0pOwpJbmRleDog
V2ViS2l0L3F0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvcXQvQ2hhbmdlTG9nCShy
ZXZpc2lvbiA1OTkyOSkKKysrIFdlYktpdC9xdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwxMyBAQAorMjAxMC0wNS0yMSAgU3RldmUgQmxvY2sgIDxzdGV2ZWJsb2NrQGdvb2ds
ZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIERldmljZU9yaWVudGF0aW9uIGFuZCBEZXZpY2VPcmllbnRhdGlvbkNsaWVudAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzk0NzkKKworICAgICAg
ICAqIEFwaS9xd2VicGFnZS5jcHA6CisgICAgICAgIChRV2ViUGFnZVByaXZhdGU6OlFXZWJQYWdl
UHJpdmF0ZSk6CisKIDIwMTAtMDUtMjEgIFNpbW9uIEhhdXNtYW5uICA8c2ltb24uaGF1c21hbm5A
bm9raWEuY29tPgogCiAgICAgICAgIFN5bWJpYW4gYnVpbGQgZml4LgpJbmRleDogV2ViS2l0L3F0
L0FwaS9xd2VicGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5j
cHAJKHJldmlzaW9uIDU5OTIzKQorKysgV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTI3Miw3ICsyNzIsNyBAQCBRV2ViUGFnZVByaXZhdGU6OlFXZWJQYWdlUHJp
dmF0ZShRV2ViUGFnCiAgICAgY29udGV4dE1lbnVDbGllbnQgPSBuZXcgQ29udGV4dE1lbnVDbGll
bnRRdCgpOwogICAgIGVkaXRvckNsaWVudCA9IG5ldyBFZGl0b3JDbGllbnRRdChxKTsKICAgICBw
YWdlID0gbmV3IFBhZ2UoY2hyb21lQ2xpZW50LCBjb250ZXh0TWVudUNsaWVudCwgZWRpdG9yQ2xp
ZW50LAotICAgICAgICAgICAgICAgICAgICBuZXcgRHJhZ0NsaWVudFF0KHEpLCBuZXcgSW5zcGVj
dG9yQ2xpZW50UXQocSksIDAsIDApOworICAgICAgICAgICAgICAgICAgICBuZXcgRHJhZ0NsaWVu
dFF0KHEpLCBuZXcgSW5zcGVjdG9yQ2xpZW50UXQocSksIDAsIDAsIDApOwogCiAgICAgc2V0dGlu
Z3MgPSBuZXcgUVdlYlNldHRpbmdzKHBhZ2UtPnNldHRpbmdzKCkpOwogCkluZGV4OiBXZWJLaXQv
d2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvd2luL0NoYW5nZUxvZwkocmV2aXNp
b24gNTk5MjkpCisrKyBXZWJLaXQvd2luL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDEzIEBACisyMDEwLTA1LTIxICBTdGV2ZSBCbG9jayAgPHN0ZXZlYmxvY2tAZ29vZ2xlLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQg
RGV2aWNlT3JpZW50YXRpb24gYW5kIERldmljZU9yaWVudGF0aW9uQ2xpZW50CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTQ3OQorCisgICAgICAgICog
V2ViVmlldy5jcHA6CisgICAgICAgIChXZWJWaWV3Ojppbml0V2l0aEZyYW1lKToKKwogMjAxMC0w
NS0yMCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBC
dWlsZCBmaXgsIG5vIHJldmlldy4KSW5kZXg6IFdlYktpdC93aW4vV2ViVmlldy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAkocmV2aXNpb24gNTk5MjMpCisrKyBXZWJL
aXQvd2luL1dlYlZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNTYxLDEyICsyNTYxLDEzIEBA
IEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViVmlldzo6aW5pdFcKICNlbHNlCiAgICAgV2Vi
R2VvbG9jYXRpb25Db250cm9sbGVyQ2xpZW50KiBnZW9sb2NhdGlvbkNvbnRyb2xsZXJDbGllbnQg
PSAwOwogI2VuZGlmCisgICAgRGV2aWNlT3JpZW50YXRpb25DbGllbnQqIGRldmljZU9yaWVudGF0
aW9uQ2xpZW50ID0gMDsKIAogICAgIEJPT0wgdXNlSGlnaFJlc29sdXRpb25UaW1lcjsKICAgICBp
ZiAoU1VDQ0VFREVEKG1fcHJlZmVyZW5jZXMtPnNob3VsZFVzZUhpZ2hSZXNvbHV0aW9uVGltZXJz
KCZ1c2VIaWdoUmVzb2x1dGlvblRpbWVyKSkpCiAgICAgICAgIFNldHRpbmdzOjpzZXRTaG91bGRV
c2VIaWdoUmVzb2x1dGlvblRpbWVycyh1c2VIaWdoUmVzb2x1dGlvblRpbWVyKTsKIAotICAgIG1f
cGFnZSA9IG5ldyBQYWdlKG5ldyBXZWJDaHJvbWVDbGllbnQodGhpcyksIG5ldyBXZWJDb250ZXh0
TWVudUNsaWVudCh0aGlzKSwgbmV3IFdlYkVkaXRvckNsaWVudCh0aGlzKSwgbmV3IFdlYkRyYWdD
bGllbnQodGhpcyksIG5ldyBXZWJJbnNwZWN0b3JDbGllbnQodGhpcyksIG5ldyBXZWJQbHVnaW5I
YWx0ZXJDbGllbnQodGhpcyksIGdlb2xvY2F0aW9uQ29udHJvbGxlckNsaWVudCk7CisgICAgbV9w
YWdlID0gbmV3IFBhZ2UobmV3IFdlYkNocm9tZUNsaWVudCh0aGlzKSwgbmV3IFdlYkNvbnRleHRN
ZW51Q2xpZW50KHRoaXMpLCBuZXcgV2ViRWRpdG9yQ2xpZW50KHRoaXMpLCBuZXcgV2ViRHJhZ0Ns
aWVudCh0aGlzKSwgbmV3IFdlYkluc3BlY3RvckNsaWVudCh0aGlzKSwgbmV3IFdlYlBsdWdpbkhh
bHRlckNsaWVudCh0aGlzKSwgZ2VvbG9jYXRpb25Db250cm9sbGVyQ2xpZW50LCBkZXZpY2VPcmll
bnRhdGlvbkNsaWVudCk7CiAKICAgICBCU1RSIGxvY2FsU3RvcmFnZVBhdGg7CiAgICAgaWYgKFNV
Q0NFRURFRChtX3ByZWZlcmVuY2VzLT5sb2NhbFN0b3JhZ2VEYXRhYmFzZVBhdGgoJmxvY2FsU3Rv
cmFnZVBhdGgpKSkgewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56708</attachid>
            <date>2010-05-21 07:50:27 -0700</date>
            <delta_ts>2010-05-21 09:07:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-39479-20100521155025.patch</filename>
            <type>text/plain</type>
            <size>31600</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1OTkyOSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDEgQEAKKzIwMTAtMDUtMjEgIFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCBEZXZpY2VPcmllbnRhdGlvbiBhbmQgRGV2aWNlT3JpZW50YXRpb25DbGllbnQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM5NDc5CisKKyAgICAg
ICAgVGhlIHBhZ2Ugb3ducyBhIERldmljZU9yaWVudGF0aW9uIG9iamVjdCwgd2hpY2ggaGFzIGEg
cG9pbnRlciB0byBhCisgICAgICAgIERldmljZU9yaWVudGF0aW9uQ2xpZW50IG9iamVjdCBwcm92
aWRlZCBieSB0aGUgZW1iZWRkZXIuIFRoZQorICAgICAgICBEZXZpY2VPcmllbnRhdGlvbiBvYmpl
Y3QgZm9yd2FyZHMgcmVxdWVzdHMgdG8gc3RhcnQgbGlzdGVuaW5nIHRvCisgICAgICAgIG9yaWVu
dGF0aW9uIHRvIHRoZSBjbGllbnQsIGFuZCB3aGVuIHVwZGF0ZXMgYXJlIGF2YWlsYWJsZSwgZmly
ZXMgYQorICAgICAgICBEZXZpY2VPcmllbnRhdGlvbkV2ZW50IG9uIHRoZSB3aW5kb3cgb2JqZWN0
LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBhcmUgcG9zc2libGUgYXQgdGhpcyB0aW1lIGFzIHRo
ZSBpbXBsZW1lbnRhdGlvbiBpcworICAgICAgICBpbmNvbXBsZXRlLiBGdXR1cmUgcGF0Y2hlcyB3
aWxsIGFkZCBMYXlvdXRUZXN0Q29udHJvbGxlciBtZXRob2RzCisgICAgICAgIHRvIHByb3ZpZGUg
bW9jayBvcmllbnRhdGlvbiBldmVudHMgdG8gdGVzdCB0aGlzLgorCisgICAgICAgICogQW5kcm9p
ZC5tazoKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5h
bToKKyAgICAgICAgKiBXZWJDb3JlLmJhc2UuZXhwOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToK
KyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3Jl
LnZjcHJvagorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAg
ICAgICAgKiBkb20vRGV2aWNlT3JpZW50YXRpb24uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OkRldmljZU9yaWVudGF0aW9uOjpEZXZpY2VPcmllbnRhdGlvbik6CisgICAgICAgIChXZWJD
b3JlOjpEZXZpY2VPcmllbnRhdGlvbjo6b25EZXZpY2VPcmllbnRhdGlvbkNoYW5nZSk6CisgICAg
ICAgICogZG9tL0RldmljZU9yaWVudGF0aW9uLmg6IEFkZGVkLgorICAgICAgICAqIGRvbS9EZXZp
Y2VPcmllbnRhdGlvbkNsaWVudC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU9y
aWVudGF0aW9uQ2xpZW50Ojp+RGV2aWNlT3JpZW50YXRpb25DbGllbnQpOgorICAgICAgICAqIHBh
Z2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpQYWdlKToKKyAgICAgICAgKiBw
YWdlL1BhZ2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OmRldmljZU9yaWVudGF0aW9uKToK
KyAgICAgICAgKiBzdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHSW1hZ2U6OmRhdGFDaGFuZ2VkKToKKwogMjAxMC0wNS0xNyAgUGhpbGlwcGUgTm9ybWFuZCAg
PHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29u
LgpJbmRleDogV2ViQ29yZS9BbmRyb2lkLm1rCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQW5kcm9p
ZC5tawkocmV2aXNpb24gNTk5MjMpCisrKyBXZWJDb3JlL0FuZHJvaWQubWsJKHdvcmtpbmcgY29w
eSkKQEAgLTE0NSw2ICsxNDUsNyBAQCBMT0NBTF9TUkNfRklMRVMgOj0gJChMT0NBTF9TUkNfRklM
RVMpIFwKIAlkb20vTm90YXRpb24uY3BwIFwKIAlkb20vT3B0aW9uRWxlbWVudC5jcHAgXAogCWRv
bS9PcHRpb25Hcm91cEVsZW1lbnQuY3BwIFwKKwlkb20vRGV2aWNlT3JpZW50YXRpb24uY3BwIFwK
IAlkb20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAgXAogCWRvbS9PdmVyZmxvd0V2ZW50LmNw
cCBcCiAJZG9tL1BhZ2VUcmFuc2l0aW9uRXZlbnQuY3BwIFwKSW5kZXg6IFdlYkNvcmUvQ01ha2VM
aXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24g
NTk5MjMpCisrKyBXZWJDb3JlL0NNYWtlTGlzdHMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xMzks
NiArMTM5LDcgQEAgU0VUKFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgZG9tL0N1c3RvbUV2ZW50Lmlk
bAogICAgIGRvbS9ET01Db3JlRXhjZXB0aW9uLmlkbAogICAgIGRvbS9ET01JbXBsZW1lbnRhdGlv
bi5pZGwKKyAgICBkb20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5pZGwKICAgICBkb20vRG9jdW1l
bnQuaWRsCiAgICAgZG9tL0RvY3VtZW50RnJhZ21lbnQuaWRsCiAgICAgZG9tL0RvY3VtZW50VHlw
ZS5pZGwKQEAgLTc0Nyw2ICs3NDgsOCBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgZG9tL0Nv
bnRhaW5lck5vZGUuY3BwCiAgICAgZG9tL0N1c3RvbUV2ZW50LmNwcAogICAgIGRvbS9ET01JbXBs
ZW1lbnRhdGlvbi5jcHAKKyAgICBkb20vRGV2aWNlT3JpZW50YXRpb24uY3BwCisgICAgZG9tL0Rl
dmljZU9yaWVudGF0aW9uRXZlbnQuY3BwCiAgICAgZG9tL0RvY3VtZW50LmNwcAogICAgIGRvbS9E
b2N1bWVudEZyYWdtZW50LmNwcAogICAgIGRvbS9Eb2N1bWVudFR5cGUuY3BwCkluZGV4OiBXZWJD
b3JlL0dOVW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvR05VbWFrZWZpbGUuYW0J
KHJldmlzaW9uIDU5OTIzKQorKysgV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkod29ya2luZyBjb3B5
KQpAQCAtNzY5LDYgKzc2OSw5IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9kb20v
RE9NQ29yZUV4Y2VwdGlvbi5oIFwKIAlXZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRhdGlvbi5jcHAg
XAogCVdlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0aW9uLmggXAorCVdlYkNvcmUvZG9tL0Rldmlj
ZU9yaWVudGF0aW9uLmNwcCBcCisJV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb24uaCBcCisJ
V2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25DbGllbnQuaCBcCiAJV2ViQ29yZS9kb20vRGV2
aWNlT3JpZW50YXRpb25FdmVudC5jcHAgXAogCVdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9u
RXZlbnQuaCBcCiAJV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIFwKSW5kZXg6IFdlYkNvcmUvV2Vi
Q29yZS5iYXNlLmV4cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUuYmFzZS5leHAJKHJl
dmlzaW9uIDU5OTIzKQorKysgV2ViQ29yZS9XZWJDb3JlLmJhc2UuZXhwCSh3b3JraW5nIGNvcHkp
CkBAIC01MjQsNyArNTI0LDcgQEAgX19aTjdXZWJDb3JlNFBhZ2U2Z29CYWNrRXYKIF9fWk43V2Vi
Q29yZTRQYWdlOGdvVG9JdGVtRVBOU18xMUhpc3RvcnlJdGVtRU5TXzEzRnJhbWVMb2FkVHlwZUUK
IF9fWk43V2ViQ29yZTRQYWdlOWdvRm9yd2FyZEV2CiBfX1pON1dlYkNvcmU0UGFnZTlpbml0R3Jv
dXBFdgotX19aTjdXZWJDb3JlNFBhZ2VDMUVQTlNfMTJDaHJvbWVDbGllbnRFUE5TXzE3Q29udGV4
dE1lbnVDbGllbnRFUE5TXzEyRWRpdG9yQ2xpZW50RVBOU18xMERyYWdDbGllbnRFUE5TXzE1SW5z
cGVjdG9yQ2xpZW50RVBOU18xOFBsdWdpbkhhbHRlckNsaWVudEVQTlNfMjdHZW9sb2NhdGlvbkNv
bnRyb2xsZXJDbGllbnRFCitfX1pON1dlYkNvcmU0UGFnZUMxRVBOU18xMkNocm9tZUNsaWVudEVQ
TlNfMTdDb250ZXh0TWVudUNsaWVudEVQTlNfMTJFZGl0b3JDbGllbnRFUE5TXzEwRHJhZ0NsaWVu
dEVQTlNfMTVJbnNwZWN0b3JDbGllbnRFUE5TXzE4UGx1Z2luSGFsdGVyQ2xpZW50RVBOU18yN0dl
b2xvY2F0aW9uQ29udHJvbGxlckNsaWVudEVQTlNfMjNEZXZpY2VPcmllbnRhdGlvbkNsaWVudEUK
IF9fWk43V2ViQ29yZTRQYWdlRDFFdgogX19aTjdXZWJDb3JlNGNvcmVFUDIwTlNVUkxQcm90ZWN0
aW9uU3BhY2UKIF9fWk43V2ViQ29yZTR0b0pTRVBOM0pTQzlFeGVjU3RhdGVFUE5TXzE3SlNET01H
bG9iYWxPYmplY3RFUE5TXzE5Q1NTU3R5bGVEZWNsYXJhdGlvbkUKSW5kZXg6IFdlYkNvcmUvV2Vi
Q29yZS5neXBpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5neXBpCShyZXZpc2lvbiA1
OTkyMykKKysrIFdlYkNvcmUvV2ViQ29yZS5neXBpCSh3b3JraW5nIGNvcHkpCkBAIC0xMTAzLDYg
KzExMDMsOSBAQAogICAgICAgICAgICAgJ2RvbS9ET01Db3JlRXhjZXB0aW9uLmgnLAogICAgICAg
ICAgICAgJ2RvbS9ET01JbXBsZW1lbnRhdGlvbi5jcHAnLAogICAgICAgICAgICAgJ2RvbS9ET01J
bXBsZW1lbnRhdGlvbi5oJywKKyAgICAgICAgICAgICdkb20vRGV2aWNlT3JpZW50YXRpb24uY3Bw
JywKKyAgICAgICAgICAgICdkb20vRGV2aWNlT3JpZW50YXRpb24uaCcsCisgICAgICAgICAgICAn
ZG9tL0RldmljZU9yaWVudGF0aW9uQ2xpZW50LmgnLAogICAgICAgICAgICAgJ2RvbS9EZXZpY2VP
cmllbnRhdGlvbkV2ZW50LmNwcCcsCiAgICAgICAgICAgICAnZG9tL0RldmljZU9yaWVudGF0aW9u
RXZlbnQuaCcsCiAgICAgICAgICAgICAnZG9tL0RvY3VtZW50LmNwcCcsCkluZGV4OiBXZWJDb3Jl
L1dlYkNvcmUucHJvCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5wcm8JKHJldmlzaW9u
IDU5OTIzKQorKysgV2ViQ29yZS9XZWJDb3JlLnBybwkod29ya2luZyBjb3B5KQpAQCAtNDYzLDYg
KzQ2Myw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGRvbS9Db250YWluZXJOb2RlLmNwcCBcCiAgICAg
ZG9tL0NTU01hcHBlZEF0dHJpYnV0ZURlY2xhcmF0aW9uLmNwcCBcCiAgICAgZG9tL0N1c3RvbUV2
ZW50LmNwcCBcCisgICAgZG9tL0RldmljZU9yaWVudGF0aW9uLmNwcCBcCiAgICAgZG9tL0Rldmlj
ZU9yaWVudGF0aW9uRXZlbnQuY3BwIFwKICAgICBkb20vRG9jdW1lbnQuY3BwIFwKICAgICBkb20v
RG9jdW1lbnRGcmFnbWVudC5jcHAgXApAQCAtMTE4OSw2ICsxMTkwLDggQEAgSEVBREVSUyArPSBc
CiAgICAgZG9tL0NTU01hcHBlZEF0dHJpYnV0ZURlY2xhcmF0aW9uLmggXAogICAgIGRvbS9DdXN0
b21FdmVudC5oIFwKICAgICBkb20vZGVmYXVsdC9QbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbC5o
IFwKKyAgICBkb20vRGV2aWNlT3JpZW50YXRpb24uaCBcCisgICAgZG9tL0RldmljZU9yaWVudGF0
aW9uQ2xpZW50LmggXAogICAgIGRvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmggXAogICAgIGRv
bS9Eb2N1bWVudEZyYWdtZW50LmggXAogICAgIGRvbS9Eb2N1bWVudC5oIFwKSW5kZXg6IFdlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkocmV2aXNpb24gNTk5MjMpCisrKyBXZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0yNzM3LDYg
KzI3MzcsNjIgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZl
UGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialxXZWJDb3JlXERlcml2ZWRTb3VyY2VzXEpTRGV2
aWNlT3JpZW50YXRpb25FdmVudC5jcHAiDQorCQkJCT4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9u
DQorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
Ig0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0K
KwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0
aW9uDQorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnX0ludGVybmFsfFdpbjMyIg0KKwkJCQkJRXhjbHVk
ZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvfFdpbjMyIg0KKwkJ
CQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm98
V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxU
b29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVi
dWdfQWxsfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQor
CQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxh
dGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcV2ViQ29yZVxEZXJpdmVkU291cmNlc1xK
U0RldmljZU9yaWVudGF0aW9uRXZlbnQuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8Rmls
ZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFt
ZSlcRGVyaXZlZFNvdXJjZXNcSlNEb2N1bWVudC5jcHAiDQogCQkJCT4NCiAJCQkJPEZpbGVDb25m
aWd1cmF0aW9uDQpAQCAtMjk0MTcsNiArMjk0NzMsMjYgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0K
IAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXERldmljZU9yaWVudGF0aW9uLmNw
cCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XGRvbVxEZXZpY2VPcmllbnRhdGlvbi5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxl
DQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXERldmljZU9yaWVudGF0aW9uQ2xpZW50LmgiDQor
CQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21c
RGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZp
bGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cRGV2aWNlT3JpZW50YXRpb25FdmVudC5oIg0K
KwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9t
XERvY3VtZW50LmNwcCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCkluZGV4OiBXZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gNTk5MjMpCisrKyBXZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTE3
MSw2ICsxMTcxLDkgQEAKIAkJNTlBODVFQTQxMTlENjhFQzAwREVGMUVGIC8qIERldmljZU9yaWVu
dGF0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDU5QTg1RUEzMTE5RDY4RUMwMERFRjFFRiAvKiBEZXZpY2VPcmllbnRhdGlvbkV2ZW50Lmgg
Ki87IH07CiAJCTU5QTg2MDA2MTE5REFGN0YwMERFRjFFRiAvKiBKU0RldmljZU9yaWVudGF0aW9u
RXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTlBODYwMDUxMTlEQUY3RjAwREVGMUVGIC8qIEpTRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAg
Ki87IH07CiAJCTU5QTg2MDA4MTE5REFGQTEwMERFRjFFRiAvKiBKU0RldmljZU9yaWVudGF0aW9u
RXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5
QTg2MDA3MTE5REFGQTEwMERFRjFFRiAvKiBKU0RldmljZU9yaWVudGF0aW9uRXZlbnQuaCAqLzsg
fTsKKwkJNTlBOEYxRDQxMUE2OTUwODAwMUFDMzRBIC8qIERldmljZU9yaWVudGF0aW9uLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5QThGMUQzMTFB
Njk1MDgwMDFBQzM0QSAvKiBEZXZpY2VPcmllbnRhdGlvbi5jcHAgKi87IH07CisJCTU5QThGMUQ2
MTFBNjk1MTMwMDFBQzM0QSAvKiBEZXZpY2VPcmllbnRhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTlBOEYxRDUxMUE2OTUxMzAwMUFDMzRBIC8q
IERldmljZU9yaWVudGF0aW9uLmggKi87IH07CisJCTU5QThGMUQ4MTFBNjk1MjAwMDFBQzM0QSAv
KiBEZXZpY2VPcmllbnRhdGlvbkNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTlBOEYxRDcxMUE2OTUyMDAwMUFDMzRBIC8qIERldmljZU9yaWVu
dGF0aW9uQ2xpZW50LmggKi87IH07CiAJCTU5QTlFN0IwMTEwNDc1ODgwMERGQjRDMSAvKiBKYXZh
SW5zdGFuY2VKU0MuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNTlBOUU3QUYxMTA0NzU4ODAwREZCNEMxIC8qIEphdmFJbnN0YW5jZUpTQy5jcHAgKi87
IH07CiAJCTU5QTlFN0IyMTEwNDc1OTQwMERGQjRDMSAvKiBKYXZhSW5zdGFuY2VKU0MuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5QTlFN0IxMTEwNDc1
OTQwMERGQjRDMSAvKiBKYXZhSW5zdGFuY2VKU0MuaCAqLzsgfTsKIAkJNTlCNTk3NzMxMTA4NjU2
QjAwNzE1OUU4IC8qIEJyaWRnZUpTQy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1OUI1OTc3MjExMDg2NTZCMDA3MTU5RTggLyogQnJpZGdlSlNDLmNw
cCAqLzsgfTsKQEAgLTY3NzksNiArNjc4Miw5IEBACiAJCTU5QTg1RUFBMTE5RDdCNkUwMERFRjFF
RiAvKiBEZXZpY2VPcmllbnRhdGlvbkV2ZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBE
ZXZpY2VPcmllbnRhdGlvbkV2ZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NTlBODYwMDUxMTlEQUY3RjAwREVGMUVGIC8qIEpTRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RldmljZU9yaWVudGF0aW9u
RXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1OUE4NjAwNzExOURBRkEx
MDBERUYxRUYgLyogSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEpTRGV2aWNlT3JpZW50YXRpb25FdmVudC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk1OUE4RjFEMzExQTY5NTA4MDAxQUMzNEEgLyogRGV2aWNlT3JpZW50
YXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGV2aWNlT3Jp
ZW50YXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1OUE4RjFENTExQTY5
NTEzMDAxQUMzNEEgLyogRGV2aWNlT3JpZW50YXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gRGV2aWNlT3JpZW50YXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNTlBOEYxRDcxMUE2OTUyMDAwMUFDMzRBIC8qIERldmljZU9yaWVudGF0aW9uQ2xpZW50
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERldmljZU9yaWVudGF0aW9uQ2xp
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU5QTlFN0FGMTEwNDc1ODgwMERG
QjRDMSAvKiBKYXZhSW5zdGFuY2VKU0MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gSmF2YUluc3RhbmNlSlNDLmNwcDsgcGF0aCA9IGpzYy9KYXZhSW5zdGFuY2VKU0Mu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1OUE5RTdCMTExMDQ3NTk0MDBERkI0
QzEgLyogSmF2YUluc3RhbmNlSlNDLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IEphdmFJbnN0YW5jZUpTQy5oOyBwYXRoID0ganNjL0phdmFJbnN0YW5jZUpTQy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk1OUI1OTc3MjExMDg2NTZCMDA3MTU5RTggLyogQnJpZGdl
SlNDLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEJyaWRnZUpTQy5j
cHA7IHBhdGggPSBicmlkZ2UvanNjL0JyaWRnZUpTQy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0xNjQyMSw2ICsxNjQyNyw5IEBACiAJCUY1MjNEMzI0MDJERTQ0NzgwMTg2MzVD
QSAvKiBkb20gKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJ
CTU5QThGMUQ3MTFBNjk1MjAwMDFBQzM0QSAvKiBEZXZpY2VPcmllbnRhdGlvbkNsaWVudC5oICov
LAorCQkJCTU5QThGMUQ1MTFBNjk1MTMwMDFBQzM0QSAvKiBEZXZpY2VPcmllbnRhdGlvbi5oICov
LAorCQkJCTU5QThGMUQzMTFBNjk1MDgwMDFBQzM0QSAvKiBEZXZpY2VPcmllbnRhdGlvbi5jcHAg
Ki8sCiAJCQkJNTlBODVFQUExMTlEN0I2RTAwREVGMUVGIC8qIERldmljZU9yaWVudGF0aW9uRXZl
bnQuaWRsICovLAogCQkJCTU5QTg1RUEzMTE5RDY4RUMwMERFRjFFRiAvKiBEZXZpY2VPcmllbnRh
dGlvbkV2ZW50LmggKi8sCiAJCQkJNTlBODVFQTExMTlENjhEOTAwREVGMUVGIC8qIERldmljZU9y
aWVudGF0aW9uRXZlbnQuY3BwICovLApAQCAtMTkyODYsNiArMTkyOTUsOCBAQAogCQkJCTU5QTg1
RUE0MTE5RDY4RUMwMERFRjFFRiAvKiBEZXZpY2VPcmllbnRhdGlvbkV2ZW50LmggaW4gSGVhZGVy
cyAqLywKIAkJCQk1OUE4NjAwODExOURBRkExMDBERUYxRUYgLyogSlNEZXZpY2VPcmllbnRhdGlv
bkV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTNGQUEwOTExQTM2QkYxMDA1NzY2MjQgLyog
Q3Jvc3NUaHJlYWRUYXNrLmggaW4gSGVhZGVycyAqLywKKwkJCQk1OUE4RjFENjExQTY5NTEzMDAx
QUMzNEEgLyogRGV2aWNlT3JpZW50YXRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCTU5QThGMUQ4
MTFBNjk1MjAwMDFBQzM0QSAvKiBEZXZpY2VPcmllbnRhdGlvbkNsaWVudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJ
CX07CkBAIC0yMTU3MSw2ICsyMTU4Miw3IEBACiAJCQkJNTEzMjdENjExMUEzM0EyQjAwNEY5RDY1
IC8qIFNpbmtEb2N1bWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1OUE4NUVBMjExOUQ2OEQ5
MDBERUYxRUYgLyogRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk1OUE4NjAwNjExOURBRjdGMDBERUYxRUYgLyogSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50LmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTU5QThGMUQ0MTFBNjk1MDgwMDFBQzM0QSAvKiBEZXZpY2VP
cmllbnRhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95
bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKSW5kZXg6IFdlYkNvcmUvZG9tL0RldmljZU9y
aWVudGF0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlv
bi5jcHAJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbi5jcHAJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxMCwgVGhl
IEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUgorICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
CisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbi5oIgorCisjaWYgRU5BQkxFKERFVklDRV9PUklF
TlRBVElPTikKKworI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uQ2xpZW50LmgiCisjaW5jbHVk
ZSAiRGV2aWNlT3JpZW50YXRpb25FdmVudC5oIgorI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5o
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0RldmljZU9yaWVudGF0aW9uOjpEZXZpY2VPcmll
bnRhdGlvbihQYWdlKiBwYWdlLCBEZXZpY2VPcmllbnRhdGlvbkNsaWVudCogY2xpZW50KQorICAg
IDogbV9wYWdlKHBhZ2UpCisgICAgLCBtX2NsaWVudChjbGllbnQpCit7Cit9CisKK3ZvaWQgRGV2
aWNlT3JpZW50YXRpb246Om9uRGV2aWNlT3JpZW50YXRpb25DaGFuZ2UoZG91YmxlIGFscGhhLCBk
b3VibGUgYmV0YSwgZG91YmxlIGdhbW1hKQoreworICAgIC8vIEZJWE1FOiBGaXJlIERldmljZU9y
aWVudGF0aW9uRXZlbnRzIG9uIHRoZSB3aW5kb3cgb2JqZWN0IG9mIGFsbCBmcmFtZXMKKyAgICAv
LyB0aGF0IGFyZSBsaXN0ZW5pbmcgdG8gb3JpZW50YXRpb24uCisgICAgVU5VU0VEX1BBUkFNKGFs
cGhhKTsKKyAgICBVTlVTRURfUEFSQU0oYmV0YSk7CisgICAgVU5VU0VEX1BBUkFNKGdhbW1hKTsK
K30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKERFVklDRV9P
UklFTlRBVElPTikKSW5kZXg6IFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb24uaAkocmV2aXNpb24gMCkKKysr
IFdlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uLmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
NDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxMCwgVGhlIEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJv
amVjdAorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBPV05FUiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpZm5kZWYgRGV2aWNlT3JpZW50YXRpb25faAorI2RlZmluZSBEZXZpY2VP
cmllbnRhdGlvbl9oCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRGV2aWNlT3JpZW50
YXRpb25DbGllbnQ7CitjbGFzcyBQYWdlOworCitjbGFzcyBEZXZpY2VPcmllbnRhdGlvbiB7Citw
dWJsaWM6CisgICAgRGV2aWNlT3JpZW50YXRpb24oUGFnZSosIERldmljZU9yaWVudGF0aW9uQ2xp
ZW50Kik7CisKKyAgICAvLyBGSVhNRTogQWRkIG1ldGhvZHMgdG8gc3RhcnQgYW5kIHN0b3AgdGhl
IHNlcnZpY2UuCisKKyAgICB2b2lkIG9uRGV2aWNlT3JpZW50YXRpb25DaGFuZ2UoZG91YmxlIGFs
cGhhLCBkb3VibGUgYmV0YSwgZG91YmxlIGdhbW1hKTsKKworcHJpdmF0ZToKKyAgICBQYWdlKiBt
X3BhZ2U7CisgICAgRGV2aWNlT3JpZW50YXRpb25DbGllbnQqIG1fY2xpZW50OworfTsKKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRGV2aWNlT3JpZW50YXRpb25faApJbmRl
eDogV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25DbGllbnQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkNsaWVudC5oCShyZXZpc2lvbiAwKQorKysgV2Vi
Q29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25DbGllbnQuaAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAyMDEwLCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQ
cm9qZWN0CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIE9XTkVSIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2lmbmRlZiBEZXZpY2VPcmllbnRhdGlvbkNsaWVudF9oCisjZGVmaW5l
IERldmljZU9yaWVudGF0aW9uQ2xpZW50X2gKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBEZXZpY2VPcmllbnRhdGlvbkNsaWVudCB7CitwdWJsaWM6CisgICAgdmlydHVhbCB2b2lkIHN0
YXJ0VXBkYXRpbmcoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHN0b3BVcGRhdGluZygpID0gMDsK
KworcHJvdGVjdGVkOgorICAgIHZpcnR1YWwgfkRldmljZU9yaWVudGF0aW9uQ2xpZW50KCkge30K
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIERldmljZU9yaWVudGF0
aW9uQ2xpZW50X2gKSW5kZXg6IFdlYkNvcmUvcGFnZS9QYWdlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3BhZ2UvUGFnZS5jcHAJKHJldmlzaW9uIDU5OTIzKQorKysgV2ViQ29yZS9wYWdlL1Bh
Z2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiQ29udGV4
dE1lbnVDbGllbnQuaCIKICNpbmNsdWRlICJDb250ZXh0TWVudUNvbnRyb2xsZXIuaCIKICNpbmNs
dWRlICJET01XaW5kb3cuaCIKKyNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbi5oIgogI2luY2x1
ZGUgIkRyYWdDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiRWRpdG9yQ2xpZW50LmgiCiAjaW5jbHVk
ZSAiRXZlbnQuaCIKQEAgLTEwOCw3ICsxMDksNyBAQCBzdGF0aWMgdm9pZCBuZXR3b3JrU3RhdGVD
aGFuZ2VkKCkKICAgICAgICAgZnJhbWVzW2ldLT5kb2N1bWVudCgpLT5kaXNwYXRjaFdpbmRvd0V2
ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lLCBmYWxzZSwgZmFsc2UpKTsKIH0KIAotUGFnZTo6
UGFnZShDaHJvbWVDbGllbnQqIGNocm9tZUNsaWVudCwgQ29udGV4dE1lbnVDbGllbnQqIGNvbnRl
eHRNZW51Q2xpZW50LCBFZGl0b3JDbGllbnQqIGVkaXRvckNsaWVudCwgRHJhZ0NsaWVudCogZHJh
Z0NsaWVudCwgSW5zcGVjdG9yQ2xpZW50KiBpbnNwZWN0b3JDbGllbnQsIFBsdWdpbkhhbHRlckNs
aWVudCogcGx1Z2luSGFsdGVyQ2xpZW50LCBHZW9sb2NhdGlvbkNvbnRyb2xsZXJDbGllbnQqIGdl
b2xvY2F0aW9uQ29udHJvbGxlckNsaWVudCkKK1BhZ2U6OlBhZ2UoQ2hyb21lQ2xpZW50KiBjaHJv
bWVDbGllbnQsIENvbnRleHRNZW51Q2xpZW50KiBjb250ZXh0TWVudUNsaWVudCwgRWRpdG9yQ2xp
ZW50KiBlZGl0b3JDbGllbnQsIERyYWdDbGllbnQqIGRyYWdDbGllbnQsIEluc3BlY3RvckNsaWVu
dCogaW5zcGVjdG9yQ2xpZW50LCBQbHVnaW5IYWx0ZXJDbGllbnQqIHBsdWdpbkhhbHRlckNsaWVu
dCwgR2VvbG9jYXRpb25Db250cm9sbGVyQ2xpZW50KiBnZW9sb2NhdGlvbkNvbnRyb2xsZXJDbGll
bnQsIERldmljZU9yaWVudGF0aW9uQ2xpZW50KiBkZXZpY2VPcmllbnRhdGlvbkNsaWVudCkKICAg
ICA6IG1fY2hyb21lKG5ldyBDaHJvbWUodGhpcywgY2hyb21lQ2xpZW50KSkKICAgICAsIG1fZHJh
Z0NhcmV0Q29udHJvbGxlcihuZXcgU2VsZWN0aW9uQ29udHJvbGxlcigwLCB0cnVlKSkKICNpZiBF
TkFCTEUoRFJBR19TVVBQT1JUKQpAQCAtMTI0LDYgKzEyNSw5IEBAIFBhZ2U6OlBhZ2UoQ2hyb21l
Q2xpZW50KiBjaHJvbWVDbGllbnQsIEMKICNpZiBFTkFCTEUoQ0xJRU5UX0JBU0VEX0dFT0xPQ0FU
SU9OKQogICAgICwgbV9nZW9sb2NhdGlvbkNvbnRyb2xsZXIobmV3IEdlb2xvY2F0aW9uQ29udHJv
bGxlcih0aGlzLCBnZW9sb2NhdGlvbkNvbnRyb2xsZXJDbGllbnQpKQogI2VuZGlmCisjaWYgRU5B
QkxFKERFVklDRV9PUklFTlRBVElPTikKKyAgICAsIG1fZGV2aWNlT3JpZW50YXRpb24obmV3IERl
dmljZU9yaWVudGF0aW9uKHRoaXMsIGRldmljZU9yaWVudGF0aW9uQ2xpZW50KSkKKyNlbmRpZgog
ICAgICwgbV9zZXR0aW5ncyhuZXcgU2V0dGluZ3ModGhpcykpCiAgICAgLCBtX3Byb2dyZXNzKG5l
dyBQcm9ncmVzc1RyYWNrZXIpCiAgICAgLCBtX2JhY2tGb3J3YXJkTGlzdChCYWNrRm9yd2FyZExp
c3Q6OmNyZWF0ZSh0aGlzKSkKQEAgLTE1OCw2ICsxNjIsOSBAQCBQYWdlOjpQYWdlKENocm9tZUNs
aWVudCogY2hyb21lQ2xpZW50LCBDCiAjaWYgIUVOQUJMRShDTElFTlRfQkFTRURfR0VPTE9DQVRJ
T04pCiAgICAgVU5VU0VEX1BBUkFNKGdlb2xvY2F0aW9uQ29udHJvbGxlckNsaWVudCk7CiAjZW5k
aWYKKyNpZiAhRU5BQkxFKENMSUVOVF9ERVZJQ0VfT1JJRU5UQVRJT04pCisgICAgVU5VU0VEX1BB
UkFNKGRldmljZU9yaWVudGF0aW9uQ2xpZW50KTsKKyNlbmRpZgogCiAgICAgaWYgKCFhbGxQYWdl
cykgewogICAgICAgICBhbGxQYWdlcyA9IG5ldyBIYXNoU2V0PFBhZ2UqPjsKSW5kZXg6IFdlYkNv
cmUvcGFnZS9QYWdlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL1BhZ2UuaAkocmV2aXNp
b24gNTk5MjMpCisrKyBXZWJDb3JlL3BhZ2UvUGFnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2
ICs0Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBDaHJvbWVDbGllbnQ7CiAg
ICAgY2xhc3MgQ29udGV4dE1lbnVDbGllbnQ7CiAgICAgY2xhc3MgQ29udGV4dE1lbnVDb250cm9s
bGVyOworICAgIGNsYXNzIERldmljZU9yaWVudGF0aW9uOworICAgIGNsYXNzIERldmljZU9yaWVu
dGF0aW9uQ2xpZW50OwogICAgIGNsYXNzIERvY3VtZW50OwogICAgIGNsYXNzIERyYWdDbGllbnQ7
CiAgICAgY2xhc3MgRHJhZ0NvbnRyb2xsZXI7CkBAIC04NSw3ICs4Nyw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIHNldE5lZWRzUmVhcHBs
eVN0eWxlcygpOwogCi0gICAgICAgIFBhZ2UoQ2hyb21lQ2xpZW50KiwgQ29udGV4dE1lbnVDbGll
bnQqLCBFZGl0b3JDbGllbnQqLCBEcmFnQ2xpZW50KiwgSW5zcGVjdG9yQ2xpZW50KiwgUGx1Z2lu
SGFsdGVyQ2xpZW50KiwgR2VvbG9jYXRpb25Db250cm9sbGVyQ2xpZW50Kik7CisgICAgICAgIFBh
Z2UoQ2hyb21lQ2xpZW50KiwgQ29udGV4dE1lbnVDbGllbnQqLCBFZGl0b3JDbGllbnQqLCBEcmFn
Q2xpZW50KiwgSW5zcGVjdG9yQ2xpZW50KiwgUGx1Z2luSGFsdGVyQ2xpZW50KiwgR2VvbG9jYXRp
b25Db250cm9sbGVyQ2xpZW50KiwgRGV2aWNlT3JpZW50YXRpb25DbGllbnQqKTsKICAgICAgICAg
flBhZ2UoKTsKIAogICAgICAgICBSZW5kZXJUaGVtZSogdGhlbWUoKSBjb25zdCB7IHJldHVybiBt
X3RoZW1lLmdldCgpOyB9OwpAQCAtMTQ1LDYgKzE0Nyw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICNpZiBFTkFCTEUoQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKQogICAgICAgICBHZW9sb2NhdGlv
bkNvbnRyb2xsZXIqIGdlb2xvY2F0aW9uQ29udHJvbGxlcigpIGNvbnN0IHsgcmV0dXJuIG1fZ2Vv
bG9jYXRpb25Db250cm9sbGVyLmdldCgpOyB9CiAjZW5kaWYKKyNpZiBFTkFCTEUoREVWSUNFX09S
SUVOVEFUSU9OKQorICAgICAgICBEZXZpY2VPcmllbnRhdGlvbiogZGV2aWNlT3JpZW50YXRpb24o
KSBjb25zdCB7IHJldHVybiBtX2RldmljZU9yaWVudGF0aW9uLmdldCgpOyB9CisjZW5kaWYKICAg
ICAgICAgU2V0dGluZ3MqIHNldHRpbmdzKCkgY29uc3QgeyByZXR1cm4gbV9zZXR0aW5ncy5nZXQo
KTsgfQogICAgICAgICBQcm9ncmVzc1RyYWNrZXIqIHByb2dyZXNzKCkgY29uc3QgeyByZXR1cm4g
bV9wcm9ncmVzcy5nZXQoKTsgfQogICAgICAgICAKQEAgLTI1Myw2ICsyNTgsOSBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAjaWYgRU5BQkxFKENMSUVOVF9CQVNFRF9HRU9MT0NBVElPTikKICAgICAg
ICAgT3duUHRyPEdlb2xvY2F0aW9uQ29udHJvbGxlcj4gbV9nZW9sb2NhdGlvbkNvbnRyb2xsZXI7
CiAjZW5kaWYKKyNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQorICAgICAgICBPd25QdHI8
RGV2aWNlT3JpZW50YXRpb24+IG1fZGV2aWNlT3JpZW50YXRpb247CisjZW5kaWYKICAgICAgICAg
T3duUHRyPFNldHRpbmdzPiBtX3NldHRpbmdzOwogICAgICAgICBPd25QdHI8UHJvZ3Jlc3NUcmFj
a2VyPiBtX3Byb2dyZXNzOwogICAgICAgICAKSW5kZXg6IFdlYkNvcmUvc3ZnL2dyYXBoaWNzL1NW
R0ltYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5j
cHAJKHJldmlzaW9uIDU5OTIzKQorKysgV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yNTUsNyArMjU1LDcgQEAgYm9vbCBTVkdJbWFnZTo6ZGF0YUNo
YW5nZWQoYm9vbCBhbGxEYXRhUgogICAgICAgICAvLyBGSVhNRTogSWYgdGhpcyBTVkcgZW5kcyB1
cCBsb2FkaW5nIGl0c2VsZiwgd2UgbWlnaHQgbGVhayB0aGUgd29ybGQuCiAgICAgICAgIC8vIFRo
ZSBjb21tZW50IHNhaWQgdGhhdCB0aGUgQ2FjaGUgY29kZSBkb2VzIG5vdCBrbm93IGFib3V0IENh
Y2hlZEltYWdlcwogICAgICAgICAvLyBob2xkaW5nIEZyYW1lcyBhbmQgd29uJ3Qga25vdyB0byBi
cmVhayB0aGUgY3ljbGUuIEJ1dCAKLSAgICAgICAgbV9wYWdlLnNldChuZXcgUGFnZShtX2Nocm9t
ZUNsaWVudC5nZXQoKSwgZHVtbXlDb250ZXh0TWVudUNsaWVudCwgZHVtbXlFZGl0b3JDbGllbnQs
IGR1bW15RHJhZ0NsaWVudCwgZHVtbXlJbnNwZWN0b3JDbGllbnQsIDAsIDApKTsKKyAgICAgICAg
bV9wYWdlLnNldChuZXcgUGFnZShtX2Nocm9tZUNsaWVudC5nZXQoKSwgZHVtbXlDb250ZXh0TWVu
dUNsaWVudCwgZHVtbXlFZGl0b3JDbGllbnQsIGR1bW15RHJhZ0NsaWVudCwgZHVtbXlJbnNwZWN0
b3JDbGllbnQsIDAsIDAsIDApKTsKICAgICAgICAgbV9wYWdlLT5zZXR0aW5ncygpLT5zZXRNZWRp
YUVuYWJsZWQoZmFsc2UpOwogICAgICAgICBtX3BhZ2UtPnNldHRpbmdzKCktPnNldEphdmFTY3Jp
cHRFbmFibGVkKGZhbHNlKTsKICAgICAgICAgbV9wYWdlLT5zZXR0aW5ncygpLT5zZXRQbHVnaW5z
RW5hYmxlZChmYWxzZSk7CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHJldmlzaW9uIDU5OTI5KQorKysgV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisy
MDEwLTA1LTIxICBTdGV2ZSBCbG9jayAgPHN0ZXZlYmxvY2tAZ29vZ2xlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgRGV2aWNlT3JpZW50
YXRpb24gYW5kIERldmljZU9yaWVudGF0aW9uQ2xpZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTQ3OQorCisgICAgICAgICogc3JjL1dlYlZpZXdJ
bXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OldlYlZpZXdJbXBsKToKKwog
MjAxMC0wNS0yMCAgVmlldC1UcnVuZyBMdXUgIDx2aWV0dHJ1bmdsdXVAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEZpc2hlci4KSW5kZXg6IFdlYktpdC9jaHJvbWl1
bS9zcmMvV2ViVmlld0ltcGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMv
V2ViVmlld0ltcGwuY3BwCShyZXZpc2lvbiA1OTkyMykKKysrIFdlYktpdC9jaHJvbWl1bS9zcmMv
V2ViVmlld0ltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNTQsMTMgKzI1NCw3IEBAIFdlYlZp
ZXdJbXBsOjpXZWJWaWV3SW1wbChXZWJWaWV3Q2xpZW50KiAKICAgICBtX2xhc3RNb3VzZVBvc2l0
aW9uID0gV2ViUG9pbnQoLTEsIC0xKTsKIAogICAgIC8vIHRoZSBwYWdlIHdpbGwgdGFrZSBvd25l
cnNoaXAgb2YgdGhlIHZhcmlvdXMgY2xpZW50cwotICAgIG1fcGFnZS5zZXQobmV3IFBhZ2UoJm1f
Y2hyb21lQ2xpZW50SW1wbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICZtX2NvbnRleHRNZW51
Q2xpZW50SW1wbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICZtX2VkaXRvckNsaWVudEltcGws
Ci0gICAgICAgICAgICAgICAgICAgICAgICAmbV9kcmFnQ2xpZW50SW1wbCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICZtX2luc3BlY3RvckNsaWVudEltcGwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAwLAotICAgICAgICAgICAgICAgICAgICAgICAgMCkpOworICAgIG1fcGFnZS5zZXQobmV3
IFBhZ2UoJm1fY2hyb21lQ2xpZW50SW1wbCwgJm1fY29udGV4dE1lbnVDbGllbnRJbXBsLCAmbV9l
ZGl0b3JDbGllbnRJbXBsLCAmbV9kcmFnQ2xpZW50SW1wbCwgJm1faW5zcGVjdG9yQ2xpZW50SW1w
bCwgMCwgMCwgMCkpOwogCiAgICAgbV9wYWdlLT5iYWNrRm9yd2FyZExpc3QoKS0+c2V0Q2xpZW50
KCZtX2JhY2tGb3J3YXJkTGlzdENsaWVudEltcGwpOwogICAgIG1fcGFnZS0+c2V0R3JvdXBOYW1l
KHBhZ2VHcm91cE5hbWUpOwpJbmRleDogV2ViS2l0L2d0ay9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViS2l0L2d0ay9DaGFuZ2VMb2cJKHJldmlzaW9uIDU5OTI5KQorKysgV2ViS2l0L2d0ay9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMC0wNS0yMSAgU3Rl
dmUgQmxvY2sgIDxzdGV2ZWJsb2NrQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIERldmljZU9yaWVudGF0aW9uIGFuZCBEZXZp
Y2VPcmllbnRhdGlvbkNsaWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9Mzk0NzkKKworICAgICAgICAqIHdlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcDoK
KyAgICAgICAgKHdlYmtpdF93ZWJfdmlld19pbml0KToKKwogMjAxMC0wNS0xOSAgU2hlcmlmZiBC
b3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwg
cm9sbGluZyBvdXQgcjU5MjQwLgpJbmRleDogV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmll
dy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAJ
KHJldmlzaW9uIDU5OTIzKQorKysgV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTI3OTgsNyArMjc5OCw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93
ZWJfdmlld19pbml0KFdlYktpdFcKICAgICBwcml2LT5pbUNvbnRleHQgPSBndGtfaW1fbXVsdGlj
b250ZXh0X25ldygpOwogCiAgICAgV2ViS2l0OjpJbnNwZWN0b3JDbGllbnQqIGluc3BlY3RvckNs
aWVudCA9IG5ldyBXZWJLaXQ6Okluc3BlY3RvckNsaWVudCh3ZWJWaWV3KTsKLSAgICBwcml2LT5j
b3JlUGFnZSA9IG5ldyBQYWdlKG5ldyBXZWJLaXQ6OkNocm9tZUNsaWVudCh3ZWJWaWV3KSwgbmV3
IFdlYktpdDo6Q29udGV4dE1lbnVDbGllbnQod2ViVmlldyksIG5ldyBXZWJLaXQ6OkVkaXRvckNs
aWVudCh3ZWJWaWV3KSwgbmV3IFdlYktpdDo6RHJhZ0NsaWVudCh3ZWJWaWV3KSwgaW5zcGVjdG9y
Q2xpZW50LCAwLCAwKTsKKyAgICBwcml2LT5jb3JlUGFnZSA9IG5ldyBQYWdlKG5ldyBXZWJLaXQ6
OkNocm9tZUNsaWVudCh3ZWJWaWV3KSwgbmV3IFdlYktpdDo6Q29udGV4dE1lbnVDbGllbnQod2Vi
VmlldyksIG5ldyBXZWJLaXQ6OkVkaXRvckNsaWVudCh3ZWJWaWV3KSwgbmV3IFdlYktpdDo6RHJh
Z0NsaWVudCh3ZWJWaWV3KSwgaW5zcGVjdG9yQ2xpZW50LCAwLCAwLCAwKTsKIAogICAgIC8vIFdl
IGFsc28gYWRkIGEgc2ltcGxlIHdyYXBwZXIgY2xhc3MgdG8gcHJvdmlkZSB0aGUgcHVibGljCiAg
ICAgLy8gaW50ZXJmYWNlIGZvciB0aGUgV2ViIEluc3BlY3Rvci4KSW5kZXg6IFdlYktpdC9tYWMv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiA1
OTkyOSkKKysrIFdlYktpdC9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MTMgQEAKKzIwMTAtMDUtMjEgIFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bnb29nbGUuY29tPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBEZXZp
Y2VPcmllbnRhdGlvbiBhbmQgRGV2aWNlT3JpZW50YXRpb25DbGllbnQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM5NDc5CisKKyAgICAgICAgKiBXZWJW
aWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX2NvbW1vbkluaXRpYWxpemF0aW9u
V2l0aEZyYW1lTmFtZTpncm91cE5hbWU6dXNlc0RvY3VtZW50Vmlld3M6XSk6CisKIDIwMTAtMDUt
MjAgIE1pa2UgVGhvbGUgIDxtdGhvbGVAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IERhdmUgSHlhdHQuCkluZGV4OiBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkocmV2aXNpb24gNTk5MjMpCisr
KyBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAtNjYyLDcg
KzY2Miw4IEBAIC0gKHZvaWQpX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aEZyYW1lTmEKICNlbHNl
CiAgICAgV2ViR2VvbG9jYXRpb25Db250cm9sbGVyQ2xpZW50KiBnZW9sb2NhdGlvbkNvbnRyb2xs
ZXJDbGllbnQgPSAwOwogI2VuZGlmCi0gICAgX3ByaXZhdGUtPnBhZ2UgPSBuZXcgUGFnZShuZXcg
V2ViQ2hyb21lQ2xpZW50KHNlbGYpLCBuZXcgV2ViQ29udGV4dE1lbnVDbGllbnQoc2VsZiksIG5l
dyBXZWJFZGl0b3JDbGllbnQoc2VsZiksIG5ldyBXZWJEcmFnQ2xpZW50KHNlbGYpLCBuZXcgV2Vi
SW5zcGVjdG9yQ2xpZW50KHNlbGYpLCBuZXcgV2ViUGx1Z2luSGFsdGVyQ2xpZW50KHNlbGYpLCBn
ZW9sb2NhdGlvbkNvbnRyb2xsZXJDbGllbnQpOworICAgIERldmljZU9yaWVudGF0aW9uQ2xpZW50
KiBkZXZpY2VPcmllbnRhdGlvbkNsaWVudCA9IDA7CisgICAgX3ByaXZhdGUtPnBhZ2UgPSBuZXcg
UGFnZShuZXcgV2ViQ2hyb21lQ2xpZW50KHNlbGYpLCBuZXcgV2ViQ29udGV4dE1lbnVDbGllbnQo
c2VsZiksIG5ldyBXZWJFZGl0b3JDbGllbnQoc2VsZiksIG5ldyBXZWJEcmFnQ2xpZW50KHNlbGYp
LCBuZXcgV2ViSW5zcGVjdG9yQ2xpZW50KHNlbGYpLCBuZXcgV2ViUGx1Z2luSGFsdGVyQ2xpZW50
KHNlbGYpLCBnZW9sb2NhdGlvbkNvbnRyb2xsZXJDbGllbnQsIGRldmljZU9yaWVudGF0aW9uQ2xp
ZW50KTsKIAogICAgIF9wcml2YXRlLT5wYWdlLT5zZXRDYW5TdGFydE1lZGlhKFtzZWxmIHdpbmRv
d10pOwogICAgIF9wcml2YXRlLT5wYWdlLT5zZXR0aW5ncygpLT5zZXRMb2NhbFN0b3JhZ2VEYXRh
YmFzZVBhdGgoW1tzZWxmIHByZWZlcmVuY2VzXSBfbG9jYWxTdG9yYWdlRGF0YWJhc2VQYXRoXSk7
CkluZGV4OiBXZWJLaXQvcXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9xdC9DaGFu
Z2VMb2cJKHJldmlzaW9uIDU5OTI5KQorKysgV2ViS2l0L3F0L0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDEwLTA1LTIxICBTdGV2ZSBCbG9jayAgPHN0ZXZlYmxv
Y2tAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGQgRGV2aWNlT3JpZW50YXRpb24gYW5kIERldmljZU9yaWVudGF0aW9uQ2xpZW50
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTQ3OQor
CisgICAgICAgICogQXBpL3F3ZWJwYWdlLmNwcDoKKyAgICAgICAgKFFXZWJQYWdlUHJpdmF0ZTo6
UVdlYlBhZ2VQcml2YXRlKToKKwogMjAxMC0wNS0yMSAgU2ltb24gSGF1c21hbm4gIDxzaW1vbi5o
YXVzbWFubkBub2tpYS5jb20+CiAKICAgICAgICAgU3ltYmlhbiBidWlsZCBmaXguCkluZGV4OiBX
ZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvcXQvQXBpL3F3
ZWJwYWdlLmNwcAkocmV2aXNpb24gNTk5MjMpCisrKyBXZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjcyLDcgKzI3Miw3IEBAIFFXZWJQYWdlUHJpdmF0ZTo6UVdl
YlBhZ2VQcml2YXRlKFFXZWJQYWcKICAgICBjb250ZXh0TWVudUNsaWVudCA9IG5ldyBDb250ZXh0
TWVudUNsaWVudFF0KCk7CiAgICAgZWRpdG9yQ2xpZW50ID0gbmV3IEVkaXRvckNsaWVudFF0KHEp
OwogICAgIHBhZ2UgPSBuZXcgUGFnZShjaHJvbWVDbGllbnQsIGNvbnRleHRNZW51Q2xpZW50LCBl
ZGl0b3JDbGllbnQsCi0gICAgICAgICAgICAgICAgICAgIG5ldyBEcmFnQ2xpZW50UXQocSksIG5l
dyBJbnNwZWN0b3JDbGllbnRRdChxKSwgMCwgMCk7CisgICAgICAgICAgICAgICAgICAgIG5ldyBE
cmFnQ2xpZW50UXQocSksIG5ldyBJbnNwZWN0b3JDbGllbnRRdChxKSwgMCwgMCwgMCk7CiAKICAg
ICBzZXR0aW5ncyA9IG5ldyBRV2ViU2V0dGluZ3MocGFnZS0+c2V0dGluZ3MoKSk7CiAKSW5kZXg6
IFdlYktpdC93aW4vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC93aW4vQ2hhbmdlTG9n
CShyZXZpc2lvbiA1OTkyOSkKKysrIFdlYktpdC93aW4vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAtMDUtMjEgIFN0ZXZlIEJsb2NrICA8c3RldmVibG9ja0Bn
b29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCBEZXZpY2VPcmllbnRhdGlvbiBhbmQgRGV2aWNlT3JpZW50YXRpb25DbGllbnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM5NDc5CisKKyAg
ICAgICAgKiBXZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6OmluaXRXaXRoRnJhbWUpOgor
CiAyMDEwLTA1LTIwICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAg
ICAgICAgIEJ1aWxkIGZpeCwgbm8gcmV2aWV3LgpJbmRleDogV2ViS2l0L3dpbi9XZWJWaWV3LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJLaXQvd2luL1dlYlZpZXcuY3BwCShyZXZpc2lvbiA1OTkyMykK
KysrIFdlYktpdC93aW4vV2ViVmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1NjEsMTIgKzI1
NjEsMTMgQEAgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJWaWV3Ojppbml0VwogI2Vsc2UK
ICAgICBXZWJHZW9sb2NhdGlvbkNvbnRyb2xsZXJDbGllbnQqIGdlb2xvY2F0aW9uQ29udHJvbGxl
ckNsaWVudCA9IDA7CiAjZW5kaWYKKyAgICBEZXZpY2VPcmllbnRhdGlvbkNsaWVudCogZGV2aWNl
T3JpZW50YXRpb25DbGllbnQgPSAwOwogCiAgICAgQk9PTCB1c2VIaWdoUmVzb2x1dGlvblRpbWVy
OwogICAgIGlmIChTVUNDRUVERUQobV9wcmVmZXJlbmNlcy0+c2hvdWxkVXNlSGlnaFJlc29sdXRp
b25UaW1lcnMoJnVzZUhpZ2hSZXNvbHV0aW9uVGltZXIpKSkKICAgICAgICAgU2V0dGluZ3M6OnNl
dFNob3VsZFVzZUhpZ2hSZXNvbHV0aW9uVGltZXJzKHVzZUhpZ2hSZXNvbHV0aW9uVGltZXIpOwog
Ci0gICAgbV9wYWdlID0gbmV3IFBhZ2UobmV3IFdlYkNocm9tZUNsaWVudCh0aGlzKSwgbmV3IFdl
YkNvbnRleHRNZW51Q2xpZW50KHRoaXMpLCBuZXcgV2ViRWRpdG9yQ2xpZW50KHRoaXMpLCBuZXcg
V2ViRHJhZ0NsaWVudCh0aGlzKSwgbmV3IFdlYkluc3BlY3RvckNsaWVudCh0aGlzKSwgbmV3IFdl
YlBsdWdpbkhhbHRlckNsaWVudCh0aGlzKSwgZ2VvbG9jYXRpb25Db250cm9sbGVyQ2xpZW50KTsK
KyAgICBtX3BhZ2UgPSBuZXcgUGFnZShuZXcgV2ViQ2hyb21lQ2xpZW50KHRoaXMpLCBuZXcgV2Vi
Q29udGV4dE1lbnVDbGllbnQodGhpcyksIG5ldyBXZWJFZGl0b3JDbGllbnQodGhpcyksIG5ldyBX
ZWJEcmFnQ2xpZW50KHRoaXMpLCBuZXcgV2ViSW5zcGVjdG9yQ2xpZW50KHRoaXMpLCBuZXcgV2Vi
UGx1Z2luSGFsdGVyQ2xpZW50KHRoaXMpLCBnZW9sb2NhdGlvbkNvbnRyb2xsZXJDbGllbnQsIGRl
dmljZU9yaWVudGF0aW9uQ2xpZW50KTsKIAogICAgIEJTVFIgbG9jYWxTdG9yYWdlUGF0aDsKICAg
ICBpZiAoU1VDQ0VFREVEKG1fcHJlZmVyZW5jZXMtPmxvY2FsU3RvcmFnZURhdGFiYXNlUGF0aCgm
bG9jYWxTdG9yYWdlUGF0aCkpKSB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>