<?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>220010</bug_id>
          
          <creation_ts>2020-12-18 00:42:35 -0800</creation_ts>
          <short_desc>[iOS] Do extensive search for microphone devices when trying to capture</short_desc>
          <delta_ts>2020-12-22 02:11:49 -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>WebRTC</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>peng.liu6</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1715671</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-12-18 00:42:35 -0800</bug_when>
    <thetext>[iOS] Do extensive search for microphone devices when trying to capture.
Currently, we do an extensive search immediately when enumerateDevices is called.
It is better to wait for getUserMedia calls.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1715693</commentid>
    <comment_count>1</comment_count>
      <attachid>416506</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-12-18 03:19:55 -0800</bug_when>
    <thetext>Created attachment 416506
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1715695</commentid>
    <comment_count>2</comment_count>
      <attachid>416507</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-12-18 03:29:25 -0800</bug_when>
    <thetext>Created attachment 416507
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1715697</commentid>
    <comment_count>3</comment_count>
      <attachid>416509</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-12-18 04:53:00 -0800</bug_when>
    <thetext>Created attachment 416509
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1715732</commentid>
    <comment_count>4</comment_count>
      <attachid>416523</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-12-18 09:22:10 -0800</bug_when>
    <thetext>Created attachment 416523
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1715741</commentid>
    <comment_count>5</comment_count>
      <attachid>416527</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-12-18 10:10:39 -0800</bug_when>
    <thetext>Created attachment 416527
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1715753</commentid>
    <comment_count>6</comment_count>
      <attachid>416527</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-12-18 10:51:36 -0800</bug_when>
    <thetext>Comment on attachment 416527
Patch

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

&gt; Source/WebKit/ChangeLog:10
&gt; +        exhaustive audio device query if no other page is needed it.

s/is needed/needs/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1715761</commentid>
    <comment_count>7</comment_count>
      <attachid>416527</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-12-18 11:11:35 -0800</bug_when>
    <thetext>Comment on attachment 416527
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        Extensive audio device query needs to enable the AudioSession.

s/needs to enable the AudioSession/needs to have an active AudioSession/

&gt; Source/WebCore/ChangeLog:10
&gt; +        To work around these side effects, we add an API that allows to control whether activating the audio session or not.

s/control whether activating the audio session or not/control whether the AudioSession is active or not/

&gt; Source/WebCore/platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.mm:219
&gt; +        RELEASE_LOG_ERROR(WebRTC, &quot;Failed to disactivate audio session with error: %@.&quot;, error.localizedDescription);

s/disactivate/deactivate/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1715861</commentid>
    <comment_count>8</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-12-18 16:58:43 -0800</bug_when>
    <thetext>&lt;rdar://problem/72036034&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1715862</commentid>
    <comment_count>9</comment_count>
      <attachid>416559</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-12-18 17:02:27 -0800</bug_when>
    <thetext>Created attachment 416559
Updated patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1715866</commentid>
    <comment_count>10</comment_count>
      <attachid>416560</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-12-18 17:12:53 -0800</bug_when>
    <thetext>Created attachment 416560
Updated patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1715991</commentid>
    <comment_count>11</comment_count>
      <attachid>416560</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-12-21 02:30:06 -0800</bug_when>
    <thetext>Comment on attachment 416560
Updated patch

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

&gt; Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.h:290
&gt; +#define AVAudioSessionModeVideoRecording PAL::get_AVFoundation_AVAudioSessionModeVideoRecording()

Unclear why we want this change.

&gt; Source/WebCore/PAL/pal/cocoa/AVFoundationSoftLink.mm:216
&gt; +SOFT_LINK_CONSTANT_FOR_SOURCE_WITH_EXPORT(PAL, AVFoundation, AVAudioSessionModeVideoRecording, NSString *, PAL_EXPORT)

Unclear why we want this change.

&gt; Source/WebCore/platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.mm:92
&gt; +    dispatch_async(m_dispatchQueue, makeBlockPtr([this, locker = holdLock(m_lock)] {

Sounds good enough for now. We might want to document this in ChangeLog though.
Ideally, we would use a completion handler.

&gt; Source/WebCore/platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.mm:104
&gt; +            RELEASE_LOG_ERROR(WebRTC, &quot;Failed to set audio session category with error: %@.&quot;, error.localizedDescription);

In theory, we could release the dispatch queue once we are done there.

&gt; Source/WebCore/platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.mm:160
&gt; +    auto locker = holdLock(m_lock);

We could reduce the time where we hold the lock by doing
{
    auto locker = holdLock(m_lock);
}

&gt; Source/WebCore/platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.mm:163
&gt; +    do {

I do not think we want this do loop here since we are locking above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1715999</commentid>
    <comment_count>12</comment_count>
      <attachid>416599</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-12-21 06:58:58 -0800</bug_when>
    <thetext>Created attachment 416599
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1716186</commentid>
    <comment_count>13</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-12-22 02:11:49 -0800</bug_when>
    <thetext>Committed r271049: &lt;https://trac.webkit.org/changeset/271049&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 416599.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416506</attachid>
            <date>2020-12-18 03:19:55 -0800</date>
            <delta_ts>2020-12-18 03:34:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220010-20201218121953.patch</filename>
            <type>text/plain</type>
            <size>13771</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwODg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzRiMmMxYjJiZWFkYzZi
OGQ0ZDRhMDVmOWJiNWIyZTg4YzQ1Zjc5Yy4uZWZmYmY3N2VjYzBhMjI4MzdlNWY3OWM3NDJmNzVl
YjAzNmVlNWE5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIwLTEyLTE4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBEbyBleHRlbnNp
dmUgc2VhcmNoIGZvciBtaWNyb3Bob25lIGRldmljZXMgd2hlbiB0cnlpbmcgdG8gY2FwdHVyZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwMDEwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXh0ZW5zaXZl
IGF1ZGlvIGRldmljZSBxdWVyeSBuZWVkcyB0byBlbmFibGUgdGhlIEF1ZGlvU2Vzc2lvbi4KKyAg
ICAgICAgRXZlbiB0aG91Z2ggdGhlIEF1ZGlvU2Vzc2lvbiBpcyBhbiBhdXhpbGlhcnkgc2Vzc2lv
biwgYWN0aXZhdGluZyBpdCBoYXMgc2lkZSBlZmZlY3RzLgorICAgICAgICBUbyB3b3JrIGFyb3Vu
ZCB0aGVzZSBzaWRlIGVmZmVjdHMsIHdlIGFkZCBhbiBBUEkgdGhhdCBhbGxvd3MgdG8gY29udHJv
bCB3aGV0aGVyIGFjdGl2YXRpbmcgdGhlIGF1ZGlvIHNlc3Npb24gb3Igbm90LgorICAgICAgICBX
ZWJLaXQgZnJhbWV3b3JrcyB1c2VzIHRoYXQgQVBJIHdoZW4gbmVlZGluZyB0byBkbyBhbiBleGhh
dXN0aXZlIHNlYXJjaC4KKyAgICAgICAgV2UgbWFrZSBzdXJlIHRvIHN3aXRjaCBvbiB0aGlzIGV4
dGVuc2l2ZSBxdWVyeSBtb2RlIHdoZW4gY3JlYXRpbmcgYSBzb3VyY2UuCisKKyAgICAgICAgTWFu
dWFsbHkgdGVzdGVkIG9uIGRldmljZSB3aXRoIGJ1aWx0LWluIGFuZCBCVCBoZWFkc2V0LgorCisg
ICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZUZhY3Rvcnku
aDoKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQ2FwdHVyZUZhY3Rvcnk6OmFkZEV4dGVuc2l2ZU9i
c2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQ2FwdHVyZUZhY3Rvcnk6OnJlbW92ZUV4
dGVuc2l2ZU9ic2VydmVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3MvQVZB
dWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlci5oOgorICAgICAgICAqIHBsYXRmb3JtL21l
ZGlhc3RyZWFtL2lvcy9BVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2VNYW5hZ2VyLm1tOgorICAg
ICAgICAoV2ViQ29yZTo6QVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlcjo6ZW5hYmxl
QWxsRGV2aWNlc1F1ZXJ5KToKKyAgICAgICAgKFdlYkNvcmU6OkFWQXVkaW9TZXNzaW9uQ2FwdHVy
ZURldmljZU1hbmFnZXI6OmRpc2FibGVBbGxEZXZpY2VzUXVlcnkpOgorICAgICAgICAqIHBsYXRm
b3JtL21lZGlhc3RyZWFtL2lvcy9Db3JlQXVkaW9DYXB0dXJlU291cmNlSU9TLmg6CisgICAgICAg
ICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9zL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2VJT1MubW06
CisgICAgICAgIChXZWJDb3JlOjpDb3JlQXVkaW9DYXB0dXJlU291cmNlRmFjdG9yeUlPUzo6YWRk
RXh0ZW5zaXZlT2JzZXJ2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q29yZUF1ZGlvQ2FwdHVyZVNv
dXJjZUZhY3RvcnlJT1M6OnJlbW92ZUV4dGVuc2l2ZU9ic2VydmVyKToKKyAgICAgICAgKFdlYkNv
cmU6OkNvcmVBdWRpb0NhcHR1cmVTb3VyY2VGYWN0b3J5SU9TOjpjcmVhdGVBdWRpb0NhcHR1cmVT
b3VyY2UpOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9Db3JlQXVkaW9DYXB0
dXJlU291cmNlLmg6CisgICAgICAgIChXZWJDb3JlOjpDb3JlQXVkaW9DYXB0dXJlU291cmNlRmFj
dG9yeTo6Y3JlYXRlQXVkaW9DYXB0dXJlU291cmNlKToKKwogMjAyMC0xMi0xNiAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgRXhwb3NlIFNGcmFtZVRyYW5zZm9y
bSB0byBEZWRpY2F0ZWRXb3JrZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNWU5ZTVmNjE2MTg3MTIwY2Q5NGZkOTE4
ODI5Mjg5YTQ4YTIzNWYwMC4uZDBjMjc2ZjZlNDlmOGViY2EyMTBkZWUwNDg0OGI5ODFmZDZkODQy
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAyMC0xMi0xOCAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gRG8gZXh0ZW5zaXZlIHNlYXJjaCBm
b3IgbWljcm9waG9uZSBkZXZpY2VzIHdoZW4gdHJ5aW5nIHRvIGNhcHR1cmUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDAxMAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVuYWJsZSBleGhhdXN0aXZlIGF1
ZGlvIGRldmljZSBxdWVyeSBpbiBjYXNlIGdldFVzZXJNZWRpYSBpcyBjYWxsZWQgZm9yIGF1ZGlv
IGNhcHR1cmUuCisgICAgICAgIEluIGNhc2UgdGhlIG1hbmFnZXIgaXMgZGVzdHJveWVkIG9yIHJl
c2V0IGFmdGVyIHNvbWUgdGltZSB3aXRob3V0IGNhcHR1cmluZywgbWFrZSBzdXJlIHRvIGRpc2Fi
bGUKKyAgICAgICAgZXhoYXVzdGl2ZSBhdWRpbyBkZXZpY2UgcXVlcnkgaWYgbm8gb3RoZXIgcGFn
ZSBpcyBuZWVkZWQgaXQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpVc2VyTWVkaWFQZXJt
aXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6aW52YWxpZGF0ZVBlbmRpbmdSZXF1ZXN0cyk6Cisg
ICAgICAgIChXZWJLaXQ6OlVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5Ojpy
ZXNldEFjY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OlVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0
TWFuYWdlclByb3h5OjpzdGFydFByb2Nlc3NpbmdVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdCk6
CisgICAgICAgICogVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclBy
b3h5Lmg6CisKIDIwMjAtMTItMTYgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgog
CiAgICAgICAgIE1ha2Ugc3VyZSBXZWJLaXQgV2ViU29ja2V0Q2hhbm5lbCBoYW5kbGUgc3VzcGVu
ZC9yZXN1bWUgY29ycmVjdGx5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlRmFjdG9yeS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZUZhY3RvcnkuaAppbmRleCA0
NDMwNTlmNzJjZWNlODY0YTliYWY0NzE0NWVjODVlM2FjMTI0ZGQyLi5iMTdjNzNmYzA5NWZiMmY1
YzkyOTIxMGNhYjdjNzRiZmVkYTkwNzZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlRmFjdG9yeS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2VGYWN0b3J5
LmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAKKyNpbmNs
dWRlIDx3dGYvV2Vha1B0ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CkBAIC02Miw2ICs2MywxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCBDYXB0dXJlRGV2aWNlTWFuYWdlciYgYXVkaW9DYXB0dXJlRGV2aWNlTWFuYWdlcigpID0gMDsK
ICAgICB2aXJ0dWFsIGNvbnN0IFZlY3RvcjxDYXB0dXJlRGV2aWNlPiYgc3BlYWtlckRldmljZXMo
KSBjb25zdCA9IDA7CiAKKyAgICBjbGFzcyBFeHRlbnNpdmVPYnNlcnZlciA6IHB1YmxpYyBDYW5N
YWtlV2Vha1B0cjxFeHRlbnNpdmVPYnNlcnZlcj4geyB9OworICAgIHZpcnR1YWwgdm9pZCBhZGRF
eHRlbnNpdmVPYnNlcnZlcihFeHRlbnNpdmVPYnNlcnZlciYpIHsgfTsKKyAgICB2aXJ0dWFsIHZv
aWQgcmVtb3ZlRXh0ZW5zaXZlT2JzZXJ2ZXIoRXh0ZW5zaXZlT2JzZXJ2ZXImKSB7IH07CisKIHBy
b3RlY3RlZDoKICAgICBBdWRpb0NhcHR1cmVGYWN0b3J5KCkgPSBkZWZhdWx0OwogfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2lvcy9BVkF1ZGlvU2Vz
c2lvbkNhcHR1cmVEZXZpY2VNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9pb3MvQVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlci5oCmluZGV4IDZh
YjRlMmM3NDJkMzFlNGJmY2Q4YzVlYjk4N2Q5MTE1NjE1ZDNjY2YuLjk0OTdhNjI5NzRmMTQxYjIz
MWVkYjczOTAyZjExMmNhY2RmYmRjMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL2lvcy9BVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2VNYW5hZ2VyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9zL0FWQXVkaW9TZXNz
aW9uQ2FwdHVyZURldmljZU1hbmFnZXIuaApAQCAtNTQsNiArNTQsOSBAQCBwdWJsaWM6CiAgICAg
CiAgICAgdm9pZCBzY2hlZHVsZVVwZGF0ZUNhcHR1cmVEZXZpY2VzKCk7CiAKKyAgICB2b2lkIGVu
YWJsZUFsbERldmljZXNRdWVyeSgpOworICAgIHZvaWQgZGlzYWJsZUFsbERldmljZXNRdWVyeSgp
OworCiBwcml2YXRlOgogICAgIEFWQXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXIoKTsK
ICAgICB+QVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlcigpOwpAQCAtNjcsNiArNzAs
NyBAQCBwcml2YXRlOgogICAgIFJldGFpblB0cjxXZWJBVkF1ZGlvU2Vzc2lvbkF2YWlsYWJsZUlu
cHV0c0xpc3RlbmVyPiBtX2xpc3RlbmVyOwogICAgIFJldGFpblB0cjxBVkF1ZGlvU2Vzc2lvbj4g
bV9hdWRpb1Nlc3Npb247CiAgICAgR2VuZXJpY1Rhc2tRdWV1ZTxUaW1lcj4gbV91cGRhdGVEZXZp
Y2VTdGF0ZVF1ZXVlOworICAgIGJvb2wgbV9zaG91bGRRdWVyeUFsbERldmljZXMgeyBmYWxzZSB9
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9zL0FWQXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1h
bmFnZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3MvQVZBdWRp
b1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlci5tbQppbmRleCA4MThjOGY1YTA3OThkZjgxNWQ2
NTM0M2Q3ZTA2OWRiM2QzM2RiM2NmLi40ZmI0ZDViZjMyYjUyODA0M2QyYTdmYTE2NTNhMmQ5YmQ0
NDZhMzJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9p
b3MvQVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlci5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3MvQVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNl
TWFuYWdlci5tbQpAQCAtMTk2LDYgKzE5NiwyNiBAQCB2b2lkIEFWQXVkaW9TZXNzaW9uQ2FwdHVy
ZURldmljZU1hbmFnZXI6OnJlZnJlc2hBdWRpb0NhcHR1cmVEZXZpY2VzKCkKICAgICAgICAgZGV2
aWNlQ2hhbmdlZCgpOwogfQogCit2b2lkIEFWQXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1hbmFn
ZXI6OmVuYWJsZUFsbERldmljZXNRdWVyeSgpCit7CisgICAgaWYgKG1fc2hvdWxkUXVlcnlBbGxE
ZXZpY2VzKQorICAgICAgICByZXR1cm47CisgICAgbV9zaG91bGRRdWVyeUFsbERldmljZXMgPSB0
cnVlOworICAgIHJlZnJlc2hBdWRpb0NhcHR1cmVEZXZpY2VzKCk7Cit9CisKK3ZvaWQgQVZBdWRp
b1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlcjo6ZGlzYWJsZUFsbERldmljZXNRdWVyeSgpCit7
CisgICAgaWYgKCFtX3Nob3VsZFF1ZXJ5QWxsRGV2aWNlcykKKyAgICAgICAgcmV0dXJuOworCisg
ICAgbV9zaG91bGRRdWVyeUFsbERldmljZXMgPSB0cnVlOworICAgIE5TRXJyb3IgKmVycm9yID0g
bmlsOworICAgIFttX2F1ZGlvU2Vzc2lvbiBzZXRBY3RpdmU6Tk8gd2l0aE9wdGlvbnM6MCBlcnJv
cjomZXJyb3JdOworICAgIGlmIChlcnJvcikKKyAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoV2Vi
UlRDLCAiRmFpbGVkIHRvIGRpc2FjdGl2YXRlIGF1ZGlvIHNlc3Npb24gd2l0aCBlcnJvcjogJUAu
IiwgZXJyb3IubG9jYWxpemVkRGVzY3JpcHRpb24pOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBQTEFURk9STShJT1NfRkFN
SUxZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9z
L0NvcmVBdWRpb0NhcHR1cmVTb3VyY2VJT1MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL2lvcy9Db3JlQXVkaW9DYXB0dXJlU291cmNlSU9TLmgKaW5kZXggMTJlYzUxOGY2
OTExMmRiOWM4ZDhhN2E5YzNkOWFkMzJiOTEyMmE2ZS4uNjY0ODVlMzJiOTc0YjI2YjZkYjcwZWYz
MWY0MTU0NTBjMGM2MzFmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vaW9zL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2VJT1MuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3MvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUlPUy5o
CkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRlICJBdWRpb1Nlc3Npb24uaCIKICNpbmNsdWRl
ICJDb3JlQXVkaW9DYXB0dXJlU291cmNlLmgiCisjaW5jbHVkZSA8d3RmL1dlYWtIYXNoU2V0Lmg+
CiAKIE9CSkNfQ0xBU1MgV2ViQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUlPU0xpc3RlbmVyOwogCkBA
IC00NCw3ICs0NSwxMiBAQCBwcml2YXRlOgogICAgIHZvaWQgYmVnaW5BdWRpb1Nlc3Npb25JbnRl
cnJ1cHRpb24oKSB7IGJlZ2luSW50ZXJydXB0aW9uKCk7IH0KICAgICB2b2lkIGVuZEF1ZGlvU2Vz
c2lvbkludGVycnVwdGlvbihBdWRpb1Nlc3Npb246Ok1heVJlc3VtZSkgeyBlbmRJbnRlcnJ1cHRp
b24oKTsgfQogCisgICAgQ2FwdHVyZVNvdXJjZU9yRXJyb3IgY3JlYXRlQXVkaW9DYXB0dXJlU291
cmNlKGNvbnN0IENhcHR1cmVEZXZpY2UmLCBTdHJpbmcmJiwgY29uc3QgTWVkaWFDb25zdHJhaW50
cyopIGZpbmFsOworICAgIHZvaWQgYWRkRXh0ZW5zaXZlT2JzZXJ2ZXIoRXh0ZW5zaXZlT2JzZXJ2
ZXImKSBmaW5hbDsKKyAgICB2b2lkIHJlbW92ZUV4dGVuc2l2ZU9ic2VydmVyKEV4dGVuc2l2ZU9i
c2VydmVyJikgZmluYWw7CisKICAgICBSZXRhaW5QdHI8V2ViQ29yZUF1ZGlvQ2FwdHVyZVNvdXJj
ZUlPU0xpc3RlbmVyPiBtX2xpc3RlbmVyOworICAgIFdlYWtIYXNoU2V0PEV4dGVuc2l2ZU9ic2Vy
dmVyPiBtX29ic2VydmVyczsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2lvcy9Db3JlQXVkaW9DYXB0
dXJlU291cmNlSU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9z
L0NvcmVBdWRpb0NhcHR1cmVTb3VyY2VJT1MubW0KaW5kZXggNGEyMDQ3YmM0NDNhNjU2NjI0ZDMx
YjA1YmZhNzgyYTE4N2U1MjUyMC4uMmIwMjk0ZTUwYjE2MGU3NjljMGY0NTljZDRjZWVmYTdkNzRm
YmJjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9z
L0NvcmVBdWRpb0NhcHR1cmVTb3VyY2VJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vaW9zL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2VJT1MubW0KQEAgLTI4LDYg
KzI4LDcgQEAKIAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIFBMQVRGT1JNKElPU19GQU1J
TFkpCiAKKyNpbXBvcnQgIkFWQXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXIuaCIKICNp
bXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQgPEFWRm91bmRhdGlvbi9BVkF1ZGlvU2Vzc2lvbi5o
PgogI2ltcG9ydCA8d3RmL01haW5UaHJlYWQuaD4KQEAgLTEwMiw2ICsxMDMsMjkgQEAgQ29yZUF1
ZGlvQ2FwdHVyZVNvdXJjZUZhY3RvcnkmIENvcmVBdWRpb0NhcHR1cmVTb3VyY2VGYWN0b3J5Ojpz
aW5nbGV0b24oKQogICAgIHJldHVybiBmYWN0b3J5LmdldCgpOwogfQogCit2b2lkIENvcmVBdWRp
b0NhcHR1cmVTb3VyY2VGYWN0b3J5SU9TOjphZGRFeHRlbnNpdmVPYnNlcnZlcihFeHRlbnNpdmVP
YnNlcnZlciYgb2JzZXJ2ZXIpCit7CisgICAgbV9vYnNlcnZlcnMuYWRkKG9ic2VydmVyKTsKKyAg
ICBBVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2VNYW5hZ2VyOjpzaW5nbGV0b24oKS5lbmFibGVB
bGxEZXZpY2VzUXVlcnkoKTsKK30KKwordm9pZCBDb3JlQXVkaW9DYXB0dXJlU291cmNlRmFjdG9y
eUlPUzo6cmVtb3ZlRXh0ZW5zaXZlT2JzZXJ2ZXIoRXh0ZW5zaXZlT2JzZXJ2ZXImIG9ic2VydmVy
KQoreworICAgIG1fb2JzZXJ2ZXJzLnJlbW92ZShvYnNlcnZlcik7CisgICAgaWYgKG1fb2JzZXJ2
ZXJzLmNvbXB1dGVzRW1wdHkoKSkKKyAgICAgICAgQVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNl
TWFuYWdlcjo6c2luZ2xldG9uKCkuZGlzYWJsZUFsbERldmljZXNRdWVyeSgpOworfQorCitDYXB0
dXJlU291cmNlT3JFcnJvciBDb3JlQXVkaW9DYXB0dXJlU291cmNlRmFjdG9yeUlPUzo6Y3JlYXRl
QXVkaW9DYXB0dXJlU291cmNlKGNvbnN0IENhcHR1cmVEZXZpY2UmIGRldmljZSwgU3RyaW5nJiYg
aGFzaFNhbHQsIGNvbnN0IE1lZGlhQ29uc3RyYWludHMqIGNvbnN0cmFpbnRzKQoreworICAgIEFW
QXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXI6OnNpbmdsZXRvbigpLmVuYWJsZUFsbERl
dmljZXNRdWVyeSgpOworICAgIGF1dG8gc291cmNlT3JFcnJvciA9IENvcmVBdWRpb0NhcHR1cmVT
b3VyY2U6OmNyZWF0ZShTdHJpbmcgeyBkZXZpY2UucGVyc2lzdGVudElkKCkgfSwgV1RGTW92ZSho
YXNoU2FsdCksIGNvbnN0cmFpbnRzKTsKKworICAgIGlmIChtX29ic2VydmVycy5jb21wdXRlc0Vt
cHR5KCkpCisgICAgICAgIEFWQXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXI6OnNpbmds
ZXRvbigpLmRpc2FibGVBbGxEZXZpY2VzUXVlcnkoKTsKKyAgICByZXR1cm4gc291cmNlT3JFcnJv
cjsKK30KKwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL21hYy9Db3JlQXVkaW9DYXB0dXJlU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9tYWMvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZS5oCmluZGV4IDkyYWY1NWMy
NzI5ZGMwNDkyMGUzOTMxOGNiNDM4ZmZlNTZjNGY2NTUuLjViODIyZjI5MTRlYzNkMDhjZjliOGZj
YzM3MTk5YTc4ZGY4N2VkZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL21hYy9Db3JlQXVkaW9DYXB0dXJlU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2UuaApAQCAt
MTE3LDE1ICsxMTcsMTYgQEAgcHVibGljOgogICAgIHZvaWQgZGV2aWNlc0NoYW5nZWQoY29uc3Qg
VmVjdG9yPENhcHR1cmVEZXZpY2U+Jik7CiAKIHByaXZhdGU6Ci0gICAgQ2FwdHVyZVNvdXJjZU9y
RXJyb3IgY3JlYXRlQXVkaW9DYXB0dXJlU291cmNlKGNvbnN0IENhcHR1cmVEZXZpY2UmIGRldmlj
ZSwgU3RyaW5nJiYgaGFzaFNhbHQsIGNvbnN0IE1lZGlhQ29uc3RyYWludHMqIGNvbnN0cmFpbnRz
KSBmaW5hbAotICAgIHsKLSAgICAgICAgcmV0dXJuIENvcmVBdWRpb0NhcHR1cmVTb3VyY2U6OmNy
ZWF0ZShTdHJpbmcgeyBkZXZpY2UucGVyc2lzdGVudElkKCkgfSwgV1RGTW92ZShoYXNoU2FsdCks
IGNvbnN0cmFpbnRzKTsKLSAgICB9Ci0KKyAgICBDYXB0dXJlU291cmNlT3JFcnJvciBjcmVhdGVB
dWRpb0NhcHR1cmVTb3VyY2UoY29uc3QgQ2FwdHVyZURldmljZSYsIFN0cmluZyYmLCBjb25zdCBN
ZWRpYUNvbnN0cmFpbnRzKikgb3ZlcnJpZGU7CiAgICAgQ2FwdHVyZURldmljZU1hbmFnZXImIGF1
ZGlvQ2FwdHVyZURldmljZU1hbmFnZXIoKSBmaW5hbDsKICAgICBjb25zdCBWZWN0b3I8Q2FwdHVy
ZURldmljZT4mIHNwZWFrZXJEZXZpY2VzKCkgY29uc3QgZmluYWw7CiB9OwogCitpbmxpbmUgQ2Fw
dHVyZVNvdXJjZU9yRXJyb3IgQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUZhY3Rvcnk6OmNyZWF0ZUF1
ZGlvQ2FwdHVyZVNvdXJjZShjb25zdCBDYXB0dXJlRGV2aWNlJiBkZXZpY2UsIFN0cmluZyYmIGhh
c2hTYWx0LCBjb25zdCBNZWRpYUNvbnN0cmFpbnRzKiBjb25zdHJhaW50cykKK3sKKyAgICByZXR1
cm4gQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6Y3JlYXRlKFN0cmluZyB7IGRldmljZS5wZXJzaXN0
ZW50SWQoKSB9LCBXVEZNb3ZlKGhhc2hTYWx0KSwgY29uc3RyYWludHMpOworfQorCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RN
YW5hZ2VyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlz
c2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwCmluZGV4IDQ5MmE1NjlmMjBkNWVlMDA4MTZlMDZm
NDllM2I0M2NkNzY5ZDE0YTQuLmExZmM3YmQ4N2U1MzJhNTI5YjUwNjE5MjFkYmRiYjgxNGRhNGEx
NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9V
c2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAKQEAgLTEyNSw2ICsxMjUs
OCBAQCB2b2lkIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5OjppbnZhbGlk
YXRlUGVuZGluZ1JlcXVlc3RzKCkKICAgICAgICAgcmVxdWVzdC0+aW52YWxpZGF0ZSgpOwogCiAg
ICAgbV9wZW5kaW5nRGV2aWNlUmVxdWVzdHMuY2xlYXIoKTsKKworICAgIFJlYWx0aW1lTWVkaWFT
b3VyY2VDZW50ZXI6OnNpbmdsZXRvbigpLmF1ZGlvQ2FwdHVyZUZhY3RvcnkoKS5yZW1vdmVFeHRl
bnNpdmVPYnNlcnZlcigqdGhpcyk7CiB9CiAKIHZvaWQgVXNlck1lZGlhUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyUHJveHk6OnN0b3BDYXB0dXJlKCkKQEAgLTI5NSw2ICsyOTcsNyBAQCB2b2lkIFVz
ZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5OjpyZXNldEFjY2VzcyhPcHRpb25h
bDxGcmFtZUlkZW50aWZpZQogICAgIG1fcHJlZ3JhbnRlZFJlcXVlc3RzLmNsZWFyKCk7CiAgICAg
bV9kZW5pZWRSZXF1ZXN0cy5jbGVhcigpOwogICAgIG1faGFzRmlsdGVyZWREZXZpY2VMaXN0ID0g
ZmFsc2U7CisgICAgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xldG9uKCkuYXVkaW9D
YXB0dXJlRmFjdG9yeSgpLnJlbW92ZUV4dGVuc2l2ZU9ic2VydmVyKCp0aGlzKTsKIH0KIAogY29u
c3QgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eSogVXNlck1lZGlhUGVybWlzc2lvblJl
cXVlc3RNYW5hZ2VyUHJveHk6OnNlYXJjaEZvckdyYW50ZWRSZXF1ZXN0KEZyYW1lSWRlbnRpZmll
ciBmcmFtZUlELCBjb25zdCBTZWN1cml0eU9yaWdpbiYgdXNlck1lZGlhRG9jdW1lbnRPcmlnaW4s
IGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB0b3BMZXZlbERvY3VtZW50T3JpZ2luLCBib29sIG5lZWRz
QXVkaW8sIGJvb2wgbmVlZHNWaWRlbykgY29uc3QKQEAgLTQzNyw2ICs0NDAsOSBAQCB2b2lkIFVz
ZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5Ojpwcm9jZXNzTmV4dFVzZXJNZWRp
YVJlcXVlc3RJZk5lZWRlZAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiB2b2lkIFVzZXJNZWRp
YVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5OjpzdGFydFByb2Nlc3NpbmdVc2VyTWVkaWFQ
ZXJtaXNzaW9uUmVxdWVzdChSZWY8VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eT4mJiBy
ZXF1ZXN0KQogeworICAgIGlmIChyZXF1ZXN0LT5yZXF1aXJlc0F1ZGlvQ2FwdHVyZSgpKQorICAg
ICAgICBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24oKS5hdWRpb0NhcHR1cmVG
YWN0b3J5KCkuYWRkRXh0ZW5zaXZlT2JzZXJ2ZXIoKnRoaXMpOworCiAgICAgbV9jdXJyZW50VXNl
ck1lZGlhUmVxdWVzdCA9IFdURk1vdmUocmVxdWVzdCk7CiAKICAgICBhdXRvJiB1c2VyTWVkaWFE
b2N1bWVudFNlY3VyaXR5T3JpZ2luID0gbV9jdXJyZW50VXNlck1lZGlhUmVxdWVzdC0+dXNlck1l
ZGlhRG9jdW1lbnRTZWN1cml0eU9yaWdpbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuaCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5
LmgKaW5kZXggOGZlYjQ1ODc1MWEyNjI4N2Q0ZTFiYjJhYTkzODUyZjI2ZDgzMzM4Zi4uMjc3Yjdi
YTgzNjUwYWQxMzgxMGExMDE2YTdhOWVkNmYzNzA1YWVkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1h
bmFnZXJQcm94eS5oCkBAIC0yMiw2ICsyMiw3IEBACiAjaW5jbHVkZSAiVXNlck1lZGlhUGVybWlz
c2lvbkNoZWNrUHJveHkuaCIKICNpbmNsdWRlICJVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFBy
b3h5LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYVByb2R1Y2VyLmg+CisjaW5jbHVkZSA8V2Vi
Q29yZS9SZWFsdGltZU1lZGlhU291cmNlRmFjdG9yeS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2Vj
dXJpdHlPcmlnaW4uaD4KICNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KICNpbmNs
dWRlIDx3dGYvRGVxdWUuaD4KQEAgLTI5LDcgKzMwLDYgQEAKICNpbmNsdWRlIDx3dGYvTG9nZ2Vy
SGVscGVyLmg+CiAjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KICNpbmNsdWRlIDx3dGYvU2Vjb25k
cy5oPgotI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIENhcHR1cmVEZXZpY2U7CkBAIC00Myw3ICs0Myw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewog
Y2xhc3MgV2ViUGFnZVByb3h5OwogCiBjbGFzcyBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1h
bmFnZXJQcm94eQotICAgIDogcHVibGljIENhbk1ha2VXZWFrUHRyPFVzZXJNZWRpYVBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlclByb3h5PgorICAgIDogcHVibGljIFdlYkNvcmU6OkF1ZGlvQ2FwdHVy
ZUZhY3Rvcnk6OkV4dGVuc2l2ZU9ic2VydmVyCiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECiAg
ICAgLCBwcml2YXRlIExvZ2dlckhlbHBlcgogI2VuZGlmCg==
</data>
<flag name="commit-queue"
          id="434060"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416507</attachid>
            <date>2020-12-18 03:29:25 -0800</date>
            <delta_ts>2020-12-18 04:52:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220010-20201218122919.patch</filename>
            <type>text/plain</type>
            <size>13641</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwODg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzRiMmMxYjJiZWFkYzZi
OGQ0ZDRhMDVmOWJiNWIyZTg4YzQ1Zjc5Yy4uZWZmYmY3N2VjYzBhMjI4MzdlNWY3OWM3NDJmNzVl
YjAzNmVlNWE5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIwLTEyLTE4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBEbyBleHRlbnNp
dmUgc2VhcmNoIGZvciBtaWNyb3Bob25lIGRldmljZXMgd2hlbiB0cnlpbmcgdG8gY2FwdHVyZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwMDEwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXh0ZW5zaXZl
IGF1ZGlvIGRldmljZSBxdWVyeSBuZWVkcyB0byBlbmFibGUgdGhlIEF1ZGlvU2Vzc2lvbi4KKyAg
ICAgICAgRXZlbiB0aG91Z2ggdGhlIEF1ZGlvU2Vzc2lvbiBpcyBhbiBhdXhpbGlhcnkgc2Vzc2lv
biwgYWN0aXZhdGluZyBpdCBoYXMgc2lkZSBlZmZlY3RzLgorICAgICAgICBUbyB3b3JrIGFyb3Vu
ZCB0aGVzZSBzaWRlIGVmZmVjdHMsIHdlIGFkZCBhbiBBUEkgdGhhdCBhbGxvd3MgdG8gY29udHJv
bCB3aGV0aGVyIGFjdGl2YXRpbmcgdGhlIGF1ZGlvIHNlc3Npb24gb3Igbm90LgorICAgICAgICBX
ZWJLaXQgZnJhbWV3b3JrcyB1c2VzIHRoYXQgQVBJIHdoZW4gbmVlZGluZyB0byBkbyBhbiBleGhh
dXN0aXZlIHNlYXJjaC4KKyAgICAgICAgV2UgbWFrZSBzdXJlIHRvIHN3aXRjaCBvbiB0aGlzIGV4
dGVuc2l2ZSBxdWVyeSBtb2RlIHdoZW4gY3JlYXRpbmcgYSBzb3VyY2UuCisKKyAgICAgICAgTWFu
dWFsbHkgdGVzdGVkIG9uIGRldmljZSB3aXRoIGJ1aWx0LWluIGFuZCBCVCBoZWFkc2V0LgorCisg
ICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZUZhY3Rvcnku
aDoKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQ2FwdHVyZUZhY3Rvcnk6OmFkZEV4dGVuc2l2ZU9i
c2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQ2FwdHVyZUZhY3Rvcnk6OnJlbW92ZUV4
dGVuc2l2ZU9ic2VydmVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3MvQVZB
dWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlci5oOgorICAgICAgICAqIHBsYXRmb3JtL21l
ZGlhc3RyZWFtL2lvcy9BVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2VNYW5hZ2VyLm1tOgorICAg
ICAgICAoV2ViQ29yZTo6QVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlcjo6ZW5hYmxl
QWxsRGV2aWNlc1F1ZXJ5KToKKyAgICAgICAgKFdlYkNvcmU6OkFWQXVkaW9TZXNzaW9uQ2FwdHVy
ZURldmljZU1hbmFnZXI6OmRpc2FibGVBbGxEZXZpY2VzUXVlcnkpOgorICAgICAgICAqIHBsYXRm
b3JtL21lZGlhc3RyZWFtL2lvcy9Db3JlQXVkaW9DYXB0dXJlU291cmNlSU9TLmg6CisgICAgICAg
ICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9zL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2VJT1MubW06
CisgICAgICAgIChXZWJDb3JlOjpDb3JlQXVkaW9DYXB0dXJlU291cmNlRmFjdG9yeUlPUzo6YWRk
RXh0ZW5zaXZlT2JzZXJ2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q29yZUF1ZGlvQ2FwdHVyZVNv
dXJjZUZhY3RvcnlJT1M6OnJlbW92ZUV4dGVuc2l2ZU9ic2VydmVyKToKKyAgICAgICAgKFdlYkNv
cmU6OkNvcmVBdWRpb0NhcHR1cmVTb3VyY2VGYWN0b3J5SU9TOjpjcmVhdGVBdWRpb0NhcHR1cmVT
b3VyY2UpOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9Db3JlQXVkaW9DYXB0
dXJlU291cmNlLmg6CisgICAgICAgIChXZWJDb3JlOjpDb3JlQXVkaW9DYXB0dXJlU291cmNlRmFj
dG9yeTo6Y3JlYXRlQXVkaW9DYXB0dXJlU291cmNlKToKKwogMjAyMC0xMi0xNiAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgRXhwb3NlIFNGcmFtZVRyYW5zZm9y
bSB0byBEZWRpY2F0ZWRXb3JrZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNWU5ZTVmNjE2MTg3MTIwY2Q5NGZkOTE4
ODI5Mjg5YTQ4YTIzNWYwMC4uZDBjMjc2ZjZlNDlmOGViY2EyMTBkZWUwNDg0OGI5ODFmZDZkODQy
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAyMC0xMi0xOCAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gRG8gZXh0ZW5zaXZlIHNlYXJjaCBm
b3IgbWljcm9waG9uZSBkZXZpY2VzIHdoZW4gdHJ5aW5nIHRvIGNhcHR1cmUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDAxMAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVuYWJsZSBleGhhdXN0aXZlIGF1
ZGlvIGRldmljZSBxdWVyeSBpbiBjYXNlIGdldFVzZXJNZWRpYSBpcyBjYWxsZWQgZm9yIGF1ZGlv
IGNhcHR1cmUuCisgICAgICAgIEluIGNhc2UgdGhlIG1hbmFnZXIgaXMgZGVzdHJveWVkIG9yIHJl
c2V0IGFmdGVyIHNvbWUgdGltZSB3aXRob3V0IGNhcHR1cmluZywgbWFrZSBzdXJlIHRvIGRpc2Fi
bGUKKyAgICAgICAgZXhoYXVzdGl2ZSBhdWRpbyBkZXZpY2UgcXVlcnkgaWYgbm8gb3RoZXIgcGFn
ZSBpcyBuZWVkZWQgaXQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpVc2VyTWVkaWFQZXJt
aXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6aW52YWxpZGF0ZVBlbmRpbmdSZXF1ZXN0cyk6Cisg
ICAgICAgIChXZWJLaXQ6OlVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5Ojpy
ZXNldEFjY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OlVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0
TWFuYWdlclByb3h5OjpzdGFydFByb2Nlc3NpbmdVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdCk6
CisgICAgICAgICogVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclBy
b3h5Lmg6CisKIDIwMjAtMTItMTYgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgog
CiAgICAgICAgIE1ha2Ugc3VyZSBXZWJLaXQgV2ViU29ja2V0Q2hhbm5lbCBoYW5kbGUgc3VzcGVu
ZC9yZXN1bWUgY29ycmVjdGx5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlRmFjdG9yeS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZUZhY3RvcnkuaAppbmRleCA0
NDMwNTlmNzJjZWNlODY0YTliYWY0NzE0NWVjODVlM2FjMTI0ZGQyLi5iMTdjNzNmYzA5NWZiMmY1
YzkyOTIxMGNhYjdjNzRiZmVkYTkwNzZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlRmFjdG9yeS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2VGYWN0b3J5
LmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAKKyNpbmNs
dWRlIDx3dGYvV2Vha1B0ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CkBAIC02Miw2ICs2MywxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCBDYXB0dXJlRGV2aWNlTWFuYWdlciYgYXVkaW9DYXB0dXJlRGV2aWNlTWFuYWdlcigpID0gMDsK
ICAgICB2aXJ0dWFsIGNvbnN0IFZlY3RvcjxDYXB0dXJlRGV2aWNlPiYgc3BlYWtlckRldmljZXMo
KSBjb25zdCA9IDA7CiAKKyAgICBjbGFzcyBFeHRlbnNpdmVPYnNlcnZlciA6IHB1YmxpYyBDYW5N
YWtlV2Vha1B0cjxFeHRlbnNpdmVPYnNlcnZlcj4geyB9OworICAgIHZpcnR1YWwgdm9pZCBhZGRF
eHRlbnNpdmVPYnNlcnZlcihFeHRlbnNpdmVPYnNlcnZlciYpIHsgfTsKKyAgICB2aXJ0dWFsIHZv
aWQgcmVtb3ZlRXh0ZW5zaXZlT2JzZXJ2ZXIoRXh0ZW5zaXZlT2JzZXJ2ZXImKSB7IH07CisKIHBy
b3RlY3RlZDoKICAgICBBdWRpb0NhcHR1cmVGYWN0b3J5KCkgPSBkZWZhdWx0OwogfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2lvcy9BVkF1ZGlvU2Vz
c2lvbkNhcHR1cmVEZXZpY2VNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9pb3MvQVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlci5oCmluZGV4IDZh
YjRlMmM3NDJkMzFlNGJmY2Q4YzVlYjk4N2Q5MTE1NjE1ZDNjY2YuLjk0OTdhNjI5NzRmMTQxYjIz
MWVkYjczOTAyZjExMmNhY2RmYmRjMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL2lvcy9BVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2VNYW5hZ2VyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9zL0FWQXVkaW9TZXNz
aW9uQ2FwdHVyZURldmljZU1hbmFnZXIuaApAQCAtNTQsNiArNTQsOSBAQCBwdWJsaWM6CiAgICAg
CiAgICAgdm9pZCBzY2hlZHVsZVVwZGF0ZUNhcHR1cmVEZXZpY2VzKCk7CiAKKyAgICB2b2lkIGVu
YWJsZUFsbERldmljZXNRdWVyeSgpOworICAgIHZvaWQgZGlzYWJsZUFsbERldmljZXNRdWVyeSgp
OworCiBwcml2YXRlOgogICAgIEFWQXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXIoKTsK
ICAgICB+QVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlcigpOwpAQCAtNjcsNiArNzAs
NyBAQCBwcml2YXRlOgogICAgIFJldGFpblB0cjxXZWJBVkF1ZGlvU2Vzc2lvbkF2YWlsYWJsZUlu
cHV0c0xpc3RlbmVyPiBtX2xpc3RlbmVyOwogICAgIFJldGFpblB0cjxBVkF1ZGlvU2Vzc2lvbj4g
bV9hdWRpb1Nlc3Npb247CiAgICAgR2VuZXJpY1Rhc2tRdWV1ZTxUaW1lcj4gbV91cGRhdGVEZXZp
Y2VTdGF0ZVF1ZXVlOworICAgIGJvb2wgbV9zaG91bGRRdWVyeUFsbERldmljZXMgeyBmYWxzZSB9
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9zL0FWQXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1h
bmFnZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3MvQVZBdWRp
b1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlci5tbQppbmRleCA4MThjOGY1YTA3OThkZjgxNWQ2
NTM0M2Q3ZTA2OWRiM2QzM2RiM2NmLi40ZmI0ZDViZjMyYjUyODA0M2QyYTdmYTE2NTNhMmQ5YmQ0
NDZhMzJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9p
b3MvQVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlci5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3MvQVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNl
TWFuYWdlci5tbQpAQCAtMTk2LDYgKzE5NiwyNiBAQCB2b2lkIEFWQXVkaW9TZXNzaW9uQ2FwdHVy
ZURldmljZU1hbmFnZXI6OnJlZnJlc2hBdWRpb0NhcHR1cmVEZXZpY2VzKCkKICAgICAgICAgZGV2
aWNlQ2hhbmdlZCgpOwogfQogCit2b2lkIEFWQXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1hbmFn
ZXI6OmVuYWJsZUFsbERldmljZXNRdWVyeSgpCit7CisgICAgaWYgKG1fc2hvdWxkUXVlcnlBbGxE
ZXZpY2VzKQorICAgICAgICByZXR1cm47CisgICAgbV9zaG91bGRRdWVyeUFsbERldmljZXMgPSB0
cnVlOworICAgIHJlZnJlc2hBdWRpb0NhcHR1cmVEZXZpY2VzKCk7Cit9CisKK3ZvaWQgQVZBdWRp
b1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlcjo6ZGlzYWJsZUFsbERldmljZXNRdWVyeSgpCit7
CisgICAgaWYgKCFtX3Nob3VsZFF1ZXJ5QWxsRGV2aWNlcykKKyAgICAgICAgcmV0dXJuOworCisg
ICAgbV9zaG91bGRRdWVyeUFsbERldmljZXMgPSB0cnVlOworICAgIE5TRXJyb3IgKmVycm9yID0g
bmlsOworICAgIFttX2F1ZGlvU2Vzc2lvbiBzZXRBY3RpdmU6Tk8gd2l0aE9wdGlvbnM6MCBlcnJv
cjomZXJyb3JdOworICAgIGlmIChlcnJvcikKKyAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoV2Vi
UlRDLCAiRmFpbGVkIHRvIGRpc2FjdGl2YXRlIGF1ZGlvIHNlc3Npb24gd2l0aCBlcnJvcjogJUAu
IiwgZXJyb3IubG9jYWxpemVkRGVzY3JpcHRpb24pOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBQTEFURk9STShJT1NfRkFN
SUxZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9z
L0NvcmVBdWRpb0NhcHR1cmVTb3VyY2VJT1MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL2lvcy9Db3JlQXVkaW9DYXB0dXJlU291cmNlSU9TLmgKaW5kZXggMTJlYzUxOGY2
OTExMmRiOWM4ZDhhN2E5YzNkOWFkMzJiOTEyMmE2ZS4uNjY0ODVlMzJiOTc0YjI2YjZkYjcwZWYz
MWY0MTU0NTBjMGM2MzFmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vaW9zL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2VJT1MuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3MvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUlPUy5o
CkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRlICJBdWRpb1Nlc3Npb24uaCIKICNpbmNsdWRl
ICJDb3JlQXVkaW9DYXB0dXJlU291cmNlLmgiCisjaW5jbHVkZSA8d3RmL1dlYWtIYXNoU2V0Lmg+
CiAKIE9CSkNfQ0xBU1MgV2ViQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUlPU0xpc3RlbmVyOwogCkBA
IC00NCw3ICs0NSwxMiBAQCBwcml2YXRlOgogICAgIHZvaWQgYmVnaW5BdWRpb1Nlc3Npb25JbnRl
cnJ1cHRpb24oKSB7IGJlZ2luSW50ZXJydXB0aW9uKCk7IH0KICAgICB2b2lkIGVuZEF1ZGlvU2Vz
c2lvbkludGVycnVwdGlvbihBdWRpb1Nlc3Npb246Ok1heVJlc3VtZSkgeyBlbmRJbnRlcnJ1cHRp
b24oKTsgfQogCisgICAgQ2FwdHVyZVNvdXJjZU9yRXJyb3IgY3JlYXRlQXVkaW9DYXB0dXJlU291
cmNlKGNvbnN0IENhcHR1cmVEZXZpY2UmLCBTdHJpbmcmJiwgY29uc3QgTWVkaWFDb25zdHJhaW50
cyopIGZpbmFsOworICAgIHZvaWQgYWRkRXh0ZW5zaXZlT2JzZXJ2ZXIoRXh0ZW5zaXZlT2JzZXJ2
ZXImKSBmaW5hbDsKKyAgICB2b2lkIHJlbW92ZUV4dGVuc2l2ZU9ic2VydmVyKEV4dGVuc2l2ZU9i
c2VydmVyJikgZmluYWw7CisKICAgICBSZXRhaW5QdHI8V2ViQ29yZUF1ZGlvQ2FwdHVyZVNvdXJj
ZUlPU0xpc3RlbmVyPiBtX2xpc3RlbmVyOworICAgIFdlYWtIYXNoU2V0PEV4dGVuc2l2ZU9ic2Vy
dmVyPiBtX29ic2VydmVyczsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2lvcy9Db3JlQXVkaW9DYXB0
dXJlU291cmNlSU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9z
L0NvcmVBdWRpb0NhcHR1cmVTb3VyY2VJT1MubW0KaW5kZXggNGEyMDQ3YmM0NDNhNjU2NjI0ZDMx
YjA1YmZhNzgyYTE4N2U1MjUyMC4uMmIwMjk0ZTUwYjE2MGU3NjljMGY0NTljZDRjZWVmYTdkNzRm
YmJjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9z
L0NvcmVBdWRpb0NhcHR1cmVTb3VyY2VJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vaW9zL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2VJT1MubW0KQEAgLTI4LDYg
KzI4LDcgQEAKIAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIFBMQVRGT1JNKElPU19GQU1J
TFkpCiAKKyNpbXBvcnQgIkFWQXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXIuaCIKICNp
bXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQgPEFWRm91bmRhdGlvbi9BVkF1ZGlvU2Vzc2lvbi5o
PgogI2ltcG9ydCA8d3RmL01haW5UaHJlYWQuaD4KQEAgLTEwMiw2ICsxMDMsMjkgQEAgQ29yZUF1
ZGlvQ2FwdHVyZVNvdXJjZUZhY3RvcnkmIENvcmVBdWRpb0NhcHR1cmVTb3VyY2VGYWN0b3J5Ojpz
aW5nbGV0b24oKQogICAgIHJldHVybiBmYWN0b3J5LmdldCgpOwogfQogCit2b2lkIENvcmVBdWRp
b0NhcHR1cmVTb3VyY2VGYWN0b3J5SU9TOjphZGRFeHRlbnNpdmVPYnNlcnZlcihFeHRlbnNpdmVP
YnNlcnZlciYgb2JzZXJ2ZXIpCit7CisgICAgbV9vYnNlcnZlcnMuYWRkKG9ic2VydmVyKTsKKyAg
ICBBVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2VNYW5hZ2VyOjpzaW5nbGV0b24oKS5lbmFibGVB
bGxEZXZpY2VzUXVlcnkoKTsKK30KKwordm9pZCBDb3JlQXVkaW9DYXB0dXJlU291cmNlRmFjdG9y
eUlPUzo6cmVtb3ZlRXh0ZW5zaXZlT2JzZXJ2ZXIoRXh0ZW5zaXZlT2JzZXJ2ZXImIG9ic2VydmVy
KQoreworICAgIG1fb2JzZXJ2ZXJzLnJlbW92ZShvYnNlcnZlcik7CisgICAgaWYgKG1fb2JzZXJ2
ZXJzLmNvbXB1dGVzRW1wdHkoKSkKKyAgICAgICAgQVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNl
TWFuYWdlcjo6c2luZ2xldG9uKCkuZGlzYWJsZUFsbERldmljZXNRdWVyeSgpOworfQorCitDYXB0
dXJlU291cmNlT3JFcnJvciBDb3JlQXVkaW9DYXB0dXJlU291cmNlRmFjdG9yeUlPUzo6Y3JlYXRl
QXVkaW9DYXB0dXJlU291cmNlKGNvbnN0IENhcHR1cmVEZXZpY2UmIGRldmljZSwgU3RyaW5nJiYg
aGFzaFNhbHQsIGNvbnN0IE1lZGlhQ29uc3RyYWludHMqIGNvbnN0cmFpbnRzKQoreworICAgIEFW
QXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXI6OnNpbmdsZXRvbigpLmVuYWJsZUFsbERl
dmljZXNRdWVyeSgpOworICAgIGF1dG8gc291cmNlT3JFcnJvciA9IENvcmVBdWRpb0NhcHR1cmVT
b3VyY2U6OmNyZWF0ZShTdHJpbmcgeyBkZXZpY2UucGVyc2lzdGVudElkKCkgfSwgV1RGTW92ZSho
YXNoU2FsdCksIGNvbnN0cmFpbnRzKTsKKworICAgIGlmIChtX29ic2VydmVycy5jb21wdXRlc0Vt
cHR5KCkpCisgICAgICAgIEFWQXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXI6OnNpbmds
ZXRvbigpLmRpc2FibGVBbGxEZXZpY2VzUXVlcnkoKTsKKyAgICByZXR1cm4gc291cmNlT3JFcnJv
cjsKK30KKwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL21hYy9Db3JlQXVkaW9DYXB0dXJlU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9tYWMvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZS5oCmluZGV4IDkyYWY1NWMy
NzI5ZGMwNDkyMGUzOTMxOGNiNDM4ZmZlNTZjNGY2NTUuLjViODIyZjI5MTRlYzNkMDhjZjliOGZj
YzM3MTk5YTc4ZGY4N2VkZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL21hYy9Db3JlQXVkaW9DYXB0dXJlU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2UuaApAQCAt
MTE3LDE1ICsxMTcsMTYgQEAgcHVibGljOgogICAgIHZvaWQgZGV2aWNlc0NoYW5nZWQoY29uc3Qg
VmVjdG9yPENhcHR1cmVEZXZpY2U+Jik7CiAKIHByaXZhdGU6Ci0gICAgQ2FwdHVyZVNvdXJjZU9y
RXJyb3IgY3JlYXRlQXVkaW9DYXB0dXJlU291cmNlKGNvbnN0IENhcHR1cmVEZXZpY2UmIGRldmlj
ZSwgU3RyaW5nJiYgaGFzaFNhbHQsIGNvbnN0IE1lZGlhQ29uc3RyYWludHMqIGNvbnN0cmFpbnRz
KSBmaW5hbAotICAgIHsKLSAgICAgICAgcmV0dXJuIENvcmVBdWRpb0NhcHR1cmVTb3VyY2U6OmNy
ZWF0ZShTdHJpbmcgeyBkZXZpY2UucGVyc2lzdGVudElkKCkgfSwgV1RGTW92ZShoYXNoU2FsdCks
IGNvbnN0cmFpbnRzKTsKLSAgICB9Ci0KKyAgICBDYXB0dXJlU291cmNlT3JFcnJvciBjcmVhdGVB
dWRpb0NhcHR1cmVTb3VyY2UoY29uc3QgQ2FwdHVyZURldmljZSYsIFN0cmluZyYmLCBjb25zdCBN
ZWRpYUNvbnN0cmFpbnRzKikgb3ZlcnJpZGU7CiAgICAgQ2FwdHVyZURldmljZU1hbmFnZXImIGF1
ZGlvQ2FwdHVyZURldmljZU1hbmFnZXIoKSBmaW5hbDsKICAgICBjb25zdCBWZWN0b3I8Q2FwdHVy
ZURldmljZT4mIHNwZWFrZXJEZXZpY2VzKCkgY29uc3QgZmluYWw7CiB9OwogCitpbmxpbmUgQ2Fw
dHVyZVNvdXJjZU9yRXJyb3IgQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUZhY3Rvcnk6OmNyZWF0ZUF1
ZGlvQ2FwdHVyZVNvdXJjZShjb25zdCBDYXB0dXJlRGV2aWNlJiBkZXZpY2UsIFN0cmluZyYmIGhh
c2hTYWx0LCBjb25zdCBNZWRpYUNvbnN0cmFpbnRzKiBjb25zdHJhaW50cykKK3sKKyAgICByZXR1
cm4gQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6Y3JlYXRlKFN0cmluZyB7IGRldmljZS5wZXJzaXN0
ZW50SWQoKSB9LCBXVEZNb3ZlKGhhc2hTYWx0KSwgY29uc3RyYWludHMpOworfQorCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RN
YW5hZ2VyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlz
c2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwCmluZGV4IDQ5MmE1NjlmMjBkNWVlMDA4MTZlMDZm
NDllM2I0M2NkNzY5ZDE0YTQuLmExZmM3YmQ4N2U1MzJhNTI5YjUwNjE5MjFkYmRiYjgxNGRhNGEx
NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9V
c2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAKQEAgLTEyNSw2ICsxMjUs
OCBAQCB2b2lkIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5OjppbnZhbGlk
YXRlUGVuZGluZ1JlcXVlc3RzKCkKICAgICAgICAgcmVxdWVzdC0+aW52YWxpZGF0ZSgpOwogCiAg
ICAgbV9wZW5kaW5nRGV2aWNlUmVxdWVzdHMuY2xlYXIoKTsKKworICAgIFJlYWx0aW1lTWVkaWFT
b3VyY2VDZW50ZXI6OnNpbmdsZXRvbigpLmF1ZGlvQ2FwdHVyZUZhY3RvcnkoKS5yZW1vdmVFeHRl
bnNpdmVPYnNlcnZlcigqdGhpcyk7CiB9CiAKIHZvaWQgVXNlck1lZGlhUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyUHJveHk6OnN0b3BDYXB0dXJlKCkKQEAgLTI5NSw2ICsyOTcsNyBAQCB2b2lkIFVz
ZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5OjpyZXNldEFjY2VzcyhPcHRpb25h
bDxGcmFtZUlkZW50aWZpZQogICAgIG1fcHJlZ3JhbnRlZFJlcXVlc3RzLmNsZWFyKCk7CiAgICAg
bV9kZW5pZWRSZXF1ZXN0cy5jbGVhcigpOwogICAgIG1faGFzRmlsdGVyZWREZXZpY2VMaXN0ID0g
ZmFsc2U7CisgICAgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xldG9uKCkuYXVkaW9D
YXB0dXJlRmFjdG9yeSgpLnJlbW92ZUV4dGVuc2l2ZU9ic2VydmVyKCp0aGlzKTsKIH0KIAogY29u
c3QgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eSogVXNlck1lZGlhUGVybWlzc2lvblJl
cXVlc3RNYW5hZ2VyUHJveHk6OnNlYXJjaEZvckdyYW50ZWRSZXF1ZXN0KEZyYW1lSWRlbnRpZmll
ciBmcmFtZUlELCBjb25zdCBTZWN1cml0eU9yaWdpbiYgdXNlck1lZGlhRG9jdW1lbnRPcmlnaW4s
IGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB0b3BMZXZlbERvY3VtZW50T3JpZ2luLCBib29sIG5lZWRz
QXVkaW8sIGJvb2wgbmVlZHNWaWRlbykgY29uc3QKQEAgLTQzNyw2ICs0NDAsOSBAQCB2b2lkIFVz
ZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5Ojpwcm9jZXNzTmV4dFVzZXJNZWRp
YVJlcXVlc3RJZk5lZWRlZAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiB2b2lkIFVzZXJNZWRp
YVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5OjpzdGFydFByb2Nlc3NpbmdVc2VyTWVkaWFQ
ZXJtaXNzaW9uUmVxdWVzdChSZWY8VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eT4mJiBy
ZXF1ZXN0KQogeworICAgIGlmIChyZXF1ZXN0LT5yZXF1aXJlc0F1ZGlvQ2FwdHVyZSgpKQorICAg
ICAgICBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24oKS5hdWRpb0NhcHR1cmVG
YWN0b3J5KCkuYWRkRXh0ZW5zaXZlT2JzZXJ2ZXIoKnRoaXMpOworCiAgICAgbV9jdXJyZW50VXNl
ck1lZGlhUmVxdWVzdCA9IFdURk1vdmUocmVxdWVzdCk7CiAKICAgICBhdXRvJiB1c2VyTWVkaWFE
b2N1bWVudFNlY3VyaXR5T3JpZ2luID0gbV9jdXJyZW50VXNlck1lZGlhUmVxdWVzdC0+dXNlck1l
ZGlhRG9jdW1lbnRTZWN1cml0eU9yaWdpbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuaCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5
LmgKaW5kZXggOGZlYjQ1ODc1MWEyNjI4N2Q0ZTFiYjJhYTkzODUyZjI2ZDgzMzM4Zi4uNWFlZDE1
MjdjZjcwMTIyYjUyMzFkM2E5ZDhmYTZiMDk1MTQyM2NjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1h
bmFnZXJQcm94eS5oCkBAIC0yMiw2ICsyMiw3IEBACiAjaW5jbHVkZSAiVXNlck1lZGlhUGVybWlz
c2lvbkNoZWNrUHJveHkuaCIKICNpbmNsdWRlICJVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFBy
b3h5LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYVByb2R1Y2VyLmg+CisjaW5jbHVkZSA8V2Vi
Q29yZS9SZWFsdGltZU1lZGlhU291cmNlRmFjdG9yeS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2Vj
dXJpdHlPcmlnaW4uaD4KICNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KICNpbmNs
dWRlIDx3dGYvRGVxdWUuaD4KQEAgLTQzLDcgKzQ0LDExIEBAIG5hbWVzcGFjZSBXZWJLaXQgewog
Y2xhc3MgV2ViUGFnZVByb3h5OwogCiBjbGFzcyBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1h
bmFnZXJQcm94eQorI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAgOiBwdWJsaWMgV2ViQ29y
ZTo6QXVkaW9DYXB0dXJlRmFjdG9yeTo6RXh0ZW5zaXZlT2JzZXJ2ZXIKKyNlbHNlCiAgICAgOiBw
dWJsaWMgQ2FuTWFrZVdlYWtQdHI8VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJv
eHk+CisjZW5kaWYKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAgICAsIHByaXZhdGUgTG9n
Z2VySGVscGVyCiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416509</attachid>
            <date>2020-12-18 04:53:00 -0800</date>
            <delta_ts>2020-12-18 09:22:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220010-20201218135257.patch</filename>
            <type>text/plain</type>
            <size>13875</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwODg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzRiMmMxYjJiZWFkYzZi
OGQ0ZDRhMDVmOWJiNWIyZTg4YzQ1Zjc5Yy4uZGZmYTMwYjBjNTViN2NmZTBjNmFkOWFhNjIzMjcx
ODRhYjBkNmQ2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIwLTEyLTE4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBEbyBleHRlbnNp
dmUgc2VhcmNoIGZvciBtaWNyb3Bob25lIGRldmljZXMgd2hlbiB0cnlpbmcgdG8gY2FwdHVyZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwMDEwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXh0ZW5zaXZl
IGF1ZGlvIGRldmljZSBxdWVyeSBuZWVkcyB0byBlbmFibGUgdGhlIEF1ZGlvU2Vzc2lvbi4KKyAg
ICAgICAgRXZlbiB0aG91Z2ggdGhlIEF1ZGlvU2Vzc2lvbiBpcyBhbiBhdXhpbGlhcnkgc2Vzc2lv
biwgYWN0aXZhdGluZyBpdCBoYXMgc2lkZSBlZmZlY3RzLgorICAgICAgICBUbyB3b3JrIGFyb3Vu
ZCB0aGVzZSBzaWRlIGVmZmVjdHMsIHdlIGFkZCBhbiBBUEkgdGhhdCBhbGxvd3MgdG8gY29udHJv
bCB3aGV0aGVyIGFjdGl2YXRpbmcgdGhlIGF1ZGlvIHNlc3Npb24gb3Igbm90LgorICAgICAgICBX
ZWJLaXQgZnJhbWV3b3JrcyB1c2VzIHRoYXQgQVBJIHdoZW4gbmVlZGluZyB0byBkbyBhbiBleGhh
dXN0aXZlIHNlYXJjaC4KKyAgICAgICAgV2UgbWFrZSBzdXJlIHRvIHN3aXRjaCBvbiB0aGlzIGV4
dGVuc2l2ZSBxdWVyeSBtb2RlIHdoZW4gY3JlYXRpbmcgYSBzb3VyY2UuCisKKyAgICAgICAgTWFu
dWFsbHkgdGVzdGVkIG9uIGRldmljZSB3aXRoIGJ1aWx0LWluIGFuZCBCVCBoZWFkc2V0LgorCisg
ICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZUZhY3Rvcnku
aDoKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQ2FwdHVyZUZhY3Rvcnk6OmFkZEV4dGVuc2l2ZU9i
c2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQ2FwdHVyZUZhY3Rvcnk6OnJlbW92ZUV4
dGVuc2l2ZU9ic2VydmVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3MvQVZB
dWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlci5oOgorICAgICAgICAqIHBsYXRmb3JtL21l
ZGlhc3RyZWFtL2lvcy9BVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2VNYW5hZ2VyLm1tOgorICAg
ICAgICAoV2ViQ29yZTo6QVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlcjo6ZW5hYmxl
QWxsRGV2aWNlc1F1ZXJ5KToKKyAgICAgICAgKFdlYkNvcmU6OkFWQXVkaW9TZXNzaW9uQ2FwdHVy
ZURldmljZU1hbmFnZXI6OmRpc2FibGVBbGxEZXZpY2VzUXVlcnkpOgorICAgICAgICAqIHBsYXRm
b3JtL21lZGlhc3RyZWFtL2lvcy9Db3JlQXVkaW9DYXB0dXJlU291cmNlSU9TLmg6CisgICAgICAg
ICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9zL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2VJT1MubW06
CisgICAgICAgIChXZWJDb3JlOjpDb3JlQXVkaW9DYXB0dXJlU291cmNlRmFjdG9yeUlPUzo6YWRk
RXh0ZW5zaXZlT2JzZXJ2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q29yZUF1ZGlvQ2FwdHVyZVNv
dXJjZUZhY3RvcnlJT1M6OnJlbW92ZUV4dGVuc2l2ZU9ic2VydmVyKToKKyAgICAgICAgKFdlYkNv
cmU6OkNvcmVBdWRpb0NhcHR1cmVTb3VyY2VGYWN0b3J5SU9TOjpjcmVhdGVBdWRpb0NhcHR1cmVT
b3VyY2UpOgorICAgICAgICBJbiBVSVByb2Nlc3MsIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0
TWFuYWdlclByb3h5IG1ha2VzIHN1cmUgdG8gZW5hYmxlIHRoZSBleHRlbnNpdmUgYXVkaW8gZGV2
aWNlIHF1ZXJ5LgorICAgICAgICBJbiBXZWJQcm9jZXNzLCB3ZSBhbHNvIG5lZWQgdGhpcyB3aGVu
IHN0YXJ0aW5nIHRoZSBhdWRpbyBjYXB0dXJlLgorICAgICAgICBXZSBlbmFibGUgaXQgd2hlbiB0
aGVyZSBpcyBubyBvYnNlcnZlciB0byBoYW5kbGUgdGhlIFdlYlByb2Nlc3Mgc2lkZS4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZS5oOgor
ICAgICAgICAoV2ViQ29yZTo6Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUZhY3Rvcnk6OmNyZWF0ZUF1
ZGlvQ2FwdHVyZVNvdXJjZSk6CisKIDIwMjAtMTItMTYgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5A
YXBwbGUuY29tPgogCiAgICAgICAgIEV4cG9zZSBTRnJhbWVUcmFuc2Zvcm0gdG8gRGVkaWNhdGVk
V29ya2VyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCmluZGV4IDVlOWU1ZjYxNjE4NzEyMGNkOTRmZDkxODgyOTI4OWE0OGEyMzVm
MDAuLmQwYzI3NmY2ZTQ5ZjhlYmNhMjEwZGVlMDQ4NDhiOTgxZmQ2ZDg0MjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMjAtMTItMTggIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUu
Y29tPgorCisgICAgICAgIFtpT1NdIERvIGV4dGVuc2l2ZSBzZWFyY2ggZm9yIG1pY3JvcGhvbmUg
ZGV2aWNlcyB3aGVuIHRyeWluZyB0byBjYXB0dXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjAwMTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBFbmFibGUgZXhoYXVzdGl2ZSBhdWRpbyBkZXZpY2UgcXVl
cnkgaW4gY2FzZSBnZXRVc2VyTWVkaWEgaXMgY2FsbGVkIGZvciBhdWRpbyBjYXB0dXJlLgorICAg
ICAgICBJbiBjYXNlIHRoZSBtYW5hZ2VyIGlzIGRlc3Ryb3llZCBvciByZXNldCBhZnRlciBzb21l
IHRpbWUgd2l0aG91dCBjYXB0dXJpbmcsIG1ha2Ugc3VyZSB0byBkaXNhYmxlCisgICAgICAgIGV4
aGF1c3RpdmUgYXVkaW8gZGV2aWNlIHF1ZXJ5IGlmIG5vIG90aGVyIHBhZ2UgaXMgbmVlZGVkIGl0
LgorCisgICAgICAgICogVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
clByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RN
YW5hZ2VyUHJveHk6OmludmFsaWRhdGVQZW5kaW5nUmVxdWVzdHMpOgorICAgICAgICAoV2ViS2l0
OjpVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6cmVzZXRBY2Nlc3MpOgor
ICAgICAgICAoV2ViS2l0OjpVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6
c3RhcnRQcm9jZXNzaW5nVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3QpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5oOgorCiAyMDIw
LTEyLTE2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtl
IHN1cmUgV2ViS2l0IFdlYlNvY2tldENoYW5uZWwgaGFuZGxlIHN1c3BlbmQvcmVzdW1lIGNvcnJl
Y3RseQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVh
bHRpbWVNZWRpYVNvdXJjZUZhY3RvcnkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2VGYWN0b3J5LmgKaW5kZXggNDQzMDU5ZjcyY2VjZTg2
NGE5YmFmNDcxNDVlYzg1ZTNhYzEyNGRkMi4uYjE3YzczZmMwOTVmYjJmNWM5MjkyMTBjYWI3Yzc0
YmZlZGE5MDc2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vUmVhbHRpbWVNZWRpYVNvdXJjZUZhY3RvcnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlRmFjdG9yeS5oCkBAIC0yNyw2ICsy
Nyw3IEBACiAKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogCisjaW5jbHVkZSA8d3RmL1dlYWtQ
dHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewpAQCAtNjIsNiArNjMsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgQ2FwdHVyZURldmlj
ZU1hbmFnZXImIGF1ZGlvQ2FwdHVyZURldmljZU1hbmFnZXIoKSA9IDA7CiAgICAgdmlydHVhbCBj
b25zdCBWZWN0b3I8Q2FwdHVyZURldmljZT4mIHNwZWFrZXJEZXZpY2VzKCkgY29uc3QgPSAwOwog
CisgICAgY2xhc3MgRXh0ZW5zaXZlT2JzZXJ2ZXIgOiBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8RXh0
ZW5zaXZlT2JzZXJ2ZXI+IHsgfTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkRXh0ZW5zaXZlT2JzZXJ2
ZXIoRXh0ZW5zaXZlT2JzZXJ2ZXImKSB7IH07CisgICAgdmlydHVhbCB2b2lkIHJlbW92ZUV4dGVu
c2l2ZU9ic2VydmVyKEV4dGVuc2l2ZU9ic2VydmVyJikgeyB9OworCiBwcm90ZWN0ZWQ6CiAgICAg
QXVkaW9DYXB0dXJlRmFjdG9yeSgpID0gZGVmYXVsdDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3MvQVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2
aWNlTWFuYWdlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9zL0FW
QXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXIuaAppbmRleCA2YWI0ZTJjNzQyZDMxZTRi
ZmNkOGM1ZWI5ODdkOTExNTYxNWQzY2NmLi45NDk3YTYyOTc0ZjE0MWIyMzFlZGI3MzkwMmYxMTJj
YWNkZmJkYzFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9pb3MvQVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2lvcy9BVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZp
Y2VNYW5hZ2VyLmgKQEAgLTU0LDYgKzU0LDkgQEAgcHVibGljOgogICAgIAogICAgIHZvaWQgc2No
ZWR1bGVVcGRhdGVDYXB0dXJlRGV2aWNlcygpOwogCisgICAgdm9pZCBlbmFibGVBbGxEZXZpY2Vz
UXVlcnkoKTsKKyAgICB2b2lkIGRpc2FibGVBbGxEZXZpY2VzUXVlcnkoKTsKKwogcHJpdmF0ZToK
ICAgICBBVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2VNYW5hZ2VyKCk7CiAgICAgfkFWQXVkaW9T
ZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXIoKTsKQEAgLTY3LDYgKzcwLDcgQEAgcHJpdmF0ZToK
ICAgICBSZXRhaW5QdHI8V2ViQVZBdWRpb1Nlc3Npb25BdmFpbGFibGVJbnB1dHNMaXN0ZW5lcj4g
bV9saXN0ZW5lcjsKICAgICBSZXRhaW5QdHI8QVZBdWRpb1Nlc3Npb24+IG1fYXVkaW9TZXNzaW9u
OwogICAgIEdlbmVyaWNUYXNrUXVldWU8VGltZXI+IG1fdXBkYXRlRGV2aWNlU3RhdGVRdWV1ZTsK
KyAgICBib29sIG1fc2hvdWxkUXVlcnlBbGxEZXZpY2VzIHsgZmFsc2UgfTsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL2lvcy9BVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2VNYW5hZ2VyLm1tIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9zL0FWQXVkaW9TZXNzaW9uQ2FwdHVy
ZURldmljZU1hbmFnZXIubW0KaW5kZXggODE4YzhmNWEwNzk4ZGY4MTVkNjUzNDNkN2UwNjlkYjNk
MzNkYjNjZi4uNGZiNGQ1YmYzMmI1MjgwNDNkMmE3ZmExNjUzYTJkOWJkNDQ2YTMyZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9zL0FWQXVkaW9TZXNz
aW9uQ2FwdHVyZURldmljZU1hbmFnZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vaW9zL0FWQXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXIubW0KQEAg
LTE5Niw2ICsxOTYsMjYgQEAgdm9pZCBBVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2VNYW5hZ2Vy
OjpyZWZyZXNoQXVkaW9DYXB0dXJlRGV2aWNlcygpCiAgICAgICAgIGRldmljZUNoYW5nZWQoKTsK
IH0KIAordm9pZCBBVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2VNYW5hZ2VyOjplbmFibGVBbGxE
ZXZpY2VzUXVlcnkoKQoreworICAgIGlmIChtX3Nob3VsZFF1ZXJ5QWxsRGV2aWNlcykKKyAgICAg
ICAgcmV0dXJuOworICAgIG1fc2hvdWxkUXVlcnlBbGxEZXZpY2VzID0gdHJ1ZTsKKyAgICByZWZy
ZXNoQXVkaW9DYXB0dXJlRGV2aWNlcygpOworfQorCit2b2lkIEFWQXVkaW9TZXNzaW9uQ2FwdHVy
ZURldmljZU1hbmFnZXI6OmRpc2FibGVBbGxEZXZpY2VzUXVlcnkoKQoreworICAgIGlmICghbV9z
aG91bGRRdWVyeUFsbERldmljZXMpCisgICAgICAgIHJldHVybjsKKworICAgIG1fc2hvdWxkUXVl
cnlBbGxEZXZpY2VzID0gdHJ1ZTsKKyAgICBOU0Vycm9yICplcnJvciA9IG5pbDsKKyAgICBbbV9h
dWRpb1Nlc3Npb24gc2V0QWN0aXZlOk5PIHdpdGhPcHRpb25zOjAgZXJyb3I6JmVycm9yXTsKKyAg
ICBpZiAoZXJyb3IpCisgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFdlYlJUQywgIkZhaWxlZCB0
byBkaXNhY3RpdmF0ZSBhdWRpbyBzZXNzaW9uIHdpdGggZXJyb3I6ICVALiIsIGVycm9yLmxvY2Fs
aXplZERlc2NyaXB0aW9uKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYg
Ly8gRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2lvcy9Db3JlQXVkaW9DYXB0
dXJlU291cmNlSU9TLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3Mv
Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUlPUy5oCmluZGV4IDEyZWM1MThmNjkxMTJkYjljOGQ4YTdh
OWMzZDlhZDMyYjkxMjJhNmUuLjY2NDg1ZTMyYjk3NGIyNmI2ZGI3MGVmMzFmNDE1NDUwYzBjNjMx
ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2lvcy9D
b3JlQXVkaW9DYXB0dXJlU291cmNlSU9TLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vaW9zL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2VJT1MuaApAQCAtMjksNiArMjks
NyBAQAogCiAjaW5jbHVkZSAiQXVkaW9TZXNzaW9uLmgiCiAjaW5jbHVkZSAiQ29yZUF1ZGlvQ2Fw
dHVyZVNvdXJjZS5oIgorI2luY2x1ZGUgPHd0Zi9XZWFrSGFzaFNldC5oPgogCiBPQkpDX0NMQVNT
IFdlYkNvcmVBdWRpb0NhcHR1cmVTb3VyY2VJT1NMaXN0ZW5lcjsKIApAQCAtNDQsNyArNDUsMTIg
QEAgcHJpdmF0ZToKICAgICB2b2lkIGJlZ2luQXVkaW9TZXNzaW9uSW50ZXJydXB0aW9uKCkgeyBi
ZWdpbkludGVycnVwdGlvbigpOyB9CiAgICAgdm9pZCBlbmRBdWRpb1Nlc3Npb25JbnRlcnJ1cHRp
b24oQXVkaW9TZXNzaW9uOjpNYXlSZXN1bWUpIHsgZW5kSW50ZXJydXB0aW9uKCk7IH0KIAorICAg
IENhcHR1cmVTb3VyY2VPckVycm9yIGNyZWF0ZUF1ZGlvQ2FwdHVyZVNvdXJjZShjb25zdCBDYXB0
dXJlRGV2aWNlJiwgU3RyaW5nJiYsIGNvbnN0IE1lZGlhQ29uc3RyYWludHMqKSBmaW5hbDsKKyAg
ICB2b2lkIGFkZEV4dGVuc2l2ZU9ic2VydmVyKEV4dGVuc2l2ZU9ic2VydmVyJikgZmluYWw7Cisg
ICAgdm9pZCByZW1vdmVFeHRlbnNpdmVPYnNlcnZlcihFeHRlbnNpdmVPYnNlcnZlciYpIGZpbmFs
OworCiAgICAgUmV0YWluUHRyPFdlYkNvcmVBdWRpb0NhcHR1cmVTb3VyY2VJT1NMaXN0ZW5lcj4g
bV9saXN0ZW5lcjsKKyAgICBXZWFrSGFzaFNldDxFeHRlbnNpdmVPYnNlcnZlcj4gbV9vYnNlcnZl
cnM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3MvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUlPUy5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2lvcy9Db3JlQXVkaW9DYXB0
dXJlU291cmNlSU9TLm1tCmluZGV4IDRhMjA0N2JjNDQzYTY1NjYyNGQzMWIwNWJmYTc4MmExODdl
NTI1MjAuLjg4NzQwMDk2NDc1NmFkM2YzOGUwNzI0ZWY5ZjlmNmFlZWEyNTk2MDEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2lvcy9Db3JlQXVkaW9DYXB0
dXJlU291cmNlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L2lvcy9Db3JlQXVkaW9DYXB0dXJlU291cmNlSU9TLm1tCkBAIC0yOCw2ICsyOCw3IEBACiAKICNp
ZiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBQTEFURk9STShJT1NfRkFNSUxZKQogCisjaW1wb3J0
ICJBVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2VNYW5hZ2VyLmgiCiAjaW1wb3J0ICJMb2dnaW5n
LmgiCiAjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZBdWRpb1Nlc3Npb24uaD4KICNpbXBvcnQgPHd0
Zi9NYWluVGhyZWFkLmg+CkBAIC0xMDIsNiArMTAzLDI2IEBAIENvcmVBdWRpb0NhcHR1cmVTb3Vy
Y2VGYWN0b3J5JiBDb3JlQXVkaW9DYXB0dXJlU291cmNlRmFjdG9yeTo6c2luZ2xldG9uKCkKICAg
ICByZXR1cm4gZmFjdG9yeS5nZXQoKTsKIH0KIAordm9pZCBDb3JlQXVkaW9DYXB0dXJlU291cmNl
RmFjdG9yeUlPUzo6YWRkRXh0ZW5zaXZlT2JzZXJ2ZXIoRXh0ZW5zaXZlT2JzZXJ2ZXImIG9ic2Vy
dmVyKQoreworICAgIG1fb2JzZXJ2ZXJzLmFkZChvYnNlcnZlcik7CisgICAgQVZBdWRpb1Nlc3Np
b25DYXB0dXJlRGV2aWNlTWFuYWdlcjo6c2luZ2xldG9uKCkuZW5hYmxlQWxsRGV2aWNlc1F1ZXJ5
KCk7Cit9CisKK3ZvaWQgQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUZhY3RvcnlJT1M6OnJlbW92ZUV4
dGVuc2l2ZU9ic2VydmVyKEV4dGVuc2l2ZU9ic2VydmVyJiBvYnNlcnZlcikKK3sKKyAgICBtX29i
c2VydmVycy5yZW1vdmUob2JzZXJ2ZXIpOworICAgIGlmIChtX29ic2VydmVycy5jb21wdXRlc0Vt
cHR5KCkpCisgICAgICAgIEFWQXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXI6OnNpbmds
ZXRvbigpLmRpc2FibGVBbGxEZXZpY2VzUXVlcnkoKTsKK30KKworQ2FwdHVyZVNvdXJjZU9yRXJy
b3IgQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUZhY3RvcnlJT1M6OmNyZWF0ZUF1ZGlvQ2FwdHVyZVNv
dXJjZShjb25zdCBDYXB0dXJlRGV2aWNlJiBkZXZpY2UsIFN0cmluZyYmIGhhc2hTYWx0LCBjb25z
dCBNZWRpYUNvbnN0cmFpbnRzKiBjb25zdHJhaW50cykKK3sKKyAgICBpZiAobV9vYnNlcnZlcnMu
Y29tcHV0ZXNFbXB0eSgpKQorICAgICAgICBBVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2VNYW5h
Z2VyOjpzaW5nbGV0b24oKS5lbmFibGVBbGxEZXZpY2VzUXVlcnkoKTsKKyAgICByZXR1cm4gQ29y
ZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6Y3JlYXRlKFN0cmluZyB7IGRldmljZS5wZXJzaXN0ZW50SWQo
KSB9LCBXVEZNb3ZlKGhhc2hTYWx0KSwgY29uc3RyYWludHMpOworfQorCiB9CiAKICNlbmRpZiAv
LyBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBQTEFURk9STShJT1NfRkFNSUxZKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0NvcmVBdWRpb0NhcHR1
cmVTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9Db3Jl
QXVkaW9DYXB0dXJlU291cmNlLmgKaW5kZXggOTJhZjU1YzI3MjlkYzA0OTIwZTM5MzE4Y2I0Mzhm
ZmU1NmM0ZjY1NS4uNWI4MjJmMjkxNGVjM2QwOGNmOWI4ZmNjMzcxOTlhNzhkZjg3ZWRmMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0NvcmVBdWRp
b0NhcHR1cmVTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9tYWMvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZS5oCkBAIC0xMTcsMTUgKzExNywxNiBAQCBwdWJs
aWM6CiAgICAgdm9pZCBkZXZpY2VzQ2hhbmdlZChjb25zdCBWZWN0b3I8Q2FwdHVyZURldmljZT4m
KTsKIAogcHJpdmF0ZToKLSAgICBDYXB0dXJlU291cmNlT3JFcnJvciBjcmVhdGVBdWRpb0NhcHR1
cmVTb3VyY2UoY29uc3QgQ2FwdHVyZURldmljZSYgZGV2aWNlLCBTdHJpbmcmJiBoYXNoU2FsdCwg
Y29uc3QgTWVkaWFDb25zdHJhaW50cyogY29uc3RyYWludHMpIGZpbmFsCi0gICAgewotICAgICAg
ICByZXR1cm4gQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6Y3JlYXRlKFN0cmluZyB7IGRldmljZS5w
ZXJzaXN0ZW50SWQoKSB9LCBXVEZNb3ZlKGhhc2hTYWx0KSwgY29uc3RyYWludHMpOwotICAgIH0K
LQorICAgIENhcHR1cmVTb3VyY2VPckVycm9yIGNyZWF0ZUF1ZGlvQ2FwdHVyZVNvdXJjZShjb25z
dCBDYXB0dXJlRGV2aWNlJiwgU3RyaW5nJiYsIGNvbnN0IE1lZGlhQ29uc3RyYWludHMqKSBvdmVy
cmlkZTsKICAgICBDYXB0dXJlRGV2aWNlTWFuYWdlciYgYXVkaW9DYXB0dXJlRGV2aWNlTWFuYWdl
cigpIGZpbmFsOwogICAgIGNvbnN0IFZlY3RvcjxDYXB0dXJlRGV2aWNlPiYgc3BlYWtlckRldmlj
ZXMoKSBjb25zdCBmaW5hbDsKIH07CiAKK2lubGluZSBDYXB0dXJlU291cmNlT3JFcnJvciBDb3Jl
QXVkaW9DYXB0dXJlU291cmNlRmFjdG9yeTo6Y3JlYXRlQXVkaW9DYXB0dXJlU291cmNlKGNvbnN0
IENhcHR1cmVEZXZpY2UmIGRldmljZSwgU3RyaW5nJiYgaGFzaFNhbHQsIGNvbnN0IE1lZGlhQ29u
c3RyYWludHMqIGNvbnN0cmFpbnRzKQoreworICAgIHJldHVybiBDb3JlQXVkaW9DYXB0dXJlU291
cmNlOjpjcmVhdGUoU3RyaW5nIHsgZGV2aWNlLnBlcnNpc3RlbnRJZCgpIH0sIFdURk1vdmUoaGFz
aFNhbHQpLCBjb25zdHJhaW50cyk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2Vu
ZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94
eS5jcHAKaW5kZXggNDkyYTU2OWYyMGQ1ZWUwMDgxNmUwNmY0OWUzYjQzY2Q3NjlkMTRhNC4uNGI5
OTQzYmE2ZTgzNDRjNzVlYzJhM2IwMDA4ZWUyMGI2NWE5ODRmOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHku
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1
ZXN0TWFuYWdlclByb3h5LmNwcApAQCAtMTI1LDYgKzEyNSwxMCBAQCB2b2lkIFVzZXJNZWRpYVBl
cm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5OjppbnZhbGlkYXRlUGVuZGluZ1JlcXVlc3RzKCkK
ICAgICAgICAgcmVxdWVzdC0+aW52YWxpZGF0ZSgpOwogCiAgICAgbV9wZW5kaW5nRGV2aWNlUmVx
dWVzdHMuY2xlYXIoKTsKKworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAgUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xldG9uKCkuYXVkaW9DYXB0dXJlRmFjdG9yeSgpLnJlbW92
ZUV4dGVuc2l2ZU9ic2VydmVyKCp0aGlzKTsKKyNlbmRpZgogfQogCiB2b2lkIFVzZXJNZWRpYVBl
cm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5OjpzdG9wQ2FwdHVyZSgpCkBAIC0yOTUsNiArMjk5
LDkgQEAgdm9pZCBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6cmVzZXRB
Y2Nlc3MoT3B0aW9uYWw8RnJhbWVJZGVudGlmaWUKICAgICBtX3ByZWdyYW50ZWRSZXF1ZXN0cy5j
bGVhcigpOwogICAgIG1fZGVuaWVkUmVxdWVzdHMuY2xlYXIoKTsKICAgICBtX2hhc0ZpbHRlcmVk
RGV2aWNlTGlzdCA9IGZhbHNlOworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAgUmVhbHRp
bWVNZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xldG9uKCkuYXVkaW9DYXB0dXJlRmFjdG9yeSgpLnJl
bW92ZUV4dGVuc2l2ZU9ic2VydmVyKCp0aGlzKTsKKyNlbmRpZgogfQogCiBjb25zdCBVc2VyTWVk
aWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5KiBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFn
ZXJQcm94eTo6c2VhcmNoRm9yR3JhbnRlZFJlcXVlc3QoRnJhbWVJZGVudGlmaWVyIGZyYW1lSUQs
IGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB1c2VyTWVkaWFEb2N1bWVudE9yaWdpbiwgY29uc3QgU2Vj
dXJpdHlPcmlnaW4mIHRvcExldmVsRG9jdW1lbnRPcmlnaW4sIGJvb2wgbmVlZHNBdWRpbywgYm9v
bCBuZWVkc1ZpZGVvKSBjb25zdApAQCAtNDM3LDYgKzQ0NCw5IEBAIHZvaWQgVXNlck1lZGlhUGVy
bWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6OnByb2Nlc3NOZXh0VXNlck1lZGlhUmVxdWVzdElm
TmVlZGVkCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIHZvaWQgVXNlck1lZGlhUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyUHJveHk6OnN0YXJ0UHJvY2Vzc2luZ1VzZXJNZWRpYVBlcm1pc3Npb25S
ZXF1ZXN0KFJlZjxVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5PiYmIHJlcXVlc3QpCiB7
CisgICAgaWYgKHJlcXVlc3QtPnVzZXJSZXF1ZXN0KCkuYXVkaW9Db25zdHJhaW50cy5pc1ZhbGlk
KQorICAgICAgICBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24oKS5hdWRpb0Nh
cHR1cmVGYWN0b3J5KCkuYWRkRXh0ZW5zaXZlT2JzZXJ2ZXIoKnRoaXMpOworCiAgICAgbV9jdXJy
ZW50VXNlck1lZGlhUmVxdWVzdCA9IFdURk1vdmUocmVxdWVzdCk7CiAKICAgICBhdXRvJiB1c2Vy
TWVkaWFEb2N1bWVudFNlY3VyaXR5T3JpZ2luID0gbV9jdXJyZW50VXNlck1lZGlhUmVxdWVzdC0+
dXNlck1lZGlhRG9jdW1lbnRTZWN1cml0eU9yaWdpbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
clByb3h5LmgKaW5kZXggOGZlYjQ1ODc1MWEyNjI4N2Q0ZTFiYjJhYTkzODUyZjI2ZDgzMzM4Zi4u
NWFlZDE1MjdjZjcwMTIyYjUyMzFkM2E5ZDhmYTZiMDk1MTQyM2NjYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJv
eHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVx
dWVzdE1hbmFnZXJQcm94eS5oCkBAIC0yMiw2ICsyMiw3IEBACiAjaW5jbHVkZSAiVXNlck1lZGlh
UGVybWlzc2lvbkNoZWNrUHJveHkuaCIKICNpbmNsdWRlICJVc2VyTWVkaWFQZXJtaXNzaW9uUmVx
dWVzdFByb3h5LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYVByb2R1Y2VyLmg+CisjaW5jbHVk
ZSA8V2ViQ29yZS9SZWFsdGltZU1lZGlhU291cmNlRmFjdG9yeS5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvU2VjdXJpdHlPcmlnaW4uaD4KICNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4K
ICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KQEAgLTQzLDcgKzQ0LDExIEBAIG5hbWVzcGFjZSBXZWJL
aXQgewogY2xhc3MgV2ViUGFnZVByb3h5OwogCiBjbGFzcyBVc2VyTWVkaWFQZXJtaXNzaW9uUmVx
dWVzdE1hbmFnZXJQcm94eQorI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAgOiBwdWJsaWMg
V2ViQ29yZTo6QXVkaW9DYXB0dXJlRmFjdG9yeTo6RXh0ZW5zaXZlT2JzZXJ2ZXIKKyNlbHNlCiAg
ICAgOiBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5h
Z2VyUHJveHk+CisjZW5kaWYKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAgICAsIHByaXZh
dGUgTG9nZ2VySGVscGVyCiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416523</attachid>
            <date>2020-12-18 09:22:10 -0800</date>
            <delta_ts>2020-12-18 10:10:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220010-20201218182208.patch</filename>
            <type>text/plain</type>
            <size>14734</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwODg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzRiMmMxYjJiZWFkYzZi
OGQ0ZDRhMDVmOWJiNWIyZTg4YzQ1Zjc5Yy4uZGZmYTMwYjBjNTViN2NmZTBjNmFkOWFhNjIzMjcx
ODRhYjBkNmQ2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIwLTEyLTE4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBEbyBleHRlbnNp
dmUgc2VhcmNoIGZvciBtaWNyb3Bob25lIGRldmljZXMgd2hlbiB0cnlpbmcgdG8gY2FwdHVyZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwMDEwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXh0ZW5zaXZl
IGF1ZGlvIGRldmljZSBxdWVyeSBuZWVkcyB0byBlbmFibGUgdGhlIEF1ZGlvU2Vzc2lvbi4KKyAg
ICAgICAgRXZlbiB0aG91Z2ggdGhlIEF1ZGlvU2Vzc2lvbiBpcyBhbiBhdXhpbGlhcnkgc2Vzc2lv
biwgYWN0aXZhdGluZyBpdCBoYXMgc2lkZSBlZmZlY3RzLgorICAgICAgICBUbyB3b3JrIGFyb3Vu
ZCB0aGVzZSBzaWRlIGVmZmVjdHMsIHdlIGFkZCBhbiBBUEkgdGhhdCBhbGxvd3MgdG8gY29udHJv
bCB3aGV0aGVyIGFjdGl2YXRpbmcgdGhlIGF1ZGlvIHNlc3Npb24gb3Igbm90LgorICAgICAgICBX
ZWJLaXQgZnJhbWV3b3JrcyB1c2VzIHRoYXQgQVBJIHdoZW4gbmVlZGluZyB0byBkbyBhbiBleGhh
dXN0aXZlIHNlYXJjaC4KKyAgICAgICAgV2UgbWFrZSBzdXJlIHRvIHN3aXRjaCBvbiB0aGlzIGV4
dGVuc2l2ZSBxdWVyeSBtb2RlIHdoZW4gY3JlYXRpbmcgYSBzb3VyY2UuCisKKyAgICAgICAgTWFu
dWFsbHkgdGVzdGVkIG9uIGRldmljZSB3aXRoIGJ1aWx0LWluIGFuZCBCVCBoZWFkc2V0LgorCisg
ICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZUZhY3Rvcnku
aDoKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQ2FwdHVyZUZhY3Rvcnk6OmFkZEV4dGVuc2l2ZU9i
c2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQ2FwdHVyZUZhY3Rvcnk6OnJlbW92ZUV4
dGVuc2l2ZU9ic2VydmVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3MvQVZB
dWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlci5oOgorICAgICAgICAqIHBsYXRmb3JtL21l
ZGlhc3RyZWFtL2lvcy9BVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2VNYW5hZ2VyLm1tOgorICAg
ICAgICAoV2ViQ29yZTo6QVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlcjo6ZW5hYmxl
QWxsRGV2aWNlc1F1ZXJ5KToKKyAgICAgICAgKFdlYkNvcmU6OkFWQXVkaW9TZXNzaW9uQ2FwdHVy
ZURldmljZU1hbmFnZXI6OmRpc2FibGVBbGxEZXZpY2VzUXVlcnkpOgorICAgICAgICAqIHBsYXRm
b3JtL21lZGlhc3RyZWFtL2lvcy9Db3JlQXVkaW9DYXB0dXJlU291cmNlSU9TLmg6CisgICAgICAg
ICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9zL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2VJT1MubW06
CisgICAgICAgIChXZWJDb3JlOjpDb3JlQXVkaW9DYXB0dXJlU291cmNlRmFjdG9yeUlPUzo6YWRk
RXh0ZW5zaXZlT2JzZXJ2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q29yZUF1ZGlvQ2FwdHVyZVNv
dXJjZUZhY3RvcnlJT1M6OnJlbW92ZUV4dGVuc2l2ZU9ic2VydmVyKToKKyAgICAgICAgKFdlYkNv
cmU6OkNvcmVBdWRpb0NhcHR1cmVTb3VyY2VGYWN0b3J5SU9TOjpjcmVhdGVBdWRpb0NhcHR1cmVT
b3VyY2UpOgorICAgICAgICBJbiBVSVByb2Nlc3MsIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0
TWFuYWdlclByb3h5IG1ha2VzIHN1cmUgdG8gZW5hYmxlIHRoZSBleHRlbnNpdmUgYXVkaW8gZGV2
aWNlIHF1ZXJ5LgorICAgICAgICBJbiBXZWJQcm9jZXNzLCB3ZSBhbHNvIG5lZWQgdGhpcyB3aGVu
IHN0YXJ0aW5nIHRoZSBhdWRpbyBjYXB0dXJlLgorICAgICAgICBXZSBlbmFibGUgaXQgd2hlbiB0
aGVyZSBpcyBubyBvYnNlcnZlciB0byBoYW5kbGUgdGhlIFdlYlByb2Nlc3Mgc2lkZS4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZS5oOgor
ICAgICAgICAoV2ViQ29yZTo6Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUZhY3Rvcnk6OmNyZWF0ZUF1
ZGlvQ2FwdHVyZVNvdXJjZSk6CisKIDIwMjAtMTItMTYgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5A
YXBwbGUuY29tPgogCiAgICAgICAgIEV4cG9zZSBTRnJhbWVUcmFuc2Zvcm0gdG8gRGVkaWNhdGVk
V29ya2VyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCmluZGV4IDVlOWU1ZjYxNjE4NzEyMGNkOTRmZDkxODgyOTI4OWE0OGEyMzVm
MDAuLmQwYzI3NmY2ZTQ5ZjhlYmNhMjEwZGVlMDQ4NDhiOTgxZmQ2ZDg0MjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMjAtMTItMTggIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUu
Y29tPgorCisgICAgICAgIFtpT1NdIERvIGV4dGVuc2l2ZSBzZWFyY2ggZm9yIG1pY3JvcGhvbmUg
ZGV2aWNlcyB3aGVuIHRyeWluZyB0byBjYXB0dXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjAwMTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBFbmFibGUgZXhoYXVzdGl2ZSBhdWRpbyBkZXZpY2UgcXVl
cnkgaW4gY2FzZSBnZXRVc2VyTWVkaWEgaXMgY2FsbGVkIGZvciBhdWRpbyBjYXB0dXJlLgorICAg
ICAgICBJbiBjYXNlIHRoZSBtYW5hZ2VyIGlzIGRlc3Ryb3llZCBvciByZXNldCBhZnRlciBzb21l
IHRpbWUgd2l0aG91dCBjYXB0dXJpbmcsIG1ha2Ugc3VyZSB0byBkaXNhYmxlCisgICAgICAgIGV4
aGF1c3RpdmUgYXVkaW8gZGV2aWNlIHF1ZXJ5IGlmIG5vIG90aGVyIHBhZ2UgaXMgbmVlZGVkIGl0
LgorCisgICAgICAgICogVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
clByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RN
YW5hZ2VyUHJveHk6OmludmFsaWRhdGVQZW5kaW5nUmVxdWVzdHMpOgorICAgICAgICAoV2ViS2l0
OjpVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6cmVzZXRBY2Nlc3MpOgor
ICAgICAgICAoV2ViS2l0OjpVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6
c3RhcnRQcm9jZXNzaW5nVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3QpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5oOgorCiAyMDIw
LTEyLTE2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtl
IHN1cmUgV2ViS2l0IFdlYlNvY2tldENoYW5uZWwgaGFuZGxlIHN1c3BlbmQvcmVzdW1lIGNvcnJl
Y3RseQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVh
bHRpbWVNZWRpYVNvdXJjZUZhY3RvcnkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2VGYWN0b3J5LmgKaW5kZXggNDQzMDU5ZjcyY2VjZTg2
NGE5YmFmNDcxNDVlYzg1ZTNhYzEyNGRkMi4uYjE3YzczZmMwOTVmYjJmNWM5MjkyMTBjYWI3Yzc0
YmZlZGE5MDc2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vUmVhbHRpbWVNZWRpYVNvdXJjZUZhY3RvcnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlRmFjdG9yeS5oCkBAIC0yNyw2ICsy
Nyw3IEBACiAKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogCisjaW5jbHVkZSA8d3RmL1dlYWtQ
dHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewpAQCAtNjIsNiArNjMsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgQ2FwdHVyZURldmlj
ZU1hbmFnZXImIGF1ZGlvQ2FwdHVyZURldmljZU1hbmFnZXIoKSA9IDA7CiAgICAgdmlydHVhbCBj
b25zdCBWZWN0b3I8Q2FwdHVyZURldmljZT4mIHNwZWFrZXJEZXZpY2VzKCkgY29uc3QgPSAwOwog
CisgICAgY2xhc3MgRXh0ZW5zaXZlT2JzZXJ2ZXIgOiBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8RXh0
ZW5zaXZlT2JzZXJ2ZXI+IHsgfTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkRXh0ZW5zaXZlT2JzZXJ2
ZXIoRXh0ZW5zaXZlT2JzZXJ2ZXImKSB7IH07CisgICAgdmlydHVhbCB2b2lkIHJlbW92ZUV4dGVu
c2l2ZU9ic2VydmVyKEV4dGVuc2l2ZU9ic2VydmVyJikgeyB9OworCiBwcm90ZWN0ZWQ6CiAgICAg
QXVkaW9DYXB0dXJlRmFjdG9yeSgpID0gZGVmYXVsdDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3MvQVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2
aWNlTWFuYWdlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9zL0FW
QXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXIuaAppbmRleCA2YWI0ZTJjNzQyZDMxZTRi
ZmNkOGM1ZWI5ODdkOTExNTYxNWQzY2NmLi45NDk3YTYyOTc0ZjE0MWIyMzFlZGI3MzkwMmYxMTJj
YWNkZmJkYzFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9pb3MvQVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2lvcy9BVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZp
Y2VNYW5hZ2VyLmgKQEAgLTU0LDYgKzU0LDkgQEAgcHVibGljOgogICAgIAogICAgIHZvaWQgc2No
ZWR1bGVVcGRhdGVDYXB0dXJlRGV2aWNlcygpOwogCisgICAgdm9pZCBlbmFibGVBbGxEZXZpY2Vz
UXVlcnkoKTsKKyAgICB2b2lkIGRpc2FibGVBbGxEZXZpY2VzUXVlcnkoKTsKKwogcHJpdmF0ZToK
ICAgICBBVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2VNYW5hZ2VyKCk7CiAgICAgfkFWQXVkaW9T
ZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXIoKTsKQEAgLTY3LDYgKzcwLDcgQEAgcHJpdmF0ZToK
ICAgICBSZXRhaW5QdHI8V2ViQVZBdWRpb1Nlc3Npb25BdmFpbGFibGVJbnB1dHNMaXN0ZW5lcj4g
bV9saXN0ZW5lcjsKICAgICBSZXRhaW5QdHI8QVZBdWRpb1Nlc3Npb24+IG1fYXVkaW9TZXNzaW9u
OwogICAgIEdlbmVyaWNUYXNrUXVldWU8VGltZXI+IG1fdXBkYXRlRGV2aWNlU3RhdGVRdWV1ZTsK
KyAgICBib29sIG1fc2hvdWxkUXVlcnlBbGxEZXZpY2VzIHsgZmFsc2UgfTsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL2lvcy9BVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2VNYW5hZ2VyLm1tIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9zL0FWQXVkaW9TZXNzaW9uQ2FwdHVy
ZURldmljZU1hbmFnZXIubW0KaW5kZXggODE4YzhmNWEwNzk4ZGY4MTVkNjUzNDNkN2UwNjlkYjNk
MzNkYjNjZi4uOTVhZTEzYjViNTAyZjNmYjVkZDc4MGE1ZjgxODQ0NWRlNGI3NTE4NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9zL0FWQXVkaW9TZXNz
aW9uQ2FwdHVyZURldmljZU1hbmFnZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vaW9zL0FWQXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXIubW0KQEAg
LTE1OCwxMCArMTU4LDEyIEBAIHZvaWQgQVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdl
cjo6cmVmcmVzaEF1ZGlvQ2FwdHVyZURldmljZXMoKQogICAgIGlmICghbV9saXN0ZW5lcikKICAg
ICAgICAgbV9saXN0ZW5lciA9IGFkb3B0TlMoW1tXZWJBVkF1ZGlvU2Vzc2lvbkF2YWlsYWJsZUlu
cHV0c0xpc3RlbmVyIGFsbG9jXSBpbml0V2l0aENhbGxiYWNrOnRoaXMgYXVkaW9TZXNzaW9uOm1f
YXVkaW9TZXNzaW9uLmdldCgpXSk7CiAKLSAgICBOU0Vycm9yICplcnJvciA9IG5pbDsKLSAgICBb
bV9hdWRpb1Nlc3Npb24gc2V0QWN0aXZlOllFUyB3aXRoT3B0aW9uczowIGVycm9yOiZlcnJvcl07
Ci0gICAgaWYgKGVycm9yKQotICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihXZWJSVEMsICJGYWls
ZWQgdG8gYWN0aXZhdGUgYXVkaW8gc2Vzc2lvbiB3aXRoIGVycm9yOiAlQC4iLCBlcnJvci5sb2Nh
bGl6ZWREZXNjcmlwdGlvbik7CisgICAgaWYgKG1fc2hvdWxkUXVlcnlBbGxEZXZpY2VzKSB7Cisg
ICAgICAgIE5TRXJyb3IgKmVycm9yID0gbmlsOworICAgICAgICBbbV9hdWRpb1Nlc3Npb24gc2V0
QWN0aXZlOllFUyB3aXRoT3B0aW9uczowIGVycm9yOiZlcnJvcl07CisgICAgICAgIGlmIChlcnJv
cikKKyAgICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFdlYlJUQywgIkZhaWxlZCB0byBhY3Rp
dmF0ZSBhdWRpbyBzZXNzaW9uIHdpdGggZXJyb3I6ICVALiIsIGVycm9yLmxvY2FsaXplZERlc2Ny
aXB0aW9uKTsKKyAgICB9CiAKICAgICBWZWN0b3I8QVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNl
PiBuZXdBdWRpb0RldmljZXM7CiAgICAgVmVjdG9yPENhcHR1cmVEZXZpY2U+IG5ld0RldmljZXM7
CkBAIC0xOTYsNiArMTk4LDI2IEBAIHZvaWQgQVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFu
YWdlcjo6cmVmcmVzaEF1ZGlvQ2FwdHVyZURldmljZXMoKQogICAgICAgICBkZXZpY2VDaGFuZ2Vk
KCk7CiB9CiAKK3ZvaWQgQVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlcjo6ZW5hYmxl
QWxsRGV2aWNlc1F1ZXJ5KCkKK3sKKyAgICBpZiAobV9zaG91bGRRdWVyeUFsbERldmljZXMpCisg
ICAgICAgIHJldHVybjsKKyAgICBtX3Nob3VsZFF1ZXJ5QWxsRGV2aWNlcyA9IHRydWU7CisgICAg
cmVmcmVzaEF1ZGlvQ2FwdHVyZURldmljZXMoKTsKK30KKwordm9pZCBBVkF1ZGlvU2Vzc2lvbkNh
cHR1cmVEZXZpY2VNYW5hZ2VyOjpkaXNhYmxlQWxsRGV2aWNlc1F1ZXJ5KCkKK3sKKyAgICBpZiAo
IW1fc2hvdWxkUXVlcnlBbGxEZXZpY2VzKQorICAgICAgICByZXR1cm47CisKKyAgICBtX3Nob3Vs
ZFF1ZXJ5QWxsRGV2aWNlcyA9IHRydWU7CisgICAgTlNFcnJvciAqZXJyb3IgPSBuaWw7CisgICAg
W21fYXVkaW9TZXNzaW9uIHNldEFjdGl2ZTpOTyB3aXRoT3B0aW9uczowIGVycm9yOiZlcnJvcl07
CisgICAgaWYgKGVycm9yKQorICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihXZWJSVEMsICJGYWls
ZWQgdG8gZGlzYWN0aXZhdGUgYXVkaW8gc2Vzc2lvbiB3aXRoIGVycm9yOiAlQC4iLCBlcnJvci5s
b2NhbGl6ZWREZXNjcmlwdGlvbik7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2Vu
ZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIFBMQVRGT1JNKElPU19GQU1JTFkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3MvQ29yZUF1ZGlv
Q2FwdHVyZVNvdXJjZUlPUy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
aW9zL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2VJT1MuaAppbmRleCAxMmVjNTE4ZjY5MTEyZGI5Yzhk
OGE3YTljM2Q5YWQzMmI5MTIyYTZlLi42NjQ4NWUzMmI5NzRiMjZiNmRiNzBlZjMxZjQxNTQ1MGMw
YzYzMWZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9p
b3MvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUlPUy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL2lvcy9Db3JlQXVkaW9DYXB0dXJlU291cmNlSU9TLmgKQEAgLTI5LDYg
KzI5LDcgQEAKIAogI2luY2x1ZGUgIkF1ZGlvU2Vzc2lvbi5oIgogI2luY2x1ZGUgIkNvcmVBdWRp
b0NhcHR1cmVTb3VyY2UuaCIKKyNpbmNsdWRlIDx3dGYvV2Vha0hhc2hTZXQuaD4KIAogT0JKQ19D
TEFTUyBXZWJDb3JlQXVkaW9DYXB0dXJlU291cmNlSU9TTGlzdGVuZXI7CiAKQEAgLTQ0LDcgKzQ1
LDEyIEBAIHByaXZhdGU6CiAgICAgdm9pZCBiZWdpbkF1ZGlvU2Vzc2lvbkludGVycnVwdGlvbigp
IHsgYmVnaW5JbnRlcnJ1cHRpb24oKTsgfQogICAgIHZvaWQgZW5kQXVkaW9TZXNzaW9uSW50ZXJy
dXB0aW9uKEF1ZGlvU2Vzc2lvbjo6TWF5UmVzdW1lKSB7IGVuZEludGVycnVwdGlvbigpOyB9CiAK
KyAgICBDYXB0dXJlU291cmNlT3JFcnJvciBjcmVhdGVBdWRpb0NhcHR1cmVTb3VyY2UoY29uc3Qg
Q2FwdHVyZURldmljZSYsIFN0cmluZyYmLCBjb25zdCBNZWRpYUNvbnN0cmFpbnRzKikgZmluYWw7
CisgICAgdm9pZCBhZGRFeHRlbnNpdmVPYnNlcnZlcihFeHRlbnNpdmVPYnNlcnZlciYpIGZpbmFs
OworICAgIHZvaWQgcmVtb3ZlRXh0ZW5zaXZlT2JzZXJ2ZXIoRXh0ZW5zaXZlT2JzZXJ2ZXImKSBm
aW5hbDsKKwogICAgIFJldGFpblB0cjxXZWJDb3JlQXVkaW9DYXB0dXJlU291cmNlSU9TTGlzdGVu
ZXI+IG1fbGlzdGVuZXI7CisgICAgV2Vha0hhc2hTZXQ8RXh0ZW5zaXZlT2JzZXJ2ZXI+IG1fb2Jz
ZXJ2ZXJzOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9zL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2VJ
T1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3MvQ29yZUF1ZGlv
Q2FwdHVyZVNvdXJjZUlPUy5tbQppbmRleCA0YTIwNDdiYzQ0M2E2NTY2MjRkMzFiMDViZmE3ODJh
MTg3ZTUyNTIwLi44ODc0MDA5NjQ3NTZhZDNmMzhlMDcyNGVmOWY5ZjZhZWVhMjU5NjAxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3MvQ29yZUF1ZGlv
Q2FwdHVyZVNvdXJjZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9pb3MvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUlPUy5tbQpAQCAtMjgsNiArMjgsNyBAQAog
CiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKIAorI2lt
cG9ydCAiQVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlci5oIgogI2ltcG9ydCAiTG9n
Z2luZy5oIgogI2ltcG9ydCA8QVZGb3VuZGF0aW9uL0FWQXVkaW9TZXNzaW9uLmg+CiAjaW1wb3J0
IDx3dGYvTWFpblRocmVhZC5oPgpAQCAtMTAyLDYgKzEwMywyNiBAQCBDb3JlQXVkaW9DYXB0dXJl
U291cmNlRmFjdG9yeSYgQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUZhY3Rvcnk6OnNpbmdsZXRvbigp
CiAgICAgcmV0dXJuIGZhY3RvcnkuZ2V0KCk7CiB9CiAKK3ZvaWQgQ29yZUF1ZGlvQ2FwdHVyZVNv
dXJjZUZhY3RvcnlJT1M6OmFkZEV4dGVuc2l2ZU9ic2VydmVyKEV4dGVuc2l2ZU9ic2VydmVyJiBv
YnNlcnZlcikKK3sKKyAgICBtX29ic2VydmVycy5hZGQob2JzZXJ2ZXIpOworICAgIEFWQXVkaW9T
ZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXI6OnNpbmdsZXRvbigpLmVuYWJsZUFsbERldmljZXNR
dWVyeSgpOworfQorCit2b2lkIENvcmVBdWRpb0NhcHR1cmVTb3VyY2VGYWN0b3J5SU9TOjpyZW1v
dmVFeHRlbnNpdmVPYnNlcnZlcihFeHRlbnNpdmVPYnNlcnZlciYgb2JzZXJ2ZXIpCit7CisgICAg
bV9vYnNlcnZlcnMucmVtb3ZlKG9ic2VydmVyKTsKKyAgICBpZiAobV9vYnNlcnZlcnMuY29tcHV0
ZXNFbXB0eSgpKQorICAgICAgICBBVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2VNYW5hZ2VyOjpz
aW5nbGV0b24oKS5kaXNhYmxlQWxsRGV2aWNlc1F1ZXJ5KCk7Cit9CisKK0NhcHR1cmVTb3VyY2VP
ckVycm9yIENvcmVBdWRpb0NhcHR1cmVTb3VyY2VGYWN0b3J5SU9TOjpjcmVhdGVBdWRpb0NhcHR1
cmVTb3VyY2UoY29uc3QgQ2FwdHVyZURldmljZSYgZGV2aWNlLCBTdHJpbmcmJiBoYXNoU2FsdCwg
Y29uc3QgTWVkaWFDb25zdHJhaW50cyogY29uc3RyYWludHMpCit7CisgICAgaWYgKG1fb2JzZXJ2
ZXJzLmNvbXB1dGVzRW1wdHkoKSkKKyAgICAgICAgQVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNl
TWFuYWdlcjo6c2luZ2xldG9uKCkuZW5hYmxlQWxsRGV2aWNlc1F1ZXJ5KCk7CisgICAgcmV0dXJu
IENvcmVBdWRpb0NhcHR1cmVTb3VyY2U6OmNyZWF0ZShTdHJpbmcgeyBkZXZpY2UucGVyc2lzdGVu
dElkKCkgfSwgV1RGTW92ZShoYXNoU2FsdCksIGNvbnN0cmFpbnRzKTsKK30KKwogfQogCiAjZW5k
aWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9Db3JlQXVkaW9D
YXB0dXJlU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMv
Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZS5oCmluZGV4IDkyYWY1NWMyNzI5ZGMwNDkyMGUzOTMxOGNi
NDM4ZmZlNTZjNGY2NTUuLjViODIyZjI5MTRlYzNkMDhjZjliOGZjYzM3MTk5YTc4ZGY4N2VkZjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9Db3Jl
QXVkaW9DYXB0dXJlU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vbWFjL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2UuaApAQCAtMTE3LDE1ICsxMTcsMTYgQEAg
cHVibGljOgogICAgIHZvaWQgZGV2aWNlc0NoYW5nZWQoY29uc3QgVmVjdG9yPENhcHR1cmVEZXZp
Y2U+Jik7CiAKIHByaXZhdGU6Ci0gICAgQ2FwdHVyZVNvdXJjZU9yRXJyb3IgY3JlYXRlQXVkaW9D
YXB0dXJlU291cmNlKGNvbnN0IENhcHR1cmVEZXZpY2UmIGRldmljZSwgU3RyaW5nJiYgaGFzaFNh
bHQsIGNvbnN0IE1lZGlhQ29uc3RyYWludHMqIGNvbnN0cmFpbnRzKSBmaW5hbAotICAgIHsKLSAg
ICAgICAgcmV0dXJuIENvcmVBdWRpb0NhcHR1cmVTb3VyY2U6OmNyZWF0ZShTdHJpbmcgeyBkZXZp
Y2UucGVyc2lzdGVudElkKCkgfSwgV1RGTW92ZShoYXNoU2FsdCksIGNvbnN0cmFpbnRzKTsKLSAg
ICB9Ci0KKyAgICBDYXB0dXJlU291cmNlT3JFcnJvciBjcmVhdGVBdWRpb0NhcHR1cmVTb3VyY2Uo
Y29uc3QgQ2FwdHVyZURldmljZSYsIFN0cmluZyYmLCBjb25zdCBNZWRpYUNvbnN0cmFpbnRzKikg
b3ZlcnJpZGU7CiAgICAgQ2FwdHVyZURldmljZU1hbmFnZXImIGF1ZGlvQ2FwdHVyZURldmljZU1h
bmFnZXIoKSBmaW5hbDsKICAgICBjb25zdCBWZWN0b3I8Q2FwdHVyZURldmljZT4mIHNwZWFrZXJE
ZXZpY2VzKCkgY29uc3QgZmluYWw7CiB9OwogCitpbmxpbmUgQ2FwdHVyZVNvdXJjZU9yRXJyb3Ig
Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUZhY3Rvcnk6OmNyZWF0ZUF1ZGlvQ2FwdHVyZVNvdXJjZShj
b25zdCBDYXB0dXJlRGV2aWNlJiBkZXZpY2UsIFN0cmluZyYmIGhhc2hTYWx0LCBjb25zdCBNZWRp
YUNvbnN0cmFpbnRzKiBjb25zdHJhaW50cykKK3sKKyAgICByZXR1cm4gQ29yZUF1ZGlvQ2FwdHVy
ZVNvdXJjZTo6Y3JlYXRlKFN0cmluZyB7IGRldmljZS5wZXJzaXN0ZW50SWQoKSB9LCBXVEZNb3Zl
KGhhc2hTYWx0KSwgY29uc3RyYWludHMpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
ICNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2Vy
UHJveHkuY3BwCmluZGV4IDQ5MmE1NjlmMjBkNWVlMDA4MTZlMDZmNDllM2I0M2NkNzY5ZDE0YTQu
LjRiOTk0M2JhNmU4MzQ0Yzc1ZWMyYTNiMDAwOGVlMjBiNjVhOTg0ZjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclBy
b3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9u
UmVxdWVzdE1hbmFnZXJQcm94eS5jcHAKQEAgLTEyNSw2ICsxMjUsMTAgQEAgdm9pZCBVc2VyTWVk
aWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6aW52YWxpZGF0ZVBlbmRpbmdSZXF1ZXN0
cygpCiAgICAgICAgIHJlcXVlc3QtPmludmFsaWRhdGUoKTsKIAogICAgIG1fcGVuZGluZ0Rldmlj
ZVJlcXVlc3RzLmNsZWFyKCk7CisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorICAgIFJlYWx0
aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRvbigpLmF1ZGlvQ2FwdHVyZUZhY3RvcnkoKS5y
ZW1vdmVFeHRlbnNpdmVPYnNlcnZlcigqdGhpcyk7CisjZW5kaWYKIH0KIAogdm9pZCBVc2VyTWVk
aWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6c3RvcENhcHR1cmUoKQpAQCAtMjk1LDYg
KzI5OSw5IEBAIHZvaWQgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6OnJl
c2V0QWNjZXNzKE9wdGlvbmFsPEZyYW1lSWRlbnRpZmllCiAgICAgbV9wcmVncmFudGVkUmVxdWVz
dHMuY2xlYXIoKTsKICAgICBtX2RlbmllZFJlcXVlc3RzLmNsZWFyKCk7CiAgICAgbV9oYXNGaWx0
ZXJlZERldmljZUxpc3QgPSBmYWxzZTsKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorICAgIFJl
YWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRvbigpLmF1ZGlvQ2FwdHVyZUZhY3Rvcnko
KS5yZW1vdmVFeHRlbnNpdmVPYnNlcnZlcigqdGhpcyk7CisjZW5kaWYKIH0KIAogY29uc3QgVXNl
ck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eSogVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RN
YW5hZ2VyUHJveHk6OnNlYXJjaEZvckdyYW50ZWRSZXF1ZXN0KEZyYW1lSWRlbnRpZmllciBmcmFt
ZUlELCBjb25zdCBTZWN1cml0eU9yaWdpbiYgdXNlck1lZGlhRG9jdW1lbnRPcmlnaW4sIGNvbnN0
IFNlY3VyaXR5T3JpZ2luJiB0b3BMZXZlbERvY3VtZW50T3JpZ2luLCBib29sIG5lZWRzQXVkaW8s
IGJvb2wgbmVlZHNWaWRlbykgY29uc3QKQEAgLTQzNyw2ICs0NDQsOSBAQCB2b2lkIFVzZXJNZWRp
YVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5Ojpwcm9jZXNzTmV4dFVzZXJNZWRpYVJlcXVl
c3RJZk5lZWRlZAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiB2b2lkIFVzZXJNZWRpYVBlcm1p
c3Npb25SZXF1ZXN0TWFuYWdlclByb3h5OjpzdGFydFByb2Nlc3NpbmdVc2VyTWVkaWFQZXJtaXNz
aW9uUmVxdWVzdChSZWY8VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eT4mJiByZXF1ZXN0
KQogeworICAgIGlmIChyZXF1ZXN0LT51c2VyUmVxdWVzdCgpLmF1ZGlvQ29uc3RyYWludHMuaXNW
YWxpZCkKKyAgICAgICAgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xldG9uKCkuYXVk
aW9DYXB0dXJlRmFjdG9yeSgpLmFkZEV4dGVuc2l2ZU9ic2VydmVyKCp0aGlzKTsKKwogICAgIG1f
Y3VycmVudFVzZXJNZWRpYVJlcXVlc3QgPSBXVEZNb3ZlKHJlcXVlc3QpOwogCiAgICAgYXV0byYg
dXNlck1lZGlhRG9jdW1lbnRTZWN1cml0eU9yaWdpbiA9IG1fY3VycmVudFVzZXJNZWRpYVJlcXVl
c3QtPnVzZXJNZWRpYURvY3VtZW50U2VjdXJpdHlPcmlnaW4oKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1h
bmFnZXJQcm94eS5oCmluZGV4IDhmZWI0NTg3NTFhMjYyODdkNGUxYmIyYWE5Mzg1MmYyNmQ4MzMz
OGYuLjVhZWQxNTI3Y2Y3MDEyMmI1MjMxZDNhOWQ4ZmE2YjA5NTE0MjNjY2MgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
clByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyUHJveHkuaApAQCAtMjIsNiArMjIsNyBAQAogI2luY2x1ZGUgIlVzZXJN
ZWRpYVBlcm1pc3Npb25DaGVja1Byb3h5LmgiCiAjaW5jbHVkZSAiVXNlck1lZGlhUGVybWlzc2lv
blJlcXVlc3RQcm94eS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFQcm9kdWNlci5oPgorI2lu
Y2x1ZGUgPFdlYkNvcmUvUmVhbHRpbWVNZWRpYVNvdXJjZUZhY3RvcnkuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL1NlY3VyaXR5T3JpZ2luLmg+CiAjaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVy
Lmg+CiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CkBAIC00Myw3ICs0NCwxMSBAQCBuYW1lc3BhY2Ug
V2ViS2l0IHsKIGNsYXNzIFdlYlBhZ2VQcm94eTsKIAogY2xhc3MgVXNlck1lZGlhUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyUHJveHkKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorICAgIDogcHVi
bGljIFdlYkNvcmU6OkF1ZGlvQ2FwdHVyZUZhY3Rvcnk6OkV4dGVuc2l2ZU9ic2VydmVyCisjZWxz
ZQogICAgIDogcHVibGljIENhbk1ha2VXZWFrUHRyPFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0
TWFuYWdlclByb3h5PgorI2VuZGlmCiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECiAgICAgLCBw
cml2YXRlIExvZ2dlckhlbHBlcgogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416527</attachid>
            <date>2020-12-18 10:10:39 -0800</date>
            <delta_ts>2020-12-18 17:02:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220010-20201218191036.patch</filename>
            <type>text/plain</type>
            <size>15795</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwODg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzRiMmMxYjJiZWFkYzZi
OGQ0ZDRhMDVmOWJiNWIyZTg4YzQ1Zjc5Yy4uZTA5MDA0MmM1ZDE1MzU0ZDJjYzg3NmEzOWVjY2Iy
YjVmMjMyYmYzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDIwLTEyLTE4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBEbyBleHRlbnNp
dmUgc2VhcmNoIGZvciBtaWNyb3Bob25lIGRldmljZXMgd2hlbiB0cnlpbmcgdG8gY2FwdHVyZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwMDEwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXh0ZW5zaXZl
IGF1ZGlvIGRldmljZSBxdWVyeSBuZWVkcyB0byBlbmFibGUgdGhlIEF1ZGlvU2Vzc2lvbi4KKyAg
ICAgICAgRXZlbiB0aG91Z2ggdGhlIEF1ZGlvU2Vzc2lvbiBpcyBhbiBhdXhpbGlhcnkgc2Vzc2lv
biwgYWN0aXZhdGluZyBpdCBoYXMgc2lkZSBlZmZlY3RzLgorICAgICAgICBUbyB3b3JrIGFyb3Vu
ZCB0aGVzZSBzaWRlIGVmZmVjdHMsIHdlIGFkZCBhbiBBUEkgdGhhdCBhbGxvd3MgdG8gY29udHJv
bCB3aGV0aGVyIGFjdGl2YXRpbmcgdGhlIGF1ZGlvIHNlc3Npb24gb3Igbm90LgorICAgICAgICBX
ZWJLaXQgZnJhbWV3b3JrcyB1c2VzIHRoYXQgQVBJIHdoZW4gbmVlZGluZyB0byBkbyBhbiBleGhh
dXN0aXZlIHNlYXJjaC4KKyAgICAgICAgV2UgbWFrZSBzdXJlIHRvIHN3aXRjaCBvbiB0aGlzIGV4
dGVuc2l2ZSBxdWVyeSBtb2RlIHdoZW4gY3JlYXRpbmcgYSBzb3VyY2UuCisKKyAgICAgICAgTWFu
dWFsbHkgdGVzdGVkIG9uIGRldmljZSB3aXRoIGJ1aWx0LWluIGFuZCBCVCBoZWFkc2V0LgorCisg
ICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZUZhY3Rvcnku
aDoKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQ2FwdHVyZUZhY3Rvcnk6OmFkZEV4dGVuc2l2ZU9i
c2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQ2FwdHVyZUZhY3Rvcnk6OnJlbW92ZUV4
dGVuc2l2ZU9ic2VydmVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3MvQVZB
dWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlci5oOgorICAgICAgICAqIHBsYXRmb3JtL21l
ZGlhc3RyZWFtL2lvcy9BVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2VNYW5hZ2VyLm1tOgorICAg
ICAgICAoV2ViQ29yZTo6QVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlcjo6cmVmcmVz
aEF1ZGlvQ2FwdHVyZURldmljZXMpOgorICAgICAgICAoV2ViQ29yZTo6QVZBdWRpb1Nlc3Npb25D
YXB0dXJlRGV2aWNlTWFuYWdlcjo6ZW5hYmxlQWxsRGV2aWNlc1F1ZXJ5KToKKyAgICAgICAgKFdl
YkNvcmU6OkFWQXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXI6OmRpc2FibGVBbGxEZXZp
Y2VzUXVlcnkpOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2lvcy9Db3JlQXVkaW9D
YXB0dXJlU291cmNlSU9TLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9zL0Nv
cmVBdWRpb0NhcHR1cmVTb3VyY2VJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpDb3JlQXVkaW9D
YXB0dXJlU291cmNlRmFjdG9yeUlPUzo6YWRkRXh0ZW5zaXZlT2JzZXJ2ZXIpOgorICAgICAgICAo
V2ViQ29yZTo6Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUZhY3RvcnlJT1M6OnJlbW92ZUV4dGVuc2l2
ZU9ic2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkNvcmVBdWRpb0NhcHR1cmVTb3VyY2VGYWN0
b3J5SU9TOjpjcmVhdGVBdWRpb0NhcHR1cmVTb3VyY2UpOgorICAgICAgICBJbiBVSVByb2Nlc3Ms
IFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5IG1ha2VzIHN1cmUgdG8gZW5h
YmxlIHRoZSBleHRlbnNpdmUgYXVkaW8gZGV2aWNlIHF1ZXJ5LgorICAgICAgICBJbiBXZWJQcm9j
ZXNzLCB3ZSBhbHNvIG5lZWQgdGhpcyB3aGVuIHN0YXJ0aW5nIHRoZSBhdWRpbyBjYXB0dXJlLgor
ICAgICAgICBXZSBlbmFibGUgaXQgd2hlbiB0aGVyZSBpcyBubyBvYnNlcnZlciB0byBoYW5kbGUg
dGhlIFdlYlByb2Nlc3Mgc2lkZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMv
Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q29yZUF1ZGlvQ2Fw
dHVyZVNvdXJjZUZhY3Rvcnk6OmNyZWF0ZUF1ZGlvQ2FwdHVyZVNvdXJjZSk6CisKIDIwMjAtMTIt
MTYgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEV4cG9zZSBT
RnJhbWVUcmFuc2Zvcm0gdG8gRGVkaWNhdGVkV29ya2VyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDVlOWU1ZjYxNjE4
NzEyMGNkOTRmZDkxODgyOTI4OWE0OGEyMzVmMDAuLmUyMGEzNWJmYjgwMDRlYmIxYmQ3MTdjNzI5
NzM5YTRlYjlmODllZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjAtMTItMTggIFlv
dWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIERvIGV4dGVu
c2l2ZSBzZWFyY2ggZm9yIG1pY3JvcGhvbmUgZGV2aWNlcyB3aGVuIHRyeWluZyB0byBjYXB0dXJl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjAwMTAK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbmFibGUg
ZXhoYXVzdGl2ZSBhdWRpbyBkZXZpY2UgcXVlcnkgaW4gY2FzZSBnZXRVc2VyTWVkaWEgaXMgY2Fs
bGVkIGZvciBhdWRpbyBjYXB0dXJlLgorICAgICAgICBJbiBjYXNlIHRoZSBtYW5hZ2VyIGlzIGRl
c3Ryb3llZCBvciByZXNldCBhZnRlciBzb21lIHRpbWUgd2l0aG91dCBjYXB0dXJpbmcsIG1ha2Ug
c3VyZSB0byBkaXNhYmxlCisgICAgICAgIGV4aGF1c3RpdmUgYXVkaW8gZGV2aWNlIHF1ZXJ5IGlm
IG5vIG90aGVyIHBhZ2UgaXMgbmVlZGVkIGl0LgorCisgICAgICAgICogVUlQcm9jZXNzL1VzZXJN
ZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6OmludmFsaWRhdGVQZW5kaW5n
UmVxdWVzdHMpOgorICAgICAgICAoV2ViS2l0OjpVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1h
bmFnZXJQcm94eTo6ZGVueVJlcXVlc3QpOgorICAgICAgICAoV2ViS2l0OjpVc2VyTWVkaWFQZXJt
aXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6cmVzZXRBY2Nlc3MpOgorICAgICAgICAoV2ViS2l0
OjpVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6c3RhcnRQcm9jZXNzaW5n
VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Vc2VyTWVk
aWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5oOgorCiAyMDIwLTEyLTE2ICBZb3Vlbm4g
RmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIHN1cmUgV2ViS2l0IFdl
YlNvY2tldENoYW5uZWwgaGFuZGxlIHN1c3BlbmQvcmVzdW1lIGNvcnJlY3RseQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJj
ZUZhY3RvcnkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1l
TWVkaWFTb3VyY2VGYWN0b3J5LmgKaW5kZXggNDQzMDU5ZjcyY2VjZTg2NGE5YmFmNDcxNDVlYzg1
ZTNhYzEyNGRkMi4uYjE3YzczZmMwOTVmYjJmNWM5MjkyMTBjYWI3Yzc0YmZlZGE5MDc2ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRp
YVNvdXJjZUZhY3RvcnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9SZWFsdGltZU1lZGlhU291cmNlRmFjdG9yeS5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpZiBF
TkFCTEUoTUVESUFfU1RSRUFNKQogCisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNjIsNiAr
NjMsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgQ2FwdHVyZURldmljZU1hbmFnZXImIGF1ZGlv
Q2FwdHVyZURldmljZU1hbmFnZXIoKSA9IDA7CiAgICAgdmlydHVhbCBjb25zdCBWZWN0b3I8Q2Fw
dHVyZURldmljZT4mIHNwZWFrZXJEZXZpY2VzKCkgY29uc3QgPSAwOwogCisgICAgY2xhc3MgRXh0
ZW5zaXZlT2JzZXJ2ZXIgOiBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8RXh0ZW5zaXZlT2JzZXJ2ZXI+
IHsgfTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkRXh0ZW5zaXZlT2JzZXJ2ZXIoRXh0ZW5zaXZlT2Jz
ZXJ2ZXImKSB7IH07CisgICAgdmlydHVhbCB2b2lkIHJlbW92ZUV4dGVuc2l2ZU9ic2VydmVyKEV4
dGVuc2l2ZU9ic2VydmVyJikgeyB9OworCiBwcm90ZWN0ZWQ6CiAgICAgQXVkaW9DYXB0dXJlRmFj
dG9yeSgpID0gZGVmYXVsdDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9pb3MvQVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlci5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9zL0FWQXVkaW9TZXNzaW9uQ2Fw
dHVyZURldmljZU1hbmFnZXIuaAppbmRleCA2YWI0ZTJjNzQyZDMxZTRiZmNkOGM1ZWI5ODdkOTEx
NTYxNWQzY2NmLi45NDk3YTYyOTc0ZjE0MWIyMzFlZGI3MzkwMmYxMTJjYWNkZmJkYzFjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3MvQVZBdWRpb1Nl
c3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL2lvcy9BVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2VNYW5hZ2VyLmgKQEAg
LTU0LDYgKzU0LDkgQEAgcHVibGljOgogICAgIAogICAgIHZvaWQgc2NoZWR1bGVVcGRhdGVDYXB0
dXJlRGV2aWNlcygpOwogCisgICAgdm9pZCBlbmFibGVBbGxEZXZpY2VzUXVlcnkoKTsKKyAgICB2
b2lkIGRpc2FibGVBbGxEZXZpY2VzUXVlcnkoKTsKKwogcHJpdmF0ZToKICAgICBBVkF1ZGlvU2Vz
c2lvbkNhcHR1cmVEZXZpY2VNYW5hZ2VyKCk7CiAgICAgfkFWQXVkaW9TZXNzaW9uQ2FwdHVyZURl
dmljZU1hbmFnZXIoKTsKQEAgLTY3LDYgKzcwLDcgQEAgcHJpdmF0ZToKICAgICBSZXRhaW5QdHI8
V2ViQVZBdWRpb1Nlc3Npb25BdmFpbGFibGVJbnB1dHNMaXN0ZW5lcj4gbV9saXN0ZW5lcjsKICAg
ICBSZXRhaW5QdHI8QVZBdWRpb1Nlc3Npb24+IG1fYXVkaW9TZXNzaW9uOwogICAgIEdlbmVyaWNU
YXNrUXVldWU8VGltZXI+IG1fdXBkYXRlRGV2aWNlU3RhdGVRdWV1ZTsKKyAgICBib29sIG1fc2hv
dWxkUXVlcnlBbGxEZXZpY2VzIHsgZmFsc2UgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2lvcy9B
VkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2VNYW5hZ2VyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vaW9zL0FWQXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXIu
bW0KaW5kZXggODE4YzhmNWEwNzk4ZGY4MTVkNjUzNDNkN2UwNjlkYjNkMzNkYjNjZi4uY2ZmODdj
YmQ5OWVmNDQ1NGU3YjllYjIxYjZiMzBmNTUwMWU3ZmIxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9zL0FWQXVkaW9TZXNzaW9uQ2FwdHVyZURldmlj
ZU1hbmFnZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9z
L0FWQXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXIubW0KQEAgLTE1OCwxMCArMTU4LDEy
IEBAIHZvaWQgQVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlcjo6cmVmcmVzaEF1ZGlv
Q2FwdHVyZURldmljZXMoKQogICAgIGlmICghbV9saXN0ZW5lcikKICAgICAgICAgbV9saXN0ZW5l
ciA9IGFkb3B0TlMoW1tXZWJBVkF1ZGlvU2Vzc2lvbkF2YWlsYWJsZUlucHV0c0xpc3RlbmVyIGFs
bG9jXSBpbml0V2l0aENhbGxiYWNrOnRoaXMgYXVkaW9TZXNzaW9uOm1fYXVkaW9TZXNzaW9uLmdl
dCgpXSk7CiAKLSAgICBOU0Vycm9yICplcnJvciA9IG5pbDsKLSAgICBbbV9hdWRpb1Nlc3Npb24g
c2V0QWN0aXZlOllFUyB3aXRoT3B0aW9uczowIGVycm9yOiZlcnJvcl07Ci0gICAgaWYgKGVycm9y
KQotICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihXZWJSVEMsICJGYWlsZWQgdG8gYWN0aXZhdGUg
YXVkaW8gc2Vzc2lvbiB3aXRoIGVycm9yOiAlQC4iLCBlcnJvci5sb2NhbGl6ZWREZXNjcmlwdGlv
bik7CisgICAgaWYgKG1fc2hvdWxkUXVlcnlBbGxEZXZpY2VzKSB7CisgICAgICAgIE5TRXJyb3Ig
KmVycm9yID0gbmlsOworICAgICAgICBbbV9hdWRpb1Nlc3Npb24gc2V0QWN0aXZlOllFUyB3aXRo
T3B0aW9uczowIGVycm9yOiZlcnJvcl07CisgICAgICAgIGlmIChlcnJvcikKKyAgICAgICAgICAg
IFJFTEVBU0VfTE9HX0VSUk9SKFdlYlJUQywgIkZhaWxlZCB0byBhY3RpdmF0ZSBhdWRpbyBzZXNz
aW9uIHdpdGggZXJyb3I6ICVALiIsIGVycm9yLmxvY2FsaXplZERlc2NyaXB0aW9uKTsKKyAgICB9
CiAKICAgICBWZWN0b3I8QVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlPiBuZXdBdWRpb0Rldmlj
ZXM7CiAgICAgVmVjdG9yPENhcHR1cmVEZXZpY2U+IG5ld0RldmljZXM7CkBAIC0xOTYsNiArMTk4
LDI3IEBAIHZvaWQgQVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlcjo6cmVmcmVzaEF1
ZGlvQ2FwdHVyZURldmljZXMoKQogICAgICAgICBkZXZpY2VDaGFuZ2VkKCk7CiB9CiAKK3ZvaWQg
QVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlcjo6ZW5hYmxlQWxsRGV2aWNlc1F1ZXJ5
KCkKK3sKKyAgICBpZiAobV9zaG91bGRRdWVyeUFsbERldmljZXMpCisgICAgICAgIHJldHVybjsK
KworICAgIG1fc2hvdWxkUXVlcnlBbGxEZXZpY2VzID0gdHJ1ZTsKKyAgICByZWZyZXNoQXVkaW9D
YXB0dXJlRGV2aWNlcygpOworfQorCit2b2lkIEFWQXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1h
bmFnZXI6OmRpc2FibGVBbGxEZXZpY2VzUXVlcnkoKQoreworICAgIGlmICghbV9zaG91bGRRdWVy
eUFsbERldmljZXMpCisgICAgICAgIHJldHVybjsKKworICAgIG1fc2hvdWxkUXVlcnlBbGxEZXZp
Y2VzID0gZmFsc2U7CisgICAgTlNFcnJvciAqZXJyb3IgPSBuaWw7CisgICAgW21fYXVkaW9TZXNz
aW9uIHNldEFjdGl2ZTpOTyB3aXRoT3B0aW9uczowIGVycm9yOiZlcnJvcl07CisgICAgaWYgKGVy
cm9yKQorICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihXZWJSVEMsICJGYWlsZWQgdG8gZGlzYWN0
aXZhdGUgYXVkaW8gc2Vzc2lvbiB3aXRoIGVycm9yOiAlQC4iLCBlcnJvci5sb2NhbGl6ZWREZXNj
cmlwdGlvbik7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJM
RShNRURJQV9TVFJFQU0pICYmIFBMQVRGT1JNKElPU19GQU1JTFkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3MvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJj
ZUlPUy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9zL0NvcmVBdWRp
b0NhcHR1cmVTb3VyY2VJT1MuaAppbmRleCAxMmVjNTE4ZjY5MTEyZGI5YzhkOGE3YTljM2Q5YWQz
MmI5MTIyYTZlLi42NjQ4NWUzMmI5NzRiMjZiNmRiNzBlZjMxZjQxNTQ1MGMwYzYzMWZmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3MvQ29yZUF1ZGlv
Q2FwdHVyZVNvdXJjZUlPUy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL2lvcy9Db3JlQXVkaW9DYXB0dXJlU291cmNlSU9TLmgKQEAgLTI5LDYgKzI5LDcgQEAKIAog
I2luY2x1ZGUgIkF1ZGlvU2Vzc2lvbi5oIgogI2luY2x1ZGUgIkNvcmVBdWRpb0NhcHR1cmVTb3Vy
Y2UuaCIKKyNpbmNsdWRlIDx3dGYvV2Vha0hhc2hTZXQuaD4KIAogT0JKQ19DTEFTUyBXZWJDb3Jl
QXVkaW9DYXB0dXJlU291cmNlSU9TTGlzdGVuZXI7CiAKQEAgLTQ0LDcgKzQ1LDEyIEBAIHByaXZh
dGU6CiAgICAgdm9pZCBiZWdpbkF1ZGlvU2Vzc2lvbkludGVycnVwdGlvbigpIHsgYmVnaW5JbnRl
cnJ1cHRpb24oKTsgfQogICAgIHZvaWQgZW5kQXVkaW9TZXNzaW9uSW50ZXJydXB0aW9uKEF1ZGlv
U2Vzc2lvbjo6TWF5UmVzdW1lKSB7IGVuZEludGVycnVwdGlvbigpOyB9CiAKKyAgICBDYXB0dXJl
U291cmNlT3JFcnJvciBjcmVhdGVBdWRpb0NhcHR1cmVTb3VyY2UoY29uc3QgQ2FwdHVyZURldmlj
ZSYsIFN0cmluZyYmLCBjb25zdCBNZWRpYUNvbnN0cmFpbnRzKikgZmluYWw7CisgICAgdm9pZCBh
ZGRFeHRlbnNpdmVPYnNlcnZlcihFeHRlbnNpdmVPYnNlcnZlciYpIGZpbmFsOworICAgIHZvaWQg
cmVtb3ZlRXh0ZW5zaXZlT2JzZXJ2ZXIoRXh0ZW5zaXZlT2JzZXJ2ZXImKSBmaW5hbDsKKwogICAg
IFJldGFpblB0cjxXZWJDb3JlQXVkaW9DYXB0dXJlU291cmNlSU9TTGlzdGVuZXI+IG1fbGlzdGVu
ZXI7CisgICAgV2Vha0hhc2hTZXQ8RXh0ZW5zaXZlT2JzZXJ2ZXI+IG1fb2JzZXJ2ZXJzOwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vaW9zL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2VJT1MubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3MvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJj
ZUlPUy5tbQppbmRleCA0YTIwNDdiYzQ0M2E2NTY2MjRkMzFiMDViZmE3ODJhMTg3ZTUyNTIwLi42
NzA1OTJmMzUxNjdmNmIwNjE5OTZiMDE2NzRlYjliNTQ4NDQzYTUyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3MvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJj
ZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3MvQ29y
ZUF1ZGlvQ2FwdHVyZVNvdXJjZUlPUy5tbQpAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxF
KE1FRElBX1NUUkVBTSkgJiYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKIAorI2ltcG9ydCAiQVZBdWRp
b1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlci5oIgogI2ltcG9ydCAiTG9nZ2luZy5oIgogI2lt
cG9ydCA8QVZGb3VuZGF0aW9uL0FWQXVkaW9TZXNzaW9uLmg+CiAjaW1wb3J0IDx3dGYvTWFpblRo
cmVhZC5oPgpAQCAtMTAyLDYgKzEwMywyOCBAQCBDb3JlQXVkaW9DYXB0dXJlU291cmNlRmFjdG9y
eSYgQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUZhY3Rvcnk6OnNpbmdsZXRvbigpCiAgICAgcmV0dXJu
IGZhY3RvcnkuZ2V0KCk7CiB9CiAKK3ZvaWQgQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUZhY3RvcnlJ
T1M6OmFkZEV4dGVuc2l2ZU9ic2VydmVyKEV4dGVuc2l2ZU9ic2VydmVyJiBvYnNlcnZlcikKK3sK
KyAgICBtX29ic2VydmVycy5hZGQob2JzZXJ2ZXIpOworICAgIEFWQXVkaW9TZXNzaW9uQ2FwdHVy
ZURldmljZU1hbmFnZXI6OnNpbmdsZXRvbigpLmVuYWJsZUFsbERldmljZXNRdWVyeSgpOworfQor
Cit2b2lkIENvcmVBdWRpb0NhcHR1cmVTb3VyY2VGYWN0b3J5SU9TOjpyZW1vdmVFeHRlbnNpdmVP
YnNlcnZlcihFeHRlbnNpdmVPYnNlcnZlciYgb2JzZXJ2ZXIpCit7CisgICAgbV9vYnNlcnZlcnMu
cmVtb3ZlKG9ic2VydmVyKTsKKyAgICBpZiAobV9vYnNlcnZlcnMuY29tcHV0ZXNFbXB0eSgpKQor
ICAgICAgICBBVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2VNYW5hZ2VyOjpzaW5nbGV0b24oKS5k
aXNhYmxlQWxsRGV2aWNlc1F1ZXJ5KCk7Cit9CisKK0NhcHR1cmVTb3VyY2VPckVycm9yIENvcmVB
dWRpb0NhcHR1cmVTb3VyY2VGYWN0b3J5SU9TOjpjcmVhdGVBdWRpb0NhcHR1cmVTb3VyY2UoY29u
c3QgQ2FwdHVyZURldmljZSYgZGV2aWNlLCBTdHJpbmcmJiBoYXNoU2FsdCwgY29uc3QgTWVkaWFD
b25zdHJhaW50cyogY29uc3RyYWludHMpCit7CisgICAgLy8gV2UgZW5hYmxlIGV4aGF1c3RpdmUg
cXVlcnkgdG8gYmUgc3VyZSB0byBzdGFydCBjYXB0dXJlIHdpdGggdGhlIHJpZ2h0IGRldmljZS4K
KyAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHN0b3AgdGhlIGF1eGlsaWFyeSBzZXNzaW9uIGFmdGVy
IHN0YXJ0aW5nIGNhcHR1cmUuCisgICAgaWYgKG1fb2JzZXJ2ZXJzLmNvbXB1dGVzRW1wdHkoKSkK
KyAgICAgICAgQVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlcjo6c2luZ2xldG9uKCku
ZW5hYmxlQWxsRGV2aWNlc1F1ZXJ5KCk7CisgICAgcmV0dXJuIENvcmVBdWRpb0NhcHR1cmVTb3Vy
Y2U6OmNyZWF0ZShTdHJpbmcgeyBkZXZpY2UucGVyc2lzdGVudElkKCkgfSwgV1RGTW92ZShoYXNo
U2FsdCksIGNvbnN0cmFpbnRzKTsKK30KKwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NU
UkVBTSkgJiYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9Db3JlQXVkaW9DYXB0dXJlU291cmNlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJj
ZS5oCmluZGV4IDkyYWY1NWMyNzI5ZGMwNDkyMGUzOTMxOGNiNDM4ZmZlNTZjNGY2NTUuLjViODIy
ZjI5MTRlYzNkMDhjZjliOGZjYzM3MTk5YTc4ZGY4N2VkZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9Db3JlQXVkaW9DYXB0dXJlU291cmNlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0NvcmVBdWRpb0Nh
cHR1cmVTb3VyY2UuaApAQCAtMTE3LDE1ICsxMTcsMTYgQEAgcHVibGljOgogICAgIHZvaWQgZGV2
aWNlc0NoYW5nZWQoY29uc3QgVmVjdG9yPENhcHR1cmVEZXZpY2U+Jik7CiAKIHByaXZhdGU6Ci0g
ICAgQ2FwdHVyZVNvdXJjZU9yRXJyb3IgY3JlYXRlQXVkaW9DYXB0dXJlU291cmNlKGNvbnN0IENh
cHR1cmVEZXZpY2UmIGRldmljZSwgU3RyaW5nJiYgaGFzaFNhbHQsIGNvbnN0IE1lZGlhQ29uc3Ry
YWludHMqIGNvbnN0cmFpbnRzKSBmaW5hbAotICAgIHsKLSAgICAgICAgcmV0dXJuIENvcmVBdWRp
b0NhcHR1cmVTb3VyY2U6OmNyZWF0ZShTdHJpbmcgeyBkZXZpY2UucGVyc2lzdGVudElkKCkgfSwg
V1RGTW92ZShoYXNoU2FsdCksIGNvbnN0cmFpbnRzKTsKLSAgICB9Ci0KKyAgICBDYXB0dXJlU291
cmNlT3JFcnJvciBjcmVhdGVBdWRpb0NhcHR1cmVTb3VyY2UoY29uc3QgQ2FwdHVyZURldmljZSYs
IFN0cmluZyYmLCBjb25zdCBNZWRpYUNvbnN0cmFpbnRzKikgb3ZlcnJpZGU7CiAgICAgQ2FwdHVy
ZURldmljZU1hbmFnZXImIGF1ZGlvQ2FwdHVyZURldmljZU1hbmFnZXIoKSBmaW5hbDsKICAgICBj
b25zdCBWZWN0b3I8Q2FwdHVyZURldmljZT4mIHNwZWFrZXJEZXZpY2VzKCkgY29uc3QgZmluYWw7
CiB9OwogCitpbmxpbmUgQ2FwdHVyZVNvdXJjZU9yRXJyb3IgQ29yZUF1ZGlvQ2FwdHVyZVNvdXJj
ZUZhY3Rvcnk6OmNyZWF0ZUF1ZGlvQ2FwdHVyZVNvdXJjZShjb25zdCBDYXB0dXJlRGV2aWNlJiBk
ZXZpY2UsIFN0cmluZyYmIGhhc2hTYWx0LCBjb25zdCBNZWRpYUNvbnN0cmFpbnRzKiBjb25zdHJh
aW50cykKK3sKKyAgICByZXR1cm4gQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6Y3JlYXRlKFN0cmlu
ZyB7IGRldmljZS5wZXJzaXN0ZW50SWQoKSB9LCBXVEZNb3ZlKGhhc2hTYWx0KSwgY29uc3RyYWlu
dHMpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoTUVE
SUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlh
UGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwCmluZGV4IDQ5MmE1
NjlmMjBkNWVlMDA4MTZlMDZmNDllM2I0M2NkNzY5ZDE0YTQuLjRlZmVmOTk2OTQ5NTcxYjU1NmNh
MzRjYWI0NzFmZGZmZDQ1ZGY1M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5j
cHAKQEAgLTEyNSw2ICsxMjUsMTAgQEAgdm9pZCBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1h
bmFnZXJQcm94eTo6aW52YWxpZGF0ZVBlbmRpbmdSZXF1ZXN0cygpCiAgICAgICAgIHJlcXVlc3Qt
PmludmFsaWRhdGUoKTsKIAogICAgIG1fcGVuZGluZ0RldmljZVJlcXVlc3RzLmNsZWFyKCk7CisK
KyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorICAgIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6
OnNpbmdsZXRvbigpLmF1ZGlvQ2FwdHVyZUZhY3RvcnkoKS5yZW1vdmVFeHRlbnNpdmVPYnNlcnZl
cigqdGhpcyk7CisjZW5kaWYKIH0KIAogdm9pZCBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1h
bmFnZXJQcm94eTo6c3RvcENhcHR1cmUoKQpAQCAtMjEwLDYgKzIxNCw5IEBAIHZvaWQgVXNlck1l
ZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6OmRlbnlSZXF1ZXN0KFVzZXJNZWRpYVBl
cm1pc3Npb25SZXF1CiAgICAgICAgIG1fZGVuaWVkUmVxdWVzdHMuYXBwZW5kKERlbmllZFJlcXVl
c3QgeyByZXF1ZXN0Lm1haW5GcmFtZUlEKCksIHJlcXVlc3QudXNlck1lZGlhRG9jdW1lbnRTZWN1
cml0eU9yaWdpbigpLCByZXF1ZXN0LnRvcExldmVsRG9jdW1lbnRTZWN1cml0eU9yaWdpbigpLCBy
ZXF1ZXN0LnJlcXVpcmVzQXVkaW9DYXB0dXJlKCksIHJlcXVlc3QucmVxdWlyZXNWaWRlb0NhcHR1
cmUoKSwgcmVxdWVzdC5yZXF1aXJlc0Rpc3BsYXlDYXB0dXJlKCkgfSk7CiAKICNpZiBFTkFCTEUo
TUVESUFfU1RSRUFNKQorICAgIGlmIChtX3ByZWdyYW50ZWRSZXF1ZXN0cy5pc0VtcHR5KCkgJiYg
cmVxdWVzdC51c2VyUmVxdWVzdCgpLmF1ZGlvQ29uc3RyYWludHMuaXNWYWxpZCkKKyAgICAgICAg
UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xldG9uKCkuYXVkaW9DYXB0dXJlRmFjdG9y
eSgpLnJlbW92ZUV4dGVuc2l2ZU9ic2VydmVyKCp0aGlzKTsKKwogICAgIG1fcGFnZS5zZW5kKE1l
c3NhZ2VzOjpXZWJQYWdlOjpVc2VyTWVkaWFBY2Nlc3NXYXNEZW5pZWQocmVxdWVzdC51c2VyTWVk
aWFJRCgpLCB0b1dlYkNvcmUocmVhc29uKSwgaW52YWxpZENvbnN0cmFpbnQpKTsKICNlbHNlCiAg
ICAgVU5VU0VEX1BBUkFNKHJlYXNvbik7CkBAIC0yOTUsNiArMzAyLDkgQEAgdm9pZCBVc2VyTWVk
aWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6cmVzZXRBY2Nlc3MoT3B0aW9uYWw8RnJh
bWVJZGVudGlmaWUKICAgICBtX3ByZWdyYW50ZWRSZXF1ZXN0cy5jbGVhcigpOwogICAgIG1fZGVu
aWVkUmVxdWVzdHMuY2xlYXIoKTsKICAgICBtX2hhc0ZpbHRlcmVkRGV2aWNlTGlzdCA9IGZhbHNl
OworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRl
cjo6c2luZ2xldG9uKCkuYXVkaW9DYXB0dXJlRmFjdG9yeSgpLnJlbW92ZUV4dGVuc2l2ZU9ic2Vy
dmVyKCp0aGlzKTsKKyNlbmRpZgogfQogCiBjb25zdCBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVz
dFByb3h5KiBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6c2VhcmNoRm9y
R3JhbnRlZFJlcXVlc3QoRnJhbWVJZGVudGlmaWVyIGZyYW1lSUQsIGNvbnN0IFNlY3VyaXR5T3Jp
Z2luJiB1c2VyTWVkaWFEb2N1bWVudE9yaWdpbiwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcExl
dmVsRG9jdW1lbnRPcmlnaW4sIGJvb2wgbmVlZHNBdWRpbywgYm9vbCBuZWVkc1ZpZGVvKSBjb25z
dApAQCAtNDM3LDYgKzQ0Nyw5IEBAIHZvaWQgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5h
Z2VyUHJveHk6OnByb2Nlc3NOZXh0VXNlck1lZGlhUmVxdWVzdElmTmVlZGVkCiAjaWYgRU5BQkxF
KE1FRElBX1NUUkVBTSkKIHZvaWQgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJv
eHk6OnN0YXJ0UHJvY2Vzc2luZ1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0KFJlZjxVc2VyTWVk
aWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5PiYmIHJlcXVlc3QpCiB7CisgICAgaWYgKHJlcXVlc3Qt
PnVzZXJSZXF1ZXN0KCkuYXVkaW9Db25zdHJhaW50cy5pc1ZhbGlkKQorICAgICAgICBSZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24oKS5hdWRpb0NhcHR1cmVGYWN0b3J5KCkuYWRk
RXh0ZW5zaXZlT2JzZXJ2ZXIoKnRoaXMpOworCiAgICAgbV9jdXJyZW50VXNlck1lZGlhUmVxdWVz
dCA9IFdURk1vdmUocmVxdWVzdCk7CiAKICAgICBhdXRvJiB1c2VyTWVkaWFEb2N1bWVudFNlY3Vy
aXR5T3JpZ2luID0gbV9jdXJyZW50VXNlck1lZGlhUmVxdWVzdC0+dXNlck1lZGlhRG9jdW1lbnRT
ZWN1cml0eU9yaWdpbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNl
ck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmgKaW5kZXggOGZl
YjQ1ODc1MWEyNjI4N2Q0ZTFiYjJhYTkzODUyZjI2ZDgzMzM4Zi4uNWFlZDE1MjdjZjcwMTIyYjUy
MzFkM2E5ZDhmYTZiMDk1MTQyM2NjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5o
CkBAIC0yMiw2ICsyMiw3IEBACiAjaW5jbHVkZSAiVXNlck1lZGlhUGVybWlzc2lvbkNoZWNrUHJv
eHkuaCIKICNpbmNsdWRlICJVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5LmgiCiAjaW5j
bHVkZSA8V2ViQ29yZS9NZWRpYVByb2R1Y2VyLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9SZWFsdGlt
ZU1lZGlhU291cmNlRmFjdG9yeS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2VjdXJpdHlPcmlnaW4u
aD4KICNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KICNpbmNsdWRlIDx3dGYvRGVx
dWUuaD4KQEAgLTQzLDcgKzQ0LDExIEBAIG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgV2ViUGFn
ZVByb3h5OwogCiBjbGFzcyBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eQor
I2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAgOiBwdWJsaWMgV2ViQ29yZTo6QXVkaW9DYXB0
dXJlRmFjdG9yeTo6RXh0ZW5zaXZlT2JzZXJ2ZXIKKyNlbHNlCiAgICAgOiBwdWJsaWMgQ2FuTWFr
ZVdlYWtQdHI8VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk+CisjZW5kaWYK
ICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAgICAsIHByaXZhdGUgTG9nZ2VySGVscGVyCiAj
ZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416559</attachid>
            <date>2020-12-18 17:02:27 -0800</date>
            <delta_ts>2020-12-18 17:12:51 -0800</delta_ts>
            <desc>Updated patch</desc>
            <filename>bug-220010-20201218170226.patch</filename>
            <type>text/plain</type>
            <size>24655</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwOTQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDhhMjI4ZTZhODMxNWZi
YWVlODZjODU3ZmVhNTJkODlmYzBhZTNmZS4uOTgzYjRmOGQxMTZiZTZhZjBmODVhNjAxYzViMzhm
ZmE4N2VmYWE2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDIwLTEyLTE4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBEbyBleHRlbnNp
dmUgc2VhcmNoIGZvciBtaWNyb3Bob25lIGRldmljZXMgd2hlbiB0cnlpbmcgdG8gY2FwdHVyZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwMDEwCisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MjAzNjAzND4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFeHRlbnNpdmUgYXVkaW8gZGV2aWNlIHF1ZXJ5IG5l
ZWRzIHRvIGhhdmUgYW4gYWN0aXZlIEF1ZGlvU2Vzc2lvbi4KKyAgICAgICAgRXZlbiB0aG91Z2gg
dGhlIEF1ZGlvU2Vzc2lvbiBpcyBhbiBhdXhpbGlhcnkgc2Vzc2lvbiwgYWN0aXZhdGluZyBpdCBo
YXMgc2lkZSBlZmZlY3RzLgorICAgICAgICBUbyB3b3JrIGFyb3VuZCB0aGVzZSBzaWRlIGVmZmVj
dHMsIHdlIGFkZCBhbiBBUEkgdGhhdCBhbGxvd3MgdG8gY29udHJvbCB3aGV0aGVyIHRoZQorICAg
ICAgICBBdWRpb1Nlc3Npb24gaXMgYWN0aXZlIG9yIG5vdC4gV2ViS2l0IGZyYW1ld29ya3MgdXNl
cyB0aGF0IEFQSSB3aGVuIG5lZWRpbmcgdG8gZG8KKyAgICAgICAgYW4gZXhoYXVzdGl2ZSBzZWFy
Y2guIFdlIG1ha2Ugc3VyZSB0byBzd2l0Y2ggb24gdGhpcyBleHRlbnNpdmUgcXVlcnkgbW9kZSB3
aGVuIGNyZWF0aW5nIGEgc291cmNlLgorCisgICAgICAgIE1hbnVhbGx5IHRlc3RlZCBvbiBkZXZp
Y2Ugd2l0aCBidWlsdC1pbiwgQlQsIGFuZCBVU0IgaW5wdXRzLgorCisgICAgICAgICogcGxhdGZv
cm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZUZhY3RvcnkuaDoKKyAgICAgICAgKFdl
YkNvcmU6OkF1ZGlvQ2FwdHVyZUZhY3Rvcnk6OmFkZEV4dGVuc2l2ZU9ic2VydmVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OkF1ZGlvQ2FwdHVyZUZhY3Rvcnk6OnJlbW92ZUV4dGVuc2l2ZU9ic2VydmVy
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3MvQVZBdWRpb1Nlc3Npb25DYXB0
dXJlRGV2aWNlTWFuYWdlci5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2lvcy9B
VkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2VNYW5hZ2VyLm1tOgorICAgICAgICAoV2ViQ29yZTo6
QVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlcjo6cmVmcmVzaEF1ZGlvQ2FwdHVyZURl
dmljZXMpOgorICAgICAgICAoV2ViQ29yZTo6QVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFu
YWdlcjo6ZW5hYmxlQWxsRGV2aWNlc1F1ZXJ5KToKKyAgICAgICAgKFdlYkNvcmU6OkFWQXVkaW9T
ZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXI6OmRpc2FibGVBbGxEZXZpY2VzUXVlcnkpOgorICAg
ICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2lvcy9Db3JlQXVkaW9DYXB0dXJlU291cmNlSU9T
Lmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9zL0NvcmVBdWRpb0NhcHR1cmVT
b3VyY2VJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpDb3JlQXVkaW9DYXB0dXJlU291cmNlRmFj
dG9yeUlPUzo6YWRkRXh0ZW5zaXZlT2JzZXJ2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q29yZUF1
ZGlvQ2FwdHVyZVNvdXJjZUZhY3RvcnlJT1M6OnJlbW92ZUV4dGVuc2l2ZU9ic2VydmVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNvcmVBdWRpb0NhcHR1cmVTb3VyY2VGYWN0b3J5SU9TOjpjcmVhdGVB
dWRpb0NhcHR1cmVTb3VyY2UpOgorICAgICAgICBJbiBVSVByb2Nlc3MsIFVzZXJNZWRpYVBlcm1p
c3Npb25SZXF1ZXN0TWFuYWdlclByb3h5IG1ha2VzIHN1cmUgdG8gZW5hYmxlIHRoZSBleHRlbnNp
dmUgYXVkaW8gZGV2aWNlIHF1ZXJ5LgorICAgICAgICBJbiBXZWJQcm9jZXNzLCB3ZSBhbHNvIG5l
ZWQgdGhpcyB3aGVuIHN0YXJ0aW5nIHRoZSBhdWRpbyBjYXB0dXJlLgorICAgICAgICBXZSBlbmFi
bGUgaXQgd2hlbiB0aGVyZSBpcyBubyBvYnNlcnZlciB0byBoYW5kbGUgdGhlIFdlYlByb2Nlc3Mg
c2lkZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQ29yZUF1ZGlvQ2FwdHVy
ZVNvdXJjZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUZhY3Rv
cnk6OmNyZWF0ZUF1ZGlvQ2FwdHVyZVNvdXJjZSk6CisKIDIwMjAtMTItMTcgIEplciBOb2JsZSAg
PGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgW21hY09TXSBVc2UgbG93LXBvd2VyIGF1
ZGlvIGJ1ZmZlciBzaXplcyBmb3IgbW9yZSBvdXRwdXQgZGV2aWNlcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAwMmQ4
MjA0NWU3OTAzY2Q2ZmQxNTg4MDNkYTBjZjBlN2FkZGUzZTE1Li40MmQ5MmY4ZTIzN2UxMzYwNTdm
Njk2OGU5YWM2Y2M4YmI3NWVjOWI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTEy
LTE4ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBE
byBleHRlbnNpdmUgc2VhcmNoIGZvciBtaWNyb3Bob25lIGRldmljZXMgd2hlbiB0cnlpbmcgdG8g
Y2FwdHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjIwMDEwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MjAzNjAzND4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbmFibGUgZXhoYXVzdGl2ZSBhdWRp
byBkZXZpY2UgcXVlcnkgaW4gY2FzZSBnZXRVc2VyTWVkaWEgaXMgY2FsbGVkIGZvciBhdWRpbyBj
YXB0dXJlLgorICAgICAgICBJbiBjYXNlIHRoZSBtYW5hZ2VyIGlzIGRlc3Ryb3llZCBvciByZXNl
dCBhZnRlciBzb21lIHRpbWUgd2l0aG91dCBjYXB0dXJpbmcsIG1ha2Ugc3VyZSB0byBkaXNhYmxl
CisgICAgICAgIGV4aGF1c3RpdmUgYXVkaW8gZGV2aWNlIHF1ZXJ5IGlmIG5vIG90aGVyIHBhZ2Ug
bmVlZCBpdC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVz
dE1hbmFnZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlVzZXJNZWRpYVBlcm1pc3Npb25S
ZXF1ZXN0TWFuYWdlclByb3h5OjppbnZhbGlkYXRlUGVuZGluZ1JlcXVlc3RzKToKKyAgICAgICAg
KFdlYktpdDo6VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6OmRlbnlSZXF1
ZXN0KToKKyAgICAgICAgKFdlYktpdDo6VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2Vy
UHJveHk6OnJlc2V0QWNjZXNzKToKKyAgICAgICAgKFdlYktpdDo6VXNlck1lZGlhUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyUHJveHk6OnN0YXJ0UHJvY2Vzc2luZ1VzZXJNZWRpYVBlcm1pc3Npb25S
ZXF1ZXN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RN
YW5hZ2VyUHJveHkuaDoKKwogMjAyMC0xMi0xNyAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hl
bmV5QGFwcGxlLmNvbT4KIAogICAgICAgICBGb2xsb3d1cCBwYXRjaDogU3RpbGwgY2FuJ3QgbG9n
aW4gdG8gbXkucGxheXN0YXRpb24uY29tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwv
cGFsL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLmgKaW5kZXggMjYzOGFiYjc5MmIxZDY3Y2E2ZmNk
YjI4NmVlOTI0OGI3MWRjNDlhOC4uNTFiZDQwYWNhZjYxMDhmNWFjYTFmY2QyMTMzMjBlMmZlZDAy
MzI0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRp
b25Tb2Z0TGluay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0
aW9uU29mdExpbmsuaApAQCAtMjg2LDYgKzI4Niw4IEBAIFNPRlRfTElOS19DT05TVEFOVF9GT1Jf
SEVBREVSKFBBTCwgQVZGb3VuZGF0aW9uLCBBVkF1ZGlvU2Vzc2lvbk1vZGVEZWZhdWx0LCBOU1N0
CiAjZGVmaW5lIEFWQXVkaW9TZXNzaW9uTW9kZURlZmF1bHQgUEFMOjpnZXRfQVZGb3VuZGF0aW9u
X0FWQXVkaW9TZXNzaW9uTW9kZURlZmF1bHQoKQogU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9IRUFE
RVIoUEFMLCBBVkZvdW5kYXRpb24sIEFWQXVkaW9TZXNzaW9uTW9kZVZpZGVvQ2hhdCwgTlNTdHJp
bmcgKikKICNkZWZpbmUgQVZBdWRpb1Nlc3Npb25Nb2RlVmlkZW9DaGF0IFBBTDo6Z2V0X0FWRm91
bmRhdGlvbl9BVkF1ZGlvU2Vzc2lvbk1vZGVWaWRlb0NoYXQoKQorU09GVF9MSU5LX0NPTlNUQU5U
X0ZPUl9IRUFERVIoUEFMLCBBVkZvdW5kYXRpb24sIEFWQXVkaW9TZXNzaW9uTW9kZVZpZGVvUmVj
b3JkaW5nLCBOU1N0cmluZyAqKQorI2RlZmluZSBBVkF1ZGlvU2Vzc2lvbk1vZGVWaWRlb1JlY29y
ZGluZyBQQUw6OmdldF9BVkZvdW5kYXRpb25fQVZBdWRpb1Nlc3Npb25Nb2RlVmlkZW9SZWNvcmRp
bmcoKQogU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9IRUFERVIoUEFMLCBBVkZvdW5kYXRpb24sIEFW
QXVkaW9TZXNzaW9uSW50ZXJydXB0aW9uTm90aWZpY2F0aW9uLCBOU1N0cmluZyAqKQogI2RlZmlu
ZSBBVkF1ZGlvU2Vzc2lvbkludGVycnVwdGlvbk5vdGlmaWNhdGlvbiBQQUw6OmdldF9BVkZvdW5k
YXRpb25fQVZBdWRpb1Nlc3Npb25JbnRlcnJ1cHRpb25Ob3RpZmljYXRpb24oKQogU09GVF9MSU5L
X0NPTlNUQU5UX0ZPUl9IRUFERVIoUEFMLCBBVkZvdW5kYXRpb24sIEFWQXVkaW9TZXNzaW9uSW50
ZXJydXB0aW9uVHlwZUtleSwgTlNTdHJpbmcgKikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsubW0gYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLm1tCmluZGV4IGVlNGJjMDIzMzQyZWQ4
OTkyNTg0ZjJkZjRhNGJjMzYxY2JjYzFmMDMuLmIwMTI4ZDQ1ZDdhOTgxMGE2N2YzMjFhMTJhYmNh
NDQ3ZWJkOTNlNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZG
b3VuZGF0aW9uU29mdExpbmsubW0KKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9B
VkZvdW5kYXRpb25Tb2Z0TGluay5tbQpAQCAtMjEzLDYgKzIxMyw3IEBAIFNPRlRfTElOS19DT05T
VEFOVF9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVkF1ZGlvU2Vz
c2lvbkludGVyCiBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUws
IEFWRm91bmRhdGlvbiwgQVZBdWRpb1Nlc3Npb25NZWRpYVNlcnZpY2VzV2VyZVJlc2V0Tm90aWZp
Y2F0aW9uLCBOU1N0cmluZyAqLCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9T
T1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWQXVkaW9TZXNzaW9uTW9kZURl
ZmF1bHQsIE5TU3RyaW5nICosIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NP
VVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZBdWRpb1Nlc3Npb25Nb2RlVmlk
ZW9DaGF0LCBOU1N0cmluZyAqLCBQQUxfRVhQT1JUKQorU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9T
T1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWQXVkaW9TZXNzaW9uTW9kZVZp
ZGVvUmVjb3JkaW5nLCBOU1N0cmluZyAqLCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0NPTlNUQU5U
X0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWQ2FwdHVyZVNlc3Np
b25FcnJvcktleSwgTlNTdHJpbmcgKiwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19DT05TVEFOVF9G
T1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVkNhcHR1cmVTZXNzaW9u
SW50ZXJydXB0aW9uRW5kZWROb3RpZmljYXRpb24sIE5TU3RyaW5nICosIFBBTF9FWFBPUlQpCiBT
T0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlv
biwgQVZDYXB0dXJlU2Vzc2lvbkludGVycnVwdGlvblJlYXNvbktleSwgTlNTdHJpbmcgKiwgUEFM
X0VYUE9SVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L1JlYWx0aW1lTWVkaWFTb3VyY2VGYWN0b3J5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlRmFjdG9yeS5oCmluZGV4IDQ0MzA1OWY3MmNl
Y2U4NjRhOWJhZjQ3MTQ1ZWM4NWUzYWMxMjRkZDIuLmIxN2M3M2ZjMDk1ZmIyZjVjOTI5MjEwY2Fi
N2M3NGJmZWRhOTA3NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2VGYWN0b3J5LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZUZhY3RvcnkuaApAQCAtMjcs
NiArMjcsNyBAQAogCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIAorI2luY2x1ZGUgPHd0Zi9X
ZWFrUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKQEAgLTYyLDYgKzYzLDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIENhcHR1cmVE
ZXZpY2VNYW5hZ2VyJiBhdWRpb0NhcHR1cmVEZXZpY2VNYW5hZ2VyKCkgPSAwOwogICAgIHZpcnR1
YWwgY29uc3QgVmVjdG9yPENhcHR1cmVEZXZpY2U+JiBzcGVha2VyRGV2aWNlcygpIGNvbnN0ID0g
MDsKIAorICAgIGNsYXNzIEV4dGVuc2l2ZU9ic2VydmVyIDogcHVibGljIENhbk1ha2VXZWFrUHRy
PEV4dGVuc2l2ZU9ic2VydmVyPiB7IH07CisgICAgdmlydHVhbCB2b2lkIGFkZEV4dGVuc2l2ZU9i
c2VydmVyKEV4dGVuc2l2ZU9ic2VydmVyJikgeyB9OworICAgIHZpcnR1YWwgdm9pZCByZW1vdmVF
eHRlbnNpdmVPYnNlcnZlcihFeHRlbnNpdmVPYnNlcnZlciYpIHsgfTsKKwogcHJvdGVjdGVkOgog
ICAgIEF1ZGlvQ2FwdHVyZUZhY3RvcnkoKSA9IGRlZmF1bHQ7CiB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9zL0FWQXVkaW9TZXNzaW9uQ2FwdHVy
ZURldmljZU1hbmFnZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2lv
cy9BVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2VNYW5hZ2VyLmgKaW5kZXggNmFiNGUyYzc0MmQz
MWU0YmZjZDhjNWViOTg3ZDkxMTU2MTVkM2NjZi4uNmE1NjNhNzY1NDc5ZGFiZjE4MGNhMDRhNzMx
ZTU1NTI5ZWY3OGQ2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vaW9zL0FWQXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3MvQVZBdWRpb1Nlc3Npb25DYXB0dXJl
RGV2aWNlTWFuYWdlci5oCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiR2VuZXJpY1Rhc2tR
dWV1ZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQu
aD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIAog
T0JKQ19DTEFTUyBBVkF1ZGlvU2Vzc2lvbjsKQEAgLTU0LDYgKzU1LDkgQEAgcHVibGljOgogICAg
IAogICAgIHZvaWQgc2NoZWR1bGVVcGRhdGVDYXB0dXJlRGV2aWNlcygpOwogCisgICAgdm9pZCBl
bmFibGVBbGxEZXZpY2VzUXVlcnkoKTsKKyAgICB2b2lkIGRpc2FibGVBbGxEZXZpY2VzUXVlcnko
KTsKKwogcHJpdmF0ZToKICAgICBBVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2VNYW5hZ2VyKCk7
CiAgICAgfkFWQXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXIoKTsKQEAgLTYxLDEyICs2
NSwxNyBAQCBwcml2YXRlOgogICAgIHZvaWQgcmVmcmVzaEF1ZGlvQ2FwdHVyZURldmljZXMoKTsK
ICAgICBWZWN0b3I8QVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlPiYgYXVkaW9TZXNzaW9uQ2Fw
dHVyZURldmljZXMoKTsKIAorICAgIGVudW0gY2xhc3MgQXVkaW9TZXNzaW9uU3RhdGUgeyBOb3RO
ZWVkZWQsIEluYWN0aXZlLCBBY3RpdmUgfTsKKwogICAgIE9wdGlvbmFsPFZlY3RvcjxDYXB0dXJl
RGV2aWNlPj4gbV9kZXZpY2VzOwogICAgIFZlY3RvcjxDYXB0dXJlRGV2aWNlPiBtX3NwZWFrZXJE
ZXZpY2VzOwogICAgIE9wdGlvbmFsPFZlY3RvcjxBVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2U+
PiBtX2F1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2VzOwogICAgIFJldGFpblB0cjxXZWJBVkF1ZGlv
U2Vzc2lvbkF2YWlsYWJsZUlucHV0c0xpc3RlbmVyPiBtX2xpc3RlbmVyOwogICAgIFJldGFpblB0
cjxBVkF1ZGlvU2Vzc2lvbj4gbV9hdWRpb1Nlc3Npb247CiAgICAgR2VuZXJpY1Rhc2tRdWV1ZTxU
aW1lcj4gbV91cGRhdGVEZXZpY2VTdGF0ZVF1ZXVlOworICAgIGRpc3BhdGNoX3F1ZXVlX3QgbV9k
aXNwYXRjaFF1ZXVlIHsgbnVsbHB0ciB9OworICAgIExvY2sgbV9sb2NrOworICAgIEF1ZGlvU2Vz
c2lvblN0YXRlIG1fYXVkaW9TZXNzaW9uU3RhdGUgeyBBdWRpb1Nlc3Npb25TdGF0ZTo6Tm90TmVl
ZGVkIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3MvQVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2
aWNlTWFuYWdlci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2lvcy9B
VkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2VNYW5hZ2VyLm1tCmluZGV4IDgxOGM4ZjVhMDc5OGRm
ODE1ZDY1MzQzZDdlMDY5ZGIzZDMzZGIzY2YuLjk1NjQyZjdjNjVjM2NlYzhkMzU4MTJiZDZlNDI0
ZjBkNjM2NGIxMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL2lvcy9BVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2VNYW5hZ2VyLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2lvcy9BVkF1ZGlvU2Vzc2lvbkNhcHR1cmVE
ZXZpY2VNYW5hZ2VyLm1tCkBAIC0zNCw2ICszNCw3IEBACiAjaW1wb3J0IDxBVkZvdW5kYXRpb24v
QVZBdWRpb1Nlc3Npb24uaD4KICNpbXBvcnQgPHBhbC9zcGkvY29jb2EvQVZGb3VuZGF0aW9uU1BJ
Lmg+CiAjaW1wb3J0IDx3dGYvQXNzZXJ0aW9ucy5oPgorI2ltcG9ydCA8d3RmL0Jsb2NrUHRyLmg+
CiAjaW1wb3J0IDx3dGYvTWFpblRocmVhZC5oPgogI2ltcG9ydCA8d3RmL1ZlY3Rvci5oPgogCkBA
IC03Myw3ICs3NCw2IEBACiAgICAgICAgIGlmIChhdXRvKiBjYWxsYmFjayA9IHByb3RlY3RlZFNl
bGYtPl9jYWxsYmFjaykKICAgICAgICAgICAgIGNhbGxiYWNrLT5zY2hlZHVsZVVwZGF0ZUNhcHR1
cmVEZXZpY2VzKCk7CiAgICAgfSk7Ci0KIH0KIAogQGVuZApAQCAtODcsMjUgKzg3LDI3IEBAIEFW
QXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXImIEFWQXVkaW9TZXNzaW9uQ2FwdHVyZURl
dmljZU1hbmFnZXI6OnNpbmdsZXRvCiB9CiAKIEFWQXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1h
bmFnZXI6OkFWQXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXIoKQorICAgIDogbV9kaXNw
YXRjaFF1ZXVlKGRpc3BhdGNoX3F1ZXVlX2NyZWF0ZSgiY29tLmFwcGxlLldlYktpdC5BVkF1ZGlv
U2Vzc2lvbkNhcHR1cmVEZXZpY2VNYW5hZ2VyIiwgRElTUEFUQ0hfUVVFVUVfU0VSSUFMKSkKIHsK
KyAgICBkaXNwYXRjaF9hc3luYyhtX2Rpc3BhdGNoUXVldWUsIG1ha2VCbG9ja1B0cihbdGhpcywg
bG9ja2VyID0gaG9sZExvY2sobV9sb2NrKV0gewogI2lmICFQTEFURk9STShNQUNDQVRBTFlTVCkK
LSAgICBtX2F1ZGlvU2Vzc2lvbiA9IGFkb3B0TlMoW1tQQUw6OmdldEFWQXVkaW9TZXNzaW9uQ2xh
c3MoKSBhbGxvY10gaW5pdEF1eGlsaWFyeVNlc3Npb25dKTsKKyAgICAgICAgbV9hdWRpb1Nlc3Np
b24gPSBhZG9wdE5TKFtbUEFMOjpnZXRBVkF1ZGlvU2Vzc2lvbkNsYXNzKCkgYWxsb2NdIGluaXRB
dXhpbGlhcnlTZXNzaW9uXSk7CiAjZWxzZQotICAgIC8vIEZJWE1FOiBGaWd1cmUgb3V0IGlmIHRo
aXMgaXMgY29ycmVjdCBmb3IgQ2F0YWx5c3QsIHdoZXJlIGF1eGlsaWFyeSBzZXNzaW9uIGlzbid0
IGF2YWlsYWJsZS4KLSAgICBtX2F1ZGlvU2Vzc2lvbiA9IFtQQUw6OmdldEFWQXVkaW9TZXNzaW9u
Q2xhc3MoKSBzaGFyZWRJbnN0YW5jZV07CisgICAgICAgIC8vIEZJWE1FOiBGaWd1cmUgb3V0IGlm
IHRoaXMgaXMgY29ycmVjdCBmb3IgQ2F0YWx5c3QsIHdoZXJlIGF1eGlsaWFyeSBzZXNzaW9uIGlz
bid0IGF2YWlsYWJsZS4KKyAgICAgICAgbV9hdWRpb1Nlc3Npb24gPSBbUEFMOjpnZXRBVkF1ZGlv
U2Vzc2lvbkNsYXNzKCkgc2hhcmVkSW5zdGFuY2VdOwogI2VuZGlmCi0gICAgCi0gICAgTlNFcnJv
ciAqZXJyb3IgPSBuaWw7Ci0gICAgYXV0byBvcHRpb25zID0gQVZBdWRpb1Nlc3Npb25DYXRlZ29y
eU9wdGlvbkFsbG93Qmx1ZXRvb3RoIHwgQVZBdWRpb1Nlc3Npb25DYXRlZ29yeU9wdGlvbk1peFdp
dGhPdGhlcnM7Ci0gICAgW21fYXVkaW9TZXNzaW9uIHNldENhdGVnb3J5OkFWQXVkaW9TZXNzaW9u
Q2F0ZWdvcnlQbGF5QW5kUmVjb3JkIG1vZGU6QVZBdWRpb1Nlc3Npb25Nb2RlVmlkZW9DaGF0IG9w
dGlvbnM6b3B0aW9ucyBlcnJvcjomZXJyb3JdOwotICAgIGlmIChlcnJvcikgewotICAgICAgICBS
RUxFQVNFX0xPR19FUlJPUihXZWJSVEMsICJGYWlsZWQgdG8gc2V0IGF1ZGlvIHNlc3Npb24gY2F0
ZWdvcnkgd2l0aCBlcnJvcjogJUAuIiwgZXJyb3IubG9jYWxpemVkRGVzY3JpcHRpb24pOwotICAg
ICAgICByZXR1cm47Ci0gICAgfQorCisgICAgICAgIE5TRXJyb3IgKmVycm9yID0gbmlsOworICAg
ICAgICBhdXRvIG9wdGlvbnMgPSBBVkF1ZGlvU2Vzc2lvbkNhdGVnb3J5T3B0aW9uQWxsb3dCbHVl
dG9vdGggfCBBVkF1ZGlvU2Vzc2lvbkNhdGVnb3J5T3B0aW9uTWl4V2l0aE90aGVyczsKKyAgICAg
ICAgW21fYXVkaW9TZXNzaW9uIHNldENhdGVnb3J5OkFWQXVkaW9TZXNzaW9uQ2F0ZWdvcnlQbGF5
QW5kUmVjb3JkIG1vZGU6QVZBdWRpb1Nlc3Npb25Nb2RlVmlkZW9DaGF0IG9wdGlvbnM6b3B0aW9u
cyBlcnJvcjomZXJyb3JdOworICAgICAgICBpZiAoZXJyb3IpCisgICAgICAgICAgICBSRUxFQVNF
X0xPR19FUlJPUihXZWJSVEMsICJGYWlsZWQgdG8gc2V0IGF1ZGlvIHNlc3Npb24gY2F0ZWdvcnkg
d2l0aCBlcnJvcjogJUAuIiwgZXJyb3IubG9jYWxpemVkRGVzY3JpcHRpb24pOworICAgIH0pLmdl
dCgpKTsKIH0KIAogQVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlcjo6fkFWQXVkaW9T
ZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXIoKQogeworICAgIGRpc3BhdGNoX3JlbGVhc2UobV9k
aXNwYXRjaFF1ZXVlKTsKICAgICBbbV9saXN0ZW5lciBpbnZhbGlkYXRlXTsKICAgICBtX2xpc3Rl
bmVyID0gbnVsbHB0cjsKIH0KQEAgLTE1NSw0NyArMTU3LDc5IEBAIHZvaWQgQVZBdWRpb1Nlc3Np
b25DYXB0dXJlRGV2aWNlTWFuYWdlcjo6c2NoZWR1bGVVcGRhdGVDYXB0dXJlRGV2aWNlcygpCiAK
IHZvaWQgQVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlcjo6cmVmcmVzaEF1ZGlvQ2Fw
dHVyZURldmljZXMoKQogewotICAgIGlmICghbV9saXN0ZW5lcikKLSAgICAgICAgbV9saXN0ZW5l
ciA9IGFkb3B0TlMoW1tXZWJBVkF1ZGlvU2Vzc2lvbkF2YWlsYWJsZUlucHV0c0xpc3RlbmVyIGFs
bG9jXSBpbml0V2l0aENhbGxiYWNrOnRoaXMgYXVkaW9TZXNzaW9uOm1fYXVkaW9TZXNzaW9uLmdl
dCgpXSk7Ci0KLSAgICBOU0Vycm9yICplcnJvciA9IG5pbDsKLSAgICBbbV9hdWRpb1Nlc3Npb24g
c2V0QWN0aXZlOllFUyB3aXRoT3B0aW9uczowIGVycm9yOiZlcnJvcl07Ci0gICAgaWYgKGVycm9y
KQotICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihXZWJSVEMsICJGYWlsZWQgdG8gYWN0aXZhdGUg
YXVkaW8gc2Vzc2lvbiB3aXRoIGVycm9yOiAlQC4iLCBlcnJvci5sb2NhbGl6ZWREZXNjcmlwdGlv
bik7Ci0KLSAgICBWZWN0b3I8QVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlPiBuZXdBdWRpb0Rl
dmljZXM7Ci0gICAgVmVjdG9yPENhcHR1cmVEZXZpY2U+IG5ld0RldmljZXM7Ci0gICAgYXV0byAq
ZGVmYXVsdElucHV0ID0gW21fYXVkaW9TZXNzaW9uIGN1cnJlbnRSb3V0ZV0uaW5wdXRzLmZpcnN0
T2JqZWN0OwotICAgIGZvciAoQVZBdWRpb1Nlc3Npb25Qb3J0RGVzY3JpcHRpb24gKnBvcnREZXNj
cmlwdGlvbiBpbiBbbV9hdWRpb1Nlc3Npb24gYXZhaWxhYmxlSW5wdXRzXSkgewotICAgICAgICBh
dXRvIGF1ZGlvRGV2aWNlID0gQVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlOjpjcmVhdGUocG9y
dERlc2NyaXB0aW9uLCBkZWZhdWx0SW5wdXQpOwotICAgICAgICBuZXdEZXZpY2VzLmFwcGVuZChh
dWRpb0RldmljZSk7Ci0gICAgICAgIG5ld0F1ZGlvRGV2aWNlcy5hcHBlbmQoV1RGTW92ZShhdWRp
b0RldmljZSkpOwotICAgIH0KKyAgICBhdXRvIGxvY2tlciA9IGhvbGRMb2NrKG1fbG9jayk7CiAK
ICAgICBib29sIGZpcnN0VGltZSA9ICFtX2RldmljZXM7Ci0gICAgYm9vbCBoYXZlRGV2aWNlQ2hh
bmdlcyA9ICFtX2RldmljZXMgfHwgbmV3QXVkaW9EZXZpY2VzLnNpemUoKSAhPSBtX2RldmljZXMt
PnNpemUoKTsKLSAgICBpZiAoIWhhdmVEZXZpY2VDaGFuZ2VzKSB7Ci0gICAgICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgbmV3QXVkaW9EZXZpY2VzLnNpemUoKTsgKytpKSB7Ci0gICAgICAgICAg
ICBhdXRvJiBvbGRTdGF0ZSA9ICgqbV9kZXZpY2VzKVtpXTsKLSAgICAgICAgICAgIGF1dG8mIG5l
d1N0YXRlID0gbmV3QXVkaW9EZXZpY2VzW2ldOwotICAgICAgICAgICAgaWYgKG5ld1N0YXRlLnR5
cGUoKSAhPSBvbGRTdGF0ZS50eXBlKCkgfHwgbmV3U3RhdGUucGVyc2lzdGVudElkKCkgIT0gb2xk
U3RhdGUucGVyc2lzdGVudElkKCkgfHwgbmV3U3RhdGUuZW5hYmxlZCgpICE9IG9sZFN0YXRlLmVu
YWJsZWQoKSB8fCBuZXdTdGF0ZS5pc0RlZmF1bHQoKSAhPSBvbGRTdGF0ZS5pc0RlZmF1bHQoKSkK
LSAgICAgICAgICAgICAgICBoYXZlRGV2aWNlQ2hhbmdlcyA9IHRydWU7CisgICAgZG8geworICAg
ICAgICBpZiAobV9hdWRpb1Nlc3Npb25TdGF0ZSA9PSBBdWRpb1Nlc3Npb25TdGF0ZTo6SW5hY3Rp
dmUpIHsKKyAgICAgICAgICAgIG1fYXVkaW9TZXNzaW9uU3RhdGUgPSBBdWRpb1Nlc3Npb25TdGF0
ZTo6QWN0aXZlOworCisgICAgICAgICAgICBpZiAoIW1fbGlzdGVuZXIpCisgICAgICAgICAgICAg
ICAgbV9saXN0ZW5lciA9IGFkb3B0TlMoW1tXZWJBVkF1ZGlvU2Vzc2lvbkF2YWlsYWJsZUlucHV0
c0xpc3RlbmVyIGFsbG9jXSBpbml0V2l0aENhbGxiYWNrOnRoaXMgYXVkaW9TZXNzaW9uOm1fYXVk
aW9TZXNzaW9uLmdldCgpXSk7CisKKyAgICAgICAgICAgIE5TRXJyb3IgKmVycm9yID0gbmlsOwor
ICAgICAgICAgICAgW21fYXVkaW9TZXNzaW9uIHNldEFjdGl2ZTpZRVMgd2l0aE9wdGlvbnM6MCBl
cnJvcjomZXJyb3JdOworICAgICAgICAgICAgaWYgKGVycm9yKQorICAgICAgICAgICAgICAgIFJF
TEVBU0VfTE9HX0VSUk9SKFdlYlJUQywgIkZhaWxlZCB0byBhY3RpdmF0ZSBhdWRpbyBzZXNzaW9u
IHdpdGggZXJyb3I6ICVALiIsIGVycm9yLmxvY2FsaXplZERlc2NyaXB0aW9uKTsKICAgICAgICAg
fQotICAgIH0KIAotICAgIGlmICghaGF2ZURldmljZUNoYW5nZXMgJiYgIWZpcnN0VGltZSkKLSAg
ICAgICAgcmV0dXJuOworICAgICAgICBWZWN0b3I8QVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNl
PiBuZXdBdWRpb0RldmljZXM7CisgICAgICAgIFZlY3RvcjxDYXB0dXJlRGV2aWNlPiBuZXdEZXZp
Y2VzOworICAgICAgICBhdXRvICpkZWZhdWx0SW5wdXQgPSBbbV9hdWRpb1Nlc3Npb24gY3VycmVu
dFJvdXRlXS5pbnB1dHMuZmlyc3RPYmplY3Q7CisgICAgICAgIGZvciAoQVZBdWRpb1Nlc3Npb25Q
b3J0RGVzY3JpcHRpb24gKnBvcnREZXNjcmlwdGlvbiBpbiBbbV9hdWRpb1Nlc3Npb24gYXZhaWxh
YmxlSW5wdXRzXSkgeworICAgICAgICAgICAgYXV0byBhdWRpb0RldmljZSA9IEFWQXVkaW9TZXNz
aW9uQ2FwdHVyZURldmljZTo6Y3JlYXRlKHBvcnREZXNjcmlwdGlvbiwgZGVmYXVsdElucHV0KTsK
KyAgICAgICAgICAgIG5ld0RldmljZXMuYXBwZW5kKGF1ZGlvRGV2aWNlKTsKKyAgICAgICAgICAg
IG5ld0F1ZGlvRGV2aWNlcy5hcHBlbmQoV1RGTW92ZShhdWRpb0RldmljZSkpOworICAgICAgICB9
CiAKLSAgICBtX2F1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2VzID0gV1RGTW92ZShuZXdBdWRpb0Rl
dmljZXMpOwotICAgIHN0ZDo6c29ydChuZXdEZXZpY2VzLmJlZ2luKCksIG5ld0RldmljZXMuZW5k
KCksIFtdIChhdXRvJiBmaXJzdCwgYXV0byYgc2Vjb25kKSAtPiBib29sIHsKLSAgICAgICAgcmV0
dXJuIGZpcnN0LmlzRGVmYXVsdCgpICYmICFzZWNvbmQuaXNEZWZhdWx0KCk7Ci0gICAgfSk7Ci0g
ICAgbV9kZXZpY2VzID0gV1RGTW92ZShuZXdEZXZpY2VzKTsKKyAgICAgICAgYm9vbCBoYXZlRGV2
aWNlQ2hhbmdlcyA9ICFtX2RldmljZXMgfHwgbmV3QXVkaW9EZXZpY2VzLnNpemUoKSAhPSBtX2Rl
dmljZXMtPnNpemUoKTsKKyAgICAgICAgaWYgKCFoYXZlRGV2aWNlQ2hhbmdlcykgeworICAgICAg
ICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBuZXdBdWRpb0RldmljZXMuc2l6ZSgpOyArK2kp
IHsKKyAgICAgICAgICAgICAgICBhdXRvJiBvbGRTdGF0ZSA9ICgqbV9kZXZpY2VzKVtpXTsKKyAg
ICAgICAgICAgICAgICBhdXRvJiBuZXdTdGF0ZSA9IG5ld0F1ZGlvRGV2aWNlc1tpXTsKKyAgICAg
ICAgICAgICAgICBpZiAobmV3U3RhdGUudHlwZSgpICE9IG9sZFN0YXRlLnR5cGUoKSB8fCBuZXdT
dGF0ZS5wZXJzaXN0ZW50SWQoKSAhPSBvbGRTdGF0ZS5wZXJzaXN0ZW50SWQoKSB8fCBuZXdTdGF0
ZS5lbmFibGVkKCkgIT0gb2xkU3RhdGUuZW5hYmxlZCgpIHx8IG5ld1N0YXRlLmlzRGVmYXVsdCgp
ICE9IG9sZFN0YXRlLmlzRGVmYXVsdCgpKQorICAgICAgICAgICAgICAgICAgICBoYXZlRGV2aWNl
Q2hhbmdlcyA9IHRydWU7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBpZiAo
IWhhdmVEZXZpY2VDaGFuZ2VzICYmICFmaXJzdFRpbWUpCisgICAgICAgICAgICByZXR1cm47CisK
KyAgICAgICAgbV9hdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlcyA9IFdURk1vdmUobmV3QXVkaW9E
ZXZpY2VzKTsKKyAgICAgICAgc3RkOjpzb3J0KG5ld0RldmljZXMuYmVnaW4oKSwgbmV3RGV2aWNl
cy5lbmQoKSwgW10gKGF1dG8mIGZpcnN0LCBhdXRvJiBzZWNvbmQpIC0+IGJvb2wgeworICAgICAg
ICAgICAgcmV0dXJuIGZpcnN0LmlzRGVmYXVsdCgpICYmICFzZWNvbmQuaXNEZWZhdWx0KCk7Cisg
ICAgICAgIH0pOworICAgICAgICBtX2RldmljZXMgPSBXVEZNb3ZlKG5ld0RldmljZXMpOworICAg
IH0gd2hpbGUgKDApOwogCiAgICAgaWYgKCFmaXJzdFRpbWUpCiAgICAgICAgIGRldmljZUNoYW5n
ZWQoKTsKIH0KIAordm9pZCBBVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2VNYW5hZ2VyOjplbmFi
bGVBbGxEZXZpY2VzUXVlcnkoKQoreworICAgIGlmIChtX2F1ZGlvU2Vzc2lvblN0YXRlICE9IEF1
ZGlvU2Vzc2lvblN0YXRlOjpOb3ROZWVkZWQpCisgICAgICAgIHJldHVybjsKKworICAgIG1fYXVk
aW9TZXNzaW9uU3RhdGUgPSBBdWRpb1Nlc3Npb25TdGF0ZTo6SW5hY3RpdmU7CisgICAgcmVmcmVz
aEF1ZGlvQ2FwdHVyZURldmljZXMoKTsKK30KKwordm9pZCBBVkF1ZGlvU2Vzc2lvbkNhcHR1cmVE
ZXZpY2VNYW5hZ2VyOjpkaXNhYmxlQWxsRGV2aWNlc1F1ZXJ5KCkKK3sKKyAgICBpZiAobV9hdWRp
b1Nlc3Npb25TdGF0ZSA9PSBBdWRpb1Nlc3Npb25TdGF0ZTo6Tm90TmVlZGVkKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBpZiAobV9hdWRpb1Nlc3Npb25TdGF0ZSA9PSBBdWRpb1Nlc3Npb25TdGF0
ZTo6QWN0aXZlKSB7CisgICAgICAgIE5TRXJyb3IgKmVycm9yID0gbmlsOworICAgICAgICBbbV9h
dWRpb1Nlc3Npb24gc2V0QWN0aXZlOk5PIHdpdGhPcHRpb25zOjAgZXJyb3I6JmVycm9yXTsKKyAg
ICAgICAgaWYgKGVycm9yKQorICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoV2ViUlRDLCAi
RmFpbGVkIHRvIGRpc2FjdGl2YXRlIGF1ZGlvIHNlc3Npb24gd2l0aCBlcnJvcjogJUAuIiwgZXJy
b3IubG9jYWxpemVkRGVzY3JpcHRpb24pOworICAgIH0KKworICAgIG1fYXVkaW9TZXNzaW9uU3Rh
dGUgPSBBdWRpb1Nlc3Npb25TdGF0ZTo6Tm90TmVlZGVkOworfQorCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBQTEFURk9STShJT1Nf
RkFNSUxZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
aW9zL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2VJT1MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL2lvcy9Db3JlQXVkaW9DYXB0dXJlU291cmNlSU9TLmgKaW5kZXggMTJlYzUx
OGY2OTExMmRiOWM4ZDhhN2E5YzNkOWFkMzJiOTEyMmE2ZS4uNjY0ODVlMzJiOTc0YjI2YjZkYjcw
ZWYzMWY0MTU0NTBjMGM2MzFmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vaW9zL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2VJT1MuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3MvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUlP
Uy5oCkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRlICJBdWRpb1Nlc3Npb24uaCIKICNpbmNs
dWRlICJDb3JlQXVkaW9DYXB0dXJlU291cmNlLmgiCisjaW5jbHVkZSA8d3RmL1dlYWtIYXNoU2V0
Lmg+CiAKIE9CSkNfQ0xBU1MgV2ViQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUlPU0xpc3RlbmVyOwog
CkBAIC00NCw3ICs0NSwxMiBAQCBwcml2YXRlOgogICAgIHZvaWQgYmVnaW5BdWRpb1Nlc3Npb25J
bnRlcnJ1cHRpb24oKSB7IGJlZ2luSW50ZXJydXB0aW9uKCk7IH0KICAgICB2b2lkIGVuZEF1ZGlv
U2Vzc2lvbkludGVycnVwdGlvbihBdWRpb1Nlc3Npb246Ok1heVJlc3VtZSkgeyBlbmRJbnRlcnJ1
cHRpb24oKTsgfQogCisgICAgQ2FwdHVyZVNvdXJjZU9yRXJyb3IgY3JlYXRlQXVkaW9DYXB0dXJl
U291cmNlKGNvbnN0IENhcHR1cmVEZXZpY2UmLCBTdHJpbmcmJiwgY29uc3QgTWVkaWFDb25zdHJh
aW50cyopIGZpbmFsOworICAgIHZvaWQgYWRkRXh0ZW5zaXZlT2JzZXJ2ZXIoRXh0ZW5zaXZlT2Jz
ZXJ2ZXImKSBmaW5hbDsKKyAgICB2b2lkIHJlbW92ZUV4dGVuc2l2ZU9ic2VydmVyKEV4dGVuc2l2
ZU9ic2VydmVyJikgZmluYWw7CisKICAgICBSZXRhaW5QdHI8V2ViQ29yZUF1ZGlvQ2FwdHVyZVNv
dXJjZUlPU0xpc3RlbmVyPiBtX2xpc3RlbmVyOworICAgIFdlYWtIYXNoU2V0PEV4dGVuc2l2ZU9i
c2VydmVyPiBtX29ic2VydmVyczsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2lvcy9Db3JlQXVkaW9D
YXB0dXJlU291cmNlSU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
aW9zL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2VJT1MubW0KaW5kZXggNGEyMDQ3YmM0NDNhNjU2NjI0
ZDMxYjA1YmZhNzgyYTE4N2U1MjUyMC4uNjcwNTkyZjM1MTY3ZjZiMDYxOTk2YjAxNjc0ZWI5YjU0
ODQ0M2E1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
aW9zL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2VJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vaW9zL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2VJT1MubW0KQEAgLTI4
LDYgKzI4LDcgQEAKIAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIFBMQVRGT1JNKElPU19G
QU1JTFkpCiAKKyNpbXBvcnQgIkFWQXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXIuaCIK
ICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQgPEFWRm91bmRhdGlvbi9BVkF1ZGlvU2Vzc2lv
bi5oPgogI2ltcG9ydCA8d3RmL01haW5UaHJlYWQuaD4KQEAgLTEwMiw2ICsxMDMsMjggQEAgQ29y
ZUF1ZGlvQ2FwdHVyZVNvdXJjZUZhY3RvcnkmIENvcmVBdWRpb0NhcHR1cmVTb3VyY2VGYWN0b3J5
OjpzaW5nbGV0b24oKQogICAgIHJldHVybiBmYWN0b3J5LmdldCgpOwogfQogCit2b2lkIENvcmVB
dWRpb0NhcHR1cmVTb3VyY2VGYWN0b3J5SU9TOjphZGRFeHRlbnNpdmVPYnNlcnZlcihFeHRlbnNp
dmVPYnNlcnZlciYgb2JzZXJ2ZXIpCit7CisgICAgbV9vYnNlcnZlcnMuYWRkKG9ic2VydmVyKTsK
KyAgICBBVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2VNYW5hZ2VyOjpzaW5nbGV0b24oKS5lbmFi
bGVBbGxEZXZpY2VzUXVlcnkoKTsKK30KKwordm9pZCBDb3JlQXVkaW9DYXB0dXJlU291cmNlRmFj
dG9yeUlPUzo6cmVtb3ZlRXh0ZW5zaXZlT2JzZXJ2ZXIoRXh0ZW5zaXZlT2JzZXJ2ZXImIG9ic2Vy
dmVyKQoreworICAgIG1fb2JzZXJ2ZXJzLnJlbW92ZShvYnNlcnZlcik7CisgICAgaWYgKG1fb2Jz
ZXJ2ZXJzLmNvbXB1dGVzRW1wdHkoKSkKKyAgICAgICAgQVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2
aWNlTWFuYWdlcjo6c2luZ2xldG9uKCkuZGlzYWJsZUFsbERldmljZXNRdWVyeSgpOworfQorCitD
YXB0dXJlU291cmNlT3JFcnJvciBDb3JlQXVkaW9DYXB0dXJlU291cmNlRmFjdG9yeUlPUzo6Y3Jl
YXRlQXVkaW9DYXB0dXJlU291cmNlKGNvbnN0IENhcHR1cmVEZXZpY2UmIGRldmljZSwgU3RyaW5n
JiYgaGFzaFNhbHQsIGNvbnN0IE1lZGlhQ29uc3RyYWludHMqIGNvbnN0cmFpbnRzKQoreworICAg
IC8vIFdlIGVuYWJsZSBleGhhdXN0aXZlIHF1ZXJ5IHRvIGJlIHN1cmUgdG8gc3RhcnQgY2FwdHVy
ZSB3aXRoIHRoZSByaWdodCBkZXZpY2UuCisgICAgLy8gRklYTUU6IFdlIHNob3VsZCBzdG9wIHRo
ZSBhdXhpbGlhcnkgc2Vzc2lvbiBhZnRlciBzdGFydGluZyBjYXB0dXJlLgorICAgIGlmIChtX29i
c2VydmVycy5jb21wdXRlc0VtcHR5KCkpCisgICAgICAgIEFWQXVkaW9TZXNzaW9uQ2FwdHVyZURl
dmljZU1hbmFnZXI6OnNpbmdsZXRvbigpLmVuYWJsZUFsbERldmljZXNRdWVyeSgpOworICAgIHJl
dHVybiBDb3JlQXVkaW9DYXB0dXJlU291cmNlOjpjcmVhdGUoU3RyaW5nIHsgZGV2aWNlLnBlcnNp
c3RlbnRJZCgpIH0sIFdURk1vdmUoaGFzaFNhbHQpLCBjb25zdHJhaW50cyk7Cit9CisKIH0KIAog
I2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIFBMQVRGT1JNKElPU19GQU1JTFkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQ29yZUF1
ZGlvQ2FwdHVyZVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
bWFjL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2UuaAppbmRleCA5MmFmNTVjMjcyOWRjMDQ5MjBlMzkz
MThjYjQzOGZmZTU2YzRmNjU1Li41YjgyMmYyOTE0ZWMzZDA4Y2Y5YjhmY2MzNzE5OWE3OGRmODdl
ZGYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMv
Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL21hYy9Db3JlQXVkaW9DYXB0dXJlU291cmNlLmgKQEAgLTExNywxNSArMTE3LDE2
IEBAIHB1YmxpYzoKICAgICB2b2lkIGRldmljZXNDaGFuZ2VkKGNvbnN0IFZlY3RvcjxDYXB0dXJl
RGV2aWNlPiYpOwogCiBwcml2YXRlOgotICAgIENhcHR1cmVTb3VyY2VPckVycm9yIGNyZWF0ZUF1
ZGlvQ2FwdHVyZVNvdXJjZShjb25zdCBDYXB0dXJlRGV2aWNlJiBkZXZpY2UsIFN0cmluZyYmIGhh
c2hTYWx0LCBjb25zdCBNZWRpYUNvbnN0cmFpbnRzKiBjb25zdHJhaW50cykgZmluYWwKLSAgICB7
Ci0gICAgICAgIHJldHVybiBDb3JlQXVkaW9DYXB0dXJlU291cmNlOjpjcmVhdGUoU3RyaW5nIHsg
ZGV2aWNlLnBlcnNpc3RlbnRJZCgpIH0sIFdURk1vdmUoaGFzaFNhbHQpLCBjb25zdHJhaW50cyk7
Ci0gICAgfQotCisgICAgQ2FwdHVyZVNvdXJjZU9yRXJyb3IgY3JlYXRlQXVkaW9DYXB0dXJlU291
cmNlKGNvbnN0IENhcHR1cmVEZXZpY2UmLCBTdHJpbmcmJiwgY29uc3QgTWVkaWFDb25zdHJhaW50
cyopIG92ZXJyaWRlOwogICAgIENhcHR1cmVEZXZpY2VNYW5hZ2VyJiBhdWRpb0NhcHR1cmVEZXZp
Y2VNYW5hZ2VyKCkgZmluYWw7CiAgICAgY29uc3QgVmVjdG9yPENhcHR1cmVEZXZpY2U+JiBzcGVh
a2VyRGV2aWNlcygpIGNvbnN0IGZpbmFsOwogfTsKIAoraW5saW5lIENhcHR1cmVTb3VyY2VPckVy
cm9yIENvcmVBdWRpb0NhcHR1cmVTb3VyY2VGYWN0b3J5OjpjcmVhdGVBdWRpb0NhcHR1cmVTb3Vy
Y2UoY29uc3QgQ2FwdHVyZURldmljZSYgZGV2aWNlLCBTdHJpbmcmJiBoYXNoU2FsdCwgY29uc3Qg
TWVkaWFDb25zdHJhaW50cyogY29uc3RyYWludHMpCit7CisgICAgcmV0dXJuIENvcmVBdWRpb0Nh
cHR1cmVTb3VyY2U6OmNyZWF0ZShTdHJpbmcgeyBkZXZpY2UucGVyc2lzdGVudElkKCkgfSwgV1RG
TW92ZShoYXNoU2FsdCksIGNvbnN0cmFpbnRzKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQogCiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNw
cCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFu
YWdlclByb3h5LmNwcAppbmRleCA0OTJhNTY5ZjIwZDVlZTAwODE2ZTA2ZjQ5ZTNiNDNjZDc2OWQx
NGE0Li40ZWZlZjk5Njk0OTU3MWI1NTZjYTM0Y2FiNDcxZmRmZmQ0NWRmNTNmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFn
ZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlz
c2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwCkBAIC0xMjUsNiArMTI1LDEwIEBAIHZvaWQgVXNl
ck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6OmludmFsaWRhdGVQZW5kaW5nUmVx
dWVzdHMoKQogICAgICAgICByZXF1ZXN0LT5pbnZhbGlkYXRlKCk7CiAKICAgICBtX3BlbmRpbmdE
ZXZpY2VSZXF1ZXN0cy5jbGVhcigpOworCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICBS
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24oKS5hdWRpb0NhcHR1cmVGYWN0b3J5
KCkucmVtb3ZlRXh0ZW5zaXZlT2JzZXJ2ZXIoKnRoaXMpOworI2VuZGlmCiB9CiAKIHZvaWQgVXNl
ck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6OnN0b3BDYXB0dXJlKCkKQEAgLTIx
MCw2ICsyMTQsOSBAQCB2b2lkIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5
OjpkZW55UmVxdWVzdChVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdQogICAgICAgICBtX2RlbmllZFJl
cXVlc3RzLmFwcGVuZChEZW5pZWRSZXF1ZXN0IHsgcmVxdWVzdC5tYWluRnJhbWVJRCgpLCByZXF1
ZXN0LnVzZXJNZWRpYURvY3VtZW50U2VjdXJpdHlPcmlnaW4oKSwgcmVxdWVzdC50b3BMZXZlbERv
Y3VtZW50U2VjdXJpdHlPcmlnaW4oKSwgcmVxdWVzdC5yZXF1aXJlc0F1ZGlvQ2FwdHVyZSgpLCBy
ZXF1ZXN0LnJlcXVpcmVzVmlkZW9DYXB0dXJlKCksIHJlcXVlc3QucmVxdWlyZXNEaXNwbGF5Q2Fw
dHVyZSgpIH0pOwogCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICBpZiAobV9wcmVncmFu
dGVkUmVxdWVzdHMuaXNFbXB0eSgpICYmIHJlcXVlc3QudXNlclJlcXVlc3QoKS5hdWRpb0NvbnN0
cmFpbnRzLmlzVmFsaWQpCisgICAgICAgIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNpbmds
ZXRvbigpLmF1ZGlvQ2FwdHVyZUZhY3RvcnkoKS5yZW1vdmVFeHRlbnNpdmVPYnNlcnZlcigqdGhp
cyk7CisKICAgICBtX3BhZ2Uuc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6VXNlck1lZGlhQWNjZXNz
V2FzRGVuaWVkKHJlcXVlc3QudXNlck1lZGlhSUQoKSwgdG9XZWJDb3JlKHJlYXNvbiksIGludmFs
aWRDb25zdHJhaW50KSk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShyZWFzb24pOwpAQCAtMjk1
LDYgKzMwMiw5IEBAIHZvaWQgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6
OnJlc2V0QWNjZXNzKE9wdGlvbmFsPEZyYW1lSWRlbnRpZmllCiAgICAgbV9wcmVncmFudGVkUmVx
dWVzdHMuY2xlYXIoKTsKICAgICBtX2RlbmllZFJlcXVlc3RzLmNsZWFyKCk7CiAgICAgbV9oYXNG
aWx0ZXJlZERldmljZUxpc3QgPSBmYWxzZTsKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorICAg
IFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRvbigpLmF1ZGlvQ2FwdHVyZUZhY3Rv
cnkoKS5yZW1vdmVFeHRlbnNpdmVPYnNlcnZlcigqdGhpcyk7CisjZW5kaWYKIH0KIAogY29uc3Qg
VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eSogVXNlck1lZGlhUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyUHJveHk6OnNlYXJjaEZvckdyYW50ZWRSZXF1ZXN0KEZyYW1lSWRlbnRpZmllciBm
cmFtZUlELCBjb25zdCBTZWN1cml0eU9yaWdpbiYgdXNlck1lZGlhRG9jdW1lbnRPcmlnaW4sIGNv
bnN0IFNlY3VyaXR5T3JpZ2luJiB0b3BMZXZlbERvY3VtZW50T3JpZ2luLCBib29sIG5lZWRzQXVk
aW8sIGJvb2wgbmVlZHNWaWRlbykgY29uc3QKQEAgLTQzNyw2ICs0NDcsOSBAQCB2b2lkIFVzZXJN
ZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5Ojpwcm9jZXNzTmV4dFVzZXJNZWRpYVJl
cXVlc3RJZk5lZWRlZAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiB2b2lkIFVzZXJNZWRpYVBl
cm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5OjpzdGFydFByb2Nlc3NpbmdVc2VyTWVkaWFQZXJt
aXNzaW9uUmVxdWVzdChSZWY8VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eT4mJiByZXF1
ZXN0KQogeworICAgIGlmIChyZXF1ZXN0LT51c2VyUmVxdWVzdCgpLmF1ZGlvQ29uc3RyYWludHMu
aXNWYWxpZCkKKyAgICAgICAgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xldG9uKCku
YXVkaW9DYXB0dXJlRmFjdG9yeSgpLmFkZEV4dGVuc2l2ZU9ic2VydmVyKCp0aGlzKTsKKwogICAg
IG1fY3VycmVudFVzZXJNZWRpYVJlcXVlc3QgPSBXVEZNb3ZlKHJlcXVlc3QpOwogCiAgICAgYXV0
byYgdXNlck1lZGlhRG9jdW1lbnRTZWN1cml0eU9yaWdpbiA9IG1fY3VycmVudFVzZXJNZWRpYVJl
cXVlc3QtPnVzZXJNZWRpYURvY3VtZW50U2VjdXJpdHlPcmlnaW4oKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclBy
b3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVz
dE1hbmFnZXJQcm94eS5oCmluZGV4IDhmZWI0NTg3NTFhMjYyODdkNGUxYmIyYWE5Mzg1MmYyNmQ4
MzMzOGYuLjVhZWQxNTI3Y2Y3MDEyMmI1MjMxZDNhOWQ4ZmE2YjA5NTE0MjNjY2MgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFu
YWdlclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlz
c2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuaApAQCAtMjIsNiArMjIsNyBAQAogI2luY2x1ZGUgIlVz
ZXJNZWRpYVBlcm1pc3Npb25DaGVja1Byb3h5LmgiCiAjaW5jbHVkZSAiVXNlck1lZGlhUGVybWlz
c2lvblJlcXVlc3RQcm94eS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFQcm9kdWNlci5oPgor
I2luY2x1ZGUgPFdlYkNvcmUvUmVhbHRpbWVNZWRpYVNvdXJjZUZhY3RvcnkuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1NlY3VyaXR5T3JpZ2luLmg+CiAjaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25IYW5k
bGVyLmg+CiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CkBAIC00Myw3ICs0NCwxMSBAQCBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIGNsYXNzIFdlYlBhZ2VQcm94eTsKIAogY2xhc3MgVXNlck1lZGlhUGVybWlz
c2lvblJlcXVlc3RNYW5hZ2VyUHJveHkKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorICAgIDog
cHVibGljIFdlYkNvcmU6OkF1ZGlvQ2FwdHVyZUZhY3Rvcnk6OkV4dGVuc2l2ZU9ic2VydmVyCisj
ZWxzZQogICAgIDogcHVibGljIENhbk1ha2VXZWFrUHRyPFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1
ZXN0TWFuYWdlclByb3h5PgorI2VuZGlmCiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECiAgICAg
LCBwcml2YXRlIExvZ2dlckhlbHBlcgogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416560</attachid>
            <date>2020-12-18 17:12:53 -0800</date>
            <delta_ts>2020-12-21 06:58:54 -0800</delta_ts>
            <desc>Updated patch</desc>
            <filename>bug-220010-20201218171252.patch</filename>
            <type>text/plain</type>
            <size>24768</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwOTQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDhhMjI4ZTZhODMxNWZi
YWVlODZjODU3ZmVhNTJkODlmYzBhZTNmZS4uNzVjZGRjMTMxYTc4MjQyNGM4Y2YxY2IxZTAwZTMx
OTE0MjlkNjJkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDIwLTEyLTE4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBEbyBleHRlbnNp
dmUgc2VhcmNoIGZvciBtaWNyb3Bob25lIGRldmljZXMgd2hlbiB0cnlpbmcgdG8gY2FwdHVyZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwMDEwCisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MjAzNjAzND4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJdCBpcyBub3QgcG9zc2libGUgdG8gZGlzY292ZXIg
c29tZSBhdWRpbyBpbnB1dCBkZXZpY2VzIHdpdGhvdXQgYW4gYWN0aXZlIGF1ZGlvCisgICAgICAg
IHNlc3Npb24sIHNvIFdlYktpdCBhbGxvY2F0ZXMgYW4gYXV4aWxpYXJ5IGF1ZGlvIHNlc3Npb24g
d2hlbiBpdCBuZWVkcyB0byBidWlsZAorICAgICAgICBhIGxpc3Qgb2YgYXVkaW8gY2FwdHVyZSBk
ZXZpY2VzLiBUaGUgZnVsbCBsaXN0IG9mIGRldmljZXMgaXMgb25seSBuZWVkZWQgd2hlbgorICAg
ICAgICBldmFsdWF0aW5nIGdldFVzZXJNZWRpYSBhdWRpbyBjb25zdHJhaW50cywgb3IgZm9yIGVu
dW1lcmF0ZURldmljZXMgKmFmdGVyKiBjYXB0dXJlCisgICAgICAgIGlzIGFjdGl2ZSAod2UgcmV0
dXJuIGEgdHJ1bmNhdGVkIGxpc3QgYmVmb3JlIGNhcHR1cmUgaXMgYWN0aXZlKSwgc28gZG9uJ3Qg
YWN0aXZhdGUKKyAgICAgICAgdGhlIHNlc3Npb24gdW50aWwgd2UgbmVlZCB0byB2YWxpZGF0ZSBh
dWRpbyBjb25zdHJhaW50cyBvciBhZnRlciB0aGUgdXNlciBnaXZlcworICAgICAgICBwZXJtaXNz
aW9uIHRvIGNhcHR1cmUuCisKKyAgICAgICAgTWFudWFsbHkgdGVzdGVkIG9uIGRldmljZSB3aXRo
IGJ1aWx0LWluLCBCVCwgYW5kIFVTQiBhdWRpbyBpbnB1dHMuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlRmFjdG9yeS5oOgorICAgICAgICAoV2Vi
Q29yZTo6QXVkaW9DYXB0dXJlRmFjdG9yeTo6YWRkRXh0ZW5zaXZlT2JzZXJ2ZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6QXVkaW9DYXB0dXJlRmFjdG9yeTo6cmVtb3ZlRXh0ZW5zaXZlT2JzZXJ2ZXIp
OgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2lvcy9BVkF1ZGlvU2Vzc2lvbkNhcHR1
cmVEZXZpY2VNYW5hZ2VyLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9zL0FW
QXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXIubW06CisgICAgICAgIChXZWJDb3JlOjpB
VkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2VNYW5hZ2VyOjpyZWZyZXNoQXVkaW9DYXB0dXJlRGV2
aWNlcyk6CisgICAgICAgIChXZWJDb3JlOjpBVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2VNYW5h
Z2VyOjplbmFibGVBbGxEZXZpY2VzUXVlcnkpOgorICAgICAgICAoV2ViQ29yZTo6QVZBdWRpb1Nl
c3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlcjo6ZGlzYWJsZUFsbERldmljZXNRdWVyeSk6CisgICAg
ICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9zL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2VJT1Mu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3MvQ29yZUF1ZGlvQ2FwdHVyZVNv
dXJjZUlPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6OkNvcmVBdWRpb0NhcHR1cmVTb3VyY2VGYWN0
b3J5SU9TOjphZGRFeHRlbnNpdmVPYnNlcnZlcik6CisgICAgICAgIChXZWJDb3JlOjpDb3JlQXVk
aW9DYXB0dXJlU291cmNlRmFjdG9yeUlPUzo6cmVtb3ZlRXh0ZW5zaXZlT2JzZXJ2ZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUZhY3RvcnlJT1M6OmNyZWF0ZUF1
ZGlvQ2FwdHVyZVNvdXJjZSk6CisgICAgICAgIEluIFVJUHJvY2VzcywgVXNlck1lZGlhUGVybWlz
c2lvblJlcXVlc3RNYW5hZ2VyUHJveHkgbWFrZXMgc3VyZSB0byBlbmFibGUgdGhlIGV4dGVuc2l2
ZSBhdWRpbyBkZXZpY2UgcXVlcnkuCisgICAgICAgIEluIFdlYlByb2Nlc3MsIHdlIGFsc28gbmVl
ZCB0aGlzIHdoZW4gc3RhcnRpbmcgdGhlIGF1ZGlvIGNhcHR1cmUuCisgICAgICAgIFdlIGVuYWJs
ZSBpdCB3aGVuIHRoZXJlIGlzIG5vIG9ic2VydmVyIHRvIGhhbmRsZSB0aGUgV2ViUHJvY2VzcyBz
aWRlLgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9Db3JlQXVkaW9DYXB0dXJl
U291cmNlLmg6CisgICAgICAgIChXZWJDb3JlOjpDb3JlQXVkaW9DYXB0dXJlU291cmNlRmFjdG9y
eTo6Y3JlYXRlQXVkaW9DYXB0dXJlU291cmNlKToKKwogMjAyMC0xMi0xNyAgSmVyIE5vYmxlICA8
amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBbbWFjT1NdIFVzZSBsb3ctcG93ZXIgYXVk
aW8gYnVmZmVyIHNpemVzIGZvciBtb3JlIG91dHB1dCBkZXZpY2VzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDAyZDgy
MDQ1ZTc5MDNjZDZmZDE1ODgwM2RhMGNmMGU3YWRkZTNlMTUuLjQyZDkyZjhlMjM3ZTEzNjA1N2Y2
OTY4ZTlhYzZjYzhiYjc1ZWM5YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMjAtMTIt
MTggIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIERv
IGV4dGVuc2l2ZSBzZWFyY2ggZm9yIG1pY3JvcGhvbmUgZGV2aWNlcyB3aGVuIHRyeWluZyB0byBj
YXB0dXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjAwMTAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcyMDM2MDM0PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVuYWJsZSBleGhhdXN0aXZlIGF1ZGlv
IGRldmljZSBxdWVyeSBpbiBjYXNlIGdldFVzZXJNZWRpYSBpcyBjYWxsZWQgZm9yIGF1ZGlvIGNh
cHR1cmUuCisgICAgICAgIEluIGNhc2UgdGhlIG1hbmFnZXIgaXMgZGVzdHJveWVkIG9yIHJlc2V0
IGFmdGVyIHNvbWUgdGltZSB3aXRob3V0IGNhcHR1cmluZywgbWFrZSBzdXJlIHRvIGRpc2FibGUK
KyAgICAgICAgZXhoYXVzdGl2ZSBhdWRpbyBkZXZpY2UgcXVlcnkgaWYgbm8gb3RoZXIgcGFnZSBu
ZWVkIGl0LgorCisgICAgICAgICogVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0
TWFuYWdlclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6VXNlck1lZGlhUGVybWlzc2lvblJl
cXVlc3RNYW5hZ2VyUHJveHk6OmludmFsaWRhdGVQZW5kaW5nUmVxdWVzdHMpOgorICAgICAgICAo
V2ViS2l0OjpVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6ZGVueVJlcXVl
c3QpOgorICAgICAgICAoV2ViS2l0OjpVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQ
cm94eTo6cmVzZXRBY2Nlc3MpOgorICAgICAgICAoV2ViS2l0OjpVc2VyTWVkaWFQZXJtaXNzaW9u
UmVxdWVzdE1hbmFnZXJQcm94eTo6c3RhcnRQcm9jZXNzaW5nVXNlck1lZGlhUGVybWlzc2lvblJl
cXVlc3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1h
bmFnZXJQcm94eS5oOgorCiAyMDIwLTEyLTE3ICBLYXRlIENoZW5leSAgPGthdGhlcmluZV9jaGVu
ZXlAYXBwbGUuY29tPgogCiAgICAgICAgIEZvbGxvd3VwIHBhdGNoOiBTdGlsbCBjYW4ndCBsb2dp
biB0byBteS5wbGF5c3RhdGlvbi5jb20KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
Y29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsuaAppbmRleCAyNjM4YWJiNzkyYjFkNjdjYTZmY2Ri
Mjg2ZWU5MjQ4YjcxZGM0OWE4Li41MWJkNDBhY2FmNjEwOGY1YWNhMWZjZDIxMzMyMGUyZmVkMDIz
MjQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlv
blNvZnRMaW5rLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRp
b25Tb2Z0TGluay5oCkBAIC0yODYsNiArMjg2LDggQEAgU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9I
RUFERVIoUEFMLCBBVkZvdW5kYXRpb24sIEFWQXVkaW9TZXNzaW9uTW9kZURlZmF1bHQsIE5TU3QK
ICNkZWZpbmUgQVZBdWRpb1Nlc3Npb25Nb2RlRGVmYXVsdCBQQUw6OmdldF9BVkZvdW5kYXRpb25f
QVZBdWRpb1Nlc3Npb25Nb2RlRGVmYXVsdCgpCiBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX0hFQURF
UihQQUwsIEFWRm91bmRhdGlvbiwgQVZBdWRpb1Nlc3Npb25Nb2RlVmlkZW9DaGF0LCBOU1N0cmlu
ZyAqKQogI2RlZmluZSBBVkF1ZGlvU2Vzc2lvbk1vZGVWaWRlb0NoYXQgUEFMOjpnZXRfQVZGb3Vu
ZGF0aW9uX0FWQXVkaW9TZXNzaW9uTW9kZVZpZGVvQ2hhdCgpCitTT0ZUX0xJTktfQ09OU1RBTlRf
Rk9SX0hFQURFUihQQUwsIEFWRm91bmRhdGlvbiwgQVZBdWRpb1Nlc3Npb25Nb2RlVmlkZW9SZWNv
cmRpbmcsIE5TU3RyaW5nICopCisjZGVmaW5lIEFWQXVkaW9TZXNzaW9uTW9kZVZpZGVvUmVjb3Jk
aW5nIFBBTDo6Z2V0X0FWRm91bmRhdGlvbl9BVkF1ZGlvU2Vzc2lvbk1vZGVWaWRlb1JlY29yZGlu
ZygpCiBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX0hFQURFUihQQUwsIEFWRm91bmRhdGlvbiwgQVZB
dWRpb1Nlc3Npb25JbnRlcnJ1cHRpb25Ob3RpZmljYXRpb24sIE5TU3RyaW5nICopCiAjZGVmaW5l
IEFWQXVkaW9TZXNzaW9uSW50ZXJydXB0aW9uTm90aWZpY2F0aW9uIFBBTDo6Z2V0X0FWRm91bmRh
dGlvbl9BVkF1ZGlvU2Vzc2lvbkludGVycnVwdGlvbk5vdGlmaWNhdGlvbigpCiBTT0ZUX0xJTktf
Q09OU1RBTlRfRk9SX0hFQURFUihQQUwsIEFWRm91bmRhdGlvbiwgQVZBdWRpb1Nlc3Npb25JbnRl
cnJ1cHRpb25UeXBlS2V5LCBOU1N0cmluZyAqKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbSBiL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsubW0KaW5kZXggZWU0YmMwMjMzNDJlZDg5
OTI1ODRmMmRmNGE0YmMzNjFjYmNjMWYwMy4uYjAxMjhkNDVkN2E5ODEwYTY3ZjMyMWExMmFiY2E0
NDdlYmQ5M2U3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZv
dW5kYXRpb25Tb2Z0TGluay5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FW
Rm91bmRhdGlvblNvZnRMaW5rLm1tCkBAIC0yMTMsNiArMjEzLDcgQEAgU09GVF9MSU5LX0NPTlNU
QU5UX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWQXVkaW9TZXNz
aW9uSW50ZXIKIFNPRlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwg
QVZGb3VuZGF0aW9uLCBBVkF1ZGlvU2Vzc2lvbk1lZGlhU2VydmljZXNXZXJlUmVzZXROb3RpZmlj
YXRpb24sIE5TU3RyaW5nICosIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NP
VVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZBdWRpb1Nlc3Npb25Nb2RlRGVm
YXVsdCwgTlNTdHJpbmcgKiwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19DT05TVEFOVF9GT1JfU09V
UkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBBVkF1ZGlvU2Vzc2lvbk1vZGVWaWRl
b0NoYXQsIE5TU3RyaW5nICosIFBBTF9FWFBPUlQpCitTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NP
VVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZBdWRpb1Nlc3Npb25Nb2RlVmlk
ZW9SZWNvcmRpbmcsIE5TU3RyaW5nICosIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfQ09OU1RBTlRf
Rk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgQVZDYXB0dXJlU2Vzc2lv
bkVycm9yS2V5LCBOU1N0cmluZyAqLCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0NPTlNUQU5UX0ZP
Ul9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIEFWQ2FwdHVyZVNlc3Npb25J
bnRlcnJ1cHRpb25FbmRlZE5vdGlmaWNhdGlvbiwgTlNTdHJpbmcgKiwgUEFMX0VYUE9SVCkKIFNP
RlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9u
LCBBVkNhcHR1cmVTZXNzaW9uSW50ZXJydXB0aW9uUmVhc29uS2V5LCBOU1N0cmluZyAqLCBQQUxf
RVhQT1JUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
UmVhbHRpbWVNZWRpYVNvdXJjZUZhY3RvcnkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2VGYWN0b3J5LmgKaW5kZXggNDQzMDU5ZjcyY2Vj
ZTg2NGE5YmFmNDcxNDVlYzg1ZTNhYzEyNGRkMi4uYjE3YzczZmMwOTVmYjJmNWM5MjkyMTBjYWI3
Yzc0YmZlZGE5MDc2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZUZhY3RvcnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlRmFjdG9yeS5oCkBAIC0yNyw2
ICsyNyw3IEBACiAKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogCisjaW5jbHVkZSA8d3RmL1dl
YWtQdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpAQCAtNjIsNiArNjMsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgQ2FwdHVyZURl
dmljZU1hbmFnZXImIGF1ZGlvQ2FwdHVyZURldmljZU1hbmFnZXIoKSA9IDA7CiAgICAgdmlydHVh
bCBjb25zdCBWZWN0b3I8Q2FwdHVyZURldmljZT4mIHNwZWFrZXJEZXZpY2VzKCkgY29uc3QgPSAw
OwogCisgICAgY2xhc3MgRXh0ZW5zaXZlT2JzZXJ2ZXIgOiBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8
RXh0ZW5zaXZlT2JzZXJ2ZXI+IHsgfTsKKyAgICB2aXJ0dWFsIHZvaWQgYWRkRXh0ZW5zaXZlT2Jz
ZXJ2ZXIoRXh0ZW5zaXZlT2JzZXJ2ZXImKSB7IH07CisgICAgdmlydHVhbCB2b2lkIHJlbW92ZUV4
dGVuc2l2ZU9ic2VydmVyKEV4dGVuc2l2ZU9ic2VydmVyJikgeyB9OworCiBwcm90ZWN0ZWQ6CiAg
ICAgQXVkaW9DYXB0dXJlRmFjdG9yeSgpID0gZGVmYXVsdDsKIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3MvQVZBdWRpb1Nlc3Npb25DYXB0dXJl
RGV2aWNlTWFuYWdlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9z
L0FWQXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXIuaAppbmRleCA2YWI0ZTJjNzQyZDMx
ZTRiZmNkOGM1ZWI5ODdkOTExNTYxNWQzY2NmLi42YTU2M2E3NjU0NzlkYWJmMTgwY2EwNGE3MzFl
NTU1MjllZjc4ZDY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9pb3MvQVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2lvcy9BVkF1ZGlvU2Vzc2lvbkNhcHR1cmVE
ZXZpY2VNYW5hZ2VyLmgKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJHZW5lcmljVGFza1F1
ZXVlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5o
PgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCiBP
QkpDX0NMQVNTIEFWQXVkaW9TZXNzaW9uOwpAQCAtNTQsNiArNTUsOSBAQCBwdWJsaWM6CiAgICAg
CiAgICAgdm9pZCBzY2hlZHVsZVVwZGF0ZUNhcHR1cmVEZXZpY2VzKCk7CiAKKyAgICB2b2lkIGVu
YWJsZUFsbERldmljZXNRdWVyeSgpOworICAgIHZvaWQgZGlzYWJsZUFsbERldmljZXNRdWVyeSgp
OworCiBwcml2YXRlOgogICAgIEFWQXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXIoKTsK
ICAgICB+QVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlcigpOwpAQCAtNjEsMTIgKzY1
LDE3IEBAIHByaXZhdGU6CiAgICAgdm9pZCByZWZyZXNoQXVkaW9DYXB0dXJlRGV2aWNlcygpOwog
ICAgIFZlY3RvcjxBVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2U+JiBhdWRpb1Nlc3Npb25DYXB0
dXJlRGV2aWNlcygpOwogCisgICAgZW51bSBjbGFzcyBBdWRpb1Nlc3Npb25TdGF0ZSB7IE5vdE5l
ZWRlZCwgSW5hY3RpdmUsIEFjdGl2ZSB9OworCiAgICAgT3B0aW9uYWw8VmVjdG9yPENhcHR1cmVE
ZXZpY2U+PiBtX2RldmljZXM7CiAgICAgVmVjdG9yPENhcHR1cmVEZXZpY2U+IG1fc3BlYWtlckRl
dmljZXM7CiAgICAgT3B0aW9uYWw8VmVjdG9yPEFWQXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZT4+
IG1fYXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZXM7CiAgICAgUmV0YWluUHRyPFdlYkFWQXVkaW9T
ZXNzaW9uQXZhaWxhYmxlSW5wdXRzTGlzdGVuZXI+IG1fbGlzdGVuZXI7CiAgICAgUmV0YWluUHRy
PEFWQXVkaW9TZXNzaW9uPiBtX2F1ZGlvU2Vzc2lvbjsKICAgICBHZW5lcmljVGFza1F1ZXVlPFRp
bWVyPiBtX3VwZGF0ZURldmljZVN0YXRlUXVldWU7CisgICAgZGlzcGF0Y2hfcXVldWVfdCBtX2Rp
c3BhdGNoUXVldWUgeyBudWxscHRyIH07CisgICAgTG9jayBtX2xvY2s7CisgICAgQXVkaW9TZXNz
aW9uU3RhdGUgbV9hdWRpb1Nlc3Npb25TdGF0ZSB7IEF1ZGlvU2Vzc2lvblN0YXRlOjpOb3ROZWVk
ZWQgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2lvcy9BVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZp
Y2VNYW5hZ2VyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9zL0FW
QXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXIubW0KaW5kZXggODE4YzhmNWEwNzk4ZGY4
MTVkNjUzNDNkN2UwNjlkYjNkMzNkYjNjZi4uOTU2NDJmN2M2NWMzY2VjOGQzNTgxMmJkNmU0MjRm
MGQ2MzY0YjEzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vaW9zL0FWQXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXIubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9zL0FWQXVkaW9TZXNzaW9uQ2FwdHVyZURl
dmljZU1hbmFnZXIubW0KQEAgLTM0LDYgKzM0LDcgQEAKICNpbXBvcnQgPEFWRm91bmRhdGlvbi9B
VkF1ZGlvU2Vzc2lvbi5oPgogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9BVkZvdW5kYXRpb25TUEku
aD4KICNpbXBvcnQgPHd0Zi9Bc3NlcnRpb25zLmg+CisjaW1wb3J0IDx3dGYvQmxvY2tQdHIuaD4K
ICNpbXBvcnQgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW1wb3J0IDx3dGYvVmVjdG9yLmg+CiAKQEAg
LTczLDcgKzc0LDYgQEAKICAgICAgICAgaWYgKGF1dG8qIGNhbGxiYWNrID0gcHJvdGVjdGVkU2Vs
Zi0+X2NhbGxiYWNrKQogICAgICAgICAgICAgY2FsbGJhY2stPnNjaGVkdWxlVXBkYXRlQ2FwdHVy
ZURldmljZXMoKTsKICAgICB9KTsKLQogfQogCiBAZW5kCkBAIC04NywyNSArODcsMjcgQEAgQVZB
dWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlciYgQVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2
aWNlTWFuYWdlcjo6c2luZ2xldG8KIH0KIAogQVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFu
YWdlcjo6QVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlcigpCisgICAgOiBtX2Rpc3Bh
dGNoUXVldWUoZGlzcGF0Y2hfcXVldWVfY3JlYXRlKCJjb20uYXBwbGUuV2ViS2l0LkFWQXVkaW9T
ZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXIiLCBESVNQQVRDSF9RVUVVRV9TRVJJQUwpKQogewor
ICAgIGRpc3BhdGNoX2FzeW5jKG1fZGlzcGF0Y2hRdWV1ZSwgbWFrZUJsb2NrUHRyKFt0aGlzLCBs
b2NrZXIgPSBob2xkTG9jayhtX2xvY2spXSB7CiAjaWYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQot
ICAgIG1fYXVkaW9TZXNzaW9uID0gYWRvcHROUyhbW1BBTDo6Z2V0QVZBdWRpb1Nlc3Npb25DbGFz
cygpIGFsbG9jXSBpbml0QXV4aWxpYXJ5U2Vzc2lvbl0pOworICAgICAgICBtX2F1ZGlvU2Vzc2lv
biA9IGFkb3B0TlMoW1tQQUw6OmdldEFWQXVkaW9TZXNzaW9uQ2xhc3MoKSBhbGxvY10gaW5pdEF1
eGlsaWFyeVNlc3Npb25dKTsKICNlbHNlCi0gICAgLy8gRklYTUU6IEZpZ3VyZSBvdXQgaWYgdGhp
cyBpcyBjb3JyZWN0IGZvciBDYXRhbHlzdCwgd2hlcmUgYXV4aWxpYXJ5IHNlc3Npb24gaXNuJ3Qg
YXZhaWxhYmxlLgotICAgIG1fYXVkaW9TZXNzaW9uID0gW1BBTDo6Z2V0QVZBdWRpb1Nlc3Npb25D
bGFzcygpIHNoYXJlZEluc3RhbmNlXTsKKyAgICAgICAgLy8gRklYTUU6IEZpZ3VyZSBvdXQgaWYg
dGhpcyBpcyBjb3JyZWN0IGZvciBDYXRhbHlzdCwgd2hlcmUgYXV4aWxpYXJ5IHNlc3Npb24gaXNu
J3QgYXZhaWxhYmxlLgorICAgICAgICBtX2F1ZGlvU2Vzc2lvbiA9IFtQQUw6OmdldEFWQXVkaW9T
ZXNzaW9uQ2xhc3MoKSBzaGFyZWRJbnN0YW5jZV07CiAjZW5kaWYKLSAgICAKLSAgICBOU0Vycm9y
ICplcnJvciA9IG5pbDsKLSAgICBhdXRvIG9wdGlvbnMgPSBBVkF1ZGlvU2Vzc2lvbkNhdGVnb3J5
T3B0aW9uQWxsb3dCbHVldG9vdGggfCBBVkF1ZGlvU2Vzc2lvbkNhdGVnb3J5T3B0aW9uTWl4V2l0
aE90aGVyczsKLSAgICBbbV9hdWRpb1Nlc3Npb24gc2V0Q2F0ZWdvcnk6QVZBdWRpb1Nlc3Npb25D
YXRlZ29yeVBsYXlBbmRSZWNvcmQgbW9kZTpBVkF1ZGlvU2Vzc2lvbk1vZGVWaWRlb0NoYXQgb3B0
aW9uczpvcHRpb25zIGVycm9yOiZlcnJvcl07Ci0gICAgaWYgKGVycm9yKSB7Ci0gICAgICAgIFJF
TEVBU0VfTE9HX0VSUk9SKFdlYlJUQywgIkZhaWxlZCB0byBzZXQgYXVkaW8gc2Vzc2lvbiBjYXRl
Z29yeSB3aXRoIGVycm9yOiAlQC4iLCBlcnJvci5sb2NhbGl6ZWREZXNjcmlwdGlvbik7Ci0gICAg
ICAgIHJldHVybjsKLSAgICB9CisKKyAgICAgICAgTlNFcnJvciAqZXJyb3IgPSBuaWw7CisgICAg
ICAgIGF1dG8gb3B0aW9ucyA9IEFWQXVkaW9TZXNzaW9uQ2F0ZWdvcnlPcHRpb25BbGxvd0JsdWV0
b290aCB8IEFWQXVkaW9TZXNzaW9uQ2F0ZWdvcnlPcHRpb25NaXhXaXRoT3RoZXJzOworICAgICAg
ICBbbV9hdWRpb1Nlc3Npb24gc2V0Q2F0ZWdvcnk6QVZBdWRpb1Nlc3Npb25DYXRlZ29yeVBsYXlB
bmRSZWNvcmQgbW9kZTpBVkF1ZGlvU2Vzc2lvbk1vZGVWaWRlb0NoYXQgb3B0aW9uczpvcHRpb25z
IGVycm9yOiZlcnJvcl07CisgICAgICAgIGlmIChlcnJvcikKKyAgICAgICAgICAgIFJFTEVBU0Vf
TE9HX0VSUk9SKFdlYlJUQywgIkZhaWxlZCB0byBzZXQgYXVkaW8gc2Vzc2lvbiBjYXRlZ29yeSB3
aXRoIGVycm9yOiAlQC4iLCBlcnJvci5sb2NhbGl6ZWREZXNjcmlwdGlvbik7CisgICAgfSkuZ2V0
KCkpOwogfQogCiBBVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2VNYW5hZ2VyOjp+QVZBdWRpb1Nl
c3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlcigpCiB7CisgICAgZGlzcGF0Y2hfcmVsZWFzZShtX2Rp
c3BhdGNoUXVldWUpOwogICAgIFttX2xpc3RlbmVyIGludmFsaWRhdGVdOwogICAgIG1fbGlzdGVu
ZXIgPSBudWxscHRyOwogfQpAQCAtMTU1LDQ3ICsxNTcsNzkgQEAgdm9pZCBBVkF1ZGlvU2Vzc2lv
bkNhcHR1cmVEZXZpY2VNYW5hZ2VyOjpzY2hlZHVsZVVwZGF0ZUNhcHR1cmVEZXZpY2VzKCkKIAog
dm9pZCBBVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2VNYW5hZ2VyOjpyZWZyZXNoQXVkaW9DYXB0
dXJlRGV2aWNlcygpCiB7Ci0gICAgaWYgKCFtX2xpc3RlbmVyKQotICAgICAgICBtX2xpc3RlbmVy
ID0gYWRvcHROUyhbW1dlYkFWQXVkaW9TZXNzaW9uQXZhaWxhYmxlSW5wdXRzTGlzdGVuZXIgYWxs
b2NdIGluaXRXaXRoQ2FsbGJhY2s6dGhpcyBhdWRpb1Nlc3Npb246bV9hdWRpb1Nlc3Npb24uZ2V0
KCldKTsKLQotICAgIE5TRXJyb3IgKmVycm9yID0gbmlsOwotICAgIFttX2F1ZGlvU2Vzc2lvbiBz
ZXRBY3RpdmU6WUVTIHdpdGhPcHRpb25zOjAgZXJyb3I6JmVycm9yXTsKLSAgICBpZiAoZXJyb3Ip
Ci0gICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFdlYlJUQywgIkZhaWxlZCB0byBhY3RpdmF0ZSBh
dWRpbyBzZXNzaW9uIHdpdGggZXJyb3I6ICVALiIsIGVycm9yLmxvY2FsaXplZERlc2NyaXB0aW9u
KTsKLQotICAgIFZlY3RvcjxBVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2U+IG5ld0F1ZGlvRGV2
aWNlczsKLSAgICBWZWN0b3I8Q2FwdHVyZURldmljZT4gbmV3RGV2aWNlczsKLSAgICBhdXRvICpk
ZWZhdWx0SW5wdXQgPSBbbV9hdWRpb1Nlc3Npb24gY3VycmVudFJvdXRlXS5pbnB1dHMuZmlyc3RP
YmplY3Q7Ci0gICAgZm9yIChBVkF1ZGlvU2Vzc2lvblBvcnREZXNjcmlwdGlvbiAqcG9ydERlc2Ny
aXB0aW9uIGluIFttX2F1ZGlvU2Vzc2lvbiBhdmFpbGFibGVJbnB1dHNdKSB7Ci0gICAgICAgIGF1
dG8gYXVkaW9EZXZpY2UgPSBBVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2U6OmNyZWF0ZShwb3J0
RGVzY3JpcHRpb24sIGRlZmF1bHRJbnB1dCk7Ci0gICAgICAgIG5ld0RldmljZXMuYXBwZW5kKGF1
ZGlvRGV2aWNlKTsKLSAgICAgICAgbmV3QXVkaW9EZXZpY2VzLmFwcGVuZChXVEZNb3ZlKGF1ZGlv
RGV2aWNlKSk7Ci0gICAgfQorICAgIGF1dG8gbG9ja2VyID0gaG9sZExvY2sobV9sb2NrKTsKIAog
ICAgIGJvb2wgZmlyc3RUaW1lID0gIW1fZGV2aWNlczsKLSAgICBib29sIGhhdmVEZXZpY2VDaGFu
Z2VzID0gIW1fZGV2aWNlcyB8fCBuZXdBdWRpb0RldmljZXMuc2l6ZSgpICE9IG1fZGV2aWNlcy0+
c2l6ZSgpOwotICAgIGlmICghaGF2ZURldmljZUNoYW5nZXMpIHsKLSAgICAgICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBuZXdBdWRpb0RldmljZXMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAg
IGF1dG8mIG9sZFN0YXRlID0gKCptX2RldmljZXMpW2ldOwotICAgICAgICAgICAgYXV0byYgbmV3
U3RhdGUgPSBuZXdBdWRpb0RldmljZXNbaV07Ci0gICAgICAgICAgICBpZiAobmV3U3RhdGUudHlw
ZSgpICE9IG9sZFN0YXRlLnR5cGUoKSB8fCBuZXdTdGF0ZS5wZXJzaXN0ZW50SWQoKSAhPSBvbGRT
dGF0ZS5wZXJzaXN0ZW50SWQoKSB8fCBuZXdTdGF0ZS5lbmFibGVkKCkgIT0gb2xkU3RhdGUuZW5h
YmxlZCgpIHx8IG5ld1N0YXRlLmlzRGVmYXVsdCgpICE9IG9sZFN0YXRlLmlzRGVmYXVsdCgpKQot
ICAgICAgICAgICAgICAgIGhhdmVEZXZpY2VDaGFuZ2VzID0gdHJ1ZTsKKyAgICBkbyB7CisgICAg
ICAgIGlmIChtX2F1ZGlvU2Vzc2lvblN0YXRlID09IEF1ZGlvU2Vzc2lvblN0YXRlOjpJbmFjdGl2
ZSkgeworICAgICAgICAgICAgbV9hdWRpb1Nlc3Npb25TdGF0ZSA9IEF1ZGlvU2Vzc2lvblN0YXRl
OjpBY3RpdmU7CisKKyAgICAgICAgICAgIGlmICghbV9saXN0ZW5lcikKKyAgICAgICAgICAgICAg
ICBtX2xpc3RlbmVyID0gYWRvcHROUyhbW1dlYkFWQXVkaW9TZXNzaW9uQXZhaWxhYmxlSW5wdXRz
TGlzdGVuZXIgYWxsb2NdIGluaXRXaXRoQ2FsbGJhY2s6dGhpcyBhdWRpb1Nlc3Npb246bV9hdWRp
b1Nlc3Npb24uZ2V0KCldKTsKKworICAgICAgICAgICAgTlNFcnJvciAqZXJyb3IgPSBuaWw7Cisg
ICAgICAgICAgICBbbV9hdWRpb1Nlc3Npb24gc2V0QWN0aXZlOllFUyB3aXRoT3B0aW9uczowIGVy
cm9yOiZlcnJvcl07CisgICAgICAgICAgICBpZiAoZXJyb3IpCisgICAgICAgICAgICAgICAgUkVM
RUFTRV9MT0dfRVJST1IoV2ViUlRDLCAiRmFpbGVkIHRvIGFjdGl2YXRlIGF1ZGlvIHNlc3Npb24g
d2l0aCBlcnJvcjogJUAuIiwgZXJyb3IubG9jYWxpemVkRGVzY3JpcHRpb24pOwogICAgICAgICB9
Ci0gICAgfQogCi0gICAgaWYgKCFoYXZlRGV2aWNlQ2hhbmdlcyAmJiAhZmlyc3RUaW1lKQotICAg
ICAgICByZXR1cm47CisgICAgICAgIFZlY3RvcjxBVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2U+
IG5ld0F1ZGlvRGV2aWNlczsKKyAgICAgICAgVmVjdG9yPENhcHR1cmVEZXZpY2U+IG5ld0Rldmlj
ZXM7CisgICAgICAgIGF1dG8gKmRlZmF1bHRJbnB1dCA9IFttX2F1ZGlvU2Vzc2lvbiBjdXJyZW50
Um91dGVdLmlucHV0cy5maXJzdE9iamVjdDsKKyAgICAgICAgZm9yIChBVkF1ZGlvU2Vzc2lvblBv
cnREZXNjcmlwdGlvbiAqcG9ydERlc2NyaXB0aW9uIGluIFttX2F1ZGlvU2Vzc2lvbiBhdmFpbGFi
bGVJbnB1dHNdKSB7CisgICAgICAgICAgICBhdXRvIGF1ZGlvRGV2aWNlID0gQVZBdWRpb1Nlc3Np
b25DYXB0dXJlRGV2aWNlOjpjcmVhdGUocG9ydERlc2NyaXB0aW9uLCBkZWZhdWx0SW5wdXQpOwor
ICAgICAgICAgICAgbmV3RGV2aWNlcy5hcHBlbmQoYXVkaW9EZXZpY2UpOworICAgICAgICAgICAg
bmV3QXVkaW9EZXZpY2VzLmFwcGVuZChXVEZNb3ZlKGF1ZGlvRGV2aWNlKSk7CisgICAgICAgIH0K
IAotICAgIG1fYXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZXMgPSBXVEZNb3ZlKG5ld0F1ZGlvRGV2
aWNlcyk7Ci0gICAgc3RkOjpzb3J0KG5ld0RldmljZXMuYmVnaW4oKSwgbmV3RGV2aWNlcy5lbmQo
KSwgW10gKGF1dG8mIGZpcnN0LCBhdXRvJiBzZWNvbmQpIC0+IGJvb2wgewotICAgICAgICByZXR1
cm4gZmlyc3QuaXNEZWZhdWx0KCkgJiYgIXNlY29uZC5pc0RlZmF1bHQoKTsKLSAgICB9KTsKLSAg
ICBtX2RldmljZXMgPSBXVEZNb3ZlKG5ld0RldmljZXMpOworICAgICAgICBib29sIGhhdmVEZXZp
Y2VDaGFuZ2VzID0gIW1fZGV2aWNlcyB8fCBuZXdBdWRpb0RldmljZXMuc2l6ZSgpICE9IG1fZGV2
aWNlcy0+c2l6ZSgpOworICAgICAgICBpZiAoIWhhdmVEZXZpY2VDaGFuZ2VzKSB7CisgICAgICAg
ICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG5ld0F1ZGlvRGV2aWNlcy5zaXplKCk7ICsraSkg
eworICAgICAgICAgICAgICAgIGF1dG8mIG9sZFN0YXRlID0gKCptX2RldmljZXMpW2ldOworICAg
ICAgICAgICAgICAgIGF1dG8mIG5ld1N0YXRlID0gbmV3QXVkaW9EZXZpY2VzW2ldOworICAgICAg
ICAgICAgICAgIGlmIChuZXdTdGF0ZS50eXBlKCkgIT0gb2xkU3RhdGUudHlwZSgpIHx8IG5ld1N0
YXRlLnBlcnNpc3RlbnRJZCgpICE9IG9sZFN0YXRlLnBlcnNpc3RlbnRJZCgpIHx8IG5ld1N0YXRl
LmVuYWJsZWQoKSAhPSBvbGRTdGF0ZS5lbmFibGVkKCkgfHwgbmV3U3RhdGUuaXNEZWZhdWx0KCkg
IT0gb2xkU3RhdGUuaXNEZWZhdWx0KCkpCisgICAgICAgICAgICAgICAgICAgIGhhdmVEZXZpY2VD
aGFuZ2VzID0gdHJ1ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIGlmICgh
aGF2ZURldmljZUNoYW5nZXMgJiYgIWZpcnN0VGltZSkKKyAgICAgICAgICAgIHJldHVybjsKKwor
ICAgICAgICBtX2F1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2VzID0gV1RGTW92ZShuZXdBdWRpb0Rl
dmljZXMpOworICAgICAgICBzdGQ6OnNvcnQobmV3RGV2aWNlcy5iZWdpbigpLCBuZXdEZXZpY2Vz
LmVuZCgpLCBbXSAoYXV0byYgZmlyc3QsIGF1dG8mIHNlY29uZCkgLT4gYm9vbCB7CisgICAgICAg
ICAgICByZXR1cm4gZmlyc3QuaXNEZWZhdWx0KCkgJiYgIXNlY29uZC5pc0RlZmF1bHQoKTsKKyAg
ICAgICAgfSk7CisgICAgICAgIG1fZGV2aWNlcyA9IFdURk1vdmUobmV3RGV2aWNlcyk7CisgICAg
fSB3aGlsZSAoMCk7CiAKICAgICBpZiAoIWZpcnN0VGltZSkKICAgICAgICAgZGV2aWNlQ2hhbmdl
ZCgpOwogfQogCit2b2lkIEFWQXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXI6OmVuYWJs
ZUFsbERldmljZXNRdWVyeSgpCit7CisgICAgaWYgKG1fYXVkaW9TZXNzaW9uU3RhdGUgIT0gQXVk
aW9TZXNzaW9uU3RhdGU6Ok5vdE5lZWRlZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9hdWRp
b1Nlc3Npb25TdGF0ZSA9IEF1ZGlvU2Vzc2lvblN0YXRlOjpJbmFjdGl2ZTsKKyAgICByZWZyZXNo
QXVkaW9DYXB0dXJlRGV2aWNlcygpOworfQorCit2b2lkIEFWQXVkaW9TZXNzaW9uQ2FwdHVyZURl
dmljZU1hbmFnZXI6OmRpc2FibGVBbGxEZXZpY2VzUXVlcnkoKQoreworICAgIGlmIChtX2F1ZGlv
U2Vzc2lvblN0YXRlID09IEF1ZGlvU2Vzc2lvblN0YXRlOjpOb3ROZWVkZWQpCisgICAgICAgIHJl
dHVybjsKKworICAgIGlmIChtX2F1ZGlvU2Vzc2lvblN0YXRlID09IEF1ZGlvU2Vzc2lvblN0YXRl
OjpBY3RpdmUpIHsKKyAgICAgICAgTlNFcnJvciAqZXJyb3IgPSBuaWw7CisgICAgICAgIFttX2F1
ZGlvU2Vzc2lvbiBzZXRBY3RpdmU6Tk8gd2l0aE9wdGlvbnM6MCBlcnJvcjomZXJyb3JdOworICAg
ICAgICBpZiAoZXJyb3IpCisgICAgICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihXZWJSVEMsICJG
YWlsZWQgdG8gZGlzYWN0aXZhdGUgYXVkaW8gc2Vzc2lvbiB3aXRoIGVycm9yOiAlQC4iLCBlcnJv
ci5sb2NhbGl6ZWREZXNjcmlwdGlvbik7CisgICAgfQorCisgICAgbV9hdWRpb1Nlc3Npb25TdGF0
ZSA9IEF1ZGlvU2Vzc2lvblN0YXRlOjpOb3ROZWVkZWQ7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIFBMQVRGT1JNKElPU19G
QU1JTFkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9p
b3MvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUlPUy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vaW9zL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2VJT1MuaAppbmRleCAxMmVjNTE4
ZjY5MTEyZGI5YzhkOGE3YTljM2Q5YWQzMmI5MTIyYTZlLi42NjQ4NWUzMmI5NzRiMjZiNmRiNzBl
ZjMxZjQxNTQ1MGMwYzYzMWZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9pb3MvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUlPUy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2lvcy9Db3JlQXVkaW9DYXB0dXJlU291cmNlSU9T
LmgKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2luY2x1ZGUgIkF1ZGlvU2Vzc2lvbi5oIgogI2luY2x1
ZGUgIkNvcmVBdWRpb0NhcHR1cmVTb3VyY2UuaCIKKyNpbmNsdWRlIDx3dGYvV2Vha0hhc2hTZXQu
aD4KIAogT0JKQ19DTEFTUyBXZWJDb3JlQXVkaW9DYXB0dXJlU291cmNlSU9TTGlzdGVuZXI7CiAK
QEAgLTQ0LDcgKzQ1LDEyIEBAIHByaXZhdGU6CiAgICAgdm9pZCBiZWdpbkF1ZGlvU2Vzc2lvbklu
dGVycnVwdGlvbigpIHsgYmVnaW5JbnRlcnJ1cHRpb24oKTsgfQogICAgIHZvaWQgZW5kQXVkaW9T
ZXNzaW9uSW50ZXJydXB0aW9uKEF1ZGlvU2Vzc2lvbjo6TWF5UmVzdW1lKSB7IGVuZEludGVycnVw
dGlvbigpOyB9CiAKKyAgICBDYXB0dXJlU291cmNlT3JFcnJvciBjcmVhdGVBdWRpb0NhcHR1cmVT
b3VyY2UoY29uc3QgQ2FwdHVyZURldmljZSYsIFN0cmluZyYmLCBjb25zdCBNZWRpYUNvbnN0cmFp
bnRzKikgZmluYWw7CisgICAgdm9pZCBhZGRFeHRlbnNpdmVPYnNlcnZlcihFeHRlbnNpdmVPYnNl
cnZlciYpIGZpbmFsOworICAgIHZvaWQgcmVtb3ZlRXh0ZW5zaXZlT2JzZXJ2ZXIoRXh0ZW5zaXZl
T2JzZXJ2ZXImKSBmaW5hbDsKKwogICAgIFJldGFpblB0cjxXZWJDb3JlQXVkaW9DYXB0dXJlU291
cmNlSU9TTGlzdGVuZXI+IG1fbGlzdGVuZXI7CisgICAgV2Vha0hhc2hTZXQ8RXh0ZW5zaXZlT2Jz
ZXJ2ZXI+IG1fb2JzZXJ2ZXJzOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9zL0NvcmVBdWRpb0Nh
cHR1cmVTb3VyY2VJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9p
b3MvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUlPUy5tbQppbmRleCA0YTIwNDdiYzQ0M2E2NTY2MjRk
MzFiMDViZmE3ODJhMTg3ZTUyNTIwLi42NzA1OTJmMzUxNjdmNmIwNjE5OTZiMDE2NzRlYjliNTQ4
NDQzYTUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9p
b3MvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9pb3MvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUlPUy5tbQpAQCAtMjgs
NiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgUExBVEZPUk0oSU9TX0ZB
TUlMWSkKIAorI2ltcG9ydCAiQVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlci5oIgog
I2ltcG9ydCAiTG9nZ2luZy5oIgogI2ltcG9ydCA8QVZGb3VuZGF0aW9uL0FWQXVkaW9TZXNzaW9u
Lmg+CiAjaW1wb3J0IDx3dGYvTWFpblRocmVhZC5oPgpAQCAtMTAyLDYgKzEwMywyOCBAQCBDb3Jl
QXVkaW9DYXB0dXJlU291cmNlRmFjdG9yeSYgQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUZhY3Rvcnk6
OnNpbmdsZXRvbigpCiAgICAgcmV0dXJuIGZhY3RvcnkuZ2V0KCk7CiB9CiAKK3ZvaWQgQ29yZUF1
ZGlvQ2FwdHVyZVNvdXJjZUZhY3RvcnlJT1M6OmFkZEV4dGVuc2l2ZU9ic2VydmVyKEV4dGVuc2l2
ZU9ic2VydmVyJiBvYnNlcnZlcikKK3sKKyAgICBtX29ic2VydmVycy5hZGQob2JzZXJ2ZXIpOwor
ICAgIEFWQXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXI6OnNpbmdsZXRvbigpLmVuYWJs
ZUFsbERldmljZXNRdWVyeSgpOworfQorCit2b2lkIENvcmVBdWRpb0NhcHR1cmVTb3VyY2VGYWN0
b3J5SU9TOjpyZW1vdmVFeHRlbnNpdmVPYnNlcnZlcihFeHRlbnNpdmVPYnNlcnZlciYgb2JzZXJ2
ZXIpCit7CisgICAgbV9vYnNlcnZlcnMucmVtb3ZlKG9ic2VydmVyKTsKKyAgICBpZiAobV9vYnNl
cnZlcnMuY29tcHV0ZXNFbXB0eSgpKQorICAgICAgICBBVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZp
Y2VNYW5hZ2VyOjpzaW5nbGV0b24oKS5kaXNhYmxlQWxsRGV2aWNlc1F1ZXJ5KCk7Cit9CisKK0Nh
cHR1cmVTb3VyY2VPckVycm9yIENvcmVBdWRpb0NhcHR1cmVTb3VyY2VGYWN0b3J5SU9TOjpjcmVh
dGVBdWRpb0NhcHR1cmVTb3VyY2UoY29uc3QgQ2FwdHVyZURldmljZSYgZGV2aWNlLCBTdHJpbmcm
JiBoYXNoU2FsdCwgY29uc3QgTWVkaWFDb25zdHJhaW50cyogY29uc3RyYWludHMpCit7CisgICAg
Ly8gV2UgZW5hYmxlIGV4aGF1c3RpdmUgcXVlcnkgdG8gYmUgc3VyZSB0byBzdGFydCBjYXB0dXJl
IHdpdGggdGhlIHJpZ2h0IGRldmljZS4KKyAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHN0b3AgdGhl
IGF1eGlsaWFyeSBzZXNzaW9uIGFmdGVyIHN0YXJ0aW5nIGNhcHR1cmUuCisgICAgaWYgKG1fb2Jz
ZXJ2ZXJzLmNvbXB1dGVzRW1wdHkoKSkKKyAgICAgICAgQVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2
aWNlTWFuYWdlcjo6c2luZ2xldG9uKCkuZW5hYmxlQWxsRGV2aWNlc1F1ZXJ5KCk7CisgICAgcmV0
dXJuIENvcmVBdWRpb0NhcHR1cmVTb3VyY2U6OmNyZWF0ZShTdHJpbmcgeyBkZXZpY2UucGVyc2lz
dGVudElkKCkgfSwgV1RGTW92ZShoYXNoU2FsdCksIGNvbnN0cmFpbnRzKTsKK30KKwogfQogCiAj
ZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9Db3JlQXVk
aW9DYXB0dXJlU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9t
YWMvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZS5oCmluZGV4IDkyYWY1NWMyNzI5ZGMwNDkyMGUzOTMx
OGNiNDM4ZmZlNTZjNGY2NTUuLjViODIyZjI5MTRlYzNkMDhjZjliOGZjYzM3MTk5YTc4ZGY4N2Vk
ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9D
b3JlQXVkaW9DYXB0dXJlU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbWFjL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2UuaApAQCAtMTE3LDE1ICsxMTcsMTYg
QEAgcHVibGljOgogICAgIHZvaWQgZGV2aWNlc0NoYW5nZWQoY29uc3QgVmVjdG9yPENhcHR1cmVE
ZXZpY2U+Jik7CiAKIHByaXZhdGU6Ci0gICAgQ2FwdHVyZVNvdXJjZU9yRXJyb3IgY3JlYXRlQXVk
aW9DYXB0dXJlU291cmNlKGNvbnN0IENhcHR1cmVEZXZpY2UmIGRldmljZSwgU3RyaW5nJiYgaGFz
aFNhbHQsIGNvbnN0IE1lZGlhQ29uc3RyYWludHMqIGNvbnN0cmFpbnRzKSBmaW5hbAotICAgIHsK
LSAgICAgICAgcmV0dXJuIENvcmVBdWRpb0NhcHR1cmVTb3VyY2U6OmNyZWF0ZShTdHJpbmcgeyBk
ZXZpY2UucGVyc2lzdGVudElkKCkgfSwgV1RGTW92ZShoYXNoU2FsdCksIGNvbnN0cmFpbnRzKTsK
LSAgICB9Ci0KKyAgICBDYXB0dXJlU291cmNlT3JFcnJvciBjcmVhdGVBdWRpb0NhcHR1cmVTb3Vy
Y2UoY29uc3QgQ2FwdHVyZURldmljZSYsIFN0cmluZyYmLCBjb25zdCBNZWRpYUNvbnN0cmFpbnRz
Kikgb3ZlcnJpZGU7CiAgICAgQ2FwdHVyZURldmljZU1hbmFnZXImIGF1ZGlvQ2FwdHVyZURldmlj
ZU1hbmFnZXIoKSBmaW5hbDsKICAgICBjb25zdCBWZWN0b3I8Q2FwdHVyZURldmljZT4mIHNwZWFr
ZXJEZXZpY2VzKCkgY29uc3QgZmluYWw7CiB9OwogCitpbmxpbmUgQ2FwdHVyZVNvdXJjZU9yRXJy
b3IgQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUZhY3Rvcnk6OmNyZWF0ZUF1ZGlvQ2FwdHVyZVNvdXJj
ZShjb25zdCBDYXB0dXJlRGV2aWNlJiBkZXZpY2UsIFN0cmluZyYmIGhhc2hTYWx0LCBjb25zdCBN
ZWRpYUNvbnN0cmFpbnRzKiBjb25zdHJhaW50cykKK3sKKyAgICByZXR1cm4gQ29yZUF1ZGlvQ2Fw
dHVyZVNvdXJjZTo6Y3JlYXRlKFN0cmluZyB7IGRldmljZS5wZXJzaXN0ZW50SWQoKSB9LCBXVEZN
b3ZlKGhhc2hTYWx0KSwgY29uc3RyYWludHMpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKICNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5h
Z2VyUHJveHkuY3BwCmluZGV4IDQ5MmE1NjlmMjBkNWVlMDA4MTZlMDZmNDllM2I0M2NkNzY5ZDE0
YTQuLjRlZmVmOTk2OTQ5NTcxYjU1NmNhMzRjYWI0NzFmZGZmZDQ1ZGY1M2YgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
clByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNz
aW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAKQEAgLTEyNSw2ICsxMjUsMTAgQEAgdm9pZCBVc2Vy
TWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6aW52YWxpZGF0ZVBlbmRpbmdSZXF1
ZXN0cygpCiAgICAgICAgIHJlcXVlc3QtPmludmFsaWRhdGUoKTsKIAogICAgIG1fcGVuZGluZ0Rl
dmljZVJlcXVlc3RzLmNsZWFyKCk7CisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorICAgIFJl
YWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRvbigpLmF1ZGlvQ2FwdHVyZUZhY3Rvcnko
KS5yZW1vdmVFeHRlbnNpdmVPYnNlcnZlcigqdGhpcyk7CisjZW5kaWYKIH0KIAogdm9pZCBVc2Vy
TWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6c3RvcENhcHR1cmUoKQpAQCAtMjEw
LDYgKzIxNCw5IEBAIHZvaWQgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6
OmRlbnlSZXF1ZXN0KFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1CiAgICAgICAgIG1fZGVuaWVkUmVx
dWVzdHMuYXBwZW5kKERlbmllZFJlcXVlc3QgeyByZXF1ZXN0Lm1haW5GcmFtZUlEKCksIHJlcXVl
c3QudXNlck1lZGlhRG9jdW1lbnRTZWN1cml0eU9yaWdpbigpLCByZXF1ZXN0LnRvcExldmVsRG9j
dW1lbnRTZWN1cml0eU9yaWdpbigpLCByZXF1ZXN0LnJlcXVpcmVzQXVkaW9DYXB0dXJlKCksIHJl
cXVlc3QucmVxdWlyZXNWaWRlb0NhcHR1cmUoKSwgcmVxdWVzdC5yZXF1aXJlc0Rpc3BsYXlDYXB0
dXJlKCkgfSk7CiAKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorICAgIGlmIChtX3ByZWdyYW50
ZWRSZXF1ZXN0cy5pc0VtcHR5KCkgJiYgcmVxdWVzdC51c2VyUmVxdWVzdCgpLmF1ZGlvQ29uc3Ry
YWludHMuaXNWYWxpZCkKKyAgICAgICAgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xl
dG9uKCkuYXVkaW9DYXB0dXJlRmFjdG9yeSgpLnJlbW92ZUV4dGVuc2l2ZU9ic2VydmVyKCp0aGlz
KTsKKwogICAgIG1fcGFnZS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpVc2VyTWVkaWFBY2Nlc3NX
YXNEZW5pZWQocmVxdWVzdC51c2VyTWVkaWFJRCgpLCB0b1dlYkNvcmUocmVhc29uKSwgaW52YWxp
ZENvbnN0cmFpbnQpKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKHJlYXNvbik7CkBAIC0yOTUs
NiArMzAyLDkgQEAgdm9pZCBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6
cmVzZXRBY2Nlc3MoT3B0aW9uYWw8RnJhbWVJZGVudGlmaWUKICAgICBtX3ByZWdyYW50ZWRSZXF1
ZXN0cy5jbGVhcigpOwogICAgIG1fZGVuaWVkUmVxdWVzdHMuY2xlYXIoKTsKICAgICBtX2hhc0Zp
bHRlcmVkRGV2aWNlTGlzdCA9IGZhbHNlOworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAg
UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xldG9uKCkuYXVkaW9DYXB0dXJlRmFjdG9y
eSgpLnJlbW92ZUV4dGVuc2l2ZU9ic2VydmVyKCp0aGlzKTsKKyNlbmRpZgogfQogCiBjb25zdCBV
c2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5KiBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVz
dE1hbmFnZXJQcm94eTo6c2VhcmNoRm9yR3JhbnRlZFJlcXVlc3QoRnJhbWVJZGVudGlmaWVyIGZy
YW1lSUQsIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB1c2VyTWVkaWFEb2N1bWVudE9yaWdpbiwgY29u
c3QgU2VjdXJpdHlPcmlnaW4mIHRvcExldmVsRG9jdW1lbnRPcmlnaW4sIGJvb2wgbmVlZHNBdWRp
bywgYm9vbCBuZWVkc1ZpZGVvKSBjb25zdApAQCAtNDM3LDYgKzQ0Nyw5IEBAIHZvaWQgVXNlck1l
ZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6OnByb2Nlc3NOZXh0VXNlck1lZGlhUmVx
dWVzdElmTmVlZGVkCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIHZvaWQgVXNlck1lZGlhUGVy
bWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6OnN0YXJ0UHJvY2Vzc2luZ1VzZXJNZWRpYVBlcm1p
c3Npb25SZXF1ZXN0KFJlZjxVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5PiYmIHJlcXVl
c3QpCiB7CisgICAgaWYgKHJlcXVlc3QtPnVzZXJSZXF1ZXN0KCkuYXVkaW9Db25zdHJhaW50cy5p
c1ZhbGlkKQorICAgICAgICBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24oKS5h
dWRpb0NhcHR1cmVGYWN0b3J5KCkuYWRkRXh0ZW5zaXZlT2JzZXJ2ZXIoKnRoaXMpOworCiAgICAg
bV9jdXJyZW50VXNlck1lZGlhUmVxdWVzdCA9IFdURk1vdmUocmVxdWVzdCk7CiAKICAgICBhdXRv
JiB1c2VyTWVkaWFEb2N1bWVudFNlY3VyaXR5T3JpZ2luID0gbV9jdXJyZW50VXNlck1lZGlhUmVx
dWVzdC0+dXNlck1lZGlhRG9jdW1lbnRTZWN1cml0eU9yaWdpbigpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJv
eHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0
TWFuYWdlclByb3h5LmgKaW5kZXggOGZlYjQ1ODc1MWEyNjI4N2Q0ZTFiYjJhYTkzODUyZjI2ZDgz
MzM4Zi4uNWFlZDE1MjdjZjcwMTIyYjUyMzFkM2E5ZDhmYTZiMDk1MTQyM2NjYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5h
Z2VyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNz
aW9uUmVxdWVzdE1hbmFnZXJQcm94eS5oCkBAIC0yMiw2ICsyMiw3IEBACiAjaW5jbHVkZSAiVXNl
ck1lZGlhUGVybWlzc2lvbkNoZWNrUHJveHkuaCIKICNpbmNsdWRlICJVc2VyTWVkaWFQZXJtaXNz
aW9uUmVxdWVzdFByb3h5LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYVByb2R1Y2VyLmg+Cisj
aW5jbHVkZSA8V2ViQ29yZS9SZWFsdGltZU1lZGlhU291cmNlRmFjdG9yeS5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvU2VjdXJpdHlPcmlnaW4uaD4KICNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRs
ZXIuaD4KICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KQEAgLTQzLDcgKzQ0LDExIEBAIG5hbWVzcGFj
ZSBXZWJLaXQgewogY2xhc3MgV2ViUGFnZVByb3h5OwogCiBjbGFzcyBVc2VyTWVkaWFQZXJtaXNz
aW9uUmVxdWVzdE1hbmFnZXJQcm94eQorI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAgOiBw
dWJsaWMgV2ViQ29yZTo6QXVkaW9DYXB0dXJlRmFjdG9yeTo6RXh0ZW5zaXZlT2JzZXJ2ZXIKKyNl
bHNlCiAgICAgOiBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8VXNlck1lZGlhUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyUHJveHk+CisjZW5kaWYKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAgICAs
IHByaXZhdGUgTG9nZ2VySGVscGVyCiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416599</attachid>
            <date>2020-12-21 06:58:58 -0800</date>
            <delta_ts>2020-12-22 02:11:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220010-20201221155856.patch</filename>
            <type>text/plain</type>
            <size>19508</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwODg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzRiMmMxYjJiZWFkYzZi
OGQ0ZDRhMDVmOWJiNWIyZTg4YzQ1Zjc5Yy4uMDUwN2Q0YTkwNzUxYzQzYTM1Y2Q4ZDI1ZDA3OTA3
ZTU4NmMyNzI2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDIwLTEyLTIxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBEbyBleHRlbnNp
dmUgc2VhcmNoIGZvciBtaWNyb3Bob25lIGRldmljZXMgd2hlbiB0cnlpbmcgdG8gY2FwdHVyZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwMDEwCisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MjAzNjAzND4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJdCBpcyBub3QgcG9zc2libGUgdG8gZGlzY292ZXIg
c29tZSBhdWRpbyBpbnB1dCBkZXZpY2VzIHdpdGhvdXQgYW4gYWN0aXZlIGF1ZGlvCisgICAgICAg
IHNlc3Npb24sIHNvIFdlYktpdCBhbGxvY2F0ZXMgYW4gYXV4aWxpYXJ5IGF1ZGlvIHNlc3Npb24g
d2hlbiBpdCBuZWVkcyB0byBidWlsZAorICAgICAgICBhIGxpc3Qgb2YgYXVkaW8gY2FwdHVyZSBk
ZXZpY2VzLiBUaGUgZnVsbCBsaXN0IG9mIGRldmljZXMgaXMgb25seSBuZWVkZWQgd2hlbgorICAg
ICAgICBldmFsdWF0aW5nIGdldFVzZXJNZWRpYSBhdWRpbyBjb25zdHJhaW50cywgb3IgZm9yIGVu
dW1lcmF0ZURldmljZXMgKmFmdGVyKiBjYXB0dXJlCisgICAgICAgIGlzIGFjdGl2ZSAod2UgcmV0
dXJuIGEgdHJ1bmNhdGVkIGxpc3QgYmVmb3JlIGNhcHR1cmUgaXMgYWN0aXZlKSwgc28gZG9uJ3Qg
YWN0aXZhdGUKKyAgICAgICAgdGhlIHNlc3Npb24gdW50aWwgd2UgbmVlZCB0byB2YWxpZGF0ZSBh
dWRpbyBjb25zdHJhaW50cyBvciBhZnRlciB0aGUgdXNlciBnaXZlcworICAgICAgICBwZXJtaXNz
aW9uIHRvIGNhcHR1cmUuCisKKyAgICAgICAgTWFudWFsbHkgdGVzdGVkIG9uIGRldmljZSB3aXRo
IGJ1aWx0LWluLCBCVCwgYW5kIFVTQiBhdWRpbyBpbnB1dHMuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlRmFjdG9yeS5oOgorICAgICAgICAoV2Vi
Q29yZTo6QXVkaW9DYXB0dXJlRmFjdG9yeTo6YWRkRXh0ZW5zaXZlT2JzZXJ2ZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6QXVkaW9DYXB0dXJlRmFjdG9yeTo6cmVtb3ZlRXh0ZW5zaXZlT2JzZXJ2ZXIp
OgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2lvcy9BVkF1ZGlvU2Vzc2lvbkNhcHR1
cmVEZXZpY2VNYW5hZ2VyLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9zL0FW
QXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXIubW06CisgICAgICAgIChXZWJDb3JlOjpB
VkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2VNYW5hZ2VyOjpyZWZyZXNoQXVkaW9DYXB0dXJlRGV2
aWNlcyk6CisgICAgICAgIChXZWJDb3JlOjpBVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2VNYW5h
Z2VyOjplbmFibGVBbGxEZXZpY2VzUXVlcnkpOgorICAgICAgICAoV2ViQ29yZTo6QVZBdWRpb1Nl
c3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlcjo6ZGlzYWJsZUFsbERldmljZXNRdWVyeSk6CisgICAg
ICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9zL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2VJT1Mu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3MvQ29yZUF1ZGlvQ2FwdHVyZVNv
dXJjZUlPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6OkNvcmVBdWRpb0NhcHR1cmVTb3VyY2VGYWN0
b3J5SU9TOjphZGRFeHRlbnNpdmVPYnNlcnZlcik6CisgICAgICAgIChXZWJDb3JlOjpDb3JlQXVk
aW9DYXB0dXJlU291cmNlRmFjdG9yeUlPUzo6cmVtb3ZlRXh0ZW5zaXZlT2JzZXJ2ZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUZhY3RvcnlJT1M6OmNyZWF0ZUF1
ZGlvQ2FwdHVyZVNvdXJjZSk6CisgICAgICAgIEluIFVJUHJvY2VzcywgVXNlck1lZGlhUGVybWlz
c2lvblJlcXVlc3RNYW5hZ2VyUHJveHkgbWFrZXMgc3VyZSB0byBlbmFibGUgdGhlIGV4dGVuc2l2
ZSBhdWRpbyBkZXZpY2UgcXVlcnkuCisgICAgICAgIEluIFdlYlByb2Nlc3MsIHdlIGFsc28gbmVl
ZCB0aGlzIHdoZW4gc3RhcnRpbmcgdGhlIGF1ZGlvIGNhcHR1cmUuCisgICAgICAgIFdlIGVuYWJs
ZSBpdCB3aGVuIHRoZXJlIGlzIG5vIG9ic2VydmVyIHRvIGhhbmRsZSB0aGUgV2ViUHJvY2VzcyBz
aWRlLgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9Db3JlQXVkaW9DYXB0dXJl
U291cmNlLmg6CisgICAgICAgIChXZWJDb3JlOjpDb3JlQXVkaW9DYXB0dXJlU291cmNlRmFjdG9y
eTo6Y3JlYXRlQXVkaW9DYXB0dXJlU291cmNlKToKKwogMjAyMC0xMi0xNiAgWW91ZW5uIEZhYmxl
dCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgRXhwb3NlIFNGcmFtZVRyYW5zZm9ybSB0
byBEZWRpY2F0ZWRXb3JrZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNWU5ZTVmNjE2MTg3MTIwY2Q5NGZkOTE4ODI5
Mjg5YTQ4YTIzNWYwMC4uNDcyYWMzNDg0MGYxODk3M2QxNzVjOTVkMjM4MzFkNTlkMWUxYmM3NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAyMC0xMi0yMSAgWW91ZW5uIEZhYmxldCAgPHlv
dWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gRG8gZXh0ZW5zaXZlIHNlYXJjaCBmb3Ig
bWljcm9waG9uZSBkZXZpY2VzIHdoZW4gdHJ5aW5nIHRvIGNhcHR1cmUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDAxMAorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNzIwMzYwMzQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgRW5hYmxlIGV4aGF1c3RpdmUgYXVkaW8gZGV2aWNlIHF1ZXJ5IGluIGNhc2Ug
Z2V0VXNlck1lZGlhIGlzIGNhbGxlZCBmb3IgYXVkaW8gY2FwdHVyZS4KKyAgICAgICAgSW4gY2Fz
ZSB0aGUgbWFuYWdlciBpcyBkZXN0cm95ZWQgb3IgcmVzZXQgYWZ0ZXIgc29tZSB0aW1lIHdpdGhv
dXQgY2FwdHVyaW5nLCBtYWtlIHN1cmUgdG8gZGlzYWJsZQorICAgICAgICBleGhhdXN0aXZlIGF1
ZGlvIGRldmljZSBxdWVyeSBpZiBubyBvdGhlciBwYWdlIG5lZWQgaXQuCisKKyAgICAgICAgKiBV
SVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6aW52
YWxpZGF0ZVBlbmRpbmdSZXF1ZXN0cyk6CisgICAgICAgIChXZWJLaXQ6OlVzZXJNZWRpYVBlcm1p
c3Npb25SZXF1ZXN0TWFuYWdlclByb3h5OjpkZW55UmVxdWVzdCk6CisgICAgICAgIChXZWJLaXQ6
OlVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5OjpyZXNldEFjY2Vzcyk6Cisg
ICAgICAgIChXZWJLaXQ6OlVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5Ojpz
dGFydFByb2Nlc3NpbmdVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdCk6CisgICAgICAgICogVUlQ
cm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5Lmg6CisKIDIwMjAt
MTItMTYgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2Ug
c3VyZSBXZWJLaXQgV2ViU29ja2V0Q2hhbm5lbCBoYW5kbGUgc3VzcGVuZC9yZXN1bWUgY29ycmVj
dGx5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFs
dGltZU1lZGlhU291cmNlRmFjdG9yeS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZUZhY3RvcnkuaAppbmRleCA0NDMwNTlmNzJjZWNlODY0
YTliYWY0NzE0NWVjODVlM2FjMTI0ZGQyLi5iMTdjNzNmYzA5NWZiMmY1YzkyOTIxMGNhYjdjNzRi
ZmVkYTkwNzZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9SZWFsdGltZU1lZGlhU291cmNlRmFjdG9yeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2VGYWN0b3J5LmgKQEAgLTI3LDYgKzI3
LDcgQEAKIAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAKKyNpbmNsdWRlIDx3dGYvV2Vha1B0
ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkBAIC02Miw2ICs2MywxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBDYXB0dXJlRGV2aWNl
TWFuYWdlciYgYXVkaW9DYXB0dXJlRGV2aWNlTWFuYWdlcigpID0gMDsKICAgICB2aXJ0dWFsIGNv
bnN0IFZlY3RvcjxDYXB0dXJlRGV2aWNlPiYgc3BlYWtlckRldmljZXMoKSBjb25zdCA9IDA7CiAK
KyAgICBjbGFzcyBFeHRlbnNpdmVPYnNlcnZlciA6IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxFeHRl
bnNpdmVPYnNlcnZlcj4geyB9OworICAgIHZpcnR1YWwgdm9pZCBhZGRFeHRlbnNpdmVPYnNlcnZl
cihFeHRlbnNpdmVPYnNlcnZlciYpIHsgfTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlRXh0ZW5z
aXZlT2JzZXJ2ZXIoRXh0ZW5zaXZlT2JzZXJ2ZXImKSB7IH07CisKIHByb3RlY3RlZDoKICAgICBB
dWRpb0NhcHR1cmVGYWN0b3J5KCkgPSBkZWZhdWx0OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2lvcy9BVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZp
Y2VNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3MvQVZB
dWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlci5oCmluZGV4IDZhYjRlMmM3NDJkMzFlNGJm
Y2Q4YzVlYjk4N2Q5MTE1NjE1ZDNjY2YuLjJiYzU2NDJlZmU3Y2UxMjBkYzA1NmM3ZDA3Y2Y4YWY1
MjA4N2I5MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L2lvcy9BVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2VNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9zL0FWQXVkaW9TZXNzaW9uQ2FwdHVyZURldmlj
ZU1hbmFnZXIuaApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIkdlbmVyaWNUYXNrUXVldWUu
aCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Cisj
aW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAKIE9CSkNf
Q0xBU1MgQVZBdWRpb1Nlc3Npb247CkBAIC01NCwxOSArNTUsMjggQEAgcHVibGljOgogICAgIAog
ICAgIHZvaWQgc2NoZWR1bGVVcGRhdGVDYXB0dXJlRGV2aWNlcygpOwogCisgICAgdm9pZCBlbmFi
bGVBbGxEZXZpY2VzUXVlcnkoKTsKKyAgICB2b2lkIGRpc2FibGVBbGxEZXZpY2VzUXVlcnkoKTsK
KwogcHJpdmF0ZToKICAgICBBVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2VNYW5hZ2VyKCk7CiAg
ICAgfkFWQXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXIoKTsKIAorICAgIHZvaWQgY3Jl
YXRlQXVkaW9TZXNzaW9uKCk7CiAgICAgdm9pZCByZWZyZXNoQXVkaW9DYXB0dXJlRGV2aWNlcygp
OwogICAgIFZlY3RvcjxBVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2U+JiBhdWRpb1Nlc3Npb25D
YXB0dXJlRGV2aWNlcygpOwogCisgICAgZW51bSBjbGFzcyBBdWRpb1Nlc3Npb25TdGF0ZSB7IE5v
dE5lZWRlZCwgSW5hY3RpdmUsIEFjdGl2ZSB9OworCiAgICAgT3B0aW9uYWw8VmVjdG9yPENhcHR1
cmVEZXZpY2U+PiBtX2RldmljZXM7CiAgICAgVmVjdG9yPENhcHR1cmVEZXZpY2U+IG1fc3BlYWtl
ckRldmljZXM7CiAgICAgT3B0aW9uYWw8VmVjdG9yPEFWQXVkaW9TZXNzaW9uQ2FwdHVyZURldmlj
ZT4+IG1fYXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZXM7CiAgICAgUmV0YWluUHRyPFdlYkFWQXVk
aW9TZXNzaW9uQXZhaWxhYmxlSW5wdXRzTGlzdGVuZXI+IG1fbGlzdGVuZXI7CiAgICAgUmV0YWlu
UHRyPEFWQXVkaW9TZXNzaW9uPiBtX2F1ZGlvU2Vzc2lvbjsKICAgICBHZW5lcmljVGFza1F1ZXVl
PFRpbWVyPiBtX3VwZGF0ZURldmljZVN0YXRlUXVldWU7CisgICAgZGlzcGF0Y2hfcXVldWVfdCBt
X2Rpc3BhdGNoUXVldWUgeyBudWxscHRyIH07CisgICAgTG9jayBtX2xvY2s7CisgICAgQXVkaW9T
ZXNzaW9uU3RhdGUgbV9hdWRpb1Nlc3Npb25TdGF0ZSB7IEF1ZGlvU2Vzc2lvblN0YXRlOjpOb3RO
ZWVkZWQgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2lvcy9BVkF1ZGlvU2Vzc2lvbkNhcHR1cmVE
ZXZpY2VNYW5hZ2VyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9z
L0FWQXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXIubW0KaW5kZXggODE4YzhmNWEwNzk4
ZGY4MTVkNjUzNDNkN2UwNjlkYjNkMzNkYjNjZi4uNWQ4ODlmNTZlOThiNzAwM2I3MDNhMzYyMDc3
OWNmNGQ5YzU1NDVhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vaW9zL0FWQXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXIubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vaW9zL0FWQXVkaW9TZXNzaW9uQ2FwdHVy
ZURldmljZU1hbmFnZXIubW0KQEAgLTM0LDYgKzM0LDcgQEAKICNpbXBvcnQgPEFWRm91bmRhdGlv
bi9BVkF1ZGlvU2Vzc2lvbi5oPgogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9BVkZvdW5kYXRpb25T
UEkuaD4KICNpbXBvcnQgPHd0Zi9Bc3NlcnRpb25zLmg+CisjaW1wb3J0IDx3dGYvQmxvY2tQdHIu
aD4KICNpbXBvcnQgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW1wb3J0IDx3dGYvVmVjdG9yLmg+CiAK
QEAgLTczLDcgKzc0LDYgQEAKICAgICAgICAgaWYgKGF1dG8qIGNhbGxiYWNrID0gcHJvdGVjdGVk
U2VsZi0+X2NhbGxiYWNrKQogICAgICAgICAgICAgY2FsbGJhY2stPnNjaGVkdWxlVXBkYXRlQ2Fw
dHVyZURldmljZXMoKTsKICAgICB9KTsKLQogfQogCiBAZW5kCkBAIC04NywyNSArODcsMzQgQEAg
QVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlciYgQVZBdWRpb1Nlc3Npb25DYXB0dXJl
RGV2aWNlTWFuYWdlcjo6c2luZ2xldG8KIH0KIAogQVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNl
TWFuYWdlcjo6QVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlcigpCisgICAgOiBtX2Rp
c3BhdGNoUXVldWUoZGlzcGF0Y2hfcXVldWVfY3JlYXRlKCJjb20uYXBwbGUuV2ViS2l0LkFWQXVk
aW9TZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXIiLCBESVNQQVRDSF9RVUVVRV9TRVJJQUwpKQor
eworICAgIGRpc3BhdGNoX2FzeW5jKG1fZGlzcGF0Y2hRdWV1ZSwgbWFrZUJsb2NrUHRyKFt0aGlz
LCBsb2NrZXIgPSBob2xkTG9jayhtX2xvY2spXSB7CisgICAgICAgIGNyZWF0ZUF1ZGlvU2Vzc2lv
bigpOworICAgIH0pLmdldCgpKTsKK30KKwordm9pZCBBVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZp
Y2VNYW5hZ2VyOjpjcmVhdGVBdWRpb1Nlc3Npb24oKQogeworICAgIEFTU0VSVChtX2xvY2suaXNM
b2NrZWQoKSk7CisKICNpZiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAgICAgbV9hdWRpb1Nlc3Np
b24gPSBhZG9wdE5TKFtbUEFMOjpnZXRBVkF1ZGlvU2Vzc2lvbkNsYXNzKCkgYWxsb2NdIGluaXRB
dXhpbGlhcnlTZXNzaW9uXSk7CiAjZWxzZQogICAgIC8vIEZJWE1FOiBGaWd1cmUgb3V0IGlmIHRo
aXMgaXMgY29ycmVjdCBmb3IgQ2F0YWx5c3QsIHdoZXJlIGF1eGlsaWFyeSBzZXNzaW9uIGlzbid0
IGF2YWlsYWJsZS4KICAgICBtX2F1ZGlvU2Vzc2lvbiA9IFtQQUw6OmdldEFWQXVkaW9TZXNzaW9u
Q2xhc3MoKSBzaGFyZWRJbnN0YW5jZV07CiAjZW5kaWYKLSAgICAKKwogICAgIE5TRXJyb3IgKmVy
cm9yID0gbmlsOwogICAgIGF1dG8gb3B0aW9ucyA9IEFWQXVkaW9TZXNzaW9uQ2F0ZWdvcnlPcHRp
b25BbGxvd0JsdWV0b290aCB8IEFWQXVkaW9TZXNzaW9uQ2F0ZWdvcnlPcHRpb25NaXhXaXRoT3Ro
ZXJzOwogICAgIFttX2F1ZGlvU2Vzc2lvbiBzZXRDYXRlZ29yeTpBVkF1ZGlvU2Vzc2lvbkNhdGVn
b3J5UGxheUFuZFJlY29yZCBtb2RlOkFWQXVkaW9TZXNzaW9uTW9kZVZpZGVvQ2hhdCBvcHRpb25z
Om9wdGlvbnMgZXJyb3I6JmVycm9yXTsKLSAgICBpZiAoZXJyb3IpIHsKKyAgICBpZiAoZXJyb3Ip
CiAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFdlYlJUQywgIkZhaWxlZCB0byBzZXQgYXVkaW8g
c2Vzc2lvbiBjYXRlZ29yeSB3aXRoIGVycm9yOiAlQC4iLCBlcnJvci5sb2NhbGl6ZWREZXNjcmlw
dGlvbik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9CiB9CiAKIEFWQXVkaW9TZXNzaW9uQ2FwdHVy
ZURldmljZU1hbmFnZXI6On5BVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2VNYW5hZ2VyKCkKIHsK
KyAgICBkaXNwYXRjaF9yZWxlYXNlKG1fZGlzcGF0Y2hRdWV1ZSk7CiAgICAgW21fbGlzdGVuZXIg
aW52YWxpZGF0ZV07CiAgICAgbV9saXN0ZW5lciA9IG51bGxwdHI7CiB9CkBAIC0xNTUsMTMgKzE2
NCwyMiBAQCB2b2lkIEFWQXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXI6OnNjaGVkdWxl
VXBkYXRlQ2FwdHVyZURldmljZXMoKQogCiB2b2lkIEFWQXVkaW9TZXNzaW9uQ2FwdHVyZURldmlj
ZU1hbmFnZXI6OnJlZnJlc2hBdWRpb0NhcHR1cmVEZXZpY2VzKCkKIHsKLSAgICBpZiAoIW1fbGlz
dGVuZXIpCi0gICAgICAgIG1fbGlzdGVuZXIgPSBhZG9wdE5TKFtbV2ViQVZBdWRpb1Nlc3Npb25B
dmFpbGFibGVJbnB1dHNMaXN0ZW5lciBhbGxvY10gaW5pdFdpdGhDYWxsYmFjazp0aGlzIGF1ZGlv
U2Vzc2lvbjptX2F1ZGlvU2Vzc2lvbi5nZXQoKV0pOworICAgIHsKKyAgICAgICAgLy8gTWFrZSBz
dXJlIHdlIGhhdmUgY3JlYXRlZCB0aGUgYXVkaW8gc2Vzc2lvbi4KKyAgICAgICAgYXV0byBsb2Nr
ZXIgPSBob2xkTG9jayhtX2xvY2spOworICAgIH0KKyAgICBib29sIGZpcnN0VGltZSA9ICFtX2Rl
dmljZXM7CisgICAgaWYgKG1fYXVkaW9TZXNzaW9uU3RhdGUgPT0gQXVkaW9TZXNzaW9uU3RhdGU6
OkluYWN0aXZlKSB7CisgICAgICAgIG1fYXVkaW9TZXNzaW9uU3RhdGUgPSBBdWRpb1Nlc3Npb25T
dGF0ZTo6QWN0aXZlOwogCi0gICAgTlNFcnJvciAqZXJyb3IgPSBuaWw7Ci0gICAgW21fYXVkaW9T
ZXNzaW9uIHNldEFjdGl2ZTpZRVMgd2l0aE9wdGlvbnM6MCBlcnJvcjomZXJyb3JdOwotICAgIGlm
IChlcnJvcikKLSAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoV2ViUlRDLCAiRmFpbGVkIHRvIGFj
dGl2YXRlIGF1ZGlvIHNlc3Npb24gd2l0aCBlcnJvcjogJUAuIiwgZXJyb3IubG9jYWxpemVkRGVz
Y3JpcHRpb24pOworICAgICAgICBpZiAoIW1fbGlzdGVuZXIpCisgICAgICAgICAgICBtX2xpc3Rl
bmVyID0gYWRvcHROUyhbW1dlYkFWQXVkaW9TZXNzaW9uQXZhaWxhYmxlSW5wdXRzTGlzdGVuZXIg
YWxsb2NdIGluaXRXaXRoQ2FsbGJhY2s6dGhpcyBhdWRpb1Nlc3Npb246bV9hdWRpb1Nlc3Npb24u
Z2V0KCldKTsKKworICAgICAgICBOU0Vycm9yICplcnJvciA9IG5pbDsKKyAgICAgICAgW21fYXVk
aW9TZXNzaW9uIHNldEFjdGl2ZTpZRVMgd2l0aE9wdGlvbnM6MCBlcnJvcjomZXJyb3JdOworICAg
ICAgICBpZiAoZXJyb3IpCisgICAgICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihXZWJSVEMsICJG
YWlsZWQgdG8gYWN0aXZhdGUgYXVkaW8gc2Vzc2lvbiB3aXRoIGVycm9yOiAlQC4iLCBlcnJvci5s
b2NhbGl6ZWREZXNjcmlwdGlvbik7CisgICAgfQogCiAgICAgVmVjdG9yPEFWQXVkaW9TZXNzaW9u
Q2FwdHVyZURldmljZT4gbmV3QXVkaW9EZXZpY2VzOwogICAgIFZlY3RvcjxDYXB0dXJlRGV2aWNl
PiBuZXdEZXZpY2VzOwpAQCAtMTcyLDcgKzE5MCw2IEBAIHZvaWQgQVZBdWRpb1Nlc3Npb25DYXB0
dXJlRGV2aWNlTWFuYWdlcjo6cmVmcmVzaEF1ZGlvQ2FwdHVyZURldmljZXMoKQogICAgICAgICBu
ZXdBdWRpb0RldmljZXMuYXBwZW5kKFdURk1vdmUoYXVkaW9EZXZpY2UpKTsKICAgICB9CiAKLSAg
ICBib29sIGZpcnN0VGltZSA9ICFtX2RldmljZXM7CiAgICAgYm9vbCBoYXZlRGV2aWNlQ2hhbmdl
cyA9ICFtX2RldmljZXMgfHwgbmV3QXVkaW9EZXZpY2VzLnNpemUoKSAhPSBtX2RldmljZXMtPnNp
emUoKTsKICAgICBpZiAoIWhhdmVEZXZpY2VDaGFuZ2VzKSB7CiAgICAgICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgbmV3QXVkaW9EZXZpY2VzLnNpemUoKTsgKytpKSB7CkBAIC0xOTYsNiArMjEz
LDMwIEBAIHZvaWQgQVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlcjo6cmVmcmVzaEF1
ZGlvQ2FwdHVyZURldmljZXMoKQogICAgICAgICBkZXZpY2VDaGFuZ2VkKCk7CiB9CiAKK3ZvaWQg
QVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlcjo6ZW5hYmxlQWxsRGV2aWNlc1F1ZXJ5
KCkKK3sKKyAgICBpZiAobV9hdWRpb1Nlc3Npb25TdGF0ZSAhPSBBdWRpb1Nlc3Npb25TdGF0ZTo6
Tm90TmVlZGVkKQorICAgICAgICByZXR1cm47CisKKyAgICBtX2F1ZGlvU2Vzc2lvblN0YXRlID0g
QXVkaW9TZXNzaW9uU3RhdGU6OkluYWN0aXZlOworICAgIHJlZnJlc2hBdWRpb0NhcHR1cmVEZXZp
Y2VzKCk7Cit9CisKK3ZvaWQgQVZBdWRpb1Nlc3Npb25DYXB0dXJlRGV2aWNlTWFuYWdlcjo6ZGlz
YWJsZUFsbERldmljZXNRdWVyeSgpCit7CisgICAgaWYgKG1fYXVkaW9TZXNzaW9uU3RhdGUgPT0g
QXVkaW9TZXNzaW9uU3RhdGU6Ok5vdE5lZWRlZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYg
KG1fYXVkaW9TZXNzaW9uU3RhdGUgPT0gQXVkaW9TZXNzaW9uU3RhdGU6OkFjdGl2ZSkgeworICAg
ICAgICBOU0Vycm9yICplcnJvciA9IG5pbDsKKyAgICAgICAgW21fYXVkaW9TZXNzaW9uIHNldEFj
dGl2ZTpOTyB3aXRoT3B0aW9uczowIGVycm9yOiZlcnJvcl07CisgICAgICAgIGlmIChlcnJvcikK
KyAgICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFdlYlJUQywgIkZhaWxlZCB0byBkaXNhY3Rp
dmF0ZSBhdWRpbyBzZXNzaW9uIHdpdGggZXJyb3I6ICVALiIsIGVycm9yLmxvY2FsaXplZERlc2Ny
aXB0aW9uKTsKKyAgICB9CisKKyAgICBtX2F1ZGlvU2Vzc2lvblN0YXRlID0gQXVkaW9TZXNzaW9u
U3RhdGU6Ok5vdE5lZWRlZDsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYg
Ly8gRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2lvcy9Db3JlQXVkaW9DYXB0
dXJlU291cmNlSU9TLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3Mv
Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUlPUy5oCmluZGV4IDEyZWM1MThmNjkxMTJkYjljOGQ4YTdh
OWMzZDlhZDMyYjkxMjJhNmUuLjY2NDg1ZTMyYjk3NGIyNmI2ZGI3MGVmMzFmNDE1NDUwYzBjNjMx
ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2lvcy9D
b3JlQXVkaW9DYXB0dXJlU291cmNlSU9TLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vaW9zL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2VJT1MuaApAQCAtMjksNiArMjks
NyBAQAogCiAjaW5jbHVkZSAiQXVkaW9TZXNzaW9uLmgiCiAjaW5jbHVkZSAiQ29yZUF1ZGlvQ2Fw
dHVyZVNvdXJjZS5oIgorI2luY2x1ZGUgPHd0Zi9XZWFrSGFzaFNldC5oPgogCiBPQkpDX0NMQVNT
IFdlYkNvcmVBdWRpb0NhcHR1cmVTb3VyY2VJT1NMaXN0ZW5lcjsKIApAQCAtNDQsNyArNDUsMTIg
QEAgcHJpdmF0ZToKICAgICB2b2lkIGJlZ2luQXVkaW9TZXNzaW9uSW50ZXJydXB0aW9uKCkgeyBi
ZWdpbkludGVycnVwdGlvbigpOyB9CiAgICAgdm9pZCBlbmRBdWRpb1Nlc3Npb25JbnRlcnJ1cHRp
b24oQXVkaW9TZXNzaW9uOjpNYXlSZXN1bWUpIHsgZW5kSW50ZXJydXB0aW9uKCk7IH0KIAorICAg
IENhcHR1cmVTb3VyY2VPckVycm9yIGNyZWF0ZUF1ZGlvQ2FwdHVyZVNvdXJjZShjb25zdCBDYXB0
dXJlRGV2aWNlJiwgU3RyaW5nJiYsIGNvbnN0IE1lZGlhQ29uc3RyYWludHMqKSBmaW5hbDsKKyAg
ICB2b2lkIGFkZEV4dGVuc2l2ZU9ic2VydmVyKEV4dGVuc2l2ZU9ic2VydmVyJikgZmluYWw7Cisg
ICAgdm9pZCByZW1vdmVFeHRlbnNpdmVPYnNlcnZlcihFeHRlbnNpdmVPYnNlcnZlciYpIGZpbmFs
OworCiAgICAgUmV0YWluUHRyPFdlYkNvcmVBdWRpb0NhcHR1cmVTb3VyY2VJT1NMaXN0ZW5lcj4g
bV9saXN0ZW5lcjsKKyAgICBXZWFrSGFzaFNldDxFeHRlbnNpdmVPYnNlcnZlcj4gbV9vYnNlcnZl
cnM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9pb3MvQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUlPUy5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2lvcy9Db3JlQXVkaW9DYXB0
dXJlU291cmNlSU9TLm1tCmluZGV4IDRhMjA0N2JjNDQzYTY1NjYyNGQzMWIwNWJmYTc4MmExODdl
NTI1MjAuLjY3MDU5MmYzNTE2N2Y2YjA2MTk5NmIwMTY3NGViOWI1NDg0NDNhNTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2lvcy9Db3JlQXVkaW9DYXB0
dXJlU291cmNlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L2lvcy9Db3JlQXVkaW9DYXB0dXJlU291cmNlSU9TLm1tCkBAIC0yOCw2ICsyOCw3IEBACiAKICNp
ZiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBQTEFURk9STShJT1NfRkFNSUxZKQogCisjaW1wb3J0
ICJBVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2VNYW5hZ2VyLmgiCiAjaW1wb3J0ICJMb2dnaW5n
LmgiCiAjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZBdWRpb1Nlc3Npb24uaD4KICNpbXBvcnQgPHd0
Zi9NYWluVGhyZWFkLmg+CkBAIC0xMDIsNiArMTAzLDI4IEBAIENvcmVBdWRpb0NhcHR1cmVTb3Vy
Y2VGYWN0b3J5JiBDb3JlQXVkaW9DYXB0dXJlU291cmNlRmFjdG9yeTo6c2luZ2xldG9uKCkKICAg
ICByZXR1cm4gZmFjdG9yeS5nZXQoKTsKIH0KIAordm9pZCBDb3JlQXVkaW9DYXB0dXJlU291cmNl
RmFjdG9yeUlPUzo6YWRkRXh0ZW5zaXZlT2JzZXJ2ZXIoRXh0ZW5zaXZlT2JzZXJ2ZXImIG9ic2Vy
dmVyKQoreworICAgIG1fb2JzZXJ2ZXJzLmFkZChvYnNlcnZlcik7CisgICAgQVZBdWRpb1Nlc3Np
b25DYXB0dXJlRGV2aWNlTWFuYWdlcjo6c2luZ2xldG9uKCkuZW5hYmxlQWxsRGV2aWNlc1F1ZXJ5
KCk7Cit9CisKK3ZvaWQgQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUZhY3RvcnlJT1M6OnJlbW92ZUV4
dGVuc2l2ZU9ic2VydmVyKEV4dGVuc2l2ZU9ic2VydmVyJiBvYnNlcnZlcikKK3sKKyAgICBtX29i
c2VydmVycy5yZW1vdmUob2JzZXJ2ZXIpOworICAgIGlmIChtX29ic2VydmVycy5jb21wdXRlc0Vt
cHR5KCkpCisgICAgICAgIEFWQXVkaW9TZXNzaW9uQ2FwdHVyZURldmljZU1hbmFnZXI6OnNpbmds
ZXRvbigpLmRpc2FibGVBbGxEZXZpY2VzUXVlcnkoKTsKK30KKworQ2FwdHVyZVNvdXJjZU9yRXJy
b3IgQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZUZhY3RvcnlJT1M6OmNyZWF0ZUF1ZGlvQ2FwdHVyZVNv
dXJjZShjb25zdCBDYXB0dXJlRGV2aWNlJiBkZXZpY2UsIFN0cmluZyYmIGhhc2hTYWx0LCBjb25z
dCBNZWRpYUNvbnN0cmFpbnRzKiBjb25zdHJhaW50cykKK3sKKyAgICAvLyBXZSBlbmFibGUgZXho
YXVzdGl2ZSBxdWVyeSB0byBiZSBzdXJlIHRvIHN0YXJ0IGNhcHR1cmUgd2l0aCB0aGUgcmlnaHQg
ZGV2aWNlLgorICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgc3RvcCB0aGUgYXV4aWxpYXJ5IHNlc3Np
b24gYWZ0ZXIgc3RhcnRpbmcgY2FwdHVyZS4KKyAgICBpZiAobV9vYnNlcnZlcnMuY29tcHV0ZXNF
bXB0eSgpKQorICAgICAgICBBVkF1ZGlvU2Vzc2lvbkNhcHR1cmVEZXZpY2VNYW5hZ2VyOjpzaW5n
bGV0b24oKS5lbmFibGVBbGxEZXZpY2VzUXVlcnkoKTsKKyAgICByZXR1cm4gQ29yZUF1ZGlvQ2Fw
dHVyZVNvdXJjZTo6Y3JlYXRlKFN0cmluZyB7IGRldmljZS5wZXJzaXN0ZW50SWQoKSB9LCBXVEZN
b3ZlKGhhc2hTYWx0KSwgY29uc3RyYWludHMpOworfQorCiB9CiAKICNlbmRpZiAvLyBFTkFCTEUo
TUVESUFfU1RSRUFNKSAmJiBQTEFURk9STShJT1NfRkFNSUxZKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0NvcmVBdWRpb0NhcHR1cmVTb3VyY2Uu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9Db3JlQXVkaW9DYXB0
dXJlU291cmNlLmgKaW5kZXggOTJhZjU1YzI3MjlkYzA0OTIwZTM5MzE4Y2I0MzhmZmU1NmM0ZjY1
NS4uNWI4MjJmMjkxNGVjM2QwOGNmOWI4ZmNjMzcxOTlhNzhkZjg3ZWRmMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0NvcmVBdWRpb0NhcHR1cmVT
b3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQ29y
ZUF1ZGlvQ2FwdHVyZVNvdXJjZS5oCkBAIC0xMTcsMTUgKzExNywxNiBAQCBwdWJsaWM6CiAgICAg
dm9pZCBkZXZpY2VzQ2hhbmdlZChjb25zdCBWZWN0b3I8Q2FwdHVyZURldmljZT4mKTsKIAogcHJp
dmF0ZToKLSAgICBDYXB0dXJlU291cmNlT3JFcnJvciBjcmVhdGVBdWRpb0NhcHR1cmVTb3VyY2Uo
Y29uc3QgQ2FwdHVyZURldmljZSYgZGV2aWNlLCBTdHJpbmcmJiBoYXNoU2FsdCwgY29uc3QgTWVk
aWFDb25zdHJhaW50cyogY29uc3RyYWludHMpIGZpbmFsCi0gICAgewotICAgICAgICByZXR1cm4g
Q29yZUF1ZGlvQ2FwdHVyZVNvdXJjZTo6Y3JlYXRlKFN0cmluZyB7IGRldmljZS5wZXJzaXN0ZW50
SWQoKSB9LCBXVEZNb3ZlKGhhc2hTYWx0KSwgY29uc3RyYWludHMpOwotICAgIH0KLQorICAgIENh
cHR1cmVTb3VyY2VPckVycm9yIGNyZWF0ZUF1ZGlvQ2FwdHVyZVNvdXJjZShjb25zdCBDYXB0dXJl
RGV2aWNlJiwgU3RyaW5nJiYsIGNvbnN0IE1lZGlhQ29uc3RyYWludHMqKSBvdmVycmlkZTsKICAg
ICBDYXB0dXJlRGV2aWNlTWFuYWdlciYgYXVkaW9DYXB0dXJlRGV2aWNlTWFuYWdlcigpIGZpbmFs
OwogICAgIGNvbnN0IFZlY3RvcjxDYXB0dXJlRGV2aWNlPiYgc3BlYWtlckRldmljZXMoKSBjb25z
dCBmaW5hbDsKIH07CiAKK2lubGluZSBDYXB0dXJlU291cmNlT3JFcnJvciBDb3JlQXVkaW9DYXB0
dXJlU291cmNlRmFjdG9yeTo6Y3JlYXRlQXVkaW9DYXB0dXJlU291cmNlKGNvbnN0IENhcHR1cmVE
ZXZpY2UmIGRldmljZSwgU3RyaW5nJiYgaGFzaFNhbHQsIGNvbnN0IE1lZGlhQ29uc3RyYWludHMq
IGNvbnN0cmFpbnRzKQoreworICAgIHJldHVybiBDb3JlQXVkaW9DYXB0dXJlU291cmNlOjpjcmVh
dGUoU3RyaW5nIHsgZGV2aWNlLnBlcnNpc3RlbnRJZCgpIH0sIFdURk1vdmUoaGFzaFNhbHQpLCBj
b25zdHJhaW50cyk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVO
QUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9V
c2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAKaW5k
ZXggNDkyYTU2OWYyMGQ1ZWUwMDgxNmUwNmY0OWUzYjQzY2Q3NjlkMTRhNC4uNGVmZWY5OTY5NDk1
NzFiNTU2Y2EzNGNhYjQ3MWZkZmZkNDVkZjUzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
clByb3h5LmNwcApAQCAtMTI1LDYgKzEyNSwxMCBAQCB2b2lkIFVzZXJNZWRpYVBlcm1pc3Npb25S
ZXF1ZXN0TWFuYWdlclByb3h5OjppbnZhbGlkYXRlUGVuZGluZ1JlcXVlc3RzKCkKICAgICAgICAg
cmVxdWVzdC0+aW52YWxpZGF0ZSgpOwogCiAgICAgbV9wZW5kaW5nRGV2aWNlUmVxdWVzdHMuY2xl
YXIoKTsKKworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAgUmVhbHRpbWVNZWRpYVNvdXJj
ZUNlbnRlcjo6c2luZ2xldG9uKCkuYXVkaW9DYXB0dXJlRmFjdG9yeSgpLnJlbW92ZUV4dGVuc2l2
ZU9ic2VydmVyKCp0aGlzKTsKKyNlbmRpZgogfQogCiB2b2lkIFVzZXJNZWRpYVBlcm1pc3Npb25S
ZXF1ZXN0TWFuYWdlclByb3h5OjpzdG9wQ2FwdHVyZSgpCkBAIC0yMTAsNiArMjE0LDkgQEAgdm9p
ZCBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6ZGVueVJlcXVlc3QoVXNl
ck1lZGlhUGVybWlzc2lvblJlcXUKICAgICAgICAgbV9kZW5pZWRSZXF1ZXN0cy5hcHBlbmQoRGVu
aWVkUmVxdWVzdCB7IHJlcXVlc3QubWFpbkZyYW1lSUQoKSwgcmVxdWVzdC51c2VyTWVkaWFEb2N1
bWVudFNlY3VyaXR5T3JpZ2luKCksIHJlcXVlc3QudG9wTGV2ZWxEb2N1bWVudFNlY3VyaXR5T3Jp
Z2luKCksIHJlcXVlc3QucmVxdWlyZXNBdWRpb0NhcHR1cmUoKSwgcmVxdWVzdC5yZXF1aXJlc1Zp
ZGVvQ2FwdHVyZSgpLCByZXF1ZXN0LnJlcXVpcmVzRGlzcGxheUNhcHR1cmUoKSB9KTsKIAogI2lm
IEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAgaWYgKG1fcHJlZ3JhbnRlZFJlcXVlc3RzLmlzRW1w
dHkoKSAmJiByZXF1ZXN0LnVzZXJSZXF1ZXN0KCkuYXVkaW9Db25zdHJhaW50cy5pc1ZhbGlkKQor
ICAgICAgICBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzaW5nbGV0b24oKS5hdWRpb0NhcHR1
cmVGYWN0b3J5KCkucmVtb3ZlRXh0ZW5zaXZlT2JzZXJ2ZXIoKnRoaXMpOworCiAgICAgbV9wYWdl
LnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlVzZXJNZWRpYUFjY2Vzc1dhc0RlbmllZChyZXF1ZXN0
LnVzZXJNZWRpYUlEKCksIHRvV2ViQ29yZShyZWFzb24pLCBpbnZhbGlkQ29uc3RyYWludCkpOwog
I2Vsc2UKICAgICBVTlVTRURfUEFSQU0ocmVhc29uKTsKQEAgLTI5NSw2ICszMDIsOSBAQCB2b2lk
IFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5OjpyZXNldEFjY2VzcyhPcHRp
b25hbDxGcmFtZUlkZW50aWZpZQogICAgIG1fcHJlZ3JhbnRlZFJlcXVlc3RzLmNsZWFyKCk7CiAg
ICAgbV9kZW5pZWRSZXF1ZXN0cy5jbGVhcigpOwogICAgIG1faGFzRmlsdGVyZWREZXZpY2VMaXN0
ID0gZmFsc2U7CisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICBSZWFsdGltZU1lZGlhU291
cmNlQ2VudGVyOjpzaW5nbGV0b24oKS5hdWRpb0NhcHR1cmVGYWN0b3J5KCkucmVtb3ZlRXh0ZW5z
aXZlT2JzZXJ2ZXIoKnRoaXMpOworI2VuZGlmCiB9CiAKIGNvbnN0IFVzZXJNZWRpYVBlcm1pc3Np
b25SZXF1ZXN0UHJveHkqIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5Ojpz
ZWFyY2hGb3JHcmFudGVkUmVxdWVzdChGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgY29uc3QgU2Vj
dXJpdHlPcmlnaW4mIHVzZXJNZWRpYURvY3VtZW50T3JpZ2luLCBjb25zdCBTZWN1cml0eU9yaWdp
biYgdG9wTGV2ZWxEb2N1bWVudE9yaWdpbiwgYm9vbCBuZWVkc0F1ZGlvLCBib29sIG5lZWRzVmlk
ZW8pIGNvbnN0CkBAIC00MzcsNiArNDQ3LDkgQEAgdm9pZCBVc2VyTWVkaWFQZXJtaXNzaW9uUmVx
dWVzdE1hbmFnZXJQcm94eTo6cHJvY2Vzc05leHRVc2VyTWVkaWFSZXF1ZXN0SWZOZWVkZWQKICNp
ZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogdm9pZCBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1h
bmFnZXJQcm94eTo6c3RhcnRQcm9jZXNzaW5nVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3QoUmVm
PFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHk+JiYgcmVxdWVzdCkKIHsKKyAgICBpZiAo
cmVxdWVzdC0+dXNlclJlcXVlc3QoKS5hdWRpb0NvbnN0cmFpbnRzLmlzVmFsaWQpCisgICAgICAg
IFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRvbigpLmF1ZGlvQ2FwdHVyZUZhY3Rv
cnkoKS5hZGRFeHRlbnNpdmVPYnNlcnZlcigqdGhpcyk7CisKICAgICBtX2N1cnJlbnRVc2VyTWVk
aWFSZXF1ZXN0ID0gV1RGTW92ZShyZXF1ZXN0KTsKIAogICAgIGF1dG8mIHVzZXJNZWRpYURvY3Vt
ZW50U2VjdXJpdHlPcmlnaW4gPSBtX2N1cnJlbnRVc2VyTWVkaWFSZXF1ZXN0LT51c2VyTWVkaWFE
b2N1bWVudFNlY3VyaXR5T3JpZ2luKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5oIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuaApp
bmRleCA4ZmViNDU4NzUxYTI2Mjg3ZDRlMWJiMmFhOTM4NTJmMjZkODMzMzhmLi41YWVkMTUyN2Nm
NzAxMjJiNTIzMWQzYTlkOGZhNmIwOTUxNDIzY2NjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
clByb3h5LmgKQEAgLTIyLDYgKzIyLDcgQEAKICNpbmNsdWRlICJVc2VyTWVkaWFQZXJtaXNzaW9u
Q2hlY2tQcm94eS5oIgogI2luY2x1ZGUgIlVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHku
aCIKICNpbmNsdWRlIDxXZWJDb3JlL01lZGlhUHJvZHVjZXIuaD4KKyNpbmNsdWRlIDxXZWJDb3Jl
L1JlYWx0aW1lTWVkaWFTb3VyY2VGYWN0b3J5Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZWN1cml0
eU9yaWdpbi5oPgogI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgogI2luY2x1ZGUg
PHd0Zi9EZXF1ZS5oPgpAQCAtNDMsNyArNDQsMTEgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFz
cyBXZWJQYWdlUHJveHk7CiAKIGNsYXNzIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
clByb3h5CisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICA6IHB1YmxpYyBXZWJDb3JlOjpB
dWRpb0NhcHR1cmVGYWN0b3J5OjpFeHRlbnNpdmVPYnNlcnZlcgorI2Vsc2UKICAgICA6IHB1Ymxp
YyBDYW5NYWtlV2Vha1B0cjxVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eT4K
KyNlbmRpZgogI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAogICAgICwgcHJpdmF0ZSBMb2dnZXJI
ZWxwZXIKICNlbmRpZgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>