<?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>236934</bug_id>
          
          <creation_ts>2022-02-20 00:56:00 -0800</creation_ts>
          <short_desc>[WebGPU] Tracer bullet part 12: Add block-based callbacks in addition to C function pointer callbacks</short_desc>
          <delta_ts>2022-02-21 14:10:20 -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>WebGPU</component>
          <version>WebKit Nightly 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>
          
          <blocked>236879</blocked>
    
    <blocked>236935</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>dino</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1844034</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-02-20 00:56:00 -0800</bug_when>
    <thetext>Instead of a userdata/function pointer pair, we can just use a block.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844035</commentid>
    <comment_count>1</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-02-20 00:57:45 -0800</bug_when>
    <thetext>It turns out we can&apos;t actually use this just yet because blocks have to be copyable, which means any lambdas we convert to blocks have to be copyable, but in the GPU Process we receive a CompletionHandler to call back with a reply, but CompletionHandlers are not copyable, so we can&apos;t construct the block to pass in to WebGPU.framework.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844036</commentid>
    <comment_count>2</comment_count>
      <attachid>452684</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-02-20 01:02:28 -0800</bug_when>
    <thetext>Created attachment 452684
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844371</commentid>
    <comment_count>3</comment_count>
      <attachid>452770</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-02-21 13:49:01 -0800</bug_when>
    <thetext>Created attachment 452770
Patch for committing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844381</commentid>
    <comment_count>4</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-02-21 14:09:59 -0800</bug_when>
    <thetext>Committed r290270 (247595@trunk): &lt;https://commits.webkit.org/247595@trunk&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844382</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-21 14:10:20 -0800</bug_when>
    <thetext>&lt;rdar://problem/89255880&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>452684</attachid>
            <date>2022-02-20 01:02:28 -0800</date>
            <delta_ts>2022-02-21 09:50:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>14372</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">Y29tbWl0IGNiNWNjOWMyYTAyNmNlN2YwZGY4ZTMyNTA2YTdlMDdmMWFlMDU0NjkKQXV0aG9yOiBN
eWxlcyBDLiBNYXhmaWVsZCA8bW1heGZpZWxkQGFwcGxlLmNvbT4KRGF0ZTogICBTdW4gRmViIDIw
IDAxOjAwOjE5IDIwMjIgLTA4MDAKCiAgICBQYXJ0IDEyCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkdQVS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViR1BVL0NoYW5nZUxvZwppbmRleCAzYTM1NDA1ZTk2
NTQuLjg4ZjllNzU0YzZjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkdQVS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MiBAQAorMjAyMi0wMi0yMCAg
TXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJH
UFVdIFRyYWNlciBidWxsZXQgcGFydCAxMjogTWlncmF0ZSBmcm9tIEMgZnVuY3Rpb24gY2FsbGJh
Y2tzIHRvIGJsb2NrcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjM2OTM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgRm9yIGFsbCB0aGUgQyBmdW5jdGlvbiBwb2ludGVyIC8gdXNlcmRhdGEgcGFpcnMsIHNp
bXBseSBjcmVhdGUgYSBwYXJhbGxlbCBlbnRyeSBwb2ludCB3aGljaCBhY2NlcHRzIGEgYmxvY2sg
aW5zdGVhZC4KKworICAgICAgICAqIFdlYkdQVS9BZGFwdGVyLm1tOgorICAgICAgICAod2dwdUFk
YXB0ZXJSZXF1ZXN0RGV2aWNlV2l0aEJsb2NrKToKKyAgICAgICAgKiBXZWJHUFUvQnVmZmVyLm1t
OgorICAgICAgICAod2dwdUJ1ZmZlck1hcEFzeW5jV2l0aEJsb2NrKToKKyAgICAgICAgKiBXZWJH
UFUvQ29tbWFuZEVuY29kZXIubW06CisgICAgICAgICh3Z3B1Q29tbWFuZEVuY29kZXJTZXRMYWJl
bCk6CisgICAgICAgICogV2ViR1BVL0NvbXB1dGVQaXBlbGluZS5tbToKKyAgICAgICAgKHdncHVD
b21wdXRlUGlwZWxpbmVTZXRMYWJlbCk6CisgICAgICAgICogV2ViR1BVL0RldmljZS5tbToKKyAg
ICAgICAgKHdncHVEZXZpY2VDcmVhdGVDb21wdXRlUGlwZWxpbmVBc3luY1dpdGhCbG9jayk6Cisg
ICAgICAgICh3Z3B1RGV2aWNlQ3JlYXRlUmVuZGVyUGlwZWxpbmVBc3luY1dpdGhCbG9jayk6Cisg
ICAgICAgICh3Z3B1RGV2aWNlUG9wRXJyb3JTY29wZVdpdGhCbG9jayk6CisgICAgICAgICh3Z3B1
RGV2aWNlU2V0RGV2aWNlTG9zdENhbGxiYWNrV2l0aEJsb2NrKToKKyAgICAgICAgKHdncHVEZXZp
Y2VTZXRVbmNhcHR1cmVkRXJyb3JDYWxsYmFja1dpdGhCbG9jayk6CisgICAgICAgICogV2ViR1BV
L0luc3RhbmNlLm1tOgorICAgICAgICAod2dwdUluc3RhbmNlUmVxdWVzdEFkYXB0ZXJXaXRoQmxv
Y2spOgorICAgICAgICAqIFdlYkdQVS9RdWV1ZS5tbToKKyAgICAgICAgKHdncHVRdWV1ZU9uU3Vi
bWl0dGVkV29ya0RvbmVXaXRoQmxvY2spOgorICAgICAgICAod2dwdVF1ZXVlU2V0TGFiZWwpOgor
ICAgICAgICAqIFdlYkdQVS9SZW5kZXJQaXBlbGluZS5tbToKKyAgICAgICAgKHdncHVSZW5kZXJQ
aXBlbGluZVNldExhYmVsKToKKyAgICAgICAgKiBXZWJHUFUvU2hhZGVyTW9kdWxlLm1tOgorICAg
ICAgICAod2dwdVNoYWRlck1vZHVsZUdldENvbXBpbGF0aW9uSW5mb1dpdGhCbG9jayk6CisgICAg
ICAgICh3Z3B1U2hhZGVyTW9kdWxlU2V0TGFiZWwpOgorICAgICAgICAqIFdlYkdQVS9TdXJmYWNl
Lm1tOgorICAgICAgICAod2dwdVN1cmZhY2VHZXRQcmVmZXJyZWRGb3JtYXQpOgorICAgICAgICAq
IFdlYkdQVS9Td2FwQ2hhaW4ubW06CisgICAgICAgICh3Z3B1U3dhcENoYWluUHJlc2VudCk6Cisg
ICAgICAgICogV2ViR1BVL1dlYkdQVUV4dC5oOgorCiAyMDIyLTAyLTE5ICBNeWxlcyBDLiBNYXhm
aWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgW1dlYkdQVV0gVHJhY2VyIGJ1
bGxldCBwYXJ0IDExOiBJbXBsZW1lbnQgc2hhZGVyIGNyZWF0aW9uIG1ldGhvZHMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0FkYXB0ZXIubW0gYi9Tb3VyY2UvV2ViR1BVL1dlYkdQ
VS9BZGFwdGVyLm1tCmluZGV4IGU3NjgzYWRkOGVkNy4uMGIzZDllODU3YzUwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9BZGFwdGVyLm1tCisrKyBiL1NvdXJjZS9XZWJHUFUvV2Vi
R1BVL0FkYXB0ZXIubW0KQEAgLTE1OCwzICsxNTgsMTAgQEAgdm9pZCB3Z3B1QWRhcHRlclJlcXVl
c3REZXZpY2UoV0dQVUFkYXB0ZXIgYWRhcHRlciwgY29uc3QgV0dQVURldmljZURlc2NyaXB0b3Iq
IGQKICAgICAgICAgY2FsbGJhY2soc3RhdHVzLCBkZXZpY2UgPyBuZXcgV0dQVURldmljZUltcGwg
eyBkZXZpY2UucmVsZWFzZU5vbk51bGwoKSB9IDogbnVsbHB0ciwgbWVzc2FnZSwgdXNlcmRhdGEp
OwogICAgIH0pOwogfQorCit2b2lkIHdncHVBZGFwdGVyUmVxdWVzdERldmljZVdpdGhCbG9jayhX
R1BVQWRhcHRlciBhZGFwdGVyLCBXR1BVRGV2aWNlRGVzY3JpcHRvciBjb25zdCAqIGRlc2NyaXB0
b3IsIFdHUFVSZXF1ZXN0RGV2aWNlQmxvY2tDYWxsYmFjayBjYWxsYmFjaykKK3sKKyAgICBhZGFw
dGVyLT5hZGFwdGVyLT5yZXF1ZXN0RGV2aWNlKGRlc2NyaXB0b3IsIFtjYWxsYmFja10gKFdHUFVS
ZXF1ZXN0RGV2aWNlU3RhdHVzIHN0YXR1cywgUmVmUHRyPFdlYkdQVTo6RGV2aWNlPiYmIGRldmlj
ZSwgY29uc3QgY2hhciogbWVzc2FnZSkgeworICAgICAgICBjYWxsYmFjayhzdGF0dXMsIGRldmlj
ZSA/IG5ldyBXR1BVRGV2aWNlSW1wbCB7IGRldmljZS5yZWxlYXNlTm9uTnVsbCgpIH0gOiBudWxs
cHRyLCBtZXNzYWdlKTsKKyAgICB9KTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2Vi
R1BVL0J1ZmZlci5tbSBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0J1ZmZlci5tbQppbmRleCBhNmFk
Njk3YjA1NWYuLmE5MGNmYzYyZDhiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJHUFUv
QnVmZmVyLm1tCisrKyBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0J1ZmZlci5tbQpAQCAtMTA3LDYg
KzEwNywxMyBAQCB2b2lkIHdncHVCdWZmZXJNYXBBc3luYyhXR1BVQnVmZmVyIGJ1ZmZlciwgV0dQ
VU1hcE1vZGVGbGFncyBtb2RlLCBzaXplX3Qgb2Zmc2V0LAogICAgIH0pOwogfQogCit2b2lkIHdn
cHVCdWZmZXJNYXBBc3luY1dpdGhCbG9jayhXR1BVQnVmZmVyIGJ1ZmZlciwgV0dQVU1hcE1vZGVG
bGFncyBtb2RlLCBzaXplX3Qgb2Zmc2V0LCBzaXplX3Qgc2l6ZSwgV0dQVUJ1ZmZlck1hcEJsb2Nr
Q2FsbGJhY2sgY2FsbGJhY2spCit7CisgICAgYnVmZmVyLT5idWZmZXItPm1hcEFzeW5jKG1vZGUs
IG9mZnNldCwgc2l6ZSwgW2NhbGxiYWNrXSAoV0dQVUJ1ZmZlck1hcEFzeW5jU3RhdHVzIHN0YXR1
cykgeworICAgICAgICBjYWxsYmFjayhzdGF0dXMpOworICAgIH0pOworfQorCiB2b2lkIHdncHVC
dWZmZXJVbm1hcChXR1BVQnVmZmVyIGJ1ZmZlcikKIHsKICAgICBidWZmZXItPmJ1ZmZlci0+dW5t
YXAoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0NvbW1hbmRFbmNvZGVyLm1t
IGIvU291cmNlL1dlYkdQVS9XZWJHUFUvQ29tbWFuZEVuY29kZXIubW0KaW5kZXggZDAyODAzMDdh
ZGFjLi5lMzI3OTg2M2E2MTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0NvbW1h
bmRFbmNvZGVyLm1tCisrKyBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0NvbW1hbmRFbmNvZGVyLm1t
CkBAIC0yMTYsNCArMjE2LDMgQEAgdm9pZCB3Z3B1Q29tbWFuZEVuY29kZXJTZXRMYWJlbChXR1BV
Q29tbWFuZEVuY29kZXIgY29tbWFuZEVuY29kZXIsIGNvbnN0IGNoYXIqIGwKIHsKICAgICBjb21t
YW5kRW5jb2Rlci0+Y29tbWFuZEVuY29kZXItPnNldExhYmVsKGxhYmVsKTsKIH0KLQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkdQVS9XZWJHUFUvQ29tcHV0ZVBpcGVsaW5lLm1tIGIvU291cmNlL1dl
YkdQVS9XZWJHUFUvQ29tcHV0ZVBpcGVsaW5lLm1tCmluZGV4IGIyZjFiMjA0NjE5NS4uMTBiZDhi
YjFmMzdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9Db21wdXRlUGlwZWxpbmUu
bW0KKysrIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvQ29tcHV0ZVBpcGVsaW5lLm1tCkBAIC0yMTEs
NCArMjExLDMgQEAgdm9pZCB3Z3B1Q29tcHV0ZVBpcGVsaW5lU2V0TGFiZWwoV0dQVUNvbXB1dGVQ
aXBlbGluZSBjb21wdXRlUGlwZWxpbmUsIGNvbnN0IGNoYXIKIHsKICAgICBjb21wdXRlUGlwZWxp
bmUtPmNvbXB1dGVQaXBlbGluZS0+c2V0TGFiZWwobGFiZWwpOwogfQotCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViR1BVL1dlYkdQVS9EZXZpY2UubW0gYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9EZXZp
Y2UubW0KaW5kZXggZDJlODEwMGUzMTU2Li42MmE3ZWY0MzIyY2MgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJHUFUvV2ViR1BVL0RldmljZS5tbQorKysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9EZXZp
Y2UubW0KQEAgLTE2OSw2ICsxNjksMTMgQEAgdm9pZCB3Z3B1RGV2aWNlQ3JlYXRlQ29tcHV0ZVBp
cGVsaW5lQXN5bmMoV0dQVURldmljZSBkZXZpY2UsIGNvbnN0IFdHUFVDb21wdXRlUGkKICAgICB9
KTsKIH0KIAordm9pZCB3Z3B1RGV2aWNlQ3JlYXRlQ29tcHV0ZVBpcGVsaW5lQXN5bmNXaXRoQmxv
Y2soV0dQVURldmljZSBkZXZpY2UsIFdHUFVDb21wdXRlUGlwZWxpbmVEZXNjcmlwdG9yIGNvbnN0
ICogZGVzY3JpcHRvciwgV0dQVUNyZWF0ZUNvbXB1dGVQaXBlbGluZUFzeW5jQmxvY2tDYWxsYmFj
ayBjYWxsYmFjaykKK3sKKyAgICBkZXZpY2UtPmRldmljZS0+Y3JlYXRlQ29tcHV0ZVBpcGVsaW5l
QXN5bmMoZGVzY3JpcHRvciwgW2NhbGxiYWNrXSAoV0dQVUNyZWF0ZVBpcGVsaW5lQXN5bmNTdGF0
dXMgc3RhdHVzLCBSZWZQdHI8V2ViR1BVOjpDb21wdXRlUGlwZWxpbmU+JiYgcGlwZWxpbmUsIGNv
bnN0IGNoYXIqIG1lc3NhZ2UpIHsKKyAgICAgICAgY2FsbGJhY2soc3RhdHVzLCBwaXBlbGluZSA/
IG5ldyBXR1BVQ29tcHV0ZVBpcGVsaW5lSW1wbCB7IHBpcGVsaW5lLnJlbGVhc2VOb25OdWxsKCkg
fSA6IG51bGxwdHIsIG1lc3NhZ2UpOworICAgIH0pOworfQorCiBXR1BVUGlwZWxpbmVMYXlvdXQg
d2dwdURldmljZUNyZWF0ZVBpcGVsaW5lTGF5b3V0KFdHUFVEZXZpY2UgZGV2aWNlLCBjb25zdCBX
R1BVUGlwZWxpbmVMYXlvdXREZXNjcmlwdG9yKiBkZXNjcmlwdG9yKQogewogICAgIGF1dG8gcmVz
dWx0ID0gZGV2aWNlLT5kZXZpY2UtPmNyZWF0ZVBpcGVsaW5lTGF5b3V0KGRlc2NyaXB0b3IpOwpA
QCAtMjAwLDYgKzIwNywxMyBAQCB2b2lkIHdncHVEZXZpY2VDcmVhdGVSZW5kZXJQaXBlbGluZUFz
eW5jKFdHUFVEZXZpY2UgZGV2aWNlLCBjb25zdCBXR1BVUmVuZGVyUGlwZQogICAgIH0pOwogfQog
Cit2b2lkIHdncHVEZXZpY2VDcmVhdGVSZW5kZXJQaXBlbGluZUFzeW5jV2l0aEJsb2NrKFdHUFVE
ZXZpY2UgZGV2aWNlLCBXR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yIGNvbnN0ICogZGVzY3Jp
cHRvciwgV0dQVUNyZWF0ZVJlbmRlclBpcGVsaW5lQXN5bmNCbG9ja0NhbGxiYWNrIGNhbGxiYWNr
KQoreworICAgIGRldmljZS0+ZGV2aWNlLT5jcmVhdGVSZW5kZXJQaXBlbGluZUFzeW5jKGRlc2Ny
aXB0b3IsIFtjYWxsYmFja10gKFdHUFVDcmVhdGVQaXBlbGluZUFzeW5jU3RhdHVzIHN0YXR1cywg
UmVmUHRyPFdlYkdQVTo6UmVuZGVyUGlwZWxpbmU+JiYgcGlwZWxpbmUsIGNvbnN0IGNoYXIqIG1l
c3NhZ2UpIHsKKyAgICAgICAgY2FsbGJhY2soc3RhdHVzLCBwaXBlbGluZSA/IG5ldyBXR1BVUmVu
ZGVyUGlwZWxpbmVJbXBsIHsgcGlwZWxpbmUucmVsZWFzZU5vbk51bGwoKSB9IDogbnVsbHB0ciwg
bWVzc2FnZSk7CisgICAgfSk7Cit9CisKIFdHUFVTYW1wbGVyIHdncHVEZXZpY2VDcmVhdGVTYW1w
bGVyKFdHUFVEZXZpY2UgZGV2aWNlLCBjb25zdCBXR1BVU2FtcGxlckRlc2NyaXB0b3IqIGRlc2Ny
aXB0b3IpCiB7CiAgICAgYXV0byByZXN1bHQgPSBkZXZpY2UtPmRldmljZS0+Y3JlYXRlU2FtcGxl
cihkZXNjcmlwdG9yKTsKQEAgLTI1Nyw2ICsyNzEsMTMgQEAgYm9vbCB3Z3B1RGV2aWNlUG9wRXJy
b3JTY29wZShXR1BVRGV2aWNlIGRldmljZSwgV0dQVUVycm9yQ2FsbGJhY2sgY2FsbGJhY2ssIHZv
aWQKICAgICB9KTsKIH0KIAorYm9vbCB3Z3B1RGV2aWNlUG9wRXJyb3JTY29wZVdpdGhCbG9jayhX
R1BVRGV2aWNlIGRldmljZSwgV0dQVUVycm9yQmxvY2tDYWxsYmFjayBjYWxsYmFjaykKK3sKKyAg
ICByZXR1cm4gZGV2aWNlLT5kZXZpY2UtPnBvcEVycm9yU2NvcGUoW2NhbGxiYWNrXSAoV0dQVUVy
cm9yVHlwZSB0eXBlLCBjb25zdCBjaGFyKiBtZXNzYWdlKSB7CisgICAgICAgIGNhbGxiYWNrKHR5
cGUsIG1lc3NhZ2UpOworICAgIH0pOworfQorCiB2b2lkIHdncHVEZXZpY2VQdXNoRXJyb3JTY29w
ZShXR1BVRGV2aWNlIGRldmljZSwgV0dQVUVycm9yRmlsdGVyIGZpbHRlcikKIHsKICAgICBkZXZp
Y2UtPmRldmljZS0+cHVzaEVycm9yU2NvcGUoZmlsdGVyKTsKQEAgLTI3MCw2ICsyOTEsMTQgQEAg
dm9pZCB3Z3B1RGV2aWNlU2V0RGV2aWNlTG9zdENhbGxiYWNrKFdHUFVEZXZpY2UgZGV2aWNlLCBX
R1BVRGV2aWNlTG9zdENhbGxiYWNrIGMKICAgICB9KTsKIH0KIAordm9pZCB3Z3B1RGV2aWNlU2V0
RGV2aWNlTG9zdENhbGxiYWNrV2l0aEJsb2NrKFdHUFVEZXZpY2UgZGV2aWNlLCBXR1BVRGV2aWNl
TG9zdEJsb2NrQ2FsbGJhY2sgY2FsbGJhY2spCit7CisgICAgcmV0dXJuIGRldmljZS0+ZGV2aWNl
LT5zZXREZXZpY2VMb3N0Q2FsbGJhY2soW2NhbGxiYWNrXSAoV0dQVURldmljZUxvc3RSZWFzb24g
cmVhc29uLCBjb25zdCBjaGFyKiBtZXNzYWdlKSB7CisgICAgICAgIGlmIChjYWxsYmFjaykKKyAg
ICAgICAgICAgIGNhbGxiYWNrKHJlYXNvbiwgbWVzc2FnZSk7CisgICAgfSk7Cit9CisKIHZvaWQg
d2dwdURldmljZVNldFVuY2FwdHVyZWRFcnJvckNhbGxiYWNrKFdHUFVEZXZpY2UgZGV2aWNlLCBX
R1BVRXJyb3JDYWxsYmFjayBjYWxsYmFjaywgdm9pZCogdXNlcmRhdGEpCiB7CiAgICAgcmV0dXJu
IGRldmljZS0+ZGV2aWNlLT5zZXRVbmNhcHR1cmVkRXJyb3JDYWxsYmFjayhbY2FsbGJhY2ssIHVz
ZXJkYXRhXSAoV0dQVUVycm9yVHlwZSB0eXBlLCBjb25zdCBjaGFyKiBtZXNzYWdlKSB7CkBAIC0y
NzgsNiArMzA3LDE0IEBAIHZvaWQgd2dwdURldmljZVNldFVuY2FwdHVyZWRFcnJvckNhbGxiYWNr
KFdHUFVEZXZpY2UgZGV2aWNlLCBXR1BVRXJyb3JDYWxsYmFjayBjCiAgICAgfSk7CiB9CiAKK3Zv
aWQgd2dwdURldmljZVNldFVuY2FwdHVyZWRFcnJvckNhbGxiYWNrV2l0aEJsb2NrKFdHUFVEZXZp
Y2UgZGV2aWNlLCBXR1BVRXJyb3JCbG9ja0NhbGxiYWNrIGNhbGxiYWNrKQoreworICAgIHJldHVy
biBkZXZpY2UtPmRldmljZS0+c2V0VW5jYXB0dXJlZEVycm9yQ2FsbGJhY2soW2NhbGxiYWNrXSAo
V0dQVUVycm9yVHlwZSB0eXBlLCBjb25zdCBjaGFyKiBtZXNzYWdlKSB7CisgICAgICAgIGlmIChj
YWxsYmFjaykKKyAgICAgICAgICAgIGNhbGxiYWNrKHR5cGUsIG1lc3NhZ2UpOworICAgIH0pOwor
fQorCiB2b2lkIHdncHVEZXZpY2VTZXRMYWJlbChXR1BVRGV2aWNlIGRldmljZSwgY29uc3QgY2hh
ciogbGFiZWwpCiB7CiAgICAgZGV2aWNlLT5kZXZpY2UtPnNldExhYmVsKGxhYmVsKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0luc3RhbmNlLm1tIGIvU291cmNlL1dlYkdQVS9X
ZWJHUFUvSW5zdGFuY2UubW0KaW5kZXggY2E1NTljN2MzNmU2Li4yZmVmNjhlODUzZTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0luc3RhbmNlLm1tCisrKyBiL1NvdXJjZS9XZWJH
UFUvV2ViR1BVL0luc3RhbmNlLm1tCkBAIC00MDUsMyArNDA1LDkgQEAgdm9pZCB3Z3B1SW5zdGFu
Y2VSZXF1ZXN0QWRhcHRlcihXR1BVSW5zdGFuY2UgaW5zdGFuY2UsIGNvbnN0IFdHUFVSZXF1ZXN0
QWRhcHRlck8KICAgICB9KTsKIH0KIAordm9pZCB3Z3B1SW5zdGFuY2VSZXF1ZXN0QWRhcHRlcldp
dGhCbG9jayhXR1BVSW5zdGFuY2UgaW5zdGFuY2UsIFdHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMg
Y29uc3QgKiBvcHRpb25zLCBXR1BVUmVxdWVzdEFkYXB0ZXJCbG9ja0NhbGxiYWNrIGNhbGxiYWNr
KQoreworICAgIGluc3RhbmNlLT5pbnN0YW5jZS0+cmVxdWVzdEFkYXB0ZXIob3B0aW9ucywgW2Nh
bGxiYWNrXSAoV0dQVVJlcXVlc3RBZGFwdGVyU3RhdHVzIHN0YXR1cywgUmVmUHRyPFdlYkdQVTo6
QWRhcHRlcj4mJiBhZGFwdGVyLCBjb25zdCBjaGFyKiBtZXNzYWdlKSB7CisgICAgICAgIGNhbGxi
YWNrKHN0YXR1cywgYWRhcHRlciA/IG5ldyBXR1BVQWRhcHRlckltcGwgeyBhZGFwdGVyLnJlbGVh
c2VOb25OdWxsKCkgfSA6IG51bGxwdHIsIG1lc3NhZ2UpOworICAgIH0pOworfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkdQVS9XZWJHUFUvUXVldWUubW0gYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9R
dWV1ZS5tbQppbmRleCAyMzM3YzAwMjBlNWQuLjdlMGMyN2VjNWY2YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkdQVS9XZWJHUFUvUXVldWUubW0KKysrIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvUXVl
dWUubW0KQEAgLTg1LDYgKzg1LDEzIEBAIHZvaWQgd2dwdVF1ZXVlT25TdWJtaXR0ZWRXb3JrRG9u
ZShXR1BVUXVldWUgcXVldWUsIHVpbnQ2NF90IHNpZ25hbFZhbHVlLCBXR1BVUXVlCiAgICAgfSk7
CiB9CiAKK3ZvaWQgd2dwdVF1ZXVlT25TdWJtaXR0ZWRXb3JrRG9uZVdpdGhCbG9jayhXR1BVUXVl
dWUgcXVldWUsIHVpbnQ2NF90IHNpZ25hbFZhbHVlLCBXR1BVUXVldWVXb3JrRG9uZUJsb2NrQ2Fs
bGJhY2sgY2FsbGJhY2spCit7CisgICAgcXVldWUtPnF1ZXVlLT5vblN1Ym1pdHRlZFdvcmtEb25l
KHNpZ25hbFZhbHVlLCBbY2FsbGJhY2tdIChXR1BVUXVldWVXb3JrRG9uZVN0YXR1cyBzdGF0dXMp
IHsKKyAgICAgICAgY2FsbGJhY2soc3RhdHVzKTsKKyAgICB9KTsKK30KKwogdm9pZCB3Z3B1UXVl
dWVTdWJtaXQoV0dQVVF1ZXVlIHF1ZXVlLCB1aW50MzJfdCBjb21tYW5kQ291bnQsIGNvbnN0IFdH
UFVDb21tYW5kQnVmZmVyKiBjb21tYW5kcykKIHsKICAgICBWZWN0b3I8c3RkOjpyZWZlcmVuY2Vf
d3JhcHBlcjxjb25zdCBXZWJHUFU6OkNvbW1hbmRCdWZmZXI+PiBjb21tYW5kc1RvRm9yd2FyZDsK
QEAgLTEwNyw0ICsxMTQsMyBAQCB2b2lkIHdncHVRdWV1ZVNldExhYmVsKFdHUFVRdWV1ZSBxdWV1
ZSwgY29uc3QgY2hhciogbGFiZWwpCiB7CiAgICAgcXVldWUtPnF1ZXVlLT5zZXRMYWJlbChsYWJl
bCk7CiB9Ci0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1JlbmRlclBpcGVsaW5l
Lm1tIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvUmVuZGVyUGlwZWxpbmUubW0KaW5kZXggYmIyMTM2
NjY1ZjZjLi4xNjMyYmY4MGZjMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1Jl
bmRlclBpcGVsaW5lLm1tCisrKyBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1JlbmRlclBpcGVsaW5l
Lm1tCkBAIC03Nyw0ICs3NywzIEBAIHZvaWQgd2dwdVJlbmRlclBpcGVsaW5lU2V0TGFiZWwoV0dQ
VVJlbmRlclBpcGVsaW5lIHJlbmRlclBpcGVsaW5lLCBjb25zdCBjaGFyKiBsCiB7CiAgICAgcmVu
ZGVyUGlwZWxpbmUtPnJlbmRlclBpcGVsaW5lLT5zZXRMYWJlbChsYWJlbCk7CiB9Ci0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1NoYWRlck1vZHVsZS5tbSBiL1NvdXJjZS9XZWJH
UFUvV2ViR1BVL1NoYWRlck1vZHVsZS5tbQppbmRleCAzZTZjMWVjMDIyZmQuLjlkNWQxZGJiZDM5
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJHUFUvU2hhZGVyTW9kdWxlLm1tCisrKyBi
L1NvdXJjZS9XZWJHUFUvV2ViR1BVL1NoYWRlck1vZHVsZS5tbQpAQCAtMjU3LDggKzI1NywxNCBA
QCB2b2lkIHdncHVTaGFkZXJNb2R1bGVHZXRDb21waWxhdGlvbkluZm8oV0dQVVNoYWRlck1vZHVs
ZSBzaGFkZXJNb2R1bGUsIFdHUFVDb21waQogICAgIH0pOwogfQogCit2b2lkIHdncHVTaGFkZXJN
b2R1bGVHZXRDb21waWxhdGlvbkluZm9XaXRoQmxvY2soV0dQVVNoYWRlck1vZHVsZSBzaGFkZXJN
b2R1bGUsIFdHUFVDb21waWxhdGlvbkluZm9CbG9ja0NhbGxiYWNrIGNhbGxiYWNrKQoreworICAg
IHNoYWRlck1vZHVsZS0+c2hhZGVyTW9kdWxlLT5nZXRDb21waWxhdGlvbkluZm8oW2NhbGxiYWNr
XSAoV0dQVUNvbXBpbGF0aW9uSW5mb1JlcXVlc3RTdGF0dXMgc3RhdHVzLCBjb25zdCBXR1BVQ29t
cGlsYXRpb25JbmZvKiBjb21waWxhdGlvbkluZm8pIHsKKyAgICAgICAgY2FsbGJhY2soc3RhdHVz
LCBjb21waWxhdGlvbkluZm8pOworICAgIH0pOworfQorCiB2b2lkIHdncHVTaGFkZXJNb2R1bGVT
ZXRMYWJlbChXR1BVU2hhZGVyTW9kdWxlIHNoYWRlck1vZHVsZSwgY29uc3QgY2hhciogbGFiZWwp
CiB7CiAgICAgc2hhZGVyTW9kdWxlLT5zaGFkZXJNb2R1bGUtPnNldExhYmVsKGxhYmVsKTsKIH0K
LQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkdQVS9XZWJHUFUvU3VyZmFjZS5tbSBiL1NvdXJjZS9X
ZWJHUFUvV2ViR1BVL1N1cmZhY2UubW0KaW5kZXggNGJjZDdmOGJhNjdjLi5hMDkzZTgwYWY1ZjYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1N1cmZhY2UubW0KKysrIGIvU291cmNl
L1dlYkdQVS9XZWJHUFUvU3VyZmFjZS5tbQpAQCAtNTEsNCArNTEsMyBAQCBXR1BVVGV4dHVyZUZv
cm1hdCB3Z3B1U3VyZmFjZUdldFByZWZlcnJlZEZvcm1hdChXR1BVU3VyZmFjZSBzdXJmYWNlLCBX
R1BVQWRhcHRlcgogewogICAgIHJldHVybiBzdXJmYWNlLT5zdXJmYWNlLT5nZXRQcmVmZXJyZWRG
b3JtYXQoYWRhcHRlci0+YWRhcHRlcik7CiB9Ci0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUv
V2ViR1BVL1N3YXBDaGFpbi5tbSBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1N3YXBDaGFpbi5tbQpp
bmRleCAyMjdhNGQ2NzIyMWMuLmQzYzk5YTEzNTg2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQ
VS9XZWJHUFUvU3dhcENoYWluLm1tCisrKyBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1N3YXBDaGFp
bi5tbQpAQCAtNjcsNCArNjcsMyBAQCB2b2lkIHdncHVTd2FwQ2hhaW5QcmVzZW50KFdHUFVTd2Fw
Q2hhaW4gc3dhcENoYWluKQogewogICAgIHN3YXBDaGFpbi0+c3dhcENoYWluLT5wcmVzZW50KCk7
CiB9Ci0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1dlYkdQVUV4dC5oIGIvU291
cmNlL1dlYkdQVS9XZWJHUFUvV2ViR1BVRXh0LmgKaW5kZXggMmU0MjAxMjJhYWY1Li42ZTgwMzVm
YmYxODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1dlYkdQVUV4dC5oCisrKyBi
L1NvdXJjZS9XZWJHUFUvV2ViR1BVL1dlYkdQVUV4dC5oCkBAIC0zMCw2ICszMCwxNiBAQAogZXh0
ZXJuICJDIiB7CiAjZW5kaWYKIAordHlwZWRlZiB2b2lkICheV0dQVUJ1ZmZlck1hcEJsb2NrQ2Fs
bGJhY2spKFdHUFVCdWZmZXJNYXBBc3luY1N0YXR1cyBzdGF0dXMpOwordHlwZWRlZiB2b2lkIChe
V0dQVUNvbXBpbGF0aW9uSW5mb0Jsb2NrQ2FsbGJhY2spKFdHUFVDb21waWxhdGlvbkluZm9SZXF1
ZXN0U3RhdHVzIHN0YXR1cywgV0dQVUNvbXBpbGF0aW9uSW5mbyBjb25zdCAqIGNvbXBpbGF0aW9u
SW5mbyk7Cit0eXBlZGVmIHZvaWQgKF5XR1BVQ3JlYXRlQ29tcHV0ZVBpcGVsaW5lQXN5bmNCbG9j
a0NhbGxiYWNrKShXR1BVQ3JlYXRlUGlwZWxpbmVBc3luY1N0YXR1cyBzdGF0dXMsIFdHUFVDb21w
dXRlUGlwZWxpbmUgcGlwZWxpbmUsIGNoYXIgY29uc3QgKiBtZXNzYWdlKTsKK3R5cGVkZWYgdm9p
ZCAoXldHUFVDcmVhdGVSZW5kZXJQaXBlbGluZUFzeW5jQmxvY2tDYWxsYmFjaykoV0dQVUNyZWF0
ZVBpcGVsaW5lQXN5bmNTdGF0dXMgc3RhdHVzLCBXR1BVUmVuZGVyUGlwZWxpbmUgcGlwZWxpbmUs
IGNoYXIgY29uc3QgKiBtZXNzYWdlKTsKK3R5cGVkZWYgdm9pZCAoXldHUFVEZXZpY2VMb3N0Qmxv
Y2tDYWxsYmFjaykoV0dQVURldmljZUxvc3RSZWFzb24gcmVhc29uLCBjaGFyIGNvbnN0ICogbWVz
c2FnZSk7Cit0eXBlZGVmIHZvaWQgKF5XR1BVRXJyb3JCbG9ja0NhbGxiYWNrKShXR1BVRXJyb3JU
eXBlIHR5cGUsIGNoYXIgY29uc3QgKiBtZXNzYWdlKTsKK3R5cGVkZWYgdm9pZCAoXldHUFVRdWV1
ZVdvcmtEb25lQmxvY2tDYWxsYmFjaykoV0dQVVF1ZXVlV29ya0RvbmVTdGF0dXMgc3RhdHVzKTsK
K3R5cGVkZWYgdm9pZCAoXldHUFVSZXF1ZXN0QWRhcHRlckJsb2NrQ2FsbGJhY2spKFdHUFVSZXF1
ZXN0QWRhcHRlclN0YXR1cyBzdGF0dXMsIFdHUFVBZGFwdGVyIGFkYXB0ZXIsIGNoYXIgY29uc3Qg
KiBtZXNzYWdlKTsKK3R5cGVkZWYgdm9pZCAoXldHUFVSZXF1ZXN0RGV2aWNlQmxvY2tDYWxsYmFj
aykoV0dQVVJlcXVlc3REZXZpY2VTdGF0dXMgc3RhdHVzLCBXR1BVRGV2aWNlIGRldmljZSwgY2hh
ciBjb25zdCAqIG1lc3NhZ2UpOworCiB0eXBlZGVmIGVudW0gV0dQVVNUeXBlRXh0ZW5kZWQgewog
ICAgIFdHUFVTVHlwZUV4dGVuZGVkX1NoYWRlck1vZHVsZURlc2NyaXB0b3JIaW50cyA9IDB4MzQ4
OTcwRjMsIC8vIFJhbmRvbQogICAgIFdHUFVTVHlwZUV4dGVuZGVkX1RleHR1cmVEZXNjcmlwdG9y
Vmlld0Zvcm1hdHMgPSAweDFENUJDNTcsIC8vIFJhbmRvbQpAQCAtMTQ2LDYgKzE1NiwxNyBAQCBX
R1BVX0VYUE9SVCB2b2lkIHdncHVTYW1wbGVyU2V0TGFiZWwoV0dQVVNhbXBsZXIgc2FtcGxlciwg
Y2hhciBjb25zdCAqIGxhYmVsKTsKIFdHUFVfRVhQT1JUIHZvaWQgd2dwdVRleHR1cmVTZXRMYWJl
bChXR1BVVGV4dHVyZSBzYW1wbGVyLCBjaGFyIGNvbnN0ICogbGFiZWwpOwogV0dQVV9FWFBPUlQg
dm9pZCB3Z3B1VGV4dHVyZVZpZXdTZXRMYWJlbChXR1BVVGV4dHVyZVZpZXcgc2FtcGxlciwgY2hh
ciBjb25zdCAqIGxhYmVsKTsKIAorV0dQVV9FWFBPUlQgdm9pZCB3Z3B1QWRhcHRlclJlcXVlc3RE
ZXZpY2VXaXRoQmxvY2soV0dQVUFkYXB0ZXIgYWRhcHRlciwgV0dQVURldmljZURlc2NyaXB0b3Ig
Y29uc3QgKiBkZXNjcmlwdG9yLCBXR1BVUmVxdWVzdERldmljZUJsb2NrQ2FsbGJhY2sgY2FsbGJh
Y2spOworV0dQVV9FWFBPUlQgdm9pZCB3Z3B1QnVmZmVyTWFwQXN5bmNXaXRoQmxvY2soV0dQVUJ1
ZmZlciBidWZmZXIsIFdHUFVNYXBNb2RlRmxhZ3MgbW9kZSwgc2l6ZV90IG9mZnNldCwgc2l6ZV90
IHNpemUsIFdHUFVCdWZmZXJNYXBCbG9ja0NhbGxiYWNrIGNhbGxiYWNrKTsKK1dHUFVfRVhQT1JU
IHZvaWQgd2dwdURldmljZUNyZWF0ZUNvbXB1dGVQaXBlbGluZUFzeW5jV2l0aEJsb2NrKFdHUFVE
ZXZpY2UgZGV2aWNlLCBXR1BVQ29tcHV0ZVBpcGVsaW5lRGVzY3JpcHRvciBjb25zdCAqIGRlc2Ny
aXB0b3IsIFdHUFVDcmVhdGVDb21wdXRlUGlwZWxpbmVBc3luY0Jsb2NrQ2FsbGJhY2sgY2FsbGJh
Y2spOworV0dQVV9FWFBPUlQgdm9pZCB3Z3B1RGV2aWNlQ3JlYXRlUmVuZGVyUGlwZWxpbmVBc3lu
Y1dpdGhCbG9jayhXR1BVRGV2aWNlIGRldmljZSwgV0dQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRv
ciBjb25zdCAqIGRlc2NyaXB0b3IsIFdHUFVDcmVhdGVSZW5kZXJQaXBlbGluZUFzeW5jQmxvY2tD
YWxsYmFjayBjYWxsYmFjayk7CitXR1BVX0VYUE9SVCBib29sIHdncHVEZXZpY2VQb3BFcnJvclNj
b3BlV2l0aEJsb2NrKFdHUFVEZXZpY2UgZGV2aWNlLCBXR1BVRXJyb3JCbG9ja0NhbGxiYWNrIGNh
bGxiYWNrKTsKK1dHUFVfRVhQT1JUIHZvaWQgd2dwdURldmljZVNldERldmljZUxvc3RDYWxsYmFj
a1dpdGhCbG9jayhXR1BVRGV2aWNlIGRldmljZSwgV0dQVURldmljZUxvc3RCbG9ja0NhbGxiYWNr
IGNhbGxiYWNrKTsKK1dHUFVfRVhQT1JUIHZvaWQgd2dwdURldmljZVNldFVuY2FwdHVyZWRFcnJv
ckNhbGxiYWNrV2l0aEJsb2NrKFdHUFVEZXZpY2UgZGV2aWNlLCBXR1BVRXJyb3JCbG9ja0NhbGxi
YWNrIGNhbGxiYWNrKTsKK1dHUFVfRVhQT1JUIHZvaWQgd2dwdUluc3RhbmNlUmVxdWVzdEFkYXB0
ZXJXaXRoQmxvY2soV0dQVUluc3RhbmNlIGluc3RhbmNlLCBXR1BVUmVxdWVzdEFkYXB0ZXJPcHRp
b25zIGNvbnN0ICogb3B0aW9ucywgV0dQVVJlcXVlc3RBZGFwdGVyQmxvY2tDYWxsYmFjayBjYWxs
YmFjayk7CitXR1BVX0VYUE9SVCB2b2lkIHdncHVRdWV1ZU9uU3VibWl0dGVkV29ya0RvbmVXaXRo
QmxvY2soV0dQVVF1ZXVlIHF1ZXVlLCB1aW50NjRfdCBzaWduYWxWYWx1ZSwgV0dQVVF1ZXVlV29y
a0RvbmVCbG9ja0NhbGxiYWNrIGNhbGxiYWNrKTsKK1dHUFVfRVhQT1JUIHZvaWQgd2dwdVNoYWRl
ck1vZHVsZUdldENvbXBpbGF0aW9uSW5mb1dpdGhCbG9jayhXR1BVU2hhZGVyTW9kdWxlIHNoYWRl
ck1vZHVsZSwgV0dQVUNvbXBpbGF0aW9uSW5mb0Jsb2NrQ2FsbGJhY2sgY2FsbGJhY2spOworCiAj
ZW5kaWYgIC8vICFkZWZpbmVkKFdHUFVfU0tJUF9ERUNMQVJBVElPTlMpCiAKICNpZmRlZiBfX2Nw
bHVzcGx1cwo=
</data>
<flag name="review"
          id="479802"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>452770</attachid>
            <date>2022-02-21 13:49:01 -0800</date>
            <delta_ts>2022-02-21 13:49:01 -0800</delta_ts>
            <desc>Patch for committing</desc>
            <filename>bug-236934-20220221134852.patch</filename>
            <type>text/plain</type>
            <size>22866</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwMjY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BVL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJHUFUvQ2hhbmdlTG9nCmluZGV4IGYzNmY5ZGEzNTNmYmU3NTc4
OTQ4NmZmNmExZmFkODYxMmE3ZDcyMjguLjRmYzdmYTNiNzRmMzMxZWJjZTFlYTcxNzEwODcxZWYw
ZmFjZTNhODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJHUFUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMjItMDItMjEgIE15bGVzIEMu
IE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViR1BVXSBUcmFj
ZXIgYnVsbGV0IHBhcnQgMTI6IE1pZ3JhdGUgZnJvbSBDIGZ1bmN0aW9uIGNhbGxiYWNrcyB0byBi
bG9ja3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
NjkzNAorCisgICAgICAgIFJldmlld2VkIGJ5IERlYW4gSmFja3Nvbi4KKworICAgICAgICBGb3Ig
YWxsIHRoZSBDIGZ1bmN0aW9uIHBvaW50ZXIgLyB1c2VyZGF0YSBwYWlycywgc2ltcGx5IGNyZWF0
ZSBhIHBhcmFsbGVsIGVudHJ5IHBvaW50IHdoaWNoIGFjY2VwdHMgYSBibG9jayBpbnN0ZWFkLgor
CisgICAgICAgICogV2ViR1BVL0FkYXB0ZXIubW06CisgICAgICAgICh3Z3B1QWRhcHRlclJlcXVl
c3REZXZpY2VXaXRoQmxvY2spOgorICAgICAgICAqIFdlYkdQVS9CdWZmZXIubW06CisgICAgICAg
ICh3Z3B1QnVmZmVyTWFwQXN5bmNXaXRoQmxvY2spOgorICAgICAgICAqIFdlYkdQVS9Db21tYW5k
RW5jb2Rlci5tbToKKyAgICAgICAgKHdncHVDb21tYW5kRW5jb2RlclNldExhYmVsKToKKyAgICAg
ICAgKiBXZWJHUFUvQ29tcHV0ZVBpcGVsaW5lLm1tOgorICAgICAgICAod2dwdUNvbXB1dGVQaXBl
bGluZVNldExhYmVsKToKKyAgICAgICAgKiBXZWJHUFUvRGV2aWNlLm1tOgorICAgICAgICAod2dw
dURldmljZUNyZWF0ZUNvbXB1dGVQaXBlbGluZUFzeW5jV2l0aEJsb2NrKToKKyAgICAgICAgKHdn
cHVEZXZpY2VDcmVhdGVSZW5kZXJQaXBlbGluZUFzeW5jV2l0aEJsb2NrKToKKyAgICAgICAgKHdn
cHVEZXZpY2VQb3BFcnJvclNjb3BlV2l0aEJsb2NrKToKKyAgICAgICAgKHdncHVEZXZpY2VTZXRE
ZXZpY2VMb3N0Q2FsbGJhY2tXaXRoQmxvY2spOgorICAgICAgICAod2dwdURldmljZVNldFVuY2Fw
dHVyZWRFcnJvckNhbGxiYWNrV2l0aEJsb2NrKToKKyAgICAgICAgKiBXZWJHUFUvSW5zdGFuY2Uu
bW06CisgICAgICAgICh3Z3B1SW5zdGFuY2VSZXF1ZXN0QWRhcHRlcldpdGhCbG9jayk6CisgICAg
ICAgICogV2ViR1BVL1F1ZXVlLm1tOgorICAgICAgICAod2dwdVF1ZXVlT25TdWJtaXR0ZWRXb3Jr
RG9uZVdpdGhCbG9jayk6CisgICAgICAgICh3Z3B1UXVldWVTZXRMYWJlbCk6CisgICAgICAgICog
V2ViR1BVL1JlbmRlclBpcGVsaW5lLm1tOgorICAgICAgICAod2dwdVJlbmRlclBpcGVsaW5lU2V0
TGFiZWwpOgorICAgICAgICAqIFdlYkdQVS9TaGFkZXJNb2R1bGUubW06CisgICAgICAgICh3Z3B1
U2hhZGVyTW9kdWxlR2V0Q29tcGlsYXRpb25JbmZvV2l0aEJsb2NrKToKKyAgICAgICAgKHdncHVT
aGFkZXJNb2R1bGVTZXRMYWJlbCk6CisgICAgICAgICogV2ViR1BVL1N1cmZhY2UubW06CisgICAg
ICAgICh3Z3B1U3VyZmFjZUdldFByZWZlcnJlZEZvcm1hdCk6CisgICAgICAgICogV2ViR1BVL1N3
YXBDaGFpbi5tbToKKyAgICAgICAgKHdncHVTd2FwQ2hhaW5QcmVzZW50KToKKyAgICAgICAgKiBX
ZWJHUFUvV2ViR1BVRXh0Lmg6CisKIDIwMjItMDItMjEgIE15bGVzIEMuIE1heGZpZWxkICA8bW1h
eGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViR1BVXSBUcmFjZXIgYnVsbGV0IHBhcnQg
MTE6IEltcGxlbWVudCBzaGFkZXIgY3JlYXRpb24gbWV0aG9kcwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkdQVS9XZWJHUFUvQWRhcHRlci5tbSBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0FkYXB0ZXIu
bW0KaW5kZXggZmQ1YjY4ZDJlZDU4NjYyOGI2ZTBmNzU1NmFjZTc4NTI5ZDYzNTBlYS4uODE5MTUz
OTZmMzhhYzQzNDEwYTY5NmE4MDJkNTNmNTBlOWQ3NDI5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkdQVS9XZWJHUFUvQWRhcHRlci5tbQorKysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9BZGFwdGVy
Lm1tCkBAIC0xNTgsMyArMTU4LDEwIEBAIHZvaWQgd2dwdUFkYXB0ZXJSZXF1ZXN0RGV2aWNlKFdH
UFVBZGFwdGVyIGFkYXB0ZXIsIGNvbnN0IFdHUFVEZXZpY2VEZXNjcmlwdG9yKiBkCiAgICAgICAg
IGNhbGxiYWNrKHN0YXR1cywgZGV2aWNlID8gbmV3IFdHUFVEZXZpY2VJbXBsIHsgZGV2aWNlLnJl
bGVhc2VOb25OdWxsKCkgfSA6IG51bGxwdHIsIG1lc3NhZ2UsIHVzZXJkYXRhKTsKICAgICB9KTsK
IH0KKwordm9pZCB3Z3B1QWRhcHRlclJlcXVlc3REZXZpY2VXaXRoQmxvY2soV0dQVUFkYXB0ZXIg
YWRhcHRlciwgV0dQVURldmljZURlc2NyaXB0b3IgY29uc3QgKiBkZXNjcmlwdG9yLCBXR1BVUmVx
dWVzdERldmljZUJsb2NrQ2FsbGJhY2sgY2FsbGJhY2spCit7CisgICAgYWRhcHRlci0+YWRhcHRl
ci0+cmVxdWVzdERldmljZShkZXNjcmlwdG9yLCBbY2FsbGJhY2tdIChXR1BVUmVxdWVzdERldmlj
ZVN0YXR1cyBzdGF0dXMsIFJlZlB0cjxXZWJHUFU6OkRldmljZT4mJiBkZXZpY2UsIGNvbnN0IGNo
YXIqIG1lc3NhZ2UpIHsKKyAgICAgICAgY2FsbGJhY2soc3RhdHVzLCBkZXZpY2UgPyBuZXcgV0dQ
VURldmljZUltcGwgeyBkZXZpY2UucmVsZWFzZU5vbk51bGwoKSB9IDogbnVsbHB0ciwgbWVzc2Fn
ZSk7CisgICAgfSk7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9CdWZmZXIu
bW0gYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9CdWZmZXIubW0KaW5kZXggYzVjYmFkMzVjODlkZDI4
MmNlYTA4MjdkYzczZjY1NjAzNmU5ZmRlMy4uMTJkMzFkN2UzZGFmMTkzYTcxNzUxNzA2NjQwN2M5
MDQxYmY0MDExNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJHUFUvQnVmZmVyLm1tCisr
KyBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0J1ZmZlci5tbQpAQCAtMTA3LDYgKzEwNywxMyBAQCB2
b2lkIHdncHVCdWZmZXJNYXBBc3luYyhXR1BVQnVmZmVyIGJ1ZmZlciwgV0dQVU1hcE1vZGVGbGFn
cyBtb2RlLCBzaXplX3Qgb2Zmc2V0LAogICAgIH0pOwogfQogCit2b2lkIHdncHVCdWZmZXJNYXBB
c3luY1dpdGhCbG9jayhXR1BVQnVmZmVyIGJ1ZmZlciwgV0dQVU1hcE1vZGVGbGFncyBtb2RlLCBz
aXplX3Qgb2Zmc2V0LCBzaXplX3Qgc2l6ZSwgV0dQVUJ1ZmZlck1hcEJsb2NrQ2FsbGJhY2sgY2Fs
bGJhY2spCit7CisgICAgYnVmZmVyLT5idWZmZXItPm1hcEFzeW5jKG1vZGUsIG9mZnNldCwgc2l6
ZSwgW2NhbGxiYWNrXSAoV0dQVUJ1ZmZlck1hcEFzeW5jU3RhdHVzIHN0YXR1cykgeworICAgICAg
ICBjYWxsYmFjayhzdGF0dXMpOworICAgIH0pOworfQorCiB2b2lkIHdncHVCdWZmZXJVbm1hcChX
R1BVQnVmZmVyIGJ1ZmZlcikKIHsKICAgICBidWZmZXItPmJ1ZmZlci0+dW5tYXAoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0NvbW1hbmRFbmNvZGVyLm1tIGIvU291cmNlL1dl
YkdQVS9XZWJHUFUvQ29tbWFuZEVuY29kZXIubW0KaW5kZXggNGNkYTRjN2FiMzc3ZWExZjg5ZWYz
ZWEyODMwY2E4MWQ1MDc4ZWE0MC4uNjlhZjgwYjUzZThlYjBlZjk5Y2NiMGNhNzRjMjQ0NTY1NmM0
MTI4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJHUFUvQ29tbWFuZEVuY29kZXIubW0K
KysrIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvQ29tbWFuZEVuY29kZXIubW0KQEAgLTIxNiw0ICsy
MTYsMyBAQCB2b2lkIHdncHVDb21tYW5kRW5jb2RlclNldExhYmVsKFdHUFVDb21tYW5kRW5jb2Rl
ciBjb21tYW5kRW5jb2RlciwgY29uc3QgY2hhciogbAogewogICAgIGNvbW1hbmRFbmNvZGVyLT5j
b21tYW5kRW5jb2Rlci0+c2V0TGFiZWwobGFiZWwpOwogfQotCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViR1BVL1dlYkdQVS9Db21wdXRlUGlwZWxpbmUubW0gYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9D
b21wdXRlUGlwZWxpbmUubW0KaW5kZXggZWFhYTY1ZDJlNWU0YzZmM2ExMTdhOWIxZGUxMzMxYzIz
MDM4OTA4My4uOTAwYjU3MzhjM2VkMWMwZjcwNjBkZjc0ZWEwNmExMWI5OTFkY2QyYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkdQVS9XZWJHUFUvQ29tcHV0ZVBpcGVsaW5lLm1tCisrKyBiL1NvdXJj
ZS9XZWJHUFUvV2ViR1BVL0NvbXB1dGVQaXBlbGluZS5tbQpAQCAtMjExLDQgKzIxMSwzIEBAIHZv
aWQgd2dwdUNvbXB1dGVQaXBlbGluZVNldExhYmVsKFdHUFVDb21wdXRlUGlwZWxpbmUgY29tcHV0
ZVBpcGVsaW5lLCBjb25zdCBjaGFyCiB7CiAgICAgY29tcHV0ZVBpcGVsaW5lLT5jb21wdXRlUGlw
ZWxpbmUtPnNldExhYmVsKGxhYmVsKTsKIH0KLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkdQVS9X
ZWJHUFUvRGV2aWNlLm1tIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvRGV2aWNlLm1tCmluZGV4IGFj
NmQ5NTU0NzdhYjI5NTZkN2I1MGUyYjM0NTMzODdiNmVkN2E2MGIuLmZkNTU3OGQwNjE4YjA2OWE0
Zjk5MWQ1YzE5ZWFjMzBjZTliZDNlYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2ViR1BV
L0RldmljZS5tbQorKysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9EZXZpY2UubW0KQEAgLTE2OSw2
ICsxNjksMTMgQEAgdm9pZCB3Z3B1RGV2aWNlQ3JlYXRlQ29tcHV0ZVBpcGVsaW5lQXN5bmMoV0dQ
VURldmljZSBkZXZpY2UsIGNvbnN0IFdHUFVDb21wdXRlUGkKICAgICB9KTsKIH0KIAordm9pZCB3
Z3B1RGV2aWNlQ3JlYXRlQ29tcHV0ZVBpcGVsaW5lQXN5bmNXaXRoQmxvY2soV0dQVURldmljZSBk
ZXZpY2UsIFdHUFVDb21wdXRlUGlwZWxpbmVEZXNjcmlwdG9yIGNvbnN0ICogZGVzY3JpcHRvciwg
V0dQVUNyZWF0ZUNvbXB1dGVQaXBlbGluZUFzeW5jQmxvY2tDYWxsYmFjayBjYWxsYmFjaykKK3sK
KyAgICBkZXZpY2UtPmRldmljZS0+Y3JlYXRlQ29tcHV0ZVBpcGVsaW5lQXN5bmMoZGVzY3JpcHRv
ciwgW2NhbGxiYWNrXSAoV0dQVUNyZWF0ZVBpcGVsaW5lQXN5bmNTdGF0dXMgc3RhdHVzLCBSZWZQ
dHI8V2ViR1BVOjpDb21wdXRlUGlwZWxpbmU+JiYgcGlwZWxpbmUsIGNvbnN0IGNoYXIqIG1lc3Nh
Z2UpIHsKKyAgICAgICAgY2FsbGJhY2soc3RhdHVzLCBwaXBlbGluZSA/IG5ldyBXR1BVQ29tcHV0
ZVBpcGVsaW5lSW1wbCB7IHBpcGVsaW5lLnJlbGVhc2VOb25OdWxsKCkgfSA6IG51bGxwdHIsIG1l
c3NhZ2UpOworICAgIH0pOworfQorCiBXR1BVUGlwZWxpbmVMYXlvdXQgd2dwdURldmljZUNyZWF0
ZVBpcGVsaW5lTGF5b3V0KFdHUFVEZXZpY2UgZGV2aWNlLCBjb25zdCBXR1BVUGlwZWxpbmVMYXlv
dXREZXNjcmlwdG9yKiBkZXNjcmlwdG9yKQogewogICAgIGF1dG8gcmVzdWx0ID0gZGV2aWNlLT5k
ZXZpY2UtPmNyZWF0ZVBpcGVsaW5lTGF5b3V0KGRlc2NyaXB0b3IpOwpAQCAtMjAwLDYgKzIwNywx
MyBAQCB2b2lkIHdncHVEZXZpY2VDcmVhdGVSZW5kZXJQaXBlbGluZUFzeW5jKFdHUFVEZXZpY2Ug
ZGV2aWNlLCBjb25zdCBXR1BVUmVuZGVyUGlwZQogICAgIH0pOwogfQogCit2b2lkIHdncHVEZXZp
Y2VDcmVhdGVSZW5kZXJQaXBlbGluZUFzeW5jV2l0aEJsb2NrKFdHUFVEZXZpY2UgZGV2aWNlLCBX
R1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yIGNvbnN0ICogZGVzY3JpcHRvciwgV0dQVUNyZWF0
ZVJlbmRlclBpcGVsaW5lQXN5bmNCbG9ja0NhbGxiYWNrIGNhbGxiYWNrKQoreworICAgIGRldmlj
ZS0+ZGV2aWNlLT5jcmVhdGVSZW5kZXJQaXBlbGluZUFzeW5jKGRlc2NyaXB0b3IsIFtjYWxsYmFj
a10gKFdHUFVDcmVhdGVQaXBlbGluZUFzeW5jU3RhdHVzIHN0YXR1cywgUmVmUHRyPFdlYkdQVTo6
UmVuZGVyUGlwZWxpbmU+JiYgcGlwZWxpbmUsIGNvbnN0IGNoYXIqIG1lc3NhZ2UpIHsKKyAgICAg
ICAgY2FsbGJhY2soc3RhdHVzLCBwaXBlbGluZSA/IG5ldyBXR1BVUmVuZGVyUGlwZWxpbmVJbXBs
IHsgcGlwZWxpbmUucmVsZWFzZU5vbk51bGwoKSB9IDogbnVsbHB0ciwgbWVzc2FnZSk7CisgICAg
fSk7Cit9CisKIFdHUFVTYW1wbGVyIHdncHVEZXZpY2VDcmVhdGVTYW1wbGVyKFdHUFVEZXZpY2Ug
ZGV2aWNlLCBjb25zdCBXR1BVU2FtcGxlckRlc2NyaXB0b3IqIGRlc2NyaXB0b3IpCiB7CiAgICAg
YXV0byByZXN1bHQgPSBkZXZpY2UtPmRldmljZS0+Y3JlYXRlU2FtcGxlcihkZXNjcmlwdG9yKTsK
QEAgLTI1Nyw2ICsyNzEsMTMgQEAgYm9vbCB3Z3B1RGV2aWNlUG9wRXJyb3JTY29wZShXR1BVRGV2
aWNlIGRldmljZSwgV0dQVUVycm9yQ2FsbGJhY2sgY2FsbGJhY2ssIHZvaWQKICAgICB9KTsKIH0K
IAorYm9vbCB3Z3B1RGV2aWNlUG9wRXJyb3JTY29wZVdpdGhCbG9jayhXR1BVRGV2aWNlIGRldmlj
ZSwgV0dQVUVycm9yQmxvY2tDYWxsYmFjayBjYWxsYmFjaykKK3sKKyAgICByZXR1cm4gZGV2aWNl
LT5kZXZpY2UtPnBvcEVycm9yU2NvcGUoW2NhbGxiYWNrXSAoV0dQVUVycm9yVHlwZSB0eXBlLCBj
b25zdCBjaGFyKiBtZXNzYWdlKSB7CisgICAgICAgIGNhbGxiYWNrKHR5cGUsIG1lc3NhZ2UpOwor
ICAgIH0pOworfQorCiB2b2lkIHdncHVEZXZpY2VQdXNoRXJyb3JTY29wZShXR1BVRGV2aWNlIGRl
dmljZSwgV0dQVUVycm9yRmlsdGVyIGZpbHRlcikKIHsKICAgICBkZXZpY2UtPmRldmljZS0+cHVz
aEVycm9yU2NvcGUoZmlsdGVyKTsKQEAgLTI3MCw2ICsyOTEsMTQgQEAgdm9pZCB3Z3B1RGV2aWNl
U2V0RGV2aWNlTG9zdENhbGxiYWNrKFdHUFVEZXZpY2UgZGV2aWNlLCBXR1BVRGV2aWNlTG9zdENh
bGxiYWNrIGMKICAgICB9KTsKIH0KIAordm9pZCB3Z3B1RGV2aWNlU2V0RGV2aWNlTG9zdENhbGxi
YWNrV2l0aEJsb2NrKFdHUFVEZXZpY2UgZGV2aWNlLCBXR1BVRGV2aWNlTG9zdEJsb2NrQ2FsbGJh
Y2sgY2FsbGJhY2spCit7CisgICAgcmV0dXJuIGRldmljZS0+ZGV2aWNlLT5zZXREZXZpY2VMb3N0
Q2FsbGJhY2soW2NhbGxiYWNrXSAoV0dQVURldmljZUxvc3RSZWFzb24gcmVhc29uLCBjb25zdCBj
aGFyKiBtZXNzYWdlKSB7CisgICAgICAgIGlmIChjYWxsYmFjaykKKyAgICAgICAgICAgIGNhbGxi
YWNrKHJlYXNvbiwgbWVzc2FnZSk7CisgICAgfSk7Cit9CisKIHZvaWQgd2dwdURldmljZVNldFVu
Y2FwdHVyZWRFcnJvckNhbGxiYWNrKFdHUFVEZXZpY2UgZGV2aWNlLCBXR1BVRXJyb3JDYWxsYmFj
ayBjYWxsYmFjaywgdm9pZCogdXNlcmRhdGEpCiB7CiAgICAgcmV0dXJuIGRldmljZS0+ZGV2aWNl
LT5zZXRVbmNhcHR1cmVkRXJyb3JDYWxsYmFjayhbY2FsbGJhY2ssIHVzZXJkYXRhXSAoV0dQVUVy
cm9yVHlwZSB0eXBlLCBjb25zdCBjaGFyKiBtZXNzYWdlKSB7CkBAIC0yNzgsNiArMzA3LDE0IEBA
IHZvaWQgd2dwdURldmljZVNldFVuY2FwdHVyZWRFcnJvckNhbGxiYWNrKFdHUFVEZXZpY2UgZGV2
aWNlLCBXR1BVRXJyb3JDYWxsYmFjayBjCiAgICAgfSk7CiB9CiAKK3ZvaWQgd2dwdURldmljZVNl
dFVuY2FwdHVyZWRFcnJvckNhbGxiYWNrV2l0aEJsb2NrKFdHUFVEZXZpY2UgZGV2aWNlLCBXR1BV
RXJyb3JCbG9ja0NhbGxiYWNrIGNhbGxiYWNrKQoreworICAgIHJldHVybiBkZXZpY2UtPmRldmlj
ZS0+c2V0VW5jYXB0dXJlZEVycm9yQ2FsbGJhY2soW2NhbGxiYWNrXSAoV0dQVUVycm9yVHlwZSB0
eXBlLCBjb25zdCBjaGFyKiBtZXNzYWdlKSB7CisgICAgICAgIGlmIChjYWxsYmFjaykKKyAgICAg
ICAgICAgIGNhbGxiYWNrKHR5cGUsIG1lc3NhZ2UpOworICAgIH0pOworfQorCiB2b2lkIHdncHVE
ZXZpY2VTZXRMYWJlbChXR1BVRGV2aWNlIGRldmljZSwgY29uc3QgY2hhciogbGFiZWwpCiB7CiAg
ICAgZGV2aWNlLT5kZXZpY2UtPnNldExhYmVsKGxhYmVsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJHUFUvV2ViR1BVL0luc3RhbmNlLm1tIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvSW5zdGFuY2Uu
bW0KaW5kZXggMmY0OGJjZTJkZTBlMDU2YWIzOGUwMGMzMTUzZGMzZTQxZjY4NzZhNy4uMTlkNzBl
MjVmZjk0MDEyZDk5NjMyZDA4YzM1MWZiZGU2ZWY1NzIwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkdQVS9XZWJHUFUvSW5zdGFuY2UubW0KKysrIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvSW5zdGFu
Y2UubW0KQEAgLTE1Nyw5ICsxNTcsOCBAQCBXR1BVSW5zdGFuY2Ugd2dwdUNyZWF0ZUluc3RhbmNl
KGNvbnN0IFdHUFVJbnN0YW5jZURlc2NyaXB0b3IqIGRlc2NyaXB0b3IpCiAgICAgcmV0dXJuIHJl
c3VsdCA/IG5ldyBXR1BVSW5zdGFuY2VJbXBsIHsgcmVzdWx0LnJlbGVhc2VOb25OdWxsKCkgfSA6
IG51bGxwdHI7CiB9CiAKLVdHUFVQcm9jIHdncHVHZXRQcm9jQWRkcmVzcyhXR1BVRGV2aWNlIGRl
dmljZSwgY29uc3QgY2hhciogcHJvY05hbWUpCitXR1BVUHJvYyB3Z3B1R2V0UHJvY0FkZHJlc3Mo
V0dQVURldmljZSwgY29uc3QgY2hhciogcHJvY05hbWUpCiB7Ci0gICAgVU5VU0VEX1BBUkFNKGRl
dmljZSk7CiAgICAgLy8gRklYTUU6IFVzZSBncGVyZiB0byBtYWtlIHRoaXMgZmFzdGVyLgogICAg
IC8vIEZJWE1FOiBHZW5lcmF0ZSB0aGlzIGF0IGJ1aWxkIHRpbWUKICAgICBpZiAoIXN0cmNtcChw
cm9jTmFtZSwgIndncHVBZGFwdGVyRW51bWVyYXRlRmVhdHVyZXMiKSkKQEAgLTE3Miw2ICsxNzEs
OCBAQCBXR1BVUHJvYyB3Z3B1R2V0UHJvY0FkZHJlc3MoV0dQVURldmljZSBkZXZpY2UsIGNvbnN0
IGNoYXIqIHByb2NOYW1lKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJv
Yz4oJndncHVBZGFwdGVySGFzRmVhdHVyZSk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3
Z3B1QWRhcHRlclJlcXVlc3REZXZpY2UiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nh
c3Q8V0dQVVByb2M+KCZ3Z3B1QWRhcHRlclJlcXVlc3REZXZpY2UpOworICAgIGlmICghc3RyY21w
KHByb2NOYW1lLCAid2dwdUFkYXB0ZXJSZXF1ZXN0RGV2aWNlV2l0aEJsb2NrIikpCisgICAgICAg
IHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUFkYXB0ZXJSZXF1ZXN0RGV2
aWNlV2l0aEJsb2NrKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVCdWZmZXJEZXN0
cm95IikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdUJ1
ZmZlckRlc3Ryb3kpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUJ1ZmZlckdldENv
bnN0TWFwcGVkUmFuZ2UiKSkKQEAgLTE4MCw2ICsxODEsOCBAQCBXR1BVUHJvYyB3Z3B1R2V0UHJv
Y0FkZHJlc3MoV0dQVURldmljZSBkZXZpY2UsIGNvbnN0IGNoYXIqIHByb2NOYW1lKQogICAgICAg
ICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVCdWZmZXJHZXRNYXBwZWRS
YW5nZSk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1QnVmZmVyTWFwQXN5bmMiKSkK
ICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1QnVmZmVyTWFw
QXN5bmMpOworICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdUJ1ZmZlck1hcEFzeW5jV2l0
aEJsb2NrIikpCisgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dw
dUJ1ZmZlck1hcEFzeW5jV2l0aEJsb2NrKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndn
cHVCdWZmZXJVbm1hcCIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJv
Yz4oJndncHVCdWZmZXJVbm1hcCk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1Q29t
bWFuZEVuY29kZXJCZWdpbkNvbXB1dGVQYXNzIikpCkBAIC0yNDYsNiArMjQ5LDggQEAgV0dQVVBy
b2Mgd2dwdUdldFByb2NBZGRyZXNzKFdHUFVEZXZpY2UgZGV2aWNlLCBjb25zdCBjaGFyKiBwcm9j
TmFtZSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1RGV2
aWNlQ3JlYXRlQ29tcHV0ZVBpcGVsaW5lKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndn
cHVEZXZpY2VDcmVhdGVDb21wdXRlUGlwZWxpbmVBc3luYyIpKQogICAgICAgICByZXR1cm4gcmVp
bnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVEZXZpY2VDcmVhdGVDb21wdXRlUGlwZWxpbmVB
c3luYyk7CisgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1RGV2aWNlQ3JlYXRlQ29tcHV0
ZVBpcGVsaW5lQXN5bmNXaXRoQmxvY2siKSkKKyAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nh
c3Q8V0dQVVByb2M+KCZ3Z3B1RGV2aWNlQ3JlYXRlQ29tcHV0ZVBpcGVsaW5lQXN5bmNXaXRoQmxv
Y2spOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdURldmljZUNyZWF0ZVBpcGVsaW5l
TGF5b3V0IikpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dw
dURldmljZUNyZWF0ZVBpcGVsaW5lTGF5b3V0KTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwg
IndncHVEZXZpY2VDcmVhdGVRdWVyeVNldCIpKQpAQCAtMjU2LDYgKzI2MSw4IEBAIFdHUFVQcm9j
IHdncHVHZXRQcm9jQWRkcmVzcyhXR1BVRGV2aWNlIGRldmljZSwgY29uc3QgY2hhciogcHJvY05h
bWUpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdURldmlj
ZUNyZWF0ZVJlbmRlclBpcGVsaW5lKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVE
ZXZpY2VDcmVhdGVSZW5kZXJQaXBlbGluZUFzeW5jIikpCiAgICAgICAgIHJldHVybiByZWludGVy
cHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdURldmljZUNyZWF0ZVJlbmRlclBpcGVsaW5lQXN5bmMp
OworICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdURldmljZUNyZWF0ZVJlbmRlclBpcGVs
aW5lQXN5bmNXaXRoQmxvY2siKSkKKyAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQ
VVByb2M+KCZ3Z3B1RGV2aWNlQ3JlYXRlUmVuZGVyUGlwZWxpbmVBc3luY1dpdGhCbG9jayk7CiAg
ICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1RGV2aWNlQ3JlYXRlU2FtcGxlciIpKQogICAg
ICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVEZXZpY2VDcmVhdGVT
YW1wbGVyKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVEZXZpY2VDcmVhdGVTaGFk
ZXJNb2R1bGUiKSkKQEAgLTI3NiwxMiArMjgzLDE4IEBAIFdHUFVQcm9jIHdncHVHZXRQcm9jQWRk
cmVzcyhXR1BVRGV2aWNlIGRldmljZSwgY29uc3QgY2hhciogcHJvY05hbWUpCiAgICAgICAgIHJl
dHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdURldmljZUhhc0ZlYXR1cmUpOwog
ICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdURldmljZVBvcEVycm9yU2NvcGUiKSkKICAg
ICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1RGV2aWNlUG9wRXJy
b3JTY29wZSk7CisgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1RGV2aWNlUG9wRXJyb3JT
Y29wZVdpdGhCbG9jayIpKQorICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJv
Yz4oJndncHVEZXZpY2VQb3BFcnJvclNjb3BlV2l0aEJsb2NrKTsKICAgICBpZiAoIXN0cmNtcChw
cm9jTmFtZSwgIndncHVEZXZpY2VQdXNoRXJyb3JTY29wZSIpKQogICAgICAgICByZXR1cm4gcmVp
bnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVEZXZpY2VQdXNoRXJyb3JTY29wZSk7CiAgICAg
aWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1RGV2aWNlU2V0RGV2aWNlTG9zdENhbGxiYWNrIikp
CiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdURldmljZVNl
dERldmljZUxvc3RDYWxsYmFjayk7CisgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1RGV2
aWNlU2V0RGV2aWNlTG9zdENhbGxiYWNrV2l0aEJsb2NrIikpCisgICAgICAgIHJldHVybiByZWlu
dGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdURldmljZVNldERldmljZUxvc3RDYWxsYmFja1dp
dGhCbG9jayk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1RGV2aWNlU2V0VW5jYXB0
dXJlZEVycm9yQ2FsbGJhY2siKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQ
VVByb2M+KCZ3Z3B1RGV2aWNlU2V0VW5jYXB0dXJlZEVycm9yQ2FsbGJhY2spOworICAgIGlmICgh
c3RyY21wKHByb2NOYW1lLCAid2dwdURldmljZVNldFVuY2FwdHVyZWRFcnJvckNhbGxiYWNrV2l0
aEJsb2NrIikpCisgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dw
dURldmljZVNldFVuY2FwdHVyZWRFcnJvckNhbGxiYWNrV2l0aEJsb2NrKTsKICAgICBpZiAoIXN0
cmNtcChwcm9jTmFtZSwgIndncHVHZXRQcm9jQWRkcmVzcyIpKQogICAgICAgICByZXR1cm4gcmVp
bnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVHZXRQcm9jQWRkcmVzcyk7CiAgICAgaWYgKCFz
dHJjbXAocHJvY05hbWUsICJ3Z3B1SW5zdGFuY2VDcmVhdGVTdXJmYWNlIikpCkBAIC0yOTAsMTAg
KzMwMywxNCBAQCBXR1BVUHJvYyB3Z3B1R2V0UHJvY0FkZHJlc3MoV0dQVURldmljZSBkZXZpY2Us
IGNvbnN0IGNoYXIqIHByb2NOYW1lKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxX
R1BVUHJvYz4oJndncHVJbnN0YW5jZVByb2Nlc3NFdmVudHMpOwogICAgIGlmICghc3RyY21wKHBy
b2NOYW1lLCAid2dwdUluc3RhbmNlUmVxdWVzdEFkYXB0ZXIiKSkKICAgICAgICAgcmV0dXJuIHJl
aW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1SW5zdGFuY2VSZXF1ZXN0QWRhcHRlcik7Cisg
ICAgaWYgKCFzdHJjbXAocHJvY05hbWUsICJ3Z3B1SW5zdGFuY2VSZXF1ZXN0QWRhcHRlcldpdGhC
bG9jayIpKQorICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4oJndncHVJ
bnN0YW5jZVJlcXVlc3RBZGFwdGVyV2l0aEJsb2NrKTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFt
ZSwgIndncHVRdWVyeVNldERlc3Ryb3kiKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nh
c3Q8V0dQVVByb2M+KCZ3Z3B1UXVlcnlTZXREZXN0cm95KTsKICAgICBpZiAoIXN0cmNtcChwcm9j
TmFtZSwgIndncHVRdWV1ZU9uU3VibWl0dGVkV29ya0RvbmUiKSkKICAgICAgICAgcmV0dXJuIHJl
aW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3Z3B1UXVldWVPblN1Ym1pdHRlZFdvcmtEb25lKTsK
KyAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVRdWV1ZU9uU3VibWl0dGVkV29ya0RvbmVX
aXRoQmxvY2siKSkKKyAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8V0dQVVByb2M+KCZ3
Z3B1UXVldWVPblN1Ym1pdHRlZFdvcmtEb25lV2l0aEJsb2NrKTsKICAgICBpZiAoIXN0cmNtcChw
cm9jTmFtZSwgIndncHVRdWV1ZVN1Ym1pdCIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRf
Y2FzdDxXR1BVUHJvYz4oJndncHVRdWV1ZVN1Ym1pdCk7CiAgICAgaWYgKCFzdHJjbXAocHJvY05h
bWUsICJ3Z3B1UXVldWVXcml0ZUJ1ZmZlciIpKQpAQCAtMzcyLDYgKzM4OSw4IEBAIFdHUFVQcm9j
IHdncHVHZXRQcm9jQWRkcmVzcyhXR1BVRGV2aWNlIGRldmljZSwgY29uc3QgY2hhciogcHJvY05h
bWUpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVJlbmRl
clBpcGVsaW5lU2V0TGFiZWwpOwogICAgIGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVNoYWRl
ck1vZHVsZUdldENvbXBpbGF0aW9uSW5mbyIpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRf
Y2FzdDxXR1BVUHJvYz4oJndncHVTaGFkZXJNb2R1bGVHZXRDb21waWxhdGlvbkluZm8pOworICAg
IGlmICghc3RyY21wKHByb2NOYW1lLCAid2dwdVNoYWRlck1vZHVsZUdldENvbXBpbGF0aW9uSW5m
b1dpdGhCbG9jayIpKQorICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxXR1BVUHJvYz4o
JndncHVTaGFkZXJNb2R1bGVHZXRDb21waWxhdGlvbkluZm9XaXRoQmxvY2spOwogICAgIGlmICgh
c3RyY21wKHByb2NOYW1lLCAid2dwdVNoYWRlck1vZHVsZVNldExhYmVsIikpCiAgICAgICAgIHJl
dHVybiByZWludGVycHJldF9jYXN0PFdHUFVQcm9jPigmd2dwdVNoYWRlck1vZHVsZVNldExhYmVs
KTsKICAgICBpZiAoIXN0cmNtcChwcm9jTmFtZSwgIndncHVTdXJmYWNlR2V0UHJlZmVycmVkRm9y
bWF0IikpCkBAIC00MDUsMyArNDI0LDkgQEAgdm9pZCB3Z3B1SW5zdGFuY2VSZXF1ZXN0QWRhcHRl
cihXR1BVSW5zdGFuY2UgaW5zdGFuY2UsIGNvbnN0IFdHUFVSZXF1ZXN0QWRhcHRlck8KICAgICB9
KTsKIH0KIAordm9pZCB3Z3B1SW5zdGFuY2VSZXF1ZXN0QWRhcHRlcldpdGhCbG9jayhXR1BVSW5z
dGFuY2UgaW5zdGFuY2UsIFdHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnMgY29uc3QgKiBvcHRpb25z
LCBXR1BVUmVxdWVzdEFkYXB0ZXJCbG9ja0NhbGxiYWNrIGNhbGxiYWNrKQoreworICAgIGluc3Rh
bmNlLT5pbnN0YW5jZS0+cmVxdWVzdEFkYXB0ZXIob3B0aW9ucywgW2NhbGxiYWNrXSAoV0dQVVJl
cXVlc3RBZGFwdGVyU3RhdHVzIHN0YXR1cywgUmVmUHRyPFdlYkdQVTo6QWRhcHRlcj4mJiBhZGFw
dGVyLCBjb25zdCBjaGFyKiBtZXNzYWdlKSB7CisgICAgICAgIGNhbGxiYWNrKHN0YXR1cywgYWRh
cHRlciA/IG5ldyBXR1BVQWRhcHRlckltcGwgeyBhZGFwdGVyLnJlbGVhc2VOb25OdWxsKCkgfSA6
IG51bGxwdHIsIG1lc3NhZ2UpOworICAgIH0pOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkdQ
VS9XZWJHUFUvUXVldWUubW0gYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9RdWV1ZS5tbQppbmRleCBj
NWMyYjY5NTk2OGU3MmVmOTE5MDI2NDE2MjFhMzFmMWJkMmMyZWI1Li40NzYwMGJhNDlmMmZkN2U5
YmJjZWY3MTA4MDViMWIyMGI4OTBhNmNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BVL1dlYkdQ
VS9RdWV1ZS5tbQorKysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9RdWV1ZS5tbQpAQCAtODUsNiAr
ODUsMTMgQEAgdm9pZCB3Z3B1UXVldWVPblN1Ym1pdHRlZFdvcmtEb25lKFdHUFVRdWV1ZSBxdWV1
ZSwgdWludDY0X3Qgc2lnbmFsVmFsdWUsIFdHUFVRdWUKICAgICB9KTsKIH0KIAordm9pZCB3Z3B1
UXVldWVPblN1Ym1pdHRlZFdvcmtEb25lV2l0aEJsb2NrKFdHUFVRdWV1ZSBxdWV1ZSwgdWludDY0
X3Qgc2lnbmFsVmFsdWUsIFdHUFVRdWV1ZVdvcmtEb25lQmxvY2tDYWxsYmFjayBjYWxsYmFjaykK
K3sKKyAgICBxdWV1ZS0+cXVldWUtPm9uU3VibWl0dGVkV29ya0RvbmUoc2lnbmFsVmFsdWUsIFtj
YWxsYmFja10gKFdHUFVRdWV1ZVdvcmtEb25lU3RhdHVzIHN0YXR1cykgeworICAgICAgICBjYWxs
YmFjayhzdGF0dXMpOworICAgIH0pOworfQorCiB2b2lkIHdncHVRdWV1ZVN1Ym1pdChXR1BVUXVl
dWUgcXVldWUsIHVpbnQzMl90IGNvbW1hbmRDb3VudCwgY29uc3QgV0dQVUNvbW1hbmRCdWZmZXIq
IGNvbW1hbmRzKQogewogICAgIFZlY3RvcjxzdGQ6OnJlZmVyZW5jZV93cmFwcGVyPGNvbnN0IFdl
YkdQVTo6Q29tbWFuZEJ1ZmZlcj4+IGNvbW1hbmRzVG9Gb3J3YXJkOwpAQCAtMTA3LDQgKzExNCwz
IEBAIHZvaWQgd2dwdVF1ZXVlU2V0TGFiZWwoV0dQVVF1ZXVlIHF1ZXVlLCBjb25zdCBjaGFyKiBs
YWJlbCkKIHsKICAgICBxdWV1ZS0+cXVldWUtPnNldExhYmVsKGxhYmVsKTsKIH0KLQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkdQVS9XZWJHUFUvUmVuZGVyUGlwZWxpbmUubW0gYi9Tb3VyY2UvV2Vi
R1BVL1dlYkdQVS9SZW5kZXJQaXBlbGluZS5tbQppbmRleCA0NjhmN2NjMTcwMDU1Mjg1NmQ3NjMz
YmYxMDM0MTIyOWRhY2I4NzFkLi5hNTExN2I3OTAwNDAyNmY5NjE0NTViZjllNDZkZTEwZDA0OTVk
MDgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9SZW5kZXJQaXBlbGluZS5tbQor
KysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9SZW5kZXJQaXBlbGluZS5tbQpAQCAtNzcsNCArNzcs
MyBAQCB2b2lkIHdncHVSZW5kZXJQaXBlbGluZVNldExhYmVsKFdHUFVSZW5kZXJQaXBlbGluZSBy
ZW5kZXJQaXBlbGluZSwgY29uc3QgY2hhciogbAogewogICAgIHJlbmRlclBpcGVsaW5lLT5yZW5k
ZXJQaXBlbGluZS0+c2V0TGFiZWwobGFiZWwpOwogfQotCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
R1BVL1dlYkdQVS9TaGFkZXJNb2R1bGUubW0gYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9TaGFkZXJN
b2R1bGUubW0KaW5kZXggMjNmNDEyNTc4YmU1NDBkNDllYzNjN2MwN2M5NDFiM2ZlZTk2MDI5Mi4u
ZWJhNzY0NWMxNjFiMjliYWE3ODFiODJkNjZjODkxMWQ0NGNjNDFkYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkdQVS9XZWJHUFUvU2hhZGVyTW9kdWxlLm1tCisrKyBiL1NvdXJjZS9XZWJHUFUvV2Vi
R1BVL1NoYWRlck1vZHVsZS5tbQpAQCAtMjU3LDggKzI1NywxNCBAQCB2b2lkIHdncHVTaGFkZXJN
b2R1bGVHZXRDb21waWxhdGlvbkluZm8oV0dQVVNoYWRlck1vZHVsZSBzaGFkZXJNb2R1bGUsIFdH
UFVDb21waQogICAgIH0pOwogfQogCit2b2lkIHdncHVTaGFkZXJNb2R1bGVHZXRDb21waWxhdGlv
bkluZm9XaXRoQmxvY2soV0dQVVNoYWRlck1vZHVsZSBzaGFkZXJNb2R1bGUsIFdHUFVDb21waWxh
dGlvbkluZm9CbG9ja0NhbGxiYWNrIGNhbGxiYWNrKQoreworICAgIHNoYWRlck1vZHVsZS0+c2hh
ZGVyTW9kdWxlLT5nZXRDb21waWxhdGlvbkluZm8oW2NhbGxiYWNrXSAoV0dQVUNvbXBpbGF0aW9u
SW5mb1JlcXVlc3RTdGF0dXMgc3RhdHVzLCBjb25zdCBXR1BVQ29tcGlsYXRpb25JbmZvKiBjb21w
aWxhdGlvbkluZm8pIHsKKyAgICAgICAgY2FsbGJhY2soc3RhdHVzLCBjb21waWxhdGlvbkluZm8p
OworICAgIH0pOworfQorCiB2b2lkIHdncHVTaGFkZXJNb2R1bGVTZXRMYWJlbChXR1BVU2hhZGVy
TW9kdWxlIHNoYWRlck1vZHVsZSwgY29uc3QgY2hhciogbGFiZWwpCiB7CiAgICAgc2hhZGVyTW9k
dWxlLT5zaGFkZXJNb2R1bGUtPnNldExhYmVsKGxhYmVsKTsKIH0KLQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkdQVS9XZWJHUFUvU3VyZmFjZS5tbSBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1N1cmZh
Y2UubW0KaW5kZXggM2U3MjllZGUwMjYzMzYyYTMxZWNiOTc4YTZjMTVjMzkwNzY3MDI4ZS4uYzEy
MTRkOWY3YjE1YTM5NDZhZWQ3Y2IyNTMxZmE2N2FlYzc4NTUwOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkdQVS9XZWJHUFUvU3VyZmFjZS5tbQorKysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9TdXJm
YWNlLm1tCkBAIC01MSw0ICs1MSwzIEBAIFdHUFVUZXh0dXJlRm9ybWF0IHdncHVTdXJmYWNlR2V0
UHJlZmVycmVkRm9ybWF0KFdHUFVTdXJmYWNlIHN1cmZhY2UsIFdHUFVBZGFwdGVyCiB7CiAgICAg
cmV0dXJuIHN1cmZhY2UtPnN1cmZhY2UtPmdldFByZWZlcnJlZEZvcm1hdChhZGFwdGVyLT5hZGFw
dGVyKTsKIH0KLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkdQVS9XZWJHUFUvU3dhcENoYWluLm1t
IGIvU291cmNlL1dlYkdQVS9XZWJHUFUvU3dhcENoYWluLm1tCmluZGV4IDk3ZWMxODc3OTIzYWJi
NzAxNTMxZDUwMTMzYTJkYjQzZDZhZjBjNzAuLmZjZGFkM2QxMzE1ZDkyNmQ0ZTgzZGVkMTg5NTg5
MGMyNjk4NTU1MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1N3YXBDaGFpbi5t
bQorKysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9Td2FwQ2hhaW4ubW0KQEAgLTY3LDQgKzY3LDMg
QEAgdm9pZCB3Z3B1U3dhcENoYWluUHJlc2VudChXR1BVU3dhcENoYWluIHN3YXBDaGFpbikKIHsK
ICAgICBzd2FwQ2hhaW4tPnN3YXBDaGFpbi0+cHJlc2VudCgpOwogfQotCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViR1BVL1dlYkdQVS9XZWJHUFVFeHQuaCBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1dl
YkdQVUV4dC5oCmluZGV4IDJlNDIwMTIyYWFmNTVmMGRhYjRkZTA3MmE3OWYwMDdiN2JkZTg5NGQu
LjMwMjA2ZTc2YjUwNTBhMWZiZjU4OTg3YmUzY2EzM2QzZDA2MTJiMTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJHUFUvV2ViR1BVL1dlYkdQVUV4dC5oCisrKyBiL1NvdXJjZS9XZWJHUFUvV2ViR1BV
L1dlYkdQVUV4dC5oCkBAIC0zMCw2ICszMCwxNiBAQAogZXh0ZXJuICJDIiB7CiAjZW5kaWYKIAor
dHlwZWRlZiB2b2lkICheV0dQVUJ1ZmZlck1hcEJsb2NrQ2FsbGJhY2spKFdHUFVCdWZmZXJNYXBB
c3luY1N0YXR1cyBzdGF0dXMpOwordHlwZWRlZiB2b2lkICheV0dQVUNvbXBpbGF0aW9uSW5mb0Js
b2NrQ2FsbGJhY2spKFdHUFVDb21waWxhdGlvbkluZm9SZXF1ZXN0U3RhdHVzIHN0YXR1cywgV0dQ
VUNvbXBpbGF0aW9uSW5mbyBjb25zdCAqIGNvbXBpbGF0aW9uSW5mbyk7Cit0eXBlZGVmIHZvaWQg
KF5XR1BVQ3JlYXRlQ29tcHV0ZVBpcGVsaW5lQXN5bmNCbG9ja0NhbGxiYWNrKShXR1BVQ3JlYXRl
UGlwZWxpbmVBc3luY1N0YXR1cyBzdGF0dXMsIFdHUFVDb21wdXRlUGlwZWxpbmUgcGlwZWxpbmUs
IGNoYXIgY29uc3QgKiBtZXNzYWdlKTsKK3R5cGVkZWYgdm9pZCAoXldHUFVDcmVhdGVSZW5kZXJQ
aXBlbGluZUFzeW5jQmxvY2tDYWxsYmFjaykoV0dQVUNyZWF0ZVBpcGVsaW5lQXN5bmNTdGF0dXMg
c3RhdHVzLCBXR1BVUmVuZGVyUGlwZWxpbmUgcGlwZWxpbmUsIGNoYXIgY29uc3QgKiBtZXNzYWdl
KTsKK3R5cGVkZWYgdm9pZCAoXldHUFVEZXZpY2VMb3N0QmxvY2tDYWxsYmFjaykoV0dQVURldmlj
ZUxvc3RSZWFzb24gcmVhc29uLCBjaGFyIGNvbnN0ICogbWVzc2FnZSk7Cit0eXBlZGVmIHZvaWQg
KF5XR1BVRXJyb3JCbG9ja0NhbGxiYWNrKShXR1BVRXJyb3JUeXBlIHR5cGUsIGNoYXIgY29uc3Qg
KiBtZXNzYWdlKTsKK3R5cGVkZWYgdm9pZCAoXldHUFVRdWV1ZVdvcmtEb25lQmxvY2tDYWxsYmFj
aykoV0dQVVF1ZXVlV29ya0RvbmVTdGF0dXMgc3RhdHVzKTsKK3R5cGVkZWYgdm9pZCAoXldHUFVS
ZXF1ZXN0QWRhcHRlckJsb2NrQ2FsbGJhY2spKFdHUFVSZXF1ZXN0QWRhcHRlclN0YXR1cyBzdGF0
dXMsIFdHUFVBZGFwdGVyIGFkYXB0ZXIsIGNoYXIgY29uc3QgKiBtZXNzYWdlKTsKK3R5cGVkZWYg
dm9pZCAoXldHUFVSZXF1ZXN0RGV2aWNlQmxvY2tDYWxsYmFjaykoV0dQVVJlcXVlc3REZXZpY2VT
dGF0dXMgc3RhdHVzLCBXR1BVRGV2aWNlIGRldmljZSwgY2hhciBjb25zdCAqIG1lc3NhZ2UpOwor
CiB0eXBlZGVmIGVudW0gV0dQVVNUeXBlRXh0ZW5kZWQgewogICAgIFdHUFVTVHlwZUV4dGVuZGVk
X1NoYWRlck1vZHVsZURlc2NyaXB0b3JIaW50cyA9IDB4MzQ4OTcwRjMsIC8vIFJhbmRvbQogICAg
IFdHUFVTVHlwZUV4dGVuZGVkX1RleHR1cmVEZXNjcmlwdG9yVmlld0Zvcm1hdHMgPSAweDFENUJD
NTcsIC8vIFJhbmRvbQpAQCAtMTAxLDYgKzExMSwxNyBAQCB0eXBlZGVmIHZvaWQgKCpXR1BVUHJv
Y1NhbXBsZXJTZXRMYWJlbCkoV0dQVVNhbXBsZXIgc2FtcGxlciwgY2hhciBjb25zdCAqIGxhYmVs
KQogdHlwZWRlZiB2b2lkICgqV0dQVVByb2NUZXh0dXJlU2V0TGFiZWwpKFdHUFVUZXh0dXJlIHNh
bXBsZXIsIGNoYXIgY29uc3QgKiBsYWJlbCk7CiB0eXBlZGVmIHZvaWQgKCpXR1BVUHJvY1RleHR1
cmVWaWV3U2V0TGFiZWwpKFdHUFVUZXh0dXJlVmlldyBzYW1wbGVyLCBjaGFyIGNvbnN0ICogbGFi
ZWwpOwogCit0eXBlZGVmIHZvaWQgKCpXR1BVUHJvY0FkYXB0ZXJSZXF1ZXN0RGV2aWNlV2l0aEJs
b2NrKShXR1BVQWRhcHRlciBhZGFwdGVyLCBXR1BVRGV2aWNlRGVzY3JpcHRvciBjb25zdCAqIGRl
c2NyaXB0b3IsIFdHUFVSZXF1ZXN0RGV2aWNlQmxvY2tDYWxsYmFjayBjYWxsYmFjayk7Cit0eXBl
ZGVmIHZvaWQgKCpXR1BVUHJvY0J1ZmZlck1hcEFzeW5jV2l0aEJsb2NrKShXR1BVQnVmZmVyIGJ1
ZmZlciwgV0dQVU1hcE1vZGVGbGFncyBtb2RlLCBzaXplX3Qgb2Zmc2V0LCBzaXplX3Qgc2l6ZSwg
V0dQVUJ1ZmZlck1hcEJsb2NrQ2FsbGJhY2sgY2FsbGJhY2spOwordHlwZWRlZiB2b2lkICgqV0dQ
VVByb2NEZXZpY2VDcmVhdGVDb21wdXRlUGlwZWxpbmVBc3luY1dpdGhCbG9jaykoV0dQVURldmlj
ZSBkZXZpY2UsIFdHUFVDb21wdXRlUGlwZWxpbmVEZXNjcmlwdG9yIGNvbnN0ICogZGVzY3JpcHRv
ciwgV0dQVUNyZWF0ZUNvbXB1dGVQaXBlbGluZUFzeW5jQmxvY2tDYWxsYmFjayBjYWxsYmFjayk7
Cit0eXBlZGVmIHZvaWQgKCpXR1BVUHJvY0RldmljZUNyZWF0ZVJlbmRlclBpcGVsaW5lQXN5bmNX
aXRoQmxvY2spKFdHUFVEZXZpY2UgZGV2aWNlLCBXR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9y
IGNvbnN0ICogZGVzY3JpcHRvciwgV0dQVUNyZWF0ZVJlbmRlclBpcGVsaW5lQXN5bmNCbG9ja0Nh
bGxiYWNrIGNhbGxiYWNrKTsKK3R5cGVkZWYgYm9vbCAoKldHUFVQcm9jRGV2aWNlUG9wRXJyb3JT
Y29wZVdpdGhCbG9jaykoV0dQVURldmljZSBkZXZpY2UsIFdHUFVFcnJvckJsb2NrQ2FsbGJhY2sg
Y2FsbGJhY2spOwordHlwZWRlZiB2b2lkICgqV0dQVVByb2NEZXZpY2VTZXREZXZpY2VMb3N0Q2Fs
bGJhY2tXaXRoQmxvY2spKFdHUFVEZXZpY2UgZGV2aWNlLCBXR1BVRGV2aWNlTG9zdEJsb2NrQ2Fs
bGJhY2sgY2FsbGJhY2spOwordHlwZWRlZiB2b2lkICgqV0dQVVByb2NEZXZpY2VTZXRVbmNhcHR1
cmVkRXJyb3JDYWxsYmFja1dpdGhCbG9jaykoV0dQVURldmljZSBkZXZpY2UsIFdHUFVFcnJvckJs
b2NrQ2FsbGJhY2sgY2FsbGJhY2spOwordHlwZWRlZiB2b2lkICgqV0dQVVByb2NJbnN0YW5jZVJl
cXVlc3RBZGFwdGVyV2l0aEJsb2NrKShXR1BVSW5zdGFuY2UgaW5zdGFuY2UsIFdHUFVSZXF1ZXN0
QWRhcHRlck9wdGlvbnMgY29uc3QgKiBvcHRpb25zLCBXR1BVUmVxdWVzdEFkYXB0ZXJCbG9ja0Nh
bGxiYWNrIGNhbGxiYWNrKTsKK3R5cGVkZWYgdm9pZCAoKldHUFVQcm9jUXVldWVPblN1Ym1pdHRl
ZFdvcmtEb25lV2l0aEJsb2NrKShXR1BVUXVldWUgcXVldWUsIHVpbnQ2NF90IHNpZ25hbFZhbHVl
LCBXR1BVUXVldWVXb3JrRG9uZUJsb2NrQ2FsbGJhY2sgY2FsbGJhY2spOwordHlwZWRlZiB2b2lk
ICgqV0dQVVByb2NTaGFkZXJNb2R1bGVHZXRDb21waWxhdGlvbkluZm9XaXRoQmxvY2spKFdHUFVT
aGFkZXJNb2R1bGUgc2hhZGVyTW9kdWxlLCBXR1BVQ29tcGlsYXRpb25JbmZvQmxvY2tDYWxsYmFj
ayBjYWxsYmFjayk7CisKICNlbmRpZiAgLy8gIWRlZmluZWQoV0dQVV9TS0lQX1BST0NTKQogCiAj
aWYgIWRlZmluZWQoV0dQVV9TS0lQX0RFQ0xBUkFUSU9OUykKQEAgLTE0Niw2ICsxNjcsMTcgQEAg
V0dQVV9FWFBPUlQgdm9pZCB3Z3B1U2FtcGxlclNldExhYmVsKFdHUFVTYW1wbGVyIHNhbXBsZXIs
IGNoYXIgY29uc3QgKiBsYWJlbCk7CiBXR1BVX0VYUE9SVCB2b2lkIHdncHVUZXh0dXJlU2V0TGFi
ZWwoV0dQVVRleHR1cmUgc2FtcGxlciwgY2hhciBjb25zdCAqIGxhYmVsKTsKIFdHUFVfRVhQT1JU
IHZvaWQgd2dwdVRleHR1cmVWaWV3U2V0TGFiZWwoV0dQVVRleHR1cmVWaWV3IHNhbXBsZXIsIGNo
YXIgY29uc3QgKiBsYWJlbCk7CiAKK1dHUFVfRVhQT1JUIHZvaWQgd2dwdUFkYXB0ZXJSZXF1ZXN0
RGV2aWNlV2l0aEJsb2NrKFdHUFVBZGFwdGVyIGFkYXB0ZXIsIFdHUFVEZXZpY2VEZXNjcmlwdG9y
IGNvbnN0ICogZGVzY3JpcHRvciwgV0dQVVJlcXVlc3REZXZpY2VCbG9ja0NhbGxiYWNrIGNhbGxi
YWNrKTsKK1dHUFVfRVhQT1JUIHZvaWQgd2dwdUJ1ZmZlck1hcEFzeW5jV2l0aEJsb2NrKFdHUFVC
dWZmZXIgYnVmZmVyLCBXR1BVTWFwTW9kZUZsYWdzIG1vZGUsIHNpemVfdCBvZmZzZXQsIHNpemVf
dCBzaXplLCBXR1BVQnVmZmVyTWFwQmxvY2tDYWxsYmFjayBjYWxsYmFjayk7CitXR1BVX0VYUE9S
VCB2b2lkIHdncHVEZXZpY2VDcmVhdGVDb21wdXRlUGlwZWxpbmVBc3luY1dpdGhCbG9jayhXR1BV
RGV2aWNlIGRldmljZSwgV0dQVUNvbXB1dGVQaXBlbGluZURlc2NyaXB0b3IgY29uc3QgKiBkZXNj
cmlwdG9yLCBXR1BVQ3JlYXRlQ29tcHV0ZVBpcGVsaW5lQXN5bmNCbG9ja0NhbGxiYWNrIGNhbGxi
YWNrKTsKK1dHUFVfRVhQT1JUIHZvaWQgd2dwdURldmljZUNyZWF0ZVJlbmRlclBpcGVsaW5lQXN5
bmNXaXRoQmxvY2soV0dQVURldmljZSBkZXZpY2UsIFdHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0
b3IgY29uc3QgKiBkZXNjcmlwdG9yLCBXR1BVQ3JlYXRlUmVuZGVyUGlwZWxpbmVBc3luY0Jsb2Nr
Q2FsbGJhY2sgY2FsbGJhY2spOworV0dQVV9FWFBPUlQgYm9vbCB3Z3B1RGV2aWNlUG9wRXJyb3JT
Y29wZVdpdGhCbG9jayhXR1BVRGV2aWNlIGRldmljZSwgV0dQVUVycm9yQmxvY2tDYWxsYmFjayBj
YWxsYmFjayk7CitXR1BVX0VYUE9SVCB2b2lkIHdncHVEZXZpY2VTZXREZXZpY2VMb3N0Q2FsbGJh
Y2tXaXRoQmxvY2soV0dQVURldmljZSBkZXZpY2UsIFdHUFVEZXZpY2VMb3N0QmxvY2tDYWxsYmFj
ayBjYWxsYmFjayk7CitXR1BVX0VYUE9SVCB2b2lkIHdncHVEZXZpY2VTZXRVbmNhcHR1cmVkRXJy
b3JDYWxsYmFja1dpdGhCbG9jayhXR1BVRGV2aWNlIGRldmljZSwgV0dQVUVycm9yQmxvY2tDYWxs
YmFjayBjYWxsYmFjayk7CitXR1BVX0VYUE9SVCB2b2lkIHdncHVJbnN0YW5jZVJlcXVlc3RBZGFw
dGVyV2l0aEJsb2NrKFdHUFVJbnN0YW5jZSBpbnN0YW5jZSwgV0dQVVJlcXVlc3RBZGFwdGVyT3B0
aW9ucyBjb25zdCAqIG9wdGlvbnMsIFdHUFVSZXF1ZXN0QWRhcHRlckJsb2NrQ2FsbGJhY2sgY2Fs
bGJhY2spOworV0dQVV9FWFBPUlQgdm9pZCB3Z3B1UXVldWVPblN1Ym1pdHRlZFdvcmtEb25lV2l0
aEJsb2NrKFdHUFVRdWV1ZSBxdWV1ZSwgdWludDY0X3Qgc2lnbmFsVmFsdWUsIFdHUFVRdWV1ZVdv
cmtEb25lQmxvY2tDYWxsYmFjayBjYWxsYmFjayk7CitXR1BVX0VYUE9SVCB2b2lkIHdncHVTaGFk
ZXJNb2R1bGVHZXRDb21waWxhdGlvbkluZm9XaXRoQmxvY2soV0dQVVNoYWRlck1vZHVsZSBzaGFk
ZXJNb2R1bGUsIFdHUFVDb21waWxhdGlvbkluZm9CbG9ja0NhbGxiYWNrIGNhbGxiYWNrKTsKKwog
I2VuZGlmICAvLyAhZGVmaW5lZChXR1BVX1NLSVBfREVDTEFSQVRJT05TKQogCiAjaWZkZWYgX19j
cGx1c3BsdXMK
</data>

          </attachment>
      

    </bug>

</bugzilla>