<?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>233185</bug_id>
          
          <creation_ts>2021-11-16 04:24:41 -0800</creation_ts>
          <short_desc>Add support for more rvfc metadata</short_desc>
          <delta_ts>2021-11-17 23:47:23 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebRTC</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>211945</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>annulen</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>philipj</cc>
    
    <cc>ryuan.choi</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>1815436</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-11-16 04:24:41 -0800</bug_when>
    <thetext>Add support for more rvfc metadata</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815857</commentid>
    <comment_count>1</comment_count>
      <attachid>444493</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-11-17 01:08:21 -0800</bug_when>
    <thetext>Created attachment 444493
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815864</commentid>
    <comment_count>2</comment_count>
      <attachid>444495</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-11-17 01:22:08 -0800</bug_when>
    <thetext>Created attachment 444495
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815872</commentid>
    <comment_count>3</comment_count>
      <attachid>444499</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-11-17 02:05:46 -0800</bug_when>
    <thetext>Created attachment 444499
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815882</commentid>
    <comment_count>4</comment_count>
      <attachid>444502</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-11-17 02:41:24 -0800</bug_when>
    <thetext>Created attachment 444502
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816329</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-11-17 23:46:16 -0800</bug_when>
    <thetext>Committed r285984 (244381@main): &lt;https://commits.webkit.org/244381@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 444502.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816330</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-11-17 23:47:23 -0800</bug_when>
    <thetext>&lt;rdar://problem/85537783&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444493</attachid>
            <date>2021-11-17 01:08:21 -0800</date>
            <delta_ts>2021-11-17 01:40:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233185-20211117100818.patch</filename>
            <type>text/plain</type>
            <size>56085</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1Nzk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGUwOWY5NTk5ZDBmNWM4
N2EzNWIyNTRiZjUyNzNhZTZjMzZmZTI4YS4uMTJkYjUzYTBlMmNmNTliMjNlOGZhMTQ1MzkzNTNh
N2EwN2E5YzM5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDIxLTExLTE2ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Ig
bW9yZSBydmZjIG1ldGFkYXRhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzMxODUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBJbnRyb2R1Y2UgVmlkZW9TYW1wbGVNZXRhZGF0YSB0aGF0IGFsbG93cyBhIFJl
YWx0aW1lTWVkaWFTb3VyY2UgdG8gcHJvdmlkZSBtZXRhZGF0YSBmb3IgZWFjaCB2aWRlbyBmcmFt
ZS4KKyAgICAgICAgRmlsbCBWaWRlb1NhbXBsZU1ldGFkYXRhIGZvciBlYWNoIHNvdXJjZSAoY2Fw
dHVyZSBhbmQgV2ViUlRDKQorICAgICAgICBNYWtlIHVzZSBvZiBWaWRlb1NhbXBsZU1ldGFkYXRh
IGluIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQyB0byBmaWxsIFZpZGVvRnJh
bWVNZXRhZGF0YS4KKyAgICAgICAgRW5oYW5jZSBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRp
b25PYmpDIHRvIGZpbGwgaW4gdGhlIG5ld2x5IGV4cG9zZWQgbWV0YWRhdGEgaW4gVmlkZW9GcmFt
ZU1ldGFkYXRhLgorICAgICAgICBVcGRhdGUgSFRNTFZpZGVvRWxlbWVudCB0byBwcm9jZXNzIHRo
ZSB0aW1lc3RhbXAgdmFsdWVzIGFzIG5lZWRlZC4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0
aW5nIHRlc3RzLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9DYW52YXNDYXB0dXJl
TWVkaWFTdHJlYW1UcmFjay5jcHA6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIGh0bWwvSFRNTFZpZGVvRWxlbWVudC5jcHA6CisgICAgICAg
ICogaHRtbC9WaWRlb0ZyYW1lTWV0YWRhdGEuaWRsOgorICAgICAgICAqIHBsYXRmb3JtL1ZpZGVv
U2FtcGxlTWV0YWRhdGEuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVNZWRpYVN0cmVhbUFWRk9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW06
CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFW
RkltcGwuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRl
clByaXZhdGVBVkZJbXBsLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRp
YVJlY29yZGVyUHJpdmF0ZU1vY2suY3BwOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhcmVjb3Jk
ZXIvTWVkaWFSZWNvcmRlclByaXZhdGVNb2NrLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFz
dHJlYW0vUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tZWRpYXN0cmVhbS9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2UuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlLmNwcDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlLmg6CisgICAgICAgICogcGxh
dGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlLmg6CisgICAgICAg
ICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVWaWRlb0NhcHR1cmVTb3VyY2UuY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lVmlkZW9DYXB0dXJlU291cmNl
Lmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVWaWRlb1NvdXJjZS5j
cHA6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVWaWRlb1NvdXJjZS5o
OgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2NvY29hL0Rpc3BsYXlDYXB0dXJlU291
cmNlQ29jb2EuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9H
U3RyZWFtZXJNZWRpYVN0cmVhbVNvdXJjZS5jcHA6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFz
dHJlYW0vbGlid2VicnRjL2dzdHJlYW1lci9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VMaWJX
ZWJSVEMuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9nc3Ry
ZWFtZXIvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlTGliV2ViUlRDLmNwcDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvZ3N0cmVhbWVyL1JlYWx0aW1lT3V0Z29p
bmdWaWRlb1NvdXJjZUxpYldlYlJUQy5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFt
L21hYy9BVlZpZGVvQ2FwdHVyZVNvdXJjZS5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0
cmVhbS9tYWMvTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2VNYWMubW06CisgICAgICAgICogcGxhdGZv
cm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29hLm1tOgor
ICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5nVmlkZW9T
b3VyY2VDb2NvYS5jcHA6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0
aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5h
bHMuY3BwOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisKIDIwMjEtMTEtMTQgIFNp
bW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgRmluZ2VycyBk
b3duIG9uIHRoZSB0cmFja3BhZCBzaG91bGQgc3RvcCBhbiBhbmltYXRlZCBzY3JvbGwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
aW5kZXggNDU4ZGYzOWY1YTNhZTBmZjBhZTIyMjc3ZjFhYTI0ZWJkZGEzY2VkZC4uZGVjNzI5OWJh
MDUxNDJiZGVjODQwZDJiYmE5ODQzM2IwYjYwM2Y5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBA
QAorMjAyMS0xMS0xNiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAg
ICAgQWRkIHN1cHBvcnQgZm9yIG1vcmUgcnZmYyBtZXRhZGF0YQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMTg1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBzdXJlIHRvIHJlY2VpdmUgZnJhbWUg
bWV0YWRhdHMsIHNlbmQgaXQgdGhyb3VnaCBJUEMgdG8gV2ViUHJvY2VzcyBhbmQgcGlwZSBpdCB0
byBtZWRpYSBzb3VyY2Ugb2JzZXJ2ZXJzLgorCisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1Vz
ZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHkuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BV
L3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9H
UFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9j
b2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5jcHA6CisgICAgICAgICogV2ViUHJvY2Vz
cy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5oOgorICAgICAgICAqIFdlYlByb2Nl
c3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIubWVzc2FnZXMuaW46CisgICAgICAg
ICogV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVSZWFsdGltZURpc3BsYXlTb3VyY2UuaDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL2NvY29hL1JlbW90ZVJlYWx0aW1lVmlkZW9Tb3VyY2UuY3BwOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvY29jb2EvUmVtb3RlUmVhbHRpbWVWaWRlb1NvdXJjZS5oOgorCiAy
MDIxLTExLTE0ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBH
ZXQgZGFlbW9uIEFQSSByZWFkeSB0byB3b3JrIGluIHRoZSBpT1Mgc2ltdWxhdG9yIChzdGFydGlu
ZyB3aXRoIFdlYlB1c2hEKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9DYW52YXNDYXB0dXJlTWVkaWFTdHJlYW1UcmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrLmNwcApp
bmRleCA1YzBiNTZjMGYzMjNhNTkyNzcwYTg0ZWJiNGU2OTAxZWQ4Mjg1YTg2Li5lZTU4OTA3Nzcy
MzViNmY0MTdmZDIyNmMzYmZiNWQwOTlhODBkMjdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRp
YVN0cmVhbVRyYWNrLmNwcApAQCAtMTk2LDcgKzE5Niw5IEBAIHZvaWQgQ2FudmFzQ2FwdHVyZU1l
ZGlhU3RyZWFtVHJhY2s6OlNvdXJjZTo6Y2FwdHVyZUNhbnZhcygpCiAgICAgaWYgKCFzYW1wbGUp
CiAgICAgICAgIHJldHVybjsKIAotICAgIHZpZGVvU2FtcGxlQXZhaWxhYmxlKCpzYW1wbGUpOwor
ICAgIFZpZGVvU2FtcGxlTWV0YWRhdGEgbWV0YWRhdGE7CisgICAgbWV0YWRhdGEuY2FwdHVyZVRp
bWUgPSBNb25vdG9uaWNUaW1lOjpub3coKS5zZWNvbmRzU2luY2VFcG9jaCgpOworICAgIHZpZGVv
U2FtcGxlQXZhaWxhYmxlKCpzYW1wbGUsIG1ldGFkYXRhKTsKIH0KIAogUmVmUHRyPE1lZGlhU3Ry
ZWFtVHJhY2s+IENhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrOjpjbG9uZSgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOTk4
MTBlYjgyMDNjY2RhNmI1YzllMzgxNjE0YjYyYmU2ZWYyYTFjYy4uNzM3MjRhOGVmNDNlMTdjN2I2
NWQwNzU4Nzg1YWMyODU4ZjljMTIzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTExNyw2ICsxMTE3LDcgQEAKIAkJNDE1N0VC
RkIxRTNBQjY3RjAwQUM5RkU5IC8qIE1vY2tMaWJXZWJSVENQZWVyQ29ubmVjdGlvbi5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE1N0VCRjgxRTNBQjA2
ODAwQUM5RkU5IC8qIE1vY2tMaWJXZWJSVENQZWVyQ29ubmVjdGlvbi5oICovOyB9OwogCQk0MTU4
NjRBMDIzQkY3Q0JGMDBBMEE2MUUgLyogUmVhbHRpbWVWaWRlb1V0aWxpdGllcy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFEMTkzOEYyMTUyQzU2MTAw
NkYxNENBIC8qIFJlYWx0aW1lVmlkZW9VdGlsaXRpZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTVDREFGNTFFNkI4RjhCMDA0RjExRUUgLyog
Q2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxQzdFMTA2MUU2QTU0MzYwMDI3QjRERSAvKiBDYW52YXND
YXB0dXJlTWVkaWFTdHJlYW1UcmFjay5oICovOyB9OworCQk0MTYwNDkzMzI3NDNCMEU4MDBBODZG
QTAgLyogVmlkZW9TYW1wbGVNZXRhZGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDE2MDQ5MzEyNzQzQjBFNzAwQTg2RkEwIC8qIFZpZGVvU2FtcGxl
TWV0YWRhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQk0MTYxNEE3OTFEQTY0MjQxMDA0QUQwNkYgLyogSFRUUEhlYWRlclZhbHVlcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE2MTRBNzcxREE2NDIz
NjAwNEFEMDZGIC8qIEhUVFBIZWFkZXJWYWx1ZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTYxRTJENTFGRTQ4REM1MDBFQzJFOTYgLyogRmV0
Y2hMb2FkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxNDdFMkI1MUM4OTkxMjYwMEE3RTcxNSAvKiBGZXRjaExvYWRlci5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxNjJBNDUxMTAxMTQ1QUUwMERG
RjNFRCAvKiBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE2MkE0NEUxMDExNDVBRTAwREZGM0VEIC8qIERl
ZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmggKi87IH07CkBAIC04MzMzLDYgKzgzMzQsNyBAQAog
CQk0MTVFMUJCNTIxNTAxMDgxMDAyMkRBOTYgLyogUlRDUnRwQ29udHJpYnV0aW5nU291cmNlLmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSVENSdHBDb250cmlidXRpbmdTb3VyY2UuaWRsOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTVFMUJCNjIxNTAxNTJBMDAyMkRBOTYgLyog
UlRDUnRwU3luY2hyb25pemF0aW9uU291cmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFJUQ1J0cFN5bmNocm9uaXphdGlvblNvdXJjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0MTVFMUJCNzIxNTAxNTMwMDAyMkRBOTYgLyogUlRDUnRwU3luY2hyb25pemF0
aW9uU291cmNlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSVENSdHBTeW5jaHJvbml6YXRp
b25Tb3VyY2UuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTYwNDkzMTI3NDNC
MEU3MDBBODZGQTAgLyogVmlkZW9TYW1wbGVNZXRhZGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBWaWRlb1NhbXBsZU1ldGFkYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQxNjE0QTc2MURBNjQyMzYwMDRBRDA2RiAvKiBIVFRQSGVhZGVyVmFsdWVzLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhUVFBIZWFkZXJWYWx1ZXMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTYxNEE3NzFEQTY0MjM2MDA0QUQw
NkYgLyogSFRUUEhlYWRlclZhbHVlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBIVFRQSGVhZGVyVmFsdWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNjJB
NDREMTAxMTQ1QUUwMERGRjNFRCAvKiBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxT
Y29wZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yOTExMyw2ICsyOTExNSw3
IEBACiAJCQkJNzFDOTE2MDcxRDE0ODNBMzAwQUNBNDdEIC8qIFVzZXJJbnRlcmZhY2VMYXlvdXRE
aXJlY3Rpb24uaCAqLywKIAkJCQk4M0M0NUI4RDFEQzJCNjdDMDA4ODcxQkEgLyogVmFsaWRhdGlv
bkJ1YmJsZS5oICovLAogCQkJCTQxREVFRkI0MjcxOUJBMTkwMENCOEQ3NCAvKiBWaWRlb0ZyYW1l
TWV0YWRhdGEuaCAqLywKKwkJCQk0MTYwNDkzMTI3NDNCMEU3MDBBODZGQTAgLyogVmlkZW9TYW1w
bGVNZXRhZGF0YS5oICovLAogCQkJCTUxNUY3OTUxMUNGQ0EzQzcwMENDRUQ5MyAvKiBXZWJDb3Jl
Q3Jvc3NUaHJlYWRDb3BpZXIuY3BwICovLAogCQkJCTUxNUY3OTUyMUNGQ0EzQzcwMENDRUQ5MyAv
KiBXZWJDb3JlQ3Jvc3NUaHJlYWRDb3BpZXIuaCAqLywKIAkJCQk4MzlBMkYyQjFFMjA0QTZEMDAz
OTA1N0UgLyogV2ViR0xTdGF0ZVRyYWNrZXIuY3BwICovLApAQCAtMzQwNjAsNiArMzQwNjMsNyBA
QAogCQkJCTU3QzdBNjlGMUU1NzkxNzgwMEM2N0Q3MSAvKiBKU0Jhc2ljQ3JlZGVudGlhbC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQkM5NDYzNDgxMDdBOTM2NjAwODU3MTkzIC8qIEpTQmVmb3JlTG9h
ZEV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk2RkE0NDU0RTg5OEYyRkMxNjhCQzM4QzEgLyog
SlNCZWZvcmVVbmxvYWRFdmVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDE2MDQ5MzMyNzQzQjBF
ODAwQTg2RkEwIC8qIFZpZGVvU2FtcGxlTWV0YWRhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCUZE
RjA5REM5MTM5OUI2MjIwMDY4OEU1QiAvKiBKU0JpcXVhZEZpbHRlck5vZGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTJFMkQ5OUNFMTBFMkJCREEwMDQ5NjMzNyAvKiBKU0Jsb2IuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUExNUQ3NTFCMUU2OEY4QTMwMEEzNUZCQyAvKiBKU0Jsb2JDYWxsYmFjay5oIGlu
IEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0Vs
ZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcAppbmRl
eCBiYjA1ZTI3NjFmODJkYzlkZTMxMWQ0Y2JhMjM0Nzk1MTY5MDljMzI5Li5iMGQxNDgzYmJlYzg2
YTc4MjdhZjY5MWQ4NGZmNmFkNzI5MjBjYTk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZp
ZGVvRWxlbWVudC5jcHAKQEAgLTQxLDYgKzQxLDcgQEAKICNpbmNsdWRlICJJbWFnZUJ1ZmZlci5o
IgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJQYWdlLmgiCisjaW5jbHVkZSAiUGVy
Zm9ybWFuY2UuaCIKICNpbmNsdWRlICJQaWN0dXJlSW5QaWN0dXJlU3VwcG9ydC5oIgogI2luY2x1
ZGUgIlJlbmRlckltYWdlLmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlkZW8uaCIKQEAgLTYwOSwxNSAr
NjEwLDI3IEBAIHZvaWQgSFRNTFZpZGVvRWxlbWVudDo6Y2FuY2VsVmlkZW9GcmFtZUNhbGxiYWNr
KHVuc2lnbmVkIGlkZW50aWZpZXIpCiAgICAgbV92aWRlb0ZyYW1lUmVxdWVzdHMucmVtb3ZlKGlu
ZGV4KTsKIH0KIAorc3RhdGljIHZvaWQgcHJvY2Vzc1ZpZGVvRnJhbWVNZXRhZGF0YVRpbWVzdGFt
cHMoVmlkZW9GcmFtZU1ldGFkYXRhJiBtZXRhZGF0YSwgUGVyZm9ybWFuY2UmIHBlcmZvcm1hbmNl
KQoreworICAgIG1ldGFkYXRhLnByZXNlbnRhdGlvblRpbWUgPSBwZXJmb3JtYW5jZS5yZWxhdGl2
ZVRpbWVGcm9tVGltZU9yaWdpbkluUmVkdWNlZFJlc29sdXRpb24oTW9ub3RvbmljVGltZTo6ZnJv
bVJhd1NlY29uZHMobWV0YWRhdGEucHJlc2VudGF0aW9uVGltZSkpOworICAgIG1ldGFkYXRhLmV4
cGVjdGVkRGlzcGxheVRpbWUgPSBwZXJmb3JtYW5jZS5yZWxhdGl2ZVRpbWVGcm9tVGltZU9yaWdp
bkluUmVkdWNlZFJlc29sdXRpb24oTW9ub3RvbmljVGltZTo6ZnJvbVJhd1NlY29uZHMobWV0YWRh
dGEuZXhwZWN0ZWREaXNwbGF5VGltZSkpOworICAgIGlmIChtZXRhZGF0YS5jYXB0dXJlVGltZSkK
KyAgICAgICAgbWV0YWRhdGEuY2FwdHVyZVRpbWUgPSBwZXJmb3JtYW5jZS5yZWxhdGl2ZVRpbWVG
cm9tVGltZU9yaWdpbkluUmVkdWNlZFJlc29sdXRpb24oTW9ub3RvbmljVGltZTo6ZnJvbVJhd1Nl
Y29uZHMoKm1ldGFkYXRhLmNhcHR1cmVUaW1lKSk7CisgICAgaWYgKG1ldGFkYXRhLnJlY2VpdmVU
aW1lKQorICAgICAgICBtZXRhZGF0YS5yZWNlaXZlVGltZSA9IHBlcmZvcm1hbmNlLnJlbGF0aXZl
VGltZUZyb21UaW1lT3JpZ2luSW5SZWR1Y2VkUmVzb2x1dGlvbihNb25vdG9uaWNUaW1lOjpmcm9t
UmF3U2Vjb25kcygqbWV0YWRhdGEucmVjZWl2ZVRpbWUpKTsKK30KKwogdm9pZCBIVE1MVmlkZW9F
bGVtZW50OjpzZXJ2aWNlUmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFja3MoUmVkdWNlZFJlc29sdXRp
b25TZWNvbmRzIG5vdykKIHsKICAgICBpZiAoIXBsYXllcigpKQogICAgICAgICByZXR1cm47CiAK
ICAgICBhdXRvIHZpZGVvRnJhbWVNZXRhZGF0YSA9IHBsYXllcigpLT52aWRlb0ZyYW1lTWV0YWRh
dGEoKTsKLSAgICBpZiAoIXZpZGVvRnJhbWVNZXRhZGF0YSkKKyAgICBpZiAoIXZpZGVvRnJhbWVN
ZXRhZGF0YSB8fCAhZG9jdW1lbnQoKS5kb21XaW5kb3coKSkKICAgICAgICAgcmV0dXJuOwogCisg
ICAgcHJvY2Vzc1ZpZGVvRnJhbWVNZXRhZGF0YVRpbWVzdGFtcHMoKnZpZGVvRnJhbWVNZXRhZGF0
YSwgZG9jdW1lbnQoKS5kb21XaW5kb3coKS0+cGVyZm9ybWFuY2UoKSk7CisKICAgICBSZWYgcHJv
dGVjdGVkVGhpcyB7ICp0aGlzIH07CiAKICAgICAvLyBXZSBzdG9yZSB0aGUgc2l6ZSBiZWZvcmUg
Y2FsbGluZyBjYWxsYmFja3MgYXMgd2UgZG8gbm90IHdhbnQgdG8gY2FsbCBuZXdseSBhZGRlZCBj
YWxsYmFja3MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZpZGVvRnJhbWVNZXRh
ZGF0YS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZpZGVvRnJhbWVNZXRhZGF0YS5pZGwKaW5k
ZXggMmNhOTVlOGYwM2QzMDU3YWMyZTgwYzRhNWQyZmEyMzA1NmFmNzhiZC4uNDE5NmViYWZjM2Iy
ZTMzZTJmNDZhZWM5ZjZkZDVlYzkwMDJjY2QzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9WaWRlb0ZyYW1lTWV0YWRhdGEuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmlk
ZW9GcmFtZU1ldGFkYXRhLmlkbApAQCAtMjksOSArMjksOCBAQCB0eXBlZGVmIGRvdWJsZSBET01I
aWdoUmVzVGltZVN0YW1wOwogICAgIENvbmRpdGlvbmFsPVZJREVPLAogICAgIEpTR2VuZXJhdGVU
b0pTT2JqZWN0LAogXSBkaWN0aW9uYXJ5IFZpZGVvRnJhbWVNZXRhZGF0YSB7Ci0gICAgLy8gRklY
TUU6IGV4cG9zZSBwcmVzZW50YXRpb25UaW1lIGFuZCBleHBlY3RlZERpc3BsYXlUaW1lLgotICAg
IC8vIHJlcXVpcmVkIERPTUhpZ2hSZXNUaW1lU3RhbXAgcHJlc2VudGF0aW9uVGltZTsKLSAgICAv
LyByZXF1aXJlZCBET01IaWdoUmVzVGltZVN0YW1wIGV4cGVjdGVkRGlzcGxheVRpbWU7CisgICAg
cmVxdWlyZWQgRE9NSGlnaFJlc1RpbWVTdGFtcCBwcmVzZW50YXRpb25UaW1lOworICAgIHJlcXVp
cmVkIERPTUhpZ2hSZXNUaW1lU3RhbXAgZXhwZWN0ZWREaXNwbGF5VGltZTsKIAogICAgIHJlcXVp
cmVkIHVuc2lnbmVkIGxvbmcgd2lkdGg7CiAgICAgcmVxdWlyZWQgdW5zaWduZWQgbG9uZyBoZWln
aHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WaWRlb1NhbXBsZU1ldGFk
YXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WaWRlb1NhbXBsZU1ldGFkYXRhLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYjdmY2FmMGM4ZTc0NWY1NzY2MDM1MTgwODI1YmYyOTJhMjc1Y2FjNQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZpZGVvU2FtcGxlTWV0YWRhdGEu
aApAQCAtMCwwICsxLDc2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRl
IDxvcHRpb25hbD4KKyNpbmNsdWRlIDx3dGYvU2Vjb25kcy5oPgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK3N0cnVjdCBWaWRlb1NhbXBsZU1ldGFkYXRhIHsKKyAgICBzdGQ6Om9wdGlvbmFsPGRv
dWJsZT4gcHJvY2Vzc2luZ0R1cmF0aW9uOworCisgICAgc3RkOjpvcHRpb25hbDxTZWNvbmRzPiBj
YXB0dXJlVGltZTsKKyAgICBzdGQ6Om9wdGlvbmFsPFNlY29uZHM+IHJlY2VpdmVUaW1lOworICAg
IHN0ZDo6b3B0aW9uYWw8dW5zaWduZWQ+IHJ0cFRpbWVzdGFtcDsKKworICAgIHRlbXBsYXRlPGNs
YXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKKyAgICB0ZW1wbGF0ZTxj
bGFzcyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxWaWRlb1NhbXBsZU1ldGFkYXRhPiBk
ZWNvZGUoRGVjb2RlciYpOworfTsKKwordGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KK2lubGluZSB2
b2lkIFZpZGVvU2FtcGxlTWV0YWRhdGE6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAor
eworICAgIGVuY29kZXIgPDwgcHJvY2Vzc2luZ0R1cmF0aW9uIDw8IGNhcHR1cmVUaW1lIDw8IHJl
Y2VpdmVUaW1lIDw8IHJ0cFRpbWVzdGFtcDsKK30KKwordGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4K
K2lubGluZSBzdGQ6Om9wdGlvbmFsPFZpZGVvU2FtcGxlTWV0YWRhdGE+IFZpZGVvU2FtcGxlTWV0
YWRhdGE6OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQoreworICAgIHN0ZDo6b3B0aW9uYWw8c3Rk
OjpvcHRpb25hbDxkb3VibGU+PiBwcm9jZXNzaW5nRHVyYXRpb247CisgICAgZGVjb2RlciA+PiBw
cm9jZXNzaW5nRHVyYXRpb247CisgICAgaWYgKCFwcm9jZXNzaW5nRHVyYXRpb24pCisgICAgICAg
IHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8
U2Vjb25kcz4+IGNhcHR1cmVUaW1lOworICAgIGRlY29kZXIgPj4gY2FwdHVyZVRpbWU7CisgICAg
aWYgKCFjYXB0dXJlVGltZSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0
ZDo6b3B0aW9uYWw8c3RkOjpvcHRpb25hbDxTZWNvbmRzPj4gcmVjZWl2ZVRpbWU7CisgICAgZGVj
b2RlciA+PiByZWNlaXZlVGltZTsKKyAgICBpZiAoIXJlY2VpdmVUaW1lKQorICAgICAgICByZXR1
cm4gc3RkOjpudWxsb3B0OworCisgICAgc3RkOjpvcHRpb25hbDxzdGQ6Om9wdGlvbmFsPHVuc2ln
bmVkPj4gcnRwVGltZXN0YW1wOworICAgIGRlY29kZXIgPj4gcnRwVGltZXN0YW1wOworICAgIGlm
ICghcnRwVGltZXN0YW1wKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgcmV0
dXJuIFZpZGVvU2FtcGxlTWV0YWRhdGEgeyAqcHJvY2Vzc2luZ0R1cmF0aW9uLCAqY2FwdHVyZVRp
bWUsICpyZWNlaXZlVGltZSwgKnJ0cFRpbWVzdGFtcCB9OworfQorCit9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBs
YXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFt
QVZGT2JqQy5oCmluZGV4IGFmZWVjNzc1OThhNWUxZjc0MTVjZjUyY2MzZjZjMTllNjg1YjBiMzIu
LjE0ODc0ZjJhZTMxYjBjMTVkMzVmYTNlMTAxN2JmMzYyYzI0NzJkZDIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3Ry
ZWFtQVZGT2JqQy5oCkBAIC0xMzYsNyArMTM2LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgZmx1
c2hSZW5kZXJlcnMoKTsKIAotICAgIHZvaWQgcHJvY2Vzc05ld1ZpZGVvU2FtcGxlKE1lZGlhU2Ft
cGxlJiwgYm9vbCBoYXNDaGFuZ2VkT3JpZW50YXRpb24pOworICAgIHZvaWQgcHJvY2Vzc05ld1Zp
ZGVvU2FtcGxlKE1lZGlhU2FtcGxlJiwgYm9vbCBoYXNDaGFuZ2VkT3JpZW50YXRpb24sIFZpZGVv
U2FtcGxlTWV0YWRhdGEsIFNlY29uZHMpOwogICAgIHZvaWQgZW5xdWV1ZVZpZGVvU2FtcGxlKE1l
ZGlhU2FtcGxlJik7CiAgICAgdm9pZCByZXF1ZXN0Tm90aWZpY2F0aW9uV2hlblJlYWR5Rm9yVmlk
ZW9EYXRhKCk7CiAKQEAgLTIwOCw3ICsyMDgsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgcmVhZHlT
dGF0ZUNoYW5nZWQoTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUmKSBvdmVycmlkZTsKIAogICAgIC8v
IFJlYWx0aW1lTWVkaWFTb3VjZTo6VmlkZW9TYW1wbGVPYnNlcnZlcgotICAgIHZvaWQgdmlkZW9T
YW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmKSBmaW5hbDsKKyAgICB2b2lkIHZpZGVvU2FtcGxl
QXZhaWxhYmxlKE1lZGlhU2FtcGxlJiwgVmlkZW9TYW1wbGVNZXRhZGF0YSkgZmluYWw7CiAKICAg
ICBSZXRhaW5QdHI8UGxhdGZvcm1MYXllcj4gY3JlYXRlVmlkZW9GdWxsc2NyZWVuTGF5ZXIoKSBv
dmVycmlkZTsKICAgICB2b2lkIHNldFZpZGVvRnVsbHNjcmVlbkxheWVyKFBsYXRmb3JtTGF5ZXIq
LCBGdW5jdGlvbjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpIG92ZXJyaWRlOwpAQCAtMjgz
LDYgKzI4Myw4IEBAIHByaXZhdGU6CiAKICAgICB1aW50NjRfdCBtX3NhbXBsZUNvdW50IHsgMCB9
OwogICAgIHVpbnQ2NF90IG1fbGFzdFZpZGVvRnJhbWVNZXRhZGF0YVNhbXBsZUNvdW50IHsgMCB9
OworICAgIFNlY29uZHMgbV9wcmVzZW50YXRpb25UaW1lIHsgMCB9OworICAgIFZpZGVvU2FtcGxl
TWV0YWRhdGEgbV9zYW1wbGVNZXRhZGF0YTsKIH07CiAgICAgCiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXll
clByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFW
Rk9iakMubW0KaW5kZXggN2JiMjJkYmNjMDRlMjE0MmFjMjY1NWQ2MjRiMGU5N2RlYjgyOWEwZC4u
MDE2YjRjZjkyZGM4YjQwMTc3MzEyYTYwMjg5NTI0Mjc0ZTk1YjkzMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3Ry
ZWFtQVZGT2JqQy5tbQpAQCAtMjQ0LDkgKzI0NCwxMCBAQCBzdGF0aWMgaW5saW5lIENHQWZmaW5l
VHJhbnNmb3JtIHZpZGVvVHJhbnNmb3JtYXRpb25NYXRyaXgoTWVkaWFTYW1wbGUmIHNhbXBsZSkK
ICAgICByZXR1cm4gdmlkZW9UcmFuc2Zvcm07CiB9CiAKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRl
TWVkaWFTdHJlYW1BVkZPYmpDOjp2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYgc2Ft
cGxlKQordm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OnZpZGVvU2Ft
cGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxlJiBzYW1wbGUsIFZpZGVvU2FtcGxlTWV0YWRhdGEgbWV0
YWRhdGEpCiB7Ci0gICAgcHJvY2Vzc05ld1ZpZGVvU2FtcGxlKHNhbXBsZSwgc2FtcGxlLnZpZGVv
Um90YXRpb24oKSAhPSBtX3ZpZGVvUm90YXRpb24gfHwgc2FtcGxlLnZpZGVvTWlycm9yZWQoKSAh
PSBtX3ZpZGVvTWlycm9yZWQpOworICAgIGF1dG8gcHJlc2VudGF0aW9uVGltZSA9IE1vbm90b25p
Y1RpbWU6Om5vdygpLnNlY29uZHNTaW5jZUVwb2NoKCk7CisgICAgcHJvY2Vzc05ld1ZpZGVvU2Ft
cGxlKHNhbXBsZSwgc2FtcGxlLnZpZGVvUm90YXRpb24oKSAhPSBtX3ZpZGVvUm90YXRpb24gfHwg
c2FtcGxlLnZpZGVvTWlycm9yZWQoKSAhPSBtX3ZpZGVvTWlycm9yZWQsIG1ldGFkYXRhLCBwcmVz
ZW50YXRpb25UaW1lKTsKICAgICBlbnF1ZXVlVmlkZW9TYW1wbGUoc2FtcGxlKTsKIH0KIApAQCAt
Mjc2LDE0ICsyNzcsMTQgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9i
akM6OmVucXVldWVWaWRlb1NhbXBsZShNZWRpYVNhbXBsZSYgc2FtcGwKICAgICBtX3NhbXBsZUJ1
ZmZlckRpc3BsYXlMYXllci0+ZW5xdWV1ZVNhbXBsZShzYW1wbGUpOwogfQogCi12b2lkIE1lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQzo6cHJvY2Vzc05ld1ZpZGVvU2FtcGxlKE1l
ZGlhU2FtcGxlJiBzYW1wbGUsIGJvb2wgaGFzQ2hhbmdlZE9yaWVudGF0aW9uKQordm9pZCBNZWRp
YVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OnByb2Nlc3NOZXdWaWRlb1NhbXBsZShN
ZWRpYVNhbXBsZSYgc2FtcGxlLCBib29sIGhhc0NoYW5nZWRPcmllbnRhdGlvbiwgVmlkZW9TYW1w
bGVNZXRhZGF0YSBtZXRhZGF0YSwgU2Vjb25kcyBwcmVzZW50YXRpb25UaW1lKQogewogICAgIGlm
ICghaXNNYWluVGhyZWFkKCkpIHsKICAgICAgICAgewogICAgICAgICAgICAgTG9ja2VyIGxvY2tl
ciB7IG1fY3VycmVudFZpZGVvU2FtcGxlTG9jayB9OwogICAgICAgICAgICAgbV9jdXJyZW50Vmlk
ZW9TYW1wbGUgPSAmc2FtcGxlOwogICAgICAgICB9Ci0gICAgICAgIGNhbGxPbk1haW5UaHJlYWQo
W3dlYWtUaGlzID0gV2Vha1B0ciB7ICp0aGlzIH0sIGhhc0NoYW5nZWRPcmllbnRhdGlvbl0oKSBt
dXRhYmxlIHsKKyAgICAgICAgY2FsbE9uTWFpblRocmVhZChbd2Vha1RoaXMgPSBXZWFrUHRyIHsg
KnRoaXMgfSwgaGFzQ2hhbmdlZE9yaWVudGF0aW9uLCBtZXRhZGF0YSwgcHJlc2VudGF0aW9uVGlt
ZV0oKSBtdXRhYmxlIHsKICAgICAgICAgICAgIGlmICghd2Vha1RoaXMpCiAgICAgICAgICAgICAg
ICAgcmV0dXJuOwogCkBAIC0yOTgsNyArMjk5LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVN
ZWRpYVN0cmVhbUFWRk9iakM6OnByb2Nlc3NOZXdWaWRlb1NhbXBsZShNZWRpYVNhbXBsZSYgc2EK
ICAgICAgICAgICAgIGlmICghc2FtcGxlKQogICAgICAgICAgICAgICAgIHJldHVybjsKIAotICAg
ICAgICAgICAgd2Vha1RoaXMtPnByb2Nlc3NOZXdWaWRlb1NhbXBsZSgqc2FtcGxlLCBoYXNDaGFu
Z2VkT3JpZW50YXRpb24pOworICAgICAgICAgICAgd2Vha1RoaXMtPnByb2Nlc3NOZXdWaWRlb1Nh
bXBsZSgqc2FtcGxlLCBoYXNDaGFuZ2VkT3JpZW50YXRpb24sIG1ldGFkYXRhLCBwcmVzZW50YXRp
b25UaW1lKTsKICAgICAgICAgfSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC0zMTYsNiAr
MzE3LDggQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OnByb2Nl
c3NOZXdWaWRlb1NhbXBsZShNZWRpYVNhbXBsZSYgc2EKICAgICAgICAgICAgIHVwZGF0ZVJlYWR5
U3RhdGUoKTsKICAgICB9CiAKKyAgICBtX3ByZXNlbnRhdGlvblRpbWUgPSBwcmVzZW50YXRpb25U
aW1lOworICAgIG1fc2FtcGxlTWV0YWRhdGEgPSBtZXRhZGF0YTsKICAgICArK21fc2FtcGxlQ291
bnQ7CiAKICAgICBpZiAobV9kaXNwbGF5TW9kZSAhPSBMaXZlUHJldmlldyAmJiAhbV93YWl0aW5n
Rm9yRmlyc3RJbWFnZSkKQEAgLTExMDYsOCArMTEwOSwxNCBAQCBzdGQ6Om9wdGlvbmFsPFZpZGVv
RnJhbWVNZXRhZGF0YT4gTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjp2aWRl
b0ZyYQogICAgIG1ldGFkYXRhLndpZHRoID0gbV9pbnRyaW5zaWNTaXplLndpZHRoKCk7CiAgICAg
bWV0YWRhdGEuaGVpZ2h0ID0gbV9pbnRyaW5zaWNTaXplLmhlaWdodCgpOwogICAgIG1ldGFkYXRh
LnByZXNlbnRlZEZyYW1lcyA9IG1fc2FtcGxlQ291bnQ7Ci0KLSAgICAvLyBGSVhNRTogSXQgd291
bGQgYmUgZ29vZCB0byBleHBvc2UgbW9yZSB2aWRlbyBmcmFtZSBtZXRhZGF0YS4KKyAgICBtZXRh
ZGF0YS5wcmVzZW50YXRpb25UaW1lID0gbV9wcmVzZW50YXRpb25UaW1lLnNlY29uZHMoKTsKKyAg
ICBtZXRhZGF0YS5leHBlY3RlZERpc3BsYXlUaW1lID0gbV9wcmVzZW50YXRpb25UaW1lLnNlY29u
ZHMoKTsKKyAgICBtZXRhZGF0YS5wcm9jZXNzaW5nRHVyYXRpb24gPSBtX3NhbXBsZU1ldGFkYXRh
LnByb2Nlc3NpbmdEdXJhdGlvbjsKKyAgICBpZiAobV9zYW1wbGVNZXRhZGF0YS5jYXB0dXJlVGlt
ZSkKKyAgICAgICAgbWV0YWRhdGEuY2FwdHVyZVRpbWUgPSBtX3NhbXBsZU1ldGFkYXRhLmNhcHR1
cmVUaW1lLT5zZWNvbmRzKCk7CisgICAgaWYgKG1fc2FtcGxlTWV0YWRhdGEucmVjZWl2ZVRpbWUp
CisgICAgICAgIG1ldGFkYXRhLnJlY2VpdmVUaW1lID0gbV9zYW1wbGVNZXRhZGF0YS5yZWNlaXZl
VGltZS0+c2Vjb25kcygpOworICAgIG1ldGFkYXRhLnJ0cFRpbWVzdGFtcCA9IG1fc2FtcGxlTWV0
YWRhdGEucnRwVGltZXN0YW1wOwogCiAgICAgcmV0dXJuIG1ldGFkYXRhOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJp
dmF0ZUFWRkltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9N
ZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuY3BwCmluZGV4IGY5NWQ4ZjAxYWZhZWI0OGFlYjgw
MWEzNjJlZTQ2NDFiMjYyNDQxYzMuLjMwMDMwOTc0Njg4NzZmZTQyN2NiN2NmNjBiNWY0MzdkZmJl
MWVjMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIv
TWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbC5jcHAKQEAgLTgz
LDcgKzgzLDcgQEAgdm9pZCBNZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGw6OnN0YXJ0UmVjb3Jk
aW5nKFN0YXJ0UmVjb3JkaW5nQ2FsbGJhY2smJiBjYWxsYmEKICAgICBjYWxsYmFjayhTdHJpbmco
bV93cml0ZXItPm1pbWVUeXBlKCkpLCBtX3dyaXRlci0+YXVkaW9CaXRSYXRlKCksIG1fd3JpdGVy
LT52aWRlb0JpdFJhdGUoKSk7CiB9CiAKLXZvaWQgTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBs
Ojp2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYgc2FtcGxlQnVmZmVyKQordm9pZCBN
ZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGw6OnZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2Ft
cGxlJiBzYW1wbGVCdWZmZXIsIFZpZGVvU2FtcGxlTWV0YWRhdGEpCiB7CiAgICAgaWYgKHNob3Vs
ZE11dGVWaWRlbygpKSB7CiAgICAgICAgIGlmICghbV9ibGFja0ZyYW1lKSB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2
YXRlQVZGSW1wbC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRp
YVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuaAppbmRleCAzOGI5NGY5ZTRlYWM0ZGY0MzVhYzAyM2Qy
ODMwNTA0M2UxYjkyNzI0Li4wMWMwNGY3MDY0NWU1NWY1ZWM4NGQ1ZTdhMzIyYjkyMGZhNWFjMmI2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlh
UmVjb3JkZXJQcml2YXRlQVZGSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmgKQEAgLTQ5LDcgKzQ5LDcg
QEAgcHJpdmF0ZToKICAgICBleHBsaWNpdCBNZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwoUmVm
PE1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyPiYmKTsKIAogICAgIC8vIE1lZGlhUmVjb3JkZXJQ
cml2YXRlCi0gICAgdm9pZCB2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYpIGZpbmFs
OworICAgIHZvaWQgdmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmLCBWaWRlb1NhbXBs
ZU1ldGFkYXRhKSBmaW5hbDsKICAgICB2b2lkIGZldGNoRGF0YShGZXRjaERhdGFDYWxsYmFjayYm
KSBmaW5hbDsKICAgICB2b2lkIGF1ZGlvU2FtcGxlc0F2YWlsYWJsZShjb25zdCBNZWRpYVRpbWUm
LCBjb25zdCBQbGF0Zm9ybUF1ZGlvRGF0YSYsIGNvbnN0IEF1ZGlvU3RyZWFtRGVzY3JpcHRpb24m
LCBzaXplX3QpIGZpbmFsOwogICAgIHZvaWQgc3RhcnRSZWNvcmRpbmcoU3RhcnRSZWNvcmRpbmdD
YWxsYmFjayYmKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVNb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVNb2NrLmNwcAppbmRl
eCAxZWZhNzBiOTA1MTBkYmZlYTM3MTM5ZGI5ZmE4YzYwMTZkNGM1MzQ2Li5jMjVkZjkxNTc0YTY1
YmM0MWJkYjcwNjc4ZGM0NzcyNDgzNmRkMTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlTW9jay5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0
ZU1vY2suY3BwCkBAIC02Nyw3ICs2Nyw3IEBAIHZvaWQgTWVkaWFSZWNvcmRlclByaXZhdGVNb2Nr
OjpyZXN1bWVSZWNvcmRpbmcoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsCiAgICAg
Y29tcGxldGlvbkhhbmRsZXIoKTsKIH0KIAotdm9pZCBNZWRpYVJlY29yZGVyUHJpdmF0ZU1vY2s6
OnZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxlJikKK3ZvaWQgTWVkaWFSZWNvcmRlclBy
aXZhdGVNb2NrOjp2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYsIFZpZGVvU2FtcGxl
TWV0YWRhdGEpCiB7CiAgICAgTG9ja2VyIGxvY2tlciB7IG1fYnVmZmVyTG9jayB9OwogICAgIG1f
YnVmZmVyLmFwcGVuZCgiVmlkZW8gVHJhY2sgSUQ6ICIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZU1vY2suaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZh
dGVNb2NrLmgKaW5kZXggZDQ4NGIyZmNlYTFlODRhZWU5YmY4MWUwZGUyNjI3NDJmZDIyOTJmNy4u
Y2M3OGRlNmQ1NjkwNjE1ODRhNDEyMDJjZTE2ZmY1MmUxYWQxMWFhOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZU1v
Y2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVj
b3JkZXJQcml2YXRlTW9jay5oCkBAIC00Miw3ICs0Miw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToK
ICAgICAvLyBNZWRpYVJlY29yZGVyUHJpdmF0ZQotICAgIHZvaWQgdmlkZW9TYW1wbGVBdmFpbGFi
bGUoTWVkaWFTYW1wbGUmKSBmaW5hbDsKKyAgICB2b2lkIHZpZGVvU2FtcGxlQXZhaWxhYmxlKE1l
ZGlhU2FtcGxlJiwgVmlkZW9TYW1wbGVNZXRhZGF0YSkgZmluYWw7CiAgICAgdm9pZCBmZXRjaERh
dGEoRmV0Y2hEYXRhQ2FsbGJhY2smJikgZmluYWw7CiAgICAgdm9pZCBhdWRpb1NhbXBsZXNBdmFp
bGFibGUoY29uc3QgTWVkaWFUaW1lJiwgY29uc3QgUGxhdGZvcm1BdWRpb0RhdGEmLCBjb25zdCBB
dWRpb1N0cmVhbURlc2NyaXB0aW9uJiwgc2l6ZV90KSBmaW5hbDsKICAgICB2b2lkIHN0b3BSZWNv
cmRpbmcoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lSW5jb21pbmdWaWRlb1Nv
dXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZUlu
Y29taW5nVmlkZW9Tb3VyY2UuY3BwCmluZGV4IDRhYzM3M2U2ZWViOGIwNzllYzM3ZDFiODJmYmRl
ZGEzMTQ4YTkzYTQuLjQ3ZTAyZjFlZjI2Njk2NmU2OTg0ZGI2OWZlNjAzMTFhMThkZDcxNTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lSW5j
b21pbmdWaWRlb1NvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlLmNwcApAQCAtMTA0LDYgKzEwNCwyMCBA
QCB2b2lkIFJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZTo6c2V0dGluZ3NEaWRDaGFuZ2UoT3B0
aW9uU2V0PFJlYWx0aW1lTWVkaWFTb3VyYwogICAgICAgICBtX2N1cnJlbnRTZXR0aW5ncyA9IHN0
ZDo6bnVsbG9wdDsKIH0KIAorVmlkZW9TYW1wbGVNZXRhZGF0YSBSZWFsdGltZUluY29taW5nVmlk
ZW9Tb3VyY2U6Om1ldGFkYXRhRnJvbVZpZGVvRnJhbWUoY29uc3Qgd2VicnRjOjpWaWRlb0ZyYW1l
JiBmcmFtZSkKK3sKKyAgICBWaWRlb1NhbXBsZU1ldGFkYXRhIG1ldGFkYXRhOworICAgIGlmIChm
cmFtZS5udHBfdGltZV9tcygpID4gMCkKKyAgICAgICAgbWV0YWRhdGEuY2FwdHVyZVRpbWUgPSBT
ZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKGZyYW1lLm50cF90aW1lX21zKCkpOworICAgIGlmIChp
c0luQm91bmRzPHVpbnQzMl90PihmcmFtZS50aW1lc3RhbXAoKSkpCisgICAgICAgIG1ldGFkYXRh
LnJ0cFRpbWVzdGFtcCA9IGZyYW1lLnRpbWVzdGFtcCgpOworICAgIGF1dG8gbGFzdFBhY2tldFRp
bWVzdGFtcCA9IHN0ZDo6bWF4X2VsZW1lbnQoZnJhbWUucGFja2V0X2luZm9zKCkuY2JlZ2luKCks
IGZyYW1lLnBhY2tldF9pbmZvcygpLmNlbmQoKSwgW10oY29uc3QgYXV0byYgYSwgY29uc3QgYXV0
byYgYikgeworICAgICAgICByZXR1cm4gYS5yZWNlaXZlX3RpbWUoKSA8IGIucmVjZWl2ZV90aW1l
KCk7CisgICAgfSk7CisgICAgbWV0YWRhdGEucmVjZWl2ZVRpbWUgPSBTZWNvbmRzOjpmcm9tTWlj
cm9zZWNvbmRzKGxhc3RQYWNrZXRUaW1lc3RhbXAtPnJlY2VpdmVfdGltZSgpLnVzKCkpOworICAg
IHJldHVybiBtZXRhZGF0YTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYg
Ly8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlLmgKaW5kZXgg
NjhiYzBmN2M5MWViMGY1MjYyMGE3OTIxN2MyNDExNDFhN2VhNGEzNC4uZjFiMjJmYmY1Y2QzMGY2
NWY2NmNhMWVlZjBlMTllNTAyMzNkOWJjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291
cmNlLmgKQEAgLTYyLDcgKzYyLDkgQEAgcHJvdGVjdGVkOgogI2lmICFSRUxFQVNFX0xPR19ESVNB
QkxFRAogICAgIGNvbnN0IGNoYXIqIGxvZ0NsYXNzTmFtZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJu
ICJSZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2UiOyB9CiAjZW5kaWYKLSAgICAKKworICAgIHN0
YXRpYyBWaWRlb1NhbXBsZU1ldGFkYXRhIG1ldGFkYXRhRnJvbVZpZGVvRnJhbWUoY29uc3Qgd2Vi
cnRjOjpWaWRlb0ZyYW1lJik7CisKIHByaXZhdGU6CiAgICAgLy8gUmVhbHRpbWVNZWRpYVNvdXJj
ZSBBUEkKICAgICB2b2lkIHN0YXJ0UHJvZHVjaW5nRGF0YSgpIGZpbmFsOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291
cmNlLmNwcAppbmRleCA0Y2FjMjU3M2U2ZjE5OThhMjhjZjgyYzY2NzMyMGRkNDdlYWViYTU2Li4z
YWY5YWYxNzM5ZmE4ZWI5OGRiNDRjZmFkMDdlNTU2ZDM4YzE5YTRhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291
cmNlLmNwcApAQCAtMTkxLDcgKzE5MSw3IEBAIHZvaWQgUmVhbHRpbWVNZWRpYVNvdXJjZTo6dXBk
YXRlSGFzU3RhcnRlZFByb2R1Y2luZ0RhdGEoKQogICAgIH0pOwogfQogCi12b2lkIFJlYWx0aW1l
TWVkaWFTb3VyY2U6OnZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxlJiBtZWRpYVNhbXBs
ZSkKK3ZvaWQgUmVhbHRpbWVNZWRpYVNvdXJjZTo6dmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFT
YW1wbGUmIG1lZGlhU2FtcGxlLCBWaWRlb1NhbXBsZU1ldGFkYXRhIG1ldGFkYXRhKQogewogI2lm
ICFSRUxFQVNFX0xPR19ESVNBQkxFRAogICAgICsrbV9mcmFtZUNvdW50OwpAQCAtMjExLDcgKzIx
MSw3IEBAIHZvaWQgUmVhbHRpbWVNZWRpYVNvdXJjZTo6dmlkZW9TYW1wbGVBdmFpbGFibGUoTWVk
aWFTYW1wbGUmIG1lZGlhU2FtcGxlKQogCiAgICAgTG9ja2VyIGxvY2tlciB7IG1fdmlkZW9TYW1w
bGVPYnNlcnZlcnNMb2NrIH07CiAgICAgZm9yIChhdXRvKiBvYnNlcnZlciA6IG1fdmlkZW9TYW1w
bGVPYnNlcnZlcnMpCi0gICAgICAgIG9ic2VydmVyLT52aWRlb1NhbXBsZUF2YWlsYWJsZShtZWRp
YVNhbXBsZSk7CisgICAgICAgIG9ic2VydmVyLT52aWRlb1NhbXBsZUF2YWlsYWJsZShtZWRpYVNh
bXBsZSwgbWV0YWRhdGEpOwogfQogCiB2b2lkIFJlYWx0aW1lTWVkaWFTb3VyY2U6OmF1ZGlvU2Ft
cGxlc0F2YWlsYWJsZShjb25zdCBNZWRpYVRpbWUmIHRpbWUsIGNvbnN0IFBsYXRmb3JtQXVkaW9E
YXRhJiBhdWRpb0RhdGEsIGNvbnN0IEF1ZGlvU3RyZWFtRGVzY3JpcHRpb24mIGRlc2NyaXB0aW9u
LCBzaXplX3QgbnVtYmVyT2ZGcmFtZXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlLmgKaW5kZXggZGVjZDkwNzk2
N2IzOWFlOWVhNjViMjcxZTY1MzY5M2I2NGY0ZWI2Zi4uYzk1OTIzNGY2NThhNTI2NzQwYmQ3ODBk
ZDk5YTQ3MDQ3OWNjMTU4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2UuaApAQCAtNDIsNiArNDIsNyBAQAog
I2luY2x1ZGUgIlBsYXRmb3JtTGF5ZXIuaCIKICNpbmNsdWRlICJSZWFsdGltZU1lZGlhU291cmNl
Q2FwYWJpbGl0aWVzLmgiCiAjaW5jbHVkZSAiUmVhbHRpbWVNZWRpYVNvdXJjZUZhY3RvcnkuaCIK
KyNpbmNsdWRlICJWaWRlb1NhbXBsZU1ldGFkYXRhLmgiCiAjaW5jbHVkZSA8d3RmL0NvbXBsZXRp
b25IYW5kbGVyLmg+CiAjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvTG9nZ2Vy
SGVscGVyLmg+CkBAIC0xMDIsNyArMTAzLDcgQEAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIH5W
aWRlb1NhbXBsZU9ic2VydmVyKCkgPSBkZWZhdWx0OwogCiAgICAgICAgIC8vIE1heSBiZSBjYWxs
ZWQgb24gYSBiYWNrZ3JvdW5kIHRocmVhZC4KLSAgICAgICAgdmlydHVhbCB2b2lkIHZpZGVvU2Ft
cGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxlJikgPSAwOworICAgICAgICB2aXJ0dWFsIHZvaWQgdmlk
ZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmLCBWaWRlb1NhbXBsZU1ldGFkYXRhKSA9IDA7
CiAgICAgfTsKIAogICAgIHZpcnR1YWwgflJlYWx0aW1lTWVkaWFTb3VyY2UoKSA9IGRlZmF1bHQ7
CkBAIC0yNDQsNyArMjQ1LDcgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQgaW5pdGlhbGl6ZVNhbXBs
ZVJhdGUoaW50IHNhbXBsZVJhdGUpIHsgbV9zYW1wbGVSYXRlID0gc2FtcGxlUmF0ZTsgfQogICAg
IHZvaWQgaW5pdGlhbGl6ZUVjaG9DYW5jZWxsYXRpb24oYm9vbCBlY2hvQ2FuY2VsbGF0aW9uKSB7
IG1fZWNob0NhbmNlbGxhdGlvbiA9IGVjaG9DYW5jZWxsYXRpb247IH0KIAotICAgIHZvaWQgdmlk
ZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmKTsKKyAgICB2b2lkIHZpZGVvU2FtcGxlQXZh
aWxhYmxlKE1lZGlhU2FtcGxlJiwgVmlkZW9TYW1wbGVNZXRhZGF0YSk7CiAgICAgdm9pZCBhdWRp
b1NhbXBsZXNBdmFpbGFibGUoY29uc3QgTWVkaWFUaW1lJiwgY29uc3QgUGxhdGZvcm1BdWRpb0Rh
dGEmLCBjb25zdCBBdWRpb1N0cmVhbURlc2NyaXB0aW9uJiwgc2l6ZV90KTsKIAogICAgIHZvaWQg
Zm9yRWFjaE9ic2VydmVyKGNvbnN0IEZ1bmN0aW9uPHZvaWQoT2JzZXJ2ZXImKT4mKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lT3V0Z29p
bmdWaWRlb1NvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVh
bHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlLmgKaW5kZXggODJlNDQ1MGMyZTc3Mzc5Y2YwNWIzZWM2
MTZhYWNiZGNkOGJhZjI3Yy4uZWRiNjdhZGYyYWRmNzBjYjg3M2I0ZmY2NmEyNzY4MTQ1NTExZTcx
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRp
bWVPdXRnb2luZ1ZpZGVvU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlLmgKQEAgLTEzNSw3ICsxMzUsNyBA
QCBwcml2YXRlOgogICAgIHZvaWQgdHJhY2tFbmRlZChNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSYp
IGZpbmFsIHsgfQogCiAgICAgLy8gUmVhbHRpbWVNZWRpYVNvdXJjZTo6VmlkZW9TYW1wbGVPYnNl
cnZlciBBUEkKLSAgICB2b2lkIHZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxlJikgb3Zl
cnJpZGUgeyB9CisgICAgdm9pZCB2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYsIFZp
ZGVvU2FtcGxlTWV0YWRhdGEpIG92ZXJyaWRlIHsgfQogCiAgICAgUmVmPE1lZGlhU3RyZWFtVHJh
Y2tQcml2YXRlPiBtX3ZpZGVvU291cmNlOwogICAgIFRpbWVyIG1fYmxhY2tGcmFtZVRpbWVyOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVW
aWRlb0NhcHR1cmVTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vUmVhbHRpbWVWaWRlb0NhcHR1cmVTb3VyY2UuY3BwCmluZGV4IDg2ODZiYWM0ZjE2MTI2NjA4
YzlmMTUyYTYyZTEwNGUzZGI3MjU3NDUuLjhlYTYxNDcyMWQzMDIzYThiYjEyMDRiZDkxODJmNjA0
MjZiNDE2OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L1JlYWx0aW1lVmlkZW9DYXB0dXJlU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZVZpZGVvQ2FwdHVyZVNvdXJjZS5jcHAKQEAgLTM4Niw3
ICszODYsNyBAQCB2b2lkIFJlYWx0aW1lVmlkZW9DYXB0dXJlU291cmNlOjpzZXRTaXplQW5kRnJh
bWVSYXRlKHN0ZDo6b3B0aW9uYWw8aW50PiB3aWR0aCwgcwogICAgIHNldEZyYW1lUmF0ZShtYXRj
aC0+cmVxdWVzdGVkRnJhbWVSYXRlKTsKIH0KIAotdm9pZCBSZWFsdGltZVZpZGVvQ2FwdHVyZVNv
dXJjZTo6ZGlzcGF0Y2hNZWRpYVNhbXBsZVRvT2JzZXJ2ZXJzKE1lZGlhU2FtcGxlJiBzYW1wbGUp
Cit2b2lkIFJlYWx0aW1lVmlkZW9DYXB0dXJlU291cmNlOjpkaXNwYXRjaE1lZGlhU2FtcGxlVG9P
YnNlcnZlcnMoTWVkaWFTYW1wbGUmIHNhbXBsZSwgV2ViQ29yZTo6VmlkZW9TYW1wbGVNZXRhZGF0
YSBtZXRhZGF0YSkKIHsKICAgICBNZWRpYVRpbWUgc2FtcGxlVGltZSA9IHNhbXBsZS5wcmVzZW50
YXRpb25UaW1lKCk7CiAKQEAgLTQwMCw3ICs0MDAsNyBAQCB2b2lkIFJlYWx0aW1lVmlkZW9DYXB0
dXJlU291cmNlOjpkaXNwYXRjaE1lZGlhU2FtcGxlVG9PYnNlcnZlcnMoTWVkaWFTYW1wbGUmIHNh
bQogICAgIGlmIChpbnRlcnZhbCA+IDEpCiAgICAgICAgIG1fb2JzZXJ2ZWRGcmFtZVJhdGUgPSAo
bV9vYnNlcnZlZEZyYW1lVGltZVN0YW1wcy5zaXplKCkgLyBpbnRlcnZhbCk7CiAKLSAgICB2aWRl
b1NhbXBsZUF2YWlsYWJsZShzYW1wbGUpOworICAgIHZpZGVvU2FtcGxlQXZhaWxhYmxlKHNhbXBs
ZSwgbWV0YWRhdGEpOwogfQogCiB2b2lkIFJlYWx0aW1lVmlkZW9DYXB0dXJlU291cmNlOjpjbGll
bnRVcGRhdGVkU2l6ZUFuZEZyYW1lUmF0ZShzdGQ6Om9wdGlvbmFsPGludD4gd2lkdGgsIHN0ZDo6
b3B0aW9uYWw8aW50PiBoZWlnaHQsIHN0ZDo6b3B0aW9uYWw8ZG91YmxlPiBmcmFtZVJhdGUpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZVZp
ZGVvQ2FwdHVyZVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
UmVhbHRpbWVWaWRlb0NhcHR1cmVTb3VyY2UuaAppbmRleCA3YzIwYjYxYWY3OTcyMWQyODYzOWUx
ZGVmYzFhNWNjZTMxNDI0ZTIwLi44NTNiMGIyODNlOTAxYTBiYTRjOTU4ZjFkZDc1ZGE4NmE0ZjM5
MTMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFs
dGltZVZpZGVvQ2FwdHVyZVNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL1JlYWx0aW1lVmlkZW9DYXB0dXJlU291cmNlLmgKQEAgLTcyLDcgKzcyLDcgQEAg
cHJvdGVjdGVkOgogCiAgICAgdm9pZCB1cGRhdGVDYXBhYmlsaXRpZXMoUmVhbHRpbWVNZWRpYVNv
dXJjZUNhcGFiaWxpdGllcyYpOwogCi0gICAgdm9pZCBkaXNwYXRjaE1lZGlhU2FtcGxlVG9PYnNl
cnZlcnMoTWVkaWFTYW1wbGUmKTsKKyAgICB2b2lkIGRpc3BhdGNoTWVkaWFTYW1wbGVUb09ic2Vy
dmVycyhNZWRpYVNhbXBsZSYsIFdlYkNvcmU6OlZpZGVvU2FtcGxlTWV0YWRhdGEpOwogICAgIGNv
bnN0IFZlY3RvcjxJbnRTaXplPiYgc3RhbmRhcmRWaWRlb1NpemVzKCk7CiAKIHByaXZhdGU6CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZVZp
ZGVvU291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0
aW1lVmlkZW9Tb3VyY2UuY3BwCmluZGV4IGYwNzE3OWRkMzM0NjY0YTNjYjY0MWJhMWUzMzcwNWIx
ODM3NTFlNmMuLjI3OWI3NThjZWY3NmYyNjRjOTllNzQ3ZDkzY2U0ZWNlMTgyZGI1MzAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lVmlkZW9T
b3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0
aW1lVmlkZW9Tb3VyY2UuY3BwCkBAIC0xNzksNyArMTc5LDcgQEAgUmVmUHRyPE1lZGlhU2FtcGxl
PiBSZWFsdGltZVZpZGVvU291cmNlOjphZGFwdFZpZGVvU2FtcGxlKE1lZGlhU2FtcGxlJiBzYW1w
bGUpCiB9CiAjZW5kaWYKIAotdm9pZCBSZWFsdGltZVZpZGVvU291cmNlOjp2aWRlb1NhbXBsZUF2
YWlsYWJsZShNZWRpYVNhbXBsZSYgc2FtcGxlKQordm9pZCBSZWFsdGltZVZpZGVvU291cmNlOjp2
aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYgc2FtcGxlLCBWaWRlb1NhbXBsZU1ldGFk
YXRhIG1ldGFkYXRhKQogewogICAgIGlmIChtX2ZyYW1lRGVjaW1hdGlvbiA+IDEgJiYgKyttX2Zy
YW1lRGVjaW1hdGlvbkNvdW50ZXIgJSBtX2ZyYW1lRGVjaW1hdGlvbikKICAgICAgICAgcmV0dXJu
OwpAQCAtMTkzLDEzICsxOTMsMTMgQEAgdm9pZCBSZWFsdGltZVZpZGVvU291cmNlOjp2aWRlb1Nh
bXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYgc2FtcGxlKQogICAgIGF1dG8gc2l6ZSA9IHRoaXMt
PnNpemUoKTsKICAgICBpZiAoIXNpemUuaXNFbXB0eSgpICYmIHNpemUgIT0gZXhwYW5kZWRJbnRT
aXplKHNhbXBsZS5wcmVzZW50YXRpb25TaXplKCkpKSB7CiAgICAgICAgIGlmIChhdXRvIG1lZGlh
U2FtcGxlID0gYWRhcHRWaWRlb1NhbXBsZShzYW1wbGUpKSB7Ci0gICAgICAgICAgICBSZWFsdGlt
ZU1lZGlhU291cmNlOjp2aWRlb1NhbXBsZUF2YWlsYWJsZSgqbWVkaWFTYW1wbGUpOworICAgICAg
ICAgICAgUmVhbHRpbWVNZWRpYVNvdXJjZTo6dmlkZW9TYW1wbGVBdmFpbGFibGUoKm1lZGlhU2Ft
cGxlLCBtZXRhZGF0YSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9CiAj
ZW5kaWYKIAotICAgIFJlYWx0aW1lTWVkaWFTb3VyY2U6OnZpZGVvU2FtcGxlQXZhaWxhYmxlKHNh
bXBsZSk7CisgICAgUmVhbHRpbWVNZWRpYVNvdXJjZTo6dmlkZW9TYW1wbGVBdmFpbGFibGUoc2Ft
cGxlLCBtZXRhZGF0YSk7CiB9CiAKIFJlZjxSZWFsdGltZU1lZGlhU291cmNlPiBSZWFsdGltZVZp
ZGVvU291cmNlOjpjbG9uZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9SZWFsdGltZVZpZGVvU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9SZWFsdGltZVZpZGVvU291cmNlLmgKaW5kZXggM2UxOGNlNWZmNTc1OGEy
ZDA2Njc1YzJiZjk3ZTY2M2Y1OTlkZTU1Yi4uZjk1YjcwMjZhZmZkYmZiOWRkZWY2Nzc2ZmUzMGJl
MzM2NzM4MTA1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vUmVhbHRpbWVWaWRlb1NvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL1JlYWx0aW1lVmlkZW9Tb3VyY2UuaApAQCAtNzIsNyArNzIsNyBAQCBwcml2YXRl
OgogICAgIGJvb2wgcHJldmVudFNvdXJjZUZyb21TdG9wcGluZygpIGZpbmFsOwogCiAgICAgLy8g
UmVhbHRpbWVNZWRpYVNvdXJjZTo6VmlkZW9TYW1wbGVPYnNlcnZlcgotICAgIHZvaWQgdmlkZW9T
YW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmKSBmaW5hbDsKKyAgICB2b2lkIHZpZGVvU2FtcGxl
QXZhaWxhYmxlKE1lZGlhU2FtcGxlJiwgVmlkZW9TYW1wbGVNZXRhZGF0YSkgZmluYWw7CiAKICNp
ZiBQTEFURk9STShDT0NPQSkKICAgICBSZWZQdHI8TWVkaWFTYW1wbGU+IGFkYXB0VmlkZW9TYW1w
bGUoTWVkaWFTYW1wbGUmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL2NvY29hL0Rpc3BsYXlDYXB0dXJlU291cmNlQ29jb2EuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY29jb2EvRGlzcGxheUNhcHR1cmVTb3VyY2VDb2Nv
YS5jcHAKaW5kZXggNzNhZGI3MTZhNzNhYjE5MWQwZDNhMmY2MTNjNGEyY2RiYWEyMjBhNy4uMDQy
ZGQ5YmJlOWE4MTI5M2VkYzYwZjcyYWM0YmY4NTQyMTdjODdkMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY29jb2EvRGlzcGxheUNhcHR1cmVTb3VyY2VD
b2NvYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY29jb2Ev
RGlzcGxheUNhcHR1cmVTb3VyY2VDb2NvYS5jcHAKQEAgLTIyMCw3ICsyMjAsOCBAQCB2b2lkIERp
c3BsYXlDYXB0dXJlU291cmNlQ29jb2E6OmVtaXRGcmFtZSgpCiAgICAgaWYgKCFtX2ltYWdlVHJh
bnNmZXJTZXNzaW9uKQogICAgICAgICBtX2ltYWdlVHJhbnNmZXJTZXNzaW9uID0gSW1hZ2VUcmFu
c2ZlclNlc3Npb25WVDo6Y3JlYXRlKHByZWZlcmVkUGl4ZWxCdWZmZXJGb3JtYXQoKSk7CiAKLSAg
ICBhdXRvIHNhbXBsZVRpbWUgPSBNZWRpYVRpbWU6OmNyZWF0ZVdpdGhEb3VibGUoKGVsYXBzZWRU
aW1lKCkgKyAxMDBfbXMpLnNlY29uZHMoKSk7CisgICAgYXV0byBlbGFwc2VkVGltZSA9IHRoaXMt
PmVsYXBzZWRUaW1lKCk7CisgICAgYXV0byBzYW1wbGVUaW1lID0gTWVkaWFUaW1lOjpjcmVhdGVX
aXRoRG91YmxlKChlbGFwc2VkVGltZSArIDEwMF9tcykuc2Vjb25kcygpKTsKIAogICAgIGF1dG8g
ZnJhbWUgPSBtX2NhcHR1cmVyLT5nZW5lcmF0ZUZyYW1lKCk7CiAgICAgYXV0byBpbWFnZVNpemUg
PSBXVEY6OnN3aXRjaE9uKGZyYW1lLApAQCAtMjgyLDcgKzI4Myw5IEBAIHZvaWQgRGlzcGxheUNh
cHR1cmVTb3VyY2VDb2NvYTo6ZW1pdEZyYW1lKCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAot
ICAgIHZpZGVvU2FtcGxlQXZhaWxhYmxlKCpzYW1wbGUuZ2V0KCkpOworICAgIFZpZGVvU2FtcGxl
TWV0YWRhdGEgbWV0YWRhdGE7CisgICAgbWV0YWRhdGEuY2FwdHVyZVRpbWUgPSBNb25vdG9uaWNU
aW1lOjpub3coKS5zZWNvbmRzU2luY2VFcG9jaCgpOworICAgIHZpZGVvU2FtcGxlQXZhaWxhYmxl
KCpzYW1wbGUuZ2V0KCksIG1ldGFkYXRhKTsKIH0KIAogdm9pZCBEaXNwbGF5Q2FwdHVyZVNvdXJj
ZUNvY29hOjpzZXRMb2dnZXIoY29uc3QgTG9nZ2VyJiBsb2dnZXIsIGNvbnN0IHZvaWQqIGlkZW50
aWZpZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9n
c3RyZWFtZXIvR1N0cmVhbWVyTWVkaWFTdHJlYW1Tb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL0dTdHJlYW1lck1lZGlhU3RyZWFtU291cmNl
LmNwcAppbmRleCBkMzIxZGJmNjUzNjcyMTNkNzMwM2I0NTQ5MjM5Y2UwNjk0MGM5NjQwLi42MjBh
NmIxNWM4MjIyMjc5ZjFiODgxMzdhZTg0ZTNhOTU3OTc4OWMxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIvR1N0cmVhbWVyTWVkaWFTdHJl
YW1Tb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2dz
dHJlYW1lci9HU3RyZWFtZXJNZWRpYVN0cmVhbVNvdXJjZS5jcHAKQEAgLTI2Miw3ICsyNjIsNyBA
QCBwdWJsaWM6CiAgICAgICAgIH0KICAgICB9CiAKLSAgICB2b2lkIHZpZGVvU2FtcGxlQXZhaWxh
YmxlKE1lZGlhU2FtcGxlJiBzYW1wbGUpIGZpbmFsCisgICAgdm9pZCB2aWRlb1NhbXBsZUF2YWls
YWJsZShNZWRpYVNhbXBsZSYgc2FtcGxlLCBWaWRlb1NhbXBsZU1ldGFkYXRhKSBmaW5hbAogICAg
IHsKICAgICAgICAgaWYgKCFtX3BhcmVudCkKICAgICAgICAgICAgIHJldHVybjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9nc3RyZWFt
ZXIvUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlTGliV2ViUlRDLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9nc3RyZWFtZXIvUmVhbHRpbWVJbmNv
bWluZ1ZpZGVvU291cmNlTGliV2ViUlRDLmNwcAppbmRleCBlNjlmYzI3OGY0OTVmNThhZTkwYzk1
ZDUwZWE2ZTg1NjRlYTA1M2EwLi4zZGUwMjM1NjBiZDUwOGE0NmY2OTI5OTM3YzgyMDIyZGFjMTg2
MGFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3
ZWJydGMvZ3N0cmVhbWVyL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUxpYldlYlJUQy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL2dzdHJl
YW1lci9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VMaWJXZWJSVEMuY3BwCkBAIC02MSw3ICs2
MSw3IEBAIHZvaWQgUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlTGliV2ViUlRDOjpPbkZyYW1l
KGNvbnN0IHdlYnJ0Yzo6VmlkZW9GcmFtZSYgZnJhCiAgICAgY2FsbE9uTWFpblRocmVhZChbcHJv
dGVjdGVkVGhpcyA9IFJlZiB7ICp0aGlzIH0sIGZyYW1lXSB7CiAgICAgICAgIGF1dG8gZ3N0U2Ft
cGxlID0gR1N0cmVhbWVyU2FtcGxlRnJvbUxpYldlYlJUQ1ZpZGVvRnJhbWUoZnJhbWUpOwogICAg
ICAgICBhdXRvIHNhbXBsZSA9IE1lZGlhU2FtcGxlR1N0cmVhbWVyOjpjcmVhdGUoV1RGTW92ZShn
c3RTYW1wbGUpLCB7IH0sIHsgfSk7Ci0gICAgICAgIHByb3RlY3RlZFRoaXMtPnZpZGVvU2FtcGxl
QXZhaWxhYmxlKHNhbXBsZS5nZXQoKSk7CisgICAgICAgIHByb3RlY3RlZFRoaXMtPnZpZGVvU2Ft
cGxlQXZhaWxhYmxlKHNhbXBsZS5nZXQoKSwgeyB9KTsKICAgICB9KTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL2dzdHJlYW1l
ci9SZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VMaWJXZWJSVEMuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL2dzdHJlYW1lci9SZWFsdGltZU91dGdv
aW5nVmlkZW9Tb3VyY2VMaWJXZWJSVEMuY3BwCmluZGV4IGMxMjRkNGIzNDVmYWM1YzY4YjE0Zjhm
NmE1ODk0OGRlNjhlZWNjOGMuLjM5ODM4OGIyZGI0OTcxYjU4ZDFmMWNmZTllNDcxNzIyMDA5YTVk
NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndl
YnJ0Yy9nc3RyZWFtZXIvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlTGliV2ViUlRDLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvZ3N0cmVh
bWVyL1JlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUxpYldlYlJUQy5jcHAKQEAgLTUwLDcgKzUw
LDcgQEAgUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlTGliV2ViUlRDOjpSZWFsdGltZU91dGdv
aW5nVmlkZW9Tb3VyY2VMaWJXZWJSVEMoUmVmPE0KIHsKIH0KIAotdm9pZCBSZWFsdGltZU91dGdv
aW5nVmlkZW9Tb3VyY2VMaWJXZWJSVEM6OnZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxl
JiBzYW1wbGUpCit2b2lkIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUxpYldlYlJUQzo6dmlk
ZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmIHNhbXBsZSwgVmlkZW9TYW1wbGVNZXRhZGF0
YSkKIHsKICAgICBzd2l0Y2ggKHNhbXBsZS52aWRlb1JvdGF0aW9uKCkpIHsKICAgICBjYXNlIE1l
ZGlhU2FtcGxlOjpWaWRlb1JvdGF0aW9uOjpOb25lOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL2dzdHJlYW1lci9SZWFsdGltZU91dGdv
aW5nVmlkZW9Tb3VyY2VMaWJXZWJSVEMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL2xpYndlYnJ0Yy9nc3RyZWFtZXIvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlTGli
V2ViUlRDLmgKaW5kZXggMDBjNTA5YTFiYzA4MWY1OTQ2MDJhYzAyNzc0OGZkZjEyYjUxMzA4NC4u
NzY2ODBlNmY2MmQ5NjM3NmVmMGNmNGNkNGQxMTQwZDkzZDg4MmVlMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL2dzdHJlYW1lci9SZWFs
dGltZU91dGdvaW5nVmlkZW9Tb3VyY2VMaWJXZWJSVEMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvZ3N0cmVhbWVyL1JlYWx0aW1lT3V0Z29pbmdW
aWRlb1NvdXJjZUxpYldlYlJUQy5oCkBAIC00Miw3ICs0Miw3IEBAIHByaXZhdGU6CiAgICAgcnRj
OjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6VmlkZW9GcmFtZUJ1ZmZlcj4gY3JlYXRlQmxhY2tGcmFt
ZShzaXplX3QsIHNpemVfdCkgZmluYWw7CiAKICAgICAvLyBSZWFsdGltZU1lZGlhU291cmNlOjpW
aWRlb1NhbXBsZU9ic2VydmVyIEFQSQotICAgIHZvaWQgdmlkZW9TYW1wbGVBdmFpbGFibGUoTWVk
aWFTYW1wbGUmKSBmaW5hbDsKKyAgICB2b2lkIHZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2Ft
cGxlJiwgVmlkZW9TYW1wbGVNZXRhZGF0YSkgZmluYWw7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9t
YWMvQVZWaWRlb0NhcHR1cmVTb3VyY2UubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9tYWMvQVZWaWRlb0NhcHR1cmVTb3VyY2UubW0KaW5kZXggODcwNGNiMWY5OGM4M2Zl
MjA0YjVmOTNmNGJiYTU5MzQ5YTdlNGM1OC4uMmRkZDdjN2FhYmU3MDA5NTk5OGI3MmIzMGRmNDRi
ZTA5Mjc1N2YxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vbWFjL0FWVmlkZW9DYXB0dXJlU291cmNlLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL21hYy9BVlZpZGVvQ2FwdHVyZVNvdXJjZS5tbQpAQCAtNTcwLDcgKzU3
MCw5IEBAIHZvaWQgQVZWaWRlb0NhcHR1cmVTb3VyY2U6OmNhcHR1cmVPdXRwdXREaWRPdXRwdXRT
YW1wbGVCdWZmZXJGcm9tQ29ubmVjdGlvbihBVkNhCiAgICAgYXV0byBzYW1wbGUgPSBNZWRpYVNh
bXBsZUFWRk9iakM6OmNyZWF0ZShzYW1wbGVCdWZmZXIsIG1fc2FtcGxlUm90YXRpb24sIFtjYXB0
dXJlQ29ubmVjdGlvbiBpc1ZpZGVvTWlycm9yZWRdKTsKICAgICBtX2J1ZmZlciA9ICZzYW1wbGUu
Z2V0KCk7CiAgICAgc2V0SW50cmluc2ljU2l6ZShleHBhbmRlZEludFNpemUoc2FtcGxlLT5wcmVz
ZW50YXRpb25TaXplKCkpKTsKLSAgICBkaXNwYXRjaE1lZGlhU2FtcGxlVG9PYnNlcnZlcnMoV1RG
TW92ZShzYW1wbGUpKTsKKyAgICBWaWRlb1NhbXBsZU1ldGFkYXRhIG1ldGFkYXRhOworICAgIG1l
dGFkYXRhLmNhcHR1cmVUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCkuc2Vjb25kc1NpbmNlRXBv
Y2goKTsKKyAgICBkaXNwYXRjaE1lZGlhU2FtcGxlVG9PYnNlcnZlcnMoV1RGTW92ZShzYW1wbGUp
LCBtZXRhZGF0YSk7CiB9CiAKIHZvaWQgQVZWaWRlb0NhcHR1cmVTb3VyY2U6OmNhcHR1cmVTZXNz
aW9uSXNSdW5uaW5nRGlkQ2hhbmdlKGJvb2wgc3RhdGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2VNYWMu
bW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvTW9ja1JlYWx0aW1l
VmlkZW9Tb3VyY2VNYWMubW0KaW5kZXggMWY1OTY5MWNjNTRiMGI2MmZiODQ5MDA4MjE2Njk3MGNl
M2NkYzQ1OS4uZmQxOTRlNjE5YTQ0Yjg4MTFkY2IxN2UwMDQ2NzFmNDQ1MzVlN2E5NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL01vY2tSZWFsdGlt
ZVZpZGVvU291cmNlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL21hYy9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZU1hYy5tbQpAQCAtOTksOCArOTksMTEgQEAg
dm9pZCBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZU1hYzo6dXBkYXRlU2FtcGxlQnVmZmVyKCkKICAg
ICBpZiAoIXNhbXBsZUJ1ZmZlcikKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV93b3JrUXVldWUt
PmRpc3BhdGNoKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gUmVmIHsgKnRoaXMgfSwgc2FtcGxlQnVm
ZmVyID0gV1RGTW92ZShzYW1wbGVCdWZmZXIpXSgpIG11dGFibGUgewotICAgICAgICBkaXNwYXRj
aE1lZGlhU2FtcGxlVG9PYnNlcnZlcnMoKnNhbXBsZUJ1ZmZlcik7CisgICAgYXV0byBjYXB0dXJl
VGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpLnNlY29uZHNTaW5jZUVwb2NoKCk7CisgICAgbV93
b3JrUXVldWUtPmRpc3BhdGNoKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gUmVmIHsgKnRoaXMgfSwg
c2FtcGxlQnVmZmVyID0gV1RGTW92ZShzYW1wbGVCdWZmZXIpLCBjYXB0dXJlVGltZV0oKSBtdXRh
YmxlIHsKKyAgICAgICAgVmlkZW9TYW1wbGVNZXRhZGF0YSBtZXRhZGF0YTsKKyAgICAgICAgbWV0
YWRhdGEuY2FwdHVyZVRpbWUgPSBjYXB0dXJlVGltZTsKKyAgICAgICAgZGlzcGF0Y2hNZWRpYVNh
bXBsZVRvT2JzZXJ2ZXJzKCpzYW1wbGVCdWZmZXIsIG1ldGFkYXRhKTsKICAgICB9KTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0
aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29hLm1tCmluZGV4
IDllY2E2Zjc3YzdmNDQyOWMyNWJhMjZlYWJkZDYxMGQwMmZiYWIzODQuLjlmMDY3MGMyMGI4YTRi
OGIyNzQ2YTI4MGMzNzEzNDY4M2NiN2VlMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VDb2NvYS5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJ
bmNvbWluZ1ZpZGVvU291cmNlQ29jb2EubW0KQEAgLTE5Niw3ICsxOTYsOCBAQCB2b2lkIFJlYWx0
aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29hOjpPbkZyYW1lKGNvbnN0IHdlYnJ0Yzo6VmlkZW9G
cmFtZSYgZnJhbWUpCiAgICAgYXV0byBzYW1wbGUgPSBhZG9wdENGKHNhbXBsZUJ1ZmZlcik7CiAK
ICAgICBzZXRJbnRyaW5zaWNTaXplKEludFNpemUod2lkdGgsIGhlaWdodCkpOwotICAgIHZpZGVv
U2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxlQVZGT2JqQzo6Y3JlYXRlKHNhbXBsZS5nZXQoKSwg
cm90YXRpb24pKTsKKworICAgIHZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxlQVZGT2Jq
Qzo6Y3JlYXRlKHNhbXBsZS5nZXQoKSwgcm90YXRpb24pLCBtZXRhZGF0YUZyb21WaWRlb0ZyYW1l
KGZyYW1lKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5nVmlkZW9T
b3VyY2VDb2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMv
UmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2EuY3BwCmluZGV4IGUzM2JiNmRhOWRkZGQw
MWEwMGQ5OTZmZDllZjAyYWM5ODE0YTFlYjUuLjU4YzZiZGU0MzQ2NmVkMzhjNzdiZTY3NWEyYjcy
MTIzZDcyZTcxMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL21hYy9SZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdWaWRlb1Nv
dXJjZUNvY29hLmNwcApAQCAtNjEsNyArNjEsNyBAQCBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3Vy
Y2VDb2NvYTo6UmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2EoUmVmPE1lZGlhU3RyZQog
ewogfQogCi12b2lkIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hOjp2aWRlb1NhbXBs
ZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYgc2FtcGxlKQordm9pZCBSZWFsdGltZU91dGdvaW5nVmlk
ZW9Tb3VyY2VDb2NvYTo6dmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmIHNhbXBsZSwg
VmlkZW9TYW1wbGVNZXRhZGF0YSkKIHsKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAgICBp
ZiAoISgrK21fbnVtYmVyT2ZGcmFtZXMgJSA2MCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29j
b2EuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91
dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5oCmluZGV4IDc3MTNlZDBjMTU5YTE5YTIzNTQ5YThlNjNj
ZjE3OTEzNDg3Y2NkODAuLmJmN2VmMzJhNTNkY2ExMWE2NWY4YWM4NmUxOWQ1NGZlOGU1ODIzYTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFs
dGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5oCkBA
IC00NSw3ICs0NSw3IEBAIHByaXZhdGU6CiAgICAgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6
VmlkZW9GcmFtZUJ1ZmZlcj4gY3JlYXRlQmxhY2tGcmFtZShzaXplX3Qgd2lkdGgsIHNpemVfdCBo
ZWlnaHQpIGZpbmFsOwogCiAgICAgLy8gUmVhbHRpbWVNZWRpYVNvdXJjZTo6VmlkZW9TYW1wbGVP
YnNlcnZlciBBUEkKLSAgICB2b2lkIHZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxlJikg
ZmluYWw7CisgICAgdm9pZCB2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYsIFZpZGVv
U2FtcGxlTWV0YWRhdGEpIGZpbmFsOwogCiAgICAgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+
IGNvbnZlcnRUb1lVVihDVlBpeGVsQnVmZmVyUmVmKTsKICAgICBSZXRhaW5QdHI8Q1ZQaXhlbEJ1
ZmZlclJlZj4gcm90YXRlUGl4ZWxCdWZmZXIoQ1ZQaXhlbEJ1ZmZlclJlZiwgd2VicnRjOjpWaWRl
b1JvdGF0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCBhNWVjZTA4
MTBiZmVlNDYwMWQwMGVkYzZiYzVkN2FkZTAxMDVjN2QwLi40YmRkN2M2NTQ1YWNmNzBmY2I0YzU1
NzMzNTRiNGM5YTgxYTYxNzkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBA
IC01NDc3LDcgKzU0NzcsNyBAQCB2b2lkIEludGVybmFsczo6Z3JhYk5leHRNZWRpYVN0cmVhbVRy
YWNrRnJhbWUoVHJhY2tGcmFtZVByb21pc2UmJiBwcm9taXNlKQogICAgIG1fbmV4dFRyYWNrRnJh
bWVQcm9taXNlID0gbWFrZVVuaXF1ZTxUcmFja0ZyYW1lUHJvbWlzZT4oV1RGTW92ZShwcm9taXNl
KSk7CiB9CiAKLXZvaWQgSW50ZXJuYWxzOjp2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBs
ZSYgc2FtcGxlKQordm9pZCBJbnRlcm5hbHM6OnZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2Ft
cGxlJiBzYW1wbGUsIFZpZGVvU2FtcGxlTWV0YWRhdGEpCiB7CiAgICAgY2FsbE9uTWFpblRocmVh
ZChbdGhpcywgd2Vha1RoaXMgPSBXZWFrUHRyIHsgKnRoaXMgfSwgc2FtcGxlID0gUmVmIHsgc2Ft
cGxlIH1dIHsKICAgICAgICAgaWYgKCF3ZWFrVGhpcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5oCmluZGV4IDMzYjk2NTI3ZDNjYzljYWZmYWMzOGNjMmViYjgwOWQxMDQwMmMzYjQuLjlmM2Mz
YjRjNDZmNWI3N2RkZGUxYzJhNTQ0MDE3NmE5OThiYzdjYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuaApAQCAtMTIxOSw3ICsxMjE5LDcgQEAgcHJpdmF0ZToKIAogI2lmIEVOQUJMRShN
RURJQV9TVFJFQU0pCiAgICAgLy8gUmVhbHRpbWVNZWRpYVNvdXJjZTo6T2JzZXJ2ZXIgQVBJCi0g
ICAgdm9pZCB2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYpIGZpbmFsOworICAgIHZv
aWQgdmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmLCBWaWRlb1NhbXBsZU1ldGFkYXRh
KSBmaW5hbDsKICAgICAvLyBSZWFsdGltZU1lZGlhU291cmNlOjpBdWRpb1NhbXBsZU9ic2VydmVy
IEFQSQogICAgIHZvaWQgYXVkaW9TYW1wbGVzQXZhaWxhYmxlKGNvbnN0IE1lZGlhVGltZSYsIGNv
bnN0IFBsYXRmb3JtQXVkaW9EYXRhJiwgY29uc3QgQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYsIHNp
emVfdCkgZmluYWwgeyBtX3RyYWNrQXVkaW9TYW1wbGVDb3VudCsrOyB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJv
eHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1h
bmFnZXJQcm94eS5jcHAKaW5kZXggOTk2MjY4OTkwN2M2N2I1YzdhNTY0ZDgxNTMyNTFjZjU1MzQ3
ZTViZC4uODFjMGFjY2JlYjZiNzg5NWE3MTJkZDJiNDQ4Yjg4YmNkZTQzZTA0MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQ
cm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2Fw
dHVyZU1hbmFnZXJQcm94eS5jcHAKQEAgLTE3OSw3ICsxNzksNyBAQCBwcml2YXRlOgogICAgICAg
ICAgICAgbV9jYXB0dXJlU2VtYXBob3JlLT5zaWduYWwoKTsKICAgICB9CiAKLSAgICB2b2lkIHZp
ZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxlJiBzYW1wbGUpIGZpbmFsCisgICAgdm9pZCB2
aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYgc2FtcGxlLCBWaWRlb1NhbXBsZU1ldGFk
YXRhIG1ldGFkYXRhKSBmaW5hbAogICAgIHsKICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbW90
ZVZpZGVvU2FtcGxlPiByZW1vdGVTYW1wbGU7CiAgICAgICAgIGlmIChtX3Nob3VsZEFwcGx5Um90
YXRpb24gJiYgc2FtcGxlLnZpZGVvUm90YXRpb24oKSAhPSBNZWRpYVNhbXBsZTo6VmlkZW9Sb3Rh
dGlvbjo6Tm9uZSkgewpAQCAtMTkyLDcgKzE5Miw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBp
ZiAobV93ZWJQcm9jZXNzSWRlbnRpdHlUb2tlbikKICAgICAgICAgICAgICAgICByZW1vdGVTYW1w
bGUtPnNldE93bmVyc2hpcElkZW50aXR5KCptX3dlYlByb2Nlc3NJZGVudGl0eVRva2VuKTsKICNl
bmRpZgotICAgICAgICAgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVDYXB0
dXJlU2FtcGxlTWFuYWdlcjo6VmlkZW9TYW1wbGVBdmFpbGFibGUobV9pZCwgV1RGTW92ZSgqcmVt
b3RlU2FtcGxlKSksIDApOworICAgICAgICAgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2Vz
OjpSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6VmlkZW9TYW1wbGVBdmFpbGFibGUobV9pZCwg
V1RGTW92ZSgqcmVtb3RlU2FtcGxlKSwgbWV0YWRhdGEpLCAwKTsKICAgICAgICAgfQogICAgIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFS
ZWNvcmRlclByaXZhdGUuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMv
TWVkaWFSZWNvcmRlclByaXZhdGUuY3BwCmluZGV4IDA3NTEzN2M3NWY1ZThkMGNhNDRlZjFkN2Vi
YWVjOTRkZjA0ZDU3MDEuLjExYjRhODZlNDg1MmY2YzIwNjFmYTNmYzlhZjI5Zjg4OTlmNGViOWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVj
b3JkZXJQcml2YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0
Yy9NZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHAKQEAgLTg5LDcgKzg5LDcgQEAgTWVkaWFSZWNvcmRl
clByaXZhdGU6On5NZWRpYVJlY29yZGVyUHJpdmF0ZSgpCiAgICAgbV9jb25uZWN0aW9uLT5zZW5k
KE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlcjo6UmVsZWFzZVJlY29yZGVyIHsg
bV9pZGVudGlmaWVyIH0sIDApOwogfQogCi12b2lkIE1lZGlhUmVjb3JkZXJQcml2YXRlOjp2aWRl
b1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYgc2FtcGxlKQordm9pZCBNZWRpYVJlY29yZGVy
UHJpdmF0ZTo6dmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmIHNhbXBsZSwgVmlkZW9T
YW1wbGVNZXRhZGF0YSkKIHsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlVmlkZW9TYW1wbGU+
IHJlbW90ZVNhbXBsZTsKICAgICBpZiAoc2hvdWxkTXV0ZVZpZGVvKCkpIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRl
LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJp
dmF0ZS5oCmluZGV4IDUwOGM2YTJmMDFhMWU1N2U0Y2I5YzJkZmQxYzYyOWJhZWYwMjgyYWIuLjMw
M2E1NGY3NmYxODVlOTY0NTRlZjlmNWJiNDYxZjI4ZTEyNjc4NmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLmgKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZh
dGUuaApAQCAtNTYsNyArNTYsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgLy8gV2ViQ29y
ZTo6TWVkaWFSZWNvcmRlclByaXZhdGUKLSAgICB2b2lkIHZpZGVvU2FtcGxlQXZhaWxhYmxlKFdl
YkNvcmU6Ok1lZGlhU2FtcGxlJikgZmluYWw7CisgICAgdm9pZCB2aWRlb1NhbXBsZUF2YWlsYWJs
ZShXZWJDb3JlOjpNZWRpYVNhbXBsZSYsIFdlYkNvcmU6OlZpZGVvU2FtcGxlTWV0YWRhdGEpIGZp
bmFsOwogICAgIHZvaWQgZmV0Y2hEYXRhKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVmUHRyPFdl
YkNvcmU6OlNoYXJlZEJ1ZmZlcj4mJiwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgZG91YmxlKT4m
JikgZmluYWw7CiAgICAgdm9pZCBzdG9wUmVjb3JkaW5nKENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
KT4mJikgZmluYWw7CiAgICAgdm9pZCBzdGFydFJlY29yZGluZyhTdGFydFJlY29yZGluZ0NhbGxi
YWNrJiYpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29h
L1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5jcHAKaW5kZXggZDdjZTIwZDNmNGE0
MDgzZWI3NzM2YzUyOGI0Y2JjNWZjZWEwMzAwMy4uYjFlZjhmNTY0NTJmMWZjNjkxZmVkZTRjNDg0
OWMzYjViMDZjNjY5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29h
L1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIuY3BwCkBAIC0xNTAsNyArMTUw
LDcgQEAgdm9pZCBSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6YXVkaW9TdG9yYWdlQ2hhbmdl
ZChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmMKICAgICBpdGVyYXRvci0+dmFsdWUtPnNldFN0
b3JhZ2UoaXBjSGFuZGxlLmhhbmRsZSwgZGVzY3JpcHRpb24sIG51bWJlck9mRnJhbWVzLCBXVEZN
b3ZlKHNlbWFwaG9yZSksIG1lZGlhVGltZSwgZnJhbWVDaHVua1NpemUpOwogfQogCi12b2lkIFJl
bW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjp2aWRlb1NhbXBsZUF2YWlsYWJsZShSZWFsdGltZU1l
ZGlhU291cmNlSWRlbnRpZmllciBpZGVudGlmaWVyLCBSZW1vdGVWaWRlb1NhbXBsZSYmIHNhbXBs
ZSkKK3ZvaWQgUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OnZpZGVvU2FtcGxlQXZhaWxhYmxl
KFJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyIGlkZW50aWZpZXIsIFJlbW90ZVZpZGVvU2Ft
cGxlJiYgc2FtcGxlLCBWaWRlb1NhbXBsZU1ldGFkYXRhIG1ldGFkYXRhKQogewogICAgIEFTU0VS
VCghV1RGOjppc01haW5SdW5Mb29wKCkpOwogCkBAIC0xNTksNyArMTU5LDcgQEAgdm9pZCBSZW1v
dGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6dmlkZW9TYW1wbGVBdmFpbGFibGUoUmVhbHRpbWVNZWRp
YVNvdXJjZUlkZW50aWYKICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoV2ViUlRDLCAiVW5hYmxl
IHRvIGZpbmQgc291cmNlICVsbHUgZm9yIHJlbW90ZVZpZGVvU2FtcGxlQXZhaWxhYmxlIiwgaWRl
bnRpZmllci50b1VJbnQ2NCgpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBpdGVyYXRv
ci0+dmFsdWUtPnZpZGVvU2FtcGxlQXZhaWxhYmxlKFdURk1vdmUoc2FtcGxlKSk7CisgICAgaXRl
cmF0b3ItPnZhbHVlLT52aWRlb1NhbXBsZUF2YWlsYWJsZShXVEZNb3ZlKHNhbXBsZSksIG1ldGFk
YXRhKTsKIH0KIAogUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OlJlbW90ZUF1ZGlvOjpSZW1v
dGVBdWRpbyhSZWY8UmVtb3RlUmVhbHRpbWVBdWRpb1NvdXJjZT4mJiBzb3VyY2UpCkBAIC0yMzIs
NyArMjMyLDcgQEAgUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OlJlbW90ZVZpZGVvOjpSZW1v
dGVWaWRlbyhTb3VyY2UmJiBzb3VyY2UpCiB7CiB9CiAKLXZvaWQgUmVtb3RlQ2FwdHVyZVNhbXBs
ZU1hbmFnZXI6OlJlbW90ZVZpZGVvOjp2aWRlb1NhbXBsZUF2YWlsYWJsZShSZW1vdGVWaWRlb1Nh
bXBsZSYmIHJlbW90ZVNhbXBsZSkKK3ZvaWQgUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OlJl
bW90ZVZpZGVvOjp2aWRlb1NhbXBsZUF2YWlsYWJsZShSZW1vdGVWaWRlb1NhbXBsZSYmIHJlbW90
ZVNhbXBsZSwgVmlkZW9TYW1wbGVNZXRhZGF0YSBtZXRhZGF0YSkKIHsKICAgICBpZiAoIW1faW1h
Z2VUcmFuc2ZlclNlc3Npb24gfHwgbV9pbWFnZVRyYW5zZmVyU2Vzc2lvbi0+cGl4ZWxGb3JtYXQo
KSAhPSByZW1vdGVTYW1wbGUudmlkZW9Gb3JtYXQoKSkKICAgICAgICAgbV9pbWFnZVRyYW5zZmVy
U2Vzc2lvbiA9IEltYWdlVHJhbnNmZXJTZXNzaW9uVlQ6OmNyZWF0ZShyZW1vdGVTYW1wbGUudmlk
ZW9Gb3JtYXQoKSk7CkBAIC0yNDgsOSArMjQ4LDkgQEAgdm9pZCBSZW1vdGVDYXB0dXJlU2FtcGxl
TWFuYWdlcjo6UmVtb3RlVmlkZW86OnZpZGVvU2FtcGxlQXZhaWxhYmxlKFJlbW90ZVZpZGVvU2EK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBzd2l0Y2hPbihtX3NvdXJjZSwgWyZdKFJlZjxS
ZW1vdGVSZWFsdGltZVZpZGVvU291cmNlPiYgc291cmNlKSB7Ci0gICAgICAgIHNvdXJjZS0+dmlk
ZW9TYW1wbGVBdmFpbGFibGUoKnNhbXBsZVJlZiwgcmVtb3RlU2FtcGxlLnNpemUoKSk7CisgICAg
ICAgIHNvdXJjZS0+dmlkZW9TYW1wbGVBdmFpbGFibGUoKnNhbXBsZVJlZiwgcmVtb3RlU2FtcGxl
LnNpemUoKSwgbWV0YWRhdGEpOwogICAgIH0sIFsmXShSZWY8UmVtb3RlUmVhbHRpbWVEaXNwbGF5
U291cmNlPiYgc291cmNlKSB7Ci0gICAgICAgIHNvdXJjZS0+cmVtb3RlVmlkZW9TYW1wbGVBdmFp
bGFibGUoKnNhbXBsZVJlZik7CisgICAgICAgIHNvdXJjZS0+cmVtb3RlVmlkZW9TYW1wbGVBdmFp
bGFibGUoKnNhbXBsZVJlZiwgbWV0YWRhdGEpOwogICAgIH0pOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIu
aCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFu
YWdlci5oCmluZGV4IGI0MTNiOGU2OTcyOTAzYWJhY2E4MjMzZGIwY2MwNjE4MGE4ZjMyMmEuLjg2
ZjQ5MGI3ODBmZTQ5Y2ExMWExMDRhZjdiNjliZDMzZTY4YzE3MjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFu
YWdlci5oCkBAIC03MCw3ICs3MCw3IEBAIHByaXZhdGU6CiAgICAgLy8gTWVzc2FnZXMKICAgICB2
b2lkIGF1ZGlvU3RvcmFnZUNoYW5nZWQoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50
aWZpZXIsIGNvbnN0IFNoYXJlZE1lbW9yeTo6SVBDSGFuZGxlJiwgY29uc3QgV2ViQ29yZTo6Q0FB
dWRpb1N0cmVhbURlc2NyaXB0aW9uJiwgdWludDY0X3QgbnVtYmVyT2ZGcmFtZXMsIElQQzo6U2Vt
YXBob3JlJiYsIGNvbnN0IE1lZGlhVGltZSYsIHNpemVfdCBmcmFtZVNhbXBsZVNpemUpOwogICAg
IHZvaWQgYXVkaW9TYW1wbGVzQXZhaWxhYmxlKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VJ
ZGVudGlmaWVyLCBNZWRpYVRpbWUsIHVpbnQ2NF90IG51bWJlck9mRnJhbWVzKTsKLSAgICB2b2lk
IHZpZGVvU2FtcGxlQXZhaWxhYmxlKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlm
aWVyLCBXZWJDb3JlOjpSZW1vdGVWaWRlb1NhbXBsZSYmKTsKKyAgICB2b2lkIHZpZGVvU2FtcGxl
QXZhaWxhYmxlKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyLCBXZWJDb3Jl
OjpSZW1vdGVWaWRlb1NhbXBsZSYmLCBXZWJDb3JlOjpWaWRlb1NhbXBsZU1ldGFkYXRhKTsKIAog
ICAgIHZvaWQgc2V0Q29ubmVjdGlvbihJUEM6OkNvbm5lY3Rpb24qKTsKIApAQCAtMTA1LDcgKzEw
NSw3IEBAIHByaXZhdGU6CiAgICAgICAgIHVzaW5nIFNvdXJjZSA9IHN0ZDo6dmFyaWFudDxSZWY8
UmVtb3RlUmVhbHRpbWVWaWRlb1NvdXJjZT4sIFJlZjxSZW1vdGVSZWFsdGltZURpc3BsYXlTb3Vy
Y2U+PjsKICAgICAgICAgZXhwbGljaXQgUmVtb3RlVmlkZW8oU291cmNlJiYpOwogCi0gICAgICAg
IHZvaWQgdmlkZW9TYW1wbGVBdmFpbGFibGUoV2ViQ29yZTo6UmVtb3RlVmlkZW9TYW1wbGUmJik7
CisgICAgICAgIHZvaWQgdmlkZW9TYW1wbGVBdmFpbGFibGUoV2ViQ29yZTo6UmVtb3RlVmlkZW9T
YW1wbGUmJiwgV2ViQ29yZTo6VmlkZW9TYW1wbGVNZXRhZGF0YSk7CiAKICAgICBwcml2YXRlOgog
ICAgICAgICBTb3VyY2UgbV9zb3VyY2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIubWVzc2FnZXMuaW4gYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIubWVz
c2FnZXMuaW4KaW5kZXggNjZlNjk3ZDQ3MTAwN2VlNzU3NjY2NTRjMzVkMjNjYmM4NTk2OTEyOS4u
ODY1MWIzY2Q3OTlhMWY3NTRmMmU4MDNjNDY4ODkwZThmNWFhZmE2NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLm1l
c3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0
dXJlU2FtcGxlTWFuYWdlci5tZXNzYWdlcy5pbgpAQCAtMjUsNyArMjUsNyBAQAogCiBtZXNzYWdl
cyAtPiBSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlciBOb3RSZWZDb3VudGVkIHsKICAgICBBdWRp
b1N0b3JhZ2VDaGFuZ2VkKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyIGlk
LCBXZWJLaXQ6OlNoYXJlZE1lbW9yeTo6SVBDSGFuZGxlIHN0b3JhZ2VIYW5kbGUsIFdlYkNvcmU6
OkNBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiBkZXNjcmlwdGlvbiwgdWludDY0X3QgbnVtYmVyT2ZG
cmFtZXMsIElQQzo6U2VtYXBob3JlIGNhcHR1cmVTZW1hcGhvcmUsIE1lZGlhVGltZSBtZWRpYVRp
bWUsIHNpemVfdCBmcmFtZUNodW5rU2l6ZSk7Ci0gICAgVmlkZW9TYW1wbGVBdmFpbGFibGUoV2Vi
Q29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50aWZpZXIgaWQsIFdlYkNvcmU6OlJlbW90ZVZp
ZGVvU2FtcGxlIHNhbXBsZSkKKyAgICBWaWRlb1NhbXBsZUF2YWlsYWJsZShXZWJDb3JlOjpSZWFs
dGltZU1lZGlhU291cmNlSWRlbnRpZmllciBpZCwgV2ViQ29yZTo6UmVtb3RlVmlkZW9TYW1wbGUg
c2FtcGxlLCBzdHJ1Y3QgV2ViQ29yZTo6VmlkZW9TYW1wbGVNZXRhZGF0YSBtZXRhZGF0YSkKIH0K
IAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVt
b3RlUmVhbHRpbWVEaXNwbGF5U291cmNlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29j
b2EvUmVtb3RlUmVhbHRpbWVEaXNwbGF5U291cmNlLmgKaW5kZXggMDI2NmY4N2Q3ZDYxNGM2MzQz
NDdlOTQ1ZWQ2YjZlYjdiNTIyZTJkYi4uMWE4ZjI0YTY0MDA3ZmJhM2QwZGY3OGQxOTljMWQ1N2U5
ZTZhOTZkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90
ZVJlYWx0aW1lRGlzcGxheVNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9j
b2NvYS9SZW1vdGVSZWFsdGltZURpc3BsYXlTb3VyY2UuaApAQCAtNjEsNyArNjEsNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCBjYXB0dXJlU3RvcHBlZCgpOwogICAgIHZvaWQgY2FwdHVyZUZhaWxlZCgp
IGZpbmFsOwogCi0gICAgdm9pZCByZW1vdGVWaWRlb1NhbXBsZUF2YWlsYWJsZShXZWJDb3JlOjpN
ZWRpYVNhbXBsZSYgc2FtcGxlKSB7IHZpZGVvU2FtcGxlQXZhaWxhYmxlKHNhbXBsZSk7IH0KKyAg
ICB2b2lkIHJlbW90ZVZpZGVvU2FtcGxlQXZhaWxhYmxlKFdlYkNvcmU6Ok1lZGlhU2FtcGxlJiBz
YW1wbGUsIFdlYkNvcmU6OlZpZGVvU2FtcGxlTWV0YWRhdGEgbWV0YWRhdGEpIHsgdmlkZW9TYW1w
bGVBdmFpbGFibGUoc2FtcGxlLCBtZXRhZGF0YSk7IH0KICAgICB2b2lkIHNvdXJjZU11dGVkQ2hh
bmdlZChib29sIHZhbHVlKSB7IG5vdGlmeU11dGVkQ2hhbmdlKHZhbHVlKTsgfQogCiBwcml2YXRl
OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90ZVJlYWx0
aW1lVmlkZW9Tb3VyY2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90
ZVJlYWx0aW1lVmlkZW9Tb3VyY2UuY3BwCmluZGV4IGQ2NzZiMjM5MGU4YTJmYTZlMDkzZDUzOTZm
ZmI4NTM2MzdhM2FlZGYuLmVjZDg2YzBmYTUzNTRlZGI3NzFjNjJmNmU4ZmM4OWExYWVjN2I2ODMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVSZWFsdGlt
ZVZpZGVvU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVt
b3RlUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHAKQEAgLTExMiw3ICsxMTIsNyBAQCB2b2lkIFJlbW90
ZVJlYWx0aW1lVmlkZW9Tb3VyY2U6OnNldFNldHRpbmdzKFJlYWx0aW1lTWVkaWFTb3VyY2VTZXR0
aW5ncyYmIHNldHRpbgogICAgIG5vdGlmeVNldHRpbmdzRGlkQ2hhbmdlT2JzZXJ2ZXJzKGNoYW5n
ZWQpOwogfQogCi12b2lkIFJlbW90ZVJlYWx0aW1lVmlkZW9Tb3VyY2U6OnZpZGVvU2FtcGxlQXZh
aWxhYmxlKE1lZGlhU2FtcGxlJiBzYW1wbGUsIEludFNpemUgc2FtcGxlU2l6ZSkKK3ZvaWQgUmVt
b3RlUmVhbHRpbWVWaWRlb1NvdXJjZTo6dmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUm
IHNhbXBsZSwgSW50U2l6ZSBzYW1wbGVTaXplLCBWaWRlb1NhbXBsZU1ldGFkYXRhIG1ldGFkYXRh
KQogewogICAgIEFTU0VSVCh0eXBlKCkgPT0gVHlwZTo6VmlkZW8pOwogCkBAIC0xMzEsNyArMTMx
LDcgQEAgdm9pZCBSZW1vdGVSZWFsdGltZVZpZGVvU291cmNlOjp2aWRlb1NhbXBsZUF2YWlsYWJs
ZShNZWRpYVNhbXBsZSYgc2FtcGxlLCBJbnRTaXoKICAgICAgICAgICAgIG5vdGlmeVNldHRpbmdz
RGlkQ2hhbmdlT2JzZXJ2ZXJzKHsgUmVhbHRpbWVNZWRpYVNvdXJjZVNldHRpbmdzOjpGbGFnOjpX
aWR0aCwgUmVhbHRpbWVNZWRpYVNvdXJjZVNldHRpbmdzOjpGbGFnOjpIZWlnaHQgfSk7CiAgICAg
ICAgIH0pOwogICAgIH0KLSAgICBkaXNwYXRjaE1lZGlhU2FtcGxlVG9PYnNlcnZlcnMoc2FtcGxl
KTsKKyAgICBkaXNwYXRjaE1lZGlhU2FtcGxlVG9PYnNlcnZlcnMoc2FtcGxlLCBtZXRhZGF0YSk7
CiB9CiAKIGJvb2wgUmVtb3RlUmVhbHRpbWVWaWRlb1NvdXJjZTo6c2V0U2hvdWxkQXBwbHlSb3Rh
dGlvbihib29sIHNob3VsZEFwcGx5Um90YXRpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlUmVhbHRpbWVWaWRlb1NvdXJjZS5oIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90ZVJlYWx0aW1lVmlkZW9Tb3VyY2UuaAppbmRleCBh
N2QyMjgzYjM3ZGJiZDQyZTU1ZjI0NzljNmIyN2QwOWM3MTdjNDViLi4zMmE4YTExNTQ2NGIwYjY1
YjdlYWYzYmYwZGI4MTdmZTFiOGY5YTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvY29jb2EvUmVtb3RlUmVhbHRpbWVWaWRlb1NvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVSZWFsdGltZVZpZGVvU291cmNlLmgKQEAgLTY2LDcg
KzY2LDcgQEAgcHVibGljOgogICAgIHZvaWQgY2FwdHVyZVN0b3BwZWQoKTsKICAgICB2b2lkIGNh
cHR1cmVGYWlsZWQoKSBmaW5hbDsKIAotICAgIHZvaWQgdmlkZW9TYW1wbGVBdmFpbGFibGUoV2Vi
Q29yZTo6TWVkaWFTYW1wbGUmLCBXZWJDb3JlOjpJbnRTaXplKTsKKyAgICB2b2lkIHZpZGVvU2Ft
cGxlQXZhaWxhYmxlKFdlYkNvcmU6Ok1lZGlhU2FtcGxlJiwgV2ViQ29yZTo6SW50U2l6ZSwgV2Vi
Q29yZTo6VmlkZW9TYW1wbGVNZXRhZGF0YSk7CiAgICAgdm9pZCBzb3VyY2VNdXRlZENoYW5nZWQo
Ym9vbCB2YWx1ZSkgeyBub3RpZnlNdXRlZENoYW5nZSh2YWx1ZSk7IH0KIAogcHJpdmF0ZToKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCAxNTRkMDBlMmFmNzE2ZWUyZDIyNTA4ZDY3NDBjODAzY2M3Y2NlOGU5Li4xNTJhZTQ3ODRk
NjYwY2ZlZDg0YTA2MDNkMWY4MjdlMzZmMWVjYmI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIw
MjEtMTEtMTYgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEFk
ZCBzdXBwb3J0IGZvciBtb3JlIHJ2ZmMgbWV0YWRhdGEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzE4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRp
b25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjEtMTEtMTQgIFNp
bW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgRmluZ2VycyBk
b3duIG9uIHRoZSB0cmFja3BhZCBzaG91bGQgc3RvcCBhbiBhbmltYXRlZCBzY3JvbGwKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDlmOGM5OTAzODZlMTI5MTcwYjhiMWE2YTljMGY2
MTRhNDZiMWRiNjkuLmI0MmJiODUzZGFmY2YwZjI2NDgxYzdhOTA1YTk1ZTNlNDM5ZjY1MmYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIxLTExLTE2
ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9y
dCBmb3IgbW9yZSBydmZjIG1ldGFkYXRhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzMxODUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3Qt
dmlkZW8tZnJhbWUtY2FsbGJhY2std2VicnRjLmh0dHBzLWV4cGVjdGVkLnR4dDoKKwogMjAyMS0x
MS0xNCAgVGltIE5ndXllbiAgPG50aW1AYXBwbGUuY29tPgogCiAgICAgICAgIE1vZGFsIGRpYWxv
Z3Mgc2hvdWxkIG1ha2UgdGhlIHJvb3QgZWxlbWVudCB1bmZvY3VzYWJsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3Jl
cXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2std2VicnRjLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1
ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXdlYnJ0Yy5odHRwcy1leHBlY3RlZC50eHQKaW5kZXgg
MGQ1NGQwZWFhZTc4ODY0NmZiMGRmMTE4Mjg4MjMxZmIyNTQ4Nzc3ZC4uOTcxMjNjNmE1NjVkNTYx
ZDIwZDBlZDNiNDMyMWY1YzM1YmQ4YmQ3OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUt
Y2FsbGJhY2std2VicnRjLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFt
ZS1jYWxsYmFjay13ZWJydGMuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCi1G
QUlMIFRlc3QgdmlkZW8ucmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFjaygpIHBhcmFtZXRlcnMgZm9y
IFdlYlJUQyBhcHBsaWNhdGlvbnMuIGFzc2VydF9ncmVhdGVyX3RoYW46IGV4cGVjdGVkIGEgbnVt
YmVyIGJ1dCBnb3QgYSAidW5kZWZpbmVkIgorUEFTUyBUZXN0IHZpZGVvLnJlcXVlc3RWaWRlb0Zy
YW1lQ2FsbGJhY2soKSBwYXJhbWV0ZXJzIGZvciBXZWJSVEMgYXBwbGljYXRpb25zLgogCiAK
</data>
<flag name="commit-queue"
          id="469523"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444495</attachid>
            <date>2021-11-17 01:22:08 -0800</date>
            <delta_ts>2021-11-17 02:12:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233185-20211117102204.patch</filename>
            <type>text/plain</type>
            <size>57899</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1Nzk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGUwOWY5NTk5ZDBmNWM4
N2EzNWIyNTRiZjUyNzNhZTZjMzZmZTI4YS4uMTJkYjUzYTBlMmNmNTliMjNlOGZhMTQ1MzkzNTNh
N2EwN2E5YzM5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDIxLTExLTE2ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Ig
bW9yZSBydmZjIG1ldGFkYXRhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzMxODUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBJbnRyb2R1Y2UgVmlkZW9TYW1wbGVNZXRhZGF0YSB0aGF0IGFsbG93cyBhIFJl
YWx0aW1lTWVkaWFTb3VyY2UgdG8gcHJvdmlkZSBtZXRhZGF0YSBmb3IgZWFjaCB2aWRlbyBmcmFt
ZS4KKyAgICAgICAgRmlsbCBWaWRlb1NhbXBsZU1ldGFkYXRhIGZvciBlYWNoIHNvdXJjZSAoY2Fw
dHVyZSBhbmQgV2ViUlRDKQorICAgICAgICBNYWtlIHVzZSBvZiBWaWRlb1NhbXBsZU1ldGFkYXRh
IGluIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQyB0byBmaWxsIFZpZGVvRnJh
bWVNZXRhZGF0YS4KKyAgICAgICAgRW5oYW5jZSBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRp
b25PYmpDIHRvIGZpbGwgaW4gdGhlIG5ld2x5IGV4cG9zZWQgbWV0YWRhdGEgaW4gVmlkZW9GcmFt
ZU1ldGFkYXRhLgorICAgICAgICBVcGRhdGUgSFRNTFZpZGVvRWxlbWVudCB0byBwcm9jZXNzIHRo
ZSB0aW1lc3RhbXAgdmFsdWVzIGFzIG5lZWRlZC4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0
aW5nIHRlc3RzLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9DYW52YXNDYXB0dXJl
TWVkaWFTdHJlYW1UcmFjay5jcHA6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIGh0bWwvSFRNTFZpZGVvRWxlbWVudC5jcHA6CisgICAgICAg
ICogaHRtbC9WaWRlb0ZyYW1lTWV0YWRhdGEuaWRsOgorICAgICAgICAqIHBsYXRmb3JtL1ZpZGVv
U2FtcGxlTWV0YWRhdGEuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVNZWRpYVN0cmVhbUFWRk9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW06
CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFW
RkltcGwuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRl
clByaXZhdGVBVkZJbXBsLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRp
YVJlY29yZGVyUHJpdmF0ZU1vY2suY3BwOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhcmVjb3Jk
ZXIvTWVkaWFSZWNvcmRlclByaXZhdGVNb2NrLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFz
dHJlYW0vUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tZWRpYXN0cmVhbS9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2UuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlLmNwcDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlLmg6CisgICAgICAgICogcGxh
dGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlLmg6CisgICAgICAg
ICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVWaWRlb0NhcHR1cmVTb3VyY2UuY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lVmlkZW9DYXB0dXJlU291cmNl
Lmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVWaWRlb1NvdXJjZS5j
cHA6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVWaWRlb1NvdXJjZS5o
OgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2NvY29hL0Rpc3BsYXlDYXB0dXJlU291
cmNlQ29jb2EuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9H
U3RyZWFtZXJNZWRpYVN0cmVhbVNvdXJjZS5jcHA6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFz
dHJlYW0vbGlid2VicnRjL2dzdHJlYW1lci9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VMaWJX
ZWJSVEMuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9nc3Ry
ZWFtZXIvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlTGliV2ViUlRDLmNwcDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvZ3N0cmVhbWVyL1JlYWx0aW1lT3V0Z29p
bmdWaWRlb1NvdXJjZUxpYldlYlJUQy5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFt
L21hYy9BVlZpZGVvQ2FwdHVyZVNvdXJjZS5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0
cmVhbS9tYWMvTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2VNYWMubW06CisgICAgICAgICogcGxhdGZv
cm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29hLm1tOgor
ICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5nVmlkZW9T
b3VyY2VDb2NvYS5jcHA6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0
aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5h
bHMuY3BwOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisKIDIwMjEtMTEtMTQgIFNp
bW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgRmluZ2VycyBk
b3duIG9uIHRoZSB0cmFja3BhZCBzaG91bGQgc3RvcCBhbiBhbmltYXRlZCBzY3JvbGwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
aW5kZXggNDU4ZGYzOWY1YTNhZTBmZjBhZTIyMjc3ZjFhYTI0ZWJkZGEzY2VkZC4uZGVjNzI5OWJh
MDUxNDJiZGVjODQwZDJiYmE5ODQzM2IwYjYwM2Y5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBA
QAorMjAyMS0xMS0xNiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAg
ICAgQWRkIHN1cHBvcnQgZm9yIG1vcmUgcnZmYyBtZXRhZGF0YQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMTg1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBzdXJlIHRvIHJlY2VpdmUgZnJhbWUg
bWV0YWRhdHMsIHNlbmQgaXQgdGhyb3VnaCBJUEMgdG8gV2ViUHJvY2VzcyBhbmQgcGlwZSBpdCB0
byBtZWRpYSBzb3VyY2Ugb2JzZXJ2ZXJzLgorCisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1Vz
ZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHkuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BV
L3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9H
UFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9j
b2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5jcHA6CisgICAgICAgICogV2ViUHJvY2Vz
cy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5oOgorICAgICAgICAqIFdlYlByb2Nl
c3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIubWVzc2FnZXMuaW46CisgICAgICAg
ICogV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVSZWFsdGltZURpc3BsYXlTb3VyY2UuaDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL2NvY29hL1JlbW90ZVJlYWx0aW1lVmlkZW9Tb3VyY2UuY3BwOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvY29jb2EvUmVtb3RlUmVhbHRpbWVWaWRlb1NvdXJjZS5oOgorCiAy
MDIxLTExLTE0ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBH
ZXQgZGFlbW9uIEFQSSByZWFkeSB0byB3b3JrIGluIHRoZSBpT1Mgc2ltdWxhdG9yIChzdGFydGlu
ZyB3aXRoIFdlYlB1c2hEKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9DYW52YXNDYXB0dXJlTWVkaWFTdHJlYW1UcmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrLmNwcApp
bmRleCA1YzBiNTZjMGYzMjNhNTkyNzcwYTg0ZWJiNGU2OTAxZWQ4Mjg1YTg2Li5lZTU4OTA3Nzcy
MzViNmY0MTdmZDIyNmMzYmZiNWQwOTlhODBkMjdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRp
YVN0cmVhbVRyYWNrLmNwcApAQCAtMTk2LDcgKzE5Niw5IEBAIHZvaWQgQ2FudmFzQ2FwdHVyZU1l
ZGlhU3RyZWFtVHJhY2s6OlNvdXJjZTo6Y2FwdHVyZUNhbnZhcygpCiAgICAgaWYgKCFzYW1wbGUp
CiAgICAgICAgIHJldHVybjsKIAotICAgIHZpZGVvU2FtcGxlQXZhaWxhYmxlKCpzYW1wbGUpOwor
ICAgIFZpZGVvU2FtcGxlTWV0YWRhdGEgbWV0YWRhdGE7CisgICAgbWV0YWRhdGEuY2FwdHVyZVRp
bWUgPSBNb25vdG9uaWNUaW1lOjpub3coKS5zZWNvbmRzU2luY2VFcG9jaCgpOworICAgIHZpZGVv
U2FtcGxlQXZhaWxhYmxlKCpzYW1wbGUsIG1ldGFkYXRhKTsKIH0KIAogUmVmUHRyPE1lZGlhU3Ry
ZWFtVHJhY2s+IENhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrOjpjbG9uZSgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOTk4
MTBlYjgyMDNjY2RhNmI1YzllMzgxNjE0YjYyYmU2ZWYyYTFjYy4uMzg5NWRjNjg2NmZhNGIyNGY0
N2Q1N2QzM2VlNmMzNzVlNGQ2ZmEwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTExNyw2ICsxMTE3LDcgQEAKIAkJNDE1N0VC
RkIxRTNBQjY3RjAwQUM5RkU5IC8qIE1vY2tMaWJXZWJSVENQZWVyQ29ubmVjdGlvbi5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE1N0VCRjgxRTNBQjA2
ODAwQUM5RkU5IC8qIE1vY2tMaWJXZWJSVENQZWVyQ29ubmVjdGlvbi5oICovOyB9OwogCQk0MTU4
NjRBMDIzQkY3Q0JGMDBBMEE2MUUgLyogUmVhbHRpbWVWaWRlb1V0aWxpdGllcy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFEMTkzOEYyMTUyQzU2MTAw
NkYxNENBIC8qIFJlYWx0aW1lVmlkZW9VdGlsaXRpZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTVDREFGNTFFNkI4RjhCMDA0RjExRUUgLyog
Q2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxQzdFMTA2MUU2QTU0MzYwMDI3QjRERSAvKiBDYW52YXND
YXB0dXJlTWVkaWFTdHJlYW1UcmFjay5oICovOyB9OworCQk0MTYwNDkzMzI3NDNCMEU4MDBBODZG
QTAgLyogVmlkZW9TYW1wbGVNZXRhZGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDE2MDQ5MzEyNzQzQjBFNzAwQTg2RkEwIC8qIFZpZGVvU2FtcGxl
TWV0YWRhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQk0MTYxNEE3OTFEQTY0MjQxMDA0QUQwNkYgLyogSFRUUEhlYWRlclZhbHVlcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE2MTRBNzcxREE2NDIz
NjAwNEFEMDZGIC8qIEhUVFBIZWFkZXJWYWx1ZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTYxRTJENTFGRTQ4REM1MDBFQzJFOTYgLyogRmV0
Y2hMb2FkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxNDdFMkI1MUM4OTkxMjYwMEE3RTcxNSAvKiBGZXRjaExvYWRlci5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxNjJBNDUxMTAxMTQ1QUUwMERG
RjNFRCAvKiBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE2MkE0NEUxMDExNDVBRTAwREZGM0VEIC8qIERl
ZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmggKi87IH07CkBAIC04MzMzLDYgKzgzMzQsNyBAQAog
CQk0MTVFMUJCNTIxNTAxMDgxMDAyMkRBOTYgLyogUlRDUnRwQ29udHJpYnV0aW5nU291cmNlLmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSVENSdHBDb250cmlidXRpbmdTb3VyY2UuaWRsOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTVFMUJCNjIxNTAxNTJBMDAyMkRBOTYgLyog
UlRDUnRwU3luY2hyb25pemF0aW9uU291cmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFJUQ1J0cFN5bmNocm9uaXphdGlvblNvdXJjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0MTVFMUJCNzIxNTAxNTMwMDAyMkRBOTYgLyogUlRDUnRwU3luY2hyb25pemF0
aW9uU291cmNlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSVENSdHBTeW5jaHJvbml6YXRp
b25Tb3VyY2UuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTYwNDkzMTI3NDNC
MEU3MDBBODZGQTAgLyogVmlkZW9TYW1wbGVNZXRhZGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBWaWRlb1NhbXBsZU1ldGFkYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQxNjE0QTc2MURBNjQyMzYwMDRBRDA2RiAvKiBIVFRQSGVhZGVyVmFsdWVzLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhUVFBIZWFkZXJWYWx1ZXMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTYxNEE3NzFEQTY0MjM2MDA0QUQw
NkYgLyogSFRUUEhlYWRlclZhbHVlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBIVFRQSGVhZGVyVmFsdWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNjJB
NDREMTAxMTQ1QUUwMERGRjNFRCAvKiBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxT
Y29wZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yOTExMyw2ICsyOTExNSw3
IEBACiAJCQkJNzFDOTE2MDcxRDE0ODNBMzAwQUNBNDdEIC8qIFVzZXJJbnRlcmZhY2VMYXlvdXRE
aXJlY3Rpb24uaCAqLywKIAkJCQk4M0M0NUI4RDFEQzJCNjdDMDA4ODcxQkEgLyogVmFsaWRhdGlv
bkJ1YmJsZS5oICovLAogCQkJCTQxREVFRkI0MjcxOUJBMTkwMENCOEQ3NCAvKiBWaWRlb0ZyYW1l
TWV0YWRhdGEuaCAqLywKKwkJCQk0MTYwNDkzMTI3NDNCMEU3MDBBODZGQTAgLyogVmlkZW9TYW1w
bGVNZXRhZGF0YS5oICovLAogCQkJCTUxNUY3OTUxMUNGQ0EzQzcwMENDRUQ5MyAvKiBXZWJDb3Jl
Q3Jvc3NUaHJlYWRDb3BpZXIuY3BwICovLAogCQkJCTUxNUY3OTUyMUNGQ0EzQzcwMENDRUQ5MyAv
KiBXZWJDb3JlQ3Jvc3NUaHJlYWRDb3BpZXIuaCAqLywKIAkJCQk4MzlBMkYyQjFFMjA0QTZEMDAz
OTA1N0UgLyogV2ViR0xTdGF0ZVRyYWNrZXIuY3BwICovLApAQCAtMzY2ODEsNiArMzY2ODQsNyBA
QAogCQkJCUNERTgzREIyMTgzQzQ0MDYwMDMxRUFBMyAvKiBWaWRlb1BsYXliYWNrUXVhbGl0eS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMDc1MDMzQTgyNTJCRDM2ODAwRjcwQ0UzIC8qIFZpZGVvUGxh
eWJhY2tRdWFsaXR5TWV0cmljcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDc1N0IxM0UyMTRBRTc5
OTAwNzk0QjBEIC8qIFZpZGVvUHJlc2V0LmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTYwNDkzMzI3
NDNCMEU4MDBBODZGQTAgLyogVmlkZW9TYW1wbGVNZXRhZGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQ0RDOTM5QTgxRTlCREZCMTAwQkI3NjhEIC8qIFZpZGVvVG9vbGJveFNvZnRMaW5rLmggaW4g
SGVhZGVycyAqLywKIAkJCQlCRTg4RTBERjE3MTVEMkEyMDA2NThEOTggLyogVmlkZW9UcmFjay5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQ0QxRjlCMTgyNzAyM0EyQTAwNjE3RUI2IC8qIFZpZGVvVHJh
Y2tDbGllbnQuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MVmlkZW9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxl
bWVudC5jcHAKaW5kZXggYmIwNWUyNzYxZjgyZGM5ZGUzMTFkNGNiYTIzNDc5NTE2OTA5YzMyOS4u
YjBkMTQ4M2JiZWM4NmE3ODI3YWY2OTFkODRmZjZhZDcyOTIwY2E5OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwCkBAIC00MSw2ICs0MSw3IEBACiAjaW5jbHVkZSAi
SW1hZ2VCdWZmZXIuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgor
I2luY2x1ZGUgIlBlcmZvcm1hbmNlLmgiCiAjaW5jbHVkZSAiUGljdHVyZUluUGljdHVyZVN1cHBv
cnQuaCIKICNpbmNsdWRlICJSZW5kZXJJbWFnZS5oIgogI2luY2x1ZGUgIlJlbmRlclZpZGVvLmgi
CkBAIC02MDksMTUgKzYxMCwyNyBAQCB2b2lkIEhUTUxWaWRlb0VsZW1lbnQ6OmNhbmNlbFZpZGVv
RnJhbWVDYWxsYmFjayh1bnNpZ25lZCBpZGVudGlmaWVyKQogICAgIG1fdmlkZW9GcmFtZVJlcXVl
c3RzLnJlbW92ZShpbmRleCk7CiB9CiAKK3N0YXRpYyB2b2lkIHByb2Nlc3NWaWRlb0ZyYW1lTWV0
YWRhdGFUaW1lc3RhbXBzKFZpZGVvRnJhbWVNZXRhZGF0YSYgbWV0YWRhdGEsIFBlcmZvcm1hbmNl
JiBwZXJmb3JtYW5jZSkKK3sKKyAgICBtZXRhZGF0YS5wcmVzZW50YXRpb25UaW1lID0gcGVyZm9y
bWFuY2UucmVsYXRpdmVUaW1lRnJvbVRpbWVPcmlnaW5JblJlZHVjZWRSZXNvbHV0aW9uKE1vbm90
b25pY1RpbWU6OmZyb21SYXdTZWNvbmRzKG1ldGFkYXRhLnByZXNlbnRhdGlvblRpbWUpKTsKKyAg
ICBtZXRhZGF0YS5leHBlY3RlZERpc3BsYXlUaW1lID0gcGVyZm9ybWFuY2UucmVsYXRpdmVUaW1l
RnJvbVRpbWVPcmlnaW5JblJlZHVjZWRSZXNvbHV0aW9uKE1vbm90b25pY1RpbWU6OmZyb21SYXdT
ZWNvbmRzKG1ldGFkYXRhLmV4cGVjdGVkRGlzcGxheVRpbWUpKTsKKyAgICBpZiAobWV0YWRhdGEu
Y2FwdHVyZVRpbWUpCisgICAgICAgIG1ldGFkYXRhLmNhcHR1cmVUaW1lID0gcGVyZm9ybWFuY2Uu
cmVsYXRpdmVUaW1lRnJvbVRpbWVPcmlnaW5JblJlZHVjZWRSZXNvbHV0aW9uKE1vbm90b25pY1Rp
bWU6OmZyb21SYXdTZWNvbmRzKCptZXRhZGF0YS5jYXB0dXJlVGltZSkpOworICAgIGlmIChtZXRh
ZGF0YS5yZWNlaXZlVGltZSkKKyAgICAgICAgbWV0YWRhdGEucmVjZWl2ZVRpbWUgPSBwZXJmb3Jt
YW5jZS5yZWxhdGl2ZVRpbWVGcm9tVGltZU9yaWdpbkluUmVkdWNlZFJlc29sdXRpb24oTW9ub3Rv
bmljVGltZTo6ZnJvbVJhd1NlY29uZHMoKm1ldGFkYXRhLnJlY2VpdmVUaW1lKSk7Cit9CisKIHZv
aWQgSFRNTFZpZGVvRWxlbWVudDo6c2VydmljZVJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2tzKFJl
ZHVjZWRSZXNvbHV0aW9uU2Vjb25kcyBub3cpCiB7CiAgICAgaWYgKCFwbGF5ZXIoKSkKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgYXV0byB2aWRlb0ZyYW1lTWV0YWRhdGEgPSBwbGF5ZXIoKS0+dmlk
ZW9GcmFtZU1ldGFkYXRhKCk7Ci0gICAgaWYgKCF2aWRlb0ZyYW1lTWV0YWRhdGEpCisgICAgaWYg
KCF2aWRlb0ZyYW1lTWV0YWRhdGEgfHwgIWRvY3VtZW50KCkuZG9tV2luZG93KCkpCiAgICAgICAg
IHJldHVybjsKIAorICAgIHByb2Nlc3NWaWRlb0ZyYW1lTWV0YWRhdGFUaW1lc3RhbXBzKCp2aWRl
b0ZyYW1lTWV0YWRhdGEsIGRvY3VtZW50KCkuZG9tV2luZG93KCktPnBlcmZvcm1hbmNlKCkpOwor
CiAgICAgUmVmIHByb3RlY3RlZFRoaXMgeyAqdGhpcyB9OwogCiAgICAgLy8gV2Ugc3RvcmUgdGhl
IHNpemUgYmVmb3JlIGNhbGxpbmcgY2FsbGJhY2tzIGFzIHdlIGRvIG5vdCB3YW50IHRvIGNhbGwg
bmV3bHkgYWRkZWQgY2FsbGJhY2tzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9W
aWRlb0ZyYW1lTWV0YWRhdGEuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9WaWRlb0ZyYW1lTWV0
YWRhdGEuaWRsCmluZGV4IDJjYTk1ZThmMDNkMzA1N2FjMmU4MGM0YTVkMmZhMjMwNTZhZjc4YmQu
LjQxOTZlYmFmYzNiMmUzM2UyZjQ2YWVjOWY2ZGQ1ZWM5MDAyY2NkM2MgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvVmlkZW9GcmFtZU1ldGFkYXRhLmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL1ZpZGVvRnJhbWVNZXRhZGF0YS5pZGwKQEAgLTI5LDkgKzI5LDggQEAgdHlwZWRl
ZiBkb3VibGUgRE9NSGlnaFJlc1RpbWVTdGFtcDsKICAgICBDb25kaXRpb25hbD1WSURFTywKICAg
ICBKU0dlbmVyYXRlVG9KU09iamVjdCwKIF0gZGljdGlvbmFyeSBWaWRlb0ZyYW1lTWV0YWRhdGEg
ewotICAgIC8vIEZJWE1FOiBleHBvc2UgcHJlc2VudGF0aW9uVGltZSBhbmQgZXhwZWN0ZWREaXNw
bGF5VGltZS4KLSAgICAvLyByZXF1aXJlZCBET01IaWdoUmVzVGltZVN0YW1wIHByZXNlbnRhdGlv
blRpbWU7Ci0gICAgLy8gcmVxdWlyZWQgRE9NSGlnaFJlc1RpbWVTdGFtcCBleHBlY3RlZERpc3Bs
YXlUaW1lOworICAgIHJlcXVpcmVkIERPTUhpZ2hSZXNUaW1lU3RhbXAgcHJlc2VudGF0aW9uVGlt
ZTsKKyAgICByZXF1aXJlZCBET01IaWdoUmVzVGltZVN0YW1wIGV4cGVjdGVkRGlzcGxheVRpbWU7
CiAKICAgICByZXF1aXJlZCB1bnNpZ25lZCBsb25nIHdpZHRoOwogICAgIHJlcXVpcmVkIHVuc2ln
bmVkIGxvbmcgaGVpZ2h0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVmlk
ZW9TYW1wbGVNZXRhZGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVmlkZW9TYW1wbGVN
ZXRhZGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI3ZmNhZjBjOGU3NDVmNTc2NjAzNTE4MDgyNWJmMjkyYTI3
NWNhYzUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WaWRlb1Nh
bXBsZU1ldGFkYXRhLmgKQEAgLTAsMCArMSw3NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25j
ZQorCisjaW5jbHVkZSA8b3B0aW9uYWw+CisjaW5jbHVkZSA8d3RmL1NlY29uZHMuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgVmlkZW9TYW1wbGVNZXRhZGF0YSB7CisgICAgc3Rk
OjpvcHRpb25hbDxkb3VibGU+IHByb2Nlc3NpbmdEdXJhdGlvbjsKKworICAgIHN0ZDo6b3B0aW9u
YWw8U2Vjb25kcz4gY2FwdHVyZVRpbWU7CisgICAgc3RkOjpvcHRpb25hbDxTZWNvbmRzPiByZWNl
aXZlVGltZTsKKyAgICBzdGQ6Om9wdGlvbmFsPHVuc2lnbmVkPiBydHBUaW1lc3RhbXA7CisKKyAg
ICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7Cisg
ICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8VmlkZW9TYW1w
bGVNZXRhZGF0YT4gZGVjb2RlKERlY29kZXImKTsKK307CisKK3RlbXBsYXRlPGNsYXNzIEVuY29k
ZXI+CitpbmxpbmUgdm9pZCBWaWRlb1NhbXBsZU1ldGFkYXRhOjplbmNvZGUoRW5jb2RlciYgZW5j
b2RlcikgY29uc3QKK3sKKyAgICBlbmNvZGVyIDw8IHByb2Nlc3NpbmdEdXJhdGlvbiA8PCBjYXB0
dXJlVGltZSA8PCByZWNlaXZlVGltZSA8PCBydHBUaW1lc3RhbXA7Cit9CisKK3RlbXBsYXRlPGNs
YXNzIERlY29kZXI+CitpbmxpbmUgc3RkOjpvcHRpb25hbDxWaWRlb1NhbXBsZU1ldGFkYXRhPiBW
aWRlb1NhbXBsZU1ldGFkYXRhOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBzdGQ6
Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8ZG91YmxlPj4gcHJvY2Vzc2luZ0R1cmF0aW9uOworICAg
IGRlY29kZXIgPj4gcHJvY2Vzc2luZ0R1cmF0aW9uOworICAgIGlmICghcHJvY2Vzc2luZ0R1cmF0
aW9uKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgc3RkOjpvcHRpb25hbDxz
dGQ6Om9wdGlvbmFsPFNlY29uZHM+PiBjYXB0dXJlVGltZTsKKyAgICBkZWNvZGVyID4+IGNhcHR1
cmVUaW1lOworICAgIGlmICghY2FwdHVyZVRpbWUpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxv
cHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8U2Vjb25kcz4+IHJlY2VpdmVU
aW1lOworICAgIGRlY29kZXIgPj4gcmVjZWl2ZVRpbWU7CisgICAgaWYgKCFyZWNlaXZlVGltZSkK
KyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0aW9uYWw8c3RkOjpv
cHRpb25hbDx1bnNpZ25lZD4+IHJ0cFRpbWVzdGFtcDsKKyAgICBkZWNvZGVyID4+IHJ0cFRpbWVz
dGFtcDsKKyAgICBpZiAoIXJ0cFRpbWVzdGFtcCkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9w
dDsKKworICAgIHJldHVybiBWaWRlb1NhbXBsZU1ldGFkYXRhIHsgKnByb2Nlc3NpbmdEdXJhdGlv
biwgKmNhcHR1cmVUaW1lLCAqcmVjZWl2ZVRpbWUsICpydHBUaW1lc3RhbXAgfTsKK30KKworfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZh
dGVNZWRpYVN0cmVhbUFWRk9iakMuaAppbmRleCBhZmVlYzc3NTk4YTVlMWY3NDE1Y2Y1MmNjM2Y2
YzE5ZTY4NWIwYjMyLi4xNDg3NGYyYWUzMWIwYzE1ZDM1ZmEzZTEwMTdiZjM2MmMyNDcyZGQyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
b2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVNZWRpYVN0cmVhbUFWRk9iakMuaApAQCAtMTM2LDcgKzEzNiw3IEBAIHByaXZhdGU6CiAK
ICAgICB2b2lkIGZsdXNoUmVuZGVyZXJzKCk7CiAKLSAgICB2b2lkIHByb2Nlc3NOZXdWaWRlb1Nh
bXBsZShNZWRpYVNhbXBsZSYsIGJvb2wgaGFzQ2hhbmdlZE9yaWVudGF0aW9uKTsKKyAgICB2b2lk
IHByb2Nlc3NOZXdWaWRlb1NhbXBsZShNZWRpYVNhbXBsZSYsIGJvb2wgaGFzQ2hhbmdlZE9yaWVu
dGF0aW9uLCBWaWRlb1NhbXBsZU1ldGFkYXRhLCBTZWNvbmRzKTsKICAgICB2b2lkIGVucXVldWVW
aWRlb1NhbXBsZShNZWRpYVNhbXBsZSYpOwogICAgIHZvaWQgcmVxdWVzdE5vdGlmaWNhdGlvbldo
ZW5SZWFkeUZvclZpZGVvRGF0YSgpOwogCkBAIC0yMDgsNyArMjA4LDcgQEAgcHJpdmF0ZToKICAg
ICB2b2lkIHJlYWR5U3RhdGVDaGFuZ2VkKE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlJikgb3ZlcnJp
ZGU7CiAKICAgICAvLyBSZWFsdGltZU1lZGlhU291Y2U6OlZpZGVvU2FtcGxlT2JzZXJ2ZXIKLSAg
ICB2b2lkIHZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxlJikgZmluYWw7CisgICAgdm9p
ZCB2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYsIFZpZGVvU2FtcGxlTWV0YWRhdGEp
IGZpbmFsOwogCiAgICAgUmV0YWluUHRyPFBsYXRmb3JtTGF5ZXI+IGNyZWF0ZVZpZGVvRnVsbHNj
cmVlbkxheWVyKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBzZXRWaWRlb0Z1bGxzY3JlZW5MYXllcihQ
bGF0Zm9ybUxheWVyKiwgRnVuY3Rpb248dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKSBvdmVy
cmlkZTsKQEAgLTI4Myw2ICsyODMsOCBAQCBwcml2YXRlOgogCiAgICAgdWludDY0X3QgbV9zYW1w
bGVDb3VudCB7IDAgfTsKICAgICB1aW50NjRfdCBtX2xhc3RWaWRlb0ZyYW1lTWV0YWRhdGFTYW1w
bGVDb3VudCB7IDAgfTsKKyAgICBTZWNvbmRzIG1fcHJlc2VudGF0aW9uVGltZSB7IDAgfTsKKyAg
ICBWaWRlb1NhbXBsZU1ldGFkYXRhIG1fc2FtcGxlTWV0YWRhdGE7CiB9OwogICAgIAogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRl
TWVkaWFTdHJlYW1BVkZPYmpDLm1tCmluZGV4IDdiYjIyZGJjYzA0ZTIxNDJhYzI2NTVkNjI0YjBl
OTdkZWI4MjlhMGQuLjAxNmI0Y2Y5MmRjOGI0MDE3NzMxMmE2MDI4OTUyNDI3NGU5NWI5MzAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW0KQEAgLTI0NCw5ICsyNDQsMTAgQEAgc3RhdGljIGlu
bGluZSBDR0FmZmluZVRyYW5zZm9ybSB2aWRlb1RyYW5zZm9ybWF0aW9uTWF0cml4KE1lZGlhU2Ft
cGxlJiBzYW1wbGUpCiAgICAgcmV0dXJuIHZpZGVvVHJhbnNmb3JtOwogfQogCi12b2lkIE1lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQzo6dmlkZW9TYW1wbGVBdmFpbGFibGUoTWVk
aWFTYW1wbGUmIHNhbXBsZSkKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZP
YmpDOjp2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYgc2FtcGxlLCBWaWRlb1NhbXBs
ZU1ldGFkYXRhIG1ldGFkYXRhKQogewotICAgIHByb2Nlc3NOZXdWaWRlb1NhbXBsZShzYW1wbGUs
IHNhbXBsZS52aWRlb1JvdGF0aW9uKCkgIT0gbV92aWRlb1JvdGF0aW9uIHx8IHNhbXBsZS52aWRl
b01pcnJvcmVkKCkgIT0gbV92aWRlb01pcnJvcmVkKTsKKyAgICBhdXRvIHByZXNlbnRhdGlvblRp
bWUgPSBNb25vdG9uaWNUaW1lOjpub3coKS5zZWNvbmRzU2luY2VFcG9jaCgpOworICAgIHByb2Nl
c3NOZXdWaWRlb1NhbXBsZShzYW1wbGUsIHNhbXBsZS52aWRlb1JvdGF0aW9uKCkgIT0gbV92aWRl
b1JvdGF0aW9uIHx8IHNhbXBsZS52aWRlb01pcnJvcmVkKCkgIT0gbV92aWRlb01pcnJvcmVkLCBt
ZXRhZGF0YSwgcHJlc2VudGF0aW9uVGltZSk7CiAgICAgZW5xdWV1ZVZpZGVvU2FtcGxlKHNhbXBs
ZSk7CiB9CiAKQEAgLTI3NiwxNCArMjc3LDE0IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTdHJlYW1BVkZPYmpDOjplbnF1ZXVlVmlkZW9TYW1wbGUoTWVkaWFTYW1wbGUmIHNhbXBsCiAg
ICAgbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXItPmVucXVldWVTYW1wbGUoc2FtcGxlKTsKIH0K
IAotdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OnByb2Nlc3NOZXdW
aWRlb1NhbXBsZShNZWRpYVNhbXBsZSYgc2FtcGxlLCBib29sIGhhc0NoYW5nZWRPcmllbnRhdGlv
bikKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjpwcm9jZXNzTmV3
VmlkZW9TYW1wbGUoTWVkaWFTYW1wbGUmIHNhbXBsZSwgYm9vbCBoYXNDaGFuZ2VkT3JpZW50YXRp
b24sIFZpZGVvU2FtcGxlTWV0YWRhdGEgbWV0YWRhdGEsIFNlY29uZHMgcHJlc2VudGF0aW9uVGlt
ZSkKIHsKICAgICBpZiAoIWlzTWFpblRocmVhZCgpKSB7CiAgICAgICAgIHsKICAgICAgICAgICAg
IExvY2tlciBsb2NrZXIgeyBtX2N1cnJlbnRWaWRlb1NhbXBsZUxvY2sgfTsKICAgICAgICAgICAg
IG1fY3VycmVudFZpZGVvU2FtcGxlID0gJnNhbXBsZTsKICAgICAgICAgfQotICAgICAgICBjYWxs
T25NYWluVGhyZWFkKFt3ZWFrVGhpcyA9IFdlYWtQdHIgeyAqdGhpcyB9LCBoYXNDaGFuZ2VkT3Jp
ZW50YXRpb25dKCkgbXV0YWJsZSB7CisgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW3dlYWtUaGlz
ID0gV2Vha1B0ciB7ICp0aGlzIH0sIGhhc0NoYW5nZWRPcmllbnRhdGlvbiwgbWV0YWRhdGEsIHBy
ZXNlbnRhdGlvblRpbWVdKCkgbXV0YWJsZSB7CiAgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQog
ICAgICAgICAgICAgICAgIHJldHVybjsKIApAQCAtMjk4LDcgKzI5OSw3IEBAIHZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjpwcm9jZXNzTmV3VmlkZW9TYW1wbGUoTWVk
aWFTYW1wbGUmIHNhCiAgICAgICAgICAgICBpZiAoIXNhbXBsZSkKICAgICAgICAgICAgICAgICBy
ZXR1cm47CiAKLSAgICAgICAgICAgIHdlYWtUaGlzLT5wcm9jZXNzTmV3VmlkZW9TYW1wbGUoKnNh
bXBsZSwgaGFzQ2hhbmdlZE9yaWVudGF0aW9uKTsKKyAgICAgICAgICAgIHdlYWtUaGlzLT5wcm9j
ZXNzTmV3VmlkZW9TYW1wbGUoKnNhbXBsZSwgaGFzQ2hhbmdlZE9yaWVudGF0aW9uLCBtZXRhZGF0
YSwgcHJlc2VudGF0aW9uVGltZSk7CiAgICAgICAgIH0pOwogICAgICAgICByZXR1cm47CiAgICAg
fQpAQCAtMzE2LDYgKzMxNyw4IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1B
VkZPYmpDOjpwcm9jZXNzTmV3VmlkZW9TYW1wbGUoTWVkaWFTYW1wbGUmIHNhCiAgICAgICAgICAg
ICB1cGRhdGVSZWFkeVN0YXRlKCk7CiAgICAgfQogCisgICAgbV9wcmVzZW50YXRpb25UaW1lID0g
cHJlc2VudGF0aW9uVGltZTsKKyAgICBtX3NhbXBsZU1ldGFkYXRhID0gbWV0YWRhdGE7CiAgICAg
KyttX3NhbXBsZUNvdW50OwogCiAgICAgaWYgKG1fZGlzcGxheU1vZGUgIT0gTGl2ZVByZXZpZXcg
JiYgIW1fd2FpdGluZ0ZvckZpcnN0SW1hZ2UpCkBAIC0xMTA2LDggKzExMDksMTQgQEAgc3RkOjpv
cHRpb25hbDxWaWRlb0ZyYW1lTWV0YWRhdGE+IE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFt
QVZGT2JqQzo6dmlkZW9GcmEKICAgICBtZXRhZGF0YS53aWR0aCA9IG1faW50cmluc2ljU2l6ZS53
aWR0aCgpOwogICAgIG1ldGFkYXRhLmhlaWdodCA9IG1faW50cmluc2ljU2l6ZS5oZWlnaHQoKTsK
ICAgICBtZXRhZGF0YS5wcmVzZW50ZWRGcmFtZXMgPSBtX3NhbXBsZUNvdW50OwotCi0gICAgLy8g
RklYTUU6IEl0IHdvdWxkIGJlIGdvb2QgdG8gZXhwb3NlIG1vcmUgdmlkZW8gZnJhbWUgbWV0YWRh
dGEuCisgICAgbWV0YWRhdGEucHJlc2VudGF0aW9uVGltZSA9IG1fcHJlc2VudGF0aW9uVGltZS5z
ZWNvbmRzKCk7CisgICAgbWV0YWRhdGEuZXhwZWN0ZWREaXNwbGF5VGltZSA9IG1fcHJlc2VudGF0
aW9uVGltZS5zZWNvbmRzKCk7CisgICAgbWV0YWRhdGEucHJvY2Vzc2luZ0R1cmF0aW9uID0gbV9z
YW1wbGVNZXRhZGF0YS5wcm9jZXNzaW5nRHVyYXRpb247CisgICAgaWYgKG1fc2FtcGxlTWV0YWRh
dGEuY2FwdHVyZVRpbWUpCisgICAgICAgIG1ldGFkYXRhLmNhcHR1cmVUaW1lID0gbV9zYW1wbGVN
ZXRhZGF0YS5jYXB0dXJlVGltZS0+c2Vjb25kcygpOworICAgIGlmIChtX3NhbXBsZU1ldGFkYXRh
LnJlY2VpdmVUaW1lKQorICAgICAgICBtZXRhZGF0YS5yZWNlaXZlVGltZSA9IG1fc2FtcGxlTWV0
YWRhdGEucmVjZWl2ZVRpbWUtPnNlY29uZHMoKTsKKyAgICBtZXRhZGF0YS5ydHBUaW1lc3RhbXAg
PSBtX3NhbXBsZU1ldGFkYXRhLnJ0cFRpbWVzdGFtcDsKIAogICAgIHJldHVybiBtZXRhZGF0YTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVk
aWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmNwcAppbmRleCBmOTVkOGYw
MWFmYWViNDhhZWI4MDFhMzYyZWU0NjQxYjI2MjQ0MWMzLi4zMDAzMDk3NDY4ODc2ZmU0MjdjYjdj
ZjYwYjVmNDM3ZGZiZTFlYzFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRklt
cGwuY3BwCkBAIC04Myw3ICs4Myw3IEBAIHZvaWQgTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBs
OjpzdGFydFJlY29yZGluZyhTdGFydFJlY29yZGluZ0NhbGxiYWNrJiYgY2FsbGJhCiAgICAgY2Fs
bGJhY2soU3RyaW5nKG1fd3JpdGVyLT5taW1lVHlwZSgpKSwgbV93cml0ZXItPmF1ZGlvQml0UmF0
ZSgpLCBtX3dyaXRlci0+dmlkZW9CaXRSYXRlKCkpOwogfQogCi12b2lkIE1lZGlhUmVjb3JkZXJQ
cml2YXRlQVZGSW1wbDo6dmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmIHNhbXBsZUJ1
ZmZlcikKK3ZvaWQgTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsOjp2aWRlb1NhbXBsZUF2YWls
YWJsZShNZWRpYVNhbXBsZSYgc2FtcGxlQnVmZmVyLCBWaWRlb1NhbXBsZU1ldGFkYXRhKQogewog
ICAgIGlmIChzaG91bGRNdXRlVmlkZW8oKSkgewogICAgICAgICBpZiAoIW1fYmxhY2tGcmFtZSkg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRp
YVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
cmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmgKaW5kZXggMzhiOTRmOWU0ZWFj
NGRmNDM1YWMwMjNkMjgzMDUwNDNlMWI5MjcyNC4uMDFjMDRmNzA2NDVlNTVmNWVjODRkNWU3YTMy
MmI5MjBmYTVhYzJiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFy
ZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbC5oCkBA
IC00OSw3ICs0OSw3IEBAIHByaXZhdGU6CiAgICAgZXhwbGljaXQgTWVkaWFSZWNvcmRlclByaXZh
dGVBVkZJbXBsKFJlZjxNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcj4mJik7CiAKICAgICAvLyBN
ZWRpYVJlY29yZGVyUHJpdmF0ZQotICAgIHZvaWQgdmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFT
YW1wbGUmKSBmaW5hbDsKKyAgICB2b2lkIHZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxl
JiwgVmlkZW9TYW1wbGVNZXRhZGF0YSkgZmluYWw7CiAgICAgdm9pZCBmZXRjaERhdGEoRmV0Y2hE
YXRhQ2FsbGJhY2smJikgZmluYWw7CiAgICAgdm9pZCBhdWRpb1NhbXBsZXNBdmFpbGFibGUoY29u
c3QgTWVkaWFUaW1lJiwgY29uc3QgUGxhdGZvcm1BdWRpb0RhdGEmLCBjb25zdCBBdWRpb1N0cmVh
bURlc2NyaXB0aW9uJiwgc2l6ZV90KSBmaW5hbDsKICAgICB2b2lkIHN0YXJ0UmVjb3JkaW5nKFN0
YXJ0UmVjb3JkaW5nQ2FsbGJhY2smJikgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlTW9jay5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRl
TW9jay5jcHAKaW5kZXggMWVmYTcwYjkwNTEwZGJmZWEzNzEzOWRiOWZhOGM2MDE2ZDRjNTM0Ni4u
YzI1ZGY5MTU3NGE2NWJjNDFiZGI3MDY3OGRjNDc3MjQ4MzZkZDE0NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZU1v
Y2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFS
ZWNvcmRlclByaXZhdGVNb2NrLmNwcApAQCAtNjcsNyArNjcsNyBAQCB2b2lkIE1lZGlhUmVjb3Jk
ZXJQcml2YXRlTW9jazo6cmVzdW1lUmVjb3JkaW5nKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4m
JiBjb21wbAogICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiB9CiAKLXZvaWQgTWVkaWFSZWNvcmRl
clByaXZhdGVNb2NrOjp2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYpCit2b2lkIE1l
ZGlhUmVjb3JkZXJQcml2YXRlTW9jazo6dmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUm
LCBWaWRlb1NhbXBsZU1ldGFkYXRhKQogewogICAgIExvY2tlciBsb2NrZXIgeyBtX2J1ZmZlckxv
Y2sgfTsKICAgICBtX2J1ZmZlci5hcHBlbmQoIlZpZGVvIFRyYWNrIElEOiAiKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclBy
aXZhdGVNb2NrLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlh
UmVjb3JkZXJQcml2YXRlTW9jay5oCmluZGV4IGQ0ODRiMmZjZWExZTg0YWVlOWJmODFlMGRlMjYy
NzQyZmQyMjkyZjcuLmNjNzhkZTZkNTY5MDYxNTg0YTQxMjAyY2UxNmZmNTJlMWFkMTFhYTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNv
cmRlclByaXZhdGVNb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNv
cmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZU1vY2suaApAQCAtNDIsNyArNDIsNyBAQCBwdWJsaWM6
CiAKIHByaXZhdGU6CiAgICAgLy8gTWVkaWFSZWNvcmRlclByaXZhdGUKLSAgICB2b2lkIHZpZGVv
U2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxlJikgZmluYWw7CisgICAgdm9pZCB2aWRlb1NhbXBs
ZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYsIFZpZGVvU2FtcGxlTWV0YWRhdGEpIGZpbmFsOwogICAg
IHZvaWQgZmV0Y2hEYXRhKEZldGNoRGF0YUNhbGxiYWNrJiYpIGZpbmFsOwogICAgIHZvaWQgYXVk
aW9TYW1wbGVzQXZhaWxhYmxlKGNvbnN0IE1lZGlhVGltZSYsIGNvbnN0IFBsYXRmb3JtQXVkaW9E
YXRhJiwgY29uc3QgQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYsIHNpemVfdCkgZmluYWw7CiAgICAg
dm9pZCBzdG9wUmVjb3JkaW5nKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJikgZmluYWw7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZUlu
Y29taW5nVmlkZW9Tb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlLmNwcAppbmRleCA0YWMzNzNlNmVlYjhiMDc5
ZWMzN2QxYjgyZmJkZWRhMzE0OGE5M2E0Li40N2UwMmYxZWYyNjY5NjZlNjk4NGRiNjlmZTYwMzEx
YTE4ZGQ3MTUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZS5jcHAKQEAgLTEw
NCw2ICsxMDQsMjAgQEAgdm9pZCBSZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2U6OnNldHRpbmdz
RGlkQ2hhbmdlKE9wdGlvblNldDxSZWFsdGltZU1lZGlhU291cmMKICAgICAgICAgbV9jdXJyZW50
U2V0dGluZ3MgPSBzdGQ6Om51bGxvcHQ7CiB9CiAKK1ZpZGVvU2FtcGxlTWV0YWRhdGEgUmVhbHRp
bWVJbmNvbWluZ1ZpZGVvU291cmNlOjptZXRhZGF0YUZyb21WaWRlb0ZyYW1lKGNvbnN0IHdlYnJ0
Yzo6VmlkZW9GcmFtZSYgZnJhbWUpCit7CisgICAgVmlkZW9TYW1wbGVNZXRhZGF0YSBtZXRhZGF0
YTsKKyAgICBpZiAoZnJhbWUubnRwX3RpbWVfbXMoKSA+IDApCisgICAgICAgIG1ldGFkYXRhLmNh
cHR1cmVUaW1lID0gU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhmcmFtZS5udHBfdGltZV9tcygp
KTsKKyAgICBpZiAoaXNJbkJvdW5kczx1aW50MzJfdD4oZnJhbWUudGltZXN0YW1wKCkpKQorICAg
ICAgICBtZXRhZGF0YS5ydHBUaW1lc3RhbXAgPSBmcmFtZS50aW1lc3RhbXAoKTsKKyAgICBhdXRv
IGxhc3RQYWNrZXRUaW1lc3RhbXAgPSBzdGQ6Om1heF9lbGVtZW50KGZyYW1lLnBhY2tldF9pbmZv
cygpLmNiZWdpbigpLCBmcmFtZS5wYWNrZXRfaW5mb3MoKS5jZW5kKCksIFtdKGNvbnN0IGF1dG8m
IGEsIGNvbnN0IGF1dG8mIGIpIHsKKyAgICAgICAgcmV0dXJuIGEucmVjZWl2ZV90aW1lKCkgPCBi
LnJlY2VpdmVfdGltZSgpOworICAgIH0pOworICAgIG1ldGFkYXRhLnJlY2VpdmVUaW1lID0gU2Vj
b25kczo6ZnJvbU1pY3Jvc2Vjb25kcyhsYXN0UGFja2V0VGltZXN0YW1wLT5yZWNlaXZlX3RpbWUo
KS51cygpKTsKKyAgICByZXR1cm4gbWV0YWRhdGE7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKIAogI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2UuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lSW5jb21pbmdWaWRlb1Nv
dXJjZS5oCmluZGV4IDY4YmMwZjdjOTFlYjBmNTI2MjBhNzkyMTdjMjQxMTQxYTdlYTRhMzQuLmYx
YjIyZmJmNWNkMzBmNjVmNjZjYTFlZWYwZTE5ZTUwMjMzZDliY2MgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJj
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lSW5j
b21pbmdWaWRlb1NvdXJjZS5oCkBAIC02Miw3ICs2Miw5IEBAIHByb3RlY3RlZDoKICNpZiAhUkVM
RUFTRV9MT0dfRElTQUJMRUQKICAgICBjb25zdCBjaGFyKiBsb2dDbGFzc05hbWUoKSBjb25zdCBm
aW5hbCB7IHJldHVybiAiUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlIjsgfQogI2VuZGlmCi0g
ICAgCisKKyAgICBzdGF0aWMgVmlkZW9TYW1wbGVNZXRhZGF0YSBtZXRhZGF0YUZyb21WaWRlb0Zy
YW1lKGNvbnN0IHdlYnJ0Yzo6VmlkZW9GcmFtZSYpOworCiBwcml2YXRlOgogICAgIC8vIFJlYWx0
aW1lTWVkaWFTb3VyY2UgQVBJCiAgICAgdm9pZCBzdGFydFByb2R1Y2luZ0RhdGEoKSBmaW5hbDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1l
TWVkaWFTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVh
bHRpbWVNZWRpYVNvdXJjZS5jcHAKaW5kZXggNGNhYzI1NzNlNmYxOTk4YTI4Y2Y4MmM2NjczMjBk
ZDQ3ZWFlYmE1Ni4uM2FmOWFmMTczOWZhOGViOThkYjQ0Y2ZhZDA3ZTU1NmQzOGMxOWE0YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRp
YVNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVh
bHRpbWVNZWRpYVNvdXJjZS5jcHAKQEAgLTE5MSw3ICsxOTEsNyBAQCB2b2lkIFJlYWx0aW1lTWVk
aWFTb3VyY2U6OnVwZGF0ZUhhc1N0YXJ0ZWRQcm9kdWNpbmdEYXRhKCkKICAgICB9KTsKIH0KIAot
dm9pZCBSZWFsdGltZU1lZGlhU291cmNlOjp2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBs
ZSYgbWVkaWFTYW1wbGUpCit2b2lkIFJlYWx0aW1lTWVkaWFTb3VyY2U6OnZpZGVvU2FtcGxlQXZh
aWxhYmxlKE1lZGlhU2FtcGxlJiBtZWRpYVNhbXBsZSwgVmlkZW9TYW1wbGVNZXRhZGF0YSBtZXRh
ZGF0YSkKIHsKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAgICArK21fZnJhbWVDb3VudDsK
QEAgLTIxMSw3ICsyMTEsNyBAQCB2b2lkIFJlYWx0aW1lTWVkaWFTb3VyY2U6OnZpZGVvU2FtcGxl
QXZhaWxhYmxlKE1lZGlhU2FtcGxlJiBtZWRpYVNhbXBsZSkKIAogICAgIExvY2tlciBsb2NrZXIg
eyBtX3ZpZGVvU2FtcGxlT2JzZXJ2ZXJzTG9jayB9OwogICAgIGZvciAoYXV0byogb2JzZXJ2ZXIg
OiBtX3ZpZGVvU2FtcGxlT2JzZXJ2ZXJzKQotICAgICAgICBvYnNlcnZlci0+dmlkZW9TYW1wbGVB
dmFpbGFibGUobWVkaWFTYW1wbGUpOworICAgICAgICBvYnNlcnZlci0+dmlkZW9TYW1wbGVBdmFp
bGFibGUobWVkaWFTYW1wbGUsIG1ldGFkYXRhKTsKIH0KIAogdm9pZCBSZWFsdGltZU1lZGlhU291
cmNlOjphdWRpb1NhbXBsZXNBdmFpbGFibGUoY29uc3QgTWVkaWFUaW1lJiB0aW1lLCBjb25zdCBQ
bGF0Zm9ybUF1ZGlvRGF0YSYgYXVkaW9EYXRhLCBjb25zdCBBdWRpb1N0cmVhbURlc2NyaXB0aW9u
JiBkZXNjcmlwdGlvbiwgc2l6ZV90IG51bWJlck9mRnJhbWVzKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZS5oCmlu
ZGV4IGRlY2Q5MDc5NjdiMzlhZTllYTY1YjI3MWU2NTM2OTNiNjRmNGViNmYuLmM5NTkyMzRmNjU4
YTUyNjc0MGJkNzgwZGQ5OWE0NzA0NzljYzE1OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2UuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlLmgKQEAgLTQy
LDYgKzQyLDcgQEAKICNpbmNsdWRlICJQbGF0Zm9ybUxheWVyLmgiCiAjaW5jbHVkZSAiUmVhbHRp
bWVNZWRpYVNvdXJjZUNhcGFiaWxpdGllcy5oIgogI2luY2x1ZGUgIlJlYWx0aW1lTWVkaWFTb3Vy
Y2VGYWN0b3J5LmgiCisjaW5jbHVkZSAiVmlkZW9TYW1wbGVNZXRhZGF0YS5oIgogI2luY2x1ZGUg
PHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgogI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVk
ZSA8d3RmL0xvZ2dlckhlbHBlci5oPgpAQCAtMTAyLDcgKzEwMyw3IEBAIHB1YmxpYzoKICAgICAg
ICAgdmlydHVhbCB+VmlkZW9TYW1wbGVPYnNlcnZlcigpID0gZGVmYXVsdDsKIAogICAgICAgICAv
LyBNYXkgYmUgY2FsbGVkIG9uIGEgYmFja2dyb3VuZCB0aHJlYWQuCi0gICAgICAgIHZpcnR1YWwg
dm9pZCB2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYpID0gMDsKKyAgICAgICAgdmly
dHVhbCB2b2lkIHZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxlJiwgVmlkZW9TYW1wbGVN
ZXRhZGF0YSkgPSAwOwogICAgIH07CiAKICAgICB2aXJ0dWFsIH5SZWFsdGltZU1lZGlhU291cmNl
KCkgPSBkZWZhdWx0OwpAQCAtMjQ0LDcgKzI0NSw3IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIGlu
aXRpYWxpemVTYW1wbGVSYXRlKGludCBzYW1wbGVSYXRlKSB7IG1fc2FtcGxlUmF0ZSA9IHNhbXBs
ZVJhdGU7IH0KICAgICB2b2lkIGluaXRpYWxpemVFY2hvQ2FuY2VsbGF0aW9uKGJvb2wgZWNob0Nh
bmNlbGxhdGlvbikgeyBtX2VjaG9DYW5jZWxsYXRpb24gPSBlY2hvQ2FuY2VsbGF0aW9uOyB9CiAK
LSAgICB2b2lkIHZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxlJik7CisgICAgdm9pZCB2
aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYsIFZpZGVvU2FtcGxlTWV0YWRhdGEpOwog
ICAgIHZvaWQgYXVkaW9TYW1wbGVzQXZhaWxhYmxlKGNvbnN0IE1lZGlhVGltZSYsIGNvbnN0IFBs
YXRmb3JtQXVkaW9EYXRhJiwgY29uc3QgQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYsIHNpemVfdCk7
CiAKICAgICB2b2lkIGZvckVhY2hPYnNlcnZlcihjb25zdCBGdW5jdGlvbjx2b2lkKE9ic2VydmVy
Jik+Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9S
ZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL1JlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZS5oCmluZGV4IDgyZTQ0NTBjMmU3
NzM3OWNmMDViM2VjNjE2YWFjYmRjZDhiYWYyN2MuLmVkYjY3YWRmMmFkZjcwY2I4NzNiNGZmNjZh
Mjc2ODE0NTUxMWU3MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL1JlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZS5oCkBAIC0x
MzUsNyArMTM1LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHRyYWNrRW5kZWQoTWVkaWFTdHJlYW1U
cmFja1ByaXZhdGUmKSBmaW5hbCB7IH0KIAogICAgIC8vIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlZp
ZGVvU2FtcGxlT2JzZXJ2ZXIgQVBJCi0gICAgdm9pZCB2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRp
YVNhbXBsZSYpIG92ZXJyaWRlIHsgfQorICAgIHZvaWQgdmlkZW9TYW1wbGVBdmFpbGFibGUoTWVk
aWFTYW1wbGUmLCBWaWRlb1NhbXBsZU1ldGFkYXRhKSBvdmVycmlkZSB7IH0KIAogICAgIFJlZjxN
ZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZT4gbV92aWRlb1NvdXJjZTsKICAgICBUaW1lciBtX2JsYWNr
RnJhbWVUaW1lcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL1JlYWx0aW1lVmlkZW9DYXB0dXJlU291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lVmlkZW9DYXB0dXJlU291cmNlLmNwcAppbmRleCA4Njg2
YmFjNGYxNjEyNjYwOGM5ZjE1MmE2MmUxMDRlM2RiNzI1NzQ1Li44ZWE2MTQ3MjFkMzAyM2E4YmIx
MjA0YmQ5MTgyZjYwNDI2YjQxNjlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9SZWFsdGltZVZpZGVvQ2FwdHVyZVNvdXJjZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVWaWRlb0NhcHR1cmVTb3VyY2Uu
Y3BwCkBAIC0zODYsNyArMzg2LDcgQEAgdm9pZCBSZWFsdGltZVZpZGVvQ2FwdHVyZVNvdXJjZTo6
c2V0U2l6ZUFuZEZyYW1lUmF0ZShzdGQ6Om9wdGlvbmFsPGludD4gd2lkdGgsIHMKICAgICBzZXRG
cmFtZVJhdGUobWF0Y2gtPnJlcXVlc3RlZEZyYW1lUmF0ZSk7CiB9CiAKLXZvaWQgUmVhbHRpbWVW
aWRlb0NhcHR1cmVTb3VyY2U6OmRpc3BhdGNoTWVkaWFTYW1wbGVUb09ic2VydmVycyhNZWRpYVNh
bXBsZSYgc2FtcGxlKQordm9pZCBSZWFsdGltZVZpZGVvQ2FwdHVyZVNvdXJjZTo6ZGlzcGF0Y2hN
ZWRpYVNhbXBsZVRvT2JzZXJ2ZXJzKE1lZGlhU2FtcGxlJiBzYW1wbGUsIFdlYkNvcmU6OlZpZGVv
U2FtcGxlTWV0YWRhdGEgbWV0YWRhdGEpCiB7CiAgICAgTWVkaWFUaW1lIHNhbXBsZVRpbWUgPSBz
YW1wbGUucHJlc2VudGF0aW9uVGltZSgpOwogCkBAIC00MDAsNyArNDAwLDcgQEAgdm9pZCBSZWFs
dGltZVZpZGVvQ2FwdHVyZVNvdXJjZTo6ZGlzcGF0Y2hNZWRpYVNhbXBsZVRvT2JzZXJ2ZXJzKE1l
ZGlhU2FtcGxlJiBzYW0KICAgICBpZiAoaW50ZXJ2YWwgPiAxKQogICAgICAgICBtX29ic2VydmVk
RnJhbWVSYXRlID0gKG1fb2JzZXJ2ZWRGcmFtZVRpbWVTdGFtcHMuc2l6ZSgpIC8gaW50ZXJ2YWwp
OwogCi0gICAgdmlkZW9TYW1wbGVBdmFpbGFibGUoc2FtcGxlKTsKKyAgICB2aWRlb1NhbXBsZUF2
YWlsYWJsZShzYW1wbGUsIG1ldGFkYXRhKTsKIH0KIAogdm9pZCBSZWFsdGltZVZpZGVvQ2FwdHVy
ZVNvdXJjZTo6Y2xpZW50VXBkYXRlZFNpemVBbmRGcmFtZVJhdGUoc3RkOjpvcHRpb25hbDxpbnQ+
IHdpZHRoLCBzdGQ6Om9wdGlvbmFsPGludD4gaGVpZ2h0LCBzdGQ6Om9wdGlvbmFsPGRvdWJsZT4g
ZnJhbWVSYXRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vUmVhbHRpbWVWaWRlb0NhcHR1cmVTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL1JlYWx0aW1lVmlkZW9DYXB0dXJlU291cmNlLmgKaW5kZXggN2MyMGI2MWFm
Nzk3MjFkMjg2MzllMWRlZmMxYTVjY2UzMTQyNGUyMC4uODUzYjBiMjgzZTkwMWEwYmE0Yzk1OGYx
ZGQ3NWRhODZhNGYzOTEzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vUmVhbHRpbWVWaWRlb0NhcHR1cmVTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZVZpZGVvQ2FwdHVyZVNvdXJjZS5oCkBAIC03
Miw3ICs3Miw3IEBAIHByb3RlY3RlZDoKIAogICAgIHZvaWQgdXBkYXRlQ2FwYWJpbGl0aWVzKFJl
YWx0aW1lTWVkaWFTb3VyY2VDYXBhYmlsaXRpZXMmKTsKIAotICAgIHZvaWQgZGlzcGF0Y2hNZWRp
YVNhbXBsZVRvT2JzZXJ2ZXJzKE1lZGlhU2FtcGxlJik7CisgICAgdm9pZCBkaXNwYXRjaE1lZGlh
U2FtcGxlVG9PYnNlcnZlcnMoTWVkaWFTYW1wbGUmLCBXZWJDb3JlOjpWaWRlb1NhbXBsZU1ldGFk
YXRhKTsKICAgICBjb25zdCBWZWN0b3I8SW50U2l6ZT4mIHN0YW5kYXJkVmlkZW9TaXplcygpOwog
CiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9SZWFsdGltZVZpZGVvU291cmNlLmNwcAppbmRleCBmMDcxNzlkZDMzNDY2NGEzY2I2
NDFiYTFlMzM3MDViMTgzNzUxZTZjLi4yNzliNzU4Y2VmNzZmMjY0Yzk5ZTc0N2Q5M2NlNGVjZTE4
MmRiNTMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9S
ZWFsdGltZVZpZGVvU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9SZWFsdGltZVZpZGVvU291cmNlLmNwcApAQCAtMTc5LDcgKzE3OSw3IEBAIFJlZlB0
cjxNZWRpYVNhbXBsZT4gUmVhbHRpbWVWaWRlb1NvdXJjZTo6YWRhcHRWaWRlb1NhbXBsZShNZWRp
YVNhbXBsZSYgc2FtcGxlKQogfQogI2VuZGlmCiAKLXZvaWQgUmVhbHRpbWVWaWRlb1NvdXJjZTo6
dmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmIHNhbXBsZSkKK3ZvaWQgUmVhbHRpbWVW
aWRlb1NvdXJjZTo6dmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmIHNhbXBsZSwgVmlk
ZW9TYW1wbGVNZXRhZGF0YSBtZXRhZGF0YSkKIHsKICAgICBpZiAobV9mcmFtZURlY2ltYXRpb24g
PiAxICYmICsrbV9mcmFtZURlY2ltYXRpb25Db3VudGVyICUgbV9mcmFtZURlY2ltYXRpb24pCiAg
ICAgICAgIHJldHVybjsKQEAgLTE5MywxMyArMTkzLDEzIEBAIHZvaWQgUmVhbHRpbWVWaWRlb1Nv
dXJjZTo6dmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmIHNhbXBsZSkKICAgICBhdXRv
IHNpemUgPSB0aGlzLT5zaXplKCk7CiAgICAgaWYgKCFzaXplLmlzRW1wdHkoKSAmJiBzaXplICE9
IGV4cGFuZGVkSW50U2l6ZShzYW1wbGUucHJlc2VudGF0aW9uU2l6ZSgpKSkgewogICAgICAgICBp
ZiAoYXV0byBtZWRpYVNhbXBsZSA9IGFkYXB0VmlkZW9TYW1wbGUoc2FtcGxlKSkgewotICAgICAg
ICAgICAgUmVhbHRpbWVNZWRpYVNvdXJjZTo6dmlkZW9TYW1wbGVBdmFpbGFibGUoKm1lZGlhU2Ft
cGxlKTsKKyAgICAgICAgICAgIFJlYWx0aW1lTWVkaWFTb3VyY2U6OnZpZGVvU2FtcGxlQXZhaWxh
YmxlKCptZWRpYVNhbXBsZSwgbWV0YWRhdGEpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICB9CiAgICAgfQogI2VuZGlmCiAKLSAgICBSZWFsdGltZU1lZGlhU291cmNlOjp2aWRlb1NhbXBs
ZUF2YWlsYWJsZShzYW1wbGUpOworICAgIFJlYWx0aW1lTWVkaWFTb3VyY2U6OnZpZGVvU2FtcGxl
QXZhaWxhYmxlKHNhbXBsZSwgbWV0YWRhdGEpOwogfQogCiBSZWY8UmVhbHRpbWVNZWRpYVNvdXJj
ZT4gUmVhbHRpbWVWaWRlb1NvdXJjZTo6Y2xvbmUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVWaWRlb1NvdXJjZS5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVWaWRlb1NvdXJjZS5oCmluZGV4IDNl
MThjZTVmZjU3NThhMmQwNjY3NWMyYmY5N2U2NjNmNTk5ZGU1NWIuLmY5NWI3MDI2YWZmZGJmYjlk
ZGVmNjc3NmZlMzBiZTMzNjczODEwNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lVmlkZW9Tb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZVZpZGVvU291cmNlLmgKQEAgLTcyLDcgKzcy
LDcgQEAgcHJpdmF0ZToKICAgICBib29sIHByZXZlbnRTb3VyY2VGcm9tU3RvcHBpbmcoKSBmaW5h
bDsKIAogICAgIC8vIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlZpZGVvU2FtcGxlT2JzZXJ2ZXIKLSAg
ICB2b2lkIHZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxlJikgZmluYWw7CisgICAgdm9p
ZCB2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYsIFZpZGVvU2FtcGxlTWV0YWRhdGEp
IGZpbmFsOwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgUmVmUHRyPE1lZGlhU2FtcGxlPiBh
ZGFwdFZpZGVvU2FtcGxlKE1lZGlhU2FtcGxlJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9jb2NvYS9EaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29hLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2NvY29hL0Rpc3BsYXlDYXB0
dXJlU291cmNlQ29jb2EuY3BwCmluZGV4IDczYWRiNzE2YTczYWIxOTFkMGQzYTJmNjEzYzRhMmNk
YmFhMjIwYTcuLjA0MmRkOWJiZTlhODEyOTNlZGM2MGY3MmFjNGJmODU0MjE3Yzg3ZDIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2NvY29hL0Rpc3BsYXlD
YXB0dXJlU291cmNlQ29jb2EuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL2NvY29hL0Rpc3BsYXlDYXB0dXJlU291cmNlQ29jb2EuY3BwCkBAIC0yMjAsNyArMjIw
LDggQEAgdm9pZCBEaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29hOjplbWl0RnJhbWUoKQogICAgIGlm
ICghbV9pbWFnZVRyYW5zZmVyU2Vzc2lvbikKICAgICAgICAgbV9pbWFnZVRyYW5zZmVyU2Vzc2lv
biA9IEltYWdlVHJhbnNmZXJTZXNzaW9uVlQ6OmNyZWF0ZShwcmVmZXJlZFBpeGVsQnVmZmVyRm9y
bWF0KCkpOwogCi0gICAgYXV0byBzYW1wbGVUaW1lID0gTWVkaWFUaW1lOjpjcmVhdGVXaXRoRG91
YmxlKChlbGFwc2VkVGltZSgpICsgMTAwX21zKS5zZWNvbmRzKCkpOworICAgIGF1dG8gZWxhcHNl
ZFRpbWUgPSB0aGlzLT5lbGFwc2VkVGltZSgpOworICAgIGF1dG8gc2FtcGxlVGltZSA9IE1lZGlh
VGltZTo6Y3JlYXRlV2l0aERvdWJsZSgoZWxhcHNlZFRpbWUgKyAxMDBfbXMpLnNlY29uZHMoKSk7
CiAKICAgICBhdXRvIGZyYW1lID0gbV9jYXB0dXJlci0+Z2VuZXJhdGVGcmFtZSgpOwogICAgIGF1
dG8gaW1hZ2VTaXplID0gV1RGOjpzd2l0Y2hPbihmcmFtZSwKQEAgLTI4Miw3ICsyODMsOSBAQCB2
b2lkIERpc3BsYXlDYXB0dXJlU291cmNlQ29jb2E6OmVtaXRGcmFtZSgpCiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKLSAgICB2aWRlb1NhbXBsZUF2YWlsYWJsZSgqc2FtcGxlLmdldCgpKTsKKyAg
ICBWaWRlb1NhbXBsZU1ldGFkYXRhIG1ldGFkYXRhOworICAgIG1ldGFkYXRhLmNhcHR1cmVUaW1l
ID0gTW9ub3RvbmljVGltZTo6bm93KCkuc2Vjb25kc1NpbmNlRXBvY2goKTsKKyAgICB2aWRlb1Nh
bXBsZUF2YWlsYWJsZSgqc2FtcGxlLmdldCgpLCBtZXRhZGF0YSk7CiB9CiAKIHZvaWQgRGlzcGxh
eUNhcHR1cmVTb3VyY2VDb2NvYTo6c2V0TG9nZ2VyKGNvbnN0IExvZ2dlciYgbG9nZ2VyLCBjb25z
dCB2b2lkKiBpZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vZ3N0cmVhbWVyL0dTdHJlYW1lck1lZGlhU3RyZWFtU291cmNlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9HU3RyZWFtZXJNZWRp
YVN0cmVhbVNvdXJjZS5jcHAKaW5kZXggZDMyMWRiZjY1MzY3MjEzZDczMDNiNDU0OTIzOWNlMDY5
NDBjOTY0MC4uNjIwYTZiMTVjODIyMjI3OWYxYjg4MTM3YWU4NGUzYTk1Nzk3ODljMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL0dTdHJl
YW1lck1lZGlhU3RyZWFtU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9nc3RyZWFtZXIvR1N0cmVhbWVyTWVkaWFTdHJlYW1Tb3VyY2UuY3BwCkBAIC0y
NjIsNyArMjYyLDcgQEAgcHVibGljOgogICAgICAgICB9CiAgICAgfQogCi0gICAgdm9pZCB2aWRl
b1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYgc2FtcGxlKSBmaW5hbAorICAgIHZvaWQgdmlk
ZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmIHNhbXBsZSwgVmlkZW9TYW1wbGVNZXRhZGF0
YSkgZmluYWwKICAgICB7CiAgICAgICAgIGlmICghbV9wYXJlbnQpCiAgICAgICAgICAgICByZXR1
cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3Ry
ZWFtZXIvTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2VHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL01vY2tSZWFsdGltZVZpZGVvU291cmNl
R1N0cmVhbWVyLmNwcAppbmRleCA3MzAzNTRjZjFmYTk4ZTczMmI4NWVjMmUzYTMzMGQ0NGQxN2Iz
MjQ1Li5mYzY3YmQ1NWFlZmE2ZDU2ZDYwY2Q3Mjg5YTZiMzdkMTMzZDUwOTdiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIvTW9ja1JlYWx0
aW1lVmlkZW9Tb3VyY2VHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL2dzdHJlYW1lci9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZUdTdHJlYW1lci5j
cHAKQEAgLTg4LDkgKzg4LDkgQEAgdm9pZCBNb2NrRGlzcGxheUNhcHR1cmVTb3VyY2VHU3RyZWFt
ZXI6OnJlcXVlc3RUb0VuZChPYnNlcnZlciYgY2FsbGluZ09ic2VydmVyKQogICAgIG1fc291cmNl
LT5yZXF1ZXN0VG9FbmQoY2FsbGluZ09ic2VydmVyKTsKIH0KIAotdm9pZCBNb2NrRGlzcGxheUNh
cHR1cmVTb3VyY2VHU3RyZWFtZXI6OnZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxlJiBz
YW1wbGUpCit2b2lkIE1vY2tEaXNwbGF5Q2FwdHVyZVNvdXJjZUdTdHJlYW1lcjo6dmlkZW9TYW1w
bGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmIHNhbXBsZSwgVmlkZW9TYW1wbGVNZXRhZGF0YSBtZXRh
ZGF0YSkKIHsKLSAgICBSZWFsdGltZU1lZGlhU291cmNlOjp2aWRlb1NhbXBsZUF2YWlsYWJsZShz
YW1wbGUpOworICAgIFJlYWx0aW1lTWVkaWFTb3VyY2U6OnZpZGVvU2FtcGxlQXZhaWxhYmxlKHNh
bXBsZSwgbWV0YWRhdGEpOwogfQogCiBjb25zdCBSZWFsdGltZU1lZGlhU291cmNlQ2FwYWJpbGl0
aWVzJiBNb2NrRGlzcGxheUNhcHR1cmVTb3VyY2VHU3RyZWFtZXI6OmNhcGFiaWxpdGllcygpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIv
TW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2VHU3RyZWFtZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZUdTdHJlYW1l
ci5oCmluZGV4IDkyNjUzZTBkNmQ1NWRkMmFmMGVhMTMyNTVhNWYxMmMxNGUyMDY0YjQuLmVhNDVi
NWU3ZDNkYTI0NjA1MzBiNWZjMzQ4OTRmYTIzNDM4MmVjZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9Nb2NrUmVhbHRpbWVWaWRlb1Nv
dXJjZUdTdHJlYW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L2dzdHJlYW1lci9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZUdTdHJlYW1lci5oCkBAIC00OCw3ICs0
OCw3IEBAIHB1YmxpYzoKIAogcHJvdGVjdGVkOgogICAgIC8vIFJlYWx0aW1lTWVkaWFTb3VyY2U6
OlZpZGVvU2FtcGxlT2JzZXJ2ZXIKLSAgICB2b2lkIHZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlh
U2FtcGxlJikgZmluYWw7CisgICAgdm9pZCB2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBs
ZSYsIFZpZGVvU2FtcGxlTWV0YWRhdGEpIGZpbmFsOwogCiBwcml2YXRlOgogICAgIE1vY2tEaXNw
bGF5Q2FwdHVyZVNvdXJjZUdTdHJlYW1lcihSZWY8TW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2VHU3Ry
ZWFtZXI+JiYsIENhcHR1cmVEZXZpY2U6OkRldmljZVR5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL2dzdHJlYW1lci9SZWFsdGlt
ZUluY29taW5nVmlkZW9Tb3VyY2VMaWJXZWJSVEMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL2dzdHJlYW1lci9SZWFsdGltZUluY29taW5nVmlkZW9T
b3VyY2VMaWJXZWJSVEMuY3BwCmluZGV4IGU2OWZjMjc4ZjQ5NWY1OGFlOTBjOTVkNTBlYTZlODU2
NGVhMDUzYTAuLjNkZTAyMzU2MGJkNTA4YTQ2ZjY5Mjk5MzdjODIwMjJkYWMxODYwYWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9nc3Ry
ZWFtZXIvUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlTGliV2ViUlRDLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvZ3N0cmVhbWVyL1JlYWx0
aW1lSW5jb21pbmdWaWRlb1NvdXJjZUxpYldlYlJUQy5jcHAKQEAgLTYxLDcgKzYxLDcgQEAgdm9p
ZCBSZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VMaWJXZWJSVEM6Ok9uRnJhbWUoY29uc3Qgd2Vi
cnRjOjpWaWRlb0ZyYW1lJiBmcmEKICAgICBjYWxsT25NYWluVGhyZWFkKFtwcm90ZWN0ZWRUaGlz
ID0gUmVmIHsgKnRoaXMgfSwgZnJhbWVdIHsKICAgICAgICAgYXV0byBnc3RTYW1wbGUgPSBHU3Ry
ZWFtZXJTYW1wbGVGcm9tTGliV2ViUlRDVmlkZW9GcmFtZShmcmFtZSk7CiAgICAgICAgIGF1dG8g
c2FtcGxlID0gTWVkaWFTYW1wbGVHU3RyZWFtZXI6OmNyZWF0ZShXVEZNb3ZlKGdzdFNhbXBsZSks
IHsgfSwgeyB9KTsKLSAgICAgICAgcHJvdGVjdGVkVGhpcy0+dmlkZW9TYW1wbGVBdmFpbGFibGUo
c2FtcGxlLmdldCgpKTsKKyAgICAgICAgcHJvdGVjdGVkVGhpcy0+dmlkZW9TYW1wbGVBdmFpbGFi
bGUoc2FtcGxlLmdldCgpLCB7IH0pOwogICAgIH0pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvZ3N0cmVhbWVyL1JlYWx0aW1l
T3V0Z29pbmdWaWRlb1NvdXJjZUxpYldlYlJUQy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvZ3N0cmVhbWVyL1JlYWx0aW1lT3V0Z29pbmdWaWRlb1Nv
dXJjZUxpYldlYlJUQy5jcHAKaW5kZXggYzEyNGQ0YjM0NWZhYzVjNjhiMTRmOGY2YTU4OTQ4ZGU2
OGVlY2M4Yy4uMzk4Mzg4YjJkYjQ5NzFiNThkMWYxY2ZlOWU0NzE3MjIwMDlhNWQ1NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL2dzdHJl
YW1lci9SZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VMaWJXZWJSVEMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9nc3RyZWFtZXIvUmVhbHRp
bWVPdXRnb2luZ1ZpZGVvU291cmNlTGliV2ViUlRDLmNwcApAQCAtNTAsNyArNTAsNyBAQCBSZWFs
dGltZU91dGdvaW5nVmlkZW9Tb3VyY2VMaWJXZWJSVEM6OlJlYWx0aW1lT3V0Z29pbmdWaWRlb1Nv
dXJjZUxpYldlYlJUQyhSZWY8TQogewogfQogCi12b2lkIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1Nv
dXJjZUxpYldlYlJUQzo6dmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmIHNhbXBsZSkK
K3ZvaWQgUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlTGliV2ViUlRDOjp2aWRlb1NhbXBsZUF2
YWlsYWJsZShNZWRpYVNhbXBsZSYgc2FtcGxlLCBWaWRlb1NhbXBsZU1ldGFkYXRhKQogewogICAg
IHN3aXRjaCAoc2FtcGxlLnZpZGVvUm90YXRpb24oKSkgewogICAgIGNhc2UgTWVkaWFTYW1wbGU6
OlZpZGVvUm90YXRpb246Ok5vbmU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvZ3N0cmVhbWVyL1JlYWx0aW1lT3V0Z29pbmdWaWRlb1Nv
dXJjZUxpYldlYlJUQy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGli
d2VicnRjL2dzdHJlYW1lci9SZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VMaWJXZWJSVEMuaApp
bmRleCAwMGM1MDlhMWJjMDgxZjU5NDYwMmFjMDI3NzQ4ZmRmMTJiNTEzMDg0Li43NjY4MGU2ZjYy
ZDk2Mzc2ZWYwY2Y0Y2Q0ZDExNDBkOTNkODgyZWUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvZ3N0cmVhbWVyL1JlYWx0aW1lT3V0Z29p
bmdWaWRlb1NvdXJjZUxpYldlYlJUQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL2xpYndlYnJ0Yy9nc3RyZWFtZXIvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNl
TGliV2ViUlRDLmgKQEAgLTQyLDcgKzQyLDcgQEAgcHJpdmF0ZToKICAgICBydGM6OnNjb3BlZF9y
ZWZwdHI8d2VicnRjOjpWaWRlb0ZyYW1lQnVmZmVyPiBjcmVhdGVCbGFja0ZyYW1lKHNpemVfdCwg
c2l6ZV90KSBmaW5hbDsKIAogICAgIC8vIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlZpZGVvU2FtcGxl
T2JzZXJ2ZXIgQVBJCi0gICAgdm9pZCB2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYp
IGZpbmFsOworICAgIHZvaWQgdmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmLCBWaWRl
b1NhbXBsZU1ldGFkYXRhKSBmaW5hbDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVlZpZGVv
Q2FwdHVyZVNvdXJjZS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21h
Yy9BVlZpZGVvQ2FwdHVyZVNvdXJjZS5tbQppbmRleCA4NzA0Y2IxZjk4YzgzZmUyMDRiNWY5M2Y0
YmJhNTkzNDlhN2U0YzU4Li4yZGRkN2M3YWFiZTcwMDk1OTk4YjcyYjMwZGY0NGJlMDkyNzU3ZjFk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZW
aWRlb0NhcHR1cmVTb3VyY2UubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vbWFjL0FWVmlkZW9DYXB0dXJlU291cmNlLm1tCkBAIC01NzAsNyArNTcwLDkgQEAgdm9p
ZCBBVlZpZGVvQ2FwdHVyZVNvdXJjZTo6Y2FwdHVyZU91dHB1dERpZE91dHB1dFNhbXBsZUJ1ZmZl
ckZyb21Db25uZWN0aW9uKEFWQ2EKICAgICBhdXRvIHNhbXBsZSA9IE1lZGlhU2FtcGxlQVZGT2Jq
Qzo6Y3JlYXRlKHNhbXBsZUJ1ZmZlciwgbV9zYW1wbGVSb3RhdGlvbiwgW2NhcHR1cmVDb25uZWN0
aW9uIGlzVmlkZW9NaXJyb3JlZF0pOwogICAgIG1fYnVmZmVyID0gJnNhbXBsZS5nZXQoKTsKICAg
ICBzZXRJbnRyaW5zaWNTaXplKGV4cGFuZGVkSW50U2l6ZShzYW1wbGUtPnByZXNlbnRhdGlvblNp
emUoKSkpOwotICAgIGRpc3BhdGNoTWVkaWFTYW1wbGVUb09ic2VydmVycyhXVEZNb3ZlKHNhbXBs
ZSkpOworICAgIFZpZGVvU2FtcGxlTWV0YWRhdGEgbWV0YWRhdGE7CisgICAgbWV0YWRhdGEuY2Fw
dHVyZVRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKS5zZWNvbmRzU2luY2VFcG9jaCgpOworICAg
IGRpc3BhdGNoTWVkaWFTYW1wbGVUb09ic2VydmVycyhXVEZNb3ZlKHNhbXBsZSksIG1ldGFkYXRh
KTsKIH0KIAogdm9pZCBBVlZpZGVvQ2FwdHVyZVNvdXJjZTo6Y2FwdHVyZVNlc3Npb25Jc1J1bm5p
bmdEaWRDaGFuZ2UoYm9vbCBzdGF0ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL21hYy9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZU1hYy5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJj
ZU1hYy5tbQppbmRleCAxZjU5NjkxY2M1NGIwYjYyZmI4NDkwMDgyMTY2OTcwY2UzY2RjNDU5Li5m
ZDE5NGU2MTlhNDRiODgxMWRjYjE3ZTAwNDY3MWY0NDUzNWU3YTk3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvTW9ja1JlYWx0aW1lVmlkZW9Tb3Vy
Y2VNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL01v
Y2tSZWFsdGltZVZpZGVvU291cmNlTWFjLm1tCkBAIC05OSw4ICs5OSwxMSBAQCB2b2lkIE1vY2tS
ZWFsdGltZVZpZGVvU291cmNlTWFjOjp1cGRhdGVTYW1wbGVCdWZmZXIoKQogICAgIGlmICghc2Ft
cGxlQnVmZmVyKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX3dvcmtRdWV1ZS0+ZGlzcGF0Y2go
W3RoaXMsIHByb3RlY3RlZFRoaXMgPSBSZWYgeyAqdGhpcyB9LCBzYW1wbGVCdWZmZXIgPSBXVEZN
b3ZlKHNhbXBsZUJ1ZmZlcildKCkgbXV0YWJsZSB7Ci0gICAgICAgIGRpc3BhdGNoTWVkaWFTYW1w
bGVUb09ic2VydmVycygqc2FtcGxlQnVmZmVyKTsKKyAgICBhdXRvIGNhcHR1cmVUaW1lID0gTW9u
b3RvbmljVGltZTo6bm93KCkuc2Vjb25kc1NpbmNlRXBvY2goKTsKKyAgICBtX3dvcmtRdWV1ZS0+
ZGlzcGF0Y2goW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBSZWYgeyAqdGhpcyB9LCBzYW1wbGVCdWZm
ZXIgPSBXVEZNb3ZlKHNhbXBsZUJ1ZmZlciksIGNhcHR1cmVUaW1lXSgpIG11dGFibGUgeworICAg
ICAgICBWaWRlb1NhbXBsZU1ldGFkYXRhIG1ldGFkYXRhOworICAgICAgICBtZXRhZGF0YS5jYXB0
dXJlVGltZSA9IGNhcHR1cmVUaW1lOworICAgICAgICBkaXNwYXRjaE1lZGlhU2FtcGxlVG9PYnNl
cnZlcnMoKnNhbXBsZUJ1ZmZlciwgbWV0YWRhdGEpOwogICAgIH0pOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWlu
Z1ZpZGVvU291cmNlQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9tYWMvUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlQ29jb2EubW0KaW5kZXggOWVjYTZmNzdj
N2Y0NDI5YzI1YmEyNmVhYmRkNjEwZDAyZmJhYjM4NC4uOWYwNjcwYzIwYjhhNGI4YjI3NDZhMjgw
YzM3MTM0NjgzY2I3ZWUxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29hLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5nVmlk
ZW9Tb3VyY2VDb2NvYS5tbQpAQCAtMTk2LDcgKzE5Niw4IEBAIHZvaWQgUmVhbHRpbWVJbmNvbWlu
Z1ZpZGVvU291cmNlQ29jb2E6Ok9uRnJhbWUoY29uc3Qgd2VicnRjOjpWaWRlb0ZyYW1lJiBmcmFt
ZSkKICAgICBhdXRvIHNhbXBsZSA9IGFkb3B0Q0Yoc2FtcGxlQnVmZmVyKTsKIAogICAgIHNldElu
dHJpbnNpY1NpemUoSW50U2l6ZSh3aWR0aCwgaGVpZ2h0KSk7Ci0gICAgdmlkZW9TYW1wbGVBdmFp
bGFibGUoTWVkaWFTYW1wbGVBVkZPYmpDOjpjcmVhdGUoc2FtcGxlLmdldCgpLCByb3RhdGlvbikp
OworCisgICAgdmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGVBVkZPYmpDOjpjcmVhdGUo
c2FtcGxlLmdldCgpLCByb3RhdGlvbiksIG1ldGFkYXRhRnJvbVZpZGVvRnJhbWUoZnJhbWUpKTsK
IH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29h
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91
dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5jcHAKaW5kZXggZTMzYmI2ZGE5ZGRkZDAxYTAwZDk5NmZk
OWVmMDJhYzk4MTRhMWViNS4uNThjNmJkZTQzNDY2ZWQzOGM3N2JlNjc1YTJiNzIxMjNkNzJlNzEy
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1Jl
YWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2Eu
Y3BwCkBAIC02MSw3ICs2MSw3IEBAIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hOjpS
ZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYShSZWY8TWVkaWFTdHJlCiB7CiB9CiAKLXZv
aWQgUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2E6OnZpZGVvU2FtcGxlQXZhaWxhYmxl
KE1lZGlhU2FtcGxlJiBzYW1wbGUpCit2b2lkIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNv
Y29hOjp2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYgc2FtcGxlLCBWaWRlb1NhbXBs
ZU1ldGFkYXRhKQogewogI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAogICAgIGlmICghKCsrbV9u
dW1iZXJPZkZyYW1lcyAlIDYwKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdWaWRl
b1NvdXJjZUNvY29hLmgKaW5kZXggNzcxM2VkMGMxNTlhMTlhMjM1NDlhOGU2M2NmMTc5MTM0ODdj
Y2Q4MC4uYmY3ZWYzMmE1M2RjYTExYTY1ZjhhYzg2ZTE5ZDU0ZmU4ZTU4MjNhMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29p
bmdWaWRlb1NvdXJjZUNvY29hLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLmgKQEAgLTQ1LDcgKzQ1
LDcgQEAgcHJpdmF0ZToKICAgICBydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpWaWRlb0ZyYW1l
QnVmZmVyPiBjcmVhdGVCbGFja0ZyYW1lKHNpemVfdCB3aWR0aCwgc2l6ZV90IGhlaWdodCkgZmlu
YWw7CiAKICAgICAvLyBSZWFsdGltZU1lZGlhU291cmNlOjpWaWRlb1NhbXBsZU9ic2VydmVyIEFQ
SQotICAgIHZvaWQgdmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmKSBmaW5hbDsKKyAg
ICB2b2lkIHZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxlJiwgVmlkZW9TYW1wbGVNZXRh
ZGF0YSkgZmluYWw7CiAKICAgICBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gY29udmVydFRv
WVVWKENWUGl4ZWxCdWZmZXJSZWYpOwogICAgIFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiBy
b3RhdGVQaXhlbEJ1ZmZlcihDVlBpeGVsQnVmZmVyUmVmLCB3ZWJydGM6OlZpZGVvUm90YXRpb24p
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IGE1ZWNlMDgxMGJmZWU0NjAx
ZDAwZWRjNmJjNWQ3YWRlMDEwNWM3ZDAuLjRiZGQ3YzY1NDVhY2Y3MGZjYjRjNTU3MzM1NGI0Yzlh
ODFhNjE3OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTU0NzcsNyAr
NTQ3Nyw3IEBAIHZvaWQgSW50ZXJuYWxzOjpncmFiTmV4dE1lZGlhU3RyZWFtVHJhY2tGcmFtZShU
cmFja0ZyYW1lUHJvbWlzZSYmIHByb21pc2UpCiAgICAgbV9uZXh0VHJhY2tGcmFtZVByb21pc2Ug
PSBtYWtlVW5pcXVlPFRyYWNrRnJhbWVQcm9taXNlPihXVEZNb3ZlKHByb21pc2UpKTsKIH0KIAot
dm9pZCBJbnRlcm5hbHM6OnZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxlJiBzYW1wbGUp
Cit2b2lkIEludGVybmFsczo6dmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmIHNhbXBs
ZSwgVmlkZW9TYW1wbGVNZXRhZGF0YSkKIHsKICAgICBjYWxsT25NYWluVGhyZWFkKFt0aGlzLCB3
ZWFrVGhpcyA9IFdlYWtQdHIgeyAqdGhpcyB9LCBzYW1wbGUgPSBSZWYgeyBzYW1wbGUgfV0gewog
ICAgICAgICBpZiAoIXdlYWtUaGlzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXgg
MzNiOTY1MjdkM2NjOWNhZmZhYzM4Y2MyZWJiODA5ZDEwNDAyYzNiNC4uOWYzYzNiNGM0NmY1Yjc3
ZGRkZTFjMmE1NDQwMTc2YTk5OGJjN2NhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5o
CkBAIC0xMjE5LDcgKzEyMTksNyBAQCBwcml2YXRlOgogCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVB
TSkKICAgICAvLyBSZWFsdGltZU1lZGlhU291cmNlOjpPYnNlcnZlciBBUEkKLSAgICB2b2lkIHZp
ZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxlJikgZmluYWw7CisgICAgdm9pZCB2aWRlb1Nh
bXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYsIFZpZGVvU2FtcGxlTWV0YWRhdGEpIGZpbmFsOwog
ICAgIC8vIFJlYWx0aW1lTWVkaWFTb3VyY2U6OkF1ZGlvU2FtcGxlT2JzZXJ2ZXIgQVBJCiAgICAg
dm9pZCBhdWRpb1NhbXBsZXNBdmFpbGFibGUoY29uc3QgTWVkaWFUaW1lJiwgY29uc3QgUGxhdGZv
cm1BdWRpb0RhdGEmLCBjb25zdCBBdWRpb1N0cmVhbURlc2NyaXB0aW9uJiwgc2l6ZV90KSBmaW5h
bCB7IG1fdHJhY2tBdWRpb1NhbXBsZUNvdW50Kys7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5jcHAgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5
LmNwcAppbmRleCA5OTYyNjg5OTA3YzY3YjVjN2E1NjRkODE1MzI1MWNmNTUzNDdlNWJkLi44MWMw
YWNjYmViNmI3ODk1YTcxMmRkMmI0NDhiODhiY2RlNDNlMDQwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdl
clByb3h5LmNwcApAQCAtMTc5LDcgKzE3OSw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBtX2Nh
cHR1cmVTZW1hcGhvcmUtPnNpZ25hbCgpOwogICAgIH0KIAotICAgIHZvaWQgdmlkZW9TYW1wbGVB
dmFpbGFibGUoTWVkaWFTYW1wbGUmIHNhbXBsZSkgZmluYWwKKyAgICB2b2lkIHZpZGVvU2FtcGxl
QXZhaWxhYmxlKE1lZGlhU2FtcGxlJiBzYW1wbGUsIFZpZGVvU2FtcGxlTWV0YWRhdGEgbWV0YWRh
dGEpIGZpbmFsCiAgICAgewogICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlVmlkZW9TYW1w
bGU+IHJlbW90ZVNhbXBsZTsKICAgICAgICAgaWYgKG1fc2hvdWxkQXBwbHlSb3RhdGlvbiAmJiBz
YW1wbGUudmlkZW9Sb3RhdGlvbigpICE9IE1lZGlhU2FtcGxlOjpWaWRlb1JvdGF0aW9uOjpOb25l
KSB7CkBAIC0xOTIsNyArMTkyLDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIGlmIChtX3dlYlBy
b2Nlc3NJZGVudGl0eVRva2VuKQogICAgICAgICAgICAgICAgIHJlbW90ZVNhbXBsZS0+c2V0T3du
ZXJzaGlwSWRlbnRpdHkoKm1fd2ViUHJvY2Vzc0lkZW50aXR5VG9rZW4pOwogI2VuZGlmCi0gICAg
ICAgICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OlJlbW90ZUNhcHR1cmVTYW1wbGVN
YW5hZ2VyOjpWaWRlb1NhbXBsZUF2YWlsYWJsZShtX2lkLCBXVEZNb3ZlKCpyZW1vdGVTYW1wbGUp
KSwgMCk7CisgICAgICAgICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OlJlbW90ZUNh
cHR1cmVTYW1wbGVNYW5hZ2VyOjpWaWRlb1NhbXBsZUF2YWlsYWJsZShtX2lkLCBXVEZNb3ZlKCpy
ZW1vdGVTYW1wbGUpLCBtZXRhZGF0YSksIDApOwogICAgICAgICB9CiAgICAgfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJp
dmF0ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29y
ZGVyUHJpdmF0ZS5jcHAKaW5kZXggMDc1MTM3Yzc1ZjVlOGQwY2E0NGVmMWQ3ZWJhZWM5NGRmMDRk
NTcwMS4uMTFiNGE4NmU0ODUyZjZjMjA2MWZhM2ZjOWFmMjlmODg5OWY0ZWI5ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZh
dGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVj
b3JkZXJQcml2YXRlLmNwcApAQCAtODksNyArODksNyBAQCBNZWRpYVJlY29yZGVyUHJpdmF0ZTo6
fk1lZGlhUmVjb3JkZXJQcml2YXRlKCkKICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6
OlJlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyOjpSZWxlYXNlUmVjb3JkZXIgeyBtX2lkZW50aWZp
ZXIgfSwgMCk7CiB9CiAKLXZvaWQgTWVkaWFSZWNvcmRlclByaXZhdGU6OnZpZGVvU2FtcGxlQXZh
aWxhYmxlKE1lZGlhU2FtcGxlJiBzYW1wbGUpCit2b2lkIE1lZGlhUmVjb3JkZXJQcml2YXRlOjp2
aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYgc2FtcGxlLCBWaWRlb1NhbXBsZU1ldGFk
YXRhKQogewogICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW1vdGVWaWRlb1NhbXBsZT4gcmVtb3RlU2Ft
cGxlOwogICAgIGlmIChzaG91bGRNdXRlVmlkZW8oKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZhdGUuaCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLmgKaW5k
ZXggNTA4YzZhMmYwMWExZTU3ZTRjYjljMmRmZDFjNjI5YmFlZjAyODJhYi4uMzAzYTU0Zjc2ZjE4
NWU5NjQ1NGVmOWY1YmI0NjFmMjhlMTI2Nzg2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZhdGUuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJpdmF0ZS5oCkBAIC01
Niw3ICs1Niw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICAvLyBXZWJDb3JlOjpNZWRpYVJl
Y29yZGVyUHJpdmF0ZQotICAgIHZvaWQgdmlkZW9TYW1wbGVBdmFpbGFibGUoV2ViQ29yZTo6TWVk
aWFTYW1wbGUmKSBmaW5hbDsKKyAgICB2b2lkIHZpZGVvU2FtcGxlQXZhaWxhYmxlKFdlYkNvcmU6
Ok1lZGlhU2FtcGxlJiwgV2ViQ29yZTo6VmlkZW9TYW1wbGVNZXRhZGF0YSkgZmluYWw7CiAgICAg
dm9pZCBmZXRjaERhdGEoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZWZQdHI8V2ViQ29yZTo6U2hh
cmVkQnVmZmVyPiYmLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBkb3VibGUpPiYmKSBmaW5hbDsK
ICAgICB2b2lkIHN0b3BSZWNvcmRpbmcoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKSBmaW5h
bDsKICAgICB2b2lkIHN0YXJ0UmVjb3JkaW5nKFN0YXJ0UmVjb3JkaW5nQ2FsbGJhY2smJikgZmlu
YWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2Fw
dHVyZVNhbXBsZU1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1Jl
bW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLmNwcAppbmRleCBkN2NlMjBkM2Y0YTQwODNlYjc3MzZj
NTI4YjRjYmM1ZmNlYTAzMDAzLi5iMWVmOGY1NjQ1MmYxZmM2OTFmZWRlNGM0ODQ5YzNiNWIwNmM2
NjkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2Fw
dHVyZVNhbXBsZU1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2Nv
YS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5jcHAKQEAgLTE1MCw3ICsxNTAsNyBAQCB2b2lk
IFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjphdWRpb1N0b3JhZ2VDaGFuZ2VkKFdlYkNvcmU6
OlJlYWx0aW1lTWVkaWFTb3VyYwogICAgIGl0ZXJhdG9yLT52YWx1ZS0+c2V0U3RvcmFnZShpcGNI
YW5kbGUuaGFuZGxlLCBkZXNjcmlwdGlvbiwgbnVtYmVyT2ZGcmFtZXMsIFdURk1vdmUoc2VtYXBo
b3JlKSwgbWVkaWFUaW1lLCBmcmFtZUNodW5rU2l6ZSk7CiB9CiAKLXZvaWQgUmVtb3RlQ2FwdHVy
ZVNhbXBsZU1hbmFnZXI6OnZpZGVvU2FtcGxlQXZhaWxhYmxlKFJlYWx0aW1lTWVkaWFTb3VyY2VJ
ZGVudGlmaWVyIGlkZW50aWZpZXIsIFJlbW90ZVZpZGVvU2FtcGxlJiYgc2FtcGxlKQordm9pZCBS
ZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6dmlkZW9TYW1wbGVBdmFpbGFibGUoUmVhbHRpbWVN
ZWRpYVNvdXJjZUlkZW50aWZpZXIgaWRlbnRpZmllciwgUmVtb3RlVmlkZW9TYW1wbGUmJiBzYW1w
bGUsIFZpZGVvU2FtcGxlTWV0YWRhdGEgbWV0YWRhdGEpCiB7CiAgICAgQVNTRVJUKCFXVEY6Omlz
TWFpblJ1bkxvb3AoKSk7CiAKQEAgLTE1OSw3ICsxNTksNyBAQCB2b2lkIFJlbW90ZUNhcHR1cmVT
YW1wbGVNYW5hZ2VyOjp2aWRlb1NhbXBsZUF2YWlsYWJsZShSZWFsdGltZU1lZGlhU291cmNlSWRl
bnRpZgogICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihXZWJSVEMsICJVbmFibGUgdG8gZmluZCBz
b3VyY2UgJWxsdSBmb3IgcmVtb3RlVmlkZW9TYW1wbGVBdmFpbGFibGUiLCBpZGVudGlmaWVyLnRv
VUludDY0KCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIGl0ZXJhdG9yLT52YWx1ZS0+
dmlkZW9TYW1wbGVBdmFpbGFibGUoV1RGTW92ZShzYW1wbGUpKTsKKyAgICBpdGVyYXRvci0+dmFs
dWUtPnZpZGVvU2FtcGxlQXZhaWxhYmxlKFdURk1vdmUoc2FtcGxlKSwgbWV0YWRhdGEpOwogfQog
CiBSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6UmVtb3RlQXVkaW86OlJlbW90ZUF1ZGlvKFJl
ZjxSZW1vdGVSZWFsdGltZUF1ZGlvU291cmNlPiYmIHNvdXJjZSkKQEAgLTIzMiw3ICsyMzIsNyBA
QCBSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6UmVtb3RlVmlkZW86OlJlbW90ZVZpZGVvKFNv
dXJjZSYmIHNvdXJjZSkKIHsKIH0KIAotdm9pZCBSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6
UmVtb3RlVmlkZW86OnZpZGVvU2FtcGxlQXZhaWxhYmxlKFJlbW90ZVZpZGVvU2FtcGxlJiYgcmVt
b3RlU2FtcGxlKQordm9pZCBSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6UmVtb3RlVmlkZW86
OnZpZGVvU2FtcGxlQXZhaWxhYmxlKFJlbW90ZVZpZGVvU2FtcGxlJiYgcmVtb3RlU2FtcGxlLCBW
aWRlb1NhbXBsZU1ldGFkYXRhIG1ldGFkYXRhKQogewogICAgIGlmICghbV9pbWFnZVRyYW5zZmVy
U2Vzc2lvbiB8fCBtX2ltYWdlVHJhbnNmZXJTZXNzaW9uLT5waXhlbEZvcm1hdCgpICE9IHJlbW90
ZVNhbXBsZS52aWRlb0Zvcm1hdCgpKQogICAgICAgICBtX2ltYWdlVHJhbnNmZXJTZXNzaW9uID0g
SW1hZ2VUcmFuc2ZlclNlc3Npb25WVDo6Y3JlYXRlKHJlbW90ZVNhbXBsZS52aWRlb0Zvcm1hdCgp
KTsKQEAgLTI0OCw5ICsyNDgsOSBAQCB2b2lkIFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpS
ZW1vdGVWaWRlbzo6dmlkZW9TYW1wbGVBdmFpbGFibGUoUmVtb3RlVmlkZW9TYQogICAgICAgICBy
ZXR1cm47CiAgICAgfQogICAgIHN3aXRjaE9uKG1fc291cmNlLCBbJl0oUmVmPFJlbW90ZVJlYWx0
aW1lVmlkZW9Tb3VyY2U+JiBzb3VyY2UpIHsKLSAgICAgICAgc291cmNlLT52aWRlb1NhbXBsZUF2
YWlsYWJsZSgqc2FtcGxlUmVmLCByZW1vdGVTYW1wbGUuc2l6ZSgpKTsKKyAgICAgICAgc291cmNl
LT52aWRlb1NhbXBsZUF2YWlsYWJsZSgqc2FtcGxlUmVmLCByZW1vdGVTYW1wbGUuc2l6ZSgpLCBt
ZXRhZGF0YSk7CiAgICAgfSwgWyZdKFJlZjxSZW1vdGVSZWFsdGltZURpc3BsYXlTb3VyY2U+JiBz
b3VyY2UpIHsKLSAgICAgICAgc291cmNlLT5yZW1vdGVWaWRlb1NhbXBsZUF2YWlsYWJsZSgqc2Ft
cGxlUmVmKTsKKyAgICAgICAgc291cmNlLT5yZW1vdGVWaWRlb1NhbXBsZUF2YWlsYWJsZSgqc2Ft
cGxlUmVmLCBtZXRhZGF0YSk7CiAgICAgfSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5oIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLmgKaW5k
ZXggYjQxM2I4ZTY5NzI5MDNhYmFjYTgyMzNkYjBjYzA2MTgwYThmMzIyYS4uODZmNDkwYjc4MGZl
NDljYTExYTEwNGFmN2I2OWJkMzNlNjhjMTcyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLmgKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLmgKQEAg
LTcwLDcgKzcwLDcgQEAgcHJpdmF0ZToKICAgICAvLyBNZXNzYWdlcwogICAgIHZvaWQgYXVkaW9T
dG9yYWdlQ2hhbmdlZChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlSWRlbnRpZmllciwgY29u
c3QgU2hhcmVkTWVtb3J5OjpJUENIYW5kbGUmLCBjb25zdCBXZWJDb3JlOjpDQUF1ZGlvU3RyZWFt
RGVzY3JpcHRpb24mLCB1aW50NjRfdCBudW1iZXJPZkZyYW1lcywgSVBDOjpTZW1hcGhvcmUmJiwg
Y29uc3QgTWVkaWFUaW1lJiwgc2l6ZV90IGZyYW1lU2FtcGxlU2l6ZSk7CiAgICAgdm9pZCBhdWRp
b1NhbXBsZXNBdmFpbGFibGUoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50aWZpZXIs
IE1lZGlhVGltZSwgdWludDY0X3QgbnVtYmVyT2ZGcmFtZXMpOwotICAgIHZvaWQgdmlkZW9TYW1w
bGVBdmFpbGFibGUoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50aWZpZXIsIFdlYkNv
cmU6OlJlbW90ZVZpZGVvU2FtcGxlJiYpOworICAgIHZvaWQgdmlkZW9TYW1wbGVBdmFpbGFibGUo
V2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50aWZpZXIsIFdlYkNvcmU6OlJlbW90ZVZp
ZGVvU2FtcGxlJiYsIFdlYkNvcmU6OlZpZGVvU2FtcGxlTWV0YWRhdGEpOwogCiAgICAgdm9pZCBz
ZXRDb25uZWN0aW9uKElQQzo6Q29ubmVjdGlvbiopOwogCkBAIC0xMDUsNyArMTA1LDcgQEAgcHJp
dmF0ZToKICAgICAgICAgdXNpbmcgU291cmNlID0gc3RkOjp2YXJpYW50PFJlZjxSZW1vdGVSZWFs
dGltZVZpZGVvU291cmNlPiwgUmVmPFJlbW90ZVJlYWx0aW1lRGlzcGxheVNvdXJjZT4+OwogICAg
ICAgICBleHBsaWNpdCBSZW1vdGVWaWRlbyhTb3VyY2UmJik7CiAKLSAgICAgICAgdm9pZCB2aWRl
b1NhbXBsZUF2YWlsYWJsZShXZWJDb3JlOjpSZW1vdGVWaWRlb1NhbXBsZSYmKTsKKyAgICAgICAg
dm9pZCB2aWRlb1NhbXBsZUF2YWlsYWJsZShXZWJDb3JlOjpSZW1vdGVWaWRlb1NhbXBsZSYmLCBX
ZWJDb3JlOjpWaWRlb1NhbXBsZU1ldGFkYXRhKTsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIFNv
dXJjZSBtX3NvdXJjZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2Nv
YS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5tZXNzYWdlcy5pbgpp
bmRleCA2NmU2OTdkNDcxMDA3ZWU3NTc2NjY1NGMzNWQyM2NiYzg1OTY5MTI5Li44NjUxYjNjZDc5
OWExZjc1NGYyZTgwM2M0Njg4OTBlOGY1YWFmYTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIubWVzc2FnZXMuaW4K
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVN
YW5hZ2VyLm1lc3NhZ2VzLmluCkBAIC0yNSw3ICsyNSw3IEBACiAKIG1lc3NhZ2VzIC0+IFJlbW90
ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyIE5vdFJlZkNvdW50ZWQgewogICAgIEF1ZGlvU3RvcmFnZUNo
YW5nZWQoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50aWZpZXIgaWQsIFdlYktpdDo6
U2hhcmVkTWVtb3J5OjpJUENIYW5kbGUgc3RvcmFnZUhhbmRsZSwgV2ViQ29yZTo6Q0FBdWRpb1N0
cmVhbURlc2NyaXB0aW9uIGRlc2NyaXB0aW9uLCB1aW50NjRfdCBudW1iZXJPZkZyYW1lcywgSVBD
OjpTZW1hcGhvcmUgY2FwdHVyZVNlbWFwaG9yZSwgTWVkaWFUaW1lIG1lZGlhVGltZSwgc2l6ZV90
IGZyYW1lQ2h1bmtTaXplKTsKLSAgICBWaWRlb1NhbXBsZUF2YWlsYWJsZShXZWJDb3JlOjpSZWFs
dGltZU1lZGlhU291cmNlSWRlbnRpZmllciBpZCwgV2ViQ29yZTo6UmVtb3RlVmlkZW9TYW1wbGUg
c2FtcGxlKQorICAgIFZpZGVvU2FtcGxlQXZhaWxhYmxlKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFT
b3VyY2VJZGVudGlmaWVyIGlkLCBXZWJDb3JlOjpSZW1vdGVWaWRlb1NhbXBsZSBzYW1wbGUsIHN0
cnVjdCBXZWJDb3JlOjpWaWRlb1NhbXBsZU1ldGFkYXRhIG1ldGFkYXRhKQogfQogCiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVSZWFsdGlt
ZURpc3BsYXlTb3VyY2UuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVS
ZWFsdGltZURpc3BsYXlTb3VyY2UuaAppbmRleCAwMjY2Zjg3ZDdkNjE0YzYzNDM0N2U5NDVlZDZi
NmViN2I1MjJlMmRiLi4xYThmMjRhNjQwMDdmYmEzZDBkZjc4ZDE5OWMxZDU3ZTllNmE5NmRhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlUmVhbHRpbWVE
aXNwbGF5U291cmNlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90
ZVJlYWx0aW1lRGlzcGxheVNvdXJjZS5oCkBAIC02MSw3ICs2MSw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIGNhcHR1cmVTdG9wcGVkKCk7CiAgICAgdm9pZCBjYXB0dXJlRmFpbGVkKCkgZmluYWw7CiAK
LSAgICB2b2lkIHJlbW90ZVZpZGVvU2FtcGxlQXZhaWxhYmxlKFdlYkNvcmU6Ok1lZGlhU2FtcGxl
JiBzYW1wbGUpIHsgdmlkZW9TYW1wbGVBdmFpbGFibGUoc2FtcGxlKTsgfQorICAgIHZvaWQgcmVt
b3RlVmlkZW9TYW1wbGVBdmFpbGFibGUoV2ViQ29yZTo6TWVkaWFTYW1wbGUmIHNhbXBsZSwgV2Vi
Q29yZTo6VmlkZW9TYW1wbGVNZXRhZGF0YSBtZXRhZGF0YSkgeyB2aWRlb1NhbXBsZUF2YWlsYWJs
ZShzYW1wbGUsIG1ldGFkYXRhKTsgfQogICAgIHZvaWQgc291cmNlTXV0ZWRDaGFuZ2VkKGJvb2wg
dmFsdWUpIHsgbm90aWZ5TXV0ZWRDaGFuZ2UodmFsdWUpOyB9CiAKIHByaXZhdGU6CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlUmVhbHRpbWVWaWRlb1Nv
dXJjZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlUmVhbHRpbWVW
aWRlb1NvdXJjZS5jcHAKaW5kZXggZDY3NmIyMzkwZThhMmZhNmUwOTNkNTM5NmZmYjg1MzYzN2Ez
YWVkZi4uZWNkODZjMGZhNTM1NGVkYjc3MWM2MmY2ZThmYzg5YTFhZWM3YjY4MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90ZVJlYWx0aW1lVmlkZW9Tb3Vy
Y2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVSZWFsdGlt
ZVZpZGVvU291cmNlLmNwcApAQCAtMTEyLDcgKzExMiw3IEBAIHZvaWQgUmVtb3RlUmVhbHRpbWVW
aWRlb1NvdXJjZTo6c2V0U2V0dGluZ3MoUmVhbHRpbWVNZWRpYVNvdXJjZVNldHRpbmdzJiYgc2V0
dGluCiAgICAgbm90aWZ5U2V0dGluZ3NEaWRDaGFuZ2VPYnNlcnZlcnMoY2hhbmdlZCk7CiB9CiAK
LXZvaWQgUmVtb3RlUmVhbHRpbWVWaWRlb1NvdXJjZTo6dmlkZW9TYW1wbGVBdmFpbGFibGUoTWVk
aWFTYW1wbGUmIHNhbXBsZSwgSW50U2l6ZSBzYW1wbGVTaXplKQordm9pZCBSZW1vdGVSZWFsdGlt
ZVZpZGVvU291cmNlOjp2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYgc2FtcGxlLCBJ
bnRTaXplIHNhbXBsZVNpemUsIFZpZGVvU2FtcGxlTWV0YWRhdGEgbWV0YWRhdGEpCiB7CiAgICAg
QVNTRVJUKHR5cGUoKSA9PSBUeXBlOjpWaWRlbyk7CiAKQEAgLTEzMSw3ICsxMzEsNyBAQCB2b2lk
IFJlbW90ZVJlYWx0aW1lVmlkZW9Tb3VyY2U6OnZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2Ft
cGxlJiBzYW1wbGUsIEludFNpegogICAgICAgICAgICAgbm90aWZ5U2V0dGluZ3NEaWRDaGFuZ2VP
YnNlcnZlcnMoeyBSZWFsdGltZU1lZGlhU291cmNlU2V0dGluZ3M6OkZsYWc6OldpZHRoLCBSZWFs
dGltZU1lZGlhU291cmNlU2V0dGluZ3M6OkZsYWc6OkhlaWdodCB9KTsKICAgICAgICAgfSk7CiAg
ICAgfQotICAgIGRpc3BhdGNoTWVkaWFTYW1wbGVUb09ic2VydmVycyhzYW1wbGUpOworICAgIGRp
c3BhdGNoTWVkaWFTYW1wbGVUb09ic2VydmVycyhzYW1wbGUsIG1ldGFkYXRhKTsKIH0KIAogYm9v
bCBSZW1vdGVSZWFsdGltZVZpZGVvU291cmNlOjpzZXRTaG91bGRBcHBseVJvdGF0aW9uKGJvb2wg
c2hvdWxkQXBwbHlSb3RhdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9jb2NvYS9SZW1vdGVSZWFsdGltZVZpZGVvU291cmNlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvY29jb2EvUmVtb3RlUmVhbHRpbWVWaWRlb1NvdXJjZS5oCmluZGV4IGE3ZDIyODNiMzdk
YmJkNDJlNTVmMjQ3OWM2YjI3ZDA5YzcxN2M0NWIuLjMyYThhMTE1NDY0YjBiNjViN2VhZjNiZjBk
YjgxN2ZlMWI4ZjlhOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2Nv
YS9SZW1vdGVSZWFsdGltZVZpZGVvU291cmNlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL2NvY29hL1JlbW90ZVJlYWx0aW1lVmlkZW9Tb3VyY2UuaApAQCAtNjYsNyArNjYsNyBAQCBw
dWJsaWM6CiAgICAgdm9pZCBjYXB0dXJlU3RvcHBlZCgpOwogICAgIHZvaWQgY2FwdHVyZUZhaWxl
ZCgpIGZpbmFsOwogCi0gICAgdm9pZCB2aWRlb1NhbXBsZUF2YWlsYWJsZShXZWJDb3JlOjpNZWRp
YVNhbXBsZSYsIFdlYkNvcmU6OkludFNpemUpOworICAgIHZvaWQgdmlkZW9TYW1wbGVBdmFpbGFi
bGUoV2ViQ29yZTo6TWVkaWFTYW1wbGUmLCBXZWJDb3JlOjpJbnRTaXplLCBXZWJDb3JlOjpWaWRl
b1NhbXBsZU1ldGFkYXRhKTsKICAgICB2b2lkIHNvdXJjZU11dGVkQ2hhbmdlZChib29sIHZhbHVl
KSB7IG5vdGlmeU11dGVkQ2hhbmdlKHZhbHVlKTsgfQogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDE1NGQw
MGUyYWY3MTZlZTJkMjI1MDhkNjc0MGM4MDNjYzdjY2U4ZTkuLjE1MmFlNDc4NGQ2NjBjZmVkODRh
MDYwM2QxZjgyN2UzNmYxZWNiYjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0xMS0xNiAg
WW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQg
Zm9yIG1vcmUgcnZmYyBtZXRhZGF0YQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjMzMTg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAg
ICAgICogcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRm
b3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMS0xMS0xNCAgU2ltb24gRnJhc2Vy
ICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBGaW5nZXJzIGRvd24gb24gdGhl
IHRyYWNrcGFkIHNob3VsZCBzdG9wIGFuIGFuaW1hdGVkIHNjcm9sbApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cKaW5kZXggOWY4Yzk5MDM4NmUxMjkxNzBiOGIxYTZhOWMwZjYxNGE0NmIxZGI2
OS4uYjQyYmI4NTNkYWZjZjBmMjY0ODFjN2E5MDVhOTVlM2U0MzlmNjUyZiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMTEtMTYgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBtb3Jl
IHJ2ZmMgbWV0YWRhdGEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzMzE4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFt
ZS1jYWxsYmFjay13ZWJydGMuaHR0cHMtZXhwZWN0ZWQudHh0OgorCiAyMDIxLTExLTE0ICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CiAKICAgICAgICAgTW9kYWwgZGlhbG9ncyBzaG91bGQg
bWFrZSB0aGUgcm9vdCBlbGVtZW50IHVuZm9jdXNhYmxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRl
by1mcmFtZS1jYWxsYmFjay13ZWJydGMuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8t
ZnJhbWUtY2FsbGJhY2std2VicnRjLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAwZDU0ZDBlYWFl
Nzg4NjQ2ZmIwZGYxMTgyODgyMzFmYjI1NDg3NzdkLi45NzEyM2M2YTU2NWQ1NjFkMjBkMGVkM2I0
MzIxZjVjMzViZDhiZDc4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay13
ZWJydGMuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNr
LXdlYnJ0Yy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAKLUZBSUwgVGVzdCB2
aWRlby5yZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrKCkgcGFyYW1ldGVycyBmb3IgV2ViUlRDIGFw
cGxpY2F0aW9ucy4gYXNzZXJ0X2dyZWF0ZXJfdGhhbjogZXhwZWN0ZWQgYSBudW1iZXIgYnV0IGdv
dCBhICJ1bmRlZmluZWQiCitQQVNTIFRlc3QgdmlkZW8ucmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFj
aygpIHBhcmFtZXRlcnMgZm9yIFdlYlJUQyBhcHBsaWNhdGlvbnMuCiAKIAo=
</data>
<flag name="commit-queue"
          id="469527"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444499</attachid>
            <date>2021-11-17 02:05:46 -0800</date>
            <delta_ts>2021-11-17 02:54:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233185-20211117110538.patch</filename>
            <type>text/plain</type>
            <size>59163</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1Nzk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGUwOWY5NTk5ZDBmNWM4
N2EzNWIyNTRiZjUyNzNhZTZjMzZmZTI4YS4uMTJkYjUzYTBlMmNmNTliMjNlOGZhMTQ1MzkzNTNh
N2EwN2E5YzM5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDIxLTExLTE2ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Ig
bW9yZSBydmZjIG1ldGFkYXRhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzMxODUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBJbnRyb2R1Y2UgVmlkZW9TYW1wbGVNZXRhZGF0YSB0aGF0IGFsbG93cyBhIFJl
YWx0aW1lTWVkaWFTb3VyY2UgdG8gcHJvdmlkZSBtZXRhZGF0YSBmb3IgZWFjaCB2aWRlbyBmcmFt
ZS4KKyAgICAgICAgRmlsbCBWaWRlb1NhbXBsZU1ldGFkYXRhIGZvciBlYWNoIHNvdXJjZSAoY2Fw
dHVyZSBhbmQgV2ViUlRDKQorICAgICAgICBNYWtlIHVzZSBvZiBWaWRlb1NhbXBsZU1ldGFkYXRh
IGluIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQyB0byBmaWxsIFZpZGVvRnJh
bWVNZXRhZGF0YS4KKyAgICAgICAgRW5oYW5jZSBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRp
b25PYmpDIHRvIGZpbGwgaW4gdGhlIG5ld2x5IGV4cG9zZWQgbWV0YWRhdGEgaW4gVmlkZW9GcmFt
ZU1ldGFkYXRhLgorICAgICAgICBVcGRhdGUgSFRNTFZpZGVvRWxlbWVudCB0byBwcm9jZXNzIHRo
ZSB0aW1lc3RhbXAgdmFsdWVzIGFzIG5lZWRlZC4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0
aW5nIHRlc3RzLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9DYW52YXNDYXB0dXJl
TWVkaWFTdHJlYW1UcmFjay5jcHA6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIGh0bWwvSFRNTFZpZGVvRWxlbWVudC5jcHA6CisgICAgICAg
ICogaHRtbC9WaWRlb0ZyYW1lTWV0YWRhdGEuaWRsOgorICAgICAgICAqIHBsYXRmb3JtL1ZpZGVv
U2FtcGxlTWV0YWRhdGEuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVNZWRpYVN0cmVhbUFWRk9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW06
CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFW
RkltcGwuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRl
clByaXZhdGVBVkZJbXBsLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRp
YVJlY29yZGVyUHJpdmF0ZU1vY2suY3BwOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhcmVjb3Jk
ZXIvTWVkaWFSZWNvcmRlclByaXZhdGVNb2NrLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFz
dHJlYW0vUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tZWRpYXN0cmVhbS9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2UuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlLmNwcDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlLmg6CisgICAgICAgICogcGxh
dGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlLmg6CisgICAgICAg
ICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVWaWRlb0NhcHR1cmVTb3VyY2UuY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lVmlkZW9DYXB0dXJlU291cmNl
Lmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVWaWRlb1NvdXJjZS5j
cHA6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVWaWRlb1NvdXJjZS5o
OgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2NvY29hL0Rpc3BsYXlDYXB0dXJlU291
cmNlQ29jb2EuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9H
U3RyZWFtZXJNZWRpYVN0cmVhbVNvdXJjZS5jcHA6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFz
dHJlYW0vbGlid2VicnRjL2dzdHJlYW1lci9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VMaWJX
ZWJSVEMuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9nc3Ry
ZWFtZXIvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlTGliV2ViUlRDLmNwcDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvZ3N0cmVhbWVyL1JlYWx0aW1lT3V0Z29p
bmdWaWRlb1NvdXJjZUxpYldlYlJUQy5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFt
L21hYy9BVlZpZGVvQ2FwdHVyZVNvdXJjZS5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0
cmVhbS9tYWMvTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2VNYWMubW06CisgICAgICAgICogcGxhdGZv
cm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29hLm1tOgor
ICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5nVmlkZW9T
b3VyY2VDb2NvYS5jcHA6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0
aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5h
bHMuY3BwOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisKIDIwMjEtMTEtMTQgIFNp
bW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgRmluZ2VycyBk
b3duIG9uIHRoZSB0cmFja3BhZCBzaG91bGQgc3RvcCBhbiBhbmltYXRlZCBzY3JvbGwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
aW5kZXggNDU4ZGYzOWY1YTNhZTBmZjBhZTIyMjc3ZjFhYTI0ZWJkZGEzY2VkZC4uZGVjNzI5OWJh
MDUxNDJiZGVjODQwZDJiYmE5ODQzM2IwYjYwM2Y5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBA
QAorMjAyMS0xMS0xNiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAg
ICAgQWRkIHN1cHBvcnQgZm9yIG1vcmUgcnZmYyBtZXRhZGF0YQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMTg1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBzdXJlIHRvIHJlY2VpdmUgZnJhbWUg
bWV0YWRhdHMsIHNlbmQgaXQgdGhyb3VnaCBJUEMgdG8gV2ViUHJvY2VzcyBhbmQgcGlwZSBpdCB0
byBtZWRpYSBzb3VyY2Ugb2JzZXJ2ZXJzLgorCisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1Vz
ZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHkuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BV
L3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9H
UFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9j
b2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5jcHA6CisgICAgICAgICogV2ViUHJvY2Vz
cy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5oOgorICAgICAgICAqIFdlYlByb2Nl
c3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIubWVzc2FnZXMuaW46CisgICAgICAg
ICogV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVSZWFsdGltZURpc3BsYXlTb3VyY2UuaDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL2NvY29hL1JlbW90ZVJlYWx0aW1lVmlkZW9Tb3VyY2UuY3BwOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvY29jb2EvUmVtb3RlUmVhbHRpbWVWaWRlb1NvdXJjZS5oOgorCiAy
MDIxLTExLTE0ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBH
ZXQgZGFlbW9uIEFQSSByZWFkeSB0byB3b3JrIGluIHRoZSBpT1Mgc2ltdWxhdG9yIChzdGFydGlu
ZyB3aXRoIFdlYlB1c2hEKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9DYW52YXNDYXB0dXJlTWVkaWFTdHJlYW1UcmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrLmNwcApp
bmRleCA1YzBiNTZjMGYzMjNhNTkyNzcwYTg0ZWJiNGU2OTAxZWQ4Mjg1YTg2Li5lZTU4OTA3Nzcy
MzViNmY0MTdmZDIyNmMzYmZiNWQwOTlhODBkMjdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRp
YVN0cmVhbVRyYWNrLmNwcApAQCAtMTk2LDcgKzE5Niw5IEBAIHZvaWQgQ2FudmFzQ2FwdHVyZU1l
ZGlhU3RyZWFtVHJhY2s6OlNvdXJjZTo6Y2FwdHVyZUNhbnZhcygpCiAgICAgaWYgKCFzYW1wbGUp
CiAgICAgICAgIHJldHVybjsKIAotICAgIHZpZGVvU2FtcGxlQXZhaWxhYmxlKCpzYW1wbGUpOwor
ICAgIFZpZGVvU2FtcGxlTWV0YWRhdGEgbWV0YWRhdGE7CisgICAgbWV0YWRhdGEuY2FwdHVyZVRp
bWUgPSBNb25vdG9uaWNUaW1lOjpub3coKS5zZWNvbmRzU2luY2VFcG9jaCgpOworICAgIHZpZGVv
U2FtcGxlQXZhaWxhYmxlKCpzYW1wbGUsIG1ldGFkYXRhKTsKIH0KIAogUmVmUHRyPE1lZGlhU3Ry
ZWFtVHJhY2s+IENhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrOjpjbG9uZSgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOTk4
MTBlYjgyMDNjY2RhNmI1YzllMzgxNjE0YjYyYmU2ZWYyYTFjYy4uMzg5NWRjNjg2NmZhNGIyNGY0
N2Q1N2QzM2VlNmMzNzVlNGQ2ZmEwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTExNyw2ICsxMTE3LDcgQEAKIAkJNDE1N0VC
RkIxRTNBQjY3RjAwQUM5RkU5IC8qIE1vY2tMaWJXZWJSVENQZWVyQ29ubmVjdGlvbi5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE1N0VCRjgxRTNBQjA2
ODAwQUM5RkU5IC8qIE1vY2tMaWJXZWJSVENQZWVyQ29ubmVjdGlvbi5oICovOyB9OwogCQk0MTU4
NjRBMDIzQkY3Q0JGMDBBMEE2MUUgLyogUmVhbHRpbWVWaWRlb1V0aWxpdGllcy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFEMTkzOEYyMTUyQzU2MTAw
NkYxNENBIC8qIFJlYWx0aW1lVmlkZW9VdGlsaXRpZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTVDREFGNTFFNkI4RjhCMDA0RjExRUUgLyog
Q2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxQzdFMTA2MUU2QTU0MzYwMDI3QjRERSAvKiBDYW52YXND
YXB0dXJlTWVkaWFTdHJlYW1UcmFjay5oICovOyB9OworCQk0MTYwNDkzMzI3NDNCMEU4MDBBODZG
QTAgLyogVmlkZW9TYW1wbGVNZXRhZGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDE2MDQ5MzEyNzQzQjBFNzAwQTg2RkEwIC8qIFZpZGVvU2FtcGxl
TWV0YWRhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQk0MTYxNEE3OTFEQTY0MjQxMDA0QUQwNkYgLyogSFRUUEhlYWRlclZhbHVlcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE2MTRBNzcxREE2NDIz
NjAwNEFEMDZGIC8qIEhUVFBIZWFkZXJWYWx1ZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTYxRTJENTFGRTQ4REM1MDBFQzJFOTYgLyogRmV0
Y2hMb2FkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxNDdFMkI1MUM4OTkxMjYwMEE3RTcxNSAvKiBGZXRjaExvYWRlci5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxNjJBNDUxMTAxMTQ1QUUwMERG
RjNFRCAvKiBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE2MkE0NEUxMDExNDVBRTAwREZGM0VEIC8qIERl
ZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmggKi87IH07CkBAIC04MzMzLDYgKzgzMzQsNyBAQAog
CQk0MTVFMUJCNTIxNTAxMDgxMDAyMkRBOTYgLyogUlRDUnRwQ29udHJpYnV0aW5nU291cmNlLmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSVENSdHBDb250cmlidXRpbmdTb3VyY2UuaWRsOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTVFMUJCNjIxNTAxNTJBMDAyMkRBOTYgLyog
UlRDUnRwU3luY2hyb25pemF0aW9uU291cmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFJUQ1J0cFN5bmNocm9uaXphdGlvblNvdXJjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0MTVFMUJCNzIxNTAxNTMwMDAyMkRBOTYgLyogUlRDUnRwU3luY2hyb25pemF0
aW9uU291cmNlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSVENSdHBTeW5jaHJvbml6YXRp
b25Tb3VyY2UuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTYwNDkzMTI3NDNC
MEU3MDBBODZGQTAgLyogVmlkZW9TYW1wbGVNZXRhZGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBWaWRlb1NhbXBsZU1ldGFkYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQxNjE0QTc2MURBNjQyMzYwMDRBRDA2RiAvKiBIVFRQSGVhZGVyVmFsdWVzLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhUVFBIZWFkZXJWYWx1ZXMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTYxNEE3NzFEQTY0MjM2MDA0QUQw
NkYgLyogSFRUUEhlYWRlclZhbHVlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBIVFRQSGVhZGVyVmFsdWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNjJB
NDREMTAxMTQ1QUUwMERGRjNFRCAvKiBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxT
Y29wZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yOTExMyw2ICsyOTExNSw3
IEBACiAJCQkJNzFDOTE2MDcxRDE0ODNBMzAwQUNBNDdEIC8qIFVzZXJJbnRlcmZhY2VMYXlvdXRE
aXJlY3Rpb24uaCAqLywKIAkJCQk4M0M0NUI4RDFEQzJCNjdDMDA4ODcxQkEgLyogVmFsaWRhdGlv
bkJ1YmJsZS5oICovLAogCQkJCTQxREVFRkI0MjcxOUJBMTkwMENCOEQ3NCAvKiBWaWRlb0ZyYW1l
TWV0YWRhdGEuaCAqLywKKwkJCQk0MTYwNDkzMTI3NDNCMEU3MDBBODZGQTAgLyogVmlkZW9TYW1w
bGVNZXRhZGF0YS5oICovLAogCQkJCTUxNUY3OTUxMUNGQ0EzQzcwMENDRUQ5MyAvKiBXZWJDb3Jl
Q3Jvc3NUaHJlYWRDb3BpZXIuY3BwICovLAogCQkJCTUxNUY3OTUyMUNGQ0EzQzcwMENDRUQ5MyAv
KiBXZWJDb3JlQ3Jvc3NUaHJlYWRDb3BpZXIuaCAqLywKIAkJCQk4MzlBMkYyQjFFMjA0QTZEMDAz
OTA1N0UgLyogV2ViR0xTdGF0ZVRyYWNrZXIuY3BwICovLApAQCAtMzY2ODEsNiArMzY2ODQsNyBA
QAogCQkJCUNERTgzREIyMTgzQzQ0MDYwMDMxRUFBMyAvKiBWaWRlb1BsYXliYWNrUXVhbGl0eS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMDc1MDMzQTgyNTJCRDM2ODAwRjcwQ0UzIC8qIFZpZGVvUGxh
eWJhY2tRdWFsaXR5TWV0cmljcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDc1N0IxM0UyMTRBRTc5
OTAwNzk0QjBEIC8qIFZpZGVvUHJlc2V0LmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTYwNDkzMzI3
NDNCMEU4MDBBODZGQTAgLyogVmlkZW9TYW1wbGVNZXRhZGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQ0RDOTM5QTgxRTlCREZCMTAwQkI3NjhEIC8qIFZpZGVvVG9vbGJveFNvZnRMaW5rLmggaW4g
SGVhZGVycyAqLywKIAkJCQlCRTg4RTBERjE3MTVEMkEyMDA2NThEOTggLyogVmlkZW9UcmFjay5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQ0QxRjlCMTgyNzAyM0EyQTAwNjE3RUI2IC8qIFZpZGVvVHJh
Y2tDbGllbnQuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MVmlkZW9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxl
bWVudC5jcHAKaW5kZXggYmIwNWUyNzYxZjgyZGM5ZGUzMTFkNGNiYTIzNDc5NTE2OTA5YzMyOS4u
YjBkMTQ4M2JiZWM4NmE3ODI3YWY2OTFkODRmZjZhZDcyOTIwY2E5OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwCkBAIC00MSw2ICs0MSw3IEBACiAjaW5jbHVkZSAi
SW1hZ2VCdWZmZXIuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgor
I2luY2x1ZGUgIlBlcmZvcm1hbmNlLmgiCiAjaW5jbHVkZSAiUGljdHVyZUluUGljdHVyZVN1cHBv
cnQuaCIKICNpbmNsdWRlICJSZW5kZXJJbWFnZS5oIgogI2luY2x1ZGUgIlJlbmRlclZpZGVvLmgi
CkBAIC02MDksMTUgKzYxMCwyNyBAQCB2b2lkIEhUTUxWaWRlb0VsZW1lbnQ6OmNhbmNlbFZpZGVv
RnJhbWVDYWxsYmFjayh1bnNpZ25lZCBpZGVudGlmaWVyKQogICAgIG1fdmlkZW9GcmFtZVJlcXVl
c3RzLnJlbW92ZShpbmRleCk7CiB9CiAKK3N0YXRpYyB2b2lkIHByb2Nlc3NWaWRlb0ZyYW1lTWV0
YWRhdGFUaW1lc3RhbXBzKFZpZGVvRnJhbWVNZXRhZGF0YSYgbWV0YWRhdGEsIFBlcmZvcm1hbmNl
JiBwZXJmb3JtYW5jZSkKK3sKKyAgICBtZXRhZGF0YS5wcmVzZW50YXRpb25UaW1lID0gcGVyZm9y
bWFuY2UucmVsYXRpdmVUaW1lRnJvbVRpbWVPcmlnaW5JblJlZHVjZWRSZXNvbHV0aW9uKE1vbm90
b25pY1RpbWU6OmZyb21SYXdTZWNvbmRzKG1ldGFkYXRhLnByZXNlbnRhdGlvblRpbWUpKTsKKyAg
ICBtZXRhZGF0YS5leHBlY3RlZERpc3BsYXlUaW1lID0gcGVyZm9ybWFuY2UucmVsYXRpdmVUaW1l
RnJvbVRpbWVPcmlnaW5JblJlZHVjZWRSZXNvbHV0aW9uKE1vbm90b25pY1RpbWU6OmZyb21SYXdT
ZWNvbmRzKG1ldGFkYXRhLmV4cGVjdGVkRGlzcGxheVRpbWUpKTsKKyAgICBpZiAobWV0YWRhdGEu
Y2FwdHVyZVRpbWUpCisgICAgICAgIG1ldGFkYXRhLmNhcHR1cmVUaW1lID0gcGVyZm9ybWFuY2Uu
cmVsYXRpdmVUaW1lRnJvbVRpbWVPcmlnaW5JblJlZHVjZWRSZXNvbHV0aW9uKE1vbm90b25pY1Rp
bWU6OmZyb21SYXdTZWNvbmRzKCptZXRhZGF0YS5jYXB0dXJlVGltZSkpOworICAgIGlmIChtZXRh
ZGF0YS5yZWNlaXZlVGltZSkKKyAgICAgICAgbWV0YWRhdGEucmVjZWl2ZVRpbWUgPSBwZXJmb3Jt
YW5jZS5yZWxhdGl2ZVRpbWVGcm9tVGltZU9yaWdpbkluUmVkdWNlZFJlc29sdXRpb24oTW9ub3Rv
bmljVGltZTo6ZnJvbVJhd1NlY29uZHMoKm1ldGFkYXRhLnJlY2VpdmVUaW1lKSk7Cit9CisKIHZv
aWQgSFRNTFZpZGVvRWxlbWVudDo6c2VydmljZVJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2tzKFJl
ZHVjZWRSZXNvbHV0aW9uU2Vjb25kcyBub3cpCiB7CiAgICAgaWYgKCFwbGF5ZXIoKSkKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgYXV0byB2aWRlb0ZyYW1lTWV0YWRhdGEgPSBwbGF5ZXIoKS0+dmlk
ZW9GcmFtZU1ldGFkYXRhKCk7Ci0gICAgaWYgKCF2aWRlb0ZyYW1lTWV0YWRhdGEpCisgICAgaWYg
KCF2aWRlb0ZyYW1lTWV0YWRhdGEgfHwgIWRvY3VtZW50KCkuZG9tV2luZG93KCkpCiAgICAgICAg
IHJldHVybjsKIAorICAgIHByb2Nlc3NWaWRlb0ZyYW1lTWV0YWRhdGFUaW1lc3RhbXBzKCp2aWRl
b0ZyYW1lTWV0YWRhdGEsIGRvY3VtZW50KCkuZG9tV2luZG93KCktPnBlcmZvcm1hbmNlKCkpOwor
CiAgICAgUmVmIHByb3RlY3RlZFRoaXMgeyAqdGhpcyB9OwogCiAgICAgLy8gV2Ugc3RvcmUgdGhl
IHNpemUgYmVmb3JlIGNhbGxpbmcgY2FsbGJhY2tzIGFzIHdlIGRvIG5vdCB3YW50IHRvIGNhbGwg
bmV3bHkgYWRkZWQgY2FsbGJhY2tzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9W
aWRlb0ZyYW1lTWV0YWRhdGEuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9WaWRlb0ZyYW1lTWV0
YWRhdGEuaWRsCmluZGV4IDJjYTk1ZThmMDNkMzA1N2FjMmU4MGM0YTVkMmZhMjMwNTZhZjc4YmQu
LjQxOTZlYmFmYzNiMmUzM2UyZjQ2YWVjOWY2ZGQ1ZWM5MDAyY2NkM2MgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvVmlkZW9GcmFtZU1ldGFkYXRhLmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL1ZpZGVvRnJhbWVNZXRhZGF0YS5pZGwKQEAgLTI5LDkgKzI5LDggQEAgdHlwZWRl
ZiBkb3VibGUgRE9NSGlnaFJlc1RpbWVTdGFtcDsKICAgICBDb25kaXRpb25hbD1WSURFTywKICAg
ICBKU0dlbmVyYXRlVG9KU09iamVjdCwKIF0gZGljdGlvbmFyeSBWaWRlb0ZyYW1lTWV0YWRhdGEg
ewotICAgIC8vIEZJWE1FOiBleHBvc2UgcHJlc2VudGF0aW9uVGltZSBhbmQgZXhwZWN0ZWREaXNw
bGF5VGltZS4KLSAgICAvLyByZXF1aXJlZCBET01IaWdoUmVzVGltZVN0YW1wIHByZXNlbnRhdGlv
blRpbWU7Ci0gICAgLy8gcmVxdWlyZWQgRE9NSGlnaFJlc1RpbWVTdGFtcCBleHBlY3RlZERpc3Bs
YXlUaW1lOworICAgIHJlcXVpcmVkIERPTUhpZ2hSZXNUaW1lU3RhbXAgcHJlc2VudGF0aW9uVGlt
ZTsKKyAgICByZXF1aXJlZCBET01IaWdoUmVzVGltZVN0YW1wIGV4cGVjdGVkRGlzcGxheVRpbWU7
CiAKICAgICByZXF1aXJlZCB1bnNpZ25lZCBsb25nIHdpZHRoOwogICAgIHJlcXVpcmVkIHVuc2ln
bmVkIGxvbmcgaGVpZ2h0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVmlk
ZW9TYW1wbGVNZXRhZGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVmlkZW9TYW1wbGVN
ZXRhZGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI3ZmNhZjBjOGU3NDVmNTc2NjAzNTE4MDgyNWJmMjkyYTI3
NWNhYzUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WaWRlb1Nh
bXBsZU1ldGFkYXRhLmgKQEAgLTAsMCArMSw3NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25j
ZQorCisjaW5jbHVkZSA8b3B0aW9uYWw+CisjaW5jbHVkZSA8d3RmL1NlY29uZHMuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgVmlkZW9TYW1wbGVNZXRhZGF0YSB7CisgICAgc3Rk
OjpvcHRpb25hbDxkb3VibGU+IHByb2Nlc3NpbmdEdXJhdGlvbjsKKworICAgIHN0ZDo6b3B0aW9u
YWw8U2Vjb25kcz4gY2FwdHVyZVRpbWU7CisgICAgc3RkOjpvcHRpb25hbDxTZWNvbmRzPiByZWNl
aXZlVGltZTsKKyAgICBzdGQ6Om9wdGlvbmFsPHVuc2lnbmVkPiBydHBUaW1lc3RhbXA7CisKKyAg
ICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7Cisg
ICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8VmlkZW9TYW1w
bGVNZXRhZGF0YT4gZGVjb2RlKERlY29kZXImKTsKK307CisKK3RlbXBsYXRlPGNsYXNzIEVuY29k
ZXI+CitpbmxpbmUgdm9pZCBWaWRlb1NhbXBsZU1ldGFkYXRhOjplbmNvZGUoRW5jb2RlciYgZW5j
b2RlcikgY29uc3QKK3sKKyAgICBlbmNvZGVyIDw8IHByb2Nlc3NpbmdEdXJhdGlvbiA8PCBjYXB0
dXJlVGltZSA8PCByZWNlaXZlVGltZSA8PCBydHBUaW1lc3RhbXA7Cit9CisKK3RlbXBsYXRlPGNs
YXNzIERlY29kZXI+CitpbmxpbmUgc3RkOjpvcHRpb25hbDxWaWRlb1NhbXBsZU1ldGFkYXRhPiBW
aWRlb1NhbXBsZU1ldGFkYXRhOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBzdGQ6
Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8ZG91YmxlPj4gcHJvY2Vzc2luZ0R1cmF0aW9uOworICAg
IGRlY29kZXIgPj4gcHJvY2Vzc2luZ0R1cmF0aW9uOworICAgIGlmICghcHJvY2Vzc2luZ0R1cmF0
aW9uKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgc3RkOjpvcHRpb25hbDxz
dGQ6Om9wdGlvbmFsPFNlY29uZHM+PiBjYXB0dXJlVGltZTsKKyAgICBkZWNvZGVyID4+IGNhcHR1
cmVUaW1lOworICAgIGlmICghY2FwdHVyZVRpbWUpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxv
cHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8U2Vjb25kcz4+IHJlY2VpdmVU
aW1lOworICAgIGRlY29kZXIgPj4gcmVjZWl2ZVRpbWU7CisgICAgaWYgKCFyZWNlaXZlVGltZSkK
KyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0aW9uYWw8c3RkOjpv
cHRpb25hbDx1bnNpZ25lZD4+IHJ0cFRpbWVzdGFtcDsKKyAgICBkZWNvZGVyID4+IHJ0cFRpbWVz
dGFtcDsKKyAgICBpZiAoIXJ0cFRpbWVzdGFtcCkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9w
dDsKKworICAgIHJldHVybiBWaWRlb1NhbXBsZU1ldGFkYXRhIHsgKnByb2Nlc3NpbmdEdXJhdGlv
biwgKmNhcHR1cmVUaW1lLCAqcmVjZWl2ZVRpbWUsICpydHBUaW1lc3RhbXAgfTsKK30KKworfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZh
dGVNZWRpYVN0cmVhbUFWRk9iakMuaAppbmRleCBhZmVlYzc3NTk4YTVlMWY3NDE1Y2Y1MmNjM2Y2
YzE5ZTY4NWIwYjMyLi4xNDg3NGYyYWUzMWIwYzE1ZDM1ZmEzZTEwMTdiZjM2MmMyNDcyZGQyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
b2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVNZWRpYVN0cmVhbUFWRk9iakMuaApAQCAtMTM2LDcgKzEzNiw3IEBAIHByaXZhdGU6CiAK
ICAgICB2b2lkIGZsdXNoUmVuZGVyZXJzKCk7CiAKLSAgICB2b2lkIHByb2Nlc3NOZXdWaWRlb1Nh
bXBsZShNZWRpYVNhbXBsZSYsIGJvb2wgaGFzQ2hhbmdlZE9yaWVudGF0aW9uKTsKKyAgICB2b2lk
IHByb2Nlc3NOZXdWaWRlb1NhbXBsZShNZWRpYVNhbXBsZSYsIGJvb2wgaGFzQ2hhbmdlZE9yaWVu
dGF0aW9uLCBWaWRlb1NhbXBsZU1ldGFkYXRhLCBTZWNvbmRzKTsKICAgICB2b2lkIGVucXVldWVW
aWRlb1NhbXBsZShNZWRpYVNhbXBsZSYpOwogICAgIHZvaWQgcmVxdWVzdE5vdGlmaWNhdGlvbldo
ZW5SZWFkeUZvclZpZGVvRGF0YSgpOwogCkBAIC0yMDgsNyArMjA4LDcgQEAgcHJpdmF0ZToKICAg
ICB2b2lkIHJlYWR5U3RhdGVDaGFuZ2VkKE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlJikgb3ZlcnJp
ZGU7CiAKICAgICAvLyBSZWFsdGltZU1lZGlhU291Y2U6OlZpZGVvU2FtcGxlT2JzZXJ2ZXIKLSAg
ICB2b2lkIHZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxlJikgZmluYWw7CisgICAgdm9p
ZCB2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYsIFZpZGVvU2FtcGxlTWV0YWRhdGEp
IGZpbmFsOwogCiAgICAgUmV0YWluUHRyPFBsYXRmb3JtTGF5ZXI+IGNyZWF0ZVZpZGVvRnVsbHNj
cmVlbkxheWVyKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBzZXRWaWRlb0Z1bGxzY3JlZW5MYXllcihQ
bGF0Zm9ybUxheWVyKiwgRnVuY3Rpb248dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKSBvdmVy
cmlkZTsKQEAgLTI4Myw2ICsyODMsOCBAQCBwcml2YXRlOgogCiAgICAgdWludDY0X3QgbV9zYW1w
bGVDb3VudCB7IDAgfTsKICAgICB1aW50NjRfdCBtX2xhc3RWaWRlb0ZyYW1lTWV0YWRhdGFTYW1w
bGVDb3VudCB7IDAgfTsKKyAgICBTZWNvbmRzIG1fcHJlc2VudGF0aW9uVGltZSB7IDAgfTsKKyAg
ICBWaWRlb1NhbXBsZU1ldGFkYXRhIG1fc2FtcGxlTWV0YWRhdGE7CiB9OwogICAgIAogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRl
TWVkaWFTdHJlYW1BVkZPYmpDLm1tCmluZGV4IDdiYjIyZGJjYzA0ZTIxNDJhYzI2NTVkNjI0YjBl
OTdkZWI4MjlhMGQuLjAxNmI0Y2Y5MmRjOGI0MDE3NzMxMmE2MDI4OTUyNDI3NGU5NWI5MzAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW0KQEAgLTI0NCw5ICsyNDQsMTAgQEAgc3RhdGljIGlu
bGluZSBDR0FmZmluZVRyYW5zZm9ybSB2aWRlb1RyYW5zZm9ybWF0aW9uTWF0cml4KE1lZGlhU2Ft
cGxlJiBzYW1wbGUpCiAgICAgcmV0dXJuIHZpZGVvVHJhbnNmb3JtOwogfQogCi12b2lkIE1lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQzo6dmlkZW9TYW1wbGVBdmFpbGFibGUoTWVk
aWFTYW1wbGUmIHNhbXBsZSkKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZP
YmpDOjp2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYgc2FtcGxlLCBWaWRlb1NhbXBs
ZU1ldGFkYXRhIG1ldGFkYXRhKQogewotICAgIHByb2Nlc3NOZXdWaWRlb1NhbXBsZShzYW1wbGUs
IHNhbXBsZS52aWRlb1JvdGF0aW9uKCkgIT0gbV92aWRlb1JvdGF0aW9uIHx8IHNhbXBsZS52aWRl
b01pcnJvcmVkKCkgIT0gbV92aWRlb01pcnJvcmVkKTsKKyAgICBhdXRvIHByZXNlbnRhdGlvblRp
bWUgPSBNb25vdG9uaWNUaW1lOjpub3coKS5zZWNvbmRzU2luY2VFcG9jaCgpOworICAgIHByb2Nl
c3NOZXdWaWRlb1NhbXBsZShzYW1wbGUsIHNhbXBsZS52aWRlb1JvdGF0aW9uKCkgIT0gbV92aWRl
b1JvdGF0aW9uIHx8IHNhbXBsZS52aWRlb01pcnJvcmVkKCkgIT0gbV92aWRlb01pcnJvcmVkLCBt
ZXRhZGF0YSwgcHJlc2VudGF0aW9uVGltZSk7CiAgICAgZW5xdWV1ZVZpZGVvU2FtcGxlKHNhbXBs
ZSk7CiB9CiAKQEAgLTI3NiwxNCArMjc3LDE0IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTdHJlYW1BVkZPYmpDOjplbnF1ZXVlVmlkZW9TYW1wbGUoTWVkaWFTYW1wbGUmIHNhbXBsCiAg
ICAgbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXItPmVucXVldWVTYW1wbGUoc2FtcGxlKTsKIH0K
IAotdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OnByb2Nlc3NOZXdW
aWRlb1NhbXBsZShNZWRpYVNhbXBsZSYgc2FtcGxlLCBib29sIGhhc0NoYW5nZWRPcmllbnRhdGlv
bikKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjpwcm9jZXNzTmV3
VmlkZW9TYW1wbGUoTWVkaWFTYW1wbGUmIHNhbXBsZSwgYm9vbCBoYXNDaGFuZ2VkT3JpZW50YXRp
b24sIFZpZGVvU2FtcGxlTWV0YWRhdGEgbWV0YWRhdGEsIFNlY29uZHMgcHJlc2VudGF0aW9uVGlt
ZSkKIHsKICAgICBpZiAoIWlzTWFpblRocmVhZCgpKSB7CiAgICAgICAgIHsKICAgICAgICAgICAg
IExvY2tlciBsb2NrZXIgeyBtX2N1cnJlbnRWaWRlb1NhbXBsZUxvY2sgfTsKICAgICAgICAgICAg
IG1fY3VycmVudFZpZGVvU2FtcGxlID0gJnNhbXBsZTsKICAgICAgICAgfQotICAgICAgICBjYWxs
T25NYWluVGhyZWFkKFt3ZWFrVGhpcyA9IFdlYWtQdHIgeyAqdGhpcyB9LCBoYXNDaGFuZ2VkT3Jp
ZW50YXRpb25dKCkgbXV0YWJsZSB7CisgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW3dlYWtUaGlz
ID0gV2Vha1B0ciB7ICp0aGlzIH0sIGhhc0NoYW5nZWRPcmllbnRhdGlvbiwgbWV0YWRhdGEsIHBy
ZXNlbnRhdGlvblRpbWVdKCkgbXV0YWJsZSB7CiAgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQog
ICAgICAgICAgICAgICAgIHJldHVybjsKIApAQCAtMjk4LDcgKzI5OSw3IEBAIHZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjpwcm9jZXNzTmV3VmlkZW9TYW1wbGUoTWVk
aWFTYW1wbGUmIHNhCiAgICAgICAgICAgICBpZiAoIXNhbXBsZSkKICAgICAgICAgICAgICAgICBy
ZXR1cm47CiAKLSAgICAgICAgICAgIHdlYWtUaGlzLT5wcm9jZXNzTmV3VmlkZW9TYW1wbGUoKnNh
bXBsZSwgaGFzQ2hhbmdlZE9yaWVudGF0aW9uKTsKKyAgICAgICAgICAgIHdlYWtUaGlzLT5wcm9j
ZXNzTmV3VmlkZW9TYW1wbGUoKnNhbXBsZSwgaGFzQ2hhbmdlZE9yaWVudGF0aW9uLCBtZXRhZGF0
YSwgcHJlc2VudGF0aW9uVGltZSk7CiAgICAgICAgIH0pOwogICAgICAgICByZXR1cm47CiAgICAg
fQpAQCAtMzE2LDYgKzMxNyw4IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1B
VkZPYmpDOjpwcm9jZXNzTmV3VmlkZW9TYW1wbGUoTWVkaWFTYW1wbGUmIHNhCiAgICAgICAgICAg
ICB1cGRhdGVSZWFkeVN0YXRlKCk7CiAgICAgfQogCisgICAgbV9wcmVzZW50YXRpb25UaW1lID0g
cHJlc2VudGF0aW9uVGltZTsKKyAgICBtX3NhbXBsZU1ldGFkYXRhID0gbWV0YWRhdGE7CiAgICAg
KyttX3NhbXBsZUNvdW50OwogCiAgICAgaWYgKG1fZGlzcGxheU1vZGUgIT0gTGl2ZVByZXZpZXcg
JiYgIW1fd2FpdGluZ0ZvckZpcnN0SW1hZ2UpCkBAIC0xMTA2LDggKzExMDksMTQgQEAgc3RkOjpv
cHRpb25hbDxWaWRlb0ZyYW1lTWV0YWRhdGE+IE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFt
QVZGT2JqQzo6dmlkZW9GcmEKICAgICBtZXRhZGF0YS53aWR0aCA9IG1faW50cmluc2ljU2l6ZS53
aWR0aCgpOwogICAgIG1ldGFkYXRhLmhlaWdodCA9IG1faW50cmluc2ljU2l6ZS5oZWlnaHQoKTsK
ICAgICBtZXRhZGF0YS5wcmVzZW50ZWRGcmFtZXMgPSBtX3NhbXBsZUNvdW50OwotCi0gICAgLy8g
RklYTUU6IEl0IHdvdWxkIGJlIGdvb2QgdG8gZXhwb3NlIG1vcmUgdmlkZW8gZnJhbWUgbWV0YWRh
dGEuCisgICAgbWV0YWRhdGEucHJlc2VudGF0aW9uVGltZSA9IG1fcHJlc2VudGF0aW9uVGltZS5z
ZWNvbmRzKCk7CisgICAgbWV0YWRhdGEuZXhwZWN0ZWREaXNwbGF5VGltZSA9IG1fcHJlc2VudGF0
aW9uVGltZS5zZWNvbmRzKCk7CisgICAgbWV0YWRhdGEucHJvY2Vzc2luZ0R1cmF0aW9uID0gbV9z
YW1wbGVNZXRhZGF0YS5wcm9jZXNzaW5nRHVyYXRpb247CisgICAgaWYgKG1fc2FtcGxlTWV0YWRh
dGEuY2FwdHVyZVRpbWUpCisgICAgICAgIG1ldGFkYXRhLmNhcHR1cmVUaW1lID0gbV9zYW1wbGVN
ZXRhZGF0YS5jYXB0dXJlVGltZS0+c2Vjb25kcygpOworICAgIGlmIChtX3NhbXBsZU1ldGFkYXRh
LnJlY2VpdmVUaW1lKQorICAgICAgICBtZXRhZGF0YS5yZWNlaXZlVGltZSA9IG1fc2FtcGxlTWV0
YWRhdGEucmVjZWl2ZVRpbWUtPnNlY29uZHMoKTsKKyAgICBtZXRhZGF0YS5ydHBUaW1lc3RhbXAg
PSBtX3NhbXBsZU1ldGFkYXRhLnJ0cFRpbWVzdGFtcDsKIAogICAgIHJldHVybiBtZXRhZGF0YTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVk
aWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmNwcAppbmRleCBmOTVkOGYw
MWFmYWViNDhhZWI4MDFhMzYyZWU0NjQxYjI2MjQ0MWMzLi4zMDAzMDk3NDY4ODc2ZmU0MjdjYjdj
ZjYwYjVmNDM3ZGZiZTFlYzFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRklt
cGwuY3BwCkBAIC04Myw3ICs4Myw3IEBAIHZvaWQgTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBs
OjpzdGFydFJlY29yZGluZyhTdGFydFJlY29yZGluZ0NhbGxiYWNrJiYgY2FsbGJhCiAgICAgY2Fs
bGJhY2soU3RyaW5nKG1fd3JpdGVyLT5taW1lVHlwZSgpKSwgbV93cml0ZXItPmF1ZGlvQml0UmF0
ZSgpLCBtX3dyaXRlci0+dmlkZW9CaXRSYXRlKCkpOwogfQogCi12b2lkIE1lZGlhUmVjb3JkZXJQ
cml2YXRlQVZGSW1wbDo6dmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmIHNhbXBsZUJ1
ZmZlcikKK3ZvaWQgTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsOjp2aWRlb1NhbXBsZUF2YWls
YWJsZShNZWRpYVNhbXBsZSYgc2FtcGxlQnVmZmVyLCBWaWRlb1NhbXBsZU1ldGFkYXRhKQogewog
ICAgIGlmIChzaG91bGRNdXRlVmlkZW8oKSkgewogICAgICAgICBpZiAoIW1fYmxhY2tGcmFtZSkg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRp
YVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
cmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmgKaW5kZXggMzhiOTRmOWU0ZWFj
NGRmNDM1YWMwMjNkMjgzMDUwNDNlMWI5MjcyNC4uMDFjMDRmNzA2NDVlNTVmNWVjODRkNWU3YTMy
MmI5MjBmYTVhYzJiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFy
ZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbC5oCkBA
IC00OSw3ICs0OSw3IEBAIHByaXZhdGU6CiAgICAgZXhwbGljaXQgTWVkaWFSZWNvcmRlclByaXZh
dGVBVkZJbXBsKFJlZjxNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcj4mJik7CiAKICAgICAvLyBN
ZWRpYVJlY29yZGVyUHJpdmF0ZQotICAgIHZvaWQgdmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFT
YW1wbGUmKSBmaW5hbDsKKyAgICB2b2lkIHZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxl
JiwgVmlkZW9TYW1wbGVNZXRhZGF0YSkgZmluYWw7CiAgICAgdm9pZCBmZXRjaERhdGEoRmV0Y2hE
YXRhQ2FsbGJhY2smJikgZmluYWw7CiAgICAgdm9pZCBhdWRpb1NhbXBsZXNBdmFpbGFibGUoY29u
c3QgTWVkaWFUaW1lJiwgY29uc3QgUGxhdGZvcm1BdWRpb0RhdGEmLCBjb25zdCBBdWRpb1N0cmVh
bURlc2NyaXB0aW9uJiwgc2l6ZV90KSBmaW5hbDsKICAgICB2b2lkIHN0YXJ0UmVjb3JkaW5nKFN0
YXJ0UmVjb3JkaW5nQ2FsbGJhY2smJikgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlTW9jay5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRl
TW9jay5jcHAKaW5kZXggMWVmYTcwYjkwNTEwZGJmZWEzNzEzOWRiOWZhOGM2MDE2ZDRjNTM0Ni4u
YzI1ZGY5MTU3NGE2NWJjNDFiZGI3MDY3OGRjNDc3MjQ4MzZkZDE0NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZU1v
Y2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFS
ZWNvcmRlclByaXZhdGVNb2NrLmNwcApAQCAtNjcsNyArNjcsNyBAQCB2b2lkIE1lZGlhUmVjb3Jk
ZXJQcml2YXRlTW9jazo6cmVzdW1lUmVjb3JkaW5nKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4m
JiBjb21wbAogICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiB9CiAKLXZvaWQgTWVkaWFSZWNvcmRl
clByaXZhdGVNb2NrOjp2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYpCit2b2lkIE1l
ZGlhUmVjb3JkZXJQcml2YXRlTW9jazo6dmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUm
LCBWaWRlb1NhbXBsZU1ldGFkYXRhKQogewogICAgIExvY2tlciBsb2NrZXIgeyBtX2J1ZmZlckxv
Y2sgfTsKICAgICBtX2J1ZmZlci5hcHBlbmQoIlZpZGVvIFRyYWNrIElEOiAiKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclBy
aXZhdGVNb2NrLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlh
UmVjb3JkZXJQcml2YXRlTW9jay5oCmluZGV4IGQ0ODRiMmZjZWExZTg0YWVlOWJmODFlMGRlMjYy
NzQyZmQyMjkyZjcuLmNjNzhkZTZkNTY5MDYxNTg0YTQxMjAyY2UxNmZmNTJlMWFkMTFhYTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNv
cmRlclByaXZhdGVNb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNv
cmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZU1vY2suaApAQCAtNDIsNyArNDIsNyBAQCBwdWJsaWM6
CiAKIHByaXZhdGU6CiAgICAgLy8gTWVkaWFSZWNvcmRlclByaXZhdGUKLSAgICB2b2lkIHZpZGVv
U2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxlJikgZmluYWw7CisgICAgdm9pZCB2aWRlb1NhbXBs
ZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYsIFZpZGVvU2FtcGxlTWV0YWRhdGEpIGZpbmFsOwogICAg
IHZvaWQgZmV0Y2hEYXRhKEZldGNoRGF0YUNhbGxiYWNrJiYpIGZpbmFsOwogICAgIHZvaWQgYXVk
aW9TYW1wbGVzQXZhaWxhYmxlKGNvbnN0IE1lZGlhVGltZSYsIGNvbnN0IFBsYXRmb3JtQXVkaW9E
YXRhJiwgY29uc3QgQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYsIHNpemVfdCkgZmluYWw7CiAgICAg
dm9pZCBzdG9wUmVjb3JkaW5nKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJikgZmluYWw7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZUlu
Y29taW5nVmlkZW9Tb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlLmNwcAppbmRleCA0YWMzNzNlNmVlYjhiMDc5
ZWMzN2QxYjgyZmJkZWRhMzE0OGE5M2E0Li40N2UwMmYxZWYyNjY5NjZlNjk4NGRiNjlmZTYwMzEx
YTE4ZGQ3MTUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZS5jcHAKQEAgLTEw
NCw2ICsxMDQsMjAgQEAgdm9pZCBSZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2U6OnNldHRpbmdz
RGlkQ2hhbmdlKE9wdGlvblNldDxSZWFsdGltZU1lZGlhU291cmMKICAgICAgICAgbV9jdXJyZW50
U2V0dGluZ3MgPSBzdGQ6Om51bGxvcHQ7CiB9CiAKK1ZpZGVvU2FtcGxlTWV0YWRhdGEgUmVhbHRp
bWVJbmNvbWluZ1ZpZGVvU291cmNlOjptZXRhZGF0YUZyb21WaWRlb0ZyYW1lKGNvbnN0IHdlYnJ0
Yzo6VmlkZW9GcmFtZSYgZnJhbWUpCit7CisgICAgVmlkZW9TYW1wbGVNZXRhZGF0YSBtZXRhZGF0
YTsKKyAgICBpZiAoZnJhbWUubnRwX3RpbWVfbXMoKSA+IDApCisgICAgICAgIG1ldGFkYXRhLmNh
cHR1cmVUaW1lID0gU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhmcmFtZS5udHBfdGltZV9tcygp
KTsKKyAgICBpZiAoaXNJbkJvdW5kczx1aW50MzJfdD4oZnJhbWUudGltZXN0YW1wKCkpKQorICAg
ICAgICBtZXRhZGF0YS5ydHBUaW1lc3RhbXAgPSBmcmFtZS50aW1lc3RhbXAoKTsKKyAgICBhdXRv
IGxhc3RQYWNrZXRUaW1lc3RhbXAgPSBzdGQ6Om1heF9lbGVtZW50KGZyYW1lLnBhY2tldF9pbmZv
cygpLmNiZWdpbigpLCBmcmFtZS5wYWNrZXRfaW5mb3MoKS5jZW5kKCksIFtdKGNvbnN0IGF1dG8m
IGEsIGNvbnN0IGF1dG8mIGIpIHsKKyAgICAgICAgcmV0dXJuIGEucmVjZWl2ZV90aW1lKCkgPCBi
LnJlY2VpdmVfdGltZSgpOworICAgIH0pOworICAgIG1ldGFkYXRhLnJlY2VpdmVUaW1lID0gU2Vj
b25kczo6ZnJvbU1pY3Jvc2Vjb25kcyhsYXN0UGFja2V0VGltZXN0YW1wLT5yZWNlaXZlX3RpbWUo
KS51cygpKTsKKyAgICByZXR1cm4gbWV0YWRhdGE7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKIAogI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2UuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lSW5jb21pbmdWaWRlb1Nv
dXJjZS5oCmluZGV4IDY4YmMwZjdjOTFlYjBmNTI2MjBhNzkyMTdjMjQxMTQxYTdlYTRhMzQuLmYx
YjIyZmJmNWNkMzBmNjVmNjZjYTFlZWYwZTE5ZTUwMjMzZDliY2MgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJj
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lSW5j
b21pbmdWaWRlb1NvdXJjZS5oCkBAIC02Miw3ICs2Miw5IEBAIHByb3RlY3RlZDoKICNpZiAhUkVM
RUFTRV9MT0dfRElTQUJMRUQKICAgICBjb25zdCBjaGFyKiBsb2dDbGFzc05hbWUoKSBjb25zdCBm
aW5hbCB7IHJldHVybiAiUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlIjsgfQogI2VuZGlmCi0g
ICAgCisKKyAgICBzdGF0aWMgVmlkZW9TYW1wbGVNZXRhZGF0YSBtZXRhZGF0YUZyb21WaWRlb0Zy
YW1lKGNvbnN0IHdlYnJ0Yzo6VmlkZW9GcmFtZSYpOworCiBwcml2YXRlOgogICAgIC8vIFJlYWx0
aW1lTWVkaWFTb3VyY2UgQVBJCiAgICAgdm9pZCBzdGFydFByb2R1Y2luZ0RhdGEoKSBmaW5hbDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1l
TWVkaWFTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVh
bHRpbWVNZWRpYVNvdXJjZS5jcHAKaW5kZXggNGNhYzI1NzNlNmYxOTk4YTI4Y2Y4MmM2NjczMjBk
ZDQ3ZWFlYmE1Ni4uM2FmOWFmMTczOWZhOGViOThkYjQ0Y2ZhZDA3ZTU1NmQzOGMxOWE0YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRp
YVNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVh
bHRpbWVNZWRpYVNvdXJjZS5jcHAKQEAgLTE5MSw3ICsxOTEsNyBAQCB2b2lkIFJlYWx0aW1lTWVk
aWFTb3VyY2U6OnVwZGF0ZUhhc1N0YXJ0ZWRQcm9kdWNpbmdEYXRhKCkKICAgICB9KTsKIH0KIAot
dm9pZCBSZWFsdGltZU1lZGlhU291cmNlOjp2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBs
ZSYgbWVkaWFTYW1wbGUpCit2b2lkIFJlYWx0aW1lTWVkaWFTb3VyY2U6OnZpZGVvU2FtcGxlQXZh
aWxhYmxlKE1lZGlhU2FtcGxlJiBtZWRpYVNhbXBsZSwgVmlkZW9TYW1wbGVNZXRhZGF0YSBtZXRh
ZGF0YSkKIHsKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAgICArK21fZnJhbWVDb3VudDsK
QEAgLTIxMSw3ICsyMTEsNyBAQCB2b2lkIFJlYWx0aW1lTWVkaWFTb3VyY2U6OnZpZGVvU2FtcGxl
QXZhaWxhYmxlKE1lZGlhU2FtcGxlJiBtZWRpYVNhbXBsZSkKIAogICAgIExvY2tlciBsb2NrZXIg
eyBtX3ZpZGVvU2FtcGxlT2JzZXJ2ZXJzTG9jayB9OwogICAgIGZvciAoYXV0byogb2JzZXJ2ZXIg
OiBtX3ZpZGVvU2FtcGxlT2JzZXJ2ZXJzKQotICAgICAgICBvYnNlcnZlci0+dmlkZW9TYW1wbGVB
dmFpbGFibGUobWVkaWFTYW1wbGUpOworICAgICAgICBvYnNlcnZlci0+dmlkZW9TYW1wbGVBdmFp
bGFibGUobWVkaWFTYW1wbGUsIG1ldGFkYXRhKTsKIH0KIAogdm9pZCBSZWFsdGltZU1lZGlhU291
cmNlOjphdWRpb1NhbXBsZXNBdmFpbGFibGUoY29uc3QgTWVkaWFUaW1lJiB0aW1lLCBjb25zdCBQ
bGF0Zm9ybUF1ZGlvRGF0YSYgYXVkaW9EYXRhLCBjb25zdCBBdWRpb1N0cmVhbURlc2NyaXB0aW9u
JiBkZXNjcmlwdGlvbiwgc2l6ZV90IG51bWJlck9mRnJhbWVzKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZS5oCmlu
ZGV4IGRlY2Q5MDc5NjdiMzlhZTllYTY1YjI3MWU2NTM2OTNiNjRmNGViNmYuLmM5NTkyMzRmNjU4
YTUyNjc0MGJkNzgwZGQ5OWE0NzA0NzljYzE1OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2UuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlLmgKQEAgLTQy
LDYgKzQyLDcgQEAKICNpbmNsdWRlICJQbGF0Zm9ybUxheWVyLmgiCiAjaW5jbHVkZSAiUmVhbHRp
bWVNZWRpYVNvdXJjZUNhcGFiaWxpdGllcy5oIgogI2luY2x1ZGUgIlJlYWx0aW1lTWVkaWFTb3Vy
Y2VGYWN0b3J5LmgiCisjaW5jbHVkZSAiVmlkZW9TYW1wbGVNZXRhZGF0YS5oIgogI2luY2x1ZGUg
PHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgogI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVk
ZSA8d3RmL0xvZ2dlckhlbHBlci5oPgpAQCAtMTAyLDcgKzEwMyw3IEBAIHB1YmxpYzoKICAgICAg
ICAgdmlydHVhbCB+VmlkZW9TYW1wbGVPYnNlcnZlcigpID0gZGVmYXVsdDsKIAogICAgICAgICAv
LyBNYXkgYmUgY2FsbGVkIG9uIGEgYmFja2dyb3VuZCB0aHJlYWQuCi0gICAgICAgIHZpcnR1YWwg
dm9pZCB2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYpID0gMDsKKyAgICAgICAgdmly
dHVhbCB2b2lkIHZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxlJiwgVmlkZW9TYW1wbGVN
ZXRhZGF0YSkgPSAwOwogICAgIH07CiAKICAgICB2aXJ0dWFsIH5SZWFsdGltZU1lZGlhU291cmNl
KCkgPSBkZWZhdWx0OwpAQCAtMjQ0LDcgKzI0NSw3IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIGlu
aXRpYWxpemVTYW1wbGVSYXRlKGludCBzYW1wbGVSYXRlKSB7IG1fc2FtcGxlUmF0ZSA9IHNhbXBs
ZVJhdGU7IH0KICAgICB2b2lkIGluaXRpYWxpemVFY2hvQ2FuY2VsbGF0aW9uKGJvb2wgZWNob0Nh
bmNlbGxhdGlvbikgeyBtX2VjaG9DYW5jZWxsYXRpb24gPSBlY2hvQ2FuY2VsbGF0aW9uOyB9CiAK
LSAgICB2b2lkIHZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxlJik7CisgICAgdm9pZCB2
aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYsIFZpZGVvU2FtcGxlTWV0YWRhdGEpOwog
ICAgIHZvaWQgYXVkaW9TYW1wbGVzQXZhaWxhYmxlKGNvbnN0IE1lZGlhVGltZSYsIGNvbnN0IFBs
YXRmb3JtQXVkaW9EYXRhJiwgY29uc3QgQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYsIHNpemVfdCk7
CiAKICAgICB2b2lkIGZvckVhY2hPYnNlcnZlcihjb25zdCBGdW5jdGlvbjx2b2lkKE9ic2VydmVy
Jik+Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9S
ZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL1JlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZS5oCmluZGV4IDgyZTQ0NTBjMmU3
NzM3OWNmMDViM2VjNjE2YWFjYmRjZDhiYWYyN2MuLmVkYjY3YWRmMmFkZjcwY2I4NzNiNGZmNjZh
Mjc2ODE0NTUxMWU3MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL1JlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZS5oCkBAIC0x
MzUsNyArMTM1LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHRyYWNrRW5kZWQoTWVkaWFTdHJlYW1U
cmFja1ByaXZhdGUmKSBmaW5hbCB7IH0KIAogICAgIC8vIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlZp
ZGVvU2FtcGxlT2JzZXJ2ZXIgQVBJCi0gICAgdm9pZCB2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRp
YVNhbXBsZSYpIG92ZXJyaWRlIHsgfQorICAgIHZvaWQgdmlkZW9TYW1wbGVBdmFpbGFibGUoTWVk
aWFTYW1wbGUmLCBWaWRlb1NhbXBsZU1ldGFkYXRhKSBvdmVycmlkZSB7IH0KIAogICAgIFJlZjxN
ZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZT4gbV92aWRlb1NvdXJjZTsKICAgICBUaW1lciBtX2JsYWNr
RnJhbWVUaW1lcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL1JlYWx0aW1lVmlkZW9DYXB0dXJlU291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lVmlkZW9DYXB0dXJlU291cmNlLmNwcAppbmRleCA4Njg2
YmFjNGYxNjEyNjYwOGM5ZjE1MmE2MmUxMDRlM2RiNzI1NzQ1Li44ZWE2MTQ3MjFkMzAyM2E4YmIx
MjA0YmQ5MTgyZjYwNDI2YjQxNjlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9SZWFsdGltZVZpZGVvQ2FwdHVyZVNvdXJjZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVWaWRlb0NhcHR1cmVTb3VyY2Uu
Y3BwCkBAIC0zODYsNyArMzg2LDcgQEAgdm9pZCBSZWFsdGltZVZpZGVvQ2FwdHVyZVNvdXJjZTo6
c2V0U2l6ZUFuZEZyYW1lUmF0ZShzdGQ6Om9wdGlvbmFsPGludD4gd2lkdGgsIHMKICAgICBzZXRG
cmFtZVJhdGUobWF0Y2gtPnJlcXVlc3RlZEZyYW1lUmF0ZSk7CiB9CiAKLXZvaWQgUmVhbHRpbWVW
aWRlb0NhcHR1cmVTb3VyY2U6OmRpc3BhdGNoTWVkaWFTYW1wbGVUb09ic2VydmVycyhNZWRpYVNh
bXBsZSYgc2FtcGxlKQordm9pZCBSZWFsdGltZVZpZGVvQ2FwdHVyZVNvdXJjZTo6ZGlzcGF0Y2hN
ZWRpYVNhbXBsZVRvT2JzZXJ2ZXJzKE1lZGlhU2FtcGxlJiBzYW1wbGUsIFdlYkNvcmU6OlZpZGVv
U2FtcGxlTWV0YWRhdGEgbWV0YWRhdGEpCiB7CiAgICAgTWVkaWFUaW1lIHNhbXBsZVRpbWUgPSBz
YW1wbGUucHJlc2VudGF0aW9uVGltZSgpOwogCkBAIC00MDAsNyArNDAwLDcgQEAgdm9pZCBSZWFs
dGltZVZpZGVvQ2FwdHVyZVNvdXJjZTo6ZGlzcGF0Y2hNZWRpYVNhbXBsZVRvT2JzZXJ2ZXJzKE1l
ZGlhU2FtcGxlJiBzYW0KICAgICBpZiAoaW50ZXJ2YWwgPiAxKQogICAgICAgICBtX29ic2VydmVk
RnJhbWVSYXRlID0gKG1fb2JzZXJ2ZWRGcmFtZVRpbWVTdGFtcHMuc2l6ZSgpIC8gaW50ZXJ2YWwp
OwogCi0gICAgdmlkZW9TYW1wbGVBdmFpbGFibGUoc2FtcGxlKTsKKyAgICB2aWRlb1NhbXBsZUF2
YWlsYWJsZShzYW1wbGUsIG1ldGFkYXRhKTsKIH0KIAogdm9pZCBSZWFsdGltZVZpZGVvQ2FwdHVy
ZVNvdXJjZTo6Y2xpZW50VXBkYXRlZFNpemVBbmRGcmFtZVJhdGUoc3RkOjpvcHRpb25hbDxpbnQ+
IHdpZHRoLCBzdGQ6Om9wdGlvbmFsPGludD4gaGVpZ2h0LCBzdGQ6Om9wdGlvbmFsPGRvdWJsZT4g
ZnJhbWVSYXRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vUmVhbHRpbWVWaWRlb0NhcHR1cmVTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL1JlYWx0aW1lVmlkZW9DYXB0dXJlU291cmNlLmgKaW5kZXggN2MyMGI2MWFm
Nzk3MjFkMjg2MzllMWRlZmMxYTVjY2UzMTQyNGUyMC4uODUzYjBiMjgzZTkwMWEwYmE0Yzk1OGYx
ZGQ3NWRhODZhNGYzOTEzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vUmVhbHRpbWVWaWRlb0NhcHR1cmVTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZVZpZGVvQ2FwdHVyZVNvdXJjZS5oCkBAIC03
Miw3ICs3Miw3IEBAIHByb3RlY3RlZDoKIAogICAgIHZvaWQgdXBkYXRlQ2FwYWJpbGl0aWVzKFJl
YWx0aW1lTWVkaWFTb3VyY2VDYXBhYmlsaXRpZXMmKTsKIAotICAgIHZvaWQgZGlzcGF0Y2hNZWRp
YVNhbXBsZVRvT2JzZXJ2ZXJzKE1lZGlhU2FtcGxlJik7CisgICAgdm9pZCBkaXNwYXRjaE1lZGlh
U2FtcGxlVG9PYnNlcnZlcnMoTWVkaWFTYW1wbGUmLCBXZWJDb3JlOjpWaWRlb1NhbXBsZU1ldGFk
YXRhKTsKICAgICBjb25zdCBWZWN0b3I8SW50U2l6ZT4mIHN0YW5kYXJkVmlkZW9TaXplcygpOwog
CiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9SZWFsdGltZVZpZGVvU291cmNlLmNwcAppbmRleCBmMDcxNzlkZDMzNDY2NGEzY2I2
NDFiYTFlMzM3MDViMTgzNzUxZTZjLi4yNzliNzU4Y2VmNzZmMjY0Yzk5ZTc0N2Q5M2NlNGVjZTE4
MmRiNTMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9S
ZWFsdGltZVZpZGVvU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9SZWFsdGltZVZpZGVvU291cmNlLmNwcApAQCAtMTc5LDcgKzE3OSw3IEBAIFJlZlB0
cjxNZWRpYVNhbXBsZT4gUmVhbHRpbWVWaWRlb1NvdXJjZTo6YWRhcHRWaWRlb1NhbXBsZShNZWRp
YVNhbXBsZSYgc2FtcGxlKQogfQogI2VuZGlmCiAKLXZvaWQgUmVhbHRpbWVWaWRlb1NvdXJjZTo6
dmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmIHNhbXBsZSkKK3ZvaWQgUmVhbHRpbWVW
aWRlb1NvdXJjZTo6dmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmIHNhbXBsZSwgVmlk
ZW9TYW1wbGVNZXRhZGF0YSBtZXRhZGF0YSkKIHsKICAgICBpZiAobV9mcmFtZURlY2ltYXRpb24g
PiAxICYmICsrbV9mcmFtZURlY2ltYXRpb25Db3VudGVyICUgbV9mcmFtZURlY2ltYXRpb24pCiAg
ICAgICAgIHJldHVybjsKQEAgLTE5MywxMyArMTkzLDEzIEBAIHZvaWQgUmVhbHRpbWVWaWRlb1Nv
dXJjZTo6dmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmIHNhbXBsZSkKICAgICBhdXRv
IHNpemUgPSB0aGlzLT5zaXplKCk7CiAgICAgaWYgKCFzaXplLmlzRW1wdHkoKSAmJiBzaXplICE9
IGV4cGFuZGVkSW50U2l6ZShzYW1wbGUucHJlc2VudGF0aW9uU2l6ZSgpKSkgewogICAgICAgICBp
ZiAoYXV0byBtZWRpYVNhbXBsZSA9IGFkYXB0VmlkZW9TYW1wbGUoc2FtcGxlKSkgewotICAgICAg
ICAgICAgUmVhbHRpbWVNZWRpYVNvdXJjZTo6dmlkZW9TYW1wbGVBdmFpbGFibGUoKm1lZGlhU2Ft
cGxlKTsKKyAgICAgICAgICAgIFJlYWx0aW1lTWVkaWFTb3VyY2U6OnZpZGVvU2FtcGxlQXZhaWxh
YmxlKCptZWRpYVNhbXBsZSwgbWV0YWRhdGEpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICB9CiAgICAgfQogI2VuZGlmCiAKLSAgICBSZWFsdGltZU1lZGlhU291cmNlOjp2aWRlb1NhbXBs
ZUF2YWlsYWJsZShzYW1wbGUpOworICAgIFJlYWx0aW1lTWVkaWFTb3VyY2U6OnZpZGVvU2FtcGxl
QXZhaWxhYmxlKHNhbXBsZSwgbWV0YWRhdGEpOwogfQogCiBSZWY8UmVhbHRpbWVNZWRpYVNvdXJj
ZT4gUmVhbHRpbWVWaWRlb1NvdXJjZTo6Y2xvbmUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVWaWRlb1NvdXJjZS5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVWaWRlb1NvdXJjZS5oCmluZGV4IDNl
MThjZTVmZjU3NThhMmQwNjY3NWMyYmY5N2U2NjNmNTk5ZGU1NWIuLmY5NWI3MDI2YWZmZGJmYjlk
ZGVmNjc3NmZlMzBiZTMzNjczODEwNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lVmlkZW9Tb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZVZpZGVvU291cmNlLmgKQEAgLTcyLDcgKzcy
LDcgQEAgcHJpdmF0ZToKICAgICBib29sIHByZXZlbnRTb3VyY2VGcm9tU3RvcHBpbmcoKSBmaW5h
bDsKIAogICAgIC8vIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlZpZGVvU2FtcGxlT2JzZXJ2ZXIKLSAg
ICB2b2lkIHZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxlJikgZmluYWw7CisgICAgdm9p
ZCB2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYsIFZpZGVvU2FtcGxlTWV0YWRhdGEp
IGZpbmFsOwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgUmVmUHRyPE1lZGlhU2FtcGxlPiBh
ZGFwdFZpZGVvU2FtcGxlKE1lZGlhU2FtcGxlJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9jb2NvYS9EaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29hLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2NvY29hL0Rpc3BsYXlDYXB0
dXJlU291cmNlQ29jb2EuY3BwCmluZGV4IDczYWRiNzE2YTczYWIxOTFkMGQzYTJmNjEzYzRhMmNk
YmFhMjIwYTcuLjA0MmRkOWJiZTlhODEyOTNlZGM2MGY3MmFjNGJmODU0MjE3Yzg3ZDIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2NvY29hL0Rpc3BsYXlD
YXB0dXJlU291cmNlQ29jb2EuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL2NvY29hL0Rpc3BsYXlDYXB0dXJlU291cmNlQ29jb2EuY3BwCkBAIC0yMjAsNyArMjIw
LDggQEAgdm9pZCBEaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29hOjplbWl0RnJhbWUoKQogICAgIGlm
ICghbV9pbWFnZVRyYW5zZmVyU2Vzc2lvbikKICAgICAgICAgbV9pbWFnZVRyYW5zZmVyU2Vzc2lv
biA9IEltYWdlVHJhbnNmZXJTZXNzaW9uVlQ6OmNyZWF0ZShwcmVmZXJlZFBpeGVsQnVmZmVyRm9y
bWF0KCkpOwogCi0gICAgYXV0byBzYW1wbGVUaW1lID0gTWVkaWFUaW1lOjpjcmVhdGVXaXRoRG91
YmxlKChlbGFwc2VkVGltZSgpICsgMTAwX21zKS5zZWNvbmRzKCkpOworICAgIGF1dG8gZWxhcHNl
ZFRpbWUgPSB0aGlzLT5lbGFwc2VkVGltZSgpOworICAgIGF1dG8gc2FtcGxlVGltZSA9IE1lZGlh
VGltZTo6Y3JlYXRlV2l0aERvdWJsZSgoZWxhcHNlZFRpbWUgKyAxMDBfbXMpLnNlY29uZHMoKSk7
CiAKICAgICBhdXRvIGZyYW1lID0gbV9jYXB0dXJlci0+Z2VuZXJhdGVGcmFtZSgpOwogICAgIGF1
dG8gaW1hZ2VTaXplID0gV1RGOjpzd2l0Y2hPbihmcmFtZSwKQEAgLTI4Miw3ICsyODMsOSBAQCB2
b2lkIERpc3BsYXlDYXB0dXJlU291cmNlQ29jb2E6OmVtaXRGcmFtZSgpCiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKLSAgICB2aWRlb1NhbXBsZUF2YWlsYWJsZSgqc2FtcGxlLmdldCgpKTsKKyAg
ICBWaWRlb1NhbXBsZU1ldGFkYXRhIG1ldGFkYXRhOworICAgIG1ldGFkYXRhLmNhcHR1cmVUaW1l
ID0gTW9ub3RvbmljVGltZTo6bm93KCkuc2Vjb25kc1NpbmNlRXBvY2goKTsKKyAgICB2aWRlb1Nh
bXBsZUF2YWlsYWJsZSgqc2FtcGxlLmdldCgpLCBtZXRhZGF0YSk7CiB9CiAKIHZvaWQgRGlzcGxh
eUNhcHR1cmVTb3VyY2VDb2NvYTo6c2V0TG9nZ2VyKGNvbnN0IExvZ2dlciYgbG9nZ2VyLCBjb25z
dCB2b2lkKiBpZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vZ3N0cmVhbWVyL0dTdHJlYW1lck1lZGlhU3RyZWFtU291cmNlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9HU3RyZWFtZXJNZWRp
YVN0cmVhbVNvdXJjZS5jcHAKaW5kZXggZDMyMWRiZjY1MzY3MjEzZDczMDNiNDU0OTIzOWNlMDY5
NDBjOTY0MC4uNjIwYTZiMTVjODIyMjI3OWYxYjg4MTM3YWU4NGUzYTk1Nzk3ODljMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL0dTdHJl
YW1lck1lZGlhU3RyZWFtU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9nc3RyZWFtZXIvR1N0cmVhbWVyTWVkaWFTdHJlYW1Tb3VyY2UuY3BwCkBAIC0y
NjIsNyArMjYyLDcgQEAgcHVibGljOgogICAgICAgICB9CiAgICAgfQogCi0gICAgdm9pZCB2aWRl
b1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYgc2FtcGxlKSBmaW5hbAorICAgIHZvaWQgdmlk
ZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmIHNhbXBsZSwgVmlkZW9TYW1wbGVNZXRhZGF0
YSkgZmluYWwKICAgICB7CiAgICAgICAgIGlmICghbV9wYXJlbnQpCiAgICAgICAgICAgICByZXR1
cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3Ry
ZWFtZXIvR1N0cmVhbWVyVmlkZW9DYXB0dXJlU291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9HU3RyZWFtZXJWaWRlb0NhcHR1cmVTb3VyY2Uu
Y3BwCmluZGV4IDc0MTIwZTkxZjE0NjUzNjI0MWQzNmM4ZTc2MzkzNTU1OTVjNzYzNWQuLjI3MTg2
MjUzODNmM2M1MjAyYzhiMTliZjM3NTIzZDgyMzU4YzYwZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9HU3RyZWFtZXJWaWRlb0NhcHR1
cmVTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2dz
dHJlYW1lci9HU3RyZWFtZXJWaWRlb0NhcHR1cmVTb3VyY2UuY3BwCkBAIC0xOTUsNyArMTk1LDcg
QEAgdm9pZCBHU3RyZWFtZXJWaWRlb0NhcHR1cmVTb3VyY2U6OnByb2Nlc3NOZXdGcmFtZShSZWY8
TWVkaWFTYW1wbGU+JiYgc2FtcGxlKQogICAgIGlmICghaXNQcm9kdWNpbmdEYXRhKCkgfHwgbXV0
ZWQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZGlzcGF0Y2hNZWRpYVNhbXBsZVRvT2JzZXJ2
ZXJzKFdURk1vdmUoc2FtcGxlKSk7CisgICAgZGlzcGF0Y2hNZWRpYVNhbXBsZVRvT2JzZXJ2ZXJz
KFdURk1vdmUoc2FtcGxlKSwgeyB9KTsKIH0KIAogR3N0Rmxvd1JldHVybiBHU3RyZWFtZXJWaWRl
b0NhcHR1cmVTb3VyY2U6Om5ld1NhbXBsZUNhbGxiYWNrKEdzdEVsZW1lbnQqIHNpbmssIEdTdHJl
YW1lclZpZGVvQ2FwdHVyZVNvdXJjZSogc291cmNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL01vY2tSZWFsdGltZVZpZGVvU291cmNl
R1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJl
YW1lci9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZUdTdHJlYW1lci5jcHAKaW5kZXggNzMwMzU0Y2Yx
ZmE5OGU3MzJiODVlYzJlM2EzMzBkNDRkMTdiMzI0NS4uOTZkMGFmMWM0YjAzNTQzM2ZkODdlMjcw
NWRiOGNkODM0OWE2NTM2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vZ3N0cmVhbWVyL01vY2tSZWFsdGltZVZpZGVvU291cmNlR1N0cmVhbWVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIvTW9ja1Jl
YWx0aW1lVmlkZW9Tb3VyY2VHU3RyZWFtZXIuY3BwCkBAIC04OCw5ICs4OCw5IEBAIHZvaWQgTW9j
a0Rpc3BsYXlDYXB0dXJlU291cmNlR1N0cmVhbWVyOjpyZXF1ZXN0VG9FbmQoT2JzZXJ2ZXImIGNh
bGxpbmdPYnNlcnZlcikKICAgICBtX3NvdXJjZS0+cmVxdWVzdFRvRW5kKGNhbGxpbmdPYnNlcnZl
cik7CiB9CiAKLXZvaWQgTW9ja0Rpc3BsYXlDYXB0dXJlU291cmNlR1N0cmVhbWVyOjp2aWRlb1Nh
bXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYgc2FtcGxlKQordm9pZCBNb2NrRGlzcGxheUNhcHR1
cmVTb3VyY2VHU3RyZWFtZXI6OnZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxlJiBzYW1w
bGUsIFZpZGVvU2FtcGxlTWV0YWRhdGEgbWV0YWRhdGEpCiB7Ci0gICAgUmVhbHRpbWVNZWRpYVNv
dXJjZTo6dmlkZW9TYW1wbGVBdmFpbGFibGUoc2FtcGxlKTsKKyAgICBSZWFsdGltZU1lZGlhU291
cmNlOjp2aWRlb1NhbXBsZUF2YWlsYWJsZShzYW1wbGUsIG1ldGFkYXRhKTsKIH0KIAogY29uc3Qg
UmVhbHRpbWVNZWRpYVNvdXJjZUNhcGFiaWxpdGllcyYgTW9ja0Rpc3BsYXlDYXB0dXJlU291cmNl
R1N0cmVhbWVyOjpjYXBhYmlsaXRpZXMoKQpAQCAtMTU0LDcgKzE1NCw3IEBAIHZvaWQgTW9ja1Jl
YWx0aW1lVmlkZW9Tb3VyY2VHU3RyZWFtZXI6OnVwZGF0ZVNhbXBsZUJ1ZmZlcigpCiAKICAgICBh
dXRvIHNhbXBsZSA9IE1lZGlhU2FtcGxlR1N0cmVhbWVyOjpjcmVhdGVJbWFnZVNhbXBsZShXVEZN
b3ZlKCpwaXhlbEJ1ZmZlciksIHNpemUoKSwgZnJhbWVSYXRlKCksIHNhbXBsZVJvdGF0aW9uKCkp
OwogICAgIHNhbXBsZS0+b2Zmc2V0VGltZXN0YW1wc0J5KE1lZGlhVGltZTo6Y3JlYXRlV2l0aERv
dWJsZSgoZWxhcHNlZFRpbWUoKSArIDEwMF9tcykuc2Vjb25kcygpKSk7Ci0gICAgZGlzcGF0Y2hN
ZWRpYVNhbXBsZVRvT2JzZXJ2ZXJzKHNhbXBsZS5nZXQoKSk7CisgICAgZGlzcGF0Y2hNZWRpYVNh
bXBsZVRvT2JzZXJ2ZXJzKHNhbXBsZS5nZXQoKSwgeyB9KTsKIH0KIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
Z3N0cmVhbWVyL01vY2tSZWFsdGltZVZpZGVvU291cmNlR1N0cmVhbWVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIvTW9ja1JlYWx0aW1lVmlkZW9Tb3Vy
Y2VHU3RyZWFtZXIuaAppbmRleCA5MjY1M2UwZDZkNTVkZDJhZjBlYTEzMjU1YTVmMTJjMTRlMjA2
NGI0Li5lYTQ1YjVlN2QzZGEyNDYwNTMwYjVmYzM0ODk0ZmEyMzQzODJlY2ZiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIvTW9ja1JlYWx0
aW1lVmlkZW9Tb3VyY2VHU3RyZWFtZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9nc3RyZWFtZXIvTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2VHU3RyZWFtZXIuaApA
QCAtNDgsNyArNDgsNyBAQCBwdWJsaWM6CiAKIHByb3RlY3RlZDoKICAgICAvLyBSZWFsdGltZU1l
ZGlhU291cmNlOjpWaWRlb1NhbXBsZU9ic2VydmVyCi0gICAgdm9pZCB2aWRlb1NhbXBsZUF2YWls
YWJsZShNZWRpYVNhbXBsZSYpIGZpbmFsOworICAgIHZvaWQgdmlkZW9TYW1wbGVBdmFpbGFibGUo
TWVkaWFTYW1wbGUmLCBWaWRlb1NhbXBsZU1ldGFkYXRhKSBmaW5hbDsKIAogcHJpdmF0ZToKICAg
ICBNb2NrRGlzcGxheUNhcHR1cmVTb3VyY2VHU3RyZWFtZXIoUmVmPE1vY2tSZWFsdGltZVZpZGVv
U291cmNlR1N0cmVhbWVyPiYmLCBDYXB0dXJlRGV2aWNlOjpEZXZpY2VUeXBlKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9nc3RyZWFt
ZXIvUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlTGliV2ViUlRDLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9nc3RyZWFtZXIvUmVhbHRpbWVJbmNv
bWluZ1ZpZGVvU291cmNlTGliV2ViUlRDLmNwcAppbmRleCBlNjlmYzI3OGY0OTVmNThhZTkwYzk1
ZDUwZWE2ZTg1NjRlYTA1M2EwLi4zZGUwMjM1NjBiZDUwOGE0NmY2OTI5OTM3YzgyMDIyZGFjMTg2
MGFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3
ZWJydGMvZ3N0cmVhbWVyL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUxpYldlYlJUQy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL2dzdHJl
YW1lci9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VMaWJXZWJSVEMuY3BwCkBAIC02MSw3ICs2
MSw3IEBAIHZvaWQgUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlTGliV2ViUlRDOjpPbkZyYW1l
KGNvbnN0IHdlYnJ0Yzo6VmlkZW9GcmFtZSYgZnJhCiAgICAgY2FsbE9uTWFpblRocmVhZChbcHJv
dGVjdGVkVGhpcyA9IFJlZiB7ICp0aGlzIH0sIGZyYW1lXSB7CiAgICAgICAgIGF1dG8gZ3N0U2Ft
cGxlID0gR1N0cmVhbWVyU2FtcGxlRnJvbUxpYldlYlJUQ1ZpZGVvRnJhbWUoZnJhbWUpOwogICAg
ICAgICBhdXRvIHNhbXBsZSA9IE1lZGlhU2FtcGxlR1N0cmVhbWVyOjpjcmVhdGUoV1RGTW92ZShn
c3RTYW1wbGUpLCB7IH0sIHsgfSk7Ci0gICAgICAgIHByb3RlY3RlZFRoaXMtPnZpZGVvU2FtcGxl
QXZhaWxhYmxlKHNhbXBsZS5nZXQoKSk7CisgICAgICAgIHByb3RlY3RlZFRoaXMtPnZpZGVvU2Ft
cGxlQXZhaWxhYmxlKHNhbXBsZS5nZXQoKSwgeyB9KTsKICAgICB9KTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL2dzdHJlYW1l
ci9SZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VMaWJXZWJSVEMuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL2dzdHJlYW1lci9SZWFsdGltZU91dGdv
aW5nVmlkZW9Tb3VyY2VMaWJXZWJSVEMuY3BwCmluZGV4IGMxMjRkNGIzNDVmYWM1YzY4YjE0Zjhm
NmE1ODk0OGRlNjhlZWNjOGMuLjM5ODM4OGIyZGI0OTcxYjU4ZDFmMWNmZTllNDcxNzIyMDA5YTVk
NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndl
YnJ0Yy9nc3RyZWFtZXIvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlTGliV2ViUlRDLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvZ3N0cmVh
bWVyL1JlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUxpYldlYlJUQy5jcHAKQEAgLTUwLDcgKzUw
LDcgQEAgUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlTGliV2ViUlRDOjpSZWFsdGltZU91dGdv
aW5nVmlkZW9Tb3VyY2VMaWJXZWJSVEMoUmVmPE0KIHsKIH0KIAotdm9pZCBSZWFsdGltZU91dGdv
aW5nVmlkZW9Tb3VyY2VMaWJXZWJSVEM6OnZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxl
JiBzYW1wbGUpCit2b2lkIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUxpYldlYlJUQzo6dmlk
ZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmIHNhbXBsZSwgVmlkZW9TYW1wbGVNZXRhZGF0
YSkKIHsKICAgICBzd2l0Y2ggKHNhbXBsZS52aWRlb1JvdGF0aW9uKCkpIHsKICAgICBjYXNlIE1l
ZGlhU2FtcGxlOjpWaWRlb1JvdGF0aW9uOjpOb25lOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL2dzdHJlYW1lci9SZWFsdGltZU91dGdv
aW5nVmlkZW9Tb3VyY2VMaWJXZWJSVEMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL2xpYndlYnJ0Yy9nc3RyZWFtZXIvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlTGli
V2ViUlRDLmgKaW5kZXggMDBjNTA5YTFiYzA4MWY1OTQ2MDJhYzAyNzc0OGZkZjEyYjUxMzA4NC4u
NzY2ODBlNmY2MmQ5NjM3NmVmMGNmNGNkNGQxMTQwZDkzZDg4MmVlMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL2dzdHJlYW1lci9SZWFs
dGltZU91dGdvaW5nVmlkZW9Tb3VyY2VMaWJXZWJSVEMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvZ3N0cmVhbWVyL1JlYWx0aW1lT3V0Z29pbmdW
aWRlb1NvdXJjZUxpYldlYlJUQy5oCkBAIC00Miw3ICs0Miw3IEBAIHByaXZhdGU6CiAgICAgcnRj
OjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6VmlkZW9GcmFtZUJ1ZmZlcj4gY3JlYXRlQmxhY2tGcmFt
ZShzaXplX3QsIHNpemVfdCkgZmluYWw7CiAKICAgICAvLyBSZWFsdGltZU1lZGlhU291cmNlOjpW
aWRlb1NhbXBsZU9ic2VydmVyIEFQSQotICAgIHZvaWQgdmlkZW9TYW1wbGVBdmFpbGFibGUoTWVk
aWFTYW1wbGUmKSBmaW5hbDsKKyAgICB2b2lkIHZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2Ft
cGxlJiwgVmlkZW9TYW1wbGVNZXRhZGF0YSkgZmluYWw7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9t
YWMvQVZWaWRlb0NhcHR1cmVTb3VyY2UubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9tYWMvQVZWaWRlb0NhcHR1cmVTb3VyY2UubW0KaW5kZXggODcwNGNiMWY5OGM4M2Zl
MjA0YjVmOTNmNGJiYTU5MzQ5YTdlNGM1OC4uMmRkZDdjN2FhYmU3MDA5NTk5OGI3MmIzMGRmNDRi
ZTA5Mjc1N2YxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vbWFjL0FWVmlkZW9DYXB0dXJlU291cmNlLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL21hYy9BVlZpZGVvQ2FwdHVyZVNvdXJjZS5tbQpAQCAtNTcwLDcgKzU3
MCw5IEBAIHZvaWQgQVZWaWRlb0NhcHR1cmVTb3VyY2U6OmNhcHR1cmVPdXRwdXREaWRPdXRwdXRT
YW1wbGVCdWZmZXJGcm9tQ29ubmVjdGlvbihBVkNhCiAgICAgYXV0byBzYW1wbGUgPSBNZWRpYVNh
bXBsZUFWRk9iakM6OmNyZWF0ZShzYW1wbGVCdWZmZXIsIG1fc2FtcGxlUm90YXRpb24sIFtjYXB0
dXJlQ29ubmVjdGlvbiBpc1ZpZGVvTWlycm9yZWRdKTsKICAgICBtX2J1ZmZlciA9ICZzYW1wbGUu
Z2V0KCk7CiAgICAgc2V0SW50cmluc2ljU2l6ZShleHBhbmRlZEludFNpemUoc2FtcGxlLT5wcmVz
ZW50YXRpb25TaXplKCkpKTsKLSAgICBkaXNwYXRjaE1lZGlhU2FtcGxlVG9PYnNlcnZlcnMoV1RG
TW92ZShzYW1wbGUpKTsKKyAgICBWaWRlb1NhbXBsZU1ldGFkYXRhIG1ldGFkYXRhOworICAgIG1l
dGFkYXRhLmNhcHR1cmVUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCkuc2Vjb25kc1NpbmNlRXBv
Y2goKTsKKyAgICBkaXNwYXRjaE1lZGlhU2FtcGxlVG9PYnNlcnZlcnMoV1RGTW92ZShzYW1wbGUp
LCBtZXRhZGF0YSk7CiB9CiAKIHZvaWQgQVZWaWRlb0NhcHR1cmVTb3VyY2U6OmNhcHR1cmVTZXNz
aW9uSXNSdW5uaW5nRGlkQ2hhbmdlKGJvb2wgc3RhdGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2VNYWMu
bW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvTW9ja1JlYWx0aW1l
VmlkZW9Tb3VyY2VNYWMubW0KaW5kZXggMWY1OTY5MWNjNTRiMGI2MmZiODQ5MDA4MjE2Njk3MGNl
M2NkYzQ1OS4uZmQxOTRlNjE5YTQ0Yjg4MTFkY2IxN2UwMDQ2NzFmNDQ1MzVlN2E5NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL01vY2tSZWFsdGlt
ZVZpZGVvU291cmNlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL21hYy9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZU1hYy5tbQpAQCAtOTksOCArOTksMTEgQEAg
dm9pZCBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZU1hYzo6dXBkYXRlU2FtcGxlQnVmZmVyKCkKICAg
ICBpZiAoIXNhbXBsZUJ1ZmZlcikKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV93b3JrUXVldWUt
PmRpc3BhdGNoKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gUmVmIHsgKnRoaXMgfSwgc2FtcGxlQnVm
ZmVyID0gV1RGTW92ZShzYW1wbGVCdWZmZXIpXSgpIG11dGFibGUgewotICAgICAgICBkaXNwYXRj
aE1lZGlhU2FtcGxlVG9PYnNlcnZlcnMoKnNhbXBsZUJ1ZmZlcik7CisgICAgYXV0byBjYXB0dXJl
VGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpLnNlY29uZHNTaW5jZUVwb2NoKCk7CisgICAgbV93
b3JrUXVldWUtPmRpc3BhdGNoKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gUmVmIHsgKnRoaXMgfSwg
c2FtcGxlQnVmZmVyID0gV1RGTW92ZShzYW1wbGVCdWZmZXIpLCBjYXB0dXJlVGltZV0oKSBtdXRh
YmxlIHsKKyAgICAgICAgVmlkZW9TYW1wbGVNZXRhZGF0YSBtZXRhZGF0YTsKKyAgICAgICAgbWV0
YWRhdGEuY2FwdHVyZVRpbWUgPSBjYXB0dXJlVGltZTsKKyAgICAgICAgZGlzcGF0Y2hNZWRpYVNh
bXBsZVRvT2JzZXJ2ZXJzKCpzYW1wbGVCdWZmZXIsIG1ldGFkYXRhKTsKICAgICB9KTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0
aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29hLm1tCmluZGV4
IDllY2E2Zjc3YzdmNDQyOWMyNWJhMjZlYWJkZDYxMGQwMmZiYWIzODQuLjlmMDY3MGMyMGI4YTRi
OGIyNzQ2YTI4MGMzNzEzNDY4M2NiN2VlMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VDb2NvYS5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJ
bmNvbWluZ1ZpZGVvU291cmNlQ29jb2EubW0KQEAgLTE5Niw3ICsxOTYsOCBAQCB2b2lkIFJlYWx0
aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29hOjpPbkZyYW1lKGNvbnN0IHdlYnJ0Yzo6VmlkZW9G
cmFtZSYgZnJhbWUpCiAgICAgYXV0byBzYW1wbGUgPSBhZG9wdENGKHNhbXBsZUJ1ZmZlcik7CiAK
ICAgICBzZXRJbnRyaW5zaWNTaXplKEludFNpemUod2lkdGgsIGhlaWdodCkpOwotICAgIHZpZGVv
U2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxlQVZGT2JqQzo6Y3JlYXRlKHNhbXBsZS5nZXQoKSwg
cm90YXRpb24pKTsKKworICAgIHZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxlQVZGT2Jq
Qzo6Y3JlYXRlKHNhbXBsZS5nZXQoKSwgcm90YXRpb24pLCBtZXRhZGF0YUZyb21WaWRlb0ZyYW1l
KGZyYW1lKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5nVmlkZW9T
b3VyY2VDb2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMv
UmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2EuY3BwCmluZGV4IGUzM2JiNmRhOWRkZGQw
MWEwMGQ5OTZmZDllZjAyYWM5ODE0YTFlYjUuLjU4YzZiZGU0MzQ2NmVkMzhjNzdiZTY3NWEyYjcy
MTIzZDcyZTcxMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL21hYy9SZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdWaWRlb1Nv
dXJjZUNvY29hLmNwcApAQCAtNjEsNyArNjEsNyBAQCBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3Vy
Y2VDb2NvYTo6UmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2EoUmVmPE1lZGlhU3RyZQog
ewogfQogCi12b2lkIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hOjp2aWRlb1NhbXBs
ZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYgc2FtcGxlKQordm9pZCBSZWFsdGltZU91dGdvaW5nVmlk
ZW9Tb3VyY2VDb2NvYTo6dmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmIHNhbXBsZSwg
VmlkZW9TYW1wbGVNZXRhZGF0YSkKIHsKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAgICBp
ZiAoISgrK21fbnVtYmVyT2ZGcmFtZXMgJSA2MCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29j
b2EuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91
dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5oCmluZGV4IDc3MTNlZDBjMTU5YTE5YTIzNTQ5YThlNjNj
ZjE3OTEzNDg3Y2NkODAuLmJmN2VmMzJhNTNkY2ExMWE2NWY4YWM4NmUxOWQ1NGZlOGU1ODIzYTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFs
dGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5oCkBA
IC00NSw3ICs0NSw3IEBAIHByaXZhdGU6CiAgICAgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6
VmlkZW9GcmFtZUJ1ZmZlcj4gY3JlYXRlQmxhY2tGcmFtZShzaXplX3Qgd2lkdGgsIHNpemVfdCBo
ZWlnaHQpIGZpbmFsOwogCiAgICAgLy8gUmVhbHRpbWVNZWRpYVNvdXJjZTo6VmlkZW9TYW1wbGVP
YnNlcnZlciBBUEkKLSAgICB2b2lkIHZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxlJikg
ZmluYWw7CisgICAgdm9pZCB2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYsIFZpZGVv
U2FtcGxlTWV0YWRhdGEpIGZpbmFsOwogCiAgICAgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+
IGNvbnZlcnRUb1lVVihDVlBpeGVsQnVmZmVyUmVmKTsKICAgICBSZXRhaW5QdHI8Q1ZQaXhlbEJ1
ZmZlclJlZj4gcm90YXRlUGl4ZWxCdWZmZXIoQ1ZQaXhlbEJ1ZmZlclJlZiwgd2VicnRjOjpWaWRl
b1JvdGF0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCBhNWVjZTA4
MTBiZmVlNDYwMWQwMGVkYzZiYzVkN2FkZTAxMDVjN2QwLi40YmRkN2M2NTQ1YWNmNzBmY2I0YzU1
NzMzNTRiNGM5YTgxYTYxNzkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBA
IC01NDc3LDcgKzU0NzcsNyBAQCB2b2lkIEludGVybmFsczo6Z3JhYk5leHRNZWRpYVN0cmVhbVRy
YWNrRnJhbWUoVHJhY2tGcmFtZVByb21pc2UmJiBwcm9taXNlKQogICAgIG1fbmV4dFRyYWNrRnJh
bWVQcm9taXNlID0gbWFrZVVuaXF1ZTxUcmFja0ZyYW1lUHJvbWlzZT4oV1RGTW92ZShwcm9taXNl
KSk7CiB9CiAKLXZvaWQgSW50ZXJuYWxzOjp2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBs
ZSYgc2FtcGxlKQordm9pZCBJbnRlcm5hbHM6OnZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2Ft
cGxlJiBzYW1wbGUsIFZpZGVvU2FtcGxlTWV0YWRhdGEpCiB7CiAgICAgY2FsbE9uTWFpblRocmVh
ZChbdGhpcywgd2Vha1RoaXMgPSBXZWFrUHRyIHsgKnRoaXMgfSwgc2FtcGxlID0gUmVmIHsgc2Ft
cGxlIH1dIHsKICAgICAgICAgaWYgKCF3ZWFrVGhpcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5oCmluZGV4IDMzYjk2NTI3ZDNjYzljYWZmYWMzOGNjMmViYjgwOWQxMDQwMmMzYjQuLjlmM2Mz
YjRjNDZmNWI3N2RkZGUxYzJhNTQ0MDE3NmE5OThiYzdjYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuaApAQCAtMTIxOSw3ICsxMjE5LDcgQEAgcHJpdmF0ZToKIAogI2lmIEVOQUJMRShN
RURJQV9TVFJFQU0pCiAgICAgLy8gUmVhbHRpbWVNZWRpYVNvdXJjZTo6T2JzZXJ2ZXIgQVBJCi0g
ICAgdm9pZCB2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYpIGZpbmFsOworICAgIHZv
aWQgdmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmLCBWaWRlb1NhbXBsZU1ldGFkYXRh
KSBmaW5hbDsKICAgICAvLyBSZWFsdGltZU1lZGlhU291cmNlOjpBdWRpb1NhbXBsZU9ic2VydmVy
IEFQSQogICAgIHZvaWQgYXVkaW9TYW1wbGVzQXZhaWxhYmxlKGNvbnN0IE1lZGlhVGltZSYsIGNv
bnN0IFBsYXRmb3JtQXVkaW9EYXRhJiwgY29uc3QgQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYsIHNp
emVfdCkgZmluYWwgeyBtX3RyYWNrQXVkaW9TYW1wbGVDb3VudCsrOyB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJv
eHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1h
bmFnZXJQcm94eS5jcHAKaW5kZXggOTk2MjY4OTkwN2M2N2I1YzdhNTY0ZDgxNTMyNTFjZjU1MzQ3
ZTViZC4uODFjMGFjY2JlYjZiNzg5NWE3MTJkZDJiNDQ4Yjg4YmNkZTQzZTA0MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQ
cm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2Fw
dHVyZU1hbmFnZXJQcm94eS5jcHAKQEAgLTE3OSw3ICsxNzksNyBAQCBwcml2YXRlOgogICAgICAg
ICAgICAgbV9jYXB0dXJlU2VtYXBob3JlLT5zaWduYWwoKTsKICAgICB9CiAKLSAgICB2b2lkIHZp
ZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxlJiBzYW1wbGUpIGZpbmFsCisgICAgdm9pZCB2
aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYgc2FtcGxlLCBWaWRlb1NhbXBsZU1ldGFk
YXRhIG1ldGFkYXRhKSBmaW5hbAogICAgIHsKICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbW90
ZVZpZGVvU2FtcGxlPiByZW1vdGVTYW1wbGU7CiAgICAgICAgIGlmIChtX3Nob3VsZEFwcGx5Um90
YXRpb24gJiYgc2FtcGxlLnZpZGVvUm90YXRpb24oKSAhPSBNZWRpYVNhbXBsZTo6VmlkZW9Sb3Rh
dGlvbjo6Tm9uZSkgewpAQCAtMTkyLDcgKzE5Miw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBp
ZiAobV93ZWJQcm9jZXNzSWRlbnRpdHlUb2tlbikKICAgICAgICAgICAgICAgICByZW1vdGVTYW1w
bGUtPnNldE93bmVyc2hpcElkZW50aXR5KCptX3dlYlByb2Nlc3NJZGVudGl0eVRva2VuKTsKICNl
bmRpZgotICAgICAgICAgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVDYXB0
dXJlU2FtcGxlTWFuYWdlcjo6VmlkZW9TYW1wbGVBdmFpbGFibGUobV9pZCwgV1RGTW92ZSgqcmVt
b3RlU2FtcGxlKSksIDApOworICAgICAgICAgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2Vz
OjpSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6VmlkZW9TYW1wbGVBdmFpbGFibGUobV9pZCwg
V1RGTW92ZSgqcmVtb3RlU2FtcGxlKSwgbWV0YWRhdGEpLCAwKTsKICAgICAgICAgfQogICAgIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFS
ZWNvcmRlclByaXZhdGUuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMv
TWVkaWFSZWNvcmRlclByaXZhdGUuY3BwCmluZGV4IDA3NTEzN2M3NWY1ZThkMGNhNDRlZjFkN2Vi
YWVjOTRkZjA0ZDU3MDEuLjExYjRhODZlNDg1MmY2YzIwNjFmYTNmYzlhZjI5Zjg4OTlmNGViOWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVj
b3JkZXJQcml2YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0
Yy9NZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHAKQEAgLTg5LDcgKzg5LDcgQEAgTWVkaWFSZWNvcmRl
clByaXZhdGU6On5NZWRpYVJlY29yZGVyUHJpdmF0ZSgpCiAgICAgbV9jb25uZWN0aW9uLT5zZW5k
KE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlcjo6UmVsZWFzZVJlY29yZGVyIHsg
bV9pZGVudGlmaWVyIH0sIDApOwogfQogCi12b2lkIE1lZGlhUmVjb3JkZXJQcml2YXRlOjp2aWRl
b1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYgc2FtcGxlKQordm9pZCBNZWRpYVJlY29yZGVy
UHJpdmF0ZTo6dmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmIHNhbXBsZSwgVmlkZW9T
YW1wbGVNZXRhZGF0YSkKIHsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlVmlkZW9TYW1wbGU+
IHJlbW90ZVNhbXBsZTsKICAgICBpZiAoc2hvdWxkTXV0ZVZpZGVvKCkpIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRl
LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJp
dmF0ZS5oCmluZGV4IDUwOGM2YTJmMDFhMWU1N2U0Y2I5YzJkZmQxYzYyOWJhZWYwMjgyYWIuLjMw
M2E1NGY3NmYxODVlOTY0NTRlZjlmNWJiNDYxZjI4ZTEyNjc4NmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLmgKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZh
dGUuaApAQCAtNTYsNyArNTYsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgLy8gV2ViQ29y
ZTo6TWVkaWFSZWNvcmRlclByaXZhdGUKLSAgICB2b2lkIHZpZGVvU2FtcGxlQXZhaWxhYmxlKFdl
YkNvcmU6Ok1lZGlhU2FtcGxlJikgZmluYWw7CisgICAgdm9pZCB2aWRlb1NhbXBsZUF2YWlsYWJs
ZShXZWJDb3JlOjpNZWRpYVNhbXBsZSYsIFdlYkNvcmU6OlZpZGVvU2FtcGxlTWV0YWRhdGEpIGZp
bmFsOwogICAgIHZvaWQgZmV0Y2hEYXRhKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVmUHRyPFdl
YkNvcmU6OlNoYXJlZEJ1ZmZlcj4mJiwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgZG91YmxlKT4m
JikgZmluYWw7CiAgICAgdm9pZCBzdG9wUmVjb3JkaW5nKENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
KT4mJikgZmluYWw7CiAgICAgdm9pZCBzdGFydFJlY29yZGluZyhTdGFydFJlY29yZGluZ0NhbGxi
YWNrJiYpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29h
L1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5jcHAKaW5kZXggZDdjZTIwZDNmNGE0
MDgzZWI3NzM2YzUyOGI0Y2JjNWZjZWEwMzAwMy4uYjFlZjhmNTY0NTJmMWZjNjkxZmVkZTRjNDg0
OWMzYjViMDZjNjY5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29h
L1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIuY3BwCkBAIC0xNTAsNyArMTUw
LDcgQEAgdm9pZCBSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6YXVkaW9TdG9yYWdlQ2hhbmdl
ZChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmMKICAgICBpdGVyYXRvci0+dmFsdWUtPnNldFN0
b3JhZ2UoaXBjSGFuZGxlLmhhbmRsZSwgZGVzY3JpcHRpb24sIG51bWJlck9mRnJhbWVzLCBXVEZN
b3ZlKHNlbWFwaG9yZSksIG1lZGlhVGltZSwgZnJhbWVDaHVua1NpemUpOwogfQogCi12b2lkIFJl
bW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjp2aWRlb1NhbXBsZUF2YWlsYWJsZShSZWFsdGltZU1l
ZGlhU291cmNlSWRlbnRpZmllciBpZGVudGlmaWVyLCBSZW1vdGVWaWRlb1NhbXBsZSYmIHNhbXBs
ZSkKK3ZvaWQgUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OnZpZGVvU2FtcGxlQXZhaWxhYmxl
KFJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyIGlkZW50aWZpZXIsIFJlbW90ZVZpZGVvU2Ft
cGxlJiYgc2FtcGxlLCBWaWRlb1NhbXBsZU1ldGFkYXRhIG1ldGFkYXRhKQogewogICAgIEFTU0VS
VCghV1RGOjppc01haW5SdW5Mb29wKCkpOwogCkBAIC0xNTksNyArMTU5LDcgQEAgdm9pZCBSZW1v
dGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6dmlkZW9TYW1wbGVBdmFpbGFibGUoUmVhbHRpbWVNZWRp
YVNvdXJjZUlkZW50aWYKICAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoV2ViUlRDLCAiVW5hYmxl
IHRvIGZpbmQgc291cmNlICVsbHUgZm9yIHJlbW90ZVZpZGVvU2FtcGxlQXZhaWxhYmxlIiwgaWRl
bnRpZmllci50b1VJbnQ2NCgpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBpdGVyYXRv
ci0+dmFsdWUtPnZpZGVvU2FtcGxlQXZhaWxhYmxlKFdURk1vdmUoc2FtcGxlKSk7CisgICAgaXRl
cmF0b3ItPnZhbHVlLT52aWRlb1NhbXBsZUF2YWlsYWJsZShXVEZNb3ZlKHNhbXBsZSksIG1ldGFk
YXRhKTsKIH0KIAogUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OlJlbW90ZUF1ZGlvOjpSZW1v
dGVBdWRpbyhSZWY8UmVtb3RlUmVhbHRpbWVBdWRpb1NvdXJjZT4mJiBzb3VyY2UpCkBAIC0yMzIs
NyArMjMyLDcgQEAgUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OlJlbW90ZVZpZGVvOjpSZW1v
dGVWaWRlbyhTb3VyY2UmJiBzb3VyY2UpCiB7CiB9CiAKLXZvaWQgUmVtb3RlQ2FwdHVyZVNhbXBs
ZU1hbmFnZXI6OlJlbW90ZVZpZGVvOjp2aWRlb1NhbXBsZUF2YWlsYWJsZShSZW1vdGVWaWRlb1Nh
bXBsZSYmIHJlbW90ZVNhbXBsZSkKK3ZvaWQgUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OlJl
bW90ZVZpZGVvOjp2aWRlb1NhbXBsZUF2YWlsYWJsZShSZW1vdGVWaWRlb1NhbXBsZSYmIHJlbW90
ZVNhbXBsZSwgVmlkZW9TYW1wbGVNZXRhZGF0YSBtZXRhZGF0YSkKIHsKICAgICBpZiAoIW1faW1h
Z2VUcmFuc2ZlclNlc3Npb24gfHwgbV9pbWFnZVRyYW5zZmVyU2Vzc2lvbi0+cGl4ZWxGb3JtYXQo
KSAhPSByZW1vdGVTYW1wbGUudmlkZW9Gb3JtYXQoKSkKICAgICAgICAgbV9pbWFnZVRyYW5zZmVy
U2Vzc2lvbiA9IEltYWdlVHJhbnNmZXJTZXNzaW9uVlQ6OmNyZWF0ZShyZW1vdGVTYW1wbGUudmlk
ZW9Gb3JtYXQoKSk7CkBAIC0yNDgsOSArMjQ4LDkgQEAgdm9pZCBSZW1vdGVDYXB0dXJlU2FtcGxl
TWFuYWdlcjo6UmVtb3RlVmlkZW86OnZpZGVvU2FtcGxlQXZhaWxhYmxlKFJlbW90ZVZpZGVvU2EK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBzd2l0Y2hPbihtX3NvdXJjZSwgWyZdKFJlZjxS
ZW1vdGVSZWFsdGltZVZpZGVvU291cmNlPiYgc291cmNlKSB7Ci0gICAgICAgIHNvdXJjZS0+dmlk
ZW9TYW1wbGVBdmFpbGFibGUoKnNhbXBsZVJlZiwgcmVtb3RlU2FtcGxlLnNpemUoKSk7CisgICAg
ICAgIHNvdXJjZS0+dmlkZW9TYW1wbGVBdmFpbGFibGUoKnNhbXBsZVJlZiwgcmVtb3RlU2FtcGxl
LnNpemUoKSwgbWV0YWRhdGEpOwogICAgIH0sIFsmXShSZWY8UmVtb3RlUmVhbHRpbWVEaXNwbGF5
U291cmNlPiYgc291cmNlKSB7Ci0gICAgICAgIHNvdXJjZS0+cmVtb3RlVmlkZW9TYW1wbGVBdmFp
bGFibGUoKnNhbXBsZVJlZik7CisgICAgICAgIHNvdXJjZS0+cmVtb3RlVmlkZW9TYW1wbGVBdmFp
bGFibGUoKnNhbXBsZVJlZiwgbWV0YWRhdGEpOwogICAgIH0pOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIu
aCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFu
YWdlci5oCmluZGV4IGI0MTNiOGU2OTcyOTAzYWJhY2E4MjMzZGIwY2MwNjE4MGE4ZjMyMmEuLjg2
ZjQ5MGI3ODBmZTQ5Y2ExMWExMDRhZjdiNjliZDMzZTY4YzE3MjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFu
YWdlci5oCkBAIC03MCw3ICs3MCw3IEBAIHByaXZhdGU6CiAgICAgLy8gTWVzc2FnZXMKICAgICB2
b2lkIGF1ZGlvU3RvcmFnZUNoYW5nZWQoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50
aWZpZXIsIGNvbnN0IFNoYXJlZE1lbW9yeTo6SVBDSGFuZGxlJiwgY29uc3QgV2ViQ29yZTo6Q0FB
dWRpb1N0cmVhbURlc2NyaXB0aW9uJiwgdWludDY0X3QgbnVtYmVyT2ZGcmFtZXMsIElQQzo6U2Vt
YXBob3JlJiYsIGNvbnN0IE1lZGlhVGltZSYsIHNpemVfdCBmcmFtZVNhbXBsZVNpemUpOwogICAg
IHZvaWQgYXVkaW9TYW1wbGVzQXZhaWxhYmxlKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VJ
ZGVudGlmaWVyLCBNZWRpYVRpbWUsIHVpbnQ2NF90IG51bWJlck9mRnJhbWVzKTsKLSAgICB2b2lk
IHZpZGVvU2FtcGxlQXZhaWxhYmxlKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlm
aWVyLCBXZWJDb3JlOjpSZW1vdGVWaWRlb1NhbXBsZSYmKTsKKyAgICB2b2lkIHZpZGVvU2FtcGxl
QXZhaWxhYmxlKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyLCBXZWJDb3Jl
OjpSZW1vdGVWaWRlb1NhbXBsZSYmLCBXZWJDb3JlOjpWaWRlb1NhbXBsZU1ldGFkYXRhKTsKIAog
ICAgIHZvaWQgc2V0Q29ubmVjdGlvbihJUEM6OkNvbm5lY3Rpb24qKTsKIApAQCAtMTA1LDcgKzEw
NSw3IEBAIHByaXZhdGU6CiAgICAgICAgIHVzaW5nIFNvdXJjZSA9IHN0ZDo6dmFyaWFudDxSZWY8
UmVtb3RlUmVhbHRpbWVWaWRlb1NvdXJjZT4sIFJlZjxSZW1vdGVSZWFsdGltZURpc3BsYXlTb3Vy
Y2U+PjsKICAgICAgICAgZXhwbGljaXQgUmVtb3RlVmlkZW8oU291cmNlJiYpOwogCi0gICAgICAg
IHZvaWQgdmlkZW9TYW1wbGVBdmFpbGFibGUoV2ViQ29yZTo6UmVtb3RlVmlkZW9TYW1wbGUmJik7
CisgICAgICAgIHZvaWQgdmlkZW9TYW1wbGVBdmFpbGFibGUoV2ViQ29yZTo6UmVtb3RlVmlkZW9T
YW1wbGUmJiwgV2ViQ29yZTo6VmlkZW9TYW1wbGVNZXRhZGF0YSk7CiAKICAgICBwcml2YXRlOgog
ICAgICAgICBTb3VyY2UgbV9zb3VyY2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIubWVzc2FnZXMuaW4gYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIubWVz
c2FnZXMuaW4KaW5kZXggNjZlNjk3ZDQ3MTAwN2VlNzU3NjY2NTRjMzVkMjNjYmM4NTk2OTEyOS4u
ODY1MWIzY2Q3OTlhMWY3NTRmMmU4MDNjNDY4ODkwZThmNWFhZmE2NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLm1l
c3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0
dXJlU2FtcGxlTWFuYWdlci5tZXNzYWdlcy5pbgpAQCAtMjUsNyArMjUsNyBAQAogCiBtZXNzYWdl
cyAtPiBSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlciBOb3RSZWZDb3VudGVkIHsKICAgICBBdWRp
b1N0b3JhZ2VDaGFuZ2VkKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyIGlk
LCBXZWJLaXQ6OlNoYXJlZE1lbW9yeTo6SVBDSGFuZGxlIHN0b3JhZ2VIYW5kbGUsIFdlYkNvcmU6
OkNBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiBkZXNjcmlwdGlvbiwgdWludDY0X3QgbnVtYmVyT2ZG
cmFtZXMsIElQQzo6U2VtYXBob3JlIGNhcHR1cmVTZW1hcGhvcmUsIE1lZGlhVGltZSBtZWRpYVRp
bWUsIHNpemVfdCBmcmFtZUNodW5rU2l6ZSk7Ci0gICAgVmlkZW9TYW1wbGVBdmFpbGFibGUoV2Vi
Q29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50aWZpZXIgaWQsIFdlYkNvcmU6OlJlbW90ZVZp
ZGVvU2FtcGxlIHNhbXBsZSkKKyAgICBWaWRlb1NhbXBsZUF2YWlsYWJsZShXZWJDb3JlOjpSZWFs
dGltZU1lZGlhU291cmNlSWRlbnRpZmllciBpZCwgV2ViQ29yZTo6UmVtb3RlVmlkZW9TYW1wbGUg
c2FtcGxlLCBzdHJ1Y3QgV2ViQ29yZTo6VmlkZW9TYW1wbGVNZXRhZGF0YSBtZXRhZGF0YSkKIH0K
IAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVt
b3RlUmVhbHRpbWVEaXNwbGF5U291cmNlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29j
b2EvUmVtb3RlUmVhbHRpbWVEaXNwbGF5U291cmNlLmgKaW5kZXggMDI2NmY4N2Q3ZDYxNGM2MzQz
NDdlOTQ1ZWQ2YjZlYjdiNTIyZTJkYi4uMWE4ZjI0YTY0MDA3ZmJhM2QwZGY3OGQxOTljMWQ1N2U5
ZTZhOTZkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90
ZVJlYWx0aW1lRGlzcGxheVNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9j
b2NvYS9SZW1vdGVSZWFsdGltZURpc3BsYXlTb3VyY2UuaApAQCAtNjEsNyArNjEsNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCBjYXB0dXJlU3RvcHBlZCgpOwogICAgIHZvaWQgY2FwdHVyZUZhaWxlZCgp
IGZpbmFsOwogCi0gICAgdm9pZCByZW1vdGVWaWRlb1NhbXBsZUF2YWlsYWJsZShXZWJDb3JlOjpN
ZWRpYVNhbXBsZSYgc2FtcGxlKSB7IHZpZGVvU2FtcGxlQXZhaWxhYmxlKHNhbXBsZSk7IH0KKyAg
ICB2b2lkIHJlbW90ZVZpZGVvU2FtcGxlQXZhaWxhYmxlKFdlYkNvcmU6Ok1lZGlhU2FtcGxlJiBz
YW1wbGUsIFdlYkNvcmU6OlZpZGVvU2FtcGxlTWV0YWRhdGEgbWV0YWRhdGEpIHsgdmlkZW9TYW1w
bGVBdmFpbGFibGUoc2FtcGxlLCBtZXRhZGF0YSk7IH0KICAgICB2b2lkIHNvdXJjZU11dGVkQ2hh
bmdlZChib29sIHZhbHVlKSB7IG5vdGlmeU11dGVkQ2hhbmdlKHZhbHVlKTsgfQogCiBwcml2YXRl
OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90ZVJlYWx0
aW1lVmlkZW9Tb3VyY2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90
ZVJlYWx0aW1lVmlkZW9Tb3VyY2UuY3BwCmluZGV4IGQ2NzZiMjM5MGU4YTJmYTZlMDkzZDUzOTZm
ZmI4NTM2MzdhM2FlZGYuLmVjZDg2YzBmYTUzNTRlZGI3NzFjNjJmNmU4ZmM4OWExYWVjN2I2ODMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVSZWFsdGlt
ZVZpZGVvU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVt
b3RlUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHAKQEAgLTExMiw3ICsxMTIsNyBAQCB2b2lkIFJlbW90
ZVJlYWx0aW1lVmlkZW9Tb3VyY2U6OnNldFNldHRpbmdzKFJlYWx0aW1lTWVkaWFTb3VyY2VTZXR0
aW5ncyYmIHNldHRpbgogICAgIG5vdGlmeVNldHRpbmdzRGlkQ2hhbmdlT2JzZXJ2ZXJzKGNoYW5n
ZWQpOwogfQogCi12b2lkIFJlbW90ZVJlYWx0aW1lVmlkZW9Tb3VyY2U6OnZpZGVvU2FtcGxlQXZh
aWxhYmxlKE1lZGlhU2FtcGxlJiBzYW1wbGUsIEludFNpemUgc2FtcGxlU2l6ZSkKK3ZvaWQgUmVt
b3RlUmVhbHRpbWVWaWRlb1NvdXJjZTo6dmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUm
IHNhbXBsZSwgSW50U2l6ZSBzYW1wbGVTaXplLCBWaWRlb1NhbXBsZU1ldGFkYXRhIG1ldGFkYXRh
KQogewogICAgIEFTU0VSVCh0eXBlKCkgPT0gVHlwZTo6VmlkZW8pOwogCkBAIC0xMzEsNyArMTMx
LDcgQEAgdm9pZCBSZW1vdGVSZWFsdGltZVZpZGVvU291cmNlOjp2aWRlb1NhbXBsZUF2YWlsYWJs
ZShNZWRpYVNhbXBsZSYgc2FtcGxlLCBJbnRTaXoKICAgICAgICAgICAgIG5vdGlmeVNldHRpbmdz
RGlkQ2hhbmdlT2JzZXJ2ZXJzKHsgUmVhbHRpbWVNZWRpYVNvdXJjZVNldHRpbmdzOjpGbGFnOjpX
aWR0aCwgUmVhbHRpbWVNZWRpYVNvdXJjZVNldHRpbmdzOjpGbGFnOjpIZWlnaHQgfSk7CiAgICAg
ICAgIH0pOwogICAgIH0KLSAgICBkaXNwYXRjaE1lZGlhU2FtcGxlVG9PYnNlcnZlcnMoc2FtcGxl
KTsKKyAgICBkaXNwYXRjaE1lZGlhU2FtcGxlVG9PYnNlcnZlcnMoc2FtcGxlLCBtZXRhZGF0YSk7
CiB9CiAKIGJvb2wgUmVtb3RlUmVhbHRpbWVWaWRlb1NvdXJjZTo6c2V0U2hvdWxkQXBwbHlSb3Rh
dGlvbihib29sIHNob3VsZEFwcGx5Um90YXRpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlUmVhbHRpbWVWaWRlb1NvdXJjZS5oIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90ZVJlYWx0aW1lVmlkZW9Tb3VyY2UuaAppbmRleCBh
N2QyMjgzYjM3ZGJiZDQyZTU1ZjI0NzljNmIyN2QwOWM3MTdjNDViLi4zMmE4YTExNTQ2NGIwYjY1
YjdlYWYzYmYwZGI4MTdmZTFiOGY5YTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvY29jb2EvUmVtb3RlUmVhbHRpbWVWaWRlb1NvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVSZWFsdGltZVZpZGVvU291cmNlLmgKQEAgLTY2LDcg
KzY2LDcgQEAgcHVibGljOgogICAgIHZvaWQgY2FwdHVyZVN0b3BwZWQoKTsKICAgICB2b2lkIGNh
cHR1cmVGYWlsZWQoKSBmaW5hbDsKIAotICAgIHZvaWQgdmlkZW9TYW1wbGVBdmFpbGFibGUoV2Vi
Q29yZTo6TWVkaWFTYW1wbGUmLCBXZWJDb3JlOjpJbnRTaXplKTsKKyAgICB2b2lkIHZpZGVvU2Ft
cGxlQXZhaWxhYmxlKFdlYkNvcmU6Ok1lZGlhU2FtcGxlJiwgV2ViQ29yZTo6SW50U2l6ZSwgV2Vi
Q29yZTo6VmlkZW9TYW1wbGVNZXRhZGF0YSk7CiAgICAgdm9pZCBzb3VyY2VNdXRlZENoYW5nZWQo
Ym9vbCB2YWx1ZSkgeyBub3RpZnlNdXRlZENoYW5nZSh2YWx1ZSk7IH0KIAogcHJpdmF0ZToKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCAxNTRkMDBlMmFmNzE2ZWUyZDIyNTA4ZDY3NDBjODAzY2M3Y2NlOGU5Li4xNTJhZTQ3ODRk
NjYwY2ZlZDg0YTA2MDNkMWY4MjdlMzZmMWVjYmI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIw
MjEtMTEtMTYgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEFk
ZCBzdXBwb3J0IGZvciBtb3JlIHJ2ZmMgbWV0YWRhdGEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzE4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRp
b25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjEtMTEtMTQgIFNp
bW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgRmluZ2VycyBk
b3duIG9uIHRoZSB0cmFja3BhZCBzaG91bGQgc3RvcCBhbiBhbmltYXRlZCBzY3JvbGwKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDlmOGM5OTAzODZlMTI5MTcwYjhiMWE2YTljMGY2
MTRhNDZiMWRiNjkuLmI0MmJiODUzZGFmY2YwZjI2NDgxYzdhOTA1YTk1ZTNlNDM5ZjY1MmYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIxLTExLTE2
ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9y
dCBmb3IgbW9yZSBydmZjIG1ldGFkYXRhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzMxODUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3Qt
dmlkZW8tZnJhbWUtY2FsbGJhY2std2VicnRjLmh0dHBzLWV4cGVjdGVkLnR4dDoKKwogMjAyMS0x
MS0xNCAgVGltIE5ndXllbiAgPG50aW1AYXBwbGUuY29tPgogCiAgICAgICAgIE1vZGFsIGRpYWxv
Z3Mgc2hvdWxkIG1ha2UgdGhlIHJvb3QgZWxlbWVudCB1bmZvY3VzYWJsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3Jl
cXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2std2VicnRjLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1
ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXdlYnJ0Yy5odHRwcy1leHBlY3RlZC50eHQKaW5kZXgg
MGQ1NGQwZWFhZTc4ODY0NmZiMGRmMTE4Mjg4MjMxZmIyNTQ4Nzc3ZC4uOTcxMjNjNmE1NjVkNTYx
ZDIwZDBlZDNiNDMyMWY1YzM1YmQ4YmQ3OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUt
Y2FsbGJhY2std2VicnRjLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFt
ZS1jYWxsYmFjay13ZWJydGMuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCi1G
QUlMIFRlc3QgdmlkZW8ucmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFjaygpIHBhcmFtZXRlcnMgZm9y
IFdlYlJUQyBhcHBsaWNhdGlvbnMuIGFzc2VydF9ncmVhdGVyX3RoYW46IGV4cGVjdGVkIGEgbnVt
YmVyIGJ1dCBnb3QgYSAidW5kZWZpbmVkIgorUEFTUyBUZXN0IHZpZGVvLnJlcXVlc3RWaWRlb0Zy
YW1lQ2FsbGJhY2soKSBwYXJhbWV0ZXJzIGZvciBXZWJSVEMgYXBwbGljYXRpb25zLgogCiAK
</data>
<flag name="commit-queue"
          id="469530"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444502</attachid>
            <date>2021-11-17 02:41:24 -0800</date>
            <delta_ts>2021-11-17 23:46:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233185-20211117114119.patch</filename>
            <type>text/plain</type>
            <size>59878</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1Nzk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGUwOWY5NTk5ZDBmNWM4
N2EzNWIyNTRiZjUyNzNhZTZjMzZmZTI4YS4uYTIzNmU0NjAzOTJjNTlmOGI5YzlkNjQxYTg2NWM5
MWRiYzkwNjE0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDIxLTExLTE2ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Ig
bW9yZSBydmZjIG1ldGFkYXRhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzMxODUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBJbnRyb2R1Y2UgVmlkZW9TYW1wbGVNZXRhZGF0YSB0aGF0IGFsbG93cyBhIFJl
YWx0aW1lTWVkaWFTb3VyY2UgdG8gcHJvdmlkZSBtZXRhZGF0YSBmb3IgZWFjaCB2aWRlbyBmcmFt
ZS4KKyAgICAgICAgRmlsbCBWaWRlb1NhbXBsZU1ldGFkYXRhIGZvciBlYWNoIHNvdXJjZSAoY2Fw
dHVyZSBhbmQgV2ViUlRDKQorICAgICAgICBNYWtlIHVzZSBvZiBWaWRlb1NhbXBsZU1ldGFkYXRh
IGluIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQyB0byBmaWxsIFZpZGVvRnJh
bWVNZXRhZGF0YS4KKyAgICAgICAgRW5oYW5jZSBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRp
b25PYmpDIHRvIGZpbGwgaW4gdGhlIG5ld2x5IGV4cG9zZWQgbWV0YWRhdGEgaW4gVmlkZW9GcmFt
ZU1ldGFkYXRhLgorICAgICAgICBVcGRhdGUgSFRNTFZpZGVvRWxlbWVudCB0byBwcm9jZXNzIHRo
ZSB0aW1lc3RhbXAgdmFsdWVzIGFzIG5lZWRlZC4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0
aW5nIHRlc3RzLgorCisgICAgICAgICogSGVhZGVycy5jbWFrZToKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrLmNwcDoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogaHRtbC9IVE1M
VmlkZW9FbGVtZW50LmNwcDoKKyAgICAgICAgKiBodG1sL1ZpZGVvRnJhbWVNZXRhZGF0YS5pZGw6
CisgICAgICAgICogcGxhdGZvcm0vVmlkZW9TYW1wbGVNZXRhZGF0YS5oOiBBZGRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZh
dGVNZWRpYVN0cmVhbUFWRk9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW06Cisg
ICAgICAgICogcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRklt
cGwuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclBy
aXZhdGVBVkZJbXBsLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJl
Y29yZGVyUHJpdmF0ZU1vY2suY3BwOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhcmVjb3JkZXIv
TWVkaWFSZWNvcmRlclByaXZhdGVNb2NrLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJl
YW0vUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2UuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlLmNwcDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlLmg6CisgICAgICAgICogcGxhdGZv
cm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlLmg6CisgICAgICAgICog
cGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVWaWRlb0NhcHR1cmVTb3VyY2UuY3BwOgorICAg
ICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lVmlkZW9DYXB0dXJlU291cmNlLmg6
CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHA6
CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVWaWRlb1NvdXJjZS5oOgor
ICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2NvY29hL0Rpc3BsYXlDYXB0dXJlU291cmNl
Q29jb2EuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9HU3Ry
ZWFtZXJNZWRpYVN0cmVhbVNvdXJjZS5jcHA6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJl
YW0vZ3N0cmVhbWVyL0dTdHJlYW1lclZpZGVvQ2FwdHVyZVNvdXJjZS5jcHA6CisgICAgICAgICog
cGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL01vY2tSZWFsdGltZVZpZGVvU291cmNlR1N0
cmVhbWVyLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIvTW9j
a1JlYWx0aW1lVmlkZW9Tb3VyY2VHU3RyZWFtZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRp
YXN0cmVhbS9saWJ3ZWJydGMvZ3N0cmVhbWVyL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUxp
YldlYlJUQy5jcHA6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL2dz
dHJlYW1lci9SZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VMaWJXZWJSVEMuY3BwOgorICAgICAg
ICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9nc3RyZWFtZXIvUmVhbHRpbWVPdXRn
b2luZ1ZpZGVvU291cmNlTGliV2ViUlRDLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJl
YW0vbWFjL0FWVmlkZW9DYXB0dXJlU291cmNlLm1tOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlh
c3RyZWFtL21hYy9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZU1hYy5tbToKKyAgICAgICAgKiBwbGF0
Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlQ29jb2EubW06
CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdWaWRl
b1NvdXJjZUNvY29hLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVh
bHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2EuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVy
bmFscy5jcHA6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKwogMjAyMS0xMS0xNCAg
U2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBGaW5nZXJz
IGRvd24gb24gdGhlIHRyYWNrcGFkIHNob3VsZCBzdG9wIGFuIGFuaW1hdGVkIHNjcm9sbApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwppbmRleCA0NThkZjM5ZjVhM2FlMGZmMGFlMjIyNzdmMWFhMjRlYmRkYTNjZWRkLi5kZWM3Mjk5
YmEwNTE0MmJkZWM4NDBkMmJiYTk4NDMzYjBiNjAzZjk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIy
IEBACisyMDIxLTExLTE2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAg
ICAgICBBZGQgc3VwcG9ydCBmb3IgbW9yZSBydmZjIG1ldGFkYXRhCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMxODUKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIHN1cmUgdG8gcmVjZWl2ZSBmcmFt
ZSBtZXRhZGF0cywgc2VuZCBpdCB0aHJvdWdoIElQQyB0byBXZWJQcm9jZXNzIGFuZCBwaXBlIGl0
IHRvIG1lZGlhIHNvdXJjZSBvYnNlcnZlcnMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2Ev
VXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9H
UFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLmNwcDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5tZXNzYWdlcy5pbjoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL2NvY29hL1JlbW90ZVJlYWx0aW1lRGlzcGxheVNvdXJjZS5oOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvY29jb2EvUmVtb3RlUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHA6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVSZWFsdGltZVZpZGVvU291cmNlLmg6CisK
IDIwMjEtMTEtMTQgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAg
IEdldCBkYWVtb24gQVBJIHJlYWR5IHRvIHdvcmsgaW4gdGhlIGlPUyBzaW11bGF0b3IgKHN0YXJ0
aW5nIHdpdGggV2ViUHVzaEQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNt
YWtlIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQppbmRleCAzOTE1NzNmMDgyNGNjZDM0
ODJkZmQ2MTdmOTdkNmFhNWIwYjdjZWRjLi4yMGQwNzg3ZmQ5NTQ5ZGMzZmQ2MTJjMzMyYzA3YWQ1
MWYzMmU1YzUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKQEAgLTExODksNiArMTE4OSw3IEBAIHNldChX
ZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAgICBwbGF0Zm9ybS9Vc2VySW50ZXJm
YWNlTGF5b3V0RGlyZWN0aW9uLmgKICAgICBwbGF0Zm9ybS9WYWxpZGF0aW9uQnViYmxlLmgKICAg
ICBwbGF0Zm9ybS9WaWRlb0ZyYW1lTWV0YWRhdGEuaAorICAgIHBsYXRmb3JtL1ZpZGVvU2FtcGxl
TWV0YWRhdGEuaAogICAgIHBsYXRmb3JtL1dlYkdMU3RhdGVUcmFja2VyLmgKICAgICBwbGF0Zm9y
bS9XaWRnZXQuaAogICAgIHBsYXRmb3JtL1dpbmRvd3NLZXlib2FyZENvZGVzLmgKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vQ2FudmFzQ2FwdHVyZU1lZGlh
U3RyZWFtVHJhY2suY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9DYW52
YXNDYXB0dXJlTWVkaWFTdHJlYW1UcmFjay5jcHAKaW5kZXggNWMwYjU2YzBmMzIzYTU5Mjc3MGE4
NGViYjRlNjkwMWVkODI4NWE4Ni4uZWU1ODkwNzc3MjM1YjZmNDE3ZmQyMjZjM2JmYjVkMDk5YTgw
ZDI3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9DYW52
YXNDYXB0dXJlTWVkaWFTdHJlYW1UcmFjay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9DYW52YXNDYXB0dXJlTWVkaWFTdHJlYW1UcmFjay5jcHAKQEAgLTE5Niw3
ICsxOTYsOSBAQCB2b2lkIENhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrOjpTb3VyY2U6OmNh
cHR1cmVDYW52YXMoKQogICAgIGlmICghc2FtcGxlKQogICAgICAgICByZXR1cm47CiAKLSAgICB2
aWRlb1NhbXBsZUF2YWlsYWJsZSgqc2FtcGxlKTsKKyAgICBWaWRlb1NhbXBsZU1ldGFkYXRhIG1l
dGFkYXRhOworICAgIG1ldGFkYXRhLmNhcHR1cmVUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCku
c2Vjb25kc1NpbmNlRXBvY2goKTsKKyAgICB2aWRlb1NhbXBsZUF2YWlsYWJsZSgqc2FtcGxlLCBt
ZXRhZGF0YSk7CiB9CiAKIFJlZlB0cjxNZWRpYVN0cmVhbVRyYWNrPiBDYW52YXNDYXB0dXJlTWVk
aWFTdHJlYW1UcmFjazo6Y2xvbmUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDk5ODEwZWI4MjAzY2NkYTZiNWM5ZTM4MTYxNGI2
MmJlNmVmMmExY2MuLjM4OTVkYzY4NjZmYTRiMjRmNDdkNTdkMzNlZTZjMzc1ZTRkNmZhMDQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
QEAgLTExMTcsNiArMTExNyw3IEBACiAJCTQxNTdFQkZCMUUzQUI2N0YwMEFDOUZFOSAvKiBNb2Nr
TGliV2ViUlRDUGVlckNvbm5lY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQxNTdFQkY4MUUzQUIwNjgwMEFDOUZFOSAvKiBNb2NrTGliV2ViUlRD
UGVlckNvbm5lY3Rpb24uaCAqLzsgfTsKIAkJNDE1ODY0QTAyM0JGN0NCRjAwQTBBNjFFIC8qIFJl
YWx0aW1lVmlkZW9VdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQxRDE5MzhGMjE1MkM1NjEwMDZGMTRDQSAvKiBSZWFsdGltZVZpZGVvVXRp
bGl0aWVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJNDE1Q0RBRjUxRTZCOEY4QjAwNEYxMUVFIC8qIENhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRy
YWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUM3
RTEwNjFFNkE1NDM2MDAyN0I0REUgLyogQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2suaCAq
LzsgfTsKKwkJNDE2MDQ5MzMyNzQzQjBFODAwQTg2RkEwIC8qIFZpZGVvU2FtcGxlTWV0YWRhdGEu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNjA0OTMx
Mjc0M0IwRTcwMEE4NkZBMCAvKiBWaWRlb1NhbXBsZU1ldGFkYXRhLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE2MTRBNzkxREE2NDI0MTAwNEFE
MDZGIC8qIEhUVFBIZWFkZXJWYWx1ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQxNjE0QTc3MURBNjQyMzYwMDRBRDA2RiAvKiBIVFRQSGVhZGVyVmFs
dWVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
NDE2MUUyRDUxRkU0OERDNTAwRUMyRTk2IC8qIEZldGNoTG9hZGVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTQ3RTJCNTFDODk5MTI2MDBBN0U3MTUg
LyogRmV0Y2hMb2FkZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQk0MTYyQTQ1MTEwMTE0NUFFMDBERkYzRUQgLyogRGVkaWNhdGVkV29ya2VyR2xv
YmFsU2NvcGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxNjJBNDRFMTAxMTQ1QUUwMERGRjNFRCAvKiBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5o
ICovOyB9OwpAQCAtODMzMyw2ICs4MzM0LDcgQEAKIAkJNDE1RTFCQjUyMTUwMTA4MTAwMjJEQTk2
IC8qIFJUQ1J0cENvbnRyaWJ1dGluZ1NvdXJjZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
UlRDUnRwQ29udHJpYnV0aW5nU291cmNlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNDE1RTFCQjYyMTUwMTUyQTAwMjJEQTk2IC8qIFJUQ1J0cFN5bmNocm9uaXphdGlvblNvdXJj
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSVENSdHBTeW5jaHJvbml6YXRp
b25Tb3VyY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE1RTFCQjcyMTUwMTUz
MDAwMjJEQTk2IC8qIFJUQ1J0cFN5bmNocm9uaXphdGlvblNvdXJjZS5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gUlRDUnRwU3luY2hyb25pemF0aW9uU291cmNlLmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNDE2MDQ5MzEyNzQzQjBFNzAwQTg2RkEwIC8qIFZpZGVvU2FtcGxl
TWV0YWRhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVmlkZW9TYW1wbGVN
ZXRhZGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTYxNEE3NjFEQTY0MjM2
MDA0QUQwNkYgLyogSFRUUEhlYWRlclZhbHVlcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBIVFRQSGVhZGVyVmFsdWVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDE2MTRBNzcxREE2NDIzNjAwNEFEMDZGIC8qIEhUVFBIZWFkZXJWYWx1ZXMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSFRUUEhlYWRlclZhbHVlcy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTYyQTQ0RDEwMTE0NUFFMDBERkYzRUQgLyogRGVk
aWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtMjkxMTMsNiArMjkxMTUsNyBAQAogCQkJCTcxQzkxNjA3MUQxNDgzQTMw
MEFDQTQ3RCAvKiBVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uLmggKi8sCiAJCQkJODNDNDVC
OEQxREMyQjY3QzAwODg3MUJBIC8qIFZhbGlkYXRpb25CdWJibGUuaCAqLywKIAkJCQk0MURFRUZC
NDI3MTlCQTE5MDBDQjhENzQgLyogVmlkZW9GcmFtZU1ldGFkYXRhLmggKi8sCisJCQkJNDE2MDQ5
MzEyNzQzQjBFNzAwQTg2RkEwIC8qIFZpZGVvU2FtcGxlTWV0YWRhdGEuaCAqLywKIAkJCQk1MTVG
Nzk1MTFDRkNBM0M3MDBDQ0VEOTMgLyogV2ViQ29yZUNyb3NzVGhyZWFkQ29waWVyLmNwcCAqLywK
IAkJCQk1MTVGNzk1MjFDRkNBM0M3MDBDQ0VEOTMgLyogV2ViQ29yZUNyb3NzVGhyZWFkQ29waWVy
LmggKi8sCiAJCQkJODM5QTJGMkIxRTIwNEE2RDAwMzkwNTdFIC8qIFdlYkdMU3RhdGVUcmFja2Vy
LmNwcCAqLywKQEAgLTM2NjgxLDYgKzM2Njg0LDcgQEAKIAkJCQlDREU4M0RCMjE4M0M0NDA2MDAz
MUVBQTMgLyogVmlkZW9QbGF5YmFja1F1YWxpdHkuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3NTAz
M0E4MjUyQkQzNjgwMEY3MENFMyAvKiBWaWRlb1BsYXliYWNrUXVhbGl0eU1ldHJpY3MuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTA3NTdCMTNFMjE0QUU3OTkwMDc5NEIwRCAvKiBWaWRlb1ByZXNldC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJNDE2MDQ5MzMyNzQzQjBFODAwQTg2RkEwIC8qIFZpZGVvU2Ft
cGxlTWV0YWRhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEQzkzOUE4MUU5QkRGQjEwMEJCNzY4
RCAvKiBWaWRlb1Rvb2xib3hTb2Z0TGluay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkU4OEUwREYx
NzE1RDJBMjAwNjU4RDk4IC8qIFZpZGVvVHJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCUNEMUY5
QjE4MjcwMjNBMkEwMDYxN0VCNiAvKiBWaWRlb1RyYWNrQ2xpZW50LmggaW4gSGVhZGVycyAqLywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuY3BwCmluZGV4IGJiMDVlMjc2MWY4
MmRjOWRlMzExZDRjYmEyMzQ3OTUxNjkwOWMzMjkuLmIwZDE0ODNiYmVjODZhNzgyN2FmNjkxZDg0
ZmY2YWQ3MjkyMGNhOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVv
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmNw
cApAQCAtNDEsNiArNDEsNyBAQAogI2luY2x1ZGUgIkltYWdlQnVmZmVyLmgiCiAjaW5jbHVkZSAi
TG9nZ2luZy5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZS5oIgog
I2luY2x1ZGUgIlBpY3R1cmVJblBpY3R1cmVTdXBwb3J0LmgiCiAjaW5jbHVkZSAiUmVuZGVySW1h
Z2UuaCIKICNpbmNsdWRlICJSZW5kZXJWaWRlby5oIgpAQCAtNjA5LDE1ICs2MTAsMjcgQEAgdm9p
ZCBIVE1MVmlkZW9FbGVtZW50OjpjYW5jZWxWaWRlb0ZyYW1lQ2FsbGJhY2sodW5zaWduZWQgaWRl
bnRpZmllcikKICAgICBtX3ZpZGVvRnJhbWVSZXF1ZXN0cy5yZW1vdmUoaW5kZXgpOwogfQogCitz
dGF0aWMgdm9pZCBwcm9jZXNzVmlkZW9GcmFtZU1ldGFkYXRhVGltZXN0YW1wcyhWaWRlb0ZyYW1l
TWV0YWRhdGEmIG1ldGFkYXRhLCBQZXJmb3JtYW5jZSYgcGVyZm9ybWFuY2UpCit7CisgICAgbWV0
YWRhdGEucHJlc2VudGF0aW9uVGltZSA9IHBlcmZvcm1hbmNlLnJlbGF0aXZlVGltZUZyb21UaW1l
T3JpZ2luSW5SZWR1Y2VkUmVzb2x1dGlvbihNb25vdG9uaWNUaW1lOjpmcm9tUmF3U2Vjb25kcyht
ZXRhZGF0YS5wcmVzZW50YXRpb25UaW1lKSk7CisgICAgbWV0YWRhdGEuZXhwZWN0ZWREaXNwbGF5
VGltZSA9IHBlcmZvcm1hbmNlLnJlbGF0aXZlVGltZUZyb21UaW1lT3JpZ2luSW5SZWR1Y2VkUmVz
b2x1dGlvbihNb25vdG9uaWNUaW1lOjpmcm9tUmF3U2Vjb25kcyhtZXRhZGF0YS5leHBlY3RlZERp
c3BsYXlUaW1lKSk7CisgICAgaWYgKG1ldGFkYXRhLmNhcHR1cmVUaW1lKQorICAgICAgICBtZXRh
ZGF0YS5jYXB0dXJlVGltZSA9IHBlcmZvcm1hbmNlLnJlbGF0aXZlVGltZUZyb21UaW1lT3JpZ2lu
SW5SZWR1Y2VkUmVzb2x1dGlvbihNb25vdG9uaWNUaW1lOjpmcm9tUmF3U2Vjb25kcygqbWV0YWRh
dGEuY2FwdHVyZVRpbWUpKTsKKyAgICBpZiAobWV0YWRhdGEucmVjZWl2ZVRpbWUpCisgICAgICAg
IG1ldGFkYXRhLnJlY2VpdmVUaW1lID0gcGVyZm9ybWFuY2UucmVsYXRpdmVUaW1lRnJvbVRpbWVP
cmlnaW5JblJlZHVjZWRSZXNvbHV0aW9uKE1vbm90b25pY1RpbWU6OmZyb21SYXdTZWNvbmRzKCpt
ZXRhZGF0YS5yZWNlaXZlVGltZSkpOworfQorCiB2b2lkIEhUTUxWaWRlb0VsZW1lbnQ6OnNlcnZp
Y2VSZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrcyhSZWR1Y2VkUmVzb2x1dGlvblNlY29uZHMgbm93
KQogewogICAgIGlmICghcGxheWVyKCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIGF1dG8gdmlk
ZW9GcmFtZU1ldGFkYXRhID0gcGxheWVyKCktPnZpZGVvRnJhbWVNZXRhZGF0YSgpOwotICAgIGlm
ICghdmlkZW9GcmFtZU1ldGFkYXRhKQorICAgIGlmICghdmlkZW9GcmFtZU1ldGFkYXRhIHx8ICFk
b2N1bWVudCgpLmRvbVdpbmRvdygpKQogICAgICAgICByZXR1cm47CiAKKyAgICBwcm9jZXNzVmlk
ZW9GcmFtZU1ldGFkYXRhVGltZXN0YW1wcygqdmlkZW9GcmFtZU1ldGFkYXRhLCBkb2N1bWVudCgp
LmRvbVdpbmRvdygpLT5wZXJmb3JtYW5jZSgpKTsKKwogICAgIFJlZiBwcm90ZWN0ZWRUaGlzIHsg
KnRoaXMgfTsKIAogICAgIC8vIFdlIHN0b3JlIHRoZSBzaXplIGJlZm9yZSBjYWxsaW5nIGNhbGxi
YWNrcyBhcyB3ZSBkbyBub3Qgd2FudCB0byBjYWxsIG5ld2x5IGFkZGVkIGNhbGxiYWNrcy4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmlkZW9GcmFtZU1ldGFkYXRhLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvVmlkZW9GcmFtZU1ldGFkYXRhLmlkbAppbmRleCAyY2E5NWU4ZjAz
ZDMwNTdhYzJlODBjNGE1ZDJmYTIzMDU2YWY3OGJkLi40MTk2ZWJhZmMzYjJlMzNlMmY0NmFlYzlm
NmRkNWVjOTAwMmNjZDNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZpZGVvRnJh
bWVNZXRhZGF0YS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9WaWRlb0ZyYW1lTWV0YWRh
dGEuaWRsCkBAIC0yOSw5ICsyOSw4IEBAIHR5cGVkZWYgZG91YmxlIERPTUhpZ2hSZXNUaW1lU3Rh
bXA7CiAgICAgQ29uZGl0aW9uYWw9VklERU8sCiAgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QsCiBd
IGRpY3Rpb25hcnkgVmlkZW9GcmFtZU1ldGFkYXRhIHsKLSAgICAvLyBGSVhNRTogZXhwb3NlIHBy
ZXNlbnRhdGlvblRpbWUgYW5kIGV4cGVjdGVkRGlzcGxheVRpbWUuCi0gICAgLy8gcmVxdWlyZWQg
RE9NSGlnaFJlc1RpbWVTdGFtcCBwcmVzZW50YXRpb25UaW1lOwotICAgIC8vIHJlcXVpcmVkIERP
TUhpZ2hSZXNUaW1lU3RhbXAgZXhwZWN0ZWREaXNwbGF5VGltZTsKKyAgICByZXF1aXJlZCBET01I
aWdoUmVzVGltZVN0YW1wIHByZXNlbnRhdGlvblRpbWU7CisgICAgcmVxdWlyZWQgRE9NSGlnaFJl
c1RpbWVTdGFtcCBleHBlY3RlZERpc3BsYXlUaW1lOwogCiAgICAgcmVxdWlyZWQgdW5zaWduZWQg
bG9uZyB3aWR0aDsKICAgICByZXF1aXJlZCB1bnNpZ25lZCBsb25nIGhlaWdodDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZpZGVvU2FtcGxlTWV0YWRhdGEuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1ZpZGVvU2FtcGxlTWV0YWRhdGEuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iN2Zj
YWYwYzhlNzQ1ZjU3NjYwMzUxODA4MjViZjI5MmEyNzVjYWM1Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVmlkZW9TYW1wbGVNZXRhZGF0YS5oCkBAIC0wLDAgKzEs
NzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPG9wdGlvbmFsPgor
I2luY2x1ZGUgPHd0Zi9TZWNvbmRzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0
IFZpZGVvU2FtcGxlTWV0YWRhdGEgeworICAgIHN0ZDo6b3B0aW9uYWw8ZG91YmxlPiBwcm9jZXNz
aW5nRHVyYXRpb247CisKKyAgICBzdGQ6Om9wdGlvbmFsPFNlY29uZHM+IGNhcHR1cmVUaW1lOwor
ICAgIHN0ZDo6b3B0aW9uYWw8U2Vjb25kcz4gcmVjZWl2ZVRpbWU7CisgICAgc3RkOjpvcHRpb25h
bDx1bnNpZ25lZD4gcnRwVGltZXN0YW1wOworCisgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4g
dm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OworICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+
IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFZpZGVvU2FtcGxlTWV0YWRhdGE+IGRlY29kZShEZWNvZGVy
Jik7Cit9OworCit0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgoraW5saW5lIHZvaWQgVmlkZW9TYW1w
bGVNZXRhZGF0YTo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgZW5jb2Rl
ciA8PCBwcm9jZXNzaW5nRHVyYXRpb24gPDwgY2FwdHVyZVRpbWUgPDwgcmVjZWl2ZVRpbWUgPDwg
cnRwVGltZXN0YW1wOworfQorCit0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgoraW5saW5lIHN0ZDo6
b3B0aW9uYWw8VmlkZW9TYW1wbGVNZXRhZGF0YT4gVmlkZW9TYW1wbGVNZXRhZGF0YTo6ZGVjb2Rl
KERlY29kZXImIGRlY29kZXIpCit7CisgICAgc3RkOjpvcHRpb25hbDxzdGQ6Om9wdGlvbmFsPGRv
dWJsZT4+IHByb2Nlc3NpbmdEdXJhdGlvbjsKKyAgICBkZWNvZGVyID4+IHByb2Nlc3NpbmdEdXJh
dGlvbjsKKyAgICBpZiAoIXByb2Nlc3NpbmdEdXJhdGlvbikKKyAgICAgICAgcmV0dXJuIHN0ZDo6
bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0aW9uYWw8c3RkOjpvcHRpb25hbDxTZWNvbmRzPj4gY2Fw
dHVyZVRpbWU7CisgICAgZGVjb2RlciA+PiBjYXB0dXJlVGltZTsKKyAgICBpZiAoIWNhcHR1cmVU
aW1lKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgc3RkOjpvcHRpb25hbDxz
dGQ6Om9wdGlvbmFsPFNlY29uZHM+PiByZWNlaXZlVGltZTsKKyAgICBkZWNvZGVyID4+IHJlY2Vp
dmVUaW1lOworICAgIGlmICghcmVjZWl2ZVRpbWUpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxv
cHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8dW5zaWduZWQ+PiBydHBUaW1l
c3RhbXA7CisgICAgZGVjb2RlciA+PiBydHBUaW1lc3RhbXA7CisgICAgaWYgKCFydHBUaW1lc3Rh
bXApCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICByZXR1cm4gVmlkZW9TYW1w
bGVNZXRhZGF0YSB7ICpwcm9jZXNzaW5nRHVyYXRpb24sICpjYXB0dXJlVGltZSwgKnJlY2VpdmVU
aW1lLCAqcnRwVGltZXN0YW1wIH07Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU3RyZWFtQVZGT2JqQy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLmgKaW5k
ZXggYWZlZWM3NzU5OGE1ZTFmNzQxNWNmNTJjYzNmNmMxOWU2ODViMGIzMi4uMTQ4NzRmMmFlMzFi
MGMxNWQzNWZhM2UxMDE3YmYzNjJjMjQ3MmRkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTdHJlYW1BVkZPYmpDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLmgK
QEAgLTEzNiw3ICsxMzYsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBmbHVzaFJlbmRlcmVycygp
OwogCi0gICAgdm9pZCBwcm9jZXNzTmV3VmlkZW9TYW1wbGUoTWVkaWFTYW1wbGUmLCBib29sIGhh
c0NoYW5nZWRPcmllbnRhdGlvbik7CisgICAgdm9pZCBwcm9jZXNzTmV3VmlkZW9TYW1wbGUoTWVk
aWFTYW1wbGUmLCBib29sIGhhc0NoYW5nZWRPcmllbnRhdGlvbiwgVmlkZW9TYW1wbGVNZXRhZGF0
YSwgU2Vjb25kcyk7CiAgICAgdm9pZCBlbnF1ZXVlVmlkZW9TYW1wbGUoTWVkaWFTYW1wbGUmKTsK
ICAgICB2b2lkIHJlcXVlc3ROb3RpZmljYXRpb25XaGVuUmVhZHlGb3JWaWRlb0RhdGEoKTsKIApA
QCAtMjA4LDcgKzIwOCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCByZWFkeVN0YXRlQ2hhbmdlZChN
ZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSYpIG92ZXJyaWRlOwogCiAgICAgLy8gUmVhbHRpbWVNZWRp
YVNvdWNlOjpWaWRlb1NhbXBsZU9ic2VydmVyCi0gICAgdm9pZCB2aWRlb1NhbXBsZUF2YWlsYWJs
ZShNZWRpYVNhbXBsZSYpIGZpbmFsOworICAgIHZvaWQgdmlkZW9TYW1wbGVBdmFpbGFibGUoTWVk
aWFTYW1wbGUmLCBWaWRlb1NhbXBsZU1ldGFkYXRhKSBmaW5hbDsKIAogICAgIFJldGFpblB0cjxQ
bGF0Zm9ybUxheWVyPiBjcmVhdGVWaWRlb0Z1bGxzY3JlZW5MYXllcigpIG92ZXJyaWRlOwogICAg
IHZvaWQgc2V0VmlkZW9GdWxsc2NyZWVuTGF5ZXIoUGxhdGZvcm1MYXllciosIEZ1bmN0aW9uPHZv
aWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgb3ZlcnJpZGU7CkBAIC0yODMsNiArMjgzLDggQEAg
cHJpdmF0ZToKIAogICAgIHVpbnQ2NF90IG1fc2FtcGxlQ291bnQgeyAwIH07CiAgICAgdWludDY0
X3QgbV9sYXN0VmlkZW9GcmFtZU1ldGFkYXRhU2FtcGxlQ291bnQgeyAwIH07CisgICAgU2Vjb25k
cyBtX3ByZXNlbnRhdGlvblRpbWUgeyAwIH07CisgICAgVmlkZW9TYW1wbGVNZXRhZGF0YSBtX3Nh
bXBsZU1ldGFkYXRhOwogfTsKICAgICAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlh
U3RyZWFtQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbQppbmRl
eCA3YmIyMmRiY2MwNGUyMTQyYWMyNjU1ZDYyNGIwZTk3ZGViODI5YTBkLi4wMTZiNGNmOTJkYzhi
NDAxNzczMTJhNjAyODk1MjQyNzRlOTViOTMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRp
YVN0cmVhbUFWRk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1t
CkBAIC0yNDQsOSArMjQ0LDEwIEBAIHN0YXRpYyBpbmxpbmUgQ0dBZmZpbmVUcmFuc2Zvcm0gdmlk
ZW9UcmFuc2Zvcm1hdGlvbk1hdHJpeChNZWRpYVNhbXBsZSYgc2FtcGxlKQogICAgIHJldHVybiB2
aWRlb1RyYW5zZm9ybTsKIH0KIAotdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFW
Rk9iakM6OnZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxlJiBzYW1wbGUpCit2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQzo6dmlkZW9TYW1wbGVBdmFpbGFibGUo
TWVkaWFTYW1wbGUmIHNhbXBsZSwgVmlkZW9TYW1wbGVNZXRhZGF0YSBtZXRhZGF0YSkKIHsKLSAg
ICBwcm9jZXNzTmV3VmlkZW9TYW1wbGUoc2FtcGxlLCBzYW1wbGUudmlkZW9Sb3RhdGlvbigpICE9
IG1fdmlkZW9Sb3RhdGlvbiB8fCBzYW1wbGUudmlkZW9NaXJyb3JlZCgpICE9IG1fdmlkZW9NaXJy
b3JlZCk7CisgICAgYXV0byBwcmVzZW50YXRpb25UaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCku
c2Vjb25kc1NpbmNlRXBvY2goKTsKKyAgICBwcm9jZXNzTmV3VmlkZW9TYW1wbGUoc2FtcGxlLCBz
YW1wbGUudmlkZW9Sb3RhdGlvbigpICE9IG1fdmlkZW9Sb3RhdGlvbiB8fCBzYW1wbGUudmlkZW9N
aXJyb3JlZCgpICE9IG1fdmlkZW9NaXJyb3JlZCwgbWV0YWRhdGEsIHByZXNlbnRhdGlvblRpbWUp
OwogICAgIGVucXVldWVWaWRlb1NhbXBsZShzYW1wbGUpOwogfQogCkBAIC0yNzYsMTQgKzI3Nywx
NCBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQzo6ZW5xdWV1ZVZp
ZGVvU2FtcGxlKE1lZGlhU2FtcGxlJiBzYW1wbAogICAgIG1fc2FtcGxlQnVmZmVyRGlzcGxheUxh
eWVyLT5lbnF1ZXVlU2FtcGxlKHNhbXBsZSk7CiB9CiAKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRl
TWVkaWFTdHJlYW1BVkZPYmpDOjpwcm9jZXNzTmV3VmlkZW9TYW1wbGUoTWVkaWFTYW1wbGUmIHNh
bXBsZSwgYm9vbCBoYXNDaGFuZ2VkT3JpZW50YXRpb24pCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0
ZU1lZGlhU3RyZWFtQVZGT2JqQzo6cHJvY2Vzc05ld1ZpZGVvU2FtcGxlKE1lZGlhU2FtcGxlJiBz
YW1wbGUsIGJvb2wgaGFzQ2hhbmdlZE9yaWVudGF0aW9uLCBWaWRlb1NhbXBsZU1ldGFkYXRhIG1l
dGFkYXRhLCBTZWNvbmRzIHByZXNlbnRhdGlvblRpbWUpCiB7CiAgICAgaWYgKCFpc01haW5UaHJl
YWQoKSkgewogICAgICAgICB7CiAgICAgICAgICAgICBMb2NrZXIgbG9ja2VyIHsgbV9jdXJyZW50
VmlkZW9TYW1wbGVMb2NrIH07CiAgICAgICAgICAgICBtX2N1cnJlbnRWaWRlb1NhbXBsZSA9ICZz
YW1wbGU7CiAgICAgICAgIH0KLSAgICAgICAgY2FsbE9uTWFpblRocmVhZChbd2Vha1RoaXMgPSBX
ZWFrUHRyIHsgKnRoaXMgfSwgaGFzQ2hhbmdlZE9yaWVudGF0aW9uXSgpIG11dGFibGUgeworICAg
ICAgICBjYWxsT25NYWluVGhyZWFkKFt3ZWFrVGhpcyA9IFdlYWtQdHIgeyAqdGhpcyB9LCBoYXND
aGFuZ2VkT3JpZW50YXRpb24sIG1ldGFkYXRhLCBwcmVzZW50YXRpb25UaW1lXSgpIG11dGFibGUg
ewogICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykKICAgICAgICAgICAgICAgICByZXR1cm47CiAK
QEAgLTI5OCw3ICsyOTksNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZG
T2JqQzo6cHJvY2Vzc05ld1ZpZGVvU2FtcGxlKE1lZGlhU2FtcGxlJiBzYQogICAgICAgICAgICAg
aWYgKCFzYW1wbGUpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgICAgICB3ZWFr
VGhpcy0+cHJvY2Vzc05ld1ZpZGVvU2FtcGxlKCpzYW1wbGUsIGhhc0NoYW5nZWRPcmllbnRhdGlv
bik7CisgICAgICAgICAgICB3ZWFrVGhpcy0+cHJvY2Vzc05ld1ZpZGVvU2FtcGxlKCpzYW1wbGUs
IGhhc0NoYW5nZWRPcmllbnRhdGlvbiwgbWV0YWRhdGEsIHByZXNlbnRhdGlvblRpbWUpOwogICAg
ICAgICB9KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTMxNiw2ICszMTcsOCBAQCB2b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQzo6cHJvY2Vzc05ld1ZpZGVvU2Ft
cGxlKE1lZGlhU2FtcGxlJiBzYQogICAgICAgICAgICAgdXBkYXRlUmVhZHlTdGF0ZSgpOwogICAg
IH0KIAorICAgIG1fcHJlc2VudGF0aW9uVGltZSA9IHByZXNlbnRhdGlvblRpbWU7CisgICAgbV9z
YW1wbGVNZXRhZGF0YSA9IG1ldGFkYXRhOwogICAgICsrbV9zYW1wbGVDb3VudDsKIAogICAgIGlm
IChtX2Rpc3BsYXlNb2RlICE9IExpdmVQcmV2aWV3ICYmICFtX3dhaXRpbmdGb3JGaXJzdEltYWdl
KQpAQCAtMTEwNiw4ICsxMTA5LDE0IEBAIHN0ZDo6b3B0aW9uYWw8VmlkZW9GcmFtZU1ldGFkYXRh
PiBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OnZpZGVvRnJhCiAgICAgbWV0
YWRhdGEud2lkdGggPSBtX2ludHJpbnNpY1NpemUud2lkdGgoKTsKICAgICBtZXRhZGF0YS5oZWln
aHQgPSBtX2ludHJpbnNpY1NpemUuaGVpZ2h0KCk7CiAgICAgbWV0YWRhdGEucHJlc2VudGVkRnJh
bWVzID0gbV9zYW1wbGVDb3VudDsKLQotICAgIC8vIEZJWE1FOiBJdCB3b3VsZCBiZSBnb29kIHRv
IGV4cG9zZSBtb3JlIHZpZGVvIGZyYW1lIG1ldGFkYXRhLgorICAgIG1ldGFkYXRhLnByZXNlbnRh
dGlvblRpbWUgPSBtX3ByZXNlbnRhdGlvblRpbWUuc2Vjb25kcygpOworICAgIG1ldGFkYXRhLmV4
cGVjdGVkRGlzcGxheVRpbWUgPSBtX3ByZXNlbnRhdGlvblRpbWUuc2Vjb25kcygpOworICAgIG1l
dGFkYXRhLnByb2Nlc3NpbmdEdXJhdGlvbiA9IG1fc2FtcGxlTWV0YWRhdGEucHJvY2Vzc2luZ0R1
cmF0aW9uOworICAgIGlmIChtX3NhbXBsZU1ldGFkYXRhLmNhcHR1cmVUaW1lKQorICAgICAgICBt
ZXRhZGF0YS5jYXB0dXJlVGltZSA9IG1fc2FtcGxlTWV0YWRhdGEuY2FwdHVyZVRpbWUtPnNlY29u
ZHMoKTsKKyAgICBpZiAobV9zYW1wbGVNZXRhZGF0YS5yZWNlaXZlVGltZSkKKyAgICAgICAgbWV0
YWRhdGEucmVjZWl2ZVRpbWUgPSBtX3NhbXBsZU1ldGFkYXRhLnJlY2VpdmVUaW1lLT5zZWNvbmRz
KCk7CisgICAgbWV0YWRhdGEucnRwVGltZXN0YW1wID0gbV9zYW1wbGVNZXRhZGF0YS5ydHBUaW1l
c3RhbXA7CiAKICAgICByZXR1cm4gbWV0YWRhdGE7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQ
cml2YXRlQVZGSW1wbC5jcHAKaW5kZXggZjk1ZDhmMDFhZmFlYjQ4YWViODAxYTM2MmVlNDY0MWIy
NjI0NDFjMy4uMzAwMzA5NzQ2ODg3NmZlNDI3Y2I3Y2Y2MGI1ZjQzN2RmYmUxZWMxZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVy
UHJpdmF0ZUFWRkltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVj
b3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmNwcApAQCAtODMsNyArODMsNyBAQCB2
b2lkIE1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbDo6c3RhcnRSZWNvcmRpbmcoU3RhcnRSZWNv
cmRpbmdDYWxsYmFjayYmIGNhbGxiYQogICAgIGNhbGxiYWNrKFN0cmluZyhtX3dyaXRlci0+bWlt
ZVR5cGUoKSksIG1fd3JpdGVyLT5hdWRpb0JpdFJhdGUoKSwgbV93cml0ZXItPnZpZGVvQml0UmF0
ZSgpKTsKIH0KIAotdm9pZCBNZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGw6OnZpZGVvU2FtcGxl
QXZhaWxhYmxlKE1lZGlhU2FtcGxlJiBzYW1wbGVCdWZmZXIpCit2b2lkIE1lZGlhUmVjb3JkZXJQ
cml2YXRlQVZGSW1wbDo6dmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmIHNhbXBsZUJ1
ZmZlciwgVmlkZW9TYW1wbGVNZXRhZGF0YSkKIHsKICAgICBpZiAoc2hvdWxkTXV0ZVZpZGVvKCkp
IHsKICAgICAgICAgaWYgKCFtX2JsYWNrRnJhbWUpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2
YXRlQVZGSW1wbC5oCmluZGV4IDM4Yjk0ZjllNGVhYzRkZjQzNWFjMDIzZDI4MzA1MDQzZTFiOTI3
MjQuLjAxYzA0ZjcwNjQ1ZTU1ZjVlYzg0ZDVlN2EzMjJiOTIwZmE1YWMyYjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZh
dGVBVkZJbXBsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9N
ZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuaApAQCAtNDksNyArNDksNyBAQCBwcml2YXRlOgog
ICAgIGV4cGxpY2l0IE1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbChSZWY8TWVkaWFSZWNvcmRl
clByaXZhdGVXcml0ZXI+JiYpOwogCiAgICAgLy8gTWVkaWFSZWNvcmRlclByaXZhdGUKLSAgICB2
b2lkIHZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxlJikgZmluYWw7CisgICAgdm9pZCB2
aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYsIFZpZGVvU2FtcGxlTWV0YWRhdGEpIGZp
bmFsOwogICAgIHZvaWQgZmV0Y2hEYXRhKEZldGNoRGF0YUNhbGxiYWNrJiYpIGZpbmFsOwogICAg
IHZvaWQgYXVkaW9TYW1wbGVzQXZhaWxhYmxlKGNvbnN0IE1lZGlhVGltZSYsIGNvbnN0IFBsYXRm
b3JtQXVkaW9EYXRhJiwgY29uc3QgQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYsIHNpemVfdCkgZmlu
YWw7CiAgICAgdm9pZCBzdGFydFJlY29yZGluZyhTdGFydFJlY29yZGluZ0NhbGxiYWNrJiYpIGZp
bmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9N
ZWRpYVJlY29yZGVyUHJpdmF0ZU1vY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZU1vY2suY3BwCmluZGV4IDFlZmE3MGI5MDUx
MGRiZmVhMzcxMzlkYjlmYThjNjAxNmQ0YzUzNDYuLmMyNWRmOTE1NzRhNjViYzQxYmRiNzA2Nzhk
YzQ3NzI0ODM2ZGQxNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
cmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVNb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlTW9jay5jcHAKQEAg
LTY3LDcgKzY3LDcgQEAgdm9pZCBNZWRpYVJlY29yZGVyUHJpdmF0ZU1vY2s6OnJlc3VtZVJlY29y
ZGluZyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGwKICAgICBjb21wbGV0aW9uSGFu
ZGxlcigpOwogfQogCi12b2lkIE1lZGlhUmVjb3JkZXJQcml2YXRlTW9jazo6dmlkZW9TYW1wbGVB
dmFpbGFibGUoTWVkaWFTYW1wbGUmKQordm9pZCBNZWRpYVJlY29yZGVyUHJpdmF0ZU1vY2s6OnZp
ZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxlJiwgVmlkZW9TYW1wbGVNZXRhZGF0YSkKIHsK
ICAgICBMb2NrZXIgbG9ja2VyIHsgbV9idWZmZXJMb2NrIH07CiAgICAgbV9idWZmZXIuYXBwZW5k
KCJWaWRlbyBUcmFjayBJRDogIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlTW9jay5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZU1vY2suaAppbmRl
eCBkNDg0YjJmY2VhMWU4NGFlZTliZjgxZTBkZTI2Mjc0MmZkMjI5MmY3Li5jYzc4ZGU2ZDU2OTA2
MTU4NGE0MTIwMmNlMTZmZjUyZTFhZDExYWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlTW9jay5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVN
b2NrLmgKQEAgLTQyLDcgKzQyLDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIC8vIE1lZGlh
UmVjb3JkZXJQcml2YXRlCi0gICAgdm9pZCB2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBs
ZSYpIGZpbmFsOworICAgIHZvaWQgdmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmLCBW
aWRlb1NhbXBsZU1ldGFkYXRhKSBmaW5hbDsKICAgICB2b2lkIGZldGNoRGF0YShGZXRjaERhdGFD
YWxsYmFjayYmKSBmaW5hbDsKICAgICB2b2lkIGF1ZGlvU2FtcGxlc0F2YWlsYWJsZShjb25zdCBN
ZWRpYVRpbWUmLCBjb25zdCBQbGF0Zm9ybUF1ZGlvRGF0YSYsIGNvbnN0IEF1ZGlvU3RyZWFtRGVz
Y3JpcHRpb24mLCBzaXplX3QpIGZpbmFsOwogICAgIHZvaWQgc3RvcFJlY29yZGluZyhDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKCk+JiYpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lSW5jb21pbmdWaWRlb1Nv
dXJjZS5jcHAKaW5kZXggNGFjMzczZTZlZWI4YjA3OWVjMzdkMWI4MmZiZGVkYTMxNDhhOTNhNC4u
NDdlMDJmMWVmMjY2OTY2ZTY5ODRkYjY5ZmU2MDMxMWExOGRkNzE1MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291
cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGlt
ZUluY29taW5nVmlkZW9Tb3VyY2UuY3BwCkBAIC0xMDQsNiArMTA0LDIwIEBAIHZvaWQgUmVhbHRp
bWVJbmNvbWluZ1ZpZGVvU291cmNlOjpzZXR0aW5nc0RpZENoYW5nZShPcHRpb25TZXQ8UmVhbHRp
bWVNZWRpYVNvdXJjCiAgICAgICAgIG1fY3VycmVudFNldHRpbmdzID0gc3RkOjpudWxsb3B0Owog
fQogCitWaWRlb1NhbXBsZU1ldGFkYXRhIFJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZTo6bWV0
YWRhdGFGcm9tVmlkZW9GcmFtZShjb25zdCB3ZWJydGM6OlZpZGVvRnJhbWUmIGZyYW1lKQorewor
ICAgIFZpZGVvU2FtcGxlTWV0YWRhdGEgbWV0YWRhdGE7CisgICAgaWYgKGZyYW1lLm50cF90aW1l
X21zKCkgPiAwKQorICAgICAgICBtZXRhZGF0YS5jYXB0dXJlVGltZSA9IFNlY29uZHM6OmZyb21N
aWxsaXNlY29uZHMoZnJhbWUubnRwX3RpbWVfbXMoKSk7CisgICAgaWYgKGlzSW5Cb3VuZHM8dWlu
dDMyX3Q+KGZyYW1lLnRpbWVzdGFtcCgpKSkKKyAgICAgICAgbWV0YWRhdGEucnRwVGltZXN0YW1w
ID0gZnJhbWUudGltZXN0YW1wKCk7CisgICAgYXV0byBsYXN0UGFja2V0VGltZXN0YW1wID0gc3Rk
OjptYXhfZWxlbWVudChmcmFtZS5wYWNrZXRfaW5mb3MoKS5jYmVnaW4oKSwgZnJhbWUucGFja2V0
X2luZm9zKCkuY2VuZCgpLCBbXShjb25zdCBhdXRvJiBhLCBjb25zdCBhdXRvJiBiKSB7CisgICAg
ICAgIHJldHVybiBhLnJlY2VpdmVfdGltZSgpIDwgYi5yZWNlaXZlX3RpbWUoKTsKKyAgICB9KTsK
KyAgICBtZXRhZGF0YS5yZWNlaXZlVGltZSA9IFNlY29uZHM6OmZyb21NaWNyb3NlY29uZHMobGFz
dFBhY2tldFRpbWVzdGFtcC0+cmVjZWl2ZV90aW1lKCkudXMoKSk7CisgICAgcmV0dXJuIG1ldGFk
YXRhOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBVU0UoTElCV0VC
UlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVh
bHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2UuaAppbmRleCA2OGJjMGY3YzkxZWIw
ZjUyNjIwYTc5MjE3YzI0MTE0MWE3ZWE0YTM0Li5mMWIyMmZiZjVjZDMwZjY1ZjY2Y2ExZWVmMGUx
OWU1MDIzM2Q5YmNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2UuaApAQCAtNjIs
NyArNjIsOSBAQCBwcm90ZWN0ZWQ6CiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECiAgICAgY29u
c3QgY2hhciogbG9nQ2xhc3NOYW1lKCkgY29uc3QgZmluYWwgeyByZXR1cm4gIlJlYWx0aW1lSW5j
b21pbmdWaWRlb1NvdXJjZSI7IH0KICNlbmRpZgotICAgIAorCisgICAgc3RhdGljIFZpZGVvU2Ft
cGxlTWV0YWRhdGEgbWV0YWRhdGFGcm9tVmlkZW9GcmFtZShjb25zdCB3ZWJydGM6OlZpZGVvRnJh
bWUmKTsKKwogcHJpdmF0ZToKICAgICAvLyBSZWFsdGltZU1lZGlhU291cmNlIEFQSQogICAgIHZv
aWQgc3RhcnRQcm9kdWNpbmdEYXRhKCkgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2UuY3BwCmluZGV4
IDRjYWMyNTczZTZmMTk5OGEyOGNmODJjNjY3MzIwZGQ0N2VhZWJhNTYuLjNhZjlhZjE3MzlmYThl
Yjk4ZGI0NGNmYWQwN2U1NTZkMzhjMTlhNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2UuY3BwCkBAIC0x
OTEsNyArMTkxLDcgQEAgdm9pZCBSZWFsdGltZU1lZGlhU291cmNlOjp1cGRhdGVIYXNTdGFydGVk
UHJvZHVjaW5nRGF0YSgpCiAgICAgfSk7CiB9CiAKLXZvaWQgUmVhbHRpbWVNZWRpYVNvdXJjZTo6
dmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmIG1lZGlhU2FtcGxlKQordm9pZCBSZWFs
dGltZU1lZGlhU291cmNlOjp2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYgbWVkaWFT
YW1wbGUsIFZpZGVvU2FtcGxlTWV0YWRhdGEgbWV0YWRhdGEpCiB7CiAjaWYgIVJFTEVBU0VfTE9H
X0RJU0FCTEVECiAgICAgKyttX2ZyYW1lQ291bnQ7CkBAIC0yMTEsNyArMjExLDcgQEAgdm9pZCBS
ZWFsdGltZU1lZGlhU291cmNlOjp2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYgbWVk
aWFTYW1wbGUpCiAKICAgICBMb2NrZXIgbG9ja2VyIHsgbV92aWRlb1NhbXBsZU9ic2VydmVyc0xv
Y2sgfTsKICAgICBmb3IgKGF1dG8qIG9ic2VydmVyIDogbV92aWRlb1NhbXBsZU9ic2VydmVycykK
LSAgICAgICAgb2JzZXJ2ZXItPnZpZGVvU2FtcGxlQXZhaWxhYmxlKG1lZGlhU2FtcGxlKTsKKyAg
ICAgICAgb2JzZXJ2ZXItPnZpZGVvU2FtcGxlQXZhaWxhYmxlKG1lZGlhU2FtcGxlLCBtZXRhZGF0
YSk7CiB9CiAKIHZvaWQgUmVhbHRpbWVNZWRpYVNvdXJjZTo6YXVkaW9TYW1wbGVzQXZhaWxhYmxl
KGNvbnN0IE1lZGlhVGltZSYgdGltZSwgY29uc3QgUGxhdGZvcm1BdWRpb0RhdGEmIGF1ZGlvRGF0
YSwgY29uc3QgQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24sIHNpemVfdCBudW1i
ZXJPZkZyYW1lcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2UuaAppbmRleCBkZWNkOTA3OTY3YjM5YWU5ZWE2NWIy
NzFlNjUzNjkzYjY0ZjRlYjZmLi5jOTU5MjM0ZjY1OGE1MjY3NDBiZDc4MGRkOTlhNDcwNDc5Y2Mx
NThiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFs
dGltZU1lZGlhU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vUmVhbHRpbWVNZWRpYVNvdXJjZS5oCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVkZSAiUGxh
dGZvcm1MYXllci5oIgogI2luY2x1ZGUgIlJlYWx0aW1lTWVkaWFTb3VyY2VDYXBhYmlsaXRpZXMu
aCIKICNpbmNsdWRlICJSZWFsdGltZU1lZGlhU291cmNlRmFjdG9yeS5oIgorI2luY2x1ZGUgIlZp
ZGVvU2FtcGxlTWV0YWRhdGEuaCIKICNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4K
ICNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9Mb2dnZXJIZWxwZXIuaD4KQEAg
LTEwMiw3ICsxMDMsNyBAQCBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgflZpZGVvU2FtcGxlT2Jz
ZXJ2ZXIoKSA9IGRlZmF1bHQ7CiAKICAgICAgICAgLy8gTWF5IGJlIGNhbGxlZCBvbiBhIGJhY2tn
cm91bmQgdGhyZWFkLgotICAgICAgICB2aXJ0dWFsIHZvaWQgdmlkZW9TYW1wbGVBdmFpbGFibGUo
TWVkaWFTYW1wbGUmKSA9IDA7CisgICAgICAgIHZpcnR1YWwgdm9pZCB2aWRlb1NhbXBsZUF2YWls
YWJsZShNZWRpYVNhbXBsZSYsIFZpZGVvU2FtcGxlTWV0YWRhdGEpID0gMDsKICAgICB9OwogCiAg
ICAgdmlydHVhbCB+UmVhbHRpbWVNZWRpYVNvdXJjZSgpID0gZGVmYXVsdDsKQEAgLTI0NCw3ICsy
NDUsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBpbml0aWFsaXplU2FtcGxlUmF0ZShpbnQgc2Ft
cGxlUmF0ZSkgeyBtX3NhbXBsZVJhdGUgPSBzYW1wbGVSYXRlOyB9CiAgICAgdm9pZCBpbml0aWFs
aXplRWNob0NhbmNlbGxhdGlvbihib29sIGVjaG9DYW5jZWxsYXRpb24pIHsgbV9lY2hvQ2FuY2Vs
bGF0aW9uID0gZWNob0NhbmNlbGxhdGlvbjsgfQogCi0gICAgdm9pZCB2aWRlb1NhbXBsZUF2YWls
YWJsZShNZWRpYVNhbXBsZSYpOworICAgIHZvaWQgdmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFT
YW1wbGUmLCBWaWRlb1NhbXBsZU1ldGFkYXRhKTsKICAgICB2b2lkIGF1ZGlvU2FtcGxlc0F2YWls
YWJsZShjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBQbGF0Zm9ybUF1ZGlvRGF0YSYsIGNvbnN0IEF1
ZGlvU3RyZWFtRGVzY3JpcHRpb24mLCBzaXplX3QpOwogCiAgICAgdm9pZCBmb3JFYWNoT2JzZXJ2
ZXIoY29uc3QgRnVuY3Rpb248dm9pZChPYnNlcnZlciYpPiYpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNl
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU91dGdvaW5n
VmlkZW9Tb3VyY2UuaAppbmRleCA4MmU0NDUwYzJlNzczNzljZjA1YjNlYzYxNmFhY2JkY2Q4YmFm
MjdjLi5lZGI2N2FkZjJhZGY3MGNiODczYjRmZjY2YTI3NjgxNDU1MTFlNzFiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU91dGdvaW5nVmlk
ZW9Tb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFs
dGltZU91dGdvaW5nVmlkZW9Tb3VyY2UuaApAQCAtMTM1LDcgKzEzNSw3IEBAIHByaXZhdGU6CiAg
ICAgdm9pZCB0cmFja0VuZGVkKE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlJikgZmluYWwgeyB9CiAK
ICAgICAvLyBSZWFsdGltZU1lZGlhU291cmNlOjpWaWRlb1NhbXBsZU9ic2VydmVyIEFQSQotICAg
IHZvaWQgdmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmKSBvdmVycmlkZSB7IH0KKyAg
ICB2b2lkIHZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxlJiwgVmlkZW9TYW1wbGVNZXRh
ZGF0YSkgb3ZlcnJpZGUgeyB9CiAKICAgICBSZWY8TWVkaWFTdHJlYW1UcmFja1ByaXZhdGU+IG1f
dmlkZW9Tb3VyY2U7CiAgICAgVGltZXIgbV9ibGFja0ZyYW1lVGltZXI7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZVZpZGVvQ2FwdHVyZVNv
dXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZVZp
ZGVvQ2FwdHVyZVNvdXJjZS5jcHAKaW5kZXggODY4NmJhYzRmMTYxMjY2MDhjOWYxNTJhNjJlMTA0
ZTNkYjcyNTc0NS4uOGVhNjE0NzIxZDMwMjNhOGJiMTIwNGJkOTE4MmY2MDQyNmI0MTY5ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVWaWRl
b0NhcHR1cmVTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL1JlYWx0aW1lVmlkZW9DYXB0dXJlU291cmNlLmNwcApAQCAtMzg2LDcgKzM4Niw3IEBAIHZv
aWQgUmVhbHRpbWVWaWRlb0NhcHR1cmVTb3VyY2U6OnNldFNpemVBbmRGcmFtZVJhdGUoc3RkOjpv
cHRpb25hbDxpbnQ+IHdpZHRoLCBzCiAgICAgc2V0RnJhbWVSYXRlKG1hdGNoLT5yZXF1ZXN0ZWRG
cmFtZVJhdGUpOwogfQogCi12b2lkIFJlYWx0aW1lVmlkZW9DYXB0dXJlU291cmNlOjpkaXNwYXRj
aE1lZGlhU2FtcGxlVG9PYnNlcnZlcnMoTWVkaWFTYW1wbGUmIHNhbXBsZSkKK3ZvaWQgUmVhbHRp
bWVWaWRlb0NhcHR1cmVTb3VyY2U6OmRpc3BhdGNoTWVkaWFTYW1wbGVUb09ic2VydmVycyhNZWRp
YVNhbXBsZSYgc2FtcGxlLCBXZWJDb3JlOjpWaWRlb1NhbXBsZU1ldGFkYXRhIG1ldGFkYXRhKQog
ewogICAgIE1lZGlhVGltZSBzYW1wbGVUaW1lID0gc2FtcGxlLnByZXNlbnRhdGlvblRpbWUoKTsK
IApAQCAtNDAwLDcgKzQwMCw3IEBAIHZvaWQgUmVhbHRpbWVWaWRlb0NhcHR1cmVTb3VyY2U6OmRp
c3BhdGNoTWVkaWFTYW1wbGVUb09ic2VydmVycyhNZWRpYVNhbXBsZSYgc2FtCiAgICAgaWYgKGlu
dGVydmFsID4gMSkKICAgICAgICAgbV9vYnNlcnZlZEZyYW1lUmF0ZSA9IChtX29ic2VydmVkRnJh
bWVUaW1lU3RhbXBzLnNpemUoKSAvIGludGVydmFsKTsKIAotICAgIHZpZGVvU2FtcGxlQXZhaWxh
YmxlKHNhbXBsZSk7CisgICAgdmlkZW9TYW1wbGVBdmFpbGFibGUoc2FtcGxlLCBtZXRhZGF0YSk7
CiB9CiAKIHZvaWQgUmVhbHRpbWVWaWRlb0NhcHR1cmVTb3VyY2U6OmNsaWVudFVwZGF0ZWRTaXpl
QW5kRnJhbWVSYXRlKHN0ZDo6b3B0aW9uYWw8aW50PiB3aWR0aCwgc3RkOjpvcHRpb25hbDxpbnQ+
IGhlaWdodCwgc3RkOjpvcHRpb25hbDxkb3VibGU+IGZyYW1lUmF0ZSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lVmlkZW9DYXB0dXJlU291
cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZVZpZGVv
Q2FwdHVyZVNvdXJjZS5oCmluZGV4IDdjMjBiNjFhZjc5NzIxZDI4NjM5ZTFkZWZjMWE1Y2NlMzE0
MjRlMjAuLjg1M2IwYjI4M2U5MDFhMGJhNGM5NThmMWRkNzVkYTg2YTRmMzkxMzEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lVmlkZW9DYXB0
dXJlU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVh
bHRpbWVWaWRlb0NhcHR1cmVTb3VyY2UuaApAQCAtNzIsNyArNzIsNyBAQCBwcm90ZWN0ZWQ6CiAK
ICAgICB2b2lkIHVwZGF0ZUNhcGFiaWxpdGllcyhSZWFsdGltZU1lZGlhU291cmNlQ2FwYWJpbGl0
aWVzJik7CiAKLSAgICB2b2lkIGRpc3BhdGNoTWVkaWFTYW1wbGVUb09ic2VydmVycyhNZWRpYVNh
bXBsZSYpOworICAgIHZvaWQgZGlzcGF0Y2hNZWRpYVNhbXBsZVRvT2JzZXJ2ZXJzKE1lZGlhU2Ft
cGxlJiwgV2ViQ29yZTo6VmlkZW9TYW1wbGVNZXRhZGF0YSk7CiAgICAgY29uc3QgVmVjdG9yPElu
dFNpemU+JiBzdGFuZGFyZFZpZGVvU2l6ZXMoKTsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lVmlkZW9Tb3VyY2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVWaWRlb1NvdXJj
ZS5jcHAKaW5kZXggZjA3MTc5ZGQzMzQ2NjRhM2NiNjQxYmExZTMzNzA1YjE4Mzc1MWU2Yy4uMjc5
Yjc1OGNlZjc2ZjI2NGM5OWU3NDdkOTNjZTRlY2UxODJkYjUzMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVWaWRlb1NvdXJj
ZS5jcHAKQEAgLTE3OSw3ICsxNzksNyBAQCBSZWZQdHI8TWVkaWFTYW1wbGU+IFJlYWx0aW1lVmlk
ZW9Tb3VyY2U6OmFkYXB0VmlkZW9TYW1wbGUoTWVkaWFTYW1wbGUmIHNhbXBsZSkKIH0KICNlbmRp
ZgogCi12b2lkIFJlYWx0aW1lVmlkZW9Tb3VyY2U6OnZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlh
U2FtcGxlJiBzYW1wbGUpCit2b2lkIFJlYWx0aW1lVmlkZW9Tb3VyY2U6OnZpZGVvU2FtcGxlQXZh
aWxhYmxlKE1lZGlhU2FtcGxlJiBzYW1wbGUsIFZpZGVvU2FtcGxlTWV0YWRhdGEgbWV0YWRhdGEp
CiB7CiAgICAgaWYgKG1fZnJhbWVEZWNpbWF0aW9uID4gMSAmJiArK21fZnJhbWVEZWNpbWF0aW9u
Q291bnRlciAlIG1fZnJhbWVEZWNpbWF0aW9uKQogICAgICAgICByZXR1cm47CkBAIC0xOTMsMTMg
KzE5MywxMyBAQCB2b2lkIFJlYWx0aW1lVmlkZW9Tb3VyY2U6OnZpZGVvU2FtcGxlQXZhaWxhYmxl
KE1lZGlhU2FtcGxlJiBzYW1wbGUpCiAgICAgYXV0byBzaXplID0gdGhpcy0+c2l6ZSgpOwogICAg
IGlmICghc2l6ZS5pc0VtcHR5KCkgJiYgc2l6ZSAhPSBleHBhbmRlZEludFNpemUoc2FtcGxlLnBy
ZXNlbnRhdGlvblNpemUoKSkpIHsKICAgICAgICAgaWYgKGF1dG8gbWVkaWFTYW1wbGUgPSBhZGFw
dFZpZGVvU2FtcGxlKHNhbXBsZSkpIHsKLSAgICAgICAgICAgIFJlYWx0aW1lTWVkaWFTb3VyY2U6
OnZpZGVvU2FtcGxlQXZhaWxhYmxlKCptZWRpYVNhbXBsZSk7CisgICAgICAgICAgICBSZWFsdGlt
ZU1lZGlhU291cmNlOjp2aWRlb1NhbXBsZUF2YWlsYWJsZSgqbWVkaWFTYW1wbGUsIG1ldGFkYXRh
KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgIH0KICNlbmRpZgogCi0gICAg
UmVhbHRpbWVNZWRpYVNvdXJjZTo6dmlkZW9TYW1wbGVBdmFpbGFibGUoc2FtcGxlKTsKKyAgICBS
ZWFsdGltZU1lZGlhU291cmNlOjp2aWRlb1NhbXBsZUF2YWlsYWJsZShzYW1wbGUsIG1ldGFkYXRh
KTsKIH0KIAogUmVmPFJlYWx0aW1lTWVkaWFTb3VyY2U+IFJlYWx0aW1lVmlkZW9Tb3VyY2U6OmNs
b25lKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1Jl
YWx0aW1lVmlkZW9Tb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L1JlYWx0aW1lVmlkZW9Tb3VyY2UuaAppbmRleCAzZTE4Y2U1ZmY1NzU4YTJkMDY2NzVjMmJmOTdl
NjYzZjU5OWRlNTViLi5mOTViNzAyNmFmZmRiZmI5ZGRlZjY3NzZmZTMwYmUzMzY3MzgxMDVjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZVZp
ZGVvU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVh
bHRpbWVWaWRlb1NvdXJjZS5oCkBAIC03Miw3ICs3Miw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBw
cmV2ZW50U291cmNlRnJvbVN0b3BwaW5nKCkgZmluYWw7CiAKICAgICAvLyBSZWFsdGltZU1lZGlh
U291cmNlOjpWaWRlb1NhbXBsZU9ic2VydmVyCi0gICAgdm9pZCB2aWRlb1NhbXBsZUF2YWlsYWJs
ZShNZWRpYVNhbXBsZSYpIGZpbmFsOworICAgIHZvaWQgdmlkZW9TYW1wbGVBdmFpbGFibGUoTWVk
aWFTYW1wbGUmLCBWaWRlb1NhbXBsZU1ldGFkYXRhKSBmaW5hbDsKIAogI2lmIFBMQVRGT1JNKENP
Q09BKQogICAgIFJlZlB0cjxNZWRpYVNhbXBsZT4gYWRhcHRWaWRlb1NhbXBsZShNZWRpYVNhbXBs
ZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY29j
b2EvRGlzcGxheUNhcHR1cmVTb3VyY2VDb2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9jb2NvYS9EaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29hLmNwcAppbmRleCA3
M2FkYjcxNmE3M2FiMTkxZDBkM2EyZjYxM2M0YTJjZGJhYTIyMGE3Li4wNDJkZDliYmU5YTgxMjkz
ZWRjNjBmNzJhYzRiZjg1NDIxN2M4N2QyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9jb2NvYS9EaXNwbGF5Q2FwdHVyZVNvdXJjZUNvY29hLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9jb2NvYS9EaXNwbGF5Q2FwdHVy
ZVNvdXJjZUNvY29hLmNwcApAQCAtMjIwLDcgKzIyMCw4IEBAIHZvaWQgRGlzcGxheUNhcHR1cmVT
b3VyY2VDb2NvYTo6ZW1pdEZyYW1lKCkKICAgICBpZiAoIW1faW1hZ2VUcmFuc2ZlclNlc3Npb24p
CiAgICAgICAgIG1faW1hZ2VUcmFuc2ZlclNlc3Npb24gPSBJbWFnZVRyYW5zZmVyU2Vzc2lvblZU
OjpjcmVhdGUocHJlZmVyZWRQaXhlbEJ1ZmZlckZvcm1hdCgpKTsKIAotICAgIGF1dG8gc2FtcGxl
VGltZSA9IE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZSgoZWxhcHNlZFRpbWUoKSArIDEwMF9t
cykuc2Vjb25kcygpKTsKKyAgICBhdXRvIGVsYXBzZWRUaW1lID0gdGhpcy0+ZWxhcHNlZFRpbWUo
KTsKKyAgICBhdXRvIHNhbXBsZVRpbWUgPSBNZWRpYVRpbWU6OmNyZWF0ZVdpdGhEb3VibGUoKGVs
YXBzZWRUaW1lICsgMTAwX21zKS5zZWNvbmRzKCkpOwogCiAgICAgYXV0byBmcmFtZSA9IG1fY2Fw
dHVyZXItPmdlbmVyYXRlRnJhbWUoKTsKICAgICBhdXRvIGltYWdlU2l6ZSA9IFdURjo6c3dpdGNo
T24oZnJhbWUsCkBAIC0yODIsNyArMjgzLDkgQEAgdm9pZCBEaXNwbGF5Q2FwdHVyZVNvdXJjZUNv
Y29hOjplbWl0RnJhbWUoKQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgdmlkZW9TYW1w
bGVBdmFpbGFibGUoKnNhbXBsZS5nZXQoKSk7CisgICAgVmlkZW9TYW1wbGVNZXRhZGF0YSBtZXRh
ZGF0YTsKKyAgICBtZXRhZGF0YS5jYXB0dXJlVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpLnNl
Y29uZHNTaW5jZUVwb2NoKCk7CisgICAgdmlkZW9TYW1wbGVBdmFpbGFibGUoKnNhbXBsZS5nZXQo
KSwgbWV0YWRhdGEpOwogfQogCiB2b2lkIERpc3BsYXlDYXB0dXJlU291cmNlQ29jb2E6OnNldExv
Z2dlcihjb25zdCBMb2dnZXImIGxvZ2dlciwgY29uc3Qgdm9pZCogaWRlbnRpZmllcikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9HU3Ry
ZWFtZXJNZWRpYVN0cmVhbVNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9nc3RyZWFtZXIvR1N0cmVhbWVyTWVkaWFTdHJlYW1Tb3VyY2UuY3BwCmluZGV4IGQz
MjFkYmY2NTM2NzIxM2Q3MzAzYjQ1NDkyMzljZTA2OTQwYzk2NDAuLjYyMGE2YjE1YzgyMjIyNzlm
MWI4ODEzN2FlODRlM2E5NTc5Nzg5YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9HU3RyZWFtZXJNZWRpYVN0cmVhbVNvdXJjZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL0dTdHJl
YW1lck1lZGlhU3RyZWFtU291cmNlLmNwcApAQCAtMjYyLDcgKzI2Miw3IEBAIHB1YmxpYzoKICAg
ICAgICAgfQogICAgIH0KIAotICAgIHZvaWQgdmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1w
bGUmIHNhbXBsZSkgZmluYWwKKyAgICB2b2lkIHZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2Ft
cGxlJiBzYW1wbGUsIFZpZGVvU2FtcGxlTWV0YWRhdGEpIGZpbmFsCiAgICAgewogICAgICAgICBp
ZiAoIW1fcGFyZW50KQogICAgICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL0dTdHJlYW1lclZpZGVvQ2FwdHVy
ZVNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFt
ZXIvR1N0cmVhbWVyVmlkZW9DYXB0dXJlU291cmNlLmNwcAppbmRleCA3NDEyMGU5MWYxNDY1MzYy
NDFkMzZjOGU3NjM5MzU1NTk1Yzc2MzVkLi4yNzE4NjI1MzgzZjNjNTIwMmM4YjE5YmYzNzUyM2Q4
MjM1OGM2MGUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9nc3RyZWFtZXIvR1N0cmVhbWVyVmlkZW9DYXB0dXJlU291cmNlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIvR1N0cmVhbWVyVmlkZW9DYXB0
dXJlU291cmNlLmNwcApAQCAtMTk1LDcgKzE5NSw3IEBAIHZvaWQgR1N0cmVhbWVyVmlkZW9DYXB0
dXJlU291cmNlOjpwcm9jZXNzTmV3RnJhbWUoUmVmPE1lZGlhU2FtcGxlPiYmIHNhbXBsZSkKICAg
ICBpZiAoIWlzUHJvZHVjaW5nRGF0YSgpIHx8IG11dGVkKCkpCiAgICAgICAgIHJldHVybjsKIAot
ICAgIGRpc3BhdGNoTWVkaWFTYW1wbGVUb09ic2VydmVycyhXVEZNb3ZlKHNhbXBsZSkpOworICAg
IGRpc3BhdGNoTWVkaWFTYW1wbGVUb09ic2VydmVycyhXVEZNb3ZlKHNhbXBsZSksIHsgfSk7CiB9
CiAKIEdzdEZsb3dSZXR1cm4gR1N0cmVhbWVyVmlkZW9DYXB0dXJlU291cmNlOjpuZXdTYW1wbGVD
YWxsYmFjayhHc3RFbGVtZW50KiBzaW5rLCBHU3RyZWFtZXJWaWRlb0NhcHR1cmVTb3VyY2UqIHNv
dXJjZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2dz
dHJlYW1lci9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIvTW9ja1JlYWx0aW1lVmlkZW9Tb3Vy
Y2VHU3RyZWFtZXIuY3BwCmluZGV4IDczMDM1NGNmMWZhOThlNzMyYjg1ZWMyZTNhMzMwZDQ0ZDE3
YjMyNDUuLjk2ZDBhZjFjNGIwMzU0MzNmZDg3ZTI3MDVkYjhjZDgzNDlhNjUzNjEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9Nb2NrUmVh
bHRpbWVWaWRlb1NvdXJjZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL01vY2tSZWFsdGltZVZpZGVvU291cmNlR1N0cmVhbWVy
LmNwcApAQCAtODgsOSArODgsOSBAQCB2b2lkIE1vY2tEaXNwbGF5Q2FwdHVyZVNvdXJjZUdTdHJl
YW1lcjo6cmVxdWVzdFRvRW5kKE9ic2VydmVyJiBjYWxsaW5nT2JzZXJ2ZXIpCiAgICAgbV9zb3Vy
Y2UtPnJlcXVlc3RUb0VuZChjYWxsaW5nT2JzZXJ2ZXIpOwogfQogCi12b2lkIE1vY2tEaXNwbGF5
Q2FwdHVyZVNvdXJjZUdTdHJlYW1lcjo6dmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUm
IHNhbXBsZSkKK3ZvaWQgTW9ja0Rpc3BsYXlDYXB0dXJlU291cmNlR1N0cmVhbWVyOjp2aWRlb1Nh
bXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYgc2FtcGxlLCBWaWRlb1NhbXBsZU1ldGFkYXRhIG1l
dGFkYXRhKQogewotICAgIFJlYWx0aW1lTWVkaWFTb3VyY2U6OnZpZGVvU2FtcGxlQXZhaWxhYmxl
KHNhbXBsZSk7CisgICAgUmVhbHRpbWVNZWRpYVNvdXJjZTo6dmlkZW9TYW1wbGVBdmFpbGFibGUo
c2FtcGxlLCBtZXRhZGF0YSk7CiB9CiAKIGNvbnN0IFJlYWx0aW1lTWVkaWFTb3VyY2VDYXBhYmls
aXRpZXMmIE1vY2tEaXNwbGF5Q2FwdHVyZVNvdXJjZUdTdHJlYW1lcjo6Y2FwYWJpbGl0aWVzKCkK
QEAgLTE1NCw3ICsxNTQsNyBAQCB2b2lkIE1vY2tSZWFsdGltZVZpZGVvU291cmNlR1N0cmVhbWVy
Ojp1cGRhdGVTYW1wbGVCdWZmZXIoKQogCiAgICAgYXV0byBzYW1wbGUgPSBNZWRpYVNhbXBsZUdT
dHJlYW1lcjo6Y3JlYXRlSW1hZ2VTYW1wbGUoV1RGTW92ZSgqcGl4ZWxCdWZmZXIpLCBzaXplKCks
IGZyYW1lUmF0ZSgpLCBzYW1wbGVSb3RhdGlvbigpKTsKICAgICBzYW1wbGUtPm9mZnNldFRpbWVz
dGFtcHNCeShNZWRpYVRpbWU6OmNyZWF0ZVdpdGhEb3VibGUoKGVsYXBzZWRUaW1lKCkgKyAxMDBf
bXMpLnNlY29uZHMoKSkpOwotICAgIGRpc3BhdGNoTWVkaWFTYW1wbGVUb09ic2VydmVycyhzYW1w
bGUuZ2V0KCkpOworICAgIGRpc3BhdGNoTWVkaWFTYW1wbGVUb09ic2VydmVycyhzYW1wbGUuZ2V0
KCksIHsgfSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9Nb2NrUmVhbHRpbWVWaWRl
b1NvdXJjZUdTdHJlYW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
Z3N0cmVhbWVyL01vY2tSZWFsdGltZVZpZGVvU291cmNlR1N0cmVhbWVyLmgKaW5kZXggOTI2NTNl
MGQ2ZDU1ZGQyYWYwZWExMzI1NWE1ZjEyYzE0ZTIwNjRiNC4uZWE0NWI1ZTdkM2RhMjQ2MDUzMGI1
ZmMzNDg5NGZhMjM0MzgyZWNmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vZ3N0cmVhbWVyL01vY2tSZWFsdGltZVZpZGVvU291cmNlR1N0cmVhbWVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL01vY2tS
ZWFsdGltZVZpZGVvU291cmNlR1N0cmVhbWVyLmgKQEAgLTQ4LDcgKzQ4LDcgQEAgcHVibGljOgog
CiBwcm90ZWN0ZWQ6CiAgICAgLy8gUmVhbHRpbWVNZWRpYVNvdXJjZTo6VmlkZW9TYW1wbGVPYnNl
cnZlcgotICAgIHZvaWQgdmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmKSBmaW5hbDsK
KyAgICB2b2lkIHZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxlJiwgVmlkZW9TYW1wbGVN
ZXRhZGF0YSkgZmluYWw7CiAKIHByaXZhdGU6CiAgICAgTW9ja0Rpc3BsYXlDYXB0dXJlU291cmNl
R1N0cmVhbWVyKFJlZjxNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZUdTdHJlYW1lcj4mJiwgQ2FwdHVy
ZURldmljZTo6RGV2aWNlVHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvZ3N0cmVhbWVyL1JlYWx0aW1lSW5jb21pbmdWaWRlb1Nv
dXJjZUxpYldlYlJUQy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9s
aWJ3ZWJydGMvZ3N0cmVhbWVyL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUxpYldlYlJUQy5j
cHAKaW5kZXggZTY5ZmMyNzhmNDk1ZjU4YWU5MGM5NWQ1MGVhNmU4NTY0ZWEwNTNhMC4uM2RlMDIz
NTYwYmQ1MDhhNDZmNjkyOTkzN2M4MjAyMmRhYzE4NjBhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL2dzdHJlYW1lci9SZWFsdGltZUlu
Y29taW5nVmlkZW9Tb3VyY2VMaWJXZWJSVEMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9nc3RyZWFtZXIvUmVhbHRpbWVJbmNvbWluZ1ZpZGVv
U291cmNlTGliV2ViUlRDLmNwcApAQCAtNjEsNyArNjEsNyBAQCB2b2lkIFJlYWx0aW1lSW5jb21p
bmdWaWRlb1NvdXJjZUxpYldlYlJUQzo6T25GcmFtZShjb25zdCB3ZWJydGM6OlZpZGVvRnJhbWUm
IGZyYQogICAgIGNhbGxPbk1haW5UaHJlYWQoW3Byb3RlY3RlZFRoaXMgPSBSZWYgeyAqdGhpcyB9
LCBmcmFtZV0gewogICAgICAgICBhdXRvIGdzdFNhbXBsZSA9IEdTdHJlYW1lclNhbXBsZUZyb21M
aWJXZWJSVENWaWRlb0ZyYW1lKGZyYW1lKTsKICAgICAgICAgYXV0byBzYW1wbGUgPSBNZWRpYVNh
bXBsZUdTdHJlYW1lcjo6Y3JlYXRlKFdURk1vdmUoZ3N0U2FtcGxlKSwgeyB9LCB7IH0pOwotICAg
ICAgICBwcm90ZWN0ZWRUaGlzLT52aWRlb1NhbXBsZUF2YWlsYWJsZShzYW1wbGUuZ2V0KCkpOwor
ICAgICAgICBwcm90ZWN0ZWRUaGlzLT52aWRlb1NhbXBsZUF2YWlsYWJsZShzYW1wbGUuZ2V0KCks
IHsgfSk7CiAgICAgfSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9nc3RyZWFtZXIvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291
cmNlTGliV2ViUlRDLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xp
YndlYnJ0Yy9nc3RyZWFtZXIvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlTGliV2ViUlRDLmNw
cAppbmRleCBjMTI0ZDRiMzQ1ZmFjNWM2OGIxNGY4ZjZhNTg5NDhkZTY4ZWVjYzhjLi4zOTgzODhi
MmRiNDk3MWI1OGQxZjFjZmU5ZTQ3MTcyMjAwOWE1ZDU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvZ3N0cmVhbWVyL1JlYWx0aW1lT3V0
Z29pbmdWaWRlb1NvdXJjZUxpYldlYlJUQy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL2dzdHJlYW1lci9SZWFsdGltZU91dGdvaW5nVmlkZW9T
b3VyY2VMaWJXZWJSVEMuY3BwCkBAIC01MCw3ICs1MCw3IEBAIFJlYWx0aW1lT3V0Z29pbmdWaWRl
b1NvdXJjZUxpYldlYlJUQzo6UmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlTGliV2ViUlRDKFJl
ZjxNCiB7CiB9CiAKLXZvaWQgUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlTGliV2ViUlRDOjp2
aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYgc2FtcGxlKQordm9pZCBSZWFsdGltZU91
dGdvaW5nVmlkZW9Tb3VyY2VMaWJXZWJSVEM6OnZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2Ft
cGxlJiBzYW1wbGUsIFZpZGVvU2FtcGxlTWV0YWRhdGEpCiB7CiAgICAgc3dpdGNoIChzYW1wbGUu
dmlkZW9Sb3RhdGlvbigpKSB7CiAgICAgY2FzZSBNZWRpYVNhbXBsZTo6VmlkZW9Sb3RhdGlvbjo6
Tm9uZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xp
YndlYnJ0Yy9nc3RyZWFtZXIvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlTGliV2ViUlRDLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvZ3N0cmVhbWVy
L1JlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUxpYldlYlJUQy5oCmluZGV4IDAwYzUwOWExYmMw
ODFmNTk0NjAyYWMwMjc3NDhmZGYxMmI1MTMwODQuLjc2NjgwZTZmNjJkOTYzNzZlZjBjZjRjZDRk
MTE0MGQ5M2Q4ODJlZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL2xpYndlYnJ0Yy9nc3RyZWFtZXIvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlTGli
V2ViUlRDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2Vi
cnRjL2dzdHJlYW1lci9SZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VMaWJXZWJSVEMuaApAQCAt
NDIsNyArNDIsNyBAQCBwcml2YXRlOgogICAgIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlZp
ZGVvRnJhbWVCdWZmZXI+IGNyZWF0ZUJsYWNrRnJhbWUoc2l6ZV90LCBzaXplX3QpIGZpbmFsOwog
CiAgICAgLy8gUmVhbHRpbWVNZWRpYVNvdXJjZTo6VmlkZW9TYW1wbGVPYnNlcnZlciBBUEkKLSAg
ICB2b2lkIHZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxlJikgZmluYWw7CisgICAgdm9p
ZCB2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYsIFZpZGVvU2FtcGxlTWV0YWRhdGEp
IGZpbmFsOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWVmlkZW9DYXB0dXJlU291cmNlLm1t
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWVmlkZW9DYXB0dXJl
U291cmNlLm1tCmluZGV4IDg3MDRjYjFmOThjODNmZTIwNGI1ZjkzZjRiYmE1OTM0OWE3ZTRjNTgu
LjJkZGQ3YzdhYWJlNzAwOTU5OThiNzJiMzBkZjQ0YmUwOTI3NTdmMWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVlZpZGVvQ2FwdHVyZVNvdXJj
ZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZWaWRl
b0NhcHR1cmVTb3VyY2UubW0KQEAgLTU3MCw3ICs1NzAsOSBAQCB2b2lkIEFWVmlkZW9DYXB0dXJl
U291cmNlOjpjYXB0dXJlT3V0cHV0RGlkT3V0cHV0U2FtcGxlQnVmZmVyRnJvbUNvbm5lY3Rpb24o
QVZDYQogICAgIGF1dG8gc2FtcGxlID0gTWVkaWFTYW1wbGVBVkZPYmpDOjpjcmVhdGUoc2FtcGxl
QnVmZmVyLCBtX3NhbXBsZVJvdGF0aW9uLCBbY2FwdHVyZUNvbm5lY3Rpb24gaXNWaWRlb01pcnJv
cmVkXSk7CiAgICAgbV9idWZmZXIgPSAmc2FtcGxlLmdldCgpOwogICAgIHNldEludHJpbnNpY1Np
emUoZXhwYW5kZWRJbnRTaXplKHNhbXBsZS0+cHJlc2VudGF0aW9uU2l6ZSgpKSk7Ci0gICAgZGlz
cGF0Y2hNZWRpYVNhbXBsZVRvT2JzZXJ2ZXJzKFdURk1vdmUoc2FtcGxlKSk7CisgICAgVmlkZW9T
YW1wbGVNZXRhZGF0YSBtZXRhZGF0YTsKKyAgICBtZXRhZGF0YS5jYXB0dXJlVGltZSA9IE1vbm90
b25pY1RpbWU6Om5vdygpLnNlY29uZHNTaW5jZUVwb2NoKCk7CisgICAgZGlzcGF0Y2hNZWRpYVNh
bXBsZVRvT2JzZXJ2ZXJzKFdURk1vdmUoc2FtcGxlKSwgbWV0YWRhdGEpOwogfQogCiB2b2lkIEFW
VmlkZW9DYXB0dXJlU291cmNlOjpjYXB0dXJlU2Vzc2lvbklzUnVubmluZ0RpZENoYW5nZShib29s
IHN0YXRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
bWFjL01vY2tSZWFsdGltZVZpZGVvU291cmNlTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vbWFjL01vY2tSZWFsdGltZVZpZGVvU291cmNlTWFjLm1tCmluZGV4IDFm
NTk2OTFjYzU0YjBiNjJmYjg0OTAwODIxNjY5NzBjZTNjZGM0NTkuLmZkMTk0ZTYxOWE0NGI4ODEx
ZGNiMTdlMDA0NjcxZjQ0NTM1ZTdhOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL21hYy9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZU1hYy5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvTW9ja1JlYWx0aW1lVmlkZW9T
b3VyY2VNYWMubW0KQEAgLTk5LDggKzk5LDExIEBAIHZvaWQgTW9ja1JlYWx0aW1lVmlkZW9Tb3Vy
Y2VNYWM6OnVwZGF0ZVNhbXBsZUJ1ZmZlcigpCiAgICAgaWYgKCFzYW1wbGVCdWZmZXIpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIG1fd29ya1F1ZXVlLT5kaXNwYXRjaChbdGhpcywgcHJvdGVjdGVk
VGhpcyA9IFJlZiB7ICp0aGlzIH0sIHNhbXBsZUJ1ZmZlciA9IFdURk1vdmUoc2FtcGxlQnVmZmVy
KV0oKSBtdXRhYmxlIHsKLSAgICAgICAgZGlzcGF0Y2hNZWRpYVNhbXBsZVRvT2JzZXJ2ZXJzKCpz
YW1wbGVCdWZmZXIpOworICAgIGF1dG8gY2FwdHVyZVRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3co
KS5zZWNvbmRzU2luY2VFcG9jaCgpOworICAgIG1fd29ya1F1ZXVlLT5kaXNwYXRjaChbdGhpcywg
cHJvdGVjdGVkVGhpcyA9IFJlZiB7ICp0aGlzIH0sIHNhbXBsZUJ1ZmZlciA9IFdURk1vdmUoc2Ft
cGxlQnVmZmVyKSwgY2FwdHVyZVRpbWVdKCkgbXV0YWJsZSB7CisgICAgICAgIFZpZGVvU2FtcGxl
TWV0YWRhdGEgbWV0YWRhdGE7CisgICAgICAgIG1ldGFkYXRhLmNhcHR1cmVUaW1lID0gY2FwdHVy
ZVRpbWU7CisgICAgICAgIGRpc3BhdGNoTWVkaWFTYW1wbGVUb09ic2VydmVycygqc2FtcGxlQnVm
ZmVyLCBtZXRhZGF0YSk7CiAgICAgfSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VDb2Nv
YS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUlu
Y29taW5nVmlkZW9Tb3VyY2VDb2NvYS5tbQppbmRleCA5ZWNhNmY3N2M3ZjQ0MjljMjViYTI2ZWFi
ZGQ2MTBkMDJmYmFiMzg0Li45ZjA2NzBjMjBiOGE0YjhiMjc0NmEyODBjMzcxMzQ2ODNjYjdlZTFi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVh
bHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29hLm1t
CkBAIC0xOTYsNyArMTk2LDggQEAgdm9pZCBSZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VDb2Nv
YTo6T25GcmFtZShjb25zdCB3ZWJydGM6OlZpZGVvRnJhbWUmIGZyYW1lKQogICAgIGF1dG8gc2Ft
cGxlID0gYWRvcHRDRihzYW1wbGVCdWZmZXIpOwogCiAgICAgc2V0SW50cmluc2ljU2l6ZShJbnRT
aXplKHdpZHRoLCBoZWlnaHQpKTsKLSAgICB2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBs
ZUFWRk9iakM6OmNyZWF0ZShzYW1wbGUuZ2V0KCksIHJvdGF0aW9uKSk7CisKKyAgICB2aWRlb1Nh
bXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZUFWRk9iakM6OmNyZWF0ZShzYW1wbGUuZ2V0KCksIHJv
dGF0aW9uKSwgbWV0YWRhdGFGcm9tVmlkZW9GcmFtZShmcmFtZSkpOwogfQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9tYWMvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2EuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJj
ZUNvY29hLmNwcAppbmRleCBlMzNiYjZkYTlkZGRkMDFhMDBkOTk2ZmQ5ZWYwMmFjOTgxNGExZWI1
Li41OGM2YmRlNDM0NjZlZDM4Yzc3YmU2NzVhMmI3MjEyM2Q3MmU3MTIyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVPdXRnb2luZ1Zp
ZGVvU291cmNlQ29jb2EuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL21hYy9SZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5jcHAKQEAgLTYxLDcgKzYx
LDcgQEAgUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2E6OlJlYWx0aW1lT3V0Z29pbmdW
aWRlb1NvdXJjZUNvY29hKFJlZjxNZWRpYVN0cmUKIHsKIH0KIAotdm9pZCBSZWFsdGltZU91dGdv
aW5nVmlkZW9Tb3VyY2VDb2NvYTo6dmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmIHNh
bXBsZSkKK3ZvaWQgUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2E6OnZpZGVvU2FtcGxl
QXZhaWxhYmxlKE1lZGlhU2FtcGxlJiBzYW1wbGUsIFZpZGVvU2FtcGxlTWV0YWRhdGEpCiB7CiAj
aWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECiAgICAgaWYgKCEoKyttX251bWJlck9mRnJhbWVzICUg
NjApKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFj
L1JlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2EuaApp
bmRleCA3NzEzZWQwYzE1OWExOWEyMzU0OWE4ZTYzY2YxNzkxMzQ4N2NjZDgwLi5iZjdlZjMyYTUz
ZGNhMTFhNjVmOGFjODZlMTlkNTRmZThlNTgyM2EzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29j
b2EuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRp
bWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2EuaApAQCAtNDUsNyArNDUsNyBAQCBwcml2YXRlOgog
ICAgIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlZpZGVvRnJhbWVCdWZmZXI+IGNyZWF0ZUJs
YWNrRnJhbWUoc2l6ZV90IHdpZHRoLCBzaXplX3QgaGVpZ2h0KSBmaW5hbDsKIAogICAgIC8vIFJl
YWx0aW1lTWVkaWFTb3VyY2U6OlZpZGVvU2FtcGxlT2JzZXJ2ZXIgQVBJCi0gICAgdm9pZCB2aWRl
b1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYpIGZpbmFsOworICAgIHZvaWQgdmlkZW9TYW1w
bGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmLCBWaWRlb1NhbXBsZU1ldGFkYXRhKSBmaW5hbDsKIAog
ICAgIFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiBjb252ZXJ0VG9ZVVYoQ1ZQaXhlbEJ1ZmZl
clJlZik7CiAgICAgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+IHJvdGF0ZVBpeGVsQnVmZmVy
KENWUGl4ZWxCdWZmZXJSZWYsIHdlYnJ0Yzo6VmlkZW9Sb3RhdGlvbik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5jcHAKaW5kZXggYTVlY2UwODEwYmZlZTQ2MDFkMDBlZGM2YmM1ZDdhZGUw
MTA1YzdkMC4uNGJkZDdjNjU0NWFjZjcwZmNiNGM1NTczMzU0YjRjOWE4MWE2MTc5MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtNTQ3Nyw3ICs1NDc3LDcgQEAgdm9pZCBJ
bnRlcm5hbHM6OmdyYWJOZXh0TWVkaWFTdHJlYW1UcmFja0ZyYW1lKFRyYWNrRnJhbWVQcm9taXNl
JiYgcHJvbWlzZSkKICAgICBtX25leHRUcmFja0ZyYW1lUHJvbWlzZSA9IG1ha2VVbmlxdWU8VHJh
Y2tGcmFtZVByb21pc2U+KFdURk1vdmUocHJvbWlzZSkpOwogfQogCi12b2lkIEludGVybmFsczo6
dmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmIHNhbXBsZSkKK3ZvaWQgSW50ZXJuYWxz
Ojp2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYgc2FtcGxlLCBWaWRlb1NhbXBsZU1l
dGFkYXRhKQogewogICAgIGNhbGxPbk1haW5UaHJlYWQoW3RoaXMsIHdlYWtUaGlzID0gV2Vha1B0
ciB7ICp0aGlzIH0sIHNhbXBsZSA9IFJlZiB7IHNhbXBsZSB9XSB7CiAgICAgICAgIGlmICghd2Vh
a1RoaXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCAzM2I5NjUyN2QzY2M5Y2Fm
ZmFjMzhjYzJlYmI4MDlkMTA0MDJjM2I0Li45ZjNjM2I0YzQ2ZjViNzdkZGRlMWMyYTU0NDAxNzZh
OTk4YmM3Y2E1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTEyMTksNyArMTIx
OSw3IEBAIHByaXZhdGU6CiAKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgIC8vIFJlYWx0
aW1lTWVkaWFTb3VyY2U6Ok9ic2VydmVyIEFQSQotICAgIHZvaWQgdmlkZW9TYW1wbGVBdmFpbGFi
bGUoTWVkaWFTYW1wbGUmKSBmaW5hbDsKKyAgICB2b2lkIHZpZGVvU2FtcGxlQXZhaWxhYmxlKE1l
ZGlhU2FtcGxlJiwgVmlkZW9TYW1wbGVNZXRhZGF0YSkgZmluYWw7CiAgICAgLy8gUmVhbHRpbWVN
ZWRpYVNvdXJjZTo6QXVkaW9TYW1wbGVPYnNlcnZlciBBUEkKICAgICB2b2lkIGF1ZGlvU2FtcGxl
c0F2YWlsYWJsZShjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBQbGF0Zm9ybUF1ZGlvRGF0YSYsIGNv
bnN0IEF1ZGlvU3RyZWFtRGVzY3JpcHRpb24mLCBzaXplX3QpIGZpbmFsIHsgbV90cmFja0F1ZGlv
U2FtcGxlQ291bnQrKzsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHkuY3BwCmluZGV4IDk5NjI2
ODk5MDdjNjdiNWM3YTU2NGQ4MTUzMjUxY2Y1NTM0N2U1YmQuLjgxYzBhY2NiZWI2Yjc4OTVhNzEy
ZGQyYjQ0OGI4OGJjZGU0M2UwNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHkuY3BwCkBAIC0x
NzksNyArMTc5LDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIG1fY2FwdHVyZVNlbWFwaG9yZS0+
c2lnbmFsKCk7CiAgICAgfQogCi0gICAgdm9pZCB2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNh
bXBsZSYgc2FtcGxlKSBmaW5hbAorICAgIHZvaWQgdmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFT
YW1wbGUmIHNhbXBsZSwgVmlkZW9TYW1wbGVNZXRhZGF0YSBtZXRhZGF0YSkgZmluYWwKICAgICB7
CiAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW1vdGVWaWRlb1NhbXBsZT4gcmVtb3RlU2FtcGxl
OwogICAgICAgICBpZiAobV9zaG91bGRBcHBseVJvdGF0aW9uICYmIHNhbXBsZS52aWRlb1JvdGF0
aW9uKCkgIT0gTWVkaWFTYW1wbGU6OlZpZGVvUm90YXRpb246Ok5vbmUpIHsKQEAgLTE5Miw3ICsx
OTIsNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgaWYgKG1fd2ViUHJvY2Vzc0lkZW50aXR5VG9r
ZW4pCiAgICAgICAgICAgICAgICAgcmVtb3RlU2FtcGxlLT5zZXRPd25lcnNoaXBJZGVudGl0eSgq
bV93ZWJQcm9jZXNzSWRlbnRpdHlUb2tlbik7CiAjZW5kaWYKLSAgICAgICAgICAgIG1fY29ubmVj
dGlvbi0+c2VuZChNZXNzYWdlczo6UmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OlZpZGVvU2Ft
cGxlQXZhaWxhYmxlKG1faWQsIFdURk1vdmUoKnJlbW90ZVNhbXBsZSkpLCAwKTsKKyAgICAgICAg
ICAgIG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6UmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFn
ZXI6OlZpZGVvU2FtcGxlQXZhaWxhYmxlKG1faWQsIFdURk1vdmUoKnJlbW90ZVNhbXBsZSksIG1l
dGFkYXRhKSwgMCk7CiAgICAgICAgIH0KICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLmNwcApp
bmRleCAwNzUxMzdjNzVmNWU4ZDBjYTQ0ZWYxZDdlYmFlYzk0ZGYwNGQ1NzAxLi4xMWI0YTg2ZTQ4
NTJmNmMyMDYxZmEzZmM5YWYyOWY4ODk5ZjRlYjlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZhdGUuY3Bw
CkBAIC04OSw3ICs4OSw3IEBAIE1lZGlhUmVjb3JkZXJQcml2YXRlOjp+TWVkaWFSZWNvcmRlclBy
aXZhdGUoKQogICAgIG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFSZWNv
cmRlck1hbmFnZXI6OlJlbGVhc2VSZWNvcmRlciB7IG1faWRlbnRpZmllciB9LCAwKTsKIH0KIAot
dm9pZCBNZWRpYVJlY29yZGVyUHJpdmF0ZTo6dmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1w
bGUmIHNhbXBsZSkKK3ZvaWQgTWVkaWFSZWNvcmRlclByaXZhdGU6OnZpZGVvU2FtcGxlQXZhaWxh
YmxlKE1lZGlhU2FtcGxlJiBzYW1wbGUsIFZpZGVvU2FtcGxlTWV0YWRhdGEpCiB7CiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPFJlbW90ZVZpZGVvU2FtcGxlPiByZW1vdGVTYW1wbGU7CiAgICAgaWYgKHNo
b3VsZE11dGVWaWRlbygpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZhdGUuaAppbmRleCA1MDhjNmEyZjAxYTFl
NTdlNGNiOWMyZGZkMWM2MjliYWVmMDI4MmFiLi4zMDNhNTRmNzZmMTg1ZTk2NDU0ZWY5ZjViYjQ2
MWYyOGUxMjY3ODZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dl
YnJ0Yy9NZWRpYVJlY29yZGVyUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLmgKQEAgLTU2LDcgKzU2LDcgQEAgcHVi
bGljOgogCiBwcml2YXRlOgogICAgIC8vIFdlYkNvcmU6Ok1lZGlhUmVjb3JkZXJQcml2YXRlCi0g
ICAgdm9pZCB2aWRlb1NhbXBsZUF2YWlsYWJsZShXZWJDb3JlOjpNZWRpYVNhbXBsZSYpIGZpbmFs
OworICAgIHZvaWQgdmlkZW9TYW1wbGVBdmFpbGFibGUoV2ViQ29yZTo6TWVkaWFTYW1wbGUmLCBX
ZWJDb3JlOjpWaWRlb1NhbXBsZU1ldGFkYXRhKSBmaW5hbDsKICAgICB2b2lkIGZldGNoRGF0YShD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKFJlZlB0cjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiYsIGNv
bnN0IFN0cmluZyYgbWltZVR5cGUsIGRvdWJsZSk+JiYpIGZpbmFsOwogICAgIHZvaWQgc3RvcFJl
Y29yZGluZyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpIGZpbmFsOwogICAgIHZvaWQgc3Rh
cnRSZWNvcmRpbmcoU3RhcnRSZWNvcmRpbmdDYWxsYmFjayYmKSBmaW5hbDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdl
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBs
ZU1hbmFnZXIuY3BwCmluZGV4IGQ3Y2UyMGQzZjRhNDA4M2ViNzczNmM1MjhiNGNiYzVmY2VhMDMw
MDMuLmIxZWY4ZjU2NDUyZjFmYzY5MWZlZGU0YzQ4NDljM2I1YjA2YzY2OTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdl
ci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVT
YW1wbGVNYW5hZ2VyLmNwcApAQCAtMTUwLDcgKzE1MCw3IEBAIHZvaWQgUmVtb3RlQ2FwdHVyZVNh
bXBsZU1hbmFnZXI6OmF1ZGlvU3RvcmFnZUNoYW5nZWQoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNv
dXJjCiAgICAgaXRlcmF0b3ItPnZhbHVlLT5zZXRTdG9yYWdlKGlwY0hhbmRsZS5oYW5kbGUsIGRl
c2NyaXB0aW9uLCBudW1iZXJPZkZyYW1lcywgV1RGTW92ZShzZW1hcGhvcmUpLCBtZWRpYVRpbWUs
IGZyYW1lQ2h1bmtTaXplKTsKIH0KIAotdm9pZCBSZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlcjo6
dmlkZW9TYW1wbGVBdmFpbGFibGUoUmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50aWZpZXIgaWRlbnRp
ZmllciwgUmVtb3RlVmlkZW9TYW1wbGUmJiBzYW1wbGUpCit2b2lkIFJlbW90ZUNhcHR1cmVTYW1w
bGVNYW5hZ2VyOjp2aWRlb1NhbXBsZUF2YWlsYWJsZShSZWFsdGltZU1lZGlhU291cmNlSWRlbnRp
ZmllciBpZGVudGlmaWVyLCBSZW1vdGVWaWRlb1NhbXBsZSYmIHNhbXBsZSwgVmlkZW9TYW1wbGVN
ZXRhZGF0YSBtZXRhZGF0YSkKIHsKICAgICBBU1NFUlQoIVdURjo6aXNNYWluUnVuTG9vcCgpKTsK
IApAQCAtMTU5LDcgKzE1OSw3IEBAIHZvaWQgUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OnZp
ZGVvU2FtcGxlQXZhaWxhYmxlKFJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmCiAgICAgICAgIFJF
TEVBU0VfTE9HX0VSUk9SKFdlYlJUQywgIlVuYWJsZSB0byBmaW5kIHNvdXJjZSAlbGx1IGZvciBy
ZW1vdGVWaWRlb1NhbXBsZUF2YWlsYWJsZSIsIGlkZW50aWZpZXIudG9VSW50NjQoKSk7CiAgICAg
ICAgIHJldHVybjsKICAgICB9Ci0gICAgaXRlcmF0b3ItPnZhbHVlLT52aWRlb1NhbXBsZUF2YWls
YWJsZShXVEZNb3ZlKHNhbXBsZSkpOworICAgIGl0ZXJhdG9yLT52YWx1ZS0+dmlkZW9TYW1wbGVB
dmFpbGFibGUoV1RGTW92ZShzYW1wbGUpLCBtZXRhZGF0YSk7CiB9CiAKIFJlbW90ZUNhcHR1cmVT
YW1wbGVNYW5hZ2VyOjpSZW1vdGVBdWRpbzo6UmVtb3RlQXVkaW8oUmVmPFJlbW90ZVJlYWx0aW1l
QXVkaW9Tb3VyY2U+JiYgc291cmNlKQpAQCAtMjMyLDcgKzIzMiw3IEBAIFJlbW90ZUNhcHR1cmVT
YW1wbGVNYW5hZ2VyOjpSZW1vdGVWaWRlbzo6UmVtb3RlVmlkZW8oU291cmNlJiYgc291cmNlKQog
ewogfQogCi12b2lkIFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpSZW1vdGVWaWRlbzo6dmlk
ZW9TYW1wbGVBdmFpbGFibGUoUmVtb3RlVmlkZW9TYW1wbGUmJiByZW1vdGVTYW1wbGUpCit2b2lk
IFJlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyOjpSZW1vdGVWaWRlbzo6dmlkZW9TYW1wbGVBdmFp
bGFibGUoUmVtb3RlVmlkZW9TYW1wbGUmJiByZW1vdGVTYW1wbGUsIFZpZGVvU2FtcGxlTWV0YWRh
dGEgbWV0YWRhdGEpCiB7CiAgICAgaWYgKCFtX2ltYWdlVHJhbnNmZXJTZXNzaW9uIHx8IG1faW1h
Z2VUcmFuc2ZlclNlc3Npb24tPnBpeGVsRm9ybWF0KCkgIT0gcmVtb3RlU2FtcGxlLnZpZGVvRm9y
bWF0KCkpCiAgICAgICAgIG1faW1hZ2VUcmFuc2ZlclNlc3Npb24gPSBJbWFnZVRyYW5zZmVyU2Vz
c2lvblZUOjpjcmVhdGUocmVtb3RlU2FtcGxlLnZpZGVvRm9ybWF0KCkpOwpAQCAtMjQ4LDkgKzI0
OCw5IEBAIHZvaWQgUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXI6OlJlbW90ZVZpZGVvOjp2aWRl
b1NhbXBsZUF2YWlsYWJsZShSZW1vdGVWaWRlb1NhCiAgICAgICAgIHJldHVybjsKICAgICB9CiAg
ICAgc3dpdGNoT24obV9zb3VyY2UsIFsmXShSZWY8UmVtb3RlUmVhbHRpbWVWaWRlb1NvdXJjZT4m
IHNvdXJjZSkgewotICAgICAgICBzb3VyY2UtPnZpZGVvU2FtcGxlQXZhaWxhYmxlKCpzYW1wbGVS
ZWYsIHJlbW90ZVNhbXBsZS5zaXplKCkpOworICAgICAgICBzb3VyY2UtPnZpZGVvU2FtcGxlQXZh
aWxhYmxlKCpzYW1wbGVSZWYsIHJlbW90ZVNhbXBsZS5zaXplKCksIG1ldGFkYXRhKTsKICAgICB9
LCBbJl0oUmVmPFJlbW90ZVJlYWx0aW1lRGlzcGxheVNvdXJjZT4mIHNvdXJjZSkgewotICAgICAg
ICBzb3VyY2UtPnJlbW90ZVZpZGVvU2FtcGxlQXZhaWxhYmxlKCpzYW1wbGVSZWYpOworICAgICAg
ICBzb3VyY2UtPnJlbW90ZVZpZGVvU2FtcGxlQXZhaWxhYmxlKCpzYW1wbGVSZWYsIG1ldGFkYXRh
KTsKICAgICB9KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2Nv
Y29hL1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIuaAppbmRleCBiNDEzYjhlNjk3Mjkw
M2FiYWNhODIzM2RiMGNjMDYxODBhOGYzMjJhLi44NmY0OTBiNzgwZmU0OWNhMTFhMTA0YWY3YjY5
YmQzM2U2OGMxNzI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2Ev
UmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIuaApAQCAtNzAsNyArNzAsNyBAQCBw
cml2YXRlOgogICAgIC8vIE1lc3NhZ2VzCiAgICAgdm9pZCBhdWRpb1N0b3JhZ2VDaGFuZ2VkKFdl
YkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VJZGVudGlmaWVyLCBjb25zdCBTaGFyZWRNZW1vcnk6
OklQQ0hhbmRsZSYsIGNvbnN0IFdlYkNvcmU6OkNBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYsIHVp
bnQ2NF90IG51bWJlck9mRnJhbWVzLCBJUEM6OlNlbWFwaG9yZSYmLCBjb25zdCBNZWRpYVRpbWUm
LCBzaXplX3QgZnJhbWVTYW1wbGVTaXplKTsKICAgICB2b2lkIGF1ZGlvU2FtcGxlc0F2YWlsYWJs
ZShXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlSWRlbnRpZmllciwgTWVkaWFUaW1lLCB1aW50
NjRfdCBudW1iZXJPZkZyYW1lcyk7Ci0gICAgdm9pZCB2aWRlb1NhbXBsZUF2YWlsYWJsZShXZWJD
b3JlOjpSZWFsdGltZU1lZGlhU291cmNlSWRlbnRpZmllciwgV2ViQ29yZTo6UmVtb3RlVmlkZW9T
YW1wbGUmJik7CisgICAgdm9pZCB2aWRlb1NhbXBsZUF2YWlsYWJsZShXZWJDb3JlOjpSZWFsdGlt
ZU1lZGlhU291cmNlSWRlbnRpZmllciwgV2ViQ29yZTo6UmVtb3RlVmlkZW9TYW1wbGUmJiwgV2Vi
Q29yZTo6VmlkZW9TYW1wbGVNZXRhZGF0YSk7CiAKICAgICB2b2lkIHNldENvbm5lY3Rpb24oSVBD
OjpDb25uZWN0aW9uKik7CiAKQEAgLTEwNSw3ICsxMDUsNyBAQCBwcml2YXRlOgogICAgICAgICB1
c2luZyBTb3VyY2UgPSBzdGQ6OnZhcmlhbnQ8UmVmPFJlbW90ZVJlYWx0aW1lVmlkZW9Tb3VyY2U+
LCBSZWY8UmVtb3RlUmVhbHRpbWVEaXNwbGF5U291cmNlPj47CiAgICAgICAgIGV4cGxpY2l0IFJl
bW90ZVZpZGVvKFNvdXJjZSYmKTsKIAotICAgICAgICB2b2lkIHZpZGVvU2FtcGxlQXZhaWxhYmxl
KFdlYkNvcmU6OlJlbW90ZVZpZGVvU2FtcGxlJiYpOworICAgICAgICB2b2lkIHZpZGVvU2FtcGxl
QXZhaWxhYmxlKFdlYkNvcmU6OlJlbW90ZVZpZGVvU2FtcGxlJiYsIFdlYkNvcmU6OlZpZGVvU2Ft
cGxlTWV0YWRhdGEpOwogCiAgICAgcHJpdmF0ZToKICAgICAgICAgU291cmNlIG1fc291cmNlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90ZUNhcHR1cmVT
YW1wbGVNYW5hZ2VyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29h
L1JlbW90ZUNhcHR1cmVTYW1wbGVNYW5hZ2VyLm1lc3NhZ2VzLmluCmluZGV4IDY2ZTY5N2Q0NzEw
MDdlZTc1NzY2NjU0YzM1ZDIzY2JjODU5NjkxMjkuLjg2NTFiM2NkNzk5YTFmNzU0ZjJlODAzYzQ2
ODg5MGU4ZjVhYWZhNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2Nv
YS9SZW1vdGVDYXB0dXJlU2FtcGxlTWFuYWdlci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlQ2FwdHVyZVNhbXBsZU1hbmFnZXIubWVzc2FnZXMu
aW4KQEAgLTI1LDcgKzI1LDcgQEAKIAogbWVzc2FnZXMgLT4gUmVtb3RlQ2FwdHVyZVNhbXBsZU1h
bmFnZXIgTm90UmVmQ291bnRlZCB7CiAgICAgQXVkaW9TdG9yYWdlQ2hhbmdlZChXZWJDb3JlOjpS
ZWFsdGltZU1lZGlhU291cmNlSWRlbnRpZmllciBpZCwgV2ViS2l0OjpTaGFyZWRNZW1vcnk6OklQ
Q0hhbmRsZSBzdG9yYWdlSGFuZGxlLCBXZWJDb3JlOjpDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24g
ZGVzY3JpcHRpb24sIHVpbnQ2NF90IG51bWJlck9mRnJhbWVzLCBJUEM6OlNlbWFwaG9yZSBjYXB0
dXJlU2VtYXBob3JlLCBNZWRpYVRpbWUgbWVkaWFUaW1lLCBzaXplX3QgZnJhbWVDaHVua1NpemUp
OwotICAgIFZpZGVvU2FtcGxlQXZhaWxhYmxlKFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VJ
ZGVudGlmaWVyIGlkLCBXZWJDb3JlOjpSZW1vdGVWaWRlb1NhbXBsZSBzYW1wbGUpCisgICAgVmlk
ZW9TYW1wbGVBdmFpbGFibGUoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUlkZW50aWZpZXIg
aWQsIFdlYkNvcmU6OlJlbW90ZVZpZGVvU2FtcGxlIHNhbXBsZSwgc3RydWN0IFdlYkNvcmU6OlZp
ZGVvU2FtcGxlTWV0YWRhdGEgbWV0YWRhdGEpCiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90ZVJlYWx0aW1lRGlzcGxheVNvdXJjZS5o
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90ZVJlYWx0aW1lRGlzcGxheVNv
dXJjZS5oCmluZGV4IDAyNjZmODdkN2Q2MTRjNjM0MzQ3ZTk0NWVkNmI2ZWI3YjUyMmUyZGIuLjFh
OGYyNGE2NDAwN2ZiYTNkMGRmNzhkMTk5YzFkNTdlOWU2YTk2ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVSZWFsdGltZURpc3BsYXlTb3VyY2UuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlUmVhbHRpbWVEaXNwbGF5
U291cmNlLmgKQEAgLTYxLDcgKzYxLDcgQEAgcHVibGljOgogICAgIHZvaWQgY2FwdHVyZVN0b3Bw
ZWQoKTsKICAgICB2b2lkIGNhcHR1cmVGYWlsZWQoKSBmaW5hbDsKIAotICAgIHZvaWQgcmVtb3Rl
VmlkZW9TYW1wbGVBdmFpbGFibGUoV2ViQ29yZTo6TWVkaWFTYW1wbGUmIHNhbXBsZSkgeyB2aWRl
b1NhbXBsZUF2YWlsYWJsZShzYW1wbGUpOyB9CisgICAgdm9pZCByZW1vdGVWaWRlb1NhbXBsZUF2
YWlsYWJsZShXZWJDb3JlOjpNZWRpYVNhbXBsZSYgc2FtcGxlLCBXZWJDb3JlOjpWaWRlb1NhbXBs
ZU1ldGFkYXRhIG1ldGFkYXRhKSB7IHZpZGVvU2FtcGxlQXZhaWxhYmxlKHNhbXBsZSwgbWV0YWRh
dGEpOyB9CiAgICAgdm9pZCBzb3VyY2VNdXRlZENoYW5nZWQoYm9vbCB2YWx1ZSkgeyBub3RpZnlN
dXRlZENoYW5nZSh2YWx1ZSk7IH0KIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVSZWFsdGltZVZpZGVvU291cmNlLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1vdGVSZWFsdGltZVZpZGVvU291cmNlLmNwcApp
bmRleCBkNjc2YjIzOTBlOGEyZmE2ZTA5M2Q1Mzk2ZmZiODUzNjM3YTNhZWRmLi5lY2Q4NmMwZmE1
MzU0ZWRiNzcxYzYyZjZlOGZjODlhMWFlYzdiNjgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvY29jb2EvUmVtb3RlUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90ZVJlYWx0aW1lVmlkZW9Tb3VyY2UuY3Bw
CkBAIC0xMTIsNyArMTEyLDcgQEAgdm9pZCBSZW1vdGVSZWFsdGltZVZpZGVvU291cmNlOjpzZXRT
ZXR0aW5ncyhSZWFsdGltZU1lZGlhU291cmNlU2V0dGluZ3MmJiBzZXR0aW4KICAgICBub3RpZnlT
ZXR0aW5nc0RpZENoYW5nZU9ic2VydmVycyhjaGFuZ2VkKTsKIH0KIAotdm9pZCBSZW1vdGVSZWFs
dGltZVZpZGVvU291cmNlOjp2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYgc2FtcGxl
LCBJbnRTaXplIHNhbXBsZVNpemUpCit2b2lkIFJlbW90ZVJlYWx0aW1lVmlkZW9Tb3VyY2U6OnZp
ZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxlJiBzYW1wbGUsIEludFNpemUgc2FtcGxlU2l6
ZSwgVmlkZW9TYW1wbGVNZXRhZGF0YSBtZXRhZGF0YSkKIHsKICAgICBBU1NFUlQodHlwZSgpID09
IFR5cGU6OlZpZGVvKTsKIApAQCAtMTMxLDcgKzEzMSw3IEBAIHZvaWQgUmVtb3RlUmVhbHRpbWVW
aWRlb1NvdXJjZTo6dmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmIHNhbXBsZSwgSW50
U2l6CiAgICAgICAgICAgICBub3RpZnlTZXR0aW5nc0RpZENoYW5nZU9ic2VydmVycyh7IFJlYWx0
aW1lTWVkaWFTb3VyY2VTZXR0aW5nczo6RmxhZzo6V2lkdGgsIFJlYWx0aW1lTWVkaWFTb3VyY2VT
ZXR0aW5nczo6RmxhZzo6SGVpZ2h0IH0pOwogICAgICAgICB9KTsKICAgICB9Ci0gICAgZGlzcGF0
Y2hNZWRpYVNhbXBsZVRvT2JzZXJ2ZXJzKHNhbXBsZSk7CisgICAgZGlzcGF0Y2hNZWRpYVNhbXBs
ZVRvT2JzZXJ2ZXJzKHNhbXBsZSwgbWV0YWRhdGEpOwogfQogCiBib29sIFJlbW90ZVJlYWx0aW1l
VmlkZW9Tb3VyY2U6OnNldFNob3VsZEFwcGx5Um90YXRpb24oYm9vbCBzaG91bGRBcHBseVJvdGF0
aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90ZVJl
YWx0aW1lVmlkZW9Tb3VyY2UuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9SZW1v
dGVSZWFsdGltZVZpZGVvU291cmNlLmgKaW5kZXggYTdkMjI4M2IzN2RiYmQ0MmU1NWYyNDc5YzZi
MjdkMDljNzE3YzQ1Yi4uMzJhOGExMTU0NjRiMGI2NWI3ZWFmM2JmMGRiODE3ZmUxYjhmOWE5NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1JlbW90ZVJlYWx0aW1l
VmlkZW9Tb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUmVtb3Rl
UmVhbHRpbWVWaWRlb1NvdXJjZS5oCkBAIC02Niw3ICs2Niw3IEBAIHB1YmxpYzoKICAgICB2b2lk
IGNhcHR1cmVTdG9wcGVkKCk7CiAgICAgdm9pZCBjYXB0dXJlRmFpbGVkKCkgZmluYWw7CiAKLSAg
ICB2b2lkIHZpZGVvU2FtcGxlQXZhaWxhYmxlKFdlYkNvcmU6Ok1lZGlhU2FtcGxlJiwgV2ViQ29y
ZTo6SW50U2l6ZSk7CisgICAgdm9pZCB2aWRlb1NhbXBsZUF2YWlsYWJsZShXZWJDb3JlOjpNZWRp
YVNhbXBsZSYsIFdlYkNvcmU6OkludFNpemUsIFdlYkNvcmU6OlZpZGVvU2FtcGxlTWV0YWRhdGEp
OwogICAgIHZvaWQgc291cmNlTXV0ZWRDaGFuZ2VkKGJvb2wgdmFsdWUpIHsgbm90aWZ5TXV0ZWRD
aGFuZ2UodmFsdWUpOyB9CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMTU0ZDAwZTJhZjcxNmVlMmQyMjUw
OGQ2NzQwYzgwM2NjN2NjZThlOS4uMTUyYWU0Nzg0ZDY2MGNmZWQ4NGEwNjAzZDFmODI3ZTM2ZjFl
Y2JiNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTExLTE2ICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgbW9yZSBydmZjIG1l
dGFkYXRhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MzMxODUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IHBsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi9UZXN0
RXhwZWN0YXRpb25zOgorCiAyMDIxLTExLTE0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJA
YXBwbGUuY29tPgogCiAgICAgICAgIEZpbmdlcnMgZG93biBvbiB0aGUgdHJhY2twYWQgc2hvdWxk
IHN0b3AgYW4gYW5pbWF0ZWQgc2Nyb2xsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRl
eCA5ZjhjOTkwMzg2ZTEyOTE3MGI4YjFhNmE5YzBmNjE0YTQ2YjFkYjY5Li5iNDJiYjg1M2RhZmNm
MGYyNjQ4MWM3YTkwNWE5NWUzZTQzOWY2NTJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMS0xMS0xNiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBh
cHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIG1vcmUgcnZmYyBtZXRhZGF0YQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMTg1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXdlYnJ0
Yy5odHRwcy1leHBlY3RlZC50eHQ6CisKIDIwMjEtMTEtMTQgIFRpbSBOZ3V5ZW4gIDxudGltQGFw
cGxlLmNvbT4KIAogICAgICAgICBNb2RhbCBkaWFsb2dzIHNob3VsZCBtYWtlIHRoZSByb290IGVs
ZW1lbnQgdW5mb2N1c2FibGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNr
LXdlYnJ0Yy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3ZpZGVvLXJ2ZmMvcmVxdWVzdC12aWRlby1mcmFtZS1jYWxsYmFjay13
ZWJydGMuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDBkNTRkMGVhYWU3ODg2NDZmYjBkZjExODI4
ODIzMWZiMjU0ODc3N2QuLjk3MTIzYzZhNTY1ZDU2MWQyMGQwZWQzYjQzMjFmNWMzNWJkOGJkNzgg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dmlkZW8tcnZmYy9yZXF1ZXN0LXZpZGVvLWZyYW1lLWNhbGxiYWNrLXdlYnJ0Yy5odHRwcy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy92aWRlby1ydmZjL3JlcXVlc3QtdmlkZW8tZnJhbWUtY2FsbGJhY2std2VicnRjLmh0dHBzLWV4
cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIAotRkFJTCBUZXN0IHZpZGVvLnJlcXVlc3RWaWRl
b0ZyYW1lQ2FsbGJhY2soKSBwYXJhbWV0ZXJzIGZvciBXZWJSVEMgYXBwbGljYXRpb25zLiBhc3Nl
cnRfZ3JlYXRlcl90aGFuOiBleHBlY3RlZCBhIG51bWJlciBidXQgZ290IGEgInVuZGVmaW5lZCIK
K1BBU1MgVGVzdCB2aWRlby5yZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrKCkgcGFyYW1ldGVycyBm
b3IgV2ViUlRDIGFwcGxpY2F0aW9ucy4KIAogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>