<?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>97630</bug_id>
          
          <creation_ts>2012-09-25 22:11:35 -0700</creation_ts>
          <short_desc>Add DeviceProximityController to support Device Proximity Events.</short_desc>
          <delta_ts>2013-01-08 03:35:52 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>96894</dependson>
    
    <dependson>104201</dependson>
          <blocked>92837</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Kihong Kwon">kihong.kwon</reporter>
          <assigned_to name="Kihong Kwon">kihong.kwon</assigned_to>
          <cc>donggwan.kim</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>mifenton</cc>
    
    <cc>morrita</cc>
    
    <cc>rakuco</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>vimff0</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>728195</commentid>
    <comment_count>0</comment_count>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2012-09-25 22:11:35 -0700</bug_when>
    <thetext>Implement DeviceProximityController.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728197</commentid>
    <comment_count>1</comment_count>
      <attachid>165729</attachid>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2012-09-25 22:21:33 -0700</bug_when>
    <thetext>Created attachment 165729
Initial patch.

Initial patch to show how to work DeviceController.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780631</commentid>
    <comment_count>2</comment_count>
      <attachid>177079</attachid>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2012-11-30 21:07:26 -0800</bug_when>
    <thetext>Created attachment 177079
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>781183</commentid>
    <comment_count>3</comment_count>
      <attachid>177079</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-12-02 23:57:38 -0800</bug_when>
    <thetext>Comment on attachment 177079
Patch

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

&gt; Source/WebCore/Modules/proximity/DeviceProximityClient.h:53
&gt; +protected:

In principle, client superclasses shouldn&apos;t have any state. It should be pure virtual class.

&gt; Source/WebCore/Target.pri:255
&gt; +    accessibility/AccessibilityImageMapLink.cpp \

Why change this?

&gt; Source/WebCore/platform/mock/DeviceProximityClientMock.h:1
&gt; +/*

Could we implement this in testing/ and get rid of new DRT API?
Having mock implementation built into WebCore and adding new DRT API are both unfortunate
and better to be avoided if possible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>781294</commentid>
    <comment_count>4</comment_count>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2012-12-03 03:24:44 -0800</bug_when>
    <thetext>
&gt; &gt; Source/WebCore/Modules/proximity/DeviceProximityClient.h:53
&gt; &gt; +protected:
&gt; 
&gt; In principle, client superclasses shouldn&apos;t have any state. It should be pure virtual class.

I understand. It&apos;ll be changed.
&gt; 
&gt; &gt; Source/WebCore/Target.pri:255
&gt; &gt; +    accessibility/AccessibilityImageMapLink.cpp \
&gt; 
&gt; Why change this?
Opps, It&apos;s mistake.
&gt; 
&gt; &gt; Source/WebCore/platform/mock/DeviceProximityClientMock.h:1
&gt; &gt; +/*
&gt; 
&gt; Could we implement this in testing/ and get rid of new DRT API?
&gt; Having mock implementation built into WebCore and adding new DRT API are both unfortunate
&gt; and better to be avoided if possible.

OK, I&apos;ll try this.

Thank you. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784784</commentid>
    <comment_count>5</comment_count>
      <attachid>177978</attachid>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2012-12-06 02:27:56 -0800</bug_when>
    <thetext>Created attachment 177978
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784794</commentid>
    <comment_count>6</comment_count>
      <attachid>177978</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2012-12-06 02:43:48 -0800</bug_when>
    <thetext>Comment on attachment 177978
Patch

Attachment 177978 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/15151919</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784812</commentid>
    <comment_count>7</comment_count>
      <attachid>177978</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-12-06 03:09:50 -0800</bug_when>
    <thetext>Comment on attachment 177978
Patch

Attachment 177978 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15173303</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785586</commentid>
    <comment_count>8</comment_count>
      <attachid>178149</attachid>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2012-12-06 20:38:49 -0800</bug_when>
    <thetext>Created attachment 178149
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790290</commentid>
    <comment_count>9</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-12-12 22:09:26 -0800</bug_when>
    <thetext>Looks good to me.
I want someone else in EFL team to take another looks, mainly for EFL part before r+.
I have no idea how good it is, even though the code is relatively small.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790294</commentid>
    <comment_count>10</comment_count>
      <attachid>178149</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-12-12 22:20:44 -0800</bug_when>
    <thetext>Comment on attachment 178149
Patch

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

Kihong, almost looks good to me in EFL WK1 side. However, as you know, we are concentrating on WK2 EFL port. I think you need to support this new feature for WK2 EFL first.

&gt; Source/WebKit/efl/WebCoreSupport/DeviceProximityClientEfl.h:39
&gt; +    virtual ~DeviceProximityClientEfl() { }

Why do you need to add virtual keyword here ? Don&apos;t we need to use virtual in child class ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790299</commentid>
    <comment_count>11</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-12-12 22:30:41 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 178149 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=178149&amp;action=review
&gt; 
&gt; Kihong, almost looks good to me in EFL WK1 side. However, as you know, we are concentrating on WK2 EFL port. I think you need to support this new feature for WK2 EFL first.

Or, you may be able to add DeviceProximityProviderEfl.cpp | h to WebCore/platform/efl in order to support this functionality both EFL WK1 and WK2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790314</commentid>
    <comment_count>12</comment_count>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2012-12-12 22:55:31 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; &gt; Source/WebKit/efl/WebCoreSupport/DeviceProximityClientEfl.h:39
&gt; &gt; +    virtual ~DeviceProximityClientEfl() { }
&gt; 
&gt; Why do you need to add virtual keyword here ? Don&apos;t we need to use virtual in child class ?

You are right but if someone want to make ClientEflXXX which is inherited by DeviceProximityClientEfl.h, it can make a problem. That&apos;s why I added virtual keyword here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790315</commentid>
    <comment_count>13</comment_count>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2012-12-12 22:56:28 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #10)
&gt; &gt; (From update of attachment 178149 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=178149&amp;action=review
&gt; &gt; 
&gt; &gt; Kihong, almost looks good to me in EFL WK1 side. However, as you know, we are concentrating on WK2 EFL port. I think you need to support this new feature for WK2 EFL first.
&gt; 
&gt; Or, you may be able to add DeviceProximityProviderEfl.cpp | h to WebCore/platform/efl in order to support this functionality both EFL WK1 and WK2.

I think this is better. I will do this.
Thanks Gyuyoung.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791129</commentid>
    <comment_count>14</comment_count>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2012-12-13 17:04:54 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; (In reply to comment #11)
&gt; &gt; (In reply to comment #10)
&gt; &gt; &gt; (From update of attachment 178149 [details] [details] [details])
&gt; &gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=178149&amp;action=review
&gt; &gt; &gt; 
&gt; &gt; &gt; Kihong, almost looks good to me in EFL WK1 side. However, as you know, we are concentrating on WK2 EFL port. I think you need to support this new feature for WK2 EFL first.
&gt; &gt; 
&gt; &gt; Or, you may be able to add DeviceProximityProviderEfl.cpp | h to WebCore/platform/efl in order to support this functionality both EFL WK1 and WK2.
&gt; 
&gt; I think this is better. I will do this.
&gt; Thanks Gyuyoung.

I checked to move DeviceProximityClientEfl to WebCore/platform/efl, but I think we need to add samrt_callback_call for Device Proximity API.
Therefore, IMHO, WebCoreSupport is right position for this.

In addition, If I add codes for WK2 EFL, patch will be bigger than now.
I will add WK2 EFL First but in this patch, WK1 is more simple to test DeviceProximityController, that&apos;s why I added WK1 first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791347</commentid>
    <comment_count>15</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-12-13 22:47:40 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #10)
&gt; &gt; &gt; Source/WebKit/efl/WebCoreSupport/DeviceProximityClientEfl.h:39
&gt; &gt; &gt; +    virtual ~DeviceProximityClientEfl() { }
&gt; &gt; 
&gt; &gt; Why do you need to add virtual keyword here ? Don&apos;t we need to use virtual in child class ?
&gt; 
&gt; You are right but if someone want to make ClientEflXXX which is inherited by DeviceProximityClientEfl.h, it can make a problem. That&apos;s why I added virtual keyword here.

I&apos;m almost sure nobody won&apos;t inherit DeviceProximityClientEfl again. But, it we need to make child class in future, we can add *virtual* keyword then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791354</commentid>
    <comment_count>16</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-12-13 22:53:30 -0800</bug_when>
    <thetext>(In reply to comment #14)

&gt; I checked to move DeviceProximityClientEfl to WebCore/platform/efl, but I think we need to add samrt_callback_call for Device Proximity API.
&gt; Therefore, IMHO, WebCoreSupport is right position for this.
&gt; 
&gt; In addition, If I add codes for WK2 EFL, patch will be bigger than now.
&gt; I will add WK2 EFL First but in this patch, WK1 is more simple to test DeviceProximityController, that&apos;s why I added WK1 first.

As you know, EFL port community(Samsung and Intel) are focusing on WK2 port. Even we are trying to use WK2 for product. I really hope to support new functionality for WK2 port first. Is this urgent issue ? I don&apos;t think so. I eagerly wanna support this feature for EFL WK2 port first or both WK1 and WK2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791358</commentid>
    <comment_count>17</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-12-13 23:05:08 -0800</bug_when>
    <thetext>(In reply to comment #15)
 
&gt; I&apos;m almost sure nobody won&apos;t inherit DeviceProximityClientEfl again. But, it we need to make child class in future, we can add *virtual* keyword then.

s/nobody won&apos;t/nobody will/g</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801226</commentid>
    <comment_count>18</comment_count>
      <attachid>181492</attachid>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2013-01-07 03:48:37 -0800</bug_when>
    <thetext>Created attachment 181492
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801229</commentid>
    <comment_count>19</comment_count>
      <attachid>181492</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-01-07 04:19:05 -0800</bug_when>
    <thetext>Comment on attachment 181492
Patch

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

&gt; Source/WebCore/Target.pri:248
&gt; +    accessibility/AccessibilityImageMapLink.cpp \

This looks unrelated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801230</commentid>
    <comment_count>20</comment_count>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2013-01-07 04:26:14 -0800</bug_when>
    <thetext>(In reply to comment #19)
&gt; (From update of attachment 181492 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=181492&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Target.pri:248
&gt; &gt; +    accessibility/AccessibilityImageMapLink.cpp \
&gt; 
&gt; This looks unrelated.

You are right. Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801231</commentid>
    <comment_count>21</comment_count>
      <attachid>181493</attachid>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2013-01-07 04:29:59 -0800</bug_when>
    <thetext>Created attachment 181493
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801233</commentid>
    <comment_count>22</comment_count>
      <attachid>181493</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-01-07 04:46:19 -0800</bug_when>
    <thetext>Comment on attachment 181493
Patch

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

I don&apos;t wanna object to land dummy implementation for EFL port in this case. But, please file a bug for EFL port implementation soon.

&gt; Source/WebCore/Modules/proximity/DeviceProximityController.h:54
&gt; +    DeviceProximityController(DeviceProximityClient*);

To be honest though *explicit* keyword isn&apos;t much meaningful in private ctor, it would be good if you add it for private ctor as well. Inside class may create instance in future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801993</commentid>
    <comment_count>23</comment_count>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2013-01-07 21:21:50 -0800</bug_when>
    <thetext>(In reply to comment #22)
&gt; (From update of attachment 181493 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=181493&amp;action=review
&gt; 
&gt; I don&apos;t wanna object to land dummy implementation for EFL port in this case. But, please file a bug for EFL port implementation soon.

This patch is only for DeviceController class, but I will add efl port implementation soon.

&gt; 
&gt; &gt; Source/WebCore/Modules/proximity/DeviceProximityController.h:54
&gt; &gt; +    DeviceProximityController(DeviceProximityClient*);
&gt; 
&gt; To be honest though *explicit* keyword isn&apos;t much meaningful in private ctor, it would be good if you add it for private ctor as well. Inside class may create instance in future.

I will do that.

Thanks gyugoung. ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801996</commentid>
    <comment_count>24</comment_count>
      <attachid>181633</attachid>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2013-01-07 21:27:30 -0800</bug_when>
    <thetext>Created attachment 181633
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802090</commentid>
    <comment_count>25</comment_count>
      <attachid>181633</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-01-08 00:00:18 -0800</bug_when>
    <thetext>Comment on attachment 181633
Patch

r=me considering Gyuyoung&apos;s points are addressed.
@gyuyoung please let me know if you have any opinion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802093</commentid>
    <comment_count>26</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-01-08 00:03:01 -0800</bug_when>
    <thetext>(In reply to comment #25)
&gt; (From update of attachment 181633 [details])
&gt; r=me considering Gyuyoung&apos;s points are addressed.
&gt; @gyuyoung please let me know if you have any opinion.

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802182</commentid>
    <comment_count>27</comment_count>
      <attachid>181633</attachid>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2013-01-08 02:58:57 -0800</bug_when>
    <thetext>Comment on attachment 181633
Patch

Thank you for review, Morrita and Gyuyoung :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802190</commentid>
    <comment_count>28</comment_count>
      <attachid>181633</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-08 03:35:44 -0800</bug_when>
    <thetext>Comment on attachment 181633
Patch

Clearing flags on attachment: 181633

Committed r139050: &lt;http://trac.webkit.org/changeset/139050&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802191</commentid>
    <comment_count>29</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-08 03:35:52 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165729</attachid>
            <date>2012-09-25 22:21:33 -0700</date>
            <delta_ts>2012-11-30 21:07:14 -0800</delta_ts>
            <desc>Initial patch.</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>16132</size>
            <attacher name="Kihong Kwon">kihong.kwon</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBiZTEyM2NlLi5kNTBlNWU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMg
QEAKKzIwMTItMDktMjUgIEtpaG9uZyBLd29uICA8a2lob25nLmt3b25Ac2Ftc3VuZy5jb20+CisK
KyAgICAgICAgQWRkIERldmljZVByb3hpbWl0eUNvbnRyb2xsZXIgdG8gc3VwcG9ydCBEZXZpY2Ug
UHJveGltaXR5IEV2ZW50cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTk3NjMwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgSW1wbGVtZW50IERldmljZVByb3hpbWl0eUNvbnRyb2xsZXIgYW5kIERldmljZVBy
b3hpbWl0Q2xpZW50WFhYIHRvIHN1cHBvcnQgRGV2aWNlIFByb3hpbWl0eSBFdmVudHMuCisKKyAg
ICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAgICAgKiBNb2R1bGVzL3Byb3hpbWl0
eS9EZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6OkRldmljZVBy
b3hpbWl0eUNvbnRyb2xsZXIpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlUHJveGltaXR5Q29u
dHJvbGxlcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZVByb3hpbWl0eUNvbnRy
b2xsZXI6OnN1cHBsZW1lbnROYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZVByb3hpbWl0
eUNvbnRyb2xsZXI6OmZyb20pOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlUHJveGltaXR5Q29u
dHJvbGxlcjo6aXNBY3RpdmVBdCk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VQcm94aW1pdHlD
b250cm9sbGVyOjpkaWRDaGFuZ2VEZXZpY2VQcm94aW1pdHkpOgorICAgICAgICAoV2ViQ29yZTo6
cHJvdmlkZURldmljZVByb3hpbWl0eVRvKToKKyAgICAgICAgKiBNb2R1bGVzL3Byb3hpbWl0eS9E
ZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRl
dmljZVByb3hpbWl0eUNvbnRyb2xsZXI6On5EZXZpY2VQcm94aW1pdHlDb250cm9sbGVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6OmlzQWN0aXZlKToKKyAg
ICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6
OmFkZEV2ZW50TGlzdGVuZXIpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpyZW1vdmVF
dmVudExpc3RlbmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6cmVtb3ZlQWxsRXZl
bnRMaXN0ZW5lcnMpOgorCiAyMDEyLTA5LTI1ICBZb3NoaWZ1bWkgSW5vdWUgIDx5b3NpbkBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgW0Zvcm1zXSBXZSBzaG91bGQgZGlzY29ubmVjdCBEYXRlVGlt
ZUVkaXRFbGVtZW50IGFuZCBEYXRlVGltZUZpZWxkRWxlbWVudCBvbiBsYXlvdXQoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5Q29u
dHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94
aW1pdHlDb250cm9sbGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4w
MzNiZWI5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wcm94aW1p
dHkvRGV2aWNlUHJveGltaXR5Q29udHJvbGxlci5jcHAKQEAgLTAsMCArMSw3NCBAQAorLyoKKyAq
IENvcHlyaWdodCAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJEZXZpY2VQcm94aW1p
dHlDb250cm9sbGVyLmgiCisKKyNpbmNsdWRlICJEZXZpY2VDbGllbnQuaCIKKyNpbmNsdWRlICJE
ZXZpY2VQcm94aW1pdHlFdmVudC5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyOjpEZXZpY2VQcm94aW1pdHlDb250
cm9sbGVyKERldmljZUNsaWVudCogY2xpZW50KQorICAgIDogRGV2aWNlQ29udHJvbGxlcihjbGll
bnQpCit7CisgICAgQVNTRVJUKG1fY2xpZW50KTsKK30KKworUGFzc093blB0cjxEZXZpY2VQcm94
aW1pdHlDb250cm9sbGVyPiBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyOjpjcmVhdGUoRGV2aWNl
Q2xpZW50KiBjbGllbnQpCit7CisgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBEZXZpY2VQcm94aW1p
dHlDb250cm9sbGVyKGNsaWVudCkpOworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIERldmljZVBy
b3hpbWl0eUNvbnRyb2xsZXI6OnN1cHBsZW1lbnROYW1lKCkKK3sKKyAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKEF0b21pY1N0cmluZywgbmFtZSwgKCJEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyIikp
OworICAgIHJldHVybiBuYW1lOworfQorCitEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyKiBEZXZp
Y2VQcm94aW1pdHlDb250cm9sbGVyOjpmcm9tKFBhZ2UqIHBhZ2UpCit7CisgICAgcmV0dXJuIHN0
YXRpY19jYXN0PERldmljZVByb3hpbWl0eUNvbnRyb2xsZXIqPihTdXBwbGVtZW50PFBhZ2U+Ojpm
cm9tKHBhZ2UsIHN1cHBsZW1lbnROYW1lKCkpKTsKK30KKworYm9vbCBEZXZpY2VQcm94aW1pdHlD
b250cm9sbGVyOjppc0FjdGl2ZUF0KFBhZ2UqIHBhZ2UpCit7CisgICAgaWYgKERldmljZVByb3hp
bWl0eUNvbnRyb2xsZXIqIGNvbnRyb2xsZXIgPSBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyOjpm
cm9tKHBhZ2UpKQorICAgICAgICByZXR1cm4gY29udHJvbGxlci0+aXNBY3RpdmUoKTsKKyAgICBy
ZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgRGV2aWNlUHJveGltaXR5Q29udHJvbGxlcjo6ZGlkQ2hh
bmdlRGV2aWNlUHJveGltaXR5KGNvbnN0IGRvdWJsZSB2YWx1ZSwgY29uc3QgZG91YmxlIG1pbiwg
Y29uc3QgZG91YmxlIG1heCkKK3sKKyAgICBkaXNwYXRjaERldmljZUV2ZW50KERldmljZVByb3hp
bWl0eUV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLndlYmtpdGRldmljZXByb3hpbWl0eUV2ZW50
LCB2YWx1ZSwgbWluLCBtYXgpKTsKK30KKwordm9pZCBwcm92aWRlRGV2aWNlUHJveGltaXR5VG8o
UGFnZSogcGFnZSwgRGV2aWNlQ2xpZW50KiBjbGllbnQpCit7CisgICAgRGV2aWNlUHJveGltaXR5
Q29udHJvbGxlcjo6cHJvdmlkZVRvKHBhZ2UsIERldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6OnN1
cHBsZW1lbnROYW1lKCksIERldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6OmNyZWF0ZShjbGllbnQp
KTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5Q29udHJvbGxlci5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5Q29udHJvbGxlci5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjZTI5YTgKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlDb250
cm9sbGVyLmgKQEAgLTAsMCArMSw1OCBAQAorLyoKKyAqIENvcHlyaWdodCAyMDEyIFNhbXN1bmcg
RWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgRGV2
aWNlUHJveGltaXR5Q29udHJvbGxlcl9oCisjZGVmaW5lIERldmljZVByb3hpbWl0eUNvbnRyb2xs
ZXJfaAorCisjaW5jbHVkZSAiRGV2aWNlQ29udHJvbGxlci5oIgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2NsYXNzIERldmljZU9yaWVudGF0aW9uRGF0YTsKK2NsYXNzIERldmljZUNsaWVudDsK
KworY2xhc3MgRGV2aWNlUHJveGltaXR5Q29udHJvbGxlciA6IHB1YmxpYyBEZXZpY2VDb250cm9s
bGVyIHsKK3B1YmxpYzoKKyAgICB+RGV2aWNlUHJveGltaXR5Q29udHJvbGxlcigpIHsgfQorCisg
ICAgc3RhdGljIFBhc3NPd25QdHI8RGV2aWNlUHJveGltaXR5Q29udHJvbGxlcj4gY3JlYXRlKERl
dmljZUNsaWVudCopOworCisgICAgYm9vbCBpc0FjdGl2ZSgpIHsgcmV0dXJuICFtX2xpc3RlbmVy
cy5pc0VtcHR5KCk7IH0KKworICAgIHN0YXRpYyBjb25zdCBBdG9taWNTdHJpbmcmIHN1cHBsZW1l
bnROYW1lKCk7CisgICAgc3RhdGljIERldmljZVByb3hpbWl0eUNvbnRyb2xsZXIqIGZyb20oUGFn
ZSopOworICAgIHN0YXRpYyBib29sIGlzQWN0aXZlQXQoUGFnZSopOworCisgICAgdm9pZCBkaWRD
aGFuZ2VEZXZpY2VQcm94aW1pdHkoY29uc3QgZG91YmxlIHZhbHVlLCBjb25zdCBkb3VibGUgbWlu
LCBjb25zdCBkb3VibGUgbWF4KTsKKworcHJpdmF0ZToKKyAgICBEZXZpY2VQcm94aW1pdHlDb250
cm9sbGVyKERldmljZUNsaWVudCopOworfTsKKwordm9pZCBwcm92aWRlRGV2aWNlUHJveGltaXR5
VG8oUGFnZSosIERldmljZUNsaWVudCopOworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmNwcAppbmRleCBjNDY1MWQ3Li5iN2M4NWJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0RPTVdpbmRvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3Bw
CkBAIC01MCw2ICs1MCw3IEBACiAjaW5jbHVkZSAiRGF0YWJhc2VDYWxsYmFjay5oIgogI2luY2x1
ZGUgIkRldmljZU1vdGlvbkNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlv
bkNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmgiCiAj
aW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJEb2N1bWVudExvYWRlci5oIgogI2luY2x1
ZGUgIkVsZW1lbnQuaCIKQEAgLTE1ODcsNiArMTU4OCwxMyBAQCBib29sIERPTVdpbmRvdzo6YWRk
RXZlbnRMaXN0ZW5lcihjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgUGFzc1JlZlB0cjxF
dmVudAogICAgIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKFBST1hJTUlUWV9FVkVOVFMpCisgICAg
ZWxzZSBpZiAoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS53ZWJraXRkZXZpY2Vwcm94aW1pdHlF
dmVudCkgeworICAgICAgICBpZiAoRGV2aWNlUHJveGltaXR5Q29udHJvbGxlciogY29udHJvbGxl
ciA9IERldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6OmZyb20ocGFnZSgpKSkKKyAgICAgICAgICAg
IGNvbnRyb2xsZXItPmFkZERldmljZUV2ZW50TGlzdGVuZXIodGhpcyk7CisgICAgfQorI2VuZGlm
CisKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApAQCAtMTYxNiw2ICsxNjI0LDEzIEBAIGJvb2wgRE9N
V2luZG93OjpyZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBl
LCBFdmVudExpc3RlbmVyCiAgICAgfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoUFJPWElNSVRZX0VW
RU5UUykKKyAgICBlbHNlIGlmIChldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLndlYmtpdGRldmlj
ZXByb3hpbWl0eUV2ZW50KSB7CisgICAgICAgIGlmIChEZXZpY2VQcm94aW1pdHlDb250cm9sbGVy
KiBjb250cm9sbGVyID0gRGV2aWNlUHJveGltaXR5Q29udHJvbGxlcjo6ZnJvbShwYWdlKCkpKQor
ICAgICAgICAgICAgY29udHJvbGxlci0+cmVtb3ZlRGV2aWNlRXZlbnRMaXN0ZW5lcih0aGlzKTsK
KyAgICB9CisjZW5kaWYKKwogICAgIHJldHVybiB0cnVlOwogfQogCkBAIC0xNjcyLDYgKzE2ODcs
MTEgQEAgdm9pZCBET01XaW5kb3c6OnJlbW92ZUFsbEV2ZW50TGlzdGVuZXJzKCkKICAgICAgICAg
Y29udHJvbGxlci0+cmVtb3ZlQWxsTGlzdGVuZXJzKHRoaXMpOwogI2VuZGlmCiAKKyNpZiBFTkFC
TEUoUFJPWElNSVRZX0VWRU5UUykKKyAgICBpZiAoRGV2aWNlUHJveGltaXR5Q29udHJvbGxlciog
Y29udHJvbGxlciA9IERldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6OmZyb20ocGFnZSgpKSkKKyAg
ICAgICAgY29udHJvbGxlci0+cmVtb3ZlQWxsRGV2aWNlRXZlbnRMaXN0ZW5lcih0aGlzKTsKKyNl
bmRpZgorCiAgICAgcmVtb3ZlQWxsVW5sb2FkRXZlbnRMaXN0ZW5lcnModGhpcyk7CiAgICAgcmVt
b3ZlQWxsQmVmb3JlVW5sb2FkRXZlbnRMaXN0ZW5lcnModGhpcyk7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cK
aW5kZXggNGQ3NDkyZi4uMDllMTk1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBA
CisyMDEyLTA5LTI1ICBLaWhvbmcgS3dvbiAgPGtpaG9uZy5rd29uQHNhbXN1bmcuY29tPgorCisg
ICAgICAgIEFkZCBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyIHRvIHN1cHBvcnQgRGV2aWNlIFBy
b3hpbWl0eSBFdmVudHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD05NzYzMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEltcGxlbWVudCBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyIGFuZCBEZXZpY2VQcm94
aW1pdENsaWVudFhYWCB0byBzdXBwb3J0IERldmljZSBQcm94aW1pdHkgRXZlbnRzLgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRGV2
aWNlUHJveGltaXR5Q2xpZW50RWZsLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRldmljZVByb3hpbWl0eUNsaWVudEVmbDo6RGV2aWNlUHJveGltaXR5
Q2xpZW50RWZsKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZVByb3hpbWl0eUNsaWVudEVmbDo6
c3RhcnRVcGRhdGluZyk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VQcm94aW1pdHlDbGllbnRF
Zmw6OnN0b3BVcGRhdGluZyk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VQcm94aW1pdHlDbGll
bnRFZmw6OmRpZENoYW5nZVByb3hpbWl0eSk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRGV2
aWNlUHJveGltaXR5Q2xpZW50RWZsLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChEZXZpY2VQcm94aW1pdHlDbGllbnRFZmwpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNl
UHJveGltaXR5Q2xpZW50RWZsOjp+RGV2aWNlUHJveGltaXR5Q2xpZW50RWZsKToKKyAgICAgICAg
KiBld2svZXdrX3ZpZXcuY3BwOgorICAgICAgICAoX2V3a192aWV3X3ByaXZfbmV3KToKKwogMjAx
Mi0wOS0yNSAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CiAKICAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk1Mzk3CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VQcm94aW1pdHlDbGllbnRFZmwuY3Bw
IGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRGV2aWNlUHJveGltaXR5Q2xpZW50
RWZsLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNThjOGY4Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRGV2aWNlUHJv
eGltaXR5Q2xpZW50RWZsLmNwcApAQCAtMCwwICsxLDYxIEBACisvKgorICogQ29weXJpZ2h0IDIw
MTIgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkRldmljZVByb3hpbWl0eUNsaWVudEVmbC5o
IgorCisjaWYgRU5BQkxFKFBST1hJTUlUWV9FVkVOVFMpCisKKyNpbmNsdWRlICJEZXZpY2VQcm94
aW1pdHlDb250cm9sbGVyLmgiCisjaW5jbHVkZSAiZXdrX3ZpZXdfcHJpdmF0ZS5oIgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK0RldmljZVByb3hpbWl0eUNsaWVudEVmbDo6RGV2aWNlUHJveGlt
aXR5Q2xpZW50RWZsKEV2YXNfT2JqZWN0KiB2aWV3KQorICAgIDogbV92aWV3KHZpZXcpCisgICAg
LCBtX2lzVXBkYXRpbmcoZmFsc2UpCit7Cit9CisKK3ZvaWQgRGV2aWNlUHJveGltaXR5Q2xpZW50
RWZsOjpzdGFydFVwZGF0aW5nKCkKK3sKKyAgICBtX2lzVXBkYXRpbmcgPSB0cnVlOworICAgIC8v
IEZJWE1FIDogU3RhcnQgZ2V0dGluZyBwcm94aW1pdHkgZGF0YSBmcm9tIGRldmljZS4KK30KKwor
dm9pZCBEZXZpY2VQcm94aW1pdHlDbGllbnRFZmw6OnN0b3BVcGRhdGluZygpCit7CisgICAgbV9p
c1VwZGF0aW5nID0gZmFsc2U7CisgICAgLy8gRklYTUUgOiBTdG9wIGdldHRpbmcgcHJveGltaXR5
IGRhdGEgZnJvbSBkZXZpY2UuCit9CisKK3ZvaWQgRGV2aWNlUHJveGltaXR5Q2xpZW50RWZsOjpk
aWRDaGFuZ2VQcm94aW1pdHkoY29uc3QgZG91YmxlIHZhbHVlLCBjb25zdCBkb3VibGUgbWluLCBj
b25zdCBkb3VibGUgbWF4KQoreworICAgIERldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6OmZyb20o
RVdLUHJpdmF0ZTo6Y29yZVBhZ2UobV92aWV3KSktPmRpZENoYW5nZURldmljZVByb3hpbWl0eSh2
YWx1ZSwgbWluLCBtYXgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBEZXZpY2VQcm94aW1pdHlDbGllbnRFZmxfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9l
ZmwvV2ViQ29yZVN1cHBvcnQvRGV2aWNlUHJveGltaXR5Q2xpZW50RWZsLmggYi9Tb3VyY2UvV2Vi
S2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VQcm94aW1pdHlDbGllbnRFZmwuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZGZiZDQ2Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRGV2aWNlUHJveGltaXR5Q2xpZW50RWZs
LmgKQEAgLTAsMCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDEyIFNhbXN1bmcgRWxlY3Ry
b25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgRGV2aWNlUHJv
eGltaXR5Q2xpZW50RWZsX2gKKyNkZWZpbmUgRGV2aWNlUHJveGltaXR5Q2xpZW50RWZsX2gKKwor
I2lmIEVOQUJMRShQUk9YSU1JVFlfRVZFTlRTKQorCisjaW5jbHVkZSAiRGV2aWNlQ2xpZW50Lmgi
CisjaW5jbHVkZSA8RXZhcy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERldmlj
ZVByb3hpbWl0eUNsaWVudEVmbCA6IHB1YmxpYyBEZXZpY2VDbGllbnQgeworcHVibGljOgorICAg
IGV4cGxpY2l0IERldmljZVByb3hpbWl0eUNsaWVudEVmbChFdmFzX09iamVjdCogdmlldyk7Cisg
ICAgdmlydHVhbCB+RGV2aWNlUHJveGltaXR5Q2xpZW50RWZsKCkgeyB9CisKKyAgICB2aXJ0dWFs
IHZvaWQgc3RhcnRVcGRhdGluZygpOworICAgIHZpcnR1YWwgdm9pZCBzdG9wVXBkYXRpbmcoKTsK
KworICAgIHZvaWQgZGlkQ2hhbmdlUHJveGltaXR5KGNvbnN0IGRvdWJsZSB2YWx1ZSwgY29uc3Qg
ZG91YmxlIG1pbiwgY29uc3QgZG91YmxlIG1heCk7CisKK3ByaXZhdGU6CisKKyAgICBFdmFzX09i
amVjdCogbV92aWV3OworICAgIGJvb2wgbV9pc1VwZGF0aW5nOworfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gUFJPWElNSVRZX0VWRU5UUworI2VuZGlmIC8vIERldmlj
ZVByb3hpbWl0eUNsaWVudEVmbF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX3ZpZXcuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcAppbmRleCAw
YWU4MmVmLi4zMjAyM2UxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3Zp
ZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAKQEAgLTg1LDYg
Kzg1LDExIEBACiAjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25DbGllbnRFZmwuaCIKICNlbmRp
ZgogCisjaWYgRU5BQkxFKFBST1hJTUlUWV9FVkVOVFMpCisjaW5jbHVkZSAiRGV2aWNlUHJveGlt
aXR5Q2xpZW50RWZsLmgiCisjaW5jbHVkZSAiRGV2aWNlUHJveGltaXR5Q29udHJvbGxlci5oIgor
I2VuZGlmOworCiAjaWYgRU5BQkxFKFZJQlJBVElPTikKICNpbmNsdWRlICJWaWJyYXRpb25DbGll
bnRFZmwuaCIKICNlbmRpZgpAQCAtNzU3LDYgKzc2MiwxMCBAQCBzdGF0aWMgRXdrX1ZpZXdfUHJp
dmF0ZV9EYXRhKiBfZXdrX3ZpZXdfcHJpdl9uZXcoRXdrX1ZpZXdfU21hcnRfRGF0YSogc21hcnRE
YXRhKQogICAgIFdlYkNvcmU6OnByb3ZpZGVEZXZpY2VPcmllbnRhdGlvblRvKHByaXYtPnBhZ2Uu
Z2V0KCksIG5ldyBXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbkNsaWVudEVmbCk7CiAjZW5kaWYK
IAorI2lmIEVOQUJMRShQUk9YSU1JVFlfRVZFTlRTKQorICAgIFdlYkNvcmU6OnByb3ZpZGVEZXZp
Y2VQcm94aW1pdHlUbyhwcml2LT5wYWdlLmdldCgpLCBuZXcgV2ViQ29yZTo6RGV2aWNlUHJveGlt
aXR5Q2xpZW50RWZsKHNtYXJ0RGF0YS0+c2VsZikpOworI2VuZGlmCisKICNpZiBFTkFCTEUoTkVU
V09SS19JTkZPKQogICAgIHByaXYtPm5ldHdvcmtJbmZvQ2xpZW50ID0gYWRvcHRQdHIobmV3IFdl
YkNvcmU6Ok5ldHdvcmtJbmZvQ2xpZW50RWZsKTsKICAgICBXZWJDb3JlOjpwcm92aWRlTmV0d29y
a0luZm9Ubyhwcml2LT5wYWdlLmdldCgpLCBwcml2LT5uZXR3b3JrSW5mb0NsaWVudC5nZXQoKSk7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177079</attachid>
            <date>2012-11-30 21:07:26 -0800</date>
            <delta_ts>2012-12-06 02:27:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97630-20121201140456.patch</filename>
            <type>text/plain</type>
            <size>84983</size>
            <attacher name="Kihong Kwon">kihong.kwon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2MjI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzc4ODRiYWYyNzNhODZh
MTY5Mzc5OWI4NjhmMTU3NTE3YWI1NDVmYy4uNjlkZDYxMjQzNmM3M2M0ZjZjYWQ5ODI3ZGE5Mjcw
MWQwNzQxMDIyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc4IEBACisyMDEyLTExLTMwICBLaWhv
bmcgS3dvbiAgPGtpaG9uZy5rd29uQHNhbXN1bmcuY29tPgorCisgICAgICAgIEFkZCBEZXZpY2VQ
cm94aW1pdHlDb250cm9sbGVyIHRvIHN1cHBvcnQgRGV2aWNlIFByb3hpbWl0eSBFdmVudHMuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzYzMAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBE
ZXZpY2VQcm94aW1pdHlDb250cm9sbGVyIHdoaWNoIGlzIGluaGVyaXRlZCBmcm9tIERldmljZUNv
bnRyb2xsZXIgdG8gc3VwcG9ydCBEZXZpY2UgUHJveGltaXR5IEV2ZW50cy4KKyAgICAgICAgSW4g
YWRkaXRpb24sIGFkZCBEZXZpY2VQcm94aW1pdENsaWVudE1vY2sgdG8gdmVyaWZ5IERldmljZSBQ
cm94aW1pdHkgRXZlbnRzIHVzaW5nIExheW91dFRlc3RzLgorCisgICAgICAgIFRlc3RzOiBmYXN0
L2RvbS9Qcm94aW1pdHkvYWRkLWxpc3RlbmVyLWZyb20tY2FsbGJhY2suaHRtbAorICAgICAgICAg
ICAgICAgZmFzdC9kb20vUHJveGltaXR5L2Jhc2ljLW9wZXJhdGlvbi5odG1sCisgICAgICAgICAg
ICAgICBmYXN0L2RvbS9Qcm94aW1pdHkvY3JlYXRlLWV2ZW50Lmh0bWwKKyAgICAgICAgICAgICAg
IGZhc3QvZG9tL1Byb3hpbWl0eS9ldmVudC1hZnRlci1uYXZpZ2F0aW9uLmh0bWwKKyAgICAgICAg
ICAgICAgIGZhc3QvZG9tL1Byb3hpbWl0eS9tdWx0aXBsZS1mcmFtZXMuaHRtbAorICAgICAgICAg
ICAgICAgZmFzdC9kb20vUHJveGltaXR5L25vLXBhZ2UtY2FjaGUuaHRtbAorICAgICAgICAgICAg
ICAgZmFzdC9kb20vUHJveGltaXR5L25vLXN5bmNocm9ub3VzLWV2ZW50cy5odG1sCisgICAgICAg
ICAgICAgICBmYXN0L2RvbS9Qcm94aW1pdHkvb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5odG1s
CisgICAgICAgICAgICAgICBmYXN0L2RvbS9Qcm94aW1pdHkvdXBkYXRlcy5odG1sCisgICAgICAg
ICAgICAgICBmYXN0L2RvbS9Qcm94aW1pdHkvd2luZG93LXByb3BlcnR5Lmh0bWwKKworICAgICAg
ICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAq
IEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNl
UHJveGltaXR5Q2xpZW50Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChE
ZXZpY2VQcm94aW1pdHlDbGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlUHJveGltaXR5
Q2xpZW50OjpEZXZpY2VQcm94aW1pdHlDbGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNl
UHJveGltaXR5Q2xpZW50Ojp+RGV2aWNlUHJveGltaXR5Q2xpZW50KToKKyAgICAgICAgKFdlYkNv
cmU6OkRldmljZVByb3hpbWl0eUNsaWVudDo6aGFzTGFzdERhdGEpOgorICAgICAgICAoV2ViQ29y
ZTo6RGV2aWNlUHJveGltaXR5Q2xpZW50Ojp2YWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZp
Y2VQcm94aW1pdHlDbGllbnQ6Om1pbik6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VQcm94aW1p
dHlDbGllbnQ6Om1heCk6CisgICAgICAgICogTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGlt
aXR5Q29udHJvbGxlci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChX
ZWJDb3JlOjpEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyOjpEZXZpY2VQcm94aW1pdHlDb250cm9s
bGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6OmNyZWF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyOjpkaWRDaGFu
Z2VEZXZpY2VQcm94aW1pdHkpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlUHJveGltaXR5Q29u
dHJvbGxlcjo6ZGV2aWNlUHJveGltaXR5Q2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRldmlj
ZVByb3hpbWl0eUNvbnRyb2xsZXI6Omhhc0xhc3REYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkRl
dmljZVByb3hpbWl0eUNvbnRyb2xsZXI6OmdldExhc3RFdmVudCk6CisgICAgICAgIChXZWJDb3Jl
OjpEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyOjpzdXBwbGVtZW50TmFtZSk6CisgICAgICAgIChX
ZWJDb3JlOjpEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyOjpmcm9tKToKKyAgICAgICAgKFdlYkNv
cmU6OkRldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6OmlzQWN0aXZlQXQpOgorICAgICAgICAoV2Vi
Q29yZTo6cHJvdmlkZURldmljZVByb3hpbWl0eVRvKToKKyAgICAgICAgKiBNb2R1bGVzL3Byb3hp
bWl0eS9EZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyKToKKyAgICAgICAgKFdlYkNv
cmU6OkRldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6On5EZXZpY2VQcm94aW1pdHlDb250cm9sbGVy
KToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwL1dlYkNvcmUu
Z3lwOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnByaToKKyAg
ICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3Jl
LnZjcHJvai9XZWJDb3JlQ29tbW9uLnZzcHJvcHM6CisgICAgICAgICogV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGhpc3RvcnkvUGFnZUNhY2hlLmNwcDoKKyAg
ICAgICAgV2hlbiBhIHBhZ2UgaGFzIERldmljZSBQcm94aW1pdHkgRXZlbnQgTGlzdGVuZXIsIGl0
IGhhcyBub3QgdG8gYmUgY2FjaGVkIGxpa2UgRGV2aWNlIE9yaWVudGF0aW9uLgorICAgICAgICAo
V2ViQ29yZTo6bG9nQ2FuQ2FjaGVQYWdlRGVjaXNpb24pOgorICAgICAgICAoV2ViQ29yZTo6UGFn
ZUNhY2hlOjpjYW5DYWNoZSk6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RE9NV2luZG93OjphZGRFdmVudExpc3RlbmVyKToKKyAgICAgICAgKFdlYkNv
cmU6OkRPTVdpbmRvdzo6cmVtb3ZlRXZlbnRMaXN0ZW5lcik6CisgICAgICAgIChXZWJDb3JlOjpE
T01XaW5kb3c6OnJlbW92ZUFsbEV2ZW50TGlzdGVuZXJzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9t
b2NrL0RldmljZVByb3hpbWl0eUNsaWVudE1vY2suY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlUHJveGltaXR5Q2xpZW50TW9jazo6RGV2aWNl
UHJveGltaXR5Q2xpZW50TW9jayk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VQcm94aW1pdHlD
bGllbnRNb2NrOjpzdGFydFVwZGF0aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZVByb3hp
bWl0eUNsaWVudE1vY2s6OnN0b3BVcGRhdGluZyk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VQ
cm94aW1pdHlDbGllbnRNb2NrOjpzZXRQcm94aW1pdHkpOgorICAgICAgICAqIHBsYXRmb3JtL21v
Y2svRGV2aWNlUHJveGltaXR5Q2xpZW50TW9jay5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAoRGV2aWNlUHJveGltaXR5Q2xpZW50TW9jayk6CisgICAgICAgIChXZWJDb3Jl
OjpEZXZpY2VQcm94aW1pdHlDbGllbnRNb2NrOjp+RGV2aWNlUHJveGltaXR5Q2xpZW50TW9jayk6
CisKIDIwMTItMTEtMzAgIEFycGl0YSBCYWh1Z3VuYSAgPGFycGl0YWJhaHVndW5hQGdtYWlsLmNv
bT4KIAogICAgICAgICBDYXJldCBpcyBwYWludGVkIGhvcml6b250YWxseSBpbiB2ZXJ0aWNhbCB3
cml0aW5nIG1vZGUgd2hlbiB0aGVyZSBhcmUgbm8gdmlzaWJsZSB0ZXh0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGE2
NmYwNWU5ODZlMzViYjg2ZDFiMWFjY2JiNWZhOWJhZGYzYTdhZTQuLjQ1ZjkwMTgwOGFiZTQ5YjNi
NjMzYmExNDQzYTU2NTgxMDUyNGZhOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTIt
MTEtMzAgIEtpaG9uZyBLd29uICA8a2lob25nLmt3b25Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAg
QWRkIERldmljZVByb3hpbWl0eUNvbnRyb2xsZXIgdG8gc3VwcG9ydCBEZXZpY2UgUHJveGltaXR5
IEV2ZW50cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTk3NjMwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIE1vdWR1bGVzL3Byb3hpbWl0eSBwYXRoIHRvIGluY2x1ZGUgZGlyZWN0b3J5LgorCisgICAg
ICAgICogUGxhdGZvcm1FZmwuY21ha2U6CisKIDIwMTItMTEtMjIgIEplZmYgUm9nZXJzICA8anJv
Z2Vyc0ByaW0uY29tPgogCiAgICAgICAgIFtCbGFja0JlcnJ5XSBVcGRhdGUgV2ViIE5vdGlmaWNh
dGlvbnMgSW1wbGVtZW50YXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCA3YTQ2YTQ3ZDM4ZTYzNzEx
MDZiZmEwYTkzZDJkNDk3Yjk1OTdiMDc5Li5kNmQ1OTA2MDljZDk1OTRhYmQwOTFhODc2ZTA0NTc1
MTg3MTYxOTExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTItMTEtMzAg
IEtpaG9uZyBLd29uICA8a2lob25nLmt3b25Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgQWRkIERl
dmljZVByb3hpbWl0eUNvbnRyb2xsZXIgdG8gc3VwcG9ydCBEZXZpY2UgUHJveGltaXR5IEV2ZW50
cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3NjMw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHNl
dE1vY2tEZXZpY2VQcm94aW1pdHkgZnVuY3Rpb24gdG8gdGVzdCBEZXZpY2UgUHJveGltaXR5IEV2
ZW50cyB1c2luZyBEdW1wUmVuZGVyVHJlZS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1
bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5jcHA6CisgICAgICAgIChEdW1wUmVuZGVyVHJlZVN1cHBv
cnRFZmw6OnNldE1vY2tEZXZpY2VQcm94aW1pdHkpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5oOgorICAgICAgICAqIGV3ay9ld2tfdmlldy5jcHA6
CisgICAgICAgIChfZXdrX3ZpZXdfcHJpdl9uZXcpOgorCiAyMDEyLTExLTMwICBNaWhhaSBNYWVy
ZWFuICA8bW1hZXJlYW5AYWRvYmUuY29tPgogCiAgICAgICAgIFtDU1NSZWdpb25zXSB3aGVuIFdl
YktpdCB1c2VzIFY4LCB0aGVyZSBzaG91bGQgYmUgYSBzaW5nbGUgdmFyaWFibGUgdG8gc3RvcmUg
aWYgdGhlIENTUyBSZWdpb25zIGZlYXR1cmUgaXMgZW5hYmxlZApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApp
bmRleCA5NjFjNWQ1NTkzOGNjNDgwYjdlMmE4NTI1NmUwZjUyNzMyMDM5NmRiLi42OGZiNWZjM2Yy
MzNmZjJiMWY3NWU5NjhjOWVmNjMyN2Y5YWRjZTljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAt
MTE4LDYgKzExOCw3IEBAIFNFVChXZWJDb3JlX0lETF9JTkNMVURFUwogICAgIE1vZHVsZXMvbWVk
aWFzdHJlYW0KICAgICBNb2R1bGVzL25ldHdvcmtpbmZvCiAgICAgTW9kdWxlcy9ub3RpZmljYXRp
b25zCisgICAgTW9kdWxlcy9wcm94aW1pdHkKICAgICBNb2R1bGVzL3F1b3RhCiAgICAgTW9kdWxl
cy9zcGVlY2gKICAgICBNb2R1bGVzL3ZpYnJhdGlvbgpAQCAtODg5LDYgKzg5MCw3IEBAIFNFVChX
ZWJDb3JlX1NPVVJDRVMKICAgICBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNw
cAogICAgIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Xb3JrZXJDb250ZXh0Tm90aWZpY2F0aW9ucy5j
cHAKIAorICAgIE1vZHVsZXMvcHJveGltaXR5L0RldmljZVByb3hpbWl0eUNvbnRyb2xsZXIuY3Bw
CiAgICAgTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5RXZlbnQuY3BwCiAKICAgICBN
b2R1bGVzL3F1b3RhL0RPTVdpbmRvd1F1b3RhLmNwcApAQCAtMTk5NSw2ICsxOTk3LDcgQEAgU0VU
KFdlYkNvcmVfU09VUkNFUwogCiAgICAgcGxhdGZvcm0vbW9jay9EZXZpY2VNb3Rpb25DbGllbnRN
b2NrLmNwcAogICAgIHBsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmNw
cAorICAgIHBsYXRmb3JtL21vY2svRGV2aWNlUHJveGltaXR5Q2xpZW50TW9jay5jcHAKICAgICBw
bGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5jcHAKICAgICBwbGF0Zm9ybS9tb2Nr
L1Njcm9sbGJhclRoZW1lTW9jay5jcHAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05V
bWFrZWZpbGUuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCA1OTRiZGEw
MDM2ZWM2YTNhMDJiM2E4Zjc4OGY1ZGEzMWNmMGNmOGUzLi5kM2QzN2JhZjY3MmFhM2FiNjE2YWI1
YjYxOWE4M2JkZDQ2MjMzNzIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmls
ZS5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtMTcsNiArMTcsNyBA
QCB3ZWJjb3JlX2NwcGZsYWdzICs9IFwKIAktSSQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtIFwKIAktSSQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25h
dmlnYXRvcmNvbnRlbnR1dGlscyBcCiAJLUkkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9ub3RpZmljYXRpb25zIFwKKwktSSQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3By
b3hpbWl0eSBcCiAJLUkkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YSBcCiAJ
LUkkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpbyBcCiAJLUkkKHNyY2Rp
cikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZSBcCkBAIC01ODMsNiArNTg0LDcg
QEAgSURMX1BBVEggOj0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXNvdXJjZSBcCiAg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtIFwKICAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvbm90aWZpY2F0aW9ucyBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3Byb3hpbWl0eSBcCiAg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL3F1b3RhIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2Vi
YXVkaW8gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJkYXRhYmFzZSBcCkBAIC04MTEsNiAr
ODEzLDcgQEAgRVhUUkFfRElTVCArPSBcCiAJJCh3aWxkY2FyZCAkKHNyY2RpcikvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS8qLmlkbCkgXAogCSQod2lsZGNhcmQgJChzcmNkaXIp
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzLyouaWRsKSBcCiAJ
JCh3aWxkY2FyZCAkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25z
LyouaWRsKSBcCisJJCh3aWxkY2FyZCAkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
cm94aW1pdHkvKi5pZGwpIFwKIAkkKHdpbGRjYXJkICQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3F1b3RhLyouaWRsKSBcCiAJJCh3aWxkY2FyZCAkKHNyY2RpcikvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby8qLmlkbCkgXAogCSQod2lsZGNhcmQgJChzcmNkaXIpL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvKi5pZGwpIFwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmls
ZS5saXN0LmFtCmluZGV4IGU1MmExNjhmZjY3OWVjMTBiN2ZlZWFkNDk5M2ZiNmJkY2JjYTFiMDQu
LmZkMjRhZGNiNjRlNzg2ZTY0NjM3NzJhZTIxN2RkMjg1MjY3YzVkNTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05V
bWFrZWZpbGUubGlzdC5hbQpAQCAtMTI2MCw2ICsxMjYwLDcgQEAgZG9tX2JpbmRpbmdfaWRscyAr
PSBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbCBc
CiAJJChXZWJDb3JlKS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlk
bCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlz
c2lvbkNhbGxiYWNrLmlkbCBcCisJJChXZWJDb3JlKS9Nb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQ
cm94aW1pdHlFdmVudC5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy9xdW90YS9ET01XaW5kb3dR
dW90YS5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy9xdW90YS9TdG9yYWdlSW5mby5pZGwgXAog
CSQoV2ViQ29yZSkvTW9kdWxlcy9xdW90YS9TdG9yYWdlSW5mb0Vycm9yQ2FsbGJhY2suaWRsIFwK
QEAgLTE5ODgsNiArMTk4OSwxMSBAQCB3ZWJjb3JlX21vZHVsZXNfc291cmNlcyArPSBcCiAJU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25D
YWxsYmFjay5oIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvV29ya2Vy
Q29udGV4dE5vdGlmaWNhdGlvbnMuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlm
aWNhdGlvbnMvV29ya2VyQ29udGV4dE5vdGlmaWNhdGlvbnMuaCBcCisJU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5LmggXAorCVNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcHJveGltaXR5L0RldmljZVByb3hpbWl0eUNvbnRyb2xsZXIuY3BwIFwKKwlTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmggXAor
CVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHJveGltaXR5L0RldmljZVByb3hpbWl0eUV2ZW50LmNw
cCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5RXZl
bnQuaCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9ET01XaW5kb3dRdW90YS5jcHAg
XAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvRE9NV2luZG93UXVvdGEuaCBcCiAJU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9TdG9yYWdlSW5mby5jcHAgXApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5Q2xpZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlDbGllbnQu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5iZTBkYjdjNWIyYzdjZTYzNDk3MWRjZTVhNmIyMjA1YmI1OWEzNjQ4Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNl
UHJveGltaXR5Q2xpZW50LmgKQEAgLTAsMCArMSw2NCBAQAorLyoKKyAqIENvcHlyaWdodCAyMDEy
IFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
Zm5kZWYgRGV2aWNlUHJveGltaXR5Q2xpZW50X2gKKyNkZWZpbmUgRGV2aWNlUHJveGltaXR5Q2xp
ZW50X2gKKworI2lmIEVOQUJMRShQUk9YSU1JVFlfRVZFTlRTKQorCisjaW5jbHVkZSAiRGV2aWNl
Q2xpZW50LmgiCisjaW5jbHVkZSA8bGltaXRzPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Ns
YXNzIFBhZ2U7CisKK2NsYXNzIERldmljZVByb3hpbWl0eUNsaWVudCA6IHB1YmxpYyBEZXZpY2VD
bGllbnQgeworcHVibGljOgorICAgIERldmljZVByb3hpbWl0eUNsaWVudCgpCisgICAgICAgIDog
bV92YWx1ZShzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OmluZmluaXR5KCkpCisgICAgICAg
ICwgbV9taW4oLXN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6aW5maW5pdHkoKSkKKyAgICAg
ICAgLCBtX21heChzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OmluZmluaXR5KCkpCisgICAg
eworICAgIH0KKyAgICB2aXJ0dWFsIH5EZXZpY2VQcm94aW1pdHlDbGllbnQoKSB7IH0KKworICAg
IHZpcnR1YWwgYm9vbCBoYXNMYXN0RGF0YSgpIHsgcmV0dXJuIG1fdmFsdWUgPT0gc3RkOjpudW1l
cmljX2xpbWl0czxkb3VibGU+OjppbmZpbml0eSgpID8gZmFsc2UgOiB0cnVlOyB9CisgICAgZG91
YmxlIHZhbHVlKCkgeyByZXR1cm4gbV92YWx1ZTsgfQorICAgIGRvdWJsZSBtaW4oKSB7IHJldHVy
biBtX21pbjsgfQorICAgIGRvdWJsZSBtYXgoKSB7IHJldHVybiBtX21heDsgfQorCitwcm90ZWN0
ZWQ6CisgICAgZG91YmxlIG1fdmFsdWU7CisgICAgZG91YmxlIG1fbWluOworICAgIGRvdWJsZSBt
X21heDsKK307CisKK3ZvaWQgcHJvdmlkZURldmljZVByb3hpbWl0eVRvKFBhZ2UqLCBEZXZpY2VQ
cm94aW1pdHlDbGllbnQqKTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8g
UFJPWElNSVRZX0VWRU5UUworI2VuZGlmIC8vIERldmljZVByb3hpbWl0eUNsaWVudF9oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlD
b250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHJveGltaXR5L0RldmljZVBy
b3hpbWl0eUNvbnRyb2xsZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU1OWFjMjE1M2ZkNmQ2YzkzMjY4Njkx
NmVhMmRlMDQxMzMzMmI0OTcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmNwcApAQCAtMCwwICsxLDkz
IEBACisvKgorICogQ29weXJpZ2h0IDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkRl
dmljZVByb3hpbWl0eUNvbnRyb2xsZXIuaCIKKworI2lmIEVOQUJMRShQUk9YSU1JVFlfRVZFTlRT
KQorCisjaW5jbHVkZSAiRGV2aWNlUHJveGltaXR5Q2xpZW50LmgiCisjaW5jbHVkZSAiRGV2aWNl
UHJveGltaXR5RXZlbnQuaCIKKyNpbmNsdWRlICJQYWdlLmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworRGV2aWNlUHJveGltaXR5Q29udHJvbGxlcjo6RGV2aWNlUHJveGltaXR5Q29udHJvbGxl
cihEZXZpY2VQcm94aW1pdHlDbGllbnQqIGNsaWVudCkKKyAgICA6IERldmljZUNvbnRyb2xsZXIo
Y2xpZW50KQoreworICAgIEFTU0VSVChtX2NsaWVudCk7Cit9CisKK1Bhc3NPd25QdHI8RGV2aWNl
UHJveGltaXR5Q29udHJvbGxlcj4gRGV2aWNlUHJveGltaXR5Q29udHJvbGxlcjo6Y3JlYXRlKERl
dmljZVByb3hpbWl0eUNsaWVudCogY2xpZW50KQoreworICAgIHJldHVybiBhZG9wdFB0cihuZXcg
RGV2aWNlUHJveGltaXR5Q29udHJvbGxlcihjbGllbnQpKTsKK30KKwordm9pZCBEZXZpY2VQcm94
aW1pdHlDb250cm9sbGVyOjpkaWRDaGFuZ2VEZXZpY2VQcm94aW1pdHkoY29uc3QgZG91YmxlIHZh
bHVlLCBjb25zdCBkb3VibGUgbWluLCBjb25zdCBkb3VibGUgbWF4KQoreworICAgIGRpc3BhdGNo
RGV2aWNlRXZlbnQoRGV2aWNlUHJveGltaXR5RXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkud2Vi
a2l0ZGV2aWNlcHJveGltaXR5RXZlbnQsIHZhbHVlLCBtaW4sIG1heCkpOworfQorCitEZXZpY2VQ
cm94aW1pdHlDbGllbnQqIERldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6OmRldmljZVByb3hpbWl0
eUNsaWVudCgpCit7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PERldmljZVByb3hpbWl0eUNsaWVu
dCo+KG1fY2xpZW50KTsKK30KKworYm9vbCBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyOjpoYXNM
YXN0RGF0YSgpCit7CisgICAgcmV0dXJuIGRldmljZVByb3hpbWl0eUNsaWVudCgpLT5oYXNMYXN0
RGF0YSgpOworfQorCitQYXNzUmVmUHRyPEV2ZW50PiBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVy
OjpnZXRMYXN0RXZlbnQoKQoreworICAgIHJldHVybiBEZXZpY2VQcm94aW1pdHlFdmVudDo6Y3Jl
YXRlKGV2ZW50TmFtZXMoKS53ZWJraXRkZXZpY2Vwcm94aW1pdHlFdmVudCwgZGV2aWNlUHJveGlt
aXR5Q2xpZW50KCktPnZhbHVlKCksIGRldmljZVByb3hpbWl0eUNsaWVudCgpLT5taW4oKSwgZGV2
aWNlUHJveGltaXR5Q2xpZW50KCktPm1heCgpKTsKK30KKworY29uc3QgQXRvbWljU3RyaW5nJiBE
ZXZpY2VQcm94aW1pdHlDb250cm9sbGVyOjpzdXBwbGVtZW50TmFtZSgpCit7CisgICAgREVGSU5F
X1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIG5hbWUsICgiRGV2aWNlUHJveGltaXR5Q29udHJv
bGxlciIpKTsKKyAgICByZXR1cm4gbmFtZTsKK30KKworRGV2aWNlUHJveGltaXR5Q29udHJvbGxl
ciogRGV2aWNlUHJveGltaXR5Q29udHJvbGxlcjo6ZnJvbShQYWdlKiBwYWdlKQoreworICAgIHJl
dHVybiBzdGF0aWNfY2FzdDxEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyKj4oU3VwcGxlbWVudDxQ
YWdlPjo6ZnJvbShwYWdlLCBzdXBwbGVtZW50TmFtZSgpKSk7Cit9CisKK2Jvb2wgRGV2aWNlUHJv
eGltaXR5Q29udHJvbGxlcjo6aXNBY3RpdmVBdChQYWdlKiBwYWdlKQoreworICAgIGlmIChEZXZp
Y2VQcm94aW1pdHlDb250cm9sbGVyKiBjb250cm9sbGVyID0gRGV2aWNlUHJveGltaXR5Q29udHJv
bGxlcjo6ZnJvbShwYWdlKSkKKyAgICAgICAgcmV0dXJuIGNvbnRyb2xsZXItPmlzQWN0aXZlKCk7
CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIHByb3ZpZGVEZXZpY2VQcm94aW1pdHlUbyhQ
YWdlKiBwYWdlLCBEZXZpY2VQcm94aW1pdHlDbGllbnQqIGNsaWVudCkKK3sKKyAgICBEZXZpY2VQ
cm94aW1pdHlDb250cm9sbGVyOjpwcm92aWRlVG8ocGFnZSwgRGV2aWNlUHJveGltaXR5Q29udHJv
bGxlcjo6c3VwcGxlbWVudE5hbWUoKSwgRGV2aWNlUHJveGltaXR5Q29udHJvbGxlcjo6Y3JlYXRl
KGNsaWVudCkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBQUk9Y
SU1JVFlfRVZFTlRTCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Byb3hpbWl0
eS9EZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3By
b3hpbWl0eS9EZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTU1ZjUxNmM5
NjE4N2MwNzdkMDIzZTMwYWY5YzM0YWRiNDI0ZTkxNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcHJveGltaXR5L0RldmljZVByb3hpbWl0eUNvbnRyb2xsZXIuaApA
QCAtMCwwICsxLDYwIEBACisvKgorICogQ29weXJpZ2h0IDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmlj
cy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBEZXZpY2VQcm94aW1p
dHlDb250cm9sbGVyX2gKKyNkZWZpbmUgRGV2aWNlUHJveGltaXR5Q29udHJvbGxlcl9oCisKKyNp
ZiBFTkFCTEUoUFJPWElNSVRZX0VWRU5UUykKKworI2luY2x1ZGUgIkRldmljZUNvbnRyb2xsZXIu
aCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBEZXZpY2VQcm94aW1pdHlDbGllbnQ7
CisKK2NsYXNzIERldmljZVByb3hpbWl0eUNvbnRyb2xsZXIgOiBwdWJsaWMgRGV2aWNlQ29udHJv
bGxlciB7CitwdWJsaWM6CisgICAgfkRldmljZVByb3hpbWl0eUNvbnRyb2xsZXIoKSB7IH0KKwor
ICAgIHN0YXRpYyBQYXNzT3duUHRyPERldmljZVByb3hpbWl0eUNvbnRyb2xsZXI+IGNyZWF0ZShE
ZXZpY2VQcm94aW1pdHlDbGllbnQqKTsKKworICAgIHZvaWQgZGlkQ2hhbmdlRGV2aWNlUHJveGlt
aXR5KGNvbnN0IGRvdWJsZSB2YWx1ZSwgY29uc3QgZG91YmxlIG1pbiwgY29uc3QgZG91YmxlIG1h
eCk7CisgICAgRGV2aWNlUHJveGltaXR5Q2xpZW50KiBkZXZpY2VQcm94aW1pdHlDbGllbnQoKTsK
KworICAgIHZpcnR1YWwgYm9vbCBoYXNMYXN0RGF0YSgpOworICAgIHZpcnR1YWwgUGFzc1JlZlB0
cjxFdmVudD4gZ2V0TGFzdEV2ZW50KCk7CisKKyAgICBzdGF0aWMgY29uc3QgQXRvbWljU3RyaW5n
JiBzdXBwbGVtZW50TmFtZSgpOworICAgIHN0YXRpYyBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVy
KiBmcm9tKFBhZ2UqKTsKKyAgICBzdGF0aWMgYm9vbCBpc0FjdGl2ZUF0KFBhZ2UqKTsKKworcHJp
dmF0ZToKKyAgICBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyKERldmljZVByb3hpbWl0eUNsaWVu
dCopOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gUFJPWElNSVRZ
X0VWRU5UUworI2VuZGlmIC8vIERldmljZVByb3hpbWl0eUNvbnRyb2xsZXJfaApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkK
aW5kZXggNDhhMTAxNGQ0NjZmNTZhMjljOWQyNzA1NjNiNTM5NzA0MzBlMDNkNC4uZjU4NmVkMGZm
OWNhNzliYWExMjA0YTRiZDNkNjg5Y2FlMmY5YTg3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC0zNiw3ICsz
Niw2IEBAIFNPVVJDRVMgKz0gXAogICAgIE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VTeW5j
LmNwcCBcCiAgICAgTW9kdWxlcy93ZWJkYXRhYmFzZS9Xb3JrZXJDb250ZXh0V2ViRGF0YWJhc2Uu
Y3BwIFwKICAgICBcCi0gICAgYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5SW1hZ2VNYXBMaW5r
LmNwcCBcCiAgICAgYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TWVkaWFDb250cm9scy5jcHAg
XAogICAgIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU1lbnVMaXN0LmNwcCBcCiAgICAgYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TWVudUxpc3RPcHRpb24uY3BwIFwKQEAgLTI1MSw2ICsy
NTAsOSBAQCBTT1VSQ0VTICs9IFwKICAgICBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uQ2VudGVyLmNwcCBcCiAgICAgTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNv
bnRyb2xsZXIuY3BwIFwKICAgICBNb2R1bGVzL25vdGlmaWNhdGlvbnMvV29ya2VyQ29udGV4dE5v
dGlmaWNhdGlvbnMuY3BwIFwKKyAgICBNb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlD
b250cm9sbGVyLmNwcCBcCisgICAgTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5RXZl
bnQuY3BwIFwKKyAgICBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlJbWFnZU1hcExpbmsuY3Bw
IFwKICAgICBjc3MvQmFzaWNTaGFwZUZ1bmN0aW9ucy5jcHAgXAogICAgIGNzcy9DU1NBc3BlY3RS
YXRpb1ZhbHVlLmNwcCBcCiAgICAgY3NzL0NTU0Jhc2ljU2hhcGVzLmNwcCBcCkBAIC0xNDExLDYg
KzE0MTMsMTAgQEAgSEVBREVSUyArPSBcCiAgICAgTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvbkNvbnRyb2xsZXIuaCBcCiAgICAgTW9kdWxlcy9ub3RpZmljYXRpb25zL1dvcmtlckNv
bnRleHROb3RpZmljYXRpb25zLmggXAogICAgIFwKKyAgICBNb2R1bGVzL3Byb3hpbWl0eS9EZXZp
Y2VQcm94aW1pdHlDbGllbnQuaCBcCisgICAgTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGlt
aXR5Q29udHJvbGxlci5oIFwKKyAgICBNb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlF
dmVudC5oIFwKKyAgICBcCiAgICAgTW9kdWxlcy93ZWJkYXRhYmFzZS9BYnN0cmFjdERhdGFiYXNl
LmggXAogICAgIE1vZHVsZXMvd2ViZGF0YWJhc2UvQ2hhbmdlVmVyc2lvbldyYXBwZXIuaCBcCiAg
ICAgTW9kdWxlcy93ZWJkYXRhYmFzZS9ET01XaW5kb3dXZWJEYXRhYmFzZS5oIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKaW5kZXggZjdiMzUxZjk4YTAxMmMyZTA1OTE4YTU0
ZGNkMWQxMTNhMWFiNjBlOS4uNmU2MGQ1ODU1Y2I0MGM2ODAwNWM3NjE4OTExZGIyMTk5YWQyNTI3
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKQEAgLTYyLDYgKzYyLDcg
QEAKICAgICAgICcuLi9Nb2R1bGVzL21lZGlhc3RyZWFtJywKICAgICAgICcuLi9Nb2R1bGVzL25h
dmlnYXRvcmNvbnRlbnR1dGlscycsCiAgICAgICAnLi4vTW9kdWxlcy9ub3RpZmljYXRpb25zJywK
KyAgICAgICcuLi9Nb2R1bGVzL3Byb3hpbWl0eScsCiAgICAgICAnLi4vTW9kdWxlcy9xdW90YScs
CiAgICAgICAnLi4vTW9kdWxlcy9zcGVlY2gnLAogICAgICAgJy4uL01vZHVsZXMvd2ViYXVkaW8n
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXBpCmluZGV4IGUzZDYwMTM5YTRjN2M2ZjM3NmEzNDk3ZDBjYjgxODFhODI0
OGNjZjcuLmFjNWZiNDg0M2IzZjg0ODViYzRmODM4MzkyNmMwMGE1YjIyM2Y4ZDggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cGkKQEAgLTE0LDYgKzE0LDcgQEAKICAgICAgICAgICAgICdNb2R1bGVzL2dlb2xvY2F0
aW9uL1Bvc2l0aW9uT3B0aW9ucy5oJywKICAgICAgICAgICAgICdNb2R1bGVzL25vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uQ2xpZW50LmgnLAogICAgICAgICAgICAgJ01vZHVsZXMvbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb25Db250cm9sbGVyLmgnLAorICAgICAgICAgICAgJ01vZHVsZXMvcHJv
eGltaXR5L0RldmljZVByb3hpbWl0eUNsaWVudC5oJywKICAgICAgICAgICAgICdNb2R1bGVzL3dl
YmRhdGFiYXNlL0Fic3RyYWN0RGF0YWJhc2UuaCcsCiAgICAgICAgICAgICAnTW9kdWxlcy93ZWJk
YXRhYmFzZS9EYXRhYmFzZS5oJywKICAgICAgICAgICAgICdNb2R1bGVzL3dlYmRhdGFiYXNlL0Rh
dGFiYXNlRGV0YWlscy5oJywKQEAgLTg4NSw2ICs4ODYsNyBAQAogICAgICAgICAgICAgJ01vZHVs
ZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsJywKICAgICAgICAgICAgICdN
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlkbCcs
CiAgICAgICAgICAgICAnTW9kdWxlcy9ub3RpZmljYXRpb25zL1dvcmtlckNvbnRleHROb3RpZmlj
YXRpb25zLmlkbCcsCisgICAgICAgICAgICAnTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGlt
aXR5RXZlbnQuaWRsJywKICAgICAgICAgICAgICdNb2R1bGVzL3F1b3RhL0RPTVdpbmRvd1F1b3Rh
LmlkbCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9xdW90YS9TdG9yYWdlSW5mby5pZGwnLAogICAg
ICAgICAgICAgJ01vZHVsZXMvcXVvdGEvU3RvcmFnZUluZm9FcnJvckNhbGxiYWNrLmlkbCcsCkBA
IC0xNjU3LDYgKzE2NTksMTAgQEAKICAgICAgICAgICAgICdNb2R1bGVzL25vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgnLAogICAgICAgICAgICAgJ01vZHVsZXMv
bm90aWZpY2F0aW9ucy9Xb3JrZXJDb250ZXh0Tm90aWZpY2F0aW9ucy5jcHAnLAogICAgICAgICAg
ICAgJ01vZHVsZXMvbm90aWZpY2F0aW9ucy9Xb3JrZXJDb250ZXh0Tm90aWZpY2F0aW9ucy5oJywK
KyAgICAgICAgICAgICdNb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlDb250cm9sbGVy
LmNwcCcsCisgICAgICAgICAgICAnTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5Q29u
dHJvbGxlci5oJywKKyAgICAgICAgICAgICdNb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1p
dHlFdmVudC5jcHAnLAorICAgICAgICAgICAgJ01vZHVsZXMvcHJveGltaXR5L0RldmljZVByb3hp
bWl0eUV2ZW50LmgnLAogICAgICAgICAgICAgJ01vZHVsZXMvcXVvdGEvRE9NV2luZG93UXVvdGEu
Y3BwJywKICAgICAgICAgICAgICdNb2R1bGVzL3F1b3RhL0RPTVdpbmRvd1F1b3RhLmgnLAogICAg
ICAgICAgICAgJ01vZHVsZXMvcXVvdGEvU3RvcmFnZUluZm8uY3BwJywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUucHJpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcmkKaW5k
ZXggNjdlMTJjMDY2ZTJmM2Y3ZWFmYjY0NTUyYzM1NzYyMDAxZGY2MDlhOC4uY2ViN2ExNTE5ZWIy
OTcxNTRlZTE5ZTZkYTMxYzNjNGUxY2MyZDdlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcmkKQEAgLTE4LDYgKzE4
LDcgQEAgSU5DTFVERVBBVEggKz0gXAogICAgICQkU09VUkNFX0RJUi9Nb2R1bGVzL2luZGV4ZWRk
YiBcCiAgICAgJCRTT1VSQ0VfRElSL01vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzIFwKICAg
ICAkJFNPVVJDRV9ESVIvTW9kdWxlcy9ub3RpZmljYXRpb25zIFwKKyAgICAkJFNPVVJDRV9ESVIv
TW9kdWxlcy9wcm94aW1pdHkgXAogICAgICQkU09VUkNFX0RJUi9Nb2R1bGVzL3F1b3RhIFwKICAg
ICAkJFNPVVJDRV9ESVIvTW9kdWxlcy93ZWJhdWRpbyBcCiAgICAgJCRTT1VSQ0VfRElSL01vZHVs
ZXMvd2ViZGF0YWJhc2UgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3Jl
LnZjcHJvagppbmRleCA5ZDkyYjgwOWM4MmEwY2ZiOTM3MTk2OWE0NWI0OTllY2VmNjY1OTQyLi42
ODkzY2NjNWNkMDE3YTUxYWM5NDZhMDhiMzYxZmI3ZDk0YmVmM2Y5IDEwMDc1NQotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMjUxNjYsNiArMjUxNjYsMzAg
QEAKIAkJCQk8L0ZpbGU+CiAJCQk8L0ZpbHRlcj4KIAkJCTxGaWx0ZXIKKwkJCQlOYW1lPSJwcm94
aW1pdHkiCisJCQkJPgorCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cTW9kdWxlc1xw
cm94aW1pdHlcRGV2aWNlUHJveGltaXR5Q2xpZW50LmgiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJ
CQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxNb2R1bGVzXHByb3hpbWl0eVxEZXZpY2VQ
cm94aW1pdHlDb250cm9sbGVyLmNwcCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQor
CQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXE1vZHVsZXNccHJveGltaXR5XERldmljZVByb3hpbWl0eUNv
bnRyb2xsZXIuaCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQorCQkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXE1vZHVsZXNccHJveGltaXR5XERldmljZVByb3hpbWl0eUV2ZW50LmNwcCIKKwkJ
CQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXE1vZHVs
ZXNccHJveGltaXR5XERldmljZVByb3hpbWl0eUV2ZW50LmgiCisJCQkJCT4KKwkJCQk8L0ZpbGU+
CisJCQk8L0ZpbHRlcj4KKwkJCTxGaWx0ZXIKIAkJCQlOYW1lPSJxdW90YSIKIAkJCQk+CiAJCQkJ
PEZpbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmVD
b21tb24udnNwcm9wcyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmVDb21t
b24udnNwcm9wcwppbmRleCA1YTFhMDUyNjNmYzhiMTNiYzVmZDY2NDllNDJiMDBiYmVlMzRkYWU3
Li42MmY3MjAwOThlODVjMzc1NjFlMjdlZDY3NjhhY2U5ZDM5MjdhZDkyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlQ29tbW9uLnZzcHJvcHMKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZUNvbW1vbi52c3Byb3BzCkBAIC03
LDcgKzcsNyBAQAogCT4KIAk8VG9vbAogCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQlBZGRp
dGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDskKFByb2plY3REaXIpLi4mcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNcZmlsZXN5c3RlbSZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpLi5cTW9kdWxlc1xnZW9sb2NhdGlvbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5c
TW9kdWxlc1xpbmRleGVkZGImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNcbWVk
aWFzb3VyY2UmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNcbmF2aWdhdG9yY29u
dGVudHV0aWxzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxNb2R1bGVzXHF1b3RhJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlxNb2R1bGVzXG5vdGlmaWNhdGlvbnMmcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNcd2ViZGF0YWJhc2UmcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKS4uXE1vZHVsZXNcd2Vic29ja2V0cyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cYWNj
ZXNzaWJpbGl0eSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cYWNjZXNzaWJpbGl0eVx3aW4m
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGJyaWRnZSZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpLi5cYnJpZGdlXGMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGJyaWRnZVxqc2MmcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGNzcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5c
ZWRpdGluZyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cZmlsZWFwaSZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpLi5ccmVuZGVyaW5nJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxyZW5k
ZXJpbmdcbWF0aG1sJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxyZW5kZXJpbmdcc3R5bGUm
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHJlbmRlcmluZ1xzdmcmcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKS4uXGJpbmRpbmdzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxiaW5kaW5n
c1xnZW5lcmljJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxiaW5kaW5nc1xqcyZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpLi5cYmluZGluZ3NcanNcc3BlY2lhbGl6YXRpb24mcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKS4uXGRvbSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cZG9tXGRl
ZmF1bHQmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGhpc3RvcnkmcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKS4uXGh0bWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGh0bWxcY2FudmFz
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxodG1sXHBhcnNlciZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpLi5caHRtbFxzaGFkb3cmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGluc3Bl
Y3RvciZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cbG9hZGVyJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcikuLlxsb2FkZXJcYXBwY2FjaGUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxv
YWRlclxhcmNoaXZlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxsb2FkZXJcYXJjaGl2ZVxj
ZiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cbG9hZGVyXGNhY2hlJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcikuLlxsb2FkZXJcaWNvbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cbWF0
aG1sJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwYWdlJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxwYWdlXGFuaW1hdGlvbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGFnZVxz
Y3JvbGxpbmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBhZ2Vcd2luJnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxh
dGZvcm1cYW5pbWF0aW9uJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxtb2Nr
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxzcWwmcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKS4uXHBsYXRmb3JtXHdpbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxh
dGZvcm1cbmV0d29yayZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cbmV0d29y
a1x3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGNmJnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxncmFwaGljcyZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3NcY2EmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBs
YXRmb3JtXGdyYXBoaWNzXGNwdVxhcm1cZmlsdGVycyZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
Li5ccGxhdGZvcm1cZ3JhcGhpY3NcZmlsdGVycyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5c
cGxhdGZvcm1cZ3JhcGhpY3NcZmlsdGVyc1xhcm0mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4u
XHBsYXRmb3JtXGdyYXBoaWNzXG9wZW50eXBlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxw
bGF0Zm9ybVxncmFwaGljc1x0cmFuc2Zvcm1zJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxw
bGF0Zm9ybVx0ZXh0JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVx0ZXh0XHRy
YW5zY29kZXImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNzXHdp
biZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ceG1sJnF1b3Q7OyZxdW90OyQoUHJvamVjdERp
cikuLlx4bWxccGFyc2VyJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpc
V2ViQ29yZVxEZXJpdmVkU291cmNlcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGx1Z2lu
cyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGx1Z2luc1x3aW4mcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKS4uXHN2Z1xhbmltYXRpb24mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHN2
Z1xncmFwaGljcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cc3ZnXHByb3BlcnRpZXMmcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHN2Z1xncmFwaGljc1xmaWx0ZXJzJnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcikuLlxzdmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHRlc3Rpbmcm
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHdtbCZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
Li5cc3RvcmFnZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cd2Vic29ja2V0cyZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpLi5cd29ya2VycyZxdW90OzsmcXVvdDskKENvbmZpZ3VyYXRpb25C
dWlsZERpcilcaW5jbHVkZSZxdW90OzsmcXVvdDskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcaW5j
bHVkZVxwcml2YXRlJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxpbmNsdWRl
XEphdmFTY3JpcHRDb3JlJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxpbmNs
dWRlXHByaXZhdGVcSmF2YVNjcmlwdENvcmUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXEZv
cndhcmRpbmdIZWFkZXJzJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRl
JnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRlXHByaXZhdGUmcXVvdDs7
JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGVccHJpdmF0ZVxKYXZhU2NyaXB0Q29y
ZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZVxwdGhyZWFkcyZxdW90
OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZVxzcWxpdGUmcXVvdDs7JnF1b3Q7
JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGVcSmF2YVNjcmlwdENvcmUmcXVvdDs7JnF1b3Q7
JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGVcemxpYiZxdW90OyIKKwkJQWRkaXRpb25hbElu
Y2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7JChQcm9qZWN0RGlyKS4uJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcikuLlxNb2R1bGVzXGZpbGVzeXN0ZW0mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4u
XE1vZHVsZXNcZ2VvbG9jYXRpb24mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNc
aW5kZXhlZGRiJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxNb2R1bGVzXG1lZGlhc291cmNl
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxNb2R1bGVzXG5hdmlnYXRvcmNvbnRlbnR1dGls
cyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1xwcm94aW1pdHkmcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNccXVvdGEmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KS4uXE1vZHVsZXNcbm90aWZpY2F0aW9ucyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9k
dWxlc1x3ZWJkYXRhYmFzZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1x3ZWJz
b2NrZXRzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxhY2Nlc3NpYmlsaXR5JnF1b3Q7OyZx
dW90OyQoUHJvamVjdERpcikuLlxhY2Nlc3NpYmlsaXR5XHdpbiZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpLi5cYnJpZGdlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxicmlkZ2VcYyZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpLi5cYnJpZGdlXGpzYyZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpLi5cY3NzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxlZGl0aW5nJnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcikuLlxmaWxlYXBpJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxyZW5k
ZXJpbmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHJlbmRlcmluZ1xtYXRobWwmcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHJlbmRlcmluZ1xzdHlsZSZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpLi5ccmVuZGVyaW5nXHN2ZyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cYmluZGlu
Z3MmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGJpbmRpbmdzXGdlbmVyaWMmcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKS4uXGJpbmRpbmdzXGpzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpciku
LlxiaW5kaW5nc1xqc1xzcGVjaWFsaXphdGlvbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5c
ZG9tJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxkb21cZGVmYXVsdCZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpLi5caGlzdG9yeSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5caHRtbCZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpLi5caHRtbFxjYW52YXMmcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKS4uXGh0bWxccGFyc2VyJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxodG1sXHNo
YWRvdyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5caW5zcGVjdG9yJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcikuLlxsb2FkZXImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlclxh
cHBjYWNoZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cbG9hZGVyXGFyY2hpdmUmcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlclxhcmNoaXZlXGNmJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcikuLlxsb2FkZXJcY2FjaGUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRl
clxpY29uJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxtYXRobWwmcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKS4uXHBhZ2UmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBhZ2VcYW5pbWF0
aW9uJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwYWdlXHNjcm9sbGluZyZxdW90OzsmcXVv
dDskKFByb2plY3REaXIpLi5ccGFnZVx3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBs
YXRmb3JtJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxhbmltYXRpb24mcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXG1vY2smcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKS4uXHBsYXRmb3JtXHNxbCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZv
cm1cd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxuZXR3b3JrJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxuZXR3b3JrXHdpbiZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpLi5ccGxhdGZvcm1cY2YmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBs
YXRmb3JtXGdyYXBoaWNzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxncmFw
aGljc1xjYSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3NcY3B1
XGFybVxmaWx0ZXJzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxncmFwaGlj
c1xmaWx0ZXJzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxncmFwaGljc1xm
aWx0ZXJzXGFybSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3Nc
b3BlbnR5cGUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNzXHRy
YW5zZm9ybXMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXHRleHQmcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXHRleHRcdHJhbnNjb2RlciZxdW90OzsmcXVv
dDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3Ncd2luJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcikuLlx4bWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHhtbFxwYXJzZXImcXVv
dDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialxXZWJDb3JlXERlcml2ZWRTb3Vy
Y2VzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbHVnaW5zJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcikuLlxwbHVnaW5zXHdpbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cc3ZnXGFu
aW1hdGlvbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cc3ZnXGdyYXBoaWNzJnF1b3Q7OyZx
dW90OyQoUHJvamVjdERpcikuLlxzdmdccHJvcGVydGllcyZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpLi5cc3ZnXGdyYXBoaWNzXGZpbHRlcnMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHN2
ZyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cdGVzdGluZyZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpLi5cd21sJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxzdG9yYWdlJnF1b3Q7OyZx
dW90OyQoUHJvamVjdERpcikuLlx3ZWJzb2NrZXRzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpciku
Llx3b3JrZXJzJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxpbmNsdWRlJnF1
b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxpbmNsdWRlXHByaXZhdGUmcXVvdDs7
JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXGluY2x1ZGVcSmF2YVNjcmlwdENvcmUmcXVv
dDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXGluY2x1ZGVccHJpdmF0ZVxKYXZhU2Ny
aXB0Q29yZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cRm9yd2FyZGluZ0hlYWRlcnMmcXVv
dDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGUmcXVvdDs7JnF1b3Q7JChXZWJL
aXRMaWJyYXJpZXNEaXIpXGluY2x1ZGVccHJpdmF0ZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJh
cmllc0RpcilcaW5jbHVkZVxwcml2YXRlXEphdmFTY3JpcHRDb3JlJnF1b3Q7OyZxdW90OyQoV2Vi
S2l0TGlicmFyaWVzRGlyKVxpbmNsdWRlXHB0aHJlYWRzJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGli
cmFyaWVzRGlyKVxpbmNsdWRlXHNxbGl0ZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0Rp
cilcaW5jbHVkZVxKYXZhU2NyaXB0Q29yZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0Rp
cilcaW5jbHVkZVx6bGliJnF1b3Q7IgogCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX19XSU4z
Ml9fO0RJU0FCTEVfM0RfUkVOREVSSU5HO1dFQkNPUkVfQ09OVEVYVF9NRU5VUyIKIAkJVXNlUHJl
Y29tcGlsZWRIZWFkZXI9IjIiCiAJCVByZWNvbXBpbGVkSGVhZGVyVGhyb3VnaD0iV2ViQ29yZVBy
ZWZpeC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDM0MDRjYzE1ZWViNWRhNzM3OWEyMGNjYzg1ZmU5Yjc2NzgxYTAxMWUuLmQ4
YTBkNDg1NmRjYzcyZmE3MGQzNWM2YWQzZmM5ZTcxZjIyYmNlYjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEzODc3LDYgKzEz
ODc3LDEyIEBACiAJCUY1QzI4Njk1MDI4NDZEQ0QwMTg2MzVDQSAvKiBDb2NvYS5mcmFtZXdvcmsg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVy
LmZyYW1ld29yazsgbmFtZSA9IENvY29hLmZyYW1ld29yazsgcGF0aCA9IC9TeXN0ZW0vTGlicmFy
eS9GcmFtZXdvcmtzL0NvY29hLmZyYW1ld29yazsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+Ijsg
fTsKIAkJRjVFMEM2NTkxNjQzQzQyQzAwRDZDQjY5IC8qIEJhc2VDaG9vc2VyT25seURhdGVBbmRU
aW1lSW5wdXRUeXBlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEJh
c2VDaG9vc2VyT25seURhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRjVFMEM2NUExNjQzQzQyQzAwRDZDQjY5IC8qIEJhc2VDaG9vc2VyT25seURh
dGVBbmRUaW1lSW5wdXRUeXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJh
c2VDaG9vc2VyT25seURhdGVBbmRUaW1lSW5wdXRUeXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUY2MDk4RjdBMTY2NkQ4QTcwMDMyNjlEMSAvKiBEZXZpY2VQcm94aW1pdHlDbGll
bnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRGV2aWNlUHJveGltaXR5Q2xp
ZW50Lmg7IHBhdGggPSBNb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlDbGllbnQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjYwOThGN0IxNjY2RDhBNzAwMzI2OUQxIC8q
IERldmljZVByb3hpbWl0eUNvbnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBuYW1lID0gRGV2aWNlUHJveGltaXR5Q29udHJvbGxlci5jcHA7IHBhdGggPSBNb2R1bGVz
L3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJRjYwOThGN0MxNjY2RDhBNzAwMzI2OUQxIC8qIERldmljZVByb3hpbWl0
eUNvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRGV2aWNlUHJv
eGltaXR5Q29udHJvbGxlci5oOyBwYXRoID0gTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGlt
aXR5Q29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNjA5OEY3RDE2
NjZEOEE3MDAzMjY5RDEgLyogRGV2aWNlUHJveGltaXR5RXZlbnQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRGV2aWNlUHJveGltaXR5RXZlbnQuY3BwOyBwYXRoID0g
TW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5RXZlbnQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlGNjA5OEY3RTE2NjZEOEE3MDAzMjY5RDEgLyogRGV2aWNlUHJveGlt
aXR5RXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRGV2aWNlUHJveGlt
aXR5RXZlbnQuaDsgcGF0aCA9IE1vZHVsZXMvcHJveGltaXR5L0RldmljZVByb3hpbWl0eUV2ZW50
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY2MDk4RjdGMTY2NkQ4QTcwMDMyNjlE
MSAvKiBEZXZpY2VQcm94aW1pdHlFdmVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gRGV2
aWNlUHJveGltaXR5RXZlbnQuaWRsOyBwYXRoID0gTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJv
eGltaXR5RXZlbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGN0EwMzRDMzEy
NkJGNkJFMDA3REMxOUUgLyogRm9udE9yaWVudGF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEZvbnRPcmllbnRhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlGODIxNjI5OTAyOUY0RkI1MDEwMDAxMzEgLyogSmF2YVNjcmlwdENvcmUuZnJhbWV3b3Jr
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBl
ci5mcmFtZXdvcms7IHBhdGggPSBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcms7IHNvdXJjZVRyZWUg
PSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCUY5MTZDNDhCMERCNTEwRjgwMDc2Q0Q4MyAvKiBK
U1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTc5MzAsNiArMTc5MzYsNyBAQAogCQkJCTk3MTJBNTUz
MTUwMDRFM0MwMDQ4QUYxMCAvKiBpbmRleGVkZGIgKi8sCiAJCQkJQjFBOTQyREQxNUI1Q0UyMjAw
RDUyNUQxIC8qIG1lZGlhc291cmNlICovLAogCQkJCTMzM0Y3MDNEMEZCNDlDMTYwMDhFMTJBNiAv
KiBub3RpZmljYXRpb25zICovLAorCQkJCUY2MDk4Rjc4MTY2NkQ4NDEwMDMyNjlEMSAvKiBwcm94
aW1pdHkgKi8sCiAJCQkJODlGNjBCMDgxNTdGNjgzNTAwNzVFMTU3IC8qIHF1b3RhICovLAogCQkJ
CUZEMzE1RkEyMTJCMDI1QjEwMEMxQTM1OSAvKiB3ZWJhdWRpbyAqLywKIAkJCQk5N0JDNjlENTE1
MDVGMDU0MDAxQjc0QUMgLyogd2ViZGF0YWJhc2UgKi8sCkBAIC0yMjIwMCw2ICsyMjIwNywxOSBA
QAogCQkJdGFiV2lkdGggPSA0OwogCQkJdXNlc1RhYnMgPSAwOwogCQl9OworCQlGNjA5OEY3ODE2
NjZEODQxMDAzMjY5RDEgLyogcHJveGltaXR5ICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJ
CQljaGlsZHJlbiA9ICgKKwkJCQlGNjA5OEY3QTE2NjZEOEE3MDAzMjY5RDEgLyogRGV2aWNlUHJv
eGltaXR5Q2xpZW50LmggKi8sCisJCQkJRjYwOThGN0IxNjY2RDhBNzAwMzI2OUQxIC8qIERldmlj
ZVByb3hpbWl0eUNvbnRyb2xsZXIuY3BwICovLAorCQkJCUY2MDk4RjdDMTY2NkQ4QTcwMDMyNjlE
MSAvKiBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmggKi8sCisJCQkJRjYwOThGN0QxNjY2RDhB
NzAwMzI2OUQxIC8qIERldmljZVByb3hpbWl0eUV2ZW50LmNwcCAqLywKKwkJCQlGNjA5OEY3RTE2
NjZEOEE3MDAzMjY5RDEgLyogRGV2aWNlUHJveGltaXR5RXZlbnQuaCAqLywKKwkJCQlGNjA5OEY3
RjE2NjZEOEE3MDAzMjY5RDEgLyogRGV2aWNlUHJveGltaXR5RXZlbnQuaWRsICovLAorCQkJKTsK
KwkJCW5hbWUgPSBwcm94aW1pdHk7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9Owog
CQlGQUJFNzJFQzEwNTlDMUVCMDBEOTk5REQgLyogbWF0aG1sICovID0gewogCQkJaXNhID0gUEJY
R3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2hpc3Rv
cnkvUGFnZUNhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmNwcApp
bmRleCBlN2VlYmRjNDM3NDJjNTVmMTQxMTFlY2QyZTIxNGE4ZTBiY2E0NjhkLi4yZjQ0MjViN2Jh
N2ViNGZhYWQ5NzhjMTQ5ZWFkNWU4NTQzYTQ5MGE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9oaXN0b3J5L1BhZ2VDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdl
Q2FjaGUuY3BwCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiRGF0YWJhc2VDb250ZXh0Lmgi
CiAjaW5jbHVkZSAiRGV2aWNlTW90aW9uQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkRldmljZU9y
aWVudGF0aW9uQ29udHJvbGxlci5oIgorI2luY2x1ZGUgIkRldmljZVByb3hpbWl0eUNvbnRyb2xs
ZXIuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgi
CiAjaW5jbHVkZSAiRnJhbWUuaCIKQEAgLTI1MSw2ICsyNTIsMTIgQEAgc3RhdGljIHZvaWQgbG9n
Q2FuQ2FjaGVQYWdlRGVjaXNpb24oUGFnZSogcGFnZSkKICAgICAgICAgcmVqZWN0UmVhc29ucyB8
PSAxIDw8IFVzZXNEZXZpY2VPcmllbnRhdGlvbjsKICAgICB9CiAjZW5kaWYKKyNpZiBFTkFCTEUo
UFJPWElNSVRZX0VWRU5UUykKKyAgICBpZiAoRGV2aWNlUHJveGltaXR5Q29udHJvbGxlcjo6aXNB
Y3RpdmVBdChwYWdlKSkgeworICAgICAgICBQQ0xPRygiICAgLVBhZ2UgaXMgdXNpbmcgRGV2aWNl
UHJveGltaXR5Iik7CisgICAgICAgIHJlamVjdFJlYXNvbnMgfD0gMSA8PCBVc2VzRGV2aWNlTW90
aW9uOworICAgIH0KKyNlbmRpZgogICAgIEZyYW1lTG9hZFR5cGUgbG9hZFR5cGUgPSBwYWdlLT5t
YWluRnJhbWUoKS0+bG9hZGVyKCktPmxvYWRUeXBlKCk7CiAgICAgaWYgKGxvYWRUeXBlID09IEZy
YW1lTG9hZFR5cGVSZWxvYWQpIHsKICAgICAgICAgUENMT0coIiAgIC1Mb2FkIHR5cGUgaXM6IFJl
bG9hZCIpOwpAQCAtMzg1LDYgKzM5Miw5IEBAIGJvb2wgUGFnZUNhY2hlOjpjYW5DYWNoZShQYWdl
KiBwYWdlKSBjb25zdAogICAgICAgICAmJiAhRGV2aWNlTW90aW9uQ29udHJvbGxlcjo6aXNBY3Rp
dmVBdChwYWdlKQogICAgICAgICAmJiAhRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyOjppc0Fj
dGl2ZUF0KHBhZ2UpCiAjZW5kaWYKKyNpZiBFTkFCTEUoUFJPWElNSVRZX0VWRU5UUykKKyAgICAg
ICAgJiYgIURldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6OmlzQWN0aXZlQXQocGFnZSkKKyNlbmRp
ZgogICAgICAgICAmJiBsb2FkVHlwZSAhPSBGcmFtZUxvYWRUeXBlUmVsb2FkCiAgICAgICAgICYm
IGxvYWRUeXBlICE9IEZyYW1lTG9hZFR5cGVSZWxvYWRGcm9tT3JpZ2luCiAgICAgICAgICYmIGxv
YWRUeXBlICE9IEZyYW1lTG9hZFR5cGVTYW1lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9ET01XaW5kb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmlu
ZGV4IDNkODI1OTlmYmFhODIzYTZmYWY2MGFkMGI2ZDljYjM1MzBiOTBhMjMuLmIwMmJmYmJlMDkx
ODg3ZDVhMDYyZjBmODYxNjQ2YmU3Yzg0NDQ4YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5j
cHAKQEAgLTUwLDYgKzUwLDcgQEAKICNpbmNsdWRlICJEYXRhYmFzZUNhbGxiYWNrLmgiCiAjaW5j
bHVkZSAiRGV2aWNlTW90aW9uQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkRldmljZU9yaWVudGF0
aW9uQ29udHJvbGxlci5oIgorI2luY2x1ZGUgIkRldmljZVByb3hpbWl0eUNvbnRyb2xsZXIuaCIK
ICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCiAjaW5j
bHVkZSAiRWxlbWVudC5oIgpAQCAtMTYwMyw2ICsxNjA0LDEzIEBAIGJvb2wgRE9NV2luZG93Ojph
ZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBQYXNzUmVmUHRy
PEV2ZW50CiAgICAgfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoUFJPWElNSVRZX0VWRU5UUykKKyAg
ICBlbHNlIGlmIChldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLndlYmtpdGRldmljZXByb3hpbWl0
eUV2ZW50KSB7CisgICAgICAgIGlmIChEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyKiBjb250cm9s
bGVyID0gRGV2aWNlUHJveGltaXR5Q29udHJvbGxlcjo6ZnJvbShwYWdlKCkpKQorICAgICAgICAg
ICAgY29udHJvbGxlci0+YWRkRGV2aWNlRXZlbnRMaXN0ZW5lcih0aGlzKTsKKyAgICB9CisjZW5k
aWYKKwogICAgIHJldHVybiB0cnVlOwogfQogCkBAIC0xNjMyLDYgKzE2NDAsMTMgQEAgYm9vbCBE
T01XaW5kb3c6OnJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5
cGUsIEV2ZW50TGlzdGVuZXIKICAgICB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShQUk9YSU1JVFlf
RVZFTlRTKQorICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkud2Via2l0ZGV2
aWNlcHJveGltaXR5RXZlbnQpIHsKKyAgICAgICAgaWYgKERldmljZVByb3hpbWl0eUNvbnRyb2xs
ZXIqIGNvbnRyb2xsZXIgPSBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyOjpmcm9tKHBhZ2UoKSkp
CisgICAgICAgICAgICBjb250cm9sbGVyLT5yZW1vdmVEZXZpY2VFdmVudExpc3RlbmVyKHRoaXMp
OworICAgIH0KKyNlbmRpZgorCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKQEAgLTE2ODgsNiArMTcw
MywxMSBAQCB2b2lkIERPTVdpbmRvdzo6cmVtb3ZlQWxsRXZlbnRMaXN0ZW5lcnMoKQogICAgICAg
ICBjb250cm9sbGVyLT5yZW1vdmVBbGxEZXZpY2VFdmVudExpc3RlbmVycyh0aGlzKTsKICNlbmRp
ZgogCisjaWYgRU5BQkxFKFBST1hJTUlUWV9FVkVOVFMpCisgICAgaWYgKERldmljZVByb3hpbWl0
eUNvbnRyb2xsZXIqIGNvbnRyb2xsZXIgPSBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyOjpmcm9t
KHBhZ2UoKSkpCisgICAgICAgIGNvbnRyb2xsZXItPnJlbW92ZUFsbERldmljZUV2ZW50TGlzdGVu
ZXJzKHRoaXMpOworI2VuZGlmCisKICAgICByZW1vdmVBbGxVbmxvYWRFdmVudExpc3RlbmVycyh0
aGlzKTsKICAgICByZW1vdmVBbGxCZWZvcmVVbmxvYWRFdmVudExpc3RlbmVycyh0aGlzKTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlUHJveGltaXR5
Q2xpZW50TW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZVByb3hp
bWl0eUNsaWVudE1vY2suY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM5ZWY0ZDhmOWNjNzgzNDUxNTIyMjI5ZjJh
MzY5Y2M5ODBjN2JiNjgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tb2NrL0RldmljZVByb3hpbWl0eUNsaWVudE1vY2suY3BwCkBAIC0wLDAgKzEsNjEgQEAKKy8q
CisgKiBDb3B5cmlnaHQgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRGV2aWNlUHJv
eGltaXR5Q2xpZW50TW9jay5oIgorCisjaWYgRU5BQkxFKFBST1hJTUlUWV9FVkVOVFMpCisKKyNp
bmNsdWRlICJEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworRGV2aWNlUHJveGltaXR5Q2xpZW50TW9jazo6RGV2aWNlUHJveGltaXR5Q2xpZW50TW9j
aygpCisgICAgOiBtX2lzVXBkYXRpbmcoZmFsc2UpCit7Cit9CisKK3ZvaWQgRGV2aWNlUHJveGlt
aXR5Q2xpZW50TW9jazo6c3RhcnRVcGRhdGluZygpCit7CisgICAgbV9pc1VwZGF0aW5nID0gdHJ1
ZTsKK30KKwordm9pZCBEZXZpY2VQcm94aW1pdHlDbGllbnRNb2NrOjpzdG9wVXBkYXRpbmcoKQor
eworICAgIG1faXNVcGRhdGluZyA9IGZhbHNlOworfQorCit2b2lkIERldmljZVByb3hpbWl0eUNs
aWVudE1vY2s6OnNldFByb3hpbWl0eShQYWdlKiBwYWdlLCBjb25zdCBkb3VibGUgdmFsdWUsIGNv
bnN0IGRvdWJsZSBtaW4sIGNvbnN0IGRvdWJsZSBtYXgpCit7CisgICAgbV92YWx1ZSA9IHZhbHVl
OworICAgIG1fbWluID0gbWluOworICAgIG1fbWF4ID0gbWF4OworICAgIGlmIChtX2lzVXBkYXRp
bmcpCisgICAgICAgIERldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6OmZyb20ocGFnZSktPmRpZENo
YW5nZURldmljZVByb3hpbWl0eSh2YWx1ZSwgbWluLCBtYXgpOworfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBQUk9YSU1JVFlfRVZFTlRTCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZVByb3hpbWl0eUNsaWVudE1vY2suaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlUHJveGltaXR5Q2xpZW50TW9jay5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjkwNzE5ZmNkZTRiNDhkZGJiNTE0MzIyZWNmNjliNGM1MWRhNDk1ZWYKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZVByb3hpbWl0
eUNsaWVudE1vY2suaApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IDIwMTIgU2Ft
c3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRl
ZiBEZXZpY2VQcm94aW1pdHlDbGllbnRNb2NrX2gKKyNkZWZpbmUgRGV2aWNlUHJveGltaXR5Q2xp
ZW50TW9ja19oCisKKyNpZiBFTkFCTEUoUFJPWElNSVRZX0VWRU5UUykKKworI2luY2x1ZGUgIkRl
dmljZVByb3hpbWl0eUNsaWVudC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFBh
Z2U7CisKK2NsYXNzIERldmljZVByb3hpbWl0eUNsaWVudE1vY2sgOiBwdWJsaWMgRGV2aWNlUHJv
eGltaXR5Q2xpZW50IHsKK3B1YmxpYzoKKyAgICBEZXZpY2VQcm94aW1pdHlDbGllbnRNb2NrKCk7
CisgICAgdmlydHVhbCB+RGV2aWNlUHJveGltaXR5Q2xpZW50TW9jaygpIHsgfQorCisgICAgdmly
dHVhbCB2b2lkIHN0YXJ0VXBkYXRpbmcoKTsKKyAgICB2aXJ0dWFsIHZvaWQgc3RvcFVwZGF0aW5n
KCk7CisKKyAgICB2b2lkIHNldFByb3hpbWl0eShQYWdlKiwgY29uc3QgZG91YmxlIHZhbHVlLCBj
b25zdCBkb3VibGUgbWluLCBjb25zdCBkb3VibGUgbWF4KTsKKworcHJpdmF0ZToKKyAgICBib29s
IG1faXNVcGRhdGluZzsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IFBST1hJTUlUWV9FVkVOVFMKKyNlbmRpZiAvLyBEZXZpY2VQcm94aW1pdHlDbGllbnRNb2NrX2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1FZmwuY21ha2UgYi9Tb3VyY2UvV2Vi
S2l0L1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IGVkN2I5NGQyZjhhNmFjZGI1OTQ0OTdlNTgzN2I4
YTViYTdmNTQxNzUuLjEwNDRhMmM5MWQ4OWU3YjFmNTY2ZTI1YjBkOTMwMjVlMTAyNmJkNjcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1FZmwuY21ha2UKKysrIGIvU291cmNlL1dl
YktpdC9QbGF0Zm9ybUVmbC5jbWFrZQpAQCAtNCw2ICs0LDcgQEAgTElTVChBUFBFTkQgV2ViS2l0
X0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtXRUJLSVRfRElSfS9lZmwvV2ViQ29yZVN1cHBv
cnQiCiAgICAgIiR7SkFWQVNDUklQVENPUkVfRElSfS9Gb3J3YXJkaW5nSGVhZGVycyIKICAgICAi
JHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9maWxlc3lzdGVtIgorICAgICIke1dFQkNPUkVfRElSfS9N
b2R1bGVzL3Byb3hpbWl0eSIKICAgICAiJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vZWZsIgogICAg
ICIke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlybyIKICAgICAiJHtXRUJDT1JF
X0RJUn0vcGxhdGZvcm0vZ3JhcGhpY3MvZWZsIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9l
ZmwvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5jcHAKaW5k
ZXggMTRmZjc1M2Y1ZTNhOWVhZTlmZjgzOWQzODk1YTliMDEyOTIwOGEzNS4uNWI5MzNmNmYyNThl
OGM2ZjIxOWY4NDljMDZmOTEzZTAxNjIwMGZmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9l
ZmwvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwuY3Bw
CkBAIC0zMiw2ICszMiw4IEBACiAjaW5jbHVkZSA8QVBJQ2FzdC5oPgogI2luY2x1ZGUgPEFuaW1h
dGlvbkNvbnRyb2xsZXIuaD4KICNpbmNsdWRlIDxDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24u
aD4KKyNpbmNsdWRlIDxEZXZpY2VQcm94aW1pdHlDbGllbnRNb2NrLmg+CisjaW5jbHVkZSA8RGV2
aWNlUHJveGltaXR5Q29udHJvbGxlci5oPgogI2luY2x1ZGUgPERvY3VtZW50TG9hZGVyLmg+CiAj
aW5jbHVkZSA8RWRpdG9yQ2xpZW50RWZsLmg+CiAjaW5jbHVkZSA8RWluYS5oPgpAQCAtODc5LDMg
Kzg4MSwxOCBAQCBpbnQgRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsOjpudW1iZXJPZlBlbmRpbmdH
ZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0cyhjb25zdAogICAgIHJldHVybiAwOwogI2VuZGlm
CiB9CisKK3ZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsOjpzZXRNb2NrRGV2aWNlUHJveGlt
aXR5KGNvbnN0IEV2YXNfT2JqZWN0KiBld2tWaWV3LCBkb3VibGUgdmFsdWUsIGRvdWJsZSBtaW4s
IGRvdWJsZSBtYXgpCit7CisjaWYgRU5BQkxFKFBST1hJTUlUWV9FVkVOVFMpCisgICAgRFJUX1NV
UFBSVF9QQUdFX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgcGFnZSk7CisKKyAgICBXZWJDb3JlOjpE
ZXZpY2VQcm94aW1pdHlDbGllbnRNb2NrKiBtb2NrID0gc3RhdGljX2Nhc3Q8V2ViQ29yZTo6RGV2
aWNlUHJveGltaXR5Q2xpZW50TW9jayo+KFdlYkNvcmU6OkRldmljZVByb3hpbWl0eUNvbnRyb2xs
ZXI6OmZyb20ocGFnZSktPmRldmljZVByb3hpbWl0eUNsaWVudCgpKTsKKyAgICBtb2NrLT5zZXRQ
cm94aW1pdHkocGFnZSwgdmFsdWUsIG1pbiwgbWF4KTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFN
KGV3a1ZpZXcpOworICAgIFVOVVNFRF9QQVJBTSh2YWx1ZSk7CisgICAgVU5VU0VEX1BBUkFNKG1p
bik7CisgICAgVU5VU0VEX1BBUkFNKG1heCk7CisjZW5kaWYKK30KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5oIGIv
U291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZs
LmgKaW5kZXggODAyNzdkNTFhMmFmZjU5MzdiOTBjMjRjZjhjMzcwOTQzMzhkOTk3ZS4uN2FmM2M1
MjQzZjg1OGYwNTNlZjY0OWJhNDAxOTBhZjViNTVjNmMxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsLmgKKysrIGIv
U291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZs
LmgKQEAgLTEzOSw2ICsxMzksOCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgc2V0TW9ja0dl
b2xvY2F0aW9uUG9zaXRpb25VbmF2YWlsYWJsZUVycm9yKGNvbnN0IEV2YXNfT2JqZWN0KiwgY29u
c3QgY2hhciogZXJyb3JNZXNzYWdlKTsKICAgICBzdGF0aWMgaW50IG51bWJlck9mUGVuZGluZ0dl
b2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RzKGNvbnN0IEV2YXNfT2JqZWN0Kik7CiAKKyAgICAv
LyBQcm94aW1pdHkKKyAgICBzdGF0aWMgdm9pZCBzZXRNb2NrRGV2aWNlUHJveGltaXR5KGNvbnN0
IEV2YXNfT2JqZWN0KiwgZG91YmxlIHZhbHVlLCBkb3VibGUgbWluLCBkb3VibGUgbWF4KTsKIHBy
aXZhdGU6CiAgICAgc3RhdGljIGJvb2wgc19kcnRSdW47CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tf
dmlldy5jcHAKaW5kZXggNjc3YmJmYTM4NDVmYWQ3NzZlNmI4MzNjYWY3M2FlMmQzMzU3MDQ1NC4u
NGI0MjI2MGY2MmRlYWQ4MjYzNjE5NmUyOGZkMmU3OTU5MjhkMzAxOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9l
d2svZXdrX3ZpZXcuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiQ2hyb21lQ2xpZW50
RWZsLmgiCiAjaW5jbHVkZSAiQ29udGV4dE1lbnVDbGllbnRFZmwuaCIKICNpbmNsdWRlICJDb250
ZXh0TWVudUNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJEZXZpY2VQcm94aW1pdHlDbGllbnRNb2Nr
LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbmNsdWRlICJEcmFnQ2xpZW50RWZs
LmgiCiAjaW5jbHVkZSAiRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsLmgiCkBAIC03NzQsNiArNzc1
LDExIEBAIHN0YXRpYyBFd2tfVmlld19Qcml2YXRlX0RhdGEqIF9ld2tfdmlld19wcml2X25ldyhF
d2tfVmlld19TbWFydF9EYXRhKiBzbWFydERhdGEpCiAgICAgV2ViQ29yZTo6cHJvdmlkZURldmlj
ZU9yaWVudGF0aW9uVG8ocHJpdi0+cGFnZS5nZXQoKSwgbmV3IFdlYkNvcmU6OkRldmljZU9yaWVu
dGF0aW9uQ2xpZW50RWZsKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKFBST1hJTUlUWV9FVkVOVFMp
CisgICAgaWYgKER1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbDo6ZHVtcFJlbmRlclRyZWVNb2RlRW5h
YmxlZCgpKQorICAgICAgICBXZWJDb3JlOjpwcm92aWRlRGV2aWNlUHJveGltaXR5VG8ocHJpdi0+
cGFnZS5nZXQoKSwgbmV3IFdlYkNvcmU6OkRldmljZVByb3hpbWl0eUNsaWVudE1vY2spOworI2Vu
ZGlmCisKICNpZiBFTkFCTEUoTkVUV09SS19JTkZPKQogICAgIHByaXYtPm5ldHdvcmtJbmZvQ2xp
ZW50ID0gYWRvcHRQdHIobmV3IFdlYkNvcmU6Ok5ldHdvcmtJbmZvQ2xpZW50RWZsKTsKICAgICBX
ZWJDb3JlOjpwcm92aWRlTmV0d29ya0luZm9Ubyhwcml2LT5wYWdlLmdldCgpLCBwcml2LT5uZXR3
b3JrSW5mb0NsaWVudC5nZXQoKSk7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29s
cy9DaGFuZ2VMb2cKaW5kZXggZGJlNjQ5ZjU3ZjlmNmI1OTNhYWNiMWJhNWI5MDJmM2QwNDE5ZGE0
Ny4uNGFmYTIyZWY1YWM4NjYwOWQwNWY5M2M1MDQ3MzQ2Y2E3MGM5ODRhZCAxMDA2NDQKLS0tIGEv
VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisy
MDEyLTExLTMwICBLaWhvbmcgS3dvbiAgPGtpaG9uZy5rd29uQHNhbXN1bmcuY29tPgorCisgICAg
ICAgIEFkZCBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyIHRvIHN1cHBvcnQgRGV2aWNlIFByb3hp
bWl0eSBFdmVudHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD05NzYzMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCBzZXRNb2NrRGV2aWNlUHJveGltaXR5IGZ1bmN0aW9uIHRvIHRlc3QgRGV2aWNlIFBy
b3hpbWl0eSBFdmVudHMgdXNpbmcgRHVtcFJlbmRlclRyZWUuCisKKyAgICAgICAgKiBEdW1wUmVu
ZGVyVHJlZS9UZXN0UnVubmVyLmNwcDoKKyAgICAgICAgKHNldE1vY2tEZXZpY2VQcm94aW1pdHlD
YWxsYmFjayk6CisgICAgICAgIChUZXN0UnVubmVyOjpzdGF0aWNGdW5jdGlvbnMpOgorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL1Rlc3RSdW5uZXIuaDoKKyAgICAgICAgKFRlc3RSdW5uZXIpOgor
ICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvVGVzdFJ1bm5lckJsYWNrQmVycnku
Y3BwOgorICAgICAgICAoVGVzdFJ1bm5lcjo6c2V0TW9ja0RldmljZVByb3hpbWl0eSk6CisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvZWZsL1Rlc3RSdW5uZXJFZmwuY3BwOgorICAgICAgICAoVGVz
dFJ1bm5lcjo6c2V0TW9ja0RldmljZVByb3hpbWl0eSk6CisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvZ3RrL1Rlc3RSdW5uZXJHdGsuY3BwOgorICAgICAgICAoVGVzdFJ1bm5lcjo6c2V0TW9ja0Rl
dmljZVByb3hpbWl0eSk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL1Rlc3RSdW5uZXJN
YWMubW06CisgICAgICAgIChUZXN0UnVubmVyOjpzZXRNb2NrRGV2aWNlUHJveGltaXR5KToKKyAg
ICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vVGVzdFJ1bm5lcldpbi5jcHA6CisgICAgICAgIChU
ZXN0UnVubmVyOjpzZXRNb2NrRGV2aWNlUHJveGltaXR5KToKKwogMjAxMi0xMS0zMCAgVG9yIEFy
bmUgVmVzdGLDuCAgPHRvci5hcm5lLnZlc3Rib0BkaWdpYS5jb20+CiAKICAgICAgICAgW1F0XSBB
ZGQgc3VwcG9ydCBmb3IgcHJlcGFyZV9kb2NzIGFuZCBnZW5lcmF0ZV9kb2NzCmRpZmYgLS1naXQg
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0UnVubmVyLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL1Rlc3RSdW5uZXIuY3BwCmluZGV4IGZlMjhhMjkxMTljNTZmZTUzNmJlOGM4ZWRiODk4YjE2
ZTA5YTA4OWYuLjJmMWI5ZDE3ODFlZmU1ZDY3MWFmZGViZjkyYjQ0ZDk5MWNlNGE1NzIgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RSdW5uZXIuY3BwCisrKyBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL1Rlc3RSdW5uZXIuY3BwCkBAIC0xMDc1LDYgKzEwNzUsMjQgQEAgc3RhdGlj
IEpTVmFsdWVSZWYgc2V0TW9ja0RldmljZU9yaWVudGF0aW9uQ2FsbGJhY2soSlNDb250ZXh0UmVm
IGNvbnRleHQsIEpTT2JqZWMKICAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4
dCk7CiB9CiAKK3N0YXRpYyBKU1ZhbHVlUmVmIHNldE1vY2tEZXZpY2VQcm94aW1pdHlDYWxsYmFj
ayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgZnVuY3Rpb24sIEpTT2JqZWN0UmVm
IHRoaXNPYmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3Vt
ZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCit7CisgICAgaWYgKGFyZ3VtZW50Q291bnQg
PCAzKQorICAgICAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7CisKKyAg
ICBkb3VibGUgdmFsdWUgPSBKU1ZhbHVlVG9OdW1iZXIoY29udGV4dCwgYXJndW1lbnRzWzBdLCBl
eGNlcHRpb24pOworICAgIEFTU0VSVCghKmV4Y2VwdGlvbik7CisgICAgZG91YmxlIG1pbiA9IEpT
VmFsdWVUb051bWJlcihjb250ZXh0LCBhcmd1bWVudHNbMV0sIGV4Y2VwdGlvbik7CisgICAgQVNT
RVJUKCEqZXhjZXB0aW9uKTsKKyAgICBkb3VibGUgbWF4ID0gSlNWYWx1ZVRvTnVtYmVyKGNvbnRl
eHQsIGFyZ3VtZW50c1syXSwgZXhjZXB0aW9uKTsKKyAgICBBU1NFUlQoISpleGNlcHRpb24pOwor
CisgICAgVGVzdFJ1bm5lciogY29udHJvbGxlciA9IHJlaW50ZXJwcmV0X2Nhc3Q8VGVzdFJ1bm5l
cio+KEpTT2JqZWN0R2V0UHJpdmF0ZSh0aGlzT2JqZWN0KSk7CisgICAgY29udHJvbGxlci0+c2V0
TW9ja0RldmljZVByb3hpbWl0eSh2YWx1ZSwgbWluLCBtYXgpOworCisgICAgcmV0dXJuIEpTVmFs
dWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOworfQorCiBzdGF0aWMgSlNWYWx1ZVJlZiBzZXRNb2Nr
R2VvbG9jYXRpb25Qb3NpdGlvbkNhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVj
dFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291
bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikK
IHsKICAgICBpZiAoYXJndW1lbnRDb3VudCA8IDMpCkBAIC0yMjg3LDYgKzIzMDUsNyBAQCBKU1N0
YXRpY0Z1bmN0aW9uKiBUZXN0UnVubmVyOjpzdGF0aWNGdW5jdGlvbnMoKQogICAgICAgICB7ICJz
ZXRNYWluRnJhbWVJc0ZpcnN0UmVzcG9uZGVyIiwgc2V0TWFpbkZyYW1lSXNGaXJzdFJlc3BvbmRl
ckNhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRy
aWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgInNldE1pbmltdW1UaW1lckludGVydmFsIiwg
c2V0TWluaW11bVRpbWVySW50ZXJ2YWxDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFk
T25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJzZXRN
b2NrRGV2aWNlT3JpZW50YXRpb24iLCBzZXRNb2NrRGV2aWNlT3JpZW50YXRpb25DYWxsYmFjaywg
a0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERl
bGV0ZSB9LAorICAgICAgICB7ICJzZXRNb2NrRGV2aWNlUHJveGltaXR5Iiwgc2V0TW9ja0Rldmlj
ZVByb3hpbWl0eUNhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJv
cGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgInNldE1vY2tHZW9sb2NhdGlv
blBvc2l0aW9uVW5hdmFpbGFibGVFcnJvciIsIHNldE1vY2tHZW9sb2NhdGlvblBvc2l0aW9uVW5h
dmFpbGFibGVFcnJvckNhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pT
UHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgInNldE1vY2tHZW9sb2Nh
dGlvblBvc2l0aW9uIiwgc2V0TW9ja0dlb2xvY2F0aW9uUG9zaXRpb25DYWxsYmFjaywga0pTUHJv
cGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9
LAogICAgICAgICB7ICJhZGRNb2NrU3BlZWNoSW5wdXRSZXN1bHQiLCBhZGRNb2NrU3BlZWNoSW5w
dXRSZXN1bHRDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3Bl
cnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvVGVzdFJ1bm5lci5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5lci5oCmluZGV4
IGZhNzZjNzY0MjY5MjNjMmZkN2M4NDllOTFkZGVkYWQ3NjllYzM2YWUuLjM1ZmU5MjNjOGE1ZjQy
MTM0MTNlZGFlNDNhMDZlZjRhNjQ3NTg5YjAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL1Rlc3RSdW5uZXIuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0UnVubmVyLmgK
QEAgLTEwMCw2ICsxMDAsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRBdXRvbWF0aWNMaW5rRGV0
ZWN0aW9uRW5hYmxlZChib29sIGZsYWcpOwogICAgIHZvaWQgc2V0TWFpbkZyYW1lSXNGaXJzdFJl
c3BvbmRlcihib29sIGZsYWcpOwogICAgIHZvaWQgc2V0TW9ja0RldmljZU9yaWVudGF0aW9uKGJv
b2wgY2FuUHJvdmlkZUFscGhhLCBkb3VibGUgYWxwaGEsIGJvb2wgY2FuUHJvdmlkZUJldGEsIGRv
dWJsZSBiZXRhLCBib29sIGNhblByb3ZpZGVHYW1tYSwgZG91YmxlIGdhbW1hKTsKKyAgICB2b2lk
IHNldE1vY2tEZXZpY2VQcm94aW1pdHkoZG91YmxlIHZhbHVlLCBkb3VibGUgbWluLCBkb3VibGUg
bWF4KTsKICAgICB2b2lkIHNldE1vY2tHZW9sb2NhdGlvblBvc2l0aW9uKGRvdWJsZSBsYXRpdHVk
ZSwgZG91YmxlIGxvbmdpdHVkZSwgZG91YmxlIGFjY3VyYWN5LCBib29sIHByb3ZpZGVzQWx0aXR1
ZGUsIGRvdWJsZSBhbHRpdHVkZSwgYm9vbCBwcm92aWRlc0FsdGl0dWRlQWNjdXJhY3ksIGRvdWJs
ZSBhbHRpdHVkZUFjY3VyYWN5LCBib29sIHByb3ZpZGVzSGVhZGluZywgZG91YmxlIGhlYWRpbmcs
IGJvb2wgcHJvdmlkZXNTcGVlZCwgZG91YmxlIHNwZWVkKTsKICAgICB2b2lkIHNldE1vY2tHZW9s
b2NhdGlvblBvc2l0aW9uVW5hdmFpbGFibGVFcnJvcihKU1N0cmluZ1JlZiBtZXNzYWdlKTsKICAg
ICB2b2lkIGFkZE1vY2tTcGVlY2hJbnB1dFJlc3VsdChKU1N0cmluZ1JlZiByZXN1bHQsIGRvdWJs
ZSBjb25maWRlbmNlLCBKU1N0cmluZ1JlZiBsYW5ndWFnZSk7CmRpZmYgLS1naXQgYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L1Rlc3RSdW5uZXJCbGFja0JlcnJ5LmNwcCBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvVGVzdFJ1bm5lckJsYWNrQmVycnkuY3BwCmluZGV4
IGYwNmY0YTg0Y2Q0MDRiYTBiOTVjM2FiYmJkNDE2YjhhODUyYTZjNGEuLjM1MDI0OTk2YTM1OGFh
Y2IzMzEyMTlkZDdjYmNhOGViNjZjZTUxNGMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2JsYWNrYmVycnkvVGVzdFJ1bm5lckJsYWNrQmVycnkuY3BwCisrKyBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2JsYWNrYmVycnkvVGVzdFJ1bm5lckJsYWNrQmVycnkuY3BwCkBAIC02MjgsNiAr
NjI4LDExIEBAIHZvaWQgVGVzdFJ1bm5lcjo6c2V0TW9ja0RldmljZU9yaWVudGF0aW9uKGJvb2wg
Y2FuUHJvdmlkZUFscGhhLCBkb3VibGUgYWxwaGEsIGJvCiAgICAgRHVtcFJlbmRlclRyZWVTdXBw
b3J0OjpzZXRNb2NrRGV2aWNlT3JpZW50YXRpb24oQmxhY2tCZXJyeTo6V2ViS2l0OjpEdW1wUmVu
ZGVyVHJlZTo6Y3VycmVudEluc3RhbmNlKCktPnBhZ2UoKSwgY2FuUHJvdmlkZUFscGhhLCBhbHBo
YSwgY2FuUHJvdmlkZUJldGEsIGJldGEsIGNhblByb3ZpZGVHYW1tYSwgZ2FtbWEpOwogfQogCit2
b2lkIFRlc3RSdW5uZXI6OnNldE1vY2tEZXZpY2VQcm94aW1pdHkoZG91YmxlIHZhbHVlLCBkb3Vi
bGUgbWluLCBkb3VibGUgbWF4KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKIHZvaWQg
VGVzdFJ1bm5lcjo6YWRkTW9ja1NwZWVjaElucHV0UmVzdWx0KEpTU3RyaW5nUmVmIHJlc3VsdCwg
ZG91YmxlIGNvbmZpZGVuY2UsIEpTU3RyaW5nUmVmIGxhbmd1YWdlKQogewogICAgIG5vdEltcGxl
bWVudGVkKCk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvVGVzdFJ1bm5l
ckVmbC5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvVGVzdFJ1bm5lckVmbC5jcHAKaW5k
ZXggY2Q3OGIxMGFhYzZjODczNjk1YmY1Y2VmOTY3YzNkYWExNzYwOTQ1Yy4uODk2MWY4YjJiNzUx
MTI2Y2I4MWZmN2YxM2ZiM2UwZmY2NjQxMTY3MCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvZWZsL1Rlc3RSdW5uZXJFZmwuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Vm
bC9UZXN0UnVubmVyRWZsLmNwcApAQCAtMzY1LDYgKzM2NSwxNSBAQCB2b2lkIFRlc3RSdW5uZXI6
OnNldE1vY2tEZXZpY2VPcmllbnRhdGlvbihib29sLCBkb3VibGUsIGJvb2wsIGRvdWJsZSwgYm9v
bCwgZG91YgogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKK3ZvaWQgVGVzdFJ1bm5lcjo6c2V0
TW9ja0RldmljZVByb3hpbWl0eShkb3VibGUgdmFsdWUsIGRvdWJsZSBtaW4sIGRvdWJsZSBtYXgp
Cit7CisgICAgRXZhc19PYmplY3QqIHZpZXcgPSBicm93c2VyLT5tYWluVmlldygpOworICAgIGlm
IChicm93c2VyLT5leHRyYVZpZXdzKCkuc2l6ZSgpID4gMCkKKyAgICAgICAgdmlldyA9IGJyb3dz
ZXItPmV4dHJhVmlld3MoKS5sYXN0KCk7CisKKyAgICBEdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmw6
OnNldE1vY2tEZXZpY2VQcm94aW1pdHkodmlldywgdmFsdWUsIG1pbiwgbWF4KTsKK30KKwogdm9p
ZCBUZXN0UnVubmVyOjpzZXRNb2NrR2VvbG9jYXRpb25Qb3NpdGlvbihkb3VibGUgbGF0aXR1ZGUs
IGRvdWJsZSBsb25naXR1ZGUsIGRvdWJsZSBhY2N1cmFjeSwgYm9vbCBjYW5Qcm92aWRlQWx0aXR1
ZGUsIGRvdWJsZSBhbHRpdHVkZSwgYm9vbCBjYW5Qcm92aWRlQWx0aXR1ZGVBY2N1cmFjeSwgZG91
YmxlIGFsdGl0dWRlQWNjdXJhY3ksIGJvb2wgY2FuUHJvdmlkZUhlYWRpbmcsIGRvdWJsZSBoZWFk
aW5nLCBib29sIGNhblByb3ZpZGVTcGVlZCwgZG91YmxlIHNwZWVkKQogewogICAgIEV2YXNfT2Jq
ZWN0KiB2aWV3ID0gYnJvd3Nlci0+bWFpblZpZXcoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2d0ay9UZXN0UnVubmVyR3RrLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0
ay9UZXN0UnVubmVyR3RrLmNwcAppbmRleCAzMmQzZGQ1Y2I4NTY5YzgzOGNlM2FkMWZlZDZiNzdj
ZTM2NWFkZGZiLi5hNTgyMDQ3YmE0MjMyYzVhOGJkOTg1MTdmNjc3ZGExMzI4ZDdiOTljIDEwMDY0
NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvVGVzdFJ1bm5lckd0ay5jcHAKKysrIGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL1Rlc3RSdW5uZXJHdGsuY3BwCkBAIC00MzAsNiArNDMw
LDEyIEBAIHZvaWQgVGVzdFJ1bm5lcjo6c2V0TW9ja0RldmljZU9yaWVudGF0aW9uKGJvb2wgY2Fu
UHJvdmlkZUFscGhhLCBkb3VibGUgYWxwaGEsIGJvCiAgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDMzNS4KIH0KIAordm9pZCBUZXN0UnVubmVyOjpz
ZXRNb2NrRGV2aWNlUHJveGltaXR5KGRvdWJsZSB2YWx1ZSwgZG91YmxlIG1pbiwgZG91YmxlIG1h
eCkKK3sKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50IGZvciBEZXZpY2VQcm94aW1pdHkgbGF5b3V0
IHRlc3RzLgorICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9OTc2MzAuCit9CisKIHZvaWQgVGVzdFJ1bm5lcjo6c2V0TW9ja0dlb2xvY2F0aW9uUG9zaXRp
b24oZG91YmxlIGxhdGl0dWRlLCBkb3VibGUgbG9uZ2l0dWRlLCBkb3VibGUgYWNjdXJhY3ksIGJv
b2wsIGRvdWJsZSwgYm9vbCwgZG91YmxlLCBib29sLCBkb3VibGUsIGJvb2wsIGRvdWJsZSkKIHsK
ICAgICBXZWJLaXRXZWJWaWV3KiB2aWV3ID0gV0VCS0lUX1dFQl9WSUVXKGdfc2xpc3RfbnRoX2Rh
dGEod2ViVmlld0xpc3QsIDApKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21h
Yy9UZXN0UnVubmVyTWFjLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL1Rlc3RSdW5uZXJN
YWMubW0KaW5kZXggYjUyMGUwOTZmZTk5YTc4NTQwNzlmMjJiMGY1ZDc1Y2RlZjE4ZWIzZi4uZDY1
Zjk1NGJkMDFmZjIwYmQ4ZWIwM2Q0ZjVjOTBmN2U3ZjhiYTBhNSAxMDA2NDQKLS0tIGEvVG9vbHMv
RHVtcFJlbmRlclRyZWUvbWFjL1Rlc3RSdW5uZXJNYWMubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvbWFjL1Rlc3RSdW5uZXJNYWMubW0KQEAgLTQ3Miw2ICs0NzIsMTIgQEAgdm9pZCBUZXN0
UnVubmVyOjpzZXRNb2NrRGV2aWNlT3JpZW50YXRpb24oYm9vbCBjYW5Qcm92aWRlQWxwaGEsIGRv
dWJsZSBhbHBoYSwgYm8KICAgICBbb3JpZW50YXRpb24gcmVsZWFzZV07CiB9CiAKK3ZvaWQgVGVz
dFJ1bm5lcjo6c2V0TW9ja0RldmljZVByb3hpbWl0eShkb3VibGUgdmFsdWUsIGRvdWJsZSBtaW4s
IGRvdWJsZSBtYXgpCit7CisgICAgLy8gRklYTUU6IEltcGxlbWVudCBmb3IgRGV2aWNlUHJveGlt
aXR5IGxheW91dCB0ZXN0cy4KKyAgICAvLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTk3NjMwLgorfQorCiB2b2lkIFRlc3RSdW5uZXI6OnNldE1vY2tHZW9sb2Nh
dGlvblBvc2l0aW9uKGRvdWJsZSBsYXRpdHVkZSwgZG91YmxlIGxvbmdpdHVkZSwgZG91YmxlIGFj
Y3VyYWN5LCBib29sIHByb3ZpZGVzQWx0aXR1ZGUsIGRvdWJsZSBhbHRpdHVkZSwgYm9vbCBwcm92
aWRlc0FsdGl0dWRlQWNjdXJhY3ksIGRvdWJsZSBhbHRpdHVkZUFjY3VyYWN5LCBib29sIHByb3Zp
ZGVzSGVhZGluZywgZG91YmxlIGhlYWRpbmcsIGJvb2wgcHJvdmlkZXNTcGVlZCwgZG91YmxlIHNw
ZWVkKQogewogICAgIFdlYkdlb2xvY2F0aW9uUG9zaXRpb24gKnBvc2l0aW9uID0gbmlsOwpkaWZm
IC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL1Rlc3RSdW5uZXJXaW4uY3BwIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvd2luL1Rlc3RSdW5uZXJXaW4uY3BwCmluZGV4IDNlNDhhZGU2NTUy
MTk2ZTliZWE3MTUyM2I3Mzc2MjY2Zjg0MzU1ZTUuLjU5MmM2MDQ4OWUyYjg1Y2IzMzg0N2UyNjAy
YWQ2MGZlMDQ1MzMwZDggMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9UZXN0
UnVubmVyV2luLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vVGVzdFJ1bm5lcldp
bi5jcHAKQEAgLTM5OSw2ICszOTksMTIgQEAgdm9pZCBUZXN0UnVubmVyOjpzZXRNb2NrRGV2aWNl
T3JpZW50YXRpb24oYm9vbCBjYW5Qcm92aWRlQWxwaGEsIGRvdWJsZSBhbHBoYSwgYm8KICAgICAv
LyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMwMzM1LgogfQog
Cit2b2lkIFRlc3RSdW5uZXI6OnNldE1vY2tEZXZpY2VQcm94aW1pdHkoZG91YmxlIHZhbHVlLCBk
b3VibGUgbWluLCBkb3VibGUgbWF4KQoreworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgZm9yIERl
dmljZVByb3hpbWl0eSBsYXlvdXQgdGVzdHMuCisgICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzYzMC4KK30KKwogdm9pZCBUZXN0UnVubmVyOjpzZXRN
b2NrR2VvbG9jYXRpb25Qb3NpdGlvbihkb3VibGUgbGF0aXR1ZGUsIGRvdWJsZSBsb25naXR1ZGUs
IGRvdWJsZSBhY2N1cmFjeSwgYm9vbCBwcm92aWRlc0FsdGl0dWRlLCBkb3VibGUgYWx0aXR1ZGUs
IGJvb2wgcHJvdmlkZXNBbHRpdHVkZUFjY3VyYWN5LCBkb3VibGUgYWx0aXR1ZGVBY2N1cmFjeSwg
Ym9vbCBwcm92aWRlc0hlYWRpbmcsIGRvdWJsZSBoZWFkaW5nLCBib29sIHByb3ZpZGVzU3BlZWQs
IGRvdWJsZSBzcGVlZCkKIHsKICAgICAvLyBGSVhNRTogSW1wbGVtZW50IGZvciBHZW9sb2NhdGlv
biBsYXlvdXQgdGVzdHMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNGExMmI1NmJiMWMwNjk4MmRlMzNlNWJiYzlmNjIzZWMy
YzBkM2Y5MC4uYjZkMjJiNDdhNjUzZmUzNDhkMmRlNWYxZmNjNGMwNTJmMDlhNGNmZSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDM2IEBACisyMDEyLTExLTMwICBLaWhvbmcgS3dvbiAgPGtpaG9uZy5rd29uQHNh
bXN1bmcuY29tPgorCisgICAgICAgIEFkZCBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyIHRvIHN1
cHBvcnQgRGV2aWNlIFByb3hpbWl0eSBFdmVudHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzYzMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0ZXN0cyBmb3IgdGhlIERldmljZVByb3hpbWl0eUNv
bnRyb2xsZXIuCisKKyAgICAgICAgKiBmYXN0L2RvbS9Qcm94aW1pdHkvYWRkLWxpc3RlbmVyLWZy
b20tY2FsbGJhY2stZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9Qcm94
aW1pdHkvYWRkLWxpc3RlbmVyLWZyb20tY2FsbGJhY2suaHRtbDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9kb20vUHJveGltaXR5L2Jhc2ljLW9wZXJhdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZG9tL1Byb3hpbWl0eS9iYXNpYy1vcGVyYXRpb24uaHRtbDogQWRkZWQu
CisgICAgICAgICogZmFzdC9kb20vUHJveGltaXR5L2NyZWF0ZS1ldmVudC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL1Byb3hpbWl0eS9jcmVhdGUtZXZlbnQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZmFzdC9kb20vUHJveGltaXR5L2V2ZW50LWFmdGVyLW5hdmlnYXRp
b24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9Qcm94aW1pdHkvZXZl
bnQtYWZ0ZXItbmF2aWdhdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9Qcm94
aW1pdHkvbXVsdGlwbGUtZnJhbWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFz
dC9kb20vUHJveGltaXR5L211bHRpcGxlLWZyYW1lcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2RvbS9Qcm94aW1pdHkvbm8tcGFnZS1jYWNoZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZG9tL1Byb3hpbWl0eS9uby1wYWdlLWNhY2hlLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZG9tL1Byb3hpbWl0eS9uby1zeW5jaHJvbm91cy1ldmVudHMtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9Qcm94aW1pdHkvbm8tc3luY2hyb25vdXMt
ZXZlbnRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL1Byb3hpbWl0eS9vcHRpb25h
bC1ldmVudC1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9k
b20vUHJveGltaXR5L29wdGlvbmFsLWV2ZW50LXByb3BlcnRpZXMuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9kb20vUHJveGltaXR5L3Jlc291cmNlcy9jYWNoZWQtcGFnZS0xLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvZG9tL1Byb3hpbWl0eS9yZXNvdXJjZXMvY2FjaGVkLXBhZ2Ut
Mi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9Qcm94aW1pdHkvcmVzb3VyY2VzL2V2
ZW50LWFmdGVyLW5hdmlnYXRpb24tbmV3Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9t
L1Byb3hpbWl0eS91cGRhdGVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9k
b20vUHJveGltaXR5L3VwZGF0ZXMuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vUHJv
eGltaXR5L3dpbmRvdy1wcm9wZXJ0eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZG9tL1Byb3hpbWl0eS93aW5kb3ctcHJvcGVydHkuaHRtbDogQWRkZWQuCisKIDIwMTItMTEt
MzAgIEFycGl0YSBCYWh1Z3VuYSAgPGFycGl0YWJhaHVndW5hQGdtYWlsLmNvbT4KIAogICAgICAg
ICBDYXJldCBpcyBwYWludGVkIGhvcml6b250YWxseSBpbiB2ZXJ0aWNhbCB3cml0aW5nIG1vZGUg
d2hlbiB0aGVyZSBhcmUgbm8gdmlzaWJsZSB0ZXh0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9Qcm94aW1pdHkvYWRkLWxpc3RlbmVyLWZyb20tY2FsbGJhY2stZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vUHJveGltaXR5L2FkZC1saXN0ZW5lci1mcm9tLWNhbGxi
YWNrLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZDBhMzE1OTJiNjk4OTdhZTU1OGE2ZTgxMDAy
ZWVkNjliZDM1NTZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vUHJv
eGltaXR5L2FkZC1saXN0ZW5lci1mcm9tLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDE4IEBACitUZXN0cyB0aGF0IGFkZGluZyBhIG5ldyBldmVudCBsaXN0ZW5lciBmcm9tIGEgY2Fs
bGJhY2sgd29ya3MgYXMgZXhwZWN0ZWQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitQQVNTIGRldmljZVByb3hpbWl0eUV2ZW50LnZhbHVlIGlzIG1vY2tWYWx1ZQorUEFTUyBkZXZp
Y2VQcm94aW1pdHlFdmVudC5taW4gaXMgbW9ja01pbgorUEFTUyBkZXZpY2VQcm94aW1pdHlFdmVu
dC5tYXggaXMgbW9ja01heAorUEFTUyBkZXZpY2VQcm94aW1pdHlFdmVudC52YWx1ZSBpcyBtb2Nr
VmFsdWUKK1BBU1MgZGV2aWNlUHJveGltaXR5RXZlbnQubWluIGlzIG1vY2tNaW4KK1BBU1MgZGV2
aWNlUHJveGltaXR5RXZlbnQubWF4IGlzIG1vY2tNYXgKK1BBU1MgZGV2aWNlUHJveGltaXR5RXZl
bnQudmFsdWUgaXMgbW9ja1ZhbHVlCitQQVNTIGRldmljZVByb3hpbWl0eUV2ZW50Lm1pbiBpcyBt
b2NrTWluCitQQVNTIGRldmljZVByb3hpbWl0eUV2ZW50Lm1heCBpcyBtb2NrTWF4CitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vUHJveGltaXR5L2FkZC1saXN0ZW5lci1mcm9tLWNhbGxiYWNr
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Qcm94aW1pdHkvYWRkLWxpc3RlbmVyLWZyb20t
Y2FsbGJhY2suaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iOTgzMzExYzk5YWM0YTVlNjg4MzkwNDE4M2U2ZjQ4
OTY0YTViOGIxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vUHJveGlt
aXR5L2FkZC1saXN0ZW5lci1mcm9tLWNhbGxiYWNrLmh0bWwKQEAgLTAsMCArMSw1NSBAQAorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rl
c3RzIHRoYXQgYWRkaW5nIGEgbmV3IGV2ZW50IGxpc3RlbmVyIGZyb20gYSBjYWxsYmFjayB3b3Jr
cyBhcyBleHBlY3RlZC4nKTsKKwordmFyIG1vY2tWYWx1ZSA9IDEuMTsKK3ZhciBtb2NrTWluID0g
Mi4yOwordmFyIG1vY2tNYXggPSAzLjM7CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0
ZXN0UnVubmVyLnNldE1vY2tEZXZpY2VQcm94aW1pdHkobW9ja1ZhbHVlLCBtb2NrTWluLCBtb2Nr
TWF4KTsKK2Vsc2UKKyAgICBkZWJ1ZygnVGhpcyB0ZXN0IGNhbiBub3QgYmUgcnVuIHdpdGhvdXQg
dGhlIFRlc3RSdW5uZXInKTsKKwordmFyIGRldmljZVByb3hpbWl0eUV2ZW50OworZnVuY3Rpb24g
Y2hlY2tQcm94aW1pdHkoZXZlbnQpIHsKKyAgICBkZXZpY2VQcm94aW1pdHlFdmVudCA9IGV2ZW50
OworICAgIHNob3VsZEJlKCdkZXZpY2VQcm94aW1pdHlFdmVudC52YWx1ZScsICdtb2NrVmFsdWUn
KTsKKyAgICBzaG91bGRCZSgnZGV2aWNlUHJveGltaXR5RXZlbnQubWluJywgJ21vY2tNaW4nKTsK
KyAgICBzaG91bGRCZSgnZGV2aWNlUHJveGltaXR5RXZlbnQubWF4JywgJ21vY2tNYXgnKTsKK30K
KwordmFyIGZpcnN0TGlzdGVuZXJFdmVudHMgPSAwOworZnVuY3Rpb24gZmlyc3RMaXN0ZW5lcihl
dmVudCkgeworICAgIGNoZWNrUHJveGltaXR5KGV2ZW50KTsKKyAgICBpZiAoKytmaXJzdExpc3Rl
bmVyRXZlbnRzID09IDEpCisgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRk
ZXZpY2Vwcm94aW1pdHknLCBzZWNvbmRMaXN0ZW5lcik7CisgICAgZWxzZSBpZiAoZmlyc3RMaXN0
ZW5lckV2ZW50cyA+IDIpCisgICAgICAgIHRlc3RGYWlsZWQoJ1RvbyBtYW55IGV2ZW50cyBmb3Ig
Zmlyc3QgbGlzdGVuZXIuJyk7CisgICAgbWF5YmVGaW5pc2hUZXN0KCk7Cit9CisKK3ZhciBzZWNv
bmRMaXN0ZW5lckV2ZW50cyA9IDA7CitmdW5jdGlvbiBzZWNvbmRMaXN0ZW5lcihldmVudCkgewor
ICAgIGNoZWNrUHJveGltaXR5KGV2ZW50KTsKKyAgICBpZiAoKytzZWNvbmRMaXN0ZW5lckV2ZW50
cyA+IDEpCisgICAgICAgIHRlc3RGYWlsZWQoJ1RvbyBtYW55IGV2ZW50cyBmb3Igc2Vjb25kIGxp
c3RlbmVyLicpOworICAgIG1heWJlRmluaXNoVGVzdCgpOworfQorCitmdW5jdGlvbiBtYXliZUZp
bmlzaFRlc3QoKSB7CisgICAgaWYgKGZpcnN0TGlzdGVuZXJFdmVudHMgPT0gMiAmJiBzZWNvbmRM
aXN0ZW5lckV2ZW50cyA9PSAxKQorICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKword2luZG93
LmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdGRldmljZXByb3hpbWl0eScsIGZpcnN0TGlzdGVuZXIp
OworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1Byb3hpbWl0eS9iYXNp
Yy1vcGVyYXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vUHJveGltaXR5
L2Jhc2ljLW9wZXJhdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTliNTRlZDEyYjY0Yjc3
MWI0ODNjZDE2ZTYyYzEwMGNhYWJjYWM0ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL1Byb3hpbWl0eS9iYXNpYy1vcGVyYXRpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTIgQEAKK1Rlc3RzIHRoZSBiYXNpYyBvcGVyYXRpb24gb2YgRGV2aWNlUHJveGltaXR5IHVz
aW5nIHRoZSBtb2NrLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBkZXZp
Y2VQcm94aW1pdHlFdmVudC52YWx1ZSBpcyBtb2NrVmFsdWUKK1BBU1MgZGV2aWNlUHJveGltaXR5
RXZlbnQubWluIGlzIG1vY2tNaW4KK1BBU1MgZGV2aWNlUHJveGltaXR5RXZlbnQubWF4IGlzIG1v
Y2tNYXgKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Qcm94aW1pdHkvYmFzaWMtb3BlcmF0
aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Qcm94aW1pdHkvYmFzaWMtb3BlcmF0aW9u
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZTJjNjg3YzdmNmNkNDEwNDAxOWJhN2MyMTkwZTU1N2ZiNDVhOGRk
NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1Byb3hpbWl0eS9iYXNp
Yy1vcGVyYXRpb24uaHRtbApAQCAtMCwwICsxLDMxIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVzdHMgdGhlIGJhc2ljIG9wZXJh
dGlvbiBvZiBEZXZpY2VQcm94aW1pdHkgdXNpbmcgdGhlIG1vY2suJyk7CisKK3ZhciBtb2NrVmFs
dWUgPSAxLjE7Cit2YXIgbW9ja01pbiA9IDIuMjsKK3ZhciBtb2NrTWF4ID0gMy4zOworCitpZiAo
d2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5zZXRNb2NrRGV2aWNlUHJveGltaXR5
KG1vY2tWYWx1ZSwgbW9ja01pbiwgbW9ja01heCk7CitlbHNlCisgICAgZGVidWcoJ1RoaXMgdGVz
dCBjYW4gbm90IGJlIHJ1biB3aXRob3V0IHRoZSBUZXN0UnVubmVyJyk7CisKK3ZhciBkZXZpY2VQ
cm94aW1pdHlFdmVudDsKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRkZXZpY2Vwcm94
aW1pdHknLCBmdW5jdGlvbihlKSB7CisgICAgZGV2aWNlUHJveGltaXR5RXZlbnQgPSBlOworICAg
IHNob3VsZEJlKCdkZXZpY2VQcm94aW1pdHlFdmVudC52YWx1ZScsICdtb2NrVmFsdWUnKTsKKyAg
ICBzaG91bGRCZSgnZGV2aWNlUHJveGltaXR5RXZlbnQubWluJywgJ21vY2tNaW4nKTsKKyAgICBz
aG91bGRCZSgnZGV2aWNlUHJveGltaXR5RXZlbnQubWF4JywgJ21vY2tNYXgnKTsKKyAgICBmaW5p
c2hKU1Rlc3QoKTsKK30pOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Cis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L1Byb3hpbWl0eS9jcmVhdGUtZXZlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vUHJveGltaXR5L2NyZWF0ZS1ldmVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWNmNTk2
NzVmZjA1YTZmMzBlM2UxZGQ4NjEzOGNkYmQ5MGJlYmM0MwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL1Byb3hpbWl0eS9jcmVhdGUtZXZlbnQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMjIgQEAKK1Rlc3RzIHRoYXQgZG9jdW1lbnQuY3JlYXRlRXZlbnQoKSB3b3JrcyB3
aXRoIERldmljZVByb3hpbWl0eUV2ZW50LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworUEFTUyB0eXBlb2YgZXZlbnQgPT0gJ29iamVjdCcgaXMgdHJ1ZQorUEFTUyAndHlwZScgaW4g
ZXZlbnQgaXMgdHJ1ZQorUEFTUyAnYnViYmxlcycgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAnY2Fu
Y2VsYWJsZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAndmFsdWUnIGluIGV2ZW50IGlzIHRydWUK
K1BBU1MgJ21pbicgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAnbWF4JyBpbiBldmVudCBpcyB0cnVl
CitQQVNTIHR5cGVvZiBldmVudC50eXBlID09ICdzdHJpbmcnIGlzIHRydWUKK1BBU1MgdHlwZW9m
IGV2ZW50LmJ1YmJsZXMgPT0gJ2Jvb2xlYW4nIGlzIHRydWUKK1BBU1MgdHlwZW9mIGV2ZW50LmNh
bmNlbGFibGUgPT0gJ2Jvb2xlYW4nIGlzIHRydWUKK1BBU1MgdHlwZW9mIGV2ZW50LnZhbHVlID09
ICdudW1iZXInIGlzIHRydWUKK1BBU1MgdHlwZW9mIGV2ZW50Lm1pbiA9PSAnbnVtYmVyJyBpcyB0
cnVlCitQQVNTIHR5cGVvZiBldmVudC5tYXggPT0gJ251bWJlcicgaXMgdHJ1ZQorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL1Byb3hpbWl0eS9jcmVhdGUtZXZlbnQuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL1Byb3hpbWl0eS9jcmVhdGUtZXZlbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMDFh
ZTMwNWFlY2I4ZGY2NmZlOTA3OGVhYjhiNTQ3MjExOGMwZjRmCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vUHJveGltaXR5L2NyZWF0ZS1ldmVudC5odG1sCkBAIC0wLDAg
KzEsMjkgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rl
c2NyaXB0aW9uKCdUZXN0cyB0aGF0IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCkgd29ya3Mgd2l0aCBE
ZXZpY2VQcm94aW1pdHlFdmVudC4nKTsKKwordmFyIGV2ZW50ID0gZG9jdW1lbnQuY3JlYXRlRXZl
bnQoJ0RldmljZVByb3hpbWl0eUV2ZW50Jyk7CisKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIGV2ZW50
ID09ICdvYmplY3QnIik7CisKK3Nob3VsZEJlVHJ1ZSgiJ3R5cGUnIGluIGV2ZW50Iik7CitzaG91
bGRCZVRydWUoIididWJibGVzJyBpbiBldmVudCIpOworc2hvdWxkQmVUcnVlKCInY2FuY2VsYWJs
ZScgaW4gZXZlbnQiKTsKK3Nob3VsZEJlVHJ1ZSgiJ3ZhbHVlJyBpbiBldmVudCIpOworc2hvdWxk
QmVUcnVlKCInbWluJyBpbiBldmVudCIpOworc2hvdWxkQmVUcnVlKCInbWF4JyBpbiBldmVudCIp
OworCitzaG91bGRCZVRydWUoInR5cGVvZiBldmVudC50eXBlID09ICdzdHJpbmcnIik7CitzaG91
bGRCZVRydWUoInR5cGVvZiBldmVudC5idWJibGVzID09ICdib29sZWFuJyIpOworc2hvdWxkQmVU
cnVlKCJ0eXBlb2YgZXZlbnQuY2FuY2VsYWJsZSA9PSAnYm9vbGVhbiciKTsKK3Nob3VsZEJlVHJ1
ZSgidHlwZW9mIGV2ZW50LnZhbHVlID09ICdudW1iZXInIik7CitzaG91bGRCZVRydWUoInR5cGVv
ZiBldmVudC5taW4gPT0gJ251bWJlciciKTsKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIGV2ZW50Lm1h
eCA9PSAnbnVtYmVyJyIpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Qcm94aW1pdHkvZXZlbnQtYWZ0ZXItbmF2aWdhdGlv
bi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Qcm94aW1pdHkvZXZlbnQtYWZ0
ZXItbmF2aWdhdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGU2YmMzOTgyNjc3N2IxODNl
NGIwZmNiZWNjZTdlYzI2ZmQwZmQxZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL1Byb3hpbWl0eS9ldmVudC1hZnRlci1uYXZpZ2F0aW9uLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDMgQEAKK1Rlc3RzIGZvciBhIGNyYXNoIHdoZXJlIGFuIGV2ZW50IGlzIGZpcmVkIGFm
dGVyIHRoZSBwYWdlIGhhcyBiZWVuIG5hdmlnYXRlZCBhd2F5IHdoZW4gdGhlIG9yaWdpbmFsIHBh
Z2UgaXMgaW4gdGhlIHBhZ2UgY2FjaGUuCisKK1NVQ0NFU1MKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL1Byb3hpbWl0eS9ldmVudC1hZnRlci1uYXZpZ2F0aW9uLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9Qcm94aW1pdHkvZXZlbnQtYWZ0ZXItbmF2aWdhdGlvbi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjUxMzE4OWI5ZTg1N2JkYWY3NDJhNTk5MjdlY2I1MmZiYzk4YmI5NjgKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Qcm94aW1pdHkvZXZlbnQtYWZ0ZXIt
bmF2aWdhdGlvbi5odG1sCkBAIC0wLDAgKzEsMjMgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0cyBmb3IgYSBjcmFzaCB3aGVy
ZSBhbiBldmVudCBpcyBmaXJlZCBhZnRlciB0aGUgcGFnZSBoYXMgYmVlbiBuYXZpZ2F0ZWQgYXdh
eSB3aGVuIHRoZSBvcmlnaW5hbCBwYWdlIGlzIGluIHRoZSBwYWdlIGNhY2hlLicpOworCitpZiAo
d2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoJ1dl
YktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5JywgMSk7CitlbHNlCisgICAgZGVidWcoJ1Ro
aXMgdGVzdCBjYW4gbm90IGJlIHJ1biB3aXRob3V0IHRoZSBUZXN0UnVubmVyJyk7CisKK2RvY3Vt
ZW50LmJvZHkub25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgd2luZG93LmFkZEV2ZW50TGlzdGVu
ZXIoJ3dlYmtpdGRldmljZXByb3hpbWl0eScsIGZ1bmN0aW9uKCkgeyB9ICk7CisgICAgd2luZG93
LmxvY2F0aW9uID0gInJlc291cmNlcy9ldmVudC1hZnRlci1uYXZpZ2F0aW9uLW5ldy5odG1sIjsK
K30KKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Qcm94aW1pdHkvbXVs
dGlwbGUtZnJhbWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1Byb3hpbWl0
eS9tdWx0aXBsZS1mcmFtZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU3YjE2ZTA5YjRmMzdj
NjhjYTc2OTdlNzM3YWQ0NjcwNzkzNzZiMjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9Qcm94aW1pdHkvbXVsdGlwbGUtZnJhbWVzLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDE1IEBACitUZXN0cyB1c2luZyBEZXZpY2VQcm94aW1pdHkgZnJvbSBtdWx0aXBsZSBmcmFt
ZXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIERldmljZVByb3hpbWl0
eUV2ZW50LnZhbHVlIGlzIG1vY2tFdmVudC52YWx1ZQorUEFTUyBEZXZpY2VQcm94aW1pdHlFdmVu
dC5taW4gaXMgbW9ja0V2ZW50Lm1pbgorUEFTUyBEZXZpY2VQcm94aW1pdHlFdmVudC5tYXggaXMg
bW9ja0V2ZW50Lm1heAorUEFTUyBEZXZpY2VQcm94aW1pdHlFdmVudC52YWx1ZSBpcyBtb2NrRXZl
bnQudmFsdWUKK1BBU1MgRGV2aWNlUHJveGltaXR5RXZlbnQubWluIGlzIG1vY2tFdmVudC5taW4K
K1BBU1MgRGV2aWNlUHJveGltaXR5RXZlbnQubWF4IGlzIG1vY2tFdmVudC5tYXgKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9Qcm94aW1pdHkvbXVsdGlwbGUtZnJhbWVzLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9Qcm94aW1pdHkvbXVsdGlwbGUtZnJhbWVzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMWFmN2NhYWUyMTMwMjZkOTBhYWI0MzRlZjU0MDI2NWY2MmNkYTQzYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1Byb3hpbWl0eS9tdWx0aXBsZS1mcmFtZXMuaHRt
bApAQCAtMCwwICsxLDUyIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxz
Y3JpcHQ+CitkZXNjcmlwdGlvbignVGVzdHMgdXNpbmcgRGV2aWNlUHJveGltaXR5IGZyb20gbXVs
dGlwbGUgZnJhbWVzLicpOworCit2YXIgRGV2aWNlUHJveGltaXR5RXZlbnQ7CitmdW5jdGlvbiBj
aGVja1Byb3hpbWl0eShldmVudCkgeworICAgIERldmljZVByb3hpbWl0eUV2ZW50ID0gZXZlbnQ7
CisgICAgc2hvdWxkQmUoJ0RldmljZVByb3hpbWl0eUV2ZW50LnZhbHVlJywgJ21vY2tFdmVudC52
YWx1ZScpOworICAgIHNob3VsZEJlKCdEZXZpY2VQcm94aW1pdHlFdmVudC5taW4nLCAnbW9ja0V2
ZW50Lm1pbicpOworICAgIHNob3VsZEJlKCdEZXZpY2VQcm94aW1pdHlFdmVudC5tYXgnLCAnbW9j
a0V2ZW50Lm1heCcpOworfQorCit2YXIgaGFzTWFpbkZyYW1lRXZlbnRGaXJlZCA9IGZhbHNlOwor
ZnVuY3Rpb24gbWFpbkZyYW1lTGlzdGVuZXIoZXZlbnQpIHsKKyAgICBjaGVja1Byb3hpbWl0eShl
dmVudCk7CisgICAgaGFzTWFpbkZyYW1lRXZlbnRGaXJlZCA9IHRydWU7CisgICAgbWF5YmVGaW5p
c2hUZXN0KCk7Cit9CisKK3ZhciBoYXNDaGlsZEZyYW1lRXZlbnRGaXJlZCA9IGZhbHNlOworZnVu
Y3Rpb24gY2hpbGRGcmFtZUxpc3RlbmVyKGV2ZW50KSB7CisgICAgY2hlY2tQcm94aW1pdHkoZXZl
bnQpOworICAgIGhhc0NoaWxkRnJhbWVFdmVudEZpcmVkID0gdHJ1ZTsKKyAgICBtYXliZUZpbmlz
aFRlc3QoKTsKK30KKworZnVuY3Rpb24gbWF5YmVGaW5pc2hUZXN0KCkgeworICAgIGlmIChoYXNN
YWluRnJhbWVFdmVudEZpcmVkICYmIGhhc0NoaWxkRnJhbWVFdmVudEZpcmVkKQorICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsKK30KKwordmFyIG1vY2tFdmVudCA9IHt2YWx1ZTogMS4xLCBtaW46IDIu
MiwgbWF4OiAzLjN9OworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuc2V0
TW9ja0RldmljZVByb3hpbWl0eShtb2NrRXZlbnQudmFsdWUsIG1vY2tFdmVudC5taW4sIG1vY2tF
dmVudC5tYXgpOworZWxzZQorICAgIGRlYnVnKCdUaGlzIHRlc3QgY2FuIG5vdCBiZSBydW4gd2l0
aG91dCB0aGUgVGVzdFJ1bm5lcicpOworCit2YXIgY2hpbGRGcmFtZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2lmcmFtZScpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChjaGlsZEZyYW1l
KTsKK2NoaWxkRnJhbWUuY29udGVudFdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRkZXZp
Y2Vwcm94aW1pdHknLCBjaGlsZEZyYW1lTGlzdGVuZXIpOworCit3aW5kb3cuYWRkRXZlbnRMaXN0
ZW5lcignd2Via2l0ZGV2aWNlcHJveGltaXR5JywgbWFpbkZyYW1lTGlzdGVuZXIpOworCit3aW5k
b3cuanNUZXN0SXNBc3luYyA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1Byb3hpbWl0eS9uby1wYWdlLWNhY2hl
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1Byb3hpbWl0eS9uby1wYWdlLWNh
Y2hlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MzY2NWQ1ZWQyYzBhY2U0MzhkNmM2YzM3MDMz
MWIxZDQwZDNmODk0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vUHJv
eGltaXR5L25vLXBhZ2UtY2FjaGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTQgQEAKK1Rlc3Rz
IHRoYXQgcGFnZXMgdGhhdCB1c2UgRGV2aWNlUHJveGltaXR5IGFyZSBub3QgcHV0IGluIHRoZSBw
YWdlIGNhY2hlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworTWFpbiBwYWdlIG9w
ZW5pbmcgcmVzb3VyY2VzL2NhY2hlZC1wYWdlLTEuaHRtbAorcmVzb3VyY2VzL2NhY2hlZC1wYWdl
LTEuaHRtbCBvbmxvYWQgZmlyZWQsIGNvdW50ID0gMQorcmVzb3VyY2VzL2NhY2hlZC1wYWdlLTEu
aHRtbCBhYm91dCB0byBuYXZpZ2F0ZSB0byByZXNvdXJjZXMvY2FjaGVkLXBhZ2UtMi5odG1sCity
ZXNvdXJjZXMvY2FjaGVkLXBhZ2UtMi5odG1sIGFib3V0IHRvIGdvIGJhY2sgdG8gcmVzb3VyY2Vz
L2NhY2hlZC1wYWdlLTEuaHRtbAorcmVzb3VyY2VzL2NhY2hlZC1wYWdlLTEuaHRtbCBvbmxvYWQg
ZmlyZWQsIGNvdW50ID0gMgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1Byb3hpbWl0eS9u
by1wYWdlLWNhY2hlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Qcm94aW1pdHkvbm8tcGFn
ZS1jYWNoZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRlMWFjN2ExNjVkMGZhOGJkNDE3OTk3NjA4YzQ5ZGVi
YmJiY2MzYzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Qcm94aW1p
dHkvbm8tcGFnZS1jYWNoZS5odG1sCkBAIC0wLDAgKzEsMzMgQEAKKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0cyB0aGF0IHBhZ2Vz
IHRoYXQgdXNlIERldmljZVByb3hpbWl0eSBhcmUgbm90IHB1dCBpbiB0aGUgcGFnZSBjYWNoZS4n
KTsKKworaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7CisgICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cygpOworICAgIHRlc3RSdW5u
ZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCdXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleScs
IDEpOworfSBlbHNlCisgICAgZGVidWcoJ1RoaXMgdGVzdCBjYW4gbm90IGJlIHJ1biB3aXRob3V0
IHRoZSBUZXN0UnVubmVyJyk7CisKK3ZhciBwYWdlT25lT25sb2FkQ291bnQgPSAwOworZnVuY3Rp
b24gcmVwb3J0UGFnZU9uZU9ubG9hZCgpIHsKKyAgICArK3BhZ2VPbmVPbmxvYWRDb3VudDsKKyAg
ICBkZWJ1ZygncmVzb3VyY2VzL2NhY2hlZC1wYWdlLTEuaHRtbCBvbmxvYWQgZmlyZWQsIGNvdW50
ID0gJyArIHBhZ2VPbmVPbmxvYWRDb3VudCk7CisgICAgaWYgKHBhZ2VPbmVPbmxvYWRDb3VudCA9
PSAyKSB7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0KKyAgICByZXR1cm4gcGFnZU9u
ZU9ubG9hZENvdW50OworfQorCitkZWJ1ZygiTWFpbiBwYWdlIG9wZW5pbmcgcmVzb3VyY2VzL2Nh
Y2hlZC1wYWdlLTEuaHRtbCIpOword2luZG93Lm9wZW4oInJlc291cmNlcy9jYWNoZWQtcGFnZS0x
Lmh0bWwiKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Qcm94aW1p
dHkvbm8tc3luY2hyb25vdXMtZXZlbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL1Byb3hpbWl0eS9uby1zeW5jaHJvbm91cy1ldmVudHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjlmZDhhMTFiNDQ3OTdmMzgyMDdlNGI2NGMwZTNjZTZkNmNhZDhmYzcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Qcm94aW1pdHkvbm8tc3luY2hyb25vdXMtZXZl
bnRzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitUZXN0cyB0aGF0IGV2ZW50cyBhcmUg
bmV2ZXIgZmlyZWQgc3luY2hyb25vdXNseSBmcm9tIGEgY2FsbCB0byB3aW5kb3cuYWRkRXZlbnRM
aXN0ZW5lcigpLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBoYXNBZGRF
dmVudExpc3RlbmVyUmV0dXJuZWQgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L1Byb3hpbWl0eS9uby1zeW5jaHJvbm91cy1ldmVudHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL1Byb3hpbWl0eS9uby1zeW5jaHJvbm91cy1ldmVudHMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NDNk
NDgyNjQzNDIzYzAzMDkzOTQ5YjczYjI3OGNmNmE2NWViN2Q1Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vUHJveGltaXR5L25vLXN5bmNocm9ub3VzLWV2ZW50cy5odG1s
CkBAIC0wLDAgKzEsMjUgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNj
cmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0cyB0aGF0IGV2ZW50cyBhcmUgbmV2ZXIgZmlyZWQgc3lu
Y2hyb25vdXNseSBmcm9tIGEgY2FsbCB0byB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigpLicpOwor
CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5zZXRNb2NrRGV2aWNlUHJv
eGltaXR5KHRydWUsIDEuMSwgdHJ1ZSwgMi4yLCB0cnVlLCAzLjMpOworZWxzZQorICAgIGRlYnVn
KCdUaGlzIHRlc3QgY2FuIG5vdCBiZSBydW4gd2l0aG91dCB0aGUgVGVzdFJ1bm5lcicpOworCit2
YXIgaGFzQWRkRXZlbnRMaXN0ZW5lclJldHVybmVkID0gZmFsc2U7Cit3aW5kb3cuYWRkRXZlbnRM
aXN0ZW5lcignd2Via2l0ZGV2aWNlcHJveGltaXR5JywgZnVuY3Rpb24oKSB7CisgICAgc2hvdWxk
QmVUcnVlKCdoYXNBZGRFdmVudExpc3RlbmVyUmV0dXJuZWQnKTsKKyAgICBmaW5pc2hKU1Rlc3Qo
KTsKK30pOworaGFzQWRkRXZlbnRMaXN0ZW5lclJldHVybmVkID0gdHJ1ZTsKKword2luZG93Lmpz
VGVzdElzQXN5bmMgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Qcm94aW1pdHkvb3B0aW9uYWwtZXZlbnQtcHJv
cGVydGllcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Qcm94aW1pdHkvb3B0
aW9uYWwtZXZlbnQtcHJvcGVydGllcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzRlZjQ0YjI4
ZDU0NDgyNGQzYzg1NmYzMzFiN2FlMzI5ZTVkYzM5NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL1Byb3hpbWl0eS9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDE4IEBACitUZXN0cyB0aGUgb3B0aW9uYWwgcHJvcGVydGllcyBv
ZiBEZXZpY2VQcm94aW1pdHlFdmVudC4gRWFjaCBwcm9wZXJ0eSBzaG91bGQgYmUgbnVsbCBpZiBu
b3Qgc2V0LCBvciBzZXQgdG8gbnVsbCBvciB1bmRlZmluZWQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworCitldmVudCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdEZXZpY2VQcm94aW1p
dHlFdmVudCcpCitQQVNTIGV2ZW50LnZhbHVlID09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSBp
cyB0cnVlCitQQVNTIGV2ZW50Lm1pbiA9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgaXMgdHJ1
ZQorUEFTUyBldmVudC5tYXggPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIGlzIHRydWUKK2V2
ZW50LmluaXREZXZpY2VQcm94aW1pdHlFdmVudCgpCitGQUlMIGV2ZW50LmluaXREZXZpY2VQcm94
aW1pdHlFdmVudCgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6ICd1bmRlZmluZWQnIGlzIG5v
dCBhIGZ1bmN0aW9uIChldmFsdWF0aW5nICdldmVudC5pbml0RGV2aWNlUHJveGltaXR5RXZlbnQo
KScpCitQQVNTIGV2ZW50LnZhbHVlID09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSBpcyB0cnVl
CitQQVNTIGV2ZW50Lm1pbiA9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgaXMgdHJ1ZQorUEFT
UyBldmVudC5tYXggPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIGlzIHRydWUKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9Qcm94aW1pdHkvb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vUHJveGltaXR5L29wdGlvbmFsLWV2ZW50LXByb3Bl
cnRpZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MDZiMzQyNDA4OTg2MmI0N2ZiMGFlYjYwM2I4ZTZkMzNh
NmE2ZGM0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vUHJveGltaXR5
L29wdGlvbmFsLWV2ZW50LXByb3BlcnRpZXMuaHRtbApAQCAtMCwwICsxLDIzIEBACis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVzdHMg
dGhlIG9wdGlvbmFsIHByb3BlcnRpZXMgb2YgRGV2aWNlUHJveGltaXR5RXZlbnQuIEVhY2ggcHJv
cGVydHkgc2hvdWxkIGJlIG51bGwgaWYgbm90IHNldCwgb3Igc2V0IHRvIG51bGwgb3IgdW5kZWZp
bmVkLicpOworCit2YXIgZXZlbnQ7CisKK2V2YWxBbmRMb2coImV2ZW50ID0gZG9jdW1lbnQuY3Jl
YXRlRXZlbnQoJ0RldmljZVByb3hpbWl0eUV2ZW50JykiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQu
dmFsdWUgPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIik7CitzaG91bGRCZVRydWUoImV2ZW50
Lm1pbiA9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQu
bWF4ID09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSIpOworCitldmFsQW5kTG9nKCJldmVudC5p
bml0RGV2aWNlUHJveGltaXR5RXZlbnQoKSIpOworc2hvdWxkQmVUcnVlKCJldmVudC52YWx1ZSA9
PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQubWluID09
IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSIpOworc2hvdWxkQmVUcnVlKCJldmVudC5tYXggPT0g
TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIik7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1Byb3hpbWl0eS9yZXNvdXJjZXMv
Y2FjaGVkLXBhZ2UtMS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vUHJveGltaXR5L3Jlc291
cmNlcy9jYWNoZWQtcGFnZS0xLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2Q4YTJkNTZlYWY0NWFiZDc2MGUy
MTRjY2M3YjM1NjRjOWY1YWFmYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL1Byb3hpbWl0eS9yZXNvdXJjZXMvY2FjaGVkLXBhZ2UtMS5odG1sCkBAIC0wLDAgKzEsMTEg
QEAKKzxzY3JpcHQ+CitmdW5jdGlvbiBsb2FkTmV4dCgpIHsKKyAgICB3aW5kb3cuYWRkRXZlbnRM
aXN0ZW5lcignd2Via2l0ZGV2aWNlcHJveGltaXR5JywgZnVuY3Rpb24oKSB7fSk7CisgICAgaWYg
KHdpbmRvdy5vcGVuZXIucmVwb3J0UGFnZU9uZU9ubG9hZCgpID09IDEpIHsKKyAgICAgICAgd2lu
ZG93Lm9wZW5lci5kZWJ1ZygncmVzb3VyY2VzL2NhY2hlZC1wYWdlLTEuaHRtbCBhYm91dCB0byBu
YXZpZ2F0ZSB0byByZXNvdXJjZXMvY2FjaGVkLXBhZ2UtMi5odG1sJykKKyAgICAgICAgLy8gTG9j
YXRpb24gY2hhbmdlcyBuZWVkIHRvIGhhcHBlbiBvdXRzaWRlIHRoZSBvbmxvYWQgaGFuZGxlciB0
byBnZW5lcmF0ZSBoaXN0b3J5IGVudHJpZXMuCisgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24o
KSB7IGxvY2F0aW9uLmhyZWYgPSAnY2FjaGVkLXBhZ2UtMi5odG1sJzsgfSwgMCk7CisgICAgfQor
fQorPC9zY3JpcHQ+Cis8Ym9keSBvbmxvYWQ9ImxvYWROZXh0KCkiPjwvYm9keT4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1Byb3hpbWl0eS9yZXNvdXJjZXMvY2FjaGVkLXBhZ2Ut
Mi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vUHJveGltaXR5L3Jlc291cmNlcy9jYWNoZWQt
cGFnZS0yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTQ3OGY5Y2Y2ZDBhZTUwNTg2NGZjZWMxNTczNDBjMzk4
NTM2NDg1YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1Byb3hpbWl0
eS9yZXNvdXJjZXMvY2FjaGVkLXBhZ2UtMi5odG1sCkBAIC0wLDAgKzEsOCBAQAorPHNjcmlwdD4K
K2Z1bmN0aW9uIGluaXQoKSB7CisgICAgd2luZG93Lm9wZW5lci5wYWdlVHdvTG9hZGVkID0gdHJ1
ZTsKKyAgICB3aW5kb3cub3BlbmVyLmRlYnVnKCdyZXNvdXJjZXMvY2FjaGVkLXBhZ2UtMi5odG1s
IGFib3V0IHRvIGdvIGJhY2sgdG8gcmVzb3VyY2VzL2NhY2hlZC1wYWdlLTEuaHRtbCcpOworICAg
IGhpc3RvcnkuYmFjaygpOworfQorPC9zY3JpcHQ+Cis8Ym9keSBvbmxvYWQ9ImluaXQoKSI+PC9i
b2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vUHJveGltaXR5L3Jlc291cmNl
cy9ldmVudC1hZnRlci1uYXZpZ2F0aW9uLW5ldy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
UHJveGltaXR5L3Jlc291cmNlcy9ldmVudC1hZnRlci1uYXZpZ2F0aW9uLW5ldy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjViYzNiNDdkNWQyMjZjZDQyN2RmYzljMDE0NjA3ZTYwMzM1YmU0MDEKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Qcm94aW1pdHkvcmVzb3VyY2VzL2V2ZW50
LWFmdGVyLW5hdmlnYXRpb24tbmV3Lmh0bWwKQEAgLTAsMCArMSwxNSBAQAorPGh0bWw+CisgIDxo
ZWFkPgorICA8L2hlYWQ+CisgIDxib2R5PgorICAgIFRlc3RzIGZvciBhIGNyYXNoIHdoZXJlIGFu
IGV2ZW50IGlzIGZpcmVkIGFmdGVyIHRoZSBwYWdlIGhhcyBiZWVuIG5hdmlnYXRlZAorICAgIGF3
YXkgd2hlbiB0aGUgb3JpZ2luYWwgcGFnZSBpcyBpbiB0aGUgcGFnZSBjYWNoZS48YnI+PGJyPgor
ICAgIFNVQ0NFU1MKKyAgICA8c2NyaXB0PgorICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7
CisgICAgICAgICAgdGVzdFJ1bm5lci5zZXRNb2NrRGV2aWNlUHJveGltaXR5KDEuMSwgMi4yLCAz
LjMpOworICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgfQorICAgIDwv
c2NyaXB0PgorICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9Qcm94aW1pdHkvdXBkYXRlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9Qcm94aW1pdHkvdXBkYXRlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2QwMThhZTEzMGVl
MmRkODA0Mjc0MDJjZDNkMTc3NDZhOTEyYWEwOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL1Byb3hpbWl0eS91cGRhdGVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1
IEBACitUZXN0cyB0aGF0IHVwZGF0ZXMgdG8gdGhlIHByb3hpbWl0eSBjYXVzZXMgbmV3IGV2ZW50
cyB0byBmaXJlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBkZXZpY2VQ
cm94aW1pdHlFdmVudC52YWx1ZSBpcyBtb2NrRXZlbnQudmFsdWUKK1BBU1MgZGV2aWNlUHJveGlt
aXR5RXZlbnQubWluIGlzIG1vY2tFdmVudC5taW4KK1BBU1MgZGV2aWNlUHJveGltaXR5RXZlbnQu
bWF4IGlzIG1vY2tFdmVudC5tYXgKK1BBU1MgZGV2aWNlUHJveGltaXR5RXZlbnQudmFsdWUgaXMg
bW9ja0V2ZW50LnZhbHVlCitQQVNTIGRldmljZVByb3hpbWl0eUV2ZW50Lm1pbiBpcyBtb2NrRXZl
bnQubWluCitQQVNTIGRldmljZVByb3hpbWl0eUV2ZW50Lm1heCBpcyBtb2NrRXZlbnQubWF4CitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vUHJveGltaXR5L3VwZGF0ZXMuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL1Byb3hpbWl0eS91cGRhdGVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTZmYjQ4
Njc4NWJhNmVmYTRlOTNiNjY5ZTAxNTljOTBhYTRhMmRlMQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL1Byb3hpbWl0eS91cGRhdGVzLmh0bWwKQEAgLTAsMCArMSw0NiBA
QAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRp
b24oJ1Rlc3RzIHRoYXQgdXBkYXRlcyB0byB0aGUgcHJveGltaXR5IGNhdXNlcyBuZXcgZXZlbnRz
IHRvIGZpcmUuJyk7CisKK3ZhciBtb2NrRXZlbnQ7CitmdW5jdGlvbiBzZXRNb2NrUHJveGltaXR5
KHZhbHVlLCBtaW4sIG1heCkgeworICAgIG1vY2tFdmVudCA9IHt2YWx1ZTogdmFsdWUsIG1pbjog
bWluLCBtYXg6IG1heH07CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0
UnVubmVyLnNldE1vY2tEZXZpY2VQcm94aW1pdHkobW9ja0V2ZW50LnZhbHVlLCBtb2NrRXZlbnQu
bWluLCBtb2NrRXZlbnQubWF4KTsKKyAgICBlbHNlCisgICAgICAgIGRlYnVnKCdUaGlzIHRlc3Qg
Y2FuIG5vdCBiZSBydW4gd2l0aG91dCB0aGUgVGVzdFJ1bm5lcicpOworfQorCit2YXIgZGV2aWNl
UHJveGltaXR5RXZlbnQ7CitmdW5jdGlvbiBjaGVja1Byb3hpbWl0eShldmVudCkgeworICAgIGRl
dmljZVByb3hpbWl0eUV2ZW50ID0gZXZlbnQ7CisgICAgc2hvdWxkQmUoJ2RldmljZVByb3hpbWl0
eUV2ZW50LnZhbHVlJywgJ21vY2tFdmVudC52YWx1ZScpOworICAgIHNob3VsZEJlKCdkZXZpY2VQ
cm94aW1pdHlFdmVudC5taW4nLCAnbW9ja0V2ZW50Lm1pbicpOworICAgIHNob3VsZEJlKCdkZXZp
Y2VQcm94aW1pdHlFdmVudC5tYXgnLCAnbW9ja0V2ZW50Lm1heCcpOworfQorCitmdW5jdGlvbiBm
aXJzdExpc3RlbmVyKGV2ZW50KSB7CisgICAgY2hlY2tQcm94aW1pdHkoZXZlbnQpOworICAgIHdp
bmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCd3ZWJraXRkZXZpY2Vwcm94aW1pdHknLCBmaXJzdExp
c3RlbmVyKTsKKworICAgIHNldE1vY2tQcm94aW1pdHkoMTEuMSwgMjIuMiwgMzMuMyk7CisgICAg
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdGRldmljZXByb3hpbWl0eScsIHVwZGF0ZUxp
c3RlbmVyKTsKK30KKworZnVuY3Rpb24gdXBkYXRlTGlzdGVuZXIoZXZlbnQpIHsKKyAgICBjaGVj
a1Byb3hpbWl0eShldmVudCk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK3NldE1vY2tQcm94
aW1pdHkoMS4xLCAyLjIsIDMuMyk7Cit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0ZGV2
aWNlcHJveGltaXR5JywgZmlyc3RMaXN0ZW5lcik7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vUHJveGltaXR5L3dpbmRvdy1wcm9wZXJ0eS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9Qcm94aW1pdHkvd2luZG93LXByb3BlcnR5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5kM2U3NWQ4ODUyNjNmYmZmNjM0YWNiZmUyODEyODdhNWYyYzk0ZTk1Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vUHJveGltaXR5L3dpbmRvdy1w
cm9wZXJ0eS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOCBAQAorVGVzdHMgdGhhdCB0aGUgd2lu
ZG93LkRldmljZVByb3hpbWl0eUV2ZW50IGFuZCB3aW5kb3cub253ZWJraXRkZXZpY2Vwcm94aW1p
dHkgcHJvcGVydGllcyBhcmUgcHJlc2VudC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK1BBU1MgdHlwZW9mIHdpbmRvdy5EZXZpY2VQcm94aW1pdHlFdmVudCA9PSAnb2JqZWN0JyBp
cyB0cnVlCitQQVNTIHR5cGVvZiB3aW5kb3cuRGV2aWNlUHJveGltaXR5RXZlbnQgPT0gJ2Z1bmN0
aW9uJyBpcyBmYWxzZQorUEFTUyBoYXNEZXZpY2VQcm94aW1pdHlFdmVudFByb3BlcnR5KCkgaXMg
dHJ1ZQorUEFTUyAnRGV2aWNlUHJveGltaXR5RXZlbnQnIGluIHdpbmRvdyBpcyB0cnVlCitQQVNT
IHdpbmRvdy5oYXNPd25Qcm9wZXJ0eSgnRGV2aWNlUHJveGltaXR5RXZlbnQnKSBpcyB0cnVlCitQ
QVNTIHR5cGVvZiB3aW5kb3cub253ZWJraXRkZXZpY2Vwcm94aW1pdHkgPT0gJ29iamVjdCcgaXMg
dHJ1ZQorUEFTUyBoYXNPbkRldmljZVByb3hpbWl0eVByb3BlcnR5KCkgaXMgdHJ1ZQorUEFTUyAn
b253ZWJraXRkZXZpY2Vwcm94aW1pdHknIGluIHdpbmRvdyBpcyB0cnVlCitQQVNTIHdpbmRvdy5o
YXNPd25Qcm9wZXJ0eSgnb253ZWJraXRkZXZpY2Vwcm94aW1pdHknKSBpcyB0cnVlCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vUHJveGltaXR5L3dpbmRvdy1wcm9wZXJ0eS5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vUHJveGltaXR5L3dpbmRvdy1wcm9wZXJ0eS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjI1MzQ4YTJkZTQ2YzQwMTEzMDI5ZDQzYTI4MDYzM2NkM2IzY2UwMDYKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Qcm94aW1pdHkvd2luZG93LXByb3BlcnR5Lmh0
bWwKQEAgLTAsMCArMSw0MCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3RzIHRoYXQgdGhlIHdpbmRvdy5EZXZpY2VQcm94aW1p
dHlFdmVudCBhbmQgd2luZG93Lm9ud2Via2l0ZGV2aWNlcHJveGltaXR5IHByb3BlcnRpZXMgYXJl
IHByZXNlbnQuJyk7CisKK2Z1bmN0aW9uIGhhc0RldmljZVByb3hpbWl0eUV2ZW50UHJvcGVydHko
KQoreworICAgIGZvciAodmFyIHByb3BlcnR5IGluIHdpbmRvdykgeworICAgICAgICBpZiAocHJv
cGVydHkgPT0gJ0RldmljZVByb3hpbWl0eUV2ZW50JykKKyAgICAgICAgICAgIHJldHVybiB0cnVl
OworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIHdp
bmRvdy5EZXZpY2VQcm94aW1pdHlFdmVudCA9PSAnb2JqZWN0JyIpOworc2hvdWxkQmVGYWxzZSgi
dHlwZW9mIHdpbmRvdy5EZXZpY2VQcm94aW1pdHlFdmVudCA9PSAnZnVuY3Rpb24nIik7CitzaG91
bGRCZVRydWUoImhhc0RldmljZVByb3hpbWl0eUV2ZW50UHJvcGVydHkoKSIpOworc2hvdWxkQmVU
cnVlKCInRGV2aWNlUHJveGltaXR5RXZlbnQnIGluIHdpbmRvdyIpOworc2hvdWxkQmVUcnVlKCJ3
aW5kb3cuaGFzT3duUHJvcGVydHkoJ0RldmljZVByb3hpbWl0eUV2ZW50JykiKTsKKworZnVuY3Rp
b24gaGFzT25EZXZpY2VQcm94aW1pdHlQcm9wZXJ0eSgpCit7CisgICAgZm9yICh2YXIgcHJvcGVy
dHkgaW4gd2luZG93KSB7CisgICAgICAgIGlmIChwcm9wZXJ0eSA9PSAnb253ZWJraXRkZXZpY2Vw
cm94aW1pdHknKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIHJldHVybiBm
YWxzZTsKK30KKworc2hvdWxkQmVUcnVlKCJ0eXBlb2Ygd2luZG93Lm9ud2Via2l0ZGV2aWNlcHJv
eGltaXR5ID09ICdvYmplY3QnIik7CitzaG91bGRCZVRydWUoImhhc09uRGV2aWNlUHJveGltaXR5
UHJvcGVydHkoKSIpOworc2hvdWxkQmVUcnVlKCInb253ZWJraXRkZXZpY2Vwcm94aW1pdHknIGlu
IHdpbmRvdyIpOworc2hvdWxkQmVUcnVlKCJ3aW5kb3cuaGFzT3duUHJvcGVydHkoJ29ud2Via2l0
ZGV2aWNlcHJveGltaXR5JykiKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177978</attachid>
            <date>2012-12-06 02:27:56 -0800</date>
            <delta_ts>2012-12-06 20:38:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97630-20121206192519.patch</filename>
            <type>text/plain</type>
            <size>73221</size>
            <attacher name="Kihong Kwon">kihong.kwon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2NzkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDk4ZDIzNDA3N2M2NGJh
ODk2ODVlZGRkNmJhMzc1OTNjZjcyMDFjZC4uY2EzNzU5ZjBkZGFlY2ZmNzk0M2QwODZkYWJmMGZi
YTY3MGIxMDA3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcyIEBACisyMDEyLTEyLTA2ICBLaWhv
bmcgS3dvbiAgPGtpaG9uZy5rd29uQHNhbXN1bmcuY29tPgorCisgICAgICAgIEFkZCBEZXZpY2VQ
cm94aW1pdHlDb250cm9sbGVyIHRvIHN1cHBvcnQgRGV2aWNlIFByb3hpbWl0eSBFdmVudHMuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzYzMAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBE
ZXZpY2VQcm94aW1pdHlDb250cm9sbGVyIHdoaWNoIGlzIGluaGVyaXRlZCBmcm9tIERldmljZUNv
bnRyb2xsZXIgdG8gc3VwcG9ydCBEZXZpY2UgUHJveGltaXR5IEV2ZW50cy4KKyAgICAgICAgRGV2
aWNlUHJveGltaXR5Q29udHJvbGxlciBoYXMgdHdvIG1ham9yIGZ1bnRpb25hbGxpdGllcy4KKyAg
ICAgICAgLSBXaGVuIGxpc3RlbmVyIGlzIGFkZGVkLCBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVy
IHN0b3JlcyBET01XaW5kb3cgcG9pbnRlciB0byBtX2xpc3RlbmVycworICAgICAgICAgIGFuZCBz
dGFydCBnYXR0ZXJpbmcgcHJveGltaXR5IGV2ZW50LgorICAgICAgICAtIFdoZW4gRGV2aWNlUHJv
eGltaXR5Q29udHJvbGxlciByZWNlaXZlcyBhIHByb3hpbWl0eSBldmVudCBmcm9tIGNsaWVudCwg
ZmlyZSBhbiBldmVudCB1c2luZyBtX2xpc3RlbmVycy4KKyAgICAgICAgSW4gYWRkaXRpb24sIHNl
dERldmljZVByb3hpbWl0eSBmdW5jdGlvbiBpcyBhZGRlZCB0byBJbnRlcm5hbHMgZm9yIGxheW91
dCB0ZXN0LgorCisgICAgICAgIFRlc3RzOiBwcm94aW1pdHkvYWRkLWxpc3RlbmVyLWZyb20tY2Fs
bGJhY2suaHRtbAorICAgICAgICAgICAgICAgcHJveGltaXR5L2Jhc2ljLW9wZXJhdGlvbi5odG1s
CisgICAgICAgICAgICAgICBwcm94aW1pdHkvY3JlYXRlLWV2ZW50Lmh0bWwKKyAgICAgICAgICAg
ICAgIHByb3hpbWl0eS9ldmVudC1hZnRlci1uYXZpZ2F0aW9uLmh0bWwKKyAgICAgICAgICAgICAg
IHByb3hpbWl0eS9tdWx0aXBsZS1mcmFtZXMuaHRtbAorICAgICAgICAgICAgICAgcHJveGltaXR5
L25vLXBhZ2UtY2FjaGUuaHRtbAorICAgICAgICAgICAgICAgcHJveGltaXR5L29wdGlvbmFsLWV2
ZW50LXByb3BlcnRpZXMuaHRtbAorICAgICAgICAgICAgICAgcHJveGltaXR5L3VwZGF0ZXMuaHRt
bAorICAgICAgICAgICAgICAgcHJveGltaXR5L3dpbmRvdy1wcm9wZXJ0eS5odG1sCisKKyAgICAg
ICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAg
KiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIE1vZHVsZXMvcHJveGltaXR5L0Rldmlj
ZVByb3hpbWl0eUNsaWVudC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
RGV2aWNlUHJveGltaXR5Q2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZVByb3hpbWl0
eUNsaWVudDo6fkRldmljZVByb3hpbWl0eUNsaWVudCk6CisgICAgICAgICogTW9kdWxlcy9wcm94
aW1pdHkvRGV2aWNlUHJveGltaXR5Q29udHJvbGxlci5jcHA6IEFkZGVkLgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyOjpEZXZp
Y2VQcm94aW1pdHlDb250cm9sbGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZVByb3hpbWl0
eUNvbnRyb2xsZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VQcm94aW1pdHlD
b250cm9sbGVyOjpkaWRDaGFuZ2VEZXZpY2VQcm94aW1pdHkpOgorICAgICAgICAoV2ViQ29yZTo6
RGV2aWNlUHJveGltaXR5Q29udHJvbGxlcjo6ZGV2aWNlUHJveGltaXR5Q2xpZW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OkRldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6Omhhc0xhc3REYXRhKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6OmdldExhc3RFdmVudCk6
CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyOjpzdXBwbGVtZW50
TmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyOjpmcm9t
KToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6OmlzQWN0aXZl
QXQpOgorICAgICAgICAoV2ViQ29yZTo6cHJvdmlkZURldmljZVByb3hpbWl0eVRvKToKKyAgICAg
ICAgKiBNb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmg6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChEZXZpY2VQcm94aW1pdHlDb250cm9sbGVy
KToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6On5EZXZpY2VQ
cm94aW1pdHlDb250cm9sbGVyKToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdl
YkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAg
KiBXZWJDb3JlLnByaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoK
KyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlQ29tbW9uLnZzcHJvcHM6CisgICAgICAg
ICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGhpc3Rvcnkv
UGFnZUNhY2hlLmNwcDoKKyAgICAgICAgV2hlbiBhIHBhZ2UgaGFzIERldmljZSBQcm94aW1pdHkg
RXZlbnQgTGlzdGVuZXIsIGl0IGhhcyBub3QgdG8gYmUgY2FjaGVkIGxpa2UgRGV2aWNlIE9yaWVu
dGF0aW9uLgorICAgICAgICAoV2ViQ29yZTo6bG9nQ2FuQ2FjaGVQYWdlRGVjaXNpb24pOgorICAg
ICAgICAoV2ViQ29yZTo6UGFnZUNhY2hlOjpjYW5DYWNoZSk6CisgICAgICAgICogcGFnZS9ET01X
aW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjphZGRFdmVudExpc3RlbmVy
KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6cmVtb3ZlRXZlbnRMaXN0ZW5lcik6Cisg
ICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnJlbW92ZUFsbEV2ZW50TGlzdGVuZXJzKToKKyAg
ICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5h
bHM6OnNldERldmljZVByb3hpbWl0eSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiB0
ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAoSW50ZXJuYWxzKToKKyAgICAgICAgKiB0ZXN0
aW5nL0ludGVybmFscy5pZGw6CisKIDIwMTItMTItMDUgIEFuZHJlaSBCdWN1ciAgPGFidWN1ckBh
ZG9iZS5jb20+CiAKICAgICAgICAgW0NTUyBSZWdpb25zXSBCbG9ja3MgZG9uJ3QgcmVsYXlvdXQg
Y2hpbGRyZW4gaWYgdGhlIHdpZHRoIG9mIGEgcmVnaW9uIGNoYW5nZXMKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNDA5
ODFlYTllY2UwMjM1ZDQ4YWEyOGQ4ZThkNzFmM2MyMGI2MDMxMy4uNDFjOTUzZGY3ZGVjNzJiNTIx
N2QyY2QxZmRkZTFmYzU2OTBmODJiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMi0x
Mi0wNiAgS2lob25nIEt3b24gIDxraWhvbmcua3dvbkBzYW1zdW5nLmNvbT4KKworICAgICAgICBB
ZGQgRGV2aWNlUHJveGltaXR5Q29udHJvbGxlciB0byBzdXBwb3J0IERldmljZSBQcm94aW1pdHkg
RXZlbnRzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
OTc2MzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgTW91ZHVsZXMvcHJveGltaXR5IHBhdGggdG8gdGhlIGluY2x1ZGUgZGlyZWN0b3J5IGFuZCBh
ZGQgRGV2aWNlUHJveGltaXR5Q2xpZW50RWZsLmNwcC4KKworICAgICAgICAqIFBsYXRmb3JtRWZs
LmNtYWtlOgorCiAyMDEyLTEyLTA1ICBIYWx0b24gSHVvICA8aGFsdG9uLmh1b0BpbnRlbC5jb20+
CiAKICAgICAgICAgW0NNYWtlXSBVbmlmeSBjb2Rpbmcgc3R5bGUgZm9yIENNYWtlIGZpbGVzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Vm
bC9DaGFuZ2VMb2cKaW5kZXggMDNjY2FkZDJlNTJlZDdkMWY4MzcwZjk2NzczYWFkZWQ3YzdmOWM0
Yi4uMDlkOGIzZjI1ZWExNzcwNjI3YjY4NmJhM2ZkZTI4ZjhlNTQxMjVjMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTEyLTA2ICBLaWhvbmcgS3dvbiAgPGtpaG9uZy5r
d29uQHNhbXN1bmcuY29tPgorCisgICAgICAgIEFkZCBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVy
IHRvIHN1cHBvcnQgRGV2aWNlIFByb3hpbWl0eSBFdmVudHMuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzYzMAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBpbml0aWFsIERldmljZVByb3hpbWl0eUNs
aWVudEVmbCBjbGFzcyB3aGljaCBpcyBpbmhlcml0ZWQgRGV2aWNlUHJveGltaXR5Q2xpZW50Lgor
ICAgICAgICBCdXQgc3RhcnRVcGRhdGluZyBhbmQgc3RvcFVwZGF0aW5nIG5lZWQgdG8gYmUgaW1w
bGVtZW50ZWQuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EZXZpY2VQcm94aW1pdHlDbGll
bnRFZmwuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6
RGV2aWNlUHJveGltaXR5Q2xpZW50RWZsOjpEZXZpY2VQcm94aW1pdHlDbGllbnRFZmwpOgorICAg
ICAgICAoV2ViQ29yZTo6RGV2aWNlUHJveGltaXR5Q2xpZW50RWZsOjpzdGFydFVwZGF0aW5nKToK
KyAgICAgICAgKFdlYkNvcmU6OkRldmljZVByb3hpbWl0eUNsaWVudEVmbDo6c3RvcFVwZGF0aW5n
KToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZVByb3hpbWl0eUNsaWVudEVmbDo6aGFzTGFzdERh
dGEpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlUHJveGltaXR5Q2xpZW50RWZsOjpkaWRDaGFu
Z2VQcm94aW1pdHkpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0RldmljZVByb3hpbWl0eUNs
aWVudEVmbC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoRGV2aWNlUHJv
eGltaXR5Q2xpZW50RWZsKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZVByb3hpbWl0eUNsaWVu
dEVmbDo6fkRldmljZVByb3hpbWl0eUNsaWVudEVmbCk6CisgICAgICAgIChXZWJDb3JlOjpEZXZp
Y2VQcm94aW1pdHlDbGllbnRFZmw6OnZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZVBy
b3hpbWl0eUNsaWVudEVmbDo6bWluKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZVByb3hpbWl0
eUNsaWVudEVmbDo6bWF4KToKKyAgICAgICAgKiBld2svZXdrX3ZpZXcuY3BwOgorICAgICAgICAo
X2V3a192aWV3X3ByaXZfbmV3KToKKwogMjAxMi0xMi0wNSAgSGFsdG9uIEh1byAgPGhhbHRvbi5o
dW9AaW50ZWwuY29tPgogCiAgICAgICAgIFtDTWFrZV0gVW5pZnkgY29kaW5nIHN0eWxlIGZvciBD
TWFrZSBmaWxlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAxYzljYTEwMzgxYTg4ODBlNDRmM2Yw
MjEzYThiZGE0NDM2ZjdjZmMyLi5kZmJjYjgxZTU4NTJjMDhiYzM0NGQ0YjhiNDI0ZTZkMTY3ZTg3
MjkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTE4LDYgKzExOCw3IEBAIHNldChXZWJDb3Jl
X0lETF9JTkNMVURFUwogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0KICAgICBNb2R1bGVzL25ldHdv
cmtpbmZvCiAgICAgTW9kdWxlcy9ub3RpZmljYXRpb25zCisgICAgTW9kdWxlcy9wcm94aW1pdHkK
ICAgICBNb2R1bGVzL3F1b3RhCiAgICAgTW9kdWxlcy9zcGVlY2gKICAgICBNb2R1bGVzL3ZpYnJh
dGlvbgpAQCAtODkyLDYgKzg5Myw3IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBNb2R1bGVz
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcAogICAgIE1vZHVsZXMvbm90aWZpY2F0aW9u
cy9Xb3JrZXJDb250ZXh0Tm90aWZpY2F0aW9ucy5jcHAKIAorICAgIE1vZHVsZXMvcHJveGltaXR5
L0RldmljZVByb3hpbWl0eUNvbnRyb2xsZXIuY3BwCiAgICAgTW9kdWxlcy9wcm94aW1pdHkvRGV2
aWNlUHJveGltaXR5RXZlbnQuY3BwCiAKICAgICBNb2R1bGVzL3F1b3RhL0RPTVdpbmRvd1F1b3Rh
LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCA1OTRiZGEwMDM2ZWM2YTNhMDJiM2E4Zjc4OGY1
ZGEzMWNmMGNmOGUzLi5kM2QzN2JhZjY3MmFhM2FiNjE2YWI1YjYxOWE4M2JkZDQ2MjMzNzIyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtMTcsNiArMTcsNyBAQCB3ZWJjb3JlX2NwcGZsYWdzICs9
IFwKIAktSSQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtIFwKIAkt
SSQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25hdmlnYXRvcmNvbnRlbnR1dGlscyBc
CiAJLUkkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zIFwKKwkt
SSQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Byb3hpbWl0eSBcCiAJLUkkKHNyY2Rp
cikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YSBcCiAJLUkkKHNyY2RpcikvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpbyBcCiAJLUkkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJkYXRhYmFzZSBcCkBAIC01ODMsNiArNTg0LDcgQEAgSURMX1BBVEggOj0gXAogICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXNvdXJjZSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L21lZGlhc3RyZWFtIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbm90aWZpY2F0aW9ucyBcCisg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL3Byb3hpbWl0eSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L3F1b3RhIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViYXVkaW8gXAogICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy93ZWJkYXRhYmFzZSBcCkBAIC04MTEsNiArODEzLDcgQEAgRVhUUkFfRElTVCAr
PSBcCiAJJCh3aWxkY2FyZCAkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS8qLmlkbCkgXAogCSQod2lsZGNhcmQgJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbmF2aWdhdG9yY29udGVudHV0aWxzLyouaWRsKSBcCiAJJCh3aWxkY2FyZCAkKHNyY2Rpcikv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zLyouaWRsKSBcCisJJCh3aWxkY2Fy
ZCAkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wcm94aW1pdHkvKi5pZGwpIFwKIAkk
KHdpbGRjYXJkICQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1b3RhLyouaWRsKSBc
CiAJJCh3aWxkY2FyZCAkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby8q
LmlkbCkgXAogCSQod2lsZGNhcmQgJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
ZGF0YWJhc2UvKi5pZGwpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IGQxYzg2
MGFkNTk1M2JiZGI2YzU0NTAzZWZlNTAyYzFmNGVmMDI0NTIuLjQyYmUwNTZjNGE0ODNlNjkzYTA5
ZWFiZmIyMjA0YTIzNDQzYmQ3NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAt
MTI2Nyw2ICsxMjY3LDcgQEAgZG9tX2JpbmRpbmdfaWRscyArPSBcCiAJJChXZWJDb3JlKS9Nb2R1
bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVz
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1
bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlkbCBcCisJ
JChXZWJDb3JlKS9Nb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlFdmVudC5pZGwgXAog
CSQoV2ViQ29yZSkvTW9kdWxlcy9xdW90YS9ET01XaW5kb3dRdW90YS5pZGwgXAogCSQoV2ViQ29y
ZSkvTW9kdWxlcy9xdW90YS9TdG9yYWdlSW5mby5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy9x
dW90YS9TdG9yYWdlSW5mb0Vycm9yQ2FsbGJhY2suaWRsIFwKQEAgLTE5OTYsNiArMTk5NywxMSBA
QCB3ZWJjb3JlX21vZHVsZXNfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvV29ya2VyQ29udGV4dE5vdGlmaWNhdGlvbnMu
Y3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvV29ya2VyQ29udGV4
dE5vdGlmaWNhdGlvbnMuaCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wcm94aW1pdHkvRGV2
aWNlUHJveGltaXR5LmggXAorCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHJveGltaXR5L0Rldmlj
ZVByb3hpbWl0eUNvbnRyb2xsZXIuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Byb3hp
bWl0eS9EZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmggXAorCVNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcHJveGltaXR5L0RldmljZVByb3hpbWl0eUV2ZW50LmNwcCBcCisJU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5RXZlbnQuaCBcCiAJU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9xdW90YS9ET01XaW5kb3dRdW90YS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcXVvdGEvRE9NV2luZG93UXVvdGEuaCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9x
dW90YS9TdG9yYWdlSW5mby5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5Q2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlDbGllbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOWMxNWE1
NTJkOWZkOWI2NGI1ZWU4Mzk3MjkzY2JhYTkzNzdlZmQxCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5Q2xpZW50LmgKQEAg
LTAsMCArMSw1MiBAQAorLyoKKyAqIENvcHlyaWdodCAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3Mu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgRGV2aWNlUHJveGltaXR5
Q2xpZW50X2gKKyNkZWZpbmUgRGV2aWNlUHJveGltaXR5Q2xpZW50X2gKKworI2lmIEVOQUJMRShQ
Uk9YSU1JVFlfRVZFTlRTKQorCisjaW5jbHVkZSAiRGV2aWNlQ2xpZW50LmgiCisjaW5jbHVkZSA8
bGltaXRzPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFBhZ2U7CisKK2NsYXNzIERl
dmljZVByb3hpbWl0eUNsaWVudCA6IHB1YmxpYyBEZXZpY2VDbGllbnQgeworcHVibGljOgorICAg
IHZpcnR1YWwgfkRldmljZVByb3hpbWl0eUNsaWVudCgpIHsgfQorICAgIHZpcnR1YWwgYm9vbCBo
YXNMYXN0RGF0YSgpID0gMDsKKyAgICB2aXJ0dWFsIGRvdWJsZSB2YWx1ZSgpID0gMDsKKyAgICB2
aXJ0dWFsIGRvdWJsZSBtaW4oKSA9IDA7CisgICAgdmlydHVhbCBkb3VibGUgbWF4KCkgPSAwOwor
fTsKKwordm9pZCBwcm92aWRlRGV2aWNlUHJveGltaXR5VG8oUGFnZSosIERldmljZVByb3hpbWl0
eUNsaWVudCopOworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBQUk9YSU1J
VFlfRVZFTlRTCisjZW5kaWYgLy8gRGV2aWNlUHJveGltaXR5Q2xpZW50X2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHJveGltaXR5L0RldmljZVByb3hpbWl0eUNvbnRyb2xs
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5
Q29udHJvbGxlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTU5YWMyMTUzZmQ2ZDZjOTMyNjg2OTE2ZWEyZGUw
NDEzMzMyYjQ5NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHJv
eGltaXR5L0RldmljZVByb3hpbWl0eUNvbnRyb2xsZXIuY3BwCkBAIC0wLDAgKzEsOTMgQEAKKy8q
CisgKiBDb3B5cmlnaHQgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRGV2aWNlUHJv
eGltaXR5Q29udHJvbGxlci5oIgorCisjaWYgRU5BQkxFKFBST1hJTUlUWV9FVkVOVFMpCisKKyNp
bmNsdWRlICJEZXZpY2VQcm94aW1pdHlDbGllbnQuaCIKKyNpbmNsdWRlICJEZXZpY2VQcm94aW1p
dHlFdmVudC5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitE
ZXZpY2VQcm94aW1pdHlDb250cm9sbGVyOjpEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyKERldmlj
ZVByb3hpbWl0eUNsaWVudCogY2xpZW50KQorICAgIDogRGV2aWNlQ29udHJvbGxlcihjbGllbnQp
Cit7CisgICAgQVNTRVJUKG1fY2xpZW50KTsKK30KKworUGFzc093blB0cjxEZXZpY2VQcm94aW1p
dHlDb250cm9sbGVyPiBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyOjpjcmVhdGUoRGV2aWNlUHJv
eGltaXR5Q2xpZW50KiBjbGllbnQpCit7CisgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBEZXZpY2VQ
cm94aW1pdHlDb250cm9sbGVyKGNsaWVudCkpOworfQorCit2b2lkIERldmljZVByb3hpbWl0eUNv
bnRyb2xsZXI6OmRpZENoYW5nZURldmljZVByb3hpbWl0eShjb25zdCBkb3VibGUgdmFsdWUsIGNv
bnN0IGRvdWJsZSBtaW4sIGNvbnN0IGRvdWJsZSBtYXgpCit7CisgICAgZGlzcGF0Y2hEZXZpY2VF
dmVudChEZXZpY2VQcm94aW1pdHlFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS53ZWJraXRkZXZp
Y2Vwcm94aW1pdHlFdmVudCwgdmFsdWUsIG1pbiwgbWF4KSk7Cit9CisKK0RldmljZVByb3hpbWl0
eUNsaWVudCogRGV2aWNlUHJveGltaXR5Q29udHJvbGxlcjo6ZGV2aWNlUHJveGltaXR5Q2xpZW50
KCkKK3sKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8RGV2aWNlUHJveGltaXR5Q2xpZW50Kj4obV9j
bGllbnQpOworfQorCitib29sIERldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6Omhhc0xhc3REYXRh
KCkKK3sKKyAgICByZXR1cm4gZGV2aWNlUHJveGltaXR5Q2xpZW50KCktPmhhc0xhc3REYXRhKCk7
Cit9CisKK1Bhc3NSZWZQdHI8RXZlbnQ+IERldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6OmdldExh
c3RFdmVudCgpCit7CisgICAgcmV0dXJuIERldmljZVByb3hpbWl0eUV2ZW50OjpjcmVhdGUoZXZl
bnROYW1lcygpLndlYmtpdGRldmljZXByb3hpbWl0eUV2ZW50LCBkZXZpY2VQcm94aW1pdHlDbGll
bnQoKS0+dmFsdWUoKSwgZGV2aWNlUHJveGltaXR5Q2xpZW50KCktPm1pbigpLCBkZXZpY2VQcm94
aW1pdHlDbGllbnQoKS0+bWF4KCkpOworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIERldmljZVBy
b3hpbWl0eUNvbnRyb2xsZXI6OnN1cHBsZW1lbnROYW1lKCkKK3sKKyAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKEF0b21pY1N0cmluZywgbmFtZSwgKCJEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyIikp
OworICAgIHJldHVybiBuYW1lOworfQorCitEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyKiBEZXZp
Y2VQcm94aW1pdHlDb250cm9sbGVyOjpmcm9tKFBhZ2UqIHBhZ2UpCit7CisgICAgcmV0dXJuIHN0
YXRpY19jYXN0PERldmljZVByb3hpbWl0eUNvbnRyb2xsZXIqPihTdXBwbGVtZW50PFBhZ2U+Ojpm
cm9tKHBhZ2UsIHN1cHBsZW1lbnROYW1lKCkpKTsKK30KKworYm9vbCBEZXZpY2VQcm94aW1pdHlD
b250cm9sbGVyOjppc0FjdGl2ZUF0KFBhZ2UqIHBhZ2UpCit7CisgICAgaWYgKERldmljZVByb3hp
bWl0eUNvbnRyb2xsZXIqIGNvbnRyb2xsZXIgPSBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyOjpm
cm9tKHBhZ2UpKQorICAgICAgICByZXR1cm4gY29udHJvbGxlci0+aXNBY3RpdmUoKTsKKyAgICBy
ZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgcHJvdmlkZURldmljZVByb3hpbWl0eVRvKFBhZ2UqIHBh
Z2UsIERldmljZVByb3hpbWl0eUNsaWVudCogY2xpZW50KQoreworICAgIERldmljZVByb3hpbWl0
eUNvbnRyb2xsZXI6OnByb3ZpZGVUbyhwYWdlLCBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyOjpz
dXBwbGVtZW50TmFtZSgpLCBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyOjpjcmVhdGUoY2xpZW50
KSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIFBST1hJTUlUWV9F
VkVOVFMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHJveGltaXR5L0Rldmlj
ZVByb3hpbWl0eUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHJveGltaXR5
L0RldmljZVByb3hpbWl0eUNvbnRyb2xsZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNTVmNTE2Yzk2MTg3YzA3
N2QwMjNlMzBhZjljMzRhZGI0MjRlOTE0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5Q29udHJvbGxlci5oCkBAIC0wLDAg
KzEsNjAgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIERldmljZVByb3hpbWl0eUNvbnRy
b2xsZXJfaAorI2RlZmluZSBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyX2gKKworI2lmIEVOQUJM
RShQUk9YSU1JVFlfRVZFTlRTKQorCisjaW5jbHVkZSAiRGV2aWNlQ29udHJvbGxlci5oIgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERldmljZVByb3hpbWl0eUNsaWVudDsKKworY2xh
c3MgRGV2aWNlUHJveGltaXR5Q29udHJvbGxlciA6IHB1YmxpYyBEZXZpY2VDb250cm9sbGVyIHsK
K3B1YmxpYzoKKyAgICB+RGV2aWNlUHJveGltaXR5Q29udHJvbGxlcigpIHsgfQorCisgICAgc3Rh
dGljIFBhc3NPd25QdHI8RGV2aWNlUHJveGltaXR5Q29udHJvbGxlcj4gY3JlYXRlKERldmljZVBy
b3hpbWl0eUNsaWVudCopOworCisgICAgdm9pZCBkaWRDaGFuZ2VEZXZpY2VQcm94aW1pdHkoY29u
c3QgZG91YmxlIHZhbHVlLCBjb25zdCBkb3VibGUgbWluLCBjb25zdCBkb3VibGUgbWF4KTsKKyAg
ICBEZXZpY2VQcm94aW1pdHlDbGllbnQqIGRldmljZVByb3hpbWl0eUNsaWVudCgpOworCisgICAg
dmlydHVhbCBib29sIGhhc0xhc3REYXRhKCk7CisgICAgdmlydHVhbCBQYXNzUmVmUHRyPEV2ZW50
PiBnZXRMYXN0RXZlbnQoKTsKKworICAgIHN0YXRpYyBjb25zdCBBdG9taWNTdHJpbmcmIHN1cHBs
ZW1lbnROYW1lKCk7CisgICAgc3RhdGljIERldmljZVByb3hpbWl0eUNvbnRyb2xsZXIqIGZyb20o
UGFnZSopOworICAgIHN0YXRpYyBib29sIGlzQWN0aXZlQXQoUGFnZSopOworCitwcml2YXRlOgor
ICAgIERldmljZVByb3hpbWl0eUNvbnRyb2xsZXIoRGV2aWNlUHJveGltaXR5Q2xpZW50Kik7Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBQUk9YSU1JVFlfRVZFTlRT
CisjZW5kaWYgLy8gRGV2aWNlUHJveGltaXR5Q29udHJvbGxlcl9oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCBk
NGI1MGNiOWJhODM5NTg2Mjc1MTk4NjQzNzViMDdhN2Q1MDAzYzcwLi5iOWJiMmIzOWZkYjFlMDEx
YTAyODIwOTMzNWMyYjc3ZjA1NjI5NDFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJn
ZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTI1MSw2ICsyNTEsOSBA
QCBTT1VSQ0VTICs9IFwKICAgICBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2Vu
dGVyLmNwcCBcCiAgICAgTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRyb2xs
ZXIuY3BwIFwKICAgICBNb2R1bGVzL25vdGlmaWNhdGlvbnMvV29ya2VyQ29udGV4dE5vdGlmaWNh
dGlvbnMuY3BwIFwKKyAgICBNb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlDb250cm9s
bGVyLmNwcCBcCisgICAgTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5RXZlbnQuY3Bw
IFwKKyAgICBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlJbWFnZU1hcExpbmsuY3BwIFwKICAg
ICBjc3MvQmFzaWNTaGFwZUZ1bmN0aW9ucy5jcHAgXAogICAgIGNzcy9DU1NBc3BlY3RSYXRpb1Zh
bHVlLmNwcCBcCiAgICAgY3NzL0NTU0Jhc2ljU2hhcGVzLmNwcCBcCkBAIC0xNDE1LDYgKzE0MTgs
MTAgQEAgSEVBREVSUyArPSBcCiAgICAgTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bkNvbnRyb2xsZXIuaCBcCiAgICAgTW9kdWxlcy9ub3RpZmljYXRpb25zL1dvcmtlckNvbnRleHRO
b3RpZmljYXRpb25zLmggXAogICAgIFwKKyAgICBNb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94
aW1pdHlDbGllbnQuaCBcCisgICAgTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5Q29u
dHJvbGxlci5oIFwKKyAgICBNb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlFdmVudC5o
IFwKKyAgICBcCiAgICAgTW9kdWxlcy93ZWJkYXRhYmFzZS9BYnN0cmFjdERhdGFiYXNlLmggXAog
ICAgIE1vZHVsZXMvd2ViZGF0YWJhc2UvQ2hhbmdlVmVyc2lvbldyYXBwZXIuaCBcCiAgICAgTW9k
dWxlcy93ZWJkYXRhYmFzZS9ET01XaW5kb3dXZWJEYXRhYmFzZS5oIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXAvV2ViQ29yZS5neXAKaW5kZXggNDk2Yjg2ZDQxODEwYzNlMWY4Y2QzZWNkMGRhNjZm
ZDQ3MWY1MzZiNS4uOTE2NzdiMTEwMGRjMjM0MTI1MTY5OGJjMzE3MmIyM2I1YTY1ODgxMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKQEAgLTYyLDYgKzYyLDcgQEAKICAg
ICAgICcuLi9Nb2R1bGVzL21lZGlhc3RyZWFtJywKICAgICAgICcuLi9Nb2R1bGVzL25hdmlnYXRv
cmNvbnRlbnR1dGlscycsCiAgICAgICAnLi4vTW9kdWxlcy9ub3RpZmljYXRpb25zJywKKyAgICAg
ICcuLi9Nb2R1bGVzL3Byb3hpbWl0eScsCiAgICAgICAnLi4vTW9kdWxlcy9xdW90YScsCiAgICAg
ICAnLi4vTW9kdWxlcy9zcGVlY2gnLAogICAgICAgJy4uL01vZHVsZXMvd2ViYXVkaW8nLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCmluZGV4IGE5M2FmNWU1NzA2NThjYzhiNWEwNjRhYzBkYzA3ZGYzYWRjOWEzYzMu
LjU4NjM0ZTRlMGViZjQ4ZWU2OTA1YWZiMTZlYjc0ZTliNDhiYmQxOGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkKQEAgLTE0LDYgKzE0LDcgQEAKICAgICAgICAgICAgICdNb2R1bGVzL2dlb2xvY2F0aW9uL1Bv
c2l0aW9uT3B0aW9ucy5oJywKICAgICAgICAgICAgICdNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uQ2xpZW50LmgnLAogICAgICAgICAgICAgJ01vZHVsZXMvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb25Db250cm9sbGVyLmgnLAorICAgICAgICAgICAgJ01vZHVsZXMvcHJveGltaXR5
L0RldmljZVByb3hpbWl0eUNsaWVudC5oJywKICAgICAgICAgICAgICdNb2R1bGVzL3dlYmRhdGFi
YXNlL0Fic3RyYWN0RGF0YWJhc2UuaCcsCiAgICAgICAgICAgICAnTW9kdWxlcy93ZWJkYXRhYmFz
ZS9EYXRhYmFzZS5oJywKICAgICAgICAgICAgICdNb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNl
RGV0YWlscy5oJywKQEAgLTg4Nyw2ICs4ODgsNyBAQAogICAgICAgICAgICAgJ01vZHVsZXMvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsJywKICAgICAgICAgICAgICdNb2R1bGVz
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlkbCcsCiAgICAg
ICAgICAgICAnTW9kdWxlcy9ub3RpZmljYXRpb25zL1dvcmtlckNvbnRleHROb3RpZmljYXRpb25z
LmlkbCcsCisgICAgICAgICAgICAnTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5RXZl
bnQuaWRsJywKICAgICAgICAgICAgICdNb2R1bGVzL3F1b3RhL0RPTVdpbmRvd1F1b3RhLmlkbCcs
CiAgICAgICAgICAgICAnTW9kdWxlcy9xdW90YS9TdG9yYWdlSW5mby5pZGwnLAogICAgICAgICAg
ICAgJ01vZHVsZXMvcXVvdGEvU3RvcmFnZUluZm9FcnJvckNhbGxiYWNrLmlkbCcsCkBAIC0xNjYw
LDYgKzE2NjIsMTAgQEAKICAgICAgICAgICAgICdNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmgnLAogICAgICAgICAgICAgJ01vZHVsZXMvbm90aWZp
Y2F0aW9ucy9Xb3JrZXJDb250ZXh0Tm90aWZpY2F0aW9ucy5jcHAnLAogICAgICAgICAgICAgJ01v
ZHVsZXMvbm90aWZpY2F0aW9ucy9Xb3JrZXJDb250ZXh0Tm90aWZpY2F0aW9ucy5oJywKKyAgICAg
ICAgICAgICdNb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmNwcCcs
CisgICAgICAgICAgICAnTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5Q29udHJvbGxl
ci5oJywKKyAgICAgICAgICAgICdNb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlFdmVu
dC5jcHAnLAorICAgICAgICAgICAgJ01vZHVsZXMvcHJveGltaXR5L0RldmljZVByb3hpbWl0eUV2
ZW50LmgnLAogICAgICAgICAgICAgJ01vZHVsZXMvcXVvdGEvRE9NV2luZG93UXVvdGEuY3BwJywK
ICAgICAgICAgICAgICdNb2R1bGVzL3F1b3RhL0RPTVdpbmRvd1F1b3RhLmgnLAogICAgICAgICAg
ICAgJ01vZHVsZXMvcXVvdGEvU3RvcmFnZUluZm8uY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUucHJpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcmkKaW5kZXggNjdl
MTJjMDY2ZTJmM2Y3ZWFmYjY0NTUyYzM1NzYyMDAxZGY2MDlhOC4uY2ViN2ExNTE5ZWIyOTcxNTRl
ZTE5ZTZkYTMxYzNjNGUxY2MyZDdlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcmkKQEAgLTE4LDYgKzE4LDcgQEAg
SU5DTFVERVBBVEggKz0gXAogICAgICQkU09VUkNFX0RJUi9Nb2R1bGVzL2luZGV4ZWRkYiBcCiAg
ICAgJCRTT1VSQ0VfRElSL01vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzIFwKICAgICAkJFNP
VVJDRV9ESVIvTW9kdWxlcy9ub3RpZmljYXRpb25zIFwKKyAgICAkJFNPVVJDRV9ESVIvTW9kdWxl
cy9wcm94aW1pdHkgXAogICAgICQkU09VUkNFX0RJUi9Nb2R1bGVzL3F1b3RhIFwKICAgICAkJFNP
VVJDRV9ESVIvTW9kdWxlcy93ZWJhdWRpbyBcCiAgICAgJCRTT1VSQ0VfRElSL01vZHVsZXMvd2Vi
ZGF0YWJhc2UgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
agppbmRleCAzNDdiZmU1YTc4ZmQ1MmEzMTE3YTJiZDk2NWUyMmY5OTE3YmZlYzcwLi43ZjFmZjVm
MjBkNjNiMGYzZTJjZDU2MWE0MmRjN2Y2ZDhkN2VlMWNmIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMjUyMjIsNiArMjUyMjIsMzAgQEAKIAkJ
CQk8L0ZpbGU+CiAJCQk8L0ZpbHRlcj4KIAkJCTxGaWx0ZXIKKwkJCQlOYW1lPSJwcm94aW1pdHki
CisJCQkJPgorCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cTW9kdWxlc1xwcm94aW1p
dHlcRGV2aWNlUHJveGltaXR5Q2xpZW50LmgiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZp
bGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxNb2R1bGVzXHByb3hpbWl0eVxEZXZpY2VQcm94aW1p
dHlDb250cm9sbGVyLmNwcCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQorCQkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXE1vZHVsZXNccHJveGltaXR5XERldmljZVByb3hpbWl0eUNvbnRyb2xs
ZXIuaCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXE1vZHVsZXNccHJveGltaXR5XERldmljZVByb3hpbWl0eUV2ZW50LmNwcCIKKwkJCQkJPgor
CQkJCTwvRmlsZT4KKwkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXE1vZHVsZXNccHJv
eGltaXR5XERldmljZVByb3hpbWl0eUV2ZW50LmgiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQk8
L0ZpbHRlcj4KKwkJCTxGaWx0ZXIKIAkJCQlOYW1lPSJxdW90YSIKIAkJCQk+CiAJCQkJPEZpbGUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmVDb21tb24u
dnNwcm9wcyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmVDb21tb24udnNw
cm9wcwppbmRleCA1YTFhMDUyNjNmYzhiMTNiYzVmZDY2NDllNDJiMDBiYmVlMzRkYWU3Li42MmY3
MjAwOThlODVjMzc1NjFlMjdlZDY3NjhhY2U5ZDM5MjdhZDkyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlQ29tbW9uLnZzcHJvcHMKKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZUNvbW1vbi52c3Byb3BzCkBAIC03LDcgKzcs
NyBAQAogCT4KIAk8VG9vbAogCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQlBZGRpdGlvbmFs
SW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDskKFByb2plY3REaXIpLi4mcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKS4uXE1vZHVsZXNcZmlsZXN5c3RlbSZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
Li5cTW9kdWxlc1xnZW9sb2NhdGlvbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxl
c1xpbmRleGVkZGImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNcbWVkaWFzb3Vy
Y2UmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNcbmF2aWdhdG9yY29udGVudHV0
aWxzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxNb2R1bGVzXHF1b3RhJnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcikuLlxNb2R1bGVzXG5vdGlmaWNhdGlvbnMmcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKS4uXE1vZHVsZXNcd2ViZGF0YWJhc2UmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4u
XE1vZHVsZXNcd2Vic29ja2V0cyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cYWNjZXNzaWJp
bGl0eSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cYWNjZXNzaWJpbGl0eVx3aW4mcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGJyaWRnZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5c
YnJpZGdlXGMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGJyaWRnZVxqc2MmcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKS4uXGNzcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cZWRpdGlu
ZyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cZmlsZWFwaSZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpLi5ccmVuZGVyaW5nJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxyZW5kZXJpbmdc
bWF0aG1sJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxyZW5kZXJpbmdcc3R5bGUmcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHJlbmRlcmluZ1xzdmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKS4uXGJpbmRpbmdzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxiaW5kaW5nc1xnZW5l
cmljJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxiaW5kaW5nc1xqcyZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpLi5cYmluZGluZ3NcanNcc3BlY2lhbGl6YXRpb24mcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKS4uXGRvbSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cZG9tXGRlZmF1bHQm
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGhpc3RvcnkmcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKS4uXGh0bWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGh0bWxcY2FudmFzJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlxodG1sXHBhcnNlciZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpLi5caHRtbFxzaGFkb3cmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGluc3BlY3RvciZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cbG9hZGVyJnF1b3Q7OyZxdW90OyQoUHJvamVjdERp
cikuLlxsb2FkZXJcYXBwY2FjaGUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlclxh
cmNoaXZlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxsb2FkZXJcYXJjaGl2ZVxjZiZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpLi5cbG9hZGVyXGNhY2hlJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxsb2FkZXJcaWNvbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cbWF0aG1sJnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwYWdlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpciku
LlxwYWdlXGFuaW1hdGlvbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGFnZVxzY3JvbGxp
bmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBhZ2Vcd2luJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcikuLlxwbGF0Zm9ybSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1c
YW5pbWF0aW9uJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxtb2NrJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxzcWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKS4uXHBsYXRmb3JtXHdpbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1c
bmV0d29yayZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cbmV0d29ya1x3aW4m
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGNmJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcikuLlxwbGF0Zm9ybVxncmFwaGljcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5c
cGxhdGZvcm1cZ3JhcGhpY3NcY2EmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3Jt
XGdyYXBoaWNzXGNwdVxhcm1cZmlsdGVycyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxh
dGZvcm1cZ3JhcGhpY3NcZmlsdGVycyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZv
cm1cZ3JhcGhpY3NcZmlsdGVyc1xhcm0mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRm
b3JtXGdyYXBoaWNzXG9wZW50eXBlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9y
bVxncmFwaGljc1x0cmFuc2Zvcm1zJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9y
bVx0ZXh0JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVx0ZXh0XHRyYW5zY29k
ZXImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNzXHdpbiZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpLi5ceG1sJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlx4
bWxccGFyc2VyJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcV2ViQ29y
ZVxEZXJpdmVkU291cmNlcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGx1Z2lucyZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGx1Z2luc1x3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKS4uXHN2Z1xhbmltYXRpb24mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHN2Z1xncmFw
aGljcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cc3ZnXHByb3BlcnRpZXMmcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKS4uXHN2Z1xncmFwaGljc1xmaWx0ZXJzJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcikuLlxzdmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHRlc3RpbmcmcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHdtbCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cc3Rv
cmFnZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cd2Vic29ja2V0cyZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpLi5cd29ya2VycyZxdW90OzsmcXVvdDskKENvbmZpZ3VyYXRpb25CdWlsZERp
cilcaW5jbHVkZSZxdW90OzsmcXVvdDskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcaW5jbHVkZVxw
cml2YXRlJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxpbmNsdWRlXEphdmFT
Y3JpcHRDb3JlJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxpbmNsdWRlXHBy
aXZhdGVcSmF2YVNjcmlwdENvcmUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXEZvcndhcmRp
bmdIZWFkZXJzJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRlJnF1b3Q7
OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRlXHByaXZhdGUmcXVvdDs7JnF1b3Q7
JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGVccHJpdmF0ZVxKYXZhU2NyaXB0Q29yZSZxdW90
OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZVxwdGhyZWFkcyZxdW90OzsmcXVv
dDskKFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZVxzcWxpdGUmcXVvdDs7JnF1b3Q7JChXZWJL
aXRMaWJyYXJpZXNEaXIpXGluY2x1ZGVcSmF2YVNjcmlwdENvcmUmcXVvdDs7JnF1b3Q7JChXZWJL
aXRMaWJyYXJpZXNEaXIpXGluY2x1ZGVcemxpYiZxdW90OyIKKwkJQWRkaXRpb25hbEluY2x1ZGVE
aXJlY3Rvcmllcz0iJnF1b3Q7JChQcm9qZWN0RGlyKS4uJnF1b3Q7OyZxdW90OyQoUHJvamVjdERp
cikuLlxNb2R1bGVzXGZpbGVzeXN0ZW0mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVs
ZXNcZ2VvbG9jYXRpb24mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNcaW5kZXhl
ZGRiJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxNb2R1bGVzXG1lZGlhc291cmNlJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlxNb2R1bGVzXG5hdmlnYXRvcmNvbnRlbnR1dGlscyZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1xwcm94aW1pdHkmcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKS4uXE1vZHVsZXNccXVvdGEmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXE1v
ZHVsZXNcbm90aWZpY2F0aW9ucyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1x3
ZWJkYXRhYmFzZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1x3ZWJzb2NrZXRz
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxhY2Nlc3NpYmlsaXR5JnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcikuLlxhY2Nlc3NpYmlsaXR5XHdpbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
Li5cYnJpZGdlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxicmlkZ2VcYyZxdW90OzsmcXVv
dDskKFByb2plY3REaXIpLi5cYnJpZGdlXGpzYyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5c
Y3NzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxlZGl0aW5nJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcikuLlxmaWxlYXBpJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxyZW5kZXJpbmcm
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHJlbmRlcmluZ1xtYXRobWwmcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKS4uXHJlbmRlcmluZ1xzdHlsZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
Li5ccmVuZGVyaW5nXHN2ZyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cYmluZGluZ3MmcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGJpbmRpbmdzXGdlbmVyaWMmcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKS4uXGJpbmRpbmdzXGpzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxiaW5k
aW5nc1xqc1xzcGVjaWFsaXphdGlvbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cZG9tJnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxkb21cZGVmYXVsdCZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpLi5caGlzdG9yeSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5caHRtbCZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpLi5caHRtbFxjYW52YXMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KS4uXGh0bWxccGFyc2VyJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxodG1sXHNoYWRvdyZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpLi5caW5zcGVjdG9yJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxsb2FkZXImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlclxhcHBjYWNo
ZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cbG9hZGVyXGFyY2hpdmUmcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKS4uXGxvYWRlclxhcmNoaXZlXGNmJnF1b3Q7OyZxdW90OyQoUHJvamVjdERp
cikuLlxsb2FkZXJcY2FjaGUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlclxpY29u
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxtYXRobWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKS4uXHBhZ2UmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBhZ2VcYW5pbWF0aW9uJnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwYWdlXHNjcm9sbGluZyZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpLi5ccGFnZVx3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3Jt
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxhbmltYXRpb24mcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXG1vY2smcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KS4uXHBsYXRmb3JtXHNxbCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cd2lu
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxuZXR3b3JrJnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxuZXR3b3JrXHdpbiZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpLi5ccGxhdGZvcm1cY2YmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3Jt
XGdyYXBoaWNzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxncmFwaGljc1xj
YSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3NcY3B1XGFybVxm
aWx0ZXJzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxncmFwaGljc1xmaWx0
ZXJzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxncmFwaGljc1xmaWx0ZXJz
XGFybSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3Ncb3BlbnR5
cGUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNzXHRyYW5zZm9y
bXMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXHRleHQmcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXHRleHRcdHJhbnNjb2RlciZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3Ncd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERp
cikuLlx4bWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHhtbFxwYXJzZXImcXVvdDs7JnF1
b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialxXZWJDb3JlXERlcml2ZWRTb3VyY2VzJnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbHVnaW5zJnF1b3Q7OyZxdW90OyQoUHJvamVjdERp
cikuLlxwbHVnaW5zXHdpbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cc3ZnXGFuaW1hdGlv
biZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cc3ZnXGdyYXBoaWNzJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcikuLlxzdmdccHJvcGVydGllcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5c
c3ZnXGdyYXBoaWNzXGZpbHRlcnMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHN2ZyZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpLi5cdGVzdGluZyZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
Li5cd21sJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxzdG9yYWdlJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcikuLlx3ZWJzb2NrZXRzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlx3b3Jr
ZXJzJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxpbmNsdWRlJnF1b3Q7OyZx
dW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxpbmNsdWRlXHByaXZhdGUmcXVvdDs7JnF1b3Q7
JChDb25maWd1cmF0aW9uQnVpbGREaXIpXGluY2x1ZGVcSmF2YVNjcmlwdENvcmUmcXVvdDs7JnF1
b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXGluY2x1ZGVccHJpdmF0ZVxKYXZhU2NyaXB0Q29y
ZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cRm9yd2FyZGluZ0hlYWRlcnMmcXVvdDs7JnF1
b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGUmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJy
YXJpZXNEaXIpXGluY2x1ZGVccHJpdmF0ZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0Rp
cilcaW5jbHVkZVxwcml2YXRlXEphdmFTY3JpcHRDb3JlJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGli
cmFyaWVzRGlyKVxpbmNsdWRlXHB0aHJlYWRzJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVz
RGlyKVxpbmNsdWRlXHNxbGl0ZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5j
bHVkZVxKYXZhU2NyaXB0Q29yZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5j
bHVkZVx6bGliJnF1b3Q7IgogCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX19XSU4zMl9fO0RJ
U0FCTEVfM0RfUkVOREVSSU5HO1dFQkNPUkVfQ09OVEVYVF9NRU5VUyIKIAkJVXNlUHJlY29tcGls
ZWRIZWFkZXI9IjIiCiAJCVByZWNvbXBpbGVkSGVhZGVyVGhyb3VnaD0iV2ViQ29yZVByZWZpeC5o
IgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IDg1NWE4YjJmZGQyYjBlNWQxYjhmYWMwYjJmMDEwNDZjMmY2MjNmYWMuLjI4NDUzNWI4
MmFhNDQwOWJlNzE3OTQ0ZTllNGNmYzcwMGI5YWU4MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEzODk0LDYgKzEzODk0LDEy
IEBACiAJCUY1QzI4Njk1MDI4NDZEQ0QwMTg2MzVDQSAvKiBDb2NvYS5mcmFtZXdvcmsgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1l
d29yazsgbmFtZSA9IENvY29hLmZyYW1ld29yazsgcGF0aCA9IC9TeXN0ZW0vTGlicmFyeS9GcmFt
ZXdvcmtzL0NvY29hLmZyYW1ld29yazsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsKIAkJ
RjVFMEM2NTkxNjQzQzQyQzAwRDZDQjY5IC8qIEJhc2VDaG9vc2VyT25seURhdGVBbmRUaW1lSW5w
dXRUeXBlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEJhc2VDaG9v
c2VyT25seURhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRjVFMEM2NUExNjQzQzQyQzAwRDZDQjY5IC8qIEJhc2VDaG9vc2VyT25seURhdGVBbmRU
aW1lSW5wdXRUeXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJhc2VDaG9v
c2VyT25seURhdGVBbmRUaW1lSW5wdXRUeXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUY2MDk4RjdBMTY2NkQ4QTcwMDMyNjlEMSAvKiBEZXZpY2VQcm94aW1pdHlDbGllbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRGV2aWNlUHJveGltaXR5Q2xpZW50Lmg7
IHBhdGggPSBNb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlDbGllbnQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjYwOThGN0IxNjY2RDhBNzAwMzI2OUQxIC8qIERldmlj
ZVByb3hpbWl0eUNvbnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBu
YW1lID0gRGV2aWNlUHJveGltaXR5Q29udHJvbGxlci5jcHA7IHBhdGggPSBNb2R1bGVzL3Byb3hp
bWl0eS9EZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJRjYwOThGN0MxNjY2RDhBNzAwMzI2OUQxIC8qIERldmljZVByb3hpbWl0eUNvbnRy
b2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRGV2aWNlUHJveGltaXR5
Q29udHJvbGxlci5oOyBwYXRoID0gTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5Q29u
dHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNjA5OEY3RDE2NjZEOEE3
MDAzMjY5RDEgLyogRGV2aWNlUHJveGltaXR5RXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBuYW1lID0gRGV2aWNlUHJveGltaXR5RXZlbnQuY3BwOyBwYXRoID0gTW9kdWxl
cy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5RXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlGNjA5OEY3RTE2NjZEOEE3MDAzMjY5RDEgLyogRGV2aWNlUHJveGltaXR5RXZl
bnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRGV2aWNlUHJveGltaXR5RXZl
bnQuaDsgcGF0aCA9IE1vZHVsZXMvcHJveGltaXR5L0RldmljZVByb3hpbWl0eUV2ZW50Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY2MDk4RjdGMTY2NkQ4QTcwMDMyNjlEMSAvKiBE
ZXZpY2VQcm94aW1pdHlFdmVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gRGV2aWNlUHJv
eGltaXR5RXZlbnQuaWRsOyBwYXRoID0gTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5
RXZlbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGN0EwMzRDMzEyNkJGNkJF
MDA3REMxOUUgLyogRm9udE9yaWVudGF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEZvbnRPcmllbnRhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlG
ODIxNjI5OTAyOUY0RkI1MDEwMDAxMzEgLyogSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFt
ZXdvcms7IHBhdGggPSBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSBCVUlM
VF9QUk9EVUNUU19ESVI7IH07CiAJCUY5MTZDNDhCMERCNTEwRjgwMDc2Q0Q4MyAvKiBKU1hNTEh0
dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSlNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtMTc5NTUsNiArMTc5NjEsNyBAQAogCQkJCTk3MTJBNTUzMTUwMDRF
M0MwMDQ4QUYxMCAvKiBpbmRleGVkZGIgKi8sCiAJCQkJQjFBOTQyREQxNUI1Q0UyMjAwRDUyNUQx
IC8qIG1lZGlhc291cmNlICovLAogCQkJCTMzM0Y3MDNEMEZCNDlDMTYwMDhFMTJBNiAvKiBub3Rp
ZmljYXRpb25zICovLAorCQkJCUY2MDk4Rjc4MTY2NkQ4NDEwMDMyNjlEMSAvKiBwcm94aW1pdHkg
Ki8sCiAJCQkJODlGNjBCMDgxNTdGNjgzNTAwNzVFMTU3IC8qIHF1b3RhICovLAogCQkJCUZEMzE1
RkEyMTJCMDI1QjEwMEMxQTM1OSAvKiB3ZWJhdWRpbyAqLywKIAkJCQk5N0JDNjlENTE1MDVGMDU0
MDAxQjc0QUMgLyogd2ViZGF0YWJhc2UgKi8sCkBAIC0yMjIzMCw2ICsyMjIzNywxOSBAQAogCQkJ
dGFiV2lkdGggPSA0OwogCQkJdXNlc1RhYnMgPSAwOwogCQl9OworCQlGNjA5OEY3ODE2NjZEODQx
MDAzMjY5RDEgLyogcHJveGltaXR5ICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGls
ZHJlbiA9ICgKKwkJCQlGNjA5OEY3QTE2NjZEOEE3MDAzMjY5RDEgLyogRGV2aWNlUHJveGltaXR5
Q2xpZW50LmggKi8sCisJCQkJRjYwOThGN0IxNjY2RDhBNzAwMzI2OUQxIC8qIERldmljZVByb3hp
bWl0eUNvbnRyb2xsZXIuY3BwICovLAorCQkJCUY2MDk4RjdDMTY2NkQ4QTcwMDMyNjlEMSAvKiBE
ZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmggKi8sCisJCQkJRjYwOThGN0QxNjY2RDhBNzAwMzI2
OUQxIC8qIERldmljZVByb3hpbWl0eUV2ZW50LmNwcCAqLywKKwkJCQlGNjA5OEY3RTE2NjZEOEE3
MDAzMjY5RDEgLyogRGV2aWNlUHJveGltaXR5RXZlbnQuaCAqLywKKwkJCQlGNjA5OEY3RjE2NjZE
OEE3MDAzMjY5RDEgLyogRGV2aWNlUHJveGltaXR5RXZlbnQuaWRsICovLAorCQkJKTsKKwkJCW5h
bWUgPSBwcm94aW1pdHk7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQlGQUJF
NzJFQzEwNTlDMUVCMDBEOTk5REQgLyogbWF0aG1sICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7
CiAJCQljaGlsZHJlbiA9ICgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFn
ZUNhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmNwcAppbmRleCBl
N2VlYmRjNDM3NDJjNTVmMTQxMTFlY2QyZTIxNGE4ZTBiY2E0NjhkLi4yZjQ0MjViN2JhN2ViNGZh
YWQ5NzhjMTQ5ZWFkNWU4NTQzYTQ5MGE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9oaXN0
b3J5L1BhZ2VDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUu
Y3BwCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiRGF0YWJhc2VDb250ZXh0LmgiCiAjaW5j
bHVkZSAiRGV2aWNlTW90aW9uQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkRldmljZU9yaWVudGF0
aW9uQ29udHJvbGxlci5oIgorI2luY2x1ZGUgIkRldmljZVByb3hpbWl0eUNvbnRyb2xsZXIuaCIK
ICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCiAjaW5j
bHVkZSAiRnJhbWUuaCIKQEAgLTI1MSw2ICsyNTIsMTIgQEAgc3RhdGljIHZvaWQgbG9nQ2FuQ2Fj
aGVQYWdlRGVjaXNpb24oUGFnZSogcGFnZSkKICAgICAgICAgcmVqZWN0UmVhc29ucyB8PSAxIDw8
IFVzZXNEZXZpY2VPcmllbnRhdGlvbjsKICAgICB9CiAjZW5kaWYKKyNpZiBFTkFCTEUoUFJPWElN
SVRZX0VWRU5UUykKKyAgICBpZiAoRGV2aWNlUHJveGltaXR5Q29udHJvbGxlcjo6aXNBY3RpdmVB
dChwYWdlKSkgeworICAgICAgICBQQ0xPRygiICAgLVBhZ2UgaXMgdXNpbmcgRGV2aWNlUHJveGlt
aXR5Iik7CisgICAgICAgIHJlamVjdFJlYXNvbnMgfD0gMSA8PCBVc2VzRGV2aWNlTW90aW9uOwor
ICAgIH0KKyNlbmRpZgogICAgIEZyYW1lTG9hZFR5cGUgbG9hZFR5cGUgPSBwYWdlLT5tYWluRnJh
bWUoKS0+bG9hZGVyKCktPmxvYWRUeXBlKCk7CiAgICAgaWYgKGxvYWRUeXBlID09IEZyYW1lTG9h
ZFR5cGVSZWxvYWQpIHsKICAgICAgICAgUENMT0coIiAgIC1Mb2FkIHR5cGUgaXM6IFJlbG9hZCIp
OwpAQCAtMzg1LDYgKzM5Miw5IEBAIGJvb2wgUGFnZUNhY2hlOjpjYW5DYWNoZShQYWdlKiBwYWdl
KSBjb25zdAogICAgICAgICAmJiAhRGV2aWNlTW90aW9uQ29udHJvbGxlcjo6aXNBY3RpdmVBdChw
YWdlKQogICAgICAgICAmJiAhRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyOjppc0FjdGl2ZUF0
KHBhZ2UpCiAjZW5kaWYKKyNpZiBFTkFCTEUoUFJPWElNSVRZX0VWRU5UUykKKyAgICAgICAgJiYg
IURldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6OmlzQWN0aXZlQXQocGFnZSkKKyNlbmRpZgogICAg
ICAgICAmJiBsb2FkVHlwZSAhPSBGcmFtZUxvYWRUeXBlUmVsb2FkCiAgICAgICAgICYmIGxvYWRU
eXBlICE9IEZyYW1lTG9hZFR5cGVSZWxvYWRGcm9tT3JpZ2luCiAgICAgICAgICYmIGxvYWRUeXBl
ICE9IEZyYW1lTG9hZFR5cGVTYW1lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9E
T01XaW5kb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IGI3
OTc3M2IxZGYwNDJmMDViZmU4MTI4NGM3ZDYyMjUzOTQyN2M3NDEuLmZiNzMxNWVmNmZlZjI3MWFh
NjYyZWRkODMzODJmYmRiZjBmMTMyYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAg
LTUwLDYgKzUwLDcgQEAKICNpbmNsdWRlICJEYXRhYmFzZUNhbGxiYWNrLmgiCiAjaW5jbHVkZSAi
RGV2aWNlTW90aW9uQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uQ29u
dHJvbGxlci5oIgorI2luY2x1ZGUgIkRldmljZVByb3hpbWl0eUNvbnRyb2xsZXIuaCIKICNpbmNs
dWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCiAjaW5jbHVkZSAi
RWxlbWVudC5oIgpAQCAtMTYwMyw2ICsxNjA0LDEzIEBAIGJvb2wgRE9NV2luZG93OjphZGRFdmVu
dExpc3RlbmVyKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBQYXNzUmVmUHRyPEV2ZW50
CiAgICAgfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoUFJPWElNSVRZX0VWRU5UUykKKyAgICBlbHNl
IGlmIChldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLndlYmtpdGRldmljZXByb3hpbWl0eUV2ZW50
KSB7CisgICAgICAgIGlmIChEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyKiBjb250cm9sbGVyID0g
RGV2aWNlUHJveGltaXR5Q29udHJvbGxlcjo6ZnJvbShwYWdlKCkpKQorICAgICAgICAgICAgY29u
dHJvbGxlci0+YWRkRGV2aWNlRXZlbnRMaXN0ZW5lcih0aGlzKTsKKyAgICB9CisjZW5kaWYKKwog
ICAgIHJldHVybiB0cnVlOwogfQogCkBAIC0xNjMyLDYgKzE2NDAsMTMgQEAgYm9vbCBET01XaW5k
b3c6OnJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIEV2
ZW50TGlzdGVuZXIKICAgICB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShQUk9YSU1JVFlfRVZFTlRT
KQorICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkud2Via2l0ZGV2aWNlcHJv
eGltaXR5RXZlbnQpIHsKKyAgICAgICAgaWYgKERldmljZVByb3hpbWl0eUNvbnRyb2xsZXIqIGNv
bnRyb2xsZXIgPSBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyOjpmcm9tKHBhZ2UoKSkpCisgICAg
ICAgICAgICBjb250cm9sbGVyLT5yZW1vdmVEZXZpY2VFdmVudExpc3RlbmVyKHRoaXMpOworICAg
IH0KKyNlbmRpZgorCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKQEAgLTE2ODgsNiArMTcwMywxMSBA
QCB2b2lkIERPTVdpbmRvdzo6cmVtb3ZlQWxsRXZlbnRMaXN0ZW5lcnMoKQogICAgICAgICBjb250
cm9sbGVyLT5yZW1vdmVBbGxEZXZpY2VFdmVudExpc3RlbmVycyh0aGlzKTsKICNlbmRpZgogCisj
aWYgRU5BQkxFKFBST1hJTUlUWV9FVkVOVFMpCisgICAgaWYgKERldmljZVByb3hpbWl0eUNvbnRy
b2xsZXIqIGNvbnRyb2xsZXIgPSBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyOjpmcm9tKHBhZ2Uo
KSkpCisgICAgICAgIGNvbnRyb2xsZXItPnJlbW92ZUFsbERldmljZUV2ZW50TGlzdGVuZXJzKHRo
aXMpOworI2VuZGlmCisKICAgICByZW1vdmVBbGxVbmxvYWRFdmVudExpc3RlbmVycyh0aGlzKTsK
ICAgICByZW1vdmVBbGxCZWZvcmVVbmxvYWRFdmVudExpc3RlbmVycyh0aGlzKTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCA5NGEzYjA1MmVjMGNmYjljOTUzOTczNmI4
NTZmYWZlNDczZGZkMTRhLi5kN2FmZjY2NjdjMzEwMzAxMGFhZjk2MWU0ZjE0NGY2MTkxYmQwODll
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC05Nyw2ICs5NywxMCBAQAog
I2luY2x1ZGUgIk5ldHdvcmtJbmZvQ29udHJvbGxlci5oIgogI2VuZGlmCiAKKyNpZiBFTkFCTEUo
UFJPWElNSVRZX0VWRU5UUykKKyNpbmNsdWRlICJEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmgi
CisjZW5kaWYKKwogI2lmIEVOQUJMRShQQUdFX1BPUFVQKQogI2luY2x1ZGUgIlBhZ2VQb3B1cENv
bnRyb2xsZXIuaCIKICNlbmRpZgpAQCAtMTI1NCw2ICsxMjU4LDIzIEBAIHZvaWQgSW50ZXJuYWxz
OjpzZXROZXR3b3JrSW5mb3JtYXRpb24oRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBTdHJpbmcm
IGV2ZW50VHlwCiAjZW5kaWYKIH0KIAordm9pZCBJbnRlcm5hbHM6OnNldERldmljZVByb3hpbWl0
eShEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0IFN0cmluZyYgZXZlbnRUeXBlLCBkb3VibGUgdmFs
dWUsIGRvdWJsZSBtaW4sIGRvdWJsZSBtYXgsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlm
ICghZG9jdW1lbnQgfHwgIWRvY3VtZW50LT5wYWdlKCkpIHsKKyAgICAgICAgZWMgPSBJTlZBTElE
X0FDQ0VTU19FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyNpZiBFTkFCTEUoTkVUV09S
S19JTkZPKQorICAgIERldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6OmZyb20oZG9jdW1lbnQtPnBh
Z2UoKSktPmRpZENoYW5nZURldmljZVByb3hpbWl0eSh2YWx1ZSwgbWluLCBtYXgpOworI2Vsc2UK
KyAgICBVTlVTRURfUEFSQU0odmFsdWUpOworICAgIFVOVVNFRF9QQVJBTShtaW4pOworICAgIFVO
VVNFRF9QQVJBTShtYXgpOworI2VuZGlmCit9CisKKwogYm9vbCBJbnRlcm5hbHM6Omhhc1NwZWxs
aW5nTWFya2VyKERvY3VtZW50KiBkb2N1bWVudCwgaW50IGZyb20sIGludCBsZW5ndGgsIEV4Y2Vw
dGlvbkNvZGUmKQogewogICAgIGlmICghZG9jdW1lbnQgfHwgIWRvY3VtZW50LT5mcmFtZSgpKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggYjk5ZjNlM2FiMDBiYjQxYzM2NzNhYTZh
MjE2YzU2YjkwYWU4ZDliNC4uMTRjZjRhNzUwMTZjMjlkZDRiNTkxMzQ3MzdjZTg3ZmM1NWZlZTgw
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC0xOTQsNiArMTk0LDggQEAgcHVi
bGljOgogCiAgICAgdm9pZCBzZXROZXR3b3JrSW5mb3JtYXRpb24oRG9jdW1lbnQqLCBjb25zdCBT
dHJpbmcmIGV2ZW50VHlwZSwgZG91YmxlIGJhbmR3aWR0aCwgYm9vbCBtZXRlcmVkLCBFeGNlcHRp
b25Db2RlJik7CiAKKyAgICB2b2lkIHNldERldmljZVByb3hpbWl0eShEb2N1bWVudCosIGNvbnN0
IFN0cmluZyYgZXZlbnRUeXBlLCBkb3VibGUgdmFsdWUsIGRvdWJsZSBtaW4sIGRvdWJsZSBtYXgs
IEV4Y2VwdGlvbkNvZGUmKTsKKwogICAgIHZvaWQgc3VzcGVuZEFuaW1hdGlvbnMoRG9jdW1lbnQq
LCBFeGNlcHRpb25Db2RlJikgY29uc3Q7CiAgICAgdm9pZCByZXN1bWVBbmltYXRpb25zKERvY3Vt
ZW50KiwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5pZGwKaW5kZXggNmRjNzVjZDAxYWU5YmU5YmZlOTFjN2EwZGI4OTk0ZTRjZDU2YThhYy4uOTA4
ZTc4OTMyNGVkODNhYzc5ZGIwNGFmZWIwMWRhZDU5MWE0YWZlMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmlkbApAQCAtMTgxLDYgKzE4MSwxMCBAQAogICAgIHZvaWQgc2V0TmV0d29y
a0luZm9ybWF0aW9uKGluIERvY3VtZW50IGRvY3VtZW50LCBpbiBET01TdHJpbmcgZXZlbnRUeXBl
LCBpbiBkb3VibGUgYmFuZHdpZHRoLCBpbiBib29sZWFuIG1ldGVyZWQpIHJhaXNlcyAoRE9NRXhj
ZXB0aW9uKTsKICNlbmRpZgogCisjaWYgZGVmaW5lZChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykg
JiYgRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMKKyAgICB2b2lkIHNldERldmljZVByb3hpbWl0eShp
biBEb2N1bWVudCBkb2N1bWVudCwgaW4gRE9NU3RyaW5nIGV2ZW50VHlwZSwgaW4gZG91YmxlIHZh
bHVlLCBpbiBkb3VibGUgbWluLCBpbiBkb3VibGUgbWF4KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7
CisjZW5kaWYKKwogICAgIFtDb25kaXRpb25hbD1JTlNQRUNUT1JdIHVuc2lnbmVkIGxvbmcgbnVt
YmVyT2ZMaXZlTm9kZXMoKTsKICAgICBbQ29uZGl0aW9uYWw9SU5TUEVDVE9SXSB1bnNpZ25lZCBs
b25nIG51bWJlck9mTGl2ZURvY3VtZW50cygpOwogICAgIFtDb25kaXRpb25hbD1JTlNQRUNUT1Jd
IHNlcXVlbmNlPERPTVN0cmluZz4gY29uc29sZU1lc3NhZ2VBcmd1bWVudENvdW50cyhpbiBEb2N1
bWVudCBkb2N1bWVudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtRWZsLmNt
YWtlIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCAyNzM2YTI1MGQ2M2U4
Y2UyZWE2ZjMwNTM0NmJkMjhhODU0MGEyODg0Li5kNjE2MDQ0ODBiZTU0NDBmNWQxMDFiZTU2MTZm
MTQyZjYyMDZkMzYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtRWZsLmNtYWtl
CisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTQsNiArNCw3IEBAIGxp
c3QoQVBQRU5EIFdlYktpdF9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCS0lUX0RJUn0v
ZWZsL1dlYkNvcmVTdXBwb3J0IgogICAgICIke0pBVkFTQ1JJUFRDT1JFX0RJUn0vRm9yd2FyZGlu
Z0hlYWRlcnMiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvZmlsZXN5c3RlbSIKKyAgICAi
JHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9wcm94aW1pdHkiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L3Bs
YXRmb3JtL2VmbCIKICAgICAiJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8i
CiAgICAgIiR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL2dyYXBoaWNzL2VmbCIKQEAgLTk3LDYgKzk4
LDcgQEAgbGlzdChBUFBFTkQgV2ViS2l0X1NPVVJDRVMKICAgICBlZmwvV2ViQ29yZVN1cHBvcnQv
Q29udGV4dE1lbnVDbGllbnRFZmwuY3BwCiAgICAgZWZsL1dlYkNvcmVTdXBwb3J0L0RldmljZU9y
aWVudGF0aW9uQ2xpZW50RWZsLmNwcAogICAgIGVmbC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VNb3Rp
b25DbGllbnRFZmwuY3BwCisgICAgZWZsL1dlYkNvcmVTdXBwb3J0L0RldmljZVByb3hpbWl0eUNs
aWVudEVmbC5jcHAKICAgICBlZmwvV2ViQ29yZVN1cHBvcnQvRHJhZ0NsaWVudEVmbC5jcHAKICAg
ICBlZmwvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsLmNwcAogICAgIGVm
bC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VQcm94aW1pdHlDbGllbnRFZmwuY3BwIGIv
U291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRGV2aWNlUHJveGltaXR5Q2xpZW50RWZs
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5hOWQ1YjU4MDU5MTEyODNkNTI5MWFmMmEyNTFiZWRkMjUyOWEwNGFm
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRGV2
aWNlUHJveGltaXR5Q2xpZW50RWZsLmNwcApAQCAtMCwwICsxLDczIEBACisvKgorICogQ29weXJp
Z2h0IDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkRldmljZVByb3hpbWl0eUNsaWVu
dEVmbC5oIgorCisjaWYgRU5BQkxFKFBST1hJTUlUWV9FVkVOVFMpCisKKyNpbmNsdWRlICJEZXZp
Y2VQcm94aW1pdHlDb250cm9sbGVyLmgiCisjaW5jbHVkZSAiZXdrX3ZpZXdfcHJpdmF0ZS5oIgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0RldmljZVByb3hpbWl0eUNsaWVudEVmbDo6RGV2aWNl
UHJveGltaXR5Q2xpZW50RWZsKEV2YXNfT2JqZWN0KiB2aWV3KQorICAgIDogbV92aWV3KHZpZXcp
CisgICAgLCBtX2lzVXBkYXRpbmcoZmFsc2UpCisgICAgLCBtX3ZhbHVlKHN0ZDo6bnVtZXJpY19s
aW1pdHM8ZG91YmxlPjo6aW5maW5pdHkoKSkKKyAgICAsIG1fbWluKC1zdGQ6Om51bWVyaWNfbGlt
aXRzPGRvdWJsZT46OmluZmluaXR5KCkpCisgICAgLCBtX21heChzdGQ6Om51bWVyaWNfbGltaXRz
PGRvdWJsZT46OmluZmluaXR5KCkpCit7Cit9CisKK3ZvaWQgRGV2aWNlUHJveGltaXR5Q2xpZW50
RWZsOjpzdGFydFVwZGF0aW5nKCkKK3sKKyAgICBtX2lzVXBkYXRpbmcgPSB0cnVlOworICAgIC8v
IEZJWE1FIDogU3RhcnQgZ2V0dGluZyBwcm94aW1pdHkgZGF0YSBmcm9tIGRldmljZS4KK30KKwor
dm9pZCBEZXZpY2VQcm94aW1pdHlDbGllbnRFZmw6OnN0b3BVcGRhdGluZygpCit7CisgICAgbV9p
c1VwZGF0aW5nID0gZmFsc2U7CisgICAgLy8gRklYTUUgOiBTdG9wIGdldHRpbmcgcHJveGltaXR5
IGRhdGEgZnJvbSBkZXZpY2UuCit9CisKK2Jvb2wgRGV2aWNlUHJveGltaXR5Q2xpZW50RWZsOjpo
YXNMYXN0RGF0YSgpCit7CisgICAgcmV0dXJuIG1fdmFsdWUgPT0gc3RkOjpudW1lcmljX2xpbWl0
czxkb3VibGU+OjppbmZpbml0eSgpID8gZmFsc2UgOiB0cnVlOworfQorCit2b2lkIERldmljZVBy
b3hpbWl0eUNsaWVudEVmbDo6ZGlkQ2hhbmdlUHJveGltaXR5KGNvbnN0IGRvdWJsZSB2YWx1ZSwg
Y29uc3QgZG91YmxlIG1pbiwgY29uc3QgZG91YmxlIG1heCkKK3sKKyAgICBtX3ZhbHVlID0gdmFs
dWU7CisgICAgbV9taW4gPSBtaW47CisgICAgbV9tYXggPSBtYXg7CisgICAgaWYgKG1faXNVcGRh
dGluZykKKyAgICAgICAgRGV2aWNlUHJveGltaXR5Q29udHJvbGxlcjo6ZnJvbShFV0tQcml2YXRl
Ojpjb3JlUGFnZShtX3ZpZXcpKS0+ZGlkQ2hhbmdlRGV2aWNlUHJveGltaXR5KHZhbHVlLCBtaW4s
IG1heCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIFBST1hJTUlU
WV9FVkVOVFMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Rl
dmljZVByb3hpbWl0eUNsaWVudEVmbC5oIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBv
cnQvRGV2aWNlUHJveGltaXR5Q2xpZW50RWZsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjVlOGYwOWI3ZTNkOGE4
NjM5MWU4NzhiNDdhMGZlMWE0MTEyY2RjZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJL
aXQvZWZsL1dlYkNvcmVTdXBwb3J0L0RldmljZVByb3hpbWl0eUNsaWVudEVmbC5oCkBAIC0wLDAg
KzEsNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIERldmljZVByb3hpbWl0eUNsaWVu
dEVmbF9oCisjZGVmaW5lIERldmljZVByb3hpbWl0eUNsaWVudEVmbF9oCisKKyNpZiBFTkFCTEUo
UFJPWElNSVRZX0VWRU5UUykKKworI2luY2x1ZGUgIkRldmljZVByb3hpbWl0eUNsaWVudC5oIgor
I2luY2x1ZGUgPEV2YXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBEZXZpY2VQ
cm94aW1pdHlDbGllbnRFZmwgOiBwdWJsaWMgRGV2aWNlUHJveGltaXR5Q2xpZW50IHsKK3B1Ymxp
YzoKKyAgICBleHBsaWNpdCBEZXZpY2VQcm94aW1pdHlDbGllbnRFZmwoRXZhc19PYmplY3QqIHZp
ZXcpOworICAgIHZpcnR1YWwgfkRldmljZVByb3hpbWl0eUNsaWVudEVmbCgpIHsgfQorCisgICAg
dmlydHVhbCB2b2lkIHN0YXJ0VXBkYXRpbmcoKTsKKyAgICB2aXJ0dWFsIHZvaWQgc3RvcFVwZGF0
aW5nKCk7CisgICAgdmlydHVhbCBib29sIGhhc0xhc3REYXRhKCk7CisgICAgdmlydHVhbCBkb3Vi
bGUgdmFsdWUoKSB7IHJldHVybiBtX3ZhbHVlOyB9CisgICAgdmlydHVhbCBkb3VibGUgbWluKCkg
eyByZXR1cm4gbV9taW47IH0KKyAgICB2aXJ0dWFsIGRvdWJsZSBtYXgoKSB7IHJldHVybiBtX21h
eDsgfQorCisgICAgdm9pZCBkaWRDaGFuZ2VQcm94aW1pdHkoY29uc3QgZG91YmxlIHZhbHVlLCBj
b25zdCBkb3VibGUgbWluLCBjb25zdCBkb3VibGUgbWF4KTsKKworcHJpdmF0ZToKKyAgICBFdmFz
X09iamVjdCogbV92aWV3OworICAgIGJvb2wgbV9pc1VwZGF0aW5nOworICAgIGRvdWJsZSBtX3Zh
bHVlOworICAgIGRvdWJsZSBtX21pbjsKKyAgICBkb3VibGUgbV9tYXg7Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBQUk9YSU1JVFlfRVZFTlRTCisjZW5kaWYgLy8g
RGV2aWNlUHJveGltaXR5Q2xpZW50RWZsX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZs
L2V3ay9ld2tfdmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwCmlu
ZGV4IDY3N2JiZmEzODQ1ZmFkNzc2ZTZiODMzY2FmNzNhZTJkMzM1NzA0NTQuLmMyOTRiOTlkZjY2
MWNlMTQ0ZTA5MTA1YWZmNWIxOTdmYzZjMTBjMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
ZWZsL2V3ay9ld2tfdmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3
LmNwcApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIkNocm9tZUNsaWVudEVmbC5oIgogI2lu
Y2x1ZGUgIkNvbnRleHRNZW51Q2xpZW50RWZsLmgiCiAjaW5jbHVkZSAiQ29udGV4dE1lbnVDb250
cm9sbGVyLmgiCisjaW5jbHVkZSAiRGV2aWNlUHJveGltaXR5Q2xpZW50RWZsLmgiCiAjaW5jbHVk
ZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbmNsdWRlICJEcmFnQ2xpZW50RWZsLmgiCiAjaW5jbHVk
ZSAiRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsLmgiCkBAIC04MDAsNiArODAxLDEwIEBAIHN0YXRp
YyBFd2tfVmlld19Qcml2YXRlX0RhdGEqIF9ld2tfdmlld19wcml2X25ldyhFd2tfVmlld19TbWFy
dF9EYXRhKiBzbWFydERhdGEpCiAgICAgfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoUFJPWElNSVRZ
X0VWRU5UUykKKyAgICBXZWJDb3JlOjpwcm92aWRlRGV2aWNlUHJveGltaXR5VG8ocHJpdi0+cGFn
ZS5nZXQoKSwgbmV3IFdlYkNvcmU6OkRldmljZVByb3hpbWl0eUNsaWVudEVmbChzbWFydERhdGEt
PnNlbGYpKTsKKyNlbmRpZgorCiAgICAgcHJpdi0+cGFnZVNldHRpbmdzID0gcHJpdi0+cGFnZS0+
c2V0dGluZ3MoKTsKIAogICAgIFdlYkNvcmU6OkxheW91dE1pbGVzdG9uZXMgbGF5b3V0TWlsZXN0
b25lcyA9IFdlYkNvcmU6OkRpZEZpcnN0TGF5b3V0IHwgV2ViQ29yZTo6RGlkRmlyc3RWaXN1YWxs
eU5vbkVtcHR5TGF5b3V0OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDllY2JjODVlMDUwNzAxZTAzMmI3NTc2NjdkOTMwODM0
MzQzZWIzNWQuLmI2OTdlOTY0Y2FkNWE3Y2Q2MGYxNDhjZGMxODBlNDc3NDQxNmYyNDQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwzNCBAQAorMjAxMi0xMi0wNiAgS2lob25nIEt3b24gIDxraWhvbmcua3dvbkBz
YW1zdW5nLmNvbT4KKworICAgICAgICBBZGQgRGV2aWNlUHJveGltaXR5Q29udHJvbGxlciB0byBz
dXBwb3J0IERldmljZSBQcm94aW1pdHkgRXZlbnRzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc2MzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgbGF5b3V0IHRlc3QgY2FzZXMgZm9yIHRoZSBEZXZp
Y2VQcm94aW1pdHlDb250cm9sbGVyLgorCisgICAgICAgICogcHJveGltaXR5L2FkZC1saXN0ZW5l
ci1mcm9tLWNhbGxiYWNrLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcHJveGltaXR5
L2FkZC1saXN0ZW5lci1mcm9tLWNhbGxiYWNrLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHByb3hp
bWl0eS9iYXNpYy1vcGVyYXRpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwcm94
aW1pdHkvYmFzaWMtb3BlcmF0aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHByb3hpbWl0eS9j
cmVhdGUtZXZlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwcm94aW1pdHkvY3Jl
YXRlLWV2ZW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHByb3hpbWl0eS9ldmVudC1hZnRlci1u
YXZpZ2F0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcHJveGltaXR5L2V2ZW50
LWFmdGVyLW5hdmlnYXRpb24uaHRtbDogQWRkZWQuCisgICAgICAgICogcHJveGltaXR5L211bHRp
cGxlLWZyYW1lcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHByb3hpbWl0eS9tdWx0
aXBsZS1mcmFtZXMuaHRtbDogQWRkZWQuCisgICAgICAgICogcHJveGltaXR5L25vLXBhZ2UtY2Fj
aGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwcm94aW1pdHkvbm8tcGFnZS1jYWNo
ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwcm94aW1pdHkvb3B0aW9uYWwtZXZlbnQtcHJvcGVy
dGllcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHByb3hpbWl0eS9vcHRpb25hbC1l
dmVudC1wcm9wZXJ0aWVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHByb3hpbWl0eS9yZXNvdXJj
ZXMvY2FjaGVkLXBhZ2UtMS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwcm94aW1pdHkvcmVzb3Vy
Y2VzL2NhY2hlZC1wYWdlLTIuaHRtbDogQWRkZWQuCisgICAgICAgICogcHJveGltaXR5L3Jlc291
cmNlcy9ldmVudC1hZnRlci1uYXZpZ2F0aW9uLW5ldy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBw
cm94aW1pdHkvdXBkYXRlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHByb3hpbWl0
eS91cGRhdGVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHByb3hpbWl0eS93aW5kb3ctcHJvcGVy
dHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwcm94aW1pdHkvd2luZG93LXByb3Bl
cnR5Lmh0bWw6IEFkZGVkLgorCiAyMDEyLTEyLTA1ICBBbmRyZWkgQnVjdXIgIDxhYnVjdXJAYWRv
YmUuY29tPgogCiAgICAgICAgIFtDU1MgUmVnaW9uc10gQmxvY2tzIGRvbid0IHJlbGF5b3V0IGNo
aWxkcmVuIGlmIHRoZSB3aWR0aCBvZiBhIHJlZ2lvbiBjaGFuZ2VzCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wcm94aW1pdHkvYWRkLWxpc3RlbmVyLWZyb20tY2FsbGJhY2stZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L2FkZC1saXN0ZW5lci1mcm9tLWNhbGxiYWNrLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41MGI4NjcxODM4Y2YzMzIzY2QxNWU3NGZkNzZhMWZmYjhhODYx
NjllCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L2FkZC1saXN0ZW5l
ci1mcm9tLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE4IEBACitUZXN0cyB0aGF0
IGFkZGluZyBhIG5ldyBldmVudCBsaXN0ZW5lciBmcm9tIGEgY2FsbGJhY2sgd29ya3MgYXMgZXhw
ZWN0ZWQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGRldmljZVByb3hp
bWl0eUV2ZW50LnZhbHVlIGlzIGZpcmVkRXZlbnQudmFsdWUKK1BBU1MgZGV2aWNlUHJveGltaXR5
RXZlbnQubWluIGlzIGZpcmVkRXZlbnQubWluCitQQVNTIGRldmljZVByb3hpbWl0eUV2ZW50Lm1h
eCBpcyBmaXJlZEV2ZW50Lm1heAorUEFTUyBkZXZpY2VQcm94aW1pdHlFdmVudC52YWx1ZSBpcyBm
aXJlZEV2ZW50LnZhbHVlCitQQVNTIGRldmljZVByb3hpbWl0eUV2ZW50Lm1pbiBpcyBmaXJlZEV2
ZW50Lm1pbgorUEFTUyBkZXZpY2VQcm94aW1pdHlFdmVudC5tYXggaXMgZmlyZWRFdmVudC5tYXgK
K1BBU1MgZGV2aWNlUHJveGltaXR5RXZlbnQudmFsdWUgaXMgZmlyZWRFdmVudC52YWx1ZQorUEFT
UyBkZXZpY2VQcm94aW1pdHlFdmVudC5taW4gaXMgZmlyZWRFdmVudC5taW4KK1BBU1MgZGV2aWNl
UHJveGltaXR5RXZlbnQubWF4IGlzIGZpcmVkRXZlbnQubWF4CitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cHJveGltaXR5L2FkZC1saXN0ZW5lci1mcm9tLWNhbGxiYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9w
cm94aW1pdHkvYWRkLWxpc3RlbmVyLWZyb20tY2FsbGJhY2suaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OThm
NmZkMzRhNjNmNmU3NTM4MjUwMWYxM2Y5ZGI5NjM3NjdlZDNlCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvcHJveGltaXR5L2FkZC1saXN0ZW5lci1mcm9tLWNhbGxiYWNrLmh0bWwKQEAg
LTAsMCArMSw1MCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQ+CitkZXNjcmlwdGlvbignVGVzdHMgdGhhdCBhZGRpbmcgYSBuZXcgZXZlbnQgbGlzdGVuZXIg
ZnJvbSBhIGNhbGxiYWNrIHdvcmtzIGFzIGV4cGVjdGVkLicpOworCit2YXIgZmlyZWRFdmVudCA9
IHt2YWx1ZTogMi4yLCBtaW46IDEuMSwgbWF4OiAzLjN9OworCit2YXIgZGV2aWNlUHJveGltaXR5
RXZlbnQ7CitmdW5jdGlvbiBjaGVja1Byb3hpbWl0eShldmVudCkgeworICAgIGRldmljZVByb3hp
bWl0eUV2ZW50ID0gZXZlbnQ7CisgICAgc2hvdWxkQmUoJ2RldmljZVByb3hpbWl0eUV2ZW50LnZh
bHVlJywgJ2ZpcmVkRXZlbnQudmFsdWUnKTsKKyAgICBzaG91bGRCZSgnZGV2aWNlUHJveGltaXR5
RXZlbnQubWluJywgJ2ZpcmVkRXZlbnQubWluJyk7CisgICAgc2hvdWxkQmUoJ2RldmljZVByb3hp
bWl0eUV2ZW50Lm1heCcsICdmaXJlZEV2ZW50Lm1heCcpOworfQorCit2YXIgZmlyc3RMaXN0ZW5l
ckV2ZW50cyA9IDA7CitmdW5jdGlvbiBmaXJzdExpc3RlbmVyKGV2ZW50KSB7CisgICAgY2hlY2tQ
cm94aW1pdHkoZXZlbnQpOworICAgIGlmICgrK2ZpcnN0TGlzdGVuZXJFdmVudHMgPT0gMSkgewor
ICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0ZGV2aWNlcHJveGltaXR5Jywg
c2Vjb25kTGlzdGVuZXIpOworICAgICAgICBpbnRlcm5hbHMuc2V0RGV2aWNlUHJveGltaXR5KGRv
Y3VtZW50LCAnd2Via2l0ZGV2aWNlcHJveGltaXR5JywgZmlyZWRFdmVudC52YWx1ZSwgZmlyZWRF
dmVudC5taW4sIGZpcmVkRXZlbnQubWF4KTsKKyAgICB9CisgICAgZWxzZSBpZiAoZmlyc3RMaXN0
ZW5lckV2ZW50cyA+IDIpCisgICAgICAgIHRlc3RGYWlsZWQoJ1RvbyBtYW55IGV2ZW50cyBmb3Ig
Zmlyc3QgbGlzdGVuZXIuJyk7CisgICAgbWF5YmVGaW5pc2hUZXN0KCk7Cit9CisKK3ZhciBzZWNv
bmRMaXN0ZW5lckV2ZW50cyA9IDA7CitmdW5jdGlvbiBzZWNvbmRMaXN0ZW5lcihldmVudCkgewor
ICAgIGNoZWNrUHJveGltaXR5KGV2ZW50KTsKKyAgICBpZiAoKytzZWNvbmRMaXN0ZW5lckV2ZW50
cyA+IDEpCisgICAgICAgIHRlc3RGYWlsZWQoJ1RvbyBtYW55IGV2ZW50cyBmb3Igc2Vjb25kIGxp
c3RlbmVyLicpOworICAgIG1heWJlRmluaXNoVGVzdCgpOworfQorCitmdW5jdGlvbiBtYXliZUZp
bmlzaFRlc3QoKSB7CisgICAgaWYgKGZpcnN0TGlzdGVuZXJFdmVudHMgPT0gMiAmJiBzZWNvbmRM
aXN0ZW5lckV2ZW50cyA9PSAxKQorICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKword2luZG93
LmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdGRldmljZXByb3hpbWl0eScsIGZpcnN0TGlzdGVuZXIp
OworaW50ZXJuYWxzLnNldERldmljZVByb3hpbWl0eShkb2N1bWVudCwgJ3dlYmtpdGRldmljZXBy
b3hpbWl0eScsIGZpcmVkRXZlbnQudmFsdWUsIGZpcmVkRXZlbnQubWluLCBmaXJlZEV2ZW50Lm1h
eCk7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcHJveGltaXR5L2Jhc2ljLW9wZXJh
dGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wcm94aW1pdHkvYmFzaWMtb3BlcmF0aW9u
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kOTY2MWEzM2ViNjg4MjMxMjFmZGM0M2UwZWQzZjYw
YzdhMzk3NWY3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L2Jhc2lj
LW9wZXJhdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorVGVzdHMgdGhlIGJhc2lj
IG9wZXJhdGlvbiBvZiBEZXZpY2VQcm94aW1pdHkgdXNpbmcgdGhlIHByb3hpbWl0eS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgZGV2aWNlUHJveGltaXR5RXZlbnQudmFs
dWUgaXMgZmlyZWRFdmVudC52YWx1ZQorUEFTUyBkZXZpY2VQcm94aW1pdHlFdmVudC5taW4gaXMg
ZmlyZWRFdmVudC5tYXgKK1BBU1MgZGV2aWNlUHJveGltaXR5RXZlbnQubWF4IGlzIGZpcmVkRXZl
bnQubWluCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcHJveGltaXR5L2Jhc2ljLW9wZXJhdGlvbi5odG1s
IGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L2Jhc2ljLW9wZXJhdGlvbi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmVjMWVmNGRlZDJiMzJkODI0MjNlZDc0YmY4OTI4NTFlMmExYzdjNGEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9wcm94aW1pdHkvYmFzaWMtb3BlcmF0aW9uLmh0bWwKQEAgLTAsMCAr
MSwyNSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+Citk
ZXNjcmlwdGlvbignVGVzdHMgdGhlIGJhc2ljIG9wZXJhdGlvbiBvZiBEZXZpY2VQcm94aW1pdHkg
dXNpbmcgdGhlIHByb3hpbWl0eS4nKTsKKwordmFyIGZpcmVkRXZlbnQgPSB7dmFsdWU6IDIuMiwg
bWluOiAxLjEsIG1heDogMy4zfTsKKwordmFyIGRldmljZVByb3hpbWl0eUV2ZW50Oword2luZG93
LmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdGRldmljZXByb3hpbWl0eScsIGZ1bmN0aW9uKGUpIHsK
KyAgICBkZXZpY2VQcm94aW1pdHlFdmVudCA9IGU7CisgICAgc2hvdWxkQmUoJ2RldmljZVByb3hp
bWl0eUV2ZW50LnZhbHVlJywgJ2ZpcmVkRXZlbnQudmFsdWUnKTsKKyAgICBzaG91bGRCZSgnZGV2
aWNlUHJveGltaXR5RXZlbnQubWluJywgJ2ZpcmVkRXZlbnQubWF4Jyk7CisgICAgc2hvdWxkQmUo
J2RldmljZVByb3hpbWl0eUV2ZW50Lm1heCcsICdmaXJlZEV2ZW50Lm1pbicpOworICAgIGZpbmlz
aEpTVGVzdCgpOworfSk7CisKK2ludGVybmFscy5zZXREZXZpY2VQcm94aW1pdHkoZG9jdW1lbnQs
ICd3ZWJraXRkZXZpY2Vwcm94aW1pdHknLCBmaXJlZEV2ZW50LnZhbHVlLCBmaXJlZEV2ZW50Lm1h
eCwgZmlyZWRFdmVudC5taW4pOword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Byb3hp
bWl0eS9jcmVhdGUtZXZlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L2Ny
ZWF0ZS1ldmVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWNmNTk2NzVmZjA1YTZmMzBlM2Ux
ZGQ4NjEzOGNkYmQ5MGJlYmM0MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Byb3hp
bWl0eS9jcmVhdGUtZXZlbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjIgQEAKK1Rlc3RzIHRo
YXQgZG9jdW1lbnQuY3JlYXRlRXZlbnQoKSB3b3JrcyB3aXRoIERldmljZVByb3hpbWl0eUV2ZW50
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyB0eXBlb2YgZXZlbnQgPT0g
J29iamVjdCcgaXMgdHJ1ZQorUEFTUyAndHlwZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAnYnVi
YmxlcycgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAnY2FuY2VsYWJsZScgaW4gZXZlbnQgaXMgdHJ1
ZQorUEFTUyAndmFsdWUnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ21pbicgaW4gZXZlbnQgaXMg
dHJ1ZQorUEFTUyAnbWF4JyBpbiBldmVudCBpcyB0cnVlCitQQVNTIHR5cGVvZiBldmVudC50eXBl
ID09ICdzdHJpbmcnIGlzIHRydWUKK1BBU1MgdHlwZW9mIGV2ZW50LmJ1YmJsZXMgPT0gJ2Jvb2xl
YW4nIGlzIHRydWUKK1BBU1MgdHlwZW9mIGV2ZW50LmNhbmNlbGFibGUgPT0gJ2Jvb2xlYW4nIGlz
IHRydWUKK1BBU1MgdHlwZW9mIGV2ZW50LnZhbHVlID09ICdudW1iZXInIGlzIHRydWUKK1BBU1Mg
dHlwZW9mIGV2ZW50Lm1pbiA9PSAnbnVtYmVyJyBpcyB0cnVlCitQQVNTIHR5cGVvZiBldmVudC5t
YXggPT0gJ251bWJlcicgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Byb3hpbWl0eS9jcmVh
dGUtZXZlbnQuaHRtbCBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9jcmVhdGUtZXZlbnQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jMjEzOWE4NmQ3NDJkNjc2YzhmYjc4ODg2YzZhMzVkZjM4ZWZhNmZlCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L2NyZWF0ZS1ldmVudC5odG1sCkBA
IC0wLDAgKzEsMjkgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2Ny
aXB0PgorZGVzY3JpcHRpb24oJ1Rlc3RzIHRoYXQgZG9jdW1lbnQuY3JlYXRlRXZlbnQoKSB3b3Jr
cyB3aXRoIERldmljZVByb3hpbWl0eUV2ZW50LicpOworCit2YXIgZXZlbnQgPSBkb2N1bWVudC5j
cmVhdGVFdmVudCgnRGV2aWNlUHJveGltaXR5RXZlbnQnKTsKKworc2hvdWxkQmVUcnVlKCJ0eXBl
b2YgZXZlbnQgPT0gJ29iamVjdCciKTsKKworc2hvdWxkQmVUcnVlKCIndHlwZScgaW4gZXZlbnQi
KTsKK3Nob3VsZEJlVHJ1ZSgiJ2J1YmJsZXMnIGluIGV2ZW50Iik7CitzaG91bGRCZVRydWUoIidj
YW5jZWxhYmxlJyBpbiBldmVudCIpOworc2hvdWxkQmVUcnVlKCIndmFsdWUnIGluIGV2ZW50Iik7
CitzaG91bGRCZVRydWUoIidtaW4nIGluIGV2ZW50Iik7CitzaG91bGRCZVRydWUoIidtYXgnIGlu
IGV2ZW50Iik7CisKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIGV2ZW50LnR5cGUgPT0gJ3N0cmluZyci
KTsKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIGV2ZW50LmJ1YmJsZXMgPT0gJ2Jvb2xlYW4nIik7Citz
aG91bGRCZVRydWUoInR5cGVvZiBldmVudC5jYW5jZWxhYmxlID09ICdib29sZWFuJyIpOworc2hv
dWxkQmVUcnVlKCJ0eXBlb2YgZXZlbnQudmFsdWUgPT0gJ251bWJlciciKTsKK3Nob3VsZEJlVHJ1
ZSgidHlwZW9mIGV2ZW50Lm1pbiA9PSAnbnVtYmVyJyIpOworc2hvdWxkQmVUcnVlKCJ0eXBlb2Yg
ZXZlbnQubWF4ID09ICdudW1iZXInIik7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcHJveGltaXR5L2V2ZW50LWFmdGVyLW5hdmlnYXRp
b24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L2V2ZW50LWFmdGVyLW5hdmln
YXRpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhlNmJjMzk4MjY3NzdiMTgzZTRiMGZjYmVj
Y2U3ZWMyNmZkMGZkMWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wcm94aW1pdHkv
ZXZlbnQtYWZ0ZXItbmF2aWdhdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitUZXN0
cyBmb3IgYSBjcmFzaCB3aGVyZSBhbiBldmVudCBpcyBmaXJlZCBhZnRlciB0aGUgcGFnZSBoYXMg
YmVlbiBuYXZpZ2F0ZWQgYXdheSB3aGVuIHRoZSBvcmlnaW5hbCBwYWdlIGlzIGluIHRoZSBwYWdl
IGNhY2hlLgorCitTVUNDRVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wcm94aW1pdHkvZXZl
bnQtYWZ0ZXItbmF2aWdhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L2V2ZW50LWFm
dGVyLW5hdmlnYXRpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZDQ0N2U1YmU5MTNlYTJjMWMwMDZkZTNj
ZjQ4MWYwNWI5ODEyYTlkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcHJveGltaXR5
L2V2ZW50LWFmdGVyLW5hdmlnYXRpb24uaHRtbApAQCAtMCwwICsxLDIzIEBACis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0cyBm
b3IgYSBjcmFzaCB3aGVyZSBhbiBldmVudCBpcyBmaXJlZCBhZnRlciB0aGUgcGFnZSBoYXMgYmVl
biBuYXZpZ2F0ZWQgYXdheSB3aGVuIHRoZSBvcmlnaW5hbCBwYWdlIGlzIGluIHRoZSBwYWdlIGNh
Y2hlLicpOworCitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5vdmVycmlk
ZVByZWZlcmVuY2UoJ1dlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5JywgMSk7CitlbHNl
CisgICAgZGVidWcoJ1RoaXMgdGVzdCBjYW4gbm90IGJlIHJ1biB3aXRob3V0IHRoZSBUZXN0UnVu
bmVyJyk7CisKK2RvY3VtZW50LmJvZHkub25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgd2luZG93
LmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdGRldmljZXByb3hpbWl0eScsIGZ1bmN0aW9uKCkgeyB9
ICk7CisgICAgd2luZG93LmxvY2F0aW9uID0gInJlc291cmNlcy9ldmVudC1hZnRlci1uYXZpZ2F0
aW9uLW5ldy5odG1sIjsKK30KKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Byb3hp
bWl0eS9tdWx0aXBsZS1mcmFtZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcHJveGltaXR5
L211bHRpcGxlLWZyYW1lcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjA1ZjRlM2ZmMjZmOGIw
ZDEwYzI5YWQxMGQxMjQ0ZGVkM2M1NzYzMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3Byb3hpbWl0eS9tdWx0aXBsZS1mcmFtZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAK
K1Rlc3RzIHVzaW5nIERldmljZVByb3hpbWl0eSBmcm9tIG11bHRpcGxlIGZyYW1lcy4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgRGV2aWNlUHJveGltaXR5RXZlbnQudmFs
dWUgaXMgZmlyZWRFdmVudC52YWx1ZQorUEFTUyBEZXZpY2VQcm94aW1pdHlFdmVudC5taW4gaXMg
ZmlyZWRFdmVudC5taW4KK1BBU1MgRGV2aWNlUHJveGltaXR5RXZlbnQubWF4IGlzIGZpcmVkRXZl
bnQubWF4CitQQVNTIERldmljZVByb3hpbWl0eUV2ZW50LnZhbHVlIGlzIGZpcmVkRXZlbnQudmFs
dWUKK1BBU1MgRGV2aWNlUHJveGltaXR5RXZlbnQubWluIGlzIGZpcmVkRXZlbnQubWluCitQQVNT
IERldmljZVByb3hpbWl0eUV2ZW50Lm1heCBpcyBmaXJlZEV2ZW50Lm1heAorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3Byb3hpbWl0eS9tdWx0aXBsZS1mcmFtZXMuaHRtbCBiL0xheW91dFRlc3RzL3Byb3hp
bWl0eS9tdWx0aXBsZS1mcmFtZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iN2M5MzhlMTIwNDFlYjEwODY4
OGM0MzM1ODMwM2M2NmQ4ZjA5NTQ4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcHJv
eGltaXR5L211bHRpcGxlLWZyYW1lcy5odG1sCkBAIC0wLDAgKzEsNDggQEAKKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3RzIHVz
aW5nIERldmljZVByb3hpbWl0eSBmcm9tIG11bHRpcGxlIGZyYW1lcy4nKTsKKwordmFyIERldmlj
ZVByb3hpbWl0eUV2ZW50OworZnVuY3Rpb24gY2hlY2tQcm94aW1pdHkoZXZlbnQpIHsKKyAgICBE
ZXZpY2VQcm94aW1pdHlFdmVudCA9IGV2ZW50OworICAgIHNob3VsZEJlKCdEZXZpY2VQcm94aW1p
dHlFdmVudC52YWx1ZScsICdmaXJlZEV2ZW50LnZhbHVlJyk7CisgICAgc2hvdWxkQmUoJ0Rldmlj
ZVByb3hpbWl0eUV2ZW50Lm1pbicsICdmaXJlZEV2ZW50Lm1pbicpOworICAgIHNob3VsZEJlKCdE
ZXZpY2VQcm94aW1pdHlFdmVudC5tYXgnLCAnZmlyZWRFdmVudC5tYXgnKTsKK30KKwordmFyIGhh
c01haW5GcmFtZUV2ZW50RmlyZWQgPSBmYWxzZTsKK2Z1bmN0aW9uIG1haW5GcmFtZUxpc3RlbmVy
KGV2ZW50KSB7CisgICAgY2hlY2tQcm94aW1pdHkoZXZlbnQpOworICAgIGhhc01haW5GcmFtZUV2
ZW50RmlyZWQgPSB0cnVlOworICAgIG1heWJlRmluaXNoVGVzdCgpOworfQorCit2YXIgaGFzQ2hp
bGRGcmFtZUV2ZW50RmlyZWQgPSBmYWxzZTsKK2Z1bmN0aW9uIGNoaWxkRnJhbWVMaXN0ZW5lcihl
dmVudCkgeworICAgIGNoZWNrUHJveGltaXR5KGV2ZW50KTsKKyAgICBoYXNDaGlsZEZyYW1lRXZl
bnRGaXJlZCA9IHRydWU7CisgICAgbWF5YmVGaW5pc2hUZXN0KCk7Cit9CisKK2Z1bmN0aW9uIG1h
eWJlRmluaXNoVGVzdCgpIHsKKyAgICBpZiAoaGFzTWFpbkZyYW1lRXZlbnRGaXJlZCAmJiBoYXND
aGlsZEZyYW1lRXZlbnRGaXJlZCkKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK3ZhciBj
aGlsZEZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7Citkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKGNoaWxkRnJhbWUpOworY2hpbGRGcmFtZS5jb250ZW50V2luZG93LmFk
ZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdGRldmljZXByb3hpbWl0eScsIGNoaWxkRnJhbWVMaXN0ZW5l
cik7CisKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRkZXZpY2Vwcm94aW1pdHknLCBt
YWluRnJhbWVMaXN0ZW5lcik7Cit2YXIgZmlyZWRFdmVudCA9IHt2YWx1ZTogMi4yLCBtaW46IDEu
MSwgbWF4OiAzLjN9OworaW50ZXJuYWxzLnNldERldmljZVByb3hpbWl0eShkb2N1bWVudCwgJ3dl
YmtpdGRldmljZXByb3hpbWl0eScsIGZpcmVkRXZlbnQudmFsdWUsIGZpcmVkRXZlbnQubWluLCBm
aXJlZEV2ZW50Lm1heCk7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wcm94aW1p
dHkvbm8tcGFnZS1jYWNoZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wcm94aW1pdHkvbm8t
cGFnZS1jYWNoZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjM2NjVkNWVkMmMwYWNlNDM4ZDZj
NmMzNzAzMzFiMWQ0MGQzZjg5NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Byb3hp
bWl0eS9uby1wYWdlLWNhY2hlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitUZXN0cyB0
aGF0IHBhZ2VzIHRoYXQgdXNlIERldmljZVByb3hpbWl0eSBhcmUgbm90IHB1dCBpbiB0aGUgcGFn
ZSBjYWNoZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK01haW4gcGFnZSBvcGVu
aW5nIHJlc291cmNlcy9jYWNoZWQtcGFnZS0xLmh0bWwKK3Jlc291cmNlcy9jYWNoZWQtcGFnZS0x
Lmh0bWwgb25sb2FkIGZpcmVkLCBjb3VudCA9IDEKK3Jlc291cmNlcy9jYWNoZWQtcGFnZS0xLmh0
bWwgYWJvdXQgdG8gbmF2aWdhdGUgdG8gcmVzb3VyY2VzL2NhY2hlZC1wYWdlLTIuaHRtbAorcmVz
b3VyY2VzL2NhY2hlZC1wYWdlLTIuaHRtbCBhYm91dCB0byBnbyBiYWNrIHRvIHJlc291cmNlcy9j
YWNoZWQtcGFnZS0xLmh0bWwKK3Jlc291cmNlcy9jYWNoZWQtcGFnZS0xLmh0bWwgb25sb2FkIGZp
cmVkLCBjb3VudCA9IDIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wcm94aW1pdHkvbm8tcGFnZS1jYWNo
ZS5odG1sIGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L25vLXBhZ2UtY2FjaGUuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41ZTZjNzNhYTAwYTViM2E4MDRlNTA5Nzk4YjA4M2Q3ODUxMTBkN2NkCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L25vLXBhZ2UtY2FjaGUuaHRtbApAQCAtMCww
ICsxLDMzIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4K
K2Rlc2NyaXB0aW9uKCdUZXN0cyB0aGF0IHBhZ2VzIHRoYXQgdXNlIERldmljZVByb3hpbWl0eSBh
cmUgbm90IHB1dCBpbiB0aGUgcGFnZSBjYWNoZS4nKTsKKworaWYgKHdpbmRvdy50ZXN0UnVubmVy
KSB7CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgdGVzdFJ1bm5lci5zZXRD
YW5PcGVuV2luZG93cygpOworICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCdXZWJL
aXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleScsIDEpOworfSBlbHNlCisgICAgZGVidWcoJ1Ro
aXMgdGVzdCBjYW4gbm90IGJlIHJ1biB3aXRob3V0IHRoZSBUZXN0UnVubmVyJyk7CisKK3ZhciBw
YWdlT25lT25sb2FkQ291bnQgPSAwOworZnVuY3Rpb24gcmVwb3J0UGFnZU9uZU9ubG9hZCgpIHsK
KyAgICArK3BhZ2VPbmVPbmxvYWRDb3VudDsKKyAgICBkZWJ1ZygncmVzb3VyY2VzL2NhY2hlZC1w
YWdlLTEuaHRtbCBvbmxvYWQgZmlyZWQsIGNvdW50ID0gJyArIHBhZ2VPbmVPbmxvYWRDb3VudCk7
CisgICAgaWYgKHBhZ2VPbmVPbmxvYWRDb3VudCA9PSAyKSB7CisgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgIH0KKyAgICByZXR1cm4gcGFnZU9uZU9ubG9hZENvdW50OworfQorCitkZWJ1Zygi
TWFpbiBwYWdlIG9wZW5pbmcgcmVzb3VyY2VzL2NhY2hlZC1wYWdlLTEuaHRtbCIpOword2luZG93
Lm9wZW4oInJlc291cmNlcy9jYWNoZWQtcGFnZS0xLmh0bWwiKTsKKword2luZG93LmpzVGVzdElz
QXN5bmMgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3Byb3hpbWl0eS9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MDc5OGRiNTE1YTU1ZTY3MTEzYmU5YjI0NGY4NmYy
NGFiYWU3OTRiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L29wdGlv
bmFsLWV2ZW50LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Rlc3Rz
IHRoZSBvcHRpb25hbCBwcm9wZXJ0aWVzIG9mIERldmljZVByb3hpbWl0eUV2ZW50LiBFYWNoIHBy
b3BlcnR5IHNob3VsZCBiZSBudWxsIGlmIG5vdCBzZXQsIG9yIHNldCB0byBudWxsIG9yIHVuZGVm
aW5lZC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK2V2ZW50ID0gZG9jdW1lbnQu
Y3JlYXRlRXZlbnQoJ0RldmljZVByb3hpbWl0eUV2ZW50JykKK1BBU1MgZXZlbnQudmFsdWUgPT0g
TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIGlzIHRydWUKK1BBU1MgZXZlbnQubWluID09IE51bWJl
ci5ORUdBVElWRV9JTkZJTklUWSBpcyB0cnVlCitQQVNTIGV2ZW50Lm1heCA9PSBOdW1iZXIuUE9T
SVRJVkVfSU5GSU5JVFkgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Byb3hpbWl0eS9vcHRp
b25hbC1ldmVudC1wcm9wZXJ0aWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9wcm94aW1pdHkvb3B0aW9u
YWwtZXZlbnQtcHJvcGVydGllcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZmNjQ0OTI3OTI0NjRlNGVlNjFi
ZWUwY2I3YzQzMDhjNTQ5ZTY5OTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wcm94
aW1pdHkvb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5odG1sCkBAIC0wLDAgKzEsMTcgQEAKKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24o
J1Rlc3RzIHRoZSBvcHRpb25hbCBwcm9wZXJ0aWVzIG9mIERldmljZVByb3hpbWl0eUV2ZW50LiBF
YWNoIHByb3BlcnR5IHNob3VsZCBiZSBudWxsIGlmIG5vdCBzZXQsIG9yIHNldCB0byBudWxsIG9y
IHVuZGVmaW5lZC4nKTsKKwordmFyIGV2ZW50OworZXZhbEFuZExvZygiZXZlbnQgPSBkb2N1bWVu
dC5jcmVhdGVFdmVudCgnRGV2aWNlUHJveGltaXR5RXZlbnQnKSIpOworc2hvdWxkQmVUcnVlKCJl
dmVudC52YWx1ZSA9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkiKTsKK3Nob3VsZEJlVHJ1ZSgi
ZXZlbnQubWluID09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSIpOworc2hvdWxkQmVUcnVlKCJl
dmVudC5tYXggPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIik7Cis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcHJveGltaXR5L3Jlc291
cmNlcy9jYWNoZWQtcGFnZS0xLmh0bWwgYi9MYXlvdXRUZXN0cy9wcm94aW1pdHkvcmVzb3VyY2Vz
L2NhY2hlZC1wYWdlLTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZDA2MmNjZTkxMjhkMTUyZDhhOTljMDJl
N2E4YjQ5ODRjNTdiMmM3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcHJveGltaXR5
L3Jlc291cmNlcy9jYWNoZWQtcGFnZS0xLmh0bWwKQEAgLTAsMCArMSwxMSBAQAorPHNjcmlwdD4K
K2Z1bmN0aW9uIGxvYWROZXh0KCkgeworICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCd3ZWJr
aXRkZXZpY2Vwcm94aW1pdHknLCBmdW5jdGlvbigpIHt9KTsKKyAgICBpZiAod2luZG93Lm9wZW5l
ci5yZXBvcnRQYWdlT25lT25sb2FkKCkgPT0gMSkgeworICAgICAgICB3aW5kb3cub3BlbmVyLmRl
YnVnKCdyZXNvdXJjZXMvY2FjaGVkLXBhZ2UtMS5odG1sIGFib3V0IHRvIG5hdmlnYXRlIHRvIHJl
c291cmNlcy9jYWNoZWQtcGFnZS0yLmh0bWwnKQorICAgICAgICAvLyBMb2NhdGlvbiBjaGFuZ2Vz
IG5lZWQgdG8gaGFwcGVuIG91dHNpZGUgdGhlIG9ubG9hZCBoYW5kbGVyIHRvIGdlbmVyYXRlIGhp
c3RvcnkgZW50cmllcy4KKyAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsgbG9jYXRpb24u
aHJlZiA9ICdjYWNoZWQtcGFnZS0yLmh0bWwnOyB9LCAwKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4K
Kzxib2R5IG9ubG9hZD0ibG9hZE5leHQoKSI+PC9ib2R5PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Byb3hpbWl0eS9yZXNvdXJjZXMvY2FjaGVk
LXBhZ2UtMi5odG1sIGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L3Jlc291cmNlcy9jYWNoZWQtcGFn
ZS0yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODJiODhjYmMxODAwOTBiMmQ0NmM3MTBiZmVlNDgzNjViMjQy
ZTIyNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9yZXNvdXJjZXMv
Y2FjaGVkLXBhZ2UtMi5odG1sCkBAIC0wLDAgKzEsOCBAQAorPHNjcmlwdD4KK2Z1bmN0aW9uIGlu
aXQoKSB7CisgICAgd2luZG93Lm9wZW5lci5wYWdlVHdvTG9hZGVkID0gdHJ1ZTsKKyAgICB3aW5k
b3cub3BlbmVyLmRlYnVnKCdyZXNvdXJjZXMvY2FjaGVkLXBhZ2UtMi5odG1sIGFib3V0IHRvIGdv
IGJhY2sgdG8gcmVzb3VyY2VzL2NhY2hlZC1wYWdlLTEuaHRtbCcpOworICAgIGhpc3RvcnkuYmFj
aygpOworfQorPC9zY3JpcHQ+Cis8Ym9keSBvbmxvYWQ9ImluaXQoKSI+PC9ib2R5PgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Byb3hpbWl0eS9y
ZXNvdXJjZXMvZXZlbnQtYWZ0ZXItbmF2aWdhdGlvbi1uZXcuaHRtbCBiL0xheW91dFRlc3RzL3By
b3hpbWl0eS9yZXNvdXJjZXMvZXZlbnQtYWZ0ZXItbmF2aWdhdGlvbi1uZXcuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4wNjY0NGNlZjMwNDRiZjJiMDU5OGQ2NWE2OGZjNGVhYjE5OTAwZDQ0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L3Jlc291cmNlcy9ldmVudC1hZnRlci1uYXZp
Z2F0aW9uLW5ldy5odG1sCkBAIC0wLDAgKzEsMTUgQEAKKzxodG1sPgorPGhlYWQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKyAgICBUZXN0cyBmb3IgYSBjcmFzaCB3aGVyZSBhbiBldmVudCBpcyBmaXJlZCBh
ZnRlciB0aGUgcGFnZSBoYXMgYmVlbiBuYXZpZ2F0ZWQKKyAgICBhd2F5IHdoZW4gdGhlIG9yaWdp
bmFsIHBhZ2UgaXMgaW4gdGhlIHBhZ2UgY2FjaGUuPGJyPjxicj4KKyAgICBTVUNDRVNTCisgICAg
PHNjcmlwdD4KKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgICAgICBp
bnRlcm5hbHMuc2V0RGV2aWNlUHJveGltaXR5KGRvY3VtZW50LCAnd2Via2l0ZGV2aWNlcHJveGlt
aXR5JywgMS4xLCAyLjIsIDMuMyk7CisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUo
KTsKKyAgICAgICAgfQorICAgIDwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Byb3hpbWl0eS91cGRh
dGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS91cGRhdGVzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40MjMxZTM3ODM5ZDA0ZTc4N2ZjNDFlY2RlOTE3MDc3MzQwMTg1NTU1
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L3VwZGF0ZXMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK1Rlc3RzIHRoYXQgdXBkYXRlcyB0byB0aGUgcHJveGlt
aXR5IGNhdXNlcyBuZXcgZXZlbnRzIHRvIGZpcmUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworCitQQVNTIGRldmljZVByb3hpbWl0eUV2ZW50LnZhbHVlIGlzIGZpcmVkRXZlbnQudmFs
dWUKK1BBU1MgZGV2aWNlUHJveGltaXR5RXZlbnQubWluIGlzIGZpcmVkRXZlbnQubWluCitQQVNT
IGRldmljZVByb3hpbWl0eUV2ZW50Lm1heCBpcyBmaXJlZEV2ZW50Lm1heAorUEFTUyBkZXZpY2VQ
cm94aW1pdHlFdmVudC52YWx1ZSBpcyBmaXJlZEV2ZW50LnZhbHVlCitQQVNTIGRldmljZVByb3hp
bWl0eUV2ZW50Lm1pbiBpcyBmaXJlZEV2ZW50Lm1pbgorUEFTUyBkZXZpY2VQcm94aW1pdHlFdmVu
dC5tYXggaXMgZmlyZWRFdmVudC5tYXgKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wcm94aW1pdHkvdXBk
YXRlcy5odG1sIGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L3VwZGF0ZXMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41ZTg4MmVlYmQzNzgxZWE5NDkxMWE2NGM2YTU5ZDU1MjZhNTgxNWNiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L3VwZGF0ZXMuaHRtbApAQCAtMCwwICsxLDQxIEBA
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0
aW9uKCdUZXN0cyB0aGF0IHVwZGF0ZXMgdG8gdGhlIHByb3hpbWl0eSBjYXVzZXMgbmV3IGV2ZW50
cyB0byBmaXJlLicpOworCit2YXIgZmlyZWRFdmVudDsKK2Z1bmN0aW9uIHNldFByb3hpbWl0eSh2
YWx1ZSwgbWluLCBtYXgpIHsKKyAgICBmaXJlZEV2ZW50ID0ge3ZhbHVlOiB2YWx1ZSwgbWluOiBt
aW4sIG1heDogbWF4fTsKKyAgICBpbnRlcm5hbHMuc2V0RGV2aWNlUHJveGltaXR5KGRvY3VtZW50
LCAnd2Via2l0ZGV2aWNlcHJveGltaXR5JywgZmlyZWRFdmVudC52YWx1ZSwgZmlyZWRFdmVudC5t
aW4sIGZpcmVkRXZlbnQubWF4KTsKK30KKwordmFyIGRldmljZVByb3hpbWl0eUV2ZW50OworZnVu
Y3Rpb24gY2hlY2tQcm94aW1pdHkoZXZlbnQpIHsKKyAgICBkZXZpY2VQcm94aW1pdHlFdmVudCA9
IGV2ZW50OworICAgIHNob3VsZEJlKCdkZXZpY2VQcm94aW1pdHlFdmVudC52YWx1ZScsICdmaXJl
ZEV2ZW50LnZhbHVlJyk7CisgICAgc2hvdWxkQmUoJ2RldmljZVByb3hpbWl0eUV2ZW50Lm1pbics
ICdmaXJlZEV2ZW50Lm1pbicpOworICAgIHNob3VsZEJlKCdkZXZpY2VQcm94aW1pdHlFdmVudC5t
YXgnLCAnZmlyZWRFdmVudC5tYXgnKTsKK30KKworZnVuY3Rpb24gZmlyc3RMaXN0ZW5lcihldmVu
dCkgeworICAgIGNoZWNrUHJveGltaXR5KGV2ZW50KTsKKyAgICB3aW5kb3cucmVtb3ZlRXZlbnRM
aXN0ZW5lcignd2Via2l0ZGV2aWNlcHJveGltaXR5JywgZmlyc3RMaXN0ZW5lcik7CisgICAgd2lu
ZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdGRldmljZXByb3hpbWl0eScsIHVwZGF0ZUxpc3Rl
bmVyKTsKKyAgICBzZXRQcm94aW1pdHkoMjIuMiwgMTEuMSwgMzMuMyk7Cit9CisKK2Z1bmN0aW9u
IHVwZGF0ZUxpc3RlbmVyKGV2ZW50KSB7CisgICAgY2hlY2tQcm94aW1pdHkoZXZlbnQpOworICAg
IGZpbmlzaEpTVGVzdCgpOworfQorCit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0ZGV2
aWNlcHJveGltaXR5JywgZmlyc3RMaXN0ZW5lcik7CitzZXRQcm94aW1pdHkoMi4yLCAxLjEsIDMu
Myk7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcHJveGltaXR5L3dpbmRvdy1wcm9w
ZXJ0eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wcm94aW1pdHkvd2luZG93LXByb3BlcnR5
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kM2U3NWQ4ODUyNjNmYmZmNjM0YWNiZmUyODEyODdh
NWYyYzk0ZTk1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L3dpbmRv
dy1wcm9wZXJ0eS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOCBAQAorVGVzdHMgdGhhdCB0aGUg
d2luZG93LkRldmljZVByb3hpbWl0eUV2ZW50IGFuZCB3aW5kb3cub253ZWJraXRkZXZpY2Vwcm94
aW1pdHkgcHJvcGVydGllcyBhcmUgcHJlc2VudC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKK1BBU1MgdHlwZW9mIHdpbmRvdy5EZXZpY2VQcm94aW1pdHlFdmVudCA9PSAnb2JqZWN0
JyBpcyB0cnVlCitQQVNTIHR5cGVvZiB3aW5kb3cuRGV2aWNlUHJveGltaXR5RXZlbnQgPT0gJ2Z1
bmN0aW9uJyBpcyBmYWxzZQorUEFTUyBoYXNEZXZpY2VQcm94aW1pdHlFdmVudFByb3BlcnR5KCkg
aXMgdHJ1ZQorUEFTUyAnRGV2aWNlUHJveGltaXR5RXZlbnQnIGluIHdpbmRvdyBpcyB0cnVlCitQ
QVNTIHdpbmRvdy5oYXNPd25Qcm9wZXJ0eSgnRGV2aWNlUHJveGltaXR5RXZlbnQnKSBpcyB0cnVl
CitQQVNTIHR5cGVvZiB3aW5kb3cub253ZWJraXRkZXZpY2Vwcm94aW1pdHkgPT0gJ29iamVjdCcg
aXMgdHJ1ZQorUEFTUyBoYXNPbkRldmljZVByb3hpbWl0eVByb3BlcnR5KCkgaXMgdHJ1ZQorUEFT
UyAnb253ZWJraXRkZXZpY2Vwcm94aW1pdHknIGluIHdpbmRvdyBpcyB0cnVlCitQQVNTIHdpbmRv
dy5oYXNPd25Qcm9wZXJ0eSgnb253ZWJraXRkZXZpY2Vwcm94aW1pdHknKSBpcyB0cnVlCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcHJveGltaXR5L3dpbmRvdy1wcm9wZXJ0eS5odG1sIGIvTGF5b3V0VGVz
dHMvcHJveGltaXR5L3dpbmRvdy1wcm9wZXJ0eS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRjNGNlYmUyODM0
MmNkMGI0MWNjNzA4N2IwNTY1NTRkZmQ1ZWMyMTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9wcm94aW1pdHkvd2luZG93LXByb3BlcnR5Lmh0bWwKQEAgLTAsMCArMSw0MCBAQAorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbign
VGVzdHMgdGhhdCB0aGUgd2luZG93LkRldmljZVByb3hpbWl0eUV2ZW50IGFuZCB3aW5kb3cub253
ZWJraXRkZXZpY2Vwcm94aW1pdHkgcHJvcGVydGllcyBhcmUgcHJlc2VudC4nKTsKKworZnVuY3Rp
b24gaGFzRGV2aWNlUHJveGltaXR5RXZlbnRQcm9wZXJ0eSgpCit7CisgICAgZm9yICh2YXIgcHJv
cGVydHkgaW4gd2luZG93KSB7CisgICAgICAgIGlmIChwcm9wZXJ0eSA9PSAnRGV2aWNlUHJveGlt
aXR5RXZlbnQnKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIHJldHVybiBm
YWxzZTsKK30KKworc2hvdWxkQmVUcnVlKCJ0eXBlb2Ygd2luZG93LkRldmljZVByb3hpbWl0eUV2
ZW50ID09ICdvYmplY3QnIik7CitzaG91bGRCZUZhbHNlKCJ0eXBlb2Ygd2luZG93LkRldmljZVBy
b3hpbWl0eUV2ZW50ID09ICdmdW5jdGlvbiciKTsKK3Nob3VsZEJlVHJ1ZSgiaGFzRGV2aWNlUHJv
eGltaXR5RXZlbnRQcm9wZXJ0eSgpIik7CitzaG91bGRCZVRydWUoIidEZXZpY2VQcm94aW1pdHlF
dmVudCcgaW4gd2luZG93Iik7CitzaG91bGRCZVRydWUoIndpbmRvdy5oYXNPd25Qcm9wZXJ0eSgn
RGV2aWNlUHJveGltaXR5RXZlbnQnKSIpOworCitmdW5jdGlvbiBoYXNPbkRldmljZVByb3hpbWl0
eVByb3BlcnR5KCkKK3sKKyAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiB3aW5kb3cpIHsKKyAgICAg
ICAgaWYgKHByb3BlcnR5ID09ICdvbndlYmtpdGRldmljZXByb3hpbWl0eScpCisgICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgcmV0dXJuIGZhbHNlOworfQorCitzaG91bGRCZVRy
dWUoInR5cGVvZiB3aW5kb3cub253ZWJraXRkZXZpY2Vwcm94aW1pdHkgPT0gJ29iamVjdCciKTsK
K3Nob3VsZEJlVHJ1ZSgiaGFzT25EZXZpY2VQcm94aW1pdHlQcm9wZXJ0eSgpIik7CitzaG91bGRC
ZVRydWUoIidvbndlYmtpdGRldmljZXByb3hpbWl0eScgaW4gd2luZG93Iik7CitzaG91bGRCZVRy
dWUoIndpbmRvdy5oYXNPd25Qcm9wZXJ0eSgnb253ZWJraXRkZXZpY2Vwcm94aW1pdHknKSIpOwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178149</attachid>
            <date>2012-12-06 20:38:49 -0800</date>
            <delta_ts>2013-01-07 03:48:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97630-20121207133612.patch</filename>
            <type>text/plain</type>
            <size>72786</size>
            <attacher name="Kihong Kwon">kihong.kwon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2OTEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjA4MjJhOTEzMTg5Yjc3
YmVjMjA0NDllY2EyY2E2YTM4MjM3YmQ4Ny4uZDAzZWY4MDNjOWQ4Y2ViMjgxOTNkYWI0ZDgyZjFk
ZTQzYzVmNjdlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcyIEBACisyMDEyLTEyLTA2ICBLaWhv
bmcgS3dvbiAgPGtpaG9uZy5rd29uQHNhbXN1bmcuY29tPgorCisgICAgICAgIEFkZCBEZXZpY2VQ
cm94aW1pdHlDb250cm9sbGVyIHRvIHN1cHBvcnQgRGV2aWNlIFByb3hpbWl0eSBFdmVudHMuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzYzMAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBE
ZXZpY2VQcm94aW1pdHlDb250cm9sbGVyIHdoaWNoIGlzIGluaGVyaXRlZCBmcm9tIERldmljZUNv
bnRyb2xsZXIgdG8gc3VwcG9ydCBEZXZpY2UgUHJveGltaXR5IEV2ZW50cy4KKyAgICAgICAgRGV2
aWNlUHJveGltaXR5Q29udHJvbGxlciBoYXMgdHdvIG1ham9yIGZ1bnRpb25hbGxpdGllcy4KKyAg
ICAgICAgLSBXaGVuIGxpc3RlbmVyIGlzIGFkZGVkLCBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVy
IHN0b3JlcyBET01XaW5kb3cgcG9pbnRlciB0byBtX2xpc3RlbmVycworICAgICAgICAgIGFuZCBz
dGFydCBnYXR0ZXJpbmcgcHJveGltaXR5IGV2ZW50LgorICAgICAgICAtIFdoZW4gRGV2aWNlUHJv
eGltaXR5Q29udHJvbGxlciByZWNlaXZlcyBhIHByb3hpbWl0eSBldmVudCBmcm9tIGNsaWVudCwg
ZmlyZSBhbiBldmVudCB1c2luZyBtX2xpc3RlbmVycy4KKyAgICAgICAgSW4gYWRkaXRpb24sIHNl
dERldmljZVByb3hpbWl0eSBmdW5jdGlvbiBpcyBhZGRlZCB0byBJbnRlcm5hbHMgZm9yIGxheW91
dCB0ZXN0LgorCisgICAgICAgIFRlc3RzOiBwcm94aW1pdHkvYWRkLWxpc3RlbmVyLWZyb20tY2Fs
bGJhY2suaHRtbAorICAgICAgICAgICAgICAgcHJveGltaXR5L2Jhc2ljLW9wZXJhdGlvbi5odG1s
CisgICAgICAgICAgICAgICBwcm94aW1pdHkvY3JlYXRlLWV2ZW50Lmh0bWwKKyAgICAgICAgICAg
ICAgIHByb3hpbWl0eS9ldmVudC1hZnRlci1uYXZpZ2F0aW9uLmh0bWwKKyAgICAgICAgICAgICAg
IHByb3hpbWl0eS9tdWx0aXBsZS1mcmFtZXMuaHRtbAorICAgICAgICAgICAgICAgcHJveGltaXR5
L25vLXBhZ2UtY2FjaGUuaHRtbAorICAgICAgICAgICAgICAgcHJveGltaXR5L29wdGlvbmFsLWV2
ZW50LXByb3BlcnRpZXMuaHRtbAorICAgICAgICAgICAgICAgcHJveGltaXR5L3VwZGF0ZXMuaHRt
bAorICAgICAgICAgICAgICAgcHJveGltaXR5L3dpbmRvdy1wcm9wZXJ0eS5odG1sCisKKyAgICAg
ICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAg
KiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIE1vZHVsZXMvcHJveGltaXR5L0Rldmlj
ZVByb3hpbWl0eUNsaWVudC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
RGV2aWNlUHJveGltaXR5Q2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZVByb3hpbWl0
eUNsaWVudDo6fkRldmljZVByb3hpbWl0eUNsaWVudCk6CisgICAgICAgICogTW9kdWxlcy9wcm94
aW1pdHkvRGV2aWNlUHJveGltaXR5Q29udHJvbGxlci5jcHA6IEFkZGVkLgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyOjpEZXZp
Y2VQcm94aW1pdHlDb250cm9sbGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZVByb3hpbWl0
eUNvbnRyb2xsZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VQcm94aW1pdHlD
b250cm9sbGVyOjpkaWRDaGFuZ2VEZXZpY2VQcm94aW1pdHkpOgorICAgICAgICAoV2ViQ29yZTo6
RGV2aWNlUHJveGltaXR5Q29udHJvbGxlcjo6ZGV2aWNlUHJveGltaXR5Q2xpZW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OkRldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6Omhhc0xhc3REYXRhKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6OmdldExhc3RFdmVudCk6
CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyOjpzdXBwbGVtZW50
TmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyOjpmcm9t
KToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6OmlzQWN0aXZl
QXQpOgorICAgICAgICAoV2ViQ29yZTo6cHJvdmlkZURldmljZVByb3hpbWl0eVRvKToKKyAgICAg
ICAgKiBNb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmg6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChEZXZpY2VQcm94aW1pdHlDb250cm9sbGVy
KToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6On5EZXZpY2VQ
cm94aW1pdHlDb250cm9sbGVyKToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdl
YkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAg
KiBXZWJDb3JlLnByaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoK
KyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlQ29tbW9uLnZzcHJvcHM6CisgICAgICAg
ICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGhpc3Rvcnkv
UGFnZUNhY2hlLmNwcDoKKyAgICAgICAgV2hlbiBhIHBhZ2UgaGFzIERldmljZSBQcm94aW1pdHkg
RXZlbnQgTGlzdGVuZXIsIGl0IGhhcyBub3QgdG8gYmUgY2FjaGVkIGxpa2UgRGV2aWNlIE9yaWVu
dGF0aW9uLgorICAgICAgICAoV2ViQ29yZTo6bG9nQ2FuQ2FjaGVQYWdlRGVjaXNpb24pOgorICAg
ICAgICAoV2ViQ29yZTo6UGFnZUNhY2hlOjpjYW5DYWNoZSk6CisgICAgICAgICogcGFnZS9ET01X
aW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjphZGRFdmVudExpc3RlbmVy
KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6cmVtb3ZlRXZlbnRMaXN0ZW5lcik6Cisg
ICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnJlbW92ZUFsbEV2ZW50TGlzdGVuZXJzKToKKyAg
ICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5h
bHM6OnNldERldmljZVByb3hpbWl0eSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiB0
ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAoSW50ZXJuYWxzKToKKyAgICAgICAgKiB0ZXN0
aW5nL0ludGVybmFscy5pZGw6CisKIDIwMTItMTItMDYgIERvbWluaWMgQ29vbmV5ICA8ZG9taW5p
Y2NAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEVsZW1lbnQucHNldWRvIHByb3BlcnR5IHNob3Vs
ZCBiZSBwcmVmaXhlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA0MDk4MWVhOWVjZTAyMzVkNDhhYTI4ZDhlOGQ3MWYz
YzIwYjYwMzEzLi40MWM5NTNkZjdkZWM3MmI1MjE3ZDJjZDFmZGRlMWZjNTY5MGY4MmJiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEyLTEyLTA2ICBLaWhvbmcgS3dvbiAgPGtpaG9uZy5r
d29uQHNhbXN1bmcuY29tPgorCisgICAgICAgIEFkZCBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVy
IHRvIHN1cHBvcnQgRGV2aWNlIFByb3hpbWl0eSBFdmVudHMuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzYzMAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBNb3VkdWxlcy9wcm94aW1pdHkgcGF0aCB0
byB0aGUgaW5jbHVkZSBkaXJlY3RvcnkgYW5kIGFkZCBEZXZpY2VQcm94aW1pdHlDbGllbnRFZmwu
Y3BwLgorCisgICAgICAgICogUGxhdGZvcm1FZmwuY21ha2U6CisKIDIwMTItMTItMDUgIEhhbHRv
biBIdW8gIDxoYWx0b24uaHVvQGludGVsLmNvbT4KIAogICAgICAgICBbQ01ha2VdIFVuaWZ5IGNv
ZGluZyBzdHlsZSBmb3IgQ01ha2UgZmlsZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZs
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCAwM2NjYWRkMmU1
MmVkN2QxZjgzNzBmOTY3NzNhYWRlZDdjN2Y5YzRiLi4wOWQ4YjNmMjVlYTE3NzA2MjdiNjg2YmEz
ZmRlMjhmOGU1NDEyNWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTIt
MTItMDYgIEtpaG9uZyBLd29uICA8a2lob25nLmt3b25Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAg
QWRkIERldmljZVByb3hpbWl0eUNvbnRyb2xsZXIgdG8gc3VwcG9ydCBEZXZpY2UgUHJveGltaXR5
IEV2ZW50cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTk3NjMwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIGluaXRpYWwgRGV2aWNlUHJveGltaXR5Q2xpZW50RWZsIGNsYXNzIHdoaWNoIGlzIGluaGVy
aXRlZCBEZXZpY2VQcm94aW1pdHlDbGllbnQuCisgICAgICAgIEJ1dCBzdGFydFVwZGF0aW5nIGFu
ZCBzdG9wVXBkYXRpbmcgbmVlZCB0byBiZSBpbXBsZW1lbnRlZC4KKworICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L0RldmljZVByb3hpbWl0eUNsaWVudEVmbC5jcHA6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VQcm94aW1pdHlDbGllbnRFZmw6OkRl
dmljZVByb3hpbWl0eUNsaWVudEVmbCk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VQcm94aW1p
dHlDbGllbnRFZmw6OnN0YXJ0VXBkYXRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlUHJv
eGltaXR5Q2xpZW50RWZsOjpzdG9wVXBkYXRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNl
UHJveGltaXR5Q2xpZW50RWZsOjpoYXNMYXN0RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZp
Y2VQcm94aW1pdHlDbGllbnRFZmw6OmRpZENoYW5nZVByb3hpbWl0eSk6CisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvRGV2aWNlUHJveGltaXR5Q2xpZW50RWZsLmg6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgIChEZXZpY2VQcm94aW1pdHlDbGllbnRFZmwpOgorICAgICAgICAo
V2ViQ29yZTo6RGV2aWNlUHJveGltaXR5Q2xpZW50RWZsOjp+RGV2aWNlUHJveGltaXR5Q2xpZW50
RWZsKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZVByb3hpbWl0eUNsaWVudEVmbDo6dmFsdWUp
OgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlUHJveGltaXR5Q2xpZW50RWZsOjptaW4pOgorICAg
ICAgICAoV2ViQ29yZTo6RGV2aWNlUHJveGltaXR5Q2xpZW50RWZsOjptYXgpOgorICAgICAgICAq
IGV3ay9ld2tfdmlldy5jcHA6CisgICAgICAgIChfZXdrX3ZpZXdfcHJpdl9uZXcpOgorCiAyMDEy
LTEyLTA1ICBIYWx0b24gSHVvICA8aGFsdG9uLmh1b0BpbnRlbC5jb20+CiAKICAgICAgICAgW0NN
YWtlXSBVbmlmeSBjb2Rpbmcgc3R5bGUgZm9yIENNYWtlIGZpbGVzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
CmluZGV4IGEyMDI5ZmZmM2Q1OWQ2NzlkMmQ5YWRhNzRmNmE1MWQyZTNmNjAxOGQuLmM0NjM1M2Nj
MDA1ZWQ5NzViMzhhNTFlYWQwM2QxNjk5MGM0NWRlOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBA
IC0xMTgsNiArMTE4LDcgQEAgc2V0KFdlYkNvcmVfSURMX0lOQ0xVREVTCiAgICAgTW9kdWxlcy9t
ZWRpYXN0cmVhbQogICAgIE1vZHVsZXMvbmV0d29ya2luZm8KICAgICBNb2R1bGVzL25vdGlmaWNh
dGlvbnMKKyAgICBNb2R1bGVzL3Byb3hpbWl0eQogICAgIE1vZHVsZXMvcXVvdGEKICAgICBNb2R1
bGVzL3NwZWVjaAogICAgIE1vZHVsZXMvdmlicmF0aW9uCkBAIC04OTEsNiArODkyLDcgQEAgc2V0
KFdlYkNvcmVfU09VUkNFUwogICAgIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24u
Y3BwCiAgICAgTW9kdWxlcy9ub3RpZmljYXRpb25zL1dvcmtlckNvbnRleHROb3RpZmljYXRpb25z
LmNwcAogCisgICAgTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5Q29udHJvbGxlci5j
cHAKICAgICBNb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlFdmVudC5jcHAKIAogICAg
IE1vZHVsZXMvcXVvdGEvRE9NV2luZG93UXVvdGEuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4
IDU5NGJkYTAwMzZlYzZhM2EwMmIzYThmNzg4ZjVkYTMxY2YwY2Y4ZTMuLmQzZDM3YmFmNjcyYWEz
YWI2MTZhYjViNjE5YTgzYmRkNDYyMzM3MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC0xNyw2
ICsxNyw3IEBAIHdlYmNvcmVfY3BwZmxhZ3MgKz0gXAogCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0gXAogCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzIFwKIAktSSQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMgXAorCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcHJveGltaXR5IFwKIAktSSQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1
b3RhIFwKIAktSSQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvIFwKIAkt
SSQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlIFwKQEAgLTU4Myw2
ICs1ODQsNyBAQCBJRExfUEFUSCA6PSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc291
cmNlIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0gXAogICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy9ub3RpZmljYXRpb25zIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvcHJveGlt
aXR5IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvcXVvdGEgXAogICAgICQoV2ViQ29yZSkvTW9k
dWxlcy93ZWJhdWRpbyBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmRhdGFiYXNlIFwKQEAg
LTgxMSw2ICs4MTMsNyBAQCBFWFRSQV9ESVNUICs9IFwKIAkkKHdpbGRjYXJkICQoc3JjZGlyKS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtLyouaWRsKSBcCiAJJCh3aWxkY2FyZCAk
KHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9uYXZpZ2F0b3Jjb250ZW50dXRpbHMvKi5p
ZGwpIFwKIAkkKHdpbGRjYXJkICQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlm
aWNhdGlvbnMvKi5pZGwpIFwKKwkkKHdpbGRjYXJkICQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3Byb3hpbWl0eS8qLmlkbCkgXAogCSQod2lsZGNhcmQgJChzcmNkaXIpL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvcXVvdGEvKi5pZGwpIFwKIAkkKHdpbGRjYXJkICQoc3JjZGlyKS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvLyouaWRsKSBcCiAJJCh3aWxkY2FyZCAkKHNyY2Rp
cikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS8qLmlkbCkgXApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggMjBmNWFjYjU5YzI3YjBhNDdmMjgyNjdhOTNjZTc2NzI5
MTc4N2JlYS4uNGU0YzdkYTQzOWE2ZmI5ZDIyMzI4NjM4YWI1OTk3ZjU2Y2VlYWNmOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0xMjY0LDYgKzEyNjQsNyBAQCBkb21fYmluZGlu
Z19pZGxzICs9IFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b24uaWRsIFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25D
ZW50ZXIuaWRsIFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25QZXJtaXNzaW9uQ2FsbGJhY2suaWRsIFwKKwkkKFdlYkNvcmUpL01vZHVsZXMvcHJveGltaXR5
L0RldmljZVByb3hpbWl0eUV2ZW50LmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL3F1b3RhL0RP
TVdpbmRvd1F1b3RhLmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL3F1b3RhL1N0b3JhZ2VJbmZv
LmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL3F1b3RhL1N0b3JhZ2VJbmZvRXJyb3JDYWxsYmFj
ay5pZGwgXApAQCAtMTk5Myw2ICsxOTk0LDExIEBAIHdlYmNvcmVfbW9kdWxlc19zb3VyY2VzICs9
IFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVy
bWlzc2lvbkNhbGxiYWNrLmggXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9u
cy9Xb3JrZXJDb250ZXh0Tm90aWZpY2F0aW9ucy5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbm90aWZpY2F0aW9ucy9Xb3JrZXJDb250ZXh0Tm90aWZpY2F0aW9ucy5oIFwKKwlTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHkuaCBcCisJU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5Q29udHJvbGxlci5jcHAgXAor
CVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHJveGltaXR5L0RldmljZVByb3hpbWl0eUNvbnRyb2xs
ZXIuaCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5
RXZlbnQuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94
aW1pdHlFdmVudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1b3RhL0RPTVdpbmRvd1F1
b3RhLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9xdW90YS9ET01XaW5kb3dRdW90YS5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3F1b3RhL1N0b3JhZ2VJbmZvLmNwcCBcCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlD
bGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHJveGltaXR5L0RldmljZVByb3hpbWl0
eUNsaWVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM5YzE1YTU1MmQ5ZmQ5YjY0YjVlZTgzOTcyOTNjYmFhOTM3
N2VmZDEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Byb3hpbWl0
eS9EZXZpY2VQcm94aW1pdHlDbGllbnQuaApAQCAtMCwwICsxLDUyIEBACisvKgorICogQ29weXJp
Z2h0IDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2lmbmRlZiBEZXZpY2VQcm94aW1pdHlDbGllbnRfaAorI2RlZmluZSBEZXZpY2VQcm94
aW1pdHlDbGllbnRfaAorCisjaWYgRU5BQkxFKFBST1hJTUlUWV9FVkVOVFMpCisKKyNpbmNsdWRl
ICJEZXZpY2VDbGllbnQuaCIKKyNpbmNsdWRlIDxsaW1pdHM+CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworY2xhc3MgUGFnZTsKKworY2xhc3MgRGV2aWNlUHJveGltaXR5Q2xpZW50IDogcHVibGlj
IERldmljZUNsaWVudCB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+RGV2aWNlUHJveGltaXR5Q2xp
ZW50KCkgeyB9CisgICAgdmlydHVhbCBib29sIGhhc0xhc3REYXRhKCkgPSAwOworICAgIHZpcnR1
YWwgZG91YmxlIHZhbHVlKCkgPSAwOworICAgIHZpcnR1YWwgZG91YmxlIG1pbigpID0gMDsKKyAg
ICB2aXJ0dWFsIGRvdWJsZSBtYXgoKSA9IDA7Cit9OworCit2b2lkIHByb3ZpZGVEZXZpY2VQcm94
aW1pdHlUbyhQYWdlKiwgRGV2aWNlUHJveGltaXR5Q2xpZW50Kik7CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworI2VuZGlmIC8vIFBST1hJTUlUWV9FVkVOVFMKKyNlbmRpZiAvLyBEZXZpY2VQ
cm94aW1pdHlDbGllbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wcm94
aW1pdHkvRGV2aWNlUHJveGltaXR5Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5l
NTlhYzIxNTNmZDZkNmM5MzI2ODY5MTZlYTJkZTA0MTMzMzJiNDk3Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5Q29udHJv
bGxlci5jcHAKQEAgLTAsMCArMSw5MyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDEyIFNhbXN1bmcg
RWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmgiCisKKyNpZiBF
TkFCTEUoUFJPWElNSVRZX0VWRU5UUykKKworI2luY2x1ZGUgIkRldmljZVByb3hpbWl0eUNsaWVu
dC5oIgorI2luY2x1ZGUgIkRldmljZVByb3hpbWl0eUV2ZW50LmgiCisjaW5jbHVkZSAiUGFnZS5o
IgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0RldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6OkRl
dmljZVByb3hpbWl0eUNvbnRyb2xsZXIoRGV2aWNlUHJveGltaXR5Q2xpZW50KiBjbGllbnQpCisg
ICAgOiBEZXZpY2VDb250cm9sbGVyKGNsaWVudCkKK3sKKyAgICBBU1NFUlQobV9jbGllbnQpOwor
fQorCitQYXNzT3duUHRyPERldmljZVByb3hpbWl0eUNvbnRyb2xsZXI+IERldmljZVByb3hpbWl0
eUNvbnRyb2xsZXI6OmNyZWF0ZShEZXZpY2VQcm94aW1pdHlDbGllbnQqIGNsaWVudCkKK3sKKyAg
ICByZXR1cm4gYWRvcHRQdHIobmV3IERldmljZVByb3hpbWl0eUNvbnRyb2xsZXIoY2xpZW50KSk7
Cit9CisKK3ZvaWQgRGV2aWNlUHJveGltaXR5Q29udHJvbGxlcjo6ZGlkQ2hhbmdlRGV2aWNlUHJv
eGltaXR5KGNvbnN0IGRvdWJsZSB2YWx1ZSwgY29uc3QgZG91YmxlIG1pbiwgY29uc3QgZG91Ymxl
IG1heCkKK3sKKyAgICBkaXNwYXRjaERldmljZUV2ZW50KERldmljZVByb3hpbWl0eUV2ZW50Ojpj
cmVhdGUoZXZlbnROYW1lcygpLndlYmtpdGRldmljZXByb3hpbWl0eUV2ZW50LCB2YWx1ZSwgbWlu
LCBtYXgpKTsKK30KKworRGV2aWNlUHJveGltaXR5Q2xpZW50KiBEZXZpY2VQcm94aW1pdHlDb250
cm9sbGVyOjpkZXZpY2VQcm94aW1pdHlDbGllbnQoKQoreworICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxEZXZpY2VQcm94aW1pdHlDbGllbnQqPihtX2NsaWVudCk7Cit9CisKK2Jvb2wgRGV2aWNlUHJv
eGltaXR5Q29udHJvbGxlcjo6aGFzTGFzdERhdGEoKQoreworICAgIHJldHVybiBkZXZpY2VQcm94
aW1pdHlDbGllbnQoKS0+aGFzTGFzdERhdGEoKTsKK30KKworUGFzc1JlZlB0cjxFdmVudD4gRGV2
aWNlUHJveGltaXR5Q29udHJvbGxlcjo6Z2V0TGFzdEV2ZW50KCkKK3sKKyAgICByZXR1cm4gRGV2
aWNlUHJveGltaXR5RXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkud2Via2l0ZGV2aWNlcHJveGlt
aXR5RXZlbnQsIGRldmljZVByb3hpbWl0eUNsaWVudCgpLT52YWx1ZSgpLCBkZXZpY2VQcm94aW1p
dHlDbGllbnQoKS0+bWluKCksIGRldmljZVByb3hpbWl0eUNsaWVudCgpLT5tYXgoKSk7Cit9CisK
K2NvbnN0IEF0b21pY1N0cmluZyYgRGV2aWNlUHJveGltaXR5Q29udHJvbGxlcjo6c3VwcGxlbWVu
dE5hbWUoKQoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBuYW1lLCAo
IkRldmljZVByb3hpbWl0eUNvbnRyb2xsZXIiKSk7CisgICAgcmV0dXJuIG5hbWU7Cit9CisKK0Rl
dmljZVByb3hpbWl0eUNvbnRyb2xsZXIqIERldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6OmZyb20o
UGFnZSogcGFnZSkKK3sKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8RGV2aWNlUHJveGltaXR5Q29u
dHJvbGxlcio+KFN1cHBsZW1lbnQ8UGFnZT46OmZyb20ocGFnZSwgc3VwcGxlbWVudE5hbWUoKSkp
OworfQorCitib29sIERldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6OmlzQWN0aXZlQXQoUGFnZSog
cGFnZSkKK3sKKyAgICBpZiAoRGV2aWNlUHJveGltaXR5Q29udHJvbGxlciogY29udHJvbGxlciA9
IERldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6OmZyb20ocGFnZSkpCisgICAgICAgIHJldHVybiBj
b250cm9sbGVyLT5pc0FjdGl2ZSgpOworICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBwcm92
aWRlRGV2aWNlUHJveGltaXR5VG8oUGFnZSogcGFnZSwgRGV2aWNlUHJveGltaXR5Q2xpZW50KiBj
bGllbnQpCit7CisgICAgRGV2aWNlUHJveGltaXR5Q29udHJvbGxlcjo6cHJvdmlkZVRvKHBhZ2Us
IERldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6OnN1cHBsZW1lbnROYW1lKCksIERldmljZVByb3hp
bWl0eUNvbnRyb2xsZXI6OmNyZWF0ZShjbGllbnQpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYgLy8gUFJPWElNSVRZX0VWRU5UUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5Q29udHJvbGxlci5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5Q29udHJvbGxlci5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmE1NWY1MTZjOTYxODdjMDc3ZDAyM2UzMGFmOWMzNGFkYjQyNGU5MTQKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQ
cm94aW1pdHlDb250cm9sbGVyLmgKQEAgLTAsMCArMSw2MCBAQAorLyoKKyAqIENvcHlyaWdodCAy
MDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgRGV2aWNlUHJveGltaXR5Q29udHJvbGxlcl9oCisjZGVmaW5lIERldmljZVByb3hp
bWl0eUNvbnRyb2xsZXJfaAorCisjaWYgRU5BQkxFKFBST1hJTUlUWV9FVkVOVFMpCisKKyNpbmNs
dWRlICJEZXZpY2VDb250cm9sbGVyLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3Mg
RGV2aWNlUHJveGltaXR5Q2xpZW50OworCitjbGFzcyBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVy
IDogcHVibGljIERldmljZUNvbnRyb2xsZXIgeworcHVibGljOgorICAgIH5EZXZpY2VQcm94aW1p
dHlDb250cm9sbGVyKCkgeyB9CisKKyAgICBzdGF0aWMgUGFzc093blB0cjxEZXZpY2VQcm94aW1p
dHlDb250cm9sbGVyPiBjcmVhdGUoRGV2aWNlUHJveGltaXR5Q2xpZW50Kik7CisKKyAgICB2b2lk
IGRpZENoYW5nZURldmljZVByb3hpbWl0eShjb25zdCBkb3VibGUgdmFsdWUsIGNvbnN0IGRvdWJs
ZSBtaW4sIGNvbnN0IGRvdWJsZSBtYXgpOworICAgIERldmljZVByb3hpbWl0eUNsaWVudCogZGV2
aWNlUHJveGltaXR5Q2xpZW50KCk7CisKKyAgICB2aXJ0dWFsIGJvb2wgaGFzTGFzdERhdGEoKTsK
KyAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RXZlbnQ+IGdldExhc3RFdmVudCgpOworCisgICAgc3Rh
dGljIGNvbnN0IEF0b21pY1N0cmluZyYgc3VwcGxlbWVudE5hbWUoKTsKKyAgICBzdGF0aWMgRGV2
aWNlUHJveGltaXR5Q29udHJvbGxlciogZnJvbShQYWdlKik7CisgICAgc3RhdGljIGJvb2wgaXNB
Y3RpdmVBdChQYWdlKik7CisKK3ByaXZhdGU6CisgICAgRGV2aWNlUHJveGltaXR5Q29udHJvbGxl
cihEZXZpY2VQcm94aW1pdHlDbGllbnQqKTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmIC8vIFBST1hJTUlUWV9FVkVOVFMKKyNlbmRpZiAvLyBEZXZpY2VQcm94aW1pdHlD
b250cm9sbGVyX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3Vy
Y2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IDljYjA4NjYyZTYxNDViOWU2Yjg1MTZjMzdmYjgx
ZmFkMzdiYjZjNjYuLmRjMDQzZTFlMWY4Yzc4NTljMjY2OTNkM2U3NmMzODlkNWE4MWVmMmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUv
VGFyZ2V0LnByaQpAQCAtMjUyLDYgKzI1Miw5IEBAIFNPVVJDRVMgKz0gXAogICAgIE1vZHVsZXMv
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwIFwKICAgICBNb2R1bGVzL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udHJvbGxlci5jcHAgXAogICAgIE1vZHVsZXMvbm90aWZp
Y2F0aW9ucy9Xb3JrZXJDb250ZXh0Tm90aWZpY2F0aW9ucy5jcHAgXAorICAgIE1vZHVsZXMvcHJv
eGltaXR5L0RldmljZVByb3hpbWl0eUNvbnRyb2xsZXIuY3BwIFwKKyAgICBNb2R1bGVzL3Byb3hp
bWl0eS9EZXZpY2VQcm94aW1pdHlFdmVudC5jcHAgXAorICAgIGFjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eUltYWdlTWFwTGluay5jcHAgXAogICAgIGNzcy9CYXNpY1NoYXBlRnVuY3Rpb25zLmNw
cCBcCiAgICAgY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuY3BwIFwKICAgICBjc3MvQ1NTQmFzaWNT
aGFwZXMuY3BwIFwKQEAgLTE0MTYsNiArMTQxOSwxMCBAQCBIRUFERVJTICs9IFwKICAgICBNb2R1
bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udHJvbGxlci5oIFwKICAgICBNb2R1bGVz
L25vdGlmaWNhdGlvbnMvV29ya2VyQ29udGV4dE5vdGlmaWNhdGlvbnMuaCBcCiAgICAgXAorICAg
IE1vZHVsZXMvcHJveGltaXR5L0RldmljZVByb3hpbWl0eUNsaWVudC5oIFwKKyAgICBNb2R1bGVz
L3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmggXAorICAgIE1vZHVsZXMvcHJv
eGltaXR5L0RldmljZVByb3hpbWl0eUV2ZW50LmggXAorICAgIFwKICAgICBNb2R1bGVzL3dlYmRh
dGFiYXNlL0Fic3RyYWN0RGF0YWJhc2UuaCBcCiAgICAgTW9kdWxlcy93ZWJkYXRhYmFzZS9DaGFu
Z2VWZXJzaW9uV3JhcHBlci5oIFwKICAgICBNb2R1bGVzL3dlYmRhdGFiYXNlL0RPTVdpbmRvd1dl
YkRhdGFiYXNlLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2Vi
Q29yZS5neXAgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAppbmRleCA1
YzVjYzI5ZWI5NmU4YTBkNTFjMzg3Yjk2NzQzNjRhOTQ3MDUyZGFiLi5iNWQ1MTkxZGM1ODNkMDNk
ZGZjZTlmYmRkYzE2NDRiM2I2ZmU1MTFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cC9XZWJDb3JlLmd5cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJD
b3JlLmd5cApAQCAtNjIsNiArNjIsNyBAQAogICAgICAgJy4uL01vZHVsZXMvbWVkaWFzdHJlYW0n
LAogICAgICAgJy4uL01vZHVsZXMvbmF2aWdhdG9yY29udGVudHV0aWxzJywKICAgICAgICcuLi9N
b2R1bGVzL25vdGlmaWNhdGlvbnMnLAorICAgICAgJy4uL01vZHVsZXMvcHJveGltaXR5JywKICAg
ICAgICcuLi9Nb2R1bGVzL3F1b3RhJywKICAgICAgICcuLi9Nb2R1bGVzL3NwZWVjaCcsCiAgICAg
ICAnLi4vTW9kdWxlcy93ZWJhdWRpbycsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggYTU1ZDU0ZjE1ODVl
M2IxZGIzM2M1YmU2NDcxM2U5NGM5MTdlZWM3Ny4uYTVlMTkxY2U2ODg0OWM4YmI5OWZhMzFlMGMx
ZTk2YzY0MTI0ZWEyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtOTQsNiArOTQsNyBAQAogICAgICAg
ICAgICAgJ01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsJywKICAg
ICAgICAgICAgICdNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbkNh
bGxiYWNrLmlkbCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9ub3RpZmljYXRpb25zL1dvcmtlckNv
bnRleHROb3RpZmljYXRpb25zLmlkbCcsCisgICAgICAgICAgICAnTW9kdWxlcy9wcm94aW1pdHkv
RGV2aWNlUHJveGltaXR5RXZlbnQuaWRsJywKICAgICAgICAgICAgICdNb2R1bGVzL3F1b3RhL0RP
TVdpbmRvd1F1b3RhLmlkbCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9xdW90YS9TdG9yYWdlSW5m
by5pZGwnLAogICAgICAgICAgICAgJ01vZHVsZXMvcXVvdGEvU3RvcmFnZUluZm9FcnJvckNhbGxi
YWNrLmlkbCcsCkBAIC04NjcsNiArODY4LDEwIEBACiAgICAgICAgICAgICAnTW9kdWxlcy9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oJywKICAgICAgICAgICAg
ICdNb2R1bGVzL25vdGlmaWNhdGlvbnMvV29ya2VyQ29udGV4dE5vdGlmaWNhdGlvbnMuY3BwJywK
ICAgICAgICAgICAgICdNb2R1bGVzL25vdGlmaWNhdGlvbnMvV29ya2VyQ29udGV4dE5vdGlmaWNh
dGlvbnMuaCcsCisgICAgICAgICAgICAnTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5
Q29udHJvbGxlci5jcHAnLAorICAgICAgICAgICAgJ01vZHVsZXMvcHJveGltaXR5L0RldmljZVBy
b3hpbWl0eUNvbnRyb2xsZXIuaCcsCisgICAgICAgICAgICAnTW9kdWxlcy9wcm94aW1pdHkvRGV2
aWNlUHJveGltaXR5RXZlbnQuY3BwJywKKyAgICAgICAgICAgICdNb2R1bGVzL3Byb3hpbWl0eS9E
ZXZpY2VQcm94aW1pdHlFdmVudC5oJywKICAgICAgICAgICAgICdNb2R1bGVzL3F1b3RhL0RPTVdp
bmRvd1F1b3RhLmNwcCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9xdW90YS9ET01XaW5kb3dRdW90
YS5oJywKICAgICAgICAgICAgICdNb2R1bGVzL3F1b3RhL1N0b3JhZ2VJbmZvLmNwcCcsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnByaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUucHJpCmluZGV4IDk0ZjZlNjVlZjIwM2QwM2ZjYTczYzIyMTQ5MWZhYTA5MjZhNmJjY2YuLmI1
OGRjN2YwMDYxMDY5MzBmMDU3OTVlNjgzODc2YTVjNjg5N2NhYWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJpCkBA
IC0xOCw2ICsxOCw3IEBAIElOQ0xVREVQQVRIICs9IFwKICAgICAkJFNPVVJDRV9ESVIvTW9kdWxl
cy9pbmRleGVkZGIgXAogICAgICQkU09VUkNFX0RJUi9Nb2R1bGVzL25hdmlnYXRvcmNvbnRlbnR1
dGlscyBcCiAgICAgJCRTT1VSQ0VfRElSL01vZHVsZXMvbm90aWZpY2F0aW9ucyBcCisgICAgJCRT
T1VSQ0VfRElSL01vZHVsZXMvcHJveGltaXR5IFwKICAgICAkJFNPVVJDRV9ESVIvTW9kdWxlcy9x
dW90YSBcCiAgICAgJCRTT1VSQ0VfRElSL01vZHVsZXMvd2ViYXVkaW8gXAogICAgICQkU09VUkNF
X0RJUi9Nb2R1bGVzL3dlYmRhdGFiYXNlIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggOTJlNjAzMGUzODkyNDczYjdkM2NjNGY4NzU5MjM4YzU5
MWIwODNlMS4uMThhNGJkODZjMWQ4NDIxMDQxZWVkYmMxYWVkOWRhMjdkOTE0NjRhMyAxMDA3NTUK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTI1MTY2LDYg
KzI1MTY2LDMwIEBACiAJCQkJPC9GaWxlPgogCQkJPC9GaWx0ZXI+CiAJCQk8RmlsdGVyCisJCQkJ
TmFtZT0icHJveGltaXR5IgorCQkJCT4KKwkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XE1vZHVsZXNccHJveGltaXR5XERldmljZVByb3hpbWl0eUNsaWVudC5oIgorCQkJCQk+CisJCQkJ
PC9GaWxlPgorCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cTW9kdWxlc1xwcm94aW1p
dHlcRGV2aWNlUHJveGltaXR5Q29udHJvbGxlci5jcHAiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJ
CQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxNb2R1bGVzXHByb3hpbWl0eVxEZXZpY2VQ
cm94aW1pdHlDb250cm9sbGVyLmgiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKKwkJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxNb2R1bGVzXHByb3hpbWl0eVxEZXZpY2VQcm94aW1pdHlFdmVu
dC5jcHAiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRo
PSIuLlxNb2R1bGVzXHByb3hpbWl0eVxEZXZpY2VQcm94aW1pdHlFdmVudC5oIgorCQkJCQk+CisJ
CQkJPC9GaWxlPgorCQkJPC9GaWx0ZXI+CisJCQk8RmlsdGVyCiAJCQkJTmFtZT0icXVvdGEiCiAJ
CQkJPgogCQkJCTxGaWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJv
ai9XZWJDb3JlQ29tbW9uLnZzcHJvcHMgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlQ29tbW9uLnZzcHJvcHMKaW5kZXggNWExYTA1MjYzZmM4YjEzYmM1ZmQ2NjQ5ZTQyYjAw
YmJlZTM0ZGFlNy4uNjJmNzIwMDk4ZTg1YzM3NTYxZTI3ZWQ2NzY4YWNlOWQzOTI3YWQ5MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZUNvbW1vbi52c3By
b3BzCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmVDb21tb24udnNw
cm9wcwpAQCAtNyw3ICs3LDcgQEAKIAk+CiAJPFRvb2wKIAkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCIKLQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7JChQcm9qZWN0RGlyKS4u
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxNb2R1bGVzXGZpbGVzeXN0ZW0mcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNcZ2VvbG9jYXRpb24mcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKS4uXE1vZHVsZXNcaW5kZXhlZGRiJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxN
b2R1bGVzXG1lZGlhc291cmNlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxNb2R1bGVzXG5h
dmlnYXRvcmNvbnRlbnR1dGlscyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1xx
dW90YSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1xub3RpZmljYXRpb25zJnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxNb2R1bGVzXHdlYmRhdGFiYXNlJnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcikuLlxNb2R1bGVzXHdlYnNvY2tldHMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKS4uXGFjY2Vzc2liaWxpdHkmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGFjY2Vzc2li
aWxpdHlcd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxicmlkZ2UmcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKS4uXGJyaWRnZVxjJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxicmlk
Z2VcanNjJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxjc3MmcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKS4uXGVkaXRpbmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGZpbGVhcGkmcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHJlbmRlcmluZyZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpLi5ccmVuZGVyaW5nXG1hdGhtbCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccmVuZGVy
aW5nXHN0eWxlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxyZW5kZXJpbmdcc3ZnJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlxiaW5kaW5ncyZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
Li5cYmluZGluZ3NcZ2VuZXJpYyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cYmluZGluZ3Nc
anMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGJpbmRpbmdzXGpzXHNwZWNpYWxpemF0aW9u
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxkb20mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KS4uXGRvbVxkZWZhdWx0JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxoaXN0b3J5JnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlxodG1sJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxo
dG1sXGNhbnZhcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5caHRtbFxwYXJzZXImcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGh0bWxcc2hhZG93JnF1b3Q7OyZxdW90OyQoUHJvamVjdERp
cikuLlxpbnNwZWN0b3ImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlciZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpLi5cbG9hZGVyXGFwcGNhY2hlJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxsb2FkZXJcYXJjaGl2ZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cbG9hZGVy
XGFyY2hpdmVcY2YmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlclxjYWNoZSZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpLi5cbG9hZGVyXGljb24mcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKS4uXG1hdGhtbCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGFnZSZxdW90OzsmcXVv
dDskKFByb2plY3REaXIpLi5ccGFnZVxhbmltYXRpb24mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KS4uXHBhZ2Vcc2Nyb2xsaW5nJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwYWdlXHdpbiZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm0mcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKS4uXHBsYXRmb3JtXGFuaW1hdGlvbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxh
dGZvcm1cbW9jayZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cc3FsJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVx3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKS4uXHBsYXRmb3JtXG5ldHdvcmsmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRm
b3JtXG5ldHdvcmtcd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxjZiZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3MmcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNzXGNhJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxwbGF0Zm9ybVxncmFwaGljc1xjcHVcYXJtXGZpbHRlcnMmcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNzXGZpbHRlcnMmcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNzXGZpbHRlcnNcYXJtJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcikuLlxwbGF0Zm9ybVxncmFwaGljc1xvcGVudHlwZSZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3NcdHJhbnNmb3JtcyZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpLi5ccGxhdGZvcm1cdGV4dCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZv
cm1cdGV4dFx0cmFuc2NvZGVyJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxn
cmFwaGljc1x3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHhtbCZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpLi5ceG1sXHBhcnNlciZxdW90OzsmcXVvdDskKENvbmZpZ3VyYXRpb25CdWls
ZERpcilcb2JqXFdlYkNvcmVcRGVyaXZlZFNvdXJjZXMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KS4uXHBsdWdpbnMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsdWdpbnNcd2luJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlxzdmdcYW5pbWF0aW9uJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxzdmdcZ3JhcGhpY3MmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHN2Z1xwcm9w
ZXJ0aWVzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxzdmdcZ3JhcGhpY3NcZmlsdGVycyZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cc3ZnJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpciku
Llx0ZXN0aW5nJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlx3bWwmcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKS4uXHN0b3JhZ2UmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHdlYnNvY2tl
dHMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHdvcmtlcnMmcXVvdDs7JnF1b3Q7JChDb25m
aWd1cmF0aW9uQnVpbGREaXIpXGluY2x1ZGUmcXVvdDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVp
bGREaXIpXGluY2x1ZGVccHJpdmF0ZSZxdW90OzsmcXVvdDskKENvbmZpZ3VyYXRpb25CdWlsZERp
cilcaW5jbHVkZVxKYXZhU2NyaXB0Q29yZSZxdW90OzsmcXVvdDskKENvbmZpZ3VyYXRpb25CdWls
ZERpcilcaW5jbHVkZVxwcml2YXRlXEphdmFTY3JpcHRDb3JlJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxGb3J3YXJkaW5nSGVhZGVycyZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0Rp
cilcaW5jbHVkZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZVxwcml2
YXRlJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRlXHByaXZhdGVcSmF2
YVNjcmlwdENvcmUmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGVccHRo
cmVhZHMmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGVcc3FsaXRlJnF1
b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRlXEphdmFTY3JpcHRDb3JlJnF1
b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRlXHpsaWImcXVvdDsiCisJCUFk
ZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90OyQoUHJvamVjdERpcikuLiZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1xmaWxlc3lzdGVtJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcikuLlxNb2R1bGVzXGdlb2xvY2F0aW9uJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpciku
LlxNb2R1bGVzXGluZGV4ZWRkYiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1xt
ZWRpYXNvdXJjZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1xuYXZpZ2F0b3Jj
b250ZW50dXRpbHMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNccHJveGltaXR5
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxNb2R1bGVzXHF1b3RhJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcikuLlxNb2R1bGVzXG5vdGlmaWNhdGlvbnMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKS4uXE1vZHVsZXNcd2ViZGF0YWJhc2UmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXE1v
ZHVsZXNcd2Vic29ja2V0cyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cYWNjZXNzaWJpbGl0
eSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cYWNjZXNzaWJpbGl0eVx3aW4mcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKS4uXGJyaWRnZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cYnJp
ZGdlXGMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGJyaWRnZVxqc2MmcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKS4uXGNzcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cZWRpdGluZyZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cZmlsZWFwaSZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpLi5ccmVuZGVyaW5nJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxyZW5kZXJpbmdcbWF0
aG1sJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxyZW5kZXJpbmdcc3R5bGUmcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKS4uXHJlbmRlcmluZ1xzdmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KS4uXGJpbmRpbmdzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxiaW5kaW5nc1xnZW5lcmlj
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxiaW5kaW5nc1xqcyZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpLi5cYmluZGluZ3NcanNcc3BlY2lhbGl6YXRpb24mcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKS4uXGRvbSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cZG9tXGRlZmF1bHQmcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGhpc3RvcnkmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KS4uXGh0bWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGh0bWxcY2FudmFzJnF1b3Q7OyZx
dW90OyQoUHJvamVjdERpcikuLlxodG1sXHBhcnNlciZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
Li5caHRtbFxzaGFkb3cmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGluc3BlY3RvciZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpLi5cbG9hZGVyJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpciku
Llxsb2FkZXJcYXBwY2FjaGUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlclxhcmNo
aXZlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxsb2FkZXJcYXJjaGl2ZVxjZiZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpLi5cbG9hZGVyXGNhY2hlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERp
cikuLlxsb2FkZXJcaWNvbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cbWF0aG1sJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlxwYWdlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxw
YWdlXGFuaW1hdGlvbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGFnZVxzY3JvbGxpbmcm
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBhZ2Vcd2luJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxwbGF0Zm9ybSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cYW5p
bWF0aW9uJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxtb2NrJnF1b3Q7OyZx
dW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxzcWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KS4uXHBsYXRmb3JtXHdpbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cbmV0
d29yayZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cbmV0d29ya1x3aW4mcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGNmJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxwbGF0Zm9ybVxncmFwaGljcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxh
dGZvcm1cZ3JhcGhpY3NcY2EmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGdy
YXBoaWNzXGNwdVxhcm1cZmlsdGVycyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZv
cm1cZ3JhcGhpY3NcZmlsdGVycyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1c
Z3JhcGhpY3NcZmlsdGVyc1xhcm0mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3Jt
XGdyYXBoaWNzXG9wZW50eXBlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxn
cmFwaGljc1x0cmFuc2Zvcm1zJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVx0
ZXh0JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVx0ZXh0XHRyYW5zY29kZXIm
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNzXHdpbiZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpLi5ceG1sJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlx4bWxc
cGFyc2VyJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcV2ViQ29yZVxE
ZXJpdmVkU291cmNlcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGx1Z2lucyZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpLi5ccGx1Z2luc1x3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KS4uXHN2Z1xhbmltYXRpb24mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHN2Z1xncmFwaGlj
cyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cc3ZnXHByb3BlcnRpZXMmcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKS4uXHN2Z1xncmFwaGljc1xmaWx0ZXJzJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxzdmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHRlc3RpbmcmcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKS4uXHdtbCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cc3RvcmFn
ZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cd2Vic29ja2V0cyZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpLi5cd29ya2VycyZxdW90OzsmcXVvdDskKENvbmZpZ3VyYXRpb25CdWlsZERpcilc
aW5jbHVkZSZxdW90OzsmcXVvdDskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcaW5jbHVkZVxwcml2
YXRlJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxpbmNsdWRlXEphdmFTY3Jp
cHRDb3JlJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxpbmNsdWRlXHByaXZh
dGVcSmF2YVNjcmlwdENvcmUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXEZvcndhcmRpbmdI
ZWFkZXJzJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRlJnF1b3Q7OyZx
dW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRlXHByaXZhdGUmcXVvdDs7JnF1b3Q7JChX
ZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGVccHJpdmF0ZVxKYXZhU2NyaXB0Q29yZSZxdW90Ozsm
cXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZVxwdGhyZWFkcyZxdW90OzsmcXVvdDsk
KFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZVxzcWxpdGUmcXVvdDs7JnF1b3Q7JChXZWJLaXRM
aWJyYXJpZXNEaXIpXGluY2x1ZGVcSmF2YVNjcmlwdENvcmUmcXVvdDs7JnF1b3Q7JChXZWJLaXRM
aWJyYXJpZXNEaXIpXGluY2x1ZGVcemxpYiZxdW90OyIKIAkJUHJlcHJvY2Vzc29yRGVmaW5pdGlv
bnM9Il9fV0lOMzJfXztESVNBQkxFXzNEX1JFTkRFUklORztXRUJDT1JFX0NPTlRFWFRfTUVOVVMi
CiAJCVVzZVByZWNvbXBpbGVkSGVhZGVyPSIyIgogCQlQcmVjb21waWxlZEhlYWRlclRocm91Z2g9
IldlYkNvcmVQcmVmaXguaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCBjMTc4ZTZhZGJhM2YxMjVlZTI1M2QxOTQ0MmYxYzlhYzI0
NGUxZWJiLi5jOWU3NGI0ZjFkZjMwMGU3NzZhZjAxMjQxOWI5ZTRmMTI5NDQ0OTAyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0x
Mzg5Niw2ICsxMzg5NiwxMiBAQAogCQlGNUMyODY5NTAyODQ2RENEMDE4NjM1Q0EgLyogQ29jb2Eu
ZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBDb2NvYS5mcmFtZXdvcms7IHBhdGggPSAvU3lz
dGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db2NvYS5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSAiPGFi
c29sdXRlPiI7IH07CiAJCUY1RTBDNjU5MTY0M0M0MkMwMEQ2Q0I2OSAvKiBCYXNlQ2hvb3Nlck9u
bHlEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBCYXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGltZUlucHV0VHlwZS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY1RTBDNjVBMTY0M0M0MkMwMEQ2Q0I2OSAvKiBCYXNlQ2hv
b3Nlck9ubHlEYXRlQW5kVGltZUlucHV0VHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBCYXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGltZUlucHV0VHlwZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlGNjA5OEY3QTE2NjZEOEE3MDAzMjY5RDEgLyogRGV2aWNlUHJv
eGltaXR5Q2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERldmljZVBy
b3hpbWl0eUNsaWVudC5oOyBwYXRoID0gTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5
Q2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY2MDk4RjdCMTY2NkQ4QTcw
MDMyNjlEMSAvKiBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERldmljZVByb3hpbWl0eUNvbnRyb2xsZXIuY3BwOyBwYXRo
ID0gTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5Q29udHJvbGxlci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY2MDk4RjdDMTY2NkQ4QTcwMDMyNjlEMSAvKiBEZXZp
Y2VQcm94aW1pdHlDb250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IERldmljZVByb3hpbWl0eUNvbnRyb2xsZXIuaDsgcGF0aCA9IE1vZHVsZXMvcHJveGltaXR5L0Rl
dmljZVByb3hpbWl0eUNvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
RjYwOThGN0QxNjY2RDhBNzAwMzI2OUQxIC8qIERldmljZVByb3hpbWl0eUV2ZW50LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERldmljZVByb3hpbWl0eUV2ZW50LmNw
cDsgcGF0aCA9IE1vZHVsZXMvcHJveGltaXR5L0RldmljZVByb3hpbWl0eUV2ZW50LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjYwOThGN0UxNjY2RDhBNzAwMzI2OUQxIC8qIERl
dmljZVByb3hpbWl0eUV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERl
dmljZVByb3hpbWl0eUV2ZW50Lmg7IHBhdGggPSBNb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94
aW1pdHlFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNjA5OEY3RjE2NjZE
OEE3MDAzMjY5RDEgLyogRGV2aWNlUHJveGltaXR5RXZlbnQuaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
bmFtZSA9IERldmljZVByb3hpbWl0eUV2ZW50LmlkbDsgcGF0aCA9IE1vZHVsZXMvcHJveGltaXR5
L0RldmljZVByb3hpbWl0eUV2ZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RjdBMDM0QzMxMjZCRjZCRTAwN0RDMTlFIC8qIEZvbnRPcmllbnRhdGlvbi5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBGb250T3JpZW50YXRpb24uaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRjgyMTYyOTkwMjlGNEZCNTAxMDAwMTMxIC8qIEphdmFTY3JpcHRDb3Jl
LmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBwYXRoID0gSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrOyBz
b3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQlGOTE2QzQ4QjBEQjUxMEY4MDA3
NkNEODMgLyogSlNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3OTU2LDYgKzE3OTYyLDcgQEAKIAkJ
CQk5NzEyQTU1MzE1MDA0RTNDMDA0OEFGMTAgLyogaW5kZXhlZGRiICovLAogCQkJCUIxQTk0MkRE
MTVCNUNFMjIwMEQ1MjVEMSAvKiBtZWRpYXNvdXJjZSAqLywKIAkJCQkzMzNGNzAzRDBGQjQ5QzE2
MDA4RTEyQTYgLyogbm90aWZpY2F0aW9ucyAqLywKKwkJCQlGNjA5OEY3ODE2NjZEODQxMDAzMjY5
RDEgLyogcHJveGltaXR5ICovLAogCQkJCTg5RjYwQjA4MTU3RjY4MzUwMDc1RTE1NyAvKiBxdW90
YSAqLywKIAkJCQlGRDMxNUZBMjEyQjAyNUIxMDBDMUEzNTkgLyogd2ViYXVkaW8gKi8sCiAJCQkJ
OTdCQzY5RDUxNTA1RjA1NDAwMUI3NEFDIC8qIHdlYmRhdGFiYXNlICovLApAQCAtMjIyMzAsNiAr
MjIyMzcsMTkgQEAKIAkJCXRhYldpZHRoID0gNDsKIAkJCXVzZXNUYWJzID0gMDsKIAkJfTsKKwkJ
RjYwOThGNzgxNjY2RDg0MTAwMzI2OUQxIC8qIHByb3hpbWl0eSAqLyA9IHsKKwkJCWlzYSA9IFBC
WEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJRjYwOThGN0ExNjY2RDhBNzAwMzI2OUQxIC8q
IERldmljZVByb3hpbWl0eUNsaWVudC5oICovLAorCQkJCUY2MDk4RjdCMTY2NkQ4QTcwMDMyNjlE
MSAvKiBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmNwcCAqLywKKwkJCQlGNjA5OEY3QzE2NjZE
OEE3MDAzMjY5RDEgLyogRGV2aWNlUHJveGltaXR5Q29udHJvbGxlci5oICovLAorCQkJCUY2MDk4
RjdEMTY2NkQ4QTcwMDMyNjlEMSAvKiBEZXZpY2VQcm94aW1pdHlFdmVudC5jcHAgKi8sCisJCQkJ
RjYwOThGN0UxNjY2RDhBNzAwMzI2OUQxIC8qIERldmljZVByb3hpbWl0eUV2ZW50LmggKi8sCisJ
CQkJRjYwOThGN0YxNjY2RDhBNzAwMzI2OUQxIC8qIERldmljZVByb3hpbWl0eUV2ZW50LmlkbCAq
LywKKwkJCSk7CisJCQluYW1lID0gcHJveGltaXR5OworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsKKwkJfTsKIAkJRkFCRTcyRUMxMDU5QzFFQjAwRDk5OUREIC8qIG1hdGhtbCAqLyA9IHsKIAkJ
CWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VD
YWNoZS5jcHAKaW5kZXggZTdlZWJkYzQzNzQyYzU1ZjE0MTExZWNkMmUyMTRhOGUwYmNhNDY4ZC4u
MmY0NDI1YjdiYTdlYjRmYWFkOTc4YzE0OWVhZDVlODU0M2E0OTBhNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2hp
c3RvcnkvUGFnZUNhY2hlLmNwcApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIkRhdGFiYXNl
Q29udGV4dC5oIgogI2luY2x1ZGUgIkRldmljZU1vdGlvbkNvbnRyb2xsZXIuaCIKICNpbmNsdWRl
ICJEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJEZXZpY2VQcm94aW1p
dHlDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJEb2N1bWVu
dExvYWRlci5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCkBAIC0yNTEsNiArMjUyLDEyIEBAIHN0YXRp
YyB2b2lkIGxvZ0NhbkNhY2hlUGFnZURlY2lzaW9uKFBhZ2UqIHBhZ2UpCiAgICAgICAgIHJlamVj
dFJlYXNvbnMgfD0gMSA8PCBVc2VzRGV2aWNlT3JpZW50YXRpb247CiAgICAgfQogI2VuZGlmCisj
aWYgRU5BQkxFKFBST1hJTUlUWV9FVkVOVFMpCisgICAgaWYgKERldmljZVByb3hpbWl0eUNvbnRy
b2xsZXI6OmlzQWN0aXZlQXQocGFnZSkpIHsKKyAgICAgICAgUENMT0coIiAgIC1QYWdlIGlzIHVz
aW5nIERldmljZVByb3hpbWl0eSIpOworICAgICAgICByZWplY3RSZWFzb25zIHw9IDEgPDwgVXNl
c0RldmljZU1vdGlvbjsKKyAgICB9CisjZW5kaWYKICAgICBGcmFtZUxvYWRUeXBlIGxvYWRUeXBl
ID0gcGFnZS0+bWFpbkZyYW1lKCktPmxvYWRlcigpLT5sb2FkVHlwZSgpOwogICAgIGlmIChsb2Fk
VHlwZSA9PSBGcmFtZUxvYWRUeXBlUmVsb2FkKSB7CiAgICAgICAgIFBDTE9HKCIgICAtTG9hZCB0
eXBlIGlzOiBSZWxvYWQiKTsKQEAgLTM4NSw2ICszOTIsOSBAQCBib29sIFBhZ2VDYWNoZTo6Y2Fu
Q2FjaGUoUGFnZSogcGFnZSkgY29uc3QKICAgICAgICAgJiYgIURldmljZU1vdGlvbkNvbnRyb2xs
ZXI6OmlzQWN0aXZlQXQocGFnZSkKICAgICAgICAgJiYgIURldmljZU9yaWVudGF0aW9uQ29udHJv
bGxlcjo6aXNBY3RpdmVBdChwYWdlKQogI2VuZGlmCisjaWYgRU5BQkxFKFBST1hJTUlUWV9FVkVO
VFMpCisgICAgICAgICYmICFEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyOjppc0FjdGl2ZUF0KHBh
Z2UpCisjZW5kaWYKICAgICAgICAgJiYgbG9hZFR5cGUgIT0gRnJhbWVMb2FkVHlwZVJlbG9hZAog
ICAgICAgICAmJiBsb2FkVHlwZSAhPSBGcmFtZUxvYWRUeXBlUmVsb2FkRnJvbU9yaWdpbgogICAg
ICAgICAmJiBsb2FkVHlwZSAhPSBGcmFtZUxvYWRUeXBlU2FtZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2lu
ZG93LmNwcAppbmRleCBiNzk3NzNiMWRmMDQyZjA1YmZlODEyODRjN2Q2MjI1Mzk0MjdjNzQxLi5m
YjczMTVlZjZmZWYyNzFhYTY2MmVkZDgzMzgyZmJkYmYwZjEzMmE2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9E
T01XaW5kb3cuY3BwCkBAIC01MCw2ICs1MCw3IEBACiAjaW5jbHVkZSAiRGF0YWJhc2VDYWxsYmFj
ay5oIgogI2luY2x1ZGUgIkRldmljZU1vdGlvbkNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJEZXZp
Y2VPcmllbnRhdGlvbkNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJEZXZpY2VQcm94aW1pdHlDb250
cm9sbGVyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJEb2N1bWVudExvYWRl
ci5oIgogI2luY2x1ZGUgIkVsZW1lbnQuaCIKQEAgLTE2MDMsNiArMTYwNCwxMyBAQCBib29sIERP
TVdpbmRvdzo6YWRkRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwg
UGFzc1JlZlB0cjxFdmVudAogICAgIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKFBST1hJTUlUWV9F
VkVOVFMpCisgICAgZWxzZSBpZiAoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS53ZWJraXRkZXZp
Y2Vwcm94aW1pdHlFdmVudCkgeworICAgICAgICBpZiAoRGV2aWNlUHJveGltaXR5Q29udHJvbGxl
ciogY29udHJvbGxlciA9IERldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6OmZyb20ocGFnZSgpKSkK
KyAgICAgICAgICAgIGNvbnRyb2xsZXItPmFkZERldmljZUV2ZW50TGlzdGVuZXIodGhpcyk7Cisg
ICAgfQorI2VuZGlmCisKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApAQCAtMTYzMiw2ICsxNjQwLDEz
IEBAIGJvb2wgRE9NV2luZG93OjpyZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0b21pY1N0cmlu
ZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyCiAgICAgfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUo
UFJPWElNSVRZX0VWRU5UUykKKyAgICBlbHNlIGlmIChldmVudFR5cGUgPT0gZXZlbnROYW1lcygp
LndlYmtpdGRldmljZXByb3hpbWl0eUV2ZW50KSB7CisgICAgICAgIGlmIChEZXZpY2VQcm94aW1p
dHlDb250cm9sbGVyKiBjb250cm9sbGVyID0gRGV2aWNlUHJveGltaXR5Q29udHJvbGxlcjo6ZnJv
bShwYWdlKCkpKQorICAgICAgICAgICAgY29udHJvbGxlci0+cmVtb3ZlRGV2aWNlRXZlbnRMaXN0
ZW5lcih0aGlzKTsKKyAgICB9CisjZW5kaWYKKwogICAgIHJldHVybiB0cnVlOwogfQogCkBAIC0x
Njg4LDYgKzE3MDMsMTEgQEAgdm9pZCBET01XaW5kb3c6OnJlbW92ZUFsbEV2ZW50TGlzdGVuZXJz
KCkKICAgICAgICAgY29udHJvbGxlci0+cmVtb3ZlQWxsRGV2aWNlRXZlbnRMaXN0ZW5lcnModGhp
cyk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShQUk9YSU1JVFlfRVZFTlRTKQorICAgIGlmIChEZXZp
Y2VQcm94aW1pdHlDb250cm9sbGVyKiBjb250cm9sbGVyID0gRGV2aWNlUHJveGltaXR5Q29udHJv
bGxlcjo6ZnJvbShwYWdlKCkpKQorICAgICAgICBjb250cm9sbGVyLT5yZW1vdmVBbGxEZXZpY2VF
dmVudExpc3RlbmVycyh0aGlzKTsKKyNlbmRpZgorCiAgICAgcmVtb3ZlQWxsVW5sb2FkRXZlbnRM
aXN0ZW5lcnModGhpcyk7CiAgICAgcmVtb3ZlQWxsQmVmb3JlVW5sb2FkRXZlbnRMaXN0ZW5lcnMo
dGhpcyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggNzY2YTBlMmQ5
ZmY3NDE0MzAzMDc2NjA1N2RjOWI4M2RkYzY0YmRiYi4uNzJmMmYzZmMxMTU5ZmM2NTY0NzdiOTkz
OTBlZDE4MDljMmI4NGY5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAt
OTgsNiArOTgsMTAgQEAKICNpbmNsdWRlICJOZXR3b3JrSW5mb0NvbnRyb2xsZXIuaCIKICNlbmRp
ZgogCisjaWYgRU5BQkxFKFBST1hJTUlUWV9FVkVOVFMpCisjaW5jbHVkZSAiRGV2aWNlUHJveGlt
aXR5Q29udHJvbGxlci5oIgorI2VuZGlmCisKICNpZiBFTkFCTEUoUEFHRV9QT1BVUCkKICNpbmNs
dWRlICJQYWdlUG9wdXBDb250cm9sbGVyLmgiCiAjZW5kaWYKQEAgLTEyNDYsNiArMTI1MCwyMyBA
QCB2b2lkIEludGVybmFsczo6c2V0TmV0d29ya0luZm9ybWF0aW9uKERvY3VtZW50KiBkb2N1bWVu
dCwgY29uc3QgU3RyaW5nJiBldmVudFR5cAogI2VuZGlmCiB9CiAKK3ZvaWQgSW50ZXJuYWxzOjpz
ZXREZXZpY2VQcm94aW1pdHkoRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIGV2ZW50
VHlwZSwgZG91YmxlIHZhbHVlLCBkb3VibGUgbWluLCBkb3VibGUgbWF4LCBFeGNlcHRpb25Db2Rl
JiBlYykKK3sKKyAgICBpZiAoIWRvY3VtZW50IHx8ICFkb2N1bWVudC0+cGFnZSgpKSB7CisgICAg
ICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQorCisj
aWYgRU5BQkxFKFBPUk9YSU1JVFlfRVZFTlRTKQorICAgIERldmljZVByb3hpbWl0eUNvbnRyb2xs
ZXI6OmZyb20oZG9jdW1lbnQtPnBhZ2UoKSktPmRpZENoYW5nZURldmljZVByb3hpbWl0eSh2YWx1
ZSwgbWluLCBtYXgpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZXZlbnRUeXBlKTsKKyAgICBV
TlVTRURfUEFSQU0odmFsdWUpOworICAgIFVOVVNFRF9QQVJBTShtaW4pOworICAgIFVOVVNFRF9Q
QVJBTShtYXgpOworI2VuZGlmCit9CisKIGJvb2wgSW50ZXJuYWxzOjpoYXNTcGVsbGluZ01hcmtl
cihEb2N1bWVudCogZG9jdW1lbnQsIGludCBmcm9tLCBpbnQgbGVuZ3RoLCBFeGNlcHRpb25Db2Rl
JikKIHsKICAgICBpZiAoIWRvY3VtZW50IHx8ICFkb2N1bWVudC0+ZnJhbWUoKSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IDViYzI2ODU2ODFjODBkMWJmOWE2MDZjY2QyYmU3NmU0
ZWFhNzVkNTAuLjhjY2JmNTMyNGJlZGE3ZjQ1ZjE5NDIwNjMyMmIzYTgzMTBkNGFmMDEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApAQCAtMTkzLDYgKzE5Myw4IEBAIHB1YmxpYzoKIAog
ICAgIHZvaWQgc2V0TmV0d29ya0luZm9ybWF0aW9uKERvY3VtZW50KiwgY29uc3QgU3RyaW5nJiBl
dmVudFR5cGUsIGRvdWJsZSBiYW5kd2lkdGgsIGJvb2wgbWV0ZXJlZCwgRXhjZXB0aW9uQ29kZSYp
OwogCisgICAgdm9pZCBzZXREZXZpY2VQcm94aW1pdHkoRG9jdW1lbnQqLCBjb25zdCBTdHJpbmcm
IGV2ZW50VHlwZSwgZG91YmxlIHZhbHVlLCBkb3VibGUgbWluLCBkb3VibGUgbWF4LCBFeGNlcHRp
b25Db2RlJik7CisKICAgICB2b2lkIHN1c3BlbmRBbmltYXRpb25zKERvY3VtZW50KiwgRXhjZXB0
aW9uQ29kZSYpIGNvbnN0OwogICAgIHZvaWQgcmVzdW1lQW5pbWF0aW9ucyhEb2N1bWVudCosIEV4
Y2VwdGlvbkNvZGUmKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmlu
ZGV4IGNkZDNlMzg0ZjgwYjA5YzBmZTlkMGQ3NDg5ZGUyMmI4NjNlMGY0NDkuLmVjNzJkYzBjYWUx
MWEyYmNmZmI0MDA1NmMwNzU4NGFjOWIyNGUwZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5pZGwKQEAgLTE4Myw2ICsxODMsMTAgQEAKICAgICB2b2lkIHNldE5ldHdvcmtJbmZvcm1h
dGlvbihpbiBEb2N1bWVudCBkb2N1bWVudCwgaW4gRE9NU3RyaW5nIGV2ZW50VHlwZSwgaW4gZG91
YmxlIGJhbmR3aWR0aCwgaW4gYm9vbGVhbiBtZXRlcmVkKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7
CiAjZW5kaWYKIAorI2lmIGRlZmluZWQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICYmIEVOQUJM
RV9QUk9YSU1JVFlfRVZFTlRTCisgICAgdm9pZCBzZXREZXZpY2VQcm94aW1pdHkoaW4gRG9jdW1l
bnQgZG9jdW1lbnQsIGluIERPTVN0cmluZyBldmVudFR5cGUsIGluIGRvdWJsZSB2YWx1ZSwgaW4g
ZG91YmxlIG1pbiwgaW4gZG91YmxlIG1heCkgcmFpc2VzIChET01FeGNlcHRpb24pOworI2VuZGlm
CisKICAgICBbQ29uZGl0aW9uYWw9SU5TUEVDVE9SXSB1bnNpZ25lZCBsb25nIG51bWJlck9mTGl2
ZU5vZGVzKCk7CiAgICAgW0NvbmRpdGlvbmFsPUlOU1BFQ1RPUl0gdW5zaWduZWQgbG9uZyBudW1i
ZXJPZkxpdmVEb2N1bWVudHMoKTsKICAgICBbQ29uZGl0aW9uYWw9SU5TUEVDVE9SXSBzZXF1ZW5j
ZTxET01TdHJpbmc+IGNvbnNvbGVNZXNzYWdlQXJndW1lbnRDb3VudHMoaW4gRG9jdW1lbnQgZG9j
dW1lbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybUVmbC5jbWFrZSBiL1Nv
dXJjZS9XZWJLaXQvUGxhdGZvcm1FZmwuY21ha2UKaW5kZXggMjczNmEyNTBkNjNlOGNlMmVhNmYz
MDUzNDZiZDI4YTg1NDBhMjg4NC4uZDYxNjA0NDgwYmU1NDQwZjVkMTAxYmU1NjE2ZjE0MmY2MjA2
ZDM2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybUVmbC5jbWFrZQorKysgYi9T
b3VyY2UvV2ViS2l0L1BsYXRmb3JtRWZsLmNtYWtlCkBAIC00LDYgKzQsNyBAQCBsaXN0KEFQUEVO
RCBXZWJLaXRfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIke1dFQktJVF9ESVJ9L2VmbC9XZWJD
b3JlU3VwcG9ydCIKICAgICAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L0ZvcndhcmRpbmdIZWFkZXJz
IgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL2ZpbGVzeXN0ZW0iCisgICAgIiR7V0VCQ09S
RV9ESVJ9L01vZHVsZXMvcHJveGltaXR5IgogICAgICIke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9l
ZmwiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvIgogICAgICIk
e1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9ncmFwaGljcy9lZmwiCkBAIC05Nyw2ICs5OCw3IEBAIGxp
c3QoQVBQRU5EIFdlYktpdF9TT1VSQ0VTCiAgICAgZWZsL1dlYkNvcmVTdXBwb3J0L0NvbnRleHRN
ZW51Q2xpZW50RWZsLmNwcAogICAgIGVmbC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlv
bkNsaWVudEVmbC5jcHAKICAgICBlZmwvV2ViQ29yZVN1cHBvcnQvRGV2aWNlTW90aW9uQ2xpZW50
RWZsLmNwcAorICAgIGVmbC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VQcm94aW1pdHlDbGllbnRFZmwu
Y3BwCiAgICAgZWZsL1dlYkNvcmVTdXBwb3J0L0RyYWdDbGllbnRFZmwuY3BwCiAgICAgZWZsL1dl
YkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5jcHAKICAgICBlZmwvV2ViQ29y
ZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9l
ZmwvV2ViQ29yZVN1cHBvcnQvRGV2aWNlUHJveGltaXR5Q2xpZW50RWZsLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0RldmljZVByb3hpbWl0eUNsaWVudEVmbC5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYTlkNWI1ODA1OTExMjgzZDUyOTFhZjJhMjUxYmVkZDI1MjlhMDRhZgotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0RldmljZVByb3hp
bWl0eUNsaWVudEVmbC5jcHAKQEAgLTAsMCArMSw3MyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDEy
IFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJEZXZpY2VQcm94aW1pdHlDbGllbnRFZmwuaCIK
KworI2lmIEVOQUJMRShQUk9YSU1JVFlfRVZFTlRTKQorCisjaW5jbHVkZSAiRGV2aWNlUHJveGlt
aXR5Q29udHJvbGxlci5oIgorI2luY2x1ZGUgImV3a192aWV3X3ByaXZhdGUuaCIKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitEZXZpY2VQcm94aW1pdHlDbGllbnRFZmw6OkRldmljZVByb3hpbWl0
eUNsaWVudEVmbChFdmFzX09iamVjdCogdmlldykKKyAgICA6IG1fdmlldyh2aWV3KQorICAgICwg
bV9pc1VwZGF0aW5nKGZhbHNlKQorICAgICwgbV92YWx1ZShzdGQ6Om51bWVyaWNfbGltaXRzPGRv
dWJsZT46OmluZmluaXR5KCkpCisgICAgLCBtX21pbigtc3RkOjpudW1lcmljX2xpbWl0czxkb3Vi
bGU+OjppbmZpbml0eSgpKQorICAgICwgbV9tYXgoc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+
OjppbmZpbml0eSgpKQoreworfQorCit2b2lkIERldmljZVByb3hpbWl0eUNsaWVudEVmbDo6c3Rh
cnRVcGRhdGluZygpCit7CisgICAgbV9pc1VwZGF0aW5nID0gdHJ1ZTsKKyAgICAvLyBGSVhNRSA6
IFN0YXJ0IGdldHRpbmcgcHJveGltaXR5IGRhdGEgZnJvbSBkZXZpY2UuCit9CisKK3ZvaWQgRGV2
aWNlUHJveGltaXR5Q2xpZW50RWZsOjpzdG9wVXBkYXRpbmcoKQoreworICAgIG1faXNVcGRhdGlu
ZyA9IGZhbHNlOworICAgIC8vIEZJWE1FIDogU3RvcCBnZXR0aW5nIHByb3hpbWl0eSBkYXRhIGZy
b20gZGV2aWNlLgorfQorCitib29sIERldmljZVByb3hpbWl0eUNsaWVudEVmbDo6aGFzTGFzdERh
dGEoKQoreworICAgIHJldHVybiBtX3ZhbHVlID09IHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91Ymxl
Pjo6aW5maW5pdHkoKSA/IGZhbHNlIDogdHJ1ZTsKK30KKwordm9pZCBEZXZpY2VQcm94aW1pdHlD
bGllbnRFZmw6OmRpZENoYW5nZVByb3hpbWl0eShjb25zdCBkb3VibGUgdmFsdWUsIGNvbnN0IGRv
dWJsZSBtaW4sIGNvbnN0IGRvdWJsZSBtYXgpCit7CisgICAgbV92YWx1ZSA9IHZhbHVlOworICAg
IG1fbWluID0gbWluOworICAgIG1fbWF4ID0gbWF4OworICAgIGlmIChtX2lzVXBkYXRpbmcpCisg
ICAgICAgIERldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6OmZyb20oRVdLUHJpdmF0ZTo6Y29yZVBh
Z2UobV92aWV3KSktPmRpZENoYW5nZURldmljZVByb3hpbWl0eSh2YWx1ZSwgbWluLCBtYXgpOwor
fQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBQUk9YSU1JVFlfRVZFTlRT
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VQcm94
aW1pdHlDbGllbnRFZmwuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Rldmlj
ZVByb3hpbWl0eUNsaWVudEVmbC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY1ZThmMDliN2UzZDhhODYzOTFlODc4
YjQ3YTBmZTFhNDExMmNkY2UKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9X
ZWJDb3JlU3VwcG9ydC9EZXZpY2VQcm94aW1pdHlDbGllbnRFZmwuaApAQCAtMCwwICsxLDYxIEBA
CisvKgorICogQ29weXJpZ2h0IDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBEZXZpY2VQcm94aW1pdHlDbGllbnRFZmxfaAor
I2RlZmluZSBEZXZpY2VQcm94aW1pdHlDbGllbnRFZmxfaAorCisjaWYgRU5BQkxFKFBST1hJTUlU
WV9FVkVOVFMpCisKKyNpbmNsdWRlICJEZXZpY2VQcm94aW1pdHlDbGllbnQuaCIKKyNpbmNsdWRl
IDxFdmFzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRGV2aWNlUHJveGltaXR5
Q2xpZW50RWZsIDogcHVibGljIERldmljZVByb3hpbWl0eUNsaWVudCB7CitwdWJsaWM6CisgICAg
ZXhwbGljaXQgRGV2aWNlUHJveGltaXR5Q2xpZW50RWZsKEV2YXNfT2JqZWN0KiB2aWV3KTsKKyAg
ICB2aXJ0dWFsIH5EZXZpY2VQcm94aW1pdHlDbGllbnRFZmwoKSB7IH0KKworICAgIHZpcnR1YWwg
dm9pZCBzdGFydFVwZGF0aW5nKCk7CisgICAgdmlydHVhbCB2b2lkIHN0b3BVcGRhdGluZygpOwor
ICAgIHZpcnR1YWwgYm9vbCBoYXNMYXN0RGF0YSgpOworICAgIHZpcnR1YWwgZG91YmxlIHZhbHVl
KCkgeyByZXR1cm4gbV92YWx1ZTsgfQorICAgIHZpcnR1YWwgZG91YmxlIG1pbigpIHsgcmV0dXJu
IG1fbWluOyB9CisgICAgdmlydHVhbCBkb3VibGUgbWF4KCkgeyByZXR1cm4gbV9tYXg7IH0KKwor
ICAgIHZvaWQgZGlkQ2hhbmdlUHJveGltaXR5KGNvbnN0IGRvdWJsZSB2YWx1ZSwgY29uc3QgZG91
YmxlIG1pbiwgY29uc3QgZG91YmxlIG1heCk7CisKK3ByaXZhdGU6CisgICAgRXZhc19PYmplY3Qq
IG1fdmlldzsKKyAgICBib29sIG1faXNVcGRhdGluZzsKKyAgICBkb3VibGUgbV92YWx1ZTsKKyAg
ICBkb3VibGUgbV9taW47CisgICAgZG91YmxlIG1fbWF4OworfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYgLy8gUFJPWElNSVRZX0VWRU5UUworI2VuZGlmIC8vIERldmljZVBy
b3hpbWl0eUNsaWVudEVmbF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X3ZpZXcuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcAppbmRleCA2Nzdi
YmZhMzg0NWZhZDc3NmU2YjgzM2NhZjczYWUyZDMzNTcwNDU0Li5jMjk0Yjk5ZGY2NjFjZTE0NGUw
OTEwNWFmZjViMTk3ZmM2YzEwYzBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX3ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAKQEAg
LTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJDaHJvbWVDbGllbnRFZmwuaCIKICNpbmNsdWRlICJD
b250ZXh0TWVudUNsaWVudEVmbC5oIgogI2luY2x1ZGUgIkNvbnRleHRNZW51Q29udHJvbGxlci5o
IgorI2luY2x1ZGUgIkRldmljZVByb3hpbWl0eUNsaWVudEVmbC5oIgogI2luY2x1ZGUgIkRvY3Vt
ZW50TG9hZGVyLmgiCiAjaW5jbHVkZSAiRHJhZ0NsaWVudEVmbC5oIgogI2luY2x1ZGUgIkR1bXBS
ZW5kZXJUcmVlU3VwcG9ydEVmbC5oIgpAQCAtODAwLDYgKzgwMSwxMCBAQCBzdGF0aWMgRXdrX1Zp
ZXdfUHJpdmF0ZV9EYXRhKiBfZXdrX3ZpZXdfcHJpdl9uZXcoRXdrX1ZpZXdfU21hcnRfRGF0YSog
c21hcnREYXRhKQogICAgIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKFBST1hJTUlUWV9FVkVOVFMp
CisgICAgV2ViQ29yZTo6cHJvdmlkZURldmljZVByb3hpbWl0eVRvKHByaXYtPnBhZ2UuZ2V0KCks
IG5ldyBXZWJDb3JlOjpEZXZpY2VQcm94aW1pdHlDbGllbnRFZmwoc21hcnREYXRhLT5zZWxmKSk7
CisjZW5kaWYKKwogICAgIHByaXYtPnBhZ2VTZXR0aW5ncyA9IHByaXYtPnBhZ2UtPnNldHRpbmdz
KCk7CiAKICAgICBXZWJDb3JlOjpMYXlvdXRNaWxlc3RvbmVzIGxheW91dE1pbGVzdG9uZXMgPSBX
ZWJDb3JlOjpEaWRGaXJzdExheW91dCB8IFdlYkNvcmU6OkRpZEZpcnN0VmlzdWFsbHlOb25FbXB0
eUxheW91dDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCA2YjA1MWVkNWI2NjcwODM0YWE0ZDNjMjZhY2U2MzRmMDM5YWQ4NmU1
Li4xOWY3ZjZjNzljN2I1N2ZlODQzYTZjYzMwNDQwYWNkM2YzMTA3MWIyIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMzQgQEAKKzIwMTItMTItMDYgIEtpaG9uZyBLd29uICA8a2lob25nLmt3b25Ac2Ftc3VuZy5j
b20+CisKKyAgICAgICAgQWRkIERldmljZVByb3hpbWl0eUNvbnRyb2xsZXIgdG8gc3VwcG9ydCBE
ZXZpY2UgUHJveGltaXR5IEV2ZW50cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTk3NjMwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkIGxheW91dCB0ZXN0IGNhc2VzIGZvciB0aGUgRGV2aWNlUHJveGlt
aXR5Q29udHJvbGxlci4KKworICAgICAgICAqIHByb3hpbWl0eS9hZGQtbGlzdGVuZXItZnJvbS1j
YWxsYmFjay1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHByb3hpbWl0eS9hZGQtbGlz
dGVuZXItZnJvbS1jYWxsYmFjay5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwcm94aW1pdHkvYmFz
aWMtb3BlcmF0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcHJveGltaXR5L2Jh
c2ljLW9wZXJhdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwcm94aW1pdHkvY3JlYXRlLWV2
ZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcHJveGltaXR5L2NyZWF0ZS1ldmVu
dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwcm94aW1pdHkvZXZlbnQtYWZ0ZXItbmF2aWdhdGlv
bi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHByb3hpbWl0eS9ldmVudC1hZnRlci1u
YXZpZ2F0aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHByb3hpbWl0eS9tdWx0aXBsZS1mcmFt
ZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwcm94aW1pdHkvbXVsdGlwbGUtZnJh
bWVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHByb3hpbWl0eS9uby1wYWdlLWNhY2hlLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcHJveGltaXR5L25vLXBhZ2UtY2FjaGUuaHRtbDog
QWRkZWQuCisgICAgICAgICogcHJveGltaXR5L29wdGlvbmFsLWV2ZW50LXByb3BlcnRpZXMtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwcm94aW1pdHkvb3B0aW9uYWwtZXZlbnQtcHJv
cGVydGllcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwcm94aW1pdHkvcmVzb3VyY2VzL2NhY2hl
ZC1wYWdlLTEuaHRtbDogQWRkZWQuCisgICAgICAgICogcHJveGltaXR5L3Jlc291cmNlcy9jYWNo
ZWQtcGFnZS0yLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHByb3hpbWl0eS9yZXNvdXJjZXMvZXZl
bnQtYWZ0ZXItbmF2aWdhdGlvbi1uZXcuaHRtbDogQWRkZWQuCisgICAgICAgICogcHJveGltaXR5
L3VwZGF0ZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwcm94aW1pdHkvdXBkYXRl
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwcm94aW1pdHkvd2luZG93LXByb3BlcnR5LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcHJveGltaXR5L3dpbmRvdy1wcm9wZXJ0eS5odG1s
OiBBZGRlZC4KKwogMjAxMi0xMi0wNiAgRG9taW5pYyBDb29uZXkgIDxkb21pbmljY0BjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgRWxlbWVudC5wc2V1ZG8gcHJvcGVydHkgc2hvdWxkIGJlIHByZWZp
eGVkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wcm94aW1pdHkvYWRkLWxpc3RlbmVyLWZyb20t
Y2FsbGJhY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L2FkZC1saXN0ZW5l
ci1mcm9tLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MGI4NjcxODM4Y2YzMzIz
Y2QxNWU3NGZkNzZhMWZmYjhhODYxNjllCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
cHJveGltaXR5L2FkZC1saXN0ZW5lci1mcm9tLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDE4IEBACitUZXN0cyB0aGF0IGFkZGluZyBhIG5ldyBldmVudCBsaXN0ZW5lciBmcm9tIGEg
Y2FsbGJhY2sgd29ya3MgYXMgZXhwZWN0ZWQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworCitQQVNTIGRldmljZVByb3hpbWl0eUV2ZW50LnZhbHVlIGlzIGZpcmVkRXZlbnQudmFsdWUK
K1BBU1MgZGV2aWNlUHJveGltaXR5RXZlbnQubWluIGlzIGZpcmVkRXZlbnQubWluCitQQVNTIGRl
dmljZVByb3hpbWl0eUV2ZW50Lm1heCBpcyBmaXJlZEV2ZW50Lm1heAorUEFTUyBkZXZpY2VQcm94
aW1pdHlFdmVudC52YWx1ZSBpcyBmaXJlZEV2ZW50LnZhbHVlCitQQVNTIGRldmljZVByb3hpbWl0
eUV2ZW50Lm1pbiBpcyBmaXJlZEV2ZW50Lm1pbgorUEFTUyBkZXZpY2VQcm94aW1pdHlFdmVudC5t
YXggaXMgZmlyZWRFdmVudC5tYXgKK1BBU1MgZGV2aWNlUHJveGltaXR5RXZlbnQudmFsdWUgaXMg
ZmlyZWRFdmVudC52YWx1ZQorUEFTUyBkZXZpY2VQcm94aW1pdHlFdmVudC5taW4gaXMgZmlyZWRF
dmVudC5taW4KK1BBU1MgZGV2aWNlUHJveGltaXR5RXZlbnQubWF4IGlzIGZpcmVkRXZlbnQubWF4
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcHJveGltaXR5L2FkZC1saXN0ZW5lci1mcm9tLWNhbGxiYWNr
Lmh0bWwgYi9MYXlvdXRUZXN0cy9wcm94aW1pdHkvYWRkLWxpc3RlbmVyLWZyb20tY2FsbGJhY2su
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40OThmNmZkMzRhNjNmNmU3NTM4MjUwMWYxM2Y5ZGI5NjM3NjdlZDNl
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L2FkZC1saXN0ZW5lci1m
cm9tLWNhbGxiYWNrLmh0bWwKQEAgLTAsMCArMSw1MCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVzdHMgdGhhdCBhZGRpbmcg
YSBuZXcgZXZlbnQgbGlzdGVuZXIgZnJvbSBhIGNhbGxiYWNrIHdvcmtzIGFzIGV4cGVjdGVkLicp
OworCit2YXIgZmlyZWRFdmVudCA9IHt2YWx1ZTogMi4yLCBtaW46IDEuMSwgbWF4OiAzLjN9Owor
Cit2YXIgZGV2aWNlUHJveGltaXR5RXZlbnQ7CitmdW5jdGlvbiBjaGVja1Byb3hpbWl0eShldmVu
dCkgeworICAgIGRldmljZVByb3hpbWl0eUV2ZW50ID0gZXZlbnQ7CisgICAgc2hvdWxkQmUoJ2Rl
dmljZVByb3hpbWl0eUV2ZW50LnZhbHVlJywgJ2ZpcmVkRXZlbnQudmFsdWUnKTsKKyAgICBzaG91
bGRCZSgnZGV2aWNlUHJveGltaXR5RXZlbnQubWluJywgJ2ZpcmVkRXZlbnQubWluJyk7CisgICAg
c2hvdWxkQmUoJ2RldmljZVByb3hpbWl0eUV2ZW50Lm1heCcsICdmaXJlZEV2ZW50Lm1heCcpOwor
fQorCit2YXIgZmlyc3RMaXN0ZW5lckV2ZW50cyA9IDA7CitmdW5jdGlvbiBmaXJzdExpc3RlbmVy
KGV2ZW50KSB7CisgICAgY2hlY2tQcm94aW1pdHkoZXZlbnQpOworICAgIGlmICgrK2ZpcnN0TGlz
dGVuZXJFdmVudHMgPT0gMSkgeworICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignd2Vi
a2l0ZGV2aWNlcHJveGltaXR5Jywgc2Vjb25kTGlzdGVuZXIpOworICAgICAgICBpbnRlcm5hbHMu
c2V0RGV2aWNlUHJveGltaXR5KGRvY3VtZW50LCAnd2Via2l0ZGV2aWNlcHJveGltaXR5JywgZmly
ZWRFdmVudC52YWx1ZSwgZmlyZWRFdmVudC5taW4sIGZpcmVkRXZlbnQubWF4KTsKKyAgICB9Cisg
ICAgZWxzZSBpZiAoZmlyc3RMaXN0ZW5lckV2ZW50cyA+IDIpCisgICAgICAgIHRlc3RGYWlsZWQo
J1RvbyBtYW55IGV2ZW50cyBmb3IgZmlyc3QgbGlzdGVuZXIuJyk7CisgICAgbWF5YmVGaW5pc2hU
ZXN0KCk7Cit9CisKK3ZhciBzZWNvbmRMaXN0ZW5lckV2ZW50cyA9IDA7CitmdW5jdGlvbiBzZWNv
bmRMaXN0ZW5lcihldmVudCkgeworICAgIGNoZWNrUHJveGltaXR5KGV2ZW50KTsKKyAgICBpZiAo
KytzZWNvbmRMaXN0ZW5lckV2ZW50cyA+IDEpCisgICAgICAgIHRlc3RGYWlsZWQoJ1RvbyBtYW55
IGV2ZW50cyBmb3Igc2Vjb25kIGxpc3RlbmVyLicpOworICAgIG1heWJlRmluaXNoVGVzdCgpOwor
fQorCitmdW5jdGlvbiBtYXliZUZpbmlzaFRlc3QoKSB7CisgICAgaWYgKGZpcnN0TGlzdGVuZXJF
dmVudHMgPT0gMiAmJiBzZWNvbmRMaXN0ZW5lckV2ZW50cyA9PSAxKQorICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKK30KKword2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdGRldmljZXByb3hp
bWl0eScsIGZpcnN0TGlzdGVuZXIpOworaW50ZXJuYWxzLnNldERldmljZVByb3hpbWl0eShkb2N1
bWVudCwgJ3dlYmtpdGRldmljZXByb3hpbWl0eScsIGZpcmVkRXZlbnQudmFsdWUsIGZpcmVkRXZl
bnQubWluLCBmaXJlZEV2ZW50Lm1heCk7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Cis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cHJveGltaXR5L2Jhc2ljLW9wZXJhdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wcm94
aW1pdHkvYmFzaWMtb3BlcmF0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kOTY2MWEzM2Vi
Njg4MjMxMjFmZGM0M2UwZWQzZjYwYzdhMzk3NWY3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvcHJveGltaXR5L2Jhc2ljLW9wZXJhdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MiBAQAorVGVzdHMgdGhlIGJhc2ljIG9wZXJhdGlvbiBvZiBEZXZpY2VQcm94aW1pdHkgdXNpbmcg
dGhlIHByb3hpbWl0eS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgZGV2
aWNlUHJveGltaXR5RXZlbnQudmFsdWUgaXMgZmlyZWRFdmVudC52YWx1ZQorUEFTUyBkZXZpY2VQ
cm94aW1pdHlFdmVudC5taW4gaXMgZmlyZWRFdmVudC5tYXgKK1BBU1MgZGV2aWNlUHJveGltaXR5
RXZlbnQubWF4IGlzIGZpcmVkRXZlbnQubWluCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcHJveGltaXR5
L2Jhc2ljLW9wZXJhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L2Jhc2ljLW9wZXJh
dGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVjMWVmNGRlZDJiMzJkODI0MjNlZDc0YmY4OTI4NTFlMmEx
YzdjNGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wcm94aW1pdHkvYmFzaWMtb3Bl
cmF0aW9uLmh0bWwKQEAgLTAsMCArMSwyNSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVzdHMgdGhlIGJhc2ljIG9wZXJhdGlv
biBvZiBEZXZpY2VQcm94aW1pdHkgdXNpbmcgdGhlIHByb3hpbWl0eS4nKTsKKwordmFyIGZpcmVk
RXZlbnQgPSB7dmFsdWU6IDIuMiwgbWluOiAxLjEsIG1heDogMy4zfTsKKwordmFyIGRldmljZVBy
b3hpbWl0eUV2ZW50Oword2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdGRldmljZXByb3hp
bWl0eScsIGZ1bmN0aW9uKGUpIHsKKyAgICBkZXZpY2VQcm94aW1pdHlFdmVudCA9IGU7CisgICAg
c2hvdWxkQmUoJ2RldmljZVByb3hpbWl0eUV2ZW50LnZhbHVlJywgJ2ZpcmVkRXZlbnQudmFsdWUn
KTsKKyAgICBzaG91bGRCZSgnZGV2aWNlUHJveGltaXR5RXZlbnQubWluJywgJ2ZpcmVkRXZlbnQu
bWF4Jyk7CisgICAgc2hvdWxkQmUoJ2RldmljZVByb3hpbWl0eUV2ZW50Lm1heCcsICdmaXJlZEV2
ZW50Lm1pbicpOworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7CisKK2ludGVybmFscy5zZXREZXZp
Y2VQcm94aW1pdHkoZG9jdW1lbnQsICd3ZWJraXRkZXZpY2Vwcm94aW1pdHknLCBmaXJlZEV2ZW50
LnZhbHVlLCBmaXJlZEV2ZW50Lm1heCwgZmlyZWRFdmVudC5taW4pOword2luZG93LmpzVGVzdElz
QXN5bmMgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3Byb3hpbWl0eS9jcmVhdGUtZXZlbnQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcHJveGltaXR5L2NyZWF0ZS1ldmVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZWNmNTk2NzVmZjA1YTZmMzBlM2UxZGQ4NjEzOGNkYmQ5MGJlYmM0MwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9jcmVhdGUtZXZlbnQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMjIgQEAKK1Rlc3RzIHRoYXQgZG9jdW1lbnQuY3JlYXRlRXZlbnQoKSB3b3JrcyB3aXRo
IERldmljZVByb3hpbWl0eUV2ZW50LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
UEFTUyB0eXBlb2YgZXZlbnQgPT0gJ29iamVjdCcgaXMgdHJ1ZQorUEFTUyAndHlwZScgaW4gZXZl
bnQgaXMgdHJ1ZQorUEFTUyAnYnViYmxlcycgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAnY2FuY2Vs
YWJsZScgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAndmFsdWUnIGluIGV2ZW50IGlzIHRydWUKK1BB
U1MgJ21pbicgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyAnbWF4JyBpbiBldmVudCBpcyB0cnVlCitQ
QVNTIHR5cGVvZiBldmVudC50eXBlID09ICdzdHJpbmcnIGlzIHRydWUKK1BBU1MgdHlwZW9mIGV2
ZW50LmJ1YmJsZXMgPT0gJ2Jvb2xlYW4nIGlzIHRydWUKK1BBU1MgdHlwZW9mIGV2ZW50LmNhbmNl
bGFibGUgPT0gJ2Jvb2xlYW4nIGlzIHRydWUKK1BBU1MgdHlwZW9mIGV2ZW50LnZhbHVlID09ICdu
dW1iZXInIGlzIHRydWUKK1BBU1MgdHlwZW9mIGV2ZW50Lm1pbiA9PSAnbnVtYmVyJyBpcyB0cnVl
CitQQVNTIHR5cGVvZiBldmVudC5tYXggPT0gJ251bWJlcicgaXMgdHJ1ZQorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3Byb3hpbWl0eS9jcmVhdGUtZXZlbnQuaHRtbCBiL0xheW91dFRlc3RzL3Byb3hpbWl0
eS9jcmVhdGUtZXZlbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMjEzOWE4NmQ3NDJkNjc2YzhmYjc4ODg2
YzZhMzVkZjM4ZWZhNmZlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcHJveGltaXR5
L2NyZWF0ZS1ldmVudC5odG1sCkBAIC0wLDAgKzEsMjkgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3RzIHRoYXQgZG9jdW1l
bnQuY3JlYXRlRXZlbnQoKSB3b3JrcyB3aXRoIERldmljZVByb3hpbWl0eUV2ZW50LicpOworCit2
YXIgZXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnRGV2aWNlUHJveGltaXR5RXZlbnQnKTsK
Kworc2hvdWxkQmVUcnVlKCJ0eXBlb2YgZXZlbnQgPT0gJ29iamVjdCciKTsKKworc2hvdWxkQmVU
cnVlKCIndHlwZScgaW4gZXZlbnQiKTsKK3Nob3VsZEJlVHJ1ZSgiJ2J1YmJsZXMnIGluIGV2ZW50
Iik7CitzaG91bGRCZVRydWUoIidjYW5jZWxhYmxlJyBpbiBldmVudCIpOworc2hvdWxkQmVUcnVl
KCIndmFsdWUnIGluIGV2ZW50Iik7CitzaG91bGRCZVRydWUoIidtaW4nIGluIGV2ZW50Iik7Citz
aG91bGRCZVRydWUoIidtYXgnIGluIGV2ZW50Iik7CisKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIGV2
ZW50LnR5cGUgPT0gJ3N0cmluZyciKTsKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIGV2ZW50LmJ1YmJs
ZXMgPT0gJ2Jvb2xlYW4nIik7CitzaG91bGRCZVRydWUoInR5cGVvZiBldmVudC5jYW5jZWxhYmxl
ID09ICdib29sZWFuJyIpOworc2hvdWxkQmVUcnVlKCJ0eXBlb2YgZXZlbnQudmFsdWUgPT0gJ251
bWJlciciKTsKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIGV2ZW50Lm1pbiA9PSAnbnVtYmVyJyIpOwor
c2hvdWxkQmVUcnVlKCJ0eXBlb2YgZXZlbnQubWF4ID09ICdudW1iZXInIik7Cis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcHJveGltaXR5
L2V2ZW50LWFmdGVyLW5hdmlnYXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcHJveGlt
aXR5L2V2ZW50LWFmdGVyLW5hdmlnYXRpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhlNmJj
Mzk4MjY3NzdiMTgzZTRiMGZjYmVjY2U3ZWMyNmZkMGZkMWQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9wcm94aW1pdHkvZXZlbnQtYWZ0ZXItbmF2aWdhdGlvbi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzIEBACitUZXN0cyBmb3IgYSBjcmFzaCB3aGVyZSBhbiBldmVudCBpcyBmaXJl
ZCBhZnRlciB0aGUgcGFnZSBoYXMgYmVlbiBuYXZpZ2F0ZWQgYXdheSB3aGVuIHRoZSBvcmlnaW5h
bCBwYWdlIGlzIGluIHRoZSBwYWdlIGNhY2hlLgorCitTVUNDRVNTCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wcm94aW1pdHkvZXZlbnQtYWZ0ZXItbmF2aWdhdGlvbi5odG1sIGIvTGF5b3V0VGVz
dHMvcHJveGltaXR5L2V2ZW50LWFmdGVyLW5hdmlnYXRpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZDQ0
N2U1YmU5MTNlYTJjMWMwMDZkZTNjZjQ4MWYwNWI5ODEyYTlkCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvcHJveGltaXR5L2V2ZW50LWFmdGVyLW5hdmlnYXRpb24uaHRtbApAQCAtMCww
ICsxLDIzIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4K
K2Rlc2NyaXB0aW9uKCdUZXN0cyBmb3IgYSBjcmFzaCB3aGVyZSBhbiBldmVudCBpcyBmaXJlZCBh
ZnRlciB0aGUgcGFnZSBoYXMgYmVlbiBuYXZpZ2F0ZWQgYXdheSB3aGVuIHRoZSBvcmlnaW5hbCBw
YWdlIGlzIGluIHRoZSBwYWdlIGNhY2hlLicpOworCitpZiAod2luZG93LnRlc3RSdW5uZXIpCisg
ICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoJ1dlYktpdFVzZXNQYWdlQ2FjaGVQcmVm
ZXJlbmNlS2V5JywgMSk7CitlbHNlCisgICAgZGVidWcoJ1RoaXMgdGVzdCBjYW4gbm90IGJlIHJ1
biB3aXRob3V0IHRoZSBUZXN0UnVubmVyJyk7CisKK2RvY3VtZW50LmJvZHkub25sb2FkID0gZnVu
Y3Rpb24oKSB7CisgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdGRldmljZXByb3hp
bWl0eScsIGZ1bmN0aW9uKCkgeyB9ICk7CisgICAgd2luZG93LmxvY2F0aW9uID0gInJlc291cmNl
cy9ldmVudC1hZnRlci1uYXZpZ2F0aW9uLW5ldy5odG1sIjsKK30KKword2luZG93LmpzVGVzdElz
QXN5bmMgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3Byb3hpbWl0eS9tdWx0aXBsZS1mcmFtZXMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvcHJveGltaXR5L211bHRpcGxlLWZyYW1lcy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNjA1ZjRlM2ZmMjZmOGIwZDEwYzI5YWQxMGQxMjQ0ZGVkM2M1NzYzMAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9tdWx0aXBsZS1mcmFtZXMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTUgQEAKK1Rlc3RzIHVzaW5nIERldmljZVByb3hpbWl0eSBmcm9tIG11
bHRpcGxlIGZyYW1lcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgRGV2
aWNlUHJveGltaXR5RXZlbnQudmFsdWUgaXMgZmlyZWRFdmVudC52YWx1ZQorUEFTUyBEZXZpY2VQ
cm94aW1pdHlFdmVudC5taW4gaXMgZmlyZWRFdmVudC5taW4KK1BBU1MgRGV2aWNlUHJveGltaXR5
RXZlbnQubWF4IGlzIGZpcmVkRXZlbnQubWF4CitQQVNTIERldmljZVByb3hpbWl0eUV2ZW50LnZh
bHVlIGlzIGZpcmVkRXZlbnQudmFsdWUKK1BBU1MgRGV2aWNlUHJveGltaXR5RXZlbnQubWluIGlz
IGZpcmVkRXZlbnQubWluCitQQVNTIERldmljZVByb3hpbWl0eUV2ZW50Lm1heCBpcyBmaXJlZEV2
ZW50Lm1heAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Byb3hpbWl0eS9tdWx0aXBsZS1mcmFtZXMuaHRt
bCBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9tdWx0aXBsZS1mcmFtZXMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5iN2M5MzhlMTIwNDFlYjEwODY4OGM0MzM1ODMwM2M2NmQ4ZjA5NTQ4Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L211bHRpcGxlLWZyYW1lcy5odG1sCkBAIC0wLDAg
KzEsNDggQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0Pgor
ZGVzY3JpcHRpb24oJ1Rlc3RzIHVzaW5nIERldmljZVByb3hpbWl0eSBmcm9tIG11bHRpcGxlIGZy
YW1lcy4nKTsKKwordmFyIERldmljZVByb3hpbWl0eUV2ZW50OworZnVuY3Rpb24gY2hlY2tQcm94
aW1pdHkoZXZlbnQpIHsKKyAgICBEZXZpY2VQcm94aW1pdHlFdmVudCA9IGV2ZW50OworICAgIHNo
b3VsZEJlKCdEZXZpY2VQcm94aW1pdHlFdmVudC52YWx1ZScsICdmaXJlZEV2ZW50LnZhbHVlJyk7
CisgICAgc2hvdWxkQmUoJ0RldmljZVByb3hpbWl0eUV2ZW50Lm1pbicsICdmaXJlZEV2ZW50Lm1p
bicpOworICAgIHNob3VsZEJlKCdEZXZpY2VQcm94aW1pdHlFdmVudC5tYXgnLCAnZmlyZWRFdmVu
dC5tYXgnKTsKK30KKwordmFyIGhhc01haW5GcmFtZUV2ZW50RmlyZWQgPSBmYWxzZTsKK2Z1bmN0
aW9uIG1haW5GcmFtZUxpc3RlbmVyKGV2ZW50KSB7CisgICAgY2hlY2tQcm94aW1pdHkoZXZlbnQp
OworICAgIGhhc01haW5GcmFtZUV2ZW50RmlyZWQgPSB0cnVlOworICAgIG1heWJlRmluaXNoVGVz
dCgpOworfQorCit2YXIgaGFzQ2hpbGRGcmFtZUV2ZW50RmlyZWQgPSBmYWxzZTsKK2Z1bmN0aW9u
IGNoaWxkRnJhbWVMaXN0ZW5lcihldmVudCkgeworICAgIGNoZWNrUHJveGltaXR5KGV2ZW50KTsK
KyAgICBoYXNDaGlsZEZyYW1lRXZlbnRGaXJlZCA9IHRydWU7CisgICAgbWF5YmVGaW5pc2hUZXN0
KCk7Cit9CisKK2Z1bmN0aW9uIG1heWJlRmluaXNoVGVzdCgpIHsKKyAgICBpZiAoaGFzTWFpbkZy
YW1lRXZlbnRGaXJlZCAmJiBoYXNDaGlsZEZyYW1lRXZlbnRGaXJlZCkKKyAgICAgICAgZmluaXNo
SlNUZXN0KCk7Cit9CisKK3ZhciBjaGlsZEZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
aWZyYW1lJyk7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGNoaWxkRnJhbWUpOworY2hpbGRG
cmFtZS5jb250ZW50V2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdGRldmljZXByb3hpbWl0
eScsIGNoaWxkRnJhbWVMaXN0ZW5lcik7CisKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCd3ZWJr
aXRkZXZpY2Vwcm94aW1pdHknLCBtYWluRnJhbWVMaXN0ZW5lcik7Cit2YXIgZmlyZWRFdmVudCA9
IHt2YWx1ZTogMi4yLCBtaW46IDEuMSwgbWF4OiAzLjN9OworaW50ZXJuYWxzLnNldERldmljZVBy
b3hpbWl0eShkb2N1bWVudCwgJ3dlYmtpdGRldmljZXByb3hpbWl0eScsIGZpcmVkRXZlbnQudmFs
dWUsIGZpcmVkRXZlbnQubWluLCBmaXJlZEV2ZW50Lm1heCk7CisKK3dpbmRvdy5qc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wcm94aW1pdHkvbm8tcGFnZS1jYWNoZS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9wcm94aW1pdHkvbm8tcGFnZS1jYWNoZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NjM2NjVkNWVkMmMwYWNlNDM4ZDZjNmMzNzAzMzFiMWQ0MGQzZjg5NAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9uby1wYWdlLWNhY2hlLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDE0IEBACitUZXN0cyB0aGF0IHBhZ2VzIHRoYXQgdXNlIERldmljZVByb3hpbWl0eSBh
cmUgbm90IHB1dCBpbiB0aGUgcGFnZSBjYWNoZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKK01haW4gcGFnZSBvcGVuaW5nIHJlc291cmNlcy9jYWNoZWQtcGFnZS0xLmh0bWwKK3Jl
c291cmNlcy9jYWNoZWQtcGFnZS0xLmh0bWwgb25sb2FkIGZpcmVkLCBjb3VudCA9IDEKK3Jlc291
cmNlcy9jYWNoZWQtcGFnZS0xLmh0bWwgYWJvdXQgdG8gbmF2aWdhdGUgdG8gcmVzb3VyY2VzL2Nh
Y2hlZC1wYWdlLTIuaHRtbAorcmVzb3VyY2VzL2NhY2hlZC1wYWdlLTIuaHRtbCBhYm91dCB0byBn
byBiYWNrIHRvIHJlc291cmNlcy9jYWNoZWQtcGFnZS0xLmh0bWwKK3Jlc291cmNlcy9jYWNoZWQt
cGFnZS0xLmh0bWwgb25sb2FkIGZpcmVkLCBjb3VudCA9IDIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
cm94aW1pdHkvbm8tcGFnZS1jYWNoZS5odG1sIGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L25vLXBh
Z2UtY2FjaGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZTZjNzNhYTAwYTViM2E4MDRlNTA5Nzk4YjA4M2Q3
ODUxMTBkN2NkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L25vLXBh
Z2UtY2FjaGUuaHRtbApAQCAtMCwwICsxLDMzIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0cyB0aGF0IHBhZ2VzIHRoYXQg
dXNlIERldmljZVByb3hpbWl0eSBhcmUgbm90IHB1dCBpbiB0aGUgcGFnZSBjYWNoZS4nKTsKKwor
aWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7
CisgICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cygpOworICAgIHRlc3RSdW5uZXIub3Zl
cnJpZGVQcmVmZXJlbmNlKCdXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleScsIDEpOwor
fSBlbHNlCisgICAgZGVidWcoJ1RoaXMgdGVzdCBjYW4gbm90IGJlIHJ1biB3aXRob3V0IHRoZSBU
ZXN0UnVubmVyJyk7CisKK3ZhciBwYWdlT25lT25sb2FkQ291bnQgPSAwOworZnVuY3Rpb24gcmVw
b3J0UGFnZU9uZU9ubG9hZCgpIHsKKyAgICArK3BhZ2VPbmVPbmxvYWRDb3VudDsKKyAgICBkZWJ1
ZygncmVzb3VyY2VzL2NhY2hlZC1wYWdlLTEuaHRtbCBvbmxvYWQgZmlyZWQsIGNvdW50ID0gJyAr
IHBhZ2VPbmVPbmxvYWRDb3VudCk7CisgICAgaWYgKHBhZ2VPbmVPbmxvYWRDb3VudCA9PSAyKSB7
CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0KKyAgICByZXR1cm4gcGFnZU9uZU9ubG9h
ZENvdW50OworfQorCitkZWJ1ZygiTWFpbiBwYWdlIG9wZW5pbmcgcmVzb3VyY2VzL2NhY2hlZC1w
YWdlLTEuaHRtbCIpOword2luZG93Lm9wZW4oInJlc291cmNlcy9jYWNoZWQtcGFnZS0xLmh0bWwi
KTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Byb3hpbWl0eS9vcHRpb25hbC1l
dmVudC1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9vcHRp
b25hbC1ldmVudC1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MDc5OGRiNTE1
YTU1ZTY3MTEzYmU5YjI0NGY4NmYyNGFiYWU3OTRiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvcHJveGltaXR5L29wdGlvbmFsLWV2ZW50LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1Rlc3RzIHRoZSBvcHRpb25hbCBwcm9wZXJ0aWVzIG9mIERldmljZVBy
b3hpbWl0eUV2ZW50LiBFYWNoIHByb3BlcnR5IHNob3VsZCBiZSBudWxsIGlmIG5vdCBzZXQsIG9y
IHNldCB0byBudWxsIG9yIHVuZGVmaW5lZC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK2V2ZW50ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0RldmljZVByb3hpbWl0eUV2ZW50JykK
K1BBU1MgZXZlbnQudmFsdWUgPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIGlzIHRydWUKK1BB
U1MgZXZlbnQubWluID09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSBpcyB0cnVlCitQQVNTIGV2
ZW50Lm1heCA9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgaXMgdHJ1ZQorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3Byb3hpbWl0eS9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9wcm94aW1pdHkvb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmZmNjQ0OTI3OTI0NjRlNGVlNjFiZWUwY2I3YzQzMDhjNTQ5ZTY5OTgKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9wcm94aW1pdHkvb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy5odG1s
CkBAIC0wLDAgKzEsMTcgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3RzIHRoZSBvcHRpb25hbCBwcm9wZXJ0aWVzIG9mIERl
dmljZVByb3hpbWl0eUV2ZW50LiBFYWNoIHByb3BlcnR5IHNob3VsZCBiZSBudWxsIGlmIG5vdCBz
ZXQsIG9yIHNldCB0byBudWxsIG9yIHVuZGVmaW5lZC4nKTsKKwordmFyIGV2ZW50OworZXZhbEFu
ZExvZygiZXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnRGV2aWNlUHJveGltaXR5RXZlbnQn
KSIpOworc2hvdWxkQmVUcnVlKCJldmVudC52YWx1ZSA9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5J
VFkiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQubWluID09IE51bWJlci5ORUdBVElWRV9JTkZJTklU
WSIpOworc2hvdWxkQmVUcnVlKCJldmVudC5tYXggPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZ
Iik7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcHJveGltaXR5L3Jlc291cmNlcy9jYWNoZWQtcGFnZS0xLmh0bWwgYi9MYXlvdXRUZXN0
cy9wcm94aW1pdHkvcmVzb3VyY2VzL2NhY2hlZC1wYWdlLTEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZDA2
MmNjZTkxMjhkMTUyZDhhOTljMDJlN2E4YjQ5ODRjNTdiMmM3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvcHJveGltaXR5L3Jlc291cmNlcy9jYWNoZWQtcGFnZS0xLmh0bWwKQEAgLTAs
MCArMSwxMSBAQAorPHNjcmlwdD4KK2Z1bmN0aW9uIGxvYWROZXh0KCkgeworICAgIHdpbmRvdy5h
ZGRFdmVudExpc3RlbmVyKCd3ZWJraXRkZXZpY2Vwcm94aW1pdHknLCBmdW5jdGlvbigpIHt9KTsK
KyAgICBpZiAod2luZG93Lm9wZW5lci5yZXBvcnRQYWdlT25lT25sb2FkKCkgPT0gMSkgeworICAg
ICAgICB3aW5kb3cub3BlbmVyLmRlYnVnKCdyZXNvdXJjZXMvY2FjaGVkLXBhZ2UtMS5odG1sIGFi
b3V0IHRvIG5hdmlnYXRlIHRvIHJlc291cmNlcy9jYWNoZWQtcGFnZS0yLmh0bWwnKQorICAgICAg
ICAvLyBMb2NhdGlvbiBjaGFuZ2VzIG5lZWQgdG8gaGFwcGVuIG91dHNpZGUgdGhlIG9ubG9hZCBo
YW5kbGVyIHRvIGdlbmVyYXRlIGhpc3RvcnkgZW50cmllcy4KKyAgICAgICAgc2V0VGltZW91dChm
dW5jdGlvbigpIHsgbG9jYXRpb24uaHJlZiA9ICdjYWNoZWQtcGFnZS0yLmh0bWwnOyB9LCAwKTsK
KyAgICB9Cit9Cis8L3NjcmlwdD4KKzxib2R5IG9ubG9hZD0ibG9hZE5leHQoKSI+PC9ib2R5Pgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Byb3hp
bWl0eS9yZXNvdXJjZXMvY2FjaGVkLXBhZ2UtMi5odG1sIGIvTGF5b3V0VGVzdHMvcHJveGltaXR5
L3Jlc291cmNlcy9jYWNoZWQtcGFnZS0yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODJiODhjYmMxODAwOTBi
MmQ0NmM3MTBiZmVlNDgzNjViMjQyZTIyNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3Byb3hpbWl0eS9yZXNvdXJjZXMvY2FjaGVkLXBhZ2UtMi5odG1sCkBAIC0wLDAgKzEsOCBAQAor
PHNjcmlwdD4KK2Z1bmN0aW9uIGluaXQoKSB7CisgICAgd2luZG93Lm9wZW5lci5wYWdlVHdvTG9h
ZGVkID0gdHJ1ZTsKKyAgICB3aW5kb3cub3BlbmVyLmRlYnVnKCdyZXNvdXJjZXMvY2FjaGVkLXBh
Z2UtMi5odG1sIGFib3V0IHRvIGdvIGJhY2sgdG8gcmVzb3VyY2VzL2NhY2hlZC1wYWdlLTEuaHRt
bCcpOworICAgIGhpc3RvcnkuYmFjaygpOworfQorPC9zY3JpcHQ+Cis8Ym9keSBvbmxvYWQ9Imlu
aXQoKSI+PC9ib2R5PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3Byb3hpbWl0eS9yZXNvdXJjZXMvZXZlbnQtYWZ0ZXItbmF2aWdhdGlvbi1uZXcu
aHRtbCBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9yZXNvdXJjZXMvZXZlbnQtYWZ0ZXItbmF2aWdh
dGlvbi1uZXcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNjY0NGNlZjMwNDRiZjJiMDU5OGQ2NWE2OGZjNGVh
YjE5OTAwZDQ0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L3Jlc291
cmNlcy9ldmVudC1hZnRlci1uYXZpZ2F0aW9uLW5ldy5odG1sCkBAIC0wLDAgKzEsMTUgQEAKKzxo
dG1sPgorPGhlYWQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICBUZXN0cyBmb3IgYSBjcmFzaCB3aGVy
ZSBhbiBldmVudCBpcyBmaXJlZCBhZnRlciB0aGUgcGFnZSBoYXMgYmVlbiBuYXZpZ2F0ZWQKKyAg
ICBhd2F5IHdoZW4gdGhlIG9yaWdpbmFsIHBhZ2UgaXMgaW4gdGhlIHBhZ2UgY2FjaGUuPGJyPjxi
cj4KKyAgICBTVUNDRVNTCisgICAgPHNjcmlwdD4KKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKSB7CisgICAgICAgICAgICBpbnRlcm5hbHMuc2V0RGV2aWNlUHJveGltaXR5KGRvY3VtZW50
LCAnd2Via2l0ZGV2aWNlcHJveGltaXR5JywgMS4xLCAyLjIsIDMuMyk7CisgICAgICAgICAgICB0
ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgfQorICAgIDwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3Byb3hpbWl0eS91cGRhdGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Byb3hp
bWl0eS91cGRhdGVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MjMxZTM3ODM5ZDA0ZTc4N2Zj
NDFlY2RlOTE3MDc3MzQwMTg1NTU1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcHJv
eGltaXR5L3VwZGF0ZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK1Rlc3RzIHRoYXQg
dXBkYXRlcyB0byB0aGUgcHJveGltaXR5IGNhdXNlcyBuZXcgZXZlbnRzIHRvIGZpcmUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGRldmljZVByb3hpbWl0eUV2ZW50LnZh
bHVlIGlzIGZpcmVkRXZlbnQudmFsdWUKK1BBU1MgZGV2aWNlUHJveGltaXR5RXZlbnQubWluIGlz
IGZpcmVkRXZlbnQubWluCitQQVNTIGRldmljZVByb3hpbWl0eUV2ZW50Lm1heCBpcyBmaXJlZEV2
ZW50Lm1heAorUEFTUyBkZXZpY2VQcm94aW1pdHlFdmVudC52YWx1ZSBpcyBmaXJlZEV2ZW50LnZh
bHVlCitQQVNTIGRldmljZVByb3hpbWl0eUV2ZW50Lm1pbiBpcyBmaXJlZEV2ZW50Lm1pbgorUEFT
UyBkZXZpY2VQcm94aW1pdHlFdmVudC5tYXggaXMgZmlyZWRFdmVudC5tYXgKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wcm94aW1pdHkvdXBkYXRlcy5odG1sIGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L3Vw
ZGF0ZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZTg4MmVlYmQzNzgxZWE5NDkxMWE2NGM2YTU5ZDU1MjZh
NTgxNWNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L3VwZGF0ZXMu
aHRtbApAQCAtMCwwICsxLDQxIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0cyB0aGF0IHVwZGF0ZXMgdG8gdGhlIHByb3hp
bWl0eSBjYXVzZXMgbmV3IGV2ZW50cyB0byBmaXJlLicpOworCit2YXIgZmlyZWRFdmVudDsKK2Z1
bmN0aW9uIHNldFByb3hpbWl0eSh2YWx1ZSwgbWluLCBtYXgpIHsKKyAgICBmaXJlZEV2ZW50ID0g
e3ZhbHVlOiB2YWx1ZSwgbWluOiBtaW4sIG1heDogbWF4fTsKKyAgICBpbnRlcm5hbHMuc2V0RGV2
aWNlUHJveGltaXR5KGRvY3VtZW50LCAnd2Via2l0ZGV2aWNlcHJveGltaXR5JywgZmlyZWRFdmVu
dC52YWx1ZSwgZmlyZWRFdmVudC5taW4sIGZpcmVkRXZlbnQubWF4KTsKK30KKwordmFyIGRldmlj
ZVByb3hpbWl0eUV2ZW50OworZnVuY3Rpb24gY2hlY2tQcm94aW1pdHkoZXZlbnQpIHsKKyAgICBk
ZXZpY2VQcm94aW1pdHlFdmVudCA9IGV2ZW50OworICAgIHNob3VsZEJlKCdkZXZpY2VQcm94aW1p
dHlFdmVudC52YWx1ZScsICdmaXJlZEV2ZW50LnZhbHVlJyk7CisgICAgc2hvdWxkQmUoJ2Rldmlj
ZVByb3hpbWl0eUV2ZW50Lm1pbicsICdmaXJlZEV2ZW50Lm1pbicpOworICAgIHNob3VsZEJlKCdk
ZXZpY2VQcm94aW1pdHlFdmVudC5tYXgnLCAnZmlyZWRFdmVudC5tYXgnKTsKK30KKworZnVuY3Rp
b24gZmlyc3RMaXN0ZW5lcihldmVudCkgeworICAgIGNoZWNrUHJveGltaXR5KGV2ZW50KTsKKyAg
ICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2Via2l0ZGV2aWNlcHJveGltaXR5JywgZmly
c3RMaXN0ZW5lcik7CisgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdGRldmljZXBy
b3hpbWl0eScsIHVwZGF0ZUxpc3RlbmVyKTsKKyAgICBzZXRQcm94aW1pdHkoMjIuMiwgMTEuMSwg
MzMuMyk7Cit9CisKK2Z1bmN0aW9uIHVwZGF0ZUxpc3RlbmVyKGV2ZW50KSB7CisgICAgY2hlY2tQ
cm94aW1pdHkoZXZlbnQpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCit3aW5kb3cuYWRkRXZl
bnRMaXN0ZW5lcignd2Via2l0ZGV2aWNlcHJveGltaXR5JywgZmlyc3RMaXN0ZW5lcik7CitzZXRQ
cm94aW1pdHkoMi4yLCAxLjEsIDMuMyk7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Cis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cHJveGltaXR5L3dpbmRvdy1wcm9wZXJ0eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wcm94
aW1pdHkvd2luZG93LXByb3BlcnR5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kM2U3NWQ4ODUy
NjNmYmZmNjM0YWNiZmUyODEyODdhNWYyYzk0ZTk1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvcHJveGltaXR5L3dpbmRvdy1wcm9wZXJ0eS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
OCBAQAorVGVzdHMgdGhhdCB0aGUgd2luZG93LkRldmljZVByb3hpbWl0eUV2ZW50IGFuZCB3aW5k
b3cub253ZWJraXRkZXZpY2Vwcm94aW1pdHkgcHJvcGVydGllcyBhcmUgcHJlc2VudC4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgdHlwZW9mIHdpbmRvdy5EZXZpY2VQcm94
aW1pdHlFdmVudCA9PSAnb2JqZWN0JyBpcyB0cnVlCitQQVNTIHR5cGVvZiB3aW5kb3cuRGV2aWNl
UHJveGltaXR5RXZlbnQgPT0gJ2Z1bmN0aW9uJyBpcyBmYWxzZQorUEFTUyBoYXNEZXZpY2VQcm94
aW1pdHlFdmVudFByb3BlcnR5KCkgaXMgdHJ1ZQorUEFTUyAnRGV2aWNlUHJveGltaXR5RXZlbnQn
IGluIHdpbmRvdyBpcyB0cnVlCitQQVNTIHdpbmRvdy5oYXNPd25Qcm9wZXJ0eSgnRGV2aWNlUHJv
eGltaXR5RXZlbnQnKSBpcyB0cnVlCitQQVNTIHR5cGVvZiB3aW5kb3cub253ZWJraXRkZXZpY2Vw
cm94aW1pdHkgPT0gJ29iamVjdCcgaXMgdHJ1ZQorUEFTUyBoYXNPbkRldmljZVByb3hpbWl0eVBy
b3BlcnR5KCkgaXMgdHJ1ZQorUEFTUyAnb253ZWJraXRkZXZpY2Vwcm94aW1pdHknIGluIHdpbmRv
dyBpcyB0cnVlCitQQVNTIHdpbmRvdy5oYXNPd25Qcm9wZXJ0eSgnb253ZWJraXRkZXZpY2Vwcm94
aW1pdHknKSBpcyB0cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcHJveGltaXR5L3dpbmRvdy1wcm9w
ZXJ0eS5odG1sIGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L3dpbmRvdy1wcm9wZXJ0eS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmRjNGNlYmUyODM0MmNkMGI0MWNjNzA4N2IwNTY1NTRkZmQ1ZWMyMTAKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wcm94aW1pdHkvd2luZG93LXByb3BlcnR5Lmh0bWwK
QEAgLTAsMCArMSw0MCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxz
Y3JpcHQ+CitkZXNjcmlwdGlvbignVGVzdHMgdGhhdCB0aGUgd2luZG93LkRldmljZVByb3hpbWl0
eUV2ZW50IGFuZCB3aW5kb3cub253ZWJraXRkZXZpY2Vwcm94aW1pdHkgcHJvcGVydGllcyBhcmUg
cHJlc2VudC4nKTsKKworZnVuY3Rpb24gaGFzRGV2aWNlUHJveGltaXR5RXZlbnRQcm9wZXJ0eSgp
Cit7CisgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gd2luZG93KSB7CisgICAgICAgIGlmIChwcm9w
ZXJ0eSA9PSAnRGV2aWNlUHJveGltaXR5RXZlbnQnKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKworc2hvdWxkQmVUcnVlKCJ0eXBlb2Ygd2lu
ZG93LkRldmljZVByb3hpbWl0eUV2ZW50ID09ICdvYmplY3QnIik7CitzaG91bGRCZUZhbHNlKCJ0
eXBlb2Ygd2luZG93LkRldmljZVByb3hpbWl0eUV2ZW50ID09ICdmdW5jdGlvbiciKTsKK3Nob3Vs
ZEJlVHJ1ZSgiaGFzRGV2aWNlUHJveGltaXR5RXZlbnRQcm9wZXJ0eSgpIik7CitzaG91bGRCZVRy
dWUoIidEZXZpY2VQcm94aW1pdHlFdmVudCcgaW4gd2luZG93Iik7CitzaG91bGRCZVRydWUoIndp
bmRvdy5oYXNPd25Qcm9wZXJ0eSgnRGV2aWNlUHJveGltaXR5RXZlbnQnKSIpOworCitmdW5jdGlv
biBoYXNPbkRldmljZVByb3hpbWl0eVByb3BlcnR5KCkKK3sKKyAgICBmb3IgKHZhciBwcm9wZXJ0
eSBpbiB3aW5kb3cpIHsKKyAgICAgICAgaWYgKHByb3BlcnR5ID09ICdvbndlYmtpdGRldmljZXBy
b3hpbWl0eScpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgcmV0dXJuIGZh
bHNlOworfQorCitzaG91bGRCZVRydWUoInR5cGVvZiB3aW5kb3cub253ZWJraXRkZXZpY2Vwcm94
aW1pdHkgPT0gJ29iamVjdCciKTsKK3Nob3VsZEJlVHJ1ZSgiaGFzT25EZXZpY2VQcm94aW1pdHlQ
cm9wZXJ0eSgpIik7CitzaG91bGRCZVRydWUoIidvbndlYmtpdGRldmljZXByb3hpbWl0eScgaW4g
d2luZG93Iik7CitzaG91bGRCZVRydWUoIndpbmRvdy5oYXNPd25Qcm9wZXJ0eSgnb253ZWJraXRk
ZXZpY2Vwcm94aW1pdHknKSIpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181492</attachid>
            <date>2013-01-07 03:48:37 -0800</date>
            <delta_ts>2013-01-07 04:29:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97630-20130107204541.patch</filename>
            <type>text/plain</type>
            <size>71383</size>
            <attacher name="Kihong Kwon">kihong.kwon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4OTIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWJhNmIwY2Q3NTY0YWI0
OTQ1NTI5MjRiZjEyNjI2OTU1Mzg4ZDQyNC4uM2QyNjQyNTBmZjQ1MWI4Mjg3ZGEwYzM3YTc1YTUw
YWI5NDJiMDQ1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcyIEBACisyMDEzLTAxLTA3ICBLaWhv
bmcgS3dvbiAgPGtpaG9uZy5rd29uQHNhbXN1bmcuY29tPgorCisgICAgICAgIEFkZCBEZXZpY2VQ
cm94aW1pdHlDb250cm9sbGVyIHRvIHN1cHBvcnQgRGV2aWNlIFByb3hpbWl0eSBFdmVudHMuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzYzMAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBE
ZXZpY2VQcm94aW1pdHlDb250cm9sbGVyIHdoaWNoIGlzIGluaGVyaXRlZCBmcm9tIERldmljZUNv
bnRyb2xsZXIgdG8gc3VwcG9ydCBEZXZpY2UgUHJveGltaXR5IEV2ZW50cy4KKyAgICAgICAgRGV2
aWNlUHJveGltaXR5Q29udHJvbGxlciBoYXMgdHdvIG1ham9yIGZ1bmN0aW9uYWxpdGllcy4KKyAg
ICAgICAgLSBXaGVuIGxpc3RlbmVyIGlzIGFkZGVkLCBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVy
IHN0b3JlcyBET01XaW5kb3cgcG9pbnRlciB0byBtX2xpc3RlbmVycworICAgICAgICAgIGFuZCBz
dGFydCBnYXRoZXJpbmcgcHJveGltaXR5IGV2ZW50LgorICAgICAgICAtIFdoZW4gRGV2aWNlUHJv
eGltaXR5Q29udHJvbGxlciByZWNlaXZlcyBhIHByb3hpbWl0eSBldmVudCBmcm9tIGNsaWVudCwg
ZmlyZSBhbiBldmVudCB1c2luZyBtX2xpc3RlbmVycy4KKyAgICAgICAgSW4gYWRkaXRpb24sIHNl
dERldmljZVByb3hpbWl0eSBmdW5jdGlvbiBpcyBhZGRlZCB0byBJbnRlcm5hbHMgZm9yIGxheW91
dCB0ZXN0LgorCisgICAgICAgIFRlc3RzOiBwcm94aW1pdHkvYWRkLWxpc3RlbmVyLWZyb20tY2Fs
bGJhY2suaHRtbAorICAgICAgICAgICAgICAgcHJveGltaXR5L2Jhc2ljLW9wZXJhdGlvbi5odG1s
CisgICAgICAgICAgICAgICBwcm94aW1pdHkvY3JlYXRlLWV2ZW50Lmh0bWwKKyAgICAgICAgICAg
ICAgIHByb3hpbWl0eS9ldmVudC1hZnRlci1uYXZpZ2F0aW9uLmh0bWwKKyAgICAgICAgICAgICAg
IHByb3hpbWl0eS9tdWx0aXBsZS1mcmFtZXMuaHRtbAorICAgICAgICAgICAgICAgcHJveGltaXR5
L25vLXBhZ2UtY2FjaGUuaHRtbAorICAgICAgICAgICAgICAgcHJveGltaXR5L29wdGlvbmFsLWV2
ZW50LXByb3BlcnRpZXMuaHRtbAorICAgICAgICAgICAgICAgcHJveGltaXR5L3VwZGF0ZXMuaHRt
bAorICAgICAgICAgICAgICAgcHJveGltaXR5L3dpbmRvdy1wcm9wZXJ0eS5odG1sCisKKyAgICAg
ICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAg
KiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIE1vZHVsZXMvcHJveGltaXR5L0Rldmlj
ZVByb3hpbWl0eUNsaWVudC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
RGV2aWNlUHJveGltaXR5Q2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZVByb3hpbWl0
eUNsaWVudDo6fkRldmljZVByb3hpbWl0eUNsaWVudCk6CisgICAgICAgICogTW9kdWxlcy9wcm94
aW1pdHkvRGV2aWNlUHJveGltaXR5Q29udHJvbGxlci5jcHA6IEFkZGVkLgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyOjpEZXZp
Y2VQcm94aW1pdHlDb250cm9sbGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZVByb3hpbWl0
eUNvbnRyb2xsZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VQcm94aW1pdHlD
b250cm9sbGVyOjpkaWRDaGFuZ2VEZXZpY2VQcm94aW1pdHkpOgorICAgICAgICAoV2ViQ29yZTo6
RGV2aWNlUHJveGltaXR5Q29udHJvbGxlcjo6ZGV2aWNlUHJveGltaXR5Q2xpZW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OkRldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6Omhhc0xhc3REYXRhKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6OmdldExhc3RFdmVudCk6
CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyOjpzdXBwbGVtZW50
TmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyOjpmcm9t
KToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6OmlzQWN0aXZl
QXQpOgorICAgICAgICAoV2ViQ29yZTo6cHJvdmlkZURldmljZVByb3hpbWl0eVRvKToKKyAgICAg
ICAgKiBNb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmg6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChEZXZpY2VQcm94aW1pdHlDb250cm9sbGVy
KToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6On5EZXZpY2VQ
cm94aW1pdHlDb250cm9sbGVyKToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdl
YkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAg
KiBXZWJDb3JlLnByaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoK
KyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlQ29tbW9uLnZzcHJvcHM6CisgICAgICAg
ICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGhpc3Rvcnkv
UGFnZUNhY2hlLmNwcDoKKyAgICAgICAgV2hlbiBhIHBhZ2UgaGFzIERldmljZSBQcm94aW1pdHkg
RXZlbnQgTGlzdGVuZXIsIGl0IGhhcyBub3QgdG8gYmUgY2FjaGVkIGxpa2UgRGV2aWNlIE9yaWVu
dGF0aW9uLgorICAgICAgICAoV2ViQ29yZTo6bG9nQ2FuQ2FjaGVQYWdlRGVjaXNpb24pOgorICAg
ICAgICAoV2ViQ29yZTo6UGFnZUNhY2hlOjpjYW5DYWNoZSk6CisgICAgICAgICogcGFnZS9ET01X
aW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjphZGRFdmVudExpc3RlbmVy
KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6cmVtb3ZlRXZlbnRMaXN0ZW5lcik6Cisg
ICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnJlbW92ZUFsbEV2ZW50TGlzdGVuZXJzKToKKyAg
ICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5h
bHM6OnNldERldmljZVByb3hpbWl0eSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiB0
ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAoSW50ZXJuYWxzKToKKyAgICAgICAgKiB0ZXN0
aW5nL0ludGVybmFscy5pZGw6CisKIDIwMTMtMDEtMDYgIFRha2FzaGkgU2FrYW1vdG8gIDx0YXNh
a0Bnb29nbGUuY29tPgogCiAgICAgICAgIFtTaGFkb3cgRE9NXTogY3Jhc2ggaW4gV2ViQ29yZTo6
RWxlbWVudFNoYWRvdzo6c2V0VmFsaWRpdHlVbmRldGVybWluZWQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBjZTRm
MGUzNDk1ODcyYWE4N2M2OTVlOGZlNGI2YzNhNWEzZTgxNGMyLi4wZWZkZDBlNGM4NjBlZmQ2NzFm
MjY5ZDZiMmQ1OGNmNjJmZjAyZDRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTMt
MDEtMDcgIEtpaG9uZyBLd29uICA8a2lob25nLmt3b25Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAg
QWRkIERldmljZVByb3hpbWl0eUNvbnRyb2xsZXIgdG8gc3VwcG9ydCBEZXZpY2UgUHJveGltaXR5
IEV2ZW50cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTk3NjMwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIGluaXRpYWwgV2ViRGV2aWNlUHJveGltaXR5Q2xpZW50IGNsYXNzIHdoaWNoIGlzIGluaGVy
aXRlZCBEZXZpY2VQcm94aW1pdHlDbGllbnQuCisgICAgICAgIEJ1dCBzdGFydFVwZGF0aW5nIGFu
ZCBzdG9wVXBkYXRpbmcgbmVlZCB0byBiZSBpbXBsZW1lbnRlZC4KKworICAgICAgICAqIENNYWtl
TGlzdHMudHh0OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRGV2aWNl
UHJveGltaXR5Q2xpZW50LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAo
V2ViS2l0OjpXZWJEZXZpY2VQcm94aW1pdHlDbGllbnQ6OldlYkRldmljZVByb3hpbWl0eUNsaWVu
dCk6CisgICAgICAgIChXZWJLaXQ6OldlYkRldmljZVByb3hpbWl0eUNsaWVudDo6c3RhcnRVcGRh
dGluZyk6CisgICAgICAgIChXZWJLaXQ6OldlYkRldmljZVByb3hpbWl0eUNsaWVudDo6c3RvcFVw
ZGF0aW5nKToKKyAgICAgICAgKFdlYktpdDo6V2ViRGV2aWNlUHJveGltaXR5Q2xpZW50OjpoYXNM
YXN0RGF0YSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEZXZpY2VQ
cm94aW1pdHlDbGllbnQuaDogQWRkZWQuCisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2Vi
RGV2aWNlUHJveGltaXR5Q2xpZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViRGV2aWNlUHJveGlt
aXR5Q2xpZW50Ojp+V2ViRGV2aWNlUHJveGltaXR5Q2xpZW50KToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OldlYlBh
Z2UpOgorCiAyMDEzLTAxLTA0ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgUmVtb3ZlIFdlYlByb2Nlc3NJbml0aWFsaXphdGlvbiBhbmQgTmV0d29ya1Byb2Nlc3NJbml0
aWFsaXphdGlvbiBieSBwdXR0aW5nIHRoZSByZXN0IG9mIGluaXRpYWxpemF0aW9uIGluIENoaWxk
UHJvY2VzcyBkZXJpdmVkIGNsYXNzZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYWYzM2ZhMDkx
ZDkzOTY0ODg0ZmVhOTE4Y2EzMDNhNDI0OGYwYjRhZi4uNzNhZWI2ZTQzZjI5MGEwNGYwN2M0NWRi
NzUzZGZmOTRkNjUwN2MyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTExOCw2ICsxMTgsNyBA
QCBzZXQoV2ViQ29yZV9JRExfSU5DTFVERVMKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtCiAgICAg
TW9kdWxlcy9uZXR3b3JraW5mbwogICAgIE1vZHVsZXMvbm90aWZpY2F0aW9ucworICAgIE1vZHVs
ZXMvcHJveGltaXR5CiAgICAgTW9kdWxlcy9xdW90YQogICAgIE1vZHVsZXMvc3BlZWNoCiAgICAg
TW9kdWxlcy92aWJyYXRpb24KQEAgLTg5MCw2ICs4OTEsNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VT
CiAgICAgTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKICAgICBNb2R1bGVz
L25vdGlmaWNhdGlvbnMvV29ya2VyQ29udGV4dE5vdGlmaWNhdGlvbnMuY3BwCiAKKyAgICBNb2R1
bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmNwcAogICAgIE1vZHVsZXMv
cHJveGltaXR5L0RldmljZVByb3hpbWl0eUV2ZW50LmNwcAogCiAgICAgTW9kdWxlcy9xdW90YS9E
T01XaW5kb3dRdW90YS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggMGRiZWNkOThkZjc4YmQ3
NDk2ODE5NGIzZmFmYjg5ODRlYmI3NjFlNi4uOTU4Yzg0MTg1NWUwMGViYmNmYzFlNjU2MjI2ZGU4
MTk4OWQzMjRhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysr
IGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTE5LDYgKzE5LDcgQEAgd2ViY29y
ZV9jcHBmbGFncyArPSBcCiAJLUkkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbSBcCiAJLUkkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9uYXZpZ2F0b3Jj
b250ZW50dXRpbHMgXAogCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZp
Y2F0aW9ucyBcCisJLUkkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wcm94aW1pdHkg
XAogCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEgXAogCS1JJChzcmNk
aXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8gXAogCS1JJChzcmNkaXIpL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UgXApAQCAtNTAxLDYgKzUwMiw3IEBAIElETF9Q
QVRIIDo9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzb3VyY2UgXAogICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL25vdGlm
aWNhdGlvbnMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wcm94aW1pdHkgXAogICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy9xdW90YSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmF1ZGlvIFwK
ICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZGF0YWJhc2UgXApAQCAtNzM2LDYgKzczOCw3IEBA
IEVYVFJBX0RJU1QgKz0gXAogCSQod2lsZGNhcmQgJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vKi5pZGwpIFwKIAkkKHdpbGRjYXJkICQoc3JjZGlyKS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL25hdmlnYXRvcmNvbnRlbnR1dGlscy8qLmlkbCkgXAogCSQod2lsZGNh
cmQgJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy8qLmlkbCkg
XAorCSQod2lsZGNhcmQgJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHJveGltaXR5
LyouaWRsKSBcCiAJJCh3aWxkY2FyZCAkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9x
dW90YS8qLmlkbCkgXAogCSQod2lsZGNhcmQgJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vKi5pZGwpIFwKIAkkKHdpbGRjYXJkICQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmRhdGFiYXNlLyouaWRsKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5h
bQppbmRleCBkNzZkZTgwMTUyNmY4NTllMTljMmI4MzhkYTQ0YTE0MzNiNGU3NTA0Li45MGRhY2Nj
NmI4MTBlNjEzMzc3NzAyM2I5YzY4MzFjYWEwMmE0NzhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KQEAgLTEyNjIsNiArMTI2Miw3IEBAIGRvbV9iaW5kaW5nX2lkbHMgKz0gXAogCSQo
V2ViQ29yZSkvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwgXAogCSQoV2Vi
Q29yZSkvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwgXAogCSQo
V2ViQ29yZSkvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxs
YmFjay5pZGwgXAorCSQoV2ViQ29yZSkvTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5
RXZlbnQuaWRsIFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvcXVvdGEvRE9NV2luZG93UXVvdGEuaWRs
IFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvcXVvdGEvU3RvcmFnZUluZm8uaWRsIFwKIAkkKFdlYkNv
cmUpL01vZHVsZXMvcXVvdGEvU3RvcmFnZUluZm9FcnJvckNhbGxiYWNrLmlkbCBcCkBAIC0xOTkx
LDYgKzE5OTIsMTEgQEAgd2ViY29yZV9tb2R1bGVzX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2su
aCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL1dvcmtlckNvbnRleHRO
b3RpZmljYXRpb25zLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25z
L1dvcmtlckNvbnRleHROb3RpZmljYXRpb25zLmggXAorCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cHJveGltaXR5L0RldmljZVByb3hpbWl0eS5oIFwKKwlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3By
b3hpbWl0eS9EZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmNwcCBcCisJU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5Q29udHJvbGxlci5oIFwKKwlTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlFdmVudC5jcHAgXAorCVNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcHJveGltaXR5L0RldmljZVByb3hpbWl0eUV2ZW50LmggXAog
CVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvRE9NV2luZG93UXVvdGEuY3BwIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3F1b3RhL0RPTVdpbmRvd1F1b3RhLmggXAogCVNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZUluZm8uY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvcHJveGltaXR5L0RldmljZVByb3hpbWl0eUNsaWVudC5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5Q2xpZW50LmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYzljMTVhNTUyZDlmZDliNjRiNWVlODM5NzI5M2NiYWE5Mzc3ZWZkMQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHJveGltaXR5L0RldmljZVByb3hpbWl0
eUNsaWVudC5oCkBAIC0wLDAgKzEsNTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxMiBTYW1zdW5n
IEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIERl
dmljZVByb3hpbWl0eUNsaWVudF9oCisjZGVmaW5lIERldmljZVByb3hpbWl0eUNsaWVudF9oCisK
KyNpZiBFTkFCTEUoUFJPWElNSVRZX0VWRU5UUykKKworI2luY2x1ZGUgIkRldmljZUNsaWVudC5o
IgorI2luY2x1ZGUgPGxpbWl0cz4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBQYWdl
OworCitjbGFzcyBEZXZpY2VQcm94aW1pdHlDbGllbnQgOiBwdWJsaWMgRGV2aWNlQ2xpZW50IHsK
K3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5EZXZpY2VQcm94aW1pdHlDbGllbnQoKSB7IH0KKyAgICB2
aXJ0dWFsIGJvb2wgaGFzTGFzdERhdGEoKSA9IDA7CisgICAgdmlydHVhbCBkb3VibGUgdmFsdWUo
KSA9IDA7CisgICAgdmlydHVhbCBkb3VibGUgbWluKCkgPSAwOworICAgIHZpcnR1YWwgZG91Ymxl
IG1heCgpID0gMDsKK307CisKK3ZvaWQgcHJvdmlkZURldmljZVByb3hpbWl0eVRvKFBhZ2UqLCBE
ZXZpY2VQcm94aW1pdHlDbGllbnQqKTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYgLy8gUFJPWElNSVRZX0VWRU5UUworI2VuZGlmIC8vIERldmljZVByb3hpbWl0eUNsaWVudF9o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94
aW1pdHlDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHJveGltaXR5L0Rl
dmljZVByb3hpbWl0eUNvbnRyb2xsZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU1OWFjMjE1M2ZkNmQ2Yzkz
MjY4NjkxNmVhMmRlMDQxMzMzMmI0OTcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmNwcApAQCAtMCww
ICsxLDkzIEBACisvKgorICogQ29weXJpZ2h0IDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIkRldmljZVByb3hpbWl0eUNvbnRyb2xsZXIuaCIKKworI2lmIEVOQUJMRShQUk9YSU1JVFlf
RVZFTlRTKQorCisjaW5jbHVkZSAiRGV2aWNlUHJveGltaXR5Q2xpZW50LmgiCisjaW5jbHVkZSAi
RGV2aWNlUHJveGltaXR5RXZlbnQuaCIKKyNpbmNsdWRlICJQYWdlLmgiCisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworRGV2aWNlUHJveGltaXR5Q29udHJvbGxlcjo6RGV2aWNlUHJveGltaXR5Q29u
dHJvbGxlcihEZXZpY2VQcm94aW1pdHlDbGllbnQqIGNsaWVudCkKKyAgICA6IERldmljZUNvbnRy
b2xsZXIoY2xpZW50KQoreworICAgIEFTU0VSVChtX2NsaWVudCk7Cit9CisKK1Bhc3NPd25QdHI8
RGV2aWNlUHJveGltaXR5Q29udHJvbGxlcj4gRGV2aWNlUHJveGltaXR5Q29udHJvbGxlcjo6Y3Jl
YXRlKERldmljZVByb3hpbWl0eUNsaWVudCogY2xpZW50KQoreworICAgIHJldHVybiBhZG9wdFB0
cihuZXcgRGV2aWNlUHJveGltaXR5Q29udHJvbGxlcihjbGllbnQpKTsKK30KKwordm9pZCBEZXZp
Y2VQcm94aW1pdHlDb250cm9sbGVyOjpkaWRDaGFuZ2VEZXZpY2VQcm94aW1pdHkoY29uc3QgZG91
YmxlIHZhbHVlLCBjb25zdCBkb3VibGUgbWluLCBjb25zdCBkb3VibGUgbWF4KQoreworICAgIGRp
c3BhdGNoRGV2aWNlRXZlbnQoRGV2aWNlUHJveGltaXR5RXZlbnQ6OmNyZWF0ZShldmVudE5hbWVz
KCkud2Via2l0ZGV2aWNlcHJveGltaXR5RXZlbnQsIHZhbHVlLCBtaW4sIG1heCkpOworfQorCitE
ZXZpY2VQcm94aW1pdHlDbGllbnQqIERldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6OmRldmljZVBy
b3hpbWl0eUNsaWVudCgpCit7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PERldmljZVByb3hpbWl0
eUNsaWVudCo+KG1fY2xpZW50KTsKK30KKworYm9vbCBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVy
OjpoYXNMYXN0RGF0YSgpCit7CisgICAgcmV0dXJuIGRldmljZVByb3hpbWl0eUNsaWVudCgpLT5o
YXNMYXN0RGF0YSgpOworfQorCitQYXNzUmVmUHRyPEV2ZW50PiBEZXZpY2VQcm94aW1pdHlDb250
cm9sbGVyOjpnZXRMYXN0RXZlbnQoKQoreworICAgIHJldHVybiBEZXZpY2VQcm94aW1pdHlFdmVu
dDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS53ZWJraXRkZXZpY2Vwcm94aW1pdHlFdmVudCwgZGV2aWNl
UHJveGltaXR5Q2xpZW50KCktPnZhbHVlKCksIGRldmljZVByb3hpbWl0eUNsaWVudCgpLT5taW4o
KSwgZGV2aWNlUHJveGltaXR5Q2xpZW50KCktPm1heCgpKTsKK30KKworY29uc3QgQXRvbWljU3Ry
aW5nJiBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyOjpzdXBwbGVtZW50TmFtZSgpCit7CisgICAg
REVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIG5hbWUsICgiRGV2aWNlUHJveGltaXR5
Q29udHJvbGxlciIpKTsKKyAgICByZXR1cm4gbmFtZTsKK30KKworRGV2aWNlUHJveGltaXR5Q29u
dHJvbGxlciogRGV2aWNlUHJveGltaXR5Q29udHJvbGxlcjo6ZnJvbShQYWdlKiBwYWdlKQorewor
ICAgIHJldHVybiBzdGF0aWNfY2FzdDxEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyKj4oU3VwcGxl
bWVudDxQYWdlPjo6ZnJvbShwYWdlLCBzdXBwbGVtZW50TmFtZSgpKSk7Cit9CisKK2Jvb2wgRGV2
aWNlUHJveGltaXR5Q29udHJvbGxlcjo6aXNBY3RpdmVBdChQYWdlKiBwYWdlKQoreworICAgIGlm
IChEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyKiBjb250cm9sbGVyID0gRGV2aWNlUHJveGltaXR5
Q29udHJvbGxlcjo6ZnJvbShwYWdlKSkKKyAgICAgICAgcmV0dXJuIGNvbnRyb2xsZXItPmlzQWN0
aXZlKCk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIHByb3ZpZGVEZXZpY2VQcm94aW1p
dHlUbyhQYWdlKiBwYWdlLCBEZXZpY2VQcm94aW1pdHlDbGllbnQqIGNsaWVudCkKK3sKKyAgICBE
ZXZpY2VQcm94aW1pdHlDb250cm9sbGVyOjpwcm92aWRlVG8ocGFnZSwgRGV2aWNlUHJveGltaXR5
Q29udHJvbGxlcjo6c3VwcGxlbWVudE5hbWUoKSwgRGV2aWNlUHJveGltaXR5Q29udHJvbGxlcjo6
Y3JlYXRlKGNsaWVudCkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBQUk9YSU1JVFlfRVZFTlRTCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3By
b3hpbWl0eS9EZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTU1
ZjUxNmM5NjE4N2MwNzdkMDIzZTMwYWY5YzM0YWRiNDI0ZTkxNAotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHJveGltaXR5L0RldmljZVByb3hpbWl0eUNvbnRyb2xs
ZXIuaApAQCAtMCwwICsxLDYwIEBACisvKgorICogQ29weXJpZ2h0IDIwMTIgU2Ftc3VuZyBFbGVj
dHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBEZXZpY2VQ
cm94aW1pdHlDb250cm9sbGVyX2gKKyNkZWZpbmUgRGV2aWNlUHJveGltaXR5Q29udHJvbGxlcl9o
CisKKyNpZiBFTkFCTEUoUFJPWElNSVRZX0VWRU5UUykKKworI2luY2x1ZGUgIkRldmljZUNvbnRy
b2xsZXIuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBEZXZpY2VQcm94aW1pdHlD
bGllbnQ7CisKK2NsYXNzIERldmljZVByb3hpbWl0eUNvbnRyb2xsZXIgOiBwdWJsaWMgRGV2aWNl
Q29udHJvbGxlciB7CitwdWJsaWM6CisgICAgfkRldmljZVByb3hpbWl0eUNvbnRyb2xsZXIoKSB7
IH0KKworICAgIHN0YXRpYyBQYXNzT3duUHRyPERldmljZVByb3hpbWl0eUNvbnRyb2xsZXI+IGNy
ZWF0ZShEZXZpY2VQcm94aW1pdHlDbGllbnQqKTsKKworICAgIHZvaWQgZGlkQ2hhbmdlRGV2aWNl
UHJveGltaXR5KGNvbnN0IGRvdWJsZSB2YWx1ZSwgY29uc3QgZG91YmxlIG1pbiwgY29uc3QgZG91
YmxlIG1heCk7CisgICAgRGV2aWNlUHJveGltaXR5Q2xpZW50KiBkZXZpY2VQcm94aW1pdHlDbGll
bnQoKTsKKworICAgIHZpcnR1YWwgYm9vbCBoYXNMYXN0RGF0YSgpOworICAgIHZpcnR1YWwgUGFz
c1JlZlB0cjxFdmVudD4gZ2V0TGFzdEV2ZW50KCk7CisKKyAgICBzdGF0aWMgY29uc3QgQXRvbWlj
U3RyaW5nJiBzdXBwbGVtZW50TmFtZSgpOworICAgIHN0YXRpYyBEZXZpY2VQcm94aW1pdHlDb250
cm9sbGVyKiBmcm9tKFBhZ2UqKTsKKyAgICBzdGF0aWMgYm9vbCBpc0FjdGl2ZUF0KFBhZ2UqKTsK
KworcHJpdmF0ZToKKyAgICBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyKERldmljZVByb3hpbWl0
eUNsaWVudCopOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gUFJP
WElNSVRZX0VWRU5UUworI2VuZGlmIC8vIERldmljZVByb3hpbWl0eUNvbnRyb2xsZXJfaApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1Rhcmdl
dC5wcmkKaW5kZXggZjA2NGMwNmU0MzkxN2FlOTM4ZWRlZmQzYmNlZWNkOGUzZWFhMTUyMC4uM2Q2
N2I5MmNhOTlmNzQ5NWE0MTU5Y2Y2OTBlYWUwMmZhNDA2MDU2MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC0y
NDMsNiArMjQzLDkgQEAgU09VUkNFUyArPSBcCiAgICAgTW9kdWxlcy9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvbkNlbnRlci5jcHAgXAogICAgIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb25Db250cm9sbGVyLmNwcCBcCiAgICAgTW9kdWxlcy9ub3RpZmljYXRpb25zL1dvcmtlckNv
bnRleHROb3RpZmljYXRpb25zLmNwcCBcCisgICAgTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJv
eGltaXR5Q29udHJvbGxlci5jcHAgXAorICAgIE1vZHVsZXMvcHJveGltaXR5L0RldmljZVByb3hp
bWl0eUV2ZW50LmNwcCBcCisgICAgYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5SW1hZ2VNYXBM
aW5rLmNwcCBcCiAgICAgY3NzL0Jhc2ljU2hhcGVGdW5jdGlvbnMuY3BwIFwKICAgICBjc3MvQ1NT
QXNwZWN0UmF0aW9WYWx1ZS5jcHAgXAogICAgIGNzcy9DU1NCYXNpY1NoYXBlcy5jcHAgXApAQCAt
MTQxOSw2ICsxNDIyLDEwIEBAIEhFQURFUlMgKz0gXAogICAgIE1vZHVsZXMvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb25Db250cm9sbGVyLmggXAogICAgIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9X
b3JrZXJDb250ZXh0Tm90aWZpY2F0aW9ucy5oIFwKICAgICBcCisgICAgTW9kdWxlcy9wcm94aW1p
dHkvRGV2aWNlUHJveGltaXR5Q2xpZW50LmggXAorICAgIE1vZHVsZXMvcHJveGltaXR5L0Rldmlj
ZVByb3hpbWl0eUNvbnRyb2xsZXIuaCBcCisgICAgTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJv
eGltaXR5RXZlbnQuaCBcCisgICAgXAogICAgIE1vZHVsZXMvd2ViZGF0YWJhc2UvQWJzdHJhY3RE
YXRhYmFzZS5oIFwKICAgICBNb2R1bGVzL3dlYmRhdGFiYXNlL0Fic3RyYWN0RGF0YWJhc2VTZXJ2
ZXIuaCBcCiAgICAgTW9kdWxlcy93ZWJkYXRhYmFzZS9DaGFuZ2VWZXJzaW9uV3JhcHBlci5oIFwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKaW5kZXggZDZmNGEyODkyNTZkZDUy
OTFkM2RlZDI0MmFmMGQyYjI1NmFkNWYwOS4uOTQxNTY1YzEzZDE0MDY3NjBmNzUxMmZmYTZjMWUz
N2U4Y2NjODhmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29y
ZS5neXAKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKQEAgLTYy
LDYgKzYyLDcgQEAKICAgICAgICcuLi9Nb2R1bGVzL21lZGlhc3RyZWFtJywKICAgICAgICcuLi9N
b2R1bGVzL25hdmlnYXRvcmNvbnRlbnR1dGlscycsCiAgICAgICAnLi4vTW9kdWxlcy9ub3RpZmlj
YXRpb25zJywKKyAgICAgICcuLi9Nb2R1bGVzL3Byb3hpbWl0eScsCiAgICAgICAnLi4vTW9kdWxl
cy9xdW90YScsCiAgICAgICAnLi4vTW9kdWxlcy9zcGVlY2gnLAogICAgICAgJy4uL01vZHVsZXMv
d2ViYXVkaW8nLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDUxZmJkNzcyNDQ0NTA4MjBiMGMzZmVhM2Y4
NmI0NTg2NzlkYTJmMzUuLmM4YTM0ZjM2Zjk5NjdhZTA4YTM0NTdkNjk1NzEyOGZmODJkYzg5OTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkKQEAgLTk0LDYgKzk0LDcgQEAKICAgICAgICAgICAgICdNb2R1bGVz
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbCcsCiAgICAgICAgICAgICAnTW9k
dWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwnLAog
ICAgICAgICAgICAgJ01vZHVsZXMvbm90aWZpY2F0aW9ucy9Xb3JrZXJDb250ZXh0Tm90aWZpY2F0
aW9ucy5pZGwnLAorICAgICAgICAgICAgJ01vZHVsZXMvcHJveGltaXR5L0RldmljZVByb3hpbWl0
eUV2ZW50LmlkbCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9xdW90YS9ET01XaW5kb3dRdW90YS5p
ZGwnLAogICAgICAgICAgICAgJ01vZHVsZXMvcXVvdGEvU3RvcmFnZUluZm8uaWRsJywKICAgICAg
ICAgICAgICdNb2R1bGVzL3F1b3RhL1N0b3JhZ2VJbmZvRXJyb3JDYWxsYmFjay5pZGwnLApAQCAt
ODY1LDYgKzg2NiwxMCBAQAogICAgICAgICAgICAgJ01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9ub3Rp
ZmljYXRpb25zL1dvcmtlckNvbnRleHROb3RpZmljYXRpb25zLmNwcCcsCiAgICAgICAgICAgICAn
TW9kdWxlcy9ub3RpZmljYXRpb25zL1dvcmtlckNvbnRleHROb3RpZmljYXRpb25zLmgnLAorICAg
ICAgICAgICAgJ01vZHVsZXMvcHJveGltaXR5L0RldmljZVByb3hpbWl0eUNvbnRyb2xsZXIuY3Bw
JywKKyAgICAgICAgICAgICdNb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlDb250cm9s
bGVyLmgnLAorICAgICAgICAgICAgJ01vZHVsZXMvcHJveGltaXR5L0RldmljZVByb3hpbWl0eUV2
ZW50LmNwcCcsCisgICAgICAgICAgICAnTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5
RXZlbnQuaCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9xdW90YS9ET01XaW5kb3dRdW90YS5jcHAn
LAogICAgICAgICAgICAgJ01vZHVsZXMvcXVvdGEvRE9NV2luZG93UXVvdGEuaCcsCiAgICAgICAg
ICAgICAnTW9kdWxlcy9xdW90YS9TdG9yYWdlSW5mby5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnByaQppbmRleCBm
ZTIxNTRjNTQ5OWJiMzI0NDU3NWVlMTA5OGU4Y2ZiNzFjMjdhYjMwLi5hOWEzNmMzNjEyMTA0MThm
MTQwNDBiNzRiZDY5Y2U4NzFkMjUwMWZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnByaQpAQCAtMTgsNiArMTgsNyBA
QCBJTkNMVURFUEFUSCArPSBcCiAgICAgJCRTT1VSQ0VfRElSL01vZHVsZXMvaW5kZXhlZGRiIFwK
ICAgICAkJFNPVVJDRV9ESVIvTW9kdWxlcy9uYXZpZ2F0b3Jjb250ZW50dXRpbHMgXAogICAgICQk
U09VUkNFX0RJUi9Nb2R1bGVzL25vdGlmaWNhdGlvbnMgXAorICAgICQkU09VUkNFX0RJUi9Nb2R1
bGVzL3Byb3hpbWl0eSBcCiAgICAgJCRTT1VSQ0VfRElSL01vZHVsZXMvcXVvdGEgXAogICAgICQk
U09VUkNFX0RJUi9Nb2R1bGVzL3dlYmF1ZGlvIFwKICAgICAkJFNPVVJDRV9ESVIvTW9kdWxlcy93
ZWJkYXRhYmFzZSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNw
cm9qCmluZGV4IDNjM2EzMjE1MjNlOWU1YjYwYzljZGU2YzhhZDYyMzliOTY4OTY5YTkuLjAwNjdh
NDA4Y2EzMmRhNzJhYTllZmM5NGJjZjkyZjNiOTNkYTEzNTMgMTAwNzU1Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0yNTA3OCw2ICsyNTA3OCwzMCBAQAog
CQkJCTwvRmlsZT4KIAkJCTwvRmlsdGVyPgogCQkJPEZpbHRlcgorCQkJCU5hbWU9InByb3hpbWl0
eSIKKwkJCQk+CisJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxNb2R1bGVzXHByb3hp
bWl0eVxEZXZpY2VQcm94aW1pdHlDbGllbnQuaCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8
RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXE1vZHVsZXNccHJveGltaXR5XERldmljZVByb3hp
bWl0eUNvbnRyb2xsZXIuY3BwIgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCisJCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cTW9kdWxlc1xwcm94aW1pdHlcRGV2aWNlUHJveGltaXR5Q29udHJv
bGxlci5oIgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0
aD0iLi5cTW9kdWxlc1xwcm94aW1pdHlcRGV2aWNlUHJveGltaXR5RXZlbnQuY3BwIgorCQkJCQk+
CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cTW9kdWxlc1xw
cm94aW1pdHlcRGV2aWNlUHJveGltaXR5RXZlbnQuaCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJ
CTwvRmlsdGVyPgorCQkJPEZpbHRlcgogCQkJCU5hbWU9InF1b3RhIgogCQkJCT4KIAkJCQk8Rmls
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZUNvbW1v
bi52c3Byb3BzIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZUNvbW1vbi52
c3Byb3BzCmluZGV4IDdiY2U0YjBjYzNjZTZmYjNhNzlkNzkxMjhkMDI0N2Y0NjI4NjlmMTYuLjA4
YjE4ODA4ZDEyMGY0ZTY1ZGY1N2Q2MzkwNzAxYTE0ZjAzNGNmOGEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmVDb21tb24udnNwcm9wcworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlQ29tbW9uLnZzcHJvcHMKQEAgLTcsNyAr
Nyw3IEBACiAJPgogCTxUb29sCiAJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCUFkZGl0aW9u
YWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90OyQoUHJvamVjdERpcikuLiZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpLi5cTW9kdWxlc1xmaWxlc3lzdGVtJnF1b3Q7OyZxdW90OyQoUHJvamVjdERp
cikuLlxNb2R1bGVzXGdlb2xvY2F0aW9uJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxNb2R1
bGVzXGluZGV4ZWRkYiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1xtZWRpYXNv
dXJjZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1xuYXZpZ2F0b3Jjb250ZW50
dXRpbHMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNccXVvdGEmcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNcbm90aWZpY2F0aW9ucyZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpLi5cTW9kdWxlc1x3ZWJkYXRhYmFzZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
Li5cTW9kdWxlc1x3ZWJzb2NrZXRzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxhY2Nlc3Np
YmlsaXR5JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxhY2Nlc3NpYmlsaXR5XHdpbiZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpLi5cYnJpZGdlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpciku
LlxicmlkZ2VcYyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cYnJpZGdlXGpzYyZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpLi5cY3NzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxlZGl0
aW5nJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxmaWxlYXBpJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcikuLlxyZW5kZXJpbmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHJlbmRlcmlu
Z1xtYXRobWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHJlbmRlcmluZ1xzdHlsZSZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpLi5ccmVuZGVyaW5nXHN2ZyZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpLi5cYmluZGluZ3MmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGJpbmRpbmdzXGdl
bmVyaWMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGJpbmRpbmdzXGpzJnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcikuLlxiaW5kaW5nc1xqc1xzcGVjaWFsaXphdGlvbiZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpLi5cZG9tJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxkb21cZGVmYXVs
dCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5caGlzdG9yeSZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpLi5caHRtbCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5caHRtbFxjYW52YXMmcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGh0bWxccGFyc2VyJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxodG1sXHNoYWRvdyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5caHRtbFx0cmFj
ayZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5caW5zcGVjdG9yJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcikuLlxsb2FkZXImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlclxhcHBj
YWNoZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cbG9hZGVyXGFyY2hpdmUmcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlclxhcmNoaXZlXGNmJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxsb2FkZXJcY2FjaGUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlclxp
Y29uJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxtYXRobWwmcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKS4uXHBhZ2UmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBhZ2VcYW5pbWF0aW9u
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwYWdlXHNjcm9sbGluZyZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpLi5ccGFnZVx3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRm
b3JtJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxhbmltYXRpb24mcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXG1vY2smcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKS4uXHBsYXRmb3JtXHNxbCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1c
d2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxuZXR3b3JrJnF1b3Q7OyZx
dW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxuZXR3b3JrXHdpbiZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpLi5ccGxhdGZvcm1cY2YmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRm
b3JtXGdyYXBoaWNzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxncmFwaGlj
c1xjYSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3NcY3B1XGFy
bVxmaWx0ZXJzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxncmFwaGljc1xm
aWx0ZXJzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxncmFwaGljc1xmaWx0
ZXJzXGFybSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3Ncb3Bl
bnR5cGUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNzXHRyYW5z
Zm9ybXMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXHRleHQmcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXHRleHRcdHJhbnNjb2RlciZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3Ncd2luJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlx4bWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHhtbFxwYXJzZXImcXVvdDs7
JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialxXZWJDb3JlXERlcml2ZWRTb3VyY2Vz
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbHVnaW5zJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxwbHVnaW5zXHdpbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cc3ZnXGFuaW1h
dGlvbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cc3ZnXGdyYXBoaWNzJnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcikuLlxzdmdccHJvcGVydGllcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
Li5cc3ZnXGdyYXBoaWNzXGZpbHRlcnMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHN2ZyZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cdGVzdGluZyZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpLi5cd21sJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxzdG9yYWdlJnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcikuLlx3ZWJzb2NrZXRzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlx3
b3JrZXJzJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxpbmNsdWRlJnF1b3Q7
OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxpbmNsdWRlXHByaXZhdGUmcXVvdDs7JnF1
b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXGluY2x1ZGVcSmF2YVNjcmlwdENvcmUmcXVvdDs7
JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXGluY2x1ZGVccHJpdmF0ZVxKYXZhU2NyaXB0
Q29yZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cRm9yd2FyZGluZ0hlYWRlcnMmcXVvdDs7
JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGUmcXVvdDs7JnF1b3Q7JChXZWJLaXRM
aWJyYXJpZXNEaXIpXGluY2x1ZGVccHJpdmF0ZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmll
c0RpcilcaW5jbHVkZVxwcml2YXRlXEphdmFTY3JpcHRDb3JlJnF1b3Q7OyZxdW90OyQoV2ViS2l0
TGlicmFyaWVzRGlyKVxpbmNsdWRlXHB0aHJlYWRzJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFy
aWVzRGlyKVxpbmNsdWRlXHNxbGl0ZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0Rpcilc
aW5jbHVkZVxKYXZhU2NyaXB0Q29yZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0Rpcilc
aW5jbHVkZVx6bGliJnF1b3Q7IgorCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVv
dDskKFByb2plY3REaXIpLi4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNcZmls
ZXN5c3RlbSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1xnZW9sb2NhdGlvbiZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1xpbmRleGVkZGImcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNcbWVkaWFzb3VyY2UmcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKS4uXE1vZHVsZXNcbmF2aWdhdG9yY29udGVudHV0aWxzJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxNb2R1bGVzXHByb3hpbWl0eSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9k
dWxlc1xxdW90YSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1xub3RpZmljYXRp
b25zJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxNb2R1bGVzXHdlYmRhdGFiYXNlJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlxNb2R1bGVzXHdlYnNvY2tldHMmcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKS4uXGFjY2Vzc2liaWxpdHkmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGFj
Y2Vzc2liaWxpdHlcd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxicmlkZ2UmcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGJyaWRnZVxjJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpciku
LlxicmlkZ2VcanNjJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxjc3MmcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKS4uXGVkaXRpbmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGZpbGVh
cGkmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHJlbmRlcmluZyZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpLi5ccmVuZGVyaW5nXG1hdGhtbCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5c
cmVuZGVyaW5nXHN0eWxlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxyZW5kZXJpbmdcc3Zn
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxiaW5kaW5ncyZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpLi5cYmluZGluZ3NcZ2VuZXJpYyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cYmlu
ZGluZ3NcanMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGJpbmRpbmdzXGpzXHNwZWNpYWxp
emF0aW9uJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxkb20mcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKS4uXGRvbVxkZWZhdWx0JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxoaXN0b3J5
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxodG1sJnF1b3Q7OyZxdW90OyQoUHJvamVjdERp
cikuLlxodG1sXGNhbnZhcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5caHRtbFxwYXJzZXIm
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGh0bWxcc2hhZG93JnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcikuLlxodG1sXHRyYWNrJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxpbnNwZWN0
b3ImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlciZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpLi5cbG9hZGVyXGFwcGNhY2hlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxsb2Fk
ZXJcYXJjaGl2ZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cbG9hZGVyXGFyY2hpdmVcY2Ym
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlclxjYWNoZSZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpLi5cbG9hZGVyXGljb24mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXG1hdGht
bCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGFnZSZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpLi5ccGFnZVxhbmltYXRpb24mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBhZ2Vcc2Ny
b2xsaW5nJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwYWdlXHdpbiZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpLi5ccGxhdGZvcm0mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRm
b3JtXGFuaW1hdGlvbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cbW9jayZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cc3FsJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcikuLlxwbGF0Zm9ybVx3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRm
b3JtXG5ldHdvcmsmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXG5ldHdvcmtc
d2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxjZiZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3MmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KS4uXHBsYXRmb3JtXGdyYXBoaWNzXGNhJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0
Zm9ybVxncmFwaGljc1xjcHVcYXJtXGZpbHRlcnMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4u
XHBsYXRmb3JtXGdyYXBoaWNzXGZpbHRlcnMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBs
YXRmb3JtXGdyYXBoaWNzXGZpbHRlcnNcYXJtJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxw
bGF0Zm9ybVxncmFwaGljc1xvcGVudHlwZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxh
dGZvcm1cZ3JhcGhpY3NcdHJhbnNmb3JtcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxh
dGZvcm1cdGV4dCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cdGV4dFx0cmFu
c2NvZGVyJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxncmFwaGljc1x3aW4m
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHhtbCZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
Li5ceG1sXHBhcnNlciZxdW90OzsmcXVvdDskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXFdl
YkNvcmVcRGVyaXZlZFNvdXJjZXMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsdWdpbnMm
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsdWdpbnNcd2luJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcikuLlxzdmdcYW5pbWF0aW9uJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxzdmdc
Z3JhcGhpY3MmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHN2Z1xwcm9wZXJ0aWVzJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlxzdmdcZ3JhcGhpY3NcZmlsdGVycyZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpLi5cc3ZnJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlx0ZXN0aW5nJnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlx3bWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4u
XHN0b3JhZ2UmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHdlYnNvY2tldHMmcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKS4uXHdvcmtlcnMmcXVvdDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVp
bGREaXIpXGluY2x1ZGUmcXVvdDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXGluY2x1
ZGVccHJpdmF0ZSZxdW90OzsmcXVvdDskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcaW5jbHVkZVxK
YXZhU2NyaXB0Q29yZSZxdW90OzsmcXVvdDskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcaW5jbHVk
ZVxwcml2YXRlXEphdmFTY3JpcHRDb3JlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxGb3J3
YXJkaW5nSGVhZGVycyZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZSZx
dW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZVxwcml2YXRlJnF1b3Q7OyZx
dW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRlXHByaXZhdGVcSmF2YVNjcmlwdENvcmUm
cXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGVccHRocmVhZHMmcXVvdDs7
JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGVcc3FsaXRlJnF1b3Q7OyZxdW90OyQo
V2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRlXEphdmFTY3JpcHRDb3JlJnF1b3Q7OyZxdW90OyQo
V2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRlXHpsaWImcXVvdDsiCiAJCVByZXByb2Nlc3NvckRl
ZmluaXRpb25zPSJfX1dJTjMyX187RElTQUJMRV8zRF9SRU5ERVJJTkc7V0VCQ09SRV9DT05URVhU
X01FTlVTIgogCQlVc2VQcmVjb21waWxlZEhlYWRlcj0iMiIKIAkJUHJlY29tcGlsZWRIZWFkZXJU
aHJvdWdoPSJXZWJDb3JlUHJlZml4LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMmI3NGM1MWIzZTQzYjc3N2IzZmY5MGJjYjE3
OWUzZTU3ZDJjNTE1ZC4uYWRkODMyZWQwZDRlZDVhYzgxYWMzMDI2YzAyYTBkNjk0Nzg3OGU0OCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtMTM5NjYsNiArMTM5NjYsMTIgQEAKIAkJRjVDMjg2OTUwMjg0NkRDRDAxODYzNUNBIC8q
IENvY29hLmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBuYW1lID0gQ29jb2EuZnJhbWV3b3JrOyBwYXRo
ID0gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29jb2EuZnJhbWV3b3JrOyBzb3VyY2VUcmVl
ID0gIjxhYnNvbHV0ZT4iOyB9OwogCQlGNUUwQzY1OTE2NDNDNDJDMDBENkNCNjkgLyogQmFzZUNo
b29zZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gQmFzZUNob29zZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNUUwQzY1QTE2NDNDNDJDMDBENkNCNjkgLyog
QmFzZUNob29zZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQmFzZUNob29zZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGUuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjYwOThGN0ExNjY2RDhBNzAwMzI2OUQxIC8qIERl
dmljZVByb3hpbWl0eUNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBE
ZXZpY2VQcm94aW1pdHlDbGllbnQuaDsgcGF0aCA9IE1vZHVsZXMvcHJveGltaXR5L0RldmljZVBy
b3hpbWl0eUNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNjA5OEY3QjE2
NjZEOEE3MDAzMjY5RDEgLyogRGV2aWNlUHJveGltaXR5Q29udHJvbGxlci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmNw
cDsgcGF0aCA9IE1vZHVsZXMvcHJveGltaXR5L0RldmljZVByb3hpbWl0eUNvbnRyb2xsZXIuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNjA5OEY3QzE2NjZEOEE3MDAzMjY5RDEg
LyogRGV2aWNlUHJveGltaXR5Q29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmg7IHBhdGggPSBNb2R1bGVzL3Byb3hp
bWl0eS9EZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUY2MDk4RjdEMTY2NkQ4QTcwMDMyNjlEMSAvKiBEZXZpY2VQcm94aW1pdHlFdmVudC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBEZXZpY2VQcm94aW1pdHlF
dmVudC5jcHA7IHBhdGggPSBNb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlFdmVudC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY2MDk4RjdFMTY2NkQ4QTcwMDMyNjlE
MSAvKiBEZXZpY2VQcm94aW1pdHlFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBEZXZpY2VQcm94aW1pdHlFdmVudC5oOyBwYXRoID0gTW9kdWxlcy9wcm94aW1pdHkvRGV2
aWNlUHJveGltaXR5RXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjYwOThG
N0YxNjY2RDhBNzAwMzI2OUQxIC8qIERldmljZVByb3hpbWl0eUV2ZW50LmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IG5hbWUgPSBEZXZpY2VQcm94aW1pdHlFdmVudC5pZGw7IHBhdGggPSBNb2R1bGVzL3By
b3hpbWl0eS9EZXZpY2VQcm94aW1pdHlFdmVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUY3QTAzNEMzMTI2QkY2QkUwMDdEQzE5RSAvKiBGb250T3JpZW50YXRpb24uaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRm9udE9yaWVudGF0aW9uLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY4MjE2Mjk5MDI5RjRGQjUwMTAwMDEzMSAvKiBKYXZhU2Ny
aXB0Q29yZS5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgcGF0aCA9IEphdmFTY3JpcHRDb3JlLmZyYW1l
d29yazsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJRjkxNkM0OEIwREI1
MTBGODAwNzZDRDgzIC8qIEpTWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NF
dmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xODA1NCw2ICsxODA2MCw3
IEBACiAJCQkJOTcxMkE1NTMxNTAwNEUzQzAwNDhBRjEwIC8qIGluZGV4ZWRkYiAqLywKIAkJCQlC
MUE5NDJERDE1QjVDRTIyMDBENTI1RDEgLyogbWVkaWFzb3VyY2UgKi8sCiAJCQkJMzMzRjcwM0Qw
RkI0OUMxNjAwOEUxMkE2IC8qIG5vdGlmaWNhdGlvbnMgKi8sCisJCQkJRjYwOThGNzgxNjY2RDg0
MTAwMzI2OUQxIC8qIHByb3hpbWl0eSAqLywKIAkJCQk4OUY2MEIwODE1N0Y2ODM1MDA3NUUxNTcg
LyogcXVvdGEgKi8sCiAJCQkJRkQzMTVGQTIxMkIwMjVCMTAwQzFBMzU5IC8qIHdlYmF1ZGlvICov
LAogCQkJCTk3QkM2OUQ1MTUwNUYwNTQwMDFCNzRBQyAvKiB3ZWJkYXRhYmFzZSAqLywKQEAgLTIy
MzU1LDYgKzIyMzYyLDE5IEBACiAJCQl0YWJXaWR0aCA9IDQ7CiAJCQl1c2VzVGFicyA9IDA7CiAJ
CX07CisJCUY2MDk4Rjc4MTY2NkQ4NDEwMDMyNjlEMSAvKiBwcm94aW1pdHkgKi8gPSB7CisJCQlp
c2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCUY2MDk4RjdBMTY2NkQ4QTcwMDMy
NjlEMSAvKiBEZXZpY2VQcm94aW1pdHlDbGllbnQuaCAqLywKKwkJCQlGNjA5OEY3QjE2NjZEOEE3
MDAzMjY5RDEgLyogRGV2aWNlUHJveGltaXR5Q29udHJvbGxlci5jcHAgKi8sCisJCQkJRjYwOThG
N0MxNjY2RDhBNzAwMzI2OUQxIC8qIERldmljZVByb3hpbWl0eUNvbnRyb2xsZXIuaCAqLywKKwkJ
CQlGNjA5OEY3RDE2NjZEOEE3MDAzMjY5RDEgLyogRGV2aWNlUHJveGltaXR5RXZlbnQuY3BwICov
LAorCQkJCUY2MDk4RjdFMTY2NkQ4QTcwMDMyNjlEMSAvKiBEZXZpY2VQcm94aW1pdHlFdmVudC5o
ICovLAorCQkJCUY2MDk4RjdGMTY2NkQ4QTcwMDMyNjlEMSAvKiBEZXZpY2VQcm94aW1pdHlFdmVu
dC5pZGwgKi8sCisJCQkpOworCQkJbmFtZSA9IHByb3hpbWl0eTsKKwkJCXNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7CisJCX07CiAJCUZBQkU3MkVDMTA1OUMxRUIwMEQ5OTlERCAvKiBtYXRobWwgKi8g
PSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaGlzdG9y
eS9QYWdlQ2FjaGUuY3BwCmluZGV4IDk2YWE1OTI5NjYwMDg3ZDc3ZmRjMWU2MTBmZWZhMDIzZjQ3
ZWUyN2MuLjhmYWU0MWJiZjY2NTVmNzgyMGEyYWMwNjMwMmFlZWQ3NDYxZjc2NjkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJE
YXRhYmFzZU1hbmFnZXIuaCIKICNpbmNsdWRlICJEZXZpY2VNb3Rpb25Db250cm9sbGVyLmgiCiAj
aW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmgiCisjaW5jbHVkZSAiRGV2aWNl
UHJveGltaXR5Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAi
RG9jdW1lbnRMb2FkZXIuaCIKICNpbmNsdWRlICJGcmFtZS5oIgpAQCAtMjUxLDYgKzI1MiwxMiBA
QCBzdGF0aWMgdm9pZCBsb2dDYW5DYWNoZVBhZ2VEZWNpc2lvbihQYWdlKiBwYWdlKQogICAgICAg
ICByZWplY3RSZWFzb25zIHw9IDEgPDwgVXNlc0RldmljZU9yaWVudGF0aW9uOwogICAgIH0KICNl
bmRpZgorI2lmIEVOQUJMRShQUk9YSU1JVFlfRVZFTlRTKQorICAgIGlmIChEZXZpY2VQcm94aW1p
dHlDb250cm9sbGVyOjppc0FjdGl2ZUF0KHBhZ2UpKSB7CisgICAgICAgIFBDTE9HKCIgICAtUGFn
ZSBpcyB1c2luZyBEZXZpY2VQcm94aW1pdHkiKTsKKyAgICAgICAgcmVqZWN0UmVhc29ucyB8PSAx
IDw8IFVzZXNEZXZpY2VNb3Rpb247CisgICAgfQorI2VuZGlmCiAgICAgRnJhbWVMb2FkVHlwZSBs
b2FkVHlwZSA9IHBhZ2UtPm1haW5GcmFtZSgpLT5sb2FkZXIoKS0+bG9hZFR5cGUoKTsKICAgICBp
ZiAobG9hZFR5cGUgPT0gRnJhbWVMb2FkVHlwZVJlbG9hZCkgewogICAgICAgICBQQ0xPRygiICAg
LUxvYWQgdHlwZSBpczogUmVsb2FkIik7CkBAIC0zODUsNiArMzkyLDkgQEAgYm9vbCBQYWdlQ2Fj
aGU6OmNhbkNhY2hlKFBhZ2UqIHBhZ2UpIGNvbnN0CiAgICAgICAgICYmICFEZXZpY2VNb3Rpb25D
b250cm9sbGVyOjppc0FjdGl2ZUF0KHBhZ2UpCiAgICAgICAgICYmICFEZXZpY2VPcmllbnRhdGlv
bkNvbnRyb2xsZXI6OmlzQWN0aXZlQXQocGFnZSkKICNlbmRpZgorI2lmIEVOQUJMRShQUk9YSU1J
VFlfRVZFTlRTKQorICAgICAgICAmJiAhRGV2aWNlUHJveGltaXR5Q29udHJvbGxlcjo6aXNBY3Rp
dmVBdChwYWdlKQorI2VuZGlmCiAgICAgICAgICYmIGxvYWRUeXBlICE9IEZyYW1lTG9hZFR5cGVS
ZWxvYWQKICAgICAgICAgJiYgbG9hZFR5cGUgIT0gRnJhbWVMb2FkVHlwZVJlbG9hZEZyb21Pcmln
aW4KICAgICAgICAgJiYgbG9hZFR5cGUgIT0gRnJhbWVMb2FkVHlwZVNhbWU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5jcHAKaW5kZXggZGJlYWZmMzVjNDkwNDkwMWU0MTdkODc3YmQ5NzExY2YwZTg5
MmYyMi4uNjc1OWQ4ZDJkZmU5YmU0MmEzNGU5ZmVhYjY5OTIzZjE4NzQzY2E4NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRE9NV2luZG93LmNwcApAQCAtNDcsNiArNDcsNyBAQAogI2luY2x1ZGUgIkRPTVdpbmRv
d05vdGlmaWNhdGlvbnMuaCIKICNpbmNsdWRlICJEZXZpY2VNb3Rpb25Db250cm9sbGVyLmgiCiAj
aW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmgiCisjaW5jbHVkZSAiRGV2aWNl
UHJveGltaXR5Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAi
RG9jdW1lbnRMb2FkZXIuaCIKICNpbmNsdWRlICJFbGVtZW50LmgiCkBAIC0xNjAxLDYgKzE2MDIs
MTMgQEAgYm9vbCBET01XaW5kb3c6OmFkZEV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbWljU3RyaW5n
JiBldmVudFR5cGUsIFBhc3NSZWZQdHI8RXZlbnQKICAgICB9CiAjZW5kaWYKIAorI2lmIEVOQUJM
RShQUk9YSU1JVFlfRVZFTlRTKQorICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSBldmVudE5hbWVz
KCkud2Via2l0ZGV2aWNlcHJveGltaXR5RXZlbnQpIHsKKyAgICAgICAgaWYgKERldmljZVByb3hp
bWl0eUNvbnRyb2xsZXIqIGNvbnRyb2xsZXIgPSBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyOjpm
cm9tKHBhZ2UoKSkpCisgICAgICAgICAgICBjb250cm9sbGVyLT5hZGREZXZpY2VFdmVudExpc3Rl
bmVyKHRoaXMpOworICAgIH0KKyNlbmRpZgorCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKQEAgLTE2
MzAsNiArMTYzOCwxMyBAQCBib29sIERPTVdpbmRvdzo6cmVtb3ZlRXZlbnRMaXN0ZW5lcihjb25z
dCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lcgogICAgIH0KICNlbmRpZgog
CisjaWYgRU5BQkxFKFBST1hJTUlUWV9FVkVOVFMpCisgICAgZWxzZSBpZiAoZXZlbnRUeXBlID09
IGV2ZW50TmFtZXMoKS53ZWJraXRkZXZpY2Vwcm94aW1pdHlFdmVudCkgeworICAgICAgICBpZiAo
RGV2aWNlUHJveGltaXR5Q29udHJvbGxlciogY29udHJvbGxlciA9IERldmljZVByb3hpbWl0eUNv
bnRyb2xsZXI6OmZyb20ocGFnZSgpKSkKKyAgICAgICAgICAgIGNvbnRyb2xsZXItPnJlbW92ZURl
dmljZUV2ZW50TGlzdGVuZXIodGhpcyk7CisgICAgfQorI2VuZGlmCisKICAgICByZXR1cm4gdHJ1
ZTsKIH0KIApAQCAtMTY5MCw2ICsxNzA1LDExIEBAIHZvaWQgRE9NV2luZG93OjpyZW1vdmVBbGxF
dmVudExpc3RlbmVycygpCiAgICAgICAgIGRvY3VtZW50LT5kaWRSZW1vdmVFdmVudFRhcmdldE5v
ZGUoZG9jdW1lbnQpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoUFJPWElNSVRZX0VWRU5UUykKKyAg
ICBpZiAoRGV2aWNlUHJveGltaXR5Q29udHJvbGxlciogY29udHJvbGxlciA9IERldmljZVByb3hp
bWl0eUNvbnRyb2xsZXI6OmZyb20ocGFnZSgpKSkKKyAgICAgICAgY29udHJvbGxlci0+cmVtb3Zl
QWxsRGV2aWNlRXZlbnRMaXN0ZW5lcnModGhpcyk7CisjZW5kaWYKKwogICAgIHJlbW92ZUFsbFVu
bG9hZEV2ZW50TGlzdGVuZXJzKHRoaXMpOwogICAgIHJlbW92ZUFsbEJlZm9yZVVubG9hZEV2ZW50
TGlzdGVuZXJzKHRoaXMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4
IGNjMDhiM2UyYTA5OTg3NGQxZWM2MmE5MmU1ODczNzYxMTRlYjY5N2IuLmFiNzA0MDk4ODIxZjg1
YTk5YTE1MDQzNGE2YzQ3MWYzNmQwNGE1YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5jcHAKQEAgLTEwMCw2ICsxMDAsMTAgQEAKICNpbmNsdWRlICJOZXR3b3JrSW5mb0NvbnRyb2xs
ZXIuaCIKICNlbmRpZgogCisjaWYgRU5BQkxFKFBST1hJTUlUWV9FVkVOVFMpCisjaW5jbHVkZSAi
RGV2aWNlUHJveGltaXR5Q29udHJvbGxlci5oIgorI2VuZGlmCisKICNpZiBFTkFCTEUoUEFHRV9Q
T1BVUCkKICNpbmNsdWRlICJQYWdlUG9wdXBDb250cm9sbGVyLmgiCiAjZW5kaWYKQEAgLTEzMzMs
NiArMTMzNywyMyBAQCB2b2lkIEludGVybmFsczo6c2V0TmV0d29ya0luZm9ybWF0aW9uKERvY3Vt
ZW50KiBkb2N1bWVudCwgY29uc3QgU3RyaW5nJiBldmVudFR5cAogI2VuZGlmCiB9CiAKK3ZvaWQg
SW50ZXJuYWxzOjpzZXREZXZpY2VQcm94aW1pdHkoRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBT
dHJpbmcmIGV2ZW50VHlwZSwgZG91YmxlIHZhbHVlLCBkb3VibGUgbWluLCBkb3VibGUgbWF4LCBF
eGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAoIWRvY3VtZW50IHx8ICFkb2N1bWVudC0+cGFn
ZSgpKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOworICAgICAgICByZXR1cm47
CisgICAgfQorCisjaWYgRU5BQkxFKFBST1hJTUlUWV9FVkVOVFMpCisgICAgRGV2aWNlUHJveGlt
aXR5Q29udHJvbGxlcjo6ZnJvbShkb2N1bWVudC0+cGFnZSgpKS0+ZGlkQ2hhbmdlRGV2aWNlUHJv
eGltaXR5KHZhbHVlLCBtaW4sIG1heCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShldmVudFR5
cGUpOworICAgIFVOVVNFRF9QQVJBTSh2YWx1ZSk7CisgICAgVU5VU0VEX1BBUkFNKG1pbik7Cisg
ICAgVU5VU0VEX1BBUkFNKG1heCk7CisjZW5kaWYKK30KKwogYm9vbCBJbnRlcm5hbHM6Omhhc1Nw
ZWxsaW5nTWFya2VyKERvY3VtZW50KiBkb2N1bWVudCwgaW50IGZyb20sIGludCBsZW5ndGgsIEV4
Y2VwdGlvbkNvZGUmKQogewogICAgIGlmICghZG9jdW1lbnQgfHwgIWRvY3VtZW50LT5mcmFtZSgp
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggNWE4NzFkYTVlMzc1Mjk0Y2FjYTBm
Yjg4ZGVlMjc1NjBkZDhiMDIwNi4uNzhkNWIwZWZhMjUwMzE4ZGUzM2E1MDNjNTMxNjFhYTkyNmRj
MWYxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC0yMDEsNiArMjAxLDggQEAg
cHVibGljOgogCiAgICAgdm9pZCBzZXROZXR3b3JrSW5mb3JtYXRpb24oRG9jdW1lbnQqLCBjb25z
dCBTdHJpbmcmIGV2ZW50VHlwZSwgZG91YmxlIGJhbmR3aWR0aCwgYm9vbCBtZXRlcmVkLCBFeGNl
cHRpb25Db2RlJik7CiAKKyAgICB2b2lkIHNldERldmljZVByb3hpbWl0eShEb2N1bWVudCosIGNv
bnN0IFN0cmluZyYgZXZlbnRUeXBlLCBkb3VibGUgdmFsdWUsIGRvdWJsZSBtaW4sIGRvdWJsZSBt
YXgsIEV4Y2VwdGlvbkNvZGUmKTsKKwogICAgIHZvaWQgc3VzcGVuZEFuaW1hdGlvbnMoRG9jdW1l
bnQqLCBFeGNlcHRpb25Db2RlJikgY29uc3Q7CiAgICAgdm9pZCByZXN1bWVBbmltYXRpb25zKERv
Y3VtZW50KiwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5pZGwKaW5kZXggMzI5ZjQyOThmN2FhNDdlYjY4ODU4ZTkwYzIyMjNjYWIxMTM1OGVjYS4u
MzRlNTFhODJlYjE1ZjJiYTdjMGQzZjU0MTAxNmFmYzE3NDUzNWEwMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtMTkyLDYgKzE5MiwxMCBAQAogICAgIHZvaWQgc2V0TmV0
d29ya0luZm9ybWF0aW9uKGluIERvY3VtZW50IGRvY3VtZW50LCBpbiBET01TdHJpbmcgZXZlbnRU
eXBlLCBpbiBkb3VibGUgYmFuZHdpZHRoLCBpbiBib29sZWFuIG1ldGVyZWQpIHJhaXNlcyAoRE9N
RXhjZXB0aW9uKTsKICNlbmRpZgogCisjaWYgZGVmaW5lZChFTkFCTEVfUFJPWElNSVRZX0VWRU5U
UykgJiYgRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMKKyAgICB2b2lkIHNldERldmljZVByb3hpbWl0
eShpbiBEb2N1bWVudCBkb2N1bWVudCwgaW4gRE9NU3RyaW5nIGV2ZW50VHlwZSwgaW4gZG91Ymxl
IHZhbHVlLCBpbiBkb3VibGUgbWluLCBpbiBkb3VibGUgbWF4KSByYWlzZXMgKERPTUV4Y2VwdGlv
bik7CisjZW5kaWYKKwogICAgIFtDb25kaXRpb25hbD1JTlNQRUNUT1JdIHVuc2lnbmVkIGxvbmcg
bnVtYmVyT2ZMaXZlTm9kZXMoKTsKICAgICBbQ29uZGl0aW9uYWw9SU5TUEVDVE9SXSB1bnNpZ25l
ZCBsb25nIG51bWJlck9mTGl2ZURvY3VtZW50cygpOwogICAgIFtDb25kaXRpb25hbD1JTlNQRUNU
T1JdIHNlcXVlbmNlPERPTVN0cmluZz4gY29uc29sZU1lc3NhZ2VBcmd1bWVudENvdW50cyhpbiBE
b2N1bWVudCBkb2N1bWVudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3Rz
LnR4dCBiL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0CmluZGV4IGY0MzVjOTY2NDZmYmY1
YTQ2ODdlM2M5YjM0YWM1NzgzZDM5OGMwNjguLmI5NjRiNGI4NzM5ZDYwMDEzMDdiM2ZjNzQxODlk
YjM4MDlhZDdjMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0Cisr
KyBiL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0CkBAIC00NzIsNiArNDcyLDcgQEAgc2V0
KFdlYktpdDJfU09VUkNFUwogICAgIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ29sb3JD
aG9vc2VyLmNwcAogICAgIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVD
bGllbnQuY3BwCiAgICAgV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEYXRhYmFzZU1hbmFn
ZXIuY3BwCisgICAgV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEZXZpY2VQcm94aW1pdHlD
bGllbnQuY3BwCiAgICAgV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEcmFnQ2xpZW50LmNw
cAogICAgIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcAogICAg
IFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRldmlj
ZVByb3hpbWl0eUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkRldmljZVByb3hpbWl0eUNsaWVudC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTBlYWYxZThj
YmNiNGE2YTEyNGE3NzhjZjcyZGQzNjYxYmEzNzhhZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRGV2aWNlUHJveGltaXR5Q2xp
ZW50LmNwcApAQCAtMCwwICsxLDYxIEBACisvKgorICogQ29weXJpZ2h0IDIwMTIgU2Ftc3VuZyBF
bGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIldlYkRldmljZVByb3hpbWl0eUNsaWVudC5oIgorCisjaWYgRU5B
QkxFKFBST1hJTUlUWV9FVkVOVFMpCisKKyNpbmNsdWRlIDxXZWJDb3JlL0RldmljZVByb3hpbWl0
eUNvbnRyb2xsZXIuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK1dlYkRldmljZVByb3hpbWl0
eUNsaWVudDo6V2ViRGV2aWNlUHJveGltaXR5Q2xpZW50KFdlYlBhZ2UqIHBhZ2UpCisgICAgOiBt
X3BhZ2UocGFnZSkKKyAgICAsIG1fdmFsdWUoc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+Ojpp
bmZpbml0eSgpKQorICAgICwgbV9taW4oLXN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6aW5m
aW5pdHkoKSkKKyAgICAsIG1fbWF4KHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6aW5maW5p
dHkoKSkKK3sKK30KKwordm9pZCBXZWJEZXZpY2VQcm94aW1pdHlDbGllbnQ6OnN0YXJ0VXBkYXRp
bmcoKQoreworICAgIC8vIEZJWE1FIDogU3RhcnQgZ2V0dGluZyBwcm94aW1pdHkgZGF0YSBmcm9t
IGRldmljZS4KK30KKwordm9pZCBXZWJEZXZpY2VQcm94aW1pdHlDbGllbnQ6OnN0b3BVcGRhdGlu
ZygpCit7CisgICAgLy8gRklYTUUgOiBTdG9wIGdldHRpbmcgcHJveGltaXR5IGRhdGEgZnJvbSBk
ZXZpY2UuCit9CisKK2Jvb2wgV2ViRGV2aWNlUHJveGltaXR5Q2xpZW50OjpoYXNMYXN0RGF0YSgp
Cit7CisgICAgcmV0dXJuIG1fdmFsdWUgPT0gc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+Ojpp
bmZpbml0eSgpID8gZmFsc2UgOiB0cnVlOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKwor
I2VuZGlmIC8vIFBST1hJTUlUWV9FVkVOVFMKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEZXZpY2VQcm94aW1pdHlDbGllbnQuaCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRGV2aWNlUHJveGltaXR5
Q2xpZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYTE5ZjVlMDc2MmVkMzQ0MzdhMDJiYTk0MGY1Y2ExY2NhYmJl
OWVlNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViRGV2aWNlUHJveGltaXR5Q2xpZW50LmgKQEAgLTAsMCArMSw2MyBAQAorLyoK
KyAqIENvcHlyaWdodCAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpZm5kZWYgV2ViRGV2aWNlUHJveGltaXR5Q2xpZW50X2gKKyNkZWZp
bmUgV2ViRGV2aWNlUHJveGltaXR5Q2xpZW50X2gKKworI2lmIEVOQUJMRShQUk9YSU1JVFlfRVZF
TlRTKQorCisjaW5jbHVkZSA8V2ViQ29yZS9EZXZpY2VQcm94aW1pdHlDbGllbnQuaD4KKworbmFt
ZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYlBhZ2U7CisKK2NsYXNzIFdlYkRldmljZVByb3hp
bWl0eUNsaWVudCA6IHB1YmxpYyBXZWJDb3JlOjpEZXZpY2VQcm94aW1pdHlDbGllbnQgeworcHVi
bGljOgorICAgIGV4cGxpY2l0IFdlYkRldmljZVByb3hpbWl0eUNsaWVudChXZWJQYWdlKik7Cisg
ICAgdmlydHVhbCB+V2ViRGV2aWNlUHJveGltaXR5Q2xpZW50KCkgeyB9CisKKyAgICB2b2lkIHN0
YXJ0VXBkYXRpbmcoKTsKKyAgICB2b2lkIHN0b3BVcGRhdGluZygpOworCisgICAgdmlydHVhbCBi
b29sIGhhc0xhc3REYXRhKCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCBkb3VibGUgdmFsdWUoKSBP
VkVSUklERSB7IHJldHVybiBtX3ZhbHVlOyB9CisgICAgdmlydHVhbCBkb3VibGUgbWluKCkgT1ZF
UlJJREUgeyByZXR1cm4gbV9taW47IH0KKyAgICB2aXJ0dWFsIGRvdWJsZSBtYXgoKSBPVkVSUklE
RSB7IHJldHVybiBtX21heDsgfQorCitwcml2YXRlOgorICAgIFdlYlBhZ2UqIG1fcGFnZTsKKyAg
ICAKKyAgICBib29sIG1faXNVcGRhdGluZzsKKyAgICBkb3VibGUgbV92YWx1ZTsKKyAgICBkb3Vi
bGUgbV9taW47CisgICAgZG91YmxlIG1fbWF4OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CisKKyNlbmRpZiAvLyBQUk9YSU1JVFlfRVZFTlRTCisjZW5kaWYgLy8gV2ViRGV2aWNlUHJveGlt
aXR5Q2xpZW50X2gKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCmluZGV4IGUwNmUzYTMxMGExYjA5ZDY1ZGFhZWI1NDljZDgwMjU4ZTEzNGY5OWMuLjcy
MjJjNjg4ZmY2OGFmMDg3YTMzMjcxZDc5YjA3YjkyMjMyYTljMzkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTE1Nyw2ICsxNTcsMTAgQEAK
ICNpbmNsdWRlICJXZWJWaWJyYXRpb25DbGllbnQuaCIKICNlbmRpZgogCisjaWYgRU5BQkxFKFBS
T1hJTUlUWV9FVkVOVFMpCisjaW5jbHVkZSAiV2ViRGV2aWNlUHJveGltaXR5Q2xpZW50LmgiCisj
ZW5kaWYKKwogI2lmIFBMQVRGT1JNKE1BQykKICNpbmNsdWRlICJTaW1wbGVQREZQbHVnaW4uaCIK
ICNpZiBFTkFCTEUoUERGS0lUX1BMVUdJTikKQEAgLTMyNyw2ICszMzEsOSBAQCBXZWJQYWdlOjpX
ZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwgY29uc3QgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYg
cGFyYW1ldGVycykKICNpZiBFTkFCTEUoVklCUkFUSU9OKQogICAgIFdlYkNvcmU6OnByb3ZpZGVW
aWJyYXRpb25UbyhtX3BhZ2UuZ2V0KCksIG5ldyBXZWJWaWJyYXRpb25DbGllbnQodGhpcykpOwog
I2VuZGlmCisjaWYgRU5BQkxFKFBST1hJTUlUWV9FVkVOVFMpCisgICAgV2ViQ29yZTo6cHJvdmlk
ZURldmljZVByb3hpbWl0eVRvKG1fcGFnZS5nZXQoKSwgbmV3IFdlYkRldmljZVByb3hpbWl0eUNs
aWVudCh0aGlzKSk7CisjZW5kaWYKIAogICAgIG1fcGFnZS0+c2V0Q2FuU3RhcnRNZWRpYShmYWxz
ZSk7CiAgICAgbV9tYXlTdGFydE1lZGlhV2hlbkluV2luZG93ID0gcGFyYW1ldGVycy5tYXlTdGFy
dE1lZGlhV2hlbkluV2luZG93OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDA0MTMxODc3ZTEzZDdmYjM4M2Q1Mzg4ZGI0Mjg2
MjViMDBjM2JiNTUuLmU1MjY3ZTY1MGUwMWU2Zjc2M2YyZGYwYmY1MDg3ZTVkNTc4NmZjN2YgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwzNCBAQAorMjAxMy0wMS0wNyAgS2lob25nIEt3b24gIDxraWhvbmcua3dv
bkBzYW1zdW5nLmNvbT4KKworICAgICAgICBBZGQgRGV2aWNlUHJveGltaXR5Q29udHJvbGxlciB0
byBzdXBwb3J0IERldmljZSBQcm94aW1pdHkgRXZlbnRzLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc2MzAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgbGF5b3V0IHRlc3QgY2FzZXMgZm9yIHRoZSBE
ZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLgorCisgICAgICAgICogcHJveGltaXR5L2FkZC1saXN0
ZW5lci1mcm9tLWNhbGxiYWNrLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcHJveGlt
aXR5L2FkZC1saXN0ZW5lci1mcm9tLWNhbGxiYWNrLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBy
b3hpbWl0eS9iYXNpYy1vcGVyYXRpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBw
cm94aW1pdHkvYmFzaWMtb3BlcmF0aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHByb3hpbWl0
eS9jcmVhdGUtZXZlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwcm94aW1pdHkv
Y3JlYXRlLWV2ZW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHByb3hpbWl0eS9ldmVudC1hZnRl
ci1uYXZpZ2F0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcHJveGltaXR5L2V2
ZW50LWFmdGVyLW5hdmlnYXRpb24uaHRtbDogQWRkZWQuCisgICAgICAgICogcHJveGltaXR5L211
bHRpcGxlLWZyYW1lcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHByb3hpbWl0eS9t
dWx0aXBsZS1mcmFtZXMuaHRtbDogQWRkZWQuCisgICAgICAgICogcHJveGltaXR5L25vLXBhZ2Ut
Y2FjaGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwcm94aW1pdHkvbm8tcGFnZS1j
YWNoZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwcm94aW1pdHkvb3B0aW9uYWwtZXZlbnQtcHJv
cGVydGllcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHByb3hpbWl0eS9vcHRpb25h
bC1ldmVudC1wcm9wZXJ0aWVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHByb3hpbWl0eS9yZXNv
dXJjZXMvY2FjaGVkLXBhZ2UtMS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwcm94aW1pdHkvcmVz
b3VyY2VzL2NhY2hlZC1wYWdlLTIuaHRtbDogQWRkZWQuCisgICAgICAgICogcHJveGltaXR5L3Jl
c291cmNlcy9ldmVudC1hZnRlci1uYXZpZ2F0aW9uLW5ldy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBwcm94aW1pdHkvdXBkYXRlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHByb3hp
bWl0eS91cGRhdGVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHByb3hpbWl0eS93aW5kb3ctcHJv
cGVydHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwcm94aW1pdHkvd2luZG93LXBy
b3BlcnR5Lmh0bWw6IEFkZGVkLgorCiAyMDEzLTAxLTA2ICBBYmhpc2hlayBBcnlhICA8aW5mZXJu
b0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSGVhcC11c2UtYWZ0ZXItZnJlZSBpbiBXZWJDb3Jl
OjpEb2N1bWVudDo6aW1wbGljaXRDbG9zZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcHJveGlt
aXR5L2FkZC1saXN0ZW5lci1mcm9tLWNhbGxiYWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3Byb3hpbWl0eS9hZGQtbGlzdGVuZXItZnJvbS1jYWxsYmFjay1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTBiODY3MTgzOGNmMzMyM2NkMTVlNzRmZDc2YTFmZmI4YTg2MTY5ZQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9hZGQtbGlzdGVuZXItZnJvbS1jYWxsYmFj
ay1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOCBAQAorVGVzdHMgdGhhdCBhZGRpbmcgYSBuZXcg
ZXZlbnQgbGlzdGVuZXIgZnJvbSBhIGNhbGxiYWNrIHdvcmtzIGFzIGV4cGVjdGVkLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBkZXZpY2VQcm94aW1pdHlFdmVudC52YWx1
ZSBpcyBmaXJlZEV2ZW50LnZhbHVlCitQQVNTIGRldmljZVByb3hpbWl0eUV2ZW50Lm1pbiBpcyBm
aXJlZEV2ZW50Lm1pbgorUEFTUyBkZXZpY2VQcm94aW1pdHlFdmVudC5tYXggaXMgZmlyZWRFdmVu
dC5tYXgKK1BBU1MgZGV2aWNlUHJveGltaXR5RXZlbnQudmFsdWUgaXMgZmlyZWRFdmVudC52YWx1
ZQorUEFTUyBkZXZpY2VQcm94aW1pdHlFdmVudC5taW4gaXMgZmlyZWRFdmVudC5taW4KK1BBU1Mg
ZGV2aWNlUHJveGltaXR5RXZlbnQubWF4IGlzIGZpcmVkRXZlbnQubWF4CitQQVNTIGRldmljZVBy
b3hpbWl0eUV2ZW50LnZhbHVlIGlzIGZpcmVkRXZlbnQudmFsdWUKK1BBU1MgZGV2aWNlUHJveGlt
aXR5RXZlbnQubWluIGlzIGZpcmVkRXZlbnQubWluCitQQVNTIGRldmljZVByb3hpbWl0eUV2ZW50
Lm1heCBpcyBmaXJlZEV2ZW50Lm1heAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Byb3hpbWl0eS9hZGQt
bGlzdGVuZXItZnJvbS1jYWxsYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L2FkZC1s
aXN0ZW5lci1mcm9tLWNhbGxiYWNrLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDk4ZjZmZDM0YTYzZjZlNzUz
ODI1MDFmMTNmOWRiOTYzNzY3ZWQzZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3By
b3hpbWl0eS9hZGQtbGlzdGVuZXItZnJvbS1jYWxsYmFjay5odG1sCkBAIC0wLDAgKzEsNTAgQEAK
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRp
b24oJ1Rlc3RzIHRoYXQgYWRkaW5nIGEgbmV3IGV2ZW50IGxpc3RlbmVyIGZyb20gYSBjYWxsYmFj
ayB3b3JrcyBhcyBleHBlY3RlZC4nKTsKKwordmFyIGZpcmVkRXZlbnQgPSB7dmFsdWU6IDIuMiwg
bWluOiAxLjEsIG1heDogMy4zfTsKKwordmFyIGRldmljZVByb3hpbWl0eUV2ZW50OworZnVuY3Rp
b24gY2hlY2tQcm94aW1pdHkoZXZlbnQpIHsKKyAgICBkZXZpY2VQcm94aW1pdHlFdmVudCA9IGV2
ZW50OworICAgIHNob3VsZEJlKCdkZXZpY2VQcm94aW1pdHlFdmVudC52YWx1ZScsICdmaXJlZEV2
ZW50LnZhbHVlJyk7CisgICAgc2hvdWxkQmUoJ2RldmljZVByb3hpbWl0eUV2ZW50Lm1pbicsICdm
aXJlZEV2ZW50Lm1pbicpOworICAgIHNob3VsZEJlKCdkZXZpY2VQcm94aW1pdHlFdmVudC5tYXgn
LCAnZmlyZWRFdmVudC5tYXgnKTsKK30KKwordmFyIGZpcnN0TGlzdGVuZXJFdmVudHMgPSAwOwor
ZnVuY3Rpb24gZmlyc3RMaXN0ZW5lcihldmVudCkgeworICAgIGNoZWNrUHJveGltaXR5KGV2ZW50
KTsKKyAgICBpZiAoKytmaXJzdExpc3RlbmVyRXZlbnRzID09IDEpIHsKKyAgICAgICAgd2luZG93
LmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdGRldmljZXByb3hpbWl0eScsIHNlY29uZExpc3RlbmVy
KTsKKyAgICAgICAgaW50ZXJuYWxzLnNldERldmljZVByb3hpbWl0eShkb2N1bWVudCwgJ3dlYmtp
dGRldmljZXByb3hpbWl0eScsIGZpcmVkRXZlbnQudmFsdWUsIGZpcmVkRXZlbnQubWluLCBmaXJl
ZEV2ZW50Lm1heCk7CisgICAgfQorICAgIGVsc2UgaWYgKGZpcnN0TGlzdGVuZXJFdmVudHMgPiAy
KQorICAgICAgICB0ZXN0RmFpbGVkKCdUb28gbWFueSBldmVudHMgZm9yIGZpcnN0IGxpc3RlbmVy
LicpOworICAgIG1heWJlRmluaXNoVGVzdCgpOworfQorCit2YXIgc2Vjb25kTGlzdGVuZXJFdmVu
dHMgPSAwOworZnVuY3Rpb24gc2Vjb25kTGlzdGVuZXIoZXZlbnQpIHsKKyAgICBjaGVja1Byb3hp
bWl0eShldmVudCk7CisgICAgaWYgKCsrc2Vjb25kTGlzdGVuZXJFdmVudHMgPiAxKQorICAgICAg
ICB0ZXN0RmFpbGVkKCdUb28gbWFueSBldmVudHMgZm9yIHNlY29uZCBsaXN0ZW5lci4nKTsKKyAg
ICBtYXliZUZpbmlzaFRlc3QoKTsKK30KKworZnVuY3Rpb24gbWF5YmVGaW5pc2hUZXN0KCkgewor
ICAgIGlmIChmaXJzdExpc3RlbmVyRXZlbnRzID09IDIgJiYgc2Vjb25kTGlzdGVuZXJFdmVudHMg
PT0gMSkKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK3dpbmRvdy5hZGRFdmVudExpc3Rl
bmVyKCd3ZWJraXRkZXZpY2Vwcm94aW1pdHknLCBmaXJzdExpc3RlbmVyKTsKK2ludGVybmFscy5z
ZXREZXZpY2VQcm94aW1pdHkoZG9jdW1lbnQsICd3ZWJraXRkZXZpY2Vwcm94aW1pdHknLCBmaXJl
ZEV2ZW50LnZhbHVlLCBmaXJlZEV2ZW50Lm1pbiwgZmlyZWRFdmVudC5tYXgpOword2luZG93Lmpz
VGVzdElzQXN5bmMgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3Byb3hpbWl0eS9iYXNpYy1vcGVyYXRpb24tZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L2Jhc2ljLW9wZXJhdGlvbi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZDk2NjFhMzNlYjY4ODIzMTIxZmRjNDNlMGVkM2Y2MGM3YTM5NzVmNwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9iYXNpYy1vcGVyYXRpb24tZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK1Rlc3RzIHRoZSBiYXNpYyBvcGVyYXRpb24gb2Yg
RGV2aWNlUHJveGltaXR5IHVzaW5nIHRoZSBwcm94aW1pdHkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworCitQQVNTIGRldmljZVByb3hpbWl0eUV2ZW50LnZhbHVlIGlzIGZpcmVkRXZl
bnQudmFsdWUKK1BBU1MgZGV2aWNlUHJveGltaXR5RXZlbnQubWluIGlzIGZpcmVkRXZlbnQubWF4
CitQQVNTIGRldmljZVByb3hpbWl0eUV2ZW50Lm1heCBpcyBmaXJlZEV2ZW50Lm1pbgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3Byb3hpbWl0eS9iYXNpYy1vcGVyYXRpb24uaHRtbCBiL0xheW91dFRlc3Rz
L3Byb3hpbWl0eS9iYXNpYy1vcGVyYXRpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYzFlZjRkZWQyYjMy
ZDgyNDIzZWQ3NGJmODkyODUxZTJhMWM3YzRhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvcHJveGltaXR5L2Jhc2ljLW9wZXJhdGlvbi5odG1sCkBAIC0wLDAgKzEsMjUgQEAKKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rl
c3RzIHRoZSBiYXNpYyBvcGVyYXRpb24gb2YgRGV2aWNlUHJveGltaXR5IHVzaW5nIHRoZSBwcm94
aW1pdHkuJyk7CisKK3ZhciBmaXJlZEV2ZW50ID0ge3ZhbHVlOiAyLjIsIG1pbjogMS4xLCBtYXg6
IDMuM307CisKK3ZhciBkZXZpY2VQcm94aW1pdHlFdmVudDsKK3dpbmRvdy5hZGRFdmVudExpc3Rl
bmVyKCd3ZWJraXRkZXZpY2Vwcm94aW1pdHknLCBmdW5jdGlvbihlKSB7CisgICAgZGV2aWNlUHJv
eGltaXR5RXZlbnQgPSBlOworICAgIHNob3VsZEJlKCdkZXZpY2VQcm94aW1pdHlFdmVudC52YWx1
ZScsICdmaXJlZEV2ZW50LnZhbHVlJyk7CisgICAgc2hvdWxkQmUoJ2RldmljZVByb3hpbWl0eUV2
ZW50Lm1pbicsICdmaXJlZEV2ZW50Lm1heCcpOworICAgIHNob3VsZEJlKCdkZXZpY2VQcm94aW1p
dHlFdmVudC5tYXgnLCAnZmlyZWRFdmVudC5taW4nKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30p
OworCitpbnRlcm5hbHMuc2V0RGV2aWNlUHJveGltaXR5KGRvY3VtZW50LCAnd2Via2l0ZGV2aWNl
cHJveGltaXR5JywgZmlyZWRFdmVudC52YWx1ZSwgZmlyZWRFdmVudC5tYXgsIGZpcmVkRXZlbnQu
bWluKTsKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wcm94aW1pdHkvY3JlYXRlLWV2
ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9jcmVhdGUtZXZlbnQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVjZjU5Njc1ZmYwNWE2ZjMwZTNlMWRkODYxMzhjZGJkOTBi
ZWJjNDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wcm94aW1pdHkvY3JlYXRlLWV2
ZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIyIEBACitUZXN0cyB0aGF0IGRvY3VtZW50LmNy
ZWF0ZUV2ZW50KCkgd29ya3Mgd2l0aCBEZXZpY2VQcm94aW1pdHlFdmVudC4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgdHlwZW9mIGV2ZW50ID09ICdvYmplY3QnIGlzIHRy
dWUKK1BBU1MgJ3R5cGUnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ2J1YmJsZXMnIGluIGV2ZW50
IGlzIHRydWUKK1BBU1MgJ2NhbmNlbGFibGUnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ3ZhbHVl
JyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdtaW4nIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ21h
eCcgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyB0eXBlb2YgZXZlbnQudHlwZSA9PSAnc3RyaW5nJyBp
cyB0cnVlCitQQVNTIHR5cGVvZiBldmVudC5idWJibGVzID09ICdib29sZWFuJyBpcyB0cnVlCitQ
QVNTIHR5cGVvZiBldmVudC5jYW5jZWxhYmxlID09ICdib29sZWFuJyBpcyB0cnVlCitQQVNTIHR5
cGVvZiBldmVudC52YWx1ZSA9PSAnbnVtYmVyJyBpcyB0cnVlCitQQVNTIHR5cGVvZiBldmVudC5t
aW4gPT0gJ251bWJlcicgaXMgdHJ1ZQorUEFTUyB0eXBlb2YgZXZlbnQubWF4ID09ICdudW1iZXIn
IGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wcm94aW1pdHkvY3JlYXRlLWV2ZW50Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9wcm94aW1pdHkvY3JlYXRlLWV2ZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzIx
MzlhODZkNzQyZDY3NmM4ZmI3ODg4NmM2YTM1ZGYzOGVmYTZmZQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3Byb3hpbWl0eS9jcmVhdGUtZXZlbnQuaHRtbApAQCAtMCwwICsxLDI5IEBA
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0
aW9uKCdUZXN0cyB0aGF0IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCkgd29ya3Mgd2l0aCBEZXZpY2VQ
cm94aW1pdHlFdmVudC4nKTsKKwordmFyIGV2ZW50ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0Rl
dmljZVByb3hpbWl0eUV2ZW50Jyk7CisKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIGV2ZW50ID09ICdv
YmplY3QnIik7CisKK3Nob3VsZEJlVHJ1ZSgiJ3R5cGUnIGluIGV2ZW50Iik7CitzaG91bGRCZVRy
dWUoIididWJibGVzJyBpbiBldmVudCIpOworc2hvdWxkQmVUcnVlKCInY2FuY2VsYWJsZScgaW4g
ZXZlbnQiKTsKK3Nob3VsZEJlVHJ1ZSgiJ3ZhbHVlJyBpbiBldmVudCIpOworc2hvdWxkQmVUcnVl
KCInbWluJyBpbiBldmVudCIpOworc2hvdWxkQmVUcnVlKCInbWF4JyBpbiBldmVudCIpOworCitz
aG91bGRCZVRydWUoInR5cGVvZiBldmVudC50eXBlID09ICdzdHJpbmcnIik7CitzaG91bGRCZVRy
dWUoInR5cGVvZiBldmVudC5idWJibGVzID09ICdib29sZWFuJyIpOworc2hvdWxkQmVUcnVlKCJ0
eXBlb2YgZXZlbnQuY2FuY2VsYWJsZSA9PSAnYm9vbGVhbiciKTsKK3Nob3VsZEJlVHJ1ZSgidHlw
ZW9mIGV2ZW50LnZhbHVlID09ICdudW1iZXInIik7CitzaG91bGRCZVRydWUoInR5cGVvZiBldmVu
dC5taW4gPT0gJ251bWJlciciKTsKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIGV2ZW50Lm1heCA9PSAn
bnVtYmVyJyIpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3Byb3hpbWl0eS9ldmVudC1hZnRlci1uYXZpZ2F0aW9uLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9ldmVudC1hZnRlci1uYXZpZ2F0aW9uLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44ZTZiYzM5ODI2Nzc3YjE4M2U0YjBmY2JlY2NlN2VjMjZmZDBmZDFk
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L2V2ZW50LWFmdGVyLW5h
dmlnYXRpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorVGVzdHMgZm9yIGEgY3Jhc2gg
d2hlcmUgYW4gZXZlbnQgaXMgZmlyZWQgYWZ0ZXIgdGhlIHBhZ2UgaGFzIGJlZW4gbmF2aWdhdGVk
IGF3YXkgd2hlbiB0aGUgb3JpZ2luYWwgcGFnZSBpcyBpbiB0aGUgcGFnZSBjYWNoZS4KKworU1VD
Q0VTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcHJveGltaXR5L2V2ZW50LWFmdGVyLW5hdmln
YXRpb24uaHRtbCBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9ldmVudC1hZnRlci1uYXZpZ2F0aW9u
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNGQ0NDdlNWJlOTEzZWEyYzFjMDA2ZGUzY2Y0ODFmMDViOTgxMmE5
ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9ldmVudC1hZnRlci1u
YXZpZ2F0aW9uLmh0bWwKQEAgLTAsMCArMSwyMyBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVzdHMgZm9yIGEgY3Jhc2ggd2hl
cmUgYW4gZXZlbnQgaXMgZmlyZWQgYWZ0ZXIgdGhlIHBhZ2UgaGFzIGJlZW4gbmF2aWdhdGVkIGF3
YXkgd2hlbiB0aGUgb3JpZ2luYWwgcGFnZSBpcyBpbiB0aGUgcGFnZSBjYWNoZS4nKTsKKworaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCdX
ZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleScsIDEpOworZWxzZQorICAgIGRlYnVnKCdU
aGlzIHRlc3QgY2FuIG5vdCBiZSBydW4gd2l0aG91dCB0aGUgVGVzdFJ1bm5lcicpOworCitkb2N1
bWVudC5ib2R5Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIHdpbmRvdy5hZGRFdmVudExpc3Rl
bmVyKCd3ZWJraXRkZXZpY2Vwcm94aW1pdHknLCBmdW5jdGlvbigpIHsgfSApOworICAgIHdpbmRv
dy5sb2NhdGlvbiA9ICJyZXNvdXJjZXMvZXZlbnQtYWZ0ZXItbmF2aWdhdGlvbi1uZXcuaHRtbCI7
Cit9CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wcm94aW1pdHkvbXVsdGlwbGUt
ZnJhbWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9tdWx0aXBsZS1mcmFt
ZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYwNWY0ZTNmZjI2ZjhiMGQxMGMyOWFkMTBkMTI0
NGRlZDNjNTc2MzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wcm94aW1pdHkvbXVs
dGlwbGUtZnJhbWVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBACitUZXN0cyB1c2luZyBE
ZXZpY2VQcm94aW1pdHkgZnJvbSBtdWx0aXBsZSBmcmFtZXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworCitQQVNTIERldmljZVByb3hpbWl0eUV2ZW50LnZhbHVlIGlzIGZpcmVkRXZl
bnQudmFsdWUKK1BBU1MgRGV2aWNlUHJveGltaXR5RXZlbnQubWluIGlzIGZpcmVkRXZlbnQubWlu
CitQQVNTIERldmljZVByb3hpbWl0eUV2ZW50Lm1heCBpcyBmaXJlZEV2ZW50Lm1heAorUEFTUyBE
ZXZpY2VQcm94aW1pdHlFdmVudC52YWx1ZSBpcyBmaXJlZEV2ZW50LnZhbHVlCitQQVNTIERldmlj
ZVByb3hpbWl0eUV2ZW50Lm1pbiBpcyBmaXJlZEV2ZW50Lm1pbgorUEFTUyBEZXZpY2VQcm94aW1p
dHlFdmVudC5tYXggaXMgZmlyZWRFdmVudC5tYXgKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wcm94aW1p
dHkvbXVsdGlwbGUtZnJhbWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9wcm94aW1pdHkvbXVsdGlwbGUt
ZnJhbWVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjdjOTM4ZTEyMDQxZWIxMDg2ODhjNDMzNTgzMDNjNjZk
OGYwOTU0OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9tdWx0aXBs
ZS1mcmFtZXMuaHRtbApAQCAtMCwwICsxLDQ4IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0cyB1c2luZyBEZXZpY2VQcm94
aW1pdHkgZnJvbSBtdWx0aXBsZSBmcmFtZXMuJyk7CisKK3ZhciBEZXZpY2VQcm94aW1pdHlFdmVu
dDsKK2Z1bmN0aW9uIGNoZWNrUHJveGltaXR5KGV2ZW50KSB7CisgICAgRGV2aWNlUHJveGltaXR5
RXZlbnQgPSBldmVudDsKKyAgICBzaG91bGRCZSgnRGV2aWNlUHJveGltaXR5RXZlbnQudmFsdWUn
LCAnZmlyZWRFdmVudC52YWx1ZScpOworICAgIHNob3VsZEJlKCdEZXZpY2VQcm94aW1pdHlFdmVu
dC5taW4nLCAnZmlyZWRFdmVudC5taW4nKTsKKyAgICBzaG91bGRCZSgnRGV2aWNlUHJveGltaXR5
RXZlbnQubWF4JywgJ2ZpcmVkRXZlbnQubWF4Jyk7Cit9CisKK3ZhciBoYXNNYWluRnJhbWVFdmVu
dEZpcmVkID0gZmFsc2U7CitmdW5jdGlvbiBtYWluRnJhbWVMaXN0ZW5lcihldmVudCkgeworICAg
IGNoZWNrUHJveGltaXR5KGV2ZW50KTsKKyAgICBoYXNNYWluRnJhbWVFdmVudEZpcmVkID0gdHJ1
ZTsKKyAgICBtYXliZUZpbmlzaFRlc3QoKTsKK30KKwordmFyIGhhc0NoaWxkRnJhbWVFdmVudEZp
cmVkID0gZmFsc2U7CitmdW5jdGlvbiBjaGlsZEZyYW1lTGlzdGVuZXIoZXZlbnQpIHsKKyAgICBj
aGVja1Byb3hpbWl0eShldmVudCk7CisgICAgaGFzQ2hpbGRGcmFtZUV2ZW50RmlyZWQgPSB0cnVl
OworICAgIG1heWJlRmluaXNoVGVzdCgpOworfQorCitmdW5jdGlvbiBtYXliZUZpbmlzaFRlc3Qo
KSB7CisgICAgaWYgKGhhc01haW5GcmFtZUV2ZW50RmlyZWQgJiYgaGFzQ2hpbGRGcmFtZUV2ZW50
RmlyZWQpCisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworfQorCit2YXIgY2hpbGRGcmFtZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChjaGlsZEZyYW1lKTsKK2NoaWxkRnJhbWUuY29udGVudFdpbmRvdy5hZGRFdmVudExpc3RlbmVy
KCd3ZWJraXRkZXZpY2Vwcm94aW1pdHknLCBjaGlsZEZyYW1lTGlzdGVuZXIpOworCit3aW5kb3cu
YWRkRXZlbnRMaXN0ZW5lcignd2Via2l0ZGV2aWNlcHJveGltaXR5JywgbWFpbkZyYW1lTGlzdGVu
ZXIpOwordmFyIGZpcmVkRXZlbnQgPSB7dmFsdWU6IDIuMiwgbWluOiAxLjEsIG1heDogMy4zfTsK
K2ludGVybmFscy5zZXREZXZpY2VQcm94aW1pdHkoZG9jdW1lbnQsICd3ZWJraXRkZXZpY2Vwcm94
aW1pdHknLCBmaXJlZEV2ZW50LnZhbHVlLCBmaXJlZEV2ZW50Lm1pbiwgZmlyZWRFdmVudC5tYXgp
OworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcHJveGltaXR5L25vLXBhZ2UtY2Fj
aGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L25vLXBhZ2UtY2FjaGUtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYzNjY1ZDVlZDJjMGFjZTQzOGQ2YzZjMzcwMzMxYjFkNDBk
M2Y4OTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wcm94aW1pdHkvbm8tcGFnZS1j
YWNoZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNCBAQAorVGVzdHMgdGhhdCBwYWdlcyB0aGF0
IHVzZSBEZXZpY2VQcm94aW1pdHkgYXJlIG5vdCBwdXQgaW4gdGhlIHBhZ2UgY2FjaGUuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitNYWluIHBhZ2Ugb3BlbmluZyByZXNvdXJjZXMv
Y2FjaGVkLXBhZ2UtMS5odG1sCityZXNvdXJjZXMvY2FjaGVkLXBhZ2UtMS5odG1sIG9ubG9hZCBm
aXJlZCwgY291bnQgPSAxCityZXNvdXJjZXMvY2FjaGVkLXBhZ2UtMS5odG1sIGFib3V0IHRvIG5h
dmlnYXRlIHRvIHJlc291cmNlcy9jYWNoZWQtcGFnZS0yLmh0bWwKK3Jlc291cmNlcy9jYWNoZWQt
cGFnZS0yLmh0bWwgYWJvdXQgdG8gZ28gYmFjayB0byByZXNvdXJjZXMvY2FjaGVkLXBhZ2UtMS5o
dG1sCityZXNvdXJjZXMvY2FjaGVkLXBhZ2UtMS5odG1sIG9ubG9hZCBmaXJlZCwgY291bnQgPSAy
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcHJveGltaXR5L25vLXBhZ2UtY2FjaGUuaHRtbCBiL0xheW91
dFRlc3RzL3Byb3hpbWl0eS9uby1wYWdlLWNhY2hlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWU2YzczYWEw
MGE1YjNhODA0ZTUwOTc5OGIwODNkNzg1MTEwZDdjZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3Byb3hpbWl0eS9uby1wYWdlLWNhY2hlLmh0bWwKQEAgLTAsMCArMSwzMyBAQAorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbign
VGVzdHMgdGhhdCBwYWdlcyB0aGF0IHVzZSBEZXZpY2VQcm94aW1pdHkgYXJlIG5vdCBwdXQgaW4g
dGhlIHBhZ2UgY2FjaGUuJyk7CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RS
dW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3Mo
KTsKKyAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgnV2ViS2l0VXNlc1BhZ2VDYWNo
ZVByZWZlcmVuY2VLZXknLCAxKTsKK30gZWxzZQorICAgIGRlYnVnKCdUaGlzIHRlc3QgY2FuIG5v
dCBiZSBydW4gd2l0aG91dCB0aGUgVGVzdFJ1bm5lcicpOworCit2YXIgcGFnZU9uZU9ubG9hZENv
dW50ID0gMDsKK2Z1bmN0aW9uIHJlcG9ydFBhZ2VPbmVPbmxvYWQoKSB7CisgICAgKytwYWdlT25l
T25sb2FkQ291bnQ7CisgICAgZGVidWcoJ3Jlc291cmNlcy9jYWNoZWQtcGFnZS0xLmh0bWwgb25s
b2FkIGZpcmVkLCBjb3VudCA9ICcgKyBwYWdlT25lT25sb2FkQ291bnQpOworICAgIGlmIChwYWdl
T25lT25sb2FkQ291bnQgPT0gMikgeworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9Cisg
ICAgcmV0dXJuIHBhZ2VPbmVPbmxvYWRDb3VudDsKK30KKworZGVidWcoIk1haW4gcGFnZSBvcGVu
aW5nIHJlc291cmNlcy9jYWNoZWQtcGFnZS0xLmh0bWwiKTsKK3dpbmRvdy5vcGVuKCJyZXNvdXJj
ZXMvY2FjaGVkLXBhZ2UtMS5odG1sIik7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wcm94aW1pdHkvb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9wcm94aW1pdHkvb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uOTA3OThkYjUxNWE1NWU2NzExM2JlOWIyNDRmODZmMjRhYmFlNzk0YgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9vcHRpb25hbC1ldmVudC1wcm9w
ZXJ0aWVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUZXN0cyB0aGUgb3B0aW9uYWwg
cHJvcGVydGllcyBvZiBEZXZpY2VQcm94aW1pdHlFdmVudC4gRWFjaCBwcm9wZXJ0eSBzaG91bGQg
YmUgbnVsbCBpZiBub3Qgc2V0LCBvciBzZXQgdG8gbnVsbCBvciB1bmRlZmluZWQuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitldmVudCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdE
ZXZpY2VQcm94aW1pdHlFdmVudCcpCitQQVNTIGV2ZW50LnZhbHVlID09IE51bWJlci5QT1NJVElW
RV9JTkZJTklUWSBpcyB0cnVlCitQQVNTIGV2ZW50Lm1pbiA9PSBOdW1iZXIuTkVHQVRJVkVfSU5G
SU5JVFkgaXMgdHJ1ZQorUEFTUyBldmVudC5tYXggPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZ
IGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wcm94aW1pdHkvb3B0aW9uYWwtZXZlbnQtcHJv
cGVydGllcy5odG1sIGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L29wdGlvbmFsLWV2ZW50LXByb3Bl
cnRpZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZjY0NDkyNzkyNDY0ZTRlZTYxYmVlMGNiN2M0MzA4YzU0
OWU2OTk4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L29wdGlvbmFs
LWV2ZW50LXByb3BlcnRpZXMuaHRtbApAQCAtMCwwICsxLDE3IEBACis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0cyB0aGUgb3B0
aW9uYWwgcHJvcGVydGllcyBvZiBEZXZpY2VQcm94aW1pdHlFdmVudC4gRWFjaCBwcm9wZXJ0eSBz
aG91bGQgYmUgbnVsbCBpZiBub3Qgc2V0LCBvciBzZXQgdG8gbnVsbCBvciB1bmRlZmluZWQuJyk7
CisKK3ZhciBldmVudDsKK2V2YWxBbmRMb2coImV2ZW50ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQo
J0RldmljZVByb3hpbWl0eUV2ZW50JykiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQudmFsdWUgPT0g
TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIik7CitzaG91bGRCZVRydWUoImV2ZW50Lm1pbiA9PSBO
dW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQubWF4ID09IE51
bWJlci5QT1NJVElWRV9JTkZJTklUWSIpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Byb3hpbWl0eS9yZXNvdXJjZXMvY2FjaGVkLXBh
Z2UtMS5odG1sIGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L3Jlc291cmNlcy9jYWNoZWQtcGFnZS0x
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uY2QwNjJjY2U5MTI4ZDE1MmQ4YTk5YzAyZTdhOGI0OTg0YzU3YjJj
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9yZXNvdXJjZXMvY2Fj
aGVkLXBhZ2UtMS5odG1sCkBAIC0wLDAgKzEsMTEgQEAKKzxzY3JpcHQ+CitmdW5jdGlvbiBsb2Fk
TmV4dCgpIHsKKyAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0ZGV2aWNlcHJveGlt
aXR5JywgZnVuY3Rpb24oKSB7fSk7CisgICAgaWYgKHdpbmRvdy5vcGVuZXIucmVwb3J0UGFnZU9u
ZU9ubG9hZCgpID09IDEpIHsKKyAgICAgICAgd2luZG93Lm9wZW5lci5kZWJ1ZygncmVzb3VyY2Vz
L2NhY2hlZC1wYWdlLTEuaHRtbCBhYm91dCB0byBuYXZpZ2F0ZSB0byByZXNvdXJjZXMvY2FjaGVk
LXBhZ2UtMi5odG1sJykKKyAgICAgICAgLy8gTG9jYXRpb24gY2hhbmdlcyBuZWVkIHRvIGhhcHBl
biBvdXRzaWRlIHRoZSBvbmxvYWQgaGFuZGxlciB0byBnZW5lcmF0ZSBoaXN0b3J5IGVudHJpZXMu
CisgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IGxvY2F0aW9uLmhyZWYgPSAnY2FjaGVk
LXBhZ2UtMi5odG1sJzsgfSwgMCk7CisgICAgfQorfQorPC9zY3JpcHQ+Cis8Ym9keSBvbmxvYWQ9
ImxvYWROZXh0KCkiPjwvYm9keT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wcm94aW1pdHkvcmVzb3VyY2VzL2NhY2hlZC1wYWdlLTIuaHRtbCBi
L0xheW91dFRlc3RzL3Byb3hpbWl0eS9yZXNvdXJjZXMvY2FjaGVkLXBhZ2UtMi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgyYjg4Y2JjMTgwMDkwYjJkNDZjNzEwYmZlZTQ4MzY1YjI0MmUyMjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9wcm94aW1pdHkvcmVzb3VyY2VzL2NhY2hlZC1wYWdlLTIu
aHRtbApAQCAtMCwwICsxLDggQEAKKzxzY3JpcHQ+CitmdW5jdGlvbiBpbml0KCkgeworICAgIHdp
bmRvdy5vcGVuZXIucGFnZVR3b0xvYWRlZCA9IHRydWU7CisgICAgd2luZG93Lm9wZW5lci5kZWJ1
ZygncmVzb3VyY2VzL2NhY2hlZC1wYWdlLTIuaHRtbCBhYm91dCB0byBnbyBiYWNrIHRvIHJlc291
cmNlcy9jYWNoZWQtcGFnZS0xLmh0bWwnKTsKKyAgICBoaXN0b3J5LmJhY2soKTsKK30KKzwvc2Ny
aXB0PgorPGJvZHkgb25sb2FkPSJpbml0KCkiPjwvYm9keT4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wcm94aW1pdHkvcmVzb3VyY2VzL2V2ZW50
LWFmdGVyLW5hdmlnYXRpb24tbmV3Lmh0bWwgYi9MYXlvdXRUZXN0cy9wcm94aW1pdHkvcmVzb3Vy
Y2VzL2V2ZW50LWFmdGVyLW5hdmlnYXRpb24tbmV3Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDY2NDRjZWYz
MDQ0YmYyYjA1OThkNjVhNjhmYzRlYWIxOTkwMGQ0NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3Byb3hpbWl0eS9yZXNvdXJjZXMvZXZlbnQtYWZ0ZXItbmF2aWdhdGlvbi1uZXcuaHRt
bApAQCAtMCwwICsxLDE1IEBACis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+CisgICAg
VGVzdHMgZm9yIGEgY3Jhc2ggd2hlcmUgYW4gZXZlbnQgaXMgZmlyZWQgYWZ0ZXIgdGhlIHBhZ2Ug
aGFzIGJlZW4gbmF2aWdhdGVkCisgICAgYXdheSB3aGVuIHRoZSBvcmlnaW5hbCBwYWdlIGlzIGlu
IHRoZSBwYWdlIGNhY2hlLjxicj48YnI+CisgICAgU1VDQ0VTUworICAgIDxzY3JpcHQ+CisgICAg
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICAgICAgaW50ZXJuYWxzLnNldERl
dmljZVByb3hpbWl0eShkb2N1bWVudCwgJ3dlYmtpdGRldmljZXByb3hpbWl0eScsIDEuMSwgMi4y
LCAzLjMpOworICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0K
KyAgICA8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wcm94aW1pdHkvdXBkYXRlcy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9wcm94aW1pdHkvdXBkYXRlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNDIzMWUzNzgzOWQwNGU3ODdmYzQxZWNkZTkxNzA3NzM0MDE4NTU1NQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS91cGRhdGVzLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDE1IEBACitUZXN0cyB0aGF0IHVwZGF0ZXMgdG8gdGhlIHByb3hpbWl0eSBjYXVzZXMgbmV3
IGV2ZW50cyB0byBmaXJlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBk
ZXZpY2VQcm94aW1pdHlFdmVudC52YWx1ZSBpcyBmaXJlZEV2ZW50LnZhbHVlCitQQVNTIGRldmlj
ZVByb3hpbWl0eUV2ZW50Lm1pbiBpcyBmaXJlZEV2ZW50Lm1pbgorUEFTUyBkZXZpY2VQcm94aW1p
dHlFdmVudC5tYXggaXMgZmlyZWRFdmVudC5tYXgKK1BBU1MgZGV2aWNlUHJveGltaXR5RXZlbnQu
dmFsdWUgaXMgZmlyZWRFdmVudC52YWx1ZQorUEFTUyBkZXZpY2VQcm94aW1pdHlFdmVudC5taW4g
aXMgZmlyZWRFdmVudC5taW4KK1BBU1MgZGV2aWNlUHJveGltaXR5RXZlbnQubWF4IGlzIGZpcmVk
RXZlbnQubWF4CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcHJveGltaXR5L3VwZGF0ZXMuaHRtbCBiL0xh
eW91dFRlc3RzL3Byb3hpbWl0eS91cGRhdGVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWU4ODJlZWJkMzc4
MWVhOTQ5MTFhNjRjNmE1OWQ1NTI2YTU4MTVjYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3Byb3hpbWl0eS91cGRhdGVzLmh0bWwKQEAgLTAsMCArMSw0MSBAQAorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVzdHMgdGhh
dCB1cGRhdGVzIHRvIHRoZSBwcm94aW1pdHkgY2F1c2VzIG5ldyBldmVudHMgdG8gZmlyZS4nKTsK
KwordmFyIGZpcmVkRXZlbnQ7CitmdW5jdGlvbiBzZXRQcm94aW1pdHkodmFsdWUsIG1pbiwgbWF4
KSB7CisgICAgZmlyZWRFdmVudCA9IHt2YWx1ZTogdmFsdWUsIG1pbjogbWluLCBtYXg6IG1heH07
CisgICAgaW50ZXJuYWxzLnNldERldmljZVByb3hpbWl0eShkb2N1bWVudCwgJ3dlYmtpdGRldmlj
ZXByb3hpbWl0eScsIGZpcmVkRXZlbnQudmFsdWUsIGZpcmVkRXZlbnQubWluLCBmaXJlZEV2ZW50
Lm1heCk7Cit9CisKK3ZhciBkZXZpY2VQcm94aW1pdHlFdmVudDsKK2Z1bmN0aW9uIGNoZWNrUHJv
eGltaXR5KGV2ZW50KSB7CisgICAgZGV2aWNlUHJveGltaXR5RXZlbnQgPSBldmVudDsKKyAgICBz
aG91bGRCZSgnZGV2aWNlUHJveGltaXR5RXZlbnQudmFsdWUnLCAnZmlyZWRFdmVudC52YWx1ZScp
OworICAgIHNob3VsZEJlKCdkZXZpY2VQcm94aW1pdHlFdmVudC5taW4nLCAnZmlyZWRFdmVudC5t
aW4nKTsKKyAgICBzaG91bGRCZSgnZGV2aWNlUHJveGltaXR5RXZlbnQubWF4JywgJ2ZpcmVkRXZl
bnQubWF4Jyk7Cit9CisKK2Z1bmN0aW9uIGZpcnN0TGlzdGVuZXIoZXZlbnQpIHsKKyAgICBjaGVj
a1Byb3hpbWl0eShldmVudCk7CisgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3dlYmtp
dGRldmljZXByb3hpbWl0eScsIGZpcnN0TGlzdGVuZXIpOworICAgIHdpbmRvdy5hZGRFdmVudExp
c3RlbmVyKCd3ZWJraXRkZXZpY2Vwcm94aW1pdHknLCB1cGRhdGVMaXN0ZW5lcik7CisgICAgc2V0
UHJveGltaXR5KDIyLjIsIDExLjEsIDMzLjMpOworfQorCitmdW5jdGlvbiB1cGRhdGVMaXN0ZW5l
cihldmVudCkgeworICAgIGNoZWNrUHJveGltaXR5KGV2ZW50KTsKKyAgICBmaW5pc2hKU1Rlc3Qo
KTsKK30KKword2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdGRldmljZXByb3hpbWl0eScs
IGZpcnN0TGlzdGVuZXIpOworc2V0UHJveGltaXR5KDIuMiwgMS4xLCAzLjMpOword2luZG93Lmpz
VGVzdElzQXN5bmMgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3Byb3hpbWl0eS93aW5kb3ctcHJvcGVydHktZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L3dpbmRvdy1wcm9wZXJ0eS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZDNlNzVkODg1MjYzZmJmZjYzNGFjYmZlMjgxMjg3YTVmMmM5NGU5NQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS93aW5kb3ctcHJvcGVydHktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTggQEAKK1Rlc3RzIHRoYXQgdGhlIHdpbmRvdy5EZXZpY2VQ
cm94aW1pdHlFdmVudCBhbmQgd2luZG93Lm9ud2Via2l0ZGV2aWNlcHJveGltaXR5IHByb3BlcnRp
ZXMgYXJlIHByZXNlbnQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHR5
cGVvZiB3aW5kb3cuRGV2aWNlUHJveGltaXR5RXZlbnQgPT0gJ29iamVjdCcgaXMgdHJ1ZQorUEFT
UyB0eXBlb2Ygd2luZG93LkRldmljZVByb3hpbWl0eUV2ZW50ID09ICdmdW5jdGlvbicgaXMgZmFs
c2UKK1BBU1MgaGFzRGV2aWNlUHJveGltaXR5RXZlbnRQcm9wZXJ0eSgpIGlzIHRydWUKK1BBU1Mg
J0RldmljZVByb3hpbWl0eUV2ZW50JyBpbiB3aW5kb3cgaXMgdHJ1ZQorUEFTUyB3aW5kb3cuaGFz
T3duUHJvcGVydHkoJ0RldmljZVByb3hpbWl0eUV2ZW50JykgaXMgdHJ1ZQorUEFTUyB0eXBlb2Yg
d2luZG93Lm9ud2Via2l0ZGV2aWNlcHJveGltaXR5ID09ICdvYmplY3QnIGlzIHRydWUKK1BBU1Mg
aGFzT25EZXZpY2VQcm94aW1pdHlQcm9wZXJ0eSgpIGlzIHRydWUKK1BBU1MgJ29ud2Via2l0ZGV2
aWNlcHJveGltaXR5JyBpbiB3aW5kb3cgaXMgdHJ1ZQorUEFTUyB3aW5kb3cuaGFzT3duUHJvcGVy
dHkoJ29ud2Via2l0ZGV2aWNlcHJveGltaXR5JykgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3Byb3hpbWl0eS93aW5kb3ctcHJvcGVydHkuaHRtbCBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS93
aW5kb3ctcHJvcGVydHkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYzRjZWJlMjgzNDJjZDBiNDFjYzcwODdi
MDU2NTU0ZGZkNWVjMjEwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcHJveGltaXR5
L3dpbmRvdy1wcm9wZXJ0eS5odG1sCkBAIC0wLDAgKzEsNDAgQEAKKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3RzIHRoYXQgdGhl
IHdpbmRvdy5EZXZpY2VQcm94aW1pdHlFdmVudCBhbmQgd2luZG93Lm9ud2Via2l0ZGV2aWNlcHJv
eGltaXR5IHByb3BlcnRpZXMgYXJlIHByZXNlbnQuJyk7CisKK2Z1bmN0aW9uIGhhc0RldmljZVBy
b3hpbWl0eUV2ZW50UHJvcGVydHkoKQoreworICAgIGZvciAodmFyIHByb3BlcnR5IGluIHdpbmRv
dykgeworICAgICAgICBpZiAocHJvcGVydHkgPT0gJ0RldmljZVByb3hpbWl0eUV2ZW50JykKKyAg
ICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3No
b3VsZEJlVHJ1ZSgidHlwZW9mIHdpbmRvdy5EZXZpY2VQcm94aW1pdHlFdmVudCA9PSAnb2JqZWN0
JyIpOworc2hvdWxkQmVGYWxzZSgidHlwZW9mIHdpbmRvdy5EZXZpY2VQcm94aW1pdHlFdmVudCA9
PSAnZnVuY3Rpb24nIik7CitzaG91bGRCZVRydWUoImhhc0RldmljZVByb3hpbWl0eUV2ZW50UHJv
cGVydHkoKSIpOworc2hvdWxkQmVUcnVlKCInRGV2aWNlUHJveGltaXR5RXZlbnQnIGluIHdpbmRv
dyIpOworc2hvdWxkQmVUcnVlKCJ3aW5kb3cuaGFzT3duUHJvcGVydHkoJ0RldmljZVByb3hpbWl0
eUV2ZW50JykiKTsKKworZnVuY3Rpb24gaGFzT25EZXZpY2VQcm94aW1pdHlQcm9wZXJ0eSgpCit7
CisgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gd2luZG93KSB7CisgICAgICAgIGlmIChwcm9wZXJ0
eSA9PSAnb253ZWJraXRkZXZpY2Vwcm94aW1pdHknKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKworc2hvdWxkQmVUcnVlKCJ0eXBlb2Ygd2lu
ZG93Lm9ud2Via2l0ZGV2aWNlcHJveGltaXR5ID09ICdvYmplY3QnIik7CitzaG91bGRCZVRydWUo
Imhhc09uRGV2aWNlUHJveGltaXR5UHJvcGVydHkoKSIpOworc2hvdWxkQmVUcnVlKCInb253ZWJr
aXRkZXZpY2Vwcm94aW1pdHknIGluIHdpbmRvdyIpOworc2hvdWxkQmVUcnVlKCJ3aW5kb3cuaGFz
T3duUHJvcGVydHkoJ29ud2Via2l0ZGV2aWNlcHJveGltaXR5JykiKTsKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181493</attachid>
            <date>2013-01-07 04:29:59 -0800</date>
            <delta_ts>2013-01-07 21:27:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97630-20130107212702.patch</filename>
            <type>text/plain</type>
            <size>71332</size>
            <attacher name="Kihong Kwon">kihong.kwon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4OTIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWJhNmIwY2Q3NTY0YWI0
OTQ1NTI5MjRiZjEyNjI2OTU1Mzg4ZDQyNC4uM2QyNjQyNTBmZjQ1MWI4Mjg3ZGEwYzM3YTc1YTUw
YWI5NDJiMDQ1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcyIEBACisyMDEzLTAxLTA3ICBLaWhv
bmcgS3dvbiAgPGtpaG9uZy5rd29uQHNhbXN1bmcuY29tPgorCisgICAgICAgIEFkZCBEZXZpY2VQ
cm94aW1pdHlDb250cm9sbGVyIHRvIHN1cHBvcnQgRGV2aWNlIFByb3hpbWl0eSBFdmVudHMuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzYzMAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBE
ZXZpY2VQcm94aW1pdHlDb250cm9sbGVyIHdoaWNoIGlzIGluaGVyaXRlZCBmcm9tIERldmljZUNv
bnRyb2xsZXIgdG8gc3VwcG9ydCBEZXZpY2UgUHJveGltaXR5IEV2ZW50cy4KKyAgICAgICAgRGV2
aWNlUHJveGltaXR5Q29udHJvbGxlciBoYXMgdHdvIG1ham9yIGZ1bmN0aW9uYWxpdGllcy4KKyAg
ICAgICAgLSBXaGVuIGxpc3RlbmVyIGlzIGFkZGVkLCBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVy
IHN0b3JlcyBET01XaW5kb3cgcG9pbnRlciB0byBtX2xpc3RlbmVycworICAgICAgICAgIGFuZCBz
dGFydCBnYXRoZXJpbmcgcHJveGltaXR5IGV2ZW50LgorICAgICAgICAtIFdoZW4gRGV2aWNlUHJv
eGltaXR5Q29udHJvbGxlciByZWNlaXZlcyBhIHByb3hpbWl0eSBldmVudCBmcm9tIGNsaWVudCwg
ZmlyZSBhbiBldmVudCB1c2luZyBtX2xpc3RlbmVycy4KKyAgICAgICAgSW4gYWRkaXRpb24sIHNl
dERldmljZVByb3hpbWl0eSBmdW5jdGlvbiBpcyBhZGRlZCB0byBJbnRlcm5hbHMgZm9yIGxheW91
dCB0ZXN0LgorCisgICAgICAgIFRlc3RzOiBwcm94aW1pdHkvYWRkLWxpc3RlbmVyLWZyb20tY2Fs
bGJhY2suaHRtbAorICAgICAgICAgICAgICAgcHJveGltaXR5L2Jhc2ljLW9wZXJhdGlvbi5odG1s
CisgICAgICAgICAgICAgICBwcm94aW1pdHkvY3JlYXRlLWV2ZW50Lmh0bWwKKyAgICAgICAgICAg
ICAgIHByb3hpbWl0eS9ldmVudC1hZnRlci1uYXZpZ2F0aW9uLmh0bWwKKyAgICAgICAgICAgICAg
IHByb3hpbWl0eS9tdWx0aXBsZS1mcmFtZXMuaHRtbAorICAgICAgICAgICAgICAgcHJveGltaXR5
L25vLXBhZ2UtY2FjaGUuaHRtbAorICAgICAgICAgICAgICAgcHJveGltaXR5L29wdGlvbmFsLWV2
ZW50LXByb3BlcnRpZXMuaHRtbAorICAgICAgICAgICAgICAgcHJveGltaXR5L3VwZGF0ZXMuaHRt
bAorICAgICAgICAgICAgICAgcHJveGltaXR5L3dpbmRvdy1wcm9wZXJ0eS5odG1sCisKKyAgICAg
ICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAg
KiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIE1vZHVsZXMvcHJveGltaXR5L0Rldmlj
ZVByb3hpbWl0eUNsaWVudC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
RGV2aWNlUHJveGltaXR5Q2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZVByb3hpbWl0
eUNsaWVudDo6fkRldmljZVByb3hpbWl0eUNsaWVudCk6CisgICAgICAgICogTW9kdWxlcy9wcm94
aW1pdHkvRGV2aWNlUHJveGltaXR5Q29udHJvbGxlci5jcHA6IEFkZGVkLgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyOjpEZXZp
Y2VQcm94aW1pdHlDb250cm9sbGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZVByb3hpbWl0
eUNvbnRyb2xsZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VQcm94aW1pdHlD
b250cm9sbGVyOjpkaWRDaGFuZ2VEZXZpY2VQcm94aW1pdHkpOgorICAgICAgICAoV2ViQ29yZTo6
RGV2aWNlUHJveGltaXR5Q29udHJvbGxlcjo6ZGV2aWNlUHJveGltaXR5Q2xpZW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OkRldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6Omhhc0xhc3REYXRhKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6OmdldExhc3RFdmVudCk6
CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyOjpzdXBwbGVtZW50
TmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyOjpmcm9t
KToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6OmlzQWN0aXZl
QXQpOgorICAgICAgICAoV2ViQ29yZTo6cHJvdmlkZURldmljZVByb3hpbWl0eVRvKToKKyAgICAg
ICAgKiBNb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmg6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChEZXZpY2VQcm94aW1pdHlDb250cm9sbGVy
KToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6On5EZXZpY2VQ
cm94aW1pdHlDb250cm9sbGVyKToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdl
YkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAg
KiBXZWJDb3JlLnByaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoK
KyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlQ29tbW9uLnZzcHJvcHM6CisgICAgICAg
ICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGhpc3Rvcnkv
UGFnZUNhY2hlLmNwcDoKKyAgICAgICAgV2hlbiBhIHBhZ2UgaGFzIERldmljZSBQcm94aW1pdHkg
RXZlbnQgTGlzdGVuZXIsIGl0IGhhcyBub3QgdG8gYmUgY2FjaGVkIGxpa2UgRGV2aWNlIE9yaWVu
dGF0aW9uLgorICAgICAgICAoV2ViQ29yZTo6bG9nQ2FuQ2FjaGVQYWdlRGVjaXNpb24pOgorICAg
ICAgICAoV2ViQ29yZTo6UGFnZUNhY2hlOjpjYW5DYWNoZSk6CisgICAgICAgICogcGFnZS9ET01X
aW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjphZGRFdmVudExpc3RlbmVy
KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6cmVtb3ZlRXZlbnRMaXN0ZW5lcik6Cisg
ICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnJlbW92ZUFsbEV2ZW50TGlzdGVuZXJzKToKKyAg
ICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5h
bHM6OnNldERldmljZVByb3hpbWl0eSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiB0
ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAoSW50ZXJuYWxzKToKKyAgICAgICAgKiB0ZXN0
aW5nL0ludGVybmFscy5pZGw6CisKIDIwMTMtMDEtMDYgIFRha2FzaGkgU2FrYW1vdG8gIDx0YXNh
a0Bnb29nbGUuY29tPgogCiAgICAgICAgIFtTaGFkb3cgRE9NXTogY3Jhc2ggaW4gV2ViQ29yZTo6
RWxlbWVudFNoYWRvdzo6c2V0VmFsaWRpdHlVbmRldGVybWluZWQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBjZTRm
MGUzNDk1ODcyYWE4N2M2OTVlOGZlNGI2YzNhNWEzZTgxNGMyLi4wZWZkZDBlNGM4NjBlZmQ2NzFm
MjY5ZDZiMmQ1OGNmNjJmZjAyZDRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTMt
MDEtMDcgIEtpaG9uZyBLd29uICA8a2lob25nLmt3b25Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAg
QWRkIERldmljZVByb3hpbWl0eUNvbnRyb2xsZXIgdG8gc3VwcG9ydCBEZXZpY2UgUHJveGltaXR5
IEV2ZW50cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTk3NjMwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIGluaXRpYWwgV2ViRGV2aWNlUHJveGltaXR5Q2xpZW50IGNsYXNzIHdoaWNoIGlzIGluaGVy
aXRlZCBEZXZpY2VQcm94aW1pdHlDbGllbnQuCisgICAgICAgIEJ1dCBzdGFydFVwZGF0aW5nIGFu
ZCBzdG9wVXBkYXRpbmcgbmVlZCB0byBiZSBpbXBsZW1lbnRlZC4KKworICAgICAgICAqIENNYWtl
TGlzdHMudHh0OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRGV2aWNl
UHJveGltaXR5Q2xpZW50LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAo
V2ViS2l0OjpXZWJEZXZpY2VQcm94aW1pdHlDbGllbnQ6OldlYkRldmljZVByb3hpbWl0eUNsaWVu
dCk6CisgICAgICAgIChXZWJLaXQ6OldlYkRldmljZVByb3hpbWl0eUNsaWVudDo6c3RhcnRVcGRh
dGluZyk6CisgICAgICAgIChXZWJLaXQ6OldlYkRldmljZVByb3hpbWl0eUNsaWVudDo6c3RvcFVw
ZGF0aW5nKToKKyAgICAgICAgKFdlYktpdDo6V2ViRGV2aWNlUHJveGltaXR5Q2xpZW50OjpoYXNM
YXN0RGF0YSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEZXZpY2VQ
cm94aW1pdHlDbGllbnQuaDogQWRkZWQuCisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2Vi
RGV2aWNlUHJveGltaXR5Q2xpZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViRGV2aWNlUHJveGlt
aXR5Q2xpZW50Ojp+V2ViRGV2aWNlUHJveGltaXR5Q2xpZW50KToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OldlYlBh
Z2UpOgorCiAyMDEzLTAxLTA0ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgUmVtb3ZlIFdlYlByb2Nlc3NJbml0aWFsaXphdGlvbiBhbmQgTmV0d29ya1Byb2Nlc3NJbml0
aWFsaXphdGlvbiBieSBwdXR0aW5nIHRoZSByZXN0IG9mIGluaXRpYWxpemF0aW9uIGluIENoaWxk
UHJvY2VzcyBkZXJpdmVkIGNsYXNzZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYWYzM2ZhMDkx
ZDkzOTY0ODg0ZmVhOTE4Y2EzMDNhNDI0OGYwYjRhZi4uNzNhZWI2ZTQzZjI5MGEwNGYwN2M0NWRi
NzUzZGZmOTRkNjUwN2MyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTExOCw2ICsxMTgsNyBA
QCBzZXQoV2ViQ29yZV9JRExfSU5DTFVERVMKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtCiAgICAg
TW9kdWxlcy9uZXR3b3JraW5mbwogICAgIE1vZHVsZXMvbm90aWZpY2F0aW9ucworICAgIE1vZHVs
ZXMvcHJveGltaXR5CiAgICAgTW9kdWxlcy9xdW90YQogICAgIE1vZHVsZXMvc3BlZWNoCiAgICAg
TW9kdWxlcy92aWJyYXRpb24KQEAgLTg5MCw2ICs4OTEsNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VT
CiAgICAgTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKICAgICBNb2R1bGVz
L25vdGlmaWNhdGlvbnMvV29ya2VyQ29udGV4dE5vdGlmaWNhdGlvbnMuY3BwCiAKKyAgICBNb2R1
bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmNwcAogICAgIE1vZHVsZXMv
cHJveGltaXR5L0RldmljZVByb3hpbWl0eUV2ZW50LmNwcAogCiAgICAgTW9kdWxlcy9xdW90YS9E
T01XaW5kb3dRdW90YS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggMGRiZWNkOThkZjc4YmQ3
NDk2ODE5NGIzZmFmYjg5ODRlYmI3NjFlNi4uOTU4Yzg0MTg1NWUwMGViYmNmYzFlNjU2MjI2ZGU4
MTk4OWQzMjRhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysr
IGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTE5LDYgKzE5LDcgQEAgd2ViY29y
ZV9jcHBmbGFncyArPSBcCiAJLUkkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbSBcCiAJLUkkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9uYXZpZ2F0b3Jj
b250ZW50dXRpbHMgXAogCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZp
Y2F0aW9ucyBcCisJLUkkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wcm94aW1pdHkg
XAogCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEgXAogCS1JJChzcmNk
aXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8gXAogCS1JJChzcmNkaXIpL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UgXApAQCAtNTAxLDYgKzUwMiw3IEBAIElETF9Q
QVRIIDo9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzb3VyY2UgXAogICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL25vdGlm
aWNhdGlvbnMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wcm94aW1pdHkgXAogICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy9xdW90YSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmF1ZGlvIFwK
ICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZGF0YWJhc2UgXApAQCAtNzM2LDYgKzczOCw3IEBA
IEVYVFJBX0RJU1QgKz0gXAogCSQod2lsZGNhcmQgJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vKi5pZGwpIFwKIAkkKHdpbGRjYXJkICQoc3JjZGlyKS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL25hdmlnYXRvcmNvbnRlbnR1dGlscy8qLmlkbCkgXAogCSQod2lsZGNh
cmQgJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy8qLmlkbCkg
XAorCSQod2lsZGNhcmQgJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHJveGltaXR5
LyouaWRsKSBcCiAJJCh3aWxkY2FyZCAkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9x
dW90YS8qLmlkbCkgXAogCSQod2lsZGNhcmQgJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vKi5pZGwpIFwKIAkkKHdpbGRjYXJkICQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmRhdGFiYXNlLyouaWRsKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5h
bQppbmRleCBkNzZkZTgwMTUyNmY4NTllMTljMmI4MzhkYTQ0YTE0MzNiNGU3NTA0Li45MGRhY2Nj
NmI4MTBlNjEzMzc3NzAyM2I5YzY4MzFjYWEwMmE0NzhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KQEAgLTEyNjIsNiArMTI2Miw3IEBAIGRvbV9iaW5kaW5nX2lkbHMgKz0gXAogCSQo
V2ViQ29yZSkvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwgXAogCSQoV2Vi
Q29yZSkvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwgXAogCSQo
V2ViQ29yZSkvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxs
YmFjay5pZGwgXAorCSQoV2ViQ29yZSkvTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5
RXZlbnQuaWRsIFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvcXVvdGEvRE9NV2luZG93UXVvdGEuaWRs
IFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvcXVvdGEvU3RvcmFnZUluZm8uaWRsIFwKIAkkKFdlYkNv
cmUpL01vZHVsZXMvcXVvdGEvU3RvcmFnZUluZm9FcnJvckNhbGxiYWNrLmlkbCBcCkBAIC0xOTkx
LDYgKzE5OTIsMTEgQEAgd2ViY29yZV9tb2R1bGVzX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2su
aCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL1dvcmtlckNvbnRleHRO
b3RpZmljYXRpb25zLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25z
L1dvcmtlckNvbnRleHROb3RpZmljYXRpb25zLmggXAorCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cHJveGltaXR5L0RldmljZVByb3hpbWl0eS5oIFwKKwlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3By
b3hpbWl0eS9EZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmNwcCBcCisJU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5Q29udHJvbGxlci5oIFwKKwlTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlFdmVudC5jcHAgXAorCVNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcHJveGltaXR5L0RldmljZVByb3hpbWl0eUV2ZW50LmggXAog
CVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvRE9NV2luZG93UXVvdGEuY3BwIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3F1b3RhL0RPTVdpbmRvd1F1b3RhLmggXAogCVNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZUluZm8uY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvcHJveGltaXR5L0RldmljZVByb3hpbWl0eUNsaWVudC5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5Q2xpZW50LmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYzljMTVhNTUyZDlmZDliNjRiNWVlODM5NzI5M2NiYWE5Mzc3ZWZkMQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHJveGltaXR5L0RldmljZVByb3hpbWl0
eUNsaWVudC5oCkBAIC0wLDAgKzEsNTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxMiBTYW1zdW5n
IEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIERl
dmljZVByb3hpbWl0eUNsaWVudF9oCisjZGVmaW5lIERldmljZVByb3hpbWl0eUNsaWVudF9oCisK
KyNpZiBFTkFCTEUoUFJPWElNSVRZX0VWRU5UUykKKworI2luY2x1ZGUgIkRldmljZUNsaWVudC5o
IgorI2luY2x1ZGUgPGxpbWl0cz4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBQYWdl
OworCitjbGFzcyBEZXZpY2VQcm94aW1pdHlDbGllbnQgOiBwdWJsaWMgRGV2aWNlQ2xpZW50IHsK
K3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5EZXZpY2VQcm94aW1pdHlDbGllbnQoKSB7IH0KKyAgICB2
aXJ0dWFsIGJvb2wgaGFzTGFzdERhdGEoKSA9IDA7CisgICAgdmlydHVhbCBkb3VibGUgdmFsdWUo
KSA9IDA7CisgICAgdmlydHVhbCBkb3VibGUgbWluKCkgPSAwOworICAgIHZpcnR1YWwgZG91Ymxl
IG1heCgpID0gMDsKK307CisKK3ZvaWQgcHJvdmlkZURldmljZVByb3hpbWl0eVRvKFBhZ2UqLCBE
ZXZpY2VQcm94aW1pdHlDbGllbnQqKTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYgLy8gUFJPWElNSVRZX0VWRU5UUworI2VuZGlmIC8vIERldmljZVByb3hpbWl0eUNsaWVudF9o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94
aW1pdHlDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHJveGltaXR5L0Rl
dmljZVByb3hpbWl0eUNvbnRyb2xsZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU1OWFjMjE1M2ZkNmQ2Yzkz
MjY4NjkxNmVhMmRlMDQxMzMzMmI0OTcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmNwcApAQCAtMCww
ICsxLDkzIEBACisvKgorICogQ29weXJpZ2h0IDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIkRldmljZVByb3hpbWl0eUNvbnRyb2xsZXIuaCIKKworI2lmIEVOQUJMRShQUk9YSU1JVFlf
RVZFTlRTKQorCisjaW5jbHVkZSAiRGV2aWNlUHJveGltaXR5Q2xpZW50LmgiCisjaW5jbHVkZSAi
RGV2aWNlUHJveGltaXR5RXZlbnQuaCIKKyNpbmNsdWRlICJQYWdlLmgiCisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworRGV2aWNlUHJveGltaXR5Q29udHJvbGxlcjo6RGV2aWNlUHJveGltaXR5Q29u
dHJvbGxlcihEZXZpY2VQcm94aW1pdHlDbGllbnQqIGNsaWVudCkKKyAgICA6IERldmljZUNvbnRy
b2xsZXIoY2xpZW50KQoreworICAgIEFTU0VSVChtX2NsaWVudCk7Cit9CisKK1Bhc3NPd25QdHI8
RGV2aWNlUHJveGltaXR5Q29udHJvbGxlcj4gRGV2aWNlUHJveGltaXR5Q29udHJvbGxlcjo6Y3Jl
YXRlKERldmljZVByb3hpbWl0eUNsaWVudCogY2xpZW50KQoreworICAgIHJldHVybiBhZG9wdFB0
cihuZXcgRGV2aWNlUHJveGltaXR5Q29udHJvbGxlcihjbGllbnQpKTsKK30KKwordm9pZCBEZXZp
Y2VQcm94aW1pdHlDb250cm9sbGVyOjpkaWRDaGFuZ2VEZXZpY2VQcm94aW1pdHkoY29uc3QgZG91
YmxlIHZhbHVlLCBjb25zdCBkb3VibGUgbWluLCBjb25zdCBkb3VibGUgbWF4KQoreworICAgIGRp
c3BhdGNoRGV2aWNlRXZlbnQoRGV2aWNlUHJveGltaXR5RXZlbnQ6OmNyZWF0ZShldmVudE5hbWVz
KCkud2Via2l0ZGV2aWNlcHJveGltaXR5RXZlbnQsIHZhbHVlLCBtaW4sIG1heCkpOworfQorCitE
ZXZpY2VQcm94aW1pdHlDbGllbnQqIERldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6OmRldmljZVBy
b3hpbWl0eUNsaWVudCgpCit7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PERldmljZVByb3hpbWl0
eUNsaWVudCo+KG1fY2xpZW50KTsKK30KKworYm9vbCBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVy
OjpoYXNMYXN0RGF0YSgpCit7CisgICAgcmV0dXJuIGRldmljZVByb3hpbWl0eUNsaWVudCgpLT5o
YXNMYXN0RGF0YSgpOworfQorCitQYXNzUmVmUHRyPEV2ZW50PiBEZXZpY2VQcm94aW1pdHlDb250
cm9sbGVyOjpnZXRMYXN0RXZlbnQoKQoreworICAgIHJldHVybiBEZXZpY2VQcm94aW1pdHlFdmVu
dDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS53ZWJraXRkZXZpY2Vwcm94aW1pdHlFdmVudCwgZGV2aWNl
UHJveGltaXR5Q2xpZW50KCktPnZhbHVlKCksIGRldmljZVByb3hpbWl0eUNsaWVudCgpLT5taW4o
KSwgZGV2aWNlUHJveGltaXR5Q2xpZW50KCktPm1heCgpKTsKK30KKworY29uc3QgQXRvbWljU3Ry
aW5nJiBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyOjpzdXBwbGVtZW50TmFtZSgpCit7CisgICAg
REVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIG5hbWUsICgiRGV2aWNlUHJveGltaXR5
Q29udHJvbGxlciIpKTsKKyAgICByZXR1cm4gbmFtZTsKK30KKworRGV2aWNlUHJveGltaXR5Q29u
dHJvbGxlciogRGV2aWNlUHJveGltaXR5Q29udHJvbGxlcjo6ZnJvbShQYWdlKiBwYWdlKQorewor
ICAgIHJldHVybiBzdGF0aWNfY2FzdDxEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyKj4oU3VwcGxl
bWVudDxQYWdlPjo6ZnJvbShwYWdlLCBzdXBwbGVtZW50TmFtZSgpKSk7Cit9CisKK2Jvb2wgRGV2
aWNlUHJveGltaXR5Q29udHJvbGxlcjo6aXNBY3RpdmVBdChQYWdlKiBwYWdlKQoreworICAgIGlm
IChEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyKiBjb250cm9sbGVyID0gRGV2aWNlUHJveGltaXR5
Q29udHJvbGxlcjo6ZnJvbShwYWdlKSkKKyAgICAgICAgcmV0dXJuIGNvbnRyb2xsZXItPmlzQWN0
aXZlKCk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIHByb3ZpZGVEZXZpY2VQcm94aW1p
dHlUbyhQYWdlKiBwYWdlLCBEZXZpY2VQcm94aW1pdHlDbGllbnQqIGNsaWVudCkKK3sKKyAgICBE
ZXZpY2VQcm94aW1pdHlDb250cm9sbGVyOjpwcm92aWRlVG8ocGFnZSwgRGV2aWNlUHJveGltaXR5
Q29udHJvbGxlcjo6c3VwcGxlbWVudE5hbWUoKSwgRGV2aWNlUHJveGltaXR5Q29udHJvbGxlcjo6
Y3JlYXRlKGNsaWVudCkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBQUk9YSU1JVFlfRVZFTlRTCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3By
b3hpbWl0eS9EZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTU1
ZjUxNmM5NjE4N2MwNzdkMDIzZTMwYWY5YzM0YWRiNDI0ZTkxNAotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHJveGltaXR5L0RldmljZVByb3hpbWl0eUNvbnRyb2xs
ZXIuaApAQCAtMCwwICsxLDYwIEBACisvKgorICogQ29weXJpZ2h0IDIwMTIgU2Ftc3VuZyBFbGVj
dHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBEZXZpY2VQ
cm94aW1pdHlDb250cm9sbGVyX2gKKyNkZWZpbmUgRGV2aWNlUHJveGltaXR5Q29udHJvbGxlcl9o
CisKKyNpZiBFTkFCTEUoUFJPWElNSVRZX0VWRU5UUykKKworI2luY2x1ZGUgIkRldmljZUNvbnRy
b2xsZXIuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBEZXZpY2VQcm94aW1pdHlD
bGllbnQ7CisKK2NsYXNzIERldmljZVByb3hpbWl0eUNvbnRyb2xsZXIgOiBwdWJsaWMgRGV2aWNl
Q29udHJvbGxlciB7CitwdWJsaWM6CisgICAgfkRldmljZVByb3hpbWl0eUNvbnRyb2xsZXIoKSB7
IH0KKworICAgIHN0YXRpYyBQYXNzT3duUHRyPERldmljZVByb3hpbWl0eUNvbnRyb2xsZXI+IGNy
ZWF0ZShEZXZpY2VQcm94aW1pdHlDbGllbnQqKTsKKworICAgIHZvaWQgZGlkQ2hhbmdlRGV2aWNl
UHJveGltaXR5KGNvbnN0IGRvdWJsZSB2YWx1ZSwgY29uc3QgZG91YmxlIG1pbiwgY29uc3QgZG91
YmxlIG1heCk7CisgICAgRGV2aWNlUHJveGltaXR5Q2xpZW50KiBkZXZpY2VQcm94aW1pdHlDbGll
bnQoKTsKKworICAgIHZpcnR1YWwgYm9vbCBoYXNMYXN0RGF0YSgpOworICAgIHZpcnR1YWwgUGFz
c1JlZlB0cjxFdmVudD4gZ2V0TGFzdEV2ZW50KCk7CisKKyAgICBzdGF0aWMgY29uc3QgQXRvbWlj
U3RyaW5nJiBzdXBwbGVtZW50TmFtZSgpOworICAgIHN0YXRpYyBEZXZpY2VQcm94aW1pdHlDb250
cm9sbGVyKiBmcm9tKFBhZ2UqKTsKKyAgICBzdGF0aWMgYm9vbCBpc0FjdGl2ZUF0KFBhZ2UqKTsK
KworcHJpdmF0ZToKKyAgICBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyKERldmljZVByb3hpbWl0
eUNsaWVudCopOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gUFJP
WElNSVRZX0VWRU5UUworI2VuZGlmIC8vIERldmljZVByb3hpbWl0eUNvbnRyb2xsZXJfaApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1Rhcmdl
dC5wcmkKaW5kZXggZjA2NGMwNmU0MzkxN2FlOTM4ZWRlZmQzYmNlZWNkOGUzZWFhMTUyMC4uOTFk
MjczNjFmMDg5MTRmY2Y2MzkwMTQzZWYwYTRiNzU5YzI3YWQ2MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC0y
NDMsNiArMjQzLDggQEAgU09VUkNFUyArPSBcCiAgICAgTW9kdWxlcy9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvbkNlbnRlci5jcHAgXAogICAgIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb25Db250cm9sbGVyLmNwcCBcCiAgICAgTW9kdWxlcy9ub3RpZmljYXRpb25zL1dvcmtlckNv
bnRleHROb3RpZmljYXRpb25zLmNwcCBcCisgICAgTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJv
eGltaXR5Q29udHJvbGxlci5jcHAgXAorICAgIE1vZHVsZXMvcHJveGltaXR5L0RldmljZVByb3hp
bWl0eUV2ZW50LmNwcCBcCiAgICAgY3NzL0Jhc2ljU2hhcGVGdW5jdGlvbnMuY3BwIFwKICAgICBj
c3MvQ1NTQXNwZWN0UmF0aW9WYWx1ZS5jcHAgXAogICAgIGNzcy9DU1NCYXNpY1NoYXBlcy5jcHAg
XApAQCAtMTQxOSw2ICsxNDIxLDEwIEBAIEhFQURFUlMgKz0gXAogICAgIE1vZHVsZXMvbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb25Db250cm9sbGVyLmggXAogICAgIE1vZHVsZXMvbm90aWZpY2F0
aW9ucy9Xb3JrZXJDb250ZXh0Tm90aWZpY2F0aW9ucy5oIFwKICAgICBcCisgICAgTW9kdWxlcy9w
cm94aW1pdHkvRGV2aWNlUHJveGltaXR5Q2xpZW50LmggXAorICAgIE1vZHVsZXMvcHJveGltaXR5
L0RldmljZVByb3hpbWl0eUNvbnRyb2xsZXIuaCBcCisgICAgTW9kdWxlcy9wcm94aW1pdHkvRGV2
aWNlUHJveGltaXR5RXZlbnQuaCBcCisgICAgXAogICAgIE1vZHVsZXMvd2ViZGF0YWJhc2UvQWJz
dHJhY3REYXRhYmFzZS5oIFwKICAgICBNb2R1bGVzL3dlYmRhdGFiYXNlL0Fic3RyYWN0RGF0YWJh
c2VTZXJ2ZXIuaCBcCiAgICAgTW9kdWxlcy93ZWJkYXRhYmFzZS9DaGFuZ2VWZXJzaW9uV3JhcHBl
ci5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lw
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKaW5kZXggZDZmNGEyODky
NTZkZDUyOTFkM2RlZDI0MmFmMGQyYjI1NmFkNWYwOS4uOTQxNTY1YzEzZDE0MDY3NjBmNzUxMmZm
YTZjMWUzN2U4Y2NjODhmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAv
V2ViQ29yZS5neXAKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAK
QEAgLTYyLDYgKzYyLDcgQEAKICAgICAgICcuLi9Nb2R1bGVzL21lZGlhc3RyZWFtJywKICAgICAg
ICcuLi9Nb2R1bGVzL25hdmlnYXRvcmNvbnRlbnR1dGlscycsCiAgICAgICAnLi4vTW9kdWxlcy9u
b3RpZmljYXRpb25zJywKKyAgICAgICcuLi9Nb2R1bGVzL3Byb3hpbWl0eScsCiAgICAgICAnLi4v
TW9kdWxlcy9xdW90YScsCiAgICAgICAnLi4vTW9kdWxlcy9zcGVlY2gnLAogICAgICAgJy4uL01v
ZHVsZXMvd2ViYXVkaW8nLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDUxZmJkNzcyNDQ0NTA4MjBiMGMz
ZmVhM2Y4NmI0NTg2NzlkYTJmMzUuLmM4YTM0ZjM2Zjk5NjdhZTA4YTM0NTdkNjk1NzEyOGZmODJk
Yzg5OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTk0LDYgKzk0LDcgQEAKICAgICAgICAgICAgICdN
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbCcsCiAgICAgICAgICAg
ICAnTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5p
ZGwnLAogICAgICAgICAgICAgJ01vZHVsZXMvbm90aWZpY2F0aW9ucy9Xb3JrZXJDb250ZXh0Tm90
aWZpY2F0aW9ucy5pZGwnLAorICAgICAgICAgICAgJ01vZHVsZXMvcHJveGltaXR5L0RldmljZVBy
b3hpbWl0eUV2ZW50LmlkbCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9xdW90YS9ET01XaW5kb3dR
dW90YS5pZGwnLAogICAgICAgICAgICAgJ01vZHVsZXMvcXVvdGEvU3RvcmFnZUluZm8uaWRsJywK
ICAgICAgICAgICAgICdNb2R1bGVzL3F1b3RhL1N0b3JhZ2VJbmZvRXJyb3JDYWxsYmFjay5pZGwn
LApAQCAtODY1LDYgKzg2NiwxMCBAQAogICAgICAgICAgICAgJ01vZHVsZXMvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCcsCiAgICAgICAgICAgICAnTW9kdWxl
cy9ub3RpZmljYXRpb25zL1dvcmtlckNvbnRleHROb3RpZmljYXRpb25zLmNwcCcsCiAgICAgICAg
ICAgICAnTW9kdWxlcy9ub3RpZmljYXRpb25zL1dvcmtlckNvbnRleHROb3RpZmljYXRpb25zLmgn
LAorICAgICAgICAgICAgJ01vZHVsZXMvcHJveGltaXR5L0RldmljZVByb3hpbWl0eUNvbnRyb2xs
ZXIuY3BwJywKKyAgICAgICAgICAgICdNb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlD
b250cm9sbGVyLmgnLAorICAgICAgICAgICAgJ01vZHVsZXMvcHJveGltaXR5L0RldmljZVByb3hp
bWl0eUV2ZW50LmNwcCcsCisgICAgICAgICAgICAnTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJv
eGltaXR5RXZlbnQuaCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9xdW90YS9ET01XaW5kb3dRdW90
YS5jcHAnLAogICAgICAgICAgICAgJ01vZHVsZXMvcXVvdGEvRE9NV2luZG93UXVvdGEuaCcsCiAg
ICAgICAgICAgICAnTW9kdWxlcy9xdW90YS9TdG9yYWdlSW5mby5jcHAnLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnByaQpp
bmRleCBmZTIxNTRjNTQ5OWJiMzI0NDU3NWVlMTA5OGU4Y2ZiNzFjMjdhYjMwLi5hOWEzNmMzNjEy
MTA0MThmMTQwNDBiNzRiZDY5Y2U4NzFkMjUwMWZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnByaQpAQCAtMTgsNiAr
MTgsNyBAQCBJTkNMVURFUEFUSCArPSBcCiAgICAgJCRTT1VSQ0VfRElSL01vZHVsZXMvaW5kZXhl
ZGRiIFwKICAgICAkJFNPVVJDRV9ESVIvTW9kdWxlcy9uYXZpZ2F0b3Jjb250ZW50dXRpbHMgXAog
ICAgICQkU09VUkNFX0RJUi9Nb2R1bGVzL25vdGlmaWNhdGlvbnMgXAorICAgICQkU09VUkNFX0RJ
Ui9Nb2R1bGVzL3Byb3hpbWl0eSBcCiAgICAgJCRTT1VSQ0VfRElSL01vZHVsZXMvcXVvdGEgXAog
ICAgICQkU09VUkNFX0RJUi9Nb2R1bGVzL3dlYmF1ZGlvIFwKICAgICAkJFNPVVJDRV9ESVIvTW9k
dWxlcy93ZWJkYXRhYmFzZSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNv
cmUudmNwcm9qCmluZGV4IDNjM2EzMjE1MjNlOWU1YjYwYzljZGU2YzhhZDYyMzliOTY4OTY5YTku
LjAwNjdhNDA4Y2EzMmRhNzJhYTllZmM5NGJjZjkyZjNiOTNkYTEzNTMgMTAwNzU1Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0yNTA3OCw2ICsyNTA3OCwz
MCBAQAogCQkJCTwvRmlsZT4KIAkJCTwvRmlsdGVyPgogCQkJPEZpbHRlcgorCQkJCU5hbWU9InBy
b3hpbWl0eSIKKwkJCQk+CisJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxNb2R1bGVz
XHByb3hpbWl0eVxEZXZpY2VQcm94aW1pdHlDbGllbnQuaCIKKwkJCQkJPgorCQkJCTwvRmlsZT4K
KwkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXE1vZHVsZXNccHJveGltaXR5XERldmlj
ZVByb3hpbWl0eUNvbnRyb2xsZXIuY3BwIgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxl
CisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cTW9kdWxlc1xwcm94aW1pdHlcRGV2aWNlUHJveGltaXR5
Q29udHJvbGxlci5oIgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCisJCQkJCVJlbGF0
aXZlUGF0aD0iLi5cTW9kdWxlc1xwcm94aW1pdHlcRGV2aWNlUHJveGltaXR5RXZlbnQuY3BwIgor
CQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cTW9k
dWxlc1xwcm94aW1pdHlcRGV2aWNlUHJveGltaXR5RXZlbnQuaCIKKwkJCQkJPgorCQkJCTwvRmls
ZT4KKwkJCTwvRmlsdGVyPgorCQkJPEZpbHRlcgogCQkJCU5hbWU9InF1b3RhIgogCQkJCT4KIAkJ
CQk8RmlsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZUNvbW1vbi52c3Byb3BzIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZUNv
bW1vbi52c3Byb3BzCmluZGV4IDdiY2U0YjBjYzNjZTZmYjNhNzlkNzkxMjhkMDI0N2Y0NjI4Njlm
MTYuLjA4YjE4ODA4ZDEyMGY0ZTY1ZGY1N2Q2MzkwNzAxYTE0ZjAzNGNmOGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmVDb21tb24udnNwcm9wcworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlQ29tbW9uLnZzcHJvcHMKQEAg
LTcsNyArNyw3IEBACiAJPgogCTxUb29sCiAJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCUFk
ZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90OyQoUHJvamVjdERpcikuLiZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1xmaWxlc3lzdGVtJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcikuLlxNb2R1bGVzXGdlb2xvY2F0aW9uJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpciku
LlxNb2R1bGVzXGluZGV4ZWRkYiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1xt
ZWRpYXNvdXJjZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1xuYXZpZ2F0b3Jj
b250ZW50dXRpbHMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNccXVvdGEmcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNcbm90aWZpY2F0aW9ucyZxdW90OzsmcXVv
dDskKFByb2plY3REaXIpLi5cTW9kdWxlc1x3ZWJkYXRhYmFzZSZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpLi5cTW9kdWxlc1x3ZWJzb2NrZXRzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxh
Y2Nlc3NpYmlsaXR5JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxhY2Nlc3NpYmlsaXR5XHdp
biZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cYnJpZGdlJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxicmlkZ2VcYyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cYnJpZGdlXGpzYyZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cY3NzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpciku
LlxlZGl0aW5nJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxmaWxlYXBpJnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcikuLlxyZW5kZXJpbmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHJl
bmRlcmluZ1xtYXRobWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHJlbmRlcmluZ1xzdHls
ZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccmVuZGVyaW5nXHN2ZyZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpLi5cYmluZGluZ3MmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGJpbmRp
bmdzXGdlbmVyaWMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGJpbmRpbmdzXGpzJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlxiaW5kaW5nc1xqc1xzcGVjaWFsaXphdGlvbiZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpLi5cZG9tJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxkb21c
ZGVmYXVsdCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5caGlzdG9yeSZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpLi5caHRtbCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5caHRtbFxjYW52
YXMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGh0bWxccGFyc2VyJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcikuLlxodG1sXHNoYWRvdyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5caHRt
bFx0cmFjayZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5caW5zcGVjdG9yJnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcikuLlxsb2FkZXImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRl
clxhcHBjYWNoZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cbG9hZGVyXGFyY2hpdmUmcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlclxhcmNoaXZlXGNmJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcikuLlxsb2FkZXJcY2FjaGUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxv
YWRlclxpY29uJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxtYXRobWwmcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKS4uXHBhZ2UmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBhZ2VcYW5p
bWF0aW9uJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwYWdlXHNjcm9sbGluZyZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpLi5ccGFnZVx3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4u
XHBsYXRmb3JtJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxhbmltYXRpb24m
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXG1vY2smcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKS4uXHBsYXRmb3JtXHNxbCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxh
dGZvcm1cd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxuZXR3b3JrJnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxuZXR3b3JrXHdpbiZxdW90OzsmcXVv
dDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cY2YmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4u
XHBsYXRmb3JtXGdyYXBoaWNzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxn
cmFwaGljc1xjYSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3Nc
Y3B1XGFybVxmaWx0ZXJzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxncmFw
aGljc1xmaWx0ZXJzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxncmFwaGlj
c1xmaWx0ZXJzXGFybSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhp
Y3Ncb3BlbnR5cGUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNz
XHRyYW5zZm9ybXMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXHRleHQmcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXHRleHRcdHJhbnNjb2RlciZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3Ncd2luJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcikuLlx4bWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHhtbFxwYXJzZXIm
cXVvdDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialxXZWJDb3JlXERlcml2ZWRT
b3VyY2VzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbHVnaW5zJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcikuLlxwbHVnaW5zXHdpbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cc3Zn
XGFuaW1hdGlvbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cc3ZnXGdyYXBoaWNzJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlxzdmdccHJvcGVydGllcyZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpLi5cc3ZnXGdyYXBoaWNzXGZpbHRlcnMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4u
XHN2ZyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cdGVzdGluZyZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpLi5cd21sJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxzdG9yYWdlJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlx3ZWJzb2NrZXRzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERp
cikuLlx3b3JrZXJzJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxpbmNsdWRl
JnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxpbmNsdWRlXHByaXZhdGUmcXVv
dDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXGluY2x1ZGVcSmF2YVNjcmlwdENvcmUm
cXVvdDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXGluY2x1ZGVccHJpdmF0ZVxKYXZh
U2NyaXB0Q29yZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cRm9yd2FyZGluZ0hlYWRlcnMm
cXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGUmcXVvdDs7JnF1b3Q7JChX
ZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGVccHJpdmF0ZSZxdW90OzsmcXVvdDskKFdlYktpdExp
YnJhcmllc0RpcilcaW5jbHVkZVxwcml2YXRlXEphdmFTY3JpcHRDb3JlJnF1b3Q7OyZxdW90OyQo
V2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRlXHB0aHJlYWRzJnF1b3Q7OyZxdW90OyQoV2ViS2l0
TGlicmFyaWVzRGlyKVxpbmNsdWRlXHNxbGl0ZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmll
c0RpcilcaW5jbHVkZVxKYXZhU2NyaXB0Q29yZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmll
c0RpcilcaW5jbHVkZVx6bGliJnF1b3Q7IgorCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVz
PSImcXVvdDskKFByb2plY3REaXIpLi4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVs
ZXNcZmlsZXN5c3RlbSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1xnZW9sb2Nh
dGlvbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1xpbmRleGVkZGImcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNcbWVkaWFzb3VyY2UmcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKS4uXE1vZHVsZXNcbmF2aWdhdG9yY29udGVudHV0aWxzJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcikuLlxNb2R1bGVzXHByb3hpbWl0eSZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
Li5cTW9kdWxlc1xxdW90YSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1xub3Rp
ZmljYXRpb25zJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxNb2R1bGVzXHdlYmRhdGFiYXNl
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxNb2R1bGVzXHdlYnNvY2tldHMmcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKS4uXGFjY2Vzc2liaWxpdHkmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KS4uXGFjY2Vzc2liaWxpdHlcd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxicmlkZ2Um
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGJyaWRnZVxjJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxicmlkZ2VcanNjJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxjc3MmcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGVkaXRpbmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4u
XGZpbGVhcGkmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHJlbmRlcmluZyZxdW90OzsmcXVv
dDskKFByb2plY3REaXIpLi5ccmVuZGVyaW5nXG1hdGhtbCZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpLi5ccmVuZGVyaW5nXHN0eWxlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxyZW5kZXJp
bmdcc3ZnJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxiaW5kaW5ncyZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpLi5cYmluZGluZ3NcZ2VuZXJpYyZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
Li5cYmluZGluZ3NcanMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGJpbmRpbmdzXGpzXHNw
ZWNpYWxpemF0aW9uJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxkb20mcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKS4uXGRvbVxkZWZhdWx0JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxo
aXN0b3J5JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxodG1sJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcikuLlxodG1sXGNhbnZhcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5caHRtbFxw
YXJzZXImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGh0bWxcc2hhZG93JnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcikuLlxodG1sXHRyYWNrJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxp
bnNwZWN0b3ImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlciZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpLi5cbG9hZGVyXGFwcGNhY2hlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpciku
Llxsb2FkZXJcYXJjaGl2ZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cbG9hZGVyXGFyY2hp
dmVcY2YmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlclxjYWNoZSZxdW90OzsmcXVv
dDskKFByb2plY3REaXIpLi5cbG9hZGVyXGljb24mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4u
XG1hdGhtbCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGFnZSZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpLi5ccGFnZVxhbmltYXRpb24mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBh
Z2Vcc2Nyb2xsaW5nJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwYWdlXHdpbiZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm0mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4u
XHBsYXRmb3JtXGFuaW1hdGlvbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1c
bW9jayZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cc3FsJnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVx3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4u
XHBsYXRmb3JtXG5ldHdvcmsmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXG5l
dHdvcmtcd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxjZiZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3MmcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNzXGNhJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpciku
LlxwbGF0Zm9ybVxncmFwaGljc1xjcHVcYXJtXGZpbHRlcnMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNzXGZpbHRlcnMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KS4uXHBsYXRmb3JtXGdyYXBoaWNzXGZpbHRlcnNcYXJtJnF1b3Q7OyZxdW90OyQoUHJvamVjdERp
cikuLlxwbGF0Zm9ybVxncmFwaGljc1xvcGVudHlwZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
Li5ccGxhdGZvcm1cZ3JhcGhpY3NcdHJhbnNmb3JtcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
Li5ccGxhdGZvcm1cdGV4dCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cdGV4
dFx0cmFuc2NvZGVyJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxncmFwaGlj
c1x3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHhtbCZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpLi5ceG1sXHBhcnNlciZxdW90OzsmcXVvdDskKENvbmZpZ3VyYXRpb25CdWlsZERpcilc
b2JqXFdlYkNvcmVcRGVyaXZlZFNvdXJjZXMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBs
dWdpbnMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsdWdpbnNcd2luJnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcikuLlxzdmdcYW5pbWF0aW9uJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpciku
LlxzdmdcZ3JhcGhpY3MmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHN2Z1xwcm9wZXJ0aWVz
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxzdmdcZ3JhcGhpY3NcZmlsdGVycyZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpLi5cc3ZnJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlx0ZXN0
aW5nJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlx3bWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKS4uXHN0b3JhZ2UmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHdlYnNvY2tldHMmcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHdvcmtlcnMmcXVvdDs7JnF1b3Q7JChDb25maWd1cmF0
aW9uQnVpbGREaXIpXGluY2x1ZGUmcXVvdDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIp
XGluY2x1ZGVccHJpdmF0ZSZxdW90OzsmcXVvdDskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcaW5j
bHVkZVxKYXZhU2NyaXB0Q29yZSZxdW90OzsmcXVvdDskKENvbmZpZ3VyYXRpb25CdWlsZERpcilc
aW5jbHVkZVxwcml2YXRlXEphdmFTY3JpcHRDb3JlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpciku
LlxGb3J3YXJkaW5nSGVhZGVycyZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5j
bHVkZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZVxwcml2YXRlJnF1
b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRlXHByaXZhdGVcSmF2YVNjcmlw
dENvcmUmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGVccHRocmVhZHMm
cXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGVcc3FsaXRlJnF1b3Q7OyZx
dW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRlXEphdmFTY3JpcHRDb3JlJnF1b3Q7OyZx
dW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRlXHpsaWImcXVvdDsiCiAJCVByZXByb2Nl
c3NvckRlZmluaXRpb25zPSJfX1dJTjMyX187RElTQUJMRV8zRF9SRU5ERVJJTkc7V0VCQ09SRV9D
T05URVhUX01FTlVTIgogCQlVc2VQcmVjb21waWxlZEhlYWRlcj0iMiIKIAkJUHJlY29tcGlsZWRI
ZWFkZXJUaHJvdWdoPSJXZWJDb3JlUHJlZml4LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMmI3NGM1MWIzZTQzYjc3N2IzZmY5
MGJjYjE3OWUzZTU3ZDJjNTE1ZC4uYWRkODMyZWQwZDRlZDVhYzgxYWMzMDI2YzAyYTBkNjk0Nzg3
OGU0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtMTM5NjYsNiArMTM5NjYsMTIgQEAKIAkJRjVDMjg2OTUwMjg0NkRDRDAxODYz
NUNBIC8qIENvY29hLmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBuYW1lID0gQ29jb2EuZnJhbWV3b3Jr
OyBwYXRoID0gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29jb2EuZnJhbWV3b3JrOyBzb3Vy
Y2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OwogCQlGNUUwQzY1OTE2NDNDNDJDMDBENkNCNjkgLyog
QmFzZUNob29zZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gQmFzZUNob29zZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGUu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNUUwQzY1QTE2NDNDNDJDMDBENkNC
NjkgLyogQmFzZUNob29zZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGUuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQmFzZUNob29zZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjYwOThGN0ExNjY2RDhBNzAwMzI2OUQx
IC8qIERldmljZVByb3hpbWl0eUNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBEZXZpY2VQcm94aW1pdHlDbGllbnQuaDsgcGF0aCA9IE1vZHVsZXMvcHJveGltaXR5L0Rl
dmljZVByb3hpbWl0eUNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNjA5
OEY3QjE2NjZEOEE3MDAzMjY5RDEgLyogRGV2aWNlUHJveGltaXR5Q29udHJvbGxlci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBEZXZpY2VQcm94aW1pdHlDb250cm9s
bGVyLmNwcDsgcGF0aCA9IE1vZHVsZXMvcHJveGltaXR5L0RldmljZVByb3hpbWl0eUNvbnRyb2xs
ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNjA5OEY3QzE2NjZEOEE3MDAz
MjY5RDEgLyogRGV2aWNlUHJveGltaXR5Q29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmg7IHBhdGggPSBNb2R1bGVz
L3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUY2MDk4RjdEMTY2NkQ4QTcwMDMyNjlEMSAvKiBEZXZpY2VQcm94aW1pdHlF
dmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBEZXZpY2VQcm94
aW1pdHlFdmVudC5jcHA7IHBhdGggPSBNb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlF
dmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY2MDk4RjdFMTY2NkQ4QTcw
MDMyNjlEMSAvKiBEZXZpY2VQcm94aW1pdHlFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IG5hbWUgPSBEZXZpY2VQcm94aW1pdHlFdmVudC5oOyBwYXRoID0gTW9kdWxlcy9wcm94aW1p
dHkvRGV2aWNlUHJveGltaXR5RXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
RjYwOThGN0YxNjY2RDhBNzAwMzI2OUQxIC8qIERldmljZVByb3hpbWl0eUV2ZW50LmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IG5hbWUgPSBEZXZpY2VQcm94aW1pdHlFdmVudC5pZGw7IHBhdGggPSBNb2R1
bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlFdmVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUY3QTAzNEMzMTI2QkY2QkUwMDdEQzE5RSAvKiBGb250T3JpZW50YXRpb24u
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRm9udE9yaWVudGF0aW9uLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY4MjE2Mjk5MDI5RjRGQjUwMTAwMDEzMSAvKiBK
YXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgcGF0aCA9IEphdmFTY3JpcHRDb3Jl
LmZyYW1ld29yazsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJRjkxNkM0
OEIwREI1MTBGODAwNzZDRDgzIC8qIEpTWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1hNTEh0dHBSZXF1ZXN0UHJv
Z3Jlc3NFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xODA1NCw2ICsx
ODA2MCw3IEBACiAJCQkJOTcxMkE1NTMxNTAwNEUzQzAwNDhBRjEwIC8qIGluZGV4ZWRkYiAqLywK
IAkJCQlCMUE5NDJERDE1QjVDRTIyMDBENTI1RDEgLyogbWVkaWFzb3VyY2UgKi8sCiAJCQkJMzMz
RjcwM0QwRkI0OUMxNjAwOEUxMkE2IC8qIG5vdGlmaWNhdGlvbnMgKi8sCisJCQkJRjYwOThGNzgx
NjY2RDg0MTAwMzI2OUQxIC8qIHByb3hpbWl0eSAqLywKIAkJCQk4OUY2MEIwODE1N0Y2ODM1MDA3
NUUxNTcgLyogcXVvdGEgKi8sCiAJCQkJRkQzMTVGQTIxMkIwMjVCMTAwQzFBMzU5IC8qIHdlYmF1
ZGlvICovLAogCQkJCTk3QkM2OUQ1MTUwNUYwNTQwMDFCNzRBQyAvKiB3ZWJkYXRhYmFzZSAqLywK
QEAgLTIyMzU1LDYgKzIyMzYyLDE5IEBACiAJCQl0YWJXaWR0aCA9IDQ7CiAJCQl1c2VzVGFicyA9
IDA7CiAJCX07CisJCUY2MDk4Rjc4MTY2NkQ4NDEwMDMyNjlEMSAvKiBwcm94aW1pdHkgKi8gPSB7
CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCUY2MDk4RjdBMTY2NkQ4
QTcwMDMyNjlEMSAvKiBEZXZpY2VQcm94aW1pdHlDbGllbnQuaCAqLywKKwkJCQlGNjA5OEY3QjE2
NjZEOEE3MDAzMjY5RDEgLyogRGV2aWNlUHJveGltaXR5Q29udHJvbGxlci5jcHAgKi8sCisJCQkJ
RjYwOThGN0MxNjY2RDhBNzAwMzI2OUQxIC8qIERldmljZVByb3hpbWl0eUNvbnRyb2xsZXIuaCAq
LywKKwkJCQlGNjA5OEY3RDE2NjZEOEE3MDAzMjY5RDEgLyogRGV2aWNlUHJveGltaXR5RXZlbnQu
Y3BwICovLAorCQkJCUY2MDk4RjdFMTY2NkQ4QTcwMDMyNjlEMSAvKiBEZXZpY2VQcm94aW1pdHlF
dmVudC5oICovLAorCQkJCUY2MDk4RjdGMTY2NkQ4QTcwMDMyNjlEMSAvKiBEZXZpY2VQcm94aW1p
dHlFdmVudC5pZGwgKi8sCisJCQkpOworCQkJbmFtZSA9IHByb3hpbWl0eTsKKwkJCXNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCUZBQkU3MkVDMTA1OUMxRUIwMEQ5OTlERCAvKiBtYXRo
bWwgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
aGlzdG9yeS9QYWdlQ2FjaGUuY3BwCmluZGV4IDk2YWE1OTI5NjYwMDg3ZDc3ZmRjMWU2MTBmZWZh
MDIzZjQ3ZWUyN2MuLjhmYWU0MWJiZjY2NTVmNzgyMGEyYWMwNjMwMmFlZWQ3NDYxZjc2NjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNs
dWRlICJEYXRhYmFzZU1hbmFnZXIuaCIKICNpbmNsdWRlICJEZXZpY2VNb3Rpb25Db250cm9sbGVy
LmgiCiAjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmgiCisjaW5jbHVkZSAi
RGV2aWNlUHJveGltaXR5Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5j
bHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbmNsdWRlICJGcmFtZS5oIgpAQCAtMjUxLDYgKzI1
MiwxMiBAQCBzdGF0aWMgdm9pZCBsb2dDYW5DYWNoZVBhZ2VEZWNpc2lvbihQYWdlKiBwYWdlKQog
ICAgICAgICByZWplY3RSZWFzb25zIHw9IDEgPDwgVXNlc0RldmljZU9yaWVudGF0aW9uOwogICAg
IH0KICNlbmRpZgorI2lmIEVOQUJMRShQUk9YSU1JVFlfRVZFTlRTKQorICAgIGlmIChEZXZpY2VQ
cm94aW1pdHlDb250cm9sbGVyOjppc0FjdGl2ZUF0KHBhZ2UpKSB7CisgICAgICAgIFBDTE9HKCIg
ICAtUGFnZSBpcyB1c2luZyBEZXZpY2VQcm94aW1pdHkiKTsKKyAgICAgICAgcmVqZWN0UmVhc29u
cyB8PSAxIDw8IFVzZXNEZXZpY2VNb3Rpb247CisgICAgfQorI2VuZGlmCiAgICAgRnJhbWVMb2Fk
VHlwZSBsb2FkVHlwZSA9IHBhZ2UtPm1haW5GcmFtZSgpLT5sb2FkZXIoKS0+bG9hZFR5cGUoKTsK
ICAgICBpZiAobG9hZFR5cGUgPT0gRnJhbWVMb2FkVHlwZVJlbG9hZCkgewogICAgICAgICBQQ0xP
RygiICAgLUxvYWQgdHlwZSBpczogUmVsb2FkIik7CkBAIC0zODUsNiArMzkyLDkgQEAgYm9vbCBQ
YWdlQ2FjaGU6OmNhbkNhY2hlKFBhZ2UqIHBhZ2UpIGNvbnN0CiAgICAgICAgICYmICFEZXZpY2VN
b3Rpb25Db250cm9sbGVyOjppc0FjdGl2ZUF0KHBhZ2UpCiAgICAgICAgICYmICFEZXZpY2VPcmll
bnRhdGlvbkNvbnRyb2xsZXI6OmlzQWN0aXZlQXQocGFnZSkKICNlbmRpZgorI2lmIEVOQUJMRShQ
Uk9YSU1JVFlfRVZFTlRTKQorICAgICAgICAmJiAhRGV2aWNlUHJveGltaXR5Q29udHJvbGxlcjo6
aXNBY3RpdmVBdChwYWdlKQorI2VuZGlmCiAgICAgICAgICYmIGxvYWRUeXBlICE9IEZyYW1lTG9h
ZFR5cGVSZWxvYWQKICAgICAgICAgJiYgbG9hZFR5cGUgIT0gRnJhbWVMb2FkVHlwZVJlbG9hZEZy
b21PcmlnaW4KICAgICAgICAgJiYgbG9hZFR5cGUgIT0gRnJhbWVMb2FkVHlwZVNhbWU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggZGJlYWZmMzVjNDkwNDkwMWU0MTdkODc3YmQ5NzEx
Y2YwZTg5MmYyMi4uNjc1OWQ4ZDJkZmU5YmU0MmEzNGU5ZmVhYjY5OTIzZjE4NzQzY2E4NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtNDcsNiArNDcsNyBAQAogI2luY2x1ZGUgIkRP
TVdpbmRvd05vdGlmaWNhdGlvbnMuaCIKICNpbmNsdWRlICJEZXZpY2VNb3Rpb25Db250cm9sbGVy
LmgiCiAjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmgiCisjaW5jbHVkZSAi
RGV2aWNlUHJveGltaXR5Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5j
bHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbmNsdWRlICJFbGVtZW50LmgiCkBAIC0xNjAxLDYg
KzE2MDIsMTMgQEAgYm9vbCBET01XaW5kb3c6OmFkZEV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbWlj
U3RyaW5nJiBldmVudFR5cGUsIFBhc3NSZWZQdHI8RXZlbnQKICAgICB9CiAjZW5kaWYKIAorI2lm
IEVOQUJMRShQUk9YSU1JVFlfRVZFTlRTKQorICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSBldmVu
dE5hbWVzKCkud2Via2l0ZGV2aWNlcHJveGltaXR5RXZlbnQpIHsKKyAgICAgICAgaWYgKERldmlj
ZVByb3hpbWl0eUNvbnRyb2xsZXIqIGNvbnRyb2xsZXIgPSBEZXZpY2VQcm94aW1pdHlDb250cm9s
bGVyOjpmcm9tKHBhZ2UoKSkpCisgICAgICAgICAgICBjb250cm9sbGVyLT5hZGREZXZpY2VFdmVu
dExpc3RlbmVyKHRoaXMpOworICAgIH0KKyNlbmRpZgorCiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
QEAgLTE2MzAsNiArMTYzOCwxMyBAQCBib29sIERPTVdpbmRvdzo6cmVtb3ZlRXZlbnRMaXN0ZW5l
cihjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lcgogICAgIH0KICNl
bmRpZgogCisjaWYgRU5BQkxFKFBST1hJTUlUWV9FVkVOVFMpCisgICAgZWxzZSBpZiAoZXZlbnRU
eXBlID09IGV2ZW50TmFtZXMoKS53ZWJraXRkZXZpY2Vwcm94aW1pdHlFdmVudCkgeworICAgICAg
ICBpZiAoRGV2aWNlUHJveGltaXR5Q29udHJvbGxlciogY29udHJvbGxlciA9IERldmljZVByb3hp
bWl0eUNvbnRyb2xsZXI6OmZyb20ocGFnZSgpKSkKKyAgICAgICAgICAgIGNvbnRyb2xsZXItPnJl
bW92ZURldmljZUV2ZW50TGlzdGVuZXIodGhpcyk7CisgICAgfQorI2VuZGlmCisKICAgICByZXR1
cm4gdHJ1ZTsKIH0KIApAQCAtMTY5MCw2ICsxNzA1LDExIEBAIHZvaWQgRE9NV2luZG93OjpyZW1v
dmVBbGxFdmVudExpc3RlbmVycygpCiAgICAgICAgIGRvY3VtZW50LT5kaWRSZW1vdmVFdmVudFRh
cmdldE5vZGUoZG9jdW1lbnQpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoUFJPWElNSVRZX0VWRU5U
UykKKyAgICBpZiAoRGV2aWNlUHJveGltaXR5Q29udHJvbGxlciogY29udHJvbGxlciA9IERldmlj
ZVByb3hpbWl0eUNvbnRyb2xsZXI6OmZyb20ocGFnZSgpKSkKKyAgICAgICAgY29udHJvbGxlci0+
cmVtb3ZlQWxsRGV2aWNlRXZlbnRMaXN0ZW5lcnModGhpcyk7CisjZW5kaWYKKwogICAgIHJlbW92
ZUFsbFVubG9hZEV2ZW50TGlzdGVuZXJzKHRoaXMpOwogICAgIHJlbW92ZUFsbEJlZm9yZVVubG9h
ZEV2ZW50TGlzdGVuZXJzKHRoaXMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3Bw
CmluZGV4IGNjMDhiM2UyYTA5OTg3NGQxZWM2MmE5MmU1ODczNzYxMTRlYjY5N2IuLmFiNzA0MDk4
ODIxZjg1YTk5YTE1MDQzNGE2YzQ3MWYzNmQwNGE1YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5jcHAKQEAgLTEwMCw2ICsxMDAsMTAgQEAKICNpbmNsdWRlICJOZXR3b3JrSW5mb0Nv
bnRyb2xsZXIuaCIKICNlbmRpZgogCisjaWYgRU5BQkxFKFBST1hJTUlUWV9FVkVOVFMpCisjaW5j
bHVkZSAiRGV2aWNlUHJveGltaXR5Q29udHJvbGxlci5oIgorI2VuZGlmCisKICNpZiBFTkFCTEUo
UEFHRV9QT1BVUCkKICNpbmNsdWRlICJQYWdlUG9wdXBDb250cm9sbGVyLmgiCiAjZW5kaWYKQEAg
LTEzMzMsNiArMTMzNywyMyBAQCB2b2lkIEludGVybmFsczo6c2V0TmV0d29ya0luZm9ybWF0aW9u
KERvY3VtZW50KiBkb2N1bWVudCwgY29uc3QgU3RyaW5nJiBldmVudFR5cAogI2VuZGlmCiB9CiAK
K3ZvaWQgSW50ZXJuYWxzOjpzZXREZXZpY2VQcm94aW1pdHkoRG9jdW1lbnQqIGRvY3VtZW50LCBj
b25zdCBTdHJpbmcmIGV2ZW50VHlwZSwgZG91YmxlIHZhbHVlLCBkb3VibGUgbWluLCBkb3VibGUg
bWF4LCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAoIWRvY3VtZW50IHx8ICFkb2N1bWVu
dC0+cGFnZSgpKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOworICAgICAgICBy
ZXR1cm47CisgICAgfQorCisjaWYgRU5BQkxFKFBST1hJTUlUWV9FVkVOVFMpCisgICAgRGV2aWNl
UHJveGltaXR5Q29udHJvbGxlcjo6ZnJvbShkb2N1bWVudC0+cGFnZSgpKS0+ZGlkQ2hhbmdlRGV2
aWNlUHJveGltaXR5KHZhbHVlLCBtaW4sIG1heCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShl
dmVudFR5cGUpOworICAgIFVOVVNFRF9QQVJBTSh2YWx1ZSk7CisgICAgVU5VU0VEX1BBUkFNKG1p
bik7CisgICAgVU5VU0VEX1BBUkFNKG1heCk7CisjZW5kaWYKK30KKwogYm9vbCBJbnRlcm5hbHM6
Omhhc1NwZWxsaW5nTWFya2VyKERvY3VtZW50KiBkb2N1bWVudCwgaW50IGZyb20sIGludCBsZW5n
dGgsIEV4Y2VwdGlvbkNvZGUmKQogewogICAgIGlmICghZG9jdW1lbnQgfHwgIWRvY3VtZW50LT5m
cmFtZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBi
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggNWE4NzFkYTVlMzc1Mjk0
Y2FjYTBmYjg4ZGVlMjc1NjBkZDhiMDIwNi4uNzhkNWIwZWZhMjUwMzE4ZGUzM2E1MDNjNTMxNjFh
YTkyNmRjMWYxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC0yMDEsNiArMjAx
LDggQEAgcHVibGljOgogCiAgICAgdm9pZCBzZXROZXR3b3JrSW5mb3JtYXRpb24oRG9jdW1lbnQq
LCBjb25zdCBTdHJpbmcmIGV2ZW50VHlwZSwgZG91YmxlIGJhbmR3aWR0aCwgYm9vbCBtZXRlcmVk
LCBFeGNlcHRpb25Db2RlJik7CiAKKyAgICB2b2lkIHNldERldmljZVByb3hpbWl0eShEb2N1bWVu
dCosIGNvbnN0IFN0cmluZyYgZXZlbnRUeXBlLCBkb3VibGUgdmFsdWUsIGRvdWJsZSBtaW4sIGRv
dWJsZSBtYXgsIEV4Y2VwdGlvbkNvZGUmKTsKKwogICAgIHZvaWQgc3VzcGVuZEFuaW1hdGlvbnMo
RG9jdW1lbnQqLCBFeGNlcHRpb25Db2RlJikgY29uc3Q7CiAgICAgdm9pZCByZXN1bWVBbmltYXRp
b25zKERvY3VtZW50KiwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5pZGwKaW5kZXggMzI5ZjQyOThmN2FhNDdlYjY4ODU4ZTkwYzIyMjNjYWIxMTM1
OGVjYS4uMzRlNTFhODJlYjE1ZjJiYTdjMGQzZjU0MTAxNmFmYzE3NDUzNWEwMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtMTkyLDYgKzE5MiwxMCBAQAogICAgIHZvaWQg
c2V0TmV0d29ya0luZm9ybWF0aW9uKGluIERvY3VtZW50IGRvY3VtZW50LCBpbiBET01TdHJpbmcg
ZXZlbnRUeXBlLCBpbiBkb3VibGUgYmFuZHdpZHRoLCBpbiBib29sZWFuIG1ldGVyZWQpIHJhaXNl
cyAoRE9NRXhjZXB0aW9uKTsKICNlbmRpZgogCisjaWYgZGVmaW5lZChFTkFCTEVfUFJPWElNSVRZ
X0VWRU5UUykgJiYgRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMKKyAgICB2b2lkIHNldERldmljZVBy
b3hpbWl0eShpbiBEb2N1bWVudCBkb2N1bWVudCwgaW4gRE9NU3RyaW5nIGV2ZW50VHlwZSwgaW4g
ZG91YmxlIHZhbHVlLCBpbiBkb3VibGUgbWluLCBpbiBkb3VibGUgbWF4KSByYWlzZXMgKERPTUV4
Y2VwdGlvbik7CisjZW5kaWYKKwogICAgIFtDb25kaXRpb25hbD1JTlNQRUNUT1JdIHVuc2lnbmVk
IGxvbmcgbnVtYmVyT2ZMaXZlTm9kZXMoKTsKICAgICBbQ29uZGl0aW9uYWw9SU5TUEVDVE9SXSB1
bnNpZ25lZCBsb25nIG51bWJlck9mTGl2ZURvY3VtZW50cygpOwogICAgIFtDb25kaXRpb25hbD1J
TlNQRUNUT1JdIHNlcXVlbmNlPERPTVN0cmluZz4gY29uc29sZU1lc3NhZ2VBcmd1bWVudENvdW50
cyhpbiBEb2N1bWVudCBkb2N1bWVudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DTWFr
ZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0CmluZGV4IGY0MzVjOTY2
NDZmYmY1YTQ2ODdlM2M5YjM0YWM1NzgzZDM5OGMwNjguLmI5NjRiNGI4NzM5ZDYwMDEzMDdiM2Zj
NzQxODlkYjM4MDlhZDdjMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMu
dHh0CisrKyBiL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0CkBAIC00NzIsNiArNDcyLDcg
QEAgc2V0KFdlYktpdDJfU09VUkNFUwogICAgIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q29sb3JDaG9vc2VyLmNwcAogICAgIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4
dE1lbnVDbGllbnQuY3BwCiAgICAgV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEYXRhYmFz
ZU1hbmFnZXIuY3BwCisgICAgV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEZXZpY2VQcm94
aW1pdHlDbGllbnQuY3BwCiAgICAgV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEcmFnQ2xp
ZW50LmNwcAogICAgIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNw
cAogICAgIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3Bw
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkRldmljZVByb3hpbWl0eUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkRldmljZVByb3hpbWl0eUNsaWVudC5jcHAKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTBl
YWYxZThjYmNiNGE2YTEyNGE3NzhjZjcyZGQzNjYxYmEzNzhhZQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRGV2aWNlUHJveGlt
aXR5Q2xpZW50LmNwcApAQCAtMCwwICsxLDYxIEBACisvKgorICogQ29weXJpZ2h0IDIwMTIgU2Ft
c3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYkRldmljZVByb3hpbWl0eUNsaWVudC5oIgorCisj
aWYgRU5BQkxFKFBST1hJTUlUWV9FVkVOVFMpCisKKyNpbmNsdWRlIDxXZWJDb3JlL0RldmljZVBy
b3hpbWl0eUNvbnRyb2xsZXIuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK1dlYkRldmljZVBy
b3hpbWl0eUNsaWVudDo6V2ViRGV2aWNlUHJveGltaXR5Q2xpZW50KFdlYlBhZ2UqIHBhZ2UpCisg
ICAgOiBtX3BhZ2UocGFnZSkKKyAgICAsIG1fdmFsdWUoc3RkOjpudW1lcmljX2xpbWl0czxkb3Vi
bGU+OjppbmZpbml0eSgpKQorICAgICwgbV9taW4oLXN0ZDo6bnVtZXJpY19saW1pdHM8ZG91Ymxl
Pjo6aW5maW5pdHkoKSkKKyAgICAsIG1fbWF4KHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6
aW5maW5pdHkoKSkKK3sKK30KKwordm9pZCBXZWJEZXZpY2VQcm94aW1pdHlDbGllbnQ6OnN0YXJ0
VXBkYXRpbmcoKQoreworICAgIC8vIEZJWE1FIDogU3RhcnQgZ2V0dGluZyBwcm94aW1pdHkgZGF0
YSBmcm9tIGRldmljZS4KK30KKwordm9pZCBXZWJEZXZpY2VQcm94aW1pdHlDbGllbnQ6OnN0b3BV
cGRhdGluZygpCit7CisgICAgLy8gRklYTUUgOiBTdG9wIGdldHRpbmcgcHJveGltaXR5IGRhdGEg
ZnJvbSBkZXZpY2UuCit9CisKK2Jvb2wgV2ViRGV2aWNlUHJveGltaXR5Q2xpZW50OjpoYXNMYXN0
RGF0YSgpCit7CisgICAgcmV0dXJuIG1fdmFsdWUgPT0gc3RkOjpudW1lcmljX2xpbWl0czxkb3Vi
bGU+OjppbmZpbml0eSgpID8gZmFsc2UgOiB0cnVlOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKKworI2VuZGlmIC8vIFBST1hJTUlUWV9FVkVOVFMKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEZXZpY2VQcm94aW1pdHlDbGllbnQu
aCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRGV2aWNlUHJv
eGltaXR5Q2xpZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTE5ZjVlMDc2MmVkMzQ0MzdhMDJiYTk0MGY1Y2Ex
Y2NhYmJlOWVlNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViRGV2aWNlUHJveGltaXR5Q2xpZW50LmgKQEAgLTAsMCArMSw2MyBA
QAorLyoKKyAqIENvcHlyaWdodCAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV2ViRGV2aWNlUHJveGltaXR5Q2xpZW50X2gK
KyNkZWZpbmUgV2ViRGV2aWNlUHJveGltaXR5Q2xpZW50X2gKKworI2lmIEVOQUJMRShQUk9YSU1J
VFlfRVZFTlRTKQorCisjaW5jbHVkZSA8V2ViQ29yZS9EZXZpY2VQcm94aW1pdHlDbGllbnQuaD4K
KworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYlBhZ2U7CisKK2NsYXNzIFdlYkRldmlj
ZVByb3hpbWl0eUNsaWVudCA6IHB1YmxpYyBXZWJDb3JlOjpEZXZpY2VQcm94aW1pdHlDbGllbnQg
eworcHVibGljOgorICAgIGV4cGxpY2l0IFdlYkRldmljZVByb3hpbWl0eUNsaWVudChXZWJQYWdl
Kik7CisgICAgdmlydHVhbCB+V2ViRGV2aWNlUHJveGltaXR5Q2xpZW50KCkgeyB9CisKKyAgICB2
b2lkIHN0YXJ0VXBkYXRpbmcoKTsKKyAgICB2b2lkIHN0b3BVcGRhdGluZygpOworCisgICAgdmly
dHVhbCBib29sIGhhc0xhc3REYXRhKCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCBkb3VibGUgdmFs
dWUoKSBPVkVSUklERSB7IHJldHVybiBtX3ZhbHVlOyB9CisgICAgdmlydHVhbCBkb3VibGUgbWlu
KCkgT1ZFUlJJREUgeyByZXR1cm4gbV9taW47IH0KKyAgICB2aXJ0dWFsIGRvdWJsZSBtYXgoKSBP
VkVSUklERSB7IHJldHVybiBtX21heDsgfQorCitwcml2YXRlOgorICAgIFdlYlBhZ2UqIG1fcGFn
ZTsKKyAgICAKKyAgICBib29sIG1faXNVcGRhdGluZzsKKyAgICBkb3VibGUgbV92YWx1ZTsKKyAg
ICBkb3VibGUgbV9taW47CisgICAgZG91YmxlIG1fbWF4OworfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CisKKyNlbmRpZiAvLyBQUk9YSU1JVFlfRVZFTlRTCisjZW5kaWYgLy8gV2ViRGV2aWNl
UHJveGltaXR5Q2xpZW50X2gKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwCmluZGV4IGUwNmUzYTMxMGExYjA5ZDY1ZGFhZWI1NDljZDgwMjU4ZTEzNGY5
OWMuLjcyMjJjNjg4ZmY2OGFmMDg3YTMzMjcxZDc5YjA3YjkyMjMyYTljMzkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTE1Nyw2ICsxNTcs
MTAgQEAKICNpbmNsdWRlICJXZWJWaWJyYXRpb25DbGllbnQuaCIKICNlbmRpZgogCisjaWYgRU5B
QkxFKFBST1hJTUlUWV9FVkVOVFMpCisjaW5jbHVkZSAiV2ViRGV2aWNlUHJveGltaXR5Q2xpZW50
LmgiCisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKE1BQykKICNpbmNsdWRlICJTaW1wbGVQREZQbHVn
aW4uaCIKICNpZiBFTkFCTEUoUERGS0lUX1BMVUdJTikKQEAgLTMyNyw2ICszMzEsOSBAQCBXZWJQ
YWdlOjpXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwgY29uc3QgV2ViUGFnZUNyZWF0aW9uUGFyYW1l
dGVycyYgcGFyYW1ldGVycykKICNpZiBFTkFCTEUoVklCUkFUSU9OKQogICAgIFdlYkNvcmU6OnBy
b3ZpZGVWaWJyYXRpb25UbyhtX3BhZ2UuZ2V0KCksIG5ldyBXZWJWaWJyYXRpb25DbGllbnQodGhp
cykpOwogI2VuZGlmCisjaWYgRU5BQkxFKFBST1hJTUlUWV9FVkVOVFMpCisgICAgV2ViQ29yZTo6
cHJvdmlkZURldmljZVByb3hpbWl0eVRvKG1fcGFnZS5nZXQoKSwgbmV3IFdlYkRldmljZVByb3hp
bWl0eUNsaWVudCh0aGlzKSk7CisjZW5kaWYKIAogICAgIG1fcGFnZS0+c2V0Q2FuU3RhcnRNZWRp
YShmYWxzZSk7CiAgICAgbV9tYXlTdGFydE1lZGlhV2hlbkluV2luZG93ID0gcGFyYW1ldGVycy5t
YXlTdGFydE1lZGlhV2hlbkluV2luZG93OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDA0MTMxODc3ZTEzZDdmYjM4M2Q1Mzg4
ZGI0Mjg2MjViMDBjM2JiNTUuLmU1MjY3ZTY1MGUwMWU2Zjc2M2YyZGYwYmY1MDg3ZTVkNTc4NmZj
N2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwzNCBAQAorMjAxMy0wMS0wNyAgS2lob25nIEt3b24gIDxraWhv
bmcua3dvbkBzYW1zdW5nLmNvbT4KKworICAgICAgICBBZGQgRGV2aWNlUHJveGltaXR5Q29udHJv
bGxlciB0byBzdXBwb3J0IERldmljZSBQcm94aW1pdHkgRXZlbnRzLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc2MzAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgbGF5b3V0IHRlc3QgY2FzZXMgZm9y
IHRoZSBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLgorCisgICAgICAgICogcHJveGltaXR5L2Fk
ZC1saXN0ZW5lci1mcm9tLWNhbGxiYWNrLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
cHJveGltaXR5L2FkZC1saXN0ZW5lci1mcm9tLWNhbGxiYWNrLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHByb3hpbWl0eS9iYXNpYy1vcGVyYXRpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBwcm94aW1pdHkvYmFzaWMtb3BlcmF0aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBy
b3hpbWl0eS9jcmVhdGUtZXZlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwcm94
aW1pdHkvY3JlYXRlLWV2ZW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHByb3hpbWl0eS9ldmVu
dC1hZnRlci1uYXZpZ2F0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcHJveGlt
aXR5L2V2ZW50LWFmdGVyLW5hdmlnYXRpb24uaHRtbDogQWRkZWQuCisgICAgICAgICogcHJveGlt
aXR5L211bHRpcGxlLWZyYW1lcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHByb3hp
bWl0eS9tdWx0aXBsZS1mcmFtZXMuaHRtbDogQWRkZWQuCisgICAgICAgICogcHJveGltaXR5L25v
LXBhZ2UtY2FjaGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwcm94aW1pdHkvbm8t
cGFnZS1jYWNoZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwcm94aW1pdHkvb3B0aW9uYWwtZXZl
bnQtcHJvcGVydGllcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHByb3hpbWl0eS9v
cHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHByb3hpbWl0
eS9yZXNvdXJjZXMvY2FjaGVkLXBhZ2UtMS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwcm94aW1p
dHkvcmVzb3VyY2VzL2NhY2hlZC1wYWdlLTIuaHRtbDogQWRkZWQuCisgICAgICAgICogcHJveGlt
aXR5L3Jlc291cmNlcy9ldmVudC1hZnRlci1uYXZpZ2F0aW9uLW5ldy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBwcm94aW1pdHkvdXBkYXRlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHByb3hpbWl0eS91cGRhdGVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHByb3hpbWl0eS93aW5k
b3ctcHJvcGVydHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwcm94aW1pdHkvd2lu
ZG93LXByb3BlcnR5Lmh0bWw6IEFkZGVkLgorCiAyMDEzLTAxLTA2ICBBYmhpc2hlayBBcnlhICA8
aW5mZXJub0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSGVhcC11c2UtYWZ0ZXItZnJlZSBpbiBX
ZWJDb3JlOjpEb2N1bWVudDo6aW1wbGljaXRDbG9zZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cHJveGltaXR5L2FkZC1saXN0ZW5lci1mcm9tLWNhbGxiYWNrLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3Byb3hpbWl0eS9hZGQtbGlzdGVuZXItZnJvbS1jYWxsYmFjay1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTBiODY3MTgzOGNmMzMyM2NkMTVlNzRmZDc2YTFmZmI4YTg2MTY5ZQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9hZGQtbGlzdGVuZXItZnJvbS1j
YWxsYmFjay1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOCBAQAorVGVzdHMgdGhhdCBhZGRpbmcg
YSBuZXcgZXZlbnQgbGlzdGVuZXIgZnJvbSBhIGNhbGxiYWNrIHdvcmtzIGFzIGV4cGVjdGVkLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBkZXZpY2VQcm94aW1pdHlFdmVu
dC52YWx1ZSBpcyBmaXJlZEV2ZW50LnZhbHVlCitQQVNTIGRldmljZVByb3hpbWl0eUV2ZW50Lm1p
biBpcyBmaXJlZEV2ZW50Lm1pbgorUEFTUyBkZXZpY2VQcm94aW1pdHlFdmVudC5tYXggaXMgZmly
ZWRFdmVudC5tYXgKK1BBU1MgZGV2aWNlUHJveGltaXR5RXZlbnQudmFsdWUgaXMgZmlyZWRFdmVu
dC52YWx1ZQorUEFTUyBkZXZpY2VQcm94aW1pdHlFdmVudC5taW4gaXMgZmlyZWRFdmVudC5taW4K
K1BBU1MgZGV2aWNlUHJveGltaXR5RXZlbnQubWF4IGlzIGZpcmVkRXZlbnQubWF4CitQQVNTIGRl
dmljZVByb3hpbWl0eUV2ZW50LnZhbHVlIGlzIGZpcmVkRXZlbnQudmFsdWUKK1BBU1MgZGV2aWNl
UHJveGltaXR5RXZlbnQubWluIGlzIGZpcmVkRXZlbnQubWluCitQQVNTIGRldmljZVByb3hpbWl0
eUV2ZW50Lm1heCBpcyBmaXJlZEV2ZW50Lm1heAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Byb3hpbWl0
eS9hZGQtbGlzdGVuZXItZnJvbS1jYWxsYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvcHJveGltaXR5
L2FkZC1saXN0ZW5lci1mcm9tLWNhbGxiYWNrLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDk4ZjZmZDM0YTYz
ZjZlNzUzODI1MDFmMTNmOWRiOTYzNzY3ZWQzZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3Byb3hpbWl0eS9hZGQtbGlzdGVuZXItZnJvbS1jYWxsYmFjay5odG1sCkBAIC0wLDAgKzEs
NTAgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVz
Y3JpcHRpb24oJ1Rlc3RzIHRoYXQgYWRkaW5nIGEgbmV3IGV2ZW50IGxpc3RlbmVyIGZyb20gYSBj
YWxsYmFjayB3b3JrcyBhcyBleHBlY3RlZC4nKTsKKwordmFyIGZpcmVkRXZlbnQgPSB7dmFsdWU6
IDIuMiwgbWluOiAxLjEsIG1heDogMy4zfTsKKwordmFyIGRldmljZVByb3hpbWl0eUV2ZW50Owor
ZnVuY3Rpb24gY2hlY2tQcm94aW1pdHkoZXZlbnQpIHsKKyAgICBkZXZpY2VQcm94aW1pdHlFdmVu
dCA9IGV2ZW50OworICAgIHNob3VsZEJlKCdkZXZpY2VQcm94aW1pdHlFdmVudC52YWx1ZScsICdm
aXJlZEV2ZW50LnZhbHVlJyk7CisgICAgc2hvdWxkQmUoJ2RldmljZVByb3hpbWl0eUV2ZW50Lm1p
bicsICdmaXJlZEV2ZW50Lm1pbicpOworICAgIHNob3VsZEJlKCdkZXZpY2VQcm94aW1pdHlFdmVu
dC5tYXgnLCAnZmlyZWRFdmVudC5tYXgnKTsKK30KKwordmFyIGZpcnN0TGlzdGVuZXJFdmVudHMg
PSAwOworZnVuY3Rpb24gZmlyc3RMaXN0ZW5lcihldmVudCkgeworICAgIGNoZWNrUHJveGltaXR5
KGV2ZW50KTsKKyAgICBpZiAoKytmaXJzdExpc3RlbmVyRXZlbnRzID09IDEpIHsKKyAgICAgICAg
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdGRldmljZXByb3hpbWl0eScsIHNlY29uZExp
c3RlbmVyKTsKKyAgICAgICAgaW50ZXJuYWxzLnNldERldmljZVByb3hpbWl0eShkb2N1bWVudCwg
J3dlYmtpdGRldmljZXByb3hpbWl0eScsIGZpcmVkRXZlbnQudmFsdWUsIGZpcmVkRXZlbnQubWlu
LCBmaXJlZEV2ZW50Lm1heCk7CisgICAgfQorICAgIGVsc2UgaWYgKGZpcnN0TGlzdGVuZXJFdmVu
dHMgPiAyKQorICAgICAgICB0ZXN0RmFpbGVkKCdUb28gbWFueSBldmVudHMgZm9yIGZpcnN0IGxp
c3RlbmVyLicpOworICAgIG1heWJlRmluaXNoVGVzdCgpOworfQorCit2YXIgc2Vjb25kTGlzdGVu
ZXJFdmVudHMgPSAwOworZnVuY3Rpb24gc2Vjb25kTGlzdGVuZXIoZXZlbnQpIHsKKyAgICBjaGVj
a1Byb3hpbWl0eShldmVudCk7CisgICAgaWYgKCsrc2Vjb25kTGlzdGVuZXJFdmVudHMgPiAxKQor
ICAgICAgICB0ZXN0RmFpbGVkKCdUb28gbWFueSBldmVudHMgZm9yIHNlY29uZCBsaXN0ZW5lci4n
KTsKKyAgICBtYXliZUZpbmlzaFRlc3QoKTsKK30KKworZnVuY3Rpb24gbWF5YmVGaW5pc2hUZXN0
KCkgeworICAgIGlmIChmaXJzdExpc3RlbmVyRXZlbnRzID09IDIgJiYgc2Vjb25kTGlzdGVuZXJF
dmVudHMgPT0gMSkKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK3dpbmRvdy5hZGRFdmVu
dExpc3RlbmVyKCd3ZWJraXRkZXZpY2Vwcm94aW1pdHknLCBmaXJzdExpc3RlbmVyKTsKK2ludGVy
bmFscy5zZXREZXZpY2VQcm94aW1pdHkoZG9jdW1lbnQsICd3ZWJraXRkZXZpY2Vwcm94aW1pdHkn
LCBmaXJlZEV2ZW50LnZhbHVlLCBmaXJlZEV2ZW50Lm1pbiwgZmlyZWRFdmVudC5tYXgpOword2lu
ZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Byb3hpbWl0eS9iYXNpYy1vcGVyYXRpb24tZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L2Jhc2ljLW9wZXJhdGlvbi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZDk2NjFhMzNlYjY4ODIzMTIxZmRjNDNlMGVkM2Y2MGM3YTM5NzVm
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9iYXNpYy1vcGVyYXRp
b24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK1Rlc3RzIHRoZSBiYXNpYyBvcGVyYXRp
b24gb2YgRGV2aWNlUHJveGltaXR5IHVzaW5nIHRoZSBwcm94aW1pdHkuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitQQVNTIGRldmljZVByb3hpbWl0eUV2ZW50LnZhbHVlIGlzIGZp
cmVkRXZlbnQudmFsdWUKK1BBU1MgZGV2aWNlUHJveGltaXR5RXZlbnQubWluIGlzIGZpcmVkRXZl
bnQubWF4CitQQVNTIGRldmljZVByb3hpbWl0eUV2ZW50Lm1heCBpcyBmaXJlZEV2ZW50Lm1pbgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3Byb3hpbWl0eS9iYXNpYy1vcGVyYXRpb24uaHRtbCBiL0xheW91
dFRlc3RzL3Byb3hpbWl0eS9iYXNpYy1vcGVyYXRpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYzFlZjRk
ZWQyYjMyZDgyNDIzZWQ3NGJmODkyODUxZTJhMWM3YzRhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvcHJveGltaXR5L2Jhc2ljLW9wZXJhdGlvbi5odG1sCkBAIC0wLDAgKzEsMjUgQEAK
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRp
b24oJ1Rlc3RzIHRoZSBiYXNpYyBvcGVyYXRpb24gb2YgRGV2aWNlUHJveGltaXR5IHVzaW5nIHRo
ZSBwcm94aW1pdHkuJyk7CisKK3ZhciBmaXJlZEV2ZW50ID0ge3ZhbHVlOiAyLjIsIG1pbjogMS4x
LCBtYXg6IDMuM307CisKK3ZhciBkZXZpY2VQcm94aW1pdHlFdmVudDsKK3dpbmRvdy5hZGRFdmVu
dExpc3RlbmVyKCd3ZWJraXRkZXZpY2Vwcm94aW1pdHknLCBmdW5jdGlvbihlKSB7CisgICAgZGV2
aWNlUHJveGltaXR5RXZlbnQgPSBlOworICAgIHNob3VsZEJlKCdkZXZpY2VQcm94aW1pdHlFdmVu
dC52YWx1ZScsICdmaXJlZEV2ZW50LnZhbHVlJyk7CisgICAgc2hvdWxkQmUoJ2RldmljZVByb3hp
bWl0eUV2ZW50Lm1pbicsICdmaXJlZEV2ZW50Lm1heCcpOworICAgIHNob3VsZEJlKCdkZXZpY2VQ
cm94aW1pdHlFdmVudC5tYXgnLCAnZmlyZWRFdmVudC5taW4nKTsKKyAgICBmaW5pc2hKU1Rlc3Qo
KTsKK30pOworCitpbnRlcm5hbHMuc2V0RGV2aWNlUHJveGltaXR5KGRvY3VtZW50LCAnd2Via2l0
ZGV2aWNlcHJveGltaXR5JywgZmlyZWRFdmVudC52YWx1ZSwgZmlyZWRFdmVudC5tYXgsIGZpcmVk
RXZlbnQubWluKTsKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wcm94aW1pdHkvY3Jl
YXRlLWV2ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9jcmVhdGUtZXZl
bnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVjZjU5Njc1ZmYwNWE2ZjMwZTNlMWRkODYxMzhj
ZGJkOTBiZWJjNDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wcm94aW1pdHkvY3Jl
YXRlLWV2ZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIyIEBACitUZXN0cyB0aGF0IGRvY3Vt
ZW50LmNyZWF0ZUV2ZW50KCkgd29ya3Mgd2l0aCBEZXZpY2VQcm94aW1pdHlFdmVudC4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgdHlwZW9mIGV2ZW50ID09ICdvYmplY3Qn
IGlzIHRydWUKK1BBU1MgJ3R5cGUnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ2J1YmJsZXMnIGlu
IGV2ZW50IGlzIHRydWUKK1BBU1MgJ2NhbmNlbGFibGUnIGluIGV2ZW50IGlzIHRydWUKK1BBU1Mg
J3ZhbHVlJyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdtaW4nIGluIGV2ZW50IGlzIHRydWUKK1BB
U1MgJ21heCcgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyB0eXBlb2YgZXZlbnQudHlwZSA9PSAnc3Ry
aW5nJyBpcyB0cnVlCitQQVNTIHR5cGVvZiBldmVudC5idWJibGVzID09ICdib29sZWFuJyBpcyB0
cnVlCitQQVNTIHR5cGVvZiBldmVudC5jYW5jZWxhYmxlID09ICdib29sZWFuJyBpcyB0cnVlCitQ
QVNTIHR5cGVvZiBldmVudC52YWx1ZSA9PSAnbnVtYmVyJyBpcyB0cnVlCitQQVNTIHR5cGVvZiBl
dmVudC5taW4gPT0gJ251bWJlcicgaXMgdHJ1ZQorUEFTUyB0eXBlb2YgZXZlbnQubWF4ID09ICdu
dW1iZXInIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wcm94aW1pdHkvY3JlYXRlLWV2ZW50
Lmh0bWwgYi9MYXlvdXRUZXN0cy9wcm94aW1pdHkvY3JlYXRlLWV2ZW50Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYzIxMzlhODZkNzQyZDY3NmM4ZmI3ODg4NmM2YTM1ZGYzOGVmYTZmZQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9jcmVhdGUtZXZlbnQuaHRtbApAQCAtMCwwICsx
LDI5IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rl
c2NyaXB0aW9uKCdUZXN0cyB0aGF0IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCkgd29ya3Mgd2l0aCBE
ZXZpY2VQcm94aW1pdHlFdmVudC4nKTsKKwordmFyIGV2ZW50ID0gZG9jdW1lbnQuY3JlYXRlRXZl
bnQoJ0RldmljZVByb3hpbWl0eUV2ZW50Jyk7CisKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIGV2ZW50
ID09ICdvYmplY3QnIik7CisKK3Nob3VsZEJlVHJ1ZSgiJ3R5cGUnIGluIGV2ZW50Iik7CitzaG91
bGRCZVRydWUoIididWJibGVzJyBpbiBldmVudCIpOworc2hvdWxkQmVUcnVlKCInY2FuY2VsYWJs
ZScgaW4gZXZlbnQiKTsKK3Nob3VsZEJlVHJ1ZSgiJ3ZhbHVlJyBpbiBldmVudCIpOworc2hvdWxk
QmVUcnVlKCInbWluJyBpbiBldmVudCIpOworc2hvdWxkQmVUcnVlKCInbWF4JyBpbiBldmVudCIp
OworCitzaG91bGRCZVRydWUoInR5cGVvZiBldmVudC50eXBlID09ICdzdHJpbmcnIik7CitzaG91
bGRCZVRydWUoInR5cGVvZiBldmVudC5idWJibGVzID09ICdib29sZWFuJyIpOworc2hvdWxkQmVU
cnVlKCJ0eXBlb2YgZXZlbnQuY2FuY2VsYWJsZSA9PSAnYm9vbGVhbiciKTsKK3Nob3VsZEJlVHJ1
ZSgidHlwZW9mIGV2ZW50LnZhbHVlID09ICdudW1iZXInIik7CitzaG91bGRCZVRydWUoInR5cGVv
ZiBldmVudC5taW4gPT0gJ251bWJlciciKTsKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIGV2ZW50Lm1h
eCA9PSAnbnVtYmVyJyIpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3Byb3hpbWl0eS9ldmVudC1hZnRlci1uYXZpZ2F0aW9uLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9ldmVudC1hZnRlci1uYXZpZ2F0aW9uLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZTZiYzM5ODI2Nzc3YjE4M2U0YjBmY2JlY2NlN2VjMjZm
ZDBmZDFkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L2V2ZW50LWFm
dGVyLW5hdmlnYXRpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorVGVzdHMgZm9yIGEg
Y3Jhc2ggd2hlcmUgYW4gZXZlbnQgaXMgZmlyZWQgYWZ0ZXIgdGhlIHBhZ2UgaGFzIGJlZW4gbmF2
aWdhdGVkIGF3YXkgd2hlbiB0aGUgb3JpZ2luYWwgcGFnZSBpcyBpbiB0aGUgcGFnZSBjYWNoZS4K
KworU1VDQ0VTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcHJveGltaXR5L2V2ZW50LWFmdGVy
LW5hdmlnYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9ldmVudC1hZnRlci1uYXZp
Z2F0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGQ0NDdlNWJlOTEzZWEyYzFjMDA2ZGUzY2Y0ODFmMDVi
OTgxMmE5ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9ldmVudC1h
ZnRlci1uYXZpZ2F0aW9uLmh0bWwKQEAgLTAsMCArMSwyMyBAQAorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVzdHMgZm9yIGEgY3Jh
c2ggd2hlcmUgYW4gZXZlbnQgaXMgZmlyZWQgYWZ0ZXIgdGhlIHBhZ2UgaGFzIGJlZW4gbmF2aWdh
dGVkIGF3YXkgd2hlbiB0aGUgb3JpZ2luYWwgcGFnZSBpcyBpbiB0aGUgcGFnZSBjYWNoZS4nKTsK
KworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJl
bmNlKCdXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleScsIDEpOworZWxzZQorICAgIGRl
YnVnKCdUaGlzIHRlc3QgY2FuIG5vdCBiZSBydW4gd2l0aG91dCB0aGUgVGVzdFJ1bm5lcicpOwor
Citkb2N1bWVudC5ib2R5Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIHdpbmRvdy5hZGRFdmVu
dExpc3RlbmVyKCd3ZWJraXRkZXZpY2Vwcm94aW1pdHknLCBmdW5jdGlvbigpIHsgfSApOworICAg
IHdpbmRvdy5sb2NhdGlvbiA9ICJyZXNvdXJjZXMvZXZlbnQtYWZ0ZXItbmF2aWdhdGlvbi1uZXcu
aHRtbCI7Cit9CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wcm94aW1pdHkvbXVs
dGlwbGUtZnJhbWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9tdWx0aXBs
ZS1mcmFtZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYwNWY0ZTNmZjI2ZjhiMGQxMGMyOWFk
MTBkMTI0NGRlZDNjNTc2MzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wcm94aW1p
dHkvbXVsdGlwbGUtZnJhbWVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBACitUZXN0cyB1
c2luZyBEZXZpY2VQcm94aW1pdHkgZnJvbSBtdWx0aXBsZSBmcmFtZXMuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitQQVNTIERldmljZVByb3hpbWl0eUV2ZW50LnZhbHVlIGlzIGZp
cmVkRXZlbnQudmFsdWUKK1BBU1MgRGV2aWNlUHJveGltaXR5RXZlbnQubWluIGlzIGZpcmVkRXZl
bnQubWluCitQQVNTIERldmljZVByb3hpbWl0eUV2ZW50Lm1heCBpcyBmaXJlZEV2ZW50Lm1heAor
UEFTUyBEZXZpY2VQcm94aW1pdHlFdmVudC52YWx1ZSBpcyBmaXJlZEV2ZW50LnZhbHVlCitQQVNT
IERldmljZVByb3hpbWl0eUV2ZW50Lm1pbiBpcyBmaXJlZEV2ZW50Lm1pbgorUEFTUyBEZXZpY2VQ
cm94aW1pdHlFdmVudC5tYXggaXMgZmlyZWRFdmVudC5tYXgKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
cm94aW1pdHkvbXVsdGlwbGUtZnJhbWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9wcm94aW1pdHkvbXVs
dGlwbGUtZnJhbWVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjdjOTM4ZTEyMDQxZWIxMDg2ODhjNDMzNTgz
MDNjNjZkOGYwOTU0OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9t
dWx0aXBsZS1mcmFtZXMuaHRtbApAQCAtMCwwICsxLDQ4IEBACis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0cyB1c2luZyBEZXZp
Y2VQcm94aW1pdHkgZnJvbSBtdWx0aXBsZSBmcmFtZXMuJyk7CisKK3ZhciBEZXZpY2VQcm94aW1p
dHlFdmVudDsKK2Z1bmN0aW9uIGNoZWNrUHJveGltaXR5KGV2ZW50KSB7CisgICAgRGV2aWNlUHJv
eGltaXR5RXZlbnQgPSBldmVudDsKKyAgICBzaG91bGRCZSgnRGV2aWNlUHJveGltaXR5RXZlbnQu
dmFsdWUnLCAnZmlyZWRFdmVudC52YWx1ZScpOworICAgIHNob3VsZEJlKCdEZXZpY2VQcm94aW1p
dHlFdmVudC5taW4nLCAnZmlyZWRFdmVudC5taW4nKTsKKyAgICBzaG91bGRCZSgnRGV2aWNlUHJv
eGltaXR5RXZlbnQubWF4JywgJ2ZpcmVkRXZlbnQubWF4Jyk7Cit9CisKK3ZhciBoYXNNYWluRnJh
bWVFdmVudEZpcmVkID0gZmFsc2U7CitmdW5jdGlvbiBtYWluRnJhbWVMaXN0ZW5lcihldmVudCkg
eworICAgIGNoZWNrUHJveGltaXR5KGV2ZW50KTsKKyAgICBoYXNNYWluRnJhbWVFdmVudEZpcmVk
ID0gdHJ1ZTsKKyAgICBtYXliZUZpbmlzaFRlc3QoKTsKK30KKwordmFyIGhhc0NoaWxkRnJhbWVF
dmVudEZpcmVkID0gZmFsc2U7CitmdW5jdGlvbiBjaGlsZEZyYW1lTGlzdGVuZXIoZXZlbnQpIHsK
KyAgICBjaGVja1Byb3hpbWl0eShldmVudCk7CisgICAgaGFzQ2hpbGRGcmFtZUV2ZW50RmlyZWQg
PSB0cnVlOworICAgIG1heWJlRmluaXNoVGVzdCgpOworfQorCitmdW5jdGlvbiBtYXliZUZpbmlz
aFRlc3QoKSB7CisgICAgaWYgKGhhc01haW5GcmFtZUV2ZW50RmlyZWQgJiYgaGFzQ2hpbGRGcmFt
ZUV2ZW50RmlyZWQpCisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworfQorCit2YXIgY2hpbGRGcmFt
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOworZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChjaGlsZEZyYW1lKTsKK2NoaWxkRnJhbWUuY29udGVudFdpbmRvdy5hZGRFdmVudExp
c3RlbmVyKCd3ZWJraXRkZXZpY2Vwcm94aW1pdHknLCBjaGlsZEZyYW1lTGlzdGVuZXIpOworCit3
aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0ZGV2aWNlcHJveGltaXR5JywgbWFpbkZyYW1l
TGlzdGVuZXIpOwordmFyIGZpcmVkRXZlbnQgPSB7dmFsdWU6IDIuMiwgbWluOiAxLjEsIG1heDog
My4zfTsKK2ludGVybmFscy5zZXREZXZpY2VQcm94aW1pdHkoZG9jdW1lbnQsICd3ZWJraXRkZXZp
Y2Vwcm94aW1pdHknLCBmaXJlZEV2ZW50LnZhbHVlLCBmaXJlZEV2ZW50Lm1pbiwgZmlyZWRFdmVu
dC5tYXgpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcHJveGltaXR5L25vLXBh
Z2UtY2FjaGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L25vLXBhZ2UtY2Fj
aGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYzNjY1ZDVlZDJjMGFjZTQzOGQ2YzZjMzcwMzMx
YjFkNDBkM2Y4OTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wcm94aW1pdHkvbm8t
cGFnZS1jYWNoZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNCBAQAorVGVzdHMgdGhhdCBwYWdl
cyB0aGF0IHVzZSBEZXZpY2VQcm94aW1pdHkgYXJlIG5vdCBwdXQgaW4gdGhlIHBhZ2UgY2FjaGUu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitNYWluIHBhZ2Ugb3BlbmluZyByZXNv
dXJjZXMvY2FjaGVkLXBhZ2UtMS5odG1sCityZXNvdXJjZXMvY2FjaGVkLXBhZ2UtMS5odG1sIG9u
bG9hZCBmaXJlZCwgY291bnQgPSAxCityZXNvdXJjZXMvY2FjaGVkLXBhZ2UtMS5odG1sIGFib3V0
IHRvIG5hdmlnYXRlIHRvIHJlc291cmNlcy9jYWNoZWQtcGFnZS0yLmh0bWwKK3Jlc291cmNlcy9j
YWNoZWQtcGFnZS0yLmh0bWwgYWJvdXQgdG8gZ28gYmFjayB0byByZXNvdXJjZXMvY2FjaGVkLXBh
Z2UtMS5odG1sCityZXNvdXJjZXMvY2FjaGVkLXBhZ2UtMS5odG1sIG9ubG9hZCBmaXJlZCwgY291
bnQgPSAyCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcHJveGltaXR5L25vLXBhZ2UtY2FjaGUuaHRtbCBi
L0xheW91dFRlc3RzL3Byb3hpbWl0eS9uby1wYWdlLWNhY2hlLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWU2
YzczYWEwMGE1YjNhODA0ZTUwOTc5OGIwODNkNzg1MTEwZDdjZAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3Byb3hpbWl0eS9uby1wYWdlLWNhY2hlLmh0bWwKQEAgLTAsMCArMSwzMyBA
QAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlw
dGlvbignVGVzdHMgdGhhdCBwYWdlcyB0aGF0IHVzZSBEZXZpY2VQcm94aW1pdHkgYXJlIG5vdCBw
dXQgaW4gdGhlIHBhZ2UgY2FjaGUuJyk7CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3Blbldp
bmRvd3MoKTsKKyAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgnV2ViS2l0VXNlc1Bh
Z2VDYWNoZVByZWZlcmVuY2VLZXknLCAxKTsKK30gZWxzZQorICAgIGRlYnVnKCdUaGlzIHRlc3Qg
Y2FuIG5vdCBiZSBydW4gd2l0aG91dCB0aGUgVGVzdFJ1bm5lcicpOworCit2YXIgcGFnZU9uZU9u
bG9hZENvdW50ID0gMDsKK2Z1bmN0aW9uIHJlcG9ydFBhZ2VPbmVPbmxvYWQoKSB7CisgICAgKytw
YWdlT25lT25sb2FkQ291bnQ7CisgICAgZGVidWcoJ3Jlc291cmNlcy9jYWNoZWQtcGFnZS0xLmh0
bWwgb25sb2FkIGZpcmVkLCBjb3VudCA9ICcgKyBwYWdlT25lT25sb2FkQ291bnQpOworICAgIGlm
IChwYWdlT25lT25sb2FkQ291bnQgPT0gMikgeworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICB9CisgICAgcmV0dXJuIHBhZ2VPbmVPbmxvYWRDb3VudDsKK30KKworZGVidWcoIk1haW4gcGFn
ZSBvcGVuaW5nIHJlc291cmNlcy9jYWNoZWQtcGFnZS0xLmh0bWwiKTsKK3dpbmRvdy5vcGVuKCJy
ZXNvdXJjZXMvY2FjaGVkLXBhZ2UtMS5odG1sIik7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wcm94aW1pdHkvb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9wcm94aW1pdHkvb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOTA3OThkYjUxNWE1NWU2NzExM2JlOWIyNDRmODZmMjRhYmFlNzk0
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9vcHRpb25hbC1ldmVu
dC1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUZXN0cyB0aGUgb3B0
aW9uYWwgcHJvcGVydGllcyBvZiBEZXZpY2VQcm94aW1pdHlFdmVudC4gRWFjaCBwcm9wZXJ0eSBz
aG91bGQgYmUgbnVsbCBpZiBub3Qgc2V0LCBvciBzZXQgdG8gbnVsbCBvciB1bmRlZmluZWQuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitldmVudCA9IGRvY3VtZW50LmNyZWF0ZUV2
ZW50KCdEZXZpY2VQcm94aW1pdHlFdmVudCcpCitQQVNTIGV2ZW50LnZhbHVlID09IE51bWJlci5Q
T1NJVElWRV9JTkZJTklUWSBpcyB0cnVlCitQQVNTIGV2ZW50Lm1pbiA9PSBOdW1iZXIuTkVHQVRJ
VkVfSU5GSU5JVFkgaXMgdHJ1ZQorUEFTUyBldmVudC5tYXggPT0gTnVtYmVyLlBPU0lUSVZFX0lO
RklOSVRZIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wcm94aW1pdHkvb3B0aW9uYWwtZXZl
bnQtcHJvcGVydGllcy5odG1sIGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L29wdGlvbmFsLWV2ZW50
LXByb3BlcnRpZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZjY0NDkyNzkyNDY0ZTRlZTYxYmVlMGNiN2M0
MzA4YzU0OWU2OTk4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L29w
dGlvbmFsLWV2ZW50LXByb3BlcnRpZXMuaHRtbApAQCAtMCwwICsxLDE3IEBACis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0cyB0
aGUgb3B0aW9uYWwgcHJvcGVydGllcyBvZiBEZXZpY2VQcm94aW1pdHlFdmVudC4gRWFjaCBwcm9w
ZXJ0eSBzaG91bGQgYmUgbnVsbCBpZiBub3Qgc2V0LCBvciBzZXQgdG8gbnVsbCBvciB1bmRlZmlu
ZWQuJyk7CisKK3ZhciBldmVudDsKK2V2YWxBbmRMb2coImV2ZW50ID0gZG9jdW1lbnQuY3JlYXRl
RXZlbnQoJ0RldmljZVByb3hpbWl0eUV2ZW50JykiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQudmFs
dWUgPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIik7CitzaG91bGRCZVRydWUoImV2ZW50Lm1p
biA9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkiKTsKK3Nob3VsZEJlVHJ1ZSgiZXZlbnQubWF4
ID09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSIpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Byb3hpbWl0eS9yZXNvdXJjZXMvY2Fj
aGVkLXBhZ2UtMS5odG1sIGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L3Jlc291cmNlcy9jYWNoZWQt
cGFnZS0xLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2QwNjJjY2U5MTI4ZDE1MmQ4YTk5YzAyZTdhOGI0OTg0
YzU3YjJjNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9yZXNvdXJj
ZXMvY2FjaGVkLXBhZ2UtMS5odG1sCkBAIC0wLDAgKzEsMTEgQEAKKzxzY3JpcHQ+CitmdW5jdGlv
biBsb2FkTmV4dCgpIHsKKyAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0ZGV2aWNl
cHJveGltaXR5JywgZnVuY3Rpb24oKSB7fSk7CisgICAgaWYgKHdpbmRvdy5vcGVuZXIucmVwb3J0
UGFnZU9uZU9ubG9hZCgpID09IDEpIHsKKyAgICAgICAgd2luZG93Lm9wZW5lci5kZWJ1ZygncmVz
b3VyY2VzL2NhY2hlZC1wYWdlLTEuaHRtbCBhYm91dCB0byBuYXZpZ2F0ZSB0byByZXNvdXJjZXMv
Y2FjaGVkLXBhZ2UtMi5odG1sJykKKyAgICAgICAgLy8gTG9jYXRpb24gY2hhbmdlcyBuZWVkIHRv
IGhhcHBlbiBvdXRzaWRlIHRoZSBvbmxvYWQgaGFuZGxlciB0byBnZW5lcmF0ZSBoaXN0b3J5IGVu
dHJpZXMuCisgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IGxvY2F0aW9uLmhyZWYgPSAn
Y2FjaGVkLXBhZ2UtMi5odG1sJzsgfSwgMCk7CisgICAgfQorfQorPC9zY3JpcHQ+Cis8Ym9keSBv
bmxvYWQ9ImxvYWROZXh0KCkiPjwvYm9keT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wcm94aW1pdHkvcmVzb3VyY2VzL2NhY2hlZC1wYWdlLTIu
aHRtbCBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9yZXNvdXJjZXMvY2FjaGVkLXBhZ2UtMi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgyYjg4Y2JjMTgwMDkwYjJkNDZjNzEwYmZlZTQ4MzY1YjI0MmUyMjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wcm94aW1pdHkvcmVzb3VyY2VzL2NhY2hlZC1w
YWdlLTIuaHRtbApAQCAtMCwwICsxLDggQEAKKzxzY3JpcHQ+CitmdW5jdGlvbiBpbml0KCkgewor
ICAgIHdpbmRvdy5vcGVuZXIucGFnZVR3b0xvYWRlZCA9IHRydWU7CisgICAgd2luZG93Lm9wZW5l
ci5kZWJ1ZygncmVzb3VyY2VzL2NhY2hlZC1wYWdlLTIuaHRtbCBhYm91dCB0byBnbyBiYWNrIHRv
IHJlc291cmNlcy9jYWNoZWQtcGFnZS0xLmh0bWwnKTsKKyAgICBoaXN0b3J5LmJhY2soKTsKK30K
Kzwvc2NyaXB0PgorPGJvZHkgb25sb2FkPSJpbml0KCkiPjwvYm9keT4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wcm94aW1pdHkvcmVzb3VyY2Vz
L2V2ZW50LWFmdGVyLW5hdmlnYXRpb24tbmV3Lmh0bWwgYi9MYXlvdXRUZXN0cy9wcm94aW1pdHkv
cmVzb3VyY2VzL2V2ZW50LWFmdGVyLW5hdmlnYXRpb24tbmV3Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDY2
NDRjZWYzMDQ0YmYyYjA1OThkNjVhNjhmYzRlYWIxOTkwMGQ0NAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3Byb3hpbWl0eS9yZXNvdXJjZXMvZXZlbnQtYWZ0ZXItbmF2aWdhdGlvbi1u
ZXcuaHRtbApAQCAtMCwwICsxLDE1IEBACis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+
CisgICAgVGVzdHMgZm9yIGEgY3Jhc2ggd2hlcmUgYW4gZXZlbnQgaXMgZmlyZWQgYWZ0ZXIgdGhl
IHBhZ2UgaGFzIGJlZW4gbmF2aWdhdGVkCisgICAgYXdheSB3aGVuIHRoZSBvcmlnaW5hbCBwYWdl
IGlzIGluIHRoZSBwYWdlIGNhY2hlLjxicj48YnI+CisgICAgU1VDQ0VTUworICAgIDxzY3JpcHQ+
CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICAgICAgaW50ZXJuYWxz
LnNldERldmljZVByb3hpbWl0eShkb2N1bWVudCwgJ3dlYmtpdGRldmljZXByb3hpbWl0eScsIDEu
MSwgMi4yLCAzLjMpOworICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAg
ICAgIH0KKyAgICA8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wcm94aW1pdHkvdXBkYXRlcy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wcm94aW1pdHkvdXBkYXRlcy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNDIzMWUzNzgzOWQwNGU3ODdmYzQxZWNkZTkxNzA3NzM0MDE4NTU1NQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS91cGRhdGVzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDE1IEBACitUZXN0cyB0aGF0IHVwZGF0ZXMgdG8gdGhlIHByb3hpbWl0eSBjYXVz
ZXMgbmV3IGV2ZW50cyB0byBmaXJlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
UEFTUyBkZXZpY2VQcm94aW1pdHlFdmVudC52YWx1ZSBpcyBmaXJlZEV2ZW50LnZhbHVlCitQQVNT
IGRldmljZVByb3hpbWl0eUV2ZW50Lm1pbiBpcyBmaXJlZEV2ZW50Lm1pbgorUEFTUyBkZXZpY2VQ
cm94aW1pdHlFdmVudC5tYXggaXMgZmlyZWRFdmVudC5tYXgKK1BBU1MgZGV2aWNlUHJveGltaXR5
RXZlbnQudmFsdWUgaXMgZmlyZWRFdmVudC52YWx1ZQorUEFTUyBkZXZpY2VQcm94aW1pdHlFdmVu
dC5taW4gaXMgZmlyZWRFdmVudC5taW4KK1BBU1MgZGV2aWNlUHJveGltaXR5RXZlbnQubWF4IGlz
IGZpcmVkRXZlbnQubWF4CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcHJveGltaXR5L3VwZGF0ZXMuaHRt
bCBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS91cGRhdGVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWU4ODJl
ZWJkMzc4MWVhOTQ5MTFhNjRjNmE1OWQ1NTI2YTU4MTVjYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3Byb3hpbWl0eS91cGRhdGVzLmh0bWwKQEAgLTAsMCArMSw0MSBAQAorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVz
dHMgdGhhdCB1cGRhdGVzIHRvIHRoZSBwcm94aW1pdHkgY2F1c2VzIG5ldyBldmVudHMgdG8gZmly
ZS4nKTsKKwordmFyIGZpcmVkRXZlbnQ7CitmdW5jdGlvbiBzZXRQcm94aW1pdHkodmFsdWUsIG1p
biwgbWF4KSB7CisgICAgZmlyZWRFdmVudCA9IHt2YWx1ZTogdmFsdWUsIG1pbjogbWluLCBtYXg6
IG1heH07CisgICAgaW50ZXJuYWxzLnNldERldmljZVByb3hpbWl0eShkb2N1bWVudCwgJ3dlYmtp
dGRldmljZXByb3hpbWl0eScsIGZpcmVkRXZlbnQudmFsdWUsIGZpcmVkRXZlbnQubWluLCBmaXJl
ZEV2ZW50Lm1heCk7Cit9CisKK3ZhciBkZXZpY2VQcm94aW1pdHlFdmVudDsKK2Z1bmN0aW9uIGNo
ZWNrUHJveGltaXR5KGV2ZW50KSB7CisgICAgZGV2aWNlUHJveGltaXR5RXZlbnQgPSBldmVudDsK
KyAgICBzaG91bGRCZSgnZGV2aWNlUHJveGltaXR5RXZlbnQudmFsdWUnLCAnZmlyZWRFdmVudC52
YWx1ZScpOworICAgIHNob3VsZEJlKCdkZXZpY2VQcm94aW1pdHlFdmVudC5taW4nLCAnZmlyZWRF
dmVudC5taW4nKTsKKyAgICBzaG91bGRCZSgnZGV2aWNlUHJveGltaXR5RXZlbnQubWF4JywgJ2Zp
cmVkRXZlbnQubWF4Jyk7Cit9CisKK2Z1bmN0aW9uIGZpcnN0TGlzdGVuZXIoZXZlbnQpIHsKKyAg
ICBjaGVja1Byb3hpbWl0eShldmVudCk7CisgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIo
J3dlYmtpdGRldmljZXByb3hpbWl0eScsIGZpcnN0TGlzdGVuZXIpOworICAgIHdpbmRvdy5hZGRF
dmVudExpc3RlbmVyKCd3ZWJraXRkZXZpY2Vwcm94aW1pdHknLCB1cGRhdGVMaXN0ZW5lcik7Cisg
ICAgc2V0UHJveGltaXR5KDIyLjIsIDExLjEsIDMzLjMpOworfQorCitmdW5jdGlvbiB1cGRhdGVM
aXN0ZW5lcihldmVudCkgeworICAgIGNoZWNrUHJveGltaXR5KGV2ZW50KTsKKyAgICBmaW5pc2hK
U1Rlc3QoKTsKK30KKword2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdGRldmljZXByb3hp
bWl0eScsIGZpcnN0TGlzdGVuZXIpOworc2V0UHJveGltaXR5KDIuMiwgMS4xLCAzLjMpOword2lu
ZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Byb3hpbWl0eS93aW5kb3ctcHJvcGVydHktZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L3dpbmRvdy1wcm9wZXJ0eS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZDNlNzVkODg1MjYzZmJmZjYzNGFjYmZlMjgxMjg3YTVmMmM5NGU5
NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS93aW5kb3ctcHJvcGVy
dHktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTggQEAKK1Rlc3RzIHRoYXQgdGhlIHdpbmRvdy5E
ZXZpY2VQcm94aW1pdHlFdmVudCBhbmQgd2luZG93Lm9ud2Via2l0ZGV2aWNlcHJveGltaXR5IHBy
b3BlcnRpZXMgYXJlIHByZXNlbnQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQ
QVNTIHR5cGVvZiB3aW5kb3cuRGV2aWNlUHJveGltaXR5RXZlbnQgPT0gJ29iamVjdCcgaXMgdHJ1
ZQorUEFTUyB0eXBlb2Ygd2luZG93LkRldmljZVByb3hpbWl0eUV2ZW50ID09ICdmdW5jdGlvbicg
aXMgZmFsc2UKK1BBU1MgaGFzRGV2aWNlUHJveGltaXR5RXZlbnRQcm9wZXJ0eSgpIGlzIHRydWUK
K1BBU1MgJ0RldmljZVByb3hpbWl0eUV2ZW50JyBpbiB3aW5kb3cgaXMgdHJ1ZQorUEFTUyB3aW5k
b3cuaGFzT3duUHJvcGVydHkoJ0RldmljZVByb3hpbWl0eUV2ZW50JykgaXMgdHJ1ZQorUEFTUyB0
eXBlb2Ygd2luZG93Lm9ud2Via2l0ZGV2aWNlcHJveGltaXR5ID09ICdvYmplY3QnIGlzIHRydWUK
K1BBU1MgaGFzT25EZXZpY2VQcm94aW1pdHlQcm9wZXJ0eSgpIGlzIHRydWUKK1BBU1MgJ29ud2Vi
a2l0ZGV2aWNlcHJveGltaXR5JyBpbiB3aW5kb3cgaXMgdHJ1ZQorUEFTUyB3aW5kb3cuaGFzT3du
UHJvcGVydHkoJ29ud2Via2l0ZGV2aWNlcHJveGltaXR5JykgaXMgdHJ1ZQorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3Byb3hpbWl0eS93aW5kb3ctcHJvcGVydHkuaHRtbCBiL0xheW91dFRlc3RzL3Byb3hp
bWl0eS93aW5kb3ctcHJvcGVydHkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYzRjZWJlMjgzNDJjZDBiNDFj
YzcwODdiMDU2NTU0ZGZkNWVjMjEwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcHJv
eGltaXR5L3dpbmRvdy1wcm9wZXJ0eS5odG1sCkBAIC0wLDAgKzEsNDAgQEAKKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3RzIHRo
YXQgdGhlIHdpbmRvdy5EZXZpY2VQcm94aW1pdHlFdmVudCBhbmQgd2luZG93Lm9ud2Via2l0ZGV2
aWNlcHJveGltaXR5IHByb3BlcnRpZXMgYXJlIHByZXNlbnQuJyk7CisKK2Z1bmN0aW9uIGhhc0Rl
dmljZVByb3hpbWl0eUV2ZW50UHJvcGVydHkoKQoreworICAgIGZvciAodmFyIHByb3BlcnR5IGlu
IHdpbmRvdykgeworICAgICAgICBpZiAocHJvcGVydHkgPT0gJ0RldmljZVByb3hpbWl0eUV2ZW50
JykKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9
CisKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIHdpbmRvdy5EZXZpY2VQcm94aW1pdHlFdmVudCA9PSAn
b2JqZWN0JyIpOworc2hvdWxkQmVGYWxzZSgidHlwZW9mIHdpbmRvdy5EZXZpY2VQcm94aW1pdHlF
dmVudCA9PSAnZnVuY3Rpb24nIik7CitzaG91bGRCZVRydWUoImhhc0RldmljZVByb3hpbWl0eUV2
ZW50UHJvcGVydHkoKSIpOworc2hvdWxkQmVUcnVlKCInRGV2aWNlUHJveGltaXR5RXZlbnQnIGlu
IHdpbmRvdyIpOworc2hvdWxkQmVUcnVlKCJ3aW5kb3cuaGFzT3duUHJvcGVydHkoJ0RldmljZVBy
b3hpbWl0eUV2ZW50JykiKTsKKworZnVuY3Rpb24gaGFzT25EZXZpY2VQcm94aW1pdHlQcm9wZXJ0
eSgpCit7CisgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gd2luZG93KSB7CisgICAgICAgIGlmIChw
cm9wZXJ0eSA9PSAnb253ZWJraXRkZXZpY2Vwcm94aW1pdHknKQorICAgICAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKworc2hvdWxkQmVUcnVlKCJ0eXBl
b2Ygd2luZG93Lm9ud2Via2l0ZGV2aWNlcHJveGltaXR5ID09ICdvYmplY3QnIik7CitzaG91bGRC
ZVRydWUoImhhc09uRGV2aWNlUHJveGltaXR5UHJvcGVydHkoKSIpOworc2hvdWxkQmVUcnVlKCIn
b253ZWJraXRkZXZpY2Vwcm94aW1pdHknIGluIHdpbmRvdyIpOworc2hvdWxkQmVUcnVlKCJ3aW5k
b3cuaGFzT3duUHJvcGVydHkoJ29ud2Via2l0ZGV2aWNlcHJveGltaXR5JykiKTsKKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181633</attachid>
            <date>2013-01-07 21:27:30 -0800</date>
            <delta_ts>2013-01-08 03:35:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97630-20130108142432.patch</filename>
            <type>text/plain</type>
            <size>71341</size>
            <attacher name="Kihong Kwon">kihong.kwon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4OTIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWJhNmIwY2Q3NTY0YWI0
OTQ1NTI5MjRiZjEyNjI2OTU1Mzg4ZDQyNC4uM2QyNjQyNTBmZjQ1MWI4Mjg3ZGEwYzM3YTc1YTUw
YWI5NDJiMDQ1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcyIEBACisyMDEzLTAxLTA3ICBLaWhv
bmcgS3dvbiAgPGtpaG9uZy5rd29uQHNhbXN1bmcuY29tPgorCisgICAgICAgIEFkZCBEZXZpY2VQ
cm94aW1pdHlDb250cm9sbGVyIHRvIHN1cHBvcnQgRGV2aWNlIFByb3hpbWl0eSBFdmVudHMuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzYzMAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBE
ZXZpY2VQcm94aW1pdHlDb250cm9sbGVyIHdoaWNoIGlzIGluaGVyaXRlZCBmcm9tIERldmljZUNv
bnRyb2xsZXIgdG8gc3VwcG9ydCBEZXZpY2UgUHJveGltaXR5IEV2ZW50cy4KKyAgICAgICAgRGV2
aWNlUHJveGltaXR5Q29udHJvbGxlciBoYXMgdHdvIG1ham9yIGZ1bmN0aW9uYWxpdGllcy4KKyAg
ICAgICAgLSBXaGVuIGxpc3RlbmVyIGlzIGFkZGVkLCBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVy
IHN0b3JlcyBET01XaW5kb3cgcG9pbnRlciB0byBtX2xpc3RlbmVycworICAgICAgICAgIGFuZCBz
dGFydCBnYXRoZXJpbmcgcHJveGltaXR5IGV2ZW50LgorICAgICAgICAtIFdoZW4gRGV2aWNlUHJv
eGltaXR5Q29udHJvbGxlciByZWNlaXZlcyBhIHByb3hpbWl0eSBldmVudCBmcm9tIGNsaWVudCwg
ZmlyZSBhbiBldmVudCB1c2luZyBtX2xpc3RlbmVycy4KKyAgICAgICAgSW4gYWRkaXRpb24sIHNl
dERldmljZVByb3hpbWl0eSBmdW5jdGlvbiBpcyBhZGRlZCB0byBJbnRlcm5hbHMgZm9yIGxheW91
dCB0ZXN0LgorCisgICAgICAgIFRlc3RzOiBwcm94aW1pdHkvYWRkLWxpc3RlbmVyLWZyb20tY2Fs
bGJhY2suaHRtbAorICAgICAgICAgICAgICAgcHJveGltaXR5L2Jhc2ljLW9wZXJhdGlvbi5odG1s
CisgICAgICAgICAgICAgICBwcm94aW1pdHkvY3JlYXRlLWV2ZW50Lmh0bWwKKyAgICAgICAgICAg
ICAgIHByb3hpbWl0eS9ldmVudC1hZnRlci1uYXZpZ2F0aW9uLmh0bWwKKyAgICAgICAgICAgICAg
IHByb3hpbWl0eS9tdWx0aXBsZS1mcmFtZXMuaHRtbAorICAgICAgICAgICAgICAgcHJveGltaXR5
L25vLXBhZ2UtY2FjaGUuaHRtbAorICAgICAgICAgICAgICAgcHJveGltaXR5L29wdGlvbmFsLWV2
ZW50LXByb3BlcnRpZXMuaHRtbAorICAgICAgICAgICAgICAgcHJveGltaXR5L3VwZGF0ZXMuaHRt
bAorICAgICAgICAgICAgICAgcHJveGltaXR5L3dpbmRvdy1wcm9wZXJ0eS5odG1sCisKKyAgICAg
ICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAg
KiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIE1vZHVsZXMvcHJveGltaXR5L0Rldmlj
ZVByb3hpbWl0eUNsaWVudC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
RGV2aWNlUHJveGltaXR5Q2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZVByb3hpbWl0
eUNsaWVudDo6fkRldmljZVByb3hpbWl0eUNsaWVudCk6CisgICAgICAgICogTW9kdWxlcy9wcm94
aW1pdHkvRGV2aWNlUHJveGltaXR5Q29udHJvbGxlci5jcHA6IEFkZGVkLgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyOjpEZXZp
Y2VQcm94aW1pdHlDb250cm9sbGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZVByb3hpbWl0
eUNvbnRyb2xsZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VQcm94aW1pdHlD
b250cm9sbGVyOjpkaWRDaGFuZ2VEZXZpY2VQcm94aW1pdHkpOgorICAgICAgICAoV2ViQ29yZTo6
RGV2aWNlUHJveGltaXR5Q29udHJvbGxlcjo6ZGV2aWNlUHJveGltaXR5Q2xpZW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OkRldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6Omhhc0xhc3REYXRhKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6OmdldExhc3RFdmVudCk6
CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyOjpzdXBwbGVtZW50
TmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyOjpmcm9t
KToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6OmlzQWN0aXZl
QXQpOgorICAgICAgICAoV2ViQ29yZTo6cHJvdmlkZURldmljZVByb3hpbWl0eVRvKToKKyAgICAg
ICAgKiBNb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmg6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChEZXZpY2VQcm94aW1pdHlDb250cm9sbGVy
KToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6On5EZXZpY2VQ
cm94aW1pdHlDb250cm9sbGVyKToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdl
YkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAg
KiBXZWJDb3JlLnByaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoK
KyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlQ29tbW9uLnZzcHJvcHM6CisgICAgICAg
ICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGhpc3Rvcnkv
UGFnZUNhY2hlLmNwcDoKKyAgICAgICAgV2hlbiBhIHBhZ2UgaGFzIERldmljZSBQcm94aW1pdHkg
RXZlbnQgTGlzdGVuZXIsIGl0IGhhcyBub3QgdG8gYmUgY2FjaGVkIGxpa2UgRGV2aWNlIE9yaWVu
dGF0aW9uLgorICAgICAgICAoV2ViQ29yZTo6bG9nQ2FuQ2FjaGVQYWdlRGVjaXNpb24pOgorICAg
ICAgICAoV2ViQ29yZTo6UGFnZUNhY2hlOjpjYW5DYWNoZSk6CisgICAgICAgICogcGFnZS9ET01X
aW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjphZGRFdmVudExpc3RlbmVy
KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6cmVtb3ZlRXZlbnRMaXN0ZW5lcik6Cisg
ICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnJlbW92ZUFsbEV2ZW50TGlzdGVuZXJzKToKKyAg
ICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5h
bHM6OnNldERldmljZVByb3hpbWl0eSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiB0
ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAoSW50ZXJuYWxzKToKKyAgICAgICAgKiB0ZXN0
aW5nL0ludGVybmFscy5pZGw6CisKIDIwMTMtMDEtMDYgIFRha2FzaGkgU2FrYW1vdG8gIDx0YXNh
a0Bnb29nbGUuY29tPgogCiAgICAgICAgIFtTaGFkb3cgRE9NXTogY3Jhc2ggaW4gV2ViQ29yZTo6
RWxlbWVudFNoYWRvdzo6c2V0VmFsaWRpdHlVbmRldGVybWluZWQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBjZTRm
MGUzNDk1ODcyYWE4N2M2OTVlOGZlNGI2YzNhNWEzZTgxNGMyLi4wZWZkZDBlNGM4NjBlZmQ2NzFm
MjY5ZDZiMmQ1OGNmNjJmZjAyZDRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTMt
MDEtMDcgIEtpaG9uZyBLd29uICA8a2lob25nLmt3b25Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAg
QWRkIERldmljZVByb3hpbWl0eUNvbnRyb2xsZXIgdG8gc3VwcG9ydCBEZXZpY2UgUHJveGltaXR5
IEV2ZW50cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTk3NjMwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIGluaXRpYWwgV2ViRGV2aWNlUHJveGltaXR5Q2xpZW50IGNsYXNzIHdoaWNoIGlzIGluaGVy
aXRlZCBEZXZpY2VQcm94aW1pdHlDbGllbnQuCisgICAgICAgIEJ1dCBzdGFydFVwZGF0aW5nIGFu
ZCBzdG9wVXBkYXRpbmcgbmVlZCB0byBiZSBpbXBsZW1lbnRlZC4KKworICAgICAgICAqIENNYWtl
TGlzdHMudHh0OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRGV2aWNl
UHJveGltaXR5Q2xpZW50LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAo
V2ViS2l0OjpXZWJEZXZpY2VQcm94aW1pdHlDbGllbnQ6OldlYkRldmljZVByb3hpbWl0eUNsaWVu
dCk6CisgICAgICAgIChXZWJLaXQ6OldlYkRldmljZVByb3hpbWl0eUNsaWVudDo6c3RhcnRVcGRh
dGluZyk6CisgICAgICAgIChXZWJLaXQ6OldlYkRldmljZVByb3hpbWl0eUNsaWVudDo6c3RvcFVw
ZGF0aW5nKToKKyAgICAgICAgKFdlYktpdDo6V2ViRGV2aWNlUHJveGltaXR5Q2xpZW50OjpoYXNM
YXN0RGF0YSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEZXZpY2VQ
cm94aW1pdHlDbGllbnQuaDogQWRkZWQuCisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2Vi
RGV2aWNlUHJveGltaXR5Q2xpZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViRGV2aWNlUHJveGlt
aXR5Q2xpZW50Ojp+V2ViRGV2aWNlUHJveGltaXR5Q2xpZW50KToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OldlYlBh
Z2UpOgorCiAyMDEzLTAxLTA0ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgUmVtb3ZlIFdlYlByb2Nlc3NJbml0aWFsaXphdGlvbiBhbmQgTmV0d29ya1Byb2Nlc3NJbml0
aWFsaXphdGlvbiBieSBwdXR0aW5nIHRoZSByZXN0IG9mIGluaXRpYWxpemF0aW9uIGluIENoaWxk
UHJvY2VzcyBkZXJpdmVkIGNsYXNzZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYWYzM2ZhMDkx
ZDkzOTY0ODg0ZmVhOTE4Y2EzMDNhNDI0OGYwYjRhZi4uNzNhZWI2ZTQzZjI5MGEwNGYwN2M0NWRi
NzUzZGZmOTRkNjUwN2MyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTExOCw2ICsxMTgsNyBA
QCBzZXQoV2ViQ29yZV9JRExfSU5DTFVERVMKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtCiAgICAg
TW9kdWxlcy9uZXR3b3JraW5mbwogICAgIE1vZHVsZXMvbm90aWZpY2F0aW9ucworICAgIE1vZHVs
ZXMvcHJveGltaXR5CiAgICAgTW9kdWxlcy9xdW90YQogICAgIE1vZHVsZXMvc3BlZWNoCiAgICAg
TW9kdWxlcy92aWJyYXRpb24KQEAgLTg5MCw2ICs4OTEsNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VT
CiAgICAgTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKICAgICBNb2R1bGVz
L25vdGlmaWNhdGlvbnMvV29ya2VyQ29udGV4dE5vdGlmaWNhdGlvbnMuY3BwCiAKKyAgICBNb2R1
bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmNwcAogICAgIE1vZHVsZXMv
cHJveGltaXR5L0RldmljZVByb3hpbWl0eUV2ZW50LmNwcAogCiAgICAgTW9kdWxlcy9xdW90YS9E
T01XaW5kb3dRdW90YS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggMGRiZWNkOThkZjc4YmQ3
NDk2ODE5NGIzZmFmYjg5ODRlYmI3NjFlNi4uOTU4Yzg0MTg1NWUwMGViYmNmYzFlNjU2MjI2ZGU4
MTk4OWQzMjRhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysr
IGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTE5LDYgKzE5LDcgQEAgd2ViY29y
ZV9jcHBmbGFncyArPSBcCiAJLUkkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbSBcCiAJLUkkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9uYXZpZ2F0b3Jj
b250ZW50dXRpbHMgXAogCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZp
Y2F0aW9ucyBcCisJLUkkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wcm94aW1pdHkg
XAogCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEgXAogCS1JJChzcmNk
aXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8gXAogCS1JJChzcmNkaXIpL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UgXApAQCAtNTAxLDYgKzUwMiw3IEBAIElETF9Q
QVRIIDo9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzb3VyY2UgXAogICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL25vdGlm
aWNhdGlvbnMgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wcm94aW1pdHkgXAogICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy9xdW90YSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYmF1ZGlvIFwK
ICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2ViZGF0YWJhc2UgXApAQCAtNzM2LDYgKzczOCw3IEBA
IEVYVFJBX0RJU1QgKz0gXAogCSQod2lsZGNhcmQgJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vKi5pZGwpIFwKIAkkKHdpbGRjYXJkICQoc3JjZGlyKS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL25hdmlnYXRvcmNvbnRlbnR1dGlscy8qLmlkbCkgXAogCSQod2lsZGNh
cmQgJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy8qLmlkbCkg
XAorCSQod2lsZGNhcmQgJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHJveGltaXR5
LyouaWRsKSBcCiAJJCh3aWxkY2FyZCAkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9x
dW90YS8qLmlkbCkgXAogCSQod2lsZGNhcmQgJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vKi5pZGwpIFwKIAkkKHdpbGRjYXJkICQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmRhdGFiYXNlLyouaWRsKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5h
bQppbmRleCBkNzZkZTgwMTUyNmY4NTllMTljMmI4MzhkYTQ0YTE0MzNiNGU3NTA0Li45MGRhY2Nj
NmI4MTBlNjEzMzc3NzAyM2I5YzY4MzFjYWEwMmE0NzhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KQEAgLTEyNjIsNiArMTI2Miw3IEBAIGRvbV9iaW5kaW5nX2lkbHMgKz0gXAogCSQo
V2ViQ29yZSkvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwgXAogCSQoV2Vi
Q29yZSkvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGwgXAogCSQo
V2ViQ29yZSkvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxs
YmFjay5pZGwgXAorCSQoV2ViQ29yZSkvTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5
RXZlbnQuaWRsIFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvcXVvdGEvRE9NV2luZG93UXVvdGEuaWRs
IFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvcXVvdGEvU3RvcmFnZUluZm8uaWRsIFwKIAkkKFdlYkNv
cmUpL01vZHVsZXMvcXVvdGEvU3RvcmFnZUluZm9FcnJvckNhbGxiYWNrLmlkbCBcCkBAIC0xOTkx
LDYgKzE5OTIsMTEgQEAgd2ViY29yZV9tb2R1bGVzX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2su
aCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL1dvcmtlckNvbnRleHRO
b3RpZmljYXRpb25zLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25z
L1dvcmtlckNvbnRleHROb3RpZmljYXRpb25zLmggXAorCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cHJveGltaXR5L0RldmljZVByb3hpbWl0eS5oIFwKKwlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3By
b3hpbWl0eS9EZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmNwcCBcCisJU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5Q29udHJvbGxlci5oIFwKKwlTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlFdmVudC5jcHAgXAorCVNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcHJveGltaXR5L0RldmljZVByb3hpbWl0eUV2ZW50LmggXAog
CVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcXVvdGEvRE9NV2luZG93UXVvdGEuY3BwIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3F1b3RhL0RPTVdpbmRvd1F1b3RhLmggXAogCVNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZUluZm8uY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvcHJveGltaXR5L0RldmljZVByb3hpbWl0eUNsaWVudC5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5Q2xpZW50LmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYzljMTVhNTUyZDlmZDliNjRiNWVlODM5NzI5M2NiYWE5Mzc3ZWZkMQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHJveGltaXR5L0RldmljZVByb3hpbWl0
eUNsaWVudC5oCkBAIC0wLDAgKzEsNTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxMiBTYW1zdW5n
IEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIERl
dmljZVByb3hpbWl0eUNsaWVudF9oCisjZGVmaW5lIERldmljZVByb3hpbWl0eUNsaWVudF9oCisK
KyNpZiBFTkFCTEUoUFJPWElNSVRZX0VWRU5UUykKKworI2luY2x1ZGUgIkRldmljZUNsaWVudC5o
IgorI2luY2x1ZGUgPGxpbWl0cz4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBQYWdl
OworCitjbGFzcyBEZXZpY2VQcm94aW1pdHlDbGllbnQgOiBwdWJsaWMgRGV2aWNlQ2xpZW50IHsK
K3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5EZXZpY2VQcm94aW1pdHlDbGllbnQoKSB7IH0KKyAgICB2
aXJ0dWFsIGJvb2wgaGFzTGFzdERhdGEoKSA9IDA7CisgICAgdmlydHVhbCBkb3VibGUgdmFsdWUo
KSA9IDA7CisgICAgdmlydHVhbCBkb3VibGUgbWluKCkgPSAwOworICAgIHZpcnR1YWwgZG91Ymxl
IG1heCgpID0gMDsKK307CisKK3ZvaWQgcHJvdmlkZURldmljZVByb3hpbWl0eVRvKFBhZ2UqLCBE
ZXZpY2VQcm94aW1pdHlDbGllbnQqKTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYgLy8gUFJPWElNSVRZX0VWRU5UUworI2VuZGlmIC8vIERldmljZVByb3hpbWl0eUNsaWVudF9o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94
aW1pdHlDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHJveGltaXR5L0Rl
dmljZVByb3hpbWl0eUNvbnRyb2xsZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU1OWFjMjE1M2ZkNmQ2Yzkz
MjY4NjkxNmVhMmRlMDQxMzMzMmI0OTcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmNwcApAQCAtMCww
ICsxLDkzIEBACisvKgorICogQ29weXJpZ2h0IDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIkRldmljZVByb3hpbWl0eUNvbnRyb2xsZXIuaCIKKworI2lmIEVOQUJMRShQUk9YSU1JVFlf
RVZFTlRTKQorCisjaW5jbHVkZSAiRGV2aWNlUHJveGltaXR5Q2xpZW50LmgiCisjaW5jbHVkZSAi
RGV2aWNlUHJveGltaXR5RXZlbnQuaCIKKyNpbmNsdWRlICJQYWdlLmgiCisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworRGV2aWNlUHJveGltaXR5Q29udHJvbGxlcjo6RGV2aWNlUHJveGltaXR5Q29u
dHJvbGxlcihEZXZpY2VQcm94aW1pdHlDbGllbnQqIGNsaWVudCkKKyAgICA6IERldmljZUNvbnRy
b2xsZXIoY2xpZW50KQoreworICAgIEFTU0VSVChtX2NsaWVudCk7Cit9CisKK1Bhc3NPd25QdHI8
RGV2aWNlUHJveGltaXR5Q29udHJvbGxlcj4gRGV2aWNlUHJveGltaXR5Q29udHJvbGxlcjo6Y3Jl
YXRlKERldmljZVByb3hpbWl0eUNsaWVudCogY2xpZW50KQoreworICAgIHJldHVybiBhZG9wdFB0
cihuZXcgRGV2aWNlUHJveGltaXR5Q29udHJvbGxlcihjbGllbnQpKTsKK30KKwordm9pZCBEZXZp
Y2VQcm94aW1pdHlDb250cm9sbGVyOjpkaWRDaGFuZ2VEZXZpY2VQcm94aW1pdHkoY29uc3QgZG91
YmxlIHZhbHVlLCBjb25zdCBkb3VibGUgbWluLCBjb25zdCBkb3VibGUgbWF4KQoreworICAgIGRp
c3BhdGNoRGV2aWNlRXZlbnQoRGV2aWNlUHJveGltaXR5RXZlbnQ6OmNyZWF0ZShldmVudE5hbWVz
KCkud2Via2l0ZGV2aWNlcHJveGltaXR5RXZlbnQsIHZhbHVlLCBtaW4sIG1heCkpOworfQorCitE
ZXZpY2VQcm94aW1pdHlDbGllbnQqIERldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6OmRldmljZVBy
b3hpbWl0eUNsaWVudCgpCit7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PERldmljZVByb3hpbWl0
eUNsaWVudCo+KG1fY2xpZW50KTsKK30KKworYm9vbCBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVy
OjpoYXNMYXN0RGF0YSgpCit7CisgICAgcmV0dXJuIGRldmljZVByb3hpbWl0eUNsaWVudCgpLT5o
YXNMYXN0RGF0YSgpOworfQorCitQYXNzUmVmUHRyPEV2ZW50PiBEZXZpY2VQcm94aW1pdHlDb250
cm9sbGVyOjpnZXRMYXN0RXZlbnQoKQoreworICAgIHJldHVybiBEZXZpY2VQcm94aW1pdHlFdmVu
dDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS53ZWJraXRkZXZpY2Vwcm94aW1pdHlFdmVudCwgZGV2aWNl
UHJveGltaXR5Q2xpZW50KCktPnZhbHVlKCksIGRldmljZVByb3hpbWl0eUNsaWVudCgpLT5taW4o
KSwgZGV2aWNlUHJveGltaXR5Q2xpZW50KCktPm1heCgpKTsKK30KKworY29uc3QgQXRvbWljU3Ry
aW5nJiBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyOjpzdXBwbGVtZW50TmFtZSgpCit7CisgICAg
REVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIG5hbWUsICgiRGV2aWNlUHJveGltaXR5
Q29udHJvbGxlciIpKTsKKyAgICByZXR1cm4gbmFtZTsKK30KKworRGV2aWNlUHJveGltaXR5Q29u
dHJvbGxlciogRGV2aWNlUHJveGltaXR5Q29udHJvbGxlcjo6ZnJvbShQYWdlKiBwYWdlKQorewor
ICAgIHJldHVybiBzdGF0aWNfY2FzdDxEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyKj4oU3VwcGxl
bWVudDxQYWdlPjo6ZnJvbShwYWdlLCBzdXBwbGVtZW50TmFtZSgpKSk7Cit9CisKK2Jvb2wgRGV2
aWNlUHJveGltaXR5Q29udHJvbGxlcjo6aXNBY3RpdmVBdChQYWdlKiBwYWdlKQoreworICAgIGlm
IChEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyKiBjb250cm9sbGVyID0gRGV2aWNlUHJveGltaXR5
Q29udHJvbGxlcjo6ZnJvbShwYWdlKSkKKyAgICAgICAgcmV0dXJuIGNvbnRyb2xsZXItPmlzQWN0
aXZlKCk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIHByb3ZpZGVEZXZpY2VQcm94aW1p
dHlUbyhQYWdlKiBwYWdlLCBEZXZpY2VQcm94aW1pdHlDbGllbnQqIGNsaWVudCkKK3sKKyAgICBE
ZXZpY2VQcm94aW1pdHlDb250cm9sbGVyOjpwcm92aWRlVG8ocGFnZSwgRGV2aWNlUHJveGltaXR5
Q29udHJvbGxlcjo6c3VwcGxlbWVudE5hbWUoKSwgRGV2aWNlUHJveGltaXR5Q29udHJvbGxlcjo6
Y3JlYXRlKGNsaWVudCkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBQUk9YSU1JVFlfRVZFTlRTCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3By
b3hpbWl0eS9EZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTli
M2QyN2M3NTA1OTRjYjZjZDJlMWRmMjYzNzUxNDUyYTlmNjc4MgotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHJveGltaXR5L0RldmljZVByb3hpbWl0eUNvbnRyb2xs
ZXIuaApAQCAtMCwwICsxLDYwIEBACisvKgorICogQ29weXJpZ2h0IDIwMTIgU2Ftc3VuZyBFbGVj
dHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBEZXZpY2VQ
cm94aW1pdHlDb250cm9sbGVyX2gKKyNkZWZpbmUgRGV2aWNlUHJveGltaXR5Q29udHJvbGxlcl9o
CisKKyNpZiBFTkFCTEUoUFJPWElNSVRZX0VWRU5UUykKKworI2luY2x1ZGUgIkRldmljZUNvbnRy
b2xsZXIuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBEZXZpY2VQcm94aW1pdHlD
bGllbnQ7CisKK2NsYXNzIERldmljZVByb3hpbWl0eUNvbnRyb2xsZXIgOiBwdWJsaWMgRGV2aWNl
Q29udHJvbGxlciB7CitwdWJsaWM6CisgICAgfkRldmljZVByb3hpbWl0eUNvbnRyb2xsZXIoKSB7
IH0KKworICAgIHN0YXRpYyBQYXNzT3duUHRyPERldmljZVByb3hpbWl0eUNvbnRyb2xsZXI+IGNy
ZWF0ZShEZXZpY2VQcm94aW1pdHlDbGllbnQqKTsKKworICAgIHZvaWQgZGlkQ2hhbmdlRGV2aWNl
UHJveGltaXR5KGNvbnN0IGRvdWJsZSB2YWx1ZSwgY29uc3QgZG91YmxlIG1pbiwgY29uc3QgZG91
YmxlIG1heCk7CisgICAgRGV2aWNlUHJveGltaXR5Q2xpZW50KiBkZXZpY2VQcm94aW1pdHlDbGll
bnQoKTsKKworICAgIHZpcnR1YWwgYm9vbCBoYXNMYXN0RGF0YSgpOworICAgIHZpcnR1YWwgUGFz
c1JlZlB0cjxFdmVudD4gZ2V0TGFzdEV2ZW50KCk7CisKKyAgICBzdGF0aWMgY29uc3QgQXRvbWlj
U3RyaW5nJiBzdXBwbGVtZW50TmFtZSgpOworICAgIHN0YXRpYyBEZXZpY2VQcm94aW1pdHlDb250
cm9sbGVyKiBmcm9tKFBhZ2UqKTsKKyAgICBzdGF0aWMgYm9vbCBpc0FjdGl2ZUF0KFBhZ2UqKTsK
KworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyKERldmlj
ZVByb3hpbWl0eUNsaWVudCopOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYgLy8gUFJPWElNSVRZX0VWRU5UUworI2VuZGlmIC8vIERldmljZVByb3hpbWl0eUNvbnRyb2xs
ZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJD
b3JlL1RhcmdldC5wcmkKaW5kZXggZjA2NGMwNmU0MzkxN2FlOTM4ZWRlZmQzYmNlZWNkOGUzZWFh
MTUyMC4uOTFkMjczNjFmMDg5MTRmY2Y2MzkwMTQzZWYwYTRiNzU5YzI3YWQ2MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQu
cHJpCkBAIC0yNDMsNiArMjQzLDggQEAgU09VUkNFUyArPSBcCiAgICAgTW9kdWxlcy9ub3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAgXAogICAgIE1vZHVsZXMvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb25Db250cm9sbGVyLmNwcCBcCiAgICAgTW9kdWxlcy9ub3RpZmljYXRpb25z
L1dvcmtlckNvbnRleHROb3RpZmljYXRpb25zLmNwcCBcCisgICAgTW9kdWxlcy9wcm94aW1pdHkv
RGV2aWNlUHJveGltaXR5Q29udHJvbGxlci5jcHAgXAorICAgIE1vZHVsZXMvcHJveGltaXR5L0Rl
dmljZVByb3hpbWl0eUV2ZW50LmNwcCBcCiAgICAgY3NzL0Jhc2ljU2hhcGVGdW5jdGlvbnMuY3Bw
IFwKICAgICBjc3MvQ1NTQXNwZWN0UmF0aW9WYWx1ZS5jcHAgXAogICAgIGNzcy9DU1NCYXNpY1No
YXBlcy5jcHAgXApAQCAtMTQxOSw2ICsxNDIxLDEwIEBAIEhFQURFUlMgKz0gXAogICAgIE1vZHVs
ZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Db250cm9sbGVyLmggXAogICAgIE1vZHVsZXMv
bm90aWZpY2F0aW9ucy9Xb3JrZXJDb250ZXh0Tm90aWZpY2F0aW9ucy5oIFwKICAgICBcCisgICAg
TW9kdWxlcy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5Q2xpZW50LmggXAorICAgIE1vZHVsZXMv
cHJveGltaXR5L0RldmljZVByb3hpbWl0eUNvbnRyb2xsZXIuaCBcCisgICAgTW9kdWxlcy9wcm94
aW1pdHkvRGV2aWNlUHJveGltaXR5RXZlbnQuaCBcCisgICAgXAogICAgIE1vZHVsZXMvd2ViZGF0
YWJhc2UvQWJzdHJhY3REYXRhYmFzZS5oIFwKICAgICBNb2R1bGVzL3dlYmRhdGFiYXNlL0Fic3Ry
YWN0RGF0YWJhc2VTZXJ2ZXIuaCBcCiAgICAgTW9kdWxlcy93ZWJkYXRhYmFzZS9DaGFuZ2VWZXJz
aW9uV3JhcHBlci5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dl
YkNvcmUuZ3lwIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKaW5kZXgg
ZDZmNGEyODkyNTZkZDUyOTFkM2RlZDI0MmFmMGQyYjI1NmFkNWYwOS4uOTQxNTY1YzEzZDE0MDY3
NjBmNzUxMmZmYTZjMWUzN2U4Y2NjODhmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXAvV2ViQ29yZS5neXAKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2Vi
Q29yZS5neXAKQEAgLTYyLDYgKzYyLDcgQEAKICAgICAgICcuLi9Nb2R1bGVzL21lZGlhc3RyZWFt
JywKICAgICAgICcuLi9Nb2R1bGVzL25hdmlnYXRvcmNvbnRlbnR1dGlscycsCiAgICAgICAnLi4v
TW9kdWxlcy9ub3RpZmljYXRpb25zJywKKyAgICAgICcuLi9Nb2R1bGVzL3Byb3hpbWl0eScsCiAg
ICAgICAnLi4vTW9kdWxlcy9xdW90YScsCiAgICAgICAnLi4vTW9kdWxlcy9zcGVlY2gnLAogICAg
ICAgJy4uL01vZHVsZXMvd2ViYXVkaW8nLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDUxZmJkNzcyNDQ0
NTA4MjBiMGMzZmVhM2Y4NmI0NTg2NzlkYTJmMzUuLmM4YTM0ZjM2Zjk5NjdhZTA4YTM0NTdkNjk1
NzEyOGZmODJkYzg5OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTk0LDYgKzk0LDcgQEAKICAgICAg
ICAgICAgICdNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmlkbCcsCiAg
ICAgICAgICAgICAnTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25D
YWxsYmFjay5pZGwnLAogICAgICAgICAgICAgJ01vZHVsZXMvbm90aWZpY2F0aW9ucy9Xb3JrZXJD
b250ZXh0Tm90aWZpY2F0aW9ucy5pZGwnLAorICAgICAgICAgICAgJ01vZHVsZXMvcHJveGltaXR5
L0RldmljZVByb3hpbWl0eUV2ZW50LmlkbCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9xdW90YS9E
T01XaW5kb3dRdW90YS5pZGwnLAogICAgICAgICAgICAgJ01vZHVsZXMvcXVvdGEvU3RvcmFnZUlu
Zm8uaWRsJywKICAgICAgICAgICAgICdNb2R1bGVzL3F1b3RhL1N0b3JhZ2VJbmZvRXJyb3JDYWxs
YmFjay5pZGwnLApAQCAtODY1LDYgKzg2NiwxMCBAQAogICAgICAgICAgICAgJ01vZHVsZXMvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCcsCiAgICAgICAgICAg
ICAnTW9kdWxlcy9ub3RpZmljYXRpb25zL1dvcmtlckNvbnRleHROb3RpZmljYXRpb25zLmNwcCcs
CiAgICAgICAgICAgICAnTW9kdWxlcy9ub3RpZmljYXRpb25zL1dvcmtlckNvbnRleHROb3RpZmlj
YXRpb25zLmgnLAorICAgICAgICAgICAgJ01vZHVsZXMvcHJveGltaXR5L0RldmljZVByb3hpbWl0
eUNvbnRyb2xsZXIuY3BwJywKKyAgICAgICAgICAgICdNb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQ
cm94aW1pdHlDb250cm9sbGVyLmgnLAorICAgICAgICAgICAgJ01vZHVsZXMvcHJveGltaXR5L0Rl
dmljZVByb3hpbWl0eUV2ZW50LmNwcCcsCisgICAgICAgICAgICAnTW9kdWxlcy9wcm94aW1pdHkv
RGV2aWNlUHJveGltaXR5RXZlbnQuaCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9xdW90YS9ET01X
aW5kb3dRdW90YS5jcHAnLAogICAgICAgICAgICAgJ01vZHVsZXMvcXVvdGEvRE9NV2luZG93UXVv
dGEuaCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9xdW90YS9TdG9yYWdlSW5mby5jcHAnLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnByaQppbmRleCBmZTIxNTRjNTQ5OWJiMzI0NDU3NWVlMTA5OGU4Y2ZiNzFjMjdhYjMwLi5h
OWEzNmMzNjEyMTA0MThmMTQwNDBiNzRiZDY5Y2U4NzFkMjUwMWZlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnByaQpA
QCAtMTgsNiArMTgsNyBAQCBJTkNMVURFUEFUSCArPSBcCiAgICAgJCRTT1VSQ0VfRElSL01vZHVs
ZXMvaW5kZXhlZGRiIFwKICAgICAkJFNPVVJDRV9ESVIvTW9kdWxlcy9uYXZpZ2F0b3Jjb250ZW50
dXRpbHMgXAogICAgICQkU09VUkNFX0RJUi9Nb2R1bGVzL25vdGlmaWNhdGlvbnMgXAorICAgICQk
U09VUkNFX0RJUi9Nb2R1bGVzL3Byb3hpbWl0eSBcCiAgICAgJCRTT1VSQ0VfRElSL01vZHVsZXMv
cXVvdGEgXAogICAgICQkU09VUkNFX0RJUi9Nb2R1bGVzL3dlYmF1ZGlvIFwKICAgICAkJFNPVVJD
RV9ESVIvTW9kdWxlcy93ZWJkYXRhYmFzZSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDNjM2EzMjE1MjNlOWU1YjYwYzljZGU2YzhhZDYyMzli
OTY4OTY5YTkuLjAwNjdhNDA4Y2EzMmRhNzJhYTllZmM5NGJjZjkyZjNiOTNkYTEzNTMgMTAwNzU1
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0yNTA3OCw2
ICsyNTA3OCwzMCBAQAogCQkJCTwvRmlsZT4KIAkJCTwvRmlsdGVyPgogCQkJPEZpbHRlcgorCQkJ
CU5hbWU9InByb3hpbWl0eSIKKwkJCQk+CisJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIu
LlxNb2R1bGVzXHByb3hpbWl0eVxEZXZpY2VQcm94aW1pdHlDbGllbnQuaCIKKwkJCQkJPgorCQkJ
CTwvRmlsZT4KKwkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXE1vZHVsZXNccHJveGlt
aXR5XERldmljZVByb3hpbWl0eUNvbnRyb2xsZXIuY3BwIgorCQkJCQk+CisJCQkJPC9GaWxlPgor
CQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cTW9kdWxlc1xwcm94aW1pdHlcRGV2aWNl
UHJveGltaXR5Q29udHJvbGxlci5oIgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCisJ
CQkJCVJlbGF0aXZlUGF0aD0iLi5cTW9kdWxlc1xwcm94aW1pdHlcRGV2aWNlUHJveGltaXR5RXZl
bnQuY3BwIgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0
aD0iLi5cTW9kdWxlc1xwcm94aW1pdHlcRGV2aWNlUHJveGltaXR5RXZlbnQuaCIKKwkJCQkJPgor
CQkJCTwvRmlsZT4KKwkJCTwvRmlsdGVyPgorCQkJPEZpbHRlcgogCQkJCU5hbWU9InF1b3RhIgog
CQkJCT4KIAkJCQk8RmlsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZUNvbW1vbi52c3Byb3BzIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZUNvbW1vbi52c3Byb3BzCmluZGV4IDdiY2U0YjBjYzNjZTZmYjNhNzlkNzkxMjhkMDI0
N2Y0NjI4NjlmMTYuLjA4YjE4ODA4ZDEyMGY0ZTY1ZGY1N2Q2MzkwNzAxYTE0ZjAzNGNmOGEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmVDb21tb24udnNw
cm9wcworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlQ29tbW9uLnZz
cHJvcHMKQEAgLTcsNyArNyw3IEBACiAJPgogCTxUb29sCiAJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCi0JCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiZxdW90OyQoUHJvamVjdERpciku
LiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1xmaWxlc3lzdGVtJnF1b3Q7OyZx
dW90OyQoUHJvamVjdERpcikuLlxNb2R1bGVzXGdlb2xvY2F0aW9uJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcikuLlxNb2R1bGVzXGluZGV4ZWRkYiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5c
TW9kdWxlc1xtZWRpYXNvdXJjZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1xu
YXZpZ2F0b3Jjb250ZW50dXRpbHMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNc
cXVvdGEmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNcbm90aWZpY2F0aW9ucyZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1x3ZWJkYXRhYmFzZSZxdW90OzsmcXVv
dDskKFByb2plY3REaXIpLi5cTW9kdWxlc1x3ZWJzb2NrZXRzJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxhY2Nlc3NpYmlsaXR5JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxhY2Nlc3Np
YmlsaXR5XHdpbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cYnJpZGdlJnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcikuLlxicmlkZ2VcYyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cYnJp
ZGdlXGpzYyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cY3NzJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcikuLlxlZGl0aW5nJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxmaWxlYXBpJnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxyZW5kZXJpbmcmcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKS4uXHJlbmRlcmluZ1xtYXRobWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHJlbmRl
cmluZ1xzdHlsZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccmVuZGVyaW5nXHN2ZyZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpLi5cYmluZGluZ3MmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KS4uXGJpbmRpbmdzXGdlbmVyaWMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGJpbmRpbmdz
XGpzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxiaW5kaW5nc1xqc1xzcGVjaWFsaXphdGlv
biZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cZG9tJnF1b3Q7OyZxdW90OyQoUHJvamVjdERp
cikuLlxkb21cZGVmYXVsdCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5caGlzdG9yeSZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpLi5caHRtbCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5c
aHRtbFxjYW52YXMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGh0bWxccGFyc2VyJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlxodG1sXHNoYWRvdyZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpLi5caHRtbFx0cmFjayZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5caW5zcGVjdG9yJnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxsb2FkZXImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KS4uXGxvYWRlclxhcHBjYWNoZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cbG9hZGVyXGFy
Y2hpdmUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlclxhcmNoaXZlXGNmJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlxsb2FkZXJcY2FjaGUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKS4uXGxvYWRlclxpY29uJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxtYXRobWwmcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBhZ2UmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4u
XHBhZ2VcYW5pbWF0aW9uJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwYWdlXHNjcm9sbGlu
ZyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGFnZVx3aW4mcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKS4uXHBsYXRmb3JtJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxh
bmltYXRpb24mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXG1vY2smcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXHNxbCZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpLi5ccGxhdGZvcm1cd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxu
ZXR3b3JrJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxuZXR3b3JrXHdpbiZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cY2YmcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxw
bGF0Zm9ybVxncmFwaGljc1xjYSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1c
Z3JhcGhpY3NcY3B1XGFybVxmaWx0ZXJzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0
Zm9ybVxncmFwaGljc1xmaWx0ZXJzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9y
bVxncmFwaGljc1xmaWx0ZXJzXGFybSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZv
cm1cZ3JhcGhpY3Ncb3BlbnR5cGUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3Jt
XGdyYXBoaWNzXHRyYW5zZm9ybXMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3Jt
XHRleHQmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXHRleHRcdHJhbnNjb2Rl
ciZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3Ncd2luJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlx4bWwmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHht
bFxwYXJzZXImcXVvdDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialxXZWJDb3Jl
XERlcml2ZWRTb3VyY2VzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbHVnaW5zJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlxwbHVnaW5zXHdpbiZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpLi5cc3ZnXGFuaW1hdGlvbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cc3ZnXGdyYXBo
aWNzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxzdmdccHJvcGVydGllcyZxdW90OzsmcXVv
dDskKFByb2plY3REaXIpLi5cc3ZnXGdyYXBoaWNzXGZpbHRlcnMmcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKS4uXHN2ZyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cdGVzdGluZyZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpLi5cd21sJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxzdG9y
YWdlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlx3ZWJzb2NrZXRzJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcikuLlx3b3JrZXJzJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGly
KVxpbmNsdWRlJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxpbmNsdWRlXHBy
aXZhdGUmcXVvdDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXGluY2x1ZGVcSmF2YVNj
cmlwdENvcmUmcXVvdDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXGluY2x1ZGVccHJp
dmF0ZVxKYXZhU2NyaXB0Q29yZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cRm9yd2FyZGlu
Z0hlYWRlcnMmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGUmcXVvdDs7
JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGVccHJpdmF0ZSZxdW90OzsmcXVvdDsk
KFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZVxwcml2YXRlXEphdmFTY3JpcHRDb3JlJnF1b3Q7
OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRlXHB0aHJlYWRzJnF1b3Q7OyZxdW90
OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRlXHNxbGl0ZSZxdW90OzsmcXVvdDskKFdlYktp
dExpYnJhcmllc0RpcilcaW5jbHVkZVxKYXZhU2NyaXB0Q29yZSZxdW90OzsmcXVvdDskKFdlYktp
dExpYnJhcmllc0RpcilcaW5jbHVkZVx6bGliJnF1b3Q7IgorCQlBZGRpdGlvbmFsSW5jbHVkZURp
cmVjdG9yaWVzPSImcXVvdDskKFByb2plY3REaXIpLi4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KS4uXE1vZHVsZXNcZmlsZXN5c3RlbSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxl
c1xnZW9sb2NhdGlvbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9kdWxlc1xpbmRleGVk
ZGImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNcbWVkaWFzb3VyY2UmcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKS4uXE1vZHVsZXNcbmF2aWdhdG9yY29udGVudHV0aWxzJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcikuLlxNb2R1bGVzXHByb3hpbWl0eSZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpLi5cTW9kdWxlc1xxdW90YSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cTW9k
dWxlc1xub3RpZmljYXRpb25zJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxNb2R1bGVzXHdl
YmRhdGFiYXNlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxNb2R1bGVzXHdlYnNvY2tldHMm
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGFjY2Vzc2liaWxpdHkmcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKS4uXGFjY2Vzc2liaWxpdHlcd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpciku
LlxicmlkZ2UmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGJyaWRnZVxjJnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcikuLlxicmlkZ2VcanNjJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxj
c3MmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGVkaXRpbmcmcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKS4uXGZpbGVhcGkmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHJlbmRlcmluZyZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccmVuZGVyaW5nXG1hdGhtbCZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpLi5ccmVuZGVyaW5nXHN0eWxlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpciku
LlxyZW5kZXJpbmdcc3ZnJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxiaW5kaW5ncyZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpLi5cYmluZGluZ3NcZ2VuZXJpYyZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpLi5cYmluZGluZ3NcanMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGJpbmRp
bmdzXGpzXHNwZWNpYWxpemF0aW9uJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxkb20mcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGRvbVxkZWZhdWx0JnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxoaXN0b3J5JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxodG1sJnF1b3Q7OyZx
dW90OyQoUHJvamVjdERpcikuLlxodG1sXGNhbnZhcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
Li5caHRtbFxwYXJzZXImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGh0bWxcc2hhZG93JnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxodG1sXHRyYWNrJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcikuLlxpbnNwZWN0b3ImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlciZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpLi5cbG9hZGVyXGFwcGNhY2hlJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcikuLlxsb2FkZXJcYXJjaGl2ZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cbG9h
ZGVyXGFyY2hpdmVcY2YmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXGxvYWRlclxjYWNoZSZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cbG9hZGVyXGljb24mcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKS4uXG1hdGhtbCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGFnZSZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpLi5ccGFnZVxhbmltYXRpb24mcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKS4uXHBhZ2Vcc2Nyb2xsaW5nJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwYWdlXHdp
biZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm0mcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKS4uXHBsYXRmb3JtXGFuaW1hdGlvbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5c
cGxhdGZvcm1cbW9jayZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cc3FsJnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVx3aW4mcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKS4uXHBsYXRmb3JtXG5ldHdvcmsmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBs
YXRmb3JtXG5ldHdvcmtcd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9ybVxj
ZiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3MmcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNzXGNhJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcikuLlxwbGF0Zm9ybVxncmFwaGljc1xjcHVcYXJtXGZpbHRlcnMmcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNzXGZpbHRlcnMmcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKS4uXHBsYXRmb3JtXGdyYXBoaWNzXGZpbHRlcnNcYXJtJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcikuLlxwbGF0Zm9ybVxncmFwaGljc1xvcGVudHlwZSZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpLi5ccGxhdGZvcm1cZ3JhcGhpY3NcdHJhbnNmb3JtcyZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpLi5ccGxhdGZvcm1cdGV4dCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5ccGxh
dGZvcm1cdGV4dFx0cmFuc2NvZGVyJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxwbGF0Zm9y
bVxncmFwaGljc1x3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHhtbCZxdW90OzsmcXVv
dDskKFByb2plY3REaXIpLi5ceG1sXHBhcnNlciZxdW90OzsmcXVvdDskKENvbmZpZ3VyYXRpb25C
dWlsZERpcilcb2JqXFdlYkNvcmVcRGVyaXZlZFNvdXJjZXMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKS4uXHBsdWdpbnMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHBsdWdpbnNcd2luJnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxzdmdcYW5pbWF0aW9uJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcikuLlxzdmdcZ3JhcGhpY3MmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHN2Z1xw
cm9wZXJ0aWVzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlxzdmdcZ3JhcGhpY3NcZmlsdGVy
cyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpLi5cc3ZnJnF1b3Q7OyZxdW90OyQoUHJvamVjdERp
cikuLlx0ZXN0aW5nJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcikuLlx3bWwmcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKS4uXHN0b3JhZ2UmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHdlYnNv
Y2tldHMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKS4uXHdvcmtlcnMmcXVvdDs7JnF1b3Q7JChD
b25maWd1cmF0aW9uQnVpbGREaXIpXGluY2x1ZGUmcXVvdDs7JnF1b3Q7JChDb25maWd1cmF0aW9u
QnVpbGREaXIpXGluY2x1ZGVccHJpdmF0ZSZxdW90OzsmcXVvdDskKENvbmZpZ3VyYXRpb25CdWls
ZERpcilcaW5jbHVkZVxKYXZhU2NyaXB0Q29yZSZxdW90OzsmcXVvdDskKENvbmZpZ3VyYXRpb25C
dWlsZERpcilcaW5jbHVkZVxwcml2YXRlXEphdmFTY3JpcHRDb3JlJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcikuLlxGb3J3YXJkaW5nSGVhZGVycyZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmll
c0RpcilcaW5jbHVkZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcaW5jbHVkZVxw
cml2YXRlJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRlXHByaXZhdGVc
SmF2YVNjcmlwdENvcmUmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGVc
cHRocmVhZHMmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXGluY2x1ZGVcc3FsaXRl
JnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRlXEphdmFTY3JpcHRDb3Jl
JnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxpbmNsdWRlXHpsaWImcXVvdDsiCiAJ
CVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfX1dJTjMyX187RElTQUJMRV8zRF9SRU5ERVJJTkc7
V0VCQ09SRV9DT05URVhUX01FTlVTIgogCQlVc2VQcmVjb21waWxlZEhlYWRlcj0iMiIKIAkJUHJl
Y29tcGlsZWRIZWFkZXJUaHJvdWdoPSJXZWJDb3JlUHJlZml4LmgiCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMmI3NGM1MWIzZTQz
Yjc3N2IzZmY5MGJjYjE3OWUzZTU3ZDJjNTE1ZC4uYWRkODMyZWQwZDRlZDVhYzgxYWMzMDI2YzAy
YTBkNjk0Nzg3OGU0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtMTM5NjYsNiArMTM5NjYsMTIgQEAKIAkJRjVDMjg2OTUwMjg0
NkRDRDAxODYzNUNBIC8qIENvY29hLmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBuYW1lID0gQ29jb2Eu
ZnJhbWV3b3JrOyBwYXRoID0gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29jb2EuZnJhbWV3
b3JrOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OwogCQlGNUUwQzY1OTE2NDNDNDJDMDBE
NkNCNjkgLyogQmFzZUNob29zZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQmFzZUNob29zZXJPbmx5RGF0ZUFuZFRpbWVJ
bnB1dFR5cGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNUUwQzY1QTE2NDND
NDJDMDBENkNCNjkgLyogQmFzZUNob29zZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQmFzZUNob29zZXJPbmx5RGF0ZUFuZFRpbWVJ
bnB1dFR5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjYwOThGN0ExNjY2RDhB
NzAwMzI2OUQxIC8qIERldmljZVByb3hpbWl0eUNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBEZXZpY2VQcm94aW1pdHlDbGllbnQuaDsgcGF0aCA9IE1vZHVsZXMvcHJv
eGltaXR5L0RldmljZVByb3hpbWl0eUNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlGNjA5OEY3QjE2NjZEOEE3MDAzMjY5RDEgLyogRGV2aWNlUHJveGltaXR5Q29udHJvbGxl
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBEZXZpY2VQcm94aW1p
dHlDb250cm9sbGVyLmNwcDsgcGF0aCA9IE1vZHVsZXMvcHJveGltaXR5L0RldmljZVByb3hpbWl0
eUNvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNjA5OEY3QzE2
NjZEOEE3MDAzMjY5RDEgLyogRGV2aWNlUHJveGltaXR5Q29udHJvbGxlci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmg7IHBhdGgg
PSBNb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUY2MDk4RjdEMTY2NkQ4QTcwMDMyNjlEMSAvKiBEZXZpY2VQ
cm94aW1pdHlFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBE
ZXZpY2VQcm94aW1pdHlFdmVudC5jcHA7IHBhdGggPSBNb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQ
cm94aW1pdHlFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY2MDk4RjdF
MTY2NkQ4QTcwMDMyNjlEMSAvKiBEZXZpY2VQcm94aW1pdHlFdmVudC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IG5hbWUgPSBEZXZpY2VQcm94aW1pdHlFdmVudC5oOyBwYXRoID0gTW9kdWxl
cy9wcm94aW1pdHkvRGV2aWNlUHJveGltaXR5RXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJRjYwOThGN0YxNjY2RDhBNzAwMzI2OUQxIC8qIERldmljZVByb3hpbWl0eUV2ZW50
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBEZXZpY2VQcm94aW1pdHlFdmVudC5pZGw7IHBh
dGggPSBNb2R1bGVzL3Byb3hpbWl0eS9EZXZpY2VQcm94aW1pdHlFdmVudC5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY3QTAzNEMzMTI2QkY2QkUwMDdEQzE5RSAvKiBGb250T3Jp
ZW50YXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRm9udE9yaWVudGF0
aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY4MjE2Mjk5MDI5RjRGQjUwMTAw
MDEzMSAvKiBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgcGF0aCA9IEphdmFT
Y3JpcHRDb3JlLmZyYW1ld29yazsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsK
IAkJRjkxNkM0OEIwREI1MTBGODAwNzZDRDgzIC8qIEpTWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2
ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1hNTEh0dHBS
ZXF1ZXN0UHJvZ3Jlc3NFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0x
ODA1NCw2ICsxODA2MCw3IEBACiAJCQkJOTcxMkE1NTMxNTAwNEUzQzAwNDhBRjEwIC8qIGluZGV4
ZWRkYiAqLywKIAkJCQlCMUE5NDJERDE1QjVDRTIyMDBENTI1RDEgLyogbWVkaWFzb3VyY2UgKi8s
CiAJCQkJMzMzRjcwM0QwRkI0OUMxNjAwOEUxMkE2IC8qIG5vdGlmaWNhdGlvbnMgKi8sCisJCQkJ
RjYwOThGNzgxNjY2RDg0MTAwMzI2OUQxIC8qIHByb3hpbWl0eSAqLywKIAkJCQk4OUY2MEIwODE1
N0Y2ODM1MDA3NUUxNTcgLyogcXVvdGEgKi8sCiAJCQkJRkQzMTVGQTIxMkIwMjVCMTAwQzFBMzU5
IC8qIHdlYmF1ZGlvICovLAogCQkJCTk3QkM2OUQ1MTUwNUYwNTQwMDFCNzRBQyAvKiB3ZWJkYXRh
YmFzZSAqLywKQEAgLTIyMzU1LDYgKzIyMzYyLDE5IEBACiAJCQl0YWJXaWR0aCA9IDQ7CiAJCQl1
c2VzVGFicyA9IDA7CiAJCX07CisJCUY2MDk4Rjc4MTY2NkQ4NDEwMDMyNjlEMSAvKiBwcm94aW1p
dHkgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCUY2MDk4
RjdBMTY2NkQ4QTcwMDMyNjlEMSAvKiBEZXZpY2VQcm94aW1pdHlDbGllbnQuaCAqLywKKwkJCQlG
NjA5OEY3QjE2NjZEOEE3MDAzMjY5RDEgLyogRGV2aWNlUHJveGltaXR5Q29udHJvbGxlci5jcHAg
Ki8sCisJCQkJRjYwOThGN0MxNjY2RDhBNzAwMzI2OUQxIC8qIERldmljZVByb3hpbWl0eUNvbnRy
b2xsZXIuaCAqLywKKwkJCQlGNjA5OEY3RDE2NjZEOEE3MDAzMjY5RDEgLyogRGV2aWNlUHJveGlt
aXR5RXZlbnQuY3BwICovLAorCQkJCUY2MDk4RjdFMTY2NkQ4QTcwMDMyNjlEMSAvKiBEZXZpY2VQ
cm94aW1pdHlFdmVudC5oICovLAorCQkJCUY2MDk4RjdGMTY2NkQ4QTcwMDMyNjlEMSAvKiBEZXZp
Y2VQcm94aW1pdHlFdmVudC5pZGwgKi8sCisJCQkpOworCQkJbmFtZSA9IHByb3hpbWl0eTsKKwkJ
CXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCUZBQkU3MkVDMTA1OUMxRUIwMEQ5OTlE
RCAvKiBtYXRobWwgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuY3BwCmluZGV4IDk2YWE1OTI5NjYwMDg3ZDc3ZmRj
MWU2MTBmZWZhMDIzZjQ3ZWUyN2MuLjhmYWU0MWJiZjY2NTVmNzgyMGEyYWMwNjMwMmFlZWQ3NDYx
Zjc2NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5jcHAKQEAgLTM0LDYgKzM0LDcg
QEAKICNpbmNsdWRlICJEYXRhYmFzZU1hbmFnZXIuaCIKICNpbmNsdWRlICJEZXZpY2VNb3Rpb25D
b250cm9sbGVyLmgiCiAjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmgiCisj
aW5jbHVkZSAiRGV2aWNlUHJveGltaXR5Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIkRvY3VtZW50
LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbmNsdWRlICJGcmFtZS5oIgpAQCAt
MjUxLDYgKzI1MiwxMiBAQCBzdGF0aWMgdm9pZCBsb2dDYW5DYWNoZVBhZ2VEZWNpc2lvbihQYWdl
KiBwYWdlKQogICAgICAgICByZWplY3RSZWFzb25zIHw9IDEgPDwgVXNlc0RldmljZU9yaWVudGF0
aW9uOwogICAgIH0KICNlbmRpZgorI2lmIEVOQUJMRShQUk9YSU1JVFlfRVZFTlRTKQorICAgIGlm
IChEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyOjppc0FjdGl2ZUF0KHBhZ2UpKSB7CisgICAgICAg
IFBDTE9HKCIgICAtUGFnZSBpcyB1c2luZyBEZXZpY2VQcm94aW1pdHkiKTsKKyAgICAgICAgcmVq
ZWN0UmVhc29ucyB8PSAxIDw8IFVzZXNEZXZpY2VNb3Rpb247CisgICAgfQorI2VuZGlmCiAgICAg
RnJhbWVMb2FkVHlwZSBsb2FkVHlwZSA9IHBhZ2UtPm1haW5GcmFtZSgpLT5sb2FkZXIoKS0+bG9h
ZFR5cGUoKTsKICAgICBpZiAobG9hZFR5cGUgPT0gRnJhbWVMb2FkVHlwZVJlbG9hZCkgewogICAg
ICAgICBQQ0xPRygiICAgLUxvYWQgdHlwZSBpczogUmVsb2FkIik7CkBAIC0zODUsNiArMzkyLDkg
QEAgYm9vbCBQYWdlQ2FjaGU6OmNhbkNhY2hlKFBhZ2UqIHBhZ2UpIGNvbnN0CiAgICAgICAgICYm
ICFEZXZpY2VNb3Rpb25Db250cm9sbGVyOjppc0FjdGl2ZUF0KHBhZ2UpCiAgICAgICAgICYmICFE
ZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXI6OmlzQWN0aXZlQXQocGFnZSkKICNlbmRpZgorI2lm
IEVOQUJMRShQUk9YSU1JVFlfRVZFTlRTKQorICAgICAgICAmJiAhRGV2aWNlUHJveGltaXR5Q29u
dHJvbGxlcjo6aXNBY3RpdmVBdChwYWdlKQorI2VuZGlmCiAgICAgICAgICYmIGxvYWRUeXBlICE9
IEZyYW1lTG9hZFR5cGVSZWxvYWQKICAgICAgICAgJiYgbG9hZFR5cGUgIT0gRnJhbWVMb2FkVHlw
ZVJlbG9hZEZyb21PcmlnaW4KICAgICAgICAgJiYgbG9hZFR5cGUgIT0gRnJhbWVMb2FkVHlwZVNh
bWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggZGJlYWZmMzVjNDkwNDkwMWU0MTdk
ODc3YmQ5NzExY2YwZTg5MmYyMi4uNjc1OWQ4ZDJkZmU5YmU0MmEzNGU5ZmVhYjY5OTIzZjE4NzQz
Y2E4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtNDcsNiArNDcsNyBAQAogI2lu
Y2x1ZGUgIkRPTVdpbmRvd05vdGlmaWNhdGlvbnMuaCIKICNpbmNsdWRlICJEZXZpY2VNb3Rpb25D
b250cm9sbGVyLmgiCiAjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmgiCisj
aW5jbHVkZSAiRGV2aWNlUHJveGltaXR5Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIkRvY3VtZW50
LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbmNsdWRlICJFbGVtZW50LmgiCkBA
IC0xNjAxLDYgKzE2MDIsMTMgQEAgYm9vbCBET01XaW5kb3c6OmFkZEV2ZW50TGlzdGVuZXIoY29u
c3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIFBhc3NSZWZQdHI8RXZlbnQKICAgICB9CiAjZW5k
aWYKIAorI2lmIEVOQUJMRShQUk9YSU1JVFlfRVZFTlRTKQorICAgIGVsc2UgaWYgKGV2ZW50VHlw
ZSA9PSBldmVudE5hbWVzKCkud2Via2l0ZGV2aWNlcHJveGltaXR5RXZlbnQpIHsKKyAgICAgICAg
aWYgKERldmljZVByb3hpbWl0eUNvbnRyb2xsZXIqIGNvbnRyb2xsZXIgPSBEZXZpY2VQcm94aW1p
dHlDb250cm9sbGVyOjpmcm9tKHBhZ2UoKSkpCisgICAgICAgICAgICBjb250cm9sbGVyLT5hZGRE
ZXZpY2VFdmVudExpc3RlbmVyKHRoaXMpOworICAgIH0KKyNlbmRpZgorCiAgICAgcmV0dXJuIHRy
dWU7CiB9CiAKQEAgLTE2MzAsNiArMTYzOCwxMyBAQCBib29sIERPTVdpbmRvdzo6cmVtb3ZlRXZl
bnRMaXN0ZW5lcihjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lcgog
ICAgIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKFBST1hJTUlUWV9FVkVOVFMpCisgICAgZWxzZSBp
ZiAoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS53ZWJraXRkZXZpY2Vwcm94aW1pdHlFdmVudCkg
eworICAgICAgICBpZiAoRGV2aWNlUHJveGltaXR5Q29udHJvbGxlciogY29udHJvbGxlciA9IERl
dmljZVByb3hpbWl0eUNvbnRyb2xsZXI6OmZyb20ocGFnZSgpKSkKKyAgICAgICAgICAgIGNvbnRy
b2xsZXItPnJlbW92ZURldmljZUV2ZW50TGlzdGVuZXIodGhpcyk7CisgICAgfQorI2VuZGlmCisK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KIApAQCAtMTY5MCw2ICsxNzA1LDExIEBAIHZvaWQgRE9NV2lu
ZG93OjpyZW1vdmVBbGxFdmVudExpc3RlbmVycygpCiAgICAgICAgIGRvY3VtZW50LT5kaWRSZW1v
dmVFdmVudFRhcmdldE5vZGUoZG9jdW1lbnQpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoUFJPWElN
SVRZX0VWRU5UUykKKyAgICBpZiAoRGV2aWNlUHJveGltaXR5Q29udHJvbGxlciogY29udHJvbGxl
ciA9IERldmljZVByb3hpbWl0eUNvbnRyb2xsZXI6OmZyb20ocGFnZSgpKSkKKyAgICAgICAgY29u
dHJvbGxlci0+cmVtb3ZlQWxsRGV2aWNlRXZlbnRMaXN0ZW5lcnModGhpcyk7CisjZW5kaWYKKwog
ICAgIHJlbW92ZUFsbFVubG9hZEV2ZW50TGlzdGVuZXJzKHRoaXMpOwogICAgIHJlbW92ZUFsbEJl
Zm9yZVVubG9hZEV2ZW50TGlzdGVuZXJzKHRoaXMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuY3BwCmluZGV4IGNjMDhiM2UyYTA5OTg3NGQxZWM2MmE5MmU1ODczNzYxMTRlYjY5N2Iu
LmFiNzA0MDk4ODIxZjg1YTk5YTE1MDQzNGE2YzQ3MWYzNmQwNGE1YjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTEwMCw2ICsxMDAsMTAgQEAKICNpbmNsdWRlICJOZXR3
b3JrSW5mb0NvbnRyb2xsZXIuaCIKICNlbmRpZgogCisjaWYgRU5BQkxFKFBST1hJTUlUWV9FVkVO
VFMpCisjaW5jbHVkZSAiRGV2aWNlUHJveGltaXR5Q29udHJvbGxlci5oIgorI2VuZGlmCisKICNp
ZiBFTkFCTEUoUEFHRV9QT1BVUCkKICNpbmNsdWRlICJQYWdlUG9wdXBDb250cm9sbGVyLmgiCiAj
ZW5kaWYKQEAgLTEzMzMsNiArMTMzNywyMyBAQCB2b2lkIEludGVybmFsczo6c2V0TmV0d29ya0lu
Zm9ybWF0aW9uKERvY3VtZW50KiBkb2N1bWVudCwgY29uc3QgU3RyaW5nJiBldmVudFR5cAogI2Vu
ZGlmCiB9CiAKK3ZvaWQgSW50ZXJuYWxzOjpzZXREZXZpY2VQcm94aW1pdHkoRG9jdW1lbnQqIGRv
Y3VtZW50LCBjb25zdCBTdHJpbmcmIGV2ZW50VHlwZSwgZG91YmxlIHZhbHVlLCBkb3VibGUgbWlu
LCBkb3VibGUgbWF4LCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAoIWRvY3VtZW50IHx8
ICFkb2N1bWVudC0+cGFnZSgpKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCisjaWYgRU5BQkxFKFBST1hJTUlUWV9FVkVOVFMpCisg
ICAgRGV2aWNlUHJveGltaXR5Q29udHJvbGxlcjo6ZnJvbShkb2N1bWVudC0+cGFnZSgpKS0+ZGlk
Q2hhbmdlRGV2aWNlUHJveGltaXR5KHZhbHVlLCBtaW4sIG1heCk7CisjZWxzZQorICAgIFVOVVNF
RF9QQVJBTShldmVudFR5cGUpOworICAgIFVOVVNFRF9QQVJBTSh2YWx1ZSk7CisgICAgVU5VU0VE
X1BBUkFNKG1pbik7CisgICAgVU5VU0VEX1BBUkFNKG1heCk7CisjZW5kaWYKK30KKwogYm9vbCBJ
bnRlcm5hbHM6Omhhc1NwZWxsaW5nTWFya2VyKERvY3VtZW50KiBkb2N1bWVudCwgaW50IGZyb20s
IGludCBsZW5ndGgsIEV4Y2VwdGlvbkNvZGUmKQogewogICAgIGlmICghZG9jdW1lbnQgfHwgIWRv
Y3VtZW50LT5mcmFtZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggNWE4NzFk
YTVlMzc1Mjk0Y2FjYTBmYjg4ZGVlMjc1NjBkZDhiMDIwNi4uNzhkNWIwZWZhMjUwMzE4ZGUzM2E1
MDNjNTMxNjFhYTkyNmRjMWYxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC0y
MDEsNiArMjAxLDggQEAgcHVibGljOgogCiAgICAgdm9pZCBzZXROZXR3b3JrSW5mb3JtYXRpb24o
RG9jdW1lbnQqLCBjb25zdCBTdHJpbmcmIGV2ZW50VHlwZSwgZG91YmxlIGJhbmR3aWR0aCwgYm9v
bCBtZXRlcmVkLCBFeGNlcHRpb25Db2RlJik7CiAKKyAgICB2b2lkIHNldERldmljZVByb3hpbWl0
eShEb2N1bWVudCosIGNvbnN0IFN0cmluZyYgZXZlbnRUeXBlLCBkb3VibGUgdmFsdWUsIGRvdWJs
ZSBtaW4sIGRvdWJsZSBtYXgsIEV4Y2VwdGlvbkNvZGUmKTsKKwogICAgIHZvaWQgc3VzcGVuZEFu
aW1hdGlvbnMoRG9jdW1lbnQqLCBFeGNlcHRpb25Db2RlJikgY29uc3Q7CiAgICAgdm9pZCByZXN1
bWVBbmltYXRpb25zKERvY3VtZW50KiwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXggMzI5ZjQyOThmN2FhNDdlYjY4ODU4ZTkwYzIy
MjNjYWIxMTM1OGVjYS4uMzRlNTFhODJlYjE1ZjJiYTdjMGQzZjU0MTAxNmFmYzE3NDUzNWEwMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtMTkyLDYgKzE5MiwxMCBAQAog
ICAgIHZvaWQgc2V0TmV0d29ya0luZm9ybWF0aW9uKGluIERvY3VtZW50IGRvY3VtZW50LCBpbiBE
T01TdHJpbmcgZXZlbnRUeXBlLCBpbiBkb3VibGUgYmFuZHdpZHRoLCBpbiBib29sZWFuIG1ldGVy
ZWQpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICNlbmRpZgogCisjaWYgZGVmaW5lZChFTkFCTEVf
UFJPWElNSVRZX0VWRU5UUykgJiYgRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMKKyAgICB2b2lkIHNl
dERldmljZVByb3hpbWl0eShpbiBEb2N1bWVudCBkb2N1bWVudCwgaW4gRE9NU3RyaW5nIGV2ZW50
VHlwZSwgaW4gZG91YmxlIHZhbHVlLCBpbiBkb3VibGUgbWluLCBpbiBkb3VibGUgbWF4KSByYWlz
ZXMgKERPTUV4Y2VwdGlvbik7CisjZW5kaWYKKwogICAgIFtDb25kaXRpb25hbD1JTlNQRUNUT1Jd
IHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZMaXZlTm9kZXMoKTsKICAgICBbQ29uZGl0aW9uYWw9SU5T
UEVDVE9SXSB1bnNpZ25lZCBsb25nIG51bWJlck9mTGl2ZURvY3VtZW50cygpOwogICAgIFtDb25k
aXRpb25hbD1JTlNQRUNUT1JdIHNlcXVlbmNlPERPTVN0cmluZz4gY29uc29sZU1lc3NhZ2VBcmd1
bWVudENvdW50cyhpbiBEb2N1bWVudCBkb2N1bWVudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0CmluZGV4
IGY0MzVjOTY2NDZmYmY1YTQ2ODdlM2M5YjM0YWM1NzgzZDM5OGMwNjguLmI5NjRiNGI4NzM5ZDYw
MDEzMDdiM2ZjNzQxODlkYjM4MDlhZDdjMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NN
YWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0CkBAIC00NzIs
NiArNDcyLDcgQEAgc2V0KFdlYktpdDJfU09VUkNFUwogICAgIFdlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViQ29sb3JDaG9vc2VyLmNwcAogICAgIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViQ29udGV4dE1lbnVDbGllbnQuY3BwCiAgICAgV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJEYXRhYmFzZU1hbmFnZXIuY3BwCisgICAgV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJE
ZXZpY2VQcm94aW1pdHlDbGllbnQuY3BwCiAgICAgV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJEcmFnQ2xpZW50LmNwcAogICAgIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9y
Q2xpZW50LmNwcAogICAgIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJD
bGllbnQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkRldmljZVByb3hpbWl0eUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRldmljZVByb3hpbWl0eUNsaWVudC5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTBlYWYxZThjYmNiNGE2YTEyNGE3NzhjZjcyZGQzNjYxYmEzNzhhZQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRGV2
aWNlUHJveGltaXR5Q2xpZW50LmNwcApAQCAtMCwwICsxLDYxIEBACisvKgorICogQ29weXJpZ2h0
IDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYkRldmljZVByb3hpbWl0eUNsaWVu
dC5oIgorCisjaWYgRU5BQkxFKFBST1hJTUlUWV9FVkVOVFMpCisKKyNpbmNsdWRlIDxXZWJDb3Jl
L0RldmljZVByb3hpbWl0eUNvbnRyb2xsZXIuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK1dl
YkRldmljZVByb3hpbWl0eUNsaWVudDo6V2ViRGV2aWNlUHJveGltaXR5Q2xpZW50KFdlYlBhZ2Uq
IHBhZ2UpCisgICAgOiBtX3BhZ2UocGFnZSkKKyAgICAsIG1fdmFsdWUoc3RkOjpudW1lcmljX2xp
bWl0czxkb3VibGU+OjppbmZpbml0eSgpKQorICAgICwgbV9taW4oLXN0ZDo6bnVtZXJpY19saW1p
dHM8ZG91YmxlPjo6aW5maW5pdHkoKSkKKyAgICAsIG1fbWF4KHN0ZDo6bnVtZXJpY19saW1pdHM8
ZG91YmxlPjo6aW5maW5pdHkoKSkKK3sKK30KKwordm9pZCBXZWJEZXZpY2VQcm94aW1pdHlDbGll
bnQ6OnN0YXJ0VXBkYXRpbmcoKQoreworICAgIC8vIEZJWE1FIDogU3RhcnQgZ2V0dGluZyBwcm94
aW1pdHkgZGF0YSBmcm9tIGRldmljZS4KK30KKwordm9pZCBXZWJEZXZpY2VQcm94aW1pdHlDbGll
bnQ6OnN0b3BVcGRhdGluZygpCit7CisgICAgLy8gRklYTUUgOiBTdG9wIGdldHRpbmcgcHJveGlt
aXR5IGRhdGEgZnJvbSBkZXZpY2UuCit9CisKK2Jvb2wgV2ViRGV2aWNlUHJveGltaXR5Q2xpZW50
OjpoYXNMYXN0RGF0YSgpCit7CisgICAgcmV0dXJuIG1fdmFsdWUgPT0gc3RkOjpudW1lcmljX2xp
bWl0czxkb3VibGU+OjppbmZpbml0eSgpID8gZmFsc2UgOiB0cnVlOworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFBST1hJTUlUWV9FVkVOVFMKKwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEZXZpY2VQcm94aW1p
dHlDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
RGV2aWNlUHJveGltaXR5Q2xpZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTE5ZjVlMDc2MmVkMzQ0MzdhMDJi
YTk0MGY1Y2ExY2NhYmJlOWVlNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRGV2aWNlUHJveGltaXR5Q2xpZW50LmgKQEAgLTAs
MCArMSw2MyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV2ViRGV2aWNlUHJveGltaXR5
Q2xpZW50X2gKKyNkZWZpbmUgV2ViRGV2aWNlUHJveGltaXR5Q2xpZW50X2gKKworI2lmIEVOQUJM
RShQUk9YSU1JVFlfRVZFTlRTKQorCisjaW5jbHVkZSA8V2ViQ29yZS9EZXZpY2VQcm94aW1pdHlD
bGllbnQuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYlBhZ2U7CisKK2NsYXNz
IFdlYkRldmljZVByb3hpbWl0eUNsaWVudCA6IHB1YmxpYyBXZWJDb3JlOjpEZXZpY2VQcm94aW1p
dHlDbGllbnQgeworcHVibGljOgorICAgIGV4cGxpY2l0IFdlYkRldmljZVByb3hpbWl0eUNsaWVu
dChXZWJQYWdlKik7CisgICAgdmlydHVhbCB+V2ViRGV2aWNlUHJveGltaXR5Q2xpZW50KCkgeyB9
CisKKyAgICB2b2lkIHN0YXJ0VXBkYXRpbmcoKTsKKyAgICB2b2lkIHN0b3BVcGRhdGluZygpOwor
CisgICAgdmlydHVhbCBib29sIGhhc0xhc3REYXRhKCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCBk
b3VibGUgdmFsdWUoKSBPVkVSUklERSB7IHJldHVybiBtX3ZhbHVlOyB9CisgICAgdmlydHVhbCBk
b3VibGUgbWluKCkgT1ZFUlJJREUgeyByZXR1cm4gbV9taW47IH0KKyAgICB2aXJ0dWFsIGRvdWJs
ZSBtYXgoKSBPVkVSUklERSB7IHJldHVybiBtX21heDsgfQorCitwcml2YXRlOgorICAgIFdlYlBh
Z2UqIG1fcGFnZTsKKyAgICAKKyAgICBib29sIG1faXNVcGRhdGluZzsKKyAgICBkb3VibGUgbV92
YWx1ZTsKKyAgICBkb3VibGUgbV9taW47CisgICAgZG91YmxlIG1fbWF4OworfTsKKworfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBQUk9YSU1JVFlfRVZFTlRTCisjZW5kaWYgLy8g
V2ViRGV2aWNlUHJveGltaXR5Q2xpZW50X2gKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGUwNmUzYTMxMGExYjA5ZDY1ZGFhZWI1NDljZDgw
MjU4ZTEzNGY5OWMuLjcyMjJjNjg4ZmY2OGFmMDg3YTMzMjcxZDc5YjA3YjkyMjMyYTljMzkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTE1
Nyw2ICsxNTcsMTAgQEAKICNpbmNsdWRlICJXZWJWaWJyYXRpb25DbGllbnQuaCIKICNlbmRpZgog
CisjaWYgRU5BQkxFKFBST1hJTUlUWV9FVkVOVFMpCisjaW5jbHVkZSAiV2ViRGV2aWNlUHJveGlt
aXR5Q2xpZW50LmgiCisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKE1BQykKICNpbmNsdWRlICJTaW1w
bGVQREZQbHVnaW4uaCIKICNpZiBFTkFCTEUoUERGS0lUX1BMVUdJTikKQEAgLTMyNyw2ICszMzEs
OSBAQCBXZWJQYWdlOjpXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwgY29uc3QgV2ViUGFnZUNyZWF0
aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKICNpZiBFTkFCTEUoVklCUkFUSU9OKQogICAgIFdl
YkNvcmU6OnByb3ZpZGVWaWJyYXRpb25UbyhtX3BhZ2UuZ2V0KCksIG5ldyBXZWJWaWJyYXRpb25D
bGllbnQodGhpcykpOwogI2VuZGlmCisjaWYgRU5BQkxFKFBST1hJTUlUWV9FVkVOVFMpCisgICAg
V2ViQ29yZTo6cHJvdmlkZURldmljZVByb3hpbWl0eVRvKG1fcGFnZS5nZXQoKSwgbmV3IFdlYkRl
dmljZVByb3hpbWl0eUNsaWVudCh0aGlzKSk7CisjZW5kaWYKIAogICAgIG1fcGFnZS0+c2V0Q2Fu
U3RhcnRNZWRpYShmYWxzZSk7CiAgICAgbV9tYXlTdGFydE1lZGlhV2hlbkluV2luZG93ID0gcGFy
YW1ldGVycy5tYXlTdGFydE1lZGlhV2hlbkluV2luZG93OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDA0MTMxODc3ZTEzZDdm
YjM4M2Q1Mzg4ZGI0Mjg2MjViMDBjM2JiNTUuLmU1MjY3ZTY1MGUwMWU2Zjc2M2YyZGYwYmY1MDg3
ZTVkNTc4NmZjN2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNCBAQAorMjAxMy0wMS0wNyAgS2lob25nIEt3
b24gIDxraWhvbmcua3dvbkBzYW1zdW5nLmNvbT4KKworICAgICAgICBBZGQgRGV2aWNlUHJveGlt
aXR5Q29udHJvbGxlciB0byBzdXBwb3J0IERldmljZSBQcm94aW1pdHkgRXZlbnRzLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc2MzAKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgbGF5b3V0IHRlc3Qg
Y2FzZXMgZm9yIHRoZSBEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLgorCisgICAgICAgICogcHJv
eGltaXR5L2FkZC1saXN0ZW5lci1mcm9tLWNhbGxiYWNrLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogcHJveGltaXR5L2FkZC1saXN0ZW5lci1mcm9tLWNhbGxiYWNrLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHByb3hpbWl0eS9iYXNpYy1vcGVyYXRpb24tZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBwcm94aW1pdHkvYmFzaWMtb3BlcmF0aW9uLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHByb3hpbWl0eS9jcmVhdGUtZXZlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBwcm94aW1pdHkvY3JlYXRlLWV2ZW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHByb3hp
bWl0eS9ldmVudC1hZnRlci1uYXZpZ2F0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogcHJveGltaXR5L2V2ZW50LWFmdGVyLW5hdmlnYXRpb24uaHRtbDogQWRkZWQuCisgICAgICAg
ICogcHJveGltaXR5L211bHRpcGxlLWZyYW1lcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHByb3hpbWl0eS9tdWx0aXBsZS1mcmFtZXMuaHRtbDogQWRkZWQuCisgICAgICAgICogcHJv
eGltaXR5L25vLXBhZ2UtY2FjaGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwcm94
aW1pdHkvbm8tcGFnZS1jYWNoZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwcm94aW1pdHkvb3B0
aW9uYWwtZXZlbnQtcHJvcGVydGllcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBy
b3hpbWl0eS9vcHRpb25hbC1ldmVudC1wcm9wZXJ0aWVzLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHByb3hpbWl0eS9yZXNvdXJjZXMvY2FjaGVkLXBhZ2UtMS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBwcm94aW1pdHkvcmVzb3VyY2VzL2NhY2hlZC1wYWdlLTIuaHRtbDogQWRkZWQuCisgICAgICAg
ICogcHJveGltaXR5L3Jlc291cmNlcy9ldmVudC1hZnRlci1uYXZpZ2F0aW9uLW5ldy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBwcm94aW1pdHkvdXBkYXRlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHByb3hpbWl0eS91cGRhdGVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHByb3hp
bWl0eS93aW5kb3ctcHJvcGVydHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwcm94
aW1pdHkvd2luZG93LXByb3BlcnR5Lmh0bWw6IEFkZGVkLgorCiAyMDEzLTAxLTA2ICBBYmhpc2hl
ayBBcnlhICA8aW5mZXJub0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSGVhcC11c2UtYWZ0ZXIt
ZnJlZSBpbiBXZWJDb3JlOjpEb2N1bWVudDo6aW1wbGljaXRDbG9zZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcHJveGltaXR5L2FkZC1saXN0ZW5lci1mcm9tLWNhbGxiYWNrLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9hZGQtbGlzdGVuZXItZnJvbS1jYWxsYmFjay1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTBiODY3MTgzOGNmMzMyM2NkMTVlNzRmZDc2YTFmZmI4YTg2
MTY5ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9hZGQtbGlzdGVu
ZXItZnJvbS1jYWxsYmFjay1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOCBAQAorVGVzdHMgdGhh
dCBhZGRpbmcgYSBuZXcgZXZlbnQgbGlzdGVuZXIgZnJvbSBhIGNhbGxiYWNrIHdvcmtzIGFzIGV4
cGVjdGVkLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBkZXZpY2VQcm94
aW1pdHlFdmVudC52YWx1ZSBpcyBmaXJlZEV2ZW50LnZhbHVlCitQQVNTIGRldmljZVByb3hpbWl0
eUV2ZW50Lm1pbiBpcyBmaXJlZEV2ZW50Lm1pbgorUEFTUyBkZXZpY2VQcm94aW1pdHlFdmVudC5t
YXggaXMgZmlyZWRFdmVudC5tYXgKK1BBU1MgZGV2aWNlUHJveGltaXR5RXZlbnQudmFsdWUgaXMg
ZmlyZWRFdmVudC52YWx1ZQorUEFTUyBkZXZpY2VQcm94aW1pdHlFdmVudC5taW4gaXMgZmlyZWRF
dmVudC5taW4KK1BBU1MgZGV2aWNlUHJveGltaXR5RXZlbnQubWF4IGlzIGZpcmVkRXZlbnQubWF4
CitQQVNTIGRldmljZVByb3hpbWl0eUV2ZW50LnZhbHVlIGlzIGZpcmVkRXZlbnQudmFsdWUKK1BB
U1MgZGV2aWNlUHJveGltaXR5RXZlbnQubWluIGlzIGZpcmVkRXZlbnQubWluCitQQVNTIGRldmlj
ZVByb3hpbWl0eUV2ZW50Lm1heCBpcyBmaXJlZEV2ZW50Lm1heAorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3Byb3hpbWl0eS9hZGQtbGlzdGVuZXItZnJvbS1jYWxsYmFjay5odG1sIGIvTGF5b3V0VGVzdHMv
cHJveGltaXR5L2FkZC1saXN0ZW5lci1mcm9tLWNhbGxiYWNrLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDk4
ZjZmZDM0YTYzZjZlNzUzODI1MDFmMTNmOWRiOTYzNzY3ZWQzZQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3Byb3hpbWl0eS9hZGQtbGlzdGVuZXItZnJvbS1jYWxsYmFjay5odG1sCkBA
IC0wLDAgKzEsNTAgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2Ny
aXB0PgorZGVzY3JpcHRpb24oJ1Rlc3RzIHRoYXQgYWRkaW5nIGEgbmV3IGV2ZW50IGxpc3RlbmVy
IGZyb20gYSBjYWxsYmFjayB3b3JrcyBhcyBleHBlY3RlZC4nKTsKKwordmFyIGZpcmVkRXZlbnQg
PSB7dmFsdWU6IDIuMiwgbWluOiAxLjEsIG1heDogMy4zfTsKKwordmFyIGRldmljZVByb3hpbWl0
eUV2ZW50OworZnVuY3Rpb24gY2hlY2tQcm94aW1pdHkoZXZlbnQpIHsKKyAgICBkZXZpY2VQcm94
aW1pdHlFdmVudCA9IGV2ZW50OworICAgIHNob3VsZEJlKCdkZXZpY2VQcm94aW1pdHlFdmVudC52
YWx1ZScsICdmaXJlZEV2ZW50LnZhbHVlJyk7CisgICAgc2hvdWxkQmUoJ2RldmljZVByb3hpbWl0
eUV2ZW50Lm1pbicsICdmaXJlZEV2ZW50Lm1pbicpOworICAgIHNob3VsZEJlKCdkZXZpY2VQcm94
aW1pdHlFdmVudC5tYXgnLCAnZmlyZWRFdmVudC5tYXgnKTsKK30KKwordmFyIGZpcnN0TGlzdGVu
ZXJFdmVudHMgPSAwOworZnVuY3Rpb24gZmlyc3RMaXN0ZW5lcihldmVudCkgeworICAgIGNoZWNr
UHJveGltaXR5KGV2ZW50KTsKKyAgICBpZiAoKytmaXJzdExpc3RlbmVyRXZlbnRzID09IDEpIHsK
KyAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdGRldmljZXByb3hpbWl0eScs
IHNlY29uZExpc3RlbmVyKTsKKyAgICAgICAgaW50ZXJuYWxzLnNldERldmljZVByb3hpbWl0eShk
b2N1bWVudCwgJ3dlYmtpdGRldmljZXByb3hpbWl0eScsIGZpcmVkRXZlbnQudmFsdWUsIGZpcmVk
RXZlbnQubWluLCBmaXJlZEV2ZW50Lm1heCk7CisgICAgfQorICAgIGVsc2UgaWYgKGZpcnN0TGlz
dGVuZXJFdmVudHMgPiAyKQorICAgICAgICB0ZXN0RmFpbGVkKCdUb28gbWFueSBldmVudHMgZm9y
IGZpcnN0IGxpc3RlbmVyLicpOworICAgIG1heWJlRmluaXNoVGVzdCgpOworfQorCit2YXIgc2Vj
b25kTGlzdGVuZXJFdmVudHMgPSAwOworZnVuY3Rpb24gc2Vjb25kTGlzdGVuZXIoZXZlbnQpIHsK
KyAgICBjaGVja1Byb3hpbWl0eShldmVudCk7CisgICAgaWYgKCsrc2Vjb25kTGlzdGVuZXJFdmVu
dHMgPiAxKQorICAgICAgICB0ZXN0RmFpbGVkKCdUb28gbWFueSBldmVudHMgZm9yIHNlY29uZCBs
aXN0ZW5lci4nKTsKKyAgICBtYXliZUZpbmlzaFRlc3QoKTsKK30KKworZnVuY3Rpb24gbWF5YmVG
aW5pc2hUZXN0KCkgeworICAgIGlmIChmaXJzdExpc3RlbmVyRXZlbnRzID09IDIgJiYgc2Vjb25k
TGlzdGVuZXJFdmVudHMgPT0gMSkKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK3dpbmRv
dy5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRkZXZpY2Vwcm94aW1pdHknLCBmaXJzdExpc3RlbmVy
KTsKK2ludGVybmFscy5zZXREZXZpY2VQcm94aW1pdHkoZG9jdW1lbnQsICd3ZWJraXRkZXZpY2Vw
cm94aW1pdHknLCBmaXJlZEV2ZW50LnZhbHVlLCBmaXJlZEV2ZW50Lm1pbiwgZmlyZWRFdmVudC5t
YXgpOword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Byb3hpbWl0eS9iYXNpYy1vcGVy
YXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L2Jhc2ljLW9wZXJhdGlv
bi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDk2NjFhMzNlYjY4ODIzMTIxZmRjNDNlMGVkM2Y2
MGM3YTM5NzVmNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9iYXNp
Yy1vcGVyYXRpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK1Rlc3RzIHRoZSBiYXNp
YyBvcGVyYXRpb24gb2YgRGV2aWNlUHJveGltaXR5IHVzaW5nIHRoZSBwcm94aW1pdHkuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGRldmljZVByb3hpbWl0eUV2ZW50LnZh
bHVlIGlzIGZpcmVkRXZlbnQudmFsdWUKK1BBU1MgZGV2aWNlUHJveGltaXR5RXZlbnQubWluIGlz
IGZpcmVkRXZlbnQubWF4CitQQVNTIGRldmljZVByb3hpbWl0eUV2ZW50Lm1heCBpcyBmaXJlZEV2
ZW50Lm1pbgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Byb3hpbWl0eS9iYXNpYy1vcGVyYXRpb24uaHRt
bCBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9iYXNpYy1vcGVyYXRpb24uaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5lYzFlZjRkZWQyYjMyZDgyNDIzZWQ3NGJmODkyODUxZTJhMWM3YzRhCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L2Jhc2ljLW9wZXJhdGlvbi5odG1sCkBAIC0wLDAg
KzEsMjUgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0Pgor
ZGVzY3JpcHRpb24oJ1Rlc3RzIHRoZSBiYXNpYyBvcGVyYXRpb24gb2YgRGV2aWNlUHJveGltaXR5
IHVzaW5nIHRoZSBwcm94aW1pdHkuJyk7CisKK3ZhciBmaXJlZEV2ZW50ID0ge3ZhbHVlOiAyLjIs
IG1pbjogMS4xLCBtYXg6IDMuM307CisKK3ZhciBkZXZpY2VQcm94aW1pdHlFdmVudDsKK3dpbmRv
dy5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRkZXZpY2Vwcm94aW1pdHknLCBmdW5jdGlvbihlKSB7
CisgICAgZGV2aWNlUHJveGltaXR5RXZlbnQgPSBlOworICAgIHNob3VsZEJlKCdkZXZpY2VQcm94
aW1pdHlFdmVudC52YWx1ZScsICdmaXJlZEV2ZW50LnZhbHVlJyk7CisgICAgc2hvdWxkQmUoJ2Rl
dmljZVByb3hpbWl0eUV2ZW50Lm1pbicsICdmaXJlZEV2ZW50Lm1heCcpOworICAgIHNob3VsZEJl
KCdkZXZpY2VQcm94aW1pdHlFdmVudC5tYXgnLCAnZmlyZWRFdmVudC5taW4nKTsKKyAgICBmaW5p
c2hKU1Rlc3QoKTsKK30pOworCitpbnRlcm5hbHMuc2V0RGV2aWNlUHJveGltaXR5KGRvY3VtZW50
LCAnd2Via2l0ZGV2aWNlcHJveGltaXR5JywgZmlyZWRFdmVudC52YWx1ZSwgZmlyZWRFdmVudC5t
YXgsIGZpcmVkRXZlbnQubWluKTsKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wcm94
aW1pdHkvY3JlYXRlLWV2ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9j
cmVhdGUtZXZlbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVjZjU5Njc1ZmYwNWE2ZjMwZTNl
MWRkODYxMzhjZGJkOTBiZWJjNDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wcm94
aW1pdHkvY3JlYXRlLWV2ZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIyIEBACitUZXN0cyB0
aGF0IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCkgd29ya3Mgd2l0aCBEZXZpY2VQcm94aW1pdHlFdmVu
dC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgdHlwZW9mIGV2ZW50ID09
ICdvYmplY3QnIGlzIHRydWUKK1BBU1MgJ3R5cGUnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ2J1
YmJsZXMnIGluIGV2ZW50IGlzIHRydWUKK1BBU1MgJ2NhbmNlbGFibGUnIGluIGV2ZW50IGlzIHRy
dWUKK1BBU1MgJ3ZhbHVlJyBpbiBldmVudCBpcyB0cnVlCitQQVNTICdtaW4nIGluIGV2ZW50IGlz
IHRydWUKK1BBU1MgJ21heCcgaW4gZXZlbnQgaXMgdHJ1ZQorUEFTUyB0eXBlb2YgZXZlbnQudHlw
ZSA9PSAnc3RyaW5nJyBpcyB0cnVlCitQQVNTIHR5cGVvZiBldmVudC5idWJibGVzID09ICdib29s
ZWFuJyBpcyB0cnVlCitQQVNTIHR5cGVvZiBldmVudC5jYW5jZWxhYmxlID09ICdib29sZWFuJyBp
cyB0cnVlCitQQVNTIHR5cGVvZiBldmVudC52YWx1ZSA9PSAnbnVtYmVyJyBpcyB0cnVlCitQQVNT
IHR5cGVvZiBldmVudC5taW4gPT0gJ251bWJlcicgaXMgdHJ1ZQorUEFTUyB0eXBlb2YgZXZlbnQu
bWF4ID09ICdudW1iZXInIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wcm94aW1pdHkvY3Jl
YXRlLWV2ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9wcm94aW1pdHkvY3JlYXRlLWV2ZW50Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYzIxMzlhODZkNzQyZDY3NmM4ZmI3ODg4NmM2YTM1ZGYzOGVmYTZmZQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9jcmVhdGUtZXZlbnQuaHRtbApA
QCAtMCwwICsxLDI5IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNj
cmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0cyB0aGF0IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCkgd29y
a3Mgd2l0aCBEZXZpY2VQcm94aW1pdHlFdmVudC4nKTsKKwordmFyIGV2ZW50ID0gZG9jdW1lbnQu
Y3JlYXRlRXZlbnQoJ0RldmljZVByb3hpbWl0eUV2ZW50Jyk7CisKK3Nob3VsZEJlVHJ1ZSgidHlw
ZW9mIGV2ZW50ID09ICdvYmplY3QnIik7CisKK3Nob3VsZEJlVHJ1ZSgiJ3R5cGUnIGluIGV2ZW50
Iik7CitzaG91bGRCZVRydWUoIididWJibGVzJyBpbiBldmVudCIpOworc2hvdWxkQmVUcnVlKCIn
Y2FuY2VsYWJsZScgaW4gZXZlbnQiKTsKK3Nob3VsZEJlVHJ1ZSgiJ3ZhbHVlJyBpbiBldmVudCIp
Oworc2hvdWxkQmVUcnVlKCInbWluJyBpbiBldmVudCIpOworc2hvdWxkQmVUcnVlKCInbWF4JyBp
biBldmVudCIpOworCitzaG91bGRCZVRydWUoInR5cGVvZiBldmVudC50eXBlID09ICdzdHJpbmcn
Iik7CitzaG91bGRCZVRydWUoInR5cGVvZiBldmVudC5idWJibGVzID09ICdib29sZWFuJyIpOwor
c2hvdWxkQmVUcnVlKCJ0eXBlb2YgZXZlbnQuY2FuY2VsYWJsZSA9PSAnYm9vbGVhbiciKTsKK3No
b3VsZEJlVHJ1ZSgidHlwZW9mIGV2ZW50LnZhbHVlID09ICdudW1iZXInIik7CitzaG91bGRCZVRy
dWUoInR5cGVvZiBldmVudC5taW4gPT0gJ251bWJlciciKTsKK3Nob3VsZEJlVHJ1ZSgidHlwZW9m
IGV2ZW50Lm1heCA9PSAnbnVtYmVyJyIpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Byb3hpbWl0eS9ldmVudC1hZnRlci1uYXZpZ2F0
aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9ldmVudC1hZnRlci1uYXZp
Z2F0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZTZiYzM5ODI2Nzc3YjE4M2U0YjBmY2Jl
Y2NlN2VjMjZmZDBmZDFkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcHJveGltaXR5
L2V2ZW50LWFmdGVyLW5hdmlnYXRpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorVGVz
dHMgZm9yIGEgY3Jhc2ggd2hlcmUgYW4gZXZlbnQgaXMgZmlyZWQgYWZ0ZXIgdGhlIHBhZ2UgaGFz
IGJlZW4gbmF2aWdhdGVkIGF3YXkgd2hlbiB0aGUgb3JpZ2luYWwgcGFnZSBpcyBpbiB0aGUgcGFn
ZSBjYWNoZS4KKworU1VDQ0VTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcHJveGltaXR5L2V2
ZW50LWFmdGVyLW5hdmlnYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9ldmVudC1h
ZnRlci1uYXZpZ2F0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGQ0NDdlNWJlOTEzZWEyYzFjMDA2ZGUz
Y2Y0ODFmMDViOTgxMmE5ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Byb3hpbWl0
eS9ldmVudC1hZnRlci1uYXZpZ2F0aW9uLmh0bWwKQEAgLTAsMCArMSwyMyBAQAorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVzdHMg
Zm9yIGEgY3Jhc2ggd2hlcmUgYW4gZXZlbnQgaXMgZmlyZWQgYWZ0ZXIgdGhlIHBhZ2UgaGFzIGJl
ZW4gbmF2aWdhdGVkIGF3YXkgd2hlbiB0aGUgb3JpZ2luYWwgcGFnZSBpcyBpbiB0aGUgcGFnZSBj
YWNoZS4nKTsKKworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIub3ZlcnJp
ZGVQcmVmZXJlbmNlKCdXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleScsIDEpOworZWxz
ZQorICAgIGRlYnVnKCdUaGlzIHRlc3QgY2FuIG5vdCBiZSBydW4gd2l0aG91dCB0aGUgVGVzdFJ1
bm5lcicpOworCitkb2N1bWVudC5ib2R5Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIHdpbmRv
dy5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRkZXZpY2Vwcm94aW1pdHknLCBmdW5jdGlvbigpIHsg
fSApOworICAgIHdpbmRvdy5sb2NhdGlvbiA9ICJyZXNvdXJjZXMvZXZlbnQtYWZ0ZXItbmF2aWdh
dGlvbi1uZXcuaHRtbCI7Cit9CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wcm94
aW1pdHkvbXVsdGlwbGUtZnJhbWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Byb3hpbWl0
eS9tdWx0aXBsZS1mcmFtZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYwNWY0ZTNmZjI2Zjhi
MGQxMGMyOWFkMTBkMTI0NGRlZDNjNTc2MzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9wcm94aW1pdHkvbXVsdGlwbGUtZnJhbWVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBA
CitUZXN0cyB1c2luZyBEZXZpY2VQcm94aW1pdHkgZnJvbSBtdWx0aXBsZSBmcmFtZXMuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIERldmljZVByb3hpbWl0eUV2ZW50LnZh
bHVlIGlzIGZpcmVkRXZlbnQudmFsdWUKK1BBU1MgRGV2aWNlUHJveGltaXR5RXZlbnQubWluIGlz
IGZpcmVkRXZlbnQubWluCitQQVNTIERldmljZVByb3hpbWl0eUV2ZW50Lm1heCBpcyBmaXJlZEV2
ZW50Lm1heAorUEFTUyBEZXZpY2VQcm94aW1pdHlFdmVudC52YWx1ZSBpcyBmaXJlZEV2ZW50LnZh
bHVlCitQQVNTIERldmljZVByb3hpbWl0eUV2ZW50Lm1pbiBpcyBmaXJlZEV2ZW50Lm1pbgorUEFT
UyBEZXZpY2VQcm94aW1pdHlFdmVudC5tYXggaXMgZmlyZWRFdmVudC5tYXgKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wcm94aW1pdHkvbXVsdGlwbGUtZnJhbWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9wcm94
aW1pdHkvbXVsdGlwbGUtZnJhbWVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjdjOTM4ZTEyMDQxZWIxMDg2
ODhjNDMzNTgzMDNjNjZkOGYwOTU0OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3By
b3hpbWl0eS9tdWx0aXBsZS1mcmFtZXMuaHRtbApAQCAtMCwwICsxLDQ4IEBACis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0cyB1
c2luZyBEZXZpY2VQcm94aW1pdHkgZnJvbSBtdWx0aXBsZSBmcmFtZXMuJyk7CisKK3ZhciBEZXZp
Y2VQcm94aW1pdHlFdmVudDsKK2Z1bmN0aW9uIGNoZWNrUHJveGltaXR5KGV2ZW50KSB7CisgICAg
RGV2aWNlUHJveGltaXR5RXZlbnQgPSBldmVudDsKKyAgICBzaG91bGRCZSgnRGV2aWNlUHJveGlt
aXR5RXZlbnQudmFsdWUnLCAnZmlyZWRFdmVudC52YWx1ZScpOworICAgIHNob3VsZEJlKCdEZXZp
Y2VQcm94aW1pdHlFdmVudC5taW4nLCAnZmlyZWRFdmVudC5taW4nKTsKKyAgICBzaG91bGRCZSgn
RGV2aWNlUHJveGltaXR5RXZlbnQubWF4JywgJ2ZpcmVkRXZlbnQubWF4Jyk7Cit9CisKK3ZhciBo
YXNNYWluRnJhbWVFdmVudEZpcmVkID0gZmFsc2U7CitmdW5jdGlvbiBtYWluRnJhbWVMaXN0ZW5l
cihldmVudCkgeworICAgIGNoZWNrUHJveGltaXR5KGV2ZW50KTsKKyAgICBoYXNNYWluRnJhbWVF
dmVudEZpcmVkID0gdHJ1ZTsKKyAgICBtYXliZUZpbmlzaFRlc3QoKTsKK30KKwordmFyIGhhc0No
aWxkRnJhbWVFdmVudEZpcmVkID0gZmFsc2U7CitmdW5jdGlvbiBjaGlsZEZyYW1lTGlzdGVuZXIo
ZXZlbnQpIHsKKyAgICBjaGVja1Byb3hpbWl0eShldmVudCk7CisgICAgaGFzQ2hpbGRGcmFtZUV2
ZW50RmlyZWQgPSB0cnVlOworICAgIG1heWJlRmluaXNoVGVzdCgpOworfQorCitmdW5jdGlvbiBt
YXliZUZpbmlzaFRlc3QoKSB7CisgICAgaWYgKGhhc01haW5GcmFtZUV2ZW50RmlyZWQgJiYgaGFz
Q2hpbGRGcmFtZUV2ZW50RmlyZWQpCisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworfQorCit2YXIg
Y2hpbGRGcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChjaGlsZEZyYW1lKTsKK2NoaWxkRnJhbWUuY29udGVudFdpbmRvdy5h
ZGRFdmVudExpc3RlbmVyKCd3ZWJraXRkZXZpY2Vwcm94aW1pdHknLCBjaGlsZEZyYW1lTGlzdGVu
ZXIpOworCit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0ZGV2aWNlcHJveGltaXR5Jywg
bWFpbkZyYW1lTGlzdGVuZXIpOwordmFyIGZpcmVkRXZlbnQgPSB7dmFsdWU6IDIuMiwgbWluOiAx
LjEsIG1heDogMy4zfTsKK2ludGVybmFscy5zZXREZXZpY2VQcm94aW1pdHkoZG9jdW1lbnQsICd3
ZWJraXRkZXZpY2Vwcm94aW1pdHknLCBmaXJlZEV2ZW50LnZhbHVlLCBmaXJlZEV2ZW50Lm1pbiwg
ZmlyZWRFdmVudC5tYXgpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Cis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcHJveGlt
aXR5L25vLXBhZ2UtY2FjaGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L25v
LXBhZ2UtY2FjaGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYzNjY1ZDVlZDJjMGFjZTQzOGQ2
YzZjMzcwMzMxYjFkNDBkM2Y4OTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wcm94
aW1pdHkvbm8tcGFnZS1jYWNoZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNCBAQAorVGVzdHMg
dGhhdCBwYWdlcyB0aGF0IHVzZSBEZXZpY2VQcm94aW1pdHkgYXJlIG5vdCBwdXQgaW4gdGhlIHBh
Z2UgY2FjaGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitNYWluIHBhZ2Ugb3Bl
bmluZyByZXNvdXJjZXMvY2FjaGVkLXBhZ2UtMS5odG1sCityZXNvdXJjZXMvY2FjaGVkLXBhZ2Ut
MS5odG1sIG9ubG9hZCBmaXJlZCwgY291bnQgPSAxCityZXNvdXJjZXMvY2FjaGVkLXBhZ2UtMS5o
dG1sIGFib3V0IHRvIG5hdmlnYXRlIHRvIHJlc291cmNlcy9jYWNoZWQtcGFnZS0yLmh0bWwKK3Jl
c291cmNlcy9jYWNoZWQtcGFnZS0yLmh0bWwgYWJvdXQgdG8gZ28gYmFjayB0byByZXNvdXJjZXMv
Y2FjaGVkLXBhZ2UtMS5odG1sCityZXNvdXJjZXMvY2FjaGVkLXBhZ2UtMS5odG1sIG9ubG9hZCBm
aXJlZCwgY291bnQgPSAyCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcHJveGltaXR5L25vLXBhZ2UtY2Fj
aGUuaHRtbCBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9uby1wYWdlLWNhY2hlLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNWU2YzczYWEwMGE1YjNhODA0ZTUwOTc5OGIwODNkNzg1MTEwZDdjZAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9uby1wYWdlLWNhY2hlLmh0bWwKQEAgLTAs
MCArMSwzMyBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+
CitkZXNjcmlwdGlvbignVGVzdHMgdGhhdCBwYWdlcyB0aGF0IHVzZSBEZXZpY2VQcm94aW1pdHkg
YXJlIG5vdCBwdXQgaW4gdGhlIHBhZ2UgY2FjaGUuJyk7CisKK2lmICh3aW5kb3cudGVzdFJ1bm5l
cikgeworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIHRlc3RSdW5uZXIuc2V0
Q2FuT3BlbldpbmRvd3MoKTsKKyAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgnV2Vi
S2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXknLCAxKTsKK30gZWxzZQorICAgIGRlYnVnKCdU
aGlzIHRlc3QgY2FuIG5vdCBiZSBydW4gd2l0aG91dCB0aGUgVGVzdFJ1bm5lcicpOworCit2YXIg
cGFnZU9uZU9ubG9hZENvdW50ID0gMDsKK2Z1bmN0aW9uIHJlcG9ydFBhZ2VPbmVPbmxvYWQoKSB7
CisgICAgKytwYWdlT25lT25sb2FkQ291bnQ7CisgICAgZGVidWcoJ3Jlc291cmNlcy9jYWNoZWQt
cGFnZS0xLmh0bWwgb25sb2FkIGZpcmVkLCBjb3VudCA9ICcgKyBwYWdlT25lT25sb2FkQ291bnQp
OworICAgIGlmIChwYWdlT25lT25sb2FkQ291bnQgPT0gMikgeworICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICB9CisgICAgcmV0dXJuIHBhZ2VPbmVPbmxvYWRDb3VudDsKK30KKworZGVidWco
Ik1haW4gcGFnZSBvcGVuaW5nIHJlc291cmNlcy9jYWNoZWQtcGFnZS0xLmh0bWwiKTsKK3dpbmRv
dy5vcGVuKCJyZXNvdXJjZXMvY2FjaGVkLXBhZ2UtMS5odG1sIik7CisKK3dpbmRvdy5qc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wcm94aW1pdHkvb3B0aW9uYWwtZXZlbnQtcHJvcGVydGllcy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wcm94aW1pdHkvb3B0aW9uYWwtZXZlbnQtcHJvcGVydGll
cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTA3OThkYjUxNWE1NWU2NzExM2JlOWIyNDRmODZm
MjRhYmFlNzk0YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9vcHRp
b25hbC1ldmVudC1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUZXN0
cyB0aGUgb3B0aW9uYWwgcHJvcGVydGllcyBvZiBEZXZpY2VQcm94aW1pdHlFdmVudC4gRWFjaCBw
cm9wZXJ0eSBzaG91bGQgYmUgbnVsbCBpZiBub3Qgc2V0LCBvciBzZXQgdG8gbnVsbCBvciB1bmRl
ZmluZWQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitldmVudCA9IGRvY3VtZW50
LmNyZWF0ZUV2ZW50KCdEZXZpY2VQcm94aW1pdHlFdmVudCcpCitQQVNTIGV2ZW50LnZhbHVlID09
IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSBpcyB0cnVlCitQQVNTIGV2ZW50Lm1pbiA9PSBOdW1i
ZXIuTkVHQVRJVkVfSU5GSU5JVFkgaXMgdHJ1ZQorUEFTUyBldmVudC5tYXggPT0gTnVtYmVyLlBP
U0lUSVZFX0lORklOSVRZIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wcm94aW1pdHkvb3B0
aW9uYWwtZXZlbnQtcHJvcGVydGllcy5odG1sIGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L29wdGlv
bmFsLWV2ZW50LXByb3BlcnRpZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZjY0NDkyNzkyNDY0ZTRlZTYx
YmVlMGNiN2M0MzA4YzU0OWU2OTk4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcHJv
eGltaXR5L29wdGlvbmFsLWV2ZW50LXByb3BlcnRpZXMuaHRtbApAQCAtMCwwICsxLDE3IEBACis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9u
KCdUZXN0cyB0aGUgb3B0aW9uYWwgcHJvcGVydGllcyBvZiBEZXZpY2VQcm94aW1pdHlFdmVudC4g
RWFjaCBwcm9wZXJ0eSBzaG91bGQgYmUgbnVsbCBpZiBub3Qgc2V0LCBvciBzZXQgdG8gbnVsbCBv
ciB1bmRlZmluZWQuJyk7CisKK3ZhciBldmVudDsKK2V2YWxBbmRMb2coImV2ZW50ID0gZG9jdW1l
bnQuY3JlYXRlRXZlbnQoJ0RldmljZVByb3hpbWl0eUV2ZW50JykiKTsKK3Nob3VsZEJlVHJ1ZSgi
ZXZlbnQudmFsdWUgPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIik7CitzaG91bGRCZVRydWUo
ImV2ZW50Lm1pbiA9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkiKTsKK3Nob3VsZEJlVHJ1ZSgi
ZXZlbnQubWF4ID09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSIpOworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Byb3hpbWl0eS9yZXNv
dXJjZXMvY2FjaGVkLXBhZ2UtMS5odG1sIGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L3Jlc291cmNl
cy9jYWNoZWQtcGFnZS0xLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2QwNjJjY2U5MTI4ZDE1MmQ4YTk5YzAy
ZTdhOGI0OTg0YzU3YjJjNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Byb3hpbWl0
eS9yZXNvdXJjZXMvY2FjaGVkLXBhZ2UtMS5odG1sCkBAIC0wLDAgKzEsMTEgQEAKKzxzY3JpcHQ+
CitmdW5jdGlvbiBsb2FkTmV4dCgpIHsKKyAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignd2Vi
a2l0ZGV2aWNlcHJveGltaXR5JywgZnVuY3Rpb24oKSB7fSk7CisgICAgaWYgKHdpbmRvdy5vcGVu
ZXIucmVwb3J0UGFnZU9uZU9ubG9hZCgpID09IDEpIHsKKyAgICAgICAgd2luZG93Lm9wZW5lci5k
ZWJ1ZygncmVzb3VyY2VzL2NhY2hlZC1wYWdlLTEuaHRtbCBhYm91dCB0byBuYXZpZ2F0ZSB0byBy
ZXNvdXJjZXMvY2FjaGVkLXBhZ2UtMi5odG1sJykKKyAgICAgICAgLy8gTG9jYXRpb24gY2hhbmdl
cyBuZWVkIHRvIGhhcHBlbiBvdXRzaWRlIHRoZSBvbmxvYWQgaGFuZGxlciB0byBnZW5lcmF0ZSBo
aXN0b3J5IGVudHJpZXMuCisgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IGxvY2F0aW9u
LmhyZWYgPSAnY2FjaGVkLXBhZ2UtMi5odG1sJzsgfSwgMCk7CisgICAgfQorfQorPC9zY3JpcHQ+
Cis8Ym9keSBvbmxvYWQ9ImxvYWROZXh0KCkiPjwvYm9keT4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wcm94aW1pdHkvcmVzb3VyY2VzL2NhY2hl
ZC1wYWdlLTIuaHRtbCBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9yZXNvdXJjZXMvY2FjaGVkLXBh
Z2UtMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyYjg4Y2JjMTgwMDkwYjJkNDZjNzEwYmZlZTQ4MzY1YjI0
MmUyMjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wcm94aW1pdHkvcmVzb3VyY2Vz
L2NhY2hlZC1wYWdlLTIuaHRtbApAQCAtMCwwICsxLDggQEAKKzxzY3JpcHQ+CitmdW5jdGlvbiBp
bml0KCkgeworICAgIHdpbmRvdy5vcGVuZXIucGFnZVR3b0xvYWRlZCA9IHRydWU7CisgICAgd2lu
ZG93Lm9wZW5lci5kZWJ1ZygncmVzb3VyY2VzL2NhY2hlZC1wYWdlLTIuaHRtbCBhYm91dCB0byBn
byBiYWNrIHRvIHJlc291cmNlcy9jYWNoZWQtcGFnZS0xLmh0bWwnKTsKKyAgICBoaXN0b3J5LmJh
Y2soKTsKK30KKzwvc2NyaXB0PgorPGJvZHkgb25sb2FkPSJpbml0KCkiPjwvYm9keT4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wcm94aW1pdHkv
cmVzb3VyY2VzL2V2ZW50LWFmdGVyLW5hdmlnYXRpb24tbmV3Lmh0bWwgYi9MYXlvdXRUZXN0cy9w
cm94aW1pdHkvcmVzb3VyY2VzL2V2ZW50LWFmdGVyLW5hdmlnYXRpb24tbmV3Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMDY2NDRjZWYzMDQ0YmYyYjA1OThkNjVhNjhmYzRlYWIxOTkwMGQ0NAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS9yZXNvdXJjZXMvZXZlbnQtYWZ0ZXItbmF2
aWdhdGlvbi1uZXcuaHRtbApAQCAtMCwwICsxLDE1IEBACis8aHRtbD4KKzxoZWFkPgorPC9oZWFk
PgorPGJvZHk+CisgICAgVGVzdHMgZm9yIGEgY3Jhc2ggd2hlcmUgYW4gZXZlbnQgaXMgZmlyZWQg
YWZ0ZXIgdGhlIHBhZ2UgaGFzIGJlZW4gbmF2aWdhdGVkCisgICAgYXdheSB3aGVuIHRoZSBvcmln
aW5hbCBwYWdlIGlzIGluIHRoZSBwYWdlIGNhY2hlLjxicj48YnI+CisgICAgU1VDQ0VTUworICAg
IDxzY3JpcHQ+CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICAgICAg
aW50ZXJuYWxzLnNldERldmljZVByb3hpbWl0eShkb2N1bWVudCwgJ3dlYmtpdGRldmljZXByb3hp
bWl0eScsIDEuMSwgMi4yLCAzLjMpOworICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wcm94aW1pdHkvdXBk
YXRlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wcm94aW1pdHkvdXBkYXRlcy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNDIzMWUzNzgzOWQwNGU3ODdmYzQxZWNkZTkxNzA3NzM0MDE4NTU1
NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS91cGRhdGVzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDE1IEBACitUZXN0cyB0aGF0IHVwZGF0ZXMgdG8gdGhlIHByb3hp
bWl0eSBjYXVzZXMgbmV3IGV2ZW50cyB0byBmaXJlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKworUEFTUyBkZXZpY2VQcm94aW1pdHlFdmVudC52YWx1ZSBpcyBmaXJlZEV2ZW50LnZh
bHVlCitQQVNTIGRldmljZVByb3hpbWl0eUV2ZW50Lm1pbiBpcyBmaXJlZEV2ZW50Lm1pbgorUEFT
UyBkZXZpY2VQcm94aW1pdHlFdmVudC5tYXggaXMgZmlyZWRFdmVudC5tYXgKK1BBU1MgZGV2aWNl
UHJveGltaXR5RXZlbnQudmFsdWUgaXMgZmlyZWRFdmVudC52YWx1ZQorUEFTUyBkZXZpY2VQcm94
aW1pdHlFdmVudC5taW4gaXMgZmlyZWRFdmVudC5taW4KK1BBU1MgZGV2aWNlUHJveGltaXR5RXZl
bnQubWF4IGlzIGZpcmVkRXZlbnQubWF4CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcHJveGltaXR5L3Vw
ZGF0ZXMuaHRtbCBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS91cGRhdGVzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNWU4ODJlZWJkMzc4MWVhOTQ5MTFhNjRjNmE1OWQ1NTI2YTU4MTVjYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS91cGRhdGVzLmh0bWwKQEAgLTAsMCArMSw0MSBA
QAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlw
dGlvbignVGVzdHMgdGhhdCB1cGRhdGVzIHRvIHRoZSBwcm94aW1pdHkgY2F1c2VzIG5ldyBldmVu
dHMgdG8gZmlyZS4nKTsKKwordmFyIGZpcmVkRXZlbnQ7CitmdW5jdGlvbiBzZXRQcm94aW1pdHko
dmFsdWUsIG1pbiwgbWF4KSB7CisgICAgZmlyZWRFdmVudCA9IHt2YWx1ZTogdmFsdWUsIG1pbjog
bWluLCBtYXg6IG1heH07CisgICAgaW50ZXJuYWxzLnNldERldmljZVByb3hpbWl0eShkb2N1bWVu
dCwgJ3dlYmtpdGRldmljZXByb3hpbWl0eScsIGZpcmVkRXZlbnQudmFsdWUsIGZpcmVkRXZlbnQu
bWluLCBmaXJlZEV2ZW50Lm1heCk7Cit9CisKK3ZhciBkZXZpY2VQcm94aW1pdHlFdmVudDsKK2Z1
bmN0aW9uIGNoZWNrUHJveGltaXR5KGV2ZW50KSB7CisgICAgZGV2aWNlUHJveGltaXR5RXZlbnQg
PSBldmVudDsKKyAgICBzaG91bGRCZSgnZGV2aWNlUHJveGltaXR5RXZlbnQudmFsdWUnLCAnZmly
ZWRFdmVudC52YWx1ZScpOworICAgIHNob3VsZEJlKCdkZXZpY2VQcm94aW1pdHlFdmVudC5taW4n
LCAnZmlyZWRFdmVudC5taW4nKTsKKyAgICBzaG91bGRCZSgnZGV2aWNlUHJveGltaXR5RXZlbnQu
bWF4JywgJ2ZpcmVkRXZlbnQubWF4Jyk7Cit9CisKK2Z1bmN0aW9uIGZpcnN0TGlzdGVuZXIoZXZl
bnQpIHsKKyAgICBjaGVja1Byb3hpbWl0eShldmVudCk7CisgICAgd2luZG93LnJlbW92ZUV2ZW50
TGlzdGVuZXIoJ3dlYmtpdGRldmljZXByb3hpbWl0eScsIGZpcnN0TGlzdGVuZXIpOworICAgIHdp
bmRvdy5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRkZXZpY2Vwcm94aW1pdHknLCB1cGRhdGVMaXN0
ZW5lcik7CisgICAgc2V0UHJveGltaXR5KDIyLjIsIDExLjEsIDMzLjMpOworfQorCitmdW5jdGlv
biB1cGRhdGVMaXN0ZW5lcihldmVudCkgeworICAgIGNoZWNrUHJveGltaXR5KGV2ZW50KTsKKyAg
ICBmaW5pc2hKU1Rlc3QoKTsKK30KKword2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdGRl
dmljZXByb3hpbWl0eScsIGZpcnN0TGlzdGVuZXIpOworc2V0UHJveGltaXR5KDIuMiwgMS4xLCAz
LjMpOword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Byb3hpbWl0eS93aW5kb3ctcHJv
cGVydHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcHJveGltaXR5L3dpbmRvdy1wcm9wZXJ0
eS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDNlNzVkODg1MjYzZmJmZjYzNGFjYmZlMjgxMjg3
YTVmMmM5NGU5NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Byb3hpbWl0eS93aW5k
b3ctcHJvcGVydHktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTggQEAKK1Rlc3RzIHRoYXQgdGhl
IHdpbmRvdy5EZXZpY2VQcm94aW1pdHlFdmVudCBhbmQgd2luZG93Lm9ud2Via2l0ZGV2aWNlcHJv
eGltaXR5IHByb3BlcnRpZXMgYXJlIHByZXNlbnQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworCitQQVNTIHR5cGVvZiB3aW5kb3cuRGV2aWNlUHJveGltaXR5RXZlbnQgPT0gJ29iamVj
dCcgaXMgdHJ1ZQorUEFTUyB0eXBlb2Ygd2luZG93LkRldmljZVByb3hpbWl0eUV2ZW50ID09ICdm
dW5jdGlvbicgaXMgZmFsc2UKK1BBU1MgaGFzRGV2aWNlUHJveGltaXR5RXZlbnRQcm9wZXJ0eSgp
IGlzIHRydWUKK1BBU1MgJ0RldmljZVByb3hpbWl0eUV2ZW50JyBpbiB3aW5kb3cgaXMgdHJ1ZQor
UEFTUyB3aW5kb3cuaGFzT3duUHJvcGVydHkoJ0RldmljZVByb3hpbWl0eUV2ZW50JykgaXMgdHJ1
ZQorUEFTUyB0eXBlb2Ygd2luZG93Lm9ud2Via2l0ZGV2aWNlcHJveGltaXR5ID09ICdvYmplY3Qn
IGlzIHRydWUKK1BBU1MgaGFzT25EZXZpY2VQcm94aW1pdHlQcm9wZXJ0eSgpIGlzIHRydWUKK1BB
U1MgJ29ud2Via2l0ZGV2aWNlcHJveGltaXR5JyBpbiB3aW5kb3cgaXMgdHJ1ZQorUEFTUyB3aW5k
b3cuaGFzT3duUHJvcGVydHkoJ29ud2Via2l0ZGV2aWNlcHJveGltaXR5JykgaXMgdHJ1ZQorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3Byb3hpbWl0eS93aW5kb3ctcHJvcGVydHkuaHRtbCBiL0xheW91dFRl
c3RzL3Byb3hpbWl0eS93aW5kb3ctcHJvcGVydHkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYzRjZWJlMjgz
NDJjZDBiNDFjYzcwODdiMDU2NTU0ZGZkNWVjMjEwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvcHJveGltaXR5L3dpbmRvdy1wcm9wZXJ0eS5odG1sCkBAIC0wLDAgKzEsNDAgQEAKKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24o
J1Rlc3RzIHRoYXQgdGhlIHdpbmRvdy5EZXZpY2VQcm94aW1pdHlFdmVudCBhbmQgd2luZG93Lm9u
d2Via2l0ZGV2aWNlcHJveGltaXR5IHByb3BlcnRpZXMgYXJlIHByZXNlbnQuJyk7CisKK2Z1bmN0
aW9uIGhhc0RldmljZVByb3hpbWl0eUV2ZW50UHJvcGVydHkoKQoreworICAgIGZvciAodmFyIHBy
b3BlcnR5IGluIHdpbmRvdykgeworICAgICAgICBpZiAocHJvcGVydHkgPT0gJ0RldmljZVByb3hp
bWl0eUV2ZW50JykKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICByZXR1cm4g
ZmFsc2U7Cit9CisKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIHdpbmRvdy5EZXZpY2VQcm94aW1pdHlF
dmVudCA9PSAnb2JqZWN0JyIpOworc2hvdWxkQmVGYWxzZSgidHlwZW9mIHdpbmRvdy5EZXZpY2VQ
cm94aW1pdHlFdmVudCA9PSAnZnVuY3Rpb24nIik7CitzaG91bGRCZVRydWUoImhhc0RldmljZVBy
b3hpbWl0eUV2ZW50UHJvcGVydHkoKSIpOworc2hvdWxkQmVUcnVlKCInRGV2aWNlUHJveGltaXR5
RXZlbnQnIGluIHdpbmRvdyIpOworc2hvdWxkQmVUcnVlKCJ3aW5kb3cuaGFzT3duUHJvcGVydHko
J0RldmljZVByb3hpbWl0eUV2ZW50JykiKTsKKworZnVuY3Rpb24gaGFzT25EZXZpY2VQcm94aW1p
dHlQcm9wZXJ0eSgpCit7CisgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gd2luZG93KSB7CisgICAg
ICAgIGlmIChwcm9wZXJ0eSA9PSAnb253ZWJraXRkZXZpY2Vwcm94aW1pdHknKQorICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKworc2hvdWxkQmVU
cnVlKCJ0eXBlb2Ygd2luZG93Lm9ud2Via2l0ZGV2aWNlcHJveGltaXR5ID09ICdvYmplY3QnIik7
CitzaG91bGRCZVRydWUoImhhc09uRGV2aWNlUHJveGltaXR5UHJvcGVydHkoKSIpOworc2hvdWxk
QmVUcnVlKCInb253ZWJraXRkZXZpY2Vwcm94aW1pdHknIGluIHdpbmRvdyIpOworc2hvdWxkQmVU
cnVlKCJ3aW5kb3cuaGFzT3duUHJvcGVydHkoJ29ud2Via2l0ZGV2aWNlcHJveGltaXR5JykiKTsK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>