<?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>238449</bug_id>
          
          <creation_ts>2022-03-28 05:24:01 -0700</creation_ts>
          <short_desc>RealtimeMediaSource::Type::Video is misleading as it is actually referring to camera sources</short_desc>
          <delta_ts>2022-03-29 04:42:17 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebRTC</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>
          <dependson>237704</dependson>
          
          <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>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>1855552</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-03-28 05:24:01 -0700</bug_when>
    <thetext>RealtimeMediaSource::Type::Video is misleading as it is actually referring to camera sources</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855561</commentid>
    <comment_count>1</comment_count>
      <attachid>455909</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-03-28 05:56:13 -0700</bug_when>
    <thetext>Created attachment 455909
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855642</commentid>
    <comment_count>2</comment_count>
      <attachid>455909</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2022-03-28 09:39:53 -0700</bug_when>
    <thetext>Comment on attachment 455909
Patch

r=me once the bots are happy</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855929</commentid>
    <comment_count>3</comment_count>
      <attachid>456000</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-03-28 23:42:11 -0700</bug_when>
    <thetext>Created attachment 456000
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855952</commentid>
    <comment_count>4</comment_count>
      <attachid>456008</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-03-29 02:10:50 -0700</bug_when>
    <thetext>Created attachment 456008
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855990</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-29 04:41:20 -0700</bug_when>
    <thetext>Committed r292027 (248970@main): &lt;https://commits.webkit.org/248970@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 456008.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855991</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-03-29 04:42:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/90976289&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455909</attachid>
            <date>2022-03-28 05:56:13 -0700</date>
            <delta_ts>2022-03-28 23:42:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238449-20220328145610.patch</filename>
            <type>text/plain</type>
            <size>30771</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxOTU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2ZkZmE4NGFlMjA3ODRj
NWRjNjU3Y2IxOGE0Y2RlYzM1NzIwOWM0Yy4uYTc2MWU3YzVjYzAyYmI1OTk3ZTY2OWRkMGM3NmVh
OWYxYTBlYmU0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDIyLTAzLTI4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBSZWFsdGltZU1lZGlhU291
cmNlOjpUeXBlOjpWaWRlbyBpcyBtaXNsZWFkaW5nIGFzIGl0IGlzIGFjdHVhbGx5IHJlZmVycmlu
ZyB0byBjYW1lcmEgc291cmNlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjM4NDQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgTWFrZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlIGEgYm9vbGVhbiAoYXVk
aW8gb3IgdmlkZW8pIGFuZCB1c2UgZGV2aWNlVHlwZSB3aGVyZXZlciBtb3JlIGZpbmUgZ3JhaW5l
ZCBpbmZvcm1hdGlvbiBpcyBuZWVkZWQuCisgICAgICAgIE5vIGNoYW5nZSBvZiBiZWhhdmlvci4K
KworICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFTdHJlYW06OmdldEF1ZGlvVHJhY2tzIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhU3RyZWFtOjpnZXRWaWRlb1RyYWNrcyBjb25zdCk6CisgICAgICAgICog
TW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhU3RyZWFtVHJhY2s6Ok1lZGlhU3RyZWFtVHJhY2spOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFTdHJlYW1UcmFjazo6fk1lZGlhU3RyZWFtVHJhY2spOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFTdHJlYW1UcmFjazo6a2luZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVN0cmVhbVRyYWNrOjpzZXRDb250ZW50SGludCk6CisgICAgICAgIChXZWJDb3JlOjp1cGRhdGVW
aWRlb0NhcHR1cmVBY2NvcmRpbmdNaWNyb3Bob25lSW50ZXJydXB0aW9uKToKKyAgICAgICAgKFdl
YkNvcmU6OnRyYWNrVHlwZUZvck1lZGlhUHJvZHVjZXJDYXB0dXJlS2luZCk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNrOjplbmRDYXB0dXJlKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhU3RyZWFtVHJhY2s6OnRyYWNrRW5kZWQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFT
dHJlYW1UcmFjazo6aXNDYXB0dXJpbmdBdWRpbyBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmg6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0
cmVhbVRyYWNrOjppc1ZpZGVvIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFt
VHJhY2s6OmlzQXVkaW8gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1UcmFj
azo6aGFzVmlkZW8gY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJl
YW1UcmFjazo6aGFzQXVkaW8gY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVk
aWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpVc2VyTWVk
aWFSZXF1ZXN0OjptZWRpYVN0cmVhbURpZEZhaWwpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVs
ZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5oOgorICAgICAgICAqIE1vZHVsZXMvbWVk
aWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TGliV2ViUlRDTWVkaWFFbmRwb2ludDo6YWRkVHJhY2spOgorICAgICAgICAoV2Vi
Q29yZTo6TGliV2ViUlRDTWVkaWFFbmRwb2ludDo6Y3JlYXRlU291cmNlQW5kUlRDVHJhY2spOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6OnVwZGF0ZVRy
YWNrc09mS2luZCk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29y
ZGVyUHJpdmF0ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVJlY29yZGVyUHJpdmF0ZTo6
c2VsZWN0VHJhY2tzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVh
bVByaXZhdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1Qcml2YXRlOjpoYXNW
aWRlbyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVByaXZhdGU6Omhhc0F1
ZGlvIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtUHJpdmF0ZTo6dXBkYXRl
QWN0aXZlVmlkZW9UcmFjayk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVByaXZhdGU6
Om1vbml0b3JPcmllbnRhdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW1UcmFja1ByaXZhdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1U
cmFja1ByaXZhdGU6OnR5cGUgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL21l
ZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2tQcml2YXRlLmg6CisgICAgICAgICogcGxhdGZvcm0v
bWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpj
b252ZXJ0RW51bWVyYXRpb25Ub1N0cmluZyk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJl
YW0vUmVhbHRpbWVNZWRpYVNvdXJjZS5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFt
L2NvY29hL0Rpc3BsYXlDYXB0dXJlU291cmNlQ29jb2EuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RGlzcGxheUNhcHR1cmVTb3VyY2VDb2NvYTo6RGlzcGxheUNhcHR1cmVTb3VyY2VDb2NvYSk6Cisg
ICAgICAgIChXZWJDb3JlOjpzb3VyY2VUeXBlRm9yRGV2aWNlKTogRGVsZXRlZC4KKyAgICAgICAg
KiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OnN0
b3BPYnNlcnZpbmdSZWFsdGltZU1lZGlhU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVy
bmFsczo6b2JzZXJ2ZU1lZGlhU3RyZWFtVHJhY2spOgorCiAyMDIyLTAzLTI4ICBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBTaGFyZSBtb3JlIGNvZGUgYmV0d2Vl
biBSZW1vdGVSZWFsdGltZUF1ZGlvU291cmNlIGFuZCBSZW1vdGVSZWFsdGltZVZpZGVvU291cmNl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCmluZGV4IDFlNDYxZGU5OTAzODg3MzE2YjA0ZmU0MDM1ZThhYjc1YWVkN2I1ZjAuLmIx
MTQ0ZmIxZjYxOTUwYjY0M2M2NjY2NGEyMTE0YTljZWY5MWY1NWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTcgQEAKKzIwMjItMDMtMjggIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgor
CisgICAgICAgIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlZpZGVvIGlzIG1pc2xlYWRpbmcg
YXMgaXQgaXMgYWN0dWFsbHkgcmVmZXJyaW5nIHRvIGNhbWVyYSBzb3VyY2VzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzg0NDkKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJn
dW1lbnRDb2RlcnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVy
ZU1hbmFnZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlVzZXJNZWRpYUNhcHR1cmVNYW5h
Z2VyUHJveHk6OlNvdXJjZVByb3h5OjpTb3VyY2VQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OlVz
ZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHk6OlNvdXJjZVByb3h5Ojp+U291cmNlUHJveHkpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvUmVtb3RlUmVhbHRpbWVNZWRpYVNvdXJjZS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OnRvU291cmNlVHlwZSk6CisKIDIwMjItMDMtMjggIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFNoYXJlIG1vcmUgY29kZSBiZXR3
ZWVuIFJlbW90ZVJlYWx0aW1lQXVkaW9Tb3VyY2UgYW5kIFJlbW90ZVJlYWx0aW1lVmlkZW9Tb3Vy
Y2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFT
dHJlYW0uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVh
bS5jcHAKaW5kZXggNjBhZDgwYjA3NDY0MzEzOTZjNzEyMzY1NmU4MjBiY2FlODZhYjAwZC4uNTEz
NDgwZjIzNWMyMTViYzIyNWIzYWM5YjZmNDk5NTNiOGZlNGUzOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHAKQEAgLTE1NiwxNCAr
MTU2LDE0IEBAIE1lZGlhU3RyZWFtVHJhY2sqIE1lZGlhU3RyZWFtOjpnZXRUcmFja0J5SWQoU3Ry
aW5nIGlkKQogTWVkaWFTdHJlYW1UcmFja1ZlY3RvciBNZWRpYVN0cmVhbTo6Z2V0QXVkaW9UcmFj
a3MoKSBjb25zdAogewogICAgIHJldHVybiBmaWx0ZXJlZFRyYWNrcyhbXSAoYXV0byYgdHJhY2sp
IG11dGFibGUgewotICAgICAgICByZXR1cm4gdHJhY2suaGFzQXVkaW8oKTsKKyAgICAgICAgcmV0
dXJuIHRyYWNrLmlzQXVkaW8oKTsKICAgICB9KTsKIH0KIAogTWVkaWFTdHJlYW1UcmFja1ZlY3Rv
ciBNZWRpYVN0cmVhbTo6Z2V0VmlkZW9UcmFja3MoKSBjb25zdAogewogICAgIHJldHVybiBmaWx0
ZXJlZFRyYWNrcyhbXSAoYXV0byYgdHJhY2spIG11dGFibGUgewotICAgICAgICByZXR1cm4gdHJh
Y2suaGFzVmlkZW8oKTsKKyAgICAgICAgcmV0dXJuIHRyYWNrLmlzVmlkZW8oKTsKICAgICB9KTsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbVRyYWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW1UcmFjay5jcHAKaW5kZXggNDZkMjVlYTY0ZDViZTJjM2JkOGQwMDEwM2UwYzU0YzAw
ZTdhZTI5YS4uYzliN2ZjMWQ1MmZhNmZhMjQ2M2Q1MGY1NmI4OTRlYjVlNmZiNTA0MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNr
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFt
VHJhY2suY3BwCkBAIC05NCw3ICs5NCw3IEBAIE1lZGlhU3RyZWFtVHJhY2s6Ok1lZGlhU3RyZWFt
VHJhY2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgUmVmPE1lZGlhU3RyCiAgICAg
bV9pc0ludGVycnVwdGVkID0gbV9wcml2YXRlLT5zb3VyY2UoKS5pbnRlcnJ1cHRlZCgpOwogICAg
IGFsbENhcHR1cmVUcmFja3MoKS5hZGQodGhpcyk7CiAKLSAgICBpZiAobV9wcml2YXRlLT5oYXNB
dWRpbygpKQorICAgIGlmIChtX3ByaXZhdGUtPmlzQXVkaW8oKSkKICAgICAgICAgUGxhdGZvcm1N
ZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VyKCkuYWRkQXVkaW9DYXB0dXJlU291cmNl
KCp0aGlzKTsKIH0KIApAQCAtMTA3LDcgKzEwNyw3IEBAIE1lZGlhU3RyZWFtVHJhY2s6On5NZWRp
YVN0cmVhbVRyYWNrKCkKIAogICAgIGFsbENhcHR1cmVUcmFja3MoKS5yZW1vdmUodGhpcyk7CiAK
LSAgICBpZiAobV9wcml2YXRlLT5oYXNBdWRpbygpKQorICAgIGlmIChtX3ByaXZhdGUtPmlzQXVk
aW8oKSkKICAgICAgICAgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2Vy
KCkucmVtb3ZlQXVkaW9DYXB0dXJlU291cmNlKCp0aGlzKTsKIH0KIApAQCAtMTE2LDcgKzExNiw3
IEBAIGNvbnN0IEF0b21TdHJpbmcmIE1lZGlhU3RyZWFtVHJhY2s6OmtpbmQoKSBjb25zdAogICAg
IHN0YXRpYyBNYWluVGhyZWFkTmV2ZXJEZXN0cm95ZWQ8Y29uc3QgQXRvbVN0cmluZz4gYXVkaW9L
aW5kKCJhdWRpbyIsIEF0b21TdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsKICAgICBzdGF0
aWMgTWFpblRocmVhZE5ldmVyRGVzdHJveWVkPGNvbnN0IEF0b21TdHJpbmc+IHZpZGVvS2luZCgi
dmlkZW8iLCBBdG9tU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7CiAKLSAgICBpZiAobV9w
cml2YXRlLT5oYXNBdWRpbygpKQorICAgIGlmIChtX3ByaXZhdGUtPmlzQXVkaW8oKSkKICAgICAg
ICAgcmV0dXJuIGF1ZGlvS2luZDsKICAgICByZXR1cm4gdmlkZW9LaW5kOwogfQpAQCAtMTYwLDcg
KzE2MCw3IEBAIGNvbnN0IEF0b21TdHJpbmcmIE1lZGlhU3RyZWFtVHJhY2s6OmNvbnRlbnRIaW50
KCkgY29uc3QKIHZvaWQgTWVkaWFTdHJlYW1UcmFjazo6c2V0Q29udGVudEhpbnQoY29uc3QgU3Ry
aW5nJiBoaW50VmFsdWUpCiB7CiAgICAgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGU6OkhpbnRWYWx1
ZSB2YWx1ZTsKLSAgICBpZiAobV9wcml2YXRlLT5oYXNBdWRpbygpKSB7CisgICAgaWYgKG1fcHJp
dmF0ZS0+aXNBdWRpbygpKSB7CiAgICAgICAgIGlmIChoaW50VmFsdWUgPT0gIiIpCiAgICAgICAg
ICAgICB2YWx1ZSA9IE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlOjpIaW50VmFsdWU6OkVtcHR5Owog
ICAgICAgICBlbHNlIGlmIChoaW50VmFsdWUgPT0gInNwZWVjaCIpCkBAIC00ODUsNyArNDg1LDcg
QEAgc3RhdGljIHZvaWQgdXBkYXRlVmlkZW9DYXB0dXJlQWNjb3JkaW5nTWljcm9waG9uZUludGVy
cnVwdGlvbihEb2N1bWVudCYgZG9jdW1lbnQKICAgICAgICAgaWYgKCFjYXB0dXJlVHJhY2stPmRv
Y3VtZW50KCkgfHwgY2FwdHVyZVRyYWNrLT5kb2N1bWVudCgpLT5wYWdlKCkgIT0gcGFnZSkKICAg
ICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICBhdXRvJiBzb3VyY2UgPSBjYXB0dXJlVHJhY2st
PnNvdXJjZSgpOwotICAgICAgICBpZiAoIXNvdXJjZS5pc0VuZGVkKCkgJiYgc291cmNlLnR5cGUo
KSA9PSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpWaWRlbykKKyAgICAgICAgaWYgKCFzb3Vy
Y2UuaXNFbmRlZCgpICYmIHNvdXJjZS5kZXZpY2VUeXBlKCkgPT0gQ2FwdHVyZURldmljZTo6RGV2
aWNlVHlwZTo6Q2FtZXJhKQogICAgICAgICAgICAgc291cmNlLnNldE11dGVkKGlzTWljcm9waG9u
ZUludGVycnVwdGVkKTsKICAgICB9CiB9CkBAIC01MjIsMTkgKzUyMiwyMCBAQCB2b2lkIE1lZGlh
U3RyZWFtVHJhY2s6OnVwZGF0ZVRvUGFnZU11dGVkU3RhdGUoKQogICAgIH0KIH0KIAotc3RhdGlj
IE1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kIHRyYWNrVHlwZUZvck1lZGlhUHJvZHVjZXJD
YXB0dXJlS2luZChSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlIHR5cGUpCitzdGF0aWMgTWVkaWFQ
cm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQgdHJhY2tUeXBlRm9yTWVkaWFQcm9kdWNlckNhcHR1cmVL
aW5kKENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGUgdHlwZSkKIHsKICAgICBzd2l0Y2ggKHR5cGUp
IHsKLSAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OkF1ZGlvOgorICAgIGNhc2Ug
Q2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6TWljcm9waG9uZToKICAgICAgICAgcmV0dXJuIE1l
ZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpNaWNyb3Bob25lOwotICAgIGNhc2UgUmVhbHRp
bWVNZWRpYVNvdXJjZTo6VHlwZTo6U3lzdGVtQXVkaW86CisgICAgY2FzZSBDYXB0dXJlRGV2aWNl
OjpEZXZpY2VUeXBlOjpTeXN0ZW1BdWRpbzoKICAgICAgICAgcmV0dXJuIE1lZGlhUHJvZHVjZXJN
ZWRpYUNhcHR1cmVLaW5kOjpTeXN0ZW1BdWRpbzsKLSAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3Vy
Y2U6OlR5cGU6OlZpZGVvOgorICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6Q2Ft
ZXJhOgogICAgICAgICByZXR1cm4gTWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkNhbWVy
YTsKLSAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlNjcmVlbjoKLSAgICBjYXNl
IFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OldpbmRvdzoKKyAgICBjYXNlIENhcHR1cmVEZXZp
Y2U6OkRldmljZVR5cGU6OlNjcmVlbjoKKyAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5
cGU6OldpbmRvdzoKICAgICAgICAgcmV0dXJuIE1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5k
OjpEaXNwbGF5OwotICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6Tm9uZToKKyAg
ICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OlNwZWFrZXI6CisgICAgY2FzZSBDYXB0
dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpVbmtub3duOgogICAgICAgICBicmVhazsKICAgICB9CiAg
ICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTU0Niw3ICs1NDcsNyBAQCB2b2lk
IE1lZGlhU3RyZWFtVHJhY2s6OmVuZENhcHR1cmUoRG9jdW1lbnQmIGRvY3VtZW50LCBNZWRpYVBy
b2R1Y2VyTWVkaWFDYXB0dXJlSwogICAgIGZvciAoYXV0byogY2FwdHVyZVRyYWNrIDogYWxsQ2Fw
dHVyZVRyYWNrcygpKSB7CiAgICAgICAgIGlmIChjYXB0dXJlVHJhY2stPmRvY3VtZW50KCkgIT0g
JmRvY3VtZW50KQogICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIGlmIChraW5kICE9IE1l
ZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpFdmVyeUtpbmQgJiYga2luZCAhPSB0cmFja1R5
cGVGb3JNZWRpYVByb2R1Y2VyQ2FwdHVyZUtpbmQoY2FwdHVyZVRyYWNrLT5wcml2YXRlVHJhY2so
KS50eXBlKCkpKQorICAgICAgICBpZiAoa2luZCAhPSBNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJl
S2luZDo6RXZlcnlLaW5kICYmIGtpbmQgIT0gdHJhY2tUeXBlRm9yTWVkaWFQcm9kdWNlckNhcHR1
cmVLaW5kKGNhcHR1cmVUcmFjay0+cHJpdmF0ZVRyYWNrKCkuZGV2aWNlVHlwZSgpKSkKICAgICAg
ICAgICAgIGNvbnRpbnVlOwogICAgICAgICBjYXB0dXJlVHJhY2stPnN0b3BUcmFjayhNZWRpYVN0
cmVhbVRyYWNrOjpTdG9wTW9kZTo6UG9zdEV2ZW50KTsKICAgICAgICAgZGlkRW5kQ2FwdHVyZSA9
IHRydWU7CkBAIC01NjMsNyArNTY0LDcgQEAgdm9pZCBNZWRpYVN0cmVhbVRyYWNrOjp0cmFja1N0
YXJ0ZWQoTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUmKQogCiB2b2lkIE1lZGlhU3RyZWFtVHJhY2s6
OnRyYWNrRW5kZWQoTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUmKQogewotICAgIGlmIChtX2lzQ2Fw
dHVyZVRyYWNrICYmIG1fcHJpdmF0ZS0+aGFzQXVkaW8oKSkKKyAgICBpZiAobV9pc0NhcHR1cmVU
cmFjayAmJiBtX3ByaXZhdGUtPmlzQXVkaW8oKSkKICAgICAgICAgUGxhdGZvcm1NZWRpYVNlc3Np
b25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VyKCkucmVtb3ZlQXVkaW9DYXB0dXJlU291cmNlKCp0aGlz
KTsKIAogICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUik7CkBAIC02NzIsNyArNjczLDcgQEAg
RG9jdW1lbnQqIE1lZGlhU3RyZWFtVHJhY2s6OmRvY3VtZW50KCkgY29uc3QKIAogYm9vbCBNZWRp
YVN0cmVhbVRyYWNrOjppc0NhcHR1cmluZ0F1ZGlvKCkgY29uc3QKIHsKLSAgICBBU1NFUlQoaXND
YXB0dXJlVHJhY2soKSAmJiBtX3ByaXZhdGUtPmhhc0F1ZGlvKCkpOworICAgIEFTU0VSVChpc0Nh
cHR1cmVUcmFjaygpICYmIG1fcHJpdmF0ZS0+aXNBdWRpbygpKTsKICAgICByZXR1cm4gIWVuZGVk
KCkgJiYgIW11dGVkKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmgKaW5kZXggMDcwZjdkYzA5MDZjNTQ5OTliMmNi
ZWY2ZWRkMzZlZjNlOTBlZjBhYy4uZmIyMmI4OWI2YzE1YjIwMTNjNzZjMmE1OGM5YjY5Nzc1YWM0
YTk4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbVRyYWNrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9N
ZWRpYVN0cmVhbVRyYWNrLmgKQEAgLTEwMCw4ICsxMDAsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBz
dG9wVHJhY2soU3RvcE1vZGUgPSBTdG9wTW9kZTo6U2lsZW50bHkpOwogCiAgICAgYm9vbCBpc0Nh
cHR1cmVUcmFjaygpIGNvbnN0IHsgcmV0dXJuIG1faXNDYXB0dXJlVHJhY2s7IH0KLSAgICBib29s
IGhhc1ZpZGVvKCkgY29uc3QgeyByZXR1cm4gbV9wcml2YXRlLT5oYXNWaWRlbygpOyB9Ci0gICAg
Ym9vbCBoYXNBdWRpbygpIGNvbnN0IHsgcmV0dXJuIG1fcHJpdmF0ZS0+aGFzQXVkaW8oKTsgfQor
ICAgIGJvb2wgaXNWaWRlbygpIGNvbnN0IHsgcmV0dXJuIG1fcHJpdmF0ZS0+aXNWaWRlbygpOyB9
CisgICAgYm9vbCBpc0F1ZGlvKCkgY29uc3QgeyByZXR1cm4gbV9wcml2YXRlLT5pc0F1ZGlvKCk7
IH0KIAogICAgIHN0cnVjdCBUcmFja1NldHRpbmdzIHsKICAgICAgICAgc3RkOjpvcHRpb25hbDxp
bnQ+IHdpZHRoOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9Vc2VyTWVkaWFSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vVXNlck1lZGlhUmVxdWVzdC5jcHAKaW5kZXggZTE1N2FiOWQ3NjkxZDVhNDYxNmE5MmFiZWVm
NTc3YjVjYjI0NWJkOC4uMDNmNTA4NWM2NDc1NWViNDA1OGMyYWEzMGFhNjM1Y2U4MmRlNDA4ZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFS
ZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJN
ZWRpYVJlcXVlc3QuY3BwCkBAIC0yNjAsMzMgKzI2MCw2IEBAIERvY3VtZW50KiBVc2VyTWVkaWFS
ZXF1ZXN0Ojpkb2N1bWVudCgpIGNvbnN0CiAgICAgcmV0dXJuIGRvd25jYXN0PERvY3VtZW50Pihz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwogfQogCi12b2lkIFVzZXJNZWRpYVJlcXVlc3Q6Om1l
ZGlhU3RyZWFtRGlkRmFpbChSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlIHR5cGUpCi17Ci0gICAg
UkVMRUFTRV9MT0coTWVkaWFTdHJlYW0sICJVc2VyTWVkaWFSZXF1ZXN0OjptZWRpYVN0cmVhbURp
ZEZhaWwiKTsKLSAgICBjb25zdCBjaGFyKiB0eXBlRGVzY3JpcHRpb24gPSAiIjsKLSAgICBzd2l0
Y2ggKHR5cGUpIHsKLSAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OkF1ZGlvOgot
ICAgICAgICB0eXBlRGVzY3JpcHRpb24gPSAiYXVkaW8iOwotICAgICAgICBicmVhazsKLSAgICBj
YXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlZpZGVvOgotICAgICAgICB0eXBlRGVzY3Jp
cHRpb24gPSAidmlkZW8iOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIFJlYWx0aW1lTWVkaWFT
b3VyY2U6OlR5cGU6OlNjcmVlbjoKLSAgICAgICAgdHlwZURlc2NyaXB0aW9uID0gInNjcmVlbiI7
Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6V2lu
ZG93OgotICAgICAgICB0eXBlRGVzY3JpcHRpb24gPSAid2luZG93IjsKLSAgICAgICAgYnJlYWs7
Ci0gICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpTeXN0ZW1BdWRpbzoKLSAgICAg
ICAgdHlwZURlc2NyaXB0aW9uID0gInN5c3RlbSBhdWRpbyI7Ci0gICAgICAgIGJyZWFrOwotICAg
IGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6Tm9uZToKLSAgICAgICAgdHlwZURlc2Ny
aXB0aW9uID0gInVua25vd24iOwotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgbV9wcm9taXNl
LT5yZWplY3QoTm90UmVhZGFibGVFcnJvciwgbWFrZVN0cmluZygiRmFpbGVkIHN0YXJ0aW5nIGNh
cHR1cmUgb2YgYSAiX3MsIHR5cGVEZXNjcmlwdGlvbiwgIiB0cmFjayJfcykpOwotfQotCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1
ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVl
c3QuaAppbmRleCA5Y2M3YTJiZDY4MmI1NTk2MGI5ZjQxMGJhNjA5YmM2Y2VkNGM4OTQyLi40OWRl
NjJjN2Q1MGViODQzOTIwMjI1ZjJjMjEyNTUyMmE3ZDFmYmI0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuaApAQCAtODQs
OCArODQsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgc3RvcCgpIGZpbmFsOwogICAgIGNvbnN0IGNo
YXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBmaW5hbDsKIAotICAgIHZvaWQgbWVkaWFT
dHJlYW1EaWRGYWlsKFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUpOwotCiAgICAgVXNlck1lZGlh
UmVxdWVzdElkZW50aWZpZXIgbV9pZGVudGlmaWVyOwogCiAgICAgVmVjdG9yPFN0cmluZz4gbV92
aWRlb0RldmljZVVJRHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENNZWRpYUVuZHBvaW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQu
Y3BwCmluZGV4IDVjM2MyMmM3NTY2ZTIxOWYxZTAyNGUzNWQ4ZjJhZWE4YjMwMjE1NmYuLmZhMDQ2
YjUzMDY3YWE5NzFkYzBlOTk1ZjdiOGQ1ODMxOGE5YzljNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9p
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRj
L0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwCkBAIC0yMDQsMTIgKzIwNCw2IEBAIGJvb2wgTGli
V2ViUlRDTWVkaWFFbmRwb2ludDo6YWRkVHJhY2soTGliV2ViUlRDUnRwU2VuZGVyQmFja2VuZCYg
c2VuZGVyLCBNZWRpYVN0CiAgICAgICAgIHNvdXJjZSA9IFdURk1vdmUodmlkZW9Tb3VyY2UpOwog
ICAgICAgICBicmVhazsKICAgICB9Ci0gICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBl
OjpTY3JlZW46Ci0gICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpXaW5kb3c6Ci0g
ICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpTeXN0ZW1BdWRpbzoKLSAgICBjYXNl
IFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6Ok5vbmU6Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwotICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCiAgICAgc2VuZGVyLnNldFNv
dXJjZShXVEZNb3ZlKHNvdXJjZSkpOwpAQCAtNDE2LDE4ICs0MTAsMTIgQEAgc3RkOjpwYWlyPExp
YldlYlJUQ1J0cFNlbmRlckJhY2tlbmQ6OlNvdXJjZSwgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0
Yzo6TWVkaWFTdHIKICAgICBMaWJXZWJSVENSdHBTZW5kZXJCYWNrZW5kOjpTb3VyY2Ugc291cmNl
OwogICAgIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6Ok1lZGlhU3RyZWFtVHJhY2tJbnRlcmZh
Y2U+IHJ0Y1RyYWNrOwogICAgIHN3aXRjaCAodHJhY2sucHJpdmF0ZVRyYWNrKCkudHlwZSgpKSB7
Ci0gICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpOb25lOgotICAgICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBSZWFsdGltZU1lZGlh
U291cmNlOjpUeXBlOjpTeXN0ZW1BdWRpbzoKICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6
OlR5cGU6OkF1ZGlvOiB7CiAgICAgICAgIGF1dG8gYXVkaW9Tb3VyY2UgPSBSZWFsdGltZU91dGdv
aW5nQXVkaW9Tb3VyY2U6OmNyZWF0ZSh0cmFjay5wcml2YXRlVHJhY2soKSk7CiAgICAgICAgIHJ0
Y1RyYWNrID0gbV9wZWVyQ29ubmVjdGlvbkZhY3RvcnktPkNyZWF0ZUF1ZGlvVHJhY2sodHJhY2su
aWQoKS51dGY4KCkuZGF0YSgpLCBhdWRpb1NvdXJjZS5wdHIoKSk7CiAgICAgICAgIHNvdXJjZSA9
IFdURk1vdmUoYXVkaW9Tb3VyY2UpOwogICAgICAgICBicmVhazsKICAgICB9Ci0gICAgY2FzZSBS
ZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpTY3JlZW46Ci0gICAgY2FzZSBSZWFsdGltZU1lZGlh
U291cmNlOjpUeXBlOjpXaW5kb3c6CiAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBl
OjpWaWRlbzogewogICAgICAgICBhdXRvIHZpZGVvU291cmNlID0gUmVhbHRpbWVPdXRnb2luZ1Zp
ZGVvU291cmNlOjpjcmVhdGUodHJhY2sucHJpdmF0ZVRyYWNrKCkpOwogICAgICAgICBydGNUcmFj
ayA9IG1fcGVlckNvbm5lY3Rpb25GYWN0b3J5LT5DcmVhdGVWaWRlb1RyYWNrKHRyYWNrLmlkKCku
dXRmOCgpLmRhdGEoKSwgdmlkZW9Tb3VyY2UucHRyKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2
YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpD
Lm1tCmluZGV4IDQ2ODg3Njk1MjYxNzE2MmRkMjE1MGI0MjI0MjMxYzdkNTNhMmYzNjMuLjJiM2E5
MTc4NWYwOTQxZmNiMWNjNzgxNWIyM2QxOTg0Yzk3YmU4NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJp
dmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFW
Rk9iakMubW0KQEAgLTgzNiw3ICs4MzYsNyBAQCB2b2lkIHVwZGF0ZVRyYWNrc09mS2luZChIYXNo
TWFwPFN0cmluZywgUmVmVD4mIHRyYWNrTWFwLCBUcmFja0tpbmQgdHJhY2tLaW5kLCBNZQogCiAg
ICAgYm9vbCB3YW50c1ZpZGVvID0gdHJhY2tLaW5kID09IFRyYWNrS2luZDo6VmlkZW87CiAgICAg
Zm9yIChjb25zdCBhdXRvJiB0cmFjayA6IGN1cnJlbnRUcmFja3MpIHsKLSAgICAgICAgaWYgKHdh
bnRzVmlkZW8gIT0gdHJhY2stPmhhc1ZpZGVvKCkpCisgICAgICAgIGlmICh3YW50c1ZpZGVvICE9
IHRyYWNrLT5pc1ZpZGVvKCkpCiAgICAgICAgICAgICBjb250aW51ZTsKIAogICAgICAgICBpZiAo
IXRyYWNrTWFwLmNvbnRhaW5zKHRyYWNrLT5pZCgpKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGUuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZS5j
cHAKaW5kZXggZDI1ZDdmNDQzZmVjZGE2ODc5ZjM2MzlhMzI0MzJiY2ZlMjdmZjA4ZC4uOTZlYjcw
ZjI5MmE4MDI1NDU0NmZlN2FmMDRhODA2MWVkNzhiZDc5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJp
dmF0ZS5jcHAKQEAgLTQ0LDggKzQ0LDYgQEAgTWVkaWFSZWNvcmRlclByaXZhdGU6OkF1ZGlvVmlk
ZW9TZWxlY3RlZFRyYWNrcyBNZWRpYVJlY29yZGVyUHJpdmF0ZTo6c2VsZWN0VHJhY2sKICAgICAg
ICAgaWYgKHRyYWNrLmVuZGVkKCkpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIHN3aXRj
aCAodHJhY2sudHlwZSgpKSB7Ci0gICAgICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlw
ZTo6U2NyZWVuOgotICAgICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OldpbmRv
dzoKICAgICAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpWaWRlbzogewogICAg
ICAgICAgICAgYXV0byYgc2V0dGluZ3MgPSB0cmFjay5zZXR0aW5ncygpOwogICAgICAgICAgICAg
aWYgKCFzZWxlY3RlZFRyYWNrcy52aWRlb1RyYWNrICYmIHNldHRpbmdzLnN1cHBvcnRzV2lkdGgo
KSAmJiBzZXR0aW5ncy5zdXBwb3J0c0hlaWdodCgpKQpAQCAtNTMsMTIgKzUxLDkgQEAgTWVkaWFS
ZWNvcmRlclByaXZhdGU6OkF1ZGlvVmlkZW9TZWxlY3RlZFRyYWNrcyBNZWRpYVJlY29yZGVyUHJp
dmF0ZTo6c2VsZWN0VHJhY2sKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAg
IGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6QXVkaW86Ci0gICAgICAgIGNhc2UgUmVh
bHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6U3lzdGVtQXVkaW86CiAgICAgICAgICAgICBpZiAoIXNl
bGVjdGVkVHJhY2tzLmF1ZGlvVHJhY2spCiAgICAgICAgICAgICAgICAgc2VsZWN0ZWRUcmFja3Mu
YXVkaW9UcmFjayA9ICZ0cmFjazsKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIFJl
YWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6Ok5vbmU6Ci0gICAgICAgICAgICBicmVhazsKICAgICAg
ICAgfQogICAgIH0pOwogICAgIHJldHVybiBzZWxlY3RlZFRyYWNrczsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtUHJpdmF0ZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVByaXZhdGUu
Y3BwCmluZGV4IGFmNDBmNmQzYjU0ODgyZTI5NjgyN2U1MzJhYmU0OGFlYzQxZGU0M2UuLmEyNzE3
NjNiYjE4YTg2NDIwYWVlMTc0ZTlmM2UxYWUyMGFlMTBkOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtUHJpdmF0ZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1Qcml2YXRlLmNw
cApAQCAtMjA4LDcgKzIwOCw3IEBAIGJvb2wgTWVkaWFTdHJlYW1Qcml2YXRlOjppc1Byb2R1Y2lu
Z0RhdGEoKSBjb25zdAogYm9vbCBNZWRpYVN0cmVhbVByaXZhdGU6Omhhc1ZpZGVvKCkgY29uc3QK
IHsKICAgICBmb3IgKGF1dG8mIHRyYWNrIDogbV90cmFja1NldC52YWx1ZXMoKSkgewotICAgICAg
ICBpZiAodHJhY2stPmhhc1ZpZGVvKCkgJiYgdHJhY2stPmlzQWN0aXZlKCkpCisgICAgICAgIGlm
ICh0cmFjay0+aXNWaWRlbygpICYmIHRyYWNrLT5pc0FjdGl2ZSgpKQogICAgICAgICAgICAgcmV0
dXJuIHRydWU7CiAgICAgfQogICAgIHJldHVybiBmYWxzZTsKQEAgLTIxNyw3ICsyMTcsNyBAQCBi
b29sIE1lZGlhU3RyZWFtUHJpdmF0ZTo6aGFzVmlkZW8oKSBjb25zdAogYm9vbCBNZWRpYVN0cmVh
bVByaXZhdGU6Omhhc0F1ZGlvKCkgY29uc3QKIHsKICAgICBmb3IgKGF1dG8mIHRyYWNrIDogbV90
cmFja1NldC52YWx1ZXMoKSkgewotICAgICAgICBpZiAodHJhY2stPmhhc0F1ZGlvKCkgJiYgdHJh
Y2stPmlzQWN0aXZlKCkpCisgICAgICAgIGlmICh0cmFjay0+aXNWaWRlbygpICYmIHRyYWNrLT5p
c0FjdGl2ZSgpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogICAgIHJldHVybiBm
YWxzZTsKQEAgLTI0OCw3ICsyNDgsNyBAQCB2b2lkIE1lZGlhU3RyZWFtUHJpdmF0ZTo6dXBkYXRl
QWN0aXZlVmlkZW9UcmFjaygpCiB7CiAgICAgbV9hY3RpdmVWaWRlb1RyYWNrID0gbnVsbHB0cjsK
ICAgICBmb3IgKGF1dG8mIHRyYWNrIDogbV90cmFja1NldC52YWx1ZXMoKSkgewotICAgICAgICBp
ZiAoIXRyYWNrLT5lbmRlZCgpICYmIHRyYWNrLT5oYXNWaWRlbygpKSB7CisgICAgICAgIGlmICgh
dHJhY2stPmVuZGVkKCkgJiYgdHJhY2stPmlzVmlkZW8oKSkgewogICAgICAgICAgICAgbV9hY3Rp
dmVWaWRlb1RyYWNrID0gdHJhY2suZ2V0KCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
fQpAQCAtMzEzLDcgKzMxMyw3IEBAIHZvaWQgTWVkaWFTdHJlYW1Qcml2YXRlOjp0cmFja0VuZGVk
KE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlJiB0cmFjaykKIHZvaWQgTWVkaWFTdHJlYW1Qcml2YXRl
Ojptb25pdG9yT3JpZW50YXRpb24oT3JpZW50YXRpb25Ob3RpZmllciYgbm90aWZpZXIpCiB7CiAg
ICAgZm9yIChhdXRvJiB0cmFjayA6IG1fdHJhY2tTZXQudmFsdWVzKCkpIHsKLSAgICAgICAgaWYg
KHRyYWNrLT5zb3VyY2UoKS5pc0NhcHR1cmVTb3VyY2UoKSAmJiB0cmFjay0+dHlwZSgpID09IFJl
YWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlZpZGVvKQorICAgICAgICBpZiAodHJhY2stPnNvdXJj
ZSgpLmlzQ2FwdHVyZVNvdXJjZSgpICYmIHRyYWNrLT5kZXZpY2VUeXBlKCkgPT0gQ2FwdHVyZURl
dmljZTo6RGV2aWNlVHlwZTo6Q2FtZXJhKQogICAgICAgICAgICAgdHJhY2stPnNvdXJjZSgpLm1v
bml0b3JPcmllbnRhdGlvbihub3RpZmllcik7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFja1By
aXZhdGUuY3BwCmluZGV4IDE4MjY2ZjEyMmM0YjE4Njc0YTFmNzliYWI5MWYwNTQ5NjdmY2I3MDAu
LjcxZWQ4ZjhkMzk1MTViMGQxZjZhODEwYjdhYmU3MzJiMWE0ZDA0MGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2tQcml2YXRl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVh
bVRyYWNrUHJpdmF0ZS5jcHAKQEAgLTE3MywxMSArMTczLDYgQEAgUmVmPE1lZGlhU3RyZWFtVHJh
Y2tQcml2YXRlPiBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZTo6Y2xvbmUoKQogICAgIHJldHVybiBj
bG9uZWRNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZTsKIH0KIAotUmVhbHRpbWVNZWRpYVNvdXJjZTo6
VHlwZSBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZTo6dHlwZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJu
IG1fc291cmNlLT50eXBlKCk7Ci19Ci0KIGNvbnN0IFJlYWx0aW1lTWVkaWFTb3VyY2VTZXR0aW5n
cyYgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGU6OnNldHRpbmdzKCkgY29uc3QKIHsKICAgICByZXR1
cm4gbV9zb3VyY2UtPnNldHRpbmdzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUuaAppbmRleCBk
ZDJlMTQ5ZjgxM2IxZDc2MGVkZGE1ODhiZGJiYjQyMTA3YzI5MjFlLi43NTc1OTMwYmIwNmEwZjM0
MDg1NzM3OTMzNjBkODY5ZTI5NzU4ZGFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2tQcml2YXRlLmgKQEAg
LTk1LDkgKzk1LDEwIEBAIHB1YmxpYzoKIAogICAgIFJlYWx0aW1lTWVkaWFTb3VyY2UmIHNvdXJj
ZSgpIHsgcmV0dXJuIG1fc291cmNlLmdldCgpOyB9CiAgICAgY29uc3QgUmVhbHRpbWVNZWRpYVNv
dXJjZSYgc291cmNlKCkgY29uc3QgeyByZXR1cm4gbV9zb3VyY2UuZ2V0KCk7IH0KLSAgICBXRUJD
T1JFX0VYUE9SVCBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlIHR5cGUoKSBjb25zdDsKLSAgICBi
b29sIGhhc1ZpZGVvKCkgY29uc3QgeyByZXR1cm4gbV9zb3VyY2UtPmhhc1ZpZGVvKCk7IH0KLSAg
ICBib29sIGhhc0F1ZGlvKCkgY29uc3QgeyByZXR1cm4gbV9zb3VyY2UtPmhhc0F1ZGlvKCk7IH0K
KyAgICBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3Nv
dXJjZS0+dHlwZSgpOyB9CisgICAgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZSBkZXZpY2VUeXBl
KCkgY29uc3QgeyByZXR1cm4gbV9zb3VyY2UtPmRldmljZVR5cGUoKTsgfQorICAgIGJvb2wgaXNW
aWRlbygpIGNvbnN0IHsgcmV0dXJuIG1fc291cmNlLT5pc1ZpZGVvKCk7IH0KKyAgICBib29sIGlz
QXVkaW8oKSBjb25zdCB7IHJldHVybiBtX3NvdXJjZS0+aXNBdWRpbygpOyB9CiAKICAgICB2b2lk
IGVuZFRyYWNrKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZS5jcHAKaW5kZXggNmZhM2IxZTAxZDQ4ODk0
YzVhNTQ3NTdmNWQxMDY3ZGZlZTRhNTExNy4uOGUxYzVlNGNhNGMxZjE3NDdlMzhjODY5YWI0Nzgy
YjI0YzU3NTgzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vUmVhbHRpbWVNZWRpYVNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZS5jcHAKQEAgLTExNDQsMTkgKzExNDQsMTEg
QEAgV1RGTG9nQ2hhbm5lbCYgUmVhbHRpbWVNZWRpYVNvdXJjZTo6bG9nQ2hhbm5lbCgpIGNvbnN0
CiBTdHJpbmcgY29udmVydEVudW1lcmF0aW9uVG9TdHJpbmcoUmVhbHRpbWVNZWRpYVNvdXJjZTo6
VHlwZSBlbnVtZXJhdGlvblZhbHVlKQogewogICAgIHN0YXRpYyBjb25zdCBOZXZlckRlc3Ryb3ll
ZDxTdHJpbmc+IHZhbHVlc1tdID0gewotICAgICAgICBNQUtFX1NUQVRJQ19TVFJJTkdfSU1QTCgi
Tm9uZSIpLAogICAgICAgICBNQUtFX1NUQVRJQ19TVFJJTkdfSU1QTCgiQXVkaW8iKSwKLSAgICAg
ICAgTUFLRV9TVEFUSUNfU1RSSU5HX0lNUEwoIlZpZGVvIiksCi0gICAgICAgIE1BS0VfU1RBVElD
X1NUUklOR19JTVBMKCJTY3JlZW4iKSwKLSAgICAgICAgTUFLRV9TVEFUSUNfU1RSSU5HX0lNUEwo
IldpbmRvdyIpLAotICAgICAgICBNQUtFX1NUQVRJQ19TVFJJTkdfSU1QTCgiU3lzdGVtQXVkaW8i
KSwKKyAgICAgICAgTUFLRV9TVEFUSUNfU1RSSU5HX0lNUEwoIlZpZGVvIikKICAgICB9OwotICAg
IHN0YXRpY19hc3NlcnQoc3RhdGljX2Nhc3Q8c2l6ZV90PihSZWFsdGltZU1lZGlhU291cmNlOjpU
eXBlOjpOb25lKSA9PSAwLCAiUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6Tm9uZSBpcyBub3Qg
MCBhcyBleHBlY3RlZCIpOwotICAgIHN0YXRpY19hc3NlcnQoc3RhdGljX2Nhc3Q8c2l6ZV90PihS
ZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpBdWRpbykgPT0gMSwgIlJlYWx0aW1lTWVkaWFTb3Vy
Y2U6OlR5cGU6OkF1ZGlvIGlzIG5vdCAxIGFzIGV4cGVjdGVkIik7Ci0gICAgc3RhdGljX2Fzc2Vy
dChzdGF0aWNfY2FzdDxzaXplX3Q+KFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlZpZGVvKSA9
PSAyLCAiUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6VmlkZW8gaXMgbm90IDIgYXMgZXhwZWN0
ZWQiKTsKLSAgICBzdGF0aWNfYXNzZXJ0KHN0YXRpY19jYXN0PHNpemVfdD4oUmVhbHRpbWVNZWRp
YVNvdXJjZTo6VHlwZTo6U2NyZWVuKSA9PSAzLCAiUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6
U2NyZWVuIGlzIG5vdCAzIGFzIGV4cGVjdGVkIik7Ci0gICAgc3RhdGljX2Fzc2VydChzdGF0aWNf
Y2FzdDxzaXplX3Q+KFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OldpbmRvdykgPT0gNCwgIlJl
YWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OldpbmRvdyBpcyBub3QgNCBhcyBleHBlY3RlZCIpOwot
ICAgIHN0YXRpY19hc3NlcnQoc3RhdGljX2Nhc3Q8c2l6ZV90PihSZWFsdGltZU1lZGlhU291cmNl
OjpUeXBlOjpTeXN0ZW1BdWRpbykgPT0gNSwgIlJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlN5
c3RlbUF1ZGlvIGlzIG5vdCA1IGFzIGV4cGVjdGVkIik7CisgICAgc3RhdGljX2Fzc2VydChzdGF0
aWNfY2FzdDxzaXplX3Q+KFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OkF1ZGlvKSA9PSAwLCAi
UmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6QXVkaW8gaXMgbm90IDAgYXMgZXhwZWN0ZWQiKTsK
KyAgICBzdGF0aWNfYXNzZXJ0KHN0YXRpY19jYXN0PHNpemVfdD4oUmVhbHRpbWVNZWRpYVNvdXJj
ZTo6VHlwZTo6VmlkZW8pID09IDEsICJSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpWaWRlbyBp
cyBub3QgMSBhcyBleHBlY3RlZCIpOwogICAgIEFTU0VSVChzdGF0aWNfY2FzdDxzaXplX3Q+KGVu
dW1lcmF0aW9uVmFsdWUpIDwgV1RGX0FSUkFZX0xFTkdUSCh2YWx1ZXMpKTsKICAgICByZXR1cm4g
dmFsdWVzW3N0YXRpY19jYXN0PHNpemVfdD4oZW51bWVyYXRpb25WYWx1ZSldOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNv
dXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRp
YVNvdXJjZS5oCmluZGV4IDFhODk5OGRlM2I3OWVjNDA2Yzk2YWQwYTNmNDkzNjMyZTc3ODM4YTYu
LjA2MDZlMWQ3ZGU4YTdiYzFmMTJkMmQzY2RmMTJjZDEwYzg2NThhZmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291
cmNlLmgKQEAgLTExNSwxMCArMTE1LDEwIEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IFN0cmluZyYg
cGVyc2lzdGVudElEKCkgY29uc3QgeyByZXR1cm4gbV9wZXJzaXN0ZW50SUQ7IH0KIAotICAgIGVu
dW0gY2xhc3MgVHlwZSB7IE5vbmUsIEF1ZGlvLCBWaWRlbywgU2NyZWVuLCBXaW5kb3csIFN5c3Rl
bUF1ZGlvIH07CisgICAgZW51bSBjbGFzcyBUeXBlIDogYm9vbCB7IEF1ZGlvLCBWaWRlbyB9Owog
ICAgIFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQotICAgIGJvb2wgaGFzVmlk
ZW8oKSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0gVHlwZTo6VmlkZW8gfHwgbV90eXBlID09IFR5
cGU6OldpbmRvdyB8fCBtX3R5cGUgPT0gVHlwZTo6U2NyZWVuOyB9Ci0gICAgYm9vbCBoYXNBdWRp
bygpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBUeXBlOjpBdWRpbyB8fCBtX3R5cGUgPT0gVHlw
ZTo6U3lzdGVtQXVkaW87IH0KKyAgICBib29sIGlzVmlkZW8oKSBjb25zdCB7IHJldHVybiBtX3R5
cGUgPT0gVHlwZTo6VmlkZW87IH0KKyAgICBib29sIGlzQXVkaW8oKSBjb25zdCB7IHJldHVybiBt
X3R5cGUgPT0gVHlwZTo6QXVkaW87IH0KIAogICAgIHZpcnR1YWwgdm9pZCB3aGVuUmVhZHkoQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChTdHJpbmcpPiYmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY29jb2EvRGlzcGxheUNhcHR1cmVTb3VyY2VDb2Nv
YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9jb2NvYS9EaXNwbGF5
Q2FwdHVyZVNvdXJjZUNvY29hLmNwcAppbmRleCA0MDMwNGFiZTY5MDZjYjFmMzRjNzBhZDJjNjBk
NDA4ZjZiYjdiOTg1Li4zOWI3ZDAxMGZmNjQ4NDVhNDczNzc3Yzg2MzcyYWM5ZThkNWNhNzc1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9jb2NvYS9EaXNw
bGF5Q2FwdHVyZVNvdXJjZUNvY29hLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9jb2NvYS9EaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29hLmNwcApAQCAtNTksMzAg
KzU5LDYgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgUmVhbHRpbWVNZWRpYVNv
dXJjZTo6VHlwZSBzb3VyY2VUeXBlRm9yRGV2aWNlKENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGUg
dHlwZSkKLXsKLSAgICBzd2l0Y2ggKHR5cGUpIHsKLSAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRl
dmljZVR5cGU6OlNjcmVlbjoKLSAgICAgICAgcmV0dXJuIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5
cGU6OlNjcmVlbjsKLSAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OldpbmRvdzoK
LSAgICAgICAgcmV0dXJuIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OldpbmRvdzsKLSAgICBj
YXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OlN5c3RlbUF1ZGlvOgotICAgICAgICByZXR1
cm4gUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6U3lzdGVtQXVkaW87Ci0gICAgY2FzZSBDYXB0
dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpNaWNyb3Bob25lOgotICAgICAgICByZXR1cm4gUmVhbHRp
bWVNZWRpYVNvdXJjZTo6VHlwZTo6QXVkaW87Ci0gICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZp
Y2VUeXBlOjpDYW1lcmE6Ci0gICAgICAgIHJldHVybiBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBl
OjpWaWRlbzsKLSAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OlNwZWFrZXI6Ci0g
ICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpVbmtub3duOgotICAgICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmV0dXJuIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5
cGU6Ok5vbmU7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLQotICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOwotICAgIHJldHVybiBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpOb25lOwotfQotCiBD
YXB0dXJlU291cmNlT3JFcnJvciBEaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29hOjpjcmVhdGUoY29u
c3QgQ2FwdHVyZURldmljZSYgZGV2aWNlLCBTdHJpbmcmJiBoYXNoU2FsdCwgY29uc3QgTWVkaWFD
b25zdHJhaW50cyogY29uc3RyYWludHMsIFBhZ2VJZGVudGlmaWVyIHBhZ2VJZGVudGlmaWVyKQog
ewogICAgIHN3aXRjaCAoZGV2aWNlLnR5cGUoKSkgewpAQCAtMTMwLDcgKzEwNiw3IEBAIENhcHR1
cmVTb3VyY2VPckVycm9yIERpc3BsYXlDYXB0dXJlU291cmNlQ29jb2E6OmNyZWF0ZShFeHBlY3Rl
ZDxVbmlxdWVSZWY8Q2FwdHVyCiB9CiAKIERpc3BsYXlDYXB0dXJlU291cmNlQ29jb2E6OkRpc3Bs
YXlDYXB0dXJlU291cmNlQ29jb2EoVW5pcXVlUmVmPENhcHR1cmVyPiYmIGNhcHR1cmVyLCBTdHJp
bmcmJiBuYW1lLCBTdHJpbmcmJiBkZXZpY2VJRCwgU3RyaW5nJiYgaGFzaFNhbHQsIFBhZ2VJZGVu
dGlmaWVyIHBhZ2VJZGVudGlmaWVyKQotICAgIDogUmVhbHRpbWVNZWRpYVNvdXJjZShzb3VyY2VU
eXBlRm9yRGV2aWNlKGNhcHR1cmVyLT5kZXZpY2VUeXBlKCkpLCBXVEZNb3ZlKG5hbWUpLCBXVEZN
b3ZlKGRldmljZUlEKSwgV1RGTW92ZShoYXNoU2FsdCksIHBhZ2VJZGVudGlmaWVyKQorICAgIDog
UmVhbHRpbWVNZWRpYVNvdXJjZShSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpWaWRlbywgV1RG
TW92ZShuYW1lKSwgV1RGTW92ZShkZXZpY2VJRCksIFdURk1vdmUoaGFzaFNhbHQpLCBwYWdlSWRl
bnRpZmllcikKICAgICAsIG1fY2FwdHVyZXIoV1RGTW92ZShjYXB0dXJlcikpCiAgICAgLCBtX3Rp
bWVyKFJ1bkxvb3A6OmN1cnJlbnQoKSwgdGhpcywgJkRpc3BsYXlDYXB0dXJlU291cmNlQ29jb2E6
OmVtaXRGcmFtZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCAyMDY3
YTFkMDA4OGIzNjM2OTY0OWRhMmFkZmQyNDJhYWQ1MmNlMDBiLi5jOWNkZDI3MjljOWUyYTgyM2Y1
ZmI0ODg4MjhhMGRlMmFkYWEwZWFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3Bw
CkBAIC01NTMxLDE2ICs1NTMxLDExIEBAIHZvaWQgSW50ZXJuYWxzOjpzdG9wT2JzZXJ2aW5nUmVh
bHRpbWVNZWRpYVNvdXJjZSgpCiAKICAgICBzd2l0Y2ggKG1fdHJhY2tTb3VyY2UtPnR5cGUoKSkg
ewogICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6QXVkaW86Ci0gICAgY2FzZSBS
ZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpTeXN0ZW1BdWRpbzoKICAgICAgICAgbV90cmFja1Nv
dXJjZS0+cmVtb3ZlQXVkaW9TYW1wbGVPYnNlcnZlcigqdGhpcyk7CiAgICAgICAgIGJyZWFrOwog
ICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6VmlkZW86Ci0gICAgY2FzZSBSZWFs
dGltZU1lZGlhU291cmNlOjpUeXBlOjpTY3JlZW46Ci0gICAgY2FzZSBSZWFsdGltZU1lZGlhU291
cmNlOjpUeXBlOjpXaW5kb3c6CiAgICAgICAgIG1fdHJhY2tTb3VyY2UtPnJlbW92ZVZpZGVvRnJh
bWVPYnNlcnZlcigqdGhpcyk7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgUmVhbHRpbWVNZWRp
YVNvdXJjZTo6VHlwZTo6Tm9uZToKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAg
fQogICAgIG1fdHJhY2tTb3VyY2UtPnJlbW92ZU9ic2VydmVyKCp0aGlzKTsKIApAQCAtNTU1OCwx
NiArNTU1MywxMSBAQCB2b2lkIEludGVybmFsczo6b2JzZXJ2ZU1lZGlhU3RyZWFtVHJhY2soTWVk
aWFTdHJlYW1UcmFjayYgdHJhY2spCiAgICAgbV90cmFja1NvdXJjZS0+YWRkT2JzZXJ2ZXIoKnRo
aXMpOwogICAgIHN3aXRjaCAobV90cmFja1NvdXJjZS0+dHlwZSgpKSB7CiAgICAgY2FzZSBSZWFs
dGltZU1lZGlhU291cmNlOjpUeXBlOjpBdWRpbzoKLSAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3Vy
Y2U6OlR5cGU6OlN5c3RlbUF1ZGlvOgogICAgICAgICBtX3RyYWNrU291cmNlLT5hZGRBdWRpb1Nh
bXBsZU9ic2VydmVyKCp0aGlzKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBSZWFsdGltZU1l
ZGlhU291cmNlOjpUeXBlOjpWaWRlbzoKLSAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5
cGU6OlNjcmVlbjoKLSAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OldpbmRvdzoK
ICAgICAgICAgbV90cmFja1NvdXJjZS0+YWRkVmlkZW9GcmFtZU9ic2VydmVyKCp0aGlzKTsKICAg
ICAgICAgYnJlYWs7Ci0gICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpOb25lOgot
ICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKaW5kZXggMTRhOTEwNzdlNTBmODFmNzg3
NmE0OGQwNmNiODE3NzkxOTRiMDIwMC4uNWVmM2U2MzRmYzA4YTI4OWYyNTIxOTM3N2E4MzljZWUz
OTcyY2U1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50
Q29kZXJzLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJz
LmgKQEAgLTkxOSw3ICs5MTksNiBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNv
cmU6OkluZGV4ZWREQjo6R2V0QWxsVHlwZT4gewogdGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0
czxXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlPiB7CiAgICAgdXNpbmcgdmFsdWVz
ID0gRW51bVZhbHVlczwKICAgICAgICAgV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlw
ZSwKLSAgICAgICAgV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6Tm9uZSwKICAg
ICAgICAgV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6QXVkaW8sCiAgICAgICAg
IFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlZpZGVvCiAgICAgPjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5h
Z2VyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2Fw
dHVyZU1hbmFnZXJQcm94eS5jcHAKaW5kZXggZmM1NzQ4MjQ1YzFlNDIzN2EyMmVmNTMxODI4YzA1
NDVkZDc3ZTUzMC4uNjNmOGVjODZkMWY1ZDY4ZTYzMTkxMDFhNWQyZjU5ZjFkODY4YzNjZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1h
bmFnZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1l
ZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5jcHAKQEAgLTY4LDE2ICs2OCwxMSBAQCBwdWJsaWM6CiAg
ICAgICAgIG1fc291cmNlLT5hZGRPYnNlcnZlcigqdGhpcyk7CiAgICAgICAgIHN3aXRjaCAobV9z
b3VyY2UtPnR5cGUoKSkgewogICAgICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6
OkF1ZGlvOgotICAgICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlN5c3RlbUF1
ZGlvOgogICAgICAgICAgICAgbV9zb3VyY2UtPmFkZEF1ZGlvU2FtcGxlT2JzZXJ2ZXIoKnRoaXMp
OwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6
VHlwZTo6VmlkZW86Ci0gICAgICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6U2Ny
ZWVuOgotICAgICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OldpbmRvdzoKICAg
ICAgICAgICAgIG1fc291cmNlLT5hZGRWaWRlb0ZyYW1lT2JzZXJ2ZXIoKnRoaXMpOwogICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6Tm9u
ZToKLSAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICB9CiAgICAgfQog
CkBAIC04NSwxNiArODAsMTEgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgc3dpdGNoIChtX3Nv
dXJjZS0+dHlwZSgpKSB7CiAgICAgICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6
QXVkaW86Ci0gICAgICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6U3lzdGVtQXVk
aW86CiAgICAgICAgICAgICBtX3NvdXJjZS0+cmVtb3ZlQXVkaW9TYW1wbGVPYnNlcnZlcigqdGhp
cyk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNl
OjpUeXBlOjpWaWRlbzoKLSAgICAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpT
Y3JlZW46Ci0gICAgICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6V2luZG93Ogog
ICAgICAgICAgICAgbV9zb3VyY2UtPnJlbW92ZVZpZGVvRnJhbWVPYnNlcnZlcigqdGhpcyk7CiAg
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBl
OjpOb25lOgotICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIH0KICAg
ICAgICAgbV9zb3VyY2UtPnJlbW92ZU9ic2VydmVyKCp0aGlzKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90ZVJlYWx0aW1lTWVkaWFTb3VyY2UuY3Bw
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90ZVJlYWx0aW1lTWVkaWFTb3Vy
Y2UuY3BwCmluZGV4IDEwNTRiNmQyNDU1NmM5MjgxYjg2Zjg2ZWM5MWE5NGE4NTZmZGQ3NjAuLmI3
NDgyY2Q2N2NmN2I3Zjc5YzY0Mzc4MTUyM2U5NTJiODcxNWYyZDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVSZWFsdGltZU1lZGlhU291cmNlLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlUmVhbHRpbWVNZWRpYVNv
dXJjZS5jcHAKQEAgLTQwLDE1ICs0MCwxMiBAQCBzdGF0aWMgUmVhbHRpbWVNZWRpYVNvdXJjZTo6
VHlwZSB0b1NvdXJjZVR5cGUoQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZSB0eXBlKQogewogICAg
IHN3aXRjaCAodHlwZSkgewogICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6TWlj
cm9waG9uZToKKyAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OlN5c3RlbUF1ZGlv
OgogICAgICAgICByZXR1cm4gUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6QXVkaW87CiAgICAg
Y2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpDYW1lcmE6Ci0gICAgICAgIHJldHVybiBS
ZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpWaWRlbzsKICAgICBjYXNlIENhcHR1cmVEZXZpY2U6
OkRldmljZVR5cGU6OlNjcmVlbjoKLSAgICAgICAgcmV0dXJuIFJlYWx0aW1lTWVkaWFTb3VyY2U6
OlR5cGU6OlNjcmVlbjsKICAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OldpbmRv
dzoKLSAgICAgICAgcmV0dXJuIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OldpbmRvdzsKLSAg
ICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OlN5c3RlbUF1ZGlvOgotICAgICAgICBy
ZXR1cm4gUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6U3lzdGVtQXVkaW87CisgICAgICAgIHJl
dHVybiBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpWaWRlbzsKICAgICBjYXNlIENhcHR1cmVE
ZXZpY2U6OkRldmljZVR5cGU6OlVua25vd246CiAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZp
Y2VUeXBlOjpTcGVha2VyOgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>456000</attachid>
            <date>2022-03-28 23:42:11 -0700</date>
            <delta_ts>2022-03-29 02:10:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238449-20220329084209.patch</filename>
            <type>text/plain</type>
            <size>40262</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyMDI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjA2YjVmYTczZjdmYjc2
NzhmODA2MDgwNTk5NjUyMDhiNjViNzRjYS4uNTM4MzRlYTFjZWIxYzE2MGM2Njg1ZTFjNmJkOTk2
MGI3NTgzMjljMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDIyLTAzLTI4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBSZWFsdGltZU1lZGlhU291
cmNlOjpUeXBlOjpWaWRlbyBpcyBtaXNsZWFkaW5nIGFzIGl0IGlzIGFjdHVhbGx5IHJlZmVycmlu
ZyB0byBjYW1lcmEgc291cmNlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjM4NDQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgor
CisgICAgICAgIE1ha2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSBhIGJvb2xlYW4gKGF1ZGlv
IG9yIHZpZGVvKSBhbmQgdXNlIGRldmljZVR5cGUgd2hlcmV2ZXIgbW9yZSBmaW5lIGdyYWluZWQg
aW5mb3JtYXRpb24gaXMgbmVlZGVkLgorICAgICAgICBObyBjaGFuZ2Ugb2YgYmVoYXZpb3IuCisK
KyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhU3RyZWFtOjpnZXRBdWRpb1RyYWNrcyBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVN0cmVhbTo6Z2V0VmlkZW9UcmFja3MgY29uc3QpOgorICAgICAgICAqIE1v
ZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVN0cmVhbVRyYWNrOjpNZWRpYVN0cmVhbVRyYWNrKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhU3RyZWFtVHJhY2s6On5NZWRpYVN0cmVhbVRyYWNrKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhU3RyZWFtVHJhY2s6OmtpbmQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFT
dHJlYW1UcmFjazo6c2V0Q29udGVudEhpbnQpOgorICAgICAgICAoV2ViQ29yZTo6dXBkYXRlVmlk
ZW9DYXB0dXJlQWNjb3JkaW5nTWljcm9waG9uZUludGVycnVwdGlvbik6CisgICAgICAgIChXZWJD
b3JlOjp0cmFja1R5cGVGb3JNZWRpYVByb2R1Y2VyQ2FwdHVyZUtpbmQpOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFTdHJlYW1UcmFjazo6ZW5kQ2FwdHVyZSk6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVN0cmVhbVRyYWNrOjp0cmFja0VuZGVkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3Ry
ZWFtVHJhY2s6OmlzQ2FwdHVyaW5nQXVkaW8gY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvbWVk
aWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5oOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJl
YW1UcmFjazo6aXNWaWRlbyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRy
YWNrOjppc0F1ZGlvIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2s6
Omhhc1ZpZGVvIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFt
VHJhY2s6Omhhc0F1ZGlvIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlh
c3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VXNlck1lZGlh
UmVxdWVzdDo6bWVkaWFTdHJlYW1EaWRGYWlsKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlh
c3RyZWFtL2dzdHJlYW1lci9HU3RyZWFtZXJNZWRpYUVuZHBvaW50LmNwcDoKKyAgICAgICAgKiBN
b2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENNZWRpYUVuZHBvaW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ01lZGlhRW5kcG9pbnQ6OmFkZFRyYWNrKToKKyAg
ICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ01lZGlhRW5kcG9pbnQ6OmNyZWF0ZVNvdXJjZUFuZFJU
Q1RyYWNrKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9N
ZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW06CisgICAgICAgIChXZWJDb3Jl
Ojp1cGRhdGVUcmFja3NPZktpbmQpOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhcmVjb3JkZXIv
TWVkaWFSZWNvcmRlclByaXZhdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFSZWNvcmRl
clByaXZhdGU6OnNlbGVjdFRyYWNrcyk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0v
TWVkaWFTdHJlYW1Qcml2YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtUHJp
dmF0ZTo6aGFzVmlkZW8gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1Qcml2
YXRlOjpoYXNBdWRpbyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVByaXZh
dGU6OnVwZGF0ZUFjdGl2ZVZpZGVvVHJhY2spOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJl
YW1Qcml2YXRlOjptb25pdG9yT3JpZW50YXRpb24pOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlh
c3RyZWFtL01lZGlhU3RyZWFtVHJhY2tQcml2YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhU3RyZWFtVHJhY2tQcml2YXRlOjp0eXBlIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZS5oOgorICAgICAgICAq
IHBsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Y29udmVydEVudW1lcmF0aW9uVG9TdHJpbmcpOgorICAgICAgICAqIHBsYXRmb3Jt
L21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9jb2NvYS9EaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29hLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkRpc3BsYXlDYXB0dXJlU291cmNlQ29jb2E6OkRpc3BsYXlDYXB0dXJlU291cmNl
Q29jb2EpOgorICAgICAgICAoV2ViQ29yZTo6c291cmNlVHlwZUZvckRldmljZSk6IERlbGV0ZWQu
CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL0dTdHJlYW1lck1lZGlh
U3RyZWFtU291cmNlLmNwcDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OnN0b3BPYnNlcnZpbmdSZWFsdGltZU1lZGlhU291cmNl
KToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6b2JzZXJ2ZU1lZGlhU3RyZWFtVHJhY2sp
OgorCiAyMDIyLTAzLTI4ICBBbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbIG1hY09TICYgV2luIF0gZmFzdC9yZXBhaW50L2xpc3QtaXRlbS1lcXVhbC1zdHlsZS1jaGFu
Z2Utbm8tcmVwYWludC5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBkMzY2YTQ3
NWUwNjMzYjVkYjEwMzFmNzQ5YjNmMzc1YTczNWE4NDMwLi44MDIxOTIxMjVkNzU5MWUzNDBjNjYx
OGI2YjNlYzljMGViMTRjMjZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIyLTAzLTI4
ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBSZWFsdGltZU1l
ZGlhU291cmNlOjpUeXBlOjpWaWRlbyBpcyBtaXNsZWFkaW5nIGFzIGl0IGlzIGFjdHVhbGx5IHJl
ZmVycmluZyB0byBjYW1lcmEgc291cmNlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjM4NDQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJs
c29uLgorCisgICAgICAgICogU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6VXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eTo6U291cmNlUHJveHk6
OlNvdXJjZVByb3h5KToKKyAgICAgICAgKFdlYktpdDo6VXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQ
cm94eTo6U291cmNlUHJveHk6On5Tb3VyY2VQcm94eSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9j
b2NvYS9SZW1vdGVSZWFsdGltZU1lZGlhU291cmNlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6dG9T
b3VyY2VUeXBlKToKKwogMjAyMi0wMy0yOCAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNv
bT4KIAogICAgICAgICBBZGQgbG9nZ2luZyBhYm91dCBwcm9jZXNzIGVudGVyaW5nIGJhY2tncm91
bmQgdG8gTmV0d29ya1Byb2Nlc3M6OnByb2Nlc3NEaWRSZXN1bWUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHAKaW5kZXggNjBhZDgwYjA3
NDY0MzEzOTZjNzEyMzY1NmU4MjBiY2FlODZhYjAwZC4uNTEzNDgwZjIzNWMyMTViYzIyNWIzYWM5
YjZmNDk5NTNiOGZlNGUzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbS5jcHAKQEAgLTE1NiwxNCArMTU2LDE0IEBAIE1lZGlhU3RyZWFt
VHJhY2sqIE1lZGlhU3RyZWFtOjpnZXRUcmFja0J5SWQoU3RyaW5nIGlkKQogTWVkaWFTdHJlYW1U
cmFja1ZlY3RvciBNZWRpYVN0cmVhbTo6Z2V0QXVkaW9UcmFja3MoKSBjb25zdAogewogICAgIHJl
dHVybiBmaWx0ZXJlZFRyYWNrcyhbXSAoYXV0byYgdHJhY2spIG11dGFibGUgewotICAgICAgICBy
ZXR1cm4gdHJhY2suaGFzQXVkaW8oKTsKKyAgICAgICAgcmV0dXJuIHRyYWNrLmlzQXVkaW8oKTsK
ICAgICB9KTsKIH0KIAogTWVkaWFTdHJlYW1UcmFja1ZlY3RvciBNZWRpYVN0cmVhbTo6Z2V0Vmlk
ZW9UcmFja3MoKSBjb25zdAogewogICAgIHJldHVybiBmaWx0ZXJlZFRyYWNrcyhbXSAoYXV0byYg
dHJhY2spIG11dGFibGUgewotICAgICAgICByZXR1cm4gdHJhY2suaGFzVmlkZW8oKTsKKyAgICAg
ICAgcmV0dXJuIHRyYWNrLmlzVmlkZW8oKTsKICAgICB9KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAKaW5k
ZXggNDZkMjVlYTY0ZDViZTJjM2JkOGQwMDEwM2UwYzU0YzAwZTdhZTI5YS4uYzliN2ZjMWQ1MmZh
NmZhMjQ2M2Q1MGY1NmI4OTRlYjVlNmZiNTA0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwCkBAIC05NCw3ICs5
NCw3IEBAIE1lZGlhU3RyZWFtVHJhY2s6Ok1lZGlhU3RyZWFtVHJhY2soU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYgY29udGV4dCwgUmVmPE1lZGlhU3RyCiAgICAgbV9pc0ludGVycnVwdGVkID0gbV9w
cml2YXRlLT5zb3VyY2UoKS5pbnRlcnJ1cHRlZCgpOwogICAgIGFsbENhcHR1cmVUcmFja3MoKS5h
ZGQodGhpcyk7CiAKLSAgICBpZiAobV9wcml2YXRlLT5oYXNBdWRpbygpKQorICAgIGlmIChtX3By
aXZhdGUtPmlzQXVkaW8oKSkKICAgICAgICAgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpz
aGFyZWRNYW5hZ2VyKCkuYWRkQXVkaW9DYXB0dXJlU291cmNlKCp0aGlzKTsKIH0KIApAQCAtMTA3
LDcgKzEwNyw3IEBAIE1lZGlhU3RyZWFtVHJhY2s6On5NZWRpYVN0cmVhbVRyYWNrKCkKIAogICAg
IGFsbENhcHR1cmVUcmFja3MoKS5yZW1vdmUodGhpcyk7CiAKLSAgICBpZiAobV9wcml2YXRlLT5o
YXNBdWRpbygpKQorICAgIGlmIChtX3ByaXZhdGUtPmlzQXVkaW8oKSkKICAgICAgICAgUGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VyKCkucmVtb3ZlQXVkaW9DYXB0dXJl
U291cmNlKCp0aGlzKTsKIH0KIApAQCAtMTE2LDcgKzExNiw3IEBAIGNvbnN0IEF0b21TdHJpbmcm
IE1lZGlhU3RyZWFtVHJhY2s6OmtpbmQoKSBjb25zdAogICAgIHN0YXRpYyBNYWluVGhyZWFkTmV2
ZXJEZXN0cm95ZWQ8Y29uc3QgQXRvbVN0cmluZz4gYXVkaW9LaW5kKCJhdWRpbyIsIEF0b21TdHJp
bmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsKICAgICBzdGF0aWMgTWFpblRocmVhZE5ldmVyRGVz
dHJveWVkPGNvbnN0IEF0b21TdHJpbmc+IHZpZGVvS2luZCgidmlkZW8iLCBBdG9tU3RyaW5nOjpD
b25zdHJ1Y3RGcm9tTGl0ZXJhbCk7CiAKLSAgICBpZiAobV9wcml2YXRlLT5oYXNBdWRpbygpKQor
ICAgIGlmIChtX3ByaXZhdGUtPmlzQXVkaW8oKSkKICAgICAgICAgcmV0dXJuIGF1ZGlvS2luZDsK
ICAgICByZXR1cm4gdmlkZW9LaW5kOwogfQpAQCAtMTYwLDcgKzE2MCw3IEBAIGNvbnN0IEF0b21T
dHJpbmcmIE1lZGlhU3RyZWFtVHJhY2s6OmNvbnRlbnRIaW50KCkgY29uc3QKIHZvaWQgTWVkaWFT
dHJlYW1UcmFjazo6c2V0Q29udGVudEhpbnQoY29uc3QgU3RyaW5nJiBoaW50VmFsdWUpCiB7CiAg
ICAgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGU6OkhpbnRWYWx1ZSB2YWx1ZTsKLSAgICBpZiAobV9w
cml2YXRlLT5oYXNBdWRpbygpKSB7CisgICAgaWYgKG1fcHJpdmF0ZS0+aXNBdWRpbygpKSB7CiAg
ICAgICAgIGlmIChoaW50VmFsdWUgPT0gIiIpCiAgICAgICAgICAgICB2YWx1ZSA9IE1lZGlhU3Ry
ZWFtVHJhY2tQcml2YXRlOjpIaW50VmFsdWU6OkVtcHR5OwogICAgICAgICBlbHNlIGlmIChoaW50
VmFsdWUgPT0gInNwZWVjaCIpCkBAIC00ODUsNyArNDg1LDcgQEAgc3RhdGljIHZvaWQgdXBkYXRl
VmlkZW9DYXB0dXJlQWNjb3JkaW5nTWljcm9waG9uZUludGVycnVwdGlvbihEb2N1bWVudCYgZG9j
dW1lbnQKICAgICAgICAgaWYgKCFjYXB0dXJlVHJhY2stPmRvY3VtZW50KCkgfHwgY2FwdHVyZVRy
YWNrLT5kb2N1bWVudCgpLT5wYWdlKCkgIT0gcGFnZSkKICAgICAgICAgICAgIGNvbnRpbnVlOwog
ICAgICAgICBhdXRvJiBzb3VyY2UgPSBjYXB0dXJlVHJhY2stPnNvdXJjZSgpOwotICAgICAgICBp
ZiAoIXNvdXJjZS5pc0VuZGVkKCkgJiYgc291cmNlLnR5cGUoKSA9PSBSZWFsdGltZU1lZGlhU291
cmNlOjpUeXBlOjpWaWRlbykKKyAgICAgICAgaWYgKCFzb3VyY2UuaXNFbmRlZCgpICYmIHNvdXJj
ZS5kZXZpY2VUeXBlKCkgPT0gQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6Q2FtZXJhKQogICAg
ICAgICAgICAgc291cmNlLnNldE11dGVkKGlzTWljcm9waG9uZUludGVycnVwdGVkKTsKICAgICB9
CiB9CkBAIC01MjIsMTkgKzUyMiwyMCBAQCB2b2lkIE1lZGlhU3RyZWFtVHJhY2s6OnVwZGF0ZVRv
UGFnZU11dGVkU3RhdGUoKQogICAgIH0KIH0KIAotc3RhdGljIE1lZGlhUHJvZHVjZXJNZWRpYUNh
cHR1cmVLaW5kIHRyYWNrVHlwZUZvck1lZGlhUHJvZHVjZXJDYXB0dXJlS2luZChSZWFsdGltZU1l
ZGlhU291cmNlOjpUeXBlIHR5cGUpCitzdGF0aWMgTWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtp
bmQgdHJhY2tUeXBlRm9yTWVkaWFQcm9kdWNlckNhcHR1cmVLaW5kKENhcHR1cmVEZXZpY2U6OkRl
dmljZVR5cGUgdHlwZSkKIHsKICAgICBzd2l0Y2ggKHR5cGUpIHsKLSAgICBjYXNlIFJlYWx0aW1l
TWVkaWFTb3VyY2U6OlR5cGU6OkF1ZGlvOgorICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNl
VHlwZTo6TWljcm9waG9uZToKICAgICAgICAgcmV0dXJuIE1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1
cmVLaW5kOjpNaWNyb3Bob25lOwotICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6
U3lzdGVtQXVkaW86CisgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpTeXN0ZW1B
dWRpbzoKICAgICAgICAgcmV0dXJuIE1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpTeXN0
ZW1BdWRpbzsKLSAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlZpZGVvOgorICAg
IGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6Q2FtZXJhOgogICAgICAgICByZXR1cm4g
TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkNhbWVyYTsKLSAgICBjYXNlIFJlYWx0aW1l
TWVkaWFTb3VyY2U6OlR5cGU6OlNjcmVlbjoKLSAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6
OlR5cGU6OldpbmRvdzoKKyAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OlNjcmVl
bjoKKyAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OldpbmRvdzoKICAgICAgICAg
cmV0dXJuIE1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpEaXNwbGF5OwotICAgIGNhc2Ug
UmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6Tm9uZToKKyAgICBjYXNlIENhcHR1cmVEZXZpY2U6
OkRldmljZVR5cGU6OlNwZWFrZXI6CisgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBl
OjpVbmtub3duOgogICAgICAgICBicmVhazsKICAgICB9CiAgICAgUkVMRUFTRV9BU1NFUlRfTk9U
X1JFQUNIRUQoKTsKQEAgLTU0Niw3ICs1NDcsNyBAQCB2b2lkIE1lZGlhU3RyZWFtVHJhY2s6OmVu
ZENhcHR1cmUoRG9jdW1lbnQmIGRvY3VtZW50LCBNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlSwog
ICAgIGZvciAoYXV0byogY2FwdHVyZVRyYWNrIDogYWxsQ2FwdHVyZVRyYWNrcygpKSB7CiAgICAg
ICAgIGlmIChjYXB0dXJlVHJhY2stPmRvY3VtZW50KCkgIT0gJmRvY3VtZW50KQogICAgICAgICAg
ICAgY29udGludWU7Ci0gICAgICAgIGlmIChraW5kICE9IE1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1
cmVLaW5kOjpFdmVyeUtpbmQgJiYga2luZCAhPSB0cmFja1R5cGVGb3JNZWRpYVByb2R1Y2VyQ2Fw
dHVyZUtpbmQoY2FwdHVyZVRyYWNrLT5wcml2YXRlVHJhY2soKS50eXBlKCkpKQorICAgICAgICBp
ZiAoa2luZCAhPSBNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6RXZlcnlLaW5kICYmIGtp
bmQgIT0gdHJhY2tUeXBlRm9yTWVkaWFQcm9kdWNlckNhcHR1cmVLaW5kKGNhcHR1cmVUcmFjay0+
cHJpdmF0ZVRyYWNrKCkuZGV2aWNlVHlwZSgpKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAg
ICAgICBjYXB0dXJlVHJhY2stPnN0b3BUcmFjayhNZWRpYVN0cmVhbVRyYWNrOjpTdG9wTW9kZTo6
UG9zdEV2ZW50KTsKICAgICAgICAgZGlkRW5kQ2FwdHVyZSA9IHRydWU7CkBAIC01NjMsNyArNTY0
LDcgQEAgdm9pZCBNZWRpYVN0cmVhbVRyYWNrOjp0cmFja1N0YXJ0ZWQoTWVkaWFTdHJlYW1UcmFj
a1ByaXZhdGUmKQogCiB2b2lkIE1lZGlhU3RyZWFtVHJhY2s6OnRyYWNrRW5kZWQoTWVkaWFTdHJl
YW1UcmFja1ByaXZhdGUmKQogewotICAgIGlmIChtX2lzQ2FwdHVyZVRyYWNrICYmIG1fcHJpdmF0
ZS0+aGFzQXVkaW8oKSkKKyAgICBpZiAobV9pc0NhcHR1cmVUcmFjayAmJiBtX3ByaXZhdGUtPmlz
QXVkaW8oKSkKICAgICAgICAgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5h
Z2VyKCkucmVtb3ZlQXVkaW9DYXB0dXJlU291cmNlKCp0aGlzKTsKIAogICAgIEFMV0FZU19MT0co
TE9HSURFTlRJRklFUik7CkBAIC02NzIsNyArNjczLDcgQEAgRG9jdW1lbnQqIE1lZGlhU3RyZWFt
VHJhY2s6OmRvY3VtZW50KCkgY29uc3QKIAogYm9vbCBNZWRpYVN0cmVhbVRyYWNrOjppc0NhcHR1
cmluZ0F1ZGlvKCkgY29uc3QKIHsKLSAgICBBU1NFUlQoaXNDYXB0dXJlVHJhY2soKSAmJiBtX3By
aXZhdGUtPmhhc0F1ZGlvKCkpOworICAgIEFTU0VSVChpc0NhcHR1cmVUcmFjaygpICYmIG1fcHJp
dmF0ZS0+aXNBdWRpbygpKTsKICAgICByZXR1cm4gIWVuZGVkKCkgJiYgIW11dGVkKCk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJl
YW1UcmFjay5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVh
bVRyYWNrLmgKaW5kZXggMDcwZjdkYzA5MDZjNTQ5OTliMmNiZWY2ZWRkMzZlZjNlOTBlZjBhYy4u
ZmIyMmI4OWI2YzE1YjIwMTNjNzZjMmE1OGM5YjY5Nzc1YWM0YTk4ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmgKQEAg
LTEwMCw4ICsxMDAsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzdG9wVHJhY2soU3RvcE1vZGUgPSBT
dG9wTW9kZTo6U2lsZW50bHkpOwogCiAgICAgYm9vbCBpc0NhcHR1cmVUcmFjaygpIGNvbnN0IHsg
cmV0dXJuIG1faXNDYXB0dXJlVHJhY2s7IH0KLSAgICBib29sIGhhc1ZpZGVvKCkgY29uc3QgeyBy
ZXR1cm4gbV9wcml2YXRlLT5oYXNWaWRlbygpOyB9Ci0gICAgYm9vbCBoYXNBdWRpbygpIGNvbnN0
IHsgcmV0dXJuIG1fcHJpdmF0ZS0+aGFzQXVkaW8oKTsgfQorICAgIGJvb2wgaXNWaWRlbygpIGNv
bnN0IHsgcmV0dXJuIG1fcHJpdmF0ZS0+aXNWaWRlbygpOyB9CisgICAgYm9vbCBpc0F1ZGlvKCkg
Y29uc3QgeyByZXR1cm4gbV9wcml2YXRlLT5pc0F1ZGlvKCk7IH0KIAogICAgIHN0cnVjdCBUcmFj
a1NldHRpbmdzIHsKICAgICAgICAgc3RkOjpvcHRpb25hbDxpbnQ+IHdpZHRoOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5j
cHAKaW5kZXggZTE1N2FiOWQ3NjkxZDVhNDYxNmE5MmFiZWVmNTc3YjVjYjI0NWJkOC4uMDNmNTA4
NWM2NDc1NWViNDA1OGMyYWEzMGFhNjM1Y2U4MmRlNDA4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuY3BwCkBAIC0y
NjAsMzMgKzI2MCw2IEBAIERvY3VtZW50KiBVc2VyTWVkaWFSZXF1ZXN0Ojpkb2N1bWVudCgpIGNv
bnN0CiAgICAgcmV0dXJuIGRvd25jYXN0PERvY3VtZW50PihzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCkpOwogfQogCi12b2lkIFVzZXJNZWRpYVJlcXVlc3Q6Om1lZGlhU3RyZWFtRGlkRmFpbChSZWFs
dGltZU1lZGlhU291cmNlOjpUeXBlIHR5cGUpCi17Ci0gICAgUkVMRUFTRV9MT0coTWVkaWFTdHJl
YW0sICJVc2VyTWVkaWFSZXF1ZXN0OjptZWRpYVN0cmVhbURpZEZhaWwiKTsKLSAgICBjb25zdCBj
aGFyKiB0eXBlRGVzY3JpcHRpb24gPSAiIjsKLSAgICBzd2l0Y2ggKHR5cGUpIHsKLSAgICBjYXNl
IFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OkF1ZGlvOgotICAgICAgICB0eXBlRGVzY3JpcHRp
b24gPSAiYXVkaW8iOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3Vy
Y2U6OlR5cGU6OlZpZGVvOgotICAgICAgICB0eXBlRGVzY3JpcHRpb24gPSAidmlkZW8iOwotICAg
ICAgICBicmVhazsKLSAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlNjcmVlbjoK
LSAgICAgICAgdHlwZURlc2NyaXB0aW9uID0gInNjcmVlbiI7Ci0gICAgICAgIGJyZWFrOwotICAg
IGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6V2luZG93OgotICAgICAgICB0eXBlRGVz
Y3JpcHRpb24gPSAid2luZG93IjsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBSZWFsdGltZU1l
ZGlhU291cmNlOjpUeXBlOjpTeXN0ZW1BdWRpbzoKLSAgICAgICAgdHlwZURlc2NyaXB0aW9uID0g
InN5c3RlbSBhdWRpbyI7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNv
dXJjZTo6VHlwZTo6Tm9uZToKLSAgICAgICAgdHlwZURlc2NyaXB0aW9uID0gInVua25vd24iOwot
ICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgbV9wcm9taXNlLT5yZWplY3QoTm90UmVhZGFibGVF
cnJvciwgbWFrZVN0cmluZygiRmFpbGVkIHN0YXJ0aW5nIGNhcHR1cmUgb2YgYSAiX3MsIHR5cGVE
ZXNjcmlwdGlvbiwgIiB0cmFjayJfcykpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
ICNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuaAppbmRleCA5Y2M3YTJiZDY4
MmI1NTk2MGI5ZjQxMGJhNjA5YmM2Y2VkNGM4OTQyLi40OWRlNjJjN2Q1MGViODQzOTIwMjI1ZjJj
MjEyNTUyMmE3ZDFmYmI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuaApAQCAtODQsOCArODQsNiBAQCBwcml2YXRlOgog
ICAgIHZvaWQgc3RvcCgpIGZpbmFsOwogICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5h
bWUoKSBjb25zdCBmaW5hbDsKIAotICAgIHZvaWQgbWVkaWFTdHJlYW1EaWRGYWlsKFJlYWx0aW1l
TWVkaWFTb3VyY2U6OlR5cGUpOwotCiAgICAgVXNlck1lZGlhUmVxdWVzdElkZW50aWZpZXIgbV9p
ZGVudGlmaWVyOwogCiAgICAgVmVjdG9yPFN0cmluZz4gbV92aWRlb0RldmljZVVJRHM7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2dzdHJlYW1lci9HU3Ry
ZWFtZXJNZWRpYUVuZHBvaW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vZ3N0cmVhbWVyL0dTdHJlYW1lck1lZGlhRW5kcG9pbnQuY3BwCmluZGV4IGJiYTQyOTRmOTk1
MDgyMDA0ZDI3N2Q2MDE0MTliYTM1MjM2OTNmMjcuLjFhZTYyMjk4NThmZTRlOWNlNjgzYzMyYzJl
NmFiN2I5MDE4YjgwNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vZ3N0cmVhbWVyL0dTdHJlYW1lck1lZGlhRW5kcG9pbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL0dTdHJlYW1lck1lZGlhRW5kcG9p
bnQuY3BwCkBAIC01ODYsNyArNTg2LDcgQEAgYm9vbCBHU3RyZWFtZXJNZWRpYUVuZHBvaW50Ojph
ZGRUcmFjayhHU3RyZWFtZXJSdHBTZW5kZXJCYWNrZW5kJiBzZW5kZXIsIE1lZGlhU3QKICAgICBH
U3RyZWFtZXJSdHBTZW5kZXJCYWNrZW5kOjpTb3VyY2Ugc291cmNlOwogICAgIEdSZWZQdHI8R3N0
V2ViUlRDUlRQU2VuZGVyPiBydGNTZW5kZXI7CiAKLSAgICBpZiAodHJhY2sucHJpdmF0ZVRyYWNr
KCkuaGFzQXVkaW8oKSkgeworICAgIGlmICh0cmFjay5wcml2YXRlVHJhY2soKS5pc0F1ZGlvKCkp
IHsKICAgICAgICAgR1NUX0RFQlVHX09CSkVDVChtX3BpcGVsaW5lLmdldCgpLCAiQWRkaW5nIG91
dGdvaW5nIGF1ZGlvIHNvdXJjZSIpOwogICAgICAgICBhdXRvIGF1ZGlvU291cmNlID0gUmVhbHRp
bWVPdXRnb2luZ0F1ZGlvU291cmNlR1N0cmVhbWVyOjpjcmVhdGUodHJhY2sucHJpdmF0ZVRyYWNr
KCkpOwogICAgICAgICBjb25maWd1cmVBbmRMaW5rU291cmNlKGF1ZGlvU291cmNlKTsKQEAgLTU5
NCw3ICs1OTQsNyBAQCBib29sIEdTdHJlYW1lck1lZGlhRW5kcG9pbnQ6OmFkZFRyYWNrKEdTdHJl
YW1lclJ0cFNlbmRlckJhY2tlbmQmIHNlbmRlciwgTWVkaWFTdAogICAgICAgICBydGNTZW5kZXIg
PSBhdWRpb1NvdXJjZS0+c2VuZGVyKCk7CiAgICAgICAgIHNvdXJjZSA9IFdURk1vdmUoYXVkaW9T
b3VyY2UpOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIEFTU0VSVCh0cmFjay5wcml2YXRlVHJhY2so
KS5oYXNWaWRlbygpKTsKKyAgICAgICAgQVNTRVJUKHRyYWNrLnByaXZhdGVUcmFjaygpLmlzVmlk
ZW8oKSk7CiAgICAgICAgIEdTVF9ERUJVR19PQkpFQ1QobV9waXBlbGluZS5nZXQoKSwgIkFkZGlu
ZyBvdXRnb2luZyB2aWRlbyBzb3VyY2UiKTsKICAgICAgICAgYXV0byB2aWRlb1NvdXJjZSA9IFJl
YWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUdTdHJlYW1lcjo6Y3JlYXRlKHRyYWNrLnByaXZhdGVU
cmFjaygpKTsKICAgICAgICAgY29uZmlndXJlQW5kTGlua1NvdXJjZSh2aWRlb1NvdXJjZSk7CkBA
IC04ODAsMTAgKzg4MCwxMCBAQCBzdGQ6Om9wdGlvbmFsPEdTdHJlYW1lck1lZGlhRW5kcG9pbnQ6
OkJhY2tlbmRzPiBHU3RyZWFtZXJNZWRpYUVuZHBvaW50OjphZGRUcmFucwogCiBHU3RyZWFtZXJS
dHBTZW5kZXJCYWNrZW5kOjpTb3VyY2UgR1N0cmVhbWVyTWVkaWFFbmRwb2ludDo6Y3JlYXRlU291
cmNlRm9yVHJhY2soTWVkaWFTdHJlYW1UcmFjayYgdHJhY2spCiB7Ci0gICAgaWYgKHRyYWNrLnBy
aXZhdGVUcmFjaygpLmhhc0F1ZGlvKCkpCisgICAgaWYgKHRyYWNrLnByaXZhdGVUcmFjaygpLmlz
QXVkaW8oKSkKICAgICAgICAgcmV0dXJuIFJlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZUdTdHJl
YW1lcjo6Y3JlYXRlKHRyYWNrLnByaXZhdGVUcmFjaygpKTsKIAotICAgIEFTU0VSVCh0cmFjay5w
cml2YXRlVHJhY2soKS5oYXNWaWRlbygpKTsKKyAgICBBU1NFUlQodHJhY2sucHJpdmF0ZVRyYWNr
KCkuaXNWaWRlbygpKTsKICAgICByZXR1cm4gUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlR1N0
cmVhbWVyOjpjcmVhdGUodHJhY2sucHJpdmF0ZVRyYWNrKCkpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENNZWRp
YUVuZHBvaW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2Vi
cnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwCmluZGV4IDVjM2MyMmM3NTY2ZTIxOWYxZTAy
NGUzNWQ4ZjJhZWE4YjMwMjE1NmYuLmZhMDQ2YjUzMDY3YWE5NzFkYzBlOTk1ZjdiOGQ1ODMxOGE5
YzljNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGli
d2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwCkBA
IC0yMDQsMTIgKzIwNCw2IEBAIGJvb2wgTGliV2ViUlRDTWVkaWFFbmRwb2ludDo6YWRkVHJhY2so
TGliV2ViUlRDUnRwU2VuZGVyQmFja2VuZCYgc2VuZGVyLCBNZWRpYVN0CiAgICAgICAgIHNvdXJj
ZSA9IFdURk1vdmUodmlkZW9Tb3VyY2UpOwogICAgICAgICBicmVhazsKICAgICB9Ci0gICAgY2Fz
ZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpTY3JlZW46Ci0gICAgY2FzZSBSZWFsdGltZU1l
ZGlhU291cmNlOjpUeXBlOjpXaW5kb3c6Ci0gICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpU
eXBlOjpTeXN0ZW1BdWRpbzoKLSAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6Ok5v
bmU6Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICByZXR1cm4gZmFsc2U7
CiAgICAgfQogCiAgICAgc2VuZGVyLnNldFNvdXJjZShXVEZNb3ZlKHNvdXJjZSkpOwpAQCAtNDE2
LDE4ICs0MTAsMTIgQEAgc3RkOjpwYWlyPExpYldlYlJUQ1J0cFNlbmRlckJhY2tlbmQ6OlNvdXJj
ZSwgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6TWVkaWFTdHIKICAgICBMaWJXZWJSVENSdHBT
ZW5kZXJCYWNrZW5kOjpTb3VyY2Ugc291cmNlOwogICAgIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJy
dGM6Ok1lZGlhU3RyZWFtVHJhY2tJbnRlcmZhY2U+IHJ0Y1RyYWNrOwogICAgIHN3aXRjaCAodHJh
Y2sucHJpdmF0ZVRyYWNrKCkudHlwZSgpKSB7Ci0gICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNl
OjpUeXBlOjpOb25lOgotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgYnJl
YWs7Ci0gICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpTeXN0ZW1BdWRpbzoKICAg
ICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OkF1ZGlvOiB7CiAgICAgICAgIGF1dG8g
YXVkaW9Tb3VyY2UgPSBSZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2U6OmNyZWF0ZSh0cmFjay5w
cml2YXRlVHJhY2soKSk7CiAgICAgICAgIHJ0Y1RyYWNrID0gbV9wZWVyQ29ubmVjdGlvbkZhY3Rv
cnktPkNyZWF0ZUF1ZGlvVHJhY2sodHJhY2suaWQoKS51dGY4KCkuZGF0YSgpLCBhdWRpb1NvdXJj
ZS5wdHIoKSk7CiAgICAgICAgIHNvdXJjZSA9IFdURk1vdmUoYXVkaW9Tb3VyY2UpOwogICAgICAg
ICBicmVhazsKICAgICB9Ci0gICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpTY3Jl
ZW46Ci0gICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpXaW5kb3c6CiAgICAgY2Fz
ZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpWaWRlbzogewogICAgICAgICBhdXRvIHZpZGVv
U291cmNlID0gUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlOjpjcmVhdGUodHJhY2sucHJpdmF0
ZVRyYWNrKCkpOwogICAgICAgICBydGNUcmFjayA9IG1fcGVlckNvbm5lY3Rpb25GYWN0b3J5LT5D
cmVhdGVWaWRlb1RyYWNrKHRyYWNrLmlkKCkudXRmOCgpLmRhdGEoKSwgdmlkZW9Tb3VyY2UucHRy
KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tCmluZGV4IDQ2ODg3Njk1MjYxNzE2MmRkMjE1
MGI0MjI0MjMxYzdkNTNhMmYzNjMuLjJiM2E5MTc4NWYwOTQxZmNiMWNjNzgxNWIyM2QxOTg0Yzk3
YmU4NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW0KQEAgLTgzNiw3ICs4MzYsNyBAQCB2
b2lkIHVwZGF0ZVRyYWNrc09mS2luZChIYXNoTWFwPFN0cmluZywgUmVmVD4mIHRyYWNrTWFwLCBU
cmFja0tpbmQgdHJhY2tLaW5kLCBNZQogCiAgICAgYm9vbCB3YW50c1ZpZGVvID0gdHJhY2tLaW5k
ID09IFRyYWNrS2luZDo6VmlkZW87CiAgICAgZm9yIChjb25zdCBhdXRvJiB0cmFjayA6IGN1cnJl
bnRUcmFja3MpIHsKLSAgICAgICAgaWYgKHdhbnRzVmlkZW8gIT0gdHJhY2stPmhhc1ZpZGVvKCkp
CisgICAgICAgIGlmICh3YW50c1ZpZGVvICE9IHRyYWNrLT5pc1ZpZGVvKCkpCiAgICAgICAgICAg
ICBjb250aW51ZTsKIAogICAgICAgICBpZiAoIXRyYWNrTWFwLmNvbnRhaW5zKHRyYWNrLT5pZCgp
KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVk
aWFSZWNvcmRlclByaXZhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNv
cmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHAKaW5kZXggZDI1ZDdmNDQzZmVjZGE2ODc5ZjM2
MzlhMzI0MzJiY2ZlMjdmZjA4ZC4uOTZlYjcwZjI5MmE4MDI1NDU0NmZlN2FmMDRhODA2MWVkNzhi
ZDc5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9N
ZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHAKQEAgLTQ0LDggKzQ0LDYgQEAgTWVk
aWFSZWNvcmRlclByaXZhdGU6OkF1ZGlvVmlkZW9TZWxlY3RlZFRyYWNrcyBNZWRpYVJlY29yZGVy
UHJpdmF0ZTo6c2VsZWN0VHJhY2sKICAgICAgICAgaWYgKHRyYWNrLmVuZGVkKCkpCiAgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgIHN3aXRjaCAodHJhY2sudHlwZSgpKSB7Ci0gICAgICAgIGNh
c2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6U2NyZWVuOgotICAgICAgICBjYXNlIFJlYWx0
aW1lTWVkaWFTb3VyY2U6OlR5cGU6OldpbmRvdzoKICAgICAgICAgY2FzZSBSZWFsdGltZU1lZGlh
U291cmNlOjpUeXBlOjpWaWRlbzogewogICAgICAgICAgICAgYXV0byYgc2V0dGluZ3MgPSB0cmFj
ay5zZXR0aW5ncygpOwogICAgICAgICAgICAgaWYgKCFzZWxlY3RlZFRyYWNrcy52aWRlb1RyYWNr
ICYmIHNldHRpbmdzLnN1cHBvcnRzV2lkdGgoKSAmJiBzZXR0aW5ncy5zdXBwb3J0c0hlaWdodCgp
KQpAQCAtNTMsMTIgKzUxLDkgQEAgTWVkaWFSZWNvcmRlclByaXZhdGU6OkF1ZGlvVmlkZW9TZWxl
Y3RlZFRyYWNrcyBNZWRpYVJlY29yZGVyUHJpdmF0ZTo6c2VsZWN0VHJhY2sKICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlw
ZTo6QXVkaW86Ci0gICAgICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6U3lzdGVt
QXVkaW86CiAgICAgICAgICAgICBpZiAoIXNlbGVjdGVkVHJhY2tzLmF1ZGlvVHJhY2spCiAgICAg
ICAgICAgICAgICAgc2VsZWN0ZWRUcmFja3MuYXVkaW9UcmFjayA9ICZ0cmFjazsKICAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6Ok5vbmU6
Ci0gICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgIH0pOwogICAgIHJldHVybiBzZWxl
Y3RlZFRyYWNrczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL01lZGlhU3RyZWFtUHJpdmF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbVByaXZhdGUuY3BwCmluZGV4IGFmNDBmNmQzYjU0ODgyZTI5Njgy
N2U1MzJhYmU0OGFlYzQxZGU0M2UuLjlmMTRlOGJkNmZmNzM4ZjEzNTBlNWQwZThhNTk4ODY5YzU2
NmMwNzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01l
ZGlhU3RyZWFtUHJpdmF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vTWVkaWFTdHJlYW1Qcml2YXRlLmNwcApAQCAtMjA4LDcgKzIwOCw3IEBAIGJvb2wgTWVk
aWFTdHJlYW1Qcml2YXRlOjppc1Byb2R1Y2luZ0RhdGEoKSBjb25zdAogYm9vbCBNZWRpYVN0cmVh
bVByaXZhdGU6Omhhc1ZpZGVvKCkgY29uc3QKIHsKICAgICBmb3IgKGF1dG8mIHRyYWNrIDogbV90
cmFja1NldC52YWx1ZXMoKSkgewotICAgICAgICBpZiAodHJhY2stPmhhc1ZpZGVvKCkgJiYgdHJh
Y2stPmlzQWN0aXZlKCkpCisgICAgICAgIGlmICh0cmFjay0+aXNWaWRlbygpICYmIHRyYWNrLT5p
c0FjdGl2ZSgpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogICAgIHJldHVybiBm
YWxzZTsKQEAgLTIxNyw3ICsyMTcsNyBAQCBib29sIE1lZGlhU3RyZWFtUHJpdmF0ZTo6aGFzVmlk
ZW8oKSBjb25zdAogYm9vbCBNZWRpYVN0cmVhbVByaXZhdGU6Omhhc0F1ZGlvKCkgY29uc3QKIHsK
ICAgICBmb3IgKGF1dG8mIHRyYWNrIDogbV90cmFja1NldC52YWx1ZXMoKSkgewotICAgICAgICBp
ZiAodHJhY2stPmhhc0F1ZGlvKCkgJiYgdHJhY2stPmlzQWN0aXZlKCkpCisgICAgICAgIGlmICh0
cmFjay0+aXNBdWRpbygpICYmIHRyYWNrLT5pc0FjdGl2ZSgpKQogICAgICAgICAgICAgcmV0dXJu
IHRydWU7CiAgICAgfQogICAgIHJldHVybiBmYWxzZTsKQEAgLTI0OCw3ICsyNDgsNyBAQCB2b2lk
IE1lZGlhU3RyZWFtUHJpdmF0ZTo6dXBkYXRlQWN0aXZlVmlkZW9UcmFjaygpCiB7CiAgICAgbV9h
Y3RpdmVWaWRlb1RyYWNrID0gbnVsbHB0cjsKICAgICBmb3IgKGF1dG8mIHRyYWNrIDogbV90cmFj
a1NldC52YWx1ZXMoKSkgewotICAgICAgICBpZiAoIXRyYWNrLT5lbmRlZCgpICYmIHRyYWNrLT5o
YXNWaWRlbygpKSB7CisgICAgICAgIGlmICghdHJhY2stPmVuZGVkKCkgJiYgdHJhY2stPmlzVmlk
ZW8oKSkgewogICAgICAgICAgICAgbV9hY3RpdmVWaWRlb1RyYWNrID0gdHJhY2suZ2V0KCk7CiAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgfQpAQCAtMzEzLDcgKzMxMyw3IEBAIHZvaWQgTWVk
aWFTdHJlYW1Qcml2YXRlOjp0cmFja0VuZGVkKE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlJiB0cmFj
aykKIHZvaWQgTWVkaWFTdHJlYW1Qcml2YXRlOjptb25pdG9yT3JpZW50YXRpb24oT3JpZW50YXRp
b25Ob3RpZmllciYgbm90aWZpZXIpCiB7CiAgICAgZm9yIChhdXRvJiB0cmFjayA6IG1fdHJhY2tT
ZXQudmFsdWVzKCkpIHsKLSAgICAgICAgaWYgKHRyYWNrLT5zb3VyY2UoKS5pc0NhcHR1cmVTb3Vy
Y2UoKSAmJiB0cmFjay0+dHlwZSgpID09IFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlZpZGVv
KQorICAgICAgICBpZiAodHJhY2stPnNvdXJjZSgpLmlzQ2FwdHVyZVNvdXJjZSgpICYmIHRyYWNr
LT5kZXZpY2VUeXBlKCkgPT0gQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6Q2FtZXJhKQogICAg
ICAgICAgICAgdHJhY2stPnNvdXJjZSgpLm1vbml0b3JPcmllbnRhdGlvbihub3RpZmllcik7CiAg
ICAgfQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
TWVkaWFTdHJlYW1UcmFja1ByaXZhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUuY3BwCmluZGV4IDE4MjY2ZjEyMmM0YjE4
Njc0YTFmNzliYWI5MWYwNTQ5NjdmY2I3MDAuLjcxZWQ4ZjhkMzk1MTViMGQxZjZhODEwYjdhYmU3
MzJiMWE0ZDA0MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL01lZGlhU3RyZWFtVHJhY2tQcml2YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZS5jcHAKQEAgLTE3MywxMSAr
MTczLDYgQEAgUmVmPE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlPiBNZWRpYVN0cmVhbVRyYWNrUHJp
dmF0ZTo6Y2xvbmUoKQogICAgIHJldHVybiBjbG9uZWRNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZTsK
IH0KIAotUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZTo6
dHlwZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fc291cmNlLT50eXBlKCk7Ci19Ci0KIGNvbnN0
IFJlYWx0aW1lTWVkaWFTb3VyY2VTZXR0aW5ncyYgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGU6OnNl
dHRpbmdzKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9zb3VyY2UtPnNldHRpbmdzKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRy
YWNrUHJpdmF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFT
dHJlYW1UcmFja1ByaXZhdGUuaAppbmRleCBkZDJlMTQ5ZjgxM2IxZDc2MGVkZGE1ODhiZGJiYjQy
MTA3YzI5MjFlLi43NTc1OTMwYmIwNmEwZjM0MDg1NzM3OTMzNjBkODY5ZTI5NzU4ZGFkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRy
YWNrUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01l
ZGlhU3RyZWFtVHJhY2tQcml2YXRlLmgKQEAgLTk1LDkgKzk1LDEwIEBAIHB1YmxpYzoKIAogICAg
IFJlYWx0aW1lTWVkaWFTb3VyY2UmIHNvdXJjZSgpIHsgcmV0dXJuIG1fc291cmNlLmdldCgpOyB9
CiAgICAgY29uc3QgUmVhbHRpbWVNZWRpYVNvdXJjZSYgc291cmNlKCkgY29uc3QgeyByZXR1cm4g
bV9zb3VyY2UuZ2V0KCk7IH0KLSAgICBXRUJDT1JFX0VYUE9SVCBSZWFsdGltZU1lZGlhU291cmNl
OjpUeXBlIHR5cGUoKSBjb25zdDsKLSAgICBib29sIGhhc1ZpZGVvKCkgY29uc3QgeyByZXR1cm4g
bV9zb3VyY2UtPmhhc1ZpZGVvKCk7IH0KLSAgICBib29sIGhhc0F1ZGlvKCkgY29uc3QgeyByZXR1
cm4gbV9zb3VyY2UtPmhhc0F1ZGlvKCk7IH0KKyAgICBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBl
IHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3NvdXJjZS0+dHlwZSgpOyB9CisgICAgQ2FwdHVyZURl
dmljZTo6RGV2aWNlVHlwZSBkZXZpY2VUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9zb3VyY2UtPmRl
dmljZVR5cGUoKTsgfQorICAgIGJvb2wgaXNWaWRlbygpIGNvbnN0IHsgcmV0dXJuIG1fc291cmNl
LT5pc1ZpZGVvKCk7IH0KKyAgICBib29sIGlzQXVkaW8oKSBjb25zdCB7IHJldHVybiBtX3NvdXJj
ZS0+aXNBdWRpbygpOyB9CiAKICAgICB2b2lkIGVuZFRyYWNrKCk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJj
ZS5jcHAKaW5kZXggNTk0Y2RlMWExMzk2NmNkZTYwOGVmMWY2Y2U2Y2IwNDkwODhiNjZhYi4uMDY0
NDNkMjg1YmE5ZmZjOWU1ZWYxMjE0ODAzNjdhOWMwOTE2Y2U2YSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJj
ZS5jcHAKQEAgLTExNDQsMTkgKzExNDQsMTEgQEAgV1RGTG9nQ2hhbm5lbCYgUmVhbHRpbWVNZWRp
YVNvdXJjZTo6bG9nQ2hhbm5lbCgpIGNvbnN0CiBTdHJpbmcgY29udmVydEVudW1lcmF0aW9uVG9T
dHJpbmcoUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSBlbnVtZXJhdGlvblZhbHVlKQogewogICAg
IHN0YXRpYyBjb25zdCBOZXZlckRlc3Ryb3llZDxTdHJpbmc+IHZhbHVlc1tdID0gewotICAgICAg
ICBNQUtFX1NUQVRJQ19TVFJJTkdfSU1QTCgiTm9uZSIpLAogICAgICAgICBNQUtFX1NUQVRJQ19T
VFJJTkdfSU1QTCgiQXVkaW8iKSwKLSAgICAgICAgTUFLRV9TVEFUSUNfU1RSSU5HX0lNUEwoIlZp
ZGVvIiksCi0gICAgICAgIE1BS0VfU1RBVElDX1NUUklOR19JTVBMKCJTY3JlZW4iKSwKLSAgICAg
ICAgTUFLRV9TVEFUSUNfU1RSSU5HX0lNUEwoIldpbmRvdyIpLAotICAgICAgICBNQUtFX1NUQVRJ
Q19TVFJJTkdfSU1QTCgiU3lzdGVtQXVkaW8iKSwKKyAgICAgICAgTUFLRV9TVEFUSUNfU1RSSU5H
X0lNUEwoIlZpZGVvIikKICAgICB9OwotICAgIHN0YXRpY19hc3NlcnQoc3RhdGljX2Nhc3Q8c2l6
ZV90PihSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpOb25lKSA9PSAwLCAiUmVhbHRpbWVNZWRp
YVNvdXJjZTo6VHlwZTo6Tm9uZSBpcyBub3QgMCBhcyBleHBlY3RlZCIpOwotICAgIHN0YXRpY19h
c3NlcnQoc3RhdGljX2Nhc3Q8c2l6ZV90PihSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpBdWRp
bykgPT0gMSwgIlJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OkF1ZGlvIGlzIG5vdCAxIGFzIGV4
cGVjdGVkIik7Ci0gICAgc3RhdGljX2Fzc2VydChzdGF0aWNfY2FzdDxzaXplX3Q+KFJlYWx0aW1l
TWVkaWFTb3VyY2U6OlR5cGU6OlZpZGVvKSA9PSAyLCAiUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlw
ZTo6VmlkZW8gaXMgbm90IDIgYXMgZXhwZWN0ZWQiKTsKLSAgICBzdGF0aWNfYXNzZXJ0KHN0YXRp
Y19jYXN0PHNpemVfdD4oUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6U2NyZWVuKSA9PSAzLCAi
UmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6U2NyZWVuIGlzIG5vdCAzIGFzIGV4cGVjdGVkIik7
Ci0gICAgc3RhdGljX2Fzc2VydChzdGF0aWNfY2FzdDxzaXplX3Q+KFJlYWx0aW1lTWVkaWFTb3Vy
Y2U6OlR5cGU6OldpbmRvdykgPT0gNCwgIlJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OldpbmRv
dyBpcyBub3QgNCBhcyBleHBlY3RlZCIpOwotICAgIHN0YXRpY19hc3NlcnQoc3RhdGljX2Nhc3Q8
c2l6ZV90PihSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpTeXN0ZW1BdWRpbykgPT0gNSwgIlJl
YWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlN5c3RlbUF1ZGlvIGlzIG5vdCA1IGFzIGV4cGVjdGVk
Iik7CisgICAgc3RhdGljX2Fzc2VydChzdGF0aWNfY2FzdDxzaXplX3Q+KFJlYWx0aW1lTWVkaWFT
b3VyY2U6OlR5cGU6OkF1ZGlvKSA9PSAwLCAiUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6QXVk
aW8gaXMgbm90IDAgYXMgZXhwZWN0ZWQiKTsKKyAgICBzdGF0aWNfYXNzZXJ0KHN0YXRpY19jYXN0
PHNpemVfdD4oUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6VmlkZW8pID09IDEsICJSZWFsdGlt
ZU1lZGlhU291cmNlOjpUeXBlOjpWaWRlbyBpcyBub3QgMSBhcyBleHBlY3RlZCIpOwogICAgIEFT
U0VSVChzdGF0aWNfY2FzdDxzaXplX3Q+KGVudW1lcmF0aW9uVmFsdWUpIDwgV1RGX0FSUkFZX0xF
TkdUSCh2YWx1ZXMpKTsKICAgICByZXR1cm4gdmFsdWVzW3N0YXRpY19jYXN0PHNpemVfdD4oZW51
bWVyYXRpb25WYWx1ZSldOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZS5oCmluZGV4IDk4NmUxNDQ2YTg4NDg1
ZDJmODk1OTQ1NmUyM2Y2OWRhZTU2MzFiYWMuLmIyY2JmZTI1YjllN2UzNGFkMTYxNTBiMDgyNmI5
NGNlZDU1NDVjOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlLmgKQEAgLTExNSwxMCArMTE1LDEwIEBAIHB1
YmxpYzoKIAogICAgIGNvbnN0IFN0cmluZyYgcGVyc2lzdGVudElEKCkgY29uc3QgeyByZXR1cm4g
bV9wZXJzaXN0ZW50SUQ7IH0KIAotICAgIGVudW0gY2xhc3MgVHlwZSB7IE5vbmUsIEF1ZGlvLCBW
aWRlbywgU2NyZWVuLCBXaW5kb3csIFN5c3RlbUF1ZGlvIH07CisgICAgZW51bSBjbGFzcyBUeXBl
IDogYm9vbCB7IEF1ZGlvLCBWaWRlbyB9OwogICAgIFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJu
IG1fdHlwZTsgfQotICAgIGJvb2wgaGFzVmlkZW8oKSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0g
VHlwZTo6VmlkZW8gfHwgbV90eXBlID09IFR5cGU6OldpbmRvdyB8fCBtX3R5cGUgPT0gVHlwZTo6
U2NyZWVuOyB9Ci0gICAgYm9vbCBoYXNBdWRpbygpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBU
eXBlOjpBdWRpbyB8fCBtX3R5cGUgPT0gVHlwZTo6U3lzdGVtQXVkaW87IH0KKyAgICBib29sIGlz
VmlkZW8oKSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0gVHlwZTo6VmlkZW87IH0KKyAgICBib29s
IGlzQXVkaW8oKSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0gVHlwZTo6QXVkaW87IH0KIAogICAg
IHZpcnR1YWwgdm9pZCB3aGVuUmVhZHkoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChTdHJpbmcpPiYm
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY29j
b2EvRGlzcGxheUNhcHR1cmVTb3VyY2VDb2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9jb2NvYS9EaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29hLmNwcAppbmRleCA0
MDMwNGFiZTY5MDZjYjFmMzRjNzBhZDJjNjBkNDA4ZjZiYjdiOTg1Li4zOWI3ZDAxMGZmNjQ4NDVh
NDczNzc3Yzg2MzcyYWM5ZThkNWNhNzc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9jb2NvYS9EaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29hLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9jb2NvYS9EaXNwbGF5Q2FwdHVy
ZVNvdXJjZUNvY29hLmNwcApAQCAtNTksMzAgKzU5LDYgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1zdGF0aWMgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSBzb3VyY2VUeXBlRm9yRGV2aWNl
KENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGUgdHlwZSkKLXsKLSAgICBzd2l0Y2ggKHR5cGUpIHsK
LSAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OlNjcmVlbjoKLSAgICAgICAgcmV0
dXJuIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlNjcmVlbjsKLSAgICBjYXNlIENhcHR1cmVE
ZXZpY2U6OkRldmljZVR5cGU6OldpbmRvdzoKLSAgICAgICAgcmV0dXJuIFJlYWx0aW1lTWVkaWFT
b3VyY2U6OlR5cGU6OldpbmRvdzsKLSAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6
OlN5c3RlbUF1ZGlvOgotICAgICAgICByZXR1cm4gUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6
U3lzdGVtQXVkaW87Ci0gICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpNaWNyb3Bo
b25lOgotICAgICAgICByZXR1cm4gUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6QXVkaW87Ci0g
ICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpDYW1lcmE6Ci0gICAgICAgIHJldHVy
biBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpWaWRlbzsKLSAgICBjYXNlIENhcHR1cmVEZXZp
Y2U6OkRldmljZVR5cGU6OlNwZWFrZXI6Ci0gICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VU
eXBlOjpVbmtub3duOgotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmV0
dXJuIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6Ok5vbmU7Ci0gICAgICAgIGJyZWFrOwotICAg
IH0KLQotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBSZWFsdGltZU1lZGlh
U291cmNlOjpUeXBlOjpOb25lOwotfQotCiBDYXB0dXJlU291cmNlT3JFcnJvciBEaXNwbGF5Q2Fw
dHVyZVNvdXJjZUNvY29hOjpjcmVhdGUoY29uc3QgQ2FwdHVyZURldmljZSYgZGV2aWNlLCBTdHJp
bmcmJiBoYXNoU2FsdCwgY29uc3QgTWVkaWFDb25zdHJhaW50cyogY29uc3RyYWludHMsIFBhZ2VJ
ZGVudGlmaWVyIHBhZ2VJZGVudGlmaWVyKQogewogICAgIHN3aXRjaCAoZGV2aWNlLnR5cGUoKSkg
ewpAQCAtMTMwLDcgKzEwNiw3IEBAIENhcHR1cmVTb3VyY2VPckVycm9yIERpc3BsYXlDYXB0dXJl
U291cmNlQ29jb2E6OmNyZWF0ZShFeHBlY3RlZDxVbmlxdWVSZWY8Q2FwdHVyCiB9CiAKIERpc3Bs
YXlDYXB0dXJlU291cmNlQ29jb2E6OkRpc3BsYXlDYXB0dXJlU291cmNlQ29jb2EoVW5pcXVlUmVm
PENhcHR1cmVyPiYmIGNhcHR1cmVyLCBTdHJpbmcmJiBuYW1lLCBTdHJpbmcmJiBkZXZpY2VJRCwg
U3RyaW5nJiYgaGFzaFNhbHQsIFBhZ2VJZGVudGlmaWVyIHBhZ2VJZGVudGlmaWVyKQotICAgIDog
UmVhbHRpbWVNZWRpYVNvdXJjZShzb3VyY2VUeXBlRm9yRGV2aWNlKGNhcHR1cmVyLT5kZXZpY2VU
eXBlKCkpLCBXVEZNb3ZlKG5hbWUpLCBXVEZNb3ZlKGRldmljZUlEKSwgV1RGTW92ZShoYXNoU2Fs
dCksIHBhZ2VJZGVudGlmaWVyKQorICAgIDogUmVhbHRpbWVNZWRpYVNvdXJjZShSZWFsdGltZU1l
ZGlhU291cmNlOjpUeXBlOjpWaWRlbywgV1RGTW92ZShuYW1lKSwgV1RGTW92ZShkZXZpY2VJRCks
IFdURk1vdmUoaGFzaFNhbHQpLCBwYWdlSWRlbnRpZmllcikKICAgICAsIG1fY2FwdHVyZXIoV1RG
TW92ZShjYXB0dXJlcikpCiAgICAgLCBtX3RpbWVyKFJ1bkxvb3A6OmN1cnJlbnQoKSwgdGhpcywg
JkRpc3BsYXlDYXB0dXJlU291cmNlQ29jb2E6OmVtaXRGcmFtZSkKIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9HU3RyZWFtZXJNZWRp
YVN0cmVhbVNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9n
c3RyZWFtZXIvR1N0cmVhbWVyTWVkaWFTdHJlYW1Tb3VyY2UuY3BwCmluZGV4IDg0NzM3MDQxZTI3
YmNhOTRlZWJkODQ5Y2IyNjFmODVmNmZkNmU1NDIuLjU3ZThkZmZkNjJkMDk1YjNhNWIxY2I1NjFj
ZGNlYWQ0NmQxNGI1Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL2dzdHJlYW1lci9HU3RyZWFtZXJNZWRpYVN0cmVhbVNvdXJjZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL0dTdHJlYW1lck1lZGlh
U3RyZWFtU291cmNlLmNwcApAQCAtNjIsOSArNjIsOSBAQCBHUmVmUHRyPEdzdFRhZ0xpc3Q+IG1l
ZGlhU3RyZWFtVHJhY2tQcml2YXRlR2V0VGFncyhjb25zdCBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0
ZQogICAgIGlmICghdHJhY2stPmxhYmVsKCkuaXNFbXB0eSgpKQogICAgICAgICBnc3RfdGFnX2xp
c3RfYWRkKHRhZ0xpc3QuZ2V0KCksIEdTVF9UQUdfTUVSR0VfQVBQRU5ELCBHU1RfVEFHX1RJVExF
LCB0cmFjay0+bGFiZWwoKS51dGY4KCkuZGF0YSgpLCBudWxscHRyKTsKIAotICAgIGlmICh0cmFj
ay0+aGFzQXVkaW8oKSkKKyAgICBpZiAodHJhY2stPmlzQXVkaW8oKSkKICAgICAgICAgZ3N0X3Rh
Z19saXN0X2FkZCh0YWdMaXN0LmdldCgpLCBHU1RfVEFHX01FUkdFX0FQUEVORCwgV0VCS0lUX01F
RElBX1RSQUNLX1RBR19LSU5ELCBzdGF0aWNfY2FzdDxpbnQ+KEF1ZGlvVHJhY2tQcml2YXRlOjpL
aW5kOjpNYWluKSwgbnVsbHB0cik7Ci0gICAgZWxzZSBpZiAodHJhY2stPmhhc1ZpZGVvKCkpIHsK
KyAgICBlbHNlIGlmICh0cmFjay0+aXNWaWRlbygpKSB7CiAgICAgICAgIGdzdF90YWdfbGlzdF9h
ZGQodGFnTGlzdC5nZXQoKSwgR1NUX1RBR19NRVJHRV9BUFBFTkQsIFdFQktJVF9NRURJQV9UUkFD
S19UQUdfS0lORCwgc3RhdGljX2Nhc3Q8aW50PihWaWRlb1RyYWNrUHJpdmF0ZTo6S2luZDo6TWFp
biksIG51bGxwdHIpOwogCiAgICAgICAgIGF1dG8mIHNldHRpbmdzID0gdHJhY2stPnNldHRpbmdz
KCk7CkBAIC04MywxMSArODMsMTEgQEAgR3N0U3RyZWFtKiB3ZWJraXRNZWRpYVN0cmVhbU5ldyhN
ZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSogdHJhY2spCiAgICAgR1JlZlB0cjxHc3RDYXBzPiBjYXBz
OwogICAgIEdzdFN0cmVhbVR5cGUgdHlwZTsKIAotICAgIGlmICh0cmFjay0+aGFzQXVkaW8oKSkg
eworICAgIGlmICh0cmFjay0+aXNBdWRpbygpKSB7CiAgICAgICAgIGNhcHMgPSBhZG9wdEdSZWYo
Z3N0X3N0YXRpY19wYWRfdGVtcGxhdGVfZ2V0X2NhcHMoJmF1ZGlvU3JjVGVtcGxhdGUpKTsKICAg
ICAgICAgdHlwZSA9IEdTVF9TVFJFQU1fVFlQRV9BVURJTzsKICAgICB9IGVsc2UgewotICAgICAg
ICBSRUxFQVNFX0FTU0VSVCgodHJhY2stPmhhc1ZpZGVvKCkpKTsKKyAgICAgICAgUkVMRUFTRV9B
U1NFUlQoKHRyYWNrLT5pc1ZpZGVvKCkpKTsKICAgICAgICAgY2FwcyA9IGFkb3B0R1JlZihnc3Rf
c3RhdGljX3BhZF90ZW1wbGF0ZV9nZXRfY2FwcygmdmlkZW9TcmNUZW1wbGF0ZSkpOwogICAgICAg
ICB0eXBlID0gR1NUX1NUUkVBTV9UWVBFX1ZJREVPOwogICAgIH0KQEAgLTEzNywxMSArMTM3LDEx
IEBAIHB1YmxpYzoKICAgICAgICAgLCBtX3BhZE5hbWUocGFkTmFtZSkKICAgICB7CiAgICAgICAg
IGNvbnN0IGNoYXIqIGVsZW1lbnROYW1lID0gbnVsbHB0cjsKLSAgICAgICAgaWYgKHRyYWNrLmhh
c0F1ZGlvKCkpIHsKKyAgICAgICAgaWYgKHRyYWNrLmlzQXVkaW8oKSkgewogICAgICAgICAgICAg
bV9hdWRpb1RyYWNrID0gQXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbTo6Y3JlYXRlKHRyYWNr
KTsKICAgICAgICAgICAgIGVsZW1lbnROYW1lID0gImF1ZGlvc3JjIjsKICAgICAgICAgfSBlbHNl
IHsKLSAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHRyYWNrLmhhc1ZpZGVvKCkpOworICAgICAg
ICAgICAgUkVMRUFTRV9BU1NFUlQodHJhY2suaXNWaWRlbygpKTsKICAgICAgICAgICAgIG1fdmlk
ZW9UcmFjayA9IFZpZGVvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW06OmNyZWF0ZSh0cmFjayk7CiAg
ICAgICAgICAgICBlbGVtZW50TmFtZSA9ICJ2aWRlb3NyYyI7CiAgICAgICAgIH0KQEAgLTE3OCw5
ICsxNzgsOSBAQCBwdWJsaWM6CiAKICAgICAgICAgR1NUX0RFQlVHX09CSkVDVChtX3NyYy5nZXQo
KSwgIlN0YXJ0aW5nIHRyYWNrL3NvdXJjZSBvYnNlcnZhdGlvbiIpOwogICAgICAgICBtX3RyYWNr
LmFkZE9ic2VydmVyKCp0aGlzKTsKLSAgICAgICAgaWYgKG1fdHJhY2suaGFzQXVkaW8oKSkKKyAg
ICAgICAgaWYgKG1fdHJhY2suaXNBdWRpbygpKQogICAgICAgICAgICAgbV90cmFjay5zb3VyY2Uo
KS5hZGRBdWRpb1NhbXBsZU9ic2VydmVyKCp0aGlzKTsKLSAgICAgICAgZWxzZSBpZiAobV90cmFj
ay5oYXNWaWRlbygpKQorICAgICAgICBlbHNlIGlmIChtX3RyYWNrLmlzVmlkZW8oKSkKICAgICAg
ICAgICAgIG1fdHJhY2suc291cmNlKCkuYWRkVmlkZW9GcmFtZU9ic2VydmVyKCp0aGlzKTsKICAg
ICAgICAgbV9pc09ic2VydmluZyA9IHRydWU7CiAgICAgfQpAQCAtMTkzLDE2ICsxOTMsMTYgQEAg
cHVibGljOgogICAgICAgICBHU1RfREVCVUdfT0JKRUNUKG1fc3JjLmdldCgpLCAiU3RvcHBpbmcg
dHJhY2svc291cmNlIG9ic2VydmF0aW9uIik7CiAgICAgICAgIG1faXNPYnNlcnZpbmcgPSBmYWxz
ZTsKIAotICAgICAgICBpZiAobV90cmFjay5oYXNBdWRpbygpKQorICAgICAgICBpZiAobV90cmFj
ay5pc0F1ZGlvKCkpCiAgICAgICAgICAgICBtX3RyYWNrLnNvdXJjZSgpLnJlbW92ZUF1ZGlvU2Ft
cGxlT2JzZXJ2ZXIoKnRoaXMpOwotICAgICAgICBlbHNlIGlmIChtX3RyYWNrLmhhc1ZpZGVvKCkp
CisgICAgICAgIGVsc2UgaWYgKG1fdHJhY2suaXNWaWRlbygpKQogICAgICAgICAgICAgbV90cmFj
ay5zb3VyY2UoKS5yZW1vdmVWaWRlb0ZyYW1lT2JzZXJ2ZXIoKnRoaXMpOwogICAgICAgICBtX3Ry
YWNrLnJlbW92ZU9ic2VydmVyKCp0aGlzKTsKICAgICB9CiAKICAgICB2b2lkIGNvbmZpZ3VyZUF1
ZGlvVHJhY2soZmxvYXQgdm9sdW1lLCBib29sIGlzTXV0ZWQsIGJvb2wgaXNQbGF5aW5nKQogICAg
IHsKLSAgICAgICAgQVNTRVJUKG1fdHJhY2suaGFzQXVkaW8oKSk7CisgICAgICAgIEFTU0VSVCht
X3RyYWNrLmlzQXVkaW8oKSk7CiAgICAgICAgIG1fYXVkaW9UcmFjay0+c2V0Vm9sdW1lKHZvbHVt
ZSk7CiAgICAgICAgIG1fYXVkaW9UcmFjay0+c2V0TXV0ZWQoaXNNdXRlZCk7CiAgICAgICAgIG1f
YXVkaW9UcmFjay0+c2V0RW5hYmxlZChtX2F1ZGlvVHJhY2stPnN0cmVhbVRyYWNrKCkuZW5hYmxl
ZCgpKTsKQEAgLTIzNywxMiArMjM3LDEyIEBAIHB1YmxpYzoKICAgICAgICAgICAgIGdzdF9wYWRf
c2V0X29mZnNldChwYWQuZ2V0KCksIC1tX2ZpcnN0QnVmZmVyUHRzKTsKICAgICAgICAgfQogCi0g
ICAgICAgIGlmIChtX3RyYWNrLmhhc1ZpZGVvKCkgJiYgZHJvcCkKKyAgICAgICAgaWYgKG1fdHJh
Y2suaXNWaWRlbygpICYmIGRyb3ApCiAgICAgICAgICAgICBkcm9wID0gZG9DYXBzSGF2ZVR5cGUo
Y2FwcywgInZpZGVvL3gtcmF3IikgfHwgR1NUX0JVRkZFUl9GTEFHX0lTX1NFVChidWZmZXIsIEdT
VF9CVUZGRVJfRkxBR19ERUxUQV9VTklUKTsKIAogICAgICAgICBpZiAoZHJvcCkgewogICAgICAg
ICAgICAgbV9uZWVkc0Rpc2NvbnQgPSB0cnVlOwotICAgICAgICAgICAgR1NUX1RSQUNFX09CSkVD
VChtX3NyYy5nZXQoKSwgIiVzIHF1ZXVlIGZ1bGwgYWxyZWFkeS4uLiBub3QgcHVzaGluZyIsIG1f
dHJhY2suaGFzVmlkZW8oKSA/ICJWaWRlbyIgOiAiQXVkaW8iKTsKKyAgICAgICAgICAgIEdTVF9U
UkFDRV9PQkpFQ1QobV9zcmMuZ2V0KCksICIlcyBxdWV1ZSBmdWxsIGFscmVhZHkuLi4gbm90IHB1
c2hpbmciLCBtX3RyYWNrLmlzVmlkZW8oKSA/ICJWaWRlbyIgOiAiQXVkaW8iKTsKICAgICAgICAg
ICAgIHJldHVybjsKICAgICAgICAgfQogCkBAIC02MjEsMTIgKzYyMSw4IEBAIHN0YXRpYyB2b2lk
IHdlYmtpdE1lZGlhU3RyZWFtU3JjRW5zdXJlU3RyZWFtQ29sbGVjdGlvblBvc3RlZChXZWJLaXRN
ZWRpYVN0cmVhbVNyCiAgICAgR1NUX0RFQlVHX09CSkVDVChzZWxmLCAiU3RyZWFtIGNvbGxlY3Rp
b24gcG9zdGVkIik7CiB9CiAKLXN0YXRpYyB2b2lkIHdlYmtpdE1lZGlhU3RyZWFtU3JjQWRkUGFk
KFdlYktpdE1lZGlhU3RyZWFtU3JjKiBzZWxmLCBHc3RQYWQqIHRhcmdldCwgR3N0U3RhdGljUGFk
VGVtcGxhdGUqIHBhZFRlbXBsYXRlLCBHUmVmUHRyPEdzdFRhZ0xpc3Q+JiYgdGFncywgUmVhbHRp
bWVNZWRpYVNvdXJjZTo6VHlwZSBzb3VyY2VUeXBlLCBjb25zdCBTdHJpbmcmIHBhZE5hbWUpCitz
dGF0aWMgdm9pZCB3ZWJraXRNZWRpYVN0cmVhbVNyY0FkZFBhZChXZWJLaXRNZWRpYVN0cmVhbVNy
Yyogc2VsZiwgR3N0UGFkKiB0YXJnZXQsIEdzdFN0YXRpY1BhZFRlbXBsYXRlKiBwYWRUZW1wbGF0
ZSwgR1JlZlB0cjxHc3RUYWdMaXN0PiYmIHRhZ3MsIGNvbnN0IFN0cmluZyYgcGFkTmFtZSkKIHsK
LSAgICBBU1NFUlQoc291cmNlVHlwZSAhPSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpOb25l
KTsKLSAgICBpZiAoc291cmNlVHlwZSA9PSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpOb25l
KQotICAgICAgICByZXR1cm47Ci0KICAgICBHU1RfREVCVUdfT0JKRUNUKHNlbGYsICIlcyBHaG9z
dGluZyAlIiBHU1RfUFRSX0ZPUk1BVCwgZ3N0X29iamVjdF9nZXRfcGF0aF9zdHJpbmcoR1NUX09C
SkVDVF9DQVNUKHNlbGYpKSwgdGFyZ2V0KTsKIAogICAgIGF1dG8qIGdob3N0UGFkID0gd2Via2l0
R3N0R2hvc3RQYWRGcm9tU3RhdGljVGVtcGxhdGUocGFkVGVtcGxhdGUsIHBhZE5hbWUuYXNjaWko
KS5kYXRhKCksIHRhcmdldCk7CkBAIC02NzgsNyArNjc0LDcgQEAgc3RhdGljIEdzdFBhZFByb2Jl
UmV0dXJuIHdlYmtpdE1lZGlhU3RyZWFtU3JjUGFkUHJvYmVDYihHc3RQYWQqIHBhZCwgR3N0UGFk
UHJvYmUKICAgICAgICAgZ3N0X2V2ZW50X3NldF9ncm91cF9pZChzdHJlYW1TdGFydCwgMSk7CiAg
ICAgICAgIGdzdF9wYWRfcHVzaF9ldmVudChwYWQsIHN0cmVhbVN0YXJ0KTsKIAotICAgICAgICB3
ZWJraXRNZWRpYVN0cmVhbVNyY0FkZFBhZChzZWxmLCBwYWQsIGRhdGEtPnBhZFRlbXBsYXRlLCBX
VEZNb3ZlKGRhdGEtPnRhZ3MpLCBkYXRhLT5zb3VyY2VUeXBlLCBkYXRhLT5wYWROYW1lKTsKKyAg
ICAgICAgd2Via2l0TWVkaWFTdHJlYW1TcmNBZGRQYWQoc2VsZiwgcGFkLCBkYXRhLT5wYWRUZW1w
bGF0ZSwgV1RGTW92ZShkYXRhLT50YWdzKSwgZGF0YS0+cGFkTmFtZSk7CiAgICAgICAgIHJldHVy
biBHU1RfUEFEX1BST0JFX1JFTU9WRTsKICAgICB9CiAgICAgZGVmYXVsdDoKQEAgLTY5NCwxMiAr
NjkwLDEyIEBAIHZvaWQgd2Via2l0TWVkaWFTdHJlYW1TcmNBZGRUcmFjayhXZWJLaXRNZWRpYVN0
cmVhbVNyYyogc2VsZiwgTWVkaWFTdHJlYW1UcmFja1ByCiAgICAgdW5zaWduZWQgY291bnRlcjsK
ICAgICBHc3RTdGF0aWNQYWRUZW1wbGF0ZSogcGFkVGVtcGxhdGU7CiAKLSAgICBpZiAodHJhY2st
Pmhhc0F1ZGlvKCkpIHsKKyAgICBpZiAodHJhY2stPmlzQXVkaW8oKSkgewogICAgICAgICBwYWRU
ZW1wbGF0ZSA9ICZhdWRpb1NyY1RlbXBsYXRlOwogICAgICAgICBzb3VyY2VUeXBlID0gImF1ZGlv
IjsKICAgICAgICAgY291bnRlciA9IHNlbGYtPnByaXYtPmF1ZGlvUGFkQ291bnRlci5leGNoYW5n
ZUFkZCgxKTsKICAgICB9IGVsc2UgewotICAgICAgICBSRUxFQVNFX0FTU0VSVCh0cmFjay0+aGFz
VmlkZW8oKSk7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKHRyYWNrLT5pc1ZpZGVvKCkpOwogICAg
ICAgICBwYWRUZW1wbGF0ZSA9ICZ2aWRlb1NyY1RlbXBsYXRlOwogICAgICAgICBzb3VyY2VUeXBl
ID0gInZpZGVvIjsKICAgICAgICAgY291bnRlciA9IHNlbGYtPnByaXYtPnZpZGVvUGFkQ291bnRl
ci5leGNoYW5nZUFkZCgxKTsKQEAgLTczMSw3ICs3MjcsNyBAQCB2b2lkIHdlYmtpdE1lZGlhU3Ry
ZWFtU3JjQWRkVHJhY2soV2ViS2l0TWVkaWFTdHJlYW1TcmMqIHNlbGYsIE1lZGlhU3RyZWFtVHJh
Y2tQcgogICAgICAgICB9KTsKICAgICB9IGVsc2UgewogICAgICAgICBnc3RfcGFkX3NldF9hY3Rp
dmUocGFkLmdldCgpLCBUUlVFKTsKLSAgICAgICAgd2Via2l0TWVkaWFTdHJlYW1TcmNBZGRQYWQo
c2VsZiwgcGFkLmdldCgpLCBwYWRUZW1wbGF0ZSwgV1RGTW92ZSh0YWdzKSwgdHJhY2stPnNvdXJj
ZSgpLnR5cGUoKSwgc291cmNlLT5wYWROYW1lKCkpOworICAgICAgICB3ZWJraXRNZWRpYVN0cmVh
bVNyY0FkZFBhZChzZWxmLCBwYWQuZ2V0KCksIHBhZFRlbXBsYXRlLCBXVEZNb3ZlKHRhZ3MpLCBz
b3VyY2UtPnBhZE5hbWUoKSk7CiAgICAgfQogICAgIGdzdF9lbGVtZW50X3N5bmNfc3RhdGVfd2l0
aF9wYXJlbnQoZWxlbWVudCk7CiAKQEAgLTc1OCw3ICs3NTQsNyBAQCB2b2lkIHdlYmtpdE1lZGlh
U3RyZWFtU3JjU2V0U3RyZWFtKFdlYktpdE1lZGlhU3RyZWFtU3JjKiBzZWxmLCBNZWRpYVN0cmVh
bVByaXZhdAogICAgIGF1dG8gdHJhY2tzID0gc3RyZWFtLT50cmFja3MoKTsKICAgICBib29sIG9u
bHlUcmFjayA9IHRyYWNrcy5zaXplKCkgPT0gMTsKICAgICBmb3IgKGF1dG8mIHRyYWNrIDogdHJh
Y2tzKSB7Ci0gICAgICAgIGlmICghaXNWaWRlb1BsYXllciAmJiB0cmFjay0+aGFzVmlkZW8oKSkK
KyAgICAgICAgaWYgKCFpc1ZpZGVvUGxheWVyICYmIHRyYWNrLT5pc1ZpZGVvKCkpCiAgICAgICAg
ICAgICBjb250aW51ZTsKICAgICAgICAgd2Via2l0TWVkaWFTdHJlYW1TcmNBZGRUcmFjayhzZWxm
LCB0cmFjay5nZXQoKSwgb25seVRyYWNrKTsKICAgICB9CkBAIC04MjksNyArODI1LDcgQEAgdm9p
ZCBJbnRlcm5hbFNvdXJjZTo6dHJhY2tFbmRlZChNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSYpCiB2
b2lkIHdlYmtpdE1lZGlhU3RyZWFtU3JjQ29uZmlndXJlQXVkaW9UcmFja3MoV2ViS2l0TWVkaWFT
dHJlYW1TcmMqIHNlbGYsIGZsb2F0IHZvbHVtZSwgYm9vbCBpc011dGVkLCBib29sIGlzUGxheWlu
ZykKIHsKICAgICBmb3IgKGF1dG8mIHNvdXJjZSA6IHNlbGYtPnByaXYtPnNvdXJjZXMpIHsKLSAg
ICAgICAgaWYgKHNvdXJjZS0+dHJhY2soKS5oYXNBdWRpbygpKQorICAgICAgICBpZiAoc291cmNl
LT50cmFjaygpLmlzQXVkaW8oKSkKICAgICAgICAgICAgIHNvdXJjZS0+Y29uZmlndXJlQXVkaW9U
cmFjayh2b2x1bWUsIGlzTXV0ZWQsIGlzUGxheWluZyk7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDRmMGJmOTllYWY3ZTY3MzNjZjQyMjI4ZGJiNGMwMGMy
MmE0NTRmMjUuLjBiNDBlODY4OGQzNTQ4NDM1MDkzMTU0Y2Y3ZmM2MDNiYmEyZDAwNzcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTU1MzEsMTYgKzU1MzEsMTEgQEAgdm9p
ZCBJbnRlcm5hbHM6OnN0b3BPYnNlcnZpbmdSZWFsdGltZU1lZGlhU291cmNlKCkKIAogICAgIHN3
aXRjaCAobV90cmFja1NvdXJjZS0+dHlwZSgpKSB7CiAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291
cmNlOjpUeXBlOjpBdWRpbzoKLSAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlN5
c3RlbUF1ZGlvOgogICAgICAgICBtX3RyYWNrU291cmNlLT5yZW1vdmVBdWRpb1NhbXBsZU9ic2Vy
dmVyKCp0aGlzKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNl
OjpUeXBlOjpWaWRlbzoKLSAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlNjcmVl
bjoKLSAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OldpbmRvdzoKICAgICAgICAg
bV90cmFja1NvdXJjZS0+cmVtb3ZlVmlkZW9GcmFtZU9ic2VydmVyKCp0aGlzKTsKICAgICAgICAg
YnJlYWs7Ci0gICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpOb25lOgotICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9CiAgICAgbV90cmFja1NvdXJjZS0+cmVtb3Zl
T2JzZXJ2ZXIoKnRoaXMpOwogCkBAIC01NTU4LDE2ICs1NTUzLDExIEBAIHZvaWQgSW50ZXJuYWxz
OjpvYnNlcnZlTWVkaWFTdHJlYW1UcmFjayhNZWRpYVN0cmVhbVRyYWNrJiB0cmFjaykKICAgICBt
X3RyYWNrU291cmNlLT5hZGRPYnNlcnZlcigqdGhpcyk7CiAgICAgc3dpdGNoIChtX3RyYWNrU291
cmNlLT50eXBlKCkpIHsKICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OkF1ZGlv
OgotICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6U3lzdGVtQXVkaW86CiAgICAg
ICAgIG1fdHJhY2tTb3VyY2UtPmFkZEF1ZGlvU2FtcGxlT2JzZXJ2ZXIoKnRoaXMpOwogICAgICAg
ICBicmVhazsKICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlZpZGVvOgotICAg
IGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6U2NyZWVuOgotICAgIGNhc2UgUmVhbHRp
bWVNZWRpYVNvdXJjZTo6VHlwZTo6V2luZG93OgogICAgICAgICBtX3RyYWNrU291cmNlLT5hZGRW
aWRlb0ZyYW1lT2JzZXJ2ZXIoKnRoaXMpOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFJlYWx0
aW1lTWVkaWFTb3VyY2U6OlR5cGU6Ok5vbmU6Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2Rl
cnMuaAppbmRleCAxNGE5MTA3N2U1MGY4MWY3ODc2YTQ4ZDA2Y2I4MTc3OTE5NGIwMjAwLi41ZWYz
ZTYzNGZjMDhhMjg5ZjI1MjE5Mzc3YTgzOWNlZTM5NzJjZTUxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaApAQCAtOTE5LDcgKzkxOSw2IEBAIHRlbXBs
YXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6SW5kZXhlZERCOjpHZXRBbGxUeXBlPiB7
CiB0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3Vy
Y2U6OlR5cGU+IHsKICAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAogICAgICAgICBXZWJD
b3JlOjpSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlLAotICAgICAgICBXZWJDb3JlOjpSZWFsdGlt
ZU1lZGlhU291cmNlOjpUeXBlOjpOb25lLAogICAgICAgICBXZWJDb3JlOjpSZWFsdGltZU1lZGlh
U291cmNlOjpUeXBlOjpBdWRpbywKICAgICAgICAgV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJj
ZTo6VHlwZTo6VmlkZW8KICAgICA+OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5LmNwcAppbmRleCBm
YzU3NDgyNDVjMWU0MjM3YTIyZWY1MzE4MjhjMDU0NWRkNzdlNTMwLi42M2Y4ZWM4NmQxZjVkNjhl
NjMxOTEwMWE1ZDJmNTlmMWQ4NjhjM2NlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5LmNwcApA
QCAtNjgsMTYgKzY4LDExIEBAIHB1YmxpYzoKICAgICAgICAgbV9zb3VyY2UtPmFkZE9ic2VydmVy
KCp0aGlzKTsKICAgICAgICAgc3dpdGNoIChtX3NvdXJjZS0+dHlwZSgpKSB7CiAgICAgICAgIGNh
c2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6QXVkaW86Ci0gICAgICAgIGNhc2UgUmVhbHRp
bWVNZWRpYVNvdXJjZTo6VHlwZTo6U3lzdGVtQXVkaW86CiAgICAgICAgICAgICBtX3NvdXJjZS0+
YWRkQXVkaW9TYW1wbGVPYnNlcnZlcigqdGhpcyk7CiAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpWaWRlbzoKLSAgICAgICAgY2FzZSBS
ZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpTY3JlZW46Ci0gICAgICAgIGNhc2UgUmVhbHRpbWVN
ZWRpYVNvdXJjZTo6VHlwZTo6V2luZG93OgogICAgICAgICAgICAgbV9zb3VyY2UtPmFkZFZpZGVv
RnJhbWVPYnNlcnZlcigqdGhpcyk7CiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBS
ZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpOb25lOgotICAgICAgICAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CiAgICAgICAgIH0KICAgICB9CiAKQEAgLTg1LDE2ICs4MCwxMSBAQCBwdWJsaWM6
CiAgICAgewogICAgICAgICBzd2l0Y2ggKG1fc291cmNlLT50eXBlKCkpIHsKICAgICAgICAgY2Fz
ZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpBdWRpbzoKLSAgICAgICAgY2FzZSBSZWFsdGlt
ZU1lZGlhU291cmNlOjpUeXBlOjpTeXN0ZW1BdWRpbzoKICAgICAgICAgICAgIG1fc291cmNlLT5y
ZW1vdmVBdWRpb1NhbXBsZU9ic2VydmVyKCp0aGlzKTsKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlZpZGVvOgotICAgICAgICBjYXNl
IFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlNjcmVlbjoKLSAgICAgICAgY2FzZSBSZWFsdGlt
ZU1lZGlhU291cmNlOjpUeXBlOjpXaW5kb3c6CiAgICAgICAgICAgICBtX3NvdXJjZS0+cmVtb3Zl
VmlkZW9GcmFtZU9ic2VydmVyKCp0aGlzKTsKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBj
YXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6Ok5vbmU6Ci0gICAgICAgICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKICAgICAgICAgfQogICAgICAgICBtX3NvdXJjZS0+cmVtb3ZlT2JzZXJ2
ZXIoKnRoaXMpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2Ev
UmVtb3RlUmVhbHRpbWVNZWRpYVNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
Y29jb2EvUmVtb3RlUmVhbHRpbWVNZWRpYVNvdXJjZS5jcHAKaW5kZXggZDk3NWFmMDU5YTMxMTEz
ZTgwNGE5MGViNGMwMTY1OTU5NjQ3ZDQ2ZS4uMjMwOGYxYzE0MTk4ODg2NDJlYTM0NDJkNjAyOTZm
NzJlYzYwNzA3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1Jl
bW90ZVJlYWx0aW1lTWVkaWFTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9jb2NvYS9SZW1vdGVSZWFsdGltZU1lZGlhU291cmNlLmNwcApAQCAtNDAsMTUgKzQwLDEyIEBA
IHN0YXRpYyBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlIHRvU291cmNlVHlwZShDYXB0dXJlRGV2
aWNlOjpEZXZpY2VUeXBlIHR5cGUpCiB7CiAgICAgc3dpdGNoICh0eXBlKSB7CiAgICAgY2FzZSBD
YXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpNaWNyb3Bob25lOgorICAgIGNhc2UgQ2FwdHVyZURl
dmljZTo6RGV2aWNlVHlwZTo6U3lzdGVtQXVkaW86CiAgICAgICAgIHJldHVybiBSZWFsdGltZU1l
ZGlhU291cmNlOjpUeXBlOjpBdWRpbzsKICAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5
cGU6OkNhbWVyYToKLSAgICAgICAgcmV0dXJuIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlZp
ZGVvOwogICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6U2NyZWVuOgotICAgICAg
ICByZXR1cm4gUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6U2NyZWVuOwogICAgIGNhc2UgQ2Fw
dHVyZURldmljZTo6RGV2aWNlVHlwZTo6V2luZG93OgotICAgICAgICByZXR1cm4gUmVhbHRpbWVN
ZWRpYVNvdXJjZTo6VHlwZTo6V2luZG93OwotICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNl
VHlwZTo6U3lzdGVtQXVkaW86Ci0gICAgICAgIHJldHVybiBSZWFsdGltZU1lZGlhU291cmNlOjpU
eXBlOjpTeXN0ZW1BdWRpbzsKKyAgICAgICAgcmV0dXJuIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5
cGU6OlZpZGVvOwogICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6VW5rbm93bjoK
ICAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OlNwZWFrZXI6CiAgICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>456008</attachid>
            <date>2022-03-29 02:10:50 -0700</date>
            <delta_ts>2022-03-29 04:41:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238449-20220329111047.patch</filename>
            <type>text/plain</type>
            <size>41368</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyMDI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjA2YjVmYTczZjdmYjc2
NzhmODA2MDgwNTk5NjUyMDhiNjViNzRjYS4uNTM4MzRlYTFjZWIxYzE2MGM2Njg1ZTFjNmJkOTk2
MGI3NTgzMjljMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDIyLTAzLTI4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBSZWFsdGltZU1lZGlhU291
cmNlOjpUeXBlOjpWaWRlbyBpcyBtaXNsZWFkaW5nIGFzIGl0IGlzIGFjdHVhbGx5IHJlZmVycmlu
ZyB0byBjYW1lcmEgc291cmNlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjM4NDQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgor
CisgICAgICAgIE1ha2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSBhIGJvb2xlYW4gKGF1ZGlv
IG9yIHZpZGVvKSBhbmQgdXNlIGRldmljZVR5cGUgd2hlcmV2ZXIgbW9yZSBmaW5lIGdyYWluZWQg
aW5mb3JtYXRpb24gaXMgbmVlZGVkLgorICAgICAgICBObyBjaGFuZ2Ugb2YgYmVoYXZpb3IuCisK
KyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhU3RyZWFtOjpnZXRBdWRpb1RyYWNrcyBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVN0cmVhbTo6Z2V0VmlkZW9UcmFja3MgY29uc3QpOgorICAgICAgICAqIE1v
ZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVN0cmVhbVRyYWNrOjpNZWRpYVN0cmVhbVRyYWNrKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhU3RyZWFtVHJhY2s6On5NZWRpYVN0cmVhbVRyYWNrKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhU3RyZWFtVHJhY2s6OmtpbmQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFT
dHJlYW1UcmFjazo6c2V0Q29udGVudEhpbnQpOgorICAgICAgICAoV2ViQ29yZTo6dXBkYXRlVmlk
ZW9DYXB0dXJlQWNjb3JkaW5nTWljcm9waG9uZUludGVycnVwdGlvbik6CisgICAgICAgIChXZWJD
b3JlOjp0cmFja1R5cGVGb3JNZWRpYVByb2R1Y2VyQ2FwdHVyZUtpbmQpOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFTdHJlYW1UcmFjazo6ZW5kQ2FwdHVyZSk6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVN0cmVhbVRyYWNrOjp0cmFja0VuZGVkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3Ry
ZWFtVHJhY2s6OmlzQ2FwdHVyaW5nQXVkaW8gY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvbWVk
aWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5oOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJl
YW1UcmFjazo6aXNWaWRlbyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRy
YWNrOjppc0F1ZGlvIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtVHJhY2s6
Omhhc1ZpZGVvIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFt
VHJhY2s6Omhhc0F1ZGlvIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlh
c3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VXNlck1lZGlh
UmVxdWVzdDo6bWVkaWFTdHJlYW1EaWRGYWlsKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlh
c3RyZWFtL2dzdHJlYW1lci9HU3RyZWFtZXJNZWRpYUVuZHBvaW50LmNwcDoKKyAgICAgICAgKiBN
b2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENNZWRpYUVuZHBvaW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ01lZGlhRW5kcG9pbnQ6OmFkZFRyYWNrKToKKyAg
ICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ01lZGlhRW5kcG9pbnQ6OmNyZWF0ZVNvdXJjZUFuZFJU
Q1RyYWNrKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9N
ZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW06CisgICAgICAgIChXZWJDb3Jl
Ojp1cGRhdGVUcmFja3NPZktpbmQpOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhcmVjb3JkZXIv
TWVkaWFSZWNvcmRlclByaXZhdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFSZWNvcmRl
clByaXZhdGU6OnNlbGVjdFRyYWNrcyk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0v
TWVkaWFTdHJlYW1Qcml2YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtUHJp
dmF0ZTo6aGFzVmlkZW8gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1Qcml2
YXRlOjpoYXNBdWRpbyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVByaXZh
dGU6OnVwZGF0ZUFjdGl2ZVZpZGVvVHJhY2spOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJl
YW1Qcml2YXRlOjptb25pdG9yT3JpZW50YXRpb24pOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlh
c3RyZWFtL01lZGlhU3RyZWFtVHJhY2tQcml2YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhU3RyZWFtVHJhY2tQcml2YXRlOjp0eXBlIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZS5oOgorICAgICAgICAq
IHBsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Y29udmVydEVudW1lcmF0aW9uVG9TdHJpbmcpOgorICAgICAgICAqIHBsYXRmb3Jt
L21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9jb2NvYS9EaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29hLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkRpc3BsYXlDYXB0dXJlU291cmNlQ29jb2E6OkRpc3BsYXlDYXB0dXJlU291cmNl
Q29jb2EpOgorICAgICAgICAoV2ViQ29yZTo6c291cmNlVHlwZUZvckRldmljZSk6IERlbGV0ZWQu
CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL0dTdHJlYW1lck1lZGlh
U3RyZWFtU291cmNlLmNwcDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OnN0b3BPYnNlcnZpbmdSZWFsdGltZU1lZGlhU291cmNl
KToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6b2JzZXJ2ZU1lZGlhU3RyZWFtVHJhY2sp
OgorCiAyMDIyLTAzLTI4ICBBbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbIG1hY09TICYgV2luIF0gZmFzdC9yZXBhaW50L2xpc3QtaXRlbS1lcXVhbC1zdHlsZS1jaGFu
Z2Utbm8tcmVwYWludC5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBkMzY2YTQ3
NWUwNjMzYjVkYjEwMzFmNzQ5YjNmMzc1YTczNWE4NDMwLi44MDIxOTIxMjVkNzU5MWUzNDBjNjYx
OGI2YjNlYzljMGViMTRjMjZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIyLTAzLTI4
ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBSZWFsdGltZU1l
ZGlhU291cmNlOjpUeXBlOjpWaWRlbyBpcyBtaXNsZWFkaW5nIGFzIGl0IGlzIGFjdHVhbGx5IHJl
ZmVycmluZyB0byBjYW1lcmEgc291cmNlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjM4NDQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJs
c29uLgorCisgICAgICAgICogU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6VXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eTo6U291cmNlUHJveHk6
OlNvdXJjZVByb3h5KToKKyAgICAgICAgKFdlYktpdDo6VXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQ
cm94eTo6U291cmNlUHJveHk6On5Tb3VyY2VQcm94eSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9j
b2NvYS9SZW1vdGVSZWFsdGltZU1lZGlhU291cmNlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6dG9T
b3VyY2VUeXBlKToKKwogMjAyMi0wMy0yOCAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNv
bT4KIAogICAgICAgICBBZGQgbG9nZ2luZyBhYm91dCBwcm9jZXNzIGVudGVyaW5nIGJhY2tncm91
bmQgdG8gTmV0d29ya1Byb2Nlc3M6OnByb2Nlc3NEaWRSZXN1bWUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHAKaW5kZXggNjBhZDgwYjA3
NDY0MzEzOTZjNzEyMzY1NmU4MjBiY2FlODZhYjAwZC4uNTEzNDgwZjIzNWMyMTViYzIyNWIzYWM5
YjZmNDk5NTNiOGZlNGUzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbS5jcHAKQEAgLTE1NiwxNCArMTU2LDE0IEBAIE1lZGlhU3RyZWFt
VHJhY2sqIE1lZGlhU3RyZWFtOjpnZXRUcmFja0J5SWQoU3RyaW5nIGlkKQogTWVkaWFTdHJlYW1U
cmFja1ZlY3RvciBNZWRpYVN0cmVhbTo6Z2V0QXVkaW9UcmFja3MoKSBjb25zdAogewogICAgIHJl
dHVybiBmaWx0ZXJlZFRyYWNrcyhbXSAoYXV0byYgdHJhY2spIG11dGFibGUgewotICAgICAgICBy
ZXR1cm4gdHJhY2suaGFzQXVkaW8oKTsKKyAgICAgICAgcmV0dXJuIHRyYWNrLmlzQXVkaW8oKTsK
ICAgICB9KTsKIH0KIAogTWVkaWFTdHJlYW1UcmFja1ZlY3RvciBNZWRpYVN0cmVhbTo6Z2V0Vmlk
ZW9UcmFja3MoKSBjb25zdAogewogICAgIHJldHVybiBmaWx0ZXJlZFRyYWNrcyhbXSAoYXV0byYg
dHJhY2spIG11dGFibGUgewotICAgICAgICByZXR1cm4gdHJhY2suaGFzVmlkZW8oKTsKKyAgICAg
ICAgcmV0dXJuIHRyYWNrLmlzVmlkZW8oKTsKICAgICB9KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAKaW5k
ZXggNDZkMjVlYTY0ZDViZTJjM2JkOGQwMDEwM2UwYzU0YzAwZTdhZTI5YS4uYzliN2ZjMWQ1MmZh
NmZhMjQ2M2Q1MGY1NmI4OTRlYjVlNmZiNTA0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwCkBAIC05NCw3ICs5
NCw3IEBAIE1lZGlhU3RyZWFtVHJhY2s6Ok1lZGlhU3RyZWFtVHJhY2soU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYgY29udGV4dCwgUmVmPE1lZGlhU3RyCiAgICAgbV9pc0ludGVycnVwdGVkID0gbV9w
cml2YXRlLT5zb3VyY2UoKS5pbnRlcnJ1cHRlZCgpOwogICAgIGFsbENhcHR1cmVUcmFja3MoKS5h
ZGQodGhpcyk7CiAKLSAgICBpZiAobV9wcml2YXRlLT5oYXNBdWRpbygpKQorICAgIGlmIChtX3By
aXZhdGUtPmlzQXVkaW8oKSkKICAgICAgICAgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpz
aGFyZWRNYW5hZ2VyKCkuYWRkQXVkaW9DYXB0dXJlU291cmNlKCp0aGlzKTsKIH0KIApAQCAtMTA3
LDcgKzEwNyw3IEBAIE1lZGlhU3RyZWFtVHJhY2s6On5NZWRpYVN0cmVhbVRyYWNrKCkKIAogICAg
IGFsbENhcHR1cmVUcmFja3MoKS5yZW1vdmUodGhpcyk7CiAKLSAgICBpZiAobV9wcml2YXRlLT5o
YXNBdWRpbygpKQorICAgIGlmIChtX3ByaXZhdGUtPmlzQXVkaW8oKSkKICAgICAgICAgUGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VyKCkucmVtb3ZlQXVkaW9DYXB0dXJl
U291cmNlKCp0aGlzKTsKIH0KIApAQCAtMTE2LDcgKzExNiw3IEBAIGNvbnN0IEF0b21TdHJpbmcm
IE1lZGlhU3RyZWFtVHJhY2s6OmtpbmQoKSBjb25zdAogICAgIHN0YXRpYyBNYWluVGhyZWFkTmV2
ZXJEZXN0cm95ZWQ8Y29uc3QgQXRvbVN0cmluZz4gYXVkaW9LaW5kKCJhdWRpbyIsIEF0b21TdHJp
bmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsKICAgICBzdGF0aWMgTWFpblRocmVhZE5ldmVyRGVz
dHJveWVkPGNvbnN0IEF0b21TdHJpbmc+IHZpZGVvS2luZCgidmlkZW8iLCBBdG9tU3RyaW5nOjpD
b25zdHJ1Y3RGcm9tTGl0ZXJhbCk7CiAKLSAgICBpZiAobV9wcml2YXRlLT5oYXNBdWRpbygpKQor
ICAgIGlmIChtX3ByaXZhdGUtPmlzQXVkaW8oKSkKICAgICAgICAgcmV0dXJuIGF1ZGlvS2luZDsK
ICAgICByZXR1cm4gdmlkZW9LaW5kOwogfQpAQCAtMTYwLDcgKzE2MCw3IEBAIGNvbnN0IEF0b21T
dHJpbmcmIE1lZGlhU3RyZWFtVHJhY2s6OmNvbnRlbnRIaW50KCkgY29uc3QKIHZvaWQgTWVkaWFT
dHJlYW1UcmFjazo6c2V0Q29udGVudEhpbnQoY29uc3QgU3RyaW5nJiBoaW50VmFsdWUpCiB7CiAg
ICAgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGU6OkhpbnRWYWx1ZSB2YWx1ZTsKLSAgICBpZiAobV9w
cml2YXRlLT5oYXNBdWRpbygpKSB7CisgICAgaWYgKG1fcHJpdmF0ZS0+aXNBdWRpbygpKSB7CiAg
ICAgICAgIGlmIChoaW50VmFsdWUgPT0gIiIpCiAgICAgICAgICAgICB2YWx1ZSA9IE1lZGlhU3Ry
ZWFtVHJhY2tQcml2YXRlOjpIaW50VmFsdWU6OkVtcHR5OwogICAgICAgICBlbHNlIGlmIChoaW50
VmFsdWUgPT0gInNwZWVjaCIpCkBAIC00ODUsNyArNDg1LDcgQEAgc3RhdGljIHZvaWQgdXBkYXRl
VmlkZW9DYXB0dXJlQWNjb3JkaW5nTWljcm9waG9uZUludGVycnVwdGlvbihEb2N1bWVudCYgZG9j
dW1lbnQKICAgICAgICAgaWYgKCFjYXB0dXJlVHJhY2stPmRvY3VtZW50KCkgfHwgY2FwdHVyZVRy
YWNrLT5kb2N1bWVudCgpLT5wYWdlKCkgIT0gcGFnZSkKICAgICAgICAgICAgIGNvbnRpbnVlOwog
ICAgICAgICBhdXRvJiBzb3VyY2UgPSBjYXB0dXJlVHJhY2stPnNvdXJjZSgpOwotICAgICAgICBp
ZiAoIXNvdXJjZS5pc0VuZGVkKCkgJiYgc291cmNlLnR5cGUoKSA9PSBSZWFsdGltZU1lZGlhU291
cmNlOjpUeXBlOjpWaWRlbykKKyAgICAgICAgaWYgKCFzb3VyY2UuaXNFbmRlZCgpICYmIHNvdXJj
ZS5kZXZpY2VUeXBlKCkgPT0gQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6Q2FtZXJhKQogICAg
ICAgICAgICAgc291cmNlLnNldE11dGVkKGlzTWljcm9waG9uZUludGVycnVwdGVkKTsKICAgICB9
CiB9CkBAIC01MjIsMTkgKzUyMiwyMCBAQCB2b2lkIE1lZGlhU3RyZWFtVHJhY2s6OnVwZGF0ZVRv
UGFnZU11dGVkU3RhdGUoKQogICAgIH0KIH0KIAotc3RhdGljIE1lZGlhUHJvZHVjZXJNZWRpYUNh
cHR1cmVLaW5kIHRyYWNrVHlwZUZvck1lZGlhUHJvZHVjZXJDYXB0dXJlS2luZChSZWFsdGltZU1l
ZGlhU291cmNlOjpUeXBlIHR5cGUpCitzdGF0aWMgTWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtp
bmQgdHJhY2tUeXBlRm9yTWVkaWFQcm9kdWNlckNhcHR1cmVLaW5kKENhcHR1cmVEZXZpY2U6OkRl
dmljZVR5cGUgdHlwZSkKIHsKICAgICBzd2l0Y2ggKHR5cGUpIHsKLSAgICBjYXNlIFJlYWx0aW1l
TWVkaWFTb3VyY2U6OlR5cGU6OkF1ZGlvOgorICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNl
VHlwZTo6TWljcm9waG9uZToKICAgICAgICAgcmV0dXJuIE1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1
cmVLaW5kOjpNaWNyb3Bob25lOwotICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6
U3lzdGVtQXVkaW86CisgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpTeXN0ZW1B
dWRpbzoKICAgICAgICAgcmV0dXJuIE1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpTeXN0
ZW1BdWRpbzsKLSAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlZpZGVvOgorICAg
IGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6Q2FtZXJhOgogICAgICAgICByZXR1cm4g
TWVkaWFQcm9kdWNlck1lZGlhQ2FwdHVyZUtpbmQ6OkNhbWVyYTsKLSAgICBjYXNlIFJlYWx0aW1l
TWVkaWFTb3VyY2U6OlR5cGU6OlNjcmVlbjoKLSAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6
OlR5cGU6OldpbmRvdzoKKyAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OlNjcmVl
bjoKKyAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OldpbmRvdzoKICAgICAgICAg
cmV0dXJuIE1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1cmVLaW5kOjpEaXNwbGF5OwotICAgIGNhc2Ug
UmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6Tm9uZToKKyAgICBjYXNlIENhcHR1cmVEZXZpY2U6
OkRldmljZVR5cGU6OlNwZWFrZXI6CisgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBl
OjpVbmtub3duOgogICAgICAgICBicmVhazsKICAgICB9CiAgICAgUkVMRUFTRV9BU1NFUlRfTk9U
X1JFQUNIRUQoKTsKQEAgLTU0Niw3ICs1NDcsNyBAQCB2b2lkIE1lZGlhU3RyZWFtVHJhY2s6OmVu
ZENhcHR1cmUoRG9jdW1lbnQmIGRvY3VtZW50LCBNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlSwog
ICAgIGZvciAoYXV0byogY2FwdHVyZVRyYWNrIDogYWxsQ2FwdHVyZVRyYWNrcygpKSB7CiAgICAg
ICAgIGlmIChjYXB0dXJlVHJhY2stPmRvY3VtZW50KCkgIT0gJmRvY3VtZW50KQogICAgICAgICAg
ICAgY29udGludWU7Ci0gICAgICAgIGlmIChraW5kICE9IE1lZGlhUHJvZHVjZXJNZWRpYUNhcHR1
cmVLaW5kOjpFdmVyeUtpbmQgJiYga2luZCAhPSB0cmFja1R5cGVGb3JNZWRpYVByb2R1Y2VyQ2Fw
dHVyZUtpbmQoY2FwdHVyZVRyYWNrLT5wcml2YXRlVHJhY2soKS50eXBlKCkpKQorICAgICAgICBp
ZiAoa2luZCAhPSBNZWRpYVByb2R1Y2VyTWVkaWFDYXB0dXJlS2luZDo6RXZlcnlLaW5kICYmIGtp
bmQgIT0gdHJhY2tUeXBlRm9yTWVkaWFQcm9kdWNlckNhcHR1cmVLaW5kKGNhcHR1cmVUcmFjay0+
cHJpdmF0ZVRyYWNrKCkuZGV2aWNlVHlwZSgpKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAg
ICAgICBjYXB0dXJlVHJhY2stPnN0b3BUcmFjayhNZWRpYVN0cmVhbVRyYWNrOjpTdG9wTW9kZTo6
UG9zdEV2ZW50KTsKICAgICAgICAgZGlkRW5kQ2FwdHVyZSA9IHRydWU7CkBAIC01NjMsNyArNTY0
LDcgQEAgdm9pZCBNZWRpYVN0cmVhbVRyYWNrOjp0cmFja1N0YXJ0ZWQoTWVkaWFTdHJlYW1UcmFj
a1ByaXZhdGUmKQogCiB2b2lkIE1lZGlhU3RyZWFtVHJhY2s6OnRyYWNrRW5kZWQoTWVkaWFTdHJl
YW1UcmFja1ByaXZhdGUmKQogewotICAgIGlmIChtX2lzQ2FwdHVyZVRyYWNrICYmIG1fcHJpdmF0
ZS0+aGFzQXVkaW8oKSkKKyAgICBpZiAobV9pc0NhcHR1cmVUcmFjayAmJiBtX3ByaXZhdGUtPmlz
QXVkaW8oKSkKICAgICAgICAgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5h
Z2VyKCkucmVtb3ZlQXVkaW9DYXB0dXJlU291cmNlKCp0aGlzKTsKIAogICAgIEFMV0FZU19MT0co
TE9HSURFTlRJRklFUik7CkBAIC02NzIsNyArNjczLDcgQEAgRG9jdW1lbnQqIE1lZGlhU3RyZWFt
VHJhY2s6OmRvY3VtZW50KCkgY29uc3QKIAogYm9vbCBNZWRpYVN0cmVhbVRyYWNrOjppc0NhcHR1
cmluZ0F1ZGlvKCkgY29uc3QKIHsKLSAgICBBU1NFUlQoaXNDYXB0dXJlVHJhY2soKSAmJiBtX3By
aXZhdGUtPmhhc0F1ZGlvKCkpOworICAgIEFTU0VSVChpc0NhcHR1cmVUcmFjaygpICYmIG1fcHJp
dmF0ZS0+aXNBdWRpbygpKTsKICAgICByZXR1cm4gIWVuZGVkKCkgJiYgIW11dGVkKCk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJl
YW1UcmFjay5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVh
bVRyYWNrLmgKaW5kZXggMDcwZjdkYzA5MDZjNTQ5OTliMmNiZWY2ZWRkMzZlZjNlOTBlZjBhYy4u
ZmIyMmI4OWI2YzE1YjIwMTNjNzZjMmE1OGM5YjY5Nzc1YWM0YTk4ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmgKQEAg
LTEwMCw4ICsxMDAsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzdG9wVHJhY2soU3RvcE1vZGUgPSBT
dG9wTW9kZTo6U2lsZW50bHkpOwogCiAgICAgYm9vbCBpc0NhcHR1cmVUcmFjaygpIGNvbnN0IHsg
cmV0dXJuIG1faXNDYXB0dXJlVHJhY2s7IH0KLSAgICBib29sIGhhc1ZpZGVvKCkgY29uc3QgeyBy
ZXR1cm4gbV9wcml2YXRlLT5oYXNWaWRlbygpOyB9Ci0gICAgYm9vbCBoYXNBdWRpbygpIGNvbnN0
IHsgcmV0dXJuIG1fcHJpdmF0ZS0+aGFzQXVkaW8oKTsgfQorICAgIGJvb2wgaXNWaWRlbygpIGNv
bnN0IHsgcmV0dXJuIG1fcHJpdmF0ZS0+aXNWaWRlbygpOyB9CisgICAgYm9vbCBpc0F1ZGlvKCkg
Y29uc3QgeyByZXR1cm4gbV9wcml2YXRlLT5pc0F1ZGlvKCk7IH0KIAogICAgIHN0cnVjdCBUcmFj
a1NldHRpbmdzIHsKICAgICAgICAgc3RkOjpvcHRpb25hbDxpbnQ+IHdpZHRoOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5j
cHAKaW5kZXggZTE1N2FiOWQ3NjkxZDVhNDYxNmE5MmFiZWVmNTc3YjVjYjI0NWJkOC4uMDNmNTA4
NWM2NDc1NWViNDA1OGMyYWEzMGFhNjM1Y2U4MmRlNDA4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuY3BwCkBAIC0y
NjAsMzMgKzI2MCw2IEBAIERvY3VtZW50KiBVc2VyTWVkaWFSZXF1ZXN0Ojpkb2N1bWVudCgpIGNv
bnN0CiAgICAgcmV0dXJuIGRvd25jYXN0PERvY3VtZW50PihzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCkpOwogfQogCi12b2lkIFVzZXJNZWRpYVJlcXVlc3Q6Om1lZGlhU3RyZWFtRGlkRmFpbChSZWFs
dGltZU1lZGlhU291cmNlOjpUeXBlIHR5cGUpCi17Ci0gICAgUkVMRUFTRV9MT0coTWVkaWFTdHJl
YW0sICJVc2VyTWVkaWFSZXF1ZXN0OjptZWRpYVN0cmVhbURpZEZhaWwiKTsKLSAgICBjb25zdCBj
aGFyKiB0eXBlRGVzY3JpcHRpb24gPSAiIjsKLSAgICBzd2l0Y2ggKHR5cGUpIHsKLSAgICBjYXNl
IFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OkF1ZGlvOgotICAgICAgICB0eXBlRGVzY3JpcHRp
b24gPSAiYXVkaW8iOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3Vy
Y2U6OlR5cGU6OlZpZGVvOgotICAgICAgICB0eXBlRGVzY3JpcHRpb24gPSAidmlkZW8iOwotICAg
ICAgICBicmVhazsKLSAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlNjcmVlbjoK
LSAgICAgICAgdHlwZURlc2NyaXB0aW9uID0gInNjcmVlbiI7Ci0gICAgICAgIGJyZWFrOwotICAg
IGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6V2luZG93OgotICAgICAgICB0eXBlRGVz
Y3JpcHRpb24gPSAid2luZG93IjsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBSZWFsdGltZU1l
ZGlhU291cmNlOjpUeXBlOjpTeXN0ZW1BdWRpbzoKLSAgICAgICAgdHlwZURlc2NyaXB0aW9uID0g
InN5c3RlbSBhdWRpbyI7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNv
dXJjZTo6VHlwZTo6Tm9uZToKLSAgICAgICAgdHlwZURlc2NyaXB0aW9uID0gInVua25vd24iOwot
ICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgbV9wcm9taXNlLT5yZWplY3QoTm90UmVhZGFibGVF
cnJvciwgbWFrZVN0cmluZygiRmFpbGVkIHN0YXJ0aW5nIGNhcHR1cmUgb2YgYSAiX3MsIHR5cGVE
ZXNjcmlwdGlvbiwgIiB0cmFjayJfcykpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
ICNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuaAppbmRleCA5Y2M3YTJiZDY4
MmI1NTk2MGI5ZjQxMGJhNjA5YmM2Y2VkNGM4OTQyLi40OWRlNjJjN2Q1MGViODQzOTIwMjI1ZjJj
MjEyNTUyMmE3ZDFmYmI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuaApAQCAtODQsOCArODQsNiBAQCBwcml2YXRlOgog
ICAgIHZvaWQgc3RvcCgpIGZpbmFsOwogICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5h
bWUoKSBjb25zdCBmaW5hbDsKIAotICAgIHZvaWQgbWVkaWFTdHJlYW1EaWRGYWlsKFJlYWx0aW1l
TWVkaWFTb3VyY2U6OlR5cGUpOwotCiAgICAgVXNlck1lZGlhUmVxdWVzdElkZW50aWZpZXIgbV9p
ZGVudGlmaWVyOwogCiAgICAgVmVjdG9yPFN0cmluZz4gbV92aWRlb0RldmljZVVJRHM7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2dzdHJlYW1lci9HU3Ry
ZWFtZXJNZWRpYUVuZHBvaW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vZ3N0cmVhbWVyL0dTdHJlYW1lck1lZGlhRW5kcG9pbnQuY3BwCmluZGV4IGJiYTQyOTRmOTk1
MDgyMDA0ZDI3N2Q2MDE0MTliYTM1MjM2OTNmMjcuLjFhZTYyMjk4NThmZTRlOWNlNjgzYzMyYzJl
NmFiN2I5MDE4YjgwNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vZ3N0cmVhbWVyL0dTdHJlYW1lck1lZGlhRW5kcG9pbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL0dTdHJlYW1lck1lZGlhRW5kcG9p
bnQuY3BwCkBAIC01ODYsNyArNTg2LDcgQEAgYm9vbCBHU3RyZWFtZXJNZWRpYUVuZHBvaW50Ojph
ZGRUcmFjayhHU3RyZWFtZXJSdHBTZW5kZXJCYWNrZW5kJiBzZW5kZXIsIE1lZGlhU3QKICAgICBH
U3RyZWFtZXJSdHBTZW5kZXJCYWNrZW5kOjpTb3VyY2Ugc291cmNlOwogICAgIEdSZWZQdHI8R3N0
V2ViUlRDUlRQU2VuZGVyPiBydGNTZW5kZXI7CiAKLSAgICBpZiAodHJhY2sucHJpdmF0ZVRyYWNr
KCkuaGFzQXVkaW8oKSkgeworICAgIGlmICh0cmFjay5wcml2YXRlVHJhY2soKS5pc0F1ZGlvKCkp
IHsKICAgICAgICAgR1NUX0RFQlVHX09CSkVDVChtX3BpcGVsaW5lLmdldCgpLCAiQWRkaW5nIG91
dGdvaW5nIGF1ZGlvIHNvdXJjZSIpOwogICAgICAgICBhdXRvIGF1ZGlvU291cmNlID0gUmVhbHRp
bWVPdXRnb2luZ0F1ZGlvU291cmNlR1N0cmVhbWVyOjpjcmVhdGUodHJhY2sucHJpdmF0ZVRyYWNr
KCkpOwogICAgICAgICBjb25maWd1cmVBbmRMaW5rU291cmNlKGF1ZGlvU291cmNlKTsKQEAgLTU5
NCw3ICs1OTQsNyBAQCBib29sIEdTdHJlYW1lck1lZGlhRW5kcG9pbnQ6OmFkZFRyYWNrKEdTdHJl
YW1lclJ0cFNlbmRlckJhY2tlbmQmIHNlbmRlciwgTWVkaWFTdAogICAgICAgICBydGNTZW5kZXIg
PSBhdWRpb1NvdXJjZS0+c2VuZGVyKCk7CiAgICAgICAgIHNvdXJjZSA9IFdURk1vdmUoYXVkaW9T
b3VyY2UpOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIEFTU0VSVCh0cmFjay5wcml2YXRlVHJhY2so
KS5oYXNWaWRlbygpKTsKKyAgICAgICAgQVNTRVJUKHRyYWNrLnByaXZhdGVUcmFjaygpLmlzVmlk
ZW8oKSk7CiAgICAgICAgIEdTVF9ERUJVR19PQkpFQ1QobV9waXBlbGluZS5nZXQoKSwgIkFkZGlu
ZyBvdXRnb2luZyB2aWRlbyBzb3VyY2UiKTsKICAgICAgICAgYXV0byB2aWRlb1NvdXJjZSA9IFJl
YWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUdTdHJlYW1lcjo6Y3JlYXRlKHRyYWNrLnByaXZhdGVU
cmFjaygpKTsKICAgICAgICAgY29uZmlndXJlQW5kTGlua1NvdXJjZSh2aWRlb1NvdXJjZSk7CkBA
IC04ODAsMTAgKzg4MCwxMCBAQCBzdGQ6Om9wdGlvbmFsPEdTdHJlYW1lck1lZGlhRW5kcG9pbnQ6
OkJhY2tlbmRzPiBHU3RyZWFtZXJNZWRpYUVuZHBvaW50OjphZGRUcmFucwogCiBHU3RyZWFtZXJS
dHBTZW5kZXJCYWNrZW5kOjpTb3VyY2UgR1N0cmVhbWVyTWVkaWFFbmRwb2ludDo6Y3JlYXRlU291
cmNlRm9yVHJhY2soTWVkaWFTdHJlYW1UcmFjayYgdHJhY2spCiB7Ci0gICAgaWYgKHRyYWNrLnBy
aXZhdGVUcmFjaygpLmhhc0F1ZGlvKCkpCisgICAgaWYgKHRyYWNrLnByaXZhdGVUcmFjaygpLmlz
QXVkaW8oKSkKICAgICAgICAgcmV0dXJuIFJlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZUdTdHJl
YW1lcjo6Y3JlYXRlKHRyYWNrLnByaXZhdGVUcmFjaygpKTsKIAotICAgIEFTU0VSVCh0cmFjay5w
cml2YXRlVHJhY2soKS5oYXNWaWRlbygpKTsKKyAgICBBU1NFUlQodHJhY2sucHJpdmF0ZVRyYWNr
KCkuaXNWaWRlbygpKTsKICAgICByZXR1cm4gUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlR1N0
cmVhbWVyOjpjcmVhdGUodHJhY2sucHJpdmF0ZVRyYWNrKCkpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENNZWRp
YUVuZHBvaW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2Vi
cnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwCmluZGV4IDVjM2MyMmM3NTY2ZTIxOWYxZTAy
NGUzNWQ4ZjJhZWE4YjMwMjE1NmYuLmZhMDQ2YjUzMDY3YWE5NzFkYzBlOTk1ZjdiOGQ1ODMxOGE5
YzljNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGli
d2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwCkBA
IC0yMDQsMTIgKzIwNCw2IEBAIGJvb2wgTGliV2ViUlRDTWVkaWFFbmRwb2ludDo6YWRkVHJhY2so
TGliV2ViUlRDUnRwU2VuZGVyQmFja2VuZCYgc2VuZGVyLCBNZWRpYVN0CiAgICAgICAgIHNvdXJj
ZSA9IFdURk1vdmUodmlkZW9Tb3VyY2UpOwogICAgICAgICBicmVhazsKICAgICB9Ci0gICAgY2Fz
ZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpTY3JlZW46Ci0gICAgY2FzZSBSZWFsdGltZU1l
ZGlhU291cmNlOjpUeXBlOjpXaW5kb3c6Ci0gICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpU
eXBlOjpTeXN0ZW1BdWRpbzoKLSAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6Ok5v
bmU6Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICByZXR1cm4gZmFsc2U7
CiAgICAgfQogCiAgICAgc2VuZGVyLnNldFNvdXJjZShXVEZNb3ZlKHNvdXJjZSkpOwpAQCAtNDE2
LDE4ICs0MTAsMTIgQEAgc3RkOjpwYWlyPExpYldlYlJUQ1J0cFNlbmRlckJhY2tlbmQ6OlNvdXJj
ZSwgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6TWVkaWFTdHIKICAgICBMaWJXZWJSVENSdHBT
ZW5kZXJCYWNrZW5kOjpTb3VyY2Ugc291cmNlOwogICAgIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJy
dGM6Ok1lZGlhU3RyZWFtVHJhY2tJbnRlcmZhY2U+IHJ0Y1RyYWNrOwogICAgIHN3aXRjaCAodHJh
Y2sucHJpdmF0ZVRyYWNrKCkudHlwZSgpKSB7Ci0gICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNl
OjpUeXBlOjpOb25lOgotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgYnJl
YWs7Ci0gICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpTeXN0ZW1BdWRpbzoKICAg
ICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OkF1ZGlvOiB7CiAgICAgICAgIGF1dG8g
YXVkaW9Tb3VyY2UgPSBSZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2U6OmNyZWF0ZSh0cmFjay5w
cml2YXRlVHJhY2soKSk7CiAgICAgICAgIHJ0Y1RyYWNrID0gbV9wZWVyQ29ubmVjdGlvbkZhY3Rv
cnktPkNyZWF0ZUF1ZGlvVHJhY2sodHJhY2suaWQoKS51dGY4KCkuZGF0YSgpLCBhdWRpb1NvdXJj
ZS5wdHIoKSk7CiAgICAgICAgIHNvdXJjZSA9IFdURk1vdmUoYXVkaW9Tb3VyY2UpOwogICAgICAg
ICBicmVhazsKICAgICB9Ci0gICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpTY3Jl
ZW46Ci0gICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpXaW5kb3c6CiAgICAgY2Fz
ZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpWaWRlbzogewogICAgICAgICBhdXRvIHZpZGVv
U291cmNlID0gUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlOjpjcmVhdGUodHJhY2sucHJpdmF0
ZVRyYWNrKCkpOwogICAgICAgICBydGNUcmFjayA9IG1fcGVlckNvbm5lY3Rpb25GYWN0b3J5LT5D
cmVhdGVWaWRlb1RyYWNrKHRyYWNrLmlkKCkudXRmOCgpLmRhdGEoKSwgdmlkZW9Tb3VyY2UucHRy
KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tCmluZGV4IDQ2ODg3Njk1MjYxNzE2MmRkMjE1
MGI0MjI0MjMxYzdkNTNhMmYzNjMuLjJiM2E5MTc4NWYwOTQxZmNiMWNjNzgxNWIyM2QxOTg0Yzk3
YmU4NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW0KQEAgLTgzNiw3ICs4MzYsNyBAQCB2
b2lkIHVwZGF0ZVRyYWNrc09mS2luZChIYXNoTWFwPFN0cmluZywgUmVmVD4mIHRyYWNrTWFwLCBU
cmFja0tpbmQgdHJhY2tLaW5kLCBNZQogCiAgICAgYm9vbCB3YW50c1ZpZGVvID0gdHJhY2tLaW5k
ID09IFRyYWNrS2luZDo6VmlkZW87CiAgICAgZm9yIChjb25zdCBhdXRvJiB0cmFjayA6IGN1cnJl
bnRUcmFja3MpIHsKLSAgICAgICAgaWYgKHdhbnRzVmlkZW8gIT0gdHJhY2stPmhhc1ZpZGVvKCkp
CisgICAgICAgIGlmICh3YW50c1ZpZGVvICE9IHRyYWNrLT5pc1ZpZGVvKCkpCiAgICAgICAgICAg
ICBjb250aW51ZTsKIAogICAgICAgICBpZiAoIXRyYWNrTWFwLmNvbnRhaW5zKHRyYWNrLT5pZCgp
KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVk
aWFSZWNvcmRlclByaXZhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNv
cmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHAKaW5kZXggZDI1ZDdmNDQzZmVjZGE2ODc5ZjM2
MzlhMzI0MzJiY2ZlMjdmZjA4ZC4uOTZlYjcwZjI5MmE4MDI1NDU0NmZlN2FmMDRhODA2MWVkNzhi
ZDc5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9N
ZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHAKQEAgLTQ0LDggKzQ0LDYgQEAgTWVk
aWFSZWNvcmRlclByaXZhdGU6OkF1ZGlvVmlkZW9TZWxlY3RlZFRyYWNrcyBNZWRpYVJlY29yZGVy
UHJpdmF0ZTo6c2VsZWN0VHJhY2sKICAgICAgICAgaWYgKHRyYWNrLmVuZGVkKCkpCiAgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgIHN3aXRjaCAodHJhY2sudHlwZSgpKSB7Ci0gICAgICAgIGNh
c2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6U2NyZWVuOgotICAgICAgICBjYXNlIFJlYWx0
aW1lTWVkaWFTb3VyY2U6OlR5cGU6OldpbmRvdzoKICAgICAgICAgY2FzZSBSZWFsdGltZU1lZGlh
U291cmNlOjpUeXBlOjpWaWRlbzogewogICAgICAgICAgICAgYXV0byYgc2V0dGluZ3MgPSB0cmFj
ay5zZXR0aW5ncygpOwogICAgICAgICAgICAgaWYgKCFzZWxlY3RlZFRyYWNrcy52aWRlb1RyYWNr
ICYmIHNldHRpbmdzLnN1cHBvcnRzV2lkdGgoKSAmJiBzZXR0aW5ncy5zdXBwb3J0c0hlaWdodCgp
KQpAQCAtNTMsMTIgKzUxLDkgQEAgTWVkaWFSZWNvcmRlclByaXZhdGU6OkF1ZGlvVmlkZW9TZWxl
Y3RlZFRyYWNrcyBNZWRpYVJlY29yZGVyUHJpdmF0ZTo6c2VsZWN0VHJhY2sKICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlw
ZTo6QXVkaW86Ci0gICAgICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6U3lzdGVt
QXVkaW86CiAgICAgICAgICAgICBpZiAoIXNlbGVjdGVkVHJhY2tzLmF1ZGlvVHJhY2spCiAgICAg
ICAgICAgICAgICAgc2VsZWN0ZWRUcmFja3MuYXVkaW9UcmFjayA9ICZ0cmFjazsKICAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6Ok5vbmU6
Ci0gICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgIH0pOwogICAgIHJldHVybiBzZWxl
Y3RlZFRyYWNrczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL01lZGlhU3RyZWFtUHJpdmF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbVByaXZhdGUuY3BwCmluZGV4IGFmNDBmNmQzYjU0ODgyZTI5Njgy
N2U1MzJhYmU0OGFlYzQxZGU0M2UuLjlmMTRlOGJkNmZmNzM4ZjEzNTBlNWQwZThhNTk4ODY5YzU2
NmMwNzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01l
ZGlhU3RyZWFtUHJpdmF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vTWVkaWFTdHJlYW1Qcml2YXRlLmNwcApAQCAtMjA4LDcgKzIwOCw3IEBAIGJvb2wgTWVk
aWFTdHJlYW1Qcml2YXRlOjppc1Byb2R1Y2luZ0RhdGEoKSBjb25zdAogYm9vbCBNZWRpYVN0cmVh
bVByaXZhdGU6Omhhc1ZpZGVvKCkgY29uc3QKIHsKICAgICBmb3IgKGF1dG8mIHRyYWNrIDogbV90
cmFja1NldC52YWx1ZXMoKSkgewotICAgICAgICBpZiAodHJhY2stPmhhc1ZpZGVvKCkgJiYgdHJh
Y2stPmlzQWN0aXZlKCkpCisgICAgICAgIGlmICh0cmFjay0+aXNWaWRlbygpICYmIHRyYWNrLT5p
c0FjdGl2ZSgpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogICAgIHJldHVybiBm
YWxzZTsKQEAgLTIxNyw3ICsyMTcsNyBAQCBib29sIE1lZGlhU3RyZWFtUHJpdmF0ZTo6aGFzVmlk
ZW8oKSBjb25zdAogYm9vbCBNZWRpYVN0cmVhbVByaXZhdGU6Omhhc0F1ZGlvKCkgY29uc3QKIHsK
ICAgICBmb3IgKGF1dG8mIHRyYWNrIDogbV90cmFja1NldC52YWx1ZXMoKSkgewotICAgICAgICBp
ZiAodHJhY2stPmhhc0F1ZGlvKCkgJiYgdHJhY2stPmlzQWN0aXZlKCkpCisgICAgICAgIGlmICh0
cmFjay0+aXNBdWRpbygpICYmIHRyYWNrLT5pc0FjdGl2ZSgpKQogICAgICAgICAgICAgcmV0dXJu
IHRydWU7CiAgICAgfQogICAgIHJldHVybiBmYWxzZTsKQEAgLTI0OCw3ICsyNDgsNyBAQCB2b2lk
IE1lZGlhU3RyZWFtUHJpdmF0ZTo6dXBkYXRlQWN0aXZlVmlkZW9UcmFjaygpCiB7CiAgICAgbV9h
Y3RpdmVWaWRlb1RyYWNrID0gbnVsbHB0cjsKICAgICBmb3IgKGF1dG8mIHRyYWNrIDogbV90cmFj
a1NldC52YWx1ZXMoKSkgewotICAgICAgICBpZiAoIXRyYWNrLT5lbmRlZCgpICYmIHRyYWNrLT5o
YXNWaWRlbygpKSB7CisgICAgICAgIGlmICghdHJhY2stPmVuZGVkKCkgJiYgdHJhY2stPmlzVmlk
ZW8oKSkgewogICAgICAgICAgICAgbV9hY3RpdmVWaWRlb1RyYWNrID0gdHJhY2suZ2V0KCk7CiAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgfQpAQCAtMzEzLDcgKzMxMyw3IEBAIHZvaWQgTWVk
aWFTdHJlYW1Qcml2YXRlOjp0cmFja0VuZGVkKE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlJiB0cmFj
aykKIHZvaWQgTWVkaWFTdHJlYW1Qcml2YXRlOjptb25pdG9yT3JpZW50YXRpb24oT3JpZW50YXRp
b25Ob3RpZmllciYgbm90aWZpZXIpCiB7CiAgICAgZm9yIChhdXRvJiB0cmFjayA6IG1fdHJhY2tT
ZXQudmFsdWVzKCkpIHsKLSAgICAgICAgaWYgKHRyYWNrLT5zb3VyY2UoKS5pc0NhcHR1cmVTb3Vy
Y2UoKSAmJiB0cmFjay0+dHlwZSgpID09IFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlZpZGVv
KQorICAgICAgICBpZiAodHJhY2stPnNvdXJjZSgpLmlzQ2FwdHVyZVNvdXJjZSgpICYmIHRyYWNr
LT5kZXZpY2VUeXBlKCkgPT0gQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6Q2FtZXJhKQogICAg
ICAgICAgICAgdHJhY2stPnNvdXJjZSgpLm1vbml0b3JPcmllbnRhdGlvbihub3RpZmllcik7CiAg
ICAgfQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
TWVkaWFTdHJlYW1UcmFja1ByaXZhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUuY3BwCmluZGV4IDE4MjY2ZjEyMmM0YjE4
Njc0YTFmNzliYWI5MWYwNTQ5NjdmY2I3MDAuLjcxZWQ4ZjhkMzk1MTViMGQxZjZhODEwYjdhYmU3
MzJiMWE0ZDA0MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL01lZGlhU3RyZWFtVHJhY2tQcml2YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZS5jcHAKQEAgLTE3MywxMSAr
MTczLDYgQEAgUmVmPE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlPiBNZWRpYVN0cmVhbVRyYWNrUHJp
dmF0ZTo6Y2xvbmUoKQogICAgIHJldHVybiBjbG9uZWRNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZTsK
IH0KIAotUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZTo6
dHlwZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fc291cmNlLT50eXBlKCk7Ci19Ci0KIGNvbnN0
IFJlYWx0aW1lTWVkaWFTb3VyY2VTZXR0aW5ncyYgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGU6OnNl
dHRpbmdzKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9zb3VyY2UtPnNldHRpbmdzKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRy
YWNrUHJpdmF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFT
dHJlYW1UcmFja1ByaXZhdGUuaAppbmRleCBkZDJlMTQ5ZjgxM2IxZDc2MGVkZGE1ODhiZGJiYjQy
MTA3YzI5MjFlLi43NTc1OTMwYmIwNmEwZjM0MDg1NzM3OTMzNjBkODY5ZTI5NzU4ZGFkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRy
YWNrUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01l
ZGlhU3RyZWFtVHJhY2tQcml2YXRlLmgKQEAgLTk1LDkgKzk1LDEwIEBAIHB1YmxpYzoKIAogICAg
IFJlYWx0aW1lTWVkaWFTb3VyY2UmIHNvdXJjZSgpIHsgcmV0dXJuIG1fc291cmNlLmdldCgpOyB9
CiAgICAgY29uc3QgUmVhbHRpbWVNZWRpYVNvdXJjZSYgc291cmNlKCkgY29uc3QgeyByZXR1cm4g
bV9zb3VyY2UuZ2V0KCk7IH0KLSAgICBXRUJDT1JFX0VYUE9SVCBSZWFsdGltZU1lZGlhU291cmNl
OjpUeXBlIHR5cGUoKSBjb25zdDsKLSAgICBib29sIGhhc1ZpZGVvKCkgY29uc3QgeyByZXR1cm4g
bV9zb3VyY2UtPmhhc1ZpZGVvKCk7IH0KLSAgICBib29sIGhhc0F1ZGlvKCkgY29uc3QgeyByZXR1
cm4gbV9zb3VyY2UtPmhhc0F1ZGlvKCk7IH0KKyAgICBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBl
IHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3NvdXJjZS0+dHlwZSgpOyB9CisgICAgQ2FwdHVyZURl
dmljZTo6RGV2aWNlVHlwZSBkZXZpY2VUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9zb3VyY2UtPmRl
dmljZVR5cGUoKTsgfQorICAgIGJvb2wgaXNWaWRlbygpIGNvbnN0IHsgcmV0dXJuIG1fc291cmNl
LT5pc1ZpZGVvKCk7IH0KKyAgICBib29sIGlzQXVkaW8oKSBjb25zdCB7IHJldHVybiBtX3NvdXJj
ZS0+aXNBdWRpbygpOyB9CiAKICAgICB2b2lkIGVuZFRyYWNrKCk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJj
ZS5jcHAKaW5kZXggNTk0Y2RlMWExMzk2NmNkZTYwOGVmMWY2Y2U2Y2IwNDkwODhiNjZhYi4uMDY0
NDNkMjg1YmE5ZmZjOWU1ZWYxMjE0ODAzNjdhOWMwOTE2Y2U2YSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJj
ZS5jcHAKQEAgLTExNDQsMTkgKzExNDQsMTEgQEAgV1RGTG9nQ2hhbm5lbCYgUmVhbHRpbWVNZWRp
YVNvdXJjZTo6bG9nQ2hhbm5lbCgpIGNvbnN0CiBTdHJpbmcgY29udmVydEVudW1lcmF0aW9uVG9T
dHJpbmcoUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSBlbnVtZXJhdGlvblZhbHVlKQogewogICAg
IHN0YXRpYyBjb25zdCBOZXZlckRlc3Ryb3llZDxTdHJpbmc+IHZhbHVlc1tdID0gewotICAgICAg
ICBNQUtFX1NUQVRJQ19TVFJJTkdfSU1QTCgiTm9uZSIpLAogICAgICAgICBNQUtFX1NUQVRJQ19T
VFJJTkdfSU1QTCgiQXVkaW8iKSwKLSAgICAgICAgTUFLRV9TVEFUSUNfU1RSSU5HX0lNUEwoIlZp
ZGVvIiksCi0gICAgICAgIE1BS0VfU1RBVElDX1NUUklOR19JTVBMKCJTY3JlZW4iKSwKLSAgICAg
ICAgTUFLRV9TVEFUSUNfU1RSSU5HX0lNUEwoIldpbmRvdyIpLAotICAgICAgICBNQUtFX1NUQVRJ
Q19TVFJJTkdfSU1QTCgiU3lzdGVtQXVkaW8iKSwKKyAgICAgICAgTUFLRV9TVEFUSUNfU1RSSU5H
X0lNUEwoIlZpZGVvIikKICAgICB9OwotICAgIHN0YXRpY19hc3NlcnQoc3RhdGljX2Nhc3Q8c2l6
ZV90PihSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpOb25lKSA9PSAwLCAiUmVhbHRpbWVNZWRp
YVNvdXJjZTo6VHlwZTo6Tm9uZSBpcyBub3QgMCBhcyBleHBlY3RlZCIpOwotICAgIHN0YXRpY19h
c3NlcnQoc3RhdGljX2Nhc3Q8c2l6ZV90PihSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpBdWRp
bykgPT0gMSwgIlJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OkF1ZGlvIGlzIG5vdCAxIGFzIGV4
cGVjdGVkIik7Ci0gICAgc3RhdGljX2Fzc2VydChzdGF0aWNfY2FzdDxzaXplX3Q+KFJlYWx0aW1l
TWVkaWFTb3VyY2U6OlR5cGU6OlZpZGVvKSA9PSAyLCAiUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlw
ZTo6VmlkZW8gaXMgbm90IDIgYXMgZXhwZWN0ZWQiKTsKLSAgICBzdGF0aWNfYXNzZXJ0KHN0YXRp
Y19jYXN0PHNpemVfdD4oUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6U2NyZWVuKSA9PSAzLCAi
UmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6U2NyZWVuIGlzIG5vdCAzIGFzIGV4cGVjdGVkIik7
Ci0gICAgc3RhdGljX2Fzc2VydChzdGF0aWNfY2FzdDxzaXplX3Q+KFJlYWx0aW1lTWVkaWFTb3Vy
Y2U6OlR5cGU6OldpbmRvdykgPT0gNCwgIlJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OldpbmRv
dyBpcyBub3QgNCBhcyBleHBlY3RlZCIpOwotICAgIHN0YXRpY19hc3NlcnQoc3RhdGljX2Nhc3Q8
c2l6ZV90PihSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpTeXN0ZW1BdWRpbykgPT0gNSwgIlJl
YWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlN5c3RlbUF1ZGlvIGlzIG5vdCA1IGFzIGV4cGVjdGVk
Iik7CisgICAgc3RhdGljX2Fzc2VydChzdGF0aWNfY2FzdDxzaXplX3Q+KFJlYWx0aW1lTWVkaWFT
b3VyY2U6OlR5cGU6OkF1ZGlvKSA9PSAwLCAiUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6QXVk
aW8gaXMgbm90IDAgYXMgZXhwZWN0ZWQiKTsKKyAgICBzdGF0aWNfYXNzZXJ0KHN0YXRpY19jYXN0
PHNpemVfdD4oUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6VmlkZW8pID09IDEsICJSZWFsdGlt
ZU1lZGlhU291cmNlOjpUeXBlOjpWaWRlbyBpcyBub3QgMSBhcyBleHBlY3RlZCIpOwogICAgIEFT
U0VSVChzdGF0aWNfY2FzdDxzaXplX3Q+KGVudW1lcmF0aW9uVmFsdWUpIDwgV1RGX0FSUkFZX0xF
TkdUSCh2YWx1ZXMpKTsKICAgICByZXR1cm4gdmFsdWVzW3N0YXRpY19jYXN0PHNpemVfdD4oZW51
bWVyYXRpb25WYWx1ZSldOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZS5oCmluZGV4IDk4NmUxNDQ2YTg4NDg1
ZDJmODk1OTQ1NmUyM2Y2OWRhZTU2MzFiYWMuLmIyY2JmZTI1YjllN2UzNGFkMTYxNTBiMDgyNmI5
NGNlZDU1NDVjOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlLmgKQEAgLTExNSwxMCArMTE1LDEwIEBAIHB1
YmxpYzoKIAogICAgIGNvbnN0IFN0cmluZyYgcGVyc2lzdGVudElEKCkgY29uc3QgeyByZXR1cm4g
bV9wZXJzaXN0ZW50SUQ7IH0KIAotICAgIGVudW0gY2xhc3MgVHlwZSB7IE5vbmUsIEF1ZGlvLCBW
aWRlbywgU2NyZWVuLCBXaW5kb3csIFN5c3RlbUF1ZGlvIH07CisgICAgZW51bSBjbGFzcyBUeXBl
IDogYm9vbCB7IEF1ZGlvLCBWaWRlbyB9OwogICAgIFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJu
IG1fdHlwZTsgfQotICAgIGJvb2wgaGFzVmlkZW8oKSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0g
VHlwZTo6VmlkZW8gfHwgbV90eXBlID09IFR5cGU6OldpbmRvdyB8fCBtX3R5cGUgPT0gVHlwZTo6
U2NyZWVuOyB9Ci0gICAgYm9vbCBoYXNBdWRpbygpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBU
eXBlOjpBdWRpbyB8fCBtX3R5cGUgPT0gVHlwZTo6U3lzdGVtQXVkaW87IH0KKyAgICBib29sIGlz
VmlkZW8oKSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0gVHlwZTo6VmlkZW87IH0KKyAgICBib29s
IGlzQXVkaW8oKSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0gVHlwZTo6QXVkaW87IH0KIAogICAg
IHZpcnR1YWwgdm9pZCB3aGVuUmVhZHkoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChTdHJpbmcpPiYm
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY29j
b2EvRGlzcGxheUNhcHR1cmVTb3VyY2VDb2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9jb2NvYS9EaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29hLmNwcAppbmRleCA0
MDMwNGFiZTY5MDZjYjFmMzRjNzBhZDJjNjBkNDA4ZjZiYjdiOTg1Li4zOWI3ZDAxMGZmNjQ4NDVh
NDczNzc3Yzg2MzcyYWM5ZThkNWNhNzc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9jb2NvYS9EaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29hLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9jb2NvYS9EaXNwbGF5Q2FwdHVy
ZVNvdXJjZUNvY29hLmNwcApAQCAtNTksMzAgKzU5LDYgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1zdGF0aWMgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSBzb3VyY2VUeXBlRm9yRGV2aWNl
KENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGUgdHlwZSkKLXsKLSAgICBzd2l0Y2ggKHR5cGUpIHsK
LSAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6OlNjcmVlbjoKLSAgICAgICAgcmV0
dXJuIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlNjcmVlbjsKLSAgICBjYXNlIENhcHR1cmVE
ZXZpY2U6OkRldmljZVR5cGU6OldpbmRvdzoKLSAgICAgICAgcmV0dXJuIFJlYWx0aW1lTWVkaWFT
b3VyY2U6OlR5cGU6OldpbmRvdzsKLSAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6
OlN5c3RlbUF1ZGlvOgotICAgICAgICByZXR1cm4gUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6
U3lzdGVtQXVkaW87Ci0gICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpNaWNyb3Bo
b25lOgotICAgICAgICByZXR1cm4gUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6QXVkaW87Ci0g
ICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpDYW1lcmE6Ci0gICAgICAgIHJldHVy
biBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpWaWRlbzsKLSAgICBjYXNlIENhcHR1cmVEZXZp
Y2U6OkRldmljZVR5cGU6OlNwZWFrZXI6Ci0gICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VU
eXBlOjpVbmtub3duOgotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmV0
dXJuIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6Ok5vbmU7Ci0gICAgICAgIGJyZWFrOwotICAg
IH0KLQotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBSZWFsdGltZU1lZGlh
U291cmNlOjpUeXBlOjpOb25lOwotfQotCiBDYXB0dXJlU291cmNlT3JFcnJvciBEaXNwbGF5Q2Fw
dHVyZVNvdXJjZUNvY29hOjpjcmVhdGUoY29uc3QgQ2FwdHVyZURldmljZSYgZGV2aWNlLCBTdHJp
bmcmJiBoYXNoU2FsdCwgY29uc3QgTWVkaWFDb25zdHJhaW50cyogY29uc3RyYWludHMsIFBhZ2VJ
ZGVudGlmaWVyIHBhZ2VJZGVudGlmaWVyKQogewogICAgIHN3aXRjaCAoZGV2aWNlLnR5cGUoKSkg
ewpAQCAtMTMwLDcgKzEwNiw3IEBAIENhcHR1cmVTb3VyY2VPckVycm9yIERpc3BsYXlDYXB0dXJl
U291cmNlQ29jb2E6OmNyZWF0ZShFeHBlY3RlZDxVbmlxdWVSZWY8Q2FwdHVyCiB9CiAKIERpc3Bs
YXlDYXB0dXJlU291cmNlQ29jb2E6OkRpc3BsYXlDYXB0dXJlU291cmNlQ29jb2EoVW5pcXVlUmVm
PENhcHR1cmVyPiYmIGNhcHR1cmVyLCBTdHJpbmcmJiBuYW1lLCBTdHJpbmcmJiBkZXZpY2VJRCwg
U3RyaW5nJiYgaGFzaFNhbHQsIFBhZ2VJZGVudGlmaWVyIHBhZ2VJZGVudGlmaWVyKQotICAgIDog
UmVhbHRpbWVNZWRpYVNvdXJjZShzb3VyY2VUeXBlRm9yRGV2aWNlKGNhcHR1cmVyLT5kZXZpY2VU
eXBlKCkpLCBXVEZNb3ZlKG5hbWUpLCBXVEZNb3ZlKGRldmljZUlEKSwgV1RGTW92ZShoYXNoU2Fs
dCksIHBhZ2VJZGVudGlmaWVyKQorICAgIDogUmVhbHRpbWVNZWRpYVNvdXJjZShSZWFsdGltZU1l
ZGlhU291cmNlOjpUeXBlOjpWaWRlbywgV1RGTW92ZShuYW1lKSwgV1RGTW92ZShkZXZpY2VJRCks
IFdURk1vdmUoaGFzaFNhbHQpLCBwYWdlSWRlbnRpZmllcikKICAgICAsIG1fY2FwdHVyZXIoV1RG
TW92ZShjYXB0dXJlcikpCiAgICAgLCBtX3RpbWVyKFJ1bkxvb3A6OmN1cnJlbnQoKSwgdGhpcywg
JkRpc3BsYXlDYXB0dXJlU291cmNlQ29jb2E6OmVtaXRGcmFtZSkKIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9HU3RyZWFtZXJNZWRp
YVN0cmVhbVNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9n
c3RyZWFtZXIvR1N0cmVhbWVyTWVkaWFTdHJlYW1Tb3VyY2UuY3BwCmluZGV4IDg0NzM3MDQxZTI3
YmNhOTRlZWJkODQ5Y2IyNjFmODVmNmZkNmU1NDIuLjU3ZThkZmZkNjJkMDk1YjNhNWIxY2I1NjFj
ZGNlYWQ0NmQxNGI1Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL2dzdHJlYW1lci9HU3RyZWFtZXJNZWRpYVN0cmVhbVNvdXJjZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL0dTdHJlYW1lck1lZGlh
U3RyZWFtU291cmNlLmNwcApAQCAtNjIsOSArNjIsOSBAQCBHUmVmUHRyPEdzdFRhZ0xpc3Q+IG1l
ZGlhU3RyZWFtVHJhY2tQcml2YXRlR2V0VGFncyhjb25zdCBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0
ZQogICAgIGlmICghdHJhY2stPmxhYmVsKCkuaXNFbXB0eSgpKQogICAgICAgICBnc3RfdGFnX2xp
c3RfYWRkKHRhZ0xpc3QuZ2V0KCksIEdTVF9UQUdfTUVSR0VfQVBQRU5ELCBHU1RfVEFHX1RJVExF
LCB0cmFjay0+bGFiZWwoKS51dGY4KCkuZGF0YSgpLCBudWxscHRyKTsKIAotICAgIGlmICh0cmFj
ay0+aGFzQXVkaW8oKSkKKyAgICBpZiAodHJhY2stPmlzQXVkaW8oKSkKICAgICAgICAgZ3N0X3Rh
Z19saXN0X2FkZCh0YWdMaXN0LmdldCgpLCBHU1RfVEFHX01FUkdFX0FQUEVORCwgV0VCS0lUX01F
RElBX1RSQUNLX1RBR19LSU5ELCBzdGF0aWNfY2FzdDxpbnQ+KEF1ZGlvVHJhY2tQcml2YXRlOjpL
aW5kOjpNYWluKSwgbnVsbHB0cik7Ci0gICAgZWxzZSBpZiAodHJhY2stPmhhc1ZpZGVvKCkpIHsK
KyAgICBlbHNlIGlmICh0cmFjay0+aXNWaWRlbygpKSB7CiAgICAgICAgIGdzdF90YWdfbGlzdF9h
ZGQodGFnTGlzdC5nZXQoKSwgR1NUX1RBR19NRVJHRV9BUFBFTkQsIFdFQktJVF9NRURJQV9UUkFD
S19UQUdfS0lORCwgc3RhdGljX2Nhc3Q8aW50PihWaWRlb1RyYWNrUHJpdmF0ZTo6S2luZDo6TWFp
biksIG51bGxwdHIpOwogCiAgICAgICAgIGF1dG8mIHNldHRpbmdzID0gdHJhY2stPnNldHRpbmdz
KCk7CkBAIC04MywxMSArODMsMTEgQEAgR3N0U3RyZWFtKiB3ZWJraXRNZWRpYVN0cmVhbU5ldyhN
ZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSogdHJhY2spCiAgICAgR1JlZlB0cjxHc3RDYXBzPiBjYXBz
OwogICAgIEdzdFN0cmVhbVR5cGUgdHlwZTsKIAotICAgIGlmICh0cmFjay0+aGFzQXVkaW8oKSkg
eworICAgIGlmICh0cmFjay0+aXNBdWRpbygpKSB7CiAgICAgICAgIGNhcHMgPSBhZG9wdEdSZWYo
Z3N0X3N0YXRpY19wYWRfdGVtcGxhdGVfZ2V0X2NhcHMoJmF1ZGlvU3JjVGVtcGxhdGUpKTsKICAg
ICAgICAgdHlwZSA9IEdTVF9TVFJFQU1fVFlQRV9BVURJTzsKICAgICB9IGVsc2UgewotICAgICAg
ICBSRUxFQVNFX0FTU0VSVCgodHJhY2stPmhhc1ZpZGVvKCkpKTsKKyAgICAgICAgUkVMRUFTRV9B
U1NFUlQoKHRyYWNrLT5pc1ZpZGVvKCkpKTsKICAgICAgICAgY2FwcyA9IGFkb3B0R1JlZihnc3Rf
c3RhdGljX3BhZF90ZW1wbGF0ZV9nZXRfY2FwcygmdmlkZW9TcmNUZW1wbGF0ZSkpOwogICAgICAg
ICB0eXBlID0gR1NUX1NUUkVBTV9UWVBFX1ZJREVPOwogICAgIH0KQEAgLTEzNywxMSArMTM3LDEx
IEBAIHB1YmxpYzoKICAgICAgICAgLCBtX3BhZE5hbWUocGFkTmFtZSkKICAgICB7CiAgICAgICAg
IGNvbnN0IGNoYXIqIGVsZW1lbnROYW1lID0gbnVsbHB0cjsKLSAgICAgICAgaWYgKHRyYWNrLmhh
c0F1ZGlvKCkpIHsKKyAgICAgICAgaWYgKHRyYWNrLmlzQXVkaW8oKSkgewogICAgICAgICAgICAg
bV9hdWRpb1RyYWNrID0gQXVkaW9UcmFja1ByaXZhdGVNZWRpYVN0cmVhbTo6Y3JlYXRlKHRyYWNr
KTsKICAgICAgICAgICAgIGVsZW1lbnROYW1lID0gImF1ZGlvc3JjIjsKICAgICAgICAgfSBlbHNl
IHsKLSAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHRyYWNrLmhhc1ZpZGVvKCkpOworICAgICAg
ICAgICAgUkVMRUFTRV9BU1NFUlQodHJhY2suaXNWaWRlbygpKTsKICAgICAgICAgICAgIG1fdmlk
ZW9UcmFjayA9IFZpZGVvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW06OmNyZWF0ZSh0cmFjayk7CiAg
ICAgICAgICAgICBlbGVtZW50TmFtZSA9ICJ2aWRlb3NyYyI7CiAgICAgICAgIH0KQEAgLTE3OCw5
ICsxNzgsOSBAQCBwdWJsaWM6CiAKICAgICAgICAgR1NUX0RFQlVHX09CSkVDVChtX3NyYy5nZXQo
KSwgIlN0YXJ0aW5nIHRyYWNrL3NvdXJjZSBvYnNlcnZhdGlvbiIpOwogICAgICAgICBtX3RyYWNr
LmFkZE9ic2VydmVyKCp0aGlzKTsKLSAgICAgICAgaWYgKG1fdHJhY2suaGFzQXVkaW8oKSkKKyAg
ICAgICAgaWYgKG1fdHJhY2suaXNBdWRpbygpKQogICAgICAgICAgICAgbV90cmFjay5zb3VyY2Uo
KS5hZGRBdWRpb1NhbXBsZU9ic2VydmVyKCp0aGlzKTsKLSAgICAgICAgZWxzZSBpZiAobV90cmFj
ay5oYXNWaWRlbygpKQorICAgICAgICBlbHNlIGlmIChtX3RyYWNrLmlzVmlkZW8oKSkKICAgICAg
ICAgICAgIG1fdHJhY2suc291cmNlKCkuYWRkVmlkZW9GcmFtZU9ic2VydmVyKCp0aGlzKTsKICAg
ICAgICAgbV9pc09ic2VydmluZyA9IHRydWU7CiAgICAgfQpAQCAtMTkzLDE2ICsxOTMsMTYgQEAg
cHVibGljOgogICAgICAgICBHU1RfREVCVUdfT0JKRUNUKG1fc3JjLmdldCgpLCAiU3RvcHBpbmcg
dHJhY2svc291cmNlIG9ic2VydmF0aW9uIik7CiAgICAgICAgIG1faXNPYnNlcnZpbmcgPSBmYWxz
ZTsKIAotICAgICAgICBpZiAobV90cmFjay5oYXNBdWRpbygpKQorICAgICAgICBpZiAobV90cmFj
ay5pc0F1ZGlvKCkpCiAgICAgICAgICAgICBtX3RyYWNrLnNvdXJjZSgpLnJlbW92ZUF1ZGlvU2Ft
cGxlT2JzZXJ2ZXIoKnRoaXMpOwotICAgICAgICBlbHNlIGlmIChtX3RyYWNrLmhhc1ZpZGVvKCkp
CisgICAgICAgIGVsc2UgaWYgKG1fdHJhY2suaXNWaWRlbygpKQogICAgICAgICAgICAgbV90cmFj
ay5zb3VyY2UoKS5yZW1vdmVWaWRlb0ZyYW1lT2JzZXJ2ZXIoKnRoaXMpOwogICAgICAgICBtX3Ry
YWNrLnJlbW92ZU9ic2VydmVyKCp0aGlzKTsKICAgICB9CiAKICAgICB2b2lkIGNvbmZpZ3VyZUF1
ZGlvVHJhY2soZmxvYXQgdm9sdW1lLCBib29sIGlzTXV0ZWQsIGJvb2wgaXNQbGF5aW5nKQogICAg
IHsKLSAgICAgICAgQVNTRVJUKG1fdHJhY2suaGFzQXVkaW8oKSk7CisgICAgICAgIEFTU0VSVCht
X3RyYWNrLmlzQXVkaW8oKSk7CiAgICAgICAgIG1fYXVkaW9UcmFjay0+c2V0Vm9sdW1lKHZvbHVt
ZSk7CiAgICAgICAgIG1fYXVkaW9UcmFjay0+c2V0TXV0ZWQoaXNNdXRlZCk7CiAgICAgICAgIG1f
YXVkaW9UcmFjay0+c2V0RW5hYmxlZChtX2F1ZGlvVHJhY2stPnN0cmVhbVRyYWNrKCkuZW5hYmxl
ZCgpKTsKQEAgLTIzNywxMiArMjM3LDEyIEBAIHB1YmxpYzoKICAgICAgICAgICAgIGdzdF9wYWRf
c2V0X29mZnNldChwYWQuZ2V0KCksIC1tX2ZpcnN0QnVmZmVyUHRzKTsKICAgICAgICAgfQogCi0g
ICAgICAgIGlmIChtX3RyYWNrLmhhc1ZpZGVvKCkgJiYgZHJvcCkKKyAgICAgICAgaWYgKG1fdHJh
Y2suaXNWaWRlbygpICYmIGRyb3ApCiAgICAgICAgICAgICBkcm9wID0gZG9DYXBzSGF2ZVR5cGUo
Y2FwcywgInZpZGVvL3gtcmF3IikgfHwgR1NUX0JVRkZFUl9GTEFHX0lTX1NFVChidWZmZXIsIEdT
VF9CVUZGRVJfRkxBR19ERUxUQV9VTklUKTsKIAogICAgICAgICBpZiAoZHJvcCkgewogICAgICAg
ICAgICAgbV9uZWVkc0Rpc2NvbnQgPSB0cnVlOwotICAgICAgICAgICAgR1NUX1RSQUNFX09CSkVD
VChtX3NyYy5nZXQoKSwgIiVzIHF1ZXVlIGZ1bGwgYWxyZWFkeS4uLiBub3QgcHVzaGluZyIsIG1f
dHJhY2suaGFzVmlkZW8oKSA/ICJWaWRlbyIgOiAiQXVkaW8iKTsKKyAgICAgICAgICAgIEdTVF9U
UkFDRV9PQkpFQ1QobV9zcmMuZ2V0KCksICIlcyBxdWV1ZSBmdWxsIGFscmVhZHkuLi4gbm90IHB1
c2hpbmciLCBtX3RyYWNrLmlzVmlkZW8oKSA/ICJWaWRlbyIgOiAiQXVkaW8iKTsKICAgICAgICAg
ICAgIHJldHVybjsKICAgICAgICAgfQogCkBAIC02MjEsMTIgKzYyMSw4IEBAIHN0YXRpYyB2b2lk
IHdlYmtpdE1lZGlhU3RyZWFtU3JjRW5zdXJlU3RyZWFtQ29sbGVjdGlvblBvc3RlZChXZWJLaXRN
ZWRpYVN0cmVhbVNyCiAgICAgR1NUX0RFQlVHX09CSkVDVChzZWxmLCAiU3RyZWFtIGNvbGxlY3Rp
b24gcG9zdGVkIik7CiB9CiAKLXN0YXRpYyB2b2lkIHdlYmtpdE1lZGlhU3RyZWFtU3JjQWRkUGFk
KFdlYktpdE1lZGlhU3RyZWFtU3JjKiBzZWxmLCBHc3RQYWQqIHRhcmdldCwgR3N0U3RhdGljUGFk
VGVtcGxhdGUqIHBhZFRlbXBsYXRlLCBHUmVmUHRyPEdzdFRhZ0xpc3Q+JiYgdGFncywgUmVhbHRp
bWVNZWRpYVNvdXJjZTo6VHlwZSBzb3VyY2VUeXBlLCBjb25zdCBTdHJpbmcmIHBhZE5hbWUpCitz
dGF0aWMgdm9pZCB3ZWJraXRNZWRpYVN0cmVhbVNyY0FkZFBhZChXZWJLaXRNZWRpYVN0cmVhbVNy
Yyogc2VsZiwgR3N0UGFkKiB0YXJnZXQsIEdzdFN0YXRpY1BhZFRlbXBsYXRlKiBwYWRUZW1wbGF0
ZSwgR1JlZlB0cjxHc3RUYWdMaXN0PiYmIHRhZ3MsIGNvbnN0IFN0cmluZyYgcGFkTmFtZSkKIHsK
LSAgICBBU1NFUlQoc291cmNlVHlwZSAhPSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpOb25l
KTsKLSAgICBpZiAoc291cmNlVHlwZSA9PSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpOb25l
KQotICAgICAgICByZXR1cm47Ci0KICAgICBHU1RfREVCVUdfT0JKRUNUKHNlbGYsICIlcyBHaG9z
dGluZyAlIiBHU1RfUFRSX0ZPUk1BVCwgZ3N0X29iamVjdF9nZXRfcGF0aF9zdHJpbmcoR1NUX09C
SkVDVF9DQVNUKHNlbGYpKSwgdGFyZ2V0KTsKIAogICAgIGF1dG8qIGdob3N0UGFkID0gd2Via2l0
R3N0R2hvc3RQYWRGcm9tU3RhdGljVGVtcGxhdGUocGFkVGVtcGxhdGUsIHBhZE5hbWUuYXNjaWko
KS5kYXRhKCksIHRhcmdldCk7CkBAIC02NzgsNyArNjc0LDcgQEAgc3RhdGljIEdzdFBhZFByb2Jl
UmV0dXJuIHdlYmtpdE1lZGlhU3RyZWFtU3JjUGFkUHJvYmVDYihHc3RQYWQqIHBhZCwgR3N0UGFk
UHJvYmUKICAgICAgICAgZ3N0X2V2ZW50X3NldF9ncm91cF9pZChzdHJlYW1TdGFydCwgMSk7CiAg
ICAgICAgIGdzdF9wYWRfcHVzaF9ldmVudChwYWQsIHN0cmVhbVN0YXJ0KTsKIAotICAgICAgICB3
ZWJraXRNZWRpYVN0cmVhbVNyY0FkZFBhZChzZWxmLCBwYWQsIGRhdGEtPnBhZFRlbXBsYXRlLCBX
VEZNb3ZlKGRhdGEtPnRhZ3MpLCBkYXRhLT5zb3VyY2VUeXBlLCBkYXRhLT5wYWROYW1lKTsKKyAg
ICAgICAgd2Via2l0TWVkaWFTdHJlYW1TcmNBZGRQYWQoc2VsZiwgcGFkLCBkYXRhLT5wYWRUZW1w
bGF0ZSwgV1RGTW92ZShkYXRhLT50YWdzKSwgZGF0YS0+cGFkTmFtZSk7CiAgICAgICAgIHJldHVy
biBHU1RfUEFEX1BST0JFX1JFTU9WRTsKICAgICB9CiAgICAgZGVmYXVsdDoKQEAgLTY5NCwxMiAr
NjkwLDEyIEBAIHZvaWQgd2Via2l0TWVkaWFTdHJlYW1TcmNBZGRUcmFjayhXZWJLaXRNZWRpYVN0
cmVhbVNyYyogc2VsZiwgTWVkaWFTdHJlYW1UcmFja1ByCiAgICAgdW5zaWduZWQgY291bnRlcjsK
ICAgICBHc3RTdGF0aWNQYWRUZW1wbGF0ZSogcGFkVGVtcGxhdGU7CiAKLSAgICBpZiAodHJhY2st
Pmhhc0F1ZGlvKCkpIHsKKyAgICBpZiAodHJhY2stPmlzQXVkaW8oKSkgewogICAgICAgICBwYWRU
ZW1wbGF0ZSA9ICZhdWRpb1NyY1RlbXBsYXRlOwogICAgICAgICBzb3VyY2VUeXBlID0gImF1ZGlv
IjsKICAgICAgICAgY291bnRlciA9IHNlbGYtPnByaXYtPmF1ZGlvUGFkQ291bnRlci5leGNoYW5n
ZUFkZCgxKTsKICAgICB9IGVsc2UgewotICAgICAgICBSRUxFQVNFX0FTU0VSVCh0cmFjay0+aGFz
VmlkZW8oKSk7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKHRyYWNrLT5pc1ZpZGVvKCkpOwogICAg
ICAgICBwYWRUZW1wbGF0ZSA9ICZ2aWRlb1NyY1RlbXBsYXRlOwogICAgICAgICBzb3VyY2VUeXBl
ID0gInZpZGVvIjsKICAgICAgICAgY291bnRlciA9IHNlbGYtPnByaXYtPnZpZGVvUGFkQ291bnRl
ci5leGNoYW5nZUFkZCgxKTsKQEAgLTczMSw3ICs3MjcsNyBAQCB2b2lkIHdlYmtpdE1lZGlhU3Ry
ZWFtU3JjQWRkVHJhY2soV2ViS2l0TWVkaWFTdHJlYW1TcmMqIHNlbGYsIE1lZGlhU3RyZWFtVHJh
Y2tQcgogICAgICAgICB9KTsKICAgICB9IGVsc2UgewogICAgICAgICBnc3RfcGFkX3NldF9hY3Rp
dmUocGFkLmdldCgpLCBUUlVFKTsKLSAgICAgICAgd2Via2l0TWVkaWFTdHJlYW1TcmNBZGRQYWQo
c2VsZiwgcGFkLmdldCgpLCBwYWRUZW1wbGF0ZSwgV1RGTW92ZSh0YWdzKSwgdHJhY2stPnNvdXJj
ZSgpLnR5cGUoKSwgc291cmNlLT5wYWROYW1lKCkpOworICAgICAgICB3ZWJraXRNZWRpYVN0cmVh
bVNyY0FkZFBhZChzZWxmLCBwYWQuZ2V0KCksIHBhZFRlbXBsYXRlLCBXVEZNb3ZlKHRhZ3MpLCBz
b3VyY2UtPnBhZE5hbWUoKSk7CiAgICAgfQogICAgIGdzdF9lbGVtZW50X3N5bmNfc3RhdGVfd2l0
aF9wYXJlbnQoZWxlbWVudCk7CiAKQEAgLTc1OCw3ICs3NTQsNyBAQCB2b2lkIHdlYmtpdE1lZGlh
U3RyZWFtU3JjU2V0U3RyZWFtKFdlYktpdE1lZGlhU3RyZWFtU3JjKiBzZWxmLCBNZWRpYVN0cmVh
bVByaXZhdAogICAgIGF1dG8gdHJhY2tzID0gc3RyZWFtLT50cmFja3MoKTsKICAgICBib29sIG9u
bHlUcmFjayA9IHRyYWNrcy5zaXplKCkgPT0gMTsKICAgICBmb3IgKGF1dG8mIHRyYWNrIDogdHJh
Y2tzKSB7Ci0gICAgICAgIGlmICghaXNWaWRlb1BsYXllciAmJiB0cmFjay0+aGFzVmlkZW8oKSkK
KyAgICAgICAgaWYgKCFpc1ZpZGVvUGxheWVyICYmIHRyYWNrLT5pc1ZpZGVvKCkpCiAgICAgICAg
ICAgICBjb250aW51ZTsKICAgICAgICAgd2Via2l0TWVkaWFTdHJlYW1TcmNBZGRUcmFjayhzZWxm
LCB0cmFjay5nZXQoKSwgb25seVRyYWNrKTsKICAgICB9CkBAIC04MjksNyArODI1LDcgQEAgdm9p
ZCBJbnRlcm5hbFNvdXJjZTo6dHJhY2tFbmRlZChNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSYpCiB2
b2lkIHdlYmtpdE1lZGlhU3RyZWFtU3JjQ29uZmlndXJlQXVkaW9UcmFja3MoV2ViS2l0TWVkaWFT
dHJlYW1TcmMqIHNlbGYsIGZsb2F0IHZvbHVtZSwgYm9vbCBpc011dGVkLCBib29sIGlzUGxheWlu
ZykKIHsKICAgICBmb3IgKGF1dG8mIHNvdXJjZSA6IHNlbGYtPnByaXYtPnNvdXJjZXMpIHsKLSAg
ICAgICAgaWYgKHNvdXJjZS0+dHJhY2soKS5oYXNBdWRpbygpKQorICAgICAgICBpZiAoc291cmNl
LT50cmFjaygpLmlzQXVkaW8oKSkKICAgICAgICAgICAgIHNvdXJjZS0+Y29uZmlndXJlQXVkaW9U
cmFjayh2b2x1bWUsIGlzTXV0ZWQsIGlzUGxheWluZyk7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL01vY2tSZWFsdGlt
ZVZpZGVvU291cmNlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL2dzdHJlYW1lci9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZUdTdHJlYW1lci5jcHAKaW5k
ZXggZDViMTQ5NjBjNTA0MDM1OWYxMzliMjc5ZjI3YTc0OGFlNTIwMWE1Ni4uNGIyOGE1OGM0MTUw
NDJlMDQyNWViODQ5YzhmNGI3NDU0MDM0NzI4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL01vY2tSZWFsdGltZVZpZGVvU291cmNlR1N0
cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3Ry
ZWFtZXIvTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2VHU3RyZWFtZXIuY3BwCkBAIC01OSw4ICs1OSw3
IEBAIENhcHR1cmVTb3VyY2VPckVycm9yIE1vY2tEaXNwbGF5Q2FwdHVyZVNvdXJjZUdTdHJlYW1l
cjo6Y3JlYXRlKGNvbnN0IENhcHR1cmVEZXZpCiAgICAgICAgICAgICByZXR1cm4gV1RGTW92ZShl
cnJvci52YWx1ZSgpLmJhZENvbnN0cmFpbnQpOwogICAgIH0KIAotICAgIGF1dG8gdHlwZSA9IGRl
dmljZS50eXBlKCkgPT0gQ2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6U2NyZWVuID8gUmVhbHRp
bWVNZWRpYVNvdXJjZTo6VHlwZTo6U2NyZWVuIDogUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6
V2luZG93OwotICAgIGF1dG8gc291cmNlID0gYWRvcHRSZWYoKm5ldyBNb2NrRGlzcGxheUNhcHR1
cmVTb3VyY2VHU3RyZWFtZXIodHlwZSwgV1RGTW92ZShtb2NrU291cmNlKSwgV1RGTW92ZShoYXNo
U2FsdCksIGRldmljZS50eXBlKCkpKTsKKyAgICBhdXRvIHNvdXJjZSA9IGFkb3B0UmVmKCpuZXcg
TW9ja0Rpc3BsYXlDYXB0dXJlU291cmNlR1N0cmVhbWVyKFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5
cGU6OlZpZGVvLCBXVEZNb3ZlKG1vY2tTb3VyY2UpLCBXVEZNb3ZlKGhhc2hTYWx0KSwgZGV2aWNl
LnR5cGUoKSkpOwogICAgIHJldHVybiBDYXB0dXJlU291cmNlT3JFcnJvcihXVEZNb3ZlKHNvdXJj
ZSkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggNGYwYmY5OWVh
ZjdlNjczM2NmNDIyMjhkYmI0YzAwYzIyYTQ1NGYyNS4uMGI0MGU4Njg4ZDM1NDg0MzUwOTMxNTRj
ZjdmYzYwM2JiYTJkMDA3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAt
NTUzMSwxNiArNTUzMSwxMSBAQCB2b2lkIEludGVybmFsczo6c3RvcE9ic2VydmluZ1JlYWx0aW1l
TWVkaWFTb3VyY2UoKQogCiAgICAgc3dpdGNoIChtX3RyYWNrU291cmNlLT50eXBlKCkpIHsKICAg
ICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OkF1ZGlvOgotICAgIGNhc2UgUmVhbHRp
bWVNZWRpYVNvdXJjZTo6VHlwZTo6U3lzdGVtQXVkaW86CiAgICAgICAgIG1fdHJhY2tTb3VyY2Ut
PnJlbW92ZUF1ZGlvU2FtcGxlT2JzZXJ2ZXIoKnRoaXMpOwogICAgICAgICBicmVhazsKICAgICBj
YXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlZpZGVvOgotICAgIGNhc2UgUmVhbHRpbWVN
ZWRpYVNvdXJjZTo6VHlwZTo6U2NyZWVuOgotICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6
VHlwZTo6V2luZG93OgogICAgICAgICBtX3RyYWNrU291cmNlLT5yZW1vdmVWaWRlb0ZyYW1lT2Jz
ZXJ2ZXIoKnRoaXMpOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3Vy
Y2U6OlR5cGU6Ok5vbmU6Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH0KICAg
ICBtX3RyYWNrU291cmNlLT5yZW1vdmVPYnNlcnZlcigqdGhpcyk7CiAKQEAgLTU1NTgsMTYgKzU1
NTMsMTEgQEAgdm9pZCBJbnRlcm5hbHM6Om9ic2VydmVNZWRpYVN0cmVhbVRyYWNrKE1lZGlhU3Ry
ZWFtVHJhY2smIHRyYWNrKQogICAgIG1fdHJhY2tTb3VyY2UtPmFkZE9ic2VydmVyKCp0aGlzKTsK
ICAgICBzd2l0Y2ggKG1fdHJhY2tTb3VyY2UtPnR5cGUoKSkgewogICAgIGNhc2UgUmVhbHRpbWVN
ZWRpYVNvdXJjZTo6VHlwZTo6QXVkaW86Ci0gICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpU
eXBlOjpTeXN0ZW1BdWRpbzoKICAgICAgICAgbV90cmFja1NvdXJjZS0+YWRkQXVkaW9TYW1wbGVP
YnNlcnZlcigqdGhpcyk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNv
dXJjZTo6VHlwZTo6VmlkZW86Ci0gICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpT
Y3JlZW46Ci0gICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpXaW5kb3c6CiAgICAg
ICAgIG1fdHJhY2tTb3VyY2UtPmFkZFZpZGVvRnJhbWVPYnNlcnZlcigqdGhpcyk7CiAgICAgICAg
IGJyZWFrOwotICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6Tm9uZToKLSAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCmluZGV4IDE0YTkxMDc3ZTUwZjgxZjc4NzZhNDhk
MDZjYjgxNzc5MTk0YjAyMDAuLjVlZjNlNjM0ZmMwOGEyODlmMjUyMTkzNzdhODM5Y2VlMzk3MmNl
NTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVy
cy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCkBA
IC05MTksNyArOTE5LDYgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpJ
bmRleGVkREI6OkdldEFsbFR5cGU+IHsKIHRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2Vi
Q29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZT4gewogICAgIHVzaW5nIHZhbHVlcyA9IEVu
dW1WYWx1ZXM8CiAgICAgICAgIFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUsCi0g
ICAgICAgIFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6Ok5vbmUsCiAgICAgICAg
IFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OkF1ZGlvLAogICAgICAgICBXZWJD
b3JlOjpSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpWaWRlbwogICAgID47CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclBy
b3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRpYUNhcHR1cmVN
YW5hZ2VyUHJveHkuY3BwCmluZGV4IGZjNTc0ODI0NWMxZTQyMzdhMjJlZjUzMTgyOGMwNTQ1ZGQ3
N2U1MzAuLjYzZjhlYzg2ZDFmNWQ2OGU2MzE5MTAxYTVkMmY1OWYxZDg2OGMzY2UgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2Vy
UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRpYUNh
cHR1cmVNYW5hZ2VyUHJveHkuY3BwCkBAIC02OCwxNiArNjgsMTEgQEAgcHVibGljOgogICAgICAg
ICBtX3NvdXJjZS0+YWRkT2JzZXJ2ZXIoKnRoaXMpOwogICAgICAgICBzd2l0Y2ggKG1fc291cmNl
LT50eXBlKCkpIHsKICAgICAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpBdWRp
bzoKLSAgICAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpTeXN0ZW1BdWRpbzoK
ICAgICAgICAgICAgIG1fc291cmNlLT5hZGRBdWRpb1NhbXBsZU9ic2VydmVyKCp0aGlzKTsKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6
OlZpZGVvOgotICAgICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlNjcmVlbjoK
LSAgICAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpXaW5kb3c6CiAgICAgICAg
ICAgICBtX3NvdXJjZS0+YWRkVmlkZW9GcmFtZU9ic2VydmVyKCp0aGlzKTsKICAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6Ok5vbmU6Ci0g
ICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgfQogICAgIH0KIApAQCAt
ODUsMTYgKzgwLDExIEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHN3aXRjaCAobV9zb3VyY2Ut
PnR5cGUoKSkgewogICAgICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OkF1ZGlv
OgotICAgICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlN5c3RlbUF1ZGlvOgog
ICAgICAgICAgICAgbV9zb3VyY2UtPnJlbW92ZUF1ZGlvU2FtcGxlT2JzZXJ2ZXIoKnRoaXMpOwog
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlw
ZTo6VmlkZW86Ci0gICAgICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6U2NyZWVu
OgotICAgICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OldpbmRvdzoKICAgICAg
ICAgICAgIG1fc291cmNlLT5yZW1vdmVWaWRlb0ZyYW1lT2JzZXJ2ZXIoKnRoaXMpOwogICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6Tm9u
ZToKLSAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICB9CiAgICAgICAg
IG1fc291cmNlLT5yZW1vdmVPYnNlcnZlcigqdGhpcyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVSZWFsdGltZU1lZGlhU291cmNlLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVSZWFsdGltZU1lZGlhU291cmNlLmNw
cAppbmRleCBkOTc1YWYwNTlhMzExMTNlODA0YTkwZWI0YzAxNjU5NTk2NDdkNDZlLi4yMzA4ZjFj
MTQxOTg4ODY0MmVhMzQ0MmQ2MDI5NmY3MmVjNjA3MDdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlUmVhbHRpbWVNZWRpYVNvdXJjZS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90ZVJlYWx0aW1lTWVkaWFTb3VyY2Uu
Y3BwCkBAIC00MCwxNSArNDAsMTIgQEAgc3RhdGljIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUg
dG9Tb3VyY2VUeXBlKENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGUgdHlwZSkKIHsKICAgICBzd2l0
Y2ggKHR5cGUpIHsKICAgICBjYXNlIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGU6Ok1pY3JvcGhv
bmU6CisgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpTeXN0ZW1BdWRpbzoKICAg
ICAgICAgcmV0dXJuIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OkF1ZGlvOwogICAgIGNhc2Ug
Q2FwdHVyZURldmljZTo6RGV2aWNlVHlwZTo6Q2FtZXJhOgotICAgICAgICByZXR1cm4gUmVhbHRp
bWVNZWRpYVNvdXJjZTo6VHlwZTo6VmlkZW87CiAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZp
Y2VUeXBlOjpTY3JlZW46Ci0gICAgICAgIHJldHVybiBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBl
OjpTY3JlZW47CiAgICAgY2FzZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpXaW5kb3c6Ci0g
ICAgICAgIHJldHVybiBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpXaW5kb3c7Ci0gICAgY2Fz
ZSBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlOjpTeXN0ZW1BdWRpbzoKLSAgICAgICAgcmV0dXJu
IFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlN5c3RlbUF1ZGlvOworICAgICAgICByZXR1cm4g
UmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6VmlkZW87CiAgICAgY2FzZSBDYXB0dXJlRGV2aWNl
OjpEZXZpY2VUeXBlOjpVbmtub3duOgogICAgIGNhc2UgQ2FwdHVyZURldmljZTo6RGV2aWNlVHlw
ZTo6U3BlYWtlcjoKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>